31#define USE_SCALEDOUBLE_1
32#define USE_INFINITY_WITH_FLAGS
33#define USE_VALF_WITH_FLAGS
34#define USE_HANDLE_ERRORF
37#undef USE_SCALEDOUBLE_1
38#undef USE_INFINITY_WITH_FLAGS
39#undef USE_VALF_WITH_FLAGS
40#undef USE_HANDLE_ERRORF
47#pragma warning(disable:4163)
48#pragma function(sinhf)
70 max_sinh_arg = 8.94159862922329438106e+01,
71 thirtytwo_by_log2 = 4.61662413084468283841e+01,
72 log2_by_32_lead = 2.16608493356034159660e-02,
73 log2_by_32_tail = 5.68948749532545630390e-11,
79 static const double sinh_lead[37] = {
80 0.00000000000000000000e+00,
81 1.17520119364380137839e+00,
82 3.62686040784701857476e+00,
83 1.00178749274099008204e+01,
84 2.72899171971277496596e+01,
85 7.42032105777887522891e+01,
86 2.01713157370279219549e+02,
87 5.48316123273246489589e+02,
88 1.49047882578955000099e+03,
89 4.05154190208278987484e+03,
90 1.10132328747033916443e+04,
91 2.99370708492480553105e+04,
92 8.13773957064298447222e+04,
93 2.21206696003330085659e+05,
94 6.01302142081972560845e+05,
95 1.63450868623590236530e+06,
96 4.44305526025387924165e+06,
97 1.20774763767876271158e+07,
98 3.28299845686652474105e+07,
99 8.92411504815936237574e+07,
100 2.42582597704895108938e+08,
101 6.59407867241607308388e+08,
102 1.79245642306579566002e+09,
103 4.87240172312445068359e+09,
104 1.32445610649217357635e+10,
105 3.60024496686929321289e+10,
106 9.78648047144193725586e+10,
107 2.66024120300899291992e+11,
108 7.23128532145737548828e+11,
109 1.96566714857202099609e+12,
110 5.34323729076223046875e+12,
111 1.45244248326237109375e+13,
112 3.94814800913403437500e+13,
113 1.07321789892958031250e+14,
114 2.91730871263727437500e+14,
115 7.93006726156715250000e+14,
116 2.15561577355759750000e+15};
118 static const double cosh_lead[37] = {
119 1.00000000000000000000e+00,
120 1.54308063481524371241e+00,
121 3.76219569108363138810e+00,
122 1.00676619957777653269e+01,
123 2.73082328360164865444e+01,
124 7.42099485247878334349e+01,
125 2.01715636122455890700e+02,
126 5.48317035155212010977e+02,
127 1.49047916125217807348e+03,
128 4.05154202549259389343e+03,
129 1.10132329201033226127e+04,
130 2.99370708659497577173e+04,
131 8.13773957125740562333e+04,
132 2.21206696005590405548e+05,
133 6.01302142082804115489e+05,
134 1.63450868623620807193e+06,
135 4.44305526025399193168e+06,
136 1.20774763767876680940e+07,
137 3.28299845686652623117e+07,
138 8.92411504815936237574e+07,
139 2.42582597704895138741e+08,
140 6.59407867241607308388e+08,
141 1.79245642306579566002e+09,
142 4.87240172312445068359e+09,
143 1.32445610649217357635e+10,
144 3.60024496686929321289e+10,
145 9.78648047144193725586e+10,
146 2.66024120300899291992e+11,
147 7.23128532145737548828e+11,
148 1.96566714857202099609e+12,
149 5.34323729076223046875e+12,
150 1.45244248326237109375e+13,
151 3.94814800913403437500e+13,
152 1.07321789892958031250e+14,
153 2.91730871263727437500e+14,
154 7.93006726156715250000e+14,
155 2.15561577355759750000e+15};
157 unsigned long long ux,
aux, xneg;
158 double x =
fx,
y,
z, z1, z2;
164 aux = ux & ~SIGNBIT_DP64;
165 if (
aux < 0x3f10000000000000)
173 else if (
aux >= 0x7ff0000000000000)
175 if (
aux > 0x7ff0000000000000)
192 if (
y >= max_sinh_arg)
202 else if (
y >= small_threshold)
212 splitexp(
y, 1.0, thirtytwo_by_log2, log2_by_32_lead,
213 log2_by_32_tail, &
m, &z1, &z2);
217 z = scaleDouble_1((z1+z2),
m);
229 double dy, dy2, sdy, cdy;
236 sdy =
dy +
dy*dy2*(0.166666666666666667013899e0 +
237 (0.833333333333329931873097e-2 +
238 (0.198412698413242405162014e-3 +
239 (0.275573191913636406057211e-5 +
240 (0.250521176994133472333666e-7 +
241 (0.160576793121939886190847e-9 +
242 0.7746188980094184251527126e-12*dy2)*dy2)*dy2)*dy2)*dy2)*dy2);
244 cdy = 1 + dy2*(0.500000000000000005911074e0 +
245 (0.416666666666660876512776e-1 +
246 (0.138888888889814854814536e-2 +
247 (0.248015872460622433115785e-4 +
248 (0.275573350756016588011357e-6 +
249 (0.208744349831471353536305e-8 +
250 0.1163921388172173692062032e-10*dy2)*dy2)*dy2)*dy2)*dy2)*dy2);
252 z = sinh_lead[ind]*cdy + cosh_lead[ind]*sdy;
float __cdecl _handle_errorf(char *fname, int opcode, unsigned long long value, int type, int flags, int error, float arg1, float arg2, int nargs)
unsigned int(__cdecl typeof(jpeg_read_scanlines))(struct jpeg_decompress_struct *
GLint GLint GLint GLint GLint x
GLint GLint GLint GLint GLint GLint y
#define GET_BITS_SP32(x, ux)
#define GET_BITS_DP64(x, ux)