63 #pragma warning ( disable : 4756 )
68 dp_h[] = { 0.0, 5.84962487220764160156e-01,},
69 dp_l[] = { 0.0, 1.35003920212974897128e-08,},
77 L1 = 5.99999999999994648725e-01,
78 L2 = 4.28571428578550184252e-01,
79 L3 = 3.33333329818377432918e-01,
80 L4 = 2.72728123808534006489e-01,
81 L5 = 2.30660745775561754067e-01,
82 L6 = 2.06975017800338417784e-01,
83 P1 = 1.66666666666666019037e-01,
84 P2 = -2.77777777770155933842e-03,
85 P3 = 6.61375632143793436117e-05,
86 P4 = -1.65339022054652515390e-06,
87 P5 = 4.13813679705723846039e-08,
88 lg2 = 6.93147180559945286227e-01,
89 lg2_h = 6.93147182464599609375e-01,
90 lg2_l = -1.90465429995776804525e-09,
91 ovt = 8.0085662595372944372e-0017,
92 cp = 9.61796693925975554329e-01,
93 cp_h = 9.61796700954437255859e-01,
94 cp_l = -7.02846165095275826516e-09,
95 ivln2 = 1.44269504088896338700e+00,
101 double z,ax,z_h,z_l,p_h,p_l;
109 if (hx==0x3ff00000 && lx==0) {
118 if((iy|ly)==0)
return one;
121 if(ix > 0x7ff00000 || ((ix==0x7ff00000)&&(lx!=0)) ||
122 iy > 0x7ff00000 || ((iy==0x7ff00000)&&(ly!=0)))
132 if(iy>=0x43400000) yisint = 2;
133 else if(iy>=0x3ff00000) {
137 if((j<<(52-k))==ly) yisint = 2-(j&1);
140 if((j<<(20-k))==iy) yisint = 2-(j&1);
147 if (iy==0x7ff00000) {
148 if (((ix-0x3ff00000)|lx)==0)
150 if (ix >= 0x3ff00000)
151 return (hy>=0) ? y :
zero;
153 return (hy<0) ? -y :
zero;
156 if(hy<0)
return one/
x;
else return x;
158 if(hy==0x40000000)
return x*
x;
168 if(ix==0x7ff00000||ix==0||ix==0x3ff00000){
172 if(((ix-0x3ff00000)|yisint)==0) {
182 if(((((
u_int32_t)hx>>31)-1)|yisint)==0)
return (x-x)/(x-
x);
196 w = (t*
t)*(0.5-t*(0.3333333333333333333333-t*0.25));
203 double s2,s_h,s_l,t_h,t_l;
208 n += ((ix)>>20)-0x3ff;
213 else if(j<0xBB67A) k=1;
214 else {k=0;n+=1;ix -= 0x00100000;}
226 t_l = ax - (t_h-bp[
k]);
227 s_l = v*((u-s_h*t_h)-s_h*t_l);
235 t_l = r-((t_h-3.0)-s2);
247 t1 = (((z_h+z_l)+
dp_h[k])+
t);
249 t2 = z_l-(((t1-
t)-
dp_h[k])-z_h);
253 if(((((
u_int32_t)hx>>31)-1)|(yisint-1))==0)
259 p_l = (y-
y1)*t1+y*t2;
264 if(((j-0x40900000)|i)!=0)
267 if(p_l+
ovt>z-p_h)
return s*huge*
huge;
269 }
else if((j&0x7fffffff)>=0x4090cc00 ) {
270 if(((j-0xc090cc00)|i)!=0)
273 if(p_l<=z-p_h)
return s*tiny*
tiny;
283 n = j+(0x00100000>>(k+1));
284 k = ((n&0x7fffffff)>>20)-0x3ff;
287 n = ((n&0x000fffff)|0x00100000)>>(20-
k);
299 r = (z*
t1)/(t1-
two)-(w+z*
w);
303 if((j>>20)<=0) z =
scalbn(z,n);
312 double pow(
double x,
double y)
315 if (_LIB_VERSION == _IEEE_|| isnan(y))
319 return __kernel_standard(x, y, 42);
324 return __kernel_standard(x, y, 20);
325 if (isfinite(y) && y < 0.0)
326 return __kernel_standard(x,y,23);
330 if (isfinite(x) && isfinite(y)) {
332 return __kernel_standard(x, y, 24);
333 return __kernel_standard(x, y, 21);
336 if (z == 0.0 && isfinite(x) && isfinite(y))
337 return __kernel_standard(x, y, 22);