49 4.63647609000806093515e-01,
50 7.85398163397448278999e-01,
51 9.82793723247329054082e-01,
52 1.57079632679489655800e+00,
56 2.26987774529616870924e-17,
57 3.06161699786838301793e-17,
58 1.39033110312309984516e-17,
59 6.12323399573676603587e-17,
62 static const double aT[] = {
63 3.33333333333329318027e-01,
64 -1.99999999998764832476e-01,
65 1.42857142725034663711e-01,
66 -1.11111104054623557880e-01,
67 9.09088713343650656196e-02,
68 -7.69187620504482999495e-02,
69 6.66107313738753120669e-02,
70 -5.83357013379057348645e-02,
71 4.97687799461593236017e-02,
72 -3.65315727442169155270e-02,
73 1.62858201153657823623e-02,
109 ix = hx & 0x7fffffff;
110 if (ix >= 0x44100000)
115 if (ix > 0x7ff00000 || (ix == 0x7ff00000 && (low != 0)))
139 x = (2.0 * x -
one) / (2.0 + x);
144 x = (x -
one) / (x +
one);
152 x = (x - 1.5) / (
one + 1.5 * x);
165 s1 = z * (
aT[0] + w * (
aT[2] + w * (
aT[4] + w * (
aT[6] + w * (
aT[8] + w *
aT[10])))));
166 s2 = w * (
aT[1] + w * (
aT[3] + w * (
aT[5] + w * (
aT[7] + w *
aT[9]))));
169 return x - x * (s1 + s2);
173 return (hx < 0) ? -z : z;
#define GET_HIGH_WORD(i, d)
Get the more significant 32 bit int from a double.
#define GET_LOW_WORD(i, d)
Get the less significant 32 bit int from a double.
static const double atanhi[]
double fabs(double x)
Returns the absolute value of x.
double atan(double x)
Inverse tangent function.
static const double atanlo[]