52 one = 1.00000000000000000000e+00,
54 pio2_hi = 1.57079632679489655800e+00,
55 pio2_lo = 6.12323399573676603587e-17,
56 pio4_hi = 7.85398163397448278999e-01,
58 pS0 = 1.66666666666666657415e-01,
59 pS1 = -3.25565818622400915405e-01,
60 pS2 = 2.01212532134862925881e-01,
61 pS3 = -4.00555345006794114027e-02,
62 pS4 = 7.91534994289814532176e-04,
63 pS5 = 3.47933107596021167570e-05,
64 qS1 = -2.40339491173441421878e+00,
65 qS2 = 2.02094576023350569471e+00,
66 qS3 = -6.88283971605453293030e-01,
67 qS4 = 7.70381505559019352791e-02;
76 double t=0,w,
p,q,c,r,s;
81 if(((ix-0x3ff00000)|
__LO(x))==0)
83 return x*pio2_hi+x*pio2_lo;
85 }
else if (ix<0x3fe00000) {
87 if(huge+x>
one)
return x;
90 p = t*(pS0+t*(pS1+t*(pS2+t*(pS3+t*(pS4+t*pS5)))));
91 q =
one+t*(qS1+t*(qS2+t*(qS3+t*qS4)));
98 p = t*(pS0+t*(pS1+t*(pS2+t*(pS3+t*(pS4+t*pS5)))));
99 q =
one+t*(qS1+t*(qS2+t*(qS3+t*qS4)));
103 t = pio2_hi-(2.0*(s+s*w)-pio2_lo);
109 p = 2.0*s*r-(pio2_lo-2.0*c);
113 if(hx>0)
return t;
else return -t;