From 6f09d28af622068b019c029120ddabeec8b3d57e Mon Sep 17 00:00:00 2001
From: kirill <kirill.okhotnikov@gmail.com>
Date: Fri, 20 Nov 2020 19:24:50 +0100
Subject: [PATCH v1] libm,ieee754:New algorithm of fmod function.
To: libc-alpha@sourceware.org
Cc: adhemerval.zanella@linaro.org,
    joseph@codesourcery.com

I proposed a new algorithm for fmod calculations for double type and
Algorithm description is in the file.
I successfully ran glibc tests on x86_64 processor.
Also I did some extensive tests and benchmark with my own test-suite on
x86_64 (with or w/o FPU), ARM64 and i686 environment of x64_64 machine. See
https://github.com/orex/test_fmod
My tests on x86_64 (Intel, AMD) and ARM64 shows that the new algorithm up to 20 times faster for
"extreme" cases. And up to two times faster for regular cases of using the function.
Also, I did some unit testing which shows that old and a new algorithms gives binary
equivalent result for each of billions different pairs (x, y) with wide range of numbers
including normal, subnormal, and special one (NaN INF, 0).
This is v2 PATCH. I followed suggestions from Adhemerval Zanella and Joseph Myers:
1) Remove special 64 bit version and use the new version like a default for all platforms.
My experiments shows that on i686 processors FPU unit procedure works much faster, than
proposed one. For x86_64 the results are similar. I suggest tests on different platforms to
find an optimal solution.
2) Remove performance information in header.
3) Add benchmark tests for fmod in glibc
4) Lines now 80 chars long maximum.
5) __builtin_clzl -> __builtin_clzll
6) Underflow check code is removed.
---
 benchtests/Makefile                         |    8 +-
 benchtests/fmod-inputs                      | 2003 +++++++++++++++++++
 sysdeps/ieee754/dbl-64/e_fmod.c             |  282 +--
 sysdeps/ieee754/dbl-64/wordsize-64/e_fmod.c |  106 -
 4 files changed, 2163 insertions(+), 236 deletions(-)
 create mode 100644 benchtests/fmod-inputs
 delete mode 100644 sysdeps/ieee754/dbl-64/wordsize-64/e_fmod.c

diff --git a/benchtests/Makefile b/benchtests/Makefile
index 5cd211ee9a..03c4886edd 100644
--- a/benchtests/Makefile
+++ b/benchtests/Makefile
@@ -22,10 +22,10 @@ subdir := benchtests
 
 include ../Makeconfig
 bench-math := acos acosh asin asinh atan atanh cos cosh exp exp2 log log2 \
-	      modf pow rint sin sincos sinh sqrt tan tanh fmin fmax fminf \
-	      fmaxf powf trunc truncf roundeven roundevenf expf exp2f logf \
-	      log2f sincosf sinf cosf isnan isinf isfinite hypot logb logbf \
-	      exp10f
+	      modf fmod pow rint sin sincos sinh sqrt tan tanh fmin fmax \
+	      fminf fmaxf powf trunc truncf roundeven roundevenf expf exp2f \
+	      logf log2f sincosf sinf cosf isnan isinf isfinite hypot logb \
+	      logbf exp10f
 
 ifneq (,$(filter yes,$(float128-fcts) $(float128-alias-fcts)))
 bench-math += expf128 powf128 sinf128
