50 static const double xxx[] = {
51 3.33333333333334091986e-01,
52 1.33333333333201242699e-01,
53 5.39682539762260521377e-02,
54 2.18694882948595424599e-02,
55 8.86323982359930005737e-03,
56 3.59207910759131235356e-03,
57 1.45620945432529025516e-03,
58 5.88041240820264096874e-04,
59 2.46463134818469906812e-04,
60 7.81794442939557092300e-05,
61 7.14072491382608190305e-05,
62 -1.85586374855275456654e-05,
63 2.59073051863633712884e-05,
64 1.00000000000000000000e+00,
65 7.85398163397448278999e-01,
66 3.06161699786838301793e-17
70 #define pio4lo xxx[15] 81 if (ix < 0x3e300000) {
85 if(((ix | low) | (iy + 1)) == 0)
99 return t +
a * (s + t * v);
104 if (ix >= 0x3FE59428) {
121 r =
T[1] + w * (
T[3] + w * (
T[5] + w * (
T[7] + w * (
T[9] +
123 v = z * (
T[2] + w * (
T[4] + w * (
T[6] + w * (
T[8] + w * (
T[10] +
126 r = y + z * (s * (r + v) + y);
129 if (ix >= 0x3FE59428) {
131 return (
double) (1 - ((hx >> 30) & 2)) *
132 (v - 2.0 * (x - (w * w / (w + v) - r)));
149 return t +
a * (s + t * v);
#define GET_HIGH_WORD(i, d)
double __kernel_tan(double x, double y, int iy)
#define SET_LOW_WORD(d, v)
#define GET_LOW_WORD(i, d)