1 #include "crlibm.h"
2 #include "crlibm_private.h"
3 
4 /*File generated by maple/log10-td.mpl*/
5 
6 #define L 7
7 
8 #define MAXINDEX 53
9 
10 #define INDEXMASK 127
11 #define two52 4.50359962737049600000000000000000000000000000000000e+15
12 #define log2h 6.93147180559890330187045037746429443359375000000000e-01
13 #define log2m 5.49792301870850242169664946507035702127907939029683e-14
14 #define log2l -1.31246984177852556920995753667322295879593697972250e-27
15 #define log10invh 4.34294481903251816667932416748953983187675476074219e-01
16 #define log10invm 1.09831965021676507273885982186335434116483395815072e-17
17 #define log10invl 3.71718123311095896669981767697359971405165651422486e-34
18 #define WORSTCASEACCURACY 5.31691198313966349161522824112137830400000000000000e+36
19 #define ROUNDCST1 1.00787401574803160796292764473221714405939530505554e+00
20 #define ROUNDCST2 1.00787401574803160796292764473221714405939530505554e+00
21 #define RDROUNDCST1 4.33680868994201773602981120347976684570312500000000e-19
22 #define RDROUNDCST2 4.33680868994201773602981120347976684570312500000000e-19
23 
24 
25 #define c3 3.33333333333333370340767487505218014121055603027344e-01
26 #define c4 -2.49999999990904886448817023847368545830249786376953e-01
27 #define c5 1.99999999978980019799124079327157232910394668579102e-01
28 #define c6 -1.66669050883027802800739891608827747404575347900391e-01
29 #define c7 1.42860109897981618631845890377007890492677688598633e-01
30 
31 
32 #define accPolyC3h 3.33333333333333314829616256247390992939472198486328e-01
33 #define accPolyC3l 1.85037170770859413132312241283212169118117639547054e-17
34 #define accPolyC4h -2.50000000000000000000000000000000000000000000000000e-01
35 #define accPolyC4l 4.62199018306924685334006418421322154174127637249391e-33
36 #define accPolyC5h 2.00000000000000011102230246251565404236316680908203e-01
37 #define accPolyC5l -1.11022302443127785678379338452126964515833173338601e-17
38 #define accPolyC6h -1.66666666666666657414808128123695496469736099243164e-01
39 #define accPolyC6l -9.25185854591372488017120157358742564605503054108327e-18
40 #define accPolyC7h 1.42857142857142849212692681248881854116916656494141e-01
41 #define accPolyC7l 7.92868209382438390589949095717120486682310988838960e-18
42 #define accPolyC8h -1.25000000000000000000000000000000000000000000000000e-01
43 #define accPolyC8l 3.42769668947376590645174407718339199260639267364101e-21
44 #define accPolyC9h 1.11111111111111521276839653182832989841699600219727e-01
45 #define accPolyC9l 4.33331955380787609416227741118274520376899199903317e-18
46 #define accPolyC10 -1.00000000000000699440505513848620466887950897216797e-01
47 #define accPolyC11 9.09090908567022348840680479042930528521537780761719e-02
48 #define accPolyC12 -8.33333332642126056732934102910803630948066711425781e-02
49 #define accPolyC13 7.69261287585959879775643344146374147385358810424805e-02
50 #define accPolyC14 -7.14319092953022982683819464000407606363296508789062e-02
51 
52 
53 typedef struct rri_tag {float ri; double logih; double logim; double logil;} rri;
54 static const rri argredtable[128] = {
55   {
56     1.00000000000000000000000000000000000000000000000000e+00,   /* r[0] */
57     0.00000000000000000000000000000000000000000000000000e+00, /* logih[0] */
58     0.00000000000000000000000000000000000000000000000000e+00, /* logim[0] */
59     0.00000000000000000000000000000000000000000000000000e+00, /* logil[0] */
60   } ,
61   {
62     9.92248058319091796875000000000000000000000000000000e-01,   /* r[1] */
63     7.78214416734525436109004559170898573938757181167603e-03, /* logih[1] */
64     -1.28191618904143681948935996668824218266800862156024e-20, /* logim[1] */
65     1.17655068600225378123891861200215069271455859581641e-37, /* logil[1] */
66   } ,
67   {
68     9.84615325927734375000000000000000000000000000000000e-01,   /* r[2] */
69     1.55042461406118062261505485821544425562024116516113e-02, /* logih[2] */
70     -3.27761516207149627029928635703400435929630184221293e-19, /* logim[2] */
71     2.95200020707030964072253388818190769795416371257942e-37, /* logil[2] */
72   } ,
73   {
74     9.77099180221557617187500000000000000000000000000000e-01,   /* r[3] */
75     2.31671170235356708999585606534310500137507915496826e-02, /* logih[3] */
76     5.57833156048330069504471566938468802334954100224869e-19, /* logim[3] */
77     4.08416064054113313191746248503653555682943539201798e-35, /* logil[3] */
78   } ,
79   {
80     9.69696998596191406250000000000000000000000000000000e-01,   /* r[4] */
81     3.07716288644317437217523547587916254997253417968750e-02, /* logih[4] */
82     1.04316437964092669923942103072089812062131860035492e-18, /* logim[4] */
83     -8.26837774892530079043982861155759865584698067912967e-36, /* logil[4] */
84   } ,
85   {
86     9.62406039237976074218750000000000000000000000000000e-01,   /* r[5] */
87     3.83188391564273991840572364253603154793381690979004e-02, /* logih[5] */
88     1.54512636366303706650320890230224472259662656606095e-18, /* logim[5] */
89     8.30977110244055528389241824578843983429633068152463e-35, /* logil[5] */
90   } ,
91   {
92     9.55223917961120605468750000000000000000000000000000e-01,   /* r[6] */
93     4.58094969157468376308450785927561810240149497985840e-02, /* logih[6] */
94     -3.30123051072550842868548428055668582607719074881820e-18, /* logim[6] */
95     1.64164772626574162996727598513545022472742050176492e-34, /* logil[6] */
96   } ,
97   {
98     9.48148131370544433593750000000000000000000000000000e-01,   /* r[7] */
99     5.32445322139413548812036935942160198464989662170410e-02, /* logih[7] */
100     2.23755385085953619415254057336256700540433618368589e-18, /* logim[7] */
101     -9.41330315099866735037984721876103977945647219756033e-35, /* logil[7] */
102   } ,
103   {
104     9.41176414489746093750000000000000000000000000000000e-01,   /* r[8] */
105     6.06246814210813916856679384181916248053312301635742e-02, /* logih[8] */
106     2.64247317995478646334926909653435556549332769494295e-18, /* logim[8] */
107     1.55075207452234839722600788456166299408429635417895e-34, /* logil[8] */
108   } ,
109   {
110     9.34306621551513671875000000000000000000000000000000e-01,   /* r[9] */
111     6.79506060291548280583029395529592875391244888305664e-02, /* logih[9] */
112     5.65862161871167282533541105359923619273100535513035e-18, /* logim[9] */
113     -3.57889357320249912090032102867532919048871786355064e-34, /* logil[9] */
114   } ,
115   {
116     9.27536249160766601562500000000000000000000000000000e-01,   /* r[10] */
117     7.52234026111362058530929175503842998296022415161133e-02, /* logih[10] */
118     1.00828755349783911736541446332784521904773238841865e-18, /* logim[10] */
119     7.77966415828014771486738038255868010153689429282538e-36, /* logil[10] */
120   } ,
121   {
122     9.20863270759582519531250000000000000000000000000000e-01,   /* r[11] */
123     8.24437111205913314426751981045526918023824691772461e-02, /* logih[11] */
124     -4.27419767632228646217014766651675738804062364961374e-18, /* logim[11] */
125     3.58539257549786746072726449331073277906948658046759e-34, /* logil[11] */
126   } ,
127   {
128     9.14285659790039062500000000000000000000000000000000e-01,   /* r[12] */
129     8.96122182943336897942288032936630770564079284667969e-02, /* logih[12] */
130     -5.42674234758262048883730612286095846547194397615989e-18, /* logim[12] */
131     -7.94903110897686868047461590865098481976776339992810e-35, /* logil[12] */
132   } ,
133   {
134     9.07801389694213867187500000000000000000000000000000e-01,   /* r[13] */
135     9.67296581235191493819414176869031507521867752075195e-02, /* logih[13] */
136     1.17499431052084706890372286741885325822732164697539e-18, /* logim[13] */
137     -7.47188021694240554877009439429630012902672969107896e-35, /* logil[13] */
138   } ,
139   {
140     9.01408433914184570312500000000000000000000000000000e-01,   /* r[14] */
141     1.03796812308095232069149460585322231054306030273438e-01, /* logih[14] */
142     -1.46116759252442942691327623497388991415382979093093e-18, /* logim[14] */
143     -5.84766064918572844473631496354606243606272630720064e-35, /* logil[14] */
144   } ,
145   {
146     8.95104885101318359375000000000000000000000000000000e-01,   /* r[15] */
147     1.10814377516161077785739053069846704602241516113281e-01, /* logih[15] */
148     -5.75514509579248124656596649605847554012818793702281e-18, /* logim[15] */
149     3.29977719536339952907783192540462408052319847426319e-34, /* logil[15] */
150   } ,
151   {
152     8.88888835906982421875000000000000000000000000000000e-01,   /* r[16] */
153     1.17783095261030007483427084480354096740484237670898e-01, /* logih[16] */
154     -1.19709798867727449215060005668653850880775796697715e-18, /* logim[16] */
155     8.04222018353684236067064017226062133396406008492921e-35, /* logil[16] */
156   } ,
157   {
158     8.82758617401123046875000000000000000000000000000000e-01,   /* r[17] */
159     1.24703482226247538977581541530526010319590568542480e-01, /* logih[17] */
160     2.28663295749049514726834658528273231115811065734312e-18, /* logim[17] */
161     -3.51123005875932392272239647660221882537057244586168e-35, /* logil[17] */
162   } ,
163   {
164     8.76712322235107421875000000000000000000000000000000e-01,   /* r[18] */
165     1.31576365239299886145118989588809199631214141845703e-01, /* logih[18] */
166     1.11230010175930229418362785876222391520299564865730e-17, /* logim[18] */
167     7.27451645836749926637643602480531900716806359121297e-34, /* logil[18] */
168   } ,
169   {
170     8.70748281478881835937500000000000000000000000000000e-01,   /* r[19] */
171     1.38402343348215994822680841025430709123611450195312e-01, /* logih[19] */
172     -7.69528416335144553864151614176326744245393995127969e-18, /* logim[19] */
173     1.14202629230472885861778260955781649682548331183808e-34, /* logil[19] */
174   } ,
175   {
176     8.64864826202392578125000000000000000000000000000000e-01,   /* r[20] */
177     1.45182054547982469783207193358975928276777267456055e-01, /* logih[20] */
178     8.24244856152552570070228105635897158979868211170798e-18, /* logim[20] */
179     -6.13072808770694892835379995250538817854995507648779e-34, /* logil[20] */
180   } ,
181   {
182     8.59060406684875488281250000000000000000000000000000e-01,   /* r[21] */
183     1.51916037369229123266123337998578790575265884399414e-01, /* logih[21] */
184     -1.04296908000297145574171199957656893307239877379000e-17, /* logim[21] */
185     -5.53636436435840586444373230094200986769217138540854e-34, /* logil[21] */
186   } ,
187   {
188     8.53333353996276855468750000000000000000000000000000e-01,   /* r[22] */
189     1.58605005962251938145257668111298698931932449340820e-01, /* logih[22] */
190     -8.86065192248216377790637508171938194510660992474042e-19, /* logim[22] */
191     -5.87995214834401673695486864800931832452468264932844e-35, /* logil[22] */
192   } ,
193   {
194     8.47682118415832519531250000000000000000000000000000e-01,   /* r[23] */
195     1.65249573826629747586025587224867194890975952148438e-01, /* logih[23] */
196     -9.66125475305916070790888958698289394696700966750453e-18, /* logim[23] */
197     1.22853647999759344001960461047755491313341721869856e-34, /* logil[23] */
198   } ,
199   {
200     8.42105269432067871093750000000000000000000000000000e-01,   /* r[24] */
201     1.71850249476078659194300257695431355386972427368164e-01, /* logih[24] */
202     -6.02245395887480538795512923412250309472746231920746e-18, /* logim[24] */
203     1.52961687917434402329553899350235008490821862631877e-34, /* logil[24] */
204   } ,
205   {
206     8.36601257324218750000000000000000000000000000000000e-01,   /* r[25] */
207     1.78407717077464861299418430462537799030542373657227e-01, /* logih[25] */
208     -1.24324832026190372515095573175819374097319572461178e-17, /* logim[25] */
209     -5.99222696564577786410580709003476847421843326905428e-34, /* logil[25] */
210   } ,
211   {
212     8.31168889999389648437500000000000000000000000000000e-01,   /* r[26] */
213     1.84922267713498816865680396404059138149023056030273e-01, /* logih[26] */
214     9.96243711860796179875713739627414673019270693540839e-18, /* logim[26] */
215     -1.99546782893888540832510298706525540082513642365204e-34, /* logil[26] */
216   } ,
217   {
218     8.25806498527526855468750000000000000000000000000000e-01,   /* r[27] */
219     1.91394796188954025017991966706176754087209701538086e-01, /* logih[27] */
220     -8.22643020277300444045205706293674132131812201700538e-18, /* logim[27] */
221     5.69056030867564774930537188285078930441778787828211e-34, /* logil[27] */
222   } ,
223   {
224     8.20512771606445312500000000000000000000000000000000e-01,   /* r[28] */
225     1.97825802934566419288842098467284813523292541503906e-01, /* logih[28] */
226     1.28212649590622342007825921152819823725126964367518e-17, /* logim[28] */
227     4.34712978477783827374998481132430084872238812357849e-34, /* logil[28] */
228   } ,
229   {
230     8.15286636352539062500000000000000000000000000000000e-01,   /* r[29] */
231     2.04215526527529805944638496839615982025861740112305e-01, /* logih[29] */
232     2.73382699896480606605004885268461286375739934002155e-18, /* logim[29] */
233     1.88415596219599490517606146615135776386751947516623e-34, /* logil[29] */
234   } ,
235   {
236     8.10126543045043945312500000000000000000000000000000e-01,   /* r[30] */
237     2.10564817536124687658016796376614365726709365844727e-01, /* logih[30] */
238     2.68952644992466202072392146799884466396384136175691e-18, /* logim[30] */
239     -1.58883120037037559046153789501260274259127656480088e-34, /* logil[30] */
240   } ,
241   {
242     8.05031418800354003906250000000000000000000000000000e-01,   /* r[31] */
243     2.16873972759550226463431954471161589026451110839844e-01, /* logih[31] */
244     -1.23625140584833845652640860288020787431726668393088e-17, /* logim[31] */
245     -1.28369360755661214950804825668450767372141502246786e-34, /* logil[31] */
246   } ,
247   {
248     7.99999952316284179687500000000000000000000000000000e-01,   /* r[32] */
249     2.23143610918856316605030087885097600519657135009766e-01, /* logih[32] */
250     -9.09120001124270523314725361445863555491966823753373e-18, /* logim[32] */
251     1.15945802868784933647836819275496182741822080543604e-34, /* logil[32] */
252   } ,
253   {
254     7.95031070709228515625000000000000000000000000000000e-01,   /* r[33] */
255     2.29374082438394522043267897970508784055709838867188e-01, /* logih[33] */
256     -1.08890120418598083770448590672876580941469212582837e-17, /* logim[33] */
257     4.74877924128943438272197143958394008126523960202900e-34, /* logil[33] */
258   } ,
259   {
260     7.90123462677001953125000000000000000000000000000000e-01,   /* r[34] */
261     2.35566063862186342303672859088692348450422286987305e-01, /* logih[34] */
262     -2.39433728738216998660812173360881116827035967139939e-18, /* logim[34] */
263     -9.62471867414270770251397101906428335828045927610883e-35, /* logil[34] */
264   } ,
265   {
266     7.85276055335998535156250000000000000000000000000000e-01,   /* r[35] */
267     2.41719960170209802186036540661007165908813476562500e-01, /* logih[35] */
268     2.39578119451184969695376143676233310543075971208880e-18, /* logim[35] */
269     1.86231935097448741662637615288316997021879162207127e-34, /* logil[35] */
270   } ,
271   {
272     7.80487775802612304687500000000000000000000000000000e-01,   /* r[36] */
273     2.47836201157484947721343360171886160969734191894531e-01, /* logih[36] */
274     -1.24321923457726137680465119406863072977770725701004e-17, /* logim[36] */
275     -2.09577513970149680056365167860895085898294691979404e-34, /* logil[36] */
276   } ,
277   {
278     7.75757551193237304687500000000000000000000000000000e-01,   /* r[37] */
279     2.53915241645931488712051304901251569390296936035156e-01, /* logih[37] */
280     -6.31336333527435824035156315376733999545148217960567e-18, /* logim[37] */
281     4.63496313971202069379055986715253908538961883067566e-35, /* logil[37] */
282   } ,
283   {
284     7.71084308624267578125000000000000000000000000000000e-01,   /* r[38] */
285     2.59957561689829752538116736104711890220642089843750e-01, /* logih[38] */
286     -7.05748899290965383754297836711168798219001736647281e-18, /* logim[38] */
287     4.27245447011230141916526741370315150982259792796987e-34, /* logil[38] */
288   } ,
289   {
290     7.66467094421386718750000000000000000000000000000000e-01,   /* r[39] */
291     2.65963511244235673025571031757863238453865051269531e-01, /* logih[39] */
292     -2.24162125724264292804912034054420308588570407662844e-17, /* logim[39] */
293     4.90471140265143981765909599584287898945638617268867e-34, /* logil[39] */
294   } ,
295   {
296     7.61904716491699218750000000000000000000000000000000e-01,   /* r[40] */
297     2.71933775088288309795814257086021825671195983886719e-01, /* logih[40] */
298     7.83390223779535346513505580003968001040971161798700e-19, /* logim[40] */
299     -3.02585215101390470982866376614279464778757620082138e-35, /* logil[40] */
300   } ,
301   {
302     7.57396459579467773437500000000000000000000000000000e-01,   /* r[41] */
303     2.77868437964940373507971571598318405449390411376953e-01, /* logih[41] */
304     -2.69368711734232128278453248569958166651302969280381e-17, /* logim[41] */
305     1.27334496810554064003001771076892864921428144153570e-33, /* logil[41] */
306   } ,
307   {
308     7.52941131591796875000000000000000000000000000000000e-01,   /* r[42] */
309     2.83768232735291170421021433867281302809715270996094e-01, /* logih[42] */
310     -2.03265852251844689554711830689719609838328388091381e-17, /* logim[42] */
311     3.99265876662456660849597520210659365811534845502505e-34, /* logil[42] */
312   } ,
313   {
314     7.48538017272949218750000000000000000000000000000000e-01,   /* r[43] */
315     2.89633285132462114930262941925320774316787719726562e-01, /* logih[43] */
316     -7.21962253363417273270454867455071277489833577725373e-18, /* logim[43] */
317     -2.16150227221931053192432009592422674631830770048369e-34, /* logil[43] */
318   } ,
319   {
320     7.44186043739318847656250000000000000000000000000000e-01,   /* r[44] */
321     2.95464216619126196494704572614864446222782135009766e-01, /* logih[44] */
322     -1.47072146829197428851717511710908602721304319475328e-17, /* logim[44] */
323     4.88114627787723832872543510409367916590649903129304e-34, /* logil[44] */
324   } ,
325   {
326     7.39884376525878906250000000000000000000000000000000e-01,   /* r[45] */
327     3.01261352929903802877475982313626445829868316650391e-01, /* logih[45] */
328     1.87070681938931680167624656750430985298856099421569e-17, /* logim[45] */
329     1.51413799416501325421897094776870076323182009328971e-33, /* logil[45] */
330   } ,
331   {
332     7.35632181167602539062500000000000000000000000000000e-01,   /* r[46] */
333     3.07025039020202172856954803137341514229774475097656e-01, /* logih[46] */
334     -5.38102227896180596526923200171118043417676846319102e-18, /* logim[46] */
335     2.06712483430759996475892191286335029882052180959917e-34, /* logil[46] */
336   } ,
337   {
338     7.31428623199462890625000000000000000000000000000000e-01,   /* r[47] */
339     3.12755639223383730129768309780047275125980377197266e-01, /* logih[47] */
340     -7.57930782773895721056011815787401170737920404028723e-18, /* logim[47] */
341     8.39475110593319988799512618628582752750846924050440e-35, /* logil[47] */
342   } ,
343   {
344     7.27272748947143554687500000000000000000000000000000e-01,   /* r[48] */
345     3.18453701316212645089365196326980367302894592285156e-01, /* logih[48] */
346     2.71147705440665649189983820006370647423267349507715e-17, /* logim[48] */
347     4.61673001741568050305139864943649666789926072891368e-34, /* logil[48] */
348   } ,
349   {
350     7.23163843154907226562500000000000000000000000000000e-01,   /* r[49] */
351     3.24119466791566834817928111078799702227115631103516e-01, /* logih[49] */
352     -6.22349090807112113628215383245238541760656175683922e-18, /* logim[49] */
353     -2.94864944946984528585289533414905600786096792764282e-34, /* logil[49] */
354   } ,
355   {
356     7.19101071357727050781250000000000000000000000000000e-01,   /* r[50] */
357     3.29753359015631464234985514849540777504444122314453e-01, /* logih[50] */
358     -2.38987037434306035496609341036867889075145964580121e-17, /* logim[50] */
359     -1.22161021411351376080765213758661026982900357467596e-33, /* logil[50] */
360   } ,
361   {
362     7.15083837509155273437500000000000000000000000000000e-01,   /* r[51] */
363     3.35355487904429983014864546930766664445400238037109e-01, /* logih[51] */
364     -2.15530481136091842439480783176785939188081961777809e-17, /* logim[51] */
365     5.65377778536716902900522531845470344712374772157319e-34, /* logil[51] */
366   } ,
367   {
368     7.11111068725585937500000000000000000000000000000000e-01,   /* r[52] */
369     3.40926646575239744585417156486073508858680725097656e-01, /* logih[52] */
370     1.74672070296268393919501631375949801326271042364782e-17, /* logim[52] */
371     1.28757784323920807504216254145051967795248381758825e-33, /* logil[52] */
372   } ,
373   {
374     1.41436457633972167968750000000000000000000000000000e+00,   /* r[53] */
375     -3.46680367578929504723816990008344873785972595214844e-01, /* logih[53] */
376     -2.63487075436177288054440686474043695042741778901884e-17, /* logim[53] */
377     -1.38972774108545698123375234719775474495262622652200e-33, /* logil[53] */
378   } ,
379   {
380     1.40659332275390625000000000000000000000000000000000e+00,   /* r[54] */
381     -3.41170697798120592381110327551141381263732910156250e-01, /* logih[54] */
382     1.93668606486849623510457675345565515553170548397263e-17, /* logim[54] */
383     -6.31924577586791945681481090971933602378723267089765e-34, /* logil[54] */
384   } ,
385   {
386     1.39890718460083007812500000000000000000000000000000e+00,   /* r[55] */
387     -3.35691349380139503200126682713744230568408966064453e-01, /* logih[55] */
388     8.91843232308579533655667936963342665384096382048557e-18, /* logim[55] */
389     -7.43852632990846244963757376301756885994340719135686e-34, /* logil[55] */
390   } ,
391   {
392     1.39130425453186035156250000000000000000000000000000e+00,   /* r[56] */
393     -3.30241619815349218836075806393637321889400482177734e-01, /* logih[56] */
394     -1.69271534756955752333877800530082817995576241189249e-17, /* logim[56] */
395     -2.05124125474152062675126703058085713735683777118919e-34, /* logil[56] */
396   } ,
397   {
398     1.38378381729125976562500000000000000000000000000000e+00,   /* r[57] */
399     -3.24821643615624322531942880232236348092555999755859e-01, /* logih[57] */
400     1.93287622140617006961244731990086787828970688523722e-17, /* logim[57] */
401     -1.40211415833516824405184666805315188814704601258065e-33, /* logil[57] */
402   } ,
403   {
404     1.37634420394897460937500000000000000000000000000000e+00,   /* r[58] */
405     -3.19430856448034428130000605960958637297153472900391e-01, /* logih[58] */
406     5.58442737360353866559969930374464901851229137435661e-18, /* logim[58] */
407     -2.25313306148742433454599602113064828727792769150620e-34, /* logil[58] */
408   } ,
409   {
410     1.36898398399353027343750000000000000000000000000000e+00,   /* r[59] */
411     -3.14068847182749744106899925100151449441909790039062e-01, /* logih[59] */
412     1.74087330539322720259314067705480812845274240645592e-17, /* logim[59] */
413     2.87763442397890459672608687761118393908121210479900e-34, /* logil[59] */
414   } ,
415   {
416     1.36170220375061035156250000000000000000000000000000e+00,   /* r[60] */
417     -3.08735537528966208498104606405831873416900634765625e-01, /* logih[60] */
418     2.31380218279209479391607966489385619371870731511261e-17, /* logim[60] */
419     5.75649697670342883220331709767832654878804183961435e-34, /* logil[60] */
420   } ,
421   {
422     1.35449743270874023437500000000000000000000000000000e+00,   /* r[61] */
423     -3.03430487161918061023158088573836721479892730712891e-01, /* logih[61] */
424     5.88591784280850309549180895879864991445414905765635e-18, /* logim[61] */
425     3.80740105286783019924475997846877792541810370319751e-34, /* logil[61] */
426   } ,
427   {
428     1.34736847877502441406250000000000000000000000000000e+00,   /* r[62] */
429     -2.98153415159913837140237546918797306716442108154297e-01, /* logih[62] */
430     -8.81391967432414632609646763074561636922040597203571e-18, /* logim[62] */
431     -2.02736910549706342663167850737697734462522018249963e-34, /* logil[62] */
432   } ,
433   {
434     1.34031414985656738281250000000000000000000000000000e+00,   /* r[63] */
435     -2.92904026677480888718463347686338238418102264404297e-01, /* logih[63] */
436     1.79356774462556308958502912313675336181211584010969e-17, /* logim[63] */
437     1.02350086185905899058999882149766002774623879978153e-34, /* logil[63] */
438   } ,
439   {
440     1.33333325386047363281250000000000000000000000000000e+00,   /* r[64] */
441     -2.87682012847134349620148441317724063992500305175781e-01, /* logih[64] */
442     -2.60715355783435444041951693925565689223533295668838e-17, /* logim[64] */
443     -9.83372234709377378449141028490939682198507140512540e-34, /* logil[64] */
444   } ,
445   {
446     1.32642483711242675781250000000000000000000000000000e+00,   /* r[65] */
447     -2.82487230428967117656924301627441309392452239990234e-01, /* logih[65] */
448     2.49452771019268745755792758464310261659699707675018e-17, /* logim[65] */
449     -1.40230272425562150522506576584140991296902734870694e-33, /* logil[65] */
450   } ,
451   {
452     1.31958770751953125000000000000000000000000000000000e+00,   /* r[66] */
453     -2.77319345020877350282972884087939746677875518798828e-01, /* logih[66] */
454     7.44521346975934828880026635948320543669274837358637e-18, /* logim[66] */
455     -5.41922476182319969711469733445405189836277342215443e-34, /* logil[66] */
456   } ,
457   {
458     1.31282043457031250000000000000000000000000000000000e+00,   /* r[67] */
459     -2.72177826311169102080356196893262676894664764404297e-01, /* logih[67] */
460     -1.94604737767255604321061638736698666324990178271015e-17, /* logim[67] */
461     4.93318792723831633917605655356651628446409622108869e-34, /* logil[67] */
462   } ,
463   {
464     1.30612254142761230468750000000000000000000000000000e+00,   /* r[68] */
465     -2.67062856029558426396164350080653093755245208740234e-01, /* logih[68] */
466     1.42676910305707233200559864526771082234384991613068e-17, /* logim[68] */
467     9.40874014190123375853921812584677628111272401841540e-34, /* logil[68] */
468   } ,
469   {
470     1.29949235916137695312500000000000000000000000000000e+00,   /* r[69] */
471     -2.61973695252477101202970288795768283307552337646484e-01, /* logih[69] */
472     -1.59130185496344773949627658712806321021374170989957e-17, /* logim[69] */
473     2.05966526658843352548575822504612882857523370085076e-34, /* logil[69] */
474   } ,
475   {
476     1.29292941093444824218750000000000000000000000000000e+00,   /* r[70] */
477     -2.56910505054635363020310023784986697137355804443359e-01, /* logih[70] */
478     -2.32939629151451727444770801596466641031683815428509e-17, /* logim[70] */
479     -1.43942742464573220634874496721239465737503205324375e-33, /* logil[70] */
480   } ,
481   {
482     1.28643226623535156250000000000000000000000000000000e+00,   /* r[71] */
483     -2.51872701711453261808060233306605368852615356445312e-01, /* logih[71] */
484     -2.58573188266130078596915247890597291360969537163785e-17, /* logim[71] */
485     3.36064630885731507350249551263037246653963144676932e-34, /* logil[71] */
486   } ,
487   {
488     1.27999997138977050781250000000000000000000000000000e+00,   /* r[72] */
489     -2.46860055579783743695543307694606482982635498046875e-01, /* logih[72] */
490     -1.36174299951708605118822966558244798958741114531493e-17, /* logim[72] */
491     -8.23883896198784591738914635896001757021238114385808e-35, /* logil[72] */
492   } ,
493   {
494     1.27363181114196777343750000000000000000000000000000e+00,   /* r[73] */
495     -2.41872513137422084916750009142560884356498718261719e-01, /* logih[73] */
496     -2.91827950997726014268071786281330008614392694540440e-18, /* logim[73] */
497     8.66387628958027677722140876839269007945711340420961e-35, /* logil[73] */
498   } ,
499   {
500     1.26732683181762695312500000000000000000000000000000e+00,   /* r[74] */
501     -2.36909825309450927655063878773944452404975891113281e-01, /* logih[74] */
502     4.97049401191734143236484721843489954792294974449682e-18, /* logim[74] */
503     2.12212094628219632031384179435720857347529888567725e-34, /* logil[74] */
504   } ,
505   {
506     1.26108384132385253906250000000000000000000000000000e+00,   /* r[75] */
507     -2.31971542737545860513037609962339047342538833618164e-01, /* logih[75] */
508     1.20064411563385414488688519726171456939870706105353e-17, /* logim[75] */
509     -5.20241965000144345106493348505238495111737026311766e-34, /* logil[75] */
510   } ,
511   {
512     1.25490188598632812500000000000000000000000000000000e+00,   /* r[76] */
513     -2.27057391030699523559732710964453872293233871459961e-01, /* logih[76] */
514     -9.55134517665639461592830714479938653876650013848813e-18, /* logim[76] */
515     -7.00052160915705629865262646818211330004502638341784e-34, /* logil[76] */
516   } ,
517   {
518     1.24878048896789550781250000000000000000000000000000e+00,   /* r[77] */
519     -2.22167466272476882283015697794326115399599075317383e-01, /* logih[77] */
520     1.12308837854924459441805420173945034636561801020789e-17, /* logim[77] */
521     1.05992689326800868505291338111574353445179905470698e-34, /* logil[77] */
522   } ,
523   {
524     1.24271845817565917968750000000000000000000000000000e+00,   /* r[78] */
525     -2.17301285003207084178811214769666548818349838256836e-01, /* logih[78] */
526     -1.37599098464784711367545798871014398359913153389606e-17, /* logim[78] */
527     -5.44676947016522950876420214713413739910691265570885e-34, /* logil[78] */
528   } ,
529   {
530     1.23671507835388183593750000000000000000000000000000e+00,   /* r[79] */
531     -2.12458734101899110457978281374380458146333694458008e-01, /* logih[79] */
532     3.12575020468223244847667531342710056704202576314513e-18, /* logim[79] */
533     1.27082738610098894087384580413567050181540844264548e-35, /* logil[79] */
534   } ,
535   {
536     1.23076915740966796875000000000000000000000000000000e+00,   /* r[80] */
537     -2.07639305173597937814733427330793347209692001342773e-01, /* logih[80] */
538     -1.20531726306040366742269494142059745690218464556184e-17, /* logim[80] */
539     3.33883514126655983920316543317695602289579500921493e-34, /* logil[80] */
540   } ,
541   {
542     1.22488045692443847656250000000000000000000000000000e+00,   /* r[81] */
543     -2.02843253050716987306856253781006671488285064697266e-01, /* logih[81] */
544     -1.66453566992001313940518505696243672056063400746100e-18, /* logim[81] */
545     2.78446239404510241881587234176263335863162887428131e-35, /* logil[81] */
546   } ,
547   {
548     1.21904754638671875000000000000000000000000000000000e+00,   /* r[82] */
549     -1.98069854157447239328959653903439175337553024291992e-01, /* logih[82] */
550     -3.74277289637934596837745314540095849706853736054736e-18, /* logim[82] */
551     2.20940287174632344749918330821286328950105212564345e-34, /* logil[82] */
552   } ,
553   {
554     1.21327018737792968750000000000000000000000000000000e+00,   /* r[83] */
555     -1.93319348256398265695210625381150748580694198608398e-01, /* logih[83] */
556     -4.63045754803609100012916107813305239709411987466506e-18, /* logim[83] */
557     3.81311992624323390610440652445847060246376140730432e-34, /* logil[83] */
558   } ,
559   {
560     1.20754718780517578125000000000000000000000000000000e+00,   /* r[84] */
561     -1.88591184708711112616441596401273272931575775146484e-01, /* logih[84] */
562     7.43216311628945500204739783937941202296964434266492e-18, /* logim[84] */
563     -4.02931080995428730719681936637527024502063366412999e-34, /* logil[84] */
564   } ,
565   {
566     1.20187783241271972656250000000000000000000000000000e+00,   /* r[85] */
567     -1.83885194019779485419263664880418218672275543212891e-01, /* logih[85] */
568     4.12613043545869607985270580107985887836449099592842e-18, /* logim[85] */
569     -1.13080344207561908198013613253456946184091830340475e-34, /* logil[85] */
570   } ,
571   {
572     1.19626164436340332031250000000000000000000000000000e+00,   /* r[86] */
573     -1.79201397792742966874612875471939332783222198486328e-01, /* logih[86] */
574     1.25197515140082668570664893296659406065442168045883e-17, /* logim[86] */
575     2.08673445558311131685127966451011169090072111640797e-34, /* logil[86] */
576   } ,
577   {
578     1.19069766998291015625000000000000000000000000000000e+00,   /* r[87] */
579     -1.74539412626609380385644954003510065376758575439453e-01, /* logih[87] */
580     8.52219781255028950312107624449830634785785378861392e-18, /* logim[87] */
581     5.46720442033771639415150684633589460164820712880324e-34, /* logil[87] */
582   } ,
583   {
584     1.18518519401550292968750000000000000000000000000000e+00,   /* r[88] */
585     -1.69899044245978042555478282338299322873353958129883e-01, /* logih[88] */
586     4.86800738580472456380134000450154397097303177737598e-19, /* logim[88] */
587     -4.48365665383134519709151659261825733866549119396251e-36, /* logil[88] */
588   } ,
589   {
590     1.17972350120544433593750000000000000000000000000000e+00,   /* r[89] */
591     -1.65280090007780350314092743246874306350946426391602e-01, /* logih[89] */
592     1.05991222445546499578510819426998369466676418510398e-18, /* logim[89] */
593     2.15535973016890499002202117947684925307171077322261e-36, /* logil[89] */
594   } ,
595   {
596     1.17431187629699707031250000000000000000000000000000e+00,   /* r[90] */
597     -1.60682338849634120947484916541725397109985351562500e-01, /* logih[90] */
598     5.38493323815703006679696841052856196024573538758454e-18, /* logim[90] */
599     1.60200163876329179080224417109933041789065267300895e-34, /* logil[90] */
600   } ,
601   {
602     1.16894984245300292968750000000000000000000000000000e+00,   /* r[91] */
603     -1.56105775199027185795586092353914864361286163330078e-01, /* logih[91] */
604     1.32405772531609804709122583998125231935523184710352e-17, /* logim[91] */
605     4.88933388697666736600942679327919927438390701656817e-35, /* logil[91] */
606   } ,
607   {
608     1.16363644599914550781250000000000000000000000000000e+00,   /* r[92] */
609     -1.51549968907714105448292229993967339396476745605469e-01, /* logih[92] */
610     1.77181633478899593214922561799512844823326841018122e-18, /* logim[92] */
611     5.44951453107128861626798538797020344311568819287008e-35, /* logil[92] */
612   } ,
613   {
614     1.15837097167968750000000000000000000000000000000000e+00,   /* r[93] */
615     -1.47014683357163111754317696977523155510425567626953e-01, /* logih[93] */
616     4.46701777108311388441189058844554903695616000674812e-18, /* logim[93] */
617     -1.53168389834566630100313932781112142055948393405761e-34, /* logil[93] */
618   } ,
619   {
620     1.15315318107604980468750000000000000000000000000000e+00,   /* r[94] */
621     -1.42500086821669674774781810810964088886976242065430e-01, /* logih[94] */
622     -2.21668083020505832726646787146199970227457581911830e-18, /* logim[94] */
623     -4.73140768447350921077611938776759805597533720242102e-36, /* logil[94] */
624   } ,
625   {
626     1.14798212051391601562500000000000000000000000000000e+00,   /* r[95] */
627     -1.38005723310861472263866289722500368952751159667969e-01, /* logih[95] */
628     -9.06035372834454229539393713977175584764482079542462e-18, /* logim[95] */
629     -6.58482110068426815722709702700082916058774211791842e-34, /* logil[95] */
630   } ,
631   {
632     1.14285707473754882812500000000000000000000000000000e+00,   /* r[96] */
633     -1.33531333019876075063336884340969845652580261230469e-01, /* logih[96] */
634     3.66452824974217778950176131406293356640863401093569e-18, /* logim[96] */
635     6.15050085774566840615703784135477182311292227710416e-35, /* logil[96] */
636   } ,
637   {
638     1.13777780532836914062500000000000000000000000000000e+00,   /* r[97] */
639     -1.29077066489528990977930789085803553462028503417969e-01, /* logih[97] */
640     7.97904258955058431558707127373439732289437010877585e-19, /* logim[97] */
641     -4.72584148771245137732808879600361038781792271619664e-35, /* logil[97] */
642   } ,
643   {
644     1.13274335861206054687500000000000000000000000000000e+00,   /* r[98] */
645     -1.24642441481986290807704165217728586867451667785645e-01, /* logih[98] */
646     -1.12998120773332791412288663337308123303520797473827e-18, /* logim[98] */
647     5.04751909879024305911295754405025108738663901055449e-35, /* logil[98] */
648   } ,
649   {
650     1.12775325775146484375000000000000000000000000000000e+00,   /* r[99] */
651     -1.20227386019965673535914163494453532621264457702637e-01, /* logih[99] */
652     -4.10132123403305460439841682733159064509468253505934e-18, /* logim[99] */
653     1.89802934268459828223199224893946334512039168636632e-34, /* logil[99] */
654   } ,
655   {
656     1.12280702590942382812500000000000000000000000000000e+00,   /* r[100] */
657     -1.15831822975702269928888199501670897006988525390625e-01, /* logih[100] */
658     -4.33848450767153009712329850176816190393287866962401e-18, /* logim[100] */
659     -3.16979691573058896647113947407157157214490081484725e-34, /* logil[100] */
660   } ,
661   {
662     1.11790394783020019531250000000000000000000000000000e+00,   /* r[101] */
663     -1.11455456757806464773707944004854653030633926391602e-01, /* logih[101] */
664     -5.25227837292521929481451677551514755953859335394548e-18, /* logim[101] */
665     -1.35455162271740897316919848287529722248286557667632e-34, /* logil[101] */
666   } ,
667   {
668     1.11304354667663574218750000000000000000000000000000e+00,   /* r[102] */
669     -1.07098197023655139492603893813793547451496124267578e-01, /* logih[102] */
670     3.47169710366632825350486634041554320998659998614468e-18, /* logim[102] */
671     4.16291803858237783591365989446195611338780307382474e-35, /* logil[102] */
672   } ,
673   {
674     1.10822510719299316406250000000000000000000000000000e+00,   /* r[103] */
675     -1.02759733026446364867467764270259067416191101074219e-01, /* logih[103] */
676     5.14131173582414775653668171432178439238499706689565e-18, /* logim[103] */
677     -2.03511710633920722432014459953905354472733979743122e-34, /* logil[103] */
678   } ,
679   {
680     1.10344839096069335937500000000000000000000000000000e+00,   /* r[104] */
681     -9.84401771213754411826712953370588365942239761352539e-02, /* logih[104] */
682     4.43863133643792238822177111529042861410430977956950e-18, /* logim[104] */
683     3.12055863098469149547827014037274497005231280699218e-34, /* logil[104] */
684   } ,
685   {
686     1.09871244430541992187500000000000000000000000000000e+00,   /* r[105] */
687     -9.41389890512167593072945237508974969387054443359375e-02, /* logih[105] */
688     2.37342936135295683496202513568031672884920488134173e-19, /* logim[105] */
689     2.33721773003055253003147894270712826153088420940698e-35, /* logil[105] */
690   } ,
691   {
692     1.09401702880859375000000000000000000000000000000000e+00,   /* r[106] */
693     -8.98562695172144959565585509153606835752725601196289e-02, /* logih[106] */
694     6.27446602451052736319026996501069657057280086335290e-19, /* logim[106] */
695     -3.52284010127094716016693656249620808330731317587528e-35, /* logil[106] */
696   } ,
697   {
698     1.08936166763305664062500000000000000000000000000000e+00,   /* r[107] */
699     -8.55918986704354706196440361054555978626012802124023e-02, /* logih[107] */
700     -5.03513826084130895904008327416965851388338774947593e-18, /* logim[107] */
701     6.86424026896698901114373288904478288437409959196820e-35, /* logil[107] */
702   } ,
703   {
704     1.08474564552307128906250000000000000000000000000000e+00,   /* r[108] */
705     -8.13455314205279167438789045263547450304031372070312e-02, /* logih[108] */
706     1.86223784192593707654359268192644483006930996779864e-18, /* logim[108] */
707     -9.08215611660981343459991418247070342987317386688394e-35, /* logil[108] */
708   } ,
709   {
710     1.08016872406005859375000000000000000000000000000000e+00,   /* r[109] */
711     -7.71172549156562414651716608204878866672515869140625e-02, /* logih[109] */
712     4.37349590112793692636976332290601524356283649435490e-18, /* logim[109] */
713     -2.43638510650083687411626047741666976256819270953612e-34, /* logil[109] */
714   } ,
715   {
716     1.07563018798828125000000000000000000000000000000000e+00,   /* r[110] */
717     -7.29067112034412351251333461732428986579179763793945e-02, /* logih[110] */
718     6.30693084361487082247322771068486204374546343933133e-18, /* logim[110] */
719     3.44825082371128400572272238979928316738696119124015e-34, /* logil[110] */
720   } ,
721   {
722     1.07112979888916015625000000000000000000000000000000e+00,   /* r[111] */
723     -6.87139782297249979148290321973036043345928192138672e-02, /* logih[111] */
724     -4.40922228882126717948257852084234011599535648658716e-18, /* logim[111] */
725     2.00071285755297414487130516445636815235532199087333e-34, /* logil[111] */
726   } ,
727   {
728     1.06666660308837890625000000000000000000000000000000e+00,   /* r[112] */
729     -6.45384615329246263959461771264614071696996688842773e-02, /* logih[112] */
730     6.47055724777502681297997296903095954212491541204973e-18, /* logim[112] */
731     -3.53995576621708408093066388957026321212073337996708e-34, /* logil[112] */
732   } ,
733   {
734     1.06224060058593750000000000000000000000000000000000e+00,   /* r[113] */
735     -6.03804513842609302809449900450999848544597625732422e-02, /* logih[113] */
736     2.15703432342306119511642925211564389619524247753812e-18, /* logim[113] */
737     -3.99051054966201464148223117427430962485432571249835e-35, /* logil[113] */
738   } ,
739   {
740     1.05785131454467773437500000000000000000000000000000e+00,   /* r[114] */
741     -5.62397891033892469159205518280941760167479515075684e-02, /* logih[114] */
742     3.28339677990388790029372693220459728960401288179580e-18, /* logim[114] */
743     1.51915205677141595589208947882243470550543557886170e-35, /* logil[114] */
744   } ,
745   {
746     1.05349802970886230468750000000000000000000000000000e+00,   /* r[115] */
747     -5.21160840267197236763685452842764789238572120666504e-02, /* logih[115] */
748     -2.76876652450490527514912306264172616345243137067863e-19, /* logim[115] */
749     4.97747635693761803951848478678221385327287067714555e-36, /* logil[115] */
750   } ,
751   {
752     1.04918026924133300781250000000000000000000000000000e+00,   /* r[116] */
753     -4.80091633070045681330739739678392652422189712524414e-02, /* logih[116] */
754     -1.43903217358996287866324353045636173989420593009940e-18, /* logim[116] */
755     9.24533961563047616614044310774847027299245259235749e-35, /* logil[116] */
756   } ,
757   {
758     1.04489803314208984375000000000000000000000000000000e+00,   /* r[117] */
759     -4.39193047153486545997047585387917933985590934753418e-02, /* logih[117] */
760     -1.76247347066130256555880115492006953917590179181782e-18, /* logim[117] */
761     2.95067167680037492936848210009098107643918346324819e-35, /* logil[117] */
762   } ,
763   {
764     1.04065036773681640625000000000000000000000000000000e+00,   /* r[118] */
765     -3.98458712942959952796329048396728467196226119995117e-02, /* logih[118] */
766     3.12956491324511750770873688790894657687633404551217e-18, /* logim[118] */
767     9.08530842942513514982993220469010912494881545842223e-35, /* logil[118] */
768   } ,
769   {
770     1.03643727302551269531250000000000000000000000000000e+00,   /* r[119] */
771     -3.57891329972944774451271143789199413731694221496582e-02, /* logih[119] */
772     -2.94786708868720304892365707065135221787713948130908e-19, /* logim[119] */
773     1.84384763058385810856389175018656477977822636794864e-35, /* logil[119] */
774   } ,
775   {
776     1.03225803375244140625000000000000000000000000000000e+00,   /* r[120] */
777     -3.17486685122574663342476242178236134350299835205078e-02, /* logih[120] */
778     -3.03821748520802146852642560679641488082417537178322e-18, /* logim[120] */
779     6.90127669441551609256721347857289051065660383455449e-35, /* logil[120] */
780   } ,
781   {
782     1.02811241149902343750000000000000000000000000000000e+00,   /* r[121] */
783     -2.77245107619511835239656249996187398210167884826660e-02, /* logih[121] */
784     1.56537436220084983093655029081028016172956628311065e-18, /* logim[121] */
785     -4.26959324792631463690822650182944301609062827136870e-35, /* logil[121] */
786   } ,
787   {
788     1.02399992942810058593750000000000000000000000000000e+00,   /* r[122] */
789     -2.37164576994431455791989549197751330211758613586426e-02, /* logih[122] */
790     -1.57190014657555079881764699090245893269914973184857e-19, /* logim[122] */
791     4.62721637019171363059082221740445258999073602747011e-36, /* logil[122] */
792   } ,
793   {
794     1.01992034912109375000000000000000000000000000000000e+00,   /* r[123] */
795     -1.97245351501005340699723689112943247891962528228760e-02, /* logih[123] */
796     1.34458916305708123412045028332259969564528051018263e-18, /* logim[123] */
797     -6.02768376061644464555810636396264987280148524662430e-35, /* logil[123] */
798   } ,
799   {
800     1.01587295532226562500000000000000000000000000000000e+00,   /* r[124] */
801     -1.57482973634926158579272481574662378989160060882568e-02, /* logih[124] */
802     -1.00208727697080412925749596659626020152032796409604e-18, /* logim[124] */
803     7.75790823155383991507800579878754988160969197338737e-35, /* logil[124] */
804   } ,
805   {
806     1.01185774803161621093750000000000000000000000000000e+00,   /* r[125] */
807     -1.17879957989121472716753658005472971126437187194824e-02, /* logih[125] */
808     2.12843993900806841444093729096134188145078357457959e-19, /* logim[125] */
809     -7.36236149534638490756917054603187520349493909791838e-36, /* logil[125] */
810   } ,
811   {
812     1.00787401199340820312500000000000000000000000000000e+00,   /* r[126] */
813     -7.84317373573558719590526067122482345439493656158447e-03, /* logih[126] */
814     -2.76470798179560918828283984091643257584228907545928e-19, /* logim[126] */
815     1.46121103426200283031313413564673422143931331178612e-35, /* logil[126] */
816   } ,
817   {
818     1.00392150878906250000000000000000000000000000000000e+00,   /* r[127] */
819     -3.91383971648977691676352108629544090945273637771606e-03, /* logih[127] */
820     -4.28019276224719221462393891683495367484578724177817e-19, /* logim[127] */
821     -2.25272542183557712010826889962617244762256960750126e-35, /* logil[127] */
822   } };
823 
824