diff --git a/benchtests/fmod-inputs b/benchtests/fmod-inputs
new file mode 100644
index 0000000000..2267de2c93
--- /dev/null
+++ b/benchtests/fmod-inputs
@@ -0,0 +1,2003 @@
+## includes: math.h
+## args: double:double
+## ret: double
+8.86336555784177101e+277,5.60632708662800951e+196
+5.39202224352127534e+68,1.16033422523415046e-215
+-3.77865698135232903e+263,4096.0000001192102
+-2.22044604930201226e-15,-4.00463999343265529e-246
+-3.48449143737182269e+41,5.77666607489577294e-275
+5.20938635331329192e+238,5.98631079571036048e+51
+4.28606712859270165e+301,-1.53409172619333808e-91
+3.15608154099026061e+211,-3.65758755706888823e-99
+1.01307305350888243e+177,1.33778446727701684e-197
+7.4837412519818252e-50,1.4027579833980387e-190
+-7.45988648889860202e+86,-3.05178109556436606e-05
+1649267458048.00024,-3.65758755706888823e-99
+6.5475273909943089e+50,1.54922005962307072e-220
+-4.53804316561498676e+280,-1.60526610715652699e+206
+4.01734515853796205e+60,8.43375848025721316e-81
+1.43965243570631585e+163,1.4398164999160198e+63
+-3.08148794775377638e-32,1.05989398126924724e-168
+-1.88117120998017654e+204,1.82915884473644795e+142
+1.10565867778917929e+166,-6.81351223161856407e-208
+-4.0008086597376158e+241,-8.70250664603031015e-216
+3.85263859984162672e+207,1.33778446727701684e-197
+4.03102679423469277e+164,2.93567822855273167e+107
+1.8249762688042906e+194,2.71389089499229231e+75
+-1.70543738707954244e+289,-6.21011974829500938e+231
+-3.75766813254749654e+109,-4.03942817967678559e-128
+-5.02227559142865009e-42,-3.13214617575436863e-53
+-1.81520618711327246e+280,-1.23947994150576538e+122
+-6.07716344784306334e-64,7.17546581325556808e-143
+2.40018974404848116e+303,7.31511941321033341e-99
+7.31511930437687958e-98,5.77662208884583155e-275
+1.87462104530356907e-242,7.05154061478290547e-278
+-3.05175785797473577e-05,-2.8176814965366881e-131
+-962076868608.000122,2.3690476241964849e-176
+-4.69219807393829769e+255,-3.23117426779466831e-26
+9.65167057613328739e-86,1.96568263720023524e-236
+-7.1068638258566633e+226,2.66454881162753216e-15
+4.69223381663283678e+254,3.17280268210804883e-217
+-1.47283806497468604e+212,-1.93249740208469159e+71
+-6.3382916867673758e+30,-4.8667944098289239e-208
+-1.8768792072080031e+255,5.37989847635438457e-284
+4.0310443337927144e+164,1.34498282812305477e-283
+-1.84091006777444599e-91,-1.30077963496091806e-259
+-6.80564741954840889e+39,-1.61928162016632607e-78
+-1.34800761776101555e+67,4.88339027110774856e-104
+7.23700557735859029e+75,-6.23724592134841109e-112
+-6.463687871672027e+214,1.83862294396335705e-186
+5.34000833052180308e+95,2.39729147548292442e-194
+-1.35552671364589251e+221,7.23033118024830208e+121
+2.92360907358908493e+289,-9.18354961601294396e-40
+4.52875495477498824e+169,1.55065017993770563e-265
+4.328300895591454e+173,2.57140510281146885e-39
+-2.66720577321404291e+242,-1.49011611939018664e-08
+4.31808427767289606e-78,-2.04128155031875424e-201
+-6.84227775979390469e-49,2.1477284093555539e-91
+-3.46223108052370662e+275,-2.36145233932291025e-79
+3.21787393515292894e+155,-2.48154183766510156e-24
+-7.22947573446136243e+222,-2.68996565624610953e-283
+8.86336555784177101e+277,-1.84296511989250534e+65
+-1.43061833387746119e+296,-9.40395480679725462e-37
+5.75865359172031748e+163,3.96966441341086493e-263
+3.20731768397247347e-50,-7.04420374134172025e-132
+1.73882027818276053e+233,-1.18452382386255662e-176
+-9.2537854201742629e+224,-2.95824344090648523e-31
+1.93226876156486602e+171,-1.87289213034324545e-196
+-6.81351217361601704e-208,5.3798984763230692e-283
+4.38889930735470794e+305,-2.6106494622993053e+187
+-8.94074219104368372e-08,-9.87215682707170169e-278
+1.29407744002636926e+69,0.0546875004656612942
+-3.37069177200455781e+307,1.19850914680469089e-93
+-8.94069680512643704e-08,-3.248949946478642e-214
+2.93262376126037109e+254,-7.45988648889860202e+86
+1.59685421617108794e+193,-8.08634922413973535e-174
+4096.00006103515716,2.52698413247931493e-175
+-9.38439603603318747e+255,3.85265819530011833e+207
+-1.047608940831408e+52,-1.10911143554938353e-272
+-7.57363039848685316e+273,4.45104738083570087e-67
+5.01649478263898428e+204,3.30565656615624974e+22
+-5.2094180712579174e+239,-2.76645237263238541e-222
+5.79680628463836122e+171,0.00122071057558059714
+-1.50958496996376457e+170,-2.17091022603803391e-265
+-8.53505860126849749e+242,5.63602974443009123e-232
+-1.76324154374966233e-38,3.82264782695869783e-297
+1.0797448025284954e+163,1.19850916108854538e-93
+3.51883822588813951e-87,9.0651111346418005e-218
+-9.81824685605279491e-90,-1.45822442564051672e-303
+5.0387834498988548e+163,1.84488465577444089e-81
+1.09590467450739102e-192,9.0651111346418005e-218
+-1.72544711792680811e+70,1.05421979434759798e-80
+-2.7664734377653215e-222,-5.00577816834032066e-247
+2.00472329136336449e+251,-7.04566358423737557e+108
+2.71387709150618035e+75,1.05421980689033178e-80
+1.34078897647077969e+155,2.11980410364964064e-168
+-1.76684709110645764e+72,5.77666607489577294e-275
+4.03102679423469277e+164,5.83410649664402671e-62
+-4.90398573078868494e+55,1.05422622877003934e-80
+2.19946784278862704e+253,-3.2489358099072285e-214
+2.32372871861200173e+182,-8.3533416900725126e-153
+4.3282820626344317e+173,1.35399691799090285e+26
+2.03491653819848077e+237,2.57377879480892185e-85
+8.04468475798506919e+154,-5.71497183761838527e-100
+-4.09173832084182962e+149,-1.90757432465146428e-106
+-6.64748366139815323e+276,1.1056530541683886e+166
+4.52875495477498824e+169,7.3151193044194595e-99
+-2.28406958874147261e+287,3.8226477814003099e-297
+-1.21291216259308099e+230,2.71050543122362185e-20
+-7.57366341676909391e+273,3.3444611681925421e-198
+-3.23117426779466831e-26,3.96966446064052642e-263
+1.73882784403154179e+233,3.21787390324865875e+155
+-6.64748359537745813e+276,-5.79629517304982619e-170
+7.92287669771741625e+28,2.76357397057459134e-75
+9.66134380757126407e+171,-7.07617954667768704e+167
+3.37352907962171552e-80,7.05154061478290547e-278
+-1.66700362809219545e+241,3.63462364660688265e+34
+2.19225245600167129e+48,2.49208274274802377e-306
+2.92359420342709037e+289,1.82725567099317808e+288
+-1.93235445929217982e-231,1.80520539389690915e-275
+1.09722481379067143e+304,3.51883819593272551e-87
+-3.14888078660393213e+262,1.69583037003079559e-167
+2.03491651399960953e+236,2.14773775442046502e-91
+-1.94671778709292816e-207,1.16033422523415046e-215
+2.1477284093555539e-91,-4.88789818171317361e-149
+-2.13179673384942806e+288,1.18305218619432e-270
+2.09498277573559326e+153,-1.05879926200354512e-22
+6.42775225366073929e+61,-3.32692474519412941e-211
+2.64147269503933665e+269,3.04860117573930367e+142
+-3.77440898844666326e+68,5.19770494478392117e-112
+-5.41601128370595374e+26,-3.08183910014987082e-133
+-5.5751862997949163e+42,-8.97770588877214566e-189
+-2.22044607572009308e-15,-5.91526093085539315e-272
+2.17578915929733969e+86,-7.33948381317845558e-296
+-3.96222913635452361e+269,3.85665134453396575e+61
+-1.28421286659363031e+207,8.15663058518806846e-55
+-3.96222913635452361e+269,4.3282820626344317e+173
+-5.20938627570254746e+239,-1.93248897713349687e+71
+-4.39397121477981092e+58,1.35400282092648843e+26
+-1.41670994488838156e+22,-1.10796306949721435e-126
+-6.84227775979390469e-49,4.88789825443472728e-150
+3.32306998955900449e+35,1.69583037003079559e-167
+8.43375835482987513e-81,-6.81354187815757703e-208
+-3.56814100983638328e+45,9.12528593158508626e-210
+6.9245043420638836e+275,2.09028504061795437e-198
+-2.66722205248405371e+242,2.36895460862003686e+227
+2.23741439530291447e+249,-1.41060039563488256e-37
+-8.47920347643980395e-167,7.05154053074251322e-278
+-1.45998099764335157e+195,5.19770494478392117e-112
+-4.16750902067120032e+239,-5.14814428691485854e-185
+1.96403436477579269e+151,-1.41060039563488256e-37
+206158432256.000031,-2.845455451513979e-260
+1.1056530541683886e+166,-1.08555084738381816e+76
+1.81541306138920838e+180,-2.43642418802672308e-114
+-5.20938633778811077e+239,-6.01977843015643489e+205
+1.02962884861787462e-184,-2.7998050959823515e-301
+-3.48449148919337922e+41,-1.61029702081232316e-231
+-9.24515429502789693e+269,1.23794005404277575e+28
+8.26319961011860008e+121,-4.70201327652983779e-38
+4.29049858872836008e+156,-4.70197740330625573e-38
+-1.84296510423040091e+65,2.71050543122362185e-20
+2.1131942468122884e+270,2.22508743928026396e-307
+1.53612143619102794e+305,3.8226477814003099e-297
+2.40017930053464387e+303,-3.68551022442449216e+166
+2.03491651399960953e+236,2.19699518548246896e+58
+1.0972248301086618e+304,-6.89535114308259931e+115
+2.92359423246329915e+289,1.66187091534953831e+276
+-9.67341097742803616e+265,2.42833614423018408e+84
+-6.88049584810371474e+105,1.44265290903426956e-129
+-6.5407148694367762e+196,4.19915107897760228e-240
+1.59685422976490115e+193,-5.5751862997949163e+42
+-2.31610571515329231e-23,-2.74602688096569054e-245
+6.61131313231249948e+22,2.23472239662788623e-248
+9.05567907903755793e-71,-1.99343901398315844e-204
+4.29049858872836008e+156,-3.42539446250261139e+46
+-1.50958498792427199e+170,7.08217200067922303e-220
+-3.56442848792952642e+191,-7.25208879985995976e-217
+-5.41601128370595374e+26,5.73971851004149979e-42
+-9.67336187226196232e+265,9.53867115928063169e+234
+-6.41514244541800001e+252,1.0020841800336511e-292
+-7.57363039848685316e+273,-5.73374660832676495e+105
+2.97405196901743772e+285,3.37352907962171552e-80
+7.23029972020897965e+121,3.97460237061060371e-169
+-6.07720972236315614e-64,-1.25803688780815055e-234
+-7.44370922825089568e+37,7.05296610507057165e-38
+8.8643602341712978e+176,1.0020841800336511e-292
+-3.13216207555840356e-53,-5.52714787528055221e-76
+1.14675630719735527e+106,1.19222875522211002e-107
+-1.62642474365095631e+283,1.4997059673185676e-240
+1.91583776050734725e-47,1.62428279524497537e-113
+-0.000244140628637978861,-9.32292605292268234e-156
+-1.16920844610318607e+50,8.22846045577311825e-38
+-1.26922747268591948e+125,-1.8227805320506459e-304
+8.15663058518806846e-55,1.87696244841029333e-147
+-2.17805536579743063e-60,-1.71448110395525209e-100
+8.49820801170144102e+183,-2.6816669025309929e-248
+8.15668036912038e-55,-4.97841222230340245e-59
+9.66134380757126407e+171,3.61041629680985809e-276
+5.33996766937399422e+95,2.03915764625695733e-56
+-2.64699815500886281e-23,-1.41059323499972986e-37
+-7.93267162563689845e+123,-1.30104260698576076e-18
+14.0000001192092913,-4.08304613154245117e-302
+4.15900458249722095e+129,-34359738880.0000076
+-3.79032741896525169e+228,7.23706079130303815e+75
+-1.44456165633565787e+268,-3.91112896749167026e+92
+1.8249762688042906e+194,1.96568260791643252e-236
+-5.61779111341402616e+307,-6.21007246174012652e+231
+-6.5407148694367762e+196,1.62428277591983407e-113
+-1.06227598566445073e+183,1.49012521433178362e-07
+-2.98023223883892072e-07,2.09958469287681998e-240
+-4.77963278618661043e+244,-1.29942623619598029e-112
+-7.94979861467533258e+133,-1.30078955911721944e-259
+1.82725567099317808e+288,-8.97012333860481522e+197
+2.61066274074279445e+187,-6.07716335730395807e-63
+-6.21007236922542785e+231,7.37869762969857065e+19
+-1.48385802074521397e-167,-1.94671776394290104e-208
+2.09287242056588213e-104,7.17549709568459686e-143
+-3.35963420116299418e+102,-4.08302836571836215e-302
+2.09287242056588213e-104,4.19915107897760228e-240
+-2.92604776528413337e-98,3.22057438489229842e-232
+1.0797448025284954e+163,9.00822578158777731e-85
+4.97941873212327258e+181,-1.26217744839035337e-29
+-3.14890481056613981e+262,-3.65797649457233341e-199
+4.31410188333702201e-32,4.90909353844892069e-91
+4.06575818721032058e-20,2.51112684807529243e-42
+1.69054252482517546e+271,2.03491651399960953e+236
+-8.69413922015770895e+232,-4.02571804098608177e-233
+2.61066274074279445e+187,-2.31610573487000041e-23
+8.15663058518806846e-55,-2.17806484281914563e-60
+2.91072742408975873e-111,-1.10078226043148594e-234
+3.21789027013926326e+155,5.45696826484767886e-12
+-8.02633041620434954e+206,-1.67605032222130689e-249
+8.9202981857504905e+44,-3.65799244207665126e-199
+-4.12730102450939676e+268,2.3920474663418823e+199
+1.52287885300740045e+187,8.9202981857504905e+44
+8.06953086904507477e+119,2.41785163929962763e+24
+-6.5407148694367762e+196,-4.8667944098289239e-208
+-1.59143435654837101e+89,2.69911024892084124e-179
+2.91038304574113351e-10,-1.5341010712582492e-91
+-1.4445553585981089e+268,1.87695292038000922e-147
+-6.09085843254771245e+288,1.87696244841029333e-147
+5.19770494478392117e-112,-1.69426634912947119e-121
+4.30030994770112544e+104,-1.07022757382161347e-196
+1.10565867778917929e+166,-5.14814428691485854e-185
+2.03491654426300466e+236,-4.08302836571836215e-302
+-7.57363046284997644e+273,-5.66569437474631057e-219
+4.00000005960464566,0.00122070313955191545
+1.24202394965900188e+232,5.36373443870253785e+54
+-3.32691024102344582e-211,-1.79573485059790427e-289
+5.77662208884583155e-275,6.26302619968913052e-293
+3.56481298893955254e+90,9.73364822854266675e-208
+-7.57363046284997644e+273,-6.07716335730395807e-63
+1.32784498207283428e+183,1879048192.00390625
+8.23775727399149807e+157,1.87462104530356907e-242
+-4.39397125218511901e+58,2.2300745530837627e+43
+-3.5681192743001962e+45,-2.64699815500886281e-23
+-1.5376076377377123e-143,6.26302619968913052e-293
+-4.77963274556776908e+244,9.49753572328625323e+175
+3.56481298893955254e+90,8.0514851040616158e-232
+1.0972248301086618e+304,5.20938627570633779e+238
+-2.41834044408835871e+265,1.10326098331425508e+117
+-7.44367683977805984e+37,-1.99159185649693313e-159
+-4.1094812343207091e+208,3.17968189643450029e-168
+2.03493203912130867e+236,4.52877794422447835e+169
+-8.6646456786050512e+128,1.41643440013584461e-219
+9.53871967528594151e+234,-8.47915185015397796e-168
+-1.45998099764335157e+195,-6.84232986027176636e-49
+-7.15972606496932631e+250,-6.07716342973170491e-63
+3.38813178902952731e-21,-2.84546785666794853e-260
+-1.20646494639840108e-86,-2.48412648163162732e-170
+-2.19444962756856938e+305,1.9656976048774208e-236
+-3.5644067325277138e+191,-9.92416103352716232e-264
+-8.2377571923165664e+157,-1.97237704085780546e-131
+5.39198933355567095e+68,5.56380922604462609e-68
+-5.77180760820725807e+112,8.89208705208733917e-262
+1.69054252482517546e+271,1.01623410192397476e-260
+-3.4622521710319418e+275,-6.93194640345544406e-274
+-2.93934493659982172e+202,2.92302557540700502e+48
+3.5453462231367084e+278,1.36255546513042099e-106
+-4.12730107369864776e+268,-8.94069671648206742e-08
+1.06129166466089401e+229,-5.897077817664123e-236
+-2.13178743999818145e+288,-4.96347605681379339e+278
+-2.22089496763743028e+225,1.1056530541683886e+166
+-2.13178745814581194e+288,-7.15976967911812889e+250
+-8.97765120056036132e-189,-2.79979085556398014e-301
+-6.01974787193656494e+205,2.73153000478533273e+144
+-1.76324152626764291e-38,-1.61028721159540283e-231
+-3.54105902641627502e-219,1.66499793278268444e-256
+-3.65797649457233341e-199,-1.79574267935069612e-289
+-1.8811807594238859e+204,-2.35147594927985738e+203
+-1.70542995202336265e+289,2.71387709150618035e+75
+7.23029965865837472e+121,-2.84570638515149721e+81
+7.23033118024830208e+121,-7.04420374134172025e-132
+-2.30344386281449643e+164,2.91071473442897955e-111
+2.97405196901743772e+285,-1.88916188751302747e-78
+4.15900458249722095e+129,1.03634549771030512e-76
+3.0191699848463717e+169,-7.02982881515281968e-243
+-5.00621966517195739e+94,-3.10130032291405587e-265
+5.99878725575711284e-241,5.3517302255353216e-297
+9.05750990954997648e+169,3.22057438489229842e-232
+9.66140277570603541e+171,-1.55575381951056417e-61
+6.64614005815274306e+36,206159478784.000031
+-7.2520889077134404e-217,3.63433635200821997e-268
+103079739392.000015,9.28273032049433398e-214
+3.15608157228187776e+211,-3.32691026934500199e-211
+1.81542097595828179e+180,-1.8465957510735681e-127
+6.58892398363616313e-83,2.88530585245356861e-128
+1.60861174675557616e-86,-1.31914728767031927e-228
+-4.12730102450939676e+268,-2.70780533633734383e-276
+1.36424206621191971e-12,5.06552550927009762e-226
+-2.54894709579419519e-57,-1.28148479789844969e-244
+-896.000000001862645,4.29068882488654563e-247
+-5.51565232885368705e+217,-1.94673261616410577e-208
+-1.56430569092308192e-248,-3.94886273082868067e-277
+0.00122071057558059714,2.49208274274802377e-306
+3.97460237061060371e-169,2.07012119497035219e-171
+-4.7796535830333829e+244,-2.61066274074279445e+187
+-2.88530581806853911e-129,8.05143596218388017e-232
+-1.21290477406888054e+230,2.92302557540700502e+48
+6.51851512446007068e+91,-1.73119229608939743e-128
+-3.54177489733660652e+21,3.62270024595999503e-171
+1649275830272.00024,6.4133876819203161e-291
+281474980904960.062,2.11758236814191382e-21
+1.12960558348657458e+221,-34359738880.0000076
+-1.88720449422333163e+68,-1.8728839652210347e-196
+0.00122071057558059714,7.34689574457787155e-40
+-3.77865694382390878e+263,-6.84227775979390469e-49
+-3.30567094952755965e+22,-3.65755970660516671e-99
+5.9807637515044484e+97,2.69912201610207188e-179
+-8.35337803662358418e-153,5.06552555949328825e-226
+1.00434394013957347e+59,3.96968864222721167e-263
+3.56482849993648891e+90,5.99883302269720702e-241
+4.95278642044315452e+268,2.42590479127051595e-173
+-1.05879926200354512e-22,-9.72346137168633291e-62
+-5.7717783087624388e+112,6.18970019644491577e+27
+2.03491654426300466e+236,1024.00001525878929
+4.66726150476093385e-61,-8.97765120056036132e-189
+-1.8115019819099953e+170,-1.41671715062029757e+22
+1.8249762688042906e+194,-7.15111175429063031e-247
+2.07012119497035219e-171,4.19915111466332555e-240
+-7.44370922825089568e+37,-1.68156671003685303e-44
+3.3306860145344152e-16,1.49969681393054876e-240
+1.57461982809339212e+162,5.83410649664402671e-62
+-2.4656887038986411e+209,2.04611121256134376e+49
+2.32113757366571751e+26,-1.41670995893464261e+22
+-1.09363370609086527e+99,4.1904175302363577e+52
+1.15684794538533996e+123,3.85185988886415549e-33
+2.35654090395949767e+213,1.67948184022358173e-139
+-6.73297403424522345e+213,-1.31915733230844569e-228
+-3.96220902287849977e+269,1.21169651339529635e-27
+4.18558049691881061e+299,4.03102675991908384e+164
+-2.30344386281449643e+164,-2.22044607572009308e-15
+-2.36145235939128434e-79,3.33413815734930314e-162
+3.01916993994510316e+169,1.36112948390968178e+40
+-4.88789818171317361e-149,-3.32691024102344582e-211
+-6.21007246174012652e+231,-1.07022757382161347e-196
+8.86432158881449405e+176,7.31516395215153315e-98
+-1.68695126006379492e-180,-5.66569445915112531e-219
+1.10428615547315719e+72,5.0758836746497644e-116
+2.11317815603146932e+270,-3.77865698135232903e+263
+2.36895460862003686e+227,-1.68694391993626085e-180
+2.32113757366571751e+26,-1.18694598590684831e-66
+3.02265902002084395e-77,-1.88917010751905315e-78
+3.45126648972928586e-31,-1.55575381951056417e-61
+-1.09026363178279874e+135,-4.86679446773232041e-208
+9.0651111346418005e-218,-3.54105898421386765e-219
+-4.36997661078987359e+246,-1.16920130989194513e+50
+-2.93262380495133607e+253,1.4551915401839202e-10
+-1.0395473214190834e-111,8.89204828585178691e-262
+-3.91518271969296078e-54,6.41333875205204448e-291
+5.9807637515044484e+97,-1.69426634912947119e-121
+2.11758236814191382e-21,-5.68498971568160068e-114
+-2.64699815500886281e-23,-6.07720044934777915e-63
+-3.96220898359436691e+269,1.73869038313894565e-69
+-5.71493695654443717e-100,5.67274211912118616e-124
+3.33066907388354756e-16,-1.84091004952236609e-91
+1.73869922657132945e-69,8.89204828585178691e-262
+3.49595995106711032e+247,-5.73374653999186618e+105
+-1.45998099764335157e+195,-1.68694390560007426e-180
+-1.29942622070939423e-112,-2.84545547569556569e-260
+-1.25955231463424124e+264,-1.41060039563488256e-37
+-4.96345446013336056e+278,2.09288306546040657e-104
+6.61134189905511931e+22,1.24077093115549334e-24
+-4.87265700581345079e+289,2.79340299572794819e-249
+1.29407744002636926e+69,2.41785167525805591e+24
+-6.84232986027176636e-49,6.58892398363616313e-83
+-3.33093239663973134e+286,1.14674930799837324e+106
+-4.32778886355244917e+273,2.004732014193125e+251
+-1.53107552038513879e+100,-7.19908249958009898e+62
+8.26326265308802355e+121,4.61168601844080968e+19
+2.03958026620530816e+185,1879056384.00000024
+-7.93271197313732947e+123,6.61131307603124719e+22
+5.98078977463904607e+97,2.03915767663535615e-56
+-3.71382011792819897e+27,-492581209244672
+-1.42444155978195938e+237,-1.08555635799691693e+76
+-9.81818704763736372e-90,-4.44139825312066712e-116
+-9.18354972527556531e-40,-1.31915733230844569e-228
+3.96966446064052642e-263,3.63433635200821997e-268
+1.12355822603126968e+307,7.92281625165701982e+28
+2.9740338524088125e+285,-7.96550817296912109e-58
+-2.52698417012512027e-175,1.01623408983318142e-260
+-3.91112896749167026e+92,0.0312500004656612942
+-2.18726407470198682e+100,-7.0225502503942761e-97
+7.15972597978544193e+250,-0.00341796877910383089
+1.09722481379067143e+304,-3.80295180069391158e+30
+2.92360907358908493e+289,-3.08148794775377638e-32
+-7.40327382573970352e-178,9.28273032049433398e-214
+8.74900289916387638e+99,2.30826226495557788e-128
+2.57162065725327857e+302,2.2300745530837627e+43
+7.8561774173321857e+151,4.45107002002260339e-67
+1.2747376663783176e+184,549755813890
+-1.07150862315299004e+301,-6.06476191804596513e-174
+-1.21816425142943154e+288,1.0797448025284954e+163
+4.08748095404606843e+295,2.3689546368532823e+227
+2.03958026620530816e+185,-4.20307133788454614e-285
+-6.94029670493814776e+223,-2.80583572790411088e-291
+2.17579864498076716e+86,-1.7632504945436032e-38
+2.18952887660874493e-46,-1.90756600832761706e-106
+-1.09362536239548455e+99,-1.8466098119644623e-127
+-4.14568863876233528e+226,-1.82279441160071545e-304
+1.43966339793007937e+163,3.63435480109474131e-268
+-2.41834044408835871e+265,5.03880541724089301e+163
+-1.7668605447517183e+72,1.02962884861787462e-184
+1.2747376663783176e+184,-8.27180612555435087e-24
+-1.06799353387479884e+96,-6.81351217361601704e-208
+-4.09176947735568141e+149,1.1603430605912839e-215
+-1.72543658670266263e+70,-2.64697796024672635e-23
+-7881333707636737,-3.10130032291405587e-265
+3.85665130623093027e+61,5.19770494478392117e-112
+-5.00621966517195739e+94,6.4133876819203161e-291
+8.33508163224088033e+239,1.25698199343516706e+153
+-3.11850053011727879e+290,-1.99159185649693313e-159
+-6.3324074871511174e+75,-8.80629647567201754e-234
+2.15255522515935848e+260,5.7209329821559973e-247
+-1.28148479789844969e-244,2.79340302901977747e-249
+-1.11045312081532803e+225,5.45696821065080432e-12
+-9.44580935715418518e-79,9.73364822854266675e-208
+-1.88719628276992547e+68,8.89204836154864277e-262
+-1.7668605447517183e+72,-1.5376076377377123e-143
+1.22473017154272077e+201,-6.06476191804596513e-174
+6.58892398363616313e-83,1.19222875522211002e-107
+2.96736495592368404e-66,4.90909353844892069e-91
+1.18718593886453452e+175,9.05755588844895671e+169
+8.27180612555435087e-24,1.73869038316846407e-69
+-1.72544711792680811e+70,-0.000244142487645149285
+-2.37391004779810787e-66,1.9656976048774208e-236
+1.27473118278497427e+184,2.76357397057459134e-75
+-3.90703970684134674e+238,1.91583776050734725e-47
+2.93262376126037109e+254,-1.36560935588558997e+245
+-3.77867616305782663e+263,-1.04404873043730235e-53
+-1.81520618711327246e+280,5.39198941377703137e+67
+-1.05879119984509376e-22,-5.22571260154488593e-199
+3.45128150666961761e-31,5.72088942048208333e-247
+5.79680634211198495e+171,-2.83284718737109412e-218
+1.43965241429572256e+163,-1.19606340601353057e-204
+-1.73119229608939743e-128,1.01624029241016619e-260
+2.03491653819848077e+237,4.88793547330302458e-150
+3.49595995106711032e+247,-1.53107550735129122e+100
+2.27137104726983764e+133,4.90913091870856518e-91
+-1.11883955816536163e+148,3.63435480109474131e-268
+2.4001792801022284e+303,-9.17406445598348114e+105
+2.09957555733166278e-240,-9.19420251827556414e-287
+-6.3324074871511174e+75,-1.28292707358898939e-49
+-1.28292706084736542e-49,-8.36108923010561738e-198
+-4.32782181747156664e+273,3.97460237061060371e-169
+1.6853458860022789e+307,-2.48412650626100834e-170
+1.82914955937174508e+142,-1.05433994996016303e-181
+-5.51565232885368705e+217,7.95717190112768742e+87
+-4.7796535830333829e+244,2.98335450131975901e-153
+-8.69410131702856065e+232,8.06958012152933627e+119
+5.98631079571036048e+51,3.33413812423570257e-162
+2.98335450131975901e-153,1.70497089092612186e-254
+-2.01117120947058058e+154,4.90909346544060107e-91
+-2.30344386281449643e+164,5.29946990634623622e-169
+1.22473017154272077e+201,-1.47911421198307674e-31
+8.27185661262821236e-24,-8.47915182488413626e-167
+2.73408426522716318e+98,5.77666607489577294e-275
+-1.3598682245608373e+85,-1.61559945984427661e-27
+2.57379843110787622e-85,-1.42124744099861348e-114
+-3.77865698135232903e+263,4.54294350136842663e-269
+5.63066626050744448e+255,1.27473118278497427e+184
+-1.61928162016632607e-78,-5.68498971568160068e-114
+-1.97238562294453288e-131,1.83487095329461389e-296
+-7.01379002134050542e-192,9.06518016086940548e-218
+-3.37067462793224252e+307,-1.8369272564952568e-140
+9.53871967528594151e+234,2.00682003799421196e+105
+-1.31777476254018956e-82,1.96568260791643252e-236
+-6.84227775979390469e-49,1.05990205182482032e-168
+4.06575818721032058e-20,-3.32692474519412941e-211
+-4.70197747335407429e-38,2.57140510281146885e-39
+4.36103238909660596e+135,8.54400029180463601e+97
+-234881024.000488281,-4.88789823986765532e-149
+1.15912693590768908e-68,-3.2489358099072285e-214
+-4.12730107369864776e+268,-1.94671779289459929e-208
+-7.22947582047510469e+222,5.67277091582573748e-124
+7.95717190112768742e+87,-4.16249489388580211e-258
+9.73358893546464082e-208,-1.30078955911721944e-259
+-3.91110911341559171e+92,-9.19416251319619053e-287
+-1.09025808644605456e+135,-8.35238981860635732e-52
+-3.51114083420010511e+306,1.03634022663144116e-76
+2.07283528254080861e+226,-3.71382011792819897e+27
+-7.94979854711541257e+133,-1.05434453753987183e-181
+-1.68694390560007426e-180,9.50553035236379772e-212
+4.0310443337927144e+164,5.37993131249221906e-283
+-1.81520618711327246e+280,4.36105452713119496e+135
+1.34357522151830565e-138,-1.8227805320506459e-304
+-1.02737813148446398e+208,-4.89944166523244413e+101
+2.09496998905962796e+153,9.0651111346418005e-218
+2.9326416605667856e+254,1.96403436477579269e+151
+4096.00006103515716,-2.85779416071266697e-201
+-1.03183155388591939e+268,-5.1922968585499392e+34
+-4.77963274556776908e+244,-3.36311634778912034e-44
+3.15936875006437808e+65,-8.70250655974752565e-216
+1.42903034745034996e+140,8.12147584088071691e-115
+-9.72542721117826676e+178,2.26391976977256733e-72
+3.59579602645655855e+208,5.98631079571036048e+51
+-7.57366341676909391e+273,-1.51462064174412044e-28
+-4.14568863876233528e+226,7.17464813751011247e-42
+-3.4028237199154094e+38,-7.40327389914097886e-178
+-1.86264517698653306e-09,-7.15115531596454428e-247
+-2.35147594927985738e+203,-5.44455110143491101e+40
+3.5688405804159245e+285,9.92616744924394672e-24
+5.63063767753888522e+255,3.61041629680985809e-276
+4.28087763490662807e-196,-3.248949946478642e-214
+180145084606447648,1.73869040040706614e-69
+-3.75769680117083387e+109,-2.17805534725592744e-60
+-3.21454217148261815e+301,1.96568263720023524e-236
+2.15255522515935848e+260,-7.96550817296912109e-58
+4.06575818721032058e-20,-4.97844260810570068e-59
+-0.000244140625007105482,-3.23119398930789545e-26
+-6.94029670493814776e+223,8.43375835482987513e-81
+2.66453525915207488e-15,-4.03944575579040334e-128
+-2.8457208591074379e+81,7.59650056168472394e-64
+2.9103830803678404e-10,1.09016194777856273e-206
+1.4663208302833928e+254,-3.05178109556436606e-05
+-7.57363046284997644e+273,5.20938627570633779e+238
+5.39198933355567095e+68,-1.10078705945900219e-234
+1.03505901812009326e-170,-1.56430569092308192e-248
+1.67946902689788206e-139,-1.68694390560007426e-180
+-1.47283805243660638e+212,-5.01645651025911787e+204
+6.79179385379425566e-72,-1.10795743413697544e-126
+-8.97016887390082313e+197,2.57140510281146885e-39
+3.85665130623093027e+61,9.0651111346418005e-218
+-4.36994993874485953e+246,2.189528850558506e-46
+-1.48059665244582332e+225,1.45367744859544454e+136
+1.45519152284092035e-10,2.57379843110787622e-85
+2.19225247777442618e+48,3.06818346153057543e-92
+-1.88916188751302747e-78,1.33778446727701684e-197
+2.03491651399960953e+236,5.82682876571137347e-156
+-4.02571798101285379e-233,1.4997059673185676e-240
+1.38322616574477382e-222,-3.94886269721252377e-277
+-1.29246972637340547e-26,2.64729117051479873e-123
+7.92287669771741625e+28,2.09288306546040657e-104
+1.34078897647077969e+155,3.97460241001761334e-169
+-4.32778885065463327e+274,1.1705575814645284e-197
+-3.21452585349224739e+301,2.09496998905962796e+153
+7.19831698965039686e+162,-6.3382916867673758e+30
+7.92281636948559759e+28,-1.10078705945900219e-234
+-1.18571100792489457e+81,134217730.00000003
+6.92446216104741324e+275,-9.60962154109375944e+258
+2.07283530018658701e+226,-1.94671779289459929e-208
+0.0546875004656612942,5.56380922604462609e-68
+9.89321620634459078e+173,1.10427941551220141e+72
+7.85613753699445541e+151,2.7138771184595454e+75
+7.95807864052966569e-13,-1.18694596825451978e-66
+5.36375777705680898e+54,-5.5751862997949163e+42
+103079216128.000015,-9.81818693062402779e-90
+1.29407744002636926e+69,-1.71448108695667804e-100
+-4.16750908265063354e+239,1.07262464718209002e+156
+1.69054249964027895e+271,-7.15972597978544193e+250
+9.2052378277287899e+210,-1.47911421198307674e-31
+-896.000007629394645,-2.48412650626100834e-170
+549755813890,4.00000000011641621
+1.25698199343516706e+153,-5.71497183761838527e-100
+3.85665130623093027e+61,2.2300745530837627e+43
+1.65111575912149582e+168,-1.26217746716152878e-29
+9.82017192124306926e+150,7.23706079130303815e+75
+-2.22089494558020728e+225,9.65171957118720863e-86
+5.52143920234911968e+70,7.45919073881680511e-255
+-1.87289213034324545e-196,-2.74602688096569054e-245
+1.53611475234217208e+305,-1.49011614158922645e-08
+-5.77177825153696063e+112,9.5054579731181606e-212
+1.4398164999160198e+63,-9.27407227687972191e-169
+-1.44455537087440041e+268,134217728.000488281
+1.36434397321331964e+290,1.54922005962307072e-220
+1.0972248301086618e+304,-3.46223108052370662e+275
+-7.94979854711541257e+133,-2.18726407470198682e+100
+-1.29247956787542129e-26,6.54022637922383151e-106
+-3.30565656615624974e+22,-2.88530581806853911e-129
+2.91038308904145791e-11,5.2256807843897532e-200
+1.5443826336942409e+218,1024.00781250000023
+-1.21817354528067814e+288,-1.45822442564051672e-303
+-9.21384574675250798e+164,1.15684794538533996e+123
+4.3282820626344317e+173,8.26319973300937869e+121
+5.63063767753888522e+255,1.24077091885361582e-24
+-7.42764030949925904e+27,8.27180622413789137e-24
+1.59686117789966798e+193,2.91071473442897955e-111
+-2.52698413247931493e-175,1.41643440013584461e-219
+-7.94983320535437788e+133,6.58892398363616313e-83
+2.03958026620530816e+185,4.14998847827403963e+80
+-6.9403320050958002e+223,4.1904175302363577e+52
+-34360000512.0000076,-7.97381679580817724e-205
+-3.9022095049463087e+144,4.90909346544060107e-91
+-4.89436526902618409e+247,-8.27180622413789137e-24
+-1.04417225457794802e-153,2.6015593009253754e-258
+-1.08533143358516944e-164,9.55661945375109768e-299
+-4.96345441795234409e+278,1.29408402204146019e+69
+9.5054579731181606e-212,-2.80583570405922543e-291
+2.39230548027120545e+98,-1.87288398116465343e-196
+-3.56440677500838007e+191,-7.02251460180071255e-97
+-3.84387207733809722e+259,-7.01379002134050542e-192
+7.61358465800423839e+286,4.88789818161714956e-150
+-2.465688728345217e+209,3145728.03125000047
+6.51851512446007068e+91,5.5809931880261068e-103
+2.38418582654276232e-07,-8.36108913062833964e-198
+2.71387709150618035e+75,3.17278887686252783e-217
+2.07283528254080861e+226,7.19826207147861281e+162
+-1.36560935588558997e+245,2.0349165139463076e+237
+2.38418579102429862e-07,2.18954221433107752e-46
+4.06575818721032058e-20,-7.01378991685240575e-192
+-5.02225369615058487e-42,3.06818341590037567e-92
+2.11758236814191382e-21,-1.8227805320506459e-304
+1.91761463492657272e-92,5.3517302255353216e-297
+1.27473118278497427e+184,-4.68167635470923017e-97
+2.004732014193125e+251,2.96736495592368404e-66
+-4.90398573078868494e+55,-7.40327382573970352e-178
+-4.69222665690685695e+255,5.92306153079519613e+125
+1.10427942865052686e+72,7.08211796843288822e-220
+-3.14890481056613981e+262,4.41711766195881633e+72
+9.49748741659024855e+175,-3.08185253585083262e-133
+-1.07150862315299004e+301,7.72913401419740624e+171
+-3.77865694382390878e+263,-7.94979854711541257e+133
+4.06575818721032058e-20,-1.29942622070939423e-112
+9.05573435030546658e-71,-1.54587570470706124e-230
+-1.07021942464302146e-196,-4.20307133788454614e-285
+-3.36311634778912034e-44,-1.18452382386255662e-176
+2.36904764772511324e-176,5.63602974443009123e-232
+8.43375835482987513e-81,-4.03944575579040334e-128
+1.52287885300740045e+187,1.27473119542355778e+184
+1.98929294568546376e+88,0.00122071057558059714
+-3.84387207733809722e+259,4.75368975086738947e+29
+1.23794003928898315e+28,-3.08183910014987082e-133
+2.15256460955091993e+260,1.91761463492657272e-92
+-2.18499163940215333e+245,2.77277856138217762e-273
+7.34689574457787155e-40,9.5054579731181606e-212
+1.0130653395296861e+177,-1.25698200591911287e+153
+-2.19444962756856938e+305,-2.86422926890332576e+150
+-6.18330721135792499e+172,1.79386646855874047e-143
+180145084606447648,4.93554600772902134e-177
+-8.34376301644031731e+93,-5.9152610189781315e-272
+5.98631079571036048e+51,-1.10911143554938353e-272
+-7.22947573446136243e+222,-3.23119398930789545e-26
+-7.06738825927808903e+73,-8.9002954340547088e-307
+2.3689690675646113e+227,-6.38032683162296298e+37
+4.28087763490662807e-196,-5.562684646284193e-308
+4.30030994770112544e+104,-6.33237993408562357e+75
+-1.68710125395077406e+161,-1.93234463088382655e-231
+-4.48973307448202483e+51,-7.97375596090706238e-205
+-1.66700362809219545e+241,-3.94886269721252377e-277
+0.00122071057558059714,9.55669236469315901e-299
+8.4338226990542888e-81,-3.78182809819866747e-124
+-1.41671715062029757e+22,-1.30104261990730258e-18
+-2.81769866071014293e-131,1.343575241534249e-138
+1.54922005962307072e-220,-4.99501920408399965e-257
+2.64751308634032281e+218,3.17968192801409067e-168
+-1.78220339281557004e+190,-4.09176947735568141e+149
+6.42775217718562001e+61,-1.41060039563488256e-37
+9.53867115928063169e+234,1.69583037003079559e-167
+1.45367744859544454e+136,-4.44141757826196095e-116
+1.82914955937174508e+142,4.30033177748863255e+104
+-1.25698838677314971e+153,-1.67605032222130689e-249
+1.73869040040706614e-69,3.17280268210804883e-217
+2.004732014193125e+251,7.23700557735859029e+75
+-1.68709268971345881e+161,3.33415508253106433e-162
+8.26319973300937869e+121,2.76357393763826534e-75
+-1.88720449422333163e+68,-1.2829335861487221e-49
+4.25882065025220425e+132,-896.003906250000114
+-3.99168061916237889e+293,1.23794759507175309e+28
+2.26391980344171201e-72,8.12147584088071691e-115
+4.90913091870856518e-91,2.68994923810868984e-284
+-3.14888078660393213e+262,5.75865359172031748e+163
+1.06129166466089401e+229,8.16512610417676558e-202
+-1.29247956787542129e-26,8.15668036912038e-55
+-4.87268674603816996e+289,-3.84430344943305436e+158
+-1.82329314538321796e+239,-1.41060039563488256e-37
+2.93567822855273167e+107,1.87695290173870933e-147
+2.66453528557015569e-15,2.42590476717720054e-173
+-8.94972575499122005e+248,1.1896662871665777e-117
+-1.21291216259308099e+230,-1.72012397908045018e+105
+-3.42541188495149057e+46,2.30826226495557788e-128
+-1.88117119129698194e+204,1.43965241429572256e+163
+4.29049853768152779e+156,-8.47920347643980395e-167
+3.37352907962171552e-80,-1.08533804498429491e-164
+6.61134189905511931e+22,-7.02251453217455325e-97
+-1.99343901398315844e-204,6.26302619968913052e-293
+-7.42767801464414571e+27,-2.17805534725592744e-60
+-9.2537854201742629e+224,-7.34832496612859101e+201
+-1.29942622070939423e-112,4.54292039496855982e-269
+-2.41835274435700904e+265,-1.26922746008035559e+125
+2.40018974404848116e+303,-1.31777476254018956e-82
+3.07507892973620278e+260,-1.11044747280895613e+225
+3.5453462231367084e+278,-6.2372775836599069e-112
+-6.64751740621132952e+276,2.00472329136336449e+251
+-896.000007629394645,4.00000000011641621
+-1.7668605447517183e+72,-2.6899492701655981e-283
+-3.6855101805755971e+166,2.2250738585136772e-307
+-3.11850048365934474e+290,3.30565653806372765e+22
+4.01734515853796205e+60,1.41642361478778133e-219
+-9.24519460054821034e+269,-3.65758755706888823e-99
+-1.62260514769252685e+32,-1.84467443485874627e+19
+-1.21816425142943154e+288,9.1950200132477291e+54
+7.23029972020897965e+121,6.51851522140380153e+91
+4.4026608752357061e-134,2.15464722149596589e-188
+-5.63063767753888522e+255,1.32784499787106368e+183
+-2.93264613539552299e+253,5.01645651013136842e+204
+6.11110798971186205e+90,-9.05573435030546658e-71
+4.88339027110774856e-104,-1.28147922200418871e-244
+-8.6646456786050512e+128,4.88789818174162514e-150
+8.06953096521789497e+119,5.29951025912410161e-169
+-1.86264514928516755e-09,-2.17091024451871161e-265
+-8.97012333860481522e+197,1649267458048.00024
+-2.11319102235836292e+271,3.96633585214349838e+123
+-1.21816425142943154e+288,1.51946398893108472e-164
+-2.22090624163065606e+225,-2.8457208591074379e+81
+-5.66569437474631057e-219,-3.01928848580723859e-233
+9.89321605896017267e+173,1.7049578831793931e-254
+134217728.00390628,2.71050547160344003e-20
+-7.15972597978544193e+250,1.49011611938910243e-07
+-7.07621553785074743e+167,-7.34688453419015662e-39
+2.57163373718609452e+302,0.0312500000009095016
+-1.11883955816536163e+148,1.0350527006627743e-170
+1.34799734942691267e+68,-1.69425897717310605e-121
+5.73976230045146215e-42,2.60157514857002544e-258
+-4.16754081612044017e+239,1.10325617350133892e+117
+-2.43643655611715113e-114,-2.7784484368644332e-162
+1.59685422976490115e+193,-1.0476043736562138e+52
+1.36113777535872775e+40,-7.42764030949925904e+27
+-5.61779111341402616e+307,-5.52719004405221871e-76
+-1.7668605447517183e+72,-1.00974812165871733e-27
+2.03956989245595883e+185,4.01734515853796205e+60
+2.86985928914861416e-41,-1.28147921111377023e-244
+14.0000000002328324,-3.36311634778912034e-44
+-2.22045960177746954e-15,-9.32299704228024402e-156
+2.35654090395949767e+213,-1.19606947762472043e-204
+3.24585810850162574e+273,-1.94671778709292816e-207
+-1.48059665244582332e+225,-1.05434453753987183e-181
+1.96403436477579269e+151,1.26898060013761202e-116
+-1.70543738707954244e+289,-3.248949946478642e-214
+-3.75766818843175255e+109,-7.34683969266067904e-39
+-2.35146398916114912e+203,1.2689709186624411e-116
+2.9200914981072276e-208,3.43994459313219629e-236
+3.85665130623093027e+61,-2.7998050959823515e-301
+-8.50711109599204845e+38,-2.7784484368644332e-162
+-1.44456165633565787e+268,-3.91110907457169897e+92
+3.33066907388354756e-16,4.66726150476093385e-61
+-5.28297755589590729e+270,-6.41511453236276636e+252
+-9.253729050208134e+224,5.99878734497142101e-241
+-1.73118350803258855e-128,-1.68694390560007426e-180
+6.11110792901827965e+90,103079216128.000015
+-1.43062457087545464e+296,-3.33091787504563018e+286
+1.84488464009602363e-81,-9.32299704228024402e-156
+5.39198933355567095e+68,3145728.00000762939
+9.73364822854266675e-208,-4.49909044169780459e-241
+2.39730192683935417e-194,4.29066700150889146e-247
+2.57139391431904276e-39,5.67274211912118616e-124
+8.23775727399149807e+157,-1.61558713393965231e-27
+4.14998847827403963e+80,-5.68498971568160068e-114
+-2.93262376133718726e+253,2.68996976078291095e-284
+-1.0076418666989657e+264,-3.08183912634032104e-133
+6.07153221761761389e-18,-3.94887991287943903e-277
+-7.93267162563689845e+123,-1.05433994996016303e-181
+5.60632703104293138e+196,9.92616744924394672e-24
+2.39203289504715977e+199,1.1896662871665777e-117
+9.43598141384962734e+67,4.54294350136842663e-269
+1.15912692211680742e-68,1.34358547217886539e-138
+-3.21454217148261815e+301,-3.91112896749167026e+92
+8.23775719217671085e+157,0.0312502384185791085
+-2.81768146301291182e-131,1.09590468756840348e-192
+1.43966339793007937e+163,-1.09362536239548455e+99
+-6.19685322245929234e-220,-1.5458757200602076e-230
+4.15900458249722095e+129,-1.88719626673193053e+68
+-1.49166814624546801e-154,1.34498282812305477e-283
+5.56383752502825424e-68,2.25206626357919353e-85
+5.19770494478392117e-112,5.67277091582573748e-124
+2.96736492055857328e-66,-1.03954098895678423e-111
+3.07507889308735487e+260,-4.89434393146139553e+247
+2.73408426522716318e+98,2.14772839107222016e-91
+-3.30223151824299164e+168,-3.26265227289310833e-54
+8.23779909155651395e+157,-1.81114687006109332e-70
+1.18718593886453452e+175,1.1896662871665777e-117
+5.52139715970768012e+70,-4.16249489388580211e-258
+4.69223381663283678e+254,-2.76071538868289297e+71
+3.21787393515292894e+155,-1.26922747268591948e+125
+2.71389089499229231e+75,4.29066704404958864e-247
+1.14675630719735527e+106,2.18952887660874493e-46
+4.328300895591454e+173,-1.61559945984427661e-27
+-5.71493695654443717e-100,-1.97237702406721521e-131
+2.19698560738990546e+58,-9.18354972527556531e-40
+1.36434396159883613e+290,1.86078021222820862e-265
+-4.09646681036418946e-97,-2.43642418802672308e-114
+-3.92398171584615777e+297,1.25698200591911287e+153
+1.03187101846301402e-135,2.54060073102541547e-261
+-1.10792238527272106e+276,-9.81818704763736372e-90
+-1.36560935588558997e+245,1.18072616964427315e-79
+-2.68156158606656373e+154,-1.73119229608939743e-128
+1.36434397321331964e+290,-4.86682411427133337e-208
+-1.90756600832761706e-106,-6.93198166102360021e-274
+-8.50711109599204845e+38,-9.32292591403417504e-156
+-1.43061834605612986e+296,5.52143920234911968e+70
+-1.11883955816536163e+148,6.58887381270094778e-83
+-1.3598682245608373e+85,-3.13214617575436863e-53
+1.62429268971731781e-113,-3.78182804185879559e-124
+3.59581170287567801e+208,549755813904.000122
+-1.45998101504343248e+195,5.3799395215658219e-284
+-7881299348029441,-1.08533804498429491e-164
+1.92632909765005916e+207,4.88336902289018758e-104
+-1.42124742889971812e-114,-1.01624029241016619e-260
+2.86985928914861416e-41,1.91762633907281151e-92
+-6.28368757594696343e-89,7.45919080220738371e-255
+-3.05175781251110223e-05,4.88793547330302458e-150
+2.00472327432658761e+251,2.14773775442046502e-91
+-3.75766813254749654e+109,-2.68994923810673264e-283
+-2.64697799961273441e-23,7.32273843639360544e-244
+1879056384.00000024,1.99592882677117021e-110
+-5.71493695654443717e-100,-8.80625815841842251e-234
+1.42903034745034996e+140,-7.02982881515281968e-243
+-9.13438536943109204e+46,-8.80625815841842251e-234
+2.57140510281146885e-39,-3.65755970660516671e-99
+-2.04824233476683142e-97,2.39729147548292442e-194
+3.62270024595999503e-171,1.00208419493670451e-292
+1.57461982809339212e+162,-1.05879926200354512e-22
+-7.93267162563689845e+123,180143985095344128
+7.31511930437687958e-98,-2.17091024451871161e-265
+-1.32088685993482413e+169,2.3690476241964849e-176
+1.59685421617108794e+193,9.05573435030546658e-71
+-57344.0004882812573,-2.48412648163162732e-170
+2.09496998905962796e+153,1.03634023690644869e-76
+-1.28422266435557998e+207,-8.2377571923165664e+157
+-4.09648466953366284e-97,5.99878734497142101e-241
+6.42775225366073929e+61,2.2250738585136772e-307
+3.15608154099026061e+211,9.28273032049433398e-214
+-1.8429731388899723e+65,1.0350527006627743e-170
+2.1131942468122884e+270,-2.2883557613730017e-245
+-6.21011974829500938e+231,-3.68594627777994459e+65
+-4.59655741468690499e-186,1.55065017993770563e-265
+1.10565867778917929e+166,-9.44580943756513734e-79
+-1.39709430749556117e+293,-2.86687327007102702e+104
+-7.93267170428699675e+123,-2.41562175260586449e+70
+4.3282820626344317e+173,3.61041629680985809e-276
+2.07283530018658701e+226,-1.88916188751302747e-78
+9.19497324537374047e+54,2.14772839107222016e-91
+-3.65799244207665126e-199,3.17278887686252783e-217
+2.07283530018658701e+226,-9.26336724941323883e+78
+-2.19444962756856938e+305,-8.97770588877214566e-189
+-1.41671715062029757e+22,1.18072617969564217e-79
+-5.73374660832676495e+105,-8.08634922413973535e-174
+-4.12730102450939676e+268,1.49969683177341039e-240
+-1.42124742889971812e-114,1.01624029241016619e-260
+1.0544329206165205e+160,1.2689709186624411e-116
+2.19946784278862704e+253,-7.04562781831352392e+108
+-7.19908249958009898e+62,5.82682869626711982e-156
+-2.13179673384942806e+288,5.06552550927009762e-226
+1.23794003928898315e+28,3.43994456389845179e-236
+-2.17805536579743063e-60,8.05143596218388017e-232
+-6.41511453236276636e+252,-1.40754141473699596e-86
+8.89208705208733917e-262,5.37989855636454331e-284
+-2.69630194510100458e-33,4.93554600772902134e-177
+4.23124040467999967e+24,1.66499793278268444e-256
+1.45520040462088244e-10,3.22059895583116624e-232
+8.89204836154864277e-262,1.80520539389690915e-275
+2.5303275383070894e+222,4.25882065025220425e+132
+-6.94029670493814776e+223,1.83488026770299388e-296
+-2.17579864498076716e+86,-5.22568076881601086e-199
+-57344.2500000000073,-7.33952107081197551e-296
+-1.99343899022531518e-204,-1.82278050494214967e-304
+5.24896173219204994e-241,-5.91526093085539315e-272
+4.33680868995779495e-19,-7.96545955584772311e-58
+3.45126648972928586e-31,-8.08641091785293824e-174
+-1.88117120998017654e+204,-1.55576568892496797e-61
+-9.40590379711942951e+203,6.79883324980275441e-218
+3.24584163154206701e+273,2.26391976977256733e-72
+5.03878349279336596e+163,-2.17578915932900186e+86
+2.32372873835978847e+182,-1.29247956787542129e-26
+4.3282820626344317e+173,-6.79937076556489736e+84
+-4.72236653916464139e+22,5.56383752502825424e-68
+2.23741439530291447e+249,7.3227383491210725e-244
+3.24584163154206701e+273,-2.95824344090648523e-31
+-2.22044607572009308e-15,-5.96116976453582588e-108
+3.17968189643450029e-168,5.63600517349122341e-232
+-3.46984238525052119e-118,4.22127132054502168e-227
+-9.60962154109375944e+258,-4.70197740330625573e-38
+-3.23117430630386382e-26,3.06818346153057543e-92
+1.93228350354935156e+171,4.9835975349578961e-205
+8.33501816530126708e+239,-4.59658541505133858e-186
+-1.31235043487299002e+100,-1.99160052218999485e-159
+-2.30344389713010536e+164,6.64613997907932305e+36
+-1.55593790796093348e-161,1.87462104530356907e-242
+0.00061035528779029857,-3.65797652571221373e-199
+2.39203286658759977e+199,-1.28292706084736542e-49
+-1.09025809727415149e+135,-1.59144406985577867e+89
+-9.40590379711942951e+203,7.31517511413777647e-99
+-896.000000001862645,-2.04823340521190071e-97
+2.73406340605833723e+98,1.23794005773212462e+27
+-2.4656887038986411e+209,-7.97375607969627869e-205
+1.54438936664251062e+218,2.33363072920358794e-61
+-3.79032737379205898e+228,9.82017182387896347e+150
+3.56482849993648891e+90,0.0546875004656612942
+-3.46225745397725331e+274,6.07153221761761389e-18
+4096.00006103515716,4.94680225506259596e-229
+1.57461982809339212e+162,-1.68709268971345881e+161
+-2.13178743999818145e+288,-1.18337974976357081e+272
+-8.69410131702856065e+232,2.53031652854807985e+222
+4.19041749462485521e+52,-7.34683978022045225e-39
+-6.54071492511703509e+196,7.45919073881680511e-255
+8.27180612555435087e-24,1.62429268971731781e-113
+1.2420144923480253e+232,-2.5270034118290432e-175
+-2.56268200310855076e-143,-6.19685322245929234e-220
+8.15832106482123265e+185,-1.71619941508260079e+156
+-8.53512359141466146e+242,1.84488464009602363e-81
+1.81541307684358474e+180,-9.13438536943109204e+46
+-9.51690821447939608e+286,1.44265293052622508e-129
+-4.39397121477981092e+58,1.5194706132430991e-164
+-3.40284963069367806e+38,-2.38446790581433035e-107
+-1.68710125395077406e+161,1.25698838677314971e+153
+2.97405196901743772e+285,1.0544329206165205e+160
+1.1056530541683886e+166,3.56482849993648891e+90
+1.10427942865052686e+72,-3.32691024102344582e-211
+4.75368979807952579e+29,-1.4075352903552558e-86
+9.89321605896017267e+173,5.37993131249221906e-283
+6.5185648565939979e+91,1.16033420794804441e-215
+2.39230548027120545e+98,-8.47915172382944703e-167
+-4.96345441795234409e+278,7.02303917395918867e+205
+2.097391006906465e-94,-1.68695126006379492e-180
+2.53031650700782301e+222,3.21787393515292894e+155
+-3.21454217148261815e+301,-1.61928162016632607e-78
+6.18970019644491577e+27,-1.05879926200354512e-22
+-7.06738825927808903e+73,5.67274211912118616e-124
+7.2608248566213967e+280,1.34078897647077969e+155
+1.52288549222914503e+187,3.96633581281844922e+123
+1.6759887779248871e+153,549755822080.000122
+-3.28060108262003122e-242,-1.79573485059790427e-289
+-4.16754081612044017e+239,1.96568260791643252e-236
+-2.92029480053928144e+94,-2.92607004565511059e-98
+4.69219808792213771e+254,3.30567094952755965e+22
+-1.00974197071995744e-27,6.26306435150585494e-293
+1.2689709186624411e-116,2.88532342856718636e-128
+1.18718592709393638e+175,-1.26923391570197272e+125
+-1.07150862315299004e+301,-2.22044604930201226e-15
+1.10428615547315719e+72,4.61168607340297011e+19
+-3.84384866217025347e+259,8.12147584088071691e-115
+1.34799733338891774e+68,-2.85779413638463547e-201
+-6.64751740621132952e+276,-1.71619944060601693e+156
+1.49012521433178362e-07,2.11978793101288678e-168
+-0.000244142487645149285,-1.99345115720553815e-204
+1.24077722971678346e-24,1.9656976048774208e-236
+5.03878349279336596e+163,-1.31778479672723263e-82
+-6.41514244541800001e+252,-1.76904490420897978e+167
+2.03915764625695733e-56,1.0020841800336511e-292
+4.45104738083570087e-67,-3.93136526268408894e-235
+-8.72030185629079188e-105,-2.81768146301291182e-131
+4.38889930735470794e+305,-3.5644067325277138e+191
+-1.25698838677314971e+153,1.05421979434759798e-80
+-1.18694596825451978e-66,-3.248949946478642e-214
+1.43965243570631585e+163,2.32114937957629553e+26
+1879056384.00000024,1.05421980689033178e-80
+2.19946782098155264e+253,-1.97237704085780546e-131
+-4.10951252593785592e+208,-57344.0004882812573
+-1.3939554341103556e-58,-8.80625808345188754e-234
+-5.44455110143491101e+40,1.55065962587000456e-265
+1.06129167369553255e+229,-7.3483623414995543e+201
+-1.7632504945436032e-38,-5.56271859820065989e-308
+2.64147269503933665e+269,-2.68166687594305716e-248
+-4.87773210998230728e+143,8.74900289916387638e+99
+4.01734515853796205e+60,-7.08211807393890664e-220
+-3.77865698135232903e+263,1649267458048.00024
+9.66140277570603541e+171,2.93567827221230668e+107
+-2.41835274435700904e+265,-3.84428668968113312e+158
+-5.22568070653625022e-199,5.6360052213877904e-232
+-9.38439614787659539e+255,-4.87776188118288588e+143
+-3.35961714664150425e+102,7.08211807393890664e-220
+7.8561774173321857e+151,-1.61928160408413564e-78
+-9.21384574675250798e+164,1.6759759912489218e+153
+8.06113490956767141e+265,9.05567918677882091e-71
+1.24202394965900188e+232,2.91038304568395827e-11
+-4.00462253467225652e-246,-1.45822442564051672e-303
+-4.88789823986765532e-149,5.77666607489577294e-275
+1.66187089887257875e+276,2.6015593009253754e-258
+4.31408311216160732e-32,-7.04424665177535734e-132
+-3.2489358099072285e-214,-1.25804646712154931e-234
+1.59685421617108794e+193,-1.88720449422333163e+68
+2.64751308634032281e+218,4.45107002002260339e-67
+1.0972248301086618e+304,1.6759887779248871e+153
+-8.66459279415276372e+128,2.40991986515899487e-180
+8.74900302950235213e+99,-962072682496.000122
+549755813890,-8.94069680512643704e-08
+6.54022631437941757e-106,-1.62096817903785224e-224
+7.26088014412330473e+280,1.45367744859544454e+136
+6.54752733525605637e+50,1.78407050491819164e+45
+7.57363039848685316e+273,-2.33842046032560401e+49
+-3.36313342007370606e-44,-1.46637691282054166e-149
+-3.99168061916237889e+293,-5.19229692043183052e+34
+-1.88916188751302747e-78,-4.02571804098608177e-233
+-7.57363039848685316e+273,-1.72012397908045018e+105
+-3.30221712172571348e+168,2.73406340605833723e+98
+2.11317812460416303e+270,5.01649478263898428e+204
+3.64997477163983506e+194,7.37869773943498506e+19
+4.45107002002260339e-67,1.40275800008755646e-190
+2.53581374945734334e+271,6.51851512446007068e+91
+206158430208.5,9.68153887818645123e-121
+-1.76904488666942176e+167,-6.61055976670649956e+123
+-5.4159876718847977e+26,-4.44141757826196095e-116
+-1.83288985083574204e+252,6.5888737145430472e-83
+-3.4028237199154094e+38,-2.22045960177746954e-15
+-4.1094812343207091e+208,-4.39397125218511901e+58
+-7.34683978022045225e-39,5.72088933540068897e-247
+-2.31610571515329231e-23,-1.78426295566125517e-56
+-4.68171207304817694e-97,2.91071475916516041e-111
+-6.8056473385772268e+39,-234881026.00000003
+1.1056530541683886e+166,-4.68167642445461339e-97
+-1.23947995379484324e+122,-5.96114382677024851e-108
+7.19831698965039686e+162,-1.42124742889971812e-114
+0.0546875004656612942,-1.01643954680258014e-20
+9.20527795936173571e+210,5.9807637515044484e+97
+3.01919297429586181e+169,1.83862294396335705e-186
+2.03491651399960953e+236,-7.01384342779732606e-192
+-3.11850048365934474e+290,-8.34369948339686596e+93
+5.38699308053328071e+113,-1.84467440741390516e+20
+-6.79934118068609723e+84,-2.54896650473466753e-57
+2.97713141478412309e+139,-4.59229812041673625e-141
+9.19497324537374047e+54,3.17968192801409067e-168
+-7.34832503898506463e+201,-1.69426634912947119e-121
+1.45367746592039963e+136,-1.0476043736562138e+52
+-1.94672964570853335e-207,-1.36270244632371281e-207
+-2.98023227429666857e-07,-8.90034975712105582e-307
+1.43965241429572256e+163,-4.97844260810570068e-59
+1.66187089887257875e+276,0.0234375002328306471
+-9.38439614787659539e+255,-3.54177486222095391e+21
+4.1904175302363577e+52,4.88336898131869966e-104
+7.34683969285311973e-40,-6.81354187815757703e-208
+2.52698417012512027e-175,-7.40327389914097886e-178
+6.12360422957049176e+200,-5.22568070653625022e-199
+-1.4805966304263053e+225,4.85724690855874184e-17
+-224.000976562500028,-0.000244140628637978861
+7.48374118827370535e-50,-1.8227805320506459e-304
+1.67948184022358173e-139,-1.79574267935069612e-289
+5.0387834498988548e+163,3.04858256873894205e+142
+-6.463687871672027e+214,-3.4028237199154094e+38
+-2.17579864498076716e+86,-8.80625815841842251e-234
+7.34683969285311973e-40,-1.49166816846762917e-154
+-2.9393299864514364e+202,6.11110792901827965e+90
+-4.12730107369864776e+268,-3.26265227289310833e-54
+549760008192.000122,201326594.00000003
+5.99878725575711284e-241,7.32273843639360544e-244
+-3.21452582162117245e+301,1.91584609658380512e-47
+9.43598133352233987e+67,9.19497324537374047e+54
+9.66140277570603541e+171,5.63650219876656312e+109
+1.42592519557582102e+91,-4.90402314521276111e+55
+9.1252396088678785e-210,-1.61028719240396988e-231
+-2.17579864498076716e+86,-2.94874416672573121e+66
+-2.22089496763743028e+225,5.19773660709541698e-112
+2.88530581806643978e-128,5.06552555949328825e-226
+-2.64697796024672635e-23,-1.87289213034324545e-196
+-4.87773216801583667e+143,-4.02571804098608177e-233
+6.61131307603124719e+22,-5.71497183761838527e-100
+-1.41524310757014949e+168,1.05421979434759798e-80
+8.04468483788232234e+154,-8590000128.00000191
+-6.61055976670649956e+123,-5.77180760820725807e+112
+3.33415508253106433e-162,3.17278884989915768e-217
+0.0312502384185791085,-3.10130032291405587e-265
+-5.96114382677024851e-108,-1.8465957510735681e-127
+2.35655115759660434e+213,9.49753572328625323e+175
+6.11110798971186205e+90,-6.79934118068609723e+84
+-6.07084028822748893e+82,1.34498282812305477e-283
+8.22849632899670032e-38,-4.84129158004632214e-222
+1.45367746592039963e+136,2.26391980344171201e-72
+1.10565867778917929e+166,-1.30104922442750594e-18
+-2.11317812454881114e+271,-2.80583570405922543e-291
+-6.09082125726681349e+288,1.45367744859544454e+136
+-1.10791394906942699e+276,-1.49167952676483904e-154
+-4.09646684523688107e-97,1.70495790853562454e-254
+1.49012521433178362e-07,-1.05663592290612636e-132
+-1.53107550735129122e+100,1.44890867420269569e-70
+-1.86265936008567265e-09,-5.22571260154488593e-199
+7.57366341676909391e+273,-0.00341796877910383089
+4.95276127859812471e+268,3.38815763841134439e-21
+0.000610351569775957723,-1.30078955911721944e-259
+1.09722481379067143e+304,6.92446207852154435e+275
+-1.21291216259308099e+230,-6.27084874284909423e-199
+-1.66700362809219545e+241,-2.88530586105245016e-129
+-3.5644067325277138e+191,2.40991989383136805e-180
+1.69055539744983072e+271,1.82498738581991753e+194
+4.2312403686599982e+24,2.40991986515899487e-180
+1024.00001525878929,-8.36114016247181749e-198
+2.15255522515935848e+260,-2.7664734377653215e-222
+-1.18571100792489457e+81,-3.56814100983638328e+45
+-1.51461293802801609e-28,1.01624029241016619e-260
+-2.49480038697648681e+292,-7.01384342779732606e-192
+-896.000000001862645,-2.98023223883892072e-07
+-1.21290475963816921e+230,-1.30078955911721944e-259
+-4.32778886355244917e+273,-7.40327382573970352e-178
+-9.24515429502789693e+269,-3.91110911341559171e+92
+-492583356727296.062,-8.08641091785293824e-174
+-9.72542711458841451e+178,1.05443828371923379e+160
+5.63063767753888522e+255,-3.98734973783442497e-305
+-9.05573435030546658e-71,-7.97375607969627869e-205
+-7.34683978022045225e-39,8.15668036912038e-55
+2.04610230968572153e+49,4.90909346544060107e-91
+9.43602247111665816e+67,4.06575818721032058e-20
+-3.05175781251110223e-05,2.66453528557015569e-15
+-3.46223109084195933e+274,1.35399692949759989e+26
+1.4551915401839202e-10,-2.79979088332308028e-301
+-7.57363039848685316e+273,-3.07510235406849591e+259
+1.81541307684358474e+180,549755822080.000122
+-3.07507893890065217e+259,1.34799734942691267e+68
+5.47444601000592185e-148,-1.36270244632371281e-207
+-1.03182526842466194e+268,180143987242303520
+-4.89946298338430654e+101,-1.18452381211835256e-176
+-2.18497496937401954e+245,-1.84467442936118804e+20
+-4.87265700581345079e+289,-1.41523590931151041e+168
+-2.03076395629747117e+126,-3.52579716485337704e-279
+2.86985928914861416e-41,1.62428277591983407e-113
+2.9740338169642217e+285,-5.57522883492852214e+42
+-2.13178745814581194e+288,-6.79883331721117981e-218
+1.82724639528956197e+288,1.21169035042241287e-27
+-9.34387852412489587e+195,-1.55593790796093348e-161
+2.92359423246329915e+289,-1.0395473214190834e-111
+1.10325618289321589e+117,4.57249055259581408e-200
+-1.42444155978195938e+237,1.17055247826314669e-197
+6.11110798971186205e+90,0.00061035528779029857
+7.02303911417296593e+205,-2.68156158606656373e+154
+1.93226876156486602e+171,9.5054579731181606e-212
+-1.51462064174412044e-28,3.37350334193195005e-80
+-1.84468566637002392e+20,2.51112684807529243e-42
+-1.43061833387746119e+296,-1.71448108695667804e-100
+7.9572324909594701e+87,3.15938481943715866e+65
+1.59685422976490115e+193,2.30824465451361322e-128
+-3.91520259444800445e-54,-1.73119229608939743e-128
+2.19699518548246896e+58,-2.70780533633734383e-276
+-5.44455110143491101e+40,-1.8891618714583282e-78
+-6.3382916867673758e+30,-1.04404873043730235e-53
+2.11758236814191382e-21,3.6103887518347361e-276
+549755813904.000122,2.1477284093555539e-91
+1.69055539744983072e+271,512.000000014901275
+1.23794003928988387e+27,3.43995956080938185e-236
+7.61358465800423839e+286,4.31408307543637662e-32
+201327616.00000003,5.35170689395598371e-297
+-1.3598682245608373e+85,2.23007451991796652e+43
+-4.44139821537625053e-116,-9.77695310896644358e-250
+-1.08555083660247214e+76,-2.74602688096569054e-245
+2.3565408839328627e+213,8.74906964872692217e+99
+2.91040525013386351e-11,-1.01623408983318142e-260
+1.87696244841029333e-147,-2.67554852180106869e-196
+-4.87773210998230728e+143,-1.93234463088382655e-231
+-1.2595600023021477e+264,5.82682869626711982e-156
+3.32307003897989199e+35,1.87695290173870933e-147
+4.18560604357731951e+299,-9.77691056826926198e-250
+-1.84468566637002392e+20,4.67212263333831617e-207
+-0.00341796875000710543,-6.19685327512212468e-220
+-2.11319102235836292e+271,4.29066704404958864e-247
+4.5287549097968333e+169,2.42833611533870088e+84
+-1.62643183429674382e+283,7.2370055775428884e+75
+2.19946782098155264e+253,-1.28421286659363031e+207
+-3.51111940403817946e+306,1.18305220026985598e-270
+5.36373439304176138e+54,201326592.00390628
+2.64147269503933665e+269,-1.56431249743463097e-248
+5.34000833052180308e+95,8.89204828585178691e-262
+-6.01974781225254176e+205,1.29407745287873526e+69
+3.21787393515292894e+155,2.92300327467243966e+48
+-1.18337975982030882e+272,-4.12732621554367757e+268
+-3.84428668968113312e+158,3.22059895583116624e-232
+-1.09362537868779402e+99,-7.40331148059395334e-178
+2.97713141478412309e+139,-2.8578065953723838e-201
+-1.34800761776101555e+67,3145744.00000000047
+-1.34799733339676417e+67,9.28267377420867998e-214
+-1.99159183957175136e-159,9.28273032049433398e-214
+6.42779140892180841e+61,-9.72346137168633291e-62
+-4.53801546777987931e+280,2.49209358614651561e-306
+4.290524724706495e+156,5.35170693951437164e-297
+-1.26922746008035559e+125,-2.48413911650409127e-170
+-9.34394967302490823e+195,0.0234375002328306471
+1.12355822603126968e+307,-6.463687871672027e+214
+1.35400282092648843e+26,-2.69630192214773539e-33
+9.05567907903755793e-71,8.89204828585178691e-262
+-2.19444962756856938e+305,2.53581377464223985e+271
+3.56885873240855095e+285,3.63460780098193513e+34
+-1.66701378280253357e+241,1.23794948401834629e+27
+7.85613753699445541e+151,1.09590467450739102e-192
+-9.27407227687972191e-169,5.77662200278846987e-275
+4.15900458249722095e+129,4.27200666441744247e+96
+-1.32088684870950699e+169,-3.42541188495149057e+46
+-1.86264517698653306e-09,-4.97841222230340245e-59
+-2.93262376133718726e+253,-3.77439253340893595e+68
+2.97713141478412309e+139,2.76359080514693194e-75
+1.53611475234217208e+305,3.56481298893955254e+90
+2.03491651399960953e+236,-5.41598771799039957e+26
+5.3399675899576899e+95,-1.53409170791000434e-91
+1.22472084591409835e+201,-1.67604179746441073e-249
+-2.4156112419455046e+70,-8.5070591732215335e+38
+-2.94874419182800854e+66,-4.44139821537625053e-116
+4.97941868266926823e+181,-1.67604179746441073e-249
+1879056384.00000024,2.64729117051479873e-123
+4.38892604275013138e+305,-1.29942622070939423e-112
+-4.59655741468690499e-186,-6.7988678303249823e-218
+-1.67604181408187056e-249,-4.4072464560667213e-280
+-1.78426294049802043e-56,1.09016670050521233e-206
+4.28603449261196014e+301,-1.08533804498429491e-164
+-7.11282799855926007e-161,3.82264782695869783e-297
+7.85613753699445541e+151,1.44266391559723617e-129
+2.64752655223686226e+218,1.03505901812009326e-170
+6.54752733525605637e+50,-34359738369.0000076
+-0.00341796875000710543,1.18305218619432e-270
+-7881333707636737,-1.29942623619598029e-112
+-8.94965760788371602e+248,8.49827272124903923e+183
+-3.3631163143877176e-44,1.99591869483149155e-110
+1.09723318491973162e+304,-6.28363972921461848e-89
+-4.84131268632209599e-222,2.60155926991994324e-258
+2.03493203912130867e+236,-6.89535108438336823e+115
+-7.15972597978544193e+250,-1.53759983237530356e-143
+-34359738369.0000076,-1.41059323499972986e-37
+2.19699518548246896e+58,-8.42594350683428777e-35
+-4.02236283767407908e+154,3.45126648972928586e-31
+-2.11319102235836292e+271,-1.79573486585863096e-289
+0.00061035528779029857,5.45699596621318586e-12
+-4.16754081612044017e+239,2.73154189005215241e+144
+-9.05567907903755793e-71,-1.20645882201666092e-86
+-2.53267876923468295e+177,1.96568263720023524e-236
+3.20731765211841354e-50,-9.19416243506126988e-287
+-6.09082125726681349e+288,-8.53505860126849749e+242
+-7.07617961683591912e+167,3.51883819593272551e-87
+-1.76684706482980674e+72,-0.00341796875000710543
+-7.57363039848685316e+273,-5.14816668720640541e-185
+4.88336898131869966e-104,2.88530585245356861e-128
+-7.42764030949925904e+27,6.72487319545567914e-285
+1.82725567099317808e+288,9.89329153817267999e+173
+1.78405961592398854e+45,-1.97238562294453288e-131
+5.98631079571036048e+51,1.03186577012480744e-135
+1.60861174675557616e-86,2.01746194861586179e-284
+7.59650056168472394e-64,-2.48412650626100834e-170
+-3.51111944588376635e+306,5.6360052213877904e-232
+-6.88053084398181208e+105,-3.2489358099072285e-214
+-1.3970882166772082e+293,-1.05663055910192172e-132
+6.12360413849989974e+200,-3.30221712172571348e+168
+-1.81113583735576418e-70,1.96568260791643252e-236
+4.38892604275013138e+305,4.75368975086738947e+29
+2.09027228265708491e-198,5.25380718394974933e-287
+3.0229409304462613e+264,1.81541306138920838e+180
+8.26319961011860008e+121,4.33680868995779495e-19
+-7.04562781831352392e+108,-1.88917010751905315e-78
+4.27197407196615192e+96,3.33413812423570257e-162
+3.37350334193195005e-80,2.39730192683935417e-194
+-7881299348029441,7.95807864052966569e-13
+-2.41562175260586449e+70,1649275830272.00024
+-2.22089496763743028e+225,6.5185648565939979e+91
+-1.36576499078596048e+144,4.35125332301515508e-216
+4.01734515853796205e+60,-3.48451802183032634e+41
+-8.93139433286984901e+138,5.38701652008913613e+113
+-6.64748366139815323e+276,1.60862401944242264e-86
+-4.59655735990504819e-186,1.86078965816050755e-265
+-4.53801546777987931e+280,-6.38029444315012715e+37
+-1.76684706482980674e+72,1.73869038313894565e-69
+-6.18326012896536924e+172,7.23033118024830208e+121
+-1.02737030858017727e+208,8.89208705208733917e-262
+-8.97012333860481522e+197,4.27197407196615192e+96
+-1.42444776983063903e+237,-5.00579999179081912e-247
+4.00000000011641621,-3.05175781251110223e-05
+8.33501816530126708e+239,2.33364259865761069e-61
+-3.24893578224945881e-214,-2.70779159069673715e-276
+-4.77963274556776908e+244,-9.77695310896644358e-250
+-5.51565226311803996e+217,-2.98025042866356724e-07
+-3.91110907457169897e+92,-4.48975586584361772e+51
+-1.4445553585981089e+268,7.59645419662994759e-64
+-1.26922746008035559e+125,9.68147990253553012e-121
+-1.83290383462220187e+252,-1.62259276829803659e+32
+8.74906964872692217e+99,7.34683980211574108e-40
+0.00122070312500355271,4.86173068597051302e-63
+-3.54177489733660652e+21,-2.69630194510100458e-33
+-4.14568863876233528e+226,-9.21377558852042144e+164
+-9.60962154109375944e+258,5.7586097428252634e+163
+-1.83288987809458504e+252,-1.30078955911721944e-259
+5.34000833052180308e+95,3.02265899428933926e-77
+-1.08555083660247214e+76,-1.05663592290612636e-132
+9.66134380757126407e+171,8.0514851040616158e-232
+1.54438936664251062e+218,549755813890
+1.69054249964027895e+271,9.68147990253553012e-121
+-3.91520259444800445e-54,-1.20645882201666092e-86
+-1.66700362809219545e+241,-3.30221712172571348e+168
+-8.93143967156468727e+138,-7.01379002134050542e-192
+-8.72030175236207209e-105,6.26302612517386348e-293
+-1.36270243472320341e-207,1.8051943973844238e-275
+-9.38439603603318747e+255,-1.02737030858017727e+208
+3.56884061579992572e+285,3.45128150666961761e-31
+1.10565867778917929e+166,-3.32692474519412941e-211
+-2.4656887038986411e+209,4.14998847827403963e+80
+-7.3483623414995543e+201,-1.29942623619598029e-112
+8.0514851040616158e-232,-5.562684646284193e-308
+-2.66720580494751271e+242,-8.47915185015397796e-168
+5.52139707759314606e+70,-5.52714795762136722e-76
+-1.7668605447517183e+72,2.76359080514693194e-75
+4.88336902289018758e-104,1.40276654512064776e-190
+9.53867125385374145e+234,-4.68167642445461339e-97
+4.75368979807952579e+29,-1.18695502389905393e-66
+6.31873756288444949e+65,-5.44451787075086105e+40
+1879056384.00000024,1.4997059673185676e-240
+4.97941873212327258e+181,1.86078965816050755e-265
+1.4027579833980387e-190,-7.15111166906354736e-247
+1.21169035042241287e-27,-6.79883331721117981e-218
+-2.93934493659982172e+202,4.53255549979375059e-217
+-7.15972597978544193e+250,-7.01384342779732606e-192
+8.23775719217671085e+157,-8.42594350683428777e-35
+-8.94965760788371602e+248,-4.59229812041673625e-141
+2.3689690675646113e+227,-3.54177489733660652e+21
+-8.94965760788371602e+248,2.33363075238046693e-61
+-5.08219773401290072e-21,2.57379843110787622e-85
+-2.41834044408835871e+265,-1.29247956787542129e-26
+-1.50959418370406803e+170,2.15464722149596589e-188
+-2.18725072478937766e+100,1.7840596371500981e+45
+-1.78221696339128651e+190,-6.80568887679363876e+39
+-1.10792238527272106e+276,2.15256460955091993e+260
+-7.10689997321809941e+226,-7.25214412869552438e-217
+1.53755117703424796e+259,-5.562684646284193e-308
+-4.03944575579040334e-128,-8.36114016247181749e-198
+7.92281625165701982e+28,1.26349206623965747e-175
+-57344.0004882812573,6.26302619968913052e-293
+-1.61558713393965231e-27,-5.52714787528055221e-76
+5.73971851004149979e-42,3.5188535368424899e-87
+1.7049578831793931e-254,-1.30078955911721944e-259
+-6.33825307669901186e+30,2.57139391431904276e-39
+-2.46008188325479673e+260,-1.32088684870950699e+169
+-8.69413922015770895e+232,-1.5458757200602076e-230
+9.43598141384962734e+67,-7881299348029441
+1.21169036245653646e-27,-3.52579716485337704e-279
+3.21789027013926326e+155,-1.8728839652210347e-196
+-1.09363203735099341e+100,-3.52577031789906711e-279
+5.79680628463836122e+171,-2.2883557613730017e-245
+-5.63063762161718127e+255,4.22130346338702621e-227
+-3.46223108052370662e+275,-1.18337975982030882e+272
+2.7138771184595454e+75,14.0000001192092913
+-3.9916806666539814e+293,8.04468475798506919e+154
+3.56884061579992572e+285,2.27137101343203473e+133
+1.68533731393750864e+307,-9.05567907903755793e-71
+9.82017182387896347e+150,-4.70197747335407429e-38
+1.10565306513061236e+166,-9.81818704763736372e-90
+1.81541307684358474e+180,-1.28148479789844969e-244
+-9.12488123527758656e+192,4.57247061828195554e-200
+1.23794005773212462e+27,549755822080.000122
+7.3151193044194595e-99,3.63435480109474131e-268
+6.5185648565939979e+91,9.50553035236379772e-212
+-4.53801546777987931e+280,4096.00006103515716
+-1.76904488666942176e+167,1.21169036245653646e-27
+-6.64748359537745813e+276,1.54921330561482308e-220
+-7.93271197313732947e+123,8.54394824553544066e+97
+-9.05567918677882091e-71,-5.562684646284193e-308
+6.0715586356984273e-18,-2.48154186231098668e-24
+1.73882784403154179e+233,4.31808434189169314e-78
+-8.47915172400219159e-167,-5.91530606069327149e-272
+-1.11044747280895613e+225,1.30805191591275411e-105
+1.06129167369553255e+229,8.16512622560898938e-202
+7.31516395215153315e-98,-2.6899492701655981e-283
+4.4026608752357061e-134,-1.54588356743374386e-230
+-6.89538114571409424e+115,2.93567827221230668e+107
+3.07507892973620278e+260,7.85613745910317078e+151
+-234882048.00000003,4096.00006103515716
+-1.72544711792680811e+70,-1.39396149940425321e-58
+6.03274466278033975e+215,2.91072742408975873e-111
+-1.83691926380415024e-140,-8.36108913062833964e-198
+-4.0917382599892635e+149,-1.01643954680258014e-20
+-1.70543738707954244e+289,4.45104738083570087e-67
+3.54532458420303071e+278,3.37350334193195005e-80
+-1.29942623619598029e-112,-1.07021940872665702e-196
+-8.66459279415276372e+128,1.54922005962307072e-220
+-2.11317814973370765e+271,-2.70779156384978284e-276
+5.83407688095116732e-62,2.92007667483772112e-208
+-4.68167635470923017e-97,4.28091029528645389e-196
+3.15608157228187776e+211,3.85665134453396575e+61
+1.46631189810571803e+254,5.67274206278131427e-124
+-4.10948117320426936e+208,-6.33825300115959375e+30
+-1.35553359474527348e+221,1.67597601621681341e+153
+6.64618054374378785e+36,-6.10987272701699143e-150
+2.57377879480892185e-85,1.79387427392114921e-143
+7.26082474863799454e+280,4.35125332301515508e-216
+5.52139707745253776e+70,-1.8429731388899723e+65
+8.06113490956767141e+265,3.22057443278886541e-232
+1.03634022663144116e-76,1.05989398126924724e-168
+1.98929294568546376e+88,2.19699518548246896e+58
+-9.12495085256338694e+192,-4.88792801496229316e-149
+8.54394824553544066e+97,5.37989855636454331e-284
+-1.31777476254018956e-82,-4.59658541505133858e-186
+1.2420144738767148e+232,-1.47283805243660638e+212
+7.15976967911812889e+250,-3.9022095049463087e+144
+4.28091029528645389e-196,-1.93235445929217982e-231
+2.91038308904145791e-11,4.29066704404958864e-247
+-2.67554852180106869e-196,4.94680225506259596e-229
+8.22846052582093682e-38,-2.81769866071014293e-131
+4.328300895591454e+173,-1.55575381951056417e-61
+2.57162068279379791e+302,1.03634023690644869e-76
+-7.34683969266067904e-39,9.12528593158508626e-210
+1.10565306513061236e+166,-2.31610571515329231e-23
+5.36375777705680898e+54,7.17464813751011247e-42
+7.61352657162783376e+286,3.33413812423570257e-162
+5.58099312151172614e-103,-7.04420374134172025e-132
+1.12355820929303492e+307,-3.14888083343426782e+262
+-3.79032741896525169e+228,-9.19311482937380999e-186
+3.15608157228187776e+211,5.45696826484767886e-12
+1.92631929992081336e+207,-1.97237704085780546e-131
+1.73869922657132945e-69,-2.68996565624610953e-283
+4.14998847827403963e+80,-1.76324154374966233e-38
+-6.41511453236276636e+252,-1.05879118409869054e-22
+-3.37069177200455781e+307,-5.08219773401290072e-21
+-5.08222353291994507e-21,-1.18452381211835256e-176
+-3.84384861643750378e+259,-3.46984235571220244e-118
+1.65110857491853016e+168,1.99591867504254686e-110
+-6.88053084398181208e+105,-4.88789825443472728e-150
+-6.73297395413868355e+213,3145728.03125000047
+-9.26342367809137019e+78,-1.73118349083902413e-128
+4.08748095404606843e+295,-1.05434453753987183e-181
+1.49657769446744101e+52,-1.41671715062029757e+22
+-8.08634934440038486e-174,-1.36270244632371281e-207
+2.3690476241964849e-176,1.83487095329461389e-296
+5.01649478263898428e+204,3.85188339866148884e-33
+1.12356678135780518e+307,0.0546875004656612942
+-3.9070397455784925e+238,-3.30221714983706032e+168
+-3.84384861643750378e+259,-1.72543660726644822e+70
+-1.35986823613721945e+85,4.29066704404958864e-247
+-4.87268674603816996e+289,3.33413815734930314e-162
+4.328300895591454e+173,5.83410649664402671e-62
+4.89400324306000556e-55,9.05567907903755793e-71
+-1.36576500239266636e+144,2.14773775442046502e-91
+-1.0076418516875976e+264,1.00209182530004939e-292
+-4.69222665690685695e+255,-1.26922746008035559e+125
+-3.40284963069367806e+38,-6.93194647218364709e-274
+-5.73374660832676495e+105,7.23706079130303815e+75
+2.53582664726689511e+271,-3.33400721653696026e+240
+-1.84697843462632258e+114,1.91583774419806857e-47
+-2.35146401247522068e+203,-1.55593790796093348e-161
+3.85185993469222047e-33,-1.99343899022531518e-204
+1.0797448025284954e+163,-5.00577821095386213e-247
+-9.40585595648490968e+203,-2.86687327007102702e+104
+1.69054249964027895e+271,-9.17399446422728646e+105
+-1.61928160408413564e-78,1.1922287653540497e-107
+-4.84129158004632214e-222,-4.40721283171727743e-280
+1.14675630719735527e+106,-2.70780533633734383e-276
+-7.02986457069411636e-243,4.54292039496855982e-269
+-8.23779909155651395e+157,-5.08222353291994507e-21
+2.92359420342709037e+289,2.09027228265708491e-198
+1.65111575912149582e+168,-6.8804959163218007e+105
+4.95276127859812471e+268,-2.92604776528413337e-98
+-5.0010108743404704e+240,2.23472242321582197e-248
+-1.7668605447517183e+72,-9.81818704763736372e-90
+1.10325618289321589e+117,-1.28148479789844969e-244
+-2.46008188325479673e+260,2.54060073102541547e-261
+4.95276127859812471e+268,-1.51461293802801609e-28
+1.44890865265444309e-70,-4.68167635470923017e-97
+2.91038304568395827e-11,-7.33952107081197551e-296
+-7.57363046284997644e+273,-1.78220336626515363e+190
+5.47444596348233648e-148,1.0350527006627743e-170
+7.17546587423496189e-143,-1.08533142065016922e-164
+-1.39708822857043931e+293,8.15663058518806846e-55
+-6.09085843254771245e+288,2.5303275383070894e+222
+-3.9070397455784925e+238,-4.59229815951037561e-141
+-3.46225745397725331e+274,2.09027230752640434e-198
+1.03186577012480744e-135,-2.80583570405922543e-291
+1.92632909765005916e+207,5.35170689395598371e-297
+1.15684794538533996e+123,-3.75766818843175255e+109
+1.05443293107091175e+160,-896.000007629394645
+-1.07150860719016545e+301,1.32784499787106368e+183
+1.36424899155329647e-12,1.87462104530356907e-242
+-3.56440677500838007e+191,4.90909346544060107e-91
+1.45367746592039963e+136,2.73406340605833723e+98
+4.4841892972277048e-44,-5.52719004405221871e-76
+-2.93934493659982172e+202,-6.04466599156129437e+24
+3.56885873240855095e+285,7.59650056168472394e-64
+-3.21454217148261815e+301,-5.44451793563872711e+40
+1.19223395290716518e-107,6.41333875205204448e-291
+-3.4622521710319418e+275,3.96968864222721167e-263
+-1.24330810584585425e+87,-3.93136526268408894e-235
+-1.0076418516875976e+264,9.82022177166523212e+150
+2.97714958568291374e+139,0.00122070313955191545
+2.53031652854807985e+222,-2.22045960177746954e-15
+-1.72543658670266263e+70,-3.08150671892919107e-32
+3.20731768397247347e-50,-3.08183912634032104e-133
+-8.35238971923258211e-52,3.17969806912523682e-168
+-6.33237993408562357e+75,2.1969856260925595e+58
+-1.83290383462220187e+252,-8.9002954340547088e-307
+3.21787390324865875e+155,2.15464722149596589e-188
+-2.18725072478937766e+100,-1.8465957510735681e-127
+2.00472327432658761e+251,-2.86421680629778505e+150
+-7881299415007233,206158430208.5
+-2.70488450861870453e+273,-1.18571099381772504e+81
+1.69055539744983072e+271,4.93551594256664176e-177
+1.44890865265444309e-70,1.67948184022358173e-139
+-4.97844260810570068e-59,-1.22197455996691383e-149
+-8589934592.25000191,-4.59231814123814199e-141
+-6.8056473385772268e+39,3.62270024595999503e-171
+-1.39709430749556117e+293,-5.897077817664123e-236
+-2.61066274074279445e+187,-2.76071538868289297e+71
+-6.73297395413868355e+213,-5.02225373890438038e-42
+2.64147265568793585e+269,5.63600517349122341e-232
+9.0575098195936666e+169,2.73408426522716318e+98
+-1.81520621415534918e+280,-1.34800761776101555e+67
+2.19699518548246896e+58,6.64614005815274306e+36
+2.00472329136336449e+251,2.7138771184595454e+75
+7.37875392447916442e+19,-5.1481442430893731e-185
+-1.41060039563488256e-37,9.0651111346418005e-218
+1.10325618289321589e+117,5.73971851004149979e-42
+1.34799733338891774e+68,-4.39399037096493792e+58
+-1.09363370609086527e+99,6.42779140892180841e+61
+-9.26336724941323883e+78,1.18073131719940822e-79
+-2.6106494622993053e+187,-1.0395473214190834e-111
+1.40450290641106587e-96,9.7335888196578478e-208
+-8.50705927443551112e+38,1879056384.00000024
+9.89321605896017267e+173,-1.41670995893464261e+22
+7.02303911417296593e+205,9.12523951839382145e-210
+-2.93934493659982172e+202,-1.78220336626515363e+190
+4.69219808792213771e+254,-2.80584793648546269e-291
+-1.88719626670446797e+68,7.31511941321033341e-99
+-2.13179673384942806e+288,6.42775217718562001e+61
+-4.3277887990791141e+273,5.63653086738990046e+109
+5.63063762161718127e+255,-9.19311471999738642e-186
+1.36434990966363396e+290,-2.81769866071014293e-131
+-6.73297403424522345e+213,6.18970027021387877e+27
+-234881026.00000003,4.06575818721032058e-20
+5.79683576860733229e+171,2.91038304568395827e-11
+-3.14888083343426782e+262,1.26349208506256013e-175
+-6.04462909809073806e+24,1.56607308787718431e-53
+1.23794005773212462e+27,-1.84467440742464266e+19
+1.3407807929981619e+155,8.05143605797701415e-232
+-8.5909136374222156e-91,1.34357522151830565e-138
+-2.88530581806853911e-129,-4.88789823986765532e-149
+-3.92398171584615777e+297,-4.59655735990504819e-186
+1.69055539744983072e+271,6.64613997907932305e+36
+3.97489930733766629e+133,-6.8804959163218007e+105
+5.52139707745253776e+70,-1.81114687006109332e-70
+5.63650225465081914e+109,7.95807864052966569e-13
+-2.68156162594690146e+154,-8.47915172382944703e-167
+-2.76071538868289297e+71,5.77666607489577294e-275
+-3.54177486222095391e+21,-1.20646494639840108e-86
+9.05573435030546658e-71,-3.94886273082868067e-277
+-7.96545965061794026e-58,-1.55593112464278878e-161
+-1.8466098119644623e-127,-2.88530586105245016e-129
+-3.35961714664150425e+102,0.00122071057558059714
+-1.53409170791000434e-91,-2.8176814965366881e-131
+8.22849632899670032e-38,1.73869038316846407e-69
+3.45126648972928586e-31,4.66728519731522137e-61
+-1.36560935588558997e+245,-4.97844260810570068e-59
+-4.36994993874485953e+246,1.03634022663144116e-76
+-4.16750908265063354e+239,2.79340299572794819e-249
+-3.05175785797473577e-05,5.19770488294346903e-112
+-3.84428672240704801e+158,-5.77180760820725807e+112
+-2.28405797146619168e+287,-57344.2500000000073
+-9.40395480679725462e-37,-7.15111166906354736e-247
+8.86432166427531612e+176,-7.04420374134172025e-132
+-5.01649478263898428e+204,2.51112684807529243e-42
+2.6414928085153605e+269,9.53871967528594151e+234
+-7.04566358423737557e+108,-8.35244069797926912e-52
+5.20942602015055021e+238,4.29049858872836008e+156
+1.68533731393750864e+307,6.12365085771360386e+200
+-1.06799353387479884e+96,1.7938664532877876e-143
+-1.66701378280253357e+241,1.40451005007885522e-96
+-1.41059322099016615e-37,-1.31778479672723263e-82
+-34360000512.0000076,2.79340302901977747e-249
+-3.91110907457169897e+92,-3.71383900732207285e+27
+-2.93262376133718726e+253,-1.25698200591911287e+153
+-6.19685322245929234e-220,-1.31914726801829193e-228
+2.41785167525805591e+24,5.5809931880261068e-103
+-7.45988648889860202e+86,3.82267111297964779e-297
+5.63650219876656312e+109,-1.48385802074521397e-167
+-1.24330809102808511e+87,-1.7668605447517183e+72
+4.36105452713119496e+135,6.49713120034286133e-114
+3.38815763841134439e-21,-1.47912172045324262e-31
+1.36254714883433275e-106,1.17055247826314669e-197
+4.95278642044315452e+268,-5.22568070653625022e-199
+-2.93934493659982172e+202,-5.96116976453582588e-108
+1.6759887779248871e+153,3.30565653806372765e+22
+-6.28363972921461848e-89,5.99878734497142101e-241
+-1.53107550735129122e+100,2.54058525480993691e-261
+-1.70543738707954244e+289,-3.84428672240704801e+158
+-1.87689352665313471e+255,0.000610351569775957723
+-6.33825300115959375e+30,-2.70779156384978284e-276
+8.06953086904507477e+119,8.1651883989075735e-202
+-4.89946298338430654e+101,-3.68593020846080182e+65
+9.0651111346418005e-218,-4.00462253467225652e-246
+-8.02633051186230594e+206,3.96633585214349838e+123
+-1.72012397908045018e+105,5.3798984763230692e-283
+-5.20938633778811077e+239,3.43994459313219629e-236
+1.53611473928777978e+305,-8.72030175236207209e-105
+-1.49012748806853812e-08,1.84488464009602363e-81
+2.17579864498076716e+86,3.96966441341086493e-263
+8.16512622560898938e-202,-6.81351223161856407e-208
+5.63650225465081914e+109,-2.18725075085707281e+100
+7.26082474863799454e+280,-9.87219978219859758e-278
+4.55821303003941577e+238,-7.15111175429063031e-247
+-1.26922747268591948e+125,-4.86682411427133337e-208
+-3.07507889308959229e+259,1.2420144738767148e+232
+7.61352657162783376e+286,6.18973797535876543e+27
+3.56885873240855095e+285,1.34078080897761253e+155
+3.59579602645655855e+208,6.54022637922383151e-106
+-1.28421286659363031e+207,2.63554951722582945e-81
+-34359738369.0000076,-1.61029702081232316e-231
+2.97713145020497844e+139,-5.4159876718847977e+26
+-3.78182804185879559e-124,9.12528593158508626e-210
+-1.5931040654591672e-58,1.18305220026985598e-270
+1.12960558348657458e+221,5.29946982753221696e-169
+2.73153000478533273e+144,5.52139715970768012e+70
+-7.45984862025373785e+86,6.58887381270094778e-83
+1.66187089887257875e+276,-4.06983307639696154e+237
+1.24077093115549334e-24,3.17968189643450029e-168
+-3.71382015474962952e+27,-4.97841228163621266e-59
+-3.13214617575436863e-53,7.08211807393890664e-220
+3.33415508253106433e-162,4.93554600772902134e-177
+-4.87265700581345079e+289,4.5287549097968333e+169
+8.33501816530126708e+239,-7.15111175429063031e-247
+-3.84387207733809722e+259,-4.68171207304817694e-97
+-1.03182525614837042e+268,-4.97841228163621266e-59
+6.03274466278033975e+215,-2.36146263439881644e-79
+-1.20646494639840108e-86,-2.70779159069673715e-276
+2.06795153139009235e-25,3.43995956080938185e-236
+-7.26838724312530052e+135,-1.48385802074521397e-167
+-0.00341796877910383089,1.51946398893108472e-164
+-1.76684709110645764e+72,-4.40721289737383388e-280
+4.95276122949295863e+268,-2.88530586105245016e-129
+2.4178700859733326e+24,2.68994923810868984e-284
+8.8643602341712978e+176,4.29066704404958864e-247
+-1.03183155388591939e+268,-4.40721283171727743e-280
+-8.93139433286984901e+138,2.11759529283282236e-21
+-2.7048680316591458e+273,-1.05879118409869054e-22
+8.1651883989075735e-202,-7.97375607969627869e-205
+1.40450292036014251e-96,3.61041629680985809e-276
+-6.38032683162296298e+37,6.5888737145430472e-83
+-4.09646684523688107e-97,7.31516395215153315e-98
+5.3399675899576899e+95,1.30804526285367633e-105
+5.0387834498988548e+163,-7.19908249958009898e+62
+-3.01928851574259296e-233,-7.15111175429063031e-247
+-1.41524310757014949e+168,-8.5909510176818601e-91
+1.81542097595828179e+180,4.29066700150889146e-247
+1.6759887779248871e+153,9.0651109998249497e-218
+5.79680634211198495e+171,2.06795153139009235e-25
+3.64995253760858119e+194,4.90913091870856518e-91
+-3.68553267505875985e+166,8.22846045577311825e-38
+-8.6645928974175431e+128,-1.18694596825451978e-66
+-1.41671715062029757e+22,-8.80625815841842251e-234
+-2.11317814973370765e+271,1.03634022663144116e-76
+-7.04420374134172025e-132,1.1705575814645284e-197
+1.82914954123626714e+142,9.43602247111665816e+67
+1.10565306513061236e+166,2.19699518548246896e+58
+6.11113901170573478e+90,6.7988678303249823e-218
+6.11110792901827965e+90,-1.01623408983318142e-260
+-2.17579864498076716e+86,4.88789818161714956e-150
+549755813904.000122,-8.80625815841842251e-234
+-8.53512359141466146e+242,3.96968864222721167e-263
+-9.25372893992201899e+224,5.7209329821559973e-247
+-3.56442848792952642e+191,-6.84232986027176636e-49
+-9.05567907903755793e-71,1.69583034476712329e-167
+-2.48155445943356693e-24,1.84488464009602363e-81
+1.6853458860022789e+307,-8.42598024089262112e-35
+-57344.0000001192093,3.43994456389845179e-236
+-1.23947995379484324e+122,-1.83691926380415024e-140
+-1.09362536239468883e+100,1.56607307235003194e-53
+206158430208.5,2.91071475916516041e-111
+1.53753946945032608e+259,-5.41598771799039957e+26
+-6.04466599156129437e+24,8.15668036912038e-55
+-3.84384861643750378e+259,5.25384718902912295e-287
+2.39730192683935417e-194,-4.86682411427133337e-208
+4.30030990499181371e+104,1.55065016148861911e-265
+1.49012521433178362e-07,-2.22045960177746954e-15
+-2.4156112419455046e+70,-9.19311482937380999e-186
+2.06795156219744876e-25,-6.84227775979390469e-49
+2.25205644542971635e-85,-1.42124744099861348e-114
+-1.28147922200418871e-244,-4.99499384785255958e-257
+-8.47915182488413626e-167,3.34443565218563354e-198
+6.0715321660197998e-18,2.88530585245356861e-128
+-1.05879118409869054e-22,-5.14816668720640541e-185
+-6.38032683162296298e+37,-2.85779416071266697e-201
+2.23007451991796652e+43,2.42591710596102663e-173
+-4.69222665690685695e+255,1.49011611938910243e-07
+2.69349654026664035e+113,-5.00621961553676719e+94
+-2.30346143668812699e+164,-7.94983320535437788e+133
+1.19223395290716518e-107,-1.73119229608939743e-128
+1.99591867504254686e-110,-2.68994923810673264e-283
+2.11317812460416303e+270,-4.99501920408399965e-257
+-5.77177825153696063e+112,-1.0164395367076256e-20
+-9.81818704763736372e-90,-1.07021942464302146e-196
+-4.02236283767407908e+154,2.73153000478533273e+144
+-5.51565226311803996e+217,-1.86264514928516755e-09
+7.9572324909594701e+87,2.09957555733166278e-240
+2.32372871861200173e+182,-3.84428668968113312e+158
+-5.41598771799039957e+26,4.31808434189169314e-78
+7.57366341676909391e+273,3.64995249410837893e+194
+-2.84570638515149721e+81,7.59645419662994759e-64
+2.9740338524088125e+285,-2.465688728345217e+209
+1.07262464718209002e+156,-1.84467443485874627e+19
+-3.26265227289310833e-54,-4.68167635470923017e-97
+4.23124040467999967e+24,-4.72236648297959722e+22
+4.30033177748863255e+104,-8.5909510176818601e-91
+5.52139715970768012e+70,-1.01643954680258014e-20
+3145728.00000762939,9.68147978734871192e-121
+-6.64751740621132952e+276,-1.02737029330106734e+208
+-3.4622521710319418e+275,-7.04424665177535734e-132
+5.20938627570633779e+238,3.30565653806372765e+22
+-1.41524310757014949e+168,5.99878725575711284e-241
+3.59581170287567801e+208,7.459223258183627e-255
+-3.90218573441266934e+144,-2.17579864498076716e+86
+1.73882784403154179e+233,5.79683576860733229e+171
+0.0312500000009095016,2.11759529283282236e-21
+2.15255522515935848e+260,-1.71619944060601693e+156
+-4.0917382599892635e+149,-1.69425897717310605e-121
+281474980904960.062,-4.59229812041673625e-141
+1.35399691799090285e+26,9.28273032049433398e-214
+-9.21384574675250798e+164,8.23775719217671085e+157
+-6.79883324980275441e-218,3.82267111297964779e-297
+-5.96116976453582588e-108,6.26306435150585494e-293
+1.69055539744983072e+271,2.23007451991796652e+43
+1.12355822603126968e+307,1.99591867504254686e-110
+2.86985928914861416e-41,-1.88916188751302747e-78
+-1.20646494639840108e-86,-3.01928851574259296e-233
+2.3689690675646113e+227,2.23009153397140886e+43
+1.73882784403154179e+233,2.09028504061795437e-198
+1.9656976048774208e-236,-1.79574267935069612e-289
+-8.23779909155651395e+157,3.97489927349986338e+133
+-9.13438523358399087e+46,-1.61029702081232316e-231
+1.53753944658395124e+259,-7.15115531596454428e-247
+-8.6645928974175431e+128,-1.93248897713349687e+71
+1.53612143619102794e+305,2.69911024892084124e-179
+2.27137101343203473e+133,1.44890865265444309e-70
+2.53031652854807985e+222,1.54921330561482308e-220
+-7.44367683977805984e+37,-7.40331148059395334e-178
+-3.35961711333189196e+102,1.83862294396335705e-186
+1.01307305350888243e+177,3.34443565218563354e-198
+-7881333707636737,6.72492440195727737e-285
+1.25698838677314971e+153,5.7209329821559973e-247
+-7.19911382378895428e+62,-1.01643954680258014e-20
+-1.10791394906942699e+276,3.63460780098193513e+34
+-3.42539446250261139e+46,-1.07022757382161347e-196
+-1.0395473214190834e-111,4.98359747556328795e-205
+-3.84428672240704801e+158,-7.11288226492328188e-161
+-9.72547658064512331e+178,-1.94671776393156956e-207
+-8.94069671648206742e-08,2.07010543216649853e-171
+5.72088933540068897e-247,5.3517302255353216e-297
+2.1969856260925595e+58,-1.41670995893464261e+22
+3.5688405804159245e+285,-2.61066274074279445e+187
+8.15663058518806846e-55,4.94680225506259596e-229
+-1.43061833387746119e+296,-3.99170498235446883e+293
+201326592.00390628,7.59645419662994759e-64
+-2.31610573487000041e-23,-1.18452381211835256e-176
+-9.40585604990088272e+203,4.28087763490662807e-196
+-1.18338490887017092e+272,-5.66573760054337842e-219
+-2.46008188325479673e+260,5.99878725575711284e-241
+1.91583774419806857e-47,4.57249055259581408e-200
+1.84488465577444089e-81,2.09957555733166278e-240
+1.15684794538533996e+123,6.79175937659010212e-72
+6.92446207852154435e+275,1.2420144923480253e+232
+-1.32088685993482413e+169,-3.56814100983638328e+45
+2.19946784278862704e+253,-1.24331567957482708e+87
+7.02303917395918867e+205,1.34799734942691267e+68
+0.0312502384185791085,-4.97841228163621266e-59
+6.61131313231249948e+22,-7.96545955584772311e-58
+7.19826217853157925e+162,-3.77439253340893595e+68
+-8.97770588877214566e-189,-1.82279441160071545e-304
+1.18719196541078165e+175,7.05154061478290547e-278
+1.38323671888266075e-222,5.35170693951437164e-297
+-1.07021942464302146e-196,5.25380718394974933e-287
+1.98930508731972333e+88,-3.94887991287943903e-277
+1.01307305350888243e+177,-1.24330810584585425e+87
+9.5054579731181606e-212,1.01623410192397476e-260
+-234881026.00000003,-1.82279441160071545e-304
+7.34683969285311973e-40,-3.94887991287943903e-277
+-3.96220898359436691e+269,-7.97381679580817724e-205
+2.14773775442046502e-91,4.40262735145942712e-134
+-4.87268674603816996e+289,2.17579864498076716e+86
+-7.94983320535437788e+133,2.69349651733725321e+113
+-3.11852427591853604e+290,4.55823286345804491e+238
+-1.28292706084736542e-49,-1.01624029241016619e-260
+-2.49480041665873838e+292,1.45367744859544454e+136
+8.23775719217671085e+157,-3.98734973783442497e-305
+3.5688405804159245e+285,-6.04466599156129437e+24
+-1.83288987809458504e+252,-6.04462917013074099e+24
+-1.47283805243660638e+212,-0.000244140628637978861
+7.23706079130303815e+75,-7.40331148059395334e-178
+5.23259470774163203e+197,9.82017182387896347e+150
+-4.87773210998230728e+143,7.05154061478290547e-278
+1.81542097595828179e+180,5.19770488294346903e-112
+-3.56442848792952642e+191,1.19223395290716518e-107
+8.15663068223277082e-55,3.63435480109474131e-268
+4.19043576332563202e+52,1.23794005773212462e+27
+1.65110856086285674e+168,1.34497463508279905e-283
+-7.19908249958009898e+62,9.28267377420867998e-214
+-6.79937076556489736e+84,-6.28363963560394974e-89
+-3.5802865861291572e+149,6.0715586356984273e-18
+-3.33091790335283116e+286,2.09498277573559326e+153
+2.23472239662788623e-248,-4.99501920408399965e-257
+-3.68593020846080182e+65,-1.69425896275009885e-121
+-6.07716335730837979e-64,1.62429268971731781e-113
+-1.55575381951056417e-61,4.98362789301384538e-205
+-0.000244140628637978861,2.09957555733166278e-240
+-1.25698838677314971e+153,-3.26671072250439226e+40
+-8589934592.25000191,-1.61928984017235176e-78
+-0.000244140625007105482,-1.8369192481666945e-140
+-1.823285196520908e+239,8.22846052582093682e-38
+4.14998847827403963e+80,1.54922005962307072e-220
+8.43375835482987513e-81,-6.28363963560394974e-89
+5.45699596621318586e-12,4.48415515265853337e-44
+-4.16750908265063354e+239,1.52287886597147097e+187
+-5.63063767753888522e+255,3.43995956080938185e-236
+1.98930508731972333e+88,-3.42539449652254091e+46
+2.00681128899548442e+105,-1.05879119984509376e-22
+-6.94029677386696964e+223,2.64727962933555277e-123
+-6.73297403424522345e+213,-8.6646456786050512e+128
+-6.33170658443051519e+175,-1.26217744839035337e-29
+1.03634022663144116e-76,1.09590468756840348e-192
+-3.77865694382390878e+263,2.004732014193125e+251
+-2.92030750714797171e+94,-5.22568070653625022e-199
+2.64147265568793585e+269,6.26302612517386348e-293
+2.9740338524088125e+285,-3.75766813254749654e+109
+-4.16754081612044017e+239,8.12141400042857666e-115
+1.2420144738767148e+232,4.75371392937225325e+29
+4.95276122949295863e+268,1.87695292038000922e-147
+-3.5681192317752843e+45,-7.33952107081197551e-296
+1.06129166466089401e+229,1.35399692949759989e+26
+-3.80295183846362063e+30,7.17546581325556808e-143
+7.23029972020897965e+121,-7.2520889077134404e-217
+1649267458048.00024,2.01747218991618144e-284
+3.85665130623093027e+61,-2.68168051555409102e-248
+3.78681519918832069e+273,4.22127125776603339e-227
+2.07010543216649853e-171,2.09027228265708491e-198
+-1.88917010751905315e-78,4.67214639697156416e-207
+-1.84296511989250534e+65,-896.003906250000114
+-6.04466599156129437e+24,-1.82278050494214967e-304
+2.23741439530291447e+249,8.22846045577311825e-38
+1.73882784403154179e+233,1.34800556088031884e+68
+5.23257189554942096e+197,-2.92030750714797171e+94
+-2.66720577321404291e+242,1.57462669288777906e+162
+2.0349165139463076e+237,5.19770494478392117e-112
+-3.99168061916237889e+293,-1.5341010712582492e-91
+1.43966339793007937e+163,1.1705575814645284e-197
+-6.61055968792172525e+123,4.19915111466332555e-240
+3.96635598656866473e+123,-4.59231814123814199e-141
+-3.36311634778912034e-44,-2.27399590559778157e-113
+-4.39397121477981092e+58,-7.11282810434164607e-161
+4.38889925513713875e+305,2.57162065725327857e+302
+-2.94874419182800854e+66,3.96966446064052642e-263
+5.63063767753888522e+255,4096.0000001192102
+-3.84428672240704801e+158,-1.41670995893464261e+22
+-6.01977843015643489e+205,1.73869040040706614e-69
+1.18719196541078165e+175,-1.26922746008035559e+125
+1.82724639528956197e+288,-1.8369272564952568e-140
+1.10313046577073741e+218,1.33777428080377682e-197
+8.49820801170144102e+183,-2.53266331114355904e+177
+2.42590479127051595e-173,-1.94671778709292816e-207
+-4.70197740330625573e-38,-1.05663055910192172e-132
+6.54752733525605637e+50,-1.84467442936118804e+20
+4.06575814689952832e-20,7.59645419662994759e-64
+-1.8369192481666945e-140,2.23473603623892009e-248
+3.64995249410837893e+194,4.19915111466332555e-240
+3.64995249410837893e+194,-2.36145233932291025e-79
+-7.01379002134050542e-192,-2.79979085556398014e-301
+-1.93248899355640368e+71,-2.83284722113302001e-218
+1.66187091534953831e+276,134217728.000488281
+-1.35552670020624528e+221,2.14773775442046502e-91
+9.20523790609178778e+210,6.5185648565939979e+91
+-7.11282799855926007e-161,-8.47921641459856257e-168
+-3.58027100787223131e+149,9.05567907903755793e-71
+-6.61055976670649956e+123,-8.35244069797926912e-52
+1.82498738581991753e+194,3.15936878144222475e+65
+-3.48449143737182269e+41,-8.47921641459856257e-168
+2.39230548027120545e+98,-3.36313342007370606e-44
+-5.63063767753888522e+255,-9.18360566773769578e-40
+-3.14890481056613981e+262,-1.5458757200602076e-230
+-4.87773216801583667e+143,-7.01378991685240575e-192
+-1.16920132380268829e+50,5.67277091582573748e-124
+4.30030990499181371e+104,-3.13216207555840356e-53
+2.3689546368532823e+227,-9.19311471999738642e-186
+4.29049853768152779e+156,-3.580270977393848e+149
+7.57363039848685316e+273,-1.8369192481666945e-140
+-1.72012397908045018e+105,-1.94673261616410577e-208
+-3.07510235406849591e+259,-2.92029477572168635e+94
+-1.10078226980230281e-234,2.23473603623892009e-248
+-9.81818693062402779e-90,-9.27407219806570264e-169
+-1.08555084738381816e+76,6.64613997907932305e+36
+1.0972248301086618e+304,2.36904764772511324e-176
+2.6475131125896338e+218,1.29408402204146019e+69
+-4.72239530590726122e+22,-3.10130032291405587e-265
+-1.76905388446268686e+167,-1.54588356743374386e-230
+4.88793547330302458e-150,-7.11282799855926007e-161
+1.98929294568546376e+88,-4.39397125218511901e+58
+2.53581377464223985e+271,3.02292555511044838e+264
+1.49011613714833428e-07,-7.33948381317845558e-296
+5.47444601000592185e-148,-1.61028721159540283e-231
+-6.07716344784306334e-64,-1.8227805320506459e-304
+-4.87268674603816996e+289,5.77666607489577294e-275
+1.43965241429572256e+163,-6.04466599156129437e+24
+-7.06738834336337191e+73,-2.77846539515979496e-162
+-4.06983307639696154e+237,-962076868608.000122
+-1.8811807594238859e+204,-3.26671072250439226e+40
+8.54394814370850649e+97,-2.48412650626100834e-170
+-5.61779111341402616e+307,-4.36994999082600483e+246
+-1.0076418666989657e+264,-3.68593023978501068e+65
+1.7938664532877876e-143,-2.76645233148954764e-222
+4.31808434189169314e-78,7.32278304354769334e-244
+-2.03076393612856895e+126,-1.41670995893464261e+22
+1.96403436477579269e+151,-3.46984238525052119e-118
+-4.14567060037317403e+226,1.60861174675557616e-86
+2.73154189005215241e+144,1.86078965816050755e-265
+-8.50705927443551112e+38,3.34443565218563354e-198
+2.39203286658759977e+199,4.52877794422447835e+169
+-1.05879118409869054e-22,-2.69630192214773539e-33
+2.15255522515935848e+260,549760008192.000122
+-1.48385802074521397e-167,1.3449746190807673e-283
+-34359738880.0000076,-2.56268200310855076e-143
+2.71387709150618035e+75,-4.72239530590726122e+22
+1.0544329206165205e+160,134218752.00000003
+2.42833614423018408e+84,8.12141400042857666e-115
+3.3306860145344152e-16,-8.35244069797926912e-52
+2.51112684807529243e-42,8.16512610417676558e-202
+-1.43062457087545464e+296,-1.76904488666942176e+167
+2.73406340605833723e+98,-7.02986457069411636e-243
+2.36895460862003686e+227,9.05567918677882091e-71
+-1.81114687006109332e-70,-8.80625815841842251e-234
+-1.21816425142943154e+288,1.84488465577444089e-81
+-3.05178109556436606e-05,-1.71448110395525209e-100
+-3.51111944588376635e+306,-4.54292044001027496e-269
+-3.84430344943305436e+158,9.82022177166523212e+150
+4.30030990499181371e+104,1.44890867420269569e-70
+-3.48451802183032634e+41,-2.85779416071266697e-201
+4.25882065025220425e+132,-4.59229812041673625e-141
+2.4001792801022284e+303,5.52143920234911968e+70
+-3.26671072250439226e+40,1.16033420794804441e-215
+2.86987677116802993e-41,-4.86682411427133337e-208
+8.4338226990542888e-81,-4.09646684523688107e-97
+-1.5931040654591672e-58,8.4338226990542888e-81
+1.10313046577073741e+218,-2.83284722113302001e-218
+-1.43061834605612986e+296,-1.11883468045185883e+148
+-1.62642474365095631e+283,2.91040080924176488e-10
+-1.11045312081532803e+225,-3.91112896749167026e+92
+-1.62259276829803659e+32,-5.71493695654443717e-100
+-2.76069853878050353e+71,-1.42124744099861348e-114
+-1.18452382386255662e-176,-4.40721283171727743e-280
+-7.34683969266067904e-39,-3.91518271969296078e-54
+-1.10795743413697544e-126,4.29066704404958864e-247
+-1.0164395367076256e-20,-2.81769866071014293e-131
+4.41711771460210744e+72,-1.28148479789844969e-244
+0.0546875004656612942,1.09016670050521233e-206
+5.99878734497142101e-241,-3.10130032291405587e-265
+-6.21011974829500938e+231,5.83410649664402671e-62
+-1.73118350803258855e-128,-1.46636945450826178e-149
+2.26393704204378878e-72,-1.61028721159540283e-231
+-4.10948117320426936e+208,-3.77440898844666326e+68
+4.48415508596992171e-44,1.87695292038000922e-147
+2.73154189005215241e+144,6.07153221761761389e-18
+1.35399692949759989e+26,-8.27185661262821236e-24
+1.36424206621191971e-12,-1.18694598590684831e-66
+4.25884231165155757e+132,-1.30104922442750594e-18
+-1.35986823613721945e+85,-1.01623410192397476e-260
+-1.0076418666989657e+264,-4.09176947735568141e+149
+2.04610229226751762e+49,103079739392.000015
+-2.92604772169326885e-98,3.43995956080938185e-236
+-1.25955232961994866e+264,2.09288306546040657e-104
+-1.47912172045324262e-31,-9.44580943756513734e-79
+-2.33842046032560401e+49,1.66499795259224025e-256
+4.48415508596992171e-44,-4.1625265891751022e-258
+5.52143920234911968e+70,-5.79629517304982619e-170
+2.93567827221230668e+107,-1.53409170791000434e-91
+1.16033422523415046e-215,2.49208274274802377e-306
+9.89329153817267999e+173,8.26326265308802355e+121
+-5.73374660832676495e+105,1.05421979434759798e-80
+2.64147265568793585e+269,8.1651883989075735e-202
+-5.9611437760238033e-108,-9.19317083010267715e-186
+1.91185309819928626e+245,-7.02251453217455325e-97
+-2.41834044408835871e+265,-5.63066626050744448e+255
+-1.7632504945436032e-38,7.08217200067922303e-220
+-8.53512359141466146e+242,5.83410649664402671e-62
+-4.72239530590726122e+22,1.69583034476712329e-167
+4.00000000011641621,-4.99501920408399965e-257
+-3.11850048365934474e+290,-1.39396149940425321e-58
+2.07010540132705479e-171,4.93554600772902134e-177
+2.61064948822744634e+187,2.7138771184595454e+75
+1.09723318491973162e+304,-4.0008086597376158e+241
+-6.94029677386696964e+223,1.56607308787718431e-53
+4.25882065025220425e+132,5.92306148037294057e+125
+-3.26672733779095704e+40,-3.65758755706888823e-99
+6.54755588019630002e+50,6.64618054374378785e+36
+-4.72236648297959722e+22,1024.00001525878929
+-5.897077817664123e-236,-3.94886269721252377e-277
+4.36103238909660596e+135,-3.91110907457169897e+92
+4.08748101483531965e+295,-2.83286447768992126e-218
+4.00000005960464566,-1.53409172619333808e-91
+5.56380928130261165e-68,1.44890867420269569e-70
+-3.21452582162117245e+301,2.42590476717720054e-173
+-1.3123571098292946e+100,-2.48413911650409127e-170
+-2.35146398916114912e+203,-492583356727296.062
+8.15832106482123265e+185,4.90909353844892069e-91
+1.53611475234217208e+305,1.36434397321331964e+290
+-1.04760438255908942e+52,2.71050547160344003e-20
+1.0350527006627743e-170,9.12523951839382145e-210
+2.32373884922660069e+182,-3.78182804185879559e-124
+-3.80295183846362063e+30,1.56607308787718431e-53
+-4.00080869947237632e+241,4.00000005960464566
+1.18718592709393638e+175,1.33778446727701684e-197
+4.08748101483531965e+295,1.83862294396335705e-186
+-3.36311634778912034e-44,1.66500809508481628e-256
+1.00433629262764591e+59,-2.79979085556398014e-301
+5.9807637515044484e+97,5.35170693951437164e-297
+1.91583776050734725e-47,-1.3939554341103556e-58
+9.43598133352233987e+67,-1.46636946904688221e-149
+4.0173451106591677e+60,-1.04404873043730235e-53
+-4.14567060037317403e+226,-1.55575384264782421e-61
diff --git a/sysdeps/ieee754/dbl-64/e_fmod.c b/sysdeps/ieee754/dbl-64/e_fmod.c
index f6a095ba82..fa9db28b22 100644
--- a/sysdeps/ieee754/dbl-64/e_fmod.c
+++ b/sysdeps/ieee754/dbl-64/e_fmod.c
@@ -1,174 +1,204 @@
-/*
- * ====================================================
- * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+/* Author: Kirill Okhotnikov <kirill.okhotnikov@gmail.com>
+ *
+ * Background: Like the previous algorithm written by Sun Microsystems, the code
+ *   also splits double value to integers with exponential (ix, iy) and mantissa
+ *   part (hx, hy). The variables names are kept common with previous code in
+ *   order to simplify understanding. The part of checking special cases,
+ *   numbers NaN, INF etc is copied from Ulrich Drepper <drepper@gmail.com>
+ *   previous code. The rest of the code uses different algorithms for fmod
+ *   calculation. An input x, y in the algorithm is represented (mathematically)
+ *   like h(x|y) * 2^i(x|y). There is an unambiguous number representation. For
+ *   example h * 2^i = (2 * h) * 2^(i-1). The previous algorithm removes such
+ *   unambiguous, "aligning" bits in hx, and hy. But for this code such
+ *   unambiguity is essential.
+ *
+ * Mathematics: The algorithm uses the fact that r = a % b = (a % (N * b)) % b,
+ *   where N is positive integer number. a and b - positive. Let's adopt the
+ *   formula for representation above.
+ *   a = hx * 2^ix, b = hy * 2^iy, N = 2^k
+ *   r(k) = a % b = (hx * 2^ix) % (2 ^k * hy * 2^iy)
+ *        = 2^(iy + k) * (hx * 2^(ix - iy - k) % hy)
+ *   r(k) = hr * 2^ir = (hx % hy) * 2^(iy + k)
+ *        = (2^p * (hx % hy) * 2^(iy + k - p))
+ *     hr = 2^p * (hx % hy), ir = iy + k - p
+ *
+ * Algorithm description: The examples below use byte (not uint64_t) for
+ *   simplicity.
+ *   1) Shift hy maximum to right without losing bits and increase iy value hy =
+ *      0b00101100 iy = 20 after shift hy = 0b00001011 iy = 22.
+ *   2) hx = hx % hy.
+ *   3) Move hx maximum to left. Note that after (hx = hx% hy) CLZ in hx is not
+ *      lower than CLZ in hy. hx=0b00001001 ix = 100, hx=0b10010000, ix = 100-4
+ *      = 96.
+ *   4) Repeat (2) until ix == iy. 
+ *
+ * Complexity analysis: Converting x, y to (hx, ix), (hy, iy):
+ *   CTZ/shift/AND/OR/if. Loop count: (ix - iy) / (64 - "length of hy").
+ *   max("length of hy") = 53, max(ix - iy) = 2048 Maximum operation is 186. For
+ *   rare "unrealistic" cases. Previous algorithm had ix - iy complexity. 11
+ *   times more iterations for worst case. 
+ *
+ *   Converting hx, ix back to double: CLZ/shift/AND/OR/if Previous algorithm
+ *   uses loops for CLZ when converting from/to double.
+ *
+ * Special cases: Supposing that case where |y| > 1e-292 and |x/y|<2000 is very
+ *   common special processing is implemented. No hy alignment, no loop: result
+ *   = (hx * 2^(ix - iy)) % hy. When x and y are both subnormal (rare case
+ *   but...) the result = hx % hy. Simplified conversion back to double.
  *
- * Developed at SunPro, a Sun Microsystems, Inc. business.
- * Permission to use, copy, modify, and distribute this
- * software is freely granted, provided that this notice
- * is preserved.
- * ====================================================
  */
 
 /*
  * __ieee754_fmod(x,y)
  * Return x mod y in exact arithmetic
- * Method: shift and subtract
+ * Method: divide and shift
  */
 
 #include <math.h>
 #include <math_private.h>
