61 static double S1[] = {
62 1.83889230173399459482E-17,
63 -9.55485532279655569575E-17,
64 2.04326105980879882648E-16,
65 1.09896949074905343022E-15,
66 -1.31313534344092599234E-14,
67 5.93976226264314278932E-14,
68 -3.47197010497749154755E-14,
69 -1.40059764613117131000E-12,
70 9.49044626224223543299E-12,
71 -1.61596181145435454033E-11,
72 -1.77899784436430310321E-10,
73 1.35455469767246947469E-9,
74 -1.03257121792819495123E-9,
75 -3.56699611114982536845E-8,
76 1.44818877384267342057E-7,
77 7.82018215184051295296E-7,
78 -5.39919118403805073710E-6,
79 -3.12458202168959833422E-5,
80 8.90136741950727517826E-5,
81 2.02558474743846862168E-3,
82 2.96064440855633256972E-2,
83 1.11847751047257036625E0
87 static double S2[] = {
88 -1.05311574154850938805E-17,
89 2.62446095596355225821E-17,
90 8.82090135625368160657E-17,
91 -3.38459811878103047136E-16,
92 -8.30608026366935789136E-16,
93 3.93397875437050071776E-15,
94 1.01765565969729044505E-14,
95 -4.21128170307640802703E-14,
96 -1.60818204519802480035E-13,
97 3.34714954175994481761E-13,
98 2.72600352129153073807E-12,
99 1.66894954752839083608E-12,
100 -3.49278141024730899554E-11,
101 -1.58580661666482709598E-10,
102 -1.79289437183355633342E-10,
103 1.76281629144264523277E-9,
104 1.69050228879421288846E-8,
105 1.25391771228487041649E-7,
106 1.16229947068677338732E-6,
107 1.61038260117376323993E-5,
108 3.49810375601053973070E-4,
109 1.28478065259647610779E-2,
110 1.03665722588798326712E0
114 static double C1[] = {
115 -8.12435385225864036372E-18,
116 2.17586413290339214377E-17,
117 5.22624394924072204667E-17,
118 -9.48812110591690559363E-16,
119 5.35546311647465209166E-15,
120 -1.21009970113732918701E-14,
121 -6.00865178553447437951E-14,
122 7.16339649156028587775E-13,
123 -2.93496072607599856104E-12,
124 -1.40359438136491256904E-12,
125 8.76302288609054966081E-11,
126 -4.40092476213282340617E-10,
127 -1.87992075640569295479E-10,
128 1.31458150989474594064E-8,
129 -4.75513930924765465590E-8,
130 -2.21775018801848880741E-7,
131 1.94635531373272490962E-6,
132 4.33505889257316408893E-6,
133 -6.13387001076494349496E-5,
134 -3.13085477492997465138E-4,
135 4.97164789823116062801E-4,
136 2.64347496031374526641E-2,
137 1.11446150876699213025E0
141 static double C2[] = {
142 8.06913408255155572081E-18,
143 -2.08074168180148170312E-17,
144 -5.98111329658272336816E-17,
145 2.68533951085945765591E-16,
146 4.52313941698904694774E-16,
147 -3.10734917335299464535E-15,
148 -4.42823207332531972288E-15,
149 3.49639695410806959872E-14,
150 6.63406731718911586609E-14,
151 -3.71902448093119218395E-13,
152 -1.27135418132338309016E-12,
153 2.74851141935315395333E-12,
154 2.33781843985453438400E-11,
155 2.71436006377612442764E-11,
156 -2.56600180000355990529E-10,
157 -1.61021375163803438552E-9,
158 -4.72543064876271773512E-9,
159 -3.00095178028681682282E-9,
160 7.79387474390914922337E-8,
161 1.06942765566401507066E-6,
162 1.59503164802313196374E-5,
163 3.49592575153777996871E-4,
164 1.28475387530065247392E-2,
165 1.03665693917934275131E0
168 static double hyp3f0(
double a1,
double a2,
double a3,
double z);
176 double k,
z,
c,
s,
a,
b;
224 a = (576.0 /
x - 52.0) / 10.0;
232 a = (6336.0 /
x - 212.0) / 70.0;
278 double err, sum, term,
m;
290 for (
n = 0;
n < maxiter; ++
n) {
291 term *= (
a1 +
n) * (
a2 +
n) * (
a3 +
n) *
z / (
n + 1);
293 if (
fabs(term) < 1
e-13 *
fabs(sum) || term == 0) {
300 if (err > 1
e-13 *
fabs(sum)) {