123{
125 int region, xneg;
126
127 unsigned long long ux,
ax;
129 ax = (ux & ~SIGNBIT_DP64);
130 if (
ax <= 0x3fe921fb54442d18)
131 {
132 if (
ax < 0x3f20000000000000)
133 {
134 if (
ax < 0x3e40000000000000)
135 {
136 if (
ax == 0x0000000000000000)
return x;
138 }
139 else
140 {
141
142
143
144
145
146
147 double tmp;
148 tmp =
x*
x*
x*0.333333333333333333;
150 }
151 }
152 else
154 }
156 {
157
159
162 else
163
166 }
168
169
170 if (xneg)
172
174 {
175
176
177
178 static const double
179 twobypi = 6.36619772367581382433e-01,
180 piby2_1 = 1.57079632673412561417e+00,
181 piby2_1tail = 6.07710050650619224932e-11,
182 piby2_2 = 6.07710050630396597660e-11,
183 piby2_2tail = 2.02226624879595063154e-21,
184 piby2_3 = 2.02226624871116645580e-21,
185 piby2_3tail = 8.47842766036889956997e-32;
186 double t, rhead, rtail;
187 int npi2;
188 unsigned long long uy, xexp, expdiff;
190
191 if (
ax <= 0x400f6a7a2955385e)
192 {
193 if (
ax <= 0x4002d97c7f3321d2)
194 npi2 = 1;
195 else
196 npi2 = 2;
197 }
198 else if (
ax <= 0x401c463abeccb2bb)
199 {
200 if (
ax <= 0x4015fdbbe9bba775)
201 npi2 = 3;
202 else
203 npi2 = 4;
204 }
205 else
206 npi2 = (
int)(
x * twobypi + 0.5);
207
208 rhead =
x - npi2 * piby2_1;
209 rtail = npi2 * piby2_1tail;
212 if (expdiff > 15)
213 {
214
215
216
218 rtail = npi2 * piby2_2;
220 rtail = npi2 * piby2_2tail - ((
t - rhead) - rtail);
221 if (expdiff > 48)
222 {
223
225 rtail = npi2 * piby2_3;
227 rtail = npi2 * piby2_3tail - ((
t - rhead) - rtail);
228 }
229 }
231 rr = (rhead -
r) - rtail;
232 region = npi2 & 3;
233 }
234 else
235 {
236
238 }
239
240 if (xneg)
242 else
244}
double __cdecl _handle_error(char *fname, int opcode, unsigned long long value, int type, int flags, int error, double arg1, double arg2, int nargs)
Handles an error condition.
unsigned int(__cdecl typeof(jpeg_read_scanlines))(struct jpeg_decompress_struct *
GLint GLint GLint GLint GLint x
GLdouble GLdouble GLdouble r
void __remainder_piby2(double x, double *r, double *rr, int *region)
#define INDEFBITPATT_DP64
#define EXPSHIFTBITS_DP64
#define GET_BITS_DP64(x, ux)
ecx edi movl ebx edx edi decl ecx esi eax jecxz decl eax andl eax esi movl edx movl TEMP incl eax andl eax ecx incl ebx testl eax jnz xchgl ecx incl TEMP esp ecx subl ebx pushl ecx ecx edx ecx shrl ecx mm0 mm4 mm0 mm4 mm1 mm5 mm1 mm5 mm2 mm6 mm2 mm6 mm3 mm7 mm3 mm7 paddd mm0 paddd mm4 paddd mm0 paddd mm4 paddd mm0 paddd mm4 movq mm1 movq mm5 psrlq mm1 psrlq mm5 paddd mm0 paddd mm4 psrad mm0 psrad mm4 packssdw mm0 packssdw mm4 mm1 punpckldq mm0 pand mm1 pand mm0 por mm1 movq edi esi edx edi decl ecx jnz popl ecx andl ecx jecxz mm0 mm0 mm1 mm1 mm2 mm2 mm3 mm3 paddd mm0 paddd mm0 paddd mm0 movq mm1 psrlq mm1 paddd mm0 psrad mm0 packssdw mm0 movd eax movw ax
static double tan_piby4(double x, double xx, int recip)