+#include <stdint.h>
 #include <libm-alias-finite.h>
 
-static const double one = 1.0, Zero[] = { 0.0, -0.0, };
+#define SIGN_POS_MASK UINT64_C(0x8000000000000000)
+#define SIGN_NEG_MASK UINT64_C(0x7fffffffffffffff)
+#define DOUBLE_INF_NAN UINT64_C(0x7ff0000000000000)
+#define LAST_EXP_BIT UINT64_C(0x0010000000000000)
+#define SET_NORMAL_VALUE(a) \
+        a = UINT64_C(0x0010000000000000)|(UINT64_C(0x000fffffffffffff)&(a))
+#define CLZ(a) __builtin_clzll(a)
+#define CTZ(a) __builtin_ctzll(a)
+
+/* Convert back to double */
+inline static
+double make_double (ieee_double_shape_type sx, uint64_t num, int32_t ep)
+{
+  int32_t lz;
+  lz = CLZ(num) - 11;
+  num <<= lz;
+  ep -= lz;
+
+  if (__glibc_likely(ep >= 0))
+    {
+      num = ((num - LAST_EXP_BIT) | ((uint64_t) (ep + 1) << 52));
+    }
+  else
+    {
+      num >>= -ep;
+    }
+  sx.word += num;
+  return sx.value;
+}
 
 double
 __ieee754_fmod (double x, double y)
 {
-  int32_t n, hx, hy, hz, ix, iy, sx, i;
-  uint32_t lx, ly, lz;
+  int32_t n, ix, iy, lzhy, tzhy, hyltzeroes;
+  uint64_t hx, hy, d;
+  ieee_double_shape_type sx;
 
-  EXTRACT_WORDS (hx, lx, x);
-  EXTRACT_WORDS (hy, ly, y);
-  sx = hx & 0x80000000;                 /* sign of x */
-  hx ^= sx;                     /* |x| */
-  hy &= 0x7fffffff;             /* |y| */
+  EXTRACT_WORDS64 (hx, x);
+  EXTRACT_WORDS64 (hy, y);
+  sx.word = hx & SIGN_POS_MASK;    /* sign of x */
+  hx ^= sx.word;            /* |x| */
+  hy &= SIGN_NEG_MASK;    /* |y| */
 
   /* purge off exception values */
-  if ((hy | ly) == 0 || (hx >= 0x7ff00000) ||   /* y=0,or x not finite */
-      ((hy | ((ly | -ly) >> 31)) > 0x7ff00000)) /* or y is NaN */
+  if (__glibc_unlikely (hy == 0
+                        || hx >= DOUBLE_INF_NAN
+                        || hy > DOUBLE_INF_NAN))
+    /* y=0,or x not finite or y is NaN */
     return (x * y) / (x * y);
-  if (hx <= hy)
+  if (__glibc_likely(hx <= hy))
     {
-      if ((hx < hy) || (lx < ly))
-	return x;                               /* |x|<|y| return x */
-      if (lx == ly)
-	return Zero[(uint32_t) sx >> 31];      /* |x|=|y| return x*0*/
+      if (hx < hy) return x;    /* |x|<|y| return x */
+      return sx.value;    /* |x|=|y| return x*0*/
     }
 
-  /* determine ix = ilogb(x) */
-  if (__glibc_unlikely (hx < 0x00100000))                  /* subnormal x */
+  ix = hx >> 52;
+  iy = hy >> 52;
+
+  /* Most common case where |y| > 1e-292 and |x/y|<2000 */
+  if (__glibc_likely(ix >= 53 && ix - iy <= 11))
     {
-      if (hx == 0)
-	{
-	  for (ix = -1043, i = lx; i > 0; i <<= 1)
-	    ix -= 1;
-	}
-      else
-	{
-	  for (ix = -1022, i = (hx << 11); i > 0; i <<= 1)
-	    ix -= 1;
-	}
+      SET_NORMAL_VALUE(hx);
+      SET_NORMAL_VALUE(hy);
+      d = (ix == iy) ? (hx - hy) : (hx << (ix - iy)) % hy;
+      if (d == 0)
+        return sx.value;
+      /* iy - 1 because of "zero power" for number with power 1 */
+      return make_double (sx, d, iy - 1);
     }
-  else
-    ix = (hx >> 20) - 1023;
 
-  /* determine iy = ilogb(y) */
-  if (__glibc_unlikely (hy < 0x00100000))                  /* subnormal y */
+  /* Both subnormal special case. */
+  if (__glibc_unlikely (ix == 0 && iy == 0))
     {
-      if (hy == 0)
-	{
-	  for (iy = -1043, i = ly; i > 0; i <<= 1)
-	    iy -= 1;
-	}
-      else
-	{
-	  for (iy = -1022, i = (hy << 11); i > 0; i <<= 1)
-	    iy -= 1;
-	}
+      uint64_t d = hx % hy;
+      sx.word += d;
+      return sx.value;
     }
-  else
-    iy = (hy >> 20) - 1023;
 
-  /* set up {hx,lx}, {hy,ly} and align y to x */
-  if (__glibc_likely (ix >= -1022))
-    hx = 0x00100000 | (0x000fffff & hx);
-  else                  /* subnormal x, shift x to normal */
+  /* Assume that hx is not subnormal by conditions above. */
+  SET_NORMAL_VALUE(hx);
+  ix--;
+  if (__builtin_expect (iy > 0, 1))
     {
-      n = -1022 - ix;
-      if (n <= 31)
-	{
-	  hx = (hx << n) | (lx >> (32 - n));
-	  lx <<= n;
-	}
-      else
-	{
-	  hx = lx << (n - 32);
-	  lx = 0;
-	}
+      SET_NORMAL_VALUE(hy);
+      lzhy = 11;
+      iy--;
     }
-  if (__glibc_likely (iy >= -1022))
-    hy = 0x00100000 | (0x000fffff & hy);
-  else                  /* subnormal y, shift y to normal */
+  else
     {
-      n = -1022 - iy;
-      if (n <= 31)
-	{
-	  hy = (hy << n) | (ly >> (32 - n));
-	  ly <<= n;
-	}
-      else
-	{
-	  hy = ly << (n - 32);
-	  ly = 0;
-	}
+      lzhy = CLZ(hy);
     }
 
-  /* fix point fmod */
+  /* Assume hy != 0 */
+  tzhy = CTZ(hy);
+  hyltzeroes = lzhy + tzhy;
   n = ix - iy;
-  while (n--)
+
+  /* Shift hy right until the end or n = 0 */
+  if (n > tzhy)
     {
-      hz = hx - hy; lz = lx - ly; if (lx < ly)
-	hz -= 1;
-      if (hz < 0)
-	{
-	  hx = hx + hx + (lx >> 31); lx = lx + lx;
-	}
-      else
-	{
-	  if ((hz | lz) == 0)           /* return sign(x)*0 */
-	    return Zero[(uint32_t) sx >> 31];
-	  hx = hz + hz + (lz >> 31); lx = lz + lz;
-	}
+      hy >>= tzhy;
+      n -= tzhy;
+      iy += tzhy;
     }
-  hz = hx - hy; lz = lx - ly; if (lx < ly)
-    hz -= 1;
-  if (hz >= 0)
+  else
     {
-      hx = hz; lx = lz;
+      hy >>= n;
+      iy += n;
+      n = 0;
     }
 
-  /* convert back to floating value and restore the sign */
-  if ((hx | lx) == 0)                   /* return sign(x)*0 */
-    return Zero[(uint32_t) sx >> 31];
-  while (hx < 0x00100000)               /* normalize x */
+  /* Shift hx left until the end or n = 0 */
+  if (n > 11)
     {
-      hx = hx + hx + (lx >> 31); lx = lx + lx;
-      iy -= 1;
+      hx <<= 11;
+      n -= 11;
     }
-  if (__glibc_likely (iy >= -1022))              /* normalize output */
+  else
     {
-      hx = ((hx - 0x00100000) | ((iy + 1023) << 20));
-      INSERT_WORDS (x, hx | sx, lx);
+      hx <<= n;
+      n = 0;
     }
-  else                          /* subnormal output */
+  hx %= hy;
+  if (hx == 0)
+    return sx.value;
+
+  if (n == 0)
+    return make_double (sx, hx, iy);
+
+  /* hx next can't be 0, because hx < hy, hy % 2 == 1 hx * 2^i % hy != 0 */
+  while (n > hyltzeroes)
     {
-      n = -1022 - iy;
-      if (n <= 20)
-	{
-	  lx = (lx >> n) | ((uint32_t) hx << (32 - n));
-	  hx >>= n;
-	}
-      else if (n <= 31)
-	{
-	  lx = (hx << (32 - n)) | (lx >> n); hx = sx;
-	}
-      else
-	{
-	  lx = hx >> (n - 32); hx = sx;
-	}
-      INSERT_WORDS (x, hx | sx, lx);
-      x *= one;                 /* create necessary signal */
+      n -= hyltzeroes;
+      hx <<= hyltzeroes;
+      hx %= hy;
     }
-  return x;                     /* exact output */
+
+  hx <<= n;
+  hx %= hy;
+
+  return make_double (sx, hx, iy);
 }
 libm_alias_finite (__ieee754_fmod, __fmod)
