70 8.33333333333333333333E-2,
71 -2.10927960927960927961E-2,
72 7.57575757575757575758E-3,
73 -4.16666666666666666667E-3,
74 3.96825396825396825397E-3,
75 -8.33333333333333333333E-3,
76 8.33333333333333333333E-2
98 static const float Y = 0.99558162689208984f;
100 static const double root1 = 1569415565.0 / 1073741824.0;
101 static const double root2 = (381566830.0 / 1073741824.0) / 1073741824.0;
102 static const double root3 = 0.9016312093258695918615325266959189453125e-19;
104 static double P[] = {
105 -0.0020713321167745952,
106 -0.045251321448739056,
107 -0.28919126444774784,
108 -0.65031853770896507,
109 -0.32555031186804491,
112 static double Q[] = {
113 -0.55789841321675513e-6,
114 0.0021284987017821144,
115 0.054151797245674225,
126 return g *
Y +
g * r;
142 return log(
x) - (0.5 /
x) -
y;
155 else if (
x == INFINITY) {
158 else if (
x == -INFINITY) {
163 return copysign(INFINITY, -
x);
177 if ((
x <= 10.0) && (
x ==
floor(
x))) {
179 for (
i = 1;
i <
n;
i++) {
197 if ((1.0 <=
x) && (
x <= 2.0)) {