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