diff --git a/sysdeps/ieee754/dbl-64/wordsize-64/e_fmod.c b/sysdeps/ieee754/dbl-64/wordsize-64/e_fmod.c
deleted file mode 100644
index 52a8687448..0000000000
--- a/sysdeps/ieee754/dbl-64/wordsize-64/e_fmod.c
+++ /dev/null
@@ -1,106 +0,0 @@
-/* Rewritten for 64-bit machines by Ulrich Drepper <drepper@gmail.com>.  */
-/*
- * ====================================================
- * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
- *
- * Developed at SunPro, a Sun Microsystems, Inc. business.
- * Permission to use, copy, modify, and distribute this
- * software is freely granted, provided that this notice
- * is preserved.
- * ====================================================
- */
-
-/*
- * __ieee754_fmod(x,y)
- * Return x mod y in exact arithmetic
- * Method: shift and subtract
- */
-
-#include <math.h>
-#include <math_private.h>
-#include <stdint.h>
-#include <libm-alias-finite.h>
-
-static const double one = 1.0, Zero[] = {0.0, -0.0,};
-
-double
-__ieee754_fmod (double x, double y)
-{
-	int32_t n,ix,iy;
-	int64_t hx,hy,hz,sx,i;
-
-	EXTRACT_WORDS64(hx,x);
-	EXTRACT_WORDS64(hy,y);
-	sx = hx&UINT64_C(0x8000000000000000);	/* sign of x */
-	hx ^=sx;				/* |x| */
-	hy &= UINT64_C(0x7fffffffffffffff);	/* |y| */
-
-    /* purge off exception values */
-	if(__builtin_expect(hy==0
-			    || hx >= UINT64_C(0x7ff0000000000000)
-			    || hy > UINT64_C(0x7ff0000000000000), 0))
-	  /* y=0,or x not finite or y is NaN */
-	    return (x*y)/(x*y);
-	if(__builtin_expect(hx<=hy, 0)) {
-	    if(hx<hy) return x;	/* |x|<|y| return x */
-	    return Zero[(uint64_t)sx>>63];	/* |x|=|y| return x*0*/
-	}
-
-    /* determine ix = ilogb(x) */
-	if(__builtin_expect(hx<UINT64_C(0x0010000000000000), 0)) {
-	  /* subnormal x */
-	  for (ix = -1022,i=(hx<<11); i>0; i<<=1) ix -=1;
-	} else ix = (hx>>52)-1023;
-
-    /* determine iy = ilogb(y) */
-	if(__builtin_expect(hy<UINT64_C(0x0010000000000000), 0)) {	/* subnormal y */
-	  for (iy = -1022,i=(hy<<11); i>0; i<<=1) iy -=1;
-	} else iy = (hy>>52)-1023;
-
-    /* set up hx, hy and align y to x */
-	if(__builtin_expect(ix >= -1022, 1))
-	    hx = UINT64_C(0x0010000000000000)|(UINT64_C(0x000fffffffffffff)&hx);
-	else {		/* subnormal x, shift x to normal */
-	    n = -1022-ix;
-	    hx<<=n;
-	}
-	if(__builtin_expect(iy >= -1022, 1))
-	    hy = UINT64_C(0x0010000000000000)|(UINT64_C(0x000fffffffffffff)&hy);
-	else {		/* subnormal y, shift y to normal */
-	    n = -1022-iy;
-	    hy<<=n;
-	}
-
-    /* fix point fmod */
-	n = ix - iy;
-	while(n--) {
-	    hz=hx-hy;
-	    if(hz<0){hx = hx+hx;}
-	    else {
-		if(hz==0)		/* return sign(x)*0 */
-		    return Zero[(uint64_t)sx>>63];
-		hx = hz+hz;
-	    }
-	}
-	hz=hx-hy;
-	if(hz>=0) {hx=hz;}
-
-    /* convert back to floating value and restore the sign */
-	if(hx==0)			/* return sign(x)*0 */
-	    return Zero[(uint64_t)sx>>63];
-	while(hx<UINT64_C(0x0010000000000000)) {	/* normalize x */
-	    hx = hx+hx;
-	    iy -= 1;
-	}
-	if(__builtin_expect(iy>= -1022, 1)) {	/* normalize output */
-	  hx = ((hx-UINT64_C(0x0010000000000000))|((uint64_t)(iy+1023)<<52));
-	    INSERT_WORDS64(x,hx|sx);
-	} else {		/* subnormal output */
-	    n = -1022 - iy;
-	    hx>>=n;
-	    INSERT_WORDS64(x,hx|sx);
-	    x *= one;		/* create necessary signal */
-	}
-	return x;		/* exact output */
-}
-libm_alias_finite (__ieee754_fmod, __fmod)
-- 
2.25.1

