32 #ifdef POK_NEEDS_LIBMATH
34 #include "math_private.h"
37 one = 1.0000000000e+00,
39 pio2_hi = 1.5707962513e+00,
40 pio2_lo = 7.5497894159e-08,
41 pio4_hi = 7.8539818525e-01,
43 pS0 = 1.6666667163e-01,
44 pS1 = -3.2556581497e-01,
45 pS2 = 2.0121252537e-01,
46 pS3 = -4.0055535734e-02,
47 pS4 = 7.9153501429e-04,
48 pS5 = 3.4793309169e-05,
49 qS1 = -2.4033949375e+00,
50 qS2 = 2.0209457874e+00,
51 qS3 = -6.8828397989e-01,
52 qS4 = 7.7038154006e-02;
55 __ieee754_asinf(
float x)
65 return x*pio2_hi+x*pio2_lo;
66 }
else if(ix> 0x3f800000) {
68 }
else if (ix<0x3f000000) {
70 if(huge+x>one)
return x;
73 p = t*(pS0+t*(pS1+t*(pS2+t*(pS3+t*(pS4+t*pS5)))));
74 q = one+t*(qS1+t*(qS2+t*(qS3+t*qS4)));
81 p = t*(pS0+t*(pS1+t*(pS2+t*(pS3+t*(pS4+t*pS5)))));
82 q = one+t*(qS1+t*(qS2+t*(qS3+t*qS4)));
83 s = __ieee754_sqrtf(t);
86 t = pio2_hi-((float)2.0*(s+s*w)-pio2_lo);
91 SET_FLOAT_WORD(w,iw&0xfffff000);
94 p = (float)2.0*s*r-(pio2_lo-(
float)2.0*c);
95 q = pio4_hi-(float)2.0*w;
98 if(hx>0)
return t;
else return -t;