aboutsummaryrefslogtreecommitdiff
path: root/stdlib
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2015-04-10 20:45:30 +0000
committerJoseph Myers <joseph@codesourcery.com>2015-04-10 20:45:30 +0000
commit5556d30caee170384553d2ae3247ec77a66b9ae8 (patch)
treef17624c702ee8f1304651ebe95145205f294273d /stdlib
parentb3c66c534f8a9dbee44aa4983814fc52008f0323 (diff)
downloadglibc-5556d30caee170384553d2ae3247ec77a66b9ae8.zip
glibc-5556d30caee170384553d2ae3247ec77a66b9ae8.tar.gz
glibc-5556d30caee170384553d2ae3247ec77a66b9ae8.tar.bz2
Fix strtof decimal rounding close to half least subnormal (bug 18247).
Bug 18247 is an off-by-one error in strtof's determination of a decimal exponent such that any value with that decimal exponent is at most half the least subnormal and so the appropriate underflowing value for the rounding mode can be determined with no multiple-precision computations. (Whether the value is in fact safe despite the off-by-one depends on the floating-point format in question. It's wrong for float and for m68k ldbl-96 but not for other supported formats.) This patch corrects the computation of the exponent in question to be safe in general, adding a comment explaining the new computation. Tested for x86_64. [BZ #18247] * stdlib/strtod_l.c (____STRTOF_INTERNAL): Decrease minimum decimal exponent by 1. * stdlib/tst-strtod-round-data: Add more tests. * stdlib/tst-strtod-round.c (tests): Regenerated.
Diffstat (limited to 'stdlib')
-rw-r--r--stdlib/strtod_l.c13
-rw-r--r--stdlib/tst-strtod-round-data31
-rw-r--r--stdlib/tst-strtod-round.c4638
3 files changed, 4680 insertions, 2 deletions
diff --git a/stdlib/strtod_l.c b/stdlib/strtod_l.c
index c39bb35..e13ab1e 100644
--- a/stdlib/strtod_l.c
+++ b/stdlib/strtod_l.c
@@ -1189,7 +1189,16 @@ ____STRTOF_INTERNAL (nptr, endptr, group, loc)
if (__glibc_unlikely (exponent > MAX_10_EXP + 1 - (intmax_t) int_no))
return overflow_value (negative);
- if (__glibc_unlikely (exponent < MIN_10_EXP - (DIG + 1)))
+ /* 10^(MIN_10_EXP-1) is not normal. Thus, 10^(MIN_10_EXP-1) /
+ 2^MANT_DIG is below half the least subnormal, so anything with a
+ base-10 exponent less than the base-10 exponent (which is
+ MIN_10_EXP - 1 - ceil(MANT_DIG*log10(2))) of that value
+ underflows. DIG is floor((MANT_DIG-1)log10(2)), so an exponent
+ below MIN_10_EXP - (DIG + 3) underflows. But EXPONENT is
+ actually an exponent multiplied only by a fractional part, not an
+ integer part, so an exponent below MIN_10_EXP - (DIG + 2)
+ underflows. */
+ if (__glibc_unlikely (exponent < MIN_10_EXP - (DIG + 2)))
return underflow_value (negative);
if (int_no > 0)
@@ -1356,7 +1365,7 @@ ____STRTOF_INTERNAL (nptr, endptr, group, loc)
assert (dig_no > int_no
&& exponent <= 0
- && exponent >= MIN_10_EXP - (DIG + 1));
+ && exponent >= MIN_10_EXP - (DIG + 2));
/* We need to compute MANT_DIG - BITS fractional bits that lie
within the mantissa of the result, the following bit for
diff --git a/stdlib/tst-strtod-round-data b/stdlib/tst-strtod-round-data
index a6c3767..cb90803 100644
--- a/stdlib/tst-strtod-round-data
+++ b/stdlib/tst-strtod-round-data
@@ -117,3 +117,34 @@
-0x1p-1075
-0x1p-16446
-0x1p-16495
+.70064923216240853546186479164495807e-45
+7.00649232162408535461864791644958065640130970938257885878534141944895541342930300743319094181060791015624e-46
+7.00649232162408535461864791644958065640130970938257885878534141944895541342930300743319094181060791015625e-46
+7.00649232162408535461864791644958065640130970938257885878534141944895541342930300743319094181060791015626e-46
+-7.00649232162408535461864791644958065640130970938257885878534141944895541342930300743319094181060791015624e-46
+-7.00649232162408535461864791644958065640130970938257885878534141944895541342930300743319094181060791015625e-46
+-7.00649232162408535461864791644958065640130970938257885878534141944895541342930300743319094181060791015626e-46
+2.4703282292062327208828439643411068618252990130716238221279284125033775363510437593264991818081799618989828234772285886546332835517796989819938739800539093906315035659515570226392290858392449105184435931802849936536152500319370457678249219365623669863658480757001585769269903706311928279558551332927834338409351978015531246597263579574622766465272827220056374006485499977096599470454020828166226237857393450736339007967761930577506740176324673600968951340535537458516661134223766678604162159680461914467291840300530057530849048765391711386591646239524912623653881879636239373280423891018672348497668235089863388587925628302755995657524455507255189313690836254779186948667994968324049705821028513185451396213837722826145437693412532098591327667236328124e-324
+2.4703282292062327208828439643411068618252990130716238221279284125033775363510437593264991818081799618989828234772285886546332835517796989819938739800539093906315035659515570226392290858392449105184435931802849936536152500319370457678249219365623669863658480757001585769269903706311928279558551332927834338409351978015531246597263579574622766465272827220056374006485499977096599470454020828166226237857393450736339007967761930577506740176324673600968951340535537458516661134223766678604162159680461914467291840300530057530849048765391711386591646239524912623653881879636239373280423891018672348497668235089863388587925628302755995657524455507255189313690836254779186948667994968324049705821028513185451396213837722826145437693412532098591327667236328125e-324
+2.4703282292062327208828439643411068618252990130716238221279284125033775363510437593264991818081799618989828234772285886546332835517796989819938739800539093906315035659515570226392290858392449105184435931802849936536152500319370457678249219365623669863658480757001585769269903706311928279558551332927834338409351978015531246597263579574622766465272827220056374006485499977096599470454020828166226237857393450736339007967761930577506740176324673600968951340535537458516661134223766678604162159680461914467291840300530057530849048765391711386591646239524912623653881879636239373280423891018672348497668235089863388587925628302755995657524455507255189313690836254779186948667994968324049705821028513185451396213837722826145437693412532098591327667236328126e-324
+-2.4703282292062327208828439643411068618252990130716238221279284125033775363510437593264991818081799618989828234772285886546332835517796989819938739800539093906315035659515570226392290858392449105184435931802849936536152500319370457678249219365623669863658480757001585769269903706311928279558551332927834338409351978015531246597263579574622766465272827220056374006485499977096599470454020828166226237857393450736339007967761930577506740176324673600968951340535537458516661134223766678604162159680461914467291840300530057530849048765391711386591646239524912623653881879636239373280423891018672348497668235089863388587925628302755995657524455507255189313690836254779186948667994968324049705821028513185451396213837722826145437693412532098591327667236328124e-324
+-2.4703282292062327208828439643411068618252990130716238221279284125033775363510437593264991818081799618989828234772285886546332835517796989819938739800539093906315035659515570226392290858392449105184435931802849936536152500319370457678249219365623669863658480757001585769269903706311928279558551332927834338409351978015531246597263579574622766465272827220056374006485499977096599470454020828166226237857393450736339007967761930577506740176324673600968951340535537458516661134223766678604162159680461914467291840300530057530849048765391711386591646239524912623653881879636239373280423891018672348497668235089863388587925628302755995657524455507255189313690836254779186948667994968324049705821028513185451396213837722826145437693412532098591327667236328125e-324
+-2.4703282292062327208828439643411068618252990130716238221279284125033775363510437593264991818081799618989828234772285886546332835517796989819938739800539093906315035659515570226392290858392449105184435931802849936536152500319370457678249219365623669863658480757001585769269903706311928279558551332927834338409351978015531246597263579574622766465272827220056374006485499977096599470454020828166226237857393450736339007967761930577506740176324673600968951340535537458516661134223766678604162159680461914467291840300530057530849048765391711386591646239524912623653881879636239373280423891018672348497668235089863388587925628302755995657524455507255189313690836254779186948667994968324049705821028513185451396213837722826145437693412532098591327667236328126e-324
+1.82259976594123730126420296680970990819952540784678167186049024351418584431669886840478035431291360259862367367360176555098349281631101608498675403779490450274191129058896583928461263190281677987831078128299170536447015989677676363429562039997708640550775926919152302738435771122464765292985913410713131103376617773042203403962987686984411316948595140667733210597864690600010838133614601613871681951542280276489775942764960612766058558174381456923146501775692637508015664228929367328342904167452656185259699435199165429391997316125073430122973318829343522821181735512119859732943017878403356723899138210986814640887564778026842288063392332395425873162546186801975636139070797668304819972220170105852674422401098888180221895434381162451705845464727526614177730212750823552425549507762484741018808753638726079896241463208233641468961241718926107442376223082667022657044926746945053999973304249789647043354111258394904631316614206681676861518285530333635550805084849345427276340804672339278791177264322833523245464353153129378096510959641978734303986620037096633539629329212395162630085725125582600936685277823883492820153083593049415051104450437620211914690606070787926358977364081411635544299722928735751692643879771301240039585999097767207595829950175191441110017783298397938554546884420461552538187244104722816024213635806139907491818083029479760454178844362711626647761487494632027538147971912063924809690969103877295273058627398067023490884558283804713066036286365630374146882657021080984305152976459971071596872478304966869803153760915112192273767083898623101906331345170408354325877269319107750447803297770519645747631196394042357976659226774333324024028170376571419266465026123884210852547563237372731787743310739247077115755551931534219571260621965209529206118711148614230326874252623232432768485954951338025914378049849860538923653349006471371371975851619548239568383911087481548770985671906958133943927799958876422544137402326929408872363515336911744925148845142650068227520261364354697002916289429272868432749597813293152504173604381153301045168945974496048759541471080100519101973888604170033075957748634771829115251095545428834602408676747944708548838154240391870140692461377047103665770055763116743840798104372065112827921945625030361510289100654183705651174880622260739758549192434399417410164472062845437778260804090757560281944655628120766454222846704757309223464545058305531743779508241780347081470374488718989636990233738212174195604234593588461272325314215528265459543623864312796269176427251818027542711345978562318056661295241015095829415854218885612968394742320564741129353791774349282275541494026428939134920627812463726111753054622717119310116356020391377016695730659609458715794206834400971798313683173521572022151606820588780251530071841853198634516520873759366510045598375024838080906130739822646856203519935194543445776352574523286837269888247054743973982471908128830717347432604265401234817912837829289728424665952102694142190409017939355538720903773940059325978870813594819158491785411281829232728432185130930121677446908186036638626917272725653250577033788275532848525020676860268503396244010460868170366183668422400245220420698887085348274712352039989322593091109423678562877840971664204374301183812473393474181569023692824311977350780165916130639182603434989926970020331865584136555767033892083012035521577557018520518779278646965154203692177035106027598152525747997287067958495583828773920163969005601017367414626907539916022639742121376325089842645593155408913831923616011893504143113588169809756975685615156809718301077041526572845529202418627301258888257023010355646157596158820107337643411098344495769079824062658034841113036159712976090652715172861118398396463438153644617763942735713912193155539153353006222951965776408842015246576140657437291217544606529750759900127860216624160777572354875625503811168240060144404381782532731747344361636381195322953833511355431708115960517850363668467732859378452319744244754189705176591797980699728768894888776273098873237375908148750504573178096251637132279732290029080034917390851159718996069867384057524634361867451078210323154806935160062513887899020538632350719578957221218762625988338233522900425764882381207240722674803484256371990031477603784632430434075343952218821448873158758760259077397922975757953735064291924684701700383120505009176657075834209273037908753324078050945056651597552104952664855941872449222161542832136880323939394014264995176092751280620673551723331208577960453876924923755340564701453016713590166028324696751231085985884240222167593347334526263303037916609526590361628275094514687712979547371657019216768348669940844962684915105995807144581550267466768607900288997226458836794359699020464423731084729515154927619118848472118259301156549275391180883502559594450767573982988933806622483582100752977021911865196145152803953417231772013838628271297216496382745313147623777787545601193971231801073102166081571418283792593282745084673717170570311045377504502284479416196840733756305173220061186402909252416023762563344143764956029112654501658894183721617190636706196102146327745427411573664267478610548114494490049701326681466073235027601469575864652759810903283362563811874506460304920716945160547124445139612696233397054113663378176432693167172174324788120020498949799252604115536513853848262142313920128414259368279443832662271152360297173930646598210564674468705978287574339360244225115375618646198655959556280703437804726344639166084401515545027901284172772594924370056965764537173873096051299395266611814969942972446937104374365814436535553437638172469618344861812949854558849812664215334381772718093108970359582607762182530978586011606431206539270246528340251461663568777312665664372314290610998078251132725518693529082410739556958543548525453707936098381671273577525790074909555360813881034617350711745676369290608241723750100354970106149571977139199099246359065033480164509524755309789212426564987013135305339916928676198868262047064684760709433781635772354068612627551149096062556283756591960503706614301481072163106357293601120215712910962780320764010922253732701739505753777925668721137680859409919296558240509140850139708613990151410104328354063372667467067274819461968988824720951115052103399330025052273347500202856736346707384583901599334942268514999353369220365516871691405825741537268724538008583607648929752017570278626326151302560754685495028393678419262128727319250428386913197576633827464717820878289888579781924835957478890210814594606277052757358686187249587833483622951068755564437706268645919720898812154651410735166469301589965697476758067194636020452303250497949048947399883127275733209713104883264862130618398438300031458732794354541218179182692182949013878301564321481423815928645752291194790291300506635648891720930673414441649427368858727539840128657434212664708614252838891346368857902932357270177886061675600124771866970699942139129985509310786171897907713767025490553617452052324190314230443669713785943929520934640464416671176139062034948722091493965189712072792638835666067743532362554736033778616139422395438938944605811706580880420836614049374657066594246393012966219639062789307544592960174860630795820249954853388936995742898065294246733938102175776059529094912831231797891546390571057749606999349996810181557492618640128215744807587466320221438600412521428466916484908092508563270571335405686177916252953143575335641923049301557353017574575315800626626939667724977283350476378690544602400232622622606984439469645646912594417064906111761643056936695157678048364605212059547317525838488465251538119345419979627752159611803463974561223291334210165604062771592587817061728345698629469530077932541521870102279760384499807979877285590410184415905645947383083105790145978931820171516152080500903184835361062491319185763169442515370923471198674337350461697251811045075909288347136691842306340831907917252439136412062563991015509661175647955551494200111528584410842714112893660931587222547527616371447626907477263138994491219951425656610431931653530106776137603833078393623616256283714563444092455070819135182372571411642399666607859039700751818268082294407317787468307510454272859459361639319979293997084018517407055270237114922624894768464359698724807022283865063570179483291145554841647601059067178556847880390815917137788528020328496013081698320174206083993477134242184345417718684421898434176286183306074297397337394378635818040034822140823705679673305304460208977733857268729121898133230944150931434375503975562627800112089417314200987543199614195325678616295902673204032176076607741253741011953899538950353479401701480978109520837367985644204216226079933908944509320472574034339086658841246013841750123876174304679348186657771224594878774792577476351726916884715747652858200960751333538695549872163988000264532075579235359661317563583521988757053827631636808305880569746716283687194118275915928060447077646581456256839985578728945837051179362571449947348159120582527720210320816824370932805266651927288698009547480142504810428454261511435444743728876175627914098669648063196082808198168469420588173819431297620345075913670651853432169177514148111886459795089429969643832554329992461199712957262962023969219032890174902935953126450366971415811499887844992885605846137934153585373646778724962248920989408566923423587556265193045579464470040331860146021474495993513170797583044448771741365214872568116252634674100076242158561453923395526895656905772931330601248536544975755715095764080696461966467575052492961263728205392340905646916958065447157660255882585819023423114809694122214668524218426504844940638948658914245639927512262303170595924131913084701462263664582335366579733760671407937763694121917898012253202550794445927090056988580987161070251889864283474072790532666000445210799879898795369575601310701000600506735376838711381823879045908375392524259853266319554558572588187561880636974923425500452774001254800799279088468508982839057565328297629505098869916759252131884099115322420686108894783264515139811150209926303957155203500393727027411079117369478937095384712003637406693041168456532590381021805048371107896453595203099293812662714637405025074568828822557880697107157708023383177045107932793985761637095123260953060223303469977176881187266346286506759842379165512015006845041184833055602957447462579518605453908265316222905883648379800344280559713700655734203702709055921414200515024650167935251509501402436061376649103597691145127922934267080064403467326795745195948481361947814886969942673557755096669771873496442918230266249855317268651317823644283800930551559885321061219165671786041281110803227612135737813344806675638712573522540330326752464442386379900620750588198544947113799155493133901793000917834934968229504797669239833050649010268588703408635567999483106225365924725096344849106407354596440471549184675431400247646054497566794504464730489228246171177238763846374129323806353067143453547105684101405874350776205012855998370519788550563353055706151297118603093875039708128437347187128159250402631828887145334311373552557223689628363908560011768895131535294161055044642175226187415342324320677763066911181419980149855416104489931529489458659833547172890548612497344779808640595096229937705251106163138658308234789274625008958442163643654994384491346591453337999940340102822545663315950182058410804877289936327981680704769212059417689650218871786818104993012530393359782797076272952876972564899611799589468478404319021053066185948310785346220896419939008967567342765319314502669727526379972481519742277811246822238899767398834228515624e-4951
+1.82259976594123730126420296680970990819952540784678167186049024351418584431669886840478035431291360259862367367360176555098349281631101608498675403779490450274191129058896583928461263190281677987831078128299170536447015989677676363429562039997708640550775926919152302738435771122464765292985913410713131103376617773042203403962987686984411316948595140667733210597864690600010838133614601613871681951542280276489775942764960612766058558174381456923146501775692637508015664228929367328342904167452656185259699435199165429391997316125073430122973318829343522821181735512119859732943017878403356723899138210986814640887564778026842288063392332395425873162546186801975636139070797668304819972220170105852674422401098888180221895434381162451705845464727526614177730212750823552425549507762484741018808753638726079896241463208233641468961241718926107442376223082667022657044926746945053999973304249789647043354111258394904631316614206681676861518285530333635550805084849345427276340804672339278791177264322833523245464353153129378096510959641978734303986620037096633539629329212395162630085725125582600936685277823883492820153083593049415051104450437620211914690606070787926358977364081411635544299722928735751692643879771301240039585999097767207595829950175191441110017783298397938554546884420461552538187244104722816024213635806139907491818083029479760454178844362711626647761487494632027538147971912063924809690969103877295273058627398067023490884558283804713066036286365630374146882657021080984305152976459971071596872478304966869803153760915112192273767083898623101906331345170408354325877269319107750447803297770519645747631196394042357976659226774333324024028170376571419266465026123884210852547563237372731787743310739247077115755551931534219571260621965209529206118711148614230326874252623232432768485954951338025914378049849860538923653349006471371371975851619548239568383911087481548770985671906958133943927799958876422544137402326929408872363515336911744925148845142650068227520261364354697002916289429272868432749597813293152504173604381153301045168945974496048759541471080100519101973888604170033075957748634771829115251095545428834602408676747944708548838154240391870140692461377047103665770055763116743840798104372065112827921945625030361510289100654183705651174880622260739758549192434399417410164472062845437778260804090757560281944655628120766454222846704757309223464545058305531743779508241780347081470374488718989636990233738212174195604234593588461272325314215528265459543623864312796269176427251818027542711345978562318056661295241015095829415854218885612968394742320564741129353791774349282275541494026428939134920627812463726111753054622717119310116356020391377016695730659609458715794206834400971798313683173521572022151606820588780251530071841853198634516520873759366510045598375024838080906130739822646856203519935194543445776352574523286837269888247054743973982471908128830717347432604265401234817912837829289728424665952102694142190409017939355538720903773940059325978870813594819158491785411281829232728432185130930121677446908186036638626917272725653250577033788275532848525020676860268503396244010460868170366183668422400245220420698887085348274712352039989322593091109423678562877840971664204374301183812473393474181569023692824311977350780165916130639182603434989926970020331865584136555767033892083012035521577557018520518779278646965154203692177035106027598152525747997287067958495583828773920163969005601017367414626907539916022639742121376325089842645593155408913831923616011893504143113588169809756975685615156809718301077041526572845529202418627301258888257023010355646157596158820107337643411098344495769079824062658034841113036159712976090652715172861118398396463438153644617763942735713912193155539153353006222951965776408842015246576140657437291217544606529750759900127860216624160777572354875625503811168240060144404381782532731747344361636381195322953833511355431708115960517850363668467732859378452319744244754189705176591797980699728768894888776273098873237375908148750504573178096251637132279732290029080034917390851159718996069867384057524634361867451078210323154806935160062513887899020538632350719578957221218762625988338233522900425764882381207240722674803484256371990031477603784632430434075343952218821448873158758760259077397922975757953735064291924684701700383120505009176657075834209273037908753324078050945056651597552104952664855941872449222161542832136880323939394014264995176092751280620673551723331208577960453876924923755340564701453016713590166028324696751231085985884240222167593347334526263303037916609526590361628275094514687712979547371657019216768348669940844962684915105995807144581550267466768607900288997226458836794359699020464423731084729515154927619118848472118259301156549275391180883502559594450767573982988933806622483582100752977021911865196145152803953417231772013838628271297216496382745313147623777787545601193971231801073102166081571418283792593282745084673717170570311045377504502284479416196840733756305173220061186402909252416023762563344143764956029112654501658894183721617190636706196102146327745427411573664267478610548114494490049701326681466073235027601469575864652759810903283362563811874506460304920716945160547124445139612696233397054113663378176432693167172174324788120020498949799252604115536513853848262142313920128414259368279443832662271152360297173930646598210564674468705978287574339360244225115375618646198655959556280703437804726344639166084401515545027901284172772594924370056965764537173873096051299395266611814969942972446937104374365814436535553437638172469618344861812949854558849812664215334381772718093108970359582607762182530978586011606431206539270246528340251461663568777312665664372314290610998078251132725518693529082410739556958543548525453707936098381671273577525790074909555360813881034617350711745676369290608241723750100354970106149571977139199099246359065033480164509524755309789212426564987013135305339916928676198868262047064684760709433781635772354068612627551149096062556283756591960503706614301481072163106357293601120215712910962780320764010922253732701739505753777925668721137680859409919296558240509140850139708613990151410104328354063372667467067274819461968988824720951115052103399330025052273347500202856736346707384583901599334942268514999353369220365516871691405825741537268724538008583607648929752017570278626326151302560754685495028393678419262128727319250428386913197576633827464717820878289888579781924835957478890210814594606277052757358686187249587833483622951068755564437706268645919720898812154651410735166469301589965697476758067194636020452303250497949048947399883127275733209713104883264862130618398438300031458732794354541218179182692182949013878301564321481423815928645752291194790291300506635648891720930673414441649427368858727539840128657434212664708614252838891346368857902932357270177886061675600124771866970699942139129985509310786171897907713767025490553617452052324190314230443669713785943929520934640464416671176139062034948722091493965189712072792638835666067743532362554736033778616139422395438938944605811706580880420836614049374657066594246393012966219639062789307544592960174860630795820249954853388936995742898065294246733938102175776059529094912831231797891546390571057749606999349996810181557492618640128215744807587466320221438600412521428466916484908092508563270571335405686177916252953143575335641923049301557353017574575315800626626939667724977283350476378690544602400232622622606984439469645646912594417064906111761643056936695157678048364605212059547317525838488465251538119345419979627752159611803463974561223291334210165604062771592587817061728345698629469530077932541521870102279760384499807979877285590410184415905645947383083105790145978931820171516152080500903184835361062491319185763169442515370923471198674337350461697251811045075909288347136691842306340831907917252439136412062563991015509661175647955551494200111528584410842714112893660931587222547527616371447626907477263138994491219951425656610431931653530106776137603833078393623616256283714563444092455070819135182372571411642399666607859039700751818268082294407317787468307510454272859459361639319979293997084018517407055270237114922624894768464359698724807022283865063570179483291145554841647601059067178556847880390815917137788528020328496013081698320174206083993477134242184345417718684421898434176286183306074297397337394378635818040034822140823705679673305304460208977733857268729121898133230944150931434375503975562627800112089417314200987543199614195325678616295902673204032176076607741253741011953899538950353479401701480978109520837367985644204216226079933908944509320472574034339086658841246013841750123876174304679348186657771224594878774792577476351726916884715747652858200960751333538695549872163988000264532075579235359661317563583521988757053827631636808305880569746716283687194118275915928060447077646581456256839985578728945837051179362571449947348159120582527720210320816824370932805266651927288698009547480142504810428454261511435444743728876175627914098669648063196082808198168469420588173819431297620345075913670651853432169177514148111886459795089429969643832554329992461199712957262962023969219032890174902935953126450366971415811499887844992885605846137934153585373646778724962248920989408566923423587556265193045579464470040331860146021474495993513170797583044448771741365214872568116252634674100076242158561453923395526895656905772931330601248536544975755715095764080696461966467575052492961263728205392340905646916958065447157660255882585819023423114809694122214668524218426504844940638948658914245639927512262303170595924131913084701462263664582335366579733760671407937763694121917898012253202550794445927090056988580987161070251889864283474072790532666000445210799879898795369575601310701000600506735376838711381823879045908375392524259853266319554558572588187561880636974923425500452774001254800799279088468508982839057565328297629505098869916759252131884099115322420686108894783264515139811150209926303957155203500393727027411079117369478937095384712003637406693041168456532590381021805048371107896453595203099293812662714637405025074568828822557880697107157708023383177045107932793985761637095123260953060223303469977176881187266346286506759842379165512015006845041184833055602957447462579518605453908265316222905883648379800344280559713700655734203702709055921414200515024650167935251509501402436061376649103597691145127922934267080064403467326795745195948481361947814886969942673557755096669771873496442918230266249855317268651317823644283800930551559885321061219165671786041281110803227612135737813344806675638712573522540330326752464442386379900620750588198544947113799155493133901793000917834934968229504797669239833050649010268588703408635567999483106225365924725096344849106407354596440471549184675431400247646054497566794504464730489228246171177238763846374129323806353067143453547105684101405874350776205012855998370519788550563353055706151297118603093875039708128437347187128159250402631828887145334311373552557223689628363908560011768895131535294161055044642175226187415342324320677763066911181419980149855416104489931529489458659833547172890548612497344779808640595096229937705251106163138658308234789274625008958442163643654994384491346591453337999940340102822545663315950182058410804877289936327981680704769212059417689650218871786818104993012530393359782797076272952876972564899611799589468478404319021053066185948310785346220896419939008967567342765319314502669727526379972481519742277811246822238899767398834228515625e-4951
+1.82259976594123730126420296680970990819952540784678167186049024351418584431669886840478035431291360259862367367360176555098349281631101608498675403779490450274191129058896583928461263190281677987831078128299170536447015989677676363429562039997708640550775926919152302738435771122464765292985913410713131103376617773042203403962987686984411316948595140667733210597864690600010838133614601613871681951542280276489775942764960612766058558174381456923146501775692637508015664228929367328342904167452656185259699435199165429391997316125073430122973318829343522821181735512119859732943017878403356723899138210986814640887564778026842288063392332395425873162546186801975636139070797668304819972220170105852674422401098888180221895434381162451705845464727526614177730212750823552425549507762484741018808753638726079896241463208233641468961241718926107442376223082667022657044926746945053999973304249789647043354111258394904631316614206681676861518285530333635550805084849345427276340804672339278791177264322833523245464353153129378096510959641978734303986620037096633539629329212395162630085725125582600936685277823883492820153083593049415051104450437620211914690606070787926358977364081411635544299722928735751692643879771301240039585999097767207595829950175191441110017783298397938554546884420461552538187244104722816024213635806139907491818083029479760454178844362711626647761487494632027538147971912063924809690969103877295273058627398067023490884558283804713066036286365630374146882657021080984305152976459971071596872478304966869803153760915112192273767083898623101906331345170408354325877269319107750447803297770519645747631196394042357976659226774333324024028170376571419266465026123884210852547563237372731787743310739247077115755551931534219571260621965209529206118711148614230326874252623232432768485954951338025914378049849860538923653349006471371371975851619548239568383911087481548770985671906958133943927799958876422544137402326929408872363515336911744925148845142650068227520261364354697002916289429272868432749597813293152504173604381153301045168945974496048759541471080100519101973888604170033075957748634771829115251095545428834602408676747944708548838154240391870140692461377047103665770055763116743840798104372065112827921945625030361510289100654183705651174880622260739758549192434399417410164472062845437778260804090757560281944655628120766454222846704757309223464545058305531743779508241780347081470374488718989636990233738212174195604234593588461272325314215528265459543623864312796269176427251818027542711345978562318056661295241015095829415854218885612968394742320564741129353791774349282275541494026428939134920627812463726111753054622717119310116356020391377016695730659609458715794206834400971798313683173521572022151606820588780251530071841853198634516520873759366510045598375024838080906130739822646856203519935194543445776352574523286837269888247054743973982471908128830717347432604265401234817912837829289728424665952102694142190409017939355538720903773940059325978870813594819158491785411281829232728432185130930121677446908186036638626917272725653250577033788275532848525020676860268503396244010460868170366183668422400245220420698887085348274712352039989322593091109423678562877840971664204374301183812473393474181569023692824311977350780165916130639182603434989926970020331865584136555767033892083012035521577557018520518779278646965154203692177035106027598152525747997287067958495583828773920163969005601017367414626907539916022639742121376325089842645593155408913831923616011893504143113588169809756975685615156809718301077041526572845529202418627301258888257023010355646157596158820107337643411098344495769079824062658034841113036159712976090652715172861118398396463438153644617763942735713912193155539153353006222951965776408842015246576140657437291217544606529750759900127860216624160777572354875625503811168240060144404381782532731747344361636381195322953833511355431708115960517850363668467732859378452319744244754189705176591797980699728768894888776273098873237375908148750504573178096251637132279732290029080034917390851159718996069867384057524634361867451078210323154806935160062513887899020538632350719578957221218762625988338233522900425764882381207240722674803484256371990031477603784632430434075343952218821448873158758760259077397922975757953735064291924684701700383120505009176657075834209273037908753324078050945056651597552104952664855941872449222161542832136880323939394014264995176092751280620673551723331208577960453876924923755340564701453016713590166028324696751231085985884240222167593347334526263303037916609526590361628275094514687712979547371657019216768348669940844962684915105995807144581550267466768607900288997226458836794359699020464423731084729515154927619118848472118259301156549275391180883502559594450767573982988933806622483582100752977021911865196145152803953417231772013838628271297216496382745313147623777787545601193971231801073102166081571418283792593282745084673717170570311045377504502284479416196840733756305173220061186402909252416023762563344143764956029112654501658894183721617190636706196102146327745427411573664267478610548114494490049701326681466073235027601469575864652759810903283362563811874506460304920716945160547124445139612696233397054113663378176432693167172174324788120020498949799252604115536513853848262142313920128414259368279443832662271152360297173930646598210564674468705978287574339360244225115375618646198655959556280703437804726344639166084401515545027901284172772594924370056965764537173873096051299395266611814969942972446937104374365814436535553437638172469618344861812949854558849812664215334381772718093108970359582607762182530978586011606431206539270246528340251461663568777312665664372314290610998078251132725518693529082410739556958543548525453707936098381671273577525790074909555360813881034617350711745676369290608241723750100354970106149571977139199099246359065033480164509524755309789212426564987013135305339916928676198868262047064684760709433781635772354068612627551149096062556283756591960503706614301481072163106357293601120215712910962780320764010922253732701739505753777925668721137680859409919296558240509140850139708613990151410104328354063372667467067274819461968988824720951115052103399330025052273347500202856736346707384583901599334942268514999353369220365516871691405825741537268724538008583607648929752017570278626326151302560754685495028393678419262128727319250428386913197576633827464717820878289888579781924835957478890210814594606277052757358686187249587833483622951068755564437706268645919720898812154651410735166469301589965697476758067194636020452303250497949048947399883127275733209713104883264862130618398438300031458732794354541218179182692182949013878301564321481423815928645752291194790291300506635648891720930673414441649427368858727539840128657434212664708614252838891346368857902932357270177886061675600124771866970699942139129985509310786171897907713767025490553617452052324190314230443669713785943929520934640464416671176139062034948722091493965189712072792638835666067743532362554736033778616139422395438938944605811706580880420836614049374657066594246393012966219639062789307544592960174860630795820249954853388936995742898065294246733938102175776059529094912831231797891546390571057749606999349996810181557492618640128215744807587466320221438600412521428466916484908092508563270571335405686177916252953143575335641923049301557353017574575315800626626939667724977283350476378690544602400232622622606984439469645646912594417064906111761643056936695157678048364605212059547317525838488465251538119345419979627752159611803463974561223291334210165604062771592587817061728345698629469530077932541521870102279760384499807979877285590410184415905645947383083105790145978931820171516152080500903184835361062491319185763169442515370923471198674337350461697251811045075909288347136691842306340831907917252439136412062563991015509661175647955551494200111528584410842714112893660931587222547527616371447626907477263138994491219951425656610431931653530106776137603833078393623616256283714563444092455070819135182372571411642399666607859039700751818268082294407317787468307510454272859459361639319979293997084018517407055270237114922624894768464359698724807022283865063570179483291145554841647601059067178556847880390815917137788528020328496013081698320174206083993477134242184345417718684421898434176286183306074297397337394378635818040034822140823705679673305304460208977733857268729121898133230944150931434375503975562627800112089417314200987543199614195325678616295902673204032176076607741253741011953899538950353479401701480978109520837367985644204216226079933908944509320472574034339086658841246013841750123876174304679348186657771224594878774792577476351726916884715747652858200960751333538695549872163988000264532075579235359661317563583521988757053827631636808305880569746716283687194118275915928060447077646581456256839985578728945837051179362571449947348159120582527720210320816824370932805266651927288698009547480142504810428454261511435444743728876175627914098669648063196082808198168469420588173819431297620345075913670651853432169177514148111886459795089429969643832554329992461199712957262962023969219032890174902935953126450366971415811499887844992885605846137934153585373646778724962248920989408566923423587556265193045579464470040331860146021474495993513170797583044448771741365214872568116252634674100076242158561453923395526895656905772931330601248536544975755715095764080696461966467575052492961263728205392340905646916958065447157660255882585819023423114809694122214668524218426504844940638948658914245639927512262303170595924131913084701462263664582335366579733760671407937763694121917898012253202550794445927090056988580987161070251889864283474072790532666000445210799879898795369575601310701000600506735376838711381823879045908375392524259853266319554558572588187561880636974923425500452774001254800799279088468508982839057565328297629505098869916759252131884099115322420686108894783264515139811150209926303957155203500393727027411079117369478937095384712003637406693041168456532590381021805048371107896453595203099293812662714637405025074568828822557880697107157708023383177045107932793985761637095123260953060223303469977176881187266346286506759842379165512015006845041184833055602957447462579518605453908265316222905883648379800344280559713700655734203702709055921414200515024650167935251509501402436061376649103597691145127922934267080064403467326795745195948481361947814886969942673557755096669771873496442918230266249855317268651317823644283800930551559885321061219165671786041281110803227612135737813344806675638712573522540330326752464442386379900620750588198544947113799155493133901793000917834934968229504797669239833050649010268588703408635567999483106225365924725096344849106407354596440471549184675431400247646054497566794504464730489228246171177238763846374129323806353067143453547105684101405874350776205012855998370519788550563353055706151297118603093875039708128437347187128159250402631828887145334311373552557223689628363908560011768895131535294161055044642175226187415342324320677763066911181419980149855416104489931529489458659833547172890548612497344779808640595096229937705251106163138658308234789274625008958442163643654994384491346591453337999940340102822545663315950182058410804877289936327981680704769212059417689650218871786818104993012530393359782797076272952876972564899611799589468478404319021053066185948310785346220896419939008967567342765319314502669727526379972481519742277811246822238899767398834228515626e-4951
+-1.82259976594123730126420296680970990819952540784678167186049024351418584431669886840478035431291360259862367367360176555098349281631101608498675403779490450274191129058896583928461263190281677987831078128299170536447015989677676363429562039997708640550775926919152302738435771122464765292985913410713131103376617773042203403962987686984411316948595140667733210597864690600010838133614601613871681951542280276489775942764960612766058558174381456923146501775692637508015664228929367328342904167452656185259699435199165429391997316125073430122973318829343522821181735512119859732943017878403356723899138210986814640887564778026842288063392332395425873162546186801975636139070797668304819972220170105852674422401098888180221895434381162451705845464727526614177730212750823552425549507762484741018808753638726079896241463208233641468961241718926107442376223082667022657044926746945053999973304249789647043354111258394904631316614206681676861518285530333635550805084849345427276340804672339278791177264322833523245464353153129378096510959641978734303986620037096633539629329212395162630085725125582600936685277823883492820153083593049415051104450437620211914690606070787926358977364081411635544299722928735751692643879771301240039585999097767207595829950175191441110017783298397938554546884420461552538187244104722816024213635806139907491818083029479760454178844362711626647761487494632027538147971912063924809690969103877295273058627398067023490884558283804713066036286365630374146882657021080984305152976459971071596872478304966869803153760915112192273767083898623101906331345170408354325877269319107750447803297770519645747631196394042357976659226774333324024028170376571419266465026123884210852547563237372731787743310739247077115755551931534219571260621965209529206118711148614230326874252623232432768485954951338025914378049849860538923653349006471371371975851619548239568383911087481548770985671906958133943927799958876422544137402326929408872363515336911744925148845142650068227520261364354697002916289429272868432749597813293152504173604381153301045168945974496048759541471080100519101973888604170033075957748634771829115251095545428834602408676747944708548838154240391870140692461377047103665770055763116743840798104372065112827921945625030361510289100654183705651174880622260739758549192434399417410164472062845437778260804090757560281944655628120766454222846704757309223464545058305531743779508241780347081470374488718989636990233738212174195604234593588461272325314215528265459543623864312796269176427251818027542711345978562318056661295241015095829415854218885612968394742320564741129353791774349282275541494026428939134920627812463726111753054622717119310116356020391377016695730659609458715794206834400971798313683173521572022151606820588780251530071841853198634516520873759366510045598375024838080906130739822646856203519935194543445776352574523286837269888247054743973982471908128830717347432604265401234817912837829289728424665952102694142190409017939355538720903773940059325978870813594819158491785411281829232728432185130930121677446908186036638626917272725653250577033788275532848525020676860268503396244010460868170366183668422400245220420698887085348274712352039989322593091109423678562877840971664204374301183812473393474181569023692824311977350780165916130639182603434989926970020331865584136555767033892083012035521577557018520518779278646965154203692177035106027598152525747997287067958495583828773920163969005601017367414626907539916022639742121376325089842645593155408913831923616011893504143113588169809756975685615156809718301077041526572845529202418627301258888257023010355646157596158820107337643411098344495769079824062658034841113036159712976090652715172861118398396463438153644617763942735713912193155539153353006222951965776408842015246576140657437291217544606529750759900127860216624160777572354875625503811168240060144404381782532731747344361636381195322953833511355431708115960517850363668467732859378452319744244754189705176591797980699728768894888776273098873237375908148750504573178096251637132279732290029080034917390851159718996069867384057524634361867451078210323154806935160062513887899020538632350719578957221218762625988338233522900425764882381207240722674803484256371990031477603784632430434075343952218821448873158758760259077397922975757953735064291924684701700383120505009176657075834209273037908753324078050945056651597552104952664855941872449222161542832136880323939394014264995176092751280620673551723331208577960453876924923755340564701453016713590166028324696751231085985884240222167593347334526263303037916609526590361628275094514687712979547371657019216768348669940844962684915105995807144581550267466768607900288997226458836794359699020464423731084729515154927619118848472118259301156549275391180883502559594450767573982988933806622483582100752977021911865196145152803953417231772013838628271297216496382745313147623777787545601193971231801073102166081571418283792593282745084673717170570311045377504502284479416196840733756305173220061186402909252416023762563344143764956029112654501658894183721617190636706196102146327745427411573664267478610548114494490049701326681466073235027601469575864652759810903283362563811874506460304920716945160547124445139612696233397054113663378176432693167172174324788120020498949799252604115536513853848262142313920128414259368279443832662271152360297173930646598210564674468705978287574339360244225115375618646198655959556280703437804726344639166084401515545027901284172772594924370056965764537173873096051299395266611814969942972446937104374365814436535553437638172469618344861812949854558849812664215334381772718093108970359582607762182530978586011606431206539270246528340251461663568777312665664372314290610998078251132725518693529082410739556958543548525453707936098381671273577525790074909555360813881034617350711745676369290608241723750100354970106149571977139199099246359065033480164509524755309789212426564987013135305339916928676198868262047064684760709433781635772354068612627551149096062556283756591960503706614301481072163106357293601120215712910962780320764010922253732701739505753777925668721137680859409919296558240509140850139708613990151410104328354063372667467067274819461968988824720951115052103399330025052273347500202856736346707384583901599334942268514999353369220365516871691405825741537268724538008583607648929752017570278626326151302560754685495028393678419262128727319250428386913197576633827464717820878289888579781924835957478890210814594606277052757358686187249587833483622951068755564437706268645919720898812154651410735166469301589965697476758067194636020452303250497949048947399883127275733209713104883264862130618398438300031458732794354541218179182692182949013878301564321481423815928645752291194790291300506635648891720930673414441649427368858727539840128657434212664708614252838891346368857902932357270177886061675600124771866970699942139129985509310786171897907713767025490553617452052324190314230443669713785943929520934640464416671176139062034948722091493965189712072792638835666067743532362554736033778616139422395438938944605811706580880420836614049374657066594246393012966219639062789307544592960174860630795820249954853388936995742898065294246733938102175776059529094912831231797891546390571057749606999349996810181557492618640128215744807587466320221438600412521428466916484908092508563270571335405686177916252953143575335641923049301557353017574575315800626626939667724977283350476378690544602400232622622606984439469645646912594417064906111761643056936695157678048364605212059547317525838488465251538119345419979627752159611803463974561223291334210165604062771592587817061728345698629469530077932541521870102279760384499807979877285590410184415905645947383083105790145978931820171516152080500903184835361062491319185763169442515370923471198674337350461697251811045075909288347136691842306340831907917252439136412062563991015509661175647955551494200111528584410842714112893660931587222547527616371447626907477263138994491219951425656610431931653530106776137603833078393623616256283714563444092455070819135182372571411642399666607859039700751818268082294407317787468307510454272859459361639319979293997084018517407055270237114922624894768464359698724807022283865063570179483291145554841647601059067178556847880390815917137788528020328496013081698320174206083993477134242184345417718684421898434176286183306074297397337394378635818040034822140823705679673305304460208977733857268729121898133230944150931434375503975562627800112089417314200987543199614195325678616295902673204032176076607741253741011953899538950353479401701480978109520837367985644204216226079933908944509320472574034339086658841246013841750123876174304679348186657771224594878774792577476351726916884715747652858200960751333538695549872163988000264532075579235359661317563583521988757053827631636808305880569746716283687194118275915928060447077646581456256839985578728945837051179362571449947348159120582527720210320816824370932805266651927288698009547480142504810428454261511435444743728876175627914098669648063196082808198168469420588173819431297620345075913670651853432169177514148111886459795089429969643832554329992461199712957262962023969219032890174902935953126450366971415811499887844992885605846137934153585373646778724962248920989408566923423587556265193045579464470040331860146021474495993513170797583044448771741365214872568116252634674100076242158561453923395526895656905772931330601248536544975755715095764080696461966467575052492961263728205392340905646916958065447157660255882585819023423114809694122214668524218426504844940638948658914245639927512262303170595924131913084701462263664582335366579733760671407937763694121917898012253202550794445927090056988580987161070251889864283474072790532666000445210799879898795369575601310701000600506735376838711381823879045908375392524259853266319554558572588187561880636974923425500452774001254800799279088468508982839057565328297629505098869916759252131884099115322420686108894783264515139811150209926303957155203500393727027411079117369478937095384712003637406693041168456532590381021805048371107896453595203099293812662714637405025074568828822557880697107157708023383177045107932793985761637095123260953060223303469977176881187266346286506759842379165512015006845041184833055602957447462579518605453908265316222905883648379800344280559713700655734203702709055921414200515024650167935251509501402436061376649103597691145127922934267080064403467326795745195948481361947814886969942673557755096669771873496442918230266249855317268651317823644283800930551559885321061219165671786041281110803227612135737813344806675638712573522540330326752464442386379900620750588198544947113799155493133901793000917834934968229504797669239833050649010268588703408635567999483106225365924725096344849106407354596440471549184675431400247646054497566794504464730489228246171177238763846374129323806353067143453547105684101405874350776205012855998370519788550563353055706151297118603093875039708128437347187128159250402631828887145334311373552557223689628363908560011768895131535294161055044642175226187415342324320677763066911181419980149855416104489931529489458659833547172890548612497344779808640595096229937705251106163138658308234789274625008958442163643654994384491346591453337999940340102822545663315950182058410804877289936327981680704769212059417689650218871786818104993012530393359782797076272952876972564899611799589468478404319021053066185948310785346220896419939008967567342765319314502669727526379972481519742277811246822238899767398834228515624e-4951
+-1.82259976594123730126420296680970990819952540784678167186049024351418584431669886840478035431291360259862367367360176555098349281631101608498675403779490450274191129058896583928461263190281677987831078128299170536447015989677676363429562039997708640550775926919152302738435771122464765292985913410713131103376617773042203403962987686984411316948595140667733210597864690600010838133614601613871681951542280276489775942764960612766058558174381456923146501775692637508015664228929367328342904167452656185259699435199165429391997316125073430122973318829343522821181735512119859732943017878403356723899138210986814640887564778026842288063392332395425873162546186801975636139070797668304819972220170105852674422401098888180221895434381162451705845464727526614177730212750823552425549507762484741018808753638726079896241463208233641468961241718926107442376223082667022657044926746945053999973304249789647043354111258394904631316614206681676861518285530333635550805084849345427276340804672339278791177264322833523245464353153129378096510959641978734303986620037096633539629329212395162630085725125582600936685277823883492820153083593049415051104450437620211914690606070787926358977364081411635544299722928735751692643879771301240039585999097767207595829950175191441110017783298397938554546884420461552538187244104722816024213635806139907491818083029479760454178844362711626647761487494632027538147971912063924809690969103877295273058627398067023490884558283804713066036286365630374146882657021080984305152976459971071596872478304966869803153760915112192273767083898623101906331345170408354325877269319107750447803297770519645747631196394042357976659226774333324024028170376571419266465026123884210852547563237372731787743310739247077115755551931534219571260621965209529206118711148614230326874252623232432768485954951338025914378049849860538923653349006471371371975851619548239568383911087481548770985671906958133943927799958876422544137402326929408872363515336911744925148845142650068227520261364354697002916289429272868432749597813293152504173604381153301045168945974496048759541471080100519101973888604170033075957748634771829115251095545428834602408676747944708548838154240391870140692461377047103665770055763116743840798104372065112827921945625030361510289100654183705651174880622260739758549192434399417410164472062845437778260804090757560281944655628120766454222846704757309223464545058305531743779508241780347081470374488718989636990233738212174195604234593588461272325314215528265459543623864312796269176427251818027542711345978562318056661295241015095829415854218885612968394742320564741129353791774349282275541494026428939134920627812463726111753054622717119310116356020391377016695730659609458715794206834400971798313683173521572022151606820588780251530071841853198634516520873759366510045598375024838080906130739822646856203519935194543445776352574523286837269888247054743973982471908128830717347432604265401234817912837829289728424665952102694142190409017939355538720903773940059325978870813594819158491785411281829232728432185130930121677446908186036638626917272725653250577033788275532848525020676860268503396244010460868170366183668422400245220420698887085348274712352039989322593091109423678562877840971664204374301183812473393474181569023692824311977350780165916130639182603434989926970020331865584136555767033892083012035521577557018520518779278646965154203692177035106027598152525747997287067958495583828773920163969005601017367414626907539916022639742121376325089842645593155408913831923616011893504143113588169809756975685615156809718301077041526572845529202418627301258888257023010355646157596158820107337643411098344495769079824062658034841113036159712976090652715172861118398396463438153644617763942735713912193155539153353006222951965776408842015246576140657437291217544606529750759900127860216624160777572354875625503811168240060144404381782532731747344361636381195322953833511355431708115960517850363668467732859378452319744244754189705176591797980699728768894888776273098873237375908148750504573178096251637132279732290029080034917390851159718996069867384057524634361867451078210323154806935160062513887899020538632350719578957221218762625988338233522900425764882381207240722674803484256371990031477603784632430434075343952218821448873158758760259077397922975757953735064291924684701700383120505009176657075834209273037908753324078050945056651597552104952664855941872449222161542832136880323939394014264995176092751280620673551723331208577960453876924923755340564701453016713590166028324696751231085985884240222167593347334526263303037916609526590361628275094514687712979547371657019216768348669940844962684915105995807144581550267466768607900288997226458836794359699020464423731084729515154927619118848472118259301156549275391180883502559594450767573982988933806622483582100752977021911865196145152803953417231772013838628271297216496382745313147623777787545601193971231801073102166081571418283792593282745084673717170570311045377504502284479416196840733756305173220061186402909252416023762563344143764956029112654501658894183721617190636706196102146327745427411573664267478610548114494490049701326681466073235027601469575864652759810903283362563811874506460304920716945160547124445139612696233397054113663378176432693167172174324788120020498949799252604115536513853848262142313920128414259368279443832662271152360297173930646598210564674468705978287574339360244225115375618646198655959556280703437804726344639166084401515545027901284172772594924370056965764537173873096051299395266611814969942972446937104374365814436535553437638172469618344861812949854558849812664215334381772718093108970359582607762182530978586011606431206539270246528340251461663568777312665664372314290610998078251132725518693529082410739556958543548525453707936098381671273577525790074909555360813881034617350711745676369290608241723750100354970106149571977139199099246359065033480164509524755309789212426564987013135305339916928676198868262047064684760709433781635772354068612627551149096062556283756591960503706614301481072163106357293601120215712910962780320764010922253732701739505753777925668721137680859409919296558240509140850139708613990151410104328354063372667467067274819461968988824720951115052103399330025052273347500202856736346707384583901599334942268514999353369220365516871691405825741537268724538008583607648929752017570278626326151302560754685495028393678419262128727319250428386913197576633827464717820878289888579781924835957478890210814594606277052757358686187249587833483622951068755564437706268645919720898812154651410735166469301589965697476758067194636020452303250497949048947399883127275733209713104883264862130618398438300031458732794354541218179182692182949013878301564321481423815928645752291194790291300506635648891720930673414441649427368858727539840128657434212664708614252838891346368857902932357270177886061675600124771866970699942139129985509310786171897907713767025490553617452052324190314230443669713785943929520934640464416671176139062034948722091493965189712072792638835666067743532362554736033778616139422395438938944605811706580880420836614049374657066594246393012966219639062789307544592960174860630795820249954853388936995742898065294246733938102175776059529094912831231797891546390571057749606999349996810181557492618640128215744807587466320221438600412521428466916484908092508563270571335405686177916252953143575335641923049301557353017574575315800626626939667724977283350476378690544602400232622622606984439469645646912594417064906111761643056936695157678048364605212059547317525838488465251538119345419979627752159611803463974561223291334210165604062771592587817061728345698629469530077932541521870102279760384499807979877285590410184415905645947383083105790145978931820171516152080500903184835361062491319185763169442515370923471198674337350461697251811045075909288347136691842306340831907917252439136412062563991015509661175647955551494200111528584410842714112893660931587222547527616371447626907477263138994491219951425656610431931653530106776137603833078393623616256283714563444092455070819135182372571411642399666607859039700751818268082294407317787468307510454272859459361639319979293997084018517407055270237114922624894768464359698724807022283865063570179483291145554841647601059067178556847880390815917137788528020328496013081698320174206083993477134242184345417718684421898434176286183306074297397337394378635818040034822140823705679673305304460208977733857268729121898133230944150931434375503975562627800112089417314200987543199614195325678616295902673204032176076607741253741011953899538950353479401701480978109520837367985644204216226079933908944509320472574034339086658841246013841750123876174304679348186657771224594878774792577476351726916884715747652858200960751333538695549872163988000264532075579235359661317563583521988757053827631636808305880569746716283687194118275915928060447077646581456256839985578728945837051179362571449947348159120582527720210320816824370932805266651927288698009547480142504810428454261511435444743728876175627914098669648063196082808198168469420588173819431297620345075913670651853432169177514148111886459795089429969643832554329992461199712957262962023969219032890174902935953126450366971415811499887844992885605846137934153585373646778724962248920989408566923423587556265193045579464470040331860146021474495993513170797583044448771741365214872568116252634674100076242158561453923395526895656905772931330601248536544975755715095764080696461966467575052492961263728205392340905646916958065447157660255882585819023423114809694122214668524218426504844940638948658914245639927512262303170595924131913084701462263664582335366579733760671407937763694121917898012253202550794445927090056988580987161070251889864283474072790532666000445210799879898795369575601310701000600506735376838711381823879045908375392524259853266319554558572588187561880636974923425500452774001254800799279088468508982839057565328297629505098869916759252131884099115322420686108894783264515139811150209926303957155203500393727027411079117369478937095384712003637406693041168456532590381021805048371107896453595203099293812662714637405025074568828822557880697107157708023383177045107932793985761637095123260953060223303469977176881187266346286506759842379165512015006845041184833055602957447462579518605453908265316222905883648379800344280559713700655734203702709055921414200515024650167935251509501402436061376649103597691145127922934267080064403467326795745195948481361947814886969942673557755096669771873496442918230266249855317268651317823644283800930551559885321061219165671786041281110803227612135737813344806675638712573522540330326752464442386379900620750588198544947113799155493133901793000917834934968229504797669239833050649010268588703408635567999483106225365924725096344849106407354596440471549184675431400247646054497566794504464730489228246171177238763846374129323806353067143453547105684101405874350776205012855998370519788550563353055706151297118603093875039708128437347187128159250402631828887145334311373552557223689628363908560011768895131535294161055044642175226187415342324320677763066911181419980149855416104489931529489458659833547172890548612497344779808640595096229937705251106163138658308234789274625008958442163643654994384491346591453337999940340102822545663315950182058410804877289936327981680704769212059417689650218871786818104993012530393359782797076272952876972564899611799589468478404319021053066185948310785346220896419939008967567342765319314502669727526379972481519742277811246822238899767398834228515625e-4951
+-1.82259976594123730126420296680970990819952540784678167186049024351418584431669886840478035431291360259862367367360176555098349281631101608498675403779490450274191129058896583928461263190281677987831078128299170536447015989677676363429562039997708640550775926919152302738435771122464765292985913410713131103376617773042203403962987686984411316948595140667733210597864690600010838133614601613871681951542280276489775942764960612766058558174381456923146501775692637508015664228929367328342904167452656185259699435199165429391997316125073430122973318829343522821181735512119859732943017878403356723899138210986814640887564778026842288063392332395425873162546186801975636139070797668304819972220170105852674422401098888180221895434381162451705845464727526614177730212750823552425549507762484741018808753638726079896241463208233641468961241718926107442376223082667022657044926746945053999973304249789647043354111258394904631316614206681676861518285530333635550805084849345427276340804672339278791177264322833523245464353153129378096510959641978734303986620037096633539629329212395162630085725125582600936685277823883492820153083593049415051104450437620211914690606070787926358977364081411635544299722928735751692643879771301240039585999097767207595829950175191441110017783298397938554546884420461552538187244104722816024213635806139907491818083029479760454178844362711626647761487494632027538147971912063924809690969103877295273058627398067023490884558283804713066036286365630374146882657021080984305152976459971071596872478304966869803153760915112192273767083898623101906331345170408354325877269319107750447803297770519645747631196394042357976659226774333324024028170376571419266465026123884210852547563237372731787743310739247077115755551931534219571260621965209529206118711148614230326874252623232432768485954951338025914378049849860538923653349006471371371975851619548239568383911087481548770985671906958133943927799958876422544137402326929408872363515336911744925148845142650068227520261364354697002916289429272868432749597813293152504173604381153301045168945974496048759541471080100519101973888604170033075957748634771829115251095545428834602408676747944708548838154240391870140692461377047103665770055763116743840798104372065112827921945625030361510289100654183705651174880622260739758549192434399417410164472062845437778260804090757560281944655628120766454222846704757309223464545058305531743779508241780347081470374488718989636990233738212174195604234593588461272325314215528265459543623864312796269176427251818027542711345978562318056661295241015095829415854218885612968394742320564741129353791774349282275541494026428939134920627812463726111753054622717119310116356020391377016695730659609458715794206834400971798313683173521572022151606820588780251530071841853198634516520873759366510045598375024838080906130739822646856203519935194543445776352574523286837269888247054743973982471908128830717347432604265401234817912837829289728424665952102694142190409017939355538720903773940059325978870813594819158491785411281829232728432185130930121677446908186036638626917272725653250577033788275532848525020676860268503396244010460868170366183668422400245220420698887085348274712352039989322593091109423678562877840971664204374301183812473393474181569023692824311977350780165916130639182603434989926970020331865584136555767033892083012035521577557018520518779278646965154203692177035106027598152525747997287067958495583828773920163969005601017367414626907539916022639742121376325089842645593155408913831923616011893504143113588169809756975685615156809718301077041526572845529202418627301258888257023010355646157596158820107337643411098344495769079824062658034841113036159712976090652715172861118398396463438153644617763942735713912193155539153353006222951965776408842015246576140657437291217544606529750759900127860216624160777572354875625503811168240060144404381782532731747344361636381195322953833511355431708115960517850363668467732859378452319744244754189705176591797980699728768894888776273098873237375908148750504573178096251637132279732290029080034917390851159718996069867384057524634361867451078210323154806935160062513887899020538632350719578957221218762625988338233522900425764882381207240722674803484256371990031477603784632430434075343952218821448873158758760259077397922975757953735064291924684701700383120505009176657075834209273037908753324078050945056651597552104952664855941872449222161542832136880323939394014264995176092751280620673551723331208577960453876924923755340564701453016713590166028324696751231085985884240222167593347334526263303037916609526590361628275094514687712979547371657019216768348669940844962684915105995807144581550267466768607900288997226458836794359699020464423731084729515154927619118848472118259301156549275391180883502559594450767573982988933806622483582100752977021911865196145152803953417231772013838628271297216496382745313147623777787545601193971231801073102166081571418283792593282745084673717170570311045377504502284479416196840733756305173220061186402909252416023762563344143764956029112654501658894183721617190636706196102146327745427411573664267478610548114494490049701326681466073235027601469575864652759810903283362563811874506460304920716945160547124445139612696233397054113663378176432693167172174324788120020498949799252604115536513853848262142313920128414259368279443832662271152360297173930646598210564674468705978287574339360244225115375618646198655959556280703437804726344639166084401515545027901284172772594924370056965764537173873096051299395266611814969942972446937104374365814436535553437638172469618344861812949854558849812664215334381772718093108970359582607762182530978586011606431206539270246528340251461663568777312665664372314290610998078251132725518693529082410739556958543548525453707936098381671273577525790074909555360813881034617350711745676369290608241723750100354970106149571977139199099246359065033480164509524755309789212426564987013135305339916928676198868262047064684760709433781635772354068612627551149096062556283756591960503706614301481072163106357293601120215712910962780320764010922253732701739505753777925668721137680859409919296558240509140850139708613990151410104328354063372667467067274819461968988824720951115052103399330025052273347500202856736346707384583901599334942268514999353369220365516871691405825741537268724538008583607648929752017570278626326151302560754685495028393678419262128727319250428386913197576633827464717820878289888579781924835957478890210814594606277052757358686187249587833483622951068755564437706268645919720898812154651410735166469301589965697476758067194636020452303250497949048947399883127275733209713104883264862130618398438300031458732794354541218179182692182949013878301564321481423815928645752291194790291300506635648891720930673414441649427368858727539840128657434212664708614252838891346368857902932357270177886061675600124771866970699942139129985509310786171897907713767025490553617452052324190314230443669713785943929520934640464416671176139062034948722091493965189712072792638835666067743532362554736033778616139422395438938944605811706580880420836614049374657066594246393012966219639062789307544592960174860630795820249954853388936995742898065294246733938102175776059529094912831231797891546390571057749606999349996810181557492618640128215744807587466320221438600412521428466916484908092508563270571335405686177916252953143575335641923049301557353017574575315800626626939667724977283350476378690544602400232622622606984439469645646912594417064906111761643056936695157678048364605212059547317525838488465251538119345419979627752159611803463974561223291334210165604062771592587817061728345698629469530077932541521870102279760384499807979877285590410184415905645947383083105790145978931820171516152080500903184835361062491319185763169442515370923471198674337350461697251811045075909288347136691842306340831907917252439136412062563991015509661175647955551494200111528584410842714112893660931587222547527616371447626907477263138994491219951425656610431931653530106776137603833078393623616256283714563444092455070819135182372571411642399666607859039700751818268082294407317787468307510454272859459361639319979293997084018517407055270237114922624894768464359698724807022283865063570179483291145554841647601059067178556847880390815917137788528020328496013081698320174206083993477134242184345417718684421898434176286183306074297397337394378635818040034822140823705679673305304460208977733857268729121898133230944150931434375503975562627800112089417314200987543199614195325678616295902673204032176076607741253741011953899538950353479401701480978109520837367985644204216226079933908944509320472574034339086658841246013841750123876174304679348186657771224594878774792577476351726916884715747652858200960751333538695549872163988000264532075579235359661317563583521988757053827631636808305880569746716283687194118275915928060447077646581456256839985578728945837051179362571449947348159120582527720210320816824370932805266651927288698009547480142504810428454261511435444743728876175627914098669648063196082808198168469420588173819431297620345075913670651853432169177514148111886459795089429969643832554329992461199712957262962023969219032890174902935953126450366971415811499887844992885605846137934153585373646778724962248920989408566923423587556265193045579464470040331860146021474495993513170797583044448771741365214872568116252634674100076242158561453923395526895656905772931330601248536544975755715095764080696461966467575052492961263728205392340905646916958065447157660255882585819023423114809694122214668524218426504844940638948658914245639927512262303170595924131913084701462263664582335366579733760671407937763694121917898012253202550794445927090056988580987161070251889864283474072790532666000445210799879898795369575601310701000600506735376838711381823879045908375392524259853266319554558572588187561880636974923425500452774001254800799279088468508982839057565328297629505098869916759252131884099115322420686108894783264515139811150209926303957155203500393727027411079117369478937095384712003637406693041168456532590381021805048371107896453595203099293812662714637405025074568828822557880697107157708023383177045107932793985761637095123260953060223303469977176881187266346286506759842379165512015006845041184833055602957447462579518605453908265316222905883648379800344280559713700655734203702709055921414200515024650167935251509501402436061376649103597691145127922934267080064403467326795745195948481361947814886969942673557755096669771873496442918230266249855317268651317823644283800930551559885321061219165671786041281110803227612135737813344806675638712573522540330326752464442386379900620750588198544947113799155493133901793000917834934968229504797669239833050649010268588703408635567999483106225365924725096344849106407354596440471549184675431400247646054497566794504464730489228246171177238763846374129323806353067143453547105684101405874350776205012855998370519788550563353055706151297118603093875039708128437347187128159250402631828887145334311373552557223689628363908560011768895131535294161055044642175226187415342324320677763066911181419980149855416104489931529489458659833547172890548612497344779808640595096229937705251106163138658308234789274625008958442163643654994384491346591453337999940340102822545663315950182058410804877289936327981680704769212059417689650218871786818104993012530393359782797076272952876972564899611799589468478404319021053066185948310785346220896419939008967567342765319314502669727526379972481519742277811246822238899767398834228515626e-4951
+9.11299882970618650632101483404854954099762703923390835930245121757092922158349434202390177156456801299311836836800882775491746408155508042493377018897452251370955645294482919642306315951408389939155390641495852682235079948388381817147810199988543202753879634595761513692178855612323826464929567053565655516883088865211017019814938434922056584742975703338666052989323453000054190668073008069358409757711401382448879713824803063830292790871907284615732508878463187540078321144646836641714520837263280926298497175995827146959986580625367150614866594146717614105908677560599298664715089392016783619495691054934073204437823890134211440316961661977129365812730934009878180695353988341524099861100850529263372112005494440901109477171905812258529227323637633070888651063754117762127747538812423705094043768193630399481207316041168207344806208594630537211881115413335113285224633734725269999866521248948235216770556291974523156583071033408384307591427651668177754025424246727136381704023361696393955886321614167616227321765765646890482554798209893671519933100185483167698146646061975813150428625627913004683426389119417464100765417965247075255522252188101059573453030353939631794886820407058177721498614643678758463219398856506200197929995488836037979149750875957205550088916491989692772734422102307762690936220523614080121068179030699537459090415147398802270894221813558133238807437473160137690739859560319624048454845519386476365293136990335117454422791419023565330181431828151870734413285105404921525764882299855357984362391524834349015768804575560961368835419493115509531656725852041771629386346595538752239016488852598228738155981970211789883296133871666620120140851882857096332325130619421054262737816186863658938716553696235385578777759657671097856303109826047646030593555743071151634371263116162163842429774756690129571890249249302694618266745032356856859879258097741197841919555437407743854928359534790669719638999794382112720687011634647044361817576684558724625744225713250341137601306821773485014581447146364342163747989066465762520868021905766505225844729872480243797707355400502595509869443020850165379788743173859145576255477727144173012043383739723542744190771201959350703462306885235518328850278815583719203990521860325564139609728125151807551445503270918528255874403111303698792745962171997087050822360314227188891304020453787801409723278140603832271114233523786546117322725291527658718897541208901735407351872443594948184951168691060870978021172967942306361626571077641327297718119321563981345882136259090137713556729892811590283306476205075479147079271094428064841973711602823705646768958871746411377707470132144695674603139062318630558765273113585596550581780101956885083478653298047293578971034172004858991568415867607860110758034102943901257650359209265993172582604368796832550227991875124190404530653699113234281017599675972717228881762872616434186349441235273719869912359540644153586737163021327006174089564189146448642123329760513470710952045089696777693604518869700296629894354067974095792458927056409146163642160925654650608387234540930183193134586363628266252885168941377664242625103384301342516981220052304340851830918342112001226102103494435426741373561760199946612965455547118392814389204858321021871505919062366967370907845118464121559886753900829580653195913017174949634850101659327920682778835169460415060177607887785092602593896393234825771018460885175530137990762628739986435339792477919143869600819845028005086837073134537699580113198710606881625449213227965777044569159618080059467520715567940849048784878428075784048591505385207632864227646012093136506294441285115051778230787980794100536688217055491722478845399120313290174205565180798564880453263575864305591991982317190768223088819713678569560965777695766765031114759828882044210076232880703287186456087723032648753799500639301083120803887861774378127519055841200300722021908912663658736721808181905976614769167556777158540579802589251818342338664296892261598721223770948525882958989903498643844474443881365494366186879540743752522865890481258185661398661450145400174586954255798594980349336920287623171809337255391051615774034675800312569439495102693161753597894786106093813129941691167614502128824411906036203613374017421281859950157388018923162152170376719761094107244365793793801295386989614878789768675321459623423508501915602525045883285379171046365189543766620390254725283257987760524763324279709362246110807714160684401619696970071324975880463756403103367758616656042889802269384624618776702823507265083567950830141623483756155429929421201110837966736672631316515189583047632951808141375472573438564897736858285096083841743349704224813424575529979035722907751337333843039501444986132294183971798495102322118655423647575774638095594242360591296505782746376955904417512797972253837869914944669033112417910503764885109559325980725764019767086158860069193141356486082481913726565738118888937728005969856159005365510830407857091418962966413725423368585852851555226887522511422397080984203668781525866100305932014546262080118812816720718824780145563272508294470918608085953183530980510731638727137057868321337393052740572472450248506633407330366175138007347879323263799054516416812819059372532301524603584725802735622225698063481166985270568316890882163465835860871623940600102494748996263020577682569269241310711569600642071296841397219163311355761801485869653232991052823372343529891437871696801221125576878093230993279797781403517189023631723195830422007577725139506420863862974621850284828822685869365480256496976333059074849714862234685521871829072182677767188190862348091724309064749272794249063321076671908863590465544851797913038810912654892930058032156032696351232641701257308317843886563328321861571453054990391255663627593467645412053697784792717742627268539680491908356367887628950374547776804069405173086753558728381846453041208618750501774850530747859885695995496231795325167400822547623776548946062132824935065676526699584643380994341310235323423803547168908178861770343063137755745480312781418782959802518533071507405360815531786468005601078564554813901603820054611268663508697528768889628343605688404297049596482791202545704250698543069950757050521641770316863337335336374097309844944123604755575260516996650125261366737501014283681733536922919507996674711342574996766846101827584358457029128707686343622690042918038244648760087851393131630756512803773427475141968392096310643636596252141934565987883169137323589104391449442898909624179787394451054072973031385263786793430936247939167418114755343777822188531343229598604494060773257053675832346507949828487383790335973180102261516252489745244736999415636378666048565524416324310653091992191500157293663971772706090895913460914745069391507821607407119079643228761455973951456502533178244458604653367072208247136844293637699200643287171063323543071264194456731844289514661786350889430308378000623859334853499710695649927546553930859489538568835127452768087260261620951571152218348568929719647604673202322083355880695310174743610457469825948560363963194178330338717661812773680168893080697111977194694723029058532904402104183070246873285332971231965064831098195313946537722964800874303153979101249774266944684978714490326471233669690510878880297645474564156158989457731952855288748034996749984050907787463093200641078724037937331601107193002062607142334582424540462542816352856677028430889581264765717876678209615246507786765087872876579003133134698338624886416752381893452723012001163113113034922197348228234562972085324530558808215284683475788390241823026060297736587629192442326257690596727099898138760798059017319872806116456671050828020313857962939085308641728493147347650389662707609350511398801922499039899386427952050922079528229736915415528950729894659100857580760402504515924176805312456595928815847212576854617355993371686752308486259055225379546441735683459211531704159539586262195682060312819955077548305878239777757471000557642922054213570564468304657936112737638081857238134537386315694972456099757128283052159658267650533880688019165391968118081281418572817220462275354095675911862857058211998333039295198503759091340411472036588937341537552271364297296808196599896469985420092587035276351185574613124473842321798493624035111419325317850897416455727774208238005295335892784239401954079585688942640101642480065408491600871030419967385671210921727088593422109492170881430916530371486986686971893179090200174110704118528398366526522301044888669286343645609490666154720754657171877519877813139000560447086571004937715998070976628393081479513366020160880383038706268705059769497694751767397008507404890547604186839928221021081130399669544722546602362870171695433294206230069208750619380871523396740933288856122974393873962887381758634584423578738264291004803756667693477749360819940001322660377896176798306587817917609943785269138158184041529402848733581418435970591379579640302235388232907281284199927893644729185255896812857249736740795602912638601051604084121854664026333259636443490047737400712524052142271307557177223718644380878139570493348240315980414040990842347102940869097156488101725379568353259267160845887570740559432298975447149848219162771649962305998564786314810119846095164450874514679765632251834857079057499439224964428029230689670767926868233893624811244604947042834617117937781325965227897322350201659300730107372479967565853987915222243858706826074362840581263173370500381210792807269616977634478284528864656653006242682724878778575478820403482309832337875262464806318641026961704528234584790327235788301279412929095117115574048470611073342621092132524224703194743294571228199637561311515852979620659565423507311318322911676832898668803357039688818470609589490061266012753972229635450284942904935805351259449321417370363952663330002226053999399493976847878006553505003002533676884193556909119395229541876962621299266331597772792862940937809403184874617127502263870006274003996395442342544914195287826641488147525494349583796260659420495576612103430544473916322575699055751049631519785776017501968635137055395586847394685476923560018187033465205842282662951905109025241855539482267976015496469063313573187025125372844144112789403485535788540116915885225539663969928808185475616304765301116517349885884405936331731432533799211895827560075034225205924165278014787237312897593027269541326581114529418241899001721402798568503278671018513545279607071002575123250839676257547507012180306883245517988455725639614671335400322017336633978725979742406809739074434849713367788775483348859367482214591151331249276586343256589118221419004652757799426605306095828358930206405554016138060678689066724033378193562867612701651633762322211931899503103752940992724735568995777465669508965004589174674841147523988346199165253245051342943517043177839997415531126829623625481724245532036772982202357745923377157001238230272487833972522323652446141230855886193819231870646619031765335717267735528420507029371753881025064279991852598942752816765278530756485593015469375198540642186735935640796252013159144435726671556867762786118448141819542800058844475657676470805275223210876130937076711621603388815334555907099900749277080522449657647447293299167735864452743062486723899043202975481149688526255530815693291541173946373125044792210818218274971922456732957266689999701700514112728316579750910292054024386449681639908403523846060297088448251094358934090524965062651966798913985381364764384862824498058997947342392021595105265330929741553926731104482099695044837836713826596572513348637631899862407598711389056234111194498836994171142578124e-4952
+9.11299882970618650632101483404854954099762703923390835930245121757092922158349434202390177156456801299311836836800882775491746408155508042493377018897452251370955645294482919642306315951408389939155390641495852682235079948388381817147810199988543202753879634595761513692178855612323826464929567053565655516883088865211017019814938434922056584742975703338666052989323453000054190668073008069358409757711401382448879713824803063830292790871907284615732508878463187540078321144646836641714520837263280926298497175995827146959986580625367150614866594146717614105908677560599298664715089392016783619495691054934073204437823890134211440316961661977129365812730934009878180695353988341524099861100850529263372112005494440901109477171905812258529227323637633070888651063754117762127747538812423705094043768193630399481207316041168207344806208594630537211881115413335113285224633734725269999866521248948235216770556291974523156583071033408384307591427651668177754025424246727136381704023361696393955886321614167616227321765765646890482554798209893671519933100185483167698146646061975813150428625627913004683426389119417464100765417965247075255522252188101059573453030353939631794886820407058177721498614643678758463219398856506200197929995488836037979149750875957205550088916491989692772734422102307762690936220523614080121068179030699537459090415147398802270894221813558133238807437473160137690739859560319624048454845519386476365293136990335117454422791419023565330181431828151870734413285105404921525764882299855357984362391524834349015768804575560961368835419493115509531656725852041771629386346595538752239016488852598228738155981970211789883296133871666620120140851882857096332325130619421054262737816186863658938716553696235385578777759657671097856303109826047646030593555743071151634371263116162163842429774756690129571890249249302694618266745032356856859879258097741197841919555437407743854928359534790669719638999794382112720687011634647044361817576684558724625744225713250341137601306821773485014581447146364342163747989066465762520868021905766505225844729872480243797707355400502595509869443020850165379788743173859145576255477727144173012043383739723542744190771201959350703462306885235518328850278815583719203990521860325564139609728125151807551445503270918528255874403111303698792745962171997087050822360314227188891304020453787801409723278140603832271114233523786546117322725291527658718897541208901735407351872443594948184951168691060870978021172967942306361626571077641327297718119321563981345882136259090137713556729892811590283306476205075479147079271094428064841973711602823705646768958871746411377707470132144695674603139062318630558765273113585596550581780101956885083478653298047293578971034172004858991568415867607860110758034102943901257650359209265993172582604368796832550227991875124190404530653699113234281017599675972717228881762872616434186349441235273719869912359540644153586737163021327006174089564189146448642123329760513470710952045089696777693604518869700296629894354067974095792458927056409146163642160925654650608387234540930183193134586363628266252885168941377664242625103384301342516981220052304340851830918342112001226102103494435426741373561760199946612965455547118392814389204858321021871505919062366967370907845118464121559886753900829580653195913017174949634850101659327920682778835169460415060177607887785092602593896393234825771018460885175530137990762628739986435339792477919143869600819845028005086837073134537699580113198710606881625449213227965777044569159618080059467520715567940849048784878428075784048591505385207632864227646012093136506294441285115051778230787980794100536688217055491722478845399120313290174205565180798564880453263575864305591991982317190768223088819713678569560965777695766765031114759828882044210076232880703287186456087723032648753799500639301083120803887861774378127519055841200300722021908912663658736721808181905976614769167556777158540579802589251818342338664296892261598721223770948525882958989903498643844474443881365494366186879540743752522865890481258185661398661450145400174586954255798594980349336920287623171809337255391051615774034675800312569439495102693161753597894786106093813129941691167614502128824411906036203613374017421281859950157388018923162152170376719761094107244365793793801295386989614878789768675321459623423508501915602525045883285379171046365189543766620390254725283257987760524763324279709362246110807714160684401619696970071324975880463756403103367758616656042889802269384624618776702823507265083567950830141623483756155429929421201110837966736672631316515189583047632951808141375472573438564897736858285096083841743349704224813424575529979035722907751337333843039501444986132294183971798495102322118655423647575774638095594242360591296505782746376955904417512797972253837869914944669033112417910503764885109559325980725764019767086158860069193141356486082481913726565738118888937728005969856159005365510830407857091418962966413725423368585852851555226887522511422397080984203668781525866100305932014546262080118812816720718824780145563272508294470918608085953183530980510731638727137057868321337393052740572472450248506633407330366175138007347879323263799054516416812819059372532301524603584725802735622225698063481166985270568316890882163465835860871623940600102494748996263020577682569269241310711569600642071296841397219163311355761801485869653232991052823372343529891437871696801221125576878093230993279797781403517189023631723195830422007577725139506420863862974621850284828822685869365480256496976333059074849714862234685521871829072182677767188190862348091724309064749272794249063321076671908863590465544851797913038810912654892930058032156032696351232641701257308317843886563328321861571453054990391255663627593467645412053697784792717742627268539680491908356367887628950374547776804069405173086753558728381846453041208618750501774850530747859885695995496231795325167400822547623776548946062132824935065676526699584643380994341310235323423803547168908178861770343063137755745480312781418782959802518533071507405360815531786468005601078564554813901603820054611268663508697528768889628343605688404297049596482791202545704250698543069950757050521641770316863337335336374097309844944123604755575260516996650125261366737501014283681733536922919507996674711342574996766846101827584358457029128707686343622690042918038244648760087851393131630756512803773427475141968392096310643636596252141934565987883169137323589104391449442898909624179787394451054072973031385263786793430936247939167418114755343777822188531343229598604494060773257053675832346507949828487383790335973180102261516252489745244736999415636378666048565524416324310653091992191500157293663971772706090895913460914745069391507821607407119079643228761455973951456502533178244458604653367072208247136844293637699200643287171063323543071264194456731844289514661786350889430308378000623859334853499710695649927546553930859489538568835127452768087260261620951571152218348568929719647604673202322083355880695310174743610457469825948560363963194178330338717661812773680168893080697111977194694723029058532904402104183070246873285332971231965064831098195313946537722964800874303153979101249774266944684978714490326471233669690510878880297645474564156158989457731952855288748034996749984050907787463093200641078724037937331601107193002062607142334582424540462542816352856677028430889581264765717876678209615246507786765087872876579003133134698338624886416752381893452723012001163113113034922197348228234562972085324530558808215284683475788390241823026060297736587629192442326257690596727099898138760798059017319872806116456671050828020313857962939085308641728493147347650389662707609350511398801922499039899386427952050922079528229736915415528950729894659100857580760402504515924176805312456595928815847212576854617355993371686752308486259055225379546441735683459211531704159539586262195682060312819955077548305878239777757471000557642922054213570564468304657936112737638081857238134537386315694972456099757128283052159658267650533880688019165391968118081281418572817220462275354095675911862857058211998333039295198503759091340411472036588937341537552271364297296808196599896469985420092587035276351185574613124473842321798493624035111419325317850897416455727774208238005295335892784239401954079585688942640101642480065408491600871030419967385671210921727088593422109492170881430916530371486986686971893179090200174110704118528398366526522301044888669286343645609490666154720754657171877519877813139000560447086571004937715998070976628393081479513366020160880383038706268705059769497694751767397008507404890547604186839928221021081130399669544722546602362870171695433294206230069208750619380871523396740933288856122974393873962887381758634584423578738264291004803756667693477749360819940001322660377896176798306587817917609943785269138158184041529402848733581418435970591379579640302235388232907281284199927893644729185255896812857249736740795602912638601051604084121854664026333259636443490047737400712524052142271307557177223718644380878139570493348240315980414040990842347102940869097156488101725379568353259267160845887570740559432298975447149848219162771649962305998564786314810119846095164450874514679765632251834857079057499439224964428029230689670767926868233893624811244604947042834617117937781325965227897322350201659300730107372479967565853987915222243858706826074362840581263173370500381210792807269616977634478284528864656653006242682724878778575478820403482309832337875262464806318641026961704528234584790327235788301279412929095117115574048470611073342621092132524224703194743294571228199637561311515852979620659565423507311318322911676832898668803357039688818470609589490061266012753972229635450284942904935805351259449321417370363952663330002226053999399493976847878006553505003002533676884193556909119395229541876962621299266331597772792862940937809403184874617127502263870006274003996395442342544914195287826641488147525494349583796260659420495576612103430544473916322575699055751049631519785776017501968635137055395586847394685476923560018187033465205842282662951905109025241855539482267976015496469063313573187025125372844144112789403485535788540116915885225539663969928808185475616304765301116517349885884405936331731432533799211895827560075034225205924165278014787237312897593027269541326581114529418241899001721402798568503278671018513545279607071002575123250839676257547507012180306883245517988455725639614671335400322017336633978725979742406809739074434849713367788775483348859367482214591151331249276586343256589118221419004652757799426605306095828358930206405554016138060678689066724033378193562867612701651633762322211931899503103752940992724735568995777465669508965004589174674841147523988346199165253245051342943517043177839997415531126829623625481724245532036772982202357745923377157001238230272487833972522323652446141230855886193819231870646619031765335717267735528420507029371753881025064279991852598942752816765278530756485593015469375198540642186735935640796252013159144435726671556867762786118448141819542800058844475657676470805275223210876130937076711621603388815334555907099900749277080522449657647447293299167735864452743062486723899043202975481149688526255530815693291541173946373125044792210818218274971922456732957266689999701700514112728316579750910292054024386449681639908403523846060297088448251094358934090524965062651966798913985381364764384862824498058997947342392021595105265330929741553926731104482099695044837836713826596572513348637631899862407598711389056234111194498836994171142578125e-4952
+9.11299882970618650632101483404854954099762703923390835930245121757092922158349434202390177156456801299311836836800882775491746408155508042493377018897452251370955645294482919642306315951408389939155390641495852682235079948388381817147810199988543202753879634595761513692178855612323826464929567053565655516883088865211017019814938434922056584742975703338666052989323453000054190668073008069358409757711401382448879713824803063830292790871907284615732508878463187540078321144646836641714520837263280926298497175995827146959986580625367150614866594146717614105908677560599298664715089392016783619495691054934073204437823890134211440316961661977129365812730934009878180695353988341524099861100850529263372112005494440901109477171905812258529227323637633070888651063754117762127747538812423705094043768193630399481207316041168207344806208594630537211881115413335113285224633734725269999866521248948235216770556291974523156583071033408384307591427651668177754025424246727136381704023361696393955886321614167616227321765765646890482554798209893671519933100185483167698146646061975813150428625627913004683426389119417464100765417965247075255522252188101059573453030353939631794886820407058177721498614643678758463219398856506200197929995488836037979149750875957205550088916491989692772734422102307762690936220523614080121068179030699537459090415147398802270894221813558133238807437473160137690739859560319624048454845519386476365293136990335117454422791419023565330181431828151870734413285105404921525764882299855357984362391524834349015768804575560961368835419493115509531656725852041771629386346595538752239016488852598228738155981970211789883296133871666620120140851882857096332325130619421054262737816186863658938716553696235385578777759657671097856303109826047646030593555743071151634371263116162163842429774756690129571890249249302694618266745032356856859879258097741197841919555437407743854928359534790669719638999794382112720687011634647044361817576684558724625744225713250341137601306821773485014581447146364342163747989066465762520868021905766505225844729872480243797707355400502595509869443020850165379788743173859145576255477727144173012043383739723542744190771201959350703462306885235518328850278815583719203990521860325564139609728125151807551445503270918528255874403111303698792745962171997087050822360314227188891304020453787801409723278140603832271114233523786546117322725291527658718897541208901735407351872443594948184951168691060870978021172967942306361626571077641327297718119321563981345882136259090137713556729892811590283306476205075479147079271094428064841973711602823705646768958871746411377707470132144695674603139062318630558765273113585596550581780101956885083478653298047293578971034172004858991568415867607860110758034102943901257650359209265993172582604368796832550227991875124190404530653699113234281017599675972717228881762872616434186349441235273719869912359540644153586737163021327006174089564189146448642123329760513470710952045089696777693604518869700296629894354067974095792458927056409146163642160925654650608387234540930183193134586363628266252885168941377664242625103384301342516981220052304340851830918342112001226102103494435426741373561760199946612965455547118392814389204858321021871505919062366967370907845118464121559886753900829580653195913017174949634850101659327920682778835169460415060177607887785092602593896393234825771018460885175530137990762628739986435339792477919143869600819845028005086837073134537699580113198710606881625449213227965777044569159618080059467520715567940849048784878428075784048591505385207632864227646012093136506294441285115051778230787980794100536688217055491722478845399120313290174205565180798564880453263575864305591991982317190768223088819713678569560965777695766765031114759828882044210076232880703287186456087723032648753799500639301083120803887861774378127519055841200300722021908912663658736721808181905976614769167556777158540579802589251818342338664296892261598721223770948525882958989903498643844474443881365494366186879540743752522865890481258185661398661450145400174586954255798594980349336920287623171809337255391051615774034675800312569439495102693161753597894786106093813129941691167614502128824411906036203613374017421281859950157388018923162152170376719761094107244365793793801295386989614878789768675321459623423508501915602525045883285379171046365189543766620390254725283257987760524763324279709362246110807714160684401619696970071324975880463756403103367758616656042889802269384624618776702823507265083567950830141623483756155429929421201110837966736672631316515189583047632951808141375472573438564897736858285096083841743349704224813424575529979035722907751337333843039501444986132294183971798495102322118655423647575774638095594242360591296505782746376955904417512797972253837869914944669033112417910503764885109559325980725764019767086158860069193141356486082481913726565738118888937728005969856159005365510830407857091418962966413725423368585852851555226887522511422397080984203668781525866100305932014546262080118812816720718824780145563272508294470918608085953183530980510731638727137057868321337393052740572472450248506633407330366175138007347879323263799054516416812819059372532301524603584725802735622225698063481166985270568316890882163465835860871623940600102494748996263020577682569269241310711569600642071296841397219163311355761801485869653232991052823372343529891437871696801221125576878093230993279797781403517189023631723195830422007577725139506420863862974621850284828822685869365480256496976333059074849714862234685521871829072182677767188190862348091724309064749272794249063321076671908863590465544851797913038810912654892930058032156032696351232641701257308317843886563328321861571453054990391255663627593467645412053697784792717742627268539680491908356367887628950374547776804069405173086753558728381846453041208618750501774850530747859885695995496231795325167400822547623776548946062132824935065676526699584643380994341310235323423803547168908178861770343063137755745480312781418782959802518533071507405360815531786468005601078564554813901603820054611268663508697528768889628343605688404297049596482791202545704250698543069950757050521641770316863337335336374097309844944123604755575260516996650125261366737501014283681733536922919507996674711342574996766846101827584358457029128707686343622690042918038244648760087851393131630756512803773427475141968392096310643636596252141934565987883169137323589104391449442898909624179787394451054072973031385263786793430936247939167418114755343777822188531343229598604494060773257053675832346507949828487383790335973180102261516252489745244736999415636378666048565524416324310653091992191500157293663971772706090895913460914745069391507821607407119079643228761455973951456502533178244458604653367072208247136844293637699200643287171063323543071264194456731844289514661786350889430308378000623859334853499710695649927546553930859489538568835127452768087260261620951571152218348568929719647604673202322083355880695310174743610457469825948560363963194178330338717661812773680168893080697111977194694723029058532904402104183070246873285332971231965064831098195313946537722964800874303153979101249774266944684978714490326471233669690510878880297645474564156158989457731952855288748034996749984050907787463093200641078724037937331601107193002062607142334582424540462542816352856677028430889581264765717876678209615246507786765087872876579003133134698338624886416752381893452723012001163113113034922197348228234562972085324530558808215284683475788390241823026060297736587629192442326257690596727099898138760798059017319872806116456671050828020313857962939085308641728493147347650389662707609350511398801922499039899386427952050922079528229736915415528950729894659100857580760402504515924176805312456595928815847212576854617355993371686752308486259055225379546441735683459211531704159539586262195682060312819955077548305878239777757471000557642922054213570564468304657936112737638081857238134537386315694972456099757128283052159658267650533880688019165391968118081281418572817220462275354095675911862857058211998333039295198503759091340411472036588937341537552271364297296808196599896469985420092587035276351185574613124473842321798493624035111419325317850897416455727774208238005295335892784239401954079585688942640101642480065408491600871030419967385671210921727088593422109492170881430916530371486986686971893179090200174110704118528398366526522301044888669286343645609490666154720754657171877519877813139000560447086571004937715998070976628393081479513366020160880383038706268705059769497694751767397008507404890547604186839928221021081130399669544722546602362870171695433294206230069208750619380871523396740933288856122974393873962887381758634584423578738264291004803756667693477749360819940001322660377896176798306587817917609943785269138158184041529402848733581418435970591379579640302235388232907281284199927893644729185255896812857249736740795602912638601051604084121854664026333259636443490047737400712524052142271307557177223718644380878139570493348240315980414040990842347102940869097156488101725379568353259267160845887570740559432298975447149848219162771649962305998564786314810119846095164450874514679765632251834857079057499439224964428029230689670767926868233893624811244604947042834617117937781325965227897322350201659300730107372479967565853987915222243858706826074362840581263173370500381210792807269616977634478284528864656653006242682724878778575478820403482309832337875262464806318641026961704528234584790327235788301279412929095117115574048470611073342621092132524224703194743294571228199637561311515852979620659565423507311318322911676832898668803357039688818470609589490061266012753972229635450284942904935805351259449321417370363952663330002226053999399493976847878006553505003002533676884193556909119395229541876962621299266331597772792862940937809403184874617127502263870006274003996395442342544914195287826641488147525494349583796260659420495576612103430544473916322575699055751049631519785776017501968635137055395586847394685476923560018187033465205842282662951905109025241855539482267976015496469063313573187025125372844144112789403485535788540116915885225539663969928808185475616304765301116517349885884405936331731432533799211895827560075034225205924165278014787237312897593027269541326581114529418241899001721402798568503278671018513545279607071002575123250839676257547507012180306883245517988455725639614671335400322017336633978725979742406809739074434849713367788775483348859367482214591151331249276586343256589118221419004652757799426605306095828358930206405554016138060678689066724033378193562867612701651633762322211931899503103752940992724735568995777465669508965004589174674841147523988346199165253245051342943517043177839997415531126829623625481724245532036772982202357745923377157001238230272487833972522323652446141230855886193819231870646619031765335717267735528420507029371753881025064279991852598942752816765278530756485593015469375198540642186735935640796252013159144435726671556867762786118448141819542800058844475657676470805275223210876130937076711621603388815334555907099900749277080522449657647447293299167735864452743062486723899043202975481149688526255530815693291541173946373125044792210818218274971922456732957266689999701700514112728316579750910292054024386449681639908403523846060297088448251094358934090524965062651966798913985381364764384862824498058997947342392021595105265330929741553926731104482099695044837836713826596572513348637631899862407598711389056234111194498836994171142578126e-4952
+-9.11299882970618650632101483404854954099762703923390835930245121757092922158349434202390177156456801299311836836800882775491746408155508042493377018897452251370955645294482919642306315951408389939155390641495852682235079948388381817147810199988543202753879634595761513692178855612323826464929567053565655516883088865211017019814938434922056584742975703338666052989323453000054190668073008069358409757711401382448879713824803063830292790871907284615732508878463187540078321144646836641714520837263280926298497175995827146959986580625367150614866594146717614105908677560599298664715089392016783619495691054934073204437823890134211440316961661977129365812730934009878180695353988341524099861100850529263372112005494440901109477171905812258529227323637633070888651063754117762127747538812423705094043768193630399481207316041168207344806208594630537211881115413335113285224633734725269999866521248948235216770556291974523156583071033408384307591427651668177754025424246727136381704023361696393955886321614167616227321765765646890482554798209893671519933100185483167698146646061975813150428625627913004683426389119417464100765417965247075255522252188101059573453030353939631794886820407058177721498614643678758463219398856506200197929995488836037979149750875957205550088916491989692772734422102307762690936220523614080121068179030699537459090415147398802270894221813558133238807437473160137690739859560319624048454845519386476365293136990335117454422791419023565330181431828151870734413285105404921525764882299855357984362391524834349015768804575560961368835419493115509531656725852041771629386346595538752239016488852598228738155981970211789883296133871666620120140851882857096332325130619421054262737816186863658938716553696235385578777759657671097856303109826047646030593555743071151634371263116162163842429774756690129571890249249302694618266745032356856859879258097741197841919555437407743854928359534790669719638999794382112720687011634647044361817576684558724625744225713250341137601306821773485014581447146364342163747989066465762520868021905766505225844729872480243797707355400502595509869443020850165379788743173859145576255477727144173012043383739723542744190771201959350703462306885235518328850278815583719203990521860325564139609728125151807551445503270918528255874403111303698792745962171997087050822360314227188891304020453787801409723278140603832271114233523786546117322725291527658718897541208901735407351872443594948184951168691060870978021172967942306361626571077641327297718119321563981345882136259090137713556729892811590283306476205075479147079271094428064841973711602823705646768958871746411377707470132144695674603139062318630558765273113585596550581780101956885083478653298047293578971034172004858991568415867607860110758034102943901257650359209265993172582604368796832550227991875124190404530653699113234281017599675972717228881762872616434186349441235273719869912359540644153586737163021327006174089564189146448642123329760513470710952045089696777693604518869700296629894354067974095792458927056409146163642160925654650608387234540930183193134586363628266252885168941377664242625103384301342516981220052304340851830918342112001226102103494435426741373561760199946612965455547118392814389204858321021871505919062366967370907845118464121559886753900829580653195913017174949634850101659327920682778835169460415060177607887785092602593896393234825771018460885175530137990762628739986435339792477919143869600819845028005086837073134537699580113198710606881625449213227965777044569159618080059467520715567940849048784878428075784048591505385207632864227646012093136506294441285115051778230787980794100536688217055491722478845399120313290174205565180798564880453263575864305591991982317190768223088819713678569560965777695766765031114759828882044210076232880703287186456087723032648753799500639301083120803887861774378127519055841200300722021908912663658736721808181905976614769167556777158540579802589251818342338664296892261598721223770948525882958989903498643844474443881365494366186879540743752522865890481258185661398661450145400174586954255798594980349336920287623171809337255391051615774034675800312569439495102693161753597894786106093813129941691167614502128824411906036203613374017421281859950157388018923162152170376719761094107244365793793801295386989614878789768675321459623423508501915602525045883285379171046365189543766620390254725283257987760524763324279709362246110807714160684401619696970071324975880463756403103367758616656042889802269384624618776702823507265083567950830141623483756155429929421201110837966736672631316515189583047632951808141375472573438564897736858285096083841743349704224813424575529979035722907751337333843039501444986132294183971798495102322118655423647575774638095594242360591296505782746376955904417512797972253837869914944669033112417910503764885109559325980725764019767086158860069193141356486082481913726565738118888937728005969856159005365510830407857091418962966413725423368585852851555226887522511422397080984203668781525866100305932014546262080118812816720718824780145563272508294470918608085953183530980510731638727137057868321337393052740572472450248506633407330366175138007347879323263799054516416812819059372532301524603584725802735622225698063481166985270568316890882163465835860871623940600102494748996263020577682569269241310711569600642071296841397219163311355761801485869653232991052823372343529891437871696801221125576878093230993279797781403517189023631723195830422007577725139506420863862974621850284828822685869365480256496976333059074849714862234685521871829072182677767188190862348091724309064749272794249063321076671908863590465544851797913038810912654892930058032156032696351232641701257308317843886563328321861571453054990391255663627593467645412053697784792717742627268539680491908356367887628950374547776804069405173086753558728381846453041208618750501774850530747859885695995496231795325167400822547623776548946062132824935065676526699584643380994341310235323423803547168908178861770343063137755745480312781418782959802518533071507405360815531786468005601078564554813901603820054611268663508697528768889628343605688404297049596482791202545704250698543069950757050521641770316863337335336374097309844944123604755575260516996650125261366737501014283681733536922919507996674711342574996766846101827584358457029128707686343622690042918038244648760087851393131630756512803773427475141968392096310643636596252141934565987883169137323589104391449442898909624179787394451054072973031385263786793430936247939167418114755343777822188531343229598604494060773257053675832346507949828487383790335973180102261516252489745244736999415636378666048565524416324310653091992191500157293663971772706090895913460914745069391507821607407119079643228761455973951456502533178244458604653367072208247136844293637699200643287171063323543071264194456731844289514661786350889430308378000623859334853499710695649927546553930859489538568835127452768087260261620951571152218348568929719647604673202322083355880695310174743610457469825948560363963194178330338717661812773680168893080697111977194694723029058532904402104183070246873285332971231965064831098195313946537722964800874303153979101249774266944684978714490326471233669690510878880297645474564156158989457731952855288748034996749984050907787463093200641078724037937331601107193002062607142334582424540462542816352856677028430889581264765717876678209615246507786765087872876579003133134698338624886416752381893452723012001163113113034922197348228234562972085324530558808215284683475788390241823026060297736587629192442326257690596727099898138760798059017319872806116456671050828020313857962939085308641728493147347650389662707609350511398801922499039899386427952050922079528229736915415528950729894659100857580760402504515924176805312456595928815847212576854617355993371686752308486259055225379546441735683459211531704159539586262195682060312819955077548305878239777757471000557642922054213570564468304657936112737638081857238134537386315694972456099757128283052159658267650533880688019165391968118081281418572817220462275354095675911862857058211998333039295198503759091340411472036588937341537552271364297296808196599896469985420092587035276351185574613124473842321798493624035111419325317850897416455727774208238005295335892784239401954079585688942640101642480065408491600871030419967385671210921727088593422109492170881430916530371486986686971893179090200174110704118528398366526522301044888669286343645609490666154720754657171877519877813139000560447086571004937715998070976628393081479513366020160880383038706268705059769497694751767397008507404890547604186839928221021081130399669544722546602362870171695433294206230069208750619380871523396740933288856122974393873962887381758634584423578738264291004803756667693477749360819940001322660377896176798306587817917609943785269138158184041529402848733581418435970591379579640302235388232907281284199927893644729185255896812857249736740795602912638601051604084121854664026333259636443490047737400712524052142271307557177223718644380878139570493348240315980414040990842347102940869097156488101725379568353259267160845887570740559432298975447149848219162771649962305998564786314810119846095164450874514679765632251834857079057499439224964428029230689670767926868233893624811244604947042834617117937781325965227897322350201659300730107372479967565853987915222243858706826074362840581263173370500381210792807269616977634478284528864656653006242682724878778575478820403482309832337875262464806318641026961704528234584790327235788301279412929095117115574048470611073342621092132524224703194743294571228199637561311515852979620659565423507311318322911676832898668803357039688818470609589490061266012753972229635450284942904935805351259449321417370363952663330002226053999399493976847878006553505003002533676884193556909119395229541876962621299266331597772792862940937809403184874617127502263870006274003996395442342544914195287826641488147525494349583796260659420495576612103430544473916322575699055751049631519785776017501968635137055395586847394685476923560018187033465205842282662951905109025241855539482267976015496469063313573187025125372844144112789403485535788540116915885225539663969928808185475616304765301116517349885884405936331731432533799211895827560075034225205924165278014787237312897593027269541326581114529418241899001721402798568503278671018513545279607071002575123250839676257547507012180306883245517988455725639614671335400322017336633978725979742406809739074434849713367788775483348859367482214591151331249276586343256589118221419004652757799426605306095828358930206405554016138060678689066724033378193562867612701651633762322211931899503103752940992724735568995777465669508965004589174674841147523988346199165253245051342943517043177839997415531126829623625481724245532036772982202357745923377157001238230272487833972522323652446141230855886193819231870646619031765335717267735528420507029371753881025064279991852598942752816765278530756485593015469375198540642186735935640796252013159144435726671556867762786118448141819542800058844475657676470805275223210876130937076711621603388815334555907099900749277080522449657647447293299167735864452743062486723899043202975481149688526255530815693291541173946373125044792210818218274971922456732957266689999701700514112728316579750910292054024386449681639908403523846060297088448251094358934090524965062651966798913985381364764384862824498058997947342392021595105265330929741553926731104482099695044837836713826596572513348637631899862407598711389056234111194498836994171142578124e-4952
+-9.11299882970618650632101483404854954099762703923390835930245121757092922158349434202390177156456801299311836836800882775491746408155508042493377018897452251370955645294482919642306315951408389939155390641495852682235079948388381817147810199988543202753879634595761513692178855612323826464929567053565655516883088865211017019814938434922056584742975703338666052989323453000054190668073008069358409757711401382448879713824803063830292790871907284615732508878463187540078321144646836641714520837263280926298497175995827146959986580625367150614866594146717614105908677560599298664715089392016783619495691054934073204437823890134211440316961661977129365812730934009878180695353988341524099861100850529263372112005494440901109477171905812258529227323637633070888651063754117762127747538812423705094043768193630399481207316041168207344806208594630537211881115413335113285224633734725269999866521248948235216770556291974523156583071033408384307591427651668177754025424246727136381704023361696393955886321614167616227321765765646890482554798209893671519933100185483167698146646061975813150428625627913004683426389119417464100765417965247075255522252188101059573453030353939631794886820407058177721498614643678758463219398856506200197929995488836037979149750875957205550088916491989692772734422102307762690936220523614080121068179030699537459090415147398802270894221813558133238807437473160137690739859560319624048454845519386476365293136990335117454422791419023565330181431828151870734413285105404921525764882299855357984362391524834349015768804575560961368835419493115509531656725852041771629386346595538752239016488852598228738155981970211789883296133871666620120140851882857096332325130619421054262737816186863658938716553696235385578777759657671097856303109826047646030593555743071151634371263116162163842429774756690129571890249249302694618266745032356856859879258097741197841919555437407743854928359534790669719638999794382112720687011634647044361817576684558724625744225713250341137601306821773485014581447146364342163747989066465762520868021905766505225844729872480243797707355400502595509869443020850165379788743173859145576255477727144173012043383739723542744190771201959350703462306885235518328850278815583719203990521860325564139609728125151807551445503270918528255874403111303698792745962171997087050822360314227188891304020453787801409723278140603832271114233523786546117322725291527658718897541208901735407351872443594948184951168691060870978021172967942306361626571077641327297718119321563981345882136259090137713556729892811590283306476205075479147079271094428064841973711602823705646768958871746411377707470132144695674603139062318630558765273113585596550581780101956885083478653298047293578971034172004858991568415867607860110758034102943901257650359209265993172582604368796832550227991875124190404530653699113234281017599675972717228881762872616434186349441235273719869912359540644153586737163021327006174089564189146448642123329760513470710952045089696777693604518869700296629894354067974095792458927056409146163642160925654650608387234540930183193134586363628266252885168941377664242625103384301342516981220052304340851830918342112001226102103494435426741373561760199946612965455547118392814389204858321021871505919062366967370907845118464121559886753900829580653195913017174949634850101659327920682778835169460415060177607887785092602593896393234825771018460885175530137990762628739986435339792477919143869600819845028005086837073134537699580113198710606881625449213227965777044569159618080059467520715567940849048784878428075784048591505385207632864227646012093136506294441285115051778230787980794100536688217055491722478845399120313290174205565180798564880453263575864305591991982317190768223088819713678569560965777695766765031114759828882044210076232880703287186456087723032648753799500639301083120803887861774378127519055841200300722021908912663658736721808181905976614769167556777158540579802589251818342338664296892261598721223770948525882958989903498643844474443881365494366186879540743752522865890481258185661398661450145400174586954255798594980349336920287623171809337255391051615774034675800312569439495102693161753597894786106093813129941691167614502128824411906036203613374017421281859950157388018923162152170376719761094107244365793793801295386989614878789768675321459623423508501915602525045883285379171046365189543766620390254725283257987760524763324279709362246110807714160684401619696970071324975880463756403103367758616656042889802269384624618776702823507265083567950830141623483756155429929421201110837966736672631316515189583047632951808141375472573438564897736858285096083841743349704224813424575529979035722907751337333843039501444986132294183971798495102322118655423647575774638095594242360591296505782746376955904417512797972253837869914944669033112417910503764885109559325980725764019767086158860069193141356486082481913726565738118888937728005969856159005365510830407857091418962966413725423368585852851555226887522511422397080984203668781525866100305932014546262080118812816720718824780145563272508294470918608085953183530980510731638727137057868321337393052740572472450248506633407330366175138007347879323263799054516416812819059372532301524603584725802735622225698063481166985270568316890882163465835860871623940600102494748996263020577682569269241310711569600642071296841397219163311355761801485869653232991052823372343529891437871696801221125576878093230993279797781403517189023631723195830422007577725139506420863862974621850284828822685869365480256496976333059074849714862234685521871829072182677767188190862348091724309064749272794249063321076671908863590465544851797913038810912654892930058032156032696351232641701257308317843886563328321861571453054990391255663627593467645412053697784792717742627268539680491908356367887628950374547776804069405173086753558728381846453041208618750501774850530747859885695995496231795325167400822547623776548946062132824935065676526699584643380994341310235323423803547168908178861770343063137755745480312781418782959802518533071507405360815531786468005601078564554813901603820054611268663508697528768889628343605688404297049596482791202545704250698543069950757050521641770316863337335336374097309844944123604755575260516996650125261366737501014283681733536922919507996674711342574996766846101827584358457029128707686343622690042918038244648760087851393131630756512803773427475141968392096310643636596252141934565987883169137323589104391449442898909624179787394451054072973031385263786793430936247939167418114755343777822188531343229598604494060773257053675832346507949828487383790335973180102261516252489745244736999415636378666048565524416324310653091992191500157293663971772706090895913460914745069391507821607407119079643228761455973951456502533178244458604653367072208247136844293637699200643287171063323543071264194456731844289514661786350889430308378000623859334853499710695649927546553930859489538568835127452768087260261620951571152218348568929719647604673202322083355880695310174743610457469825948560363963194178330338717661812773680168893080697111977194694723029058532904402104183070246873285332971231965064831098195313946537722964800874303153979101249774266944684978714490326471233669690510878880297645474564156158989457731952855288748034996749984050907787463093200641078724037937331601107193002062607142334582424540462542816352856677028430889581264765717876678209615246507786765087872876579003133134698338624886416752381893452723012001163113113034922197348228234562972085324530558808215284683475788390241823026060297736587629192442326257690596727099898138760798059017319872806116456671050828020313857962939085308641728493147347650389662707609350511398801922499039899386427952050922079528229736915415528950729894659100857580760402504515924176805312456595928815847212576854617355993371686752308486259055225379546441735683459211531704159539586262195682060312819955077548305878239777757471000557642922054213570564468304657936112737638081857238134537386315694972456099757128283052159658267650533880688019165391968118081281418572817220462275354095675911862857058211998333039295198503759091340411472036588937341537552271364297296808196599896469985420092587035276351185574613124473842321798493624035111419325317850897416455727774208238005295335892784239401954079585688942640101642480065408491600871030419967385671210921727088593422109492170881430916530371486986686971893179090200174110704118528398366526522301044888669286343645609490666154720754657171877519877813139000560447086571004937715998070976628393081479513366020160880383038706268705059769497694751767397008507404890547604186839928221021081130399669544722546602362870171695433294206230069208750619380871523396740933288856122974393873962887381758634584423578738264291004803756667693477749360819940001322660377896176798306587817917609943785269138158184041529402848733581418435970591379579640302235388232907281284199927893644729185255896812857249736740795602912638601051604084121854664026333259636443490047737400712524052142271307557177223718644380878139570493348240315980414040990842347102940869097156488101725379568353259267160845887570740559432298975447149848219162771649962305998564786314810119846095164450874514679765632251834857079057499439224964428029230689670767926868233893624811244604947042834617117937781325965227897322350201659300730107372479967565853987915222243858706826074362840581263173370500381210792807269616977634478284528864656653006242682724878778575478820403482309832337875262464806318641026961704528234584790327235788301279412929095117115574048470611073342621092132524224703194743294571228199637561311515852979620659565423507311318322911676832898668803357039688818470609589490061266012753972229635450284942904935805351259449321417370363952663330002226053999399493976847878006553505003002533676884193556909119395229541876962621299266331597772792862940937809403184874617127502263870006274003996395442342544914195287826641488147525494349583796260659420495576612103430544473916322575699055751049631519785776017501968635137055395586847394685476923560018187033465205842282662951905109025241855539482267976015496469063313573187025125372844144112789403485535788540116915885225539663969928808185475616304765301116517349885884405936331731432533799211895827560075034225205924165278014787237312897593027269541326581114529418241899001721402798568503278671018513545279607071002575123250839676257547507012180306883245517988455725639614671335400322017336633978725979742406809739074434849713367788775483348859367482214591151331249276586343256589118221419004652757799426605306095828358930206405554016138060678689066724033378193562867612701651633762322211931899503103752940992724735568995777465669508965004589174674841147523988346199165253245051342943517043177839997415531126829623625481724245532036772982202357745923377157001238230272487833972522323652446141230855886193819231870646619031765335717267735528420507029371753881025064279991852598942752816765278530756485593015469375198540642186735935640796252013159144435726671556867762786118448141819542800058844475657676470805275223210876130937076711621603388815334555907099900749277080522449657647447293299167735864452743062486723899043202975481149688526255530815693291541173946373125044792210818218274971922456732957266689999701700514112728316579750910292054024386449681639908403523846060297088448251094358934090524965062651966798913985381364764384862824498058997947342392021595105265330929741553926731104482099695044837836713826596572513348637631899862407598711389056234111194498836994171142578125e-4952
+-9.11299882970618650632101483404854954099762703923390835930245121757092922158349434202390177156456801299311836836800882775491746408155508042493377018897452251370955645294482919642306315951408389939155390641495852682235079948388381817147810199988543202753879634595761513692178855612323826464929567053565655516883088865211017019814938434922056584742975703338666052989323453000054190668073008069358409757711401382448879713824803063830292790871907284615732508878463187540078321144646836641714520837263280926298497175995827146959986580625367150614866594146717614105908677560599298664715089392016783619495691054934073204437823890134211440316961661977129365812730934009878180695353988341524099861100850529263372112005494440901109477171905812258529227323637633070888651063754117762127747538812423705094043768193630399481207316041168207344806208594630537211881115413335113285224633734725269999866521248948235216770556291974523156583071033408384307591427651668177754025424246727136381704023361696393955886321614167616227321765765646890482554798209893671519933100185483167698146646061975813150428625627913004683426389119417464100765417965247075255522252188101059573453030353939631794886820407058177721498614643678758463219398856506200197929995488836037979149750875957205550088916491989692772734422102307762690936220523614080121068179030699537459090415147398802270894221813558133238807437473160137690739859560319624048454845519386476365293136990335117454422791419023565330181431828151870734413285105404921525764882299855357984362391524834349015768804575560961368835419493115509531656725852041771629386346595538752239016488852598228738155981970211789883296133871666620120140851882857096332325130619421054262737816186863658938716553696235385578777759657671097856303109826047646030593555743071151634371263116162163842429774756690129571890249249302694618266745032356856859879258097741197841919555437407743854928359534790669719638999794382112720687011634647044361817576684558724625744225713250341137601306821773485014581447146364342163747989066465762520868021905766505225844729872480243797707355400502595509869443020850165379788743173859145576255477727144173012043383739723542744190771201959350703462306885235518328850278815583719203990521860325564139609728125151807551445503270918528255874403111303698792745962171997087050822360314227188891304020453787801409723278140603832271114233523786546117322725291527658718897541208901735407351872443594948184951168691060870978021172967942306361626571077641327297718119321563981345882136259090137713556729892811590283306476205075479147079271094428064841973711602823705646768958871746411377707470132144695674603139062318630558765273113585596550581780101956885083478653298047293578971034172004858991568415867607860110758034102943901257650359209265993172582604368796832550227991875124190404530653699113234281017599675972717228881762872616434186349441235273719869912359540644153586737163021327006174089564189146448642123329760513470710952045089696777693604518869700296629894354067974095792458927056409146163642160925654650608387234540930183193134586363628266252885168941377664242625103384301342516981220052304340851830918342112001226102103494435426741373561760199946612965455547118392814389204858321021871505919062366967370907845118464121559886753900829580653195913017174949634850101659327920682778835169460415060177607887785092602593896393234825771018460885175530137990762628739986435339792477919143869600819845028005086837073134537699580113198710606881625449213227965777044569159618080059467520715567940849048784878428075784048591505385207632864227646012093136506294441285115051778230787980794100536688217055491722478845399120313290174205565180798564880453263575864305591991982317190768223088819713678569560965777695766765031114759828882044210076232880703287186456087723032648753799500639301083120803887861774378127519055841200300722021908912663658736721808181905976614769167556777158540579802589251818342338664296892261598721223770948525882958989903498643844474443881365494366186879540743752522865890481258185661398661450145400174586954255798594980349336920287623171809337255391051615774034675800312569439495102693161753597894786106093813129941691167614502128824411906036203613374017421281859950157388018923162152170376719761094107244365793793801295386989614878789768675321459623423508501915602525045883285379171046365189543766620390254725283257987760524763324279709362246110807714160684401619696970071324975880463756403103367758616656042889802269384624618776702823507265083567950830141623483756155429929421201110837966736672631316515189583047632951808141375472573438564897736858285096083841743349704224813424575529979035722907751337333843039501444986132294183971798495102322118655423647575774638095594242360591296505782746376955904417512797972253837869914944669033112417910503764885109559325980725764019767086158860069193141356486082481913726565738118888937728005969856159005365510830407857091418962966413725423368585852851555226887522511422397080984203668781525866100305932014546262080118812816720718824780145563272508294470918608085953183530980510731638727137057868321337393052740572472450248506633407330366175138007347879323263799054516416812819059372532301524603584725802735622225698063481166985270568316890882163465835860871623940600102494748996263020577682569269241310711569600642071296841397219163311355761801485869653232991052823372343529891437871696801221125576878093230993279797781403517189023631723195830422007577725139506420863862974621850284828822685869365480256496976333059074849714862234685521871829072182677767188190862348091724309064749272794249063321076671908863590465544851797913038810912654892930058032156032696351232641701257308317843886563328321861571453054990391255663627593467645412053697784792717742627268539680491908356367887628950374547776804069405173086753558728381846453041208618750501774850530747859885695995496231795325167400822547623776548946062132824935065676526699584643380994341310235323423803547168908178861770343063137755745480312781418782959802518533071507405360815531786468005601078564554813901603820054611268663508697528768889628343605688404297049596482791202545704250698543069950757050521641770316863337335336374097309844944123604755575260516996650125261366737501014283681733536922919507996674711342574996766846101827584358457029128707686343622690042918038244648760087851393131630756512803773427475141968392096310643636596252141934565987883169137323589104391449442898909624179787394451054072973031385263786793430936247939167418114755343777822188531343229598604494060773257053675832346507949828487383790335973180102261516252489745244736999415636378666048565524416324310653091992191500157293663971772706090895913460914745069391507821607407119079643228761455973951456502533178244458604653367072208247136844293637699200643287171063323543071264194456731844289514661786350889430308378000623859334853499710695649927546553930859489538568835127452768087260261620951571152218348568929719647604673202322083355880695310174743610457469825948560363963194178330338717661812773680168893080697111977194694723029058532904402104183070246873285332971231965064831098195313946537722964800874303153979101249774266944684978714490326471233669690510878880297645474564156158989457731952855288748034996749984050907787463093200641078724037937331601107193002062607142334582424540462542816352856677028430889581264765717876678209615246507786765087872876579003133134698338624886416752381893452723012001163113113034922197348228234562972085324530558808215284683475788390241823026060297736587629192442326257690596727099898138760798059017319872806116456671050828020313857962939085308641728493147347650389662707609350511398801922499039899386427952050922079528229736915415528950729894659100857580760402504515924176805312456595928815847212576854617355993371686752308486259055225379546441735683459211531704159539586262195682060312819955077548305878239777757471000557642922054213570564468304657936112737638081857238134537386315694972456099757128283052159658267650533880688019165391968118081281418572817220462275354095675911862857058211998333039295198503759091340411472036588937341537552271364297296808196599896469985420092587035276351185574613124473842321798493624035111419325317850897416455727774208238005295335892784239401954079585688942640101642480065408491600871030419967385671210921727088593422109492170881430916530371486986686971893179090200174110704118528398366526522301044888669286343645609490666154720754657171877519877813139000560447086571004937715998070976628393081479513366020160880383038706268705059769497694751767397008507404890547604186839928221021081130399669544722546602362870171695433294206230069208750619380871523396740933288856122974393873962887381758634584423578738264291004803756667693477749360819940001322660377896176798306587817917609943785269138158184041529402848733581418435970591379579640302235388232907281284199927893644729185255896812857249736740795602912638601051604084121854664026333259636443490047737400712524052142271307557177223718644380878139570493348240315980414040990842347102940869097156488101725379568353259267160845887570740559432298975447149848219162771649962305998564786314810119846095164450874514679765632251834857079057499439224964428029230689670767926868233893624811244604947042834617117937781325965227897322350201659300730107372479967565853987915222243858706826074362840581263173370500381210792807269616977634478284528864656653006242682724878778575478820403482309832337875262464806318641026961704528234584790327235788301279412929095117115574048470611073342621092132524224703194743294571228199637561311515852979620659565423507311318322911676832898668803357039688818470609589490061266012753972229635450284942904935805351259449321417370363952663330002226053999399493976847878006553505003002533676884193556909119395229541876962621299266331597772792862940937809403184874617127502263870006274003996395442342544914195287826641488147525494349583796260659420495576612103430544473916322575699055751049631519785776017501968635137055395586847394685476923560018187033465205842282662951905109025241855539482267976015496469063313573187025125372844144112789403485535788540116915885225539663969928808185475616304765301116517349885884405936331731432533799211895827560075034225205924165278014787237312897593027269541326581114529418241899001721402798568503278671018513545279607071002575123250839676257547507012180306883245517988455725639614671335400322017336633978725979742406809739074434849713367788775483348859367482214591151331249276586343256589118221419004652757799426605306095828358930206405554016138060678689066724033378193562867612701651633762322211931899503103752940992724735568995777465669508965004589174674841147523988346199165253245051342943517043177839997415531126829623625481724245532036772982202357745923377157001238230272487833972522323652446141230855886193819231870646619031765335717267735528420507029371753881025064279991852598942752816765278530756485593015469375198540642186735935640796252013159144435726671556867762786118448141819542800058844475657676470805275223210876130937076711621603388815334555907099900749277080522449657647447293299167735864452743062486723899043202975481149688526255530815693291541173946373125044792210818218274971922456732957266689999701700514112728316579750910292054024386449681639908403523846060297088448251094358934090524965062651966798913985381364764384862824498058997947342392021595105265330929741553926731104482099695044837836713826596572513348637631899862407598711389056234111194498836994171142578126e-4952
+3.237587559719012555462219479113823276249784669017340504844942194598519770062059685508835745638324970127939070738424059838293609943191271023342555035986308991521396355375667467208367312819235870119724263252776995195727778126085574034035411017344128491238136414394551514178668780674015531193282296319913113495953953933831631032855605791532328598034154166422617226534880263244723830482289656875701701315902175019974435037627824356684033058939701577883356651733717468531204705842607568803666569711421917525834491783583598401321476176752039857173551930268891446850107760584333855521475305010940756813993214730850216669600967698749412592167692757446422169965426483919224341062751152057061076522973232731542382055087239368522167656194830741819605276971705738272393130698937532095725613383807312946395184980707534803490003540251394324459987958400939111001126190861523615485938285497714410609640798273816511769391568591823198476415765275534341709798367687043373145262933998108452661682659942586304978413812755518166239176614473815940025342279575304159493260770068030636885746695206392378276051948759263882079389379666940357441139816661913198656187703463519723262653223919257185751827493927586153153792077729913353547954808876263400200663495414360816863385220457719546338953323399286762099558324132103460225580066817535680886906060858264089074120360391613368274811868067637495154569071591624185979937989402513750464346904036668477876379544221432800037599944499161940321774835027752710681217554286366043661491013593886229615614494736186475932160549630939390542165126494166960681499481651861215529870984381726203476917507560266886692644952355421814201350137351435237036912624414444992497142303802423605897110605364956579914507108584002230524766331348271456591814078599780820974961968314684496428310691542272663818486132771177670874927831510002443658417608078383611526899905533629456904234997116303929427262032216072887961072267850618234492852606488522739744757845004694461812790342894353802938671928834585447328398711684245164703625580196678024410303542544534512706792134908369873605619756775207191558754413381571756431003248529020572648048946458999967788526617126349345966896362376841092268841417781414969315002419192181972121568811432459128737128140063645558482525300089060238860392371092102688097987915838860882370022268312322882235690785726190915062699382576041643741555139697348927957856990969985342299599797431503615312038393069808777315725367497595040966093808407117316369389112216628231869173217637452855462790553030636920487796465880633399632793882734473382168542596184679158149228725004404714293460752371865436947855237307240001863573081174929166645758276081272685156100195420794154740486637315823136798695124738873328565945598241199335059398955049459449844741098478330319112865980346771381982151154499846478545530650091824164892591396650703633600023191521502618379988693800703884555191647864959327260468892793195316578510173816406054364319294906641284764788384683586662382042642852654156477478700779123584369965723284711409361741235548687181052639639279285373139084165798451899763979500837428077782309910703522399860010310321116623028924118238023770381424894162717815296210097245221769714495449744327945091943394325259297771090128969600269822520904193880119094781214175887316220311309028456568749910010962366586834018403242866721783519806933018588077977626913774236680220258524711348037750591646286531625306510583751929280541119187219596706615736304036444366663256426643903386694536649648686380122198677895751002327229059364018755164517060321515091173358005987498359799467138817648881479418623694683454881683746841149715181334498096967702613110590140231345676956141227850879905018558219984441819798054463206764413100251255775535830770535620946159535406497134759043192647996190512978586496199656070707105117773853504277795024754647024165589129442822627147868917463795166386552921913398878270019905147510849518894114102536073369047160130990411626048426437835295683097278297774735181045158616674564080237813146623269215019613231938626758927531490945029356207933289363847181438902539297057969524961348607844569521442237914899100699610921669921572167164875488132527187949318543809703388178931170799769792886086681284964861608656928109305369539955846964197786677053847603962194721523867993048528558551380823699291873352033111096244814245789620930756114228971363838828108534030152031715929722499546436547773404017947035596936338462103946797525667033935433489292620531649199724400832489751788129365426568881328357966337292439204382537174357675404105580244018783685041224798457022189315692175787257287203633134300759209060570319508886475377719911176071302732819878165468592717406388218727585026352127436844762994722826390779737322113768842482160812973100323673863050234437722898796145596181862320550301285861980052194863780743808106946940079349630782676930197134206259739125377941060751175427888774493677478593805682322173891730311959284895178856039354015035864931073602059531001572891528828982167810245343327388887928886208615327002834690068636094325052251429781641267821367266715283643659749152264457938319185148303604827363623405060374573505789923003843438436174489383805098509083722050766328250349793203837202162624690093533478114438810603140565070517669964629947543608404988178019652088162307525611931821066493746994641048066011859814337589829896549720562117090677291541318153057715167624128318297771376531788973088699647168159229805877415594828532539839967464064556647594705830374653113373530876658380240145380423210673778776803592627231257495817394581607796277282644312510714532297108722017217547317744900647318022108570947064304280100418971450552007356891519523293614416944016354756866350050833501416942505071203810116719053430543531027953437436446745566839242129860410443198862219469972163224971258348314341755015213118628882713134766297624091644805801186976152536913514712919240503721680740586016832099946807466311777189050656676962849581383790904722087478646766320517056183581970236248227413322748304134245717987665377396011236706627320817654565682680006957454759981618023476448544673508068369492066566895437050571584345511070959483898938738225050292533674383091612495407126805381796487365892131916426837522671623266627483065655765705534239355214893395905702329340402794052884259146049064629582075576563307670749189662176976725361937046200576007893814439695301892528761187544161389682003509216791271836545495416676148151145195082668323677621182991451835324281863619641773620601014510950996746726615703771971266687151564427772359427340566909351858654807999781808513034680104078196607462166928018863385629928965649243954503391493597963417955268639606791452833692467872935741940362479842688642227725662504694679557678170929873774151037857807219938356152056997839625453727441947651198316190826615266016347740875615970031428012228328190610356706715662722241878767131224669837573607121539572299329404101274463156060298348931678277361174057097484704587036227686110677413094941011961262438027467952964727129462752693949019764164538344775554466171428121848999818969114034332797672927989107710137279281184295118233855942385256333164153378143279674287318136458207166174996112638689535976047617221520910027427485161965702038805161865494457444594178063766957037428053543239915792369877811053417485684498667123216132006378630814477106813088898563644909178779463295955587688067277368683836470612208483299572260344016516194247232298740800342116589984844356688576984553507410293250093945014209879983314562948451929862241009275783684229669718641013736581856815277185073259140534024850924787544871716174654424640728091372513505922826813145390369149590652886241000625495880523771672395227312971578042522330551788256261683080675549820375567692574152956993944504349004617185470945673049153218968830613586193253490318451871770642617802890083608004460414305421033261048294750210470303202846332054952531617433058538758154347087854561609738141615145103748777579733574989673510104836750248325511777237502526995647687215364262385606217553691332159421351598905950537513518351520709657614578131639854432532002236696200855408766520105076378983345708235918180749273124590433024519869147132931932462703067876214268579940066030521414045386366551780718510535469417760242493782392451178913322503092692423649855756521279456558275339921490892868856862895022564047205838132429286600764536839036698193759634186899291274131934296059833048690594627623595320676097721540716472990950611858372856271872423573251506230042608074167903809812264198034505185435990821356377966484742250577592243727298923187891299404854048446822719928239317254073429532989089675503790372464487057264894107613242300912487070053676379388189496900004239731820229886894053019610823763957809819187948639826973433528683168917360632750040517847686479093538683816924213175672979768822065627696943474914020483056384006872835738311110986586149510661361915342172527409078742250880056867149831149121019729847242037335904440063130981999650700416787683293610119590221942974317455716336227454789239793488032299063316588917505912406020220045264868457718282165158892171630470709599503997282778168097827497383884195820921583645621293941200045604062174334998171535030513366277293714389988219756129580868518167923841173364269774889246694435264051484911461988227011238661037602452710188911900438270362280391121270021679247152879324195035694278071477495720447513017171148877312193736366348711630105507365864598069586257026976295714123943691621672377694552248018987680338612382795605985191106112971398796002636340393693119651973344711646854574482999700397952536878348512983782198330513744803168936076427075943787200489575435147989033386529956551570669047103070223076797892329848058499725632813524581372640746415923016932853954152472487866287318545051065376430120748079948860283261855738836955246188128622509828635867225708782966017423170535046509131388753895013061151387840089512861842615441729962315731301087767989000918136617870582141517330935619268642915983553727587587676791953536960714236687847602589538927962585440961131240218794236944630211930970546118745080346860636620310193382167597465544174488399379683716417891139157575146359165023126594124268610800205258776019000550873739401445303129974560221438061891795442780328126230093178952504570380957199592993338719686487798275474853570100033092481743129836527369756194343789131822069107283156271772679863538216891518713732520976834628418347371261368933454629405371869789752684339805368137450825001203521193642598238954329102258317328098581116978343883611320940814793654745807336162557057195523274610323601685712314930799144191673243832283659669368716126815118360353441303009936083544193524336572930768154506567477565558211143508568396203781879592033787429012753106951129653074630840496376302289668286168325299592504054003803917262600195834001336180158836765599057537979745423711070158871650976475924365707758401328959478791343481250979029363644046972556422294698558561670817595994409985323205913035009923360820734795546082012200697671744573982535291905800552837118327702125018691644774560916230166739307705017656065679867259837178918123254219579594535869171376148397610005870749992910355727569593729567789260479930835305112462727870603529547312621720559953074675620549217314861961905983960910846471569192459257648138212674016814845327496495507412976753381357634960529826817906824433858135485518651632270319927880227571858035210375443324098235463619647723862420557582355632137583370066602155641218235815280874570372436217877316899649287051943247206509113311767578124e-4966
+3.237587559719012555462219479113823276249784669017340504844942194598519770062059685508835745638324970127939070738424059838293609943191271023342555035986308991521396355375667467208367312819235870119724263252776995195727778126085574034035411017344128491238136414394551514178668780674015531193282296319913113495953953933831631032855605791532328598034154166422617226534880263244723830482289656875701701315902175019974435037627824356684033058939701577883356651733717468531204705842607568803666569711421917525834491783583598401321476176752039857173551930268891446850107760584333855521475305010940756813993214730850216669600967698749412592167692757446422169965426483919224341062751152057061076522973232731542382055087239368522167656194830741819605276971705738272393130698937532095725613383807312946395184980707534803490003540251394324459987958400939111001126190861523615485938285497714410609640798273816511769391568591823198476415765275534341709798367687043373145262933998108452661682659942586304978413812755518166239176614473815940025342279575304159493260770068030636885746695206392378276051948759263882079389379666940357441139816661913198656187703463519723262653223919257185751827493927586153153792077729913353547954808876263400200663495414360816863385220457719546338953323399286762099558324132103460225580066817535680886906060858264089074120360391613368274811868067637495154569071591624185979937989402513750464346904036668477876379544221432800037599944499161940321774835027752710681217554286366043661491013593886229615614494736186475932160549630939390542165126494166960681499481651861215529870984381726203476917507560266886692644952355421814201350137351435237036912624414444992497142303802423605897110605364956579914507108584002230524766331348271456591814078599780820974961968314684496428310691542272663818486132771177670874927831510002443658417608078383611526899905533629456904234997116303929427262032216072887961072267850618234492852606488522739744757845004694461812790342894353802938671928834585447328398711684245164703625580196678024410303542544534512706792134908369873605619756775207191558754413381571756431003248529020572648048946458999967788526617126349345966896362376841092268841417781414969315002419192181972121568811432459128737128140063645558482525300089060238860392371092102688097987915838860882370022268312322882235690785726190915062699382576041643741555139697348927957856990969985342299599797431503615312038393069808777315725367497595040966093808407117316369389112216628231869173217637452855462790553030636920487796465880633399632793882734473382168542596184679158149228725004404714293460752371865436947855237307240001863573081174929166645758276081272685156100195420794154740486637315823136798695124738873328565945598241199335059398955049459449844741098478330319112865980346771381982151154499846478545530650091824164892591396650703633600023191521502618379988693800703884555191647864959327260468892793195316578510173816406054364319294906641284764788384683586662382042642852654156477478700779123584369965723284711409361741235548687181052639639279285373139084165798451899763979500837428077782309910703522399860010310321116623028924118238023770381424894162717815296210097245221769714495449744327945091943394325259297771090128969600269822520904193880119094781214175887316220311309028456568749910010962366586834018403242866721783519806933018588077977626913774236680220258524711348037750591646286531625306510583751929280541119187219596706615736304036444366663256426643903386694536649648686380122198677895751002327229059364018755164517060321515091173358005987498359799467138817648881479418623694683454881683746841149715181334498096967702613110590140231345676956141227850879905018558219984441819798054463206764413100251255775535830770535620946159535406497134759043192647996190512978586496199656070707105117773853504277795024754647024165589129442822627147868917463795166386552921913398878270019905147510849518894114102536073369047160130990411626048426437835295683097278297774735181045158616674564080237813146623269215019613231938626758927531490945029356207933289363847181438902539297057969524961348607844569521442237914899100699610921669921572167164875488132527187949318543809703388178931170799769792886086681284964861608656928109305369539955846964197786677053847603962194721523867993048528558551380823699291873352033111096244814245789620930756114228971363838828108534030152031715929722499546436547773404017947035596936338462103946797525667033935433489292620531649199724400832489751788129365426568881328357966337292439204382537174357675404105580244018783685041224798457022189315692175787257287203633134300759209060570319508886475377719911176071302732819878165468592717406388218727585026352127436844762994722826390779737322113768842482160812973100323673863050234437722898796145596181862320550301285861980052194863780743808106946940079349630782676930197134206259739125377941060751175427888774493677478593805682322173891730311959284895178856039354015035864931073602059531001572891528828982167810245343327388887928886208615327002834690068636094325052251429781641267821367266715283643659749152264457938319185148303604827363623405060374573505789923003843438436174489383805098509083722050766328250349793203837202162624690093533478114438810603140565070517669964629947543608404988178019652088162307525611931821066493746994641048066011859814337589829896549720562117090677291541318153057715167624128318297771376531788973088699647168159229805877415594828532539839967464064556647594705830374653113373530876658380240145380423210673778776803592627231257495817394581607796277282644312510714532297108722017217547317744900647318022108570947064304280100418971450552007356891519523293614416944016354756866350050833501416942505071203810116719053430543531027953437436446745566839242129860410443198862219469972163224971258348314341755015213118628882713134766297624091644805801186976152536913514712919240503721680740586016832099946807466311777189050656676962849581383790904722087478646766320517056183581970236248227413322748304134245717987665377396011236706627320817654565682680006957454759981618023476448544673508068369492066566895437050571584345511070959483898938738225050292533674383091612495407126805381796487365892131916426837522671623266627483065655765705534239355214893395905702329340402794052884259146049064629582075576563307670749189662176976725361937046200576007893814439695301892528761187544161389682003509216791271836545495416676148151145195082668323677621182991451835324281863619641773620601014510950996746726615703771971266687151564427772359427340566909351858654807999781808513034680104078196607462166928018863385629928965649243954503391493597963417955268639606791452833692467872935741940362479842688642227725662504694679557678170929873774151037857807219938356152056997839625453727441947651198316190826615266016347740875615970031428012228328190610356706715662722241878767131224669837573607121539572299329404101274463156060298348931678277361174057097484704587036227686110677413094941011961262438027467952964727129462752693949019764164538344775554466171428121848999818969114034332797672927989107710137279281184295118233855942385256333164153378143279674287318136458207166174996112638689535976047617221520910027427485161965702038805161865494457444594178063766957037428053543239915792369877811053417485684498667123216132006378630814477106813088898563644909178779463295955587688067277368683836470612208483299572260344016516194247232298740800342116589984844356688576984553507410293250093945014209879983314562948451929862241009275783684229669718641013736581856815277185073259140534024850924787544871716174654424640728091372513505922826813145390369149590652886241000625495880523771672395227312971578042522330551788256261683080675549820375567692574152956993944504349004617185470945673049153218968830613586193253490318451871770642617802890083608004460414305421033261048294750210470303202846332054952531617433058538758154347087854561609738141615145103748777579733574989673510104836750248325511777237502526995647687215364262385606217553691332159421351598905950537513518351520709657614578131639854432532002236696200855408766520105076378983345708235918180749273124590433024519869147132931932462703067876214268579940066030521414045386366551780718510535469417760242493782392451178913322503092692423649855756521279456558275339921490892868856862895022564047205838132429286600764536839036698193759634186899291274131934296059833048690594627623595320676097721540716472990950611858372856271872423573251506230042608074167903809812264198034505185435990821356377966484742250577592243727298923187891299404854048446822719928239317254073429532989089675503790372464487057264894107613242300912487070053676379388189496900004239731820229886894053019610823763957809819187948639826973433528683168917360632750040517847686479093538683816924213175672979768822065627696943474914020483056384006872835738311110986586149510661361915342172527409078742250880056867149831149121019729847242037335904440063130981999650700416787683293610119590221942974317455716336227454789239793488032299063316588917505912406020220045264868457718282165158892171630470709599503997282778168097827497383884195820921583645621293941200045604062174334998171535030513366277293714389988219756129580868518167923841173364269774889246694435264051484911461988227011238661037602452710188911900438270362280391121270021679247152879324195035694278071477495720447513017171148877312193736366348711630105507365864598069586257026976295714123943691621672377694552248018987680338612382795605985191106112971398796002636340393693119651973344711646854574482999700397952536878348512983782198330513744803168936076427075943787200489575435147989033386529956551570669047103070223076797892329848058499725632813524581372640746415923016932853954152472487866287318545051065376430120748079948860283261855738836955246188128622509828635867225708782966017423170535046509131388753895013061151387840089512861842615441729962315731301087767989000918136617870582141517330935619268642915983553727587587676791953536960714236687847602589538927962585440961131240218794236944630211930970546118745080346860636620310193382167597465544174488399379683716417891139157575146359165023126594124268610800205258776019000550873739401445303129974560221438061891795442780328126230093178952504570380957199592993338719686487798275474853570100033092481743129836527369756194343789131822069107283156271772679863538216891518713732520976834628418347371261368933454629405371869789752684339805368137450825001203521193642598238954329102258317328098581116978343883611320940814793654745807336162557057195523274610323601685712314930799144191673243832283659669368716126815118360353441303009936083544193524336572930768154506567477565558211143508568396203781879592033787429012753106951129653074630840496376302289668286168325299592504054003803917262600195834001336180158836765599057537979745423711070158871650976475924365707758401328959478791343481250979029363644046972556422294698558561670817595994409985323205913035009923360820734795546082012200697671744573982535291905800552837118327702125018691644774560916230166739307705017656065679867259837178918123254219579594535869171376148397610005870749992910355727569593729567789260479930835305112462727870603529547312621720559953074675620549217314861961905983960910846471569192459257648138212674016814845327496495507412976753381357634960529826817906824433858135485518651632270319927880227571858035210375443324098235463619647723862420557582355632137583370066602155641218235815280874570372436217877316899649287051943247206509113311767578125e-4966
+3.237587559719012555462219479113823276249784669017340504844942194598519770062059685508835745638324970127939070738424059838293609943191271023342555035986308991521396355375667467208367312819235870119724263252776995195727778126085574034035411017344128491238136414394551514178668780674015531193282296319913113495953953933831631032855605791532328598034154166422617226534880263244723830482289656875701701315902175019974435037627824356684033058939701577883356651733717468531204705842607568803666569711421917525834491783583598401321476176752039857173551930268891446850107760584333855521475305010940756813993214730850216669600967698749412592167692757446422169965426483919224341062751152057061076522973232731542382055087239368522167656194830741819605276971705738272393130698937532095725613383807312946395184980707534803490003540251394324459987958400939111001126190861523615485938285497714410609640798273816511769391568591823198476415765275534341709798367687043373145262933998108452661682659942586304978413812755518166239176614473815940025342279575304159493260770068030636885746695206392378276051948759263882079389379666940357441139816661913198656187703463519723262653223919257185751827493927586153153792077729913353547954808876263400200663495414360816863385220457719546338953323399286762099558324132103460225580066817535680886906060858264089074120360391613368274811868067637495154569071591624185979937989402513750464346904036668477876379544221432800037599944499161940321774835027752710681217554286366043661491013593886229615614494736186475932160549630939390542165126494166960681499481651861215529870984381726203476917507560266886692644952355421814201350137351435237036912624414444992497142303802423605897110605364956579914507108584002230524766331348271456591814078599780820974961968314684496428310691542272663818486132771177670874927831510002443658417608078383611526899905533629456904234997116303929427262032216072887961072267850618234492852606488522739744757845004694461812790342894353802938671928834585447328398711684245164703625580196678024410303542544534512706792134908369873605619756775207191558754413381571756431003248529020572648048946458999967788526617126349345966896362376841092268841417781414969315002419192181972121568811432459128737128140063645558482525300089060238860392371092102688097987915838860882370022268312322882235690785726190915062699382576041643741555139697348927957856990969985342299599797431503615312038393069808777315725367497595040966093808407117316369389112216628231869173217637452855462790553030636920487796465880633399632793882734473382168542596184679158149228725004404714293460752371865436947855237307240001863573081174929166645758276081272685156100195420794154740486637315823136798695124738873328565945598241199335059398955049459449844741098478330319112865980346771381982151154499846478545530650091824164892591396650703633600023191521502618379988693800703884555191647864959327260468892793195316578510173816406054364319294906641284764788384683586662382042642852654156477478700779123584369965723284711409361741235548687181052639639279285373139084165798451899763979500837428077782309910703522399860010310321116623028924118238023770381424894162717815296210097245221769714495449744327945091943394325259297771090128969600269822520904193880119094781214175887316220311309028456568749910010962366586834018403242866721783519806933018588077977626913774236680220258524711348037750591646286531625306510583751929280541119187219596706615736304036444366663256426643903386694536649648686380122198677895751002327229059364018755164517060321515091173358005987498359799467138817648881479418623694683454881683746841149715181334498096967702613110590140231345676956141227850879905018558219984441819798054463206764413100251255775535830770535620946159535406497134759043192647996190512978586496199656070707105117773853504277795024754647024165589129442822627147868917463795166386552921913398878270019905147510849518894114102536073369047160130990411626048426437835295683097278297774735181045158616674564080237813146623269215019613231938626758927531490945029356207933289363847181438902539297057969524961348607844569521442237914899100699610921669921572167164875488132527187949318543809703388178931170799769792886086681284964861608656928109305369539955846964197786677053847603962194721523867993048528558551380823699291873352033111096244814245789620930756114228971363838828108534030152031715929722499546436547773404017947035596936338462103946797525667033935433489292620531649199724400832489751788129365426568881328357966337292439204382537174357675404105580244018783685041224798457022189315692175787257287203633134300759209060570319508886475377719911176071302732819878165468592717406388218727585026352127436844762994722826390779737322113768842482160812973100323673863050234437722898796145596181862320550301285861980052194863780743808106946940079349630782676930197134206259739125377941060751175427888774493677478593805682322173891730311959284895178856039354015035864931073602059531001572891528828982167810245343327388887928886208615327002834690068636094325052251429781641267821367266715283643659749152264457938319185148303604827363623405060374573505789923003843438436174489383805098509083722050766328250349793203837202162624690093533478114438810603140565070517669964629947543608404988178019652088162307525611931821066493746994641048066011859814337589829896549720562117090677291541318153057715167624128318297771376531788973088699647168159229805877415594828532539839967464064556647594705830374653113373530876658380240145380423210673778776803592627231257495817394581607796277282644312510714532297108722017217547317744900647318022108570947064304280100418971450552007356891519523293614416944016354756866350050833501416942505071203810116719053430543531027953437436446745566839242129860410443198862219469972163224971258348314341755015213118628882713134766297624091644805801186976152536913514712919240503721680740586016832099946807466311777189050656676962849581383790904722087478646766320517056183581970236248227413322748304134245717987665377396011236706627320817654565682680006957454759981618023476448544673508068369492066566895437050571584345511070959483898938738225050292533674383091612495407126805381796487365892131916426837522671623266627483065655765705534239355214893395905702329340402794052884259146049064629582075576563307670749189662176976725361937046200576007893814439695301892528761187544161389682003509216791271836545495416676148151145195082668323677621182991451835324281863619641773620601014510950996746726615703771971266687151564427772359427340566909351858654807999781808513034680104078196607462166928018863385629928965649243954503391493597963417955268639606791452833692467872935741940362479842688642227725662504694679557678170929873774151037857807219938356152056997839625453727441947651198316190826615266016347740875615970031428012228328190610356706715662722241878767131224669837573607121539572299329404101274463156060298348931678277361174057097484704587036227686110677413094941011961262438027467952964727129462752693949019764164538344775554466171428121848999818969114034332797672927989107710137279281184295118233855942385256333164153378143279674287318136458207166174996112638689535976047617221520910027427485161965702038805161865494457444594178063766957037428053543239915792369877811053417485684498667123216132006378630814477106813088898563644909178779463295955587688067277368683836470612208483299572260344016516194247232298740800342116589984844356688576984553507410293250093945014209879983314562948451929862241009275783684229669718641013736581856815277185073259140534024850924787544871716174654424640728091372513505922826813145390369149590652886241000625495880523771672395227312971578042522330551788256261683080675549820375567692574152956993944504349004617185470945673049153218968830613586193253490318451871770642617802890083608004460414305421033261048294750210470303202846332054952531617433058538758154347087854561609738141615145103748777579733574989673510104836750248325511777237502526995647687215364262385606217553691332159421351598905950537513518351520709657614578131639854432532002236696200855408766520105076378983345708235918180749273124590433024519869147132931932462703067876214268579940066030521414045386366551780718510535469417760242493782392451178913322503092692423649855756521279456558275339921490892868856862895022564047205838132429286600764536839036698193759634186899291274131934296059833048690594627623595320676097721540716472990950611858372856271872423573251506230042608074167903809812264198034505185435990821356377966484742250577592243727298923187891299404854048446822719928239317254073429532989089675503790372464487057264894107613242300912487070053676379388189496900004239731820229886894053019610823763957809819187948639826973433528683168917360632750040517847686479093538683816924213175672979768822065627696943474914020483056384006872835738311110986586149510661361915342172527409078742250880056867149831149121019729847242037335904440063130981999650700416787683293610119590221942974317455716336227454789239793488032299063316588917505912406020220045264868457718282165158892171630470709599503997282778168097827497383884195820921583645621293941200045604062174334998171535030513366277293714389988219756129580868518167923841173364269774889246694435264051484911461988227011238661037602452710188911900438270362280391121270021679247152879324195035694278071477495720447513017171148877312193736366348711630105507365864598069586257026976295714123943691621672377694552248018987680338612382795605985191106112971398796002636340393693119651973344711646854574482999700397952536878348512983782198330513744803168936076427075943787200489575435147989033386529956551570669047103070223076797892329848058499725632813524581372640746415923016932853954152472487866287318545051065376430120748079948860283261855738836955246188128622509828635867225708782966017423170535046509131388753895013061151387840089512861842615441729962315731301087767989000918136617870582141517330935619268642915983553727587587676791953536960714236687847602589538927962585440961131240218794236944630211930970546118745080346860636620310193382167597465544174488399379683716417891139157575146359165023126594124268610800205258776019000550873739401445303129974560221438061891795442780328126230093178952504570380957199592993338719686487798275474853570100033092481743129836527369756194343789131822069107283156271772679863538216891518713732520976834628418347371261368933454629405371869789752684339805368137450825001203521193642598238954329102258317328098581116978343883611320940814793654745807336162557057195523274610323601685712314930799144191673243832283659669368716126815118360353441303009936083544193524336572930768154506567477565558211143508568396203781879592033787429012753106951129653074630840496376302289668286168325299592504054003803917262600195834001336180158836765599057537979745423711070158871650976475924365707758401328959478791343481250979029363644046972556422294698558561670817595994409985323205913035009923360820734795546082012200697671744573982535291905800552837118327702125018691644774560916230166739307705017656065679867259837178918123254219579594535869171376148397610005870749992910355727569593729567789260479930835305112462727870603529547312621720559953074675620549217314861961905983960910846471569192459257648138212674016814845327496495507412976753381357634960529826817906824433858135485518651632270319927880227571858035210375443324098235463619647723862420557582355632137583370066602155641218235815280874570372436217877316899649287051943247206509113311767578126e-4966
+-3.237587559719012555462219479113823276249784669017340504844942194598519770062059685508835745638324970127939070738424059838293609943191271023342555035986308991521396355375667467208367312819235870119724263252776995195727778126085574034035411017344128491238136414394551514178668780674015531193282296319913113495953953933831631032855605791532328598034154166422617226534880263244723830482289656875701701315902175019974435037627824356684033058939701577883356651733717468531204705842607568803666569711421917525834491783583598401321476176752039857173551930268891446850107760584333855521475305010940756813993214730850216669600967698749412592167692757446422169965426483919224341062751152057061076522973232731542382055087239368522167656194830741819605276971705738272393130698937532095725613383807312946395184980707534803490003540251394324459987958400939111001126190861523615485938285497714410609640798273816511769391568591823198476415765275534341709798367687043373145262933998108452661682659942586304978413812755518166239176614473815940025342279575304159493260770068030636885746695206392378276051948759263882079389379666940357441139816661913198656187703463519723262653223919257185751827493927586153153792077729913353547954808876263400200663495414360816863385220457719546338953323399286762099558324132103460225580066817535680886906060858264089074120360391613368274811868067637495154569071591624185979937989402513750464346904036668477876379544221432800037599944499161940321774835027752710681217554286366043661491013593886229615614494736186475932160549630939390542165126494166960681499481651861215529870984381726203476917507560266886692644952355421814201350137351435237036912624414444992497142303802423605897110605364956579914507108584002230524766331348271456591814078599780820974961968314684496428310691542272663818486132771177670874927831510002443658417608078383611526899905533629456904234997116303929427262032216072887961072267850618234492852606488522739744757845004694461812790342894353802938671928834585447328398711684245164703625580196678024410303542544534512706792134908369873605619756775207191558754413381571756431003248529020572648048946458999967788526617126349345966896362376841092268841417781414969315002419192181972121568811432459128737128140063645558482525300089060238860392371092102688097987915838860882370022268312322882235690785726190915062699382576041643741555139697348927957856990969985342299599797431503615312038393069808777315725367497595040966093808407117316369389112216628231869173217637452855462790553030636920487796465880633399632793882734473382168542596184679158149228725004404714293460752371865436947855237307240001863573081174929166645758276081272685156100195420794154740486637315823136798695124738873328565945598241199335059398955049459449844741098478330319112865980346771381982151154499846478545530650091824164892591396650703633600023191521502618379988693800703884555191647864959327260468892793195316578510173816406054364319294906641284764788384683586662382042642852654156477478700779123584369965723284711409361741235548687181052639639279285373139084165798451899763979500837428077782309910703522399860010310321116623028924118238023770381424894162717815296210097245221769714495449744327945091943394325259297771090128969600269822520904193880119094781214175887316220311309028456568749910010962366586834018403242866721783519806933018588077977626913774236680220258524711348037750591646286531625306510583751929280541119187219596706615736304036444366663256426643903386694536649648686380122198677895751002327229059364018755164517060321515091173358005987498359799467138817648881479418623694683454881683746841149715181334498096967702613110590140231345676956141227850879905018558219984441819798054463206764413100251255775535830770535620946159535406497134759043192647996190512978586496199656070707105117773853504277795024754647024165589129442822627147868917463795166386552921913398878270019905147510849518894114102536073369047160130990411626048426437835295683097278297774735181045158616674564080237813146623269215019613231938626758927531490945029356207933289363847181438902539297057969524961348607844569521442237914899100699610921669921572167164875488132527187949318543809703388178931170799769792886086681284964861608656928109305369539955846964197786677053847603962194721523867993048528558551380823699291873352033111096244814245789620930756114228971363838828108534030152031715929722499546436547773404017947035596936338462103946797525667033935433489292620531649199724400832489751788129365426568881328357966337292439204382537174357675404105580244018783685041224798457022189315692175787257287203633134300759209060570319508886475377719911176071302732819878165468592717406388218727585026352127436844762994722826390779737322113768842482160812973100323673863050234437722898796145596181862320550301285861980052194863780743808106946940079349630782676930197134206259739125377941060751175427888774493677478593805682322173891730311959284895178856039354015035864931073602059531001572891528828982167810245343327388887928886208615327002834690068636094325052251429781641267821367266715283643659749152264457938319185148303604827363623405060374573505789923003843438436174489383805098509083722050766328250349793203837202162624690093533478114438810603140565070517669964629947543608404988178019652088162307525611931821066493746994641048066011859814337589829896549720562117090677291541318153057715167624128318297771376531788973088699647168159229805877415594828532539839967464064556647594705830374653113373530876658380240145380423210673778776803592627231257495817394581607796277282644312510714532297108722017217547317744900647318022108570947064304280100418971450552007356891519523293614416944016354756866350050833501416942505071203810116719053430543531027953437436446745566839242129860410443198862219469972163224971258348314341755015213118628882713134766297624091644805801186976152536913514712919240503721680740586016832099946807466311777189050656676962849581383790904722087478646766320517056183581970236248227413322748304134245717987665377396011236706627320817654565682680006957454759981618023476448544673508068369492066566895437050571584345511070959483898938738225050292533674383091612495407126805381796487365892131916426837522671623266627483065655765705534239355214893395905702329340402794052884259146049064629582075576563307670749189662176976725361937046200576007893814439695301892528761187544161389682003509216791271836545495416676148151145195082668323677621182991451835324281863619641773620601014510950996746726615703771971266687151564427772359427340566909351858654807999781808513034680104078196607462166928018863385629928965649243954503391493597963417955268639606791452833692467872935741940362479842688642227725662504694679557678170929873774151037857807219938356152056997839625453727441947651198316190826615266016347740875615970031428012228328190610356706715662722241878767131224669837573607121539572299329404101274463156060298348931678277361174057097484704587036227686110677413094941011961262438027467952964727129462752693949019764164538344775554466171428121848999818969114034332797672927989107710137279281184295118233855942385256333164153378143279674287318136458207166174996112638689535976047617221520910027427485161965702038805161865494457444594178063766957037428053543239915792369877811053417485684498667123216132006378630814477106813088898563644909178779463295955587688067277368683836470612208483299572260344016516194247232298740800342116589984844356688576984553507410293250093945014209879983314562948451929862241009275783684229669718641013736581856815277185073259140534024850924787544871716174654424640728091372513505922826813145390369149590652886241000625495880523771672395227312971578042522330551788256261683080675549820375567692574152956993944504349004617185470945673049153218968830613586193253490318451871770642617802890083608004460414305421033261048294750210470303202846332054952531617433058538758154347087854561609738141615145103748777579733574989673510104836750248325511777237502526995647687215364262385606217553691332159421351598905950537513518351520709657614578131639854432532002236696200855408766520105076378983345708235918180749273124590433024519869147132931932462703067876214268579940066030521414045386366551780718510535469417760242493782392451178913322503092692423649855756521279456558275339921490892868856862895022564047205838132429286600764536839036698193759634186899291274131934296059833048690594627623595320676097721540716472990950611858372856271872423573251506230042608074167903809812264198034505185435990821356377966484742250577592243727298923187891299404854048446822719928239317254073429532989089675503790372464487057264894107613242300912487070053676379388189496900004239731820229886894053019610823763957809819187948639826973433528683168917360632750040517847686479093538683816924213175672979768822065627696943474914020483056384006872835738311110986586149510661361915342172527409078742250880056867149831149121019729847242037335904440063130981999650700416787683293610119590221942974317455716336227454789239793488032299063316588917505912406020220045264868457718282165158892171630470709599503997282778168097827497383884195820921583645621293941200045604062174334998171535030513366277293714389988219756129580868518167923841173364269774889246694435264051484911461988227011238661037602452710188911900438270362280391121270021679247152879324195035694278071477495720447513017171148877312193736366348711630105507365864598069586257026976295714123943691621672377694552248018987680338612382795605985191106112971398796002636340393693119651973344711646854574482999700397952536878348512983782198330513744803168936076427075943787200489575435147989033386529956551570669047103070223076797892329848058499725632813524581372640746415923016932853954152472487866287318545051065376430120748079948860283261855738836955246188128622509828635867225708782966017423170535046509131388753895013061151387840089512861842615441729962315731301087767989000918136617870582141517330935619268642915983553727587587676791953536960714236687847602589538927962585440961131240218794236944630211930970546118745080346860636620310193382167597465544174488399379683716417891139157575146359165023126594124268610800205258776019000550873739401445303129974560221438061891795442780328126230093178952504570380957199592993338719686487798275474853570100033092481743129836527369756194343789131822069107283156271772679863538216891518713732520976834628418347371261368933454629405371869789752684339805368137450825001203521193642598238954329102258317328098581116978343883611320940814793654745807336162557057195523274610323601685712314930799144191673243832283659669368716126815118360353441303009936083544193524336572930768154506567477565558211143508568396203781879592033787429012753106951129653074630840496376302289668286168325299592504054003803917262600195834001336180158836765599057537979745423711070158871650976475924365707758401328959478791343481250979029363644046972556422294698558561670817595994409985323205913035009923360820734795546082012200697671744573982535291905800552837118327702125018691644774560916230166739307705017656065679867259837178918123254219579594535869171376148397610005870749992910355727569593729567789260479930835305112462727870603529547312621720559953074675620549217314861961905983960910846471569192459257648138212674016814845327496495507412976753381357634960529826817906824433858135485518651632270319927880227571858035210375443324098235463619647723862420557582355632137583370066602155641218235815280874570372436217877316899649287051943247206509113311767578124e-4966
+-3.237587559719012555462219479113823276249784669017340504844942194598519770062059685508835745638324970127939070738424059838293609943191271023342555035986308991521396355375667467208367312819235870119724263252776995195727778126085574034035411017344128491238136414394551514178668780674015531193282296319913113495953953933831631032855605791532328598034154166422617226534880263244723830482289656875701701315902175019974435037627824356684033058939701577883356651733717468531204705842607568803666569711421917525834491783583598401321476176752039857173551930268891446850107760584333855521475305010940756813993214730850216669600967698749412592167692757446422169965426483919224341062751152057061076522973232731542382055087239368522167656194830741819605276971705738272393130698937532095725613383807312946395184980707534803490003540251394324459987958400939111001126190861523615485938285497714410609640798273816511769391568591823198476415765275534341709798367687043373145262933998108452661682659942586304978413812755518166239176614473815940025342279575304159493260770068030636885746695206392378276051948759263882079389379666940357441139816661913198656187703463519723262653223919257185751827493927586153153792077729913353547954808876263400200663495414360816863385220457719546338953323399286762099558324132103460225580066817535680886906060858264089074120360391613368274811868067637495154569071591624185979937989402513750464346904036668477876379544221432800037599944499161940321774835027752710681217554286366043661491013593886229615614494736186475932160549630939390542165126494166960681499481651861215529870984381726203476917507560266886692644952355421814201350137351435237036912624414444992497142303802423605897110605364956579914507108584002230524766331348271456591814078599780820974961968314684496428310691542272663818486132771177670874927831510002443658417608078383611526899905533629456904234997116303929427262032216072887961072267850618234492852606488522739744757845004694461812790342894353802938671928834585447328398711684245164703625580196678024410303542544534512706792134908369873605619756775207191558754413381571756431003248529020572648048946458999967788526617126349345966896362376841092268841417781414969315002419192181972121568811432459128737128140063645558482525300089060238860392371092102688097987915838860882370022268312322882235690785726190915062699382576041643741555139697348927957856990969985342299599797431503615312038393069808777315725367497595040966093808407117316369389112216628231869173217637452855462790553030636920487796465880633399632793882734473382168542596184679158149228725004404714293460752371865436947855237307240001863573081174929166645758276081272685156100195420794154740486637315823136798695124738873328565945598241199335059398955049459449844741098478330319112865980346771381982151154499846478545530650091824164892591396650703633600023191521502618379988693800703884555191647864959327260468892793195316578510173816406054364319294906641284764788384683586662382042642852654156477478700779123584369965723284711409361741235548687181052639639279285373139084165798451899763979500837428077782309910703522399860010310321116623028924118238023770381424894162717815296210097245221769714495449744327945091943394325259297771090128969600269822520904193880119094781214175887316220311309028456568749910010962366586834018403242866721783519806933018588077977626913774236680220258524711348037750591646286531625306510583751929280541119187219596706615736304036444366663256426643903386694536649648686380122198677895751002327229059364018755164517060321515091173358005987498359799467138817648881479418623694683454881683746841149715181334498096967702613110590140231345676956141227850879905018558219984441819798054463206764413100251255775535830770535620946159535406497134759043192647996190512978586496199656070707105117773853504277795024754647024165589129442822627147868917463795166386552921913398878270019905147510849518894114102536073369047160130990411626048426437835295683097278297774735181045158616674564080237813146623269215019613231938626758927531490945029356207933289363847181438902539297057969524961348607844569521442237914899100699610921669921572167164875488132527187949318543809703388178931170799769792886086681284964861608656928109305369539955846964197786677053847603962194721523867993048528558551380823699291873352033111096244814245789620930756114228971363838828108534030152031715929722499546436547773404017947035596936338462103946797525667033935433489292620531649199724400832489751788129365426568881328357966337292439204382537174357675404105580244018783685041224798457022189315692175787257287203633134300759209060570319508886475377719911176071302732819878165468592717406388218727585026352127436844762994722826390779737322113768842482160812973100323673863050234437722898796145596181862320550301285861980052194863780743808106946940079349630782676930197134206259739125377941060751175427888774493677478593805682322173891730311959284895178856039354015035864931073602059531001572891528828982167810245343327388887928886208615327002834690068636094325052251429781641267821367266715283643659749152264457938319185148303604827363623405060374573505789923003843438436174489383805098509083722050766328250349793203837202162624690093533478114438810603140565070517669964629947543608404988178019652088162307525611931821066493746994641048066011859814337589829896549720562117090677291541318153057715167624128318297771376531788973088699647168159229805877415594828532539839967464064556647594705830374653113373530876658380240145380423210673778776803592627231257495817394581607796277282644312510714532297108722017217547317744900647318022108570947064304280100418971450552007356891519523293614416944016354756866350050833501416942505071203810116719053430543531027953437436446745566839242129860410443198862219469972163224971258348314341755015213118628882713134766297624091644805801186976152536913514712919240503721680740586016832099946807466311777189050656676962849581383790904722087478646766320517056183581970236248227413322748304134245717987665377396011236706627320817654565682680006957454759981618023476448544673508068369492066566895437050571584345511070959483898938738225050292533674383091612495407126805381796487365892131916426837522671623266627483065655765705534239355214893395905702329340402794052884259146049064629582075576563307670749189662176976725361937046200576007893814439695301892528761187544161389682003509216791271836545495416676148151145195082668323677621182991451835324281863619641773620601014510950996746726615703771971266687151564427772359427340566909351858654807999781808513034680104078196607462166928018863385629928965649243954503391493597963417955268639606791452833692467872935741940362479842688642227725662504694679557678170929873774151037857807219938356152056997839625453727441947651198316190826615266016347740875615970031428012228328190610356706715662722241878767131224669837573607121539572299329404101274463156060298348931678277361174057097484704587036227686110677413094941011961262438027467952964727129462752693949019764164538344775554466171428121848999818969114034332797672927989107710137279281184295118233855942385256333164153378143279674287318136458207166174996112638689535976047617221520910027427485161965702038805161865494457444594178063766957037428053543239915792369877811053417485684498667123216132006378630814477106813088898563644909178779463295955587688067277368683836470612208483299572260344016516194247232298740800342116589984844356688576984553507410293250093945014209879983314562948451929862241009275783684229669718641013736581856815277185073259140534024850924787544871716174654424640728091372513505922826813145390369149590652886241000625495880523771672395227312971578042522330551788256261683080675549820375567692574152956993944504349004617185470945673049153218968830613586193253490318451871770642617802890083608004460414305421033261048294750210470303202846332054952531617433058538758154347087854561609738141615145103748777579733574989673510104836750248325511777237502526995647687215364262385606217553691332159421351598905950537513518351520709657614578131639854432532002236696200855408766520105076378983345708235918180749273124590433024519869147132931932462703067876214268579940066030521414045386366551780718510535469417760242493782392451178913322503092692423649855756521279456558275339921490892868856862895022564047205838132429286600764536839036698193759634186899291274131934296059833048690594627623595320676097721540716472990950611858372856271872423573251506230042608074167903809812264198034505185435990821356377966484742250577592243727298923187891299404854048446822719928239317254073429532989089675503790372464487057264894107613242300912487070053676379388189496900004239731820229886894053019610823763957809819187948639826973433528683168917360632750040517847686479093538683816924213175672979768822065627696943474914020483056384006872835738311110986586149510661361915342172527409078742250880056867149831149121019729847242037335904440063130981999650700416787683293610119590221942974317455716336227454789239793488032299063316588917505912406020220045264868457718282165158892171630470709599503997282778168097827497383884195820921583645621293941200045604062174334998171535030513366277293714389988219756129580868518167923841173364269774889246694435264051484911461988227011238661037602452710188911900438270362280391121270021679247152879324195035694278071477495720447513017171148877312193736366348711630105507365864598069586257026976295714123943691621672377694552248018987680338612382795605985191106112971398796002636340393693119651973344711646854574482999700397952536878348512983782198330513744803168936076427075943787200489575435147989033386529956551570669047103070223076797892329848058499725632813524581372640746415923016932853954152472487866287318545051065376430120748079948860283261855738836955246188128622509828635867225708782966017423170535046509131388753895013061151387840089512861842615441729962315731301087767989000918136617870582141517330935619268642915983553727587587676791953536960714236687847602589538927962585440961131240218794236944630211930970546118745080346860636620310193382167597465544174488399379683716417891139157575146359165023126594124268610800205258776019000550873739401445303129974560221438061891795442780328126230093178952504570380957199592993338719686487798275474853570100033092481743129836527369756194343789131822069107283156271772679863538216891518713732520976834628418347371261368933454629405371869789752684339805368137450825001203521193642598238954329102258317328098581116978343883611320940814793654745807336162557057195523274610323601685712314930799144191673243832283659669368716126815118360353441303009936083544193524336572930768154506567477565558211143508568396203781879592033787429012753106951129653074630840496376302289668286168325299592504054003803917262600195834001336180158836765599057537979745423711070158871650976475924365707758401328959478791343481250979029363644046972556422294698558561670817595994409985323205913035009923360820734795546082012200697671744573982535291905800552837118327702125018691644774560916230166739307705017656065679867259837178918123254219579594535869171376148397610005870749992910355727569593729567789260479930835305112462727870603529547312621720559953074675620549217314861961905983960910846471569192459257648138212674016814845327496495507412976753381357634960529826817906824433858135485518651632270319927880227571858035210375443324098235463619647723862420557582355632137583370066602155641218235815280874570372436217877316899649287051943247206509113311767578125e-4966
+-3.237587559719012555462219479113823276249784669017340504844942194598519770062059685508835745638324970127939070738424059838293609943191271023342555035986308991521396355375667467208367312819235870119724263252776995195727778126085574034035411017344128491238136414394551514178668780674015531193282296319913113495953953933831631032855605791532328598034154166422617226534880263244723830482289656875701701315902175019974435037627824356684033058939701577883356651733717468531204705842607568803666569711421917525834491783583598401321476176752039857173551930268891446850107760584333855521475305010940756813993214730850216669600967698749412592167692757446422169965426483919224341062751152057061076522973232731542382055087239368522167656194830741819605276971705738272393130698937532095725613383807312946395184980707534803490003540251394324459987958400939111001126190861523615485938285497714410609640798273816511769391568591823198476415765275534341709798367687043373145262933998108452661682659942586304978413812755518166239176614473815940025342279575304159493260770068030636885746695206392378276051948759263882079389379666940357441139816661913198656187703463519723262653223919257185751827493927586153153792077729913353547954808876263400200663495414360816863385220457719546338953323399286762099558324132103460225580066817535680886906060858264089074120360391613368274811868067637495154569071591624185979937989402513750464346904036668477876379544221432800037599944499161940321774835027752710681217554286366043661491013593886229615614494736186475932160549630939390542165126494166960681499481651861215529870984381726203476917507560266886692644952355421814201350137351435237036912624414444992497142303802423605897110605364956579914507108584002230524766331348271456591814078599780820974961968314684496428310691542272663818486132771177670874927831510002443658417608078383611526899905533629456904234997116303929427262032216072887961072267850618234492852606488522739744757845004694461812790342894353802938671928834585447328398711684245164703625580196678024410303542544534512706792134908369873605619756775207191558754413381571756431003248529020572648048946458999967788526617126349345966896362376841092268841417781414969315002419192181972121568811432459128737128140063645558482525300089060238860392371092102688097987915838860882370022268312322882235690785726190915062699382576041643741555139697348927957856990969985342299599797431503615312038393069808777315725367497595040966093808407117316369389112216628231869173217637452855462790553030636920487796465880633399632793882734473382168542596184679158149228725004404714293460752371865436947855237307240001863573081174929166645758276081272685156100195420794154740486637315823136798695124738873328565945598241199335059398955049459449844741098478330319112865980346771381982151154499846478545530650091824164892591396650703633600023191521502618379988693800703884555191647864959327260468892793195316578510173816406054364319294906641284764788384683586662382042642852654156477478700779123584369965723284711409361741235548687181052639639279285373139084165798451899763979500837428077782309910703522399860010310321116623028924118238023770381424894162717815296210097245221769714495449744327945091943394325259297771090128969600269822520904193880119094781214175887316220311309028456568749910010962366586834018403242866721783519806933018588077977626913774236680220258524711348037750591646286531625306510583751929280541119187219596706615736304036444366663256426643903386694536649648686380122198677895751002327229059364018755164517060321515091173358005987498359799467138817648881479418623694683454881683746841149715181334498096967702613110590140231345676956141227850879905018558219984441819798054463206764413100251255775535830770535620946159535406497134759043192647996190512978586496199656070707105117773853504277795024754647024165589129442822627147868917463795166386552921913398878270019905147510849518894114102536073369047160130990411626048426437835295683097278297774735181045158616674564080237813146623269215019613231938626758927531490945029356207933289363847181438902539297057969524961348607844569521442237914899100699610921669921572167164875488132527187949318543809703388178931170799769792886086681284964861608656928109305369539955846964197786677053847603962194721523867993048528558551380823699291873352033111096244814245789620930756114228971363838828108534030152031715929722499546436547773404017947035596936338462103946797525667033935433489292620531649199724400832489751788129365426568881328357966337292439204382537174357675404105580244018783685041224798457022189315692175787257287203633134300759209060570319508886475377719911176071302732819878165468592717406388218727585026352127436844762994722826390779737322113768842482160812973100323673863050234437722898796145596181862320550301285861980052194863780743808106946940079349630782676930197134206259739125377941060751175427888774493677478593805682322173891730311959284895178856039354015035864931073602059531001572891528828982167810245343327388887928886208615327002834690068636094325052251429781641267821367266715283643659749152264457938319185148303604827363623405060374573505789923003843438436174489383805098509083722050766328250349793203837202162624690093533478114438810603140565070517669964629947543608404988178019652088162307525611931821066493746994641048066011859814337589829896549720562117090677291541318153057715167624128318297771376531788973088699647168159229805877415594828532539839967464064556647594705830374653113373530876658380240145380423210673778776803592627231257495817394581607796277282644312510714532297108722017217547317744900647318022108570947064304280100418971450552007356891519523293614416944016354756866350050833501416942505071203810116719053430543531027953437436446745566839242129860410443198862219469972163224971258348314341755015213118628882713134766297624091644805801186976152536913514712919240503721680740586016832099946807466311777189050656676962849581383790904722087478646766320517056183581970236248227413322748304134245717987665377396011236706627320817654565682680006957454759981618023476448544673508068369492066566895437050571584345511070959483898938738225050292533674383091612495407126805381796487365892131916426837522671623266627483065655765705534239355214893395905702329340402794052884259146049064629582075576563307670749189662176976725361937046200576007893814439695301892528761187544161389682003509216791271836545495416676148151145195082668323677621182991451835324281863619641773620601014510950996746726615703771971266687151564427772359427340566909351858654807999781808513034680104078196607462166928018863385629928965649243954503391493597963417955268639606791452833692467872935741940362479842688642227725662504694679557678170929873774151037857807219938356152056997839625453727441947651198316190826615266016347740875615970031428012228328190610356706715662722241878767131224669837573607121539572299329404101274463156060298348931678277361174057097484704587036227686110677413094941011961262438027467952964727129462752693949019764164538344775554466171428121848999818969114034332797672927989107710137279281184295118233855942385256333164153378143279674287318136458207166174996112638689535976047617221520910027427485161965702038805161865494457444594178063766957037428053543239915792369877811053417485684498667123216132006378630814477106813088898563644909178779463295955587688067277368683836470612208483299572260344016516194247232298740800342116589984844356688576984553507410293250093945014209879983314562948451929862241009275783684229669718641013736581856815277185073259140534024850924787544871716174654424640728091372513505922826813145390369149590652886241000625495880523771672395227312971578042522330551788256261683080675549820375567692574152956993944504349004617185470945673049153218968830613586193253490318451871770642617802890083608004460414305421033261048294750210470303202846332054952531617433058538758154347087854561609738141615145103748777579733574989673510104836750248325511777237502526995647687215364262385606217553691332159421351598905950537513518351520709657614578131639854432532002236696200855408766520105076378983345708235918180749273124590433024519869147132931932462703067876214268579940066030521414045386366551780718510535469417760242493782392451178913322503092692423649855756521279456558275339921490892868856862895022564047205838132429286600764536839036698193759634186899291274131934296059833048690594627623595320676097721540716472990950611858372856271872423573251506230042608074167903809812264198034505185435990821356377966484742250577592243727298923187891299404854048446822719928239317254073429532989089675503790372464487057264894107613242300912487070053676379388189496900004239731820229886894053019610823763957809819187948639826973433528683168917360632750040517847686479093538683816924213175672979768822065627696943474914020483056384006872835738311110986586149510661361915342172527409078742250880056867149831149121019729847242037335904440063130981999650700416787683293610119590221942974317455716336227454789239793488032299063316588917505912406020220045264868457718282165158892171630470709599503997282778168097827497383884195820921583645621293941200045604062174334998171535030513366277293714389988219756129580868518167923841173364269774889246694435264051484911461988227011238661037602452710188911900438270362280391121270021679247152879324195035694278071477495720447513017171148877312193736366348711630105507365864598069586257026976295714123943691621672377694552248018987680338612382795605985191106112971398796002636340393693119651973344711646854574482999700397952536878348512983782198330513744803168936076427075943787200489575435147989033386529956551570669047103070223076797892329848058499725632813524581372640746415923016932853954152472487866287318545051065376430120748079948860283261855738836955246188128622509828635867225708782966017423170535046509131388753895013061151387840089512861842615441729962315731301087767989000918136617870582141517330935619268642915983553727587587676791953536960714236687847602589538927962585440961131240218794236944630211930970546118745080346860636620310193382167597465544174488399379683716417891139157575146359165023126594124268610800205258776019000550873739401445303129974560221438061891795442780328126230093178952504570380957199592993338719686487798275474853570100033092481743129836527369756194343789131822069107283156271772679863538216891518713732520976834628418347371261368933454629405371869789752684339805368137450825001203521193642598238954329102258317328098581116978343883611320940814793654745807336162557057195523274610323601685712314930799144191673243832283659669368716126815118360353441303009936083544193524336572930768154506567477565558211143508568396203781879592033787429012753106951129653074630840496376302289668286168325299592504054003803917262600195834001336180158836765599057537979745423711070158871650976475924365707758401328959478791343481250979029363644046972556422294698558561670817595994409985323205913035009923360820734795546082012200697671744573982535291905800552837118327702125018691644774560916230166739307705017656065679867259837178918123254219579594535869171376148397610005870749992910355727569593729567789260479930835305112462727870603529547312621720559953074675620549217314861961905983960910846471569192459257648138212674016814845327496495507412976753381357634960529826817906824433858135485518651632270319927880227571858035210375443324098235463619647723862420557582355632137583370066602155641218235815280874570372436217877316899649287051943247206509113311767578126e-4966
diff --git a/stdlib/tst-strtod-round.c b/stdlib/tst-strtod-round.c
index cfddad1..5ff096e 100644
--- a/stdlib/tst-strtod-round.c
+++ b/stdlib/tst-strtod-round.c
@@ -7826,6 +7826,4644 @@ static const struct test tests[] = {
-0x0p+0L,
-0x0p+0L,
-0x0p+0L),
+ TEST (".70064923216240853546186479164495807e-45",
+ false,
+ 0x0p+0f,
+ 0x8p-152f,
+ 0x0p+0f,
+ 0x8p-152f,
+ false,
+ 0x4p-152,
+ 0x4p-152,
+ 0x4p-152,
+ 0x4.0000000000004p-152,
+ false,
+ 0x4p-152L,
+ 0x4p-152L,
+ 0x4p-152L,
+ 0x4.0000000000004p-152L,
+ false,
+ 0x4p-152L,
+ 0x4p-152L,
+ 0x4p-152L,
+ 0x4.0000000000000008p-152L,
+ false,
+ 0x4p-152L,
+ 0x4p-152L,
+ 0x4p-152L,
+ 0x4.0000000000000008p-152L,
+ false,
+ 0x4p-152L,
+ 0x4p-152L,
+ 0x4p-152L,
+ 0x4.00000000000000000000000002p-152L,
+ false,
+ 0x4p-152L,
+ 0x4p-152L,
+ 0x4p-152L,
+ 0x4.0000000000000000000000000004p-152L),
+ TEST ("7.0064923216240853546186479164495806564013097093825788587853"
+ "4141944895541342930300743319094181060791015624e-46",
+ false,
+ 0x0p+0f,
+ 0x0p+0f,
+ 0x0p+0f,
+ 0x8p-152f,
+ false,
+ 0x3.ffffffffffffep-152,
+ 0x4p-152,
+ 0x3.ffffffffffffep-152,
+ 0x4p-152,
+ false,
+ 0x3.ffffffffffffep-152L,
+ 0x4p-152L,
+ 0x3.ffffffffffffep-152L,
+ 0x4p-152L,
+ false,
+ 0x3.fffffffffffffffcp-152L,
+ 0x4p-152L,
+ 0x3.fffffffffffffffcp-152L,
+ 0x4p-152L,
+ false,
+ 0x3.fffffffffffffffcp-152L,
+ 0x4p-152L,
+ 0x3.fffffffffffffffcp-152L,
+ 0x4p-152L,
+ false,
+ 0x3.ffffffffffffffffffffffffffp-152L,
+ 0x4p-152L,
+ 0x3.ffffffffffffffffffffffffffp-152L,
+ 0x4p-152L,
+ false,
+ 0x3.fffffffffffffffffffffffffffep-152L,
+ 0x4p-152L,
+ 0x3.fffffffffffffffffffffffffffep-152L,
+ 0x4p-152L),
+ TEST ("7.0064923216240853546186479164495806564013097093825788587853"
+ "4141944895541342930300743319094181060791015625e-46",
+ false,
+ 0x0p+0f,
+ 0x0p+0f,
+ 0x0p+0f,
+ 0x8p-152f,
+ true,
+ 0x4p-152,
+ 0x4p-152,
+ 0x4p-152,
+ 0x4p-152,
+ true,
+ 0x4p-152L,
+ 0x4p-152L,
+ 0x4p-152L,
+ 0x4p-152L,
+ true,
+ 0x4p-152L,
+ 0x4p-152L,
+ 0x4p-152L,
+ 0x4p-152L,
+ true,
+ 0x4p-152L,
+ 0x4p-152L,
+ 0x4p-152L,
+ 0x4p-152L,
+ true,
+ 0x4p-152L,
+ 0x4p-152L,
+ 0x4p-152L,
+ 0x4p-152L,
+ true,
+ 0x4p-152L,
+ 0x4p-152L,
+ 0x4p-152L,
+ 0x4p-152L),
+ TEST ("7.0064923216240853546186479164495806564013097093825788587853"
+ "4141944895541342930300743319094181060791015626e-46",
+ false,
+ 0x0p+0f,
+ 0x8p-152f,
+ 0x0p+0f,
+ 0x8p-152f,
+ false,
+ 0x4p-152,
+ 0x4p-152,
+ 0x4p-152,
+ 0x4.0000000000004p-152,
+ false,
+ 0x4p-152L,
+ 0x4p-152L,
+ 0x4p-152L,
+ 0x4.0000000000004p-152L,
+ false,
+ 0x4p-152L,
+ 0x4p-152L,
+ 0x4p-152L,
+ 0x4.0000000000000008p-152L,
+ false,
+ 0x4p-152L,
+ 0x4p-152L,
+ 0x4p-152L,
+ 0x4.0000000000000008p-152L,
+ false,
+ 0x4p-152L,
+ 0x4p-152L,
+ 0x4p-152L,
+ 0x4.00000000000000000000000002p-152L,
+ false,
+ 0x4p-152L,
+ 0x4p-152L,
+ 0x4p-152L,
+ 0x4.0000000000000000000000000004p-152L),
+ TEST ("-7.006492321624085354618647916449580656401309709382578858785"
+ "34141944895541342930300743319094181060791015624e-46",
+ false,
+ -0x8p-152f,
+ -0x0p+0f,
+ -0x0p+0f,
+ -0x0p+0f,
+ false,
+ -0x4p-152,
+ -0x4p-152,
+ -0x3.ffffffffffffep-152,
+ -0x3.ffffffffffffep-152,
+ false,
+ -0x4p-152L,
+ -0x4p-152L,
+ -0x3.ffffffffffffep-152L,
+ -0x3.ffffffffffffep-152L,
+ false,
+ -0x4p-152L,
+ -0x4p-152L,
+ -0x3.fffffffffffffffcp-152L,
+ -0x3.fffffffffffffffcp-152L,
+ false,
+ -0x4p-152L,
+ -0x4p-152L,
+ -0x3.fffffffffffffffcp-152L,
+ -0x3.fffffffffffffffcp-152L,
+ false,
+ -0x4p-152L,
+ -0x4p-152L,
+ -0x3.ffffffffffffffffffffffffffp-152L,
+ -0x3.ffffffffffffffffffffffffffp-152L,
+ false,
+ -0x4p-152L,
+ -0x4p-152L,
+ -0x3.fffffffffffffffffffffffffffep-152L,
+ -0x3.fffffffffffffffffffffffffffep-152L),
+ TEST ("-7.006492321624085354618647916449580656401309709382578858785"
+ "34141944895541342930300743319094181060791015625e-46",
+ false,
+ -0x8p-152f,
+ -0x0p+0f,
+ -0x0p+0f,
+ -0x0p+0f,
+ true,
+ -0x4p-152,
+ -0x4p-152,
+ -0x4p-152,
+ -0x4p-152,
+ true,
+ -0x4p-152L,
+ -0x4p-152L,
+ -0x4p-152L,
+ -0x4p-152L,
+ true,
+ -0x4p-152L,
+ -0x4p-152L,
+ -0x4p-152L,
+ -0x4p-152L,
+ true,
+ -0x4p-152L,
+ -0x4p-152L,
+ -0x4p-152L,
+ -0x4p-152L,
+ true,
+ -0x4p-152L,
+ -0x4p-152L,
+ -0x4p-152L,
+ -0x4p-152L,
+ true,
+ -0x4p-152L,
+ -0x4p-152L,
+ -0x4p-152L,
+ -0x4p-152L),
+ TEST ("-7.006492321624085354618647916449580656401309709382578858785"
+ "34141944895541342930300743319094181060791015626e-46",
+ false,
+ -0x8p-152f,
+ -0x8p-152f,
+ -0x0p+0f,
+ -0x0p+0f,
+ false,
+ -0x4.0000000000004p-152,
+ -0x4p-152,
+ -0x4p-152,
+ -0x4p-152,
+ false,
+ -0x4.0000000000004p-152L,
+ -0x4p-152L,
+ -0x4p-152L,
+ -0x4p-152L,
+ false,
+ -0x4.0000000000000008p-152L,
+ -0x4p-152L,
+ -0x4p-152L,
+ -0x4p-152L,
+ false,
+ -0x4.0000000000000008p-152L,
+ -0x4p-152L,
+ -0x4p-152L,
+ -0x4p-152L,
+ false,
+ -0x4.00000000000000000000000002p-152L,
+ -0x4p-152L,
+ -0x4p-152L,
+ -0x4p-152L,
+ false,
+ -0x4.0000000000000000000000000004p-152L,
+ -0x4p-152L,
+ -0x4p-152L,
+ -0x4p-152L),
+ TEST ("2.4703282292062327208828439643411068618252990130716238221279"
+ "284125033775363510437593264991818081799618989828234772285886"
+ "546332835517796989819938739800539093906315035659515570226392"
+ "290858392449105184435931802849936536152500319370457678249219"
+ "365623669863658480757001585769269903706311928279558551332927"
+ "834338409351978015531246597263579574622766465272827220056374"
+ "006485499977096599470454020828166226237857393450736339007967"
+ "761930577506740176324673600968951340535537458516661134223766"
+ "678604162159680461914467291840300530057530849048765391711386"
+ "591646239524912623653881879636239373280423891018672348497668"
+ "235089863388587925628302755995657524455507255189313690836254"
+ "779186948667994968324049705821028513185451396213837722826145"
+ "437693412532098591327667236328124e-324",
+ false,
+ 0x0p+0f,
+ 0x0p+0f,
+ 0x0p+0f,
+ 0x8p-152f,
+ false,
+ 0x0p+0,
+ 0x0p+0,
+ 0x0p+0,
+ 0x4p-1076,
+ false,
+ 0x0p+0L,
+ 0x0p+0L,
+ 0x0p+0L,
+ 0x4p-1076L,
+ false,
+ 0x1.fffffffffffffffep-1076L,
+ 0x2p-1076L,
+ 0x1.fffffffffffffffep-1076L,
+ 0x2p-1076L,
+ false,
+ 0x1.fffffffffffffffep-1076L,
+ 0x2p-1076L,
+ 0x1.fffffffffffffffep-1076L,
+ 0x2p-1076L,
+ false,
+ 0x0p+0L,
+ 0x0p+0L,
+ 0x0p+0L,
+ 0x4p-1076L,
+ false,
+ 0x1.ffffffffffffffffffffffffffffp-1076L,
+ 0x2p-1076L,
+ 0x1.ffffffffffffffffffffffffffffp-1076L,
+ 0x2p-1076L),
+ TEST ("2.4703282292062327208828439643411068618252990130716238221279"
+ "284125033775363510437593264991818081799618989828234772285886"
+ "546332835517796989819938739800539093906315035659515570226392"
+ "290858392449105184435931802849936536152500319370457678249219"
+ "365623669863658480757001585769269903706311928279558551332927"
+ "834338409351978015531246597263579574622766465272827220056374"
+ "006485499977096599470454020828166226237857393450736339007967"
+ "761930577506740176324673600968951340535537458516661134223766"
+ "678604162159680461914467291840300530057530849048765391711386"
+ "591646239524912623653881879636239373280423891018672348497668"
+ "235089863388587925628302755995657524455507255189313690836254"
+ "779186948667994968324049705821028513185451396213837722826145"
+ "437693412532098591327667236328125e-324",
+ false,
+ 0x0p+0f,
+ 0x0p+0f,
+ 0x0p+0f,
+ 0x8p-152f,
+ false,
+ 0x0p+0,
+ 0x0p+0,
+ 0x0p+0,
+ 0x4p-1076,
+ false,
+ 0x0p+0L,
+ 0x0p+0L,
+ 0x0p+0L,
+ 0x4p-1076L,
+ true,
+ 0x2p-1076L,
+ 0x2p-1076L,
+ 0x2p-1076L,
+ 0x2p-1076L,
+ true,
+ 0x2p-1076L,
+ 0x2p-1076L,
+ 0x2p-1076L,
+ 0x2p-1076L,
+ false,
+ 0x0p+0L,
+ 0x0p+0L,
+ 0x0p+0L,
+ 0x4p-1076L,
+ true,
+ 0x2p-1076L,
+ 0x2p-1076L,
+ 0x2p-1076L,
+ 0x2p-1076L),
+ TEST ("2.4703282292062327208828439643411068618252990130716238221279"
+ "284125033775363510437593264991818081799618989828234772285886"
+ "546332835517796989819938739800539093906315035659515570226392"
+ "290858392449105184435931802849936536152500319370457678249219"
+ "365623669863658480757001585769269903706311928279558551332927"
+ "834338409351978015531246597263579574622766465272827220056374"
+ "006485499977096599470454020828166226237857393450736339007967"
+ "761930577506740176324673600968951340535537458516661134223766"
+ "678604162159680461914467291840300530057530849048765391711386"
+ "591646239524912623653881879636239373280423891018672348497668"
+ "235089863388587925628302755995657524455507255189313690836254"
+ "779186948667994968324049705821028513185451396213837722826145"
+ "437693412532098591327667236328126e-324",
+ false,
+ 0x0p+0f,
+ 0x0p+0f,
+ 0x0p+0f,
+ 0x8p-152f,
+ false,
+ 0x0p+0,
+ 0x4p-1076,
+ 0x0p+0,
+ 0x4p-1076,
+ false,
+ 0x0p+0L,
+ 0x4p-1076L,
+ 0x0p+0L,
+ 0x4p-1076L,
+ false,
+ 0x2p-1076L,
+ 0x2p-1076L,
+ 0x2p-1076L,
+ 0x2.0000000000000004p-1076L,
+ false,
+ 0x2p-1076L,
+ 0x2p-1076L,
+ 0x2p-1076L,
+ 0x2.0000000000000004p-1076L,
+ false,
+ 0x0p+0L,
+ 0x4p-1076L,
+ 0x0p+0L,
+ 0x4p-1076L,
+ false,
+ 0x2p-1076L,
+ 0x2p-1076L,
+ 0x2p-1076L,
+ 0x2.0000000000000000000000000002p-1076L),
+ TEST ("-2.470328229206232720882843964341106861825299013071623822127"
+ "928412503377536351043759326499181808179961898982823477228588"
+ "654633283551779698981993873980053909390631503565951557022639"
+ "229085839244910518443593180284993653615250031937045767824921"
+ "936562366986365848075700158576926990370631192827955855133292"
+ "783433840935197801553124659726357957462276646527282722005637"
+ "400648549997709659947045402082816622623785739345073633900796"
+ "776193057750674017632467360096895134053553745851666113422376"
+ "667860416215968046191446729184030053005753084904876539171138"
+ "659164623952491262365388187963623937328042389101867234849766"
+ "823508986338858792562830275599565752445550725518931369083625"
+ "477918694866799496832404970582102851318545139621383772282614"
+ "5437693412532098591327667236328124e-324",
+ false,
+ -0x8p-152f,
+ -0x0p+0f,
+ -0x0p+0f,
+ -0x0p+0f,
+ false,
+ -0x4p-1076,
+ -0x0p+0,
+ -0x0p+0,
+ -0x0p+0,
+ false,
+ -0x4p-1076L,
+ -0x0p+0L,
+ -0x0p+0L,
+ -0x0p+0L,
+ false,
+ -0x2p-1076L,
+ -0x2p-1076L,
+ -0x1.fffffffffffffffep-1076L,
+ -0x1.fffffffffffffffep-1076L,
+ false,
+ -0x2p-1076L,
+ -0x2p-1076L,
+ -0x1.fffffffffffffffep-1076L,
+ -0x1.fffffffffffffffep-1076L,
+ false,
+ -0x4p-1076L,
+ -0x0p+0L,
+ -0x0p+0L,
+ -0x0p+0L,
+ false,
+ -0x2p-1076L,
+ -0x2p-1076L,
+ -0x1.ffffffffffffffffffffffffffffp-1076L,
+ -0x1.ffffffffffffffffffffffffffffp-1076L),
+ TEST ("-2.470328229206232720882843964341106861825299013071623822127"
+ "928412503377536351043759326499181808179961898982823477228588"
+ "654633283551779698981993873980053909390631503565951557022639"
+ "229085839244910518443593180284993653615250031937045767824921"
+ "936562366986365848075700158576926990370631192827955855133292"
+ "783433840935197801553124659726357957462276646527282722005637"
+ "400648549997709659947045402082816622623785739345073633900796"
+ "776193057750674017632467360096895134053553745851666113422376"
+ "667860416215968046191446729184030053005753084904876539171138"
+ "659164623952491262365388187963623937328042389101867234849766"
+ "823508986338858792562830275599565752445550725518931369083625"
+ "477918694866799496832404970582102851318545139621383772282614"
+ "5437693412532098591327667236328125e-324",
+ false,
+ -0x8p-152f,
+ -0x0p+0f,
+ -0x0p+0f,
+ -0x0p+0f,
+ false,
+ -0x4p-1076,
+ -0x0p+0,
+ -0x0p+0,
+ -0x0p+0,
+ false,
+ -0x4p-1076L,
+ -0x0p+0L,
+ -0x0p+0L,
+ -0x0p+0L,
+ true,
+ -0x2p-1076L,
+ -0x2p-1076L,
+ -0x2p-1076L,
+ -0x2p-1076L,
+ true,
+ -0x2p-1076L,
+ -0x2p-1076L,
+ -0x2p-1076L,
+ -0x2p-1076L,
+ false,
+ -0x4p-1076L,
+ -0x0p+0L,
+ -0x0p+0L,
+ -0x0p+0L,
+ true,
+ -0x2p-1076L,
+ -0x2p-1076L,
+ -0x2p-1076L,
+ -0x2p-1076L),
+ TEST ("-2.470328229206232720882843964341106861825299013071623822127"
+ "928412503377536351043759326499181808179961898982823477228588"
+ "654633283551779698981993873980053909390631503565951557022639"
+ "229085839244910518443593180284993653615250031937045767824921"
+ "936562366986365848075700158576926990370631192827955855133292"
+ "783433840935197801553124659726357957462276646527282722005637"
+ "400648549997709659947045402082816622623785739345073633900796"
+ "776193057750674017632467360096895134053553745851666113422376"
+ "667860416215968046191446729184030053005753084904876539171138"
+ "659164623952491262365388187963623937328042389101867234849766"
+ "823508986338858792562830275599565752445550725518931369083625"
+ "477918694866799496832404970582102851318545139621383772282614"
+ "5437693412532098591327667236328126e-324",
+ false,
+ -0x8p-152f,
+ -0x0p+0f,
+ -0x0p+0f,
+ -0x0p+0f,
+ false,
+ -0x4p-1076,
+ -0x4p-1076,
+ -0x0p+0,
+ -0x0p+0,
+ false,
+ -0x4p-1076L,
+ -0x4p-1076L,
+ -0x0p+0L,
+ -0x0p+0L,
+ false,
+ -0x2.0000000000000004p-1076L,
+ -0x2p-1076L,
+ -0x2p-1076L,
+ -0x2p-1076L,
+ false,
+ -0x2.0000000000000004p-1076L,
+ -0x2p-1076L,
+ -0x2p-1076L,
+ -0x2p-1076L,
+ false,
+ -0x4p-1076L,
+ -0x4p-1076L,
+ -0x0p+0L,
+ -0x0p+0L,
+ false,
+ -0x2.0000000000000000000000000002p-1076L,
+ -0x2p-1076L,
+ -0x2p-1076L,
+ -0x2p-1076L),
+ TEST ("1.8225997659412373012642029668097099081995254078467816718604"
+ "902435141858443166988684047803543129136025986236736736017655"
+ "509834928163110160849867540377949045027419112905889658392846"
+ "126319028167798783107812829917053644701598967767636342956203"
+ "999770864055077592691915230273843577112246476529298591341071"
+ "313110337661777304220340396298768698441131694859514066773321"
+ "059786469060001083813361460161387168195154228027648977594276"
+ "496061276605855817438145692314650177569263750801566422892936"
+ "732834290416745265618525969943519916542939199731612507343012"
+ "297331882934352282118173551211985973294301787840335672389913"
+ "821098681464088756477802684228806339233239542587316254618680"
+ "197563613907079766830481997222017010585267442240109888818022"
+ "189543438116245170584546472752661417773021275082355242554950"
+ "776248474101880875363872607989624146320823364146896124171892"
+ "610744237622308266702265704492674694505399997330424978964704"
+ "335411125839490463131661420668167686151828553033363555080508"
+ "484934542727634080467233927879117726432283352324546435315312"
+ "937809651095964197873430398662003709663353962932921239516263"
+ "008572512558260093668527782388349282015308359304941505110445"
+ "043762021191469060607078792635897736408141163554429972292873"
+ "575169264387977130124003958599909776720759582995017519144111"
+ "001778329839793855454688442046155253818724410472281602421363"
+ "580613990749181808302947976045417884436271162664776148749463"
+ "202753814797191206392480969096910387729527305862739806702349"
+ "088455828380471306603628636563037414688265702108098430515297"
+ "645997107159687247830496686980315376091511219227376708389862"
+ "310190633134517040835432587726931910775044780329777051964574"
+ "763119639404235797665922677433332402402817037657141926646502"
+ "612388421085254756323737273178774331073924707711575555193153"
+ "421957126062196520952920611871114861423032687425262323243276"
+ "848595495133802591437804984986053892365334900647137137197585"
+ "161954823956838391108748154877098567190695813394392779995887"
+ "642254413740232692940887236351533691174492514884514265006822"
+ "752026136435469700291628942927286843274959781329315250417360"
+ "438115330104516894597449604875954147108010051910197388860417"
+ "003307595774863477182911525109554542883460240867674794470854"
+ "883815424039187014069246137704710366577005576311674384079810"
+ "437206511282792194562503036151028910065418370565117488062226"
+ "073975854919243439941741016447206284543777826080409075756028"
+ "194465562812076645422284670475730922346454505830553174377950"
+ "824178034708147037448871898963699023373821217419560423459358"
+ "846127232531421552826545954362386431279626917642725181802754"
+ "271134597856231805666129524101509582941585421888561296839474"
+ "232056474112935379177434928227554149402642893913492062781246"
+ "372611175305462271711931011635602039137701669573065960945871"
+ "579420683440097179831368317352157202215160682058878025153007"
+ "184185319863451652087375936651004559837502483808090613073982"
+ "264685620351993519454344577635257452328683726988824705474397"
+ "398247190812883071734743260426540123481791283782928972842466"
+ "595210269414219040901793935553872090377394005932597887081359"
+ "481915849178541128182923272843218513093012167744690818603663"
+ "862691727272565325057703378827553284852502067686026850339624"
+ "401046086817036618366842240024522042069888708534827471235203"
+ "998932259309110942367856287784097166420437430118381247339347"
+ "418156902369282431197735078016591613063918260343498992697002"
+ "033186558413655576703389208301203552157755701852051877927864"
+ "696515420369217703510602759815252574799728706795849558382877"
+ "392016396900560101736741462690753991602263974212137632508984"
+ "264559315540891383192361601189350414311358816980975697568561"
+ "515680971830107704152657284552920241862730125888825702301035"
+ "564615759615882010733764341109834449576907982406265803484111"
+ "303615971297609065271517286111839839646343815364461776394273"
+ "571391219315553915335300622295196577640884201524657614065743"
+ "729121754460652975075990012786021662416077757235487562550381"
+ "116824006014440438178253273174734436163638119532295383351135"
+ "543170811596051785036366846773285937845231974424475418970517"
+ "659179798069972876889488877627309887323737590814875050457317"
+ "809625163713227973229002908003491739085115971899606986738405"
+ "752463436186745107821032315480693516006251388789902053863235"
+ "071957895722121876262598833823352290042576488238120724072267"
+ "480348425637199003147760378463243043407534395221882144887315"
+ "875876025907739792297575795373506429192468470170038312050500"
+ "917665707583420927303790875332407805094505665159755210495266"
+ "485594187244922216154283213688032393939401426499517609275128"
+ "062067355172333120857796045387692492375534056470145301671359"
+ "016602832469675123108598588424022216759334733452626330303791"
+ "660952659036162827509451468771297954737165701921676834866994"
+ "084496268491510599580714458155026746676860790028899722645883"
+ "679435969902046442373108472951515492761911884847211825930115"
+ "654927539118088350255959445076757398298893380662248358210075"
+ "297702191186519614515280395341723177201383862827129721649638"
+ "274531314762377778754560119397123180107310216608157141828379"
+ "259328274508467371717057031104537750450228447941619684073375"
+ "630517322006118640290925241602376256334414376495602911265450"
+ "165889418372161719063670619610214632774542741157366426747861"
+ "054811449449004970132668146607323502760146957586465275981090"
+ "328336256381187450646030492071694516054712444513961269623339"
+ "705411366337817643269316717217432478812002049894979925260411"
+ "553651385384826214231392012841425936827944383266227115236029"
+ "717393064659821056467446870597828757433936024422511537561864"
+ "619865595955628070343780472634463916608440151554502790128417"
+ "277259492437005696576453717387309605129939526661181496994297"
+ "244693710437436581443653555343763817246961834486181294985455"
+ "884981266421533438177271809310897035958260776218253097858601"
+ "160643120653927024652834025146166356877731266566437231429061"
+ "099807825113272551869352908241073955695854354852545370793609"
+ "838167127357752579007490955536081388103461735071174567636929"
+ "060824172375010035497010614957197713919909924635906503348016"
+ "450952475530978921242656498701313530533991692867619886826204"
+ "706468476070943378163577235406861262755114909606255628375659"
+ "196050370661430148107216310635729360112021571291096278032076"
+ "401092225373270173950575377792566872113768085940991929655824"
+ "050914085013970861399015141010432835406337266746706727481946"
+ "196898882472095111505210339933002505227334750020285673634670"
+ "738458390159933494226851499935336922036551687169140582574153"
+ "726872453800858360764892975201757027862632615130256075468549"
+ "502839367841926212872731925042838691319757663382746471782087"
+ "828988857978192483595747889021081459460627705275735868618724"
+ "958783348362295106875556443770626864591972089881215465141073"
+ "516646930158996569747675806719463602045230325049794904894739"
+ "988312727573320971310488326486213061839843830003145873279435"
+ "454121817918269218294901387830156432148142381592864575229119"
+ "479029130050663564889172093067341444164942736885872753984012"
+ "865743421266470861425283889134636885790293235727017788606167"
+ "560012477186697069994213912998550931078617189790771376702549"
+ "055361745205232419031423044366971378594392952093464046441667"
+ "117613906203494872209149396518971207279263883566606774353236"
+ "255473603377861613942239543893894460581170658088042083661404"
+ "937465706659424639301296621963906278930754459296017486063079"
+ "582024995485338893699574289806529424673393810217577605952909"
+ "491283123179789154639057105774960699934999681018155749261864"
+ "012821574480758746632022143860041252142846691648490809250856"
+ "327057133540568617791625295314357533564192304930155735301757"
+ "457531580062662693966772497728335047637869054460240023262262"
+ "260698443946964564691259441706490611176164305693669515767804"
+ "836460521205954731752583848846525153811934541997962775215961"
+ "180346397456122329133421016560406277159258781706172834569862"
+ "946953007793254152187010227976038449980797987728559041018441"
+ "590564594738308310579014597893182017151615208050090318483536"
+ "106249131918576316944251537092347119867433735046169725181104"
+ "507590928834713669184230634083190791725243913641206256399101"
+ "550966117564795555149420011152858441084271411289366093158722"
+ "254752761637144762690747726313899449121995142565661043193165"
+ "353010677613760383307839362361625628371456344409245507081913"
+ "518237257141164239966660785903970075181826808229440731778746"
+ "830751045427285945936163931997929399708401851740705527023711"
+ "492262489476846435969872480702228386506357017948329114555484"
+ "164760105906717855684788039081591713778852802032849601308169"
+ "832017420608399347713424218434541771868442189843417628618330"
+ "607429739733739437863581804003482214082370567967330530446020"
+ "897773385726872912189813323094415093143437550397556262780011"
+ "208941731420098754319961419532567861629590267320403217607660"
+ "774125374101195389953895035347940170148097810952083736798564"
+ "420421622607993390894450932047257403433908665884124601384175"
+ "012387617430467934818665777122459487877479257747635172691688"
+ "471574765285820096075133353869554987216398800026453207557923"
+ "535966131756358352198875705382763163680830588056974671628368"
+ "719411827591592806044707764658145625683998557872894583705117"
+ "936257144994734815912058252772021032081682437093280526665192"
+ "728869800954748014250481042845426151143544474372887617562791"
+ "409866964806319608280819816846942058817381943129762034507591"
+ "367065185343216917751414811188645979508942996964383255432999"
+ "246119971295726296202396921903289017490293595312645036697141"
+ "581149988784499288560584613793415358537364677872496224892098"
+ "940856692342358755626519304557946447004033186014602147449599"
+ "351317079758304444877174136521487256811625263467410007624215"
+ "856145392339552689565690577293133060124853654497575571509576"
+ "408069646196646757505249296126372820539234090564691695806544"
+ "715766025588258581902342311480969412221466852421842650484494"
+ "063894865891424563992751226230317059592413191308470146226366"
+ "458233536657973376067140793776369412191789801225320255079444"
+ "592709005698858098716107025188986428347407279053266600044521"
+ "079987989879536957560131070100060050673537683871138182387904"
+ "590837539252425985326631955455857258818756188063697492342550"
+ "045277400125480079927908846850898283905756532829762950509886"
+ "991675925213188409911532242068610889478326451513981115020992"
+ "630395715520350039372702741107911736947893709538471200363740"
+ "669304116845653259038102180504837110789645359520309929381266"
+ "271463740502507456882882255788069710715770802338317704510793"
+ "279398576163709512326095306022330346997717688118726634628650"
+ "675984237916551201500684504118483305560295744746257951860545"
+ "390826531622290588364837980034428055971370065573420370270905"
+ "592141420051502465016793525150950140243606137664910359769114"
+ "512792293426708006440346732679574519594848136194781488696994"
+ "267355775509666977187349644291823026624985531726865131782364"
+ "428380093055155988532106121916567178604128111080322761213573"
+ "781334480667563871257352254033032675246444238637990062075058"
+ "819854494711379915549313390179300091783493496822950479766923"
+ "983305064901026858870340863556799948310622536592472509634484"
+ "910640735459644047154918467543140024764605449756679450446473"
+ "048922824617117723876384637412932380635306714345354710568410"
+ "140587435077620501285599837051978855056335305570615129711860"
+ "309387503970812843734718712815925040263182888714533431137355"
+ "255722368962836390856001176889513153529416105504464217522618"
+ "741534232432067776306691118141998014985541610448993152948945"
+ "865983354717289054861249734477980864059509622993770525110616"
+ "313865830823478927462500895844216364365499438449134659145333"
+ "799994034010282254566331595018205841080487728993632798168070"
+ "476921205941768965021887178681810499301253039335978279707627"
+ "295287697256489961179958946847840431902105306618594831078534"
+ "622089641993900896756734276531931450266972752637997248151974"
+ "2277811246822238899767398834228515624e-4951",
+ false,
+ 0x0p+0f,
+ 0x0p+0f,
+ 0x0p+0f,
+ 0x8p-152f,
+ false,
+ 0x0p+0,
+ 0x0p+0,
+ 0x0p+0,
+ 0x4p-1076,
+ false,
+ 0x0p+0L,
+ 0x0p+0L,
+ 0x0p+0L,
+ 0x4p-1076L,
+ false,
+ 0x0p+0L,
+ 0x0p+0L,
+ 0x0p+0L,
+ 0x8p-16448L,
+ false,
+ 0x0p+0L,
+ 0x4p-16448L,
+ 0x0p+0L,
+ 0x4p-16448L,
+ false,
+ 0x0p+0L,
+ 0x0p+0L,
+ 0x0p+0L,
+ 0x4p-1076L,
+ false,
+ 0x3.fffffffffffcp-16448L,
+ 0x4p-16448L,
+ 0x3.fffffffffffcp-16448L,
+ 0x4p-16448L),
+ TEST ("1.8225997659412373012642029668097099081995254078467816718604"
+ "902435141858443166988684047803543129136025986236736736017655"
+ "509834928163110160849867540377949045027419112905889658392846"
+ "126319028167798783107812829917053644701598967767636342956203"
+ "999770864055077592691915230273843577112246476529298591341071"
+ "313110337661777304220340396298768698441131694859514066773321"
+ "059786469060001083813361460161387168195154228027648977594276"
+ "496061276605855817438145692314650177569263750801566422892936"
+ "732834290416745265618525969943519916542939199731612507343012"
+ "297331882934352282118173551211985973294301787840335672389913"
+ "821098681464088756477802684228806339233239542587316254618680"
+ "197563613907079766830481997222017010585267442240109888818022"
+ "189543438116245170584546472752661417773021275082355242554950"
+ "776248474101880875363872607989624146320823364146896124171892"
+ "610744237622308266702265704492674694505399997330424978964704"
+ "335411125839490463131661420668167686151828553033363555080508"
+ "484934542727634080467233927879117726432283352324546435315312"
+ "937809651095964197873430398662003709663353962932921239516263"
+ "008572512558260093668527782388349282015308359304941505110445"
+ "043762021191469060607078792635897736408141163554429972292873"
+ "575169264387977130124003958599909776720759582995017519144111"
+ "001778329839793855454688442046155253818724410472281602421363"
+ "580613990749181808302947976045417884436271162664776148749463"
+ "202753814797191206392480969096910387729527305862739806702349"
+ "088455828380471306603628636563037414688265702108098430515297"
+ "645997107159687247830496686980315376091511219227376708389862"
+ "310190633134517040835432587726931910775044780329777051964574"
+ "763119639404235797665922677433332402402817037657141926646502"
+ "612388421085254756323737273178774331073924707711575555193153"
+ "421957126062196520952920611871114861423032687425262323243276"
+ "848595495133802591437804984986053892365334900647137137197585"
+ "161954823956838391108748154877098567190695813394392779995887"
+ "642254413740232692940887236351533691174492514884514265006822"
+ "752026136435469700291628942927286843274959781329315250417360"
+ "438115330104516894597449604875954147108010051910197388860417"
+ "003307595774863477182911525109554542883460240867674794470854"
+ "883815424039187014069246137704710366577005576311674384079810"
+ "437206511282792194562503036151028910065418370565117488062226"
+ "073975854919243439941741016447206284543777826080409075756028"
+ "194465562812076645422284670475730922346454505830553174377950"
+ "824178034708147037448871898963699023373821217419560423459358"
+ "846127232531421552826545954362386431279626917642725181802754"
+ "271134597856231805666129524101509582941585421888561296839474"
+ "232056474112935379177434928227554149402642893913492062781246"
+ "372611175305462271711931011635602039137701669573065960945871"
+ "579420683440097179831368317352157202215160682058878025153007"
+ "184185319863451652087375936651004559837502483808090613073982"
+ "264685620351993519454344577635257452328683726988824705474397"
+ "398247190812883071734743260426540123481791283782928972842466"
+ "595210269414219040901793935553872090377394005932597887081359"
+ "481915849178541128182923272843218513093012167744690818603663"
+ "862691727272565325057703378827553284852502067686026850339624"
+ "401046086817036618366842240024522042069888708534827471235203"
+ "998932259309110942367856287784097166420437430118381247339347"
+ "418156902369282431197735078016591613063918260343498992697002"
+ "033186558413655576703389208301203552157755701852051877927864"
+ "696515420369217703510602759815252574799728706795849558382877"
+ "392016396900560101736741462690753991602263974212137632508984"
+ "264559315540891383192361601189350414311358816980975697568561"
+ "515680971830107704152657284552920241862730125888825702301035"
+ "564615759615882010733764341109834449576907982406265803484111"
+ "303615971297609065271517286111839839646343815364461776394273"
+ "571391219315553915335300622295196577640884201524657614065743"
+ "729121754460652975075990012786021662416077757235487562550381"
+ "116824006014440438178253273174734436163638119532295383351135"
+ "543170811596051785036366846773285937845231974424475418970517"
+ "659179798069972876889488877627309887323737590814875050457317"
+ "809625163713227973229002908003491739085115971899606986738405"
+ "752463436186745107821032315480693516006251388789902053863235"
+ "071957895722121876262598833823352290042576488238120724072267"
+ "480348425637199003147760378463243043407534395221882144887315"
+ "875876025907739792297575795373506429192468470170038312050500"
+ "917665707583420927303790875332407805094505665159755210495266"
+ "485594187244922216154283213688032393939401426499517609275128"
+ "062067355172333120857796045387692492375534056470145301671359"
+ "016602832469675123108598588424022216759334733452626330303791"
+ "660952659036162827509451468771297954737165701921676834866994"
+ "084496268491510599580714458155026746676860790028899722645883"
+ "679435969902046442373108472951515492761911884847211825930115"
+ "654927539118088350255959445076757398298893380662248358210075"
+ "297702191186519614515280395341723177201383862827129721649638"
+ "274531314762377778754560119397123180107310216608157141828379"
+ "259328274508467371717057031104537750450228447941619684073375"
+ "630517322006118640290925241602376256334414376495602911265450"
+ "165889418372161719063670619610214632774542741157366426747861"
+ "054811449449004970132668146607323502760146957586465275981090"
+ "328336256381187450646030492071694516054712444513961269623339"
+ "705411366337817643269316717217432478812002049894979925260411"
+ "553651385384826214231392012841425936827944383266227115236029"
+ "717393064659821056467446870597828757433936024422511537561864"
+ "619865595955628070343780472634463916608440151554502790128417"
+ "277259492437005696576453717387309605129939526661181496994297"
+ "244693710437436581443653555343763817246961834486181294985455"
+ "884981266421533438177271809310897035958260776218253097858601"
+ "160643120653927024652834025146166356877731266566437231429061"
+ "099807825113272551869352908241073955695854354852545370793609"
+ "838167127357752579007490955536081388103461735071174567636929"
+ "060824172375010035497010614957197713919909924635906503348016"
+ "450952475530978921242656498701313530533991692867619886826204"
+ "706468476070943378163577235406861262755114909606255628375659"
+ "196050370661430148107216310635729360112021571291096278032076"
+ "401092225373270173950575377792566872113768085940991929655824"
+ "050914085013970861399015141010432835406337266746706727481946"
+ "196898882472095111505210339933002505227334750020285673634670"
+ "738458390159933494226851499935336922036551687169140582574153"
+ "726872453800858360764892975201757027862632615130256075468549"
+ "502839367841926212872731925042838691319757663382746471782087"
+ "828988857978192483595747889021081459460627705275735868618724"
+ "958783348362295106875556443770626864591972089881215465141073"
+ "516646930158996569747675806719463602045230325049794904894739"
+ "988312727573320971310488326486213061839843830003145873279435"
+ "454121817918269218294901387830156432148142381592864575229119"
+ "479029130050663564889172093067341444164942736885872753984012"
+ "865743421266470861425283889134636885790293235727017788606167"
+ "560012477186697069994213912998550931078617189790771376702549"
+ "055361745205232419031423044366971378594392952093464046441667"
+ "117613906203494872209149396518971207279263883566606774353236"
+ "255473603377861613942239543893894460581170658088042083661404"
+ "937465706659424639301296621963906278930754459296017486063079"
+ "582024995485338893699574289806529424673393810217577605952909"
+ "491283123179789154639057105774960699934999681018155749261864"
+ "012821574480758746632022143860041252142846691648490809250856"
+ "327057133540568617791625295314357533564192304930155735301757"
+ "457531580062662693966772497728335047637869054460240023262262"
+ "260698443946964564691259441706490611176164305693669515767804"
+ "836460521205954731752583848846525153811934541997962775215961"
+ "180346397456122329133421016560406277159258781706172834569862"
+ "946953007793254152187010227976038449980797987728559041018441"
+ "590564594738308310579014597893182017151615208050090318483536"
+ "106249131918576316944251537092347119867433735046169725181104"
+ "507590928834713669184230634083190791725243913641206256399101"
+ "550966117564795555149420011152858441084271411289366093158722"
+ "254752761637144762690747726313899449121995142565661043193165"
+ "353010677613760383307839362361625628371456344409245507081913"
+ "518237257141164239966660785903970075181826808229440731778746"
+ "830751045427285945936163931997929399708401851740705527023711"
+ "492262489476846435969872480702228386506357017948329114555484"
+ "164760105906717855684788039081591713778852802032849601308169"
+ "832017420608399347713424218434541771868442189843417628618330"
+ "607429739733739437863581804003482214082370567967330530446020"
+ "897773385726872912189813323094415093143437550397556262780011"
+ "208941731420098754319961419532567861629590267320403217607660"
+ "774125374101195389953895035347940170148097810952083736798564"
+ "420421622607993390894450932047257403433908665884124601384175"
+ "012387617430467934818665777122459487877479257747635172691688"
+ "471574765285820096075133353869554987216398800026453207557923"
+ "535966131756358352198875705382763163680830588056974671628368"
+ "719411827591592806044707764658145625683998557872894583705117"
+ "936257144994734815912058252772021032081682437093280526665192"
+ "728869800954748014250481042845426151143544474372887617562791"
+ "409866964806319608280819816846942058817381943129762034507591"
+ "367065185343216917751414811188645979508942996964383255432999"
+ "246119971295726296202396921903289017490293595312645036697141"
+ "581149988784499288560584613793415358537364677872496224892098"
+ "940856692342358755626519304557946447004033186014602147449599"
+ "351317079758304444877174136521487256811625263467410007624215"
+ "856145392339552689565690577293133060124853654497575571509576"
+ "408069646196646757505249296126372820539234090564691695806544"
+ "715766025588258581902342311480969412221466852421842650484494"
+ "063894865891424563992751226230317059592413191308470146226366"
+ "458233536657973376067140793776369412191789801225320255079444"
+ "592709005698858098716107025188986428347407279053266600044521"
+ "079987989879536957560131070100060050673537683871138182387904"
+ "590837539252425985326631955455857258818756188063697492342550"
+ "045277400125480079927908846850898283905756532829762950509886"
+ "991675925213188409911532242068610889478326451513981115020992"
+ "630395715520350039372702741107911736947893709538471200363740"
+ "669304116845653259038102180504837110789645359520309929381266"
+ "271463740502507456882882255788069710715770802338317704510793"
+ "279398576163709512326095306022330346997717688118726634628650"
+ "675984237916551201500684504118483305560295744746257951860545"
+ "390826531622290588364837980034428055971370065573420370270905"
+ "592141420051502465016793525150950140243606137664910359769114"
+ "512792293426708006440346732679574519594848136194781488696994"
+ "267355775509666977187349644291823026624985531726865131782364"
+ "428380093055155988532106121916567178604128111080322761213573"
+ "781334480667563871257352254033032675246444238637990062075058"
+ "819854494711379915549313390179300091783493496822950479766923"
+ "983305064901026858870340863556799948310622536592472509634484"
+ "910640735459644047154918467543140024764605449756679450446473"
+ "048922824617117723876384637412932380635306714345354710568410"
+ "140587435077620501285599837051978855056335305570615129711860"
+ "309387503970812843734718712815925040263182888714533431137355"
+ "255722368962836390856001176889513153529416105504464217522618"
+ "741534232432067776306691118141998014985541610448993152948945"
+ "865983354717289054861249734477980864059509622993770525110616"
+ "313865830823478927462500895844216364365499438449134659145333"
+ "799994034010282254566331595018205841080487728993632798168070"
+ "476921205941768965021887178681810499301253039335978279707627"
+ "295287697256489961179958946847840431902105306618594831078534"
+ "622089641993900896756734276531931450266972752637997248151974"
+ "2277811246822238899767398834228515625e-4951",
+ false,
+ 0x0p+0f,
+ 0x0p+0f,
+ 0x0p+0f,
+ 0x8p-152f,
+ false,
+ 0x0p+0,
+ 0x0p+0,
+ 0x0p+0,
+ 0x4p-1076,
+ false,
+ 0x0p+0L,
+ 0x0p+0L,
+ 0x0p+0L,
+ 0x4p-1076L,
+ false,
+ 0x0p+0L,
+ 0x0p+0L,
+ 0x0p+0L,
+ 0x8p-16448L,
+ true,
+ 0x4p-16448L,
+ 0x4p-16448L,
+ 0x4p-16448L,
+ 0x4p-16448L,
+ false,
+ 0x0p+0L,
+ 0x0p+0L,
+ 0x0p+0L,
+ 0x4p-1076L,
+ true,
+ 0x4p-16448L,
+ 0x4p-16448L,
+ 0x4p-16448L,
+ 0x4p-16448L),
+ TEST ("1.8225997659412373012642029668097099081995254078467816718604"
+ "902435141858443166988684047803543129136025986236736736017655"
+ "509834928163110160849867540377949045027419112905889658392846"
+ "126319028167798783107812829917053644701598967767636342956203"
+ "999770864055077592691915230273843577112246476529298591341071"
+ "313110337661777304220340396298768698441131694859514066773321"
+ "059786469060001083813361460161387168195154228027648977594276"
+ "496061276605855817438145692314650177569263750801566422892936"
+ "732834290416745265618525969943519916542939199731612507343012"
+ "297331882934352282118173551211985973294301787840335672389913"
+ "821098681464088756477802684228806339233239542587316254618680"
+ "197563613907079766830481997222017010585267442240109888818022"
+ "189543438116245170584546472752661417773021275082355242554950"
+ "776248474101880875363872607989624146320823364146896124171892"
+ "610744237622308266702265704492674694505399997330424978964704"
+ "335411125839490463131661420668167686151828553033363555080508"
+ "484934542727634080467233927879117726432283352324546435315312"
+ "937809651095964197873430398662003709663353962932921239516263"
+ "008572512558260093668527782388349282015308359304941505110445"
+ "043762021191469060607078792635897736408141163554429972292873"
+ "575169264387977130124003958599909776720759582995017519144111"
+ "001778329839793855454688442046155253818724410472281602421363"
+ "580613990749181808302947976045417884436271162664776148749463"
+ "202753814797191206392480969096910387729527305862739806702349"
+ "088455828380471306603628636563037414688265702108098430515297"
+ "645997107159687247830496686980315376091511219227376708389862"
+ "310190633134517040835432587726931910775044780329777051964574"
+ "763119639404235797665922677433332402402817037657141926646502"
+ "612388421085254756323737273178774331073924707711575555193153"
+ "421957126062196520952920611871114861423032687425262323243276"
+ "848595495133802591437804984986053892365334900647137137197585"
+ "161954823956838391108748154877098567190695813394392779995887"
+ "642254413740232692940887236351533691174492514884514265006822"
+ "752026136435469700291628942927286843274959781329315250417360"
+ "438115330104516894597449604875954147108010051910197388860417"
+ "003307595774863477182911525109554542883460240867674794470854"
+ "883815424039187014069246137704710366577005576311674384079810"
+ "437206511282792194562503036151028910065418370565117488062226"
+ "073975854919243439941741016447206284543777826080409075756028"
+ "194465562812076645422284670475730922346454505830553174377950"
+ "824178034708147037448871898963699023373821217419560423459358"
+ "846127232531421552826545954362386431279626917642725181802754"
+ "271134597856231805666129524101509582941585421888561296839474"
+ "232056474112935379177434928227554149402642893913492062781246"
+ "372611175305462271711931011635602039137701669573065960945871"
+ "579420683440097179831368317352157202215160682058878025153007"
+ "184185319863451652087375936651004559837502483808090613073982"
+ "264685620351993519454344577635257452328683726988824705474397"
+ "398247190812883071734743260426540123481791283782928972842466"
+ "595210269414219040901793935553872090377394005932597887081359"
+ "481915849178541128182923272843218513093012167744690818603663"
+ "862691727272565325057703378827553284852502067686026850339624"
+ "401046086817036618366842240024522042069888708534827471235203"
+ "998932259309110942367856287784097166420437430118381247339347"
+ "418156902369282431197735078016591613063918260343498992697002"
+ "033186558413655576703389208301203552157755701852051877927864"
+ "696515420369217703510602759815252574799728706795849558382877"
+ "392016396900560101736741462690753991602263974212137632508984"
+ "264559315540891383192361601189350414311358816980975697568561"
+ "515680971830107704152657284552920241862730125888825702301035"
+ "564615759615882010733764341109834449576907982406265803484111"
+ "303615971297609065271517286111839839646343815364461776394273"
+ "571391219315553915335300622295196577640884201524657614065743"
+ "729121754460652975075990012786021662416077757235487562550381"
+ "116824006014440438178253273174734436163638119532295383351135"
+ "543170811596051785036366846773285937845231974424475418970517"
+ "659179798069972876889488877627309887323737590814875050457317"
+ "809625163713227973229002908003491739085115971899606986738405"
+ "752463436186745107821032315480693516006251388789902053863235"
+ "071957895722121876262598833823352290042576488238120724072267"
+ "480348425637199003147760378463243043407534395221882144887315"
+ "875876025907739792297575795373506429192468470170038312050500"
+ "917665707583420927303790875332407805094505665159755210495266"
+ "485594187244922216154283213688032393939401426499517609275128"
+ "062067355172333120857796045387692492375534056470145301671359"
+ "016602832469675123108598588424022216759334733452626330303791"
+ "660952659036162827509451468771297954737165701921676834866994"
+ "084496268491510599580714458155026746676860790028899722645883"
+ "679435969902046442373108472951515492761911884847211825930115"
+ "654927539118088350255959445076757398298893380662248358210075"
+ "297702191186519614515280395341723177201383862827129721649638"
+ "274531314762377778754560119397123180107310216608157141828379"
+ "259328274508467371717057031104537750450228447941619684073375"
+ "630517322006118640290925241602376256334414376495602911265450"
+ "165889418372161719063670619610214632774542741157366426747861"
+ "054811449449004970132668146607323502760146957586465275981090"
+ "328336256381187450646030492071694516054712444513961269623339"
+ "705411366337817643269316717217432478812002049894979925260411"
+ "553651385384826214231392012841425936827944383266227115236029"
+ "717393064659821056467446870597828757433936024422511537561864"
+ "619865595955628070343780472634463916608440151554502790128417"
+ "277259492437005696576453717387309605129939526661181496994297"
+ "244693710437436581443653555343763817246961834486181294985455"
+ "884981266421533438177271809310897035958260776218253097858601"
+ "160643120653927024652834025146166356877731266566437231429061"
+ "099807825113272551869352908241073955695854354852545370793609"
+ "838167127357752579007490955536081388103461735071174567636929"
+ "060824172375010035497010614957197713919909924635906503348016"
+ "450952475530978921242656498701313530533991692867619886826204"
+ "706468476070943378163577235406861262755114909606255628375659"
+ "196050370661430148107216310635729360112021571291096278032076"
+ "401092225373270173950575377792566872113768085940991929655824"
+ "050914085013970861399015141010432835406337266746706727481946"
+ "196898882472095111505210339933002505227334750020285673634670"
+ "738458390159933494226851499935336922036551687169140582574153"
+ "726872453800858360764892975201757027862632615130256075468549"
+ "502839367841926212872731925042838691319757663382746471782087"
+ "828988857978192483595747889021081459460627705275735868618724"
+ "958783348362295106875556443770626864591972089881215465141073"
+ "516646930158996569747675806719463602045230325049794904894739"
+ "988312727573320971310488326486213061839843830003145873279435"
+ "454121817918269218294901387830156432148142381592864575229119"
+ "479029130050663564889172093067341444164942736885872753984012"
+ "865743421266470861425283889134636885790293235727017788606167"
+ "560012477186697069994213912998550931078617189790771376702549"
+ "055361745205232419031423044366971378594392952093464046441667"
+ "117613906203494872209149396518971207279263883566606774353236"
+ "255473603377861613942239543893894460581170658088042083661404"
+ "937465706659424639301296621963906278930754459296017486063079"
+ "582024995485338893699574289806529424673393810217577605952909"
+ "491283123179789154639057105774960699934999681018155749261864"
+ "012821574480758746632022143860041252142846691648490809250856"
+ "327057133540568617791625295314357533564192304930155735301757"
+ "457531580062662693966772497728335047637869054460240023262262"
+ "260698443946964564691259441706490611176164305693669515767804"
+ "836460521205954731752583848846525153811934541997962775215961"
+ "180346397456122329133421016560406277159258781706172834569862"
+ "946953007793254152187010227976038449980797987728559041018441"
+ "590564594738308310579014597893182017151615208050090318483536"
+ "106249131918576316944251537092347119867433735046169725181104"
+ "507590928834713669184230634083190791725243913641206256399101"
+ "550966117564795555149420011152858441084271411289366093158722"
+ "254752761637144762690747726313899449121995142565661043193165"
+ "353010677613760383307839362361625628371456344409245507081913"
+ "518237257141164239966660785903970075181826808229440731778746"
+ "830751045427285945936163931997929399708401851740705527023711"
+ "492262489476846435969872480702228386506357017948329114555484"
+ "164760105906717855684788039081591713778852802032849601308169"
+ "832017420608399347713424218434541771868442189843417628618330"
+ "607429739733739437863581804003482214082370567967330530446020"
+ "897773385726872912189813323094415093143437550397556262780011"
+ "208941731420098754319961419532567861629590267320403217607660"
+ "774125374101195389953895035347940170148097810952083736798564"
+ "420421622607993390894450932047257403433908665884124601384175"
+ "012387617430467934818665777122459487877479257747635172691688"
+ "471574765285820096075133353869554987216398800026453207557923"
+ "535966131756358352198875705382763163680830588056974671628368"
+ "719411827591592806044707764658145625683998557872894583705117"
+ "936257144994734815912058252772021032081682437093280526665192"
+ "728869800954748014250481042845426151143544474372887617562791"
+ "409866964806319608280819816846942058817381943129762034507591"
+ "367065185343216917751414811188645979508942996964383255432999"
+ "246119971295726296202396921903289017490293595312645036697141"
+ "581149988784499288560584613793415358537364677872496224892098"
+ "940856692342358755626519304557946447004033186014602147449599"
+ "351317079758304444877174136521487256811625263467410007624215"
+ "856145392339552689565690577293133060124853654497575571509576"
+ "408069646196646757505249296126372820539234090564691695806544"
+ "715766025588258581902342311480969412221466852421842650484494"
+ "063894865891424563992751226230317059592413191308470146226366"
+ "458233536657973376067140793776369412191789801225320255079444"
+ "592709005698858098716107025188986428347407279053266600044521"
+ "079987989879536957560131070100060050673537683871138182387904"
+ "590837539252425985326631955455857258818756188063697492342550"
+ "045277400125480079927908846850898283905756532829762950509886"
+ "991675925213188409911532242068610889478326451513981115020992"
+ "630395715520350039372702741107911736947893709538471200363740"
+ "669304116845653259038102180504837110789645359520309929381266"
+ "271463740502507456882882255788069710715770802338317704510793"
+ "279398576163709512326095306022330346997717688118726634628650"
+ "675984237916551201500684504118483305560295744746257951860545"
+ "390826531622290588364837980034428055971370065573420370270905"
+ "592141420051502465016793525150950140243606137664910359769114"
+ "512792293426708006440346732679574519594848136194781488696994"
+ "267355775509666977187349644291823026624985531726865131782364"
+ "428380093055155988532106121916567178604128111080322761213573"
+ "781334480667563871257352254033032675246444238637990062075058"
+ "819854494711379915549313390179300091783493496822950479766923"
+ "983305064901026858870340863556799948310622536592472509634484"
+ "910640735459644047154918467543140024764605449756679450446473"
+ "048922824617117723876384637412932380635306714345354710568410"
+ "140587435077620501285599837051978855056335305570615129711860"
+ "309387503970812843734718712815925040263182888714533431137355"
+ "255722368962836390856001176889513153529416105504464217522618"
+ "741534232432067776306691118141998014985541610448993152948945"
+ "865983354717289054861249734477980864059509622993770525110616"
+ "313865830823478927462500895844216364365499438449134659145333"
+ "799994034010282254566331595018205841080487728993632798168070"
+ "476921205941768965021887178681810499301253039335978279707627"
+ "295287697256489961179958946847840431902105306618594831078534"
+ "622089641993900896756734276531931450266972752637997248151974"
+ "2277811246822238899767398834228515626e-4951",
+ false,
+ 0x0p+0f,
+ 0x0p+0f,
+ 0x0p+0f,
+ 0x8p-152f,
+ false,
+ 0x0p+0,
+ 0x0p+0,
+ 0x0p+0,
+ 0x4p-1076,
+ false,
+ 0x0p+0L,
+ 0x0p+0L,
+ 0x0p+0L,
+ 0x4p-1076L,
+ false,
+ 0x0p+0L,
+ 0x8p-16448L,
+ 0x0p+0L,
+ 0x8p-16448L,
+ false,
+ 0x4p-16448L,
+ 0x4p-16448L,
+ 0x4p-16448L,
+ 0x8p-16448L,
+ false,
+ 0x0p+0L,
+ 0x0p+0L,
+ 0x0p+0L,
+ 0x4p-1076L,
+ false,
+ 0x4p-16448L,
+ 0x4p-16448L,
+ 0x4p-16448L,
+ 0x4.000000000004p-16448L),
+ TEST ("-1.822599765941237301264202966809709908199525407846781671860"
+ "490243514185844316698868404780354312913602598623673673601765"
+ "550983492816311016084986754037794904502741911290588965839284"
+ "612631902816779878310781282991705364470159896776763634295620"
+ "399977086405507759269191523027384357711224647652929859134107"
+ "131311033766177730422034039629876869844113169485951406677332"
+ "105978646906000108381336146016138716819515422802764897759427"
+ "649606127660585581743814569231465017756926375080156642289293"
+ "673283429041674526561852596994351991654293919973161250734301"
+ "229733188293435228211817355121198597329430178784033567238991"
+ "382109868146408875647780268422880633923323954258731625461868"
+ "019756361390707976683048199722201701058526744224010988881802"
+ "218954343811624517058454647275266141777302127508235524255495"
+ "077624847410188087536387260798962414632082336414689612417189"
+ "261074423762230826670226570449267469450539999733042497896470"
+ "433541112583949046313166142066816768615182855303336355508050"
+ "848493454272763408046723392787911772643228335232454643531531"
+ "293780965109596419787343039866200370966335396293292123951626"
+ "300857251255826009366852778238834928201530835930494150511044"
+ "504376202119146906060707879263589773640814116355442997229287"
+ "357516926438797713012400395859990977672075958299501751914411"
+ "100177832983979385545468844204615525381872441047228160242136"
+ "358061399074918180830294797604541788443627116266477614874946"
+ "320275381479719120639248096909691038772952730586273980670234"
+ "908845582838047130660362863656303741468826570210809843051529"
+ "764599710715968724783049668698031537609151121922737670838986"
+ "231019063313451704083543258772693191077504478032977705196457"
+ "476311963940423579766592267743333240240281703765714192664650"
+ "261238842108525475632373727317877433107392470771157555519315"
+ "342195712606219652095292061187111486142303268742526232324327"
+ "684859549513380259143780498498605389236533490064713713719758"
+ "516195482395683839110874815487709856719069581339439277999588"
+ "764225441374023269294088723635153369117449251488451426500682"
+ "275202613643546970029162894292728684327495978132931525041736"
+ "043811533010451689459744960487595414710801005191019738886041"
+ "700330759577486347718291152510955454288346024086767479447085"
+ "488381542403918701406924613770471036657700557631167438407981"
+ "043720651128279219456250303615102891006541837056511748806222"
+ "607397585491924343994174101644720628454377782608040907575602"
+ "819446556281207664542228467047573092234645450583055317437795"
+ "082417803470814703744887189896369902337382121741956042345935"
+ "884612723253142155282654595436238643127962691764272518180275"
+ "427113459785623180566612952410150958294158542188856129683947"
+ "423205647411293537917743492822755414940264289391349206278124"
+ "637261117530546227171193101163560203913770166957306596094587"
+ "157942068344009717983136831735215720221516068205887802515300"
+ "718418531986345165208737593665100455983750248380809061307398"
+ "226468562035199351945434457763525745232868372698882470547439"
+ "739824719081288307173474326042654012348179128378292897284246"
+ "659521026941421904090179393555387209037739400593259788708135"
+ "948191584917854112818292327284321851309301216774469081860366"
+ "386269172727256532505770337882755328485250206768602685033962"
+ "440104608681703661836684224002452204206988870853482747123520"
+ "399893225930911094236785628778409716642043743011838124733934"
+ "741815690236928243119773507801659161306391826034349899269700"
+ "203318655841365557670338920830120355215775570185205187792786"
+ "469651542036921770351060275981525257479972870679584955838287"
+ "739201639690056010173674146269075399160226397421213763250898"
+ "426455931554089138319236160118935041431135881698097569756856"
+ "151568097183010770415265728455292024186273012588882570230103"
+ "556461575961588201073376434110983444957690798240626580348411"
+ "130361597129760906527151728611183983964634381536446177639427"
+ "357139121931555391533530062229519657764088420152465761406574"
+ "372912175446065297507599001278602166241607775723548756255038"
+ "111682400601444043817825327317473443616363811953229538335113"
+ "554317081159605178503636684677328593784523197442447541897051"
+ "765917979806997287688948887762730988732373759081487505045731"
+ "780962516371322797322900290800349173908511597189960698673840"
+ "575246343618674510782103231548069351600625138878990205386323"
+ "507195789572212187626259883382335229004257648823812072407226"
+ "748034842563719900314776037846324304340753439522188214488731"
+ "587587602590773979229757579537350642919246847017003831205050"
+ "091766570758342092730379087533240780509450566515975521049526"
+ "648559418724492221615428321368803239393940142649951760927512"
+ "806206735517233312085779604538769249237553405647014530167135"
+ "901660283246967512310859858842402221675933473345262633030379"
+ "166095265903616282750945146877129795473716570192167683486699"
+ "408449626849151059958071445815502674667686079002889972264588"
+ "367943596990204644237310847295151549276191188484721182593011"
+ "565492753911808835025595944507675739829889338066224835821007"
+ "529770219118651961451528039534172317720138386282712972164963"
+ "827453131476237777875456011939712318010731021660815714182837"
+ "925932827450846737171705703110453775045022844794161968407337"
+ "563051732200611864029092524160237625633441437649560291126545"
+ "016588941837216171906367061961021463277454274115736642674786"
+ "105481144944900497013266814660732350276014695758646527598109"
+ "032833625638118745064603049207169451605471244451396126962333"
+ "970541136633781764326931671721743247881200204989497992526041"
+ "155365138538482621423139201284142593682794438326622711523602"
+ "971739306465982105646744687059782875743393602442251153756186"
+ "461986559595562807034378047263446391660844015155450279012841"
+ "727725949243700569657645371738730960512993952666118149699429"
+ "724469371043743658144365355534376381724696183448618129498545"
+ "588498126642153343817727180931089703595826077621825309785860"
+ "116064312065392702465283402514616635687773126656643723142906"
+ "109980782511327255186935290824107395569585435485254537079360"
+ "983816712735775257900749095553608138810346173507117456763692"
+ "906082417237501003549701061495719771391990992463590650334801"
+ "645095247553097892124265649870131353053399169286761988682620"
+ "470646847607094337816357723540686126275511490960625562837565"
+ "919605037066143014810721631063572936011202157129109627803207"
+ "640109222537327017395057537779256687211376808594099192965582"
+ "405091408501397086139901514101043283540633726674670672748194"
+ "619689888247209511150521033993300250522733475002028567363467"
+ "073845839015993349422685149993533692203655168716914058257415"
+ "372687245380085836076489297520175702786263261513025607546854"
+ "950283936784192621287273192504283869131975766338274647178208"
+ "782898885797819248359574788902108145946062770527573586861872"
+ "495878334836229510687555644377062686459197208988121546514107"
+ "351664693015899656974767580671946360204523032504979490489473"
+ "998831272757332097131048832648621306183984383000314587327943"
+ "545412181791826921829490138783015643214814238159286457522911"
+ "947902913005066356488917209306734144416494273688587275398401"
+ "286574342126647086142528388913463688579029323572701778860616"
+ "756001247718669706999421391299855093107861718979077137670254"
+ "905536174520523241903142304436697137859439295209346404644166"
+ "711761390620349487220914939651897120727926388356660677435323"
+ "625547360337786161394223954389389446058117065808804208366140"
+ "493746570665942463930129662196390627893075445929601748606307"
+ "958202499548533889369957428980652942467339381021757760595290"
+ "949128312317978915463905710577496069993499968101815574926186"
+ "401282157448075874663202214386004125214284669164849080925085"
+ "632705713354056861779162529531435753356419230493015573530175"
+ "745753158006266269396677249772833504763786905446024002326226"
+ "226069844394696456469125944170649061117616430569366951576780"
+ "483646052120595473175258384884652515381193454199796277521596"
+ "118034639745612232913342101656040627715925878170617283456986"
+ "294695300779325415218701022797603844998079798772855904101844"
+ "159056459473830831057901459789318201715161520805009031848353"
+ "610624913191857631694425153709234711986743373504616972518110"
+ "450759092883471366918423063408319079172524391364120625639910"
+ "155096611756479555514942001115285844108427141128936609315872"
+ "225475276163714476269074772631389944912199514256566104319316"
+ "535301067761376038330783936236162562837145634440924550708191"
+ "351823725714116423996666078590397007518182680822944073177874"
+ "683075104542728594593616393199792939970840185174070552702371"
+ "149226248947684643596987248070222838650635701794832911455548"
+ "416476010590671785568478803908159171377885280203284960130816"
+ "983201742060839934771342421843454177186844218984341762861833"
+ "060742973973373943786358180400348221408237056796733053044602"
+ "089777338572687291218981332309441509314343755039755626278001"
+ "120894173142009875431996141953256786162959026732040321760766"
+ "077412537410119538995389503534794017014809781095208373679856"
+ "442042162260799339089445093204725740343390866588412460138417"
+ "501238761743046793481866577712245948787747925774763517269168"
+ "847157476528582009607513335386955498721639880002645320755792"
+ "353596613175635835219887570538276316368083058805697467162836"
+ "871941182759159280604470776465814562568399855787289458370511"
+ "793625714499473481591205825277202103208168243709328052666519"
+ "272886980095474801425048104284542615114354447437288761756279"
+ "140986696480631960828081981684694205881738194312976203450759"
+ "136706518534321691775141481118864597950894299696438325543299"
+ "924611997129572629620239692190328901749029359531264503669714"
+ "158114998878449928856058461379341535853736467787249622489209"
+ "894085669234235875562651930455794644700403318601460214744959"
+ "935131707975830444487717413652148725681162526346741000762421"
+ "585614539233955268956569057729313306012485365449757557150957"
+ "640806964619664675750524929612637282053923409056469169580654"
+ "471576602558825858190234231148096941222146685242184265048449"
+ "406389486589142456399275122623031705959241319130847014622636"
+ "645823353665797337606714079377636941219178980122532025507944"
+ "459270900569885809871610702518898642834740727905326660004452"
+ "107998798987953695756013107010006005067353768387113818238790"
+ "459083753925242598532663195545585725881875618806369749234255"
+ "004527740012548007992790884685089828390575653282976295050988"
+ "699167592521318840991153224206861088947832645151398111502099"
+ "263039571552035003937270274110791173694789370953847120036374"
+ "066930411684565325903810218050483711078964535952030992938126"
+ "627146374050250745688288225578806971071577080233831770451079"
+ "327939857616370951232609530602233034699771768811872663462865"
+ "067598423791655120150068450411848330556029574474625795186054"
+ "539082653162229058836483798003442805597137006557342037027090"
+ "559214142005150246501679352515095014024360613766491035976911"
+ "451279229342670800644034673267957451959484813619478148869699"
+ "426735577550966697718734964429182302662498553172686513178236"
+ "442838009305515598853210612191656717860412811108032276121357"
+ "378133448066756387125735225403303267524644423863799006207505"
+ "881985449471137991554931339017930009178349349682295047976692"
+ "398330506490102685887034086355679994831062253659247250963448"
+ "491064073545964404715491846754314002476460544975667945044647"
+ "304892282461711772387638463741293238063530671434535471056841"
+ "014058743507762050128559983705197885505633530557061512971186"
+ "030938750397081284373471871281592504026318288871453343113735"
+ "525572236896283639085600117688951315352941610550446421752261"
+ "874153423243206777630669111814199801498554161044899315294894"
+ "586598335471728905486124973447798086405950962299377052511061"
+ "631386583082347892746250089584421636436549943844913465914533"
+ "379999403401028225456633159501820584108048772899363279816807"
+ "047692120594176896502188717868181049930125303933597827970762"
+ "729528769725648996117995894684784043190210530661859483107853"
+ "462208964199390089675673427653193145026697275263799724815197"
+ "42277811246822238899767398834228515624e-4951",
+ false,
+ -0x8p-152f,
+ -0x0p+0f,
+ -0x0p+0f,
+ -0x0p+0f,
+ false,
+ -0x4p-1076,
+ -0x0p+0,
+ -0x0p+0,
+ -0x0p+0,
+ false,
+ -0x4p-1076L,
+ -0x0p+0L,
+ -0x0p+0L,
+ -0x0p+0L,
+ false,
+ -0x8p-16448L,
+ -0x0p+0L,
+ -0x0p+0L,
+ -0x0p+0L,
+ false,
+ -0x4p-16448L,
+ -0x4p-16448L,
+ -0x0p+0L,
+ -0x0p+0L,
+ false,
+ -0x4p-1076L,
+ -0x0p+0L,
+ -0x0p+0L,
+ -0x0p+0L,
+ false,
+ -0x4p-16448L,
+ -0x4p-16448L,
+ -0x3.fffffffffffcp-16448L,
+ -0x3.fffffffffffcp-16448L),
+ TEST ("-1.822599765941237301264202966809709908199525407846781671860"
+ "490243514185844316698868404780354312913602598623673673601765"
+ "550983492816311016084986754037794904502741911290588965839284"
+ "612631902816779878310781282991705364470159896776763634295620"
+ "399977086405507759269191523027384357711224647652929859134107"
+ "131311033766177730422034039629876869844113169485951406677332"
+ "105978646906000108381336146016138716819515422802764897759427"
+ "649606127660585581743814569231465017756926375080156642289293"
+ "673283429041674526561852596994351991654293919973161250734301"
+ "229733188293435228211817355121198597329430178784033567238991"
+ "382109868146408875647780268422880633923323954258731625461868"
+ "019756361390707976683048199722201701058526744224010988881802"
+ "218954343811624517058454647275266141777302127508235524255495"
+ "077624847410188087536387260798962414632082336414689612417189"
+ "261074423762230826670226570449267469450539999733042497896470"
+ "433541112583949046313166142066816768615182855303336355508050"
+ "848493454272763408046723392787911772643228335232454643531531"
+ "293780965109596419787343039866200370966335396293292123951626"
+ "300857251255826009366852778238834928201530835930494150511044"
+ "504376202119146906060707879263589773640814116355442997229287"
+ "357516926438797713012400395859990977672075958299501751914411"
+ "100177832983979385545468844204615525381872441047228160242136"
+ "358061399074918180830294797604541788443627116266477614874946"
+ "320275381479719120639248096909691038772952730586273980670234"
+ "908845582838047130660362863656303741468826570210809843051529"
+ "764599710715968724783049668698031537609151121922737670838986"
+ "231019063313451704083543258772693191077504478032977705196457"
+ "476311963940423579766592267743333240240281703765714192664650"
+ "261238842108525475632373727317877433107392470771157555519315"
+ "342195712606219652095292061187111486142303268742526232324327"
+ "684859549513380259143780498498605389236533490064713713719758"
+ "516195482395683839110874815487709856719069581339439277999588"
+ "764225441374023269294088723635153369117449251488451426500682"
+ "275202613643546970029162894292728684327495978132931525041736"
+ "043811533010451689459744960487595414710801005191019738886041"
+ "700330759577486347718291152510955454288346024086767479447085"
+ "488381542403918701406924613770471036657700557631167438407981"
+ "043720651128279219456250303615102891006541837056511748806222"
+ "607397585491924343994174101644720628454377782608040907575602"
+ "819446556281207664542228467047573092234645450583055317437795"
+ "082417803470814703744887189896369902337382121741956042345935"
+ "884612723253142155282654595436238643127962691764272518180275"
+ "427113459785623180566612952410150958294158542188856129683947"
+ "423205647411293537917743492822755414940264289391349206278124"
+ "637261117530546227171193101163560203913770166957306596094587"
+ "157942068344009717983136831735215720221516068205887802515300"
+ "718418531986345165208737593665100455983750248380809061307398"
+ "226468562035199351945434457763525745232868372698882470547439"
+ "739824719081288307173474326042654012348179128378292897284246"
+ "659521026941421904090179393555387209037739400593259788708135"
+ "948191584917854112818292327284321851309301216774469081860366"
+ "386269172727256532505770337882755328485250206768602685033962"
+ "440104608681703661836684224002452204206988870853482747123520"
+ "399893225930911094236785628778409716642043743011838124733934"
+ "741815690236928243119773507801659161306391826034349899269700"
+ "203318655841365557670338920830120355215775570185205187792786"
+ "469651542036921770351060275981525257479972870679584955838287"
+ "739201639690056010173674146269075399160226397421213763250898"
+ "426455931554089138319236160118935041431135881698097569756856"
+ "151568097183010770415265728455292024186273012588882570230103"
+ "556461575961588201073376434110983444957690798240626580348411"
+ "130361597129760906527151728611183983964634381536446177639427"
+ "357139121931555391533530062229519657764088420152465761406574"
+ "372912175446065297507599001278602166241607775723548756255038"
+ "111682400601444043817825327317473443616363811953229538335113"
+ "554317081159605178503636684677328593784523197442447541897051"
+ "765917979806997287688948887762730988732373759081487505045731"
+ "780962516371322797322900290800349173908511597189960698673840"
+ "575246343618674510782103231548069351600625138878990205386323"
+ "507195789572212187626259883382335229004257648823812072407226"
+ "748034842563719900314776037846324304340753439522188214488731"
+ "587587602590773979229757579537350642919246847017003831205050"
+ "091766570758342092730379087533240780509450566515975521049526"
+ "648559418724492221615428321368803239393940142649951760927512"
+ "806206735517233312085779604538769249237553405647014530167135"
+ "901660283246967512310859858842402221675933473345262633030379"
+ "166095265903616282750945146877129795473716570192167683486699"
+ "408449626849151059958071445815502674667686079002889972264588"
+ "367943596990204644237310847295151549276191188484721182593011"
+ "565492753911808835025595944507675739829889338066224835821007"
+ "529770219118651961451528039534172317720138386282712972164963"
+ "827453131476237777875456011939712318010731021660815714182837"
+ "925932827450846737171705703110453775045022844794161968407337"
+ "563051732200611864029092524160237625633441437649560291126545"
+ "016588941837216171906367061961021463277454274115736642674786"
+ "105481144944900497013266814660732350276014695758646527598109"
+ "032833625638118745064603049207169451605471244451396126962333"
+ "970541136633781764326931671721743247881200204989497992526041"
+ "155365138538482621423139201284142593682794438326622711523602"
+ "971739306465982105646744687059782875743393602442251153756186"
+ "461986559595562807034378047263446391660844015155450279012841"
+ "727725949243700569657645371738730960512993952666118149699429"
+ "724469371043743658144365355534376381724696183448618129498545"
+ "588498126642153343817727180931089703595826077621825309785860"
+ "116064312065392702465283402514616635687773126656643723142906"
+ "109980782511327255186935290824107395569585435485254537079360"
+ "983816712735775257900749095553608138810346173507117456763692"
+ "906082417237501003549701061495719771391990992463590650334801"
+ "645095247553097892124265649870131353053399169286761988682620"
+ "470646847607094337816357723540686126275511490960625562837565"
+ "919605037066143014810721631063572936011202157129109627803207"
+ "640109222537327017395057537779256687211376808594099192965582"
+ "405091408501397086139901514101043283540633726674670672748194"
+ "619689888247209511150521033993300250522733475002028567363467"
+ "073845839015993349422685149993533692203655168716914058257415"
+ "372687245380085836076489297520175702786263261513025607546854"
+ "950283936784192621287273192504283869131975766338274647178208"
+ "782898885797819248359574788902108145946062770527573586861872"
+ "495878334836229510687555644377062686459197208988121546514107"
+ "351664693015899656974767580671946360204523032504979490489473"
+ "998831272757332097131048832648621306183984383000314587327943"
+ "545412181791826921829490138783015643214814238159286457522911"
+ "947902913005066356488917209306734144416494273688587275398401"
+ "286574342126647086142528388913463688579029323572701778860616"
+ "756001247718669706999421391299855093107861718979077137670254"
+ "905536174520523241903142304436697137859439295209346404644166"
+ "711761390620349487220914939651897120727926388356660677435323"
+ "625547360337786161394223954389389446058117065808804208366140"
+ "493746570665942463930129662196390627893075445929601748606307"
+ "958202499548533889369957428980652942467339381021757760595290"
+ "949128312317978915463905710577496069993499968101815574926186"
+ "401282157448075874663202214386004125214284669164849080925085"
+ "632705713354056861779162529531435753356419230493015573530175"
+ "745753158006266269396677249772833504763786905446024002326226"
+ "226069844394696456469125944170649061117616430569366951576780"
+ "483646052120595473175258384884652515381193454199796277521596"
+ "118034639745612232913342101656040627715925878170617283456986"
+ "294695300779325415218701022797603844998079798772855904101844"
+ "159056459473830831057901459789318201715161520805009031848353"
+ "610624913191857631694425153709234711986743373504616972518110"
+ "450759092883471366918423063408319079172524391364120625639910"
+ "155096611756479555514942001115285844108427141128936609315872"
+ "225475276163714476269074772631389944912199514256566104319316"
+ "535301067761376038330783936236162562837145634440924550708191"
+ "351823725714116423996666078590397007518182680822944073177874"
+ "683075104542728594593616393199792939970840185174070552702371"
+ "149226248947684643596987248070222838650635701794832911455548"
+ "416476010590671785568478803908159171377885280203284960130816"
+ "983201742060839934771342421843454177186844218984341762861833"
+ "060742973973373943786358180400348221408237056796733053044602"
+ "089777338572687291218981332309441509314343755039755626278001"
+ "120894173142009875431996141953256786162959026732040321760766"
+ "077412537410119538995389503534794017014809781095208373679856"
+ "442042162260799339089445093204725740343390866588412460138417"
+ "501238761743046793481866577712245948787747925774763517269168"
+ "847157476528582009607513335386955498721639880002645320755792"
+ "353596613175635835219887570538276316368083058805697467162836"
+ "871941182759159280604470776465814562568399855787289458370511"
+ "793625714499473481591205825277202103208168243709328052666519"
+ "272886980095474801425048104284542615114354447437288761756279"
+ "140986696480631960828081981684694205881738194312976203450759"
+ "136706518534321691775141481118864597950894299696438325543299"
+ "924611997129572629620239692190328901749029359531264503669714"
+ "158114998878449928856058461379341535853736467787249622489209"
+ "894085669234235875562651930455794644700403318601460214744959"
+ "935131707975830444487717413652148725681162526346741000762421"
+ "585614539233955268956569057729313306012485365449757557150957"
+ "640806964619664675750524929612637282053923409056469169580654"
+ "471576602558825858190234231148096941222146685242184265048449"
+ "406389486589142456399275122623031705959241319130847014622636"
+ "645823353665797337606714079377636941219178980122532025507944"
+ "459270900569885809871610702518898642834740727905326660004452"
+ "107998798987953695756013107010006005067353768387113818238790"
+ "459083753925242598532663195545585725881875618806369749234255"
+ "004527740012548007992790884685089828390575653282976295050988"
+ "699167592521318840991153224206861088947832645151398111502099"
+ "263039571552035003937270274110791173694789370953847120036374"
+ "066930411684565325903810218050483711078964535952030992938126"
+ "627146374050250745688288225578806971071577080233831770451079"
+ "327939857616370951232609530602233034699771768811872663462865"
+ "067598423791655120150068450411848330556029574474625795186054"
+ "539082653162229058836483798003442805597137006557342037027090"
+ "559214142005150246501679352515095014024360613766491035976911"
+ "451279229342670800644034673267957451959484813619478148869699"
+ "426735577550966697718734964429182302662498553172686513178236"
+ "442838009305515598853210612191656717860412811108032276121357"
+ "378133448066756387125735225403303267524644423863799006207505"
+ "881985449471137991554931339017930009178349349682295047976692"
+ "398330506490102685887034086355679994831062253659247250963448"
+ "491064073545964404715491846754314002476460544975667945044647"
+ "304892282461711772387638463741293238063530671434535471056841"
+ "014058743507762050128559983705197885505633530557061512971186"
+ "030938750397081284373471871281592504026318288871453343113735"
+ "525572236896283639085600117688951315352941610550446421752261"
+ "874153423243206777630669111814199801498554161044899315294894"
+ "586598335471728905486124973447798086405950962299377052511061"
+ "631386583082347892746250089584421636436549943844913465914533"
+ "379999403401028225456633159501820584108048772899363279816807"
+ "047692120594176896502188717868181049930125303933597827970762"
+ "729528769725648996117995894684784043190210530661859483107853"
+ "462208964199390089675673427653193145026697275263799724815197"
+ "42277811246822238899767398834228515625e-4951",
+ false,
+ -0x8p-152f,
+ -0x0p+0f,
+ -0x0p+0f,
+ -0x0p+0f,
+ false,
+ -0x4p-1076,
+ -0x0p+0,
+ -0x0p+0,
+ -0x0p+0,
+ false,
+ -0x4p-1076L,
+ -0x0p+0L,
+ -0x0p+0L,
+ -0x0p+0L,
+ false,
+ -0x8p-16448L,
+ -0x0p+0L,
+ -0x0p+0L,
+ -0x0p+0L,
+ true,
+ -0x4p-16448L,
+ -0x4p-16448L,
+ -0x4p-16448L,
+ -0x4p-16448L,
+ false,
+ -0x4p-1076L,
+ -0x0p+0L,
+ -0x0p+0L,
+ -0x0p+0L,
+ true,
+ -0x4p-16448L,
+ -0x4p-16448L,
+ -0x4p-16448L,
+ -0x4p-16448L),
+ TEST ("-1.822599765941237301264202966809709908199525407846781671860"
+ "490243514185844316698868404780354312913602598623673673601765"
+ "550983492816311016084986754037794904502741911290588965839284"
+ "612631902816779878310781282991705364470159896776763634295620"
+ "399977086405507759269191523027384357711224647652929859134107"
+ "131311033766177730422034039629876869844113169485951406677332"
+ "105978646906000108381336146016138716819515422802764897759427"
+ "649606127660585581743814569231465017756926375080156642289293"
+ "673283429041674526561852596994351991654293919973161250734301"
+ "229733188293435228211817355121198597329430178784033567238991"
+ "382109868146408875647780268422880633923323954258731625461868"
+ "019756361390707976683048199722201701058526744224010988881802"
+ "218954343811624517058454647275266141777302127508235524255495"
+ "077624847410188087536387260798962414632082336414689612417189"
+ "261074423762230826670226570449267469450539999733042497896470"
+ "433541112583949046313166142066816768615182855303336355508050"
+ "848493454272763408046723392787911772643228335232454643531531"
+ "293780965109596419787343039866200370966335396293292123951626"
+ "300857251255826009366852778238834928201530835930494150511044"
+ "504376202119146906060707879263589773640814116355442997229287"
+ "357516926438797713012400395859990977672075958299501751914411"
+ "100177832983979385545468844204615525381872441047228160242136"
+ "358061399074918180830294797604541788443627116266477614874946"
+ "320275381479719120639248096909691038772952730586273980670234"
+ "908845582838047130660362863656303741468826570210809843051529"
+ "764599710715968724783049668698031537609151121922737670838986"
+ "231019063313451704083543258772693191077504478032977705196457"
+ "476311963940423579766592267743333240240281703765714192664650"
+ "261238842108525475632373727317877433107392470771157555519315"
+ "342195712606219652095292061187111486142303268742526232324327"
+ "684859549513380259143780498498605389236533490064713713719758"
+ "516195482395683839110874815487709856719069581339439277999588"
+ "764225441374023269294088723635153369117449251488451426500682"
+ "275202613643546970029162894292728684327495978132931525041736"
+ "043811533010451689459744960487595414710801005191019738886041"
+ "700330759577486347718291152510955454288346024086767479447085"
+ "488381542403918701406924613770471036657700557631167438407981"
+ "043720651128279219456250303615102891006541837056511748806222"
+ "607397585491924343994174101644720628454377782608040907575602"
+ "819446556281207664542228467047573092234645450583055317437795"
+ "082417803470814703744887189896369902337382121741956042345935"
+ "884612723253142155282654595436238643127962691764272518180275"
+ "427113459785623180566612952410150958294158542188856129683947"
+ "423205647411293537917743492822755414940264289391349206278124"
+ "637261117530546227171193101163560203913770166957306596094587"
+ "157942068344009717983136831735215720221516068205887802515300"
+ "718418531986345165208737593665100455983750248380809061307398"
+ "226468562035199351945434457763525745232868372698882470547439"
+ "739824719081288307173474326042654012348179128378292897284246"
+ "659521026941421904090179393555387209037739400593259788708135"
+ "948191584917854112818292327284321851309301216774469081860366"
+ "386269172727256532505770337882755328485250206768602685033962"
+ "440104608681703661836684224002452204206988870853482747123520"
+ "399893225930911094236785628778409716642043743011838124733934"
+ "741815690236928243119773507801659161306391826034349899269700"
+ "203318655841365557670338920830120355215775570185205187792786"
+ "469651542036921770351060275981525257479972870679584955838287"
+ "739201639690056010173674146269075399160226397421213763250898"
+ "426455931554089138319236160118935041431135881698097569756856"
+ "151568097183010770415265728455292024186273012588882570230103"
+ "556461575961588201073376434110983444957690798240626580348411"
+ "130361597129760906527151728611183983964634381536446177639427"
+ "357139121931555391533530062229519657764088420152465761406574"
+ "372912175446065297507599001278602166241607775723548756255038"
+ "111682400601444043817825327317473443616363811953229538335113"
+ "554317081159605178503636684677328593784523197442447541897051"
+ "765917979806997287688948887762730988732373759081487505045731"
+ "780962516371322797322900290800349173908511597189960698673840"
+ "575246343618674510782103231548069351600625138878990205386323"
+ "507195789572212187626259883382335229004257648823812072407226"
+ "748034842563719900314776037846324304340753439522188214488731"
+ "587587602590773979229757579537350642919246847017003831205050"
+ "091766570758342092730379087533240780509450566515975521049526"
+ "648559418724492221615428321368803239393940142649951760927512"
+ "806206735517233312085779604538769249237553405647014530167135"
+ "901660283246967512310859858842402221675933473345262633030379"
+ "166095265903616282750945146877129795473716570192167683486699"
+ "408449626849151059958071445815502674667686079002889972264588"
+ "367943596990204644237310847295151549276191188484721182593011"
+ "565492753911808835025595944507675739829889338066224835821007"
+ "529770219118651961451528039534172317720138386282712972164963"
+ "827453131476237777875456011939712318010731021660815714182837"
+ "925932827450846737171705703110453775045022844794161968407337"
+ "563051732200611864029092524160237625633441437649560291126545"
+ "016588941837216171906367061961021463277454274115736642674786"
+ "105481144944900497013266814660732350276014695758646527598109"
+ "032833625638118745064603049207169451605471244451396126962333"
+ "970541136633781764326931671721743247881200204989497992526041"
+ "155365138538482621423139201284142593682794438326622711523602"
+ "971739306465982105646744687059782875743393602442251153756186"
+ "461986559595562807034378047263446391660844015155450279012841"
+ "727725949243700569657645371738730960512993952666118149699429"
+ "724469371043743658144365355534376381724696183448618129498545"
+ "588498126642153343817727180931089703595826077621825309785860"
+ "116064312065392702465283402514616635687773126656643723142906"
+ "109980782511327255186935290824107395569585435485254537079360"
+ "983816712735775257900749095553608138810346173507117456763692"
+ "906082417237501003549701061495719771391990992463590650334801"
+ "645095247553097892124265649870131353053399169286761988682620"
+ "470646847607094337816357723540686126275511490960625562837565"
+ "919605037066143014810721631063572936011202157129109627803207"
+ "640109222537327017395057537779256687211376808594099192965582"
+ "405091408501397086139901514101043283540633726674670672748194"
+ "619689888247209511150521033993300250522733475002028567363467"
+ "073845839015993349422685149993533692203655168716914058257415"
+ "372687245380085836076489297520175702786263261513025607546854"
+ "950283936784192621287273192504283869131975766338274647178208"
+ "782898885797819248359574788902108145946062770527573586861872"
+ "495878334836229510687555644377062686459197208988121546514107"
+ "351664693015899656974767580671946360204523032504979490489473"
+ "998831272757332097131048832648621306183984383000314587327943"
+ "545412181791826921829490138783015643214814238159286457522911"
+ "947902913005066356488917209306734144416494273688587275398401"
+ "286574342126647086142528388913463688579029323572701778860616"
+ "756001247718669706999421391299855093107861718979077137670254"
+ "905536174520523241903142304436697137859439295209346404644166"
+ "711761390620349487220914939651897120727926388356660677435323"
+ "625547360337786161394223954389389446058117065808804208366140"
+ "493746570665942463930129662196390627893075445929601748606307"
+ "958202499548533889369957428980652942467339381021757760595290"
+ "949128312317978915463905710577496069993499968101815574926186"
+ "401282157448075874663202214386004125214284669164849080925085"
+ "632705713354056861779162529531435753356419230493015573530175"
+ "745753158006266269396677249772833504763786905446024002326226"
+ "226069844394696456469125944170649061117616430569366951576780"
+ "483646052120595473175258384884652515381193454199796277521596"
+ "118034639745612232913342101656040627715925878170617283456986"
+ "294695300779325415218701022797603844998079798772855904101844"
+ "159056459473830831057901459789318201715161520805009031848353"
+ "610624913191857631694425153709234711986743373504616972518110"
+ "450759092883471366918423063408319079172524391364120625639910"
+ "155096611756479555514942001115285844108427141128936609315872"
+ "225475276163714476269074772631389944912199514256566104319316"
+ "535301067761376038330783936236162562837145634440924550708191"
+ "351823725714116423996666078590397007518182680822944073177874"
+ "683075104542728594593616393199792939970840185174070552702371"
+ "149226248947684643596987248070222838650635701794832911455548"
+ "416476010590671785568478803908159171377885280203284960130816"
+ "983201742060839934771342421843454177186844218984341762861833"
+ "060742973973373943786358180400348221408237056796733053044602"
+ "089777338572687291218981332309441509314343755039755626278001"
+ "120894173142009875431996141953256786162959026732040321760766"
+ "077412537410119538995389503534794017014809781095208373679856"
+ "442042162260799339089445093204725740343390866588412460138417"
+ "501238761743046793481866577712245948787747925774763517269168"
+ "847157476528582009607513335386955498721639880002645320755792"
+ "353596613175635835219887570538276316368083058805697467162836"
+ "871941182759159280604470776465814562568399855787289458370511"
+ "793625714499473481591205825277202103208168243709328052666519"
+ "272886980095474801425048104284542615114354447437288761756279"
+ "140986696480631960828081981684694205881738194312976203450759"
+ "136706518534321691775141481118864597950894299696438325543299"
+ "924611997129572629620239692190328901749029359531264503669714"
+ "158114998878449928856058461379341535853736467787249622489209"
+ "894085669234235875562651930455794644700403318601460214744959"
+ "935131707975830444487717413652148725681162526346741000762421"
+ "585614539233955268956569057729313306012485365449757557150957"
+ "640806964619664675750524929612637282053923409056469169580654"
+ "471576602558825858190234231148096941222146685242184265048449"
+ "406389486589142456399275122623031705959241319130847014622636"
+ "645823353665797337606714079377636941219178980122532025507944"
+ "459270900569885809871610702518898642834740727905326660004452"
+ "107998798987953695756013107010006005067353768387113818238790"
+ "459083753925242598532663195545585725881875618806369749234255"
+ "004527740012548007992790884685089828390575653282976295050988"
+ "699167592521318840991153224206861088947832645151398111502099"
+ "263039571552035003937270274110791173694789370953847120036374"
+ "066930411684565325903810218050483711078964535952030992938126"
+ "627146374050250745688288225578806971071577080233831770451079"
+ "327939857616370951232609530602233034699771768811872663462865"
+ "067598423791655120150068450411848330556029574474625795186054"
+ "539082653162229058836483798003442805597137006557342037027090"
+ "559214142005150246501679352515095014024360613766491035976911"
+ "451279229342670800644034673267957451959484813619478148869699"
+ "426735577550966697718734964429182302662498553172686513178236"
+ "442838009305515598853210612191656717860412811108032276121357"
+ "378133448066756387125735225403303267524644423863799006207505"
+ "881985449471137991554931339017930009178349349682295047976692"
+ "398330506490102685887034086355679994831062253659247250963448"
+ "491064073545964404715491846754314002476460544975667945044647"
+ "304892282461711772387638463741293238063530671434535471056841"
+ "014058743507762050128559983705197885505633530557061512971186"
+ "030938750397081284373471871281592504026318288871453343113735"
+ "525572236896283639085600117688951315352941610550446421752261"
+ "874153423243206777630669111814199801498554161044899315294894"
+ "586598335471728905486124973447798086405950962299377052511061"
+ "631386583082347892746250089584421636436549943844913465914533"
+ "379999403401028225456633159501820584108048772899363279816807"
+ "047692120594176896502188717868181049930125303933597827970762"
+ "729528769725648996117995894684784043190210530661859483107853"
+ "462208964199390089675673427653193145026697275263799724815197"
+ "42277811246822238899767398834228515626e-4951",
+ false,
+ -0x8p-152f,
+ -0x0p+0f,
+ -0x0p+0f,
+ -0x0p+0f,
+ false,
+ -0x4p-1076,
+ -0x0p+0,
+ -0x0p+0,
+ -0x0p+0,
+ false,
+ -0x4p-1076L,
+ -0x0p+0L,
+ -0x0p+0L,
+ -0x0p+0L,
+ false,
+ -0x8p-16448L,
+ -0x8p-16448L,
+ -0x0p+0L,
+ -0x0p+0L,
+ false,
+ -0x8p-16448L,
+ -0x4p-16448L,
+ -0x4p-16448L,
+ -0x4p-16448L,
+ false,
+ -0x4p-1076L,
+ -0x0p+0L,
+ -0x0p+0L,
+ -0x0p+0L,
+ false,
+ -0x4.000000000004p-16448L,
+ -0x4p-16448L,
+ -0x4p-16448L,
+ -0x4p-16448L),
+ TEST ("9.1129988297061865063210148340485495409976270392339083593024"
+ "512175709292215834943420239017715645680129931183683680088277"
+ "549174640815550804249337701889745225137095564529448291964230"
+ "631595140838993915539064149585268223507994838838181714781019"
+ "998854320275387963459576151369217885561232382646492956705356"
+ "565551688308886521101701981493843492205658474297570333866605"
+ "298932345300005419066807300806935840975771140138244887971382"
+ "480306383029279087190728461573250887846318754007832114464683"
+ "664171452083726328092629849717599582714695998658062536715061"
+ "486659414671761410590867756059929866471508939201678361949569"
+ "105493407320443782389013421144031696166197712936581273093400"
+ "987818069535398834152409986110085052926337211200549444090110"
+ "947717190581225852922732363763307088865106375411776212774753"
+ "881242370509404376819363039948120731604116820734480620859463"
+ "053721188111541333511328522463373472526999986652124894823521"
+ "677055629197452315658307103340838430759142765166817775402542"
+ "424672713638170402336169639395588632161416761622732176576564"
+ "689048255479820989367151993310018548316769814664606197581315"
+ "042862562791300468342638911941746410076541796524707525552225"
+ "218810105957345303035393963179488682040705817772149861464367"
+ "875846321939885650620019792999548883603797914975087595720555"
+ "008891649198969277273442210230776269093622052361408012106817"
+ "903069953745909041514739880227089422181355813323880743747316"
+ "013769073985956031962404845484551938647636529313699033511745"
+ "442279141902356533018143182815187073441328510540492152576488"
+ "229985535798436239152483434901576880457556096136883541949311"
+ "550953165672585204177162938634659553875223901648885259822873"
+ "815598197021178988329613387166662012014085188285709633232513"
+ "061942105426273781618686365893871655369623538557877775965767"
+ "109785630310982604764603059355574307115163437126311616216384"
+ "242977475669012957189024924930269461826674503235685685987925"
+ "809774119784191955543740774385492835953479066971963899979438"
+ "211272068701163464704436181757668455872462574422571325034113"
+ "760130682177348501458144714636434216374798906646576252086802"
+ "190576650522584472987248024379770735540050259550986944302085"
+ "016537978874317385914557625547772714417301204338373972354274"
+ "419077120195935070346230688523551832885027881558371920399052"
+ "186032556413960972812515180755144550327091852825587440311130"
+ "369879274596217199708705082236031422718889130402045378780140"
+ "972327814060383227111423352378654611732272529152765871889754"
+ "120890173540735187244359494818495116869106087097802117296794"
+ "230636162657107764132729771811932156398134588213625909013771"
+ "355672989281159028330647620507547914707927109442806484197371"
+ "160282370564676895887174641137770747013214469567460313906231"
+ "863055876527311358559655058178010195688508347865329804729357"
+ "897103417200485899156841586760786011075803410294390125765035"
+ "920926599317258260436879683255022799187512419040453065369911"
+ "323428101759967597271722888176287261643418634944123527371986"
+ "991235954064415358673716302132700617408956418914644864212332"
+ "976051347071095204508969677769360451886970029662989435406797"
+ "409579245892705640914616364216092565465060838723454093018319"
+ "313458636362826625288516894137766424262510338430134251698122"
+ "005230434085183091834211200122610210349443542674137356176019"
+ "994661296545554711839281438920485832102187150591906236696737"
+ "090784511846412155988675390082958065319591301717494963485010"
+ "165932792068277883516946041506017760788778509260259389639323"
+ "482577101846088517553013799076262873998643533979247791914386"
+ "960081984502800508683707313453769958011319871060688162544921"
+ "322796577704456915961808005946752071556794084904878487842807"
+ "578404859150538520763286422764601209313650629444128511505177"
+ "823078798079410053668821705549172247884539912031329017420556"
+ "518079856488045326357586430559199198231719076822308881971367"
+ "856956096577769576676503111475982888204421007623288070328718"
+ "645608772303264875379950063930108312080388786177437812751905"
+ "584120030072202190891266365873672180818190597661476916755677"
+ "715854057980258925181834233866429689226159872122377094852588"
+ "295898990349864384447444388136549436618687954074375252286589"
+ "048125818566139866145014540017458695425579859498034933692028"
+ "762317180933725539105161577403467580031256943949510269316175"
+ "359789478610609381312994169116761450212882441190603620361337"
+ "401742128185995015738801892316215217037671976109410724436579"
+ "379380129538698961487878976867532145962342350850191560252504"
+ "588328537917104636518954376662039025472528325798776052476332"
+ "427970936224611080771416068440161969697007132497588046375640"
+ "310336775861665604288980226938462461877670282350726508356795"
+ "083014162348375615542992942120111083796673667263131651518958"
+ "304763295180814137547257343856489773685828509608384174334970"
+ "422481342457552997903572290775133733384303950144498613229418"
+ "397179849510232211865542364757577463809559424236059129650578"
+ "274637695590441751279797225383786991494466903311241791050376"
+ "488510955932598072576401976708615886006919314135648608248191"
+ "372656573811888893772800596985615900536551083040785709141896"
+ "296641372542336858585285155522688752251142239708098420366878"
+ "152586610030593201454626208011881281672071882478014556327250"
+ "829447091860808595318353098051073163872713705786832133739305"
+ "274057247245024850663340733036617513800734787932326379905451"
+ "641681281905937253230152460358472580273562222569806348116698"
+ "527056831689088216346583586087162394060010249474899626302057"
+ "768256926924131071156960064207129684139721916331135576180148"
+ "586965323299105282337234352989143787169680122112557687809323"
+ "099327979778140351718902363172319583042200757772513950642086"
+ "386297462185028482882268586936548025649697633305907484971486"
+ "223468552187182907218267776718819086234809172430906474927279"
+ "424906332107667190886359046554485179791303881091265489293005"
+ "803215603269635123264170125730831784388656332832186157145305"
+ "499039125566362759346764541205369778479271774262726853968049"
+ "190835636788762895037454777680406940517308675355872838184645"
+ "304120861875050177485053074785988569599549623179532516740082"
+ "254762377654894606213282493506567652669958464338099434131023"
+ "532342380354716890817886177034306313775574548031278141878295"
+ "980251853307150740536081553178646800560107856455481390160382"
+ "005461126866350869752876888962834360568840429704959648279120"
+ "254570425069854306995075705052164177031686333733533637409730"
+ "984494412360475557526051699665012526136673750101428368173353"
+ "692291950799667471134257499676684610182758435845702912870768"
+ "634362269004291803824464876008785139313163075651280377342747"
+ "514196839209631064363659625214193456598788316913732358910439"
+ "144944289890962417978739445105407297303138526378679343093624"
+ "793916741811475534377782218853134322959860449406077325705367"
+ "583234650794982848738379033597318010226151625248974524473699"
+ "941563637866604856552441632431065309199219150015729366397177"
+ "270609089591346091474506939150782160740711907964322876145597"
+ "395145650253317824445860465336707220824713684429363769920064"
+ "328717106332354307126419445673184428951466178635088943030837"
+ "800062385933485349971069564992754655393085948953856883512745"
+ "276808726026162095157115221834856892971964760467320232208335"
+ "588069531017474361045746982594856036396319417833033871766181"
+ "277368016889308069711197719469472302905853290440210418307024"
+ "687328533297123196506483109819531394653772296480087430315397"
+ "910124977426694468497871449032647123366969051087888029764547"
+ "456415615898945773195285528874803499674998405090778746309320"
+ "064107872403793733160110719300206260714233458242454046254281"
+ "635285667702843088958126476571787667820961524650778676508787"
+ "287657900313313469833862488641675238189345272301200116311311"
+ "303492219734822823456297208532453055880821528468347578839024"
+ "182302606029773658762919244232625769059672709989813876079805"
+ "901731987280611645667105082802031385796293908530864172849314"
+ "734765038966270760935051139880192249903989938642795205092207"
+ "952822973691541552895072989465910085758076040250451592417680"
+ "531245659592881584721257685461735599337168675230848625905522"
+ "537954644173568345921153170415953958626219568206031281995507"
+ "754830587823977775747100055764292205421357056446830465793611"
+ "273763808185723813453738631569497245609975712828305215965826"
+ "765053388068801916539196811808128141857281722046227535409567"
+ "591186285705821199833303929519850375909134041147203658893734"
+ "153755227136429729680819659989646998542009258703527635118557"
+ "461312447384232179849362403511141932531785089741645572777420"
+ "823800529533589278423940195407958568894264010164248006540849"
+ "160087103041996738567121092172708859342210949217088143091653"
+ "037148698668697189317909020017411070411852839836652652230104"
+ "488866928634364560949066615472075465717187751987781313900056"
+ "044708657100493771599807097662839308147951336602016088038303"
+ "870626870505976949769475176739700850740489054760418683992822"
+ "102108113039966954472254660236287017169543329420623006920875"
+ "061938087152339674093328885612297439387396288738175863458442"
+ "357873826429100480375666769347774936081994000132266037789617"
+ "679830658781791760994378526913815818404152940284873358141843"
+ "597059137957964030223538823290728128419992789364472918525589"
+ "681285724973674079560291263860105160408412185466402633325963"
+ "644349004773740071252405214227130755717722371864438087813957"
+ "049334824031598041404099084234710294086909715648810172537956"
+ "835325926716084588757074055943229897544714984821916277164996"
+ "230599856478631481011984609516445087451467976563225183485707"
+ "905749943922496442802923068967076792686823389362481124460494"
+ "704283461711793778132596522789732235020165930073010737247996"
+ "756585398791522224385870682607436284058126317337050038121079"
+ "280726961697763447828452886465665300624268272487877857547882"
+ "040348230983233787526246480631864102696170452823458479032723"
+ "578830127941292909511711557404847061107334262109213252422470"
+ "319474329457122819963756131151585297962065956542350731131832"
+ "291167683289866880335703968881847060958949006126601275397222"
+ "963545028494290493580535125944932141737036395266333000222605"
+ "399939949397684787800655350500300253367688419355690911939522"
+ "954187696262129926633159777279286294093780940318487461712750"
+ "226387000627400399639544234254491419528782664148814752549434"
+ "958379626065942049557661210343054447391632257569905575104963"
+ "151978577601750196863513705539558684739468547692356001818703"
+ "346520584228266295190510902524185553948226797601549646906331"
+ "357318702512537284414411278940348553578854011691588522553966"
+ "396992880818547561630476530111651734988588440593633173143253"
+ "379921189582756007503422520592416527801478723731289759302726"
+ "954132658111452941824189900172140279856850327867101851354527"
+ "960707100257512325083967625754750701218030688324551798845572"
+ "563961467133540032201733663397872597974240680973907443484971"
+ "336778877548334885936748221459115133124927658634325658911822"
+ "141900465275779942660530609582835893020640555401613806067868"
+ "906672403337819356286761270165163376232221193189950310375294"
+ "099272473556899577746566950896500458917467484114752398834619"
+ "916525324505134294351704317783999741553112682962362548172424"
+ "553203677298220235774592337715700123823027248783397252232365"
+ "244614123085588619381923187064661903176533571726773552842050"
+ "702937175388102506427999185259894275281676527853075648559301"
+ "546937519854064218673593564079625201315914443572667155686776"
+ "278611844814181954280005884447565767647080527522321087613093"
+ "707671162160338881533455590709990074927708052244965764744729"
+ "329916773586445274306248672389904320297548114968852625553081"
+ "569329154117394637312504479221081821827497192245673295726668"
+ "999970170051411272831657975091029205402438644968163990840352"
+ "384606029708844825109435893409052496506265196679891398538136"
+ "476438486282449805899794734239202159510526533092974155392673"
+ "110448209969504483783671382659657251334863763189986240759871"
+ "1389056234111194498836994171142578124e-4952",
+ false,
+ 0x0p+0f,
+ 0x0p+0f,
+ 0x0p+0f,
+ 0x8p-152f,
+ false,
+ 0x0p+0,
+ 0x0p+0,
+ 0x0p+0,
+ 0x4p-1076,
+ false,
+ 0x0p+0L,
+ 0x0p+0L,
+ 0x0p+0L,
+ 0x4p-1076L,
+ false,
+ 0x0p+0L,
+ 0x0p+0L,
+ 0x0p+0L,
+ 0x8p-16448L,
+ false,
+ 0x0p+0L,
+ 0x0p+0L,
+ 0x0p+0L,
+ 0x4p-16448L,
+ false,
+ 0x0p+0L,
+ 0x0p+0L,
+ 0x0p+0L,
+ 0x4p-1076L,
+ false,
+ 0x1.fffffffffffcp-16448L,
+ 0x2p-16448L,
+ 0x1.fffffffffffcp-16448L,
+ 0x2p-16448L),
+ TEST ("9.1129988297061865063210148340485495409976270392339083593024"
+ "512175709292215834943420239017715645680129931183683680088277"
+ "549174640815550804249337701889745225137095564529448291964230"
+ "631595140838993915539064149585268223507994838838181714781019"
+ "998854320275387963459576151369217885561232382646492956705356"
+ "565551688308886521101701981493843492205658474297570333866605"
+ "298932345300005419066807300806935840975771140138244887971382"
+ "480306383029279087190728461573250887846318754007832114464683"
+ "664171452083726328092629849717599582714695998658062536715061"
+ "486659414671761410590867756059929866471508939201678361949569"
+ "105493407320443782389013421144031696166197712936581273093400"
+ "987818069535398834152409986110085052926337211200549444090110"
+ "947717190581225852922732363763307088865106375411776212774753"
+ "881242370509404376819363039948120731604116820734480620859463"
+ "053721188111541333511328522463373472526999986652124894823521"
+ "677055629197452315658307103340838430759142765166817775402542"
+ "424672713638170402336169639395588632161416761622732176576564"
+ "689048255479820989367151993310018548316769814664606197581315"
+ "042862562791300468342638911941746410076541796524707525552225"
+ "218810105957345303035393963179488682040705817772149861464367"
+ "875846321939885650620019792999548883603797914975087595720555"
+ "008891649198969277273442210230776269093622052361408012106817"
+ "903069953745909041514739880227089422181355813323880743747316"
+ "013769073985956031962404845484551938647636529313699033511745"
+ "442279141902356533018143182815187073441328510540492152576488"
+ "229985535798436239152483434901576880457556096136883541949311"
+ "550953165672585204177162938634659553875223901648885259822873"
+ "815598197021178988329613387166662012014085188285709633232513"
+ "061942105426273781618686365893871655369623538557877775965767"
+ "109785630310982604764603059355574307115163437126311616216384"
+ "242977475669012957189024924930269461826674503235685685987925"
+ "809774119784191955543740774385492835953479066971963899979438"
+ "211272068701163464704436181757668455872462574422571325034113"
+ "760130682177348501458144714636434216374798906646576252086802"
+ "190576650522584472987248024379770735540050259550986944302085"
+ "016537978874317385914557625547772714417301204338373972354274"
+ "419077120195935070346230688523551832885027881558371920399052"
+ "186032556413960972812515180755144550327091852825587440311130"
+ "369879274596217199708705082236031422718889130402045378780140"
+ "972327814060383227111423352378654611732272529152765871889754"
+ "120890173540735187244359494818495116869106087097802117296794"
+ "230636162657107764132729771811932156398134588213625909013771"
+ "355672989281159028330647620507547914707927109442806484197371"
+ "160282370564676895887174641137770747013214469567460313906231"
+ "863055876527311358559655058178010195688508347865329804729357"
+ "897103417200485899156841586760786011075803410294390125765035"
+ "920926599317258260436879683255022799187512419040453065369911"
+ "323428101759967597271722888176287261643418634944123527371986"
+ "991235954064415358673716302132700617408956418914644864212332"
+ "976051347071095204508969677769360451886970029662989435406797"
+ "409579245892705640914616364216092565465060838723454093018319"
+ "313458636362826625288516894137766424262510338430134251698122"
+ "005230434085183091834211200122610210349443542674137356176019"
+ "994661296545554711839281438920485832102187150591906236696737"
+ "090784511846412155988675390082958065319591301717494963485010"
+ "165932792068277883516946041506017760788778509260259389639323"
+ "482577101846088517553013799076262873998643533979247791914386"
+ "960081984502800508683707313453769958011319871060688162544921"
+ "322796577704456915961808005946752071556794084904878487842807"
+ "578404859150538520763286422764601209313650629444128511505177"
+ "823078798079410053668821705549172247884539912031329017420556"
+ "518079856488045326357586430559199198231719076822308881971367"
+ "856956096577769576676503111475982888204421007623288070328718"
+ "645608772303264875379950063930108312080388786177437812751905"
+ "584120030072202190891266365873672180818190597661476916755677"
+ "715854057980258925181834233866429689226159872122377094852588"
+ "295898990349864384447444388136549436618687954074375252286589"
+ "048125818566139866145014540017458695425579859498034933692028"
+ "762317180933725539105161577403467580031256943949510269316175"
+ "359789478610609381312994169116761450212882441190603620361337"
+ "401742128185995015738801892316215217037671976109410724436579"
+ "379380129538698961487878976867532145962342350850191560252504"
+ "588328537917104636518954376662039025472528325798776052476332"
+ "427970936224611080771416068440161969697007132497588046375640"
+ "310336775861665604288980226938462461877670282350726508356795"
+ "083014162348375615542992942120111083796673667263131651518958"
+ "304763295180814137547257343856489773685828509608384174334970"
+ "422481342457552997903572290775133733384303950144498613229418"
+ "397179849510232211865542364757577463809559424236059129650578"
+ "274637695590441751279797225383786991494466903311241791050376"
+ "488510955932598072576401976708615886006919314135648608248191"
+ "372656573811888893772800596985615900536551083040785709141896"
+ "296641372542336858585285155522688752251142239708098420366878"
+ "152586610030593201454626208011881281672071882478014556327250"
+ "829447091860808595318353098051073163872713705786832133739305"
+ "274057247245024850663340733036617513800734787932326379905451"
+ "641681281905937253230152460358472580273562222569806348116698"
+ "527056831689088216346583586087162394060010249474899626302057"
+ "768256926924131071156960064207129684139721916331135576180148"
+ "586965323299105282337234352989143787169680122112557687809323"
+ "099327979778140351718902363172319583042200757772513950642086"
+ "386297462185028482882268586936548025649697633305907484971486"
+ "223468552187182907218267776718819086234809172430906474927279"
+ "424906332107667190886359046554485179791303881091265489293005"
+ "803215603269635123264170125730831784388656332832186157145305"
+ "499039125566362759346764541205369778479271774262726853968049"
+ "190835636788762895037454777680406940517308675355872838184645"
+ "304120861875050177485053074785988569599549623179532516740082"
+ "254762377654894606213282493506567652669958464338099434131023"
+ "532342380354716890817886177034306313775574548031278141878295"
+ "980251853307150740536081553178646800560107856455481390160382"
+ "005461126866350869752876888962834360568840429704959648279120"
+ "254570425069854306995075705052164177031686333733533637409730"
+ "984494412360475557526051699665012526136673750101428368173353"
+ "692291950799667471134257499676684610182758435845702912870768"
+ "634362269004291803824464876008785139313163075651280377342747"
+ "514196839209631064363659625214193456598788316913732358910439"
+ "144944289890962417978739445105407297303138526378679343093624"
+ "793916741811475534377782218853134322959860449406077325705367"
+ "583234650794982848738379033597318010226151625248974524473699"
+ "941563637866604856552441632431065309199219150015729366397177"
+ "270609089591346091474506939150782160740711907964322876145597"
+ "395145650253317824445860465336707220824713684429363769920064"
+ "328717106332354307126419445673184428951466178635088943030837"
+ "800062385933485349971069564992754655393085948953856883512745"
+ "276808726026162095157115221834856892971964760467320232208335"
+ "588069531017474361045746982594856036396319417833033871766181"
+ "277368016889308069711197719469472302905853290440210418307024"
+ "687328533297123196506483109819531394653772296480087430315397"
+ "910124977426694468497871449032647123366969051087888029764547"
+ "456415615898945773195285528874803499674998405090778746309320"
+ "064107872403793733160110719300206260714233458242454046254281"
+ "635285667702843088958126476571787667820961524650778676508787"
+ "287657900313313469833862488641675238189345272301200116311311"
+ "303492219734822823456297208532453055880821528468347578839024"
+ "182302606029773658762919244232625769059672709989813876079805"
+ "901731987280611645667105082802031385796293908530864172849314"
+ "734765038966270760935051139880192249903989938642795205092207"
+ "952822973691541552895072989465910085758076040250451592417680"
+ "531245659592881584721257685461735599337168675230848625905522"
+ "537954644173568345921153170415953958626219568206031281995507"
+ "754830587823977775747100055764292205421357056446830465793611"
+ "273763808185723813453738631569497245609975712828305215965826"
+ "765053388068801916539196811808128141857281722046227535409567"
+ "591186285705821199833303929519850375909134041147203658893734"
+ "153755227136429729680819659989646998542009258703527635118557"
+ "461312447384232179849362403511141932531785089741645572777420"
+ "823800529533589278423940195407958568894264010164248006540849"
+ "160087103041996738567121092172708859342210949217088143091653"
+ "037148698668697189317909020017411070411852839836652652230104"
+ "488866928634364560949066615472075465717187751987781313900056"
+ "044708657100493771599807097662839308147951336602016088038303"
+ "870626870505976949769475176739700850740489054760418683992822"
+ "102108113039966954472254660236287017169543329420623006920875"
+ "061938087152339674093328885612297439387396288738175863458442"
+ "357873826429100480375666769347774936081994000132266037789617"
+ "679830658781791760994378526913815818404152940284873358141843"
+ "597059137957964030223538823290728128419992789364472918525589"
+ "681285724973674079560291263860105160408412185466402633325963"
+ "644349004773740071252405214227130755717722371864438087813957"
+ "049334824031598041404099084234710294086909715648810172537956"
+ "835325926716084588757074055943229897544714984821916277164996"
+ "230599856478631481011984609516445087451467976563225183485707"
+ "905749943922496442802923068967076792686823389362481124460494"
+ "704283461711793778132596522789732235020165930073010737247996"
+ "756585398791522224385870682607436284058126317337050038121079"
+ "280726961697763447828452886465665300624268272487877857547882"
+ "040348230983233787526246480631864102696170452823458479032723"
+ "578830127941292909511711557404847061107334262109213252422470"
+ "319474329457122819963756131151585297962065956542350731131832"
+ "291167683289866880335703968881847060958949006126601275397222"
+ "963545028494290493580535125944932141737036395266333000222605"
+ "399939949397684787800655350500300253367688419355690911939522"
+ "954187696262129926633159777279286294093780940318487461712750"
+ "226387000627400399639544234254491419528782664148814752549434"
+ "958379626065942049557661210343054447391632257569905575104963"
+ "151978577601750196863513705539558684739468547692356001818703"
+ "346520584228266295190510902524185553948226797601549646906331"
+ "357318702512537284414411278940348553578854011691588522553966"
+ "396992880818547561630476530111651734988588440593633173143253"
+ "379921189582756007503422520592416527801478723731289759302726"
+ "954132658111452941824189900172140279856850327867101851354527"
+ "960707100257512325083967625754750701218030688324551798845572"
+ "563961467133540032201733663397872597974240680973907443484971"
+ "336778877548334885936748221459115133124927658634325658911822"
+ "141900465275779942660530609582835893020640555401613806067868"
+ "906672403337819356286761270165163376232221193189950310375294"
+ "099272473556899577746566950896500458917467484114752398834619"
+ "916525324505134294351704317783999741553112682962362548172424"
+ "553203677298220235774592337715700123823027248783397252232365"
+ "244614123085588619381923187064661903176533571726773552842050"
+ "702937175388102506427999185259894275281676527853075648559301"
+ "546937519854064218673593564079625201315914443572667155686776"
+ "278611844814181954280005884447565767647080527522321087613093"
+ "707671162160338881533455590709990074927708052244965764744729"
+ "329916773586445274306248672389904320297548114968852625553081"
+ "569329154117394637312504479221081821827497192245673295726668"
+ "999970170051411272831657975091029205402438644968163990840352"
+ "384606029708844825109435893409052496506265196679891398538136"
+ "476438486282449805899794734239202159510526533092974155392673"
+ "110448209969504483783671382659657251334863763189986240759871"
+ "1389056234111194498836994171142578125e-4952",
+ false,
+ 0x0p+0f,
+ 0x0p+0f,
+ 0x0p+0f,
+ 0x8p-152f,
+ false,
+ 0x0p+0,
+ 0x0p+0,
+ 0x0p+0,
+ 0x4p-1076,
+ false,
+ 0x0p+0L,
+ 0x0p+0L,
+ 0x0p+0L,
+ 0x4p-1076L,
+ false,
+ 0x0p+0L,
+ 0x0p+0L,
+ 0x0p+0L,
+ 0x8p-16448L,
+ false,
+ 0x0p+0L,
+ 0x0p+0L,
+ 0x0p+0L,
+ 0x4p-16448L,
+ false,
+ 0x0p+0L,
+ 0x0p+0L,
+ 0x0p+0L,
+ 0x4p-1076L,
+ true,
+ 0x2p-16448L,
+ 0x2p-16448L,
+ 0x2p-16448L,
+ 0x2p-16448L),
+ TEST ("9.1129988297061865063210148340485495409976270392339083593024"
+ "512175709292215834943420239017715645680129931183683680088277"
+ "549174640815550804249337701889745225137095564529448291964230"
+ "631595140838993915539064149585268223507994838838181714781019"
+ "998854320275387963459576151369217885561232382646492956705356"
+ "565551688308886521101701981493843492205658474297570333866605"
+ "298932345300005419066807300806935840975771140138244887971382"
+ "480306383029279087190728461573250887846318754007832114464683"
+ "664171452083726328092629849717599582714695998658062536715061"
+ "486659414671761410590867756059929866471508939201678361949569"
+ "105493407320443782389013421144031696166197712936581273093400"
+ "987818069535398834152409986110085052926337211200549444090110"
+ "947717190581225852922732363763307088865106375411776212774753"
+ "881242370509404376819363039948120731604116820734480620859463"
+ "053721188111541333511328522463373472526999986652124894823521"
+ "677055629197452315658307103340838430759142765166817775402542"
+ "424672713638170402336169639395588632161416761622732176576564"
+ "689048255479820989367151993310018548316769814664606197581315"
+ "042862562791300468342638911941746410076541796524707525552225"
+ "218810105957345303035393963179488682040705817772149861464367"
+ "875846321939885650620019792999548883603797914975087595720555"
+ "008891649198969277273442210230776269093622052361408012106817"
+ "903069953745909041514739880227089422181355813323880743747316"
+ "013769073985956031962404845484551938647636529313699033511745"
+ "442279141902356533018143182815187073441328510540492152576488"
+ "229985535798436239152483434901576880457556096136883541949311"
+ "550953165672585204177162938634659553875223901648885259822873"
+ "815598197021178988329613387166662012014085188285709633232513"
+ "061942105426273781618686365893871655369623538557877775965767"
+ "109785630310982604764603059355574307115163437126311616216384"
+ "242977475669012957189024924930269461826674503235685685987925"
+ "809774119784191955543740774385492835953479066971963899979438"
+ "211272068701163464704436181757668455872462574422571325034113"
+ "760130682177348501458144714636434216374798906646576252086802"
+ "190576650522584472987248024379770735540050259550986944302085"
+ "016537978874317385914557625547772714417301204338373972354274"
+ "419077120195935070346230688523551832885027881558371920399052"
+ "186032556413960972812515180755144550327091852825587440311130"
+ "369879274596217199708705082236031422718889130402045378780140"
+ "972327814060383227111423352378654611732272529152765871889754"
+ "120890173540735187244359494818495116869106087097802117296794"
+ "230636162657107764132729771811932156398134588213625909013771"
+ "355672989281159028330647620507547914707927109442806484197371"
+ "160282370564676895887174641137770747013214469567460313906231"
+ "863055876527311358559655058178010195688508347865329804729357"
+ "897103417200485899156841586760786011075803410294390125765035"
+ "920926599317258260436879683255022799187512419040453065369911"
+ "323428101759967597271722888176287261643418634944123527371986"
+ "991235954064415358673716302132700617408956418914644864212332"
+ "976051347071095204508969677769360451886970029662989435406797"
+ "409579245892705640914616364216092565465060838723454093018319"
+ "313458636362826625288516894137766424262510338430134251698122"
+ "005230434085183091834211200122610210349443542674137356176019"
+ "994661296545554711839281438920485832102187150591906236696737"
+ "090784511846412155988675390082958065319591301717494963485010"
+ "165932792068277883516946041506017760788778509260259389639323"
+ "482577101846088517553013799076262873998643533979247791914386"
+ "960081984502800508683707313453769958011319871060688162544921"
+ "322796577704456915961808005946752071556794084904878487842807"
+ "578404859150538520763286422764601209313650629444128511505177"
+ "823078798079410053668821705549172247884539912031329017420556"
+ "518079856488045326357586430559199198231719076822308881971367"
+ "856956096577769576676503111475982888204421007623288070328718"
+ "645608772303264875379950063930108312080388786177437812751905"
+ "584120030072202190891266365873672180818190597661476916755677"
+ "715854057980258925181834233866429689226159872122377094852588"
+ "295898990349864384447444388136549436618687954074375252286589"
+ "048125818566139866145014540017458695425579859498034933692028"
+ "762317180933725539105161577403467580031256943949510269316175"
+ "359789478610609381312994169116761450212882441190603620361337"
+ "401742128185995015738801892316215217037671976109410724436579"
+ "379380129538698961487878976867532145962342350850191560252504"
+ "588328537917104636518954376662039025472528325798776052476332"
+ "427970936224611080771416068440161969697007132497588046375640"
+ "310336775861665604288980226938462461877670282350726508356795"
+ "083014162348375615542992942120111083796673667263131651518958"
+ "304763295180814137547257343856489773685828509608384174334970"
+ "422481342457552997903572290775133733384303950144498613229418"
+ "397179849510232211865542364757577463809559424236059129650578"
+ "274637695590441751279797225383786991494466903311241791050376"
+ "488510955932598072576401976708615886006919314135648608248191"
+ "372656573811888893772800596985615900536551083040785709141896"
+ "296641372542336858585285155522688752251142239708098420366878"
+ "152586610030593201454626208011881281672071882478014556327250"
+ "829447091860808595318353098051073163872713705786832133739305"
+ "274057247245024850663340733036617513800734787932326379905451"
+ "641681281905937253230152460358472580273562222569806348116698"
+ "527056831689088216346583586087162394060010249474899626302057"
+ "768256926924131071156960064207129684139721916331135576180148"
+ "586965323299105282337234352989143787169680122112557687809323"
+ "099327979778140351718902363172319583042200757772513950642086"
+ "386297462185028482882268586936548025649697633305907484971486"
+ "223468552187182907218267776718819086234809172430906474927279"
+ "424906332107667190886359046554485179791303881091265489293005"
+ "803215603269635123264170125730831784388656332832186157145305"
+ "499039125566362759346764541205369778479271774262726853968049"
+ "190835636788762895037454777680406940517308675355872838184645"
+ "304120861875050177485053074785988569599549623179532516740082"
+ "254762377654894606213282493506567652669958464338099434131023"
+ "532342380354716890817886177034306313775574548031278141878295"
+ "980251853307150740536081553178646800560107856455481390160382"
+ "005461126866350869752876888962834360568840429704959648279120"
+ "254570425069854306995075705052164177031686333733533637409730"
+ "984494412360475557526051699665012526136673750101428368173353"
+ "692291950799667471134257499676684610182758435845702912870768"
+ "634362269004291803824464876008785139313163075651280377342747"
+ "514196839209631064363659625214193456598788316913732358910439"
+ "144944289890962417978739445105407297303138526378679343093624"
+ "793916741811475534377782218853134322959860449406077325705367"
+ "583234650794982848738379033597318010226151625248974524473699"
+ "941563637866604856552441632431065309199219150015729366397177"
+ "270609089591346091474506939150782160740711907964322876145597"
+ "395145650253317824445860465336707220824713684429363769920064"
+ "328717106332354307126419445673184428951466178635088943030837"
+ "800062385933485349971069564992754655393085948953856883512745"
+ "276808726026162095157115221834856892971964760467320232208335"
+ "588069531017474361045746982594856036396319417833033871766181"
+ "277368016889308069711197719469472302905853290440210418307024"
+ "687328533297123196506483109819531394653772296480087430315397"
+ "910124977426694468497871449032647123366969051087888029764547"
+ "456415615898945773195285528874803499674998405090778746309320"
+ "064107872403793733160110719300206260714233458242454046254281"
+ "635285667702843088958126476571787667820961524650778676508787"
+ "287657900313313469833862488641675238189345272301200116311311"
+ "303492219734822823456297208532453055880821528468347578839024"
+ "182302606029773658762919244232625769059672709989813876079805"
+ "901731987280611645667105082802031385796293908530864172849314"
+ "734765038966270760935051139880192249903989938642795205092207"
+ "952822973691541552895072989465910085758076040250451592417680"
+ "531245659592881584721257685461735599337168675230848625905522"
+ "537954644173568345921153170415953958626219568206031281995507"
+ "754830587823977775747100055764292205421357056446830465793611"
+ "273763808185723813453738631569497245609975712828305215965826"
+ "765053388068801916539196811808128141857281722046227535409567"
+ "591186285705821199833303929519850375909134041147203658893734"
+ "153755227136429729680819659989646998542009258703527635118557"
+ "461312447384232179849362403511141932531785089741645572777420"
+ "823800529533589278423940195407958568894264010164248006540849"
+ "160087103041996738567121092172708859342210949217088143091653"
+ "037148698668697189317909020017411070411852839836652652230104"
+ "488866928634364560949066615472075465717187751987781313900056"
+ "044708657100493771599807097662839308147951336602016088038303"
+ "870626870505976949769475176739700850740489054760418683992822"
+ "102108113039966954472254660236287017169543329420623006920875"
+ "061938087152339674093328885612297439387396288738175863458442"
+ "357873826429100480375666769347774936081994000132266037789617"
+ "679830658781791760994378526913815818404152940284873358141843"
+ "597059137957964030223538823290728128419992789364472918525589"
+ "681285724973674079560291263860105160408412185466402633325963"
+ "644349004773740071252405214227130755717722371864438087813957"
+ "049334824031598041404099084234710294086909715648810172537956"
+ "835325926716084588757074055943229897544714984821916277164996"
+ "230599856478631481011984609516445087451467976563225183485707"
+ "905749943922496442802923068967076792686823389362481124460494"
+ "704283461711793778132596522789732235020165930073010737247996"
+ "756585398791522224385870682607436284058126317337050038121079"
+ "280726961697763447828452886465665300624268272487877857547882"
+ "040348230983233787526246480631864102696170452823458479032723"
+ "578830127941292909511711557404847061107334262109213252422470"
+ "319474329457122819963756131151585297962065956542350731131832"
+ "291167683289866880335703968881847060958949006126601275397222"
+ "963545028494290493580535125944932141737036395266333000222605"
+ "399939949397684787800655350500300253367688419355690911939522"
+ "954187696262129926633159777279286294093780940318487461712750"
+ "226387000627400399639544234254491419528782664148814752549434"
+ "958379626065942049557661210343054447391632257569905575104963"
+ "151978577601750196863513705539558684739468547692356001818703"
+ "346520584228266295190510902524185553948226797601549646906331"
+ "357318702512537284414411278940348553578854011691588522553966"
+ "396992880818547561630476530111651734988588440593633173143253"
+ "379921189582756007503422520592416527801478723731289759302726"
+ "954132658111452941824189900172140279856850327867101851354527"
+ "960707100257512325083967625754750701218030688324551798845572"
+ "563961467133540032201733663397872597974240680973907443484971"
+ "336778877548334885936748221459115133124927658634325658911822"
+ "141900465275779942660530609582835893020640555401613806067868"
+ "906672403337819356286761270165163376232221193189950310375294"
+ "099272473556899577746566950896500458917467484114752398834619"
+ "916525324505134294351704317783999741553112682962362548172424"
+ "553203677298220235774592337715700123823027248783397252232365"
+ "244614123085588619381923187064661903176533571726773552842050"
+ "702937175388102506427999185259894275281676527853075648559301"
+ "546937519854064218673593564079625201315914443572667155686776"
+ "278611844814181954280005884447565767647080527522321087613093"
+ "707671162160338881533455590709990074927708052244965764744729"
+ "329916773586445274306248672389904320297548114968852625553081"
+ "569329154117394637312504479221081821827497192245673295726668"
+ "999970170051411272831657975091029205402438644968163990840352"
+ "384606029708844825109435893409052496506265196679891398538136"
+ "476438486282449805899794734239202159510526533092974155392673"
+ "110448209969504483783671382659657251334863763189986240759871"
+ "1389056234111194498836994171142578126e-4952",
+ false,
+ 0x0p+0f,
+ 0x0p+0f,
+ 0x0p+0f,
+ 0x8p-152f,
+ false,
+ 0x0p+0,
+ 0x0p+0,
+ 0x0p+0,
+ 0x4p-1076,
+ false,
+ 0x0p+0L,
+ 0x0p+0L,
+ 0x0p+0L,
+ 0x4p-1076L,
+ false,
+ 0x0p+0L,
+ 0x0p+0L,
+ 0x0p+0L,
+ 0x8p-16448L,
+ false,
+ 0x0p+0L,
+ 0x4p-16448L,
+ 0x0p+0L,
+ 0x4p-16448L,
+ false,
+ 0x0p+0L,
+ 0x0p+0L,
+ 0x0p+0L,
+ 0x4p-1076L,
+ false,
+ 0x2p-16448L,
+ 0x2p-16448L,
+ 0x2p-16448L,
+ 0x2.000000000004p-16448L),
+ TEST ("-9.112998829706186506321014834048549540997627039233908359302"
+ "451217570929221583494342023901771564568012993118368368008827"
+ "754917464081555080424933770188974522513709556452944829196423"
+ "063159514083899391553906414958526822350799483883818171478101"
+ "999885432027538796345957615136921788556123238264649295670535"
+ "656555168830888652110170198149384349220565847429757033386660"
+ "529893234530000541906680730080693584097577114013824488797138"
+ "248030638302927908719072846157325088784631875400783211446468"
+ "366417145208372632809262984971759958271469599865806253671506"
+ "148665941467176141059086775605992986647150893920167836194956"
+ "910549340732044378238901342114403169616619771293658127309340"
+ "098781806953539883415240998611008505292633721120054944409011"
+ "094771719058122585292273236376330708886510637541177621277475"
+ "388124237050940437681936303994812073160411682073448062085946"
+ "305372118811154133351132852246337347252699998665212489482352"
+ "167705562919745231565830710334083843075914276516681777540254"
+ "242467271363817040233616963939558863216141676162273217657656"
+ "468904825547982098936715199331001854831676981466460619758131"
+ "504286256279130046834263891194174641007654179652470752555222"
+ "521881010595734530303539396317948868204070581777214986146436"
+ "787584632193988565062001979299954888360379791497508759572055"
+ "500889164919896927727344221023077626909362205236140801210681"
+ "790306995374590904151473988022708942218135581332388074374731"
+ "601376907398595603196240484548455193864763652931369903351174"
+ "544227914190235653301814318281518707344132851054049215257648"
+ "822998553579843623915248343490157688045755609613688354194931"
+ "155095316567258520417716293863465955387522390164888525982287"
+ "381559819702117898832961338716666201201408518828570963323251"
+ "306194210542627378161868636589387165536962353855787777596576"
+ "710978563031098260476460305935557430711516343712631161621638"
+ "424297747566901295718902492493026946182667450323568568598792"
+ "580977411978419195554374077438549283595347906697196389997943"
+ "821127206870116346470443618175766845587246257442257132503411"
+ "376013068217734850145814471463643421637479890664657625208680"
+ "219057665052258447298724802437977073554005025955098694430208"
+ "501653797887431738591455762554777271441730120433837397235427"
+ "441907712019593507034623068852355183288502788155837192039905"
+ "218603255641396097281251518075514455032709185282558744031113"
+ "036987927459621719970870508223603142271888913040204537878014"
+ "097232781406038322711142335237865461173227252915276587188975"
+ "412089017354073518724435949481849511686910608709780211729679"
+ "423063616265710776413272977181193215639813458821362590901377"
+ "135567298928115902833064762050754791470792710944280648419737"
+ "116028237056467689588717464113777074701321446956746031390623"
+ "186305587652731135855965505817801019568850834786532980472935"
+ "789710341720048589915684158676078601107580341029439012576503"
+ "592092659931725826043687968325502279918751241904045306536991"
+ "132342810175996759727172288817628726164341863494412352737198"
+ "699123595406441535867371630213270061740895641891464486421233"
+ "297605134707109520450896967776936045188697002966298943540679"
+ "740957924589270564091461636421609256546506083872345409301831"
+ "931345863636282662528851689413776642426251033843013425169812"
+ "200523043408518309183421120012261021034944354267413735617601"
+ "999466129654555471183928143892048583210218715059190623669673"
+ "709078451184641215598867539008295806531959130171749496348501"
+ "016593279206827788351694604150601776078877850926025938963932"
+ "348257710184608851755301379907626287399864353397924779191438"
+ "696008198450280050868370731345376995801131987106068816254492"
+ "132279657770445691596180800594675207155679408490487848784280"
+ "757840485915053852076328642276460120931365062944412851150517"
+ "782307879807941005366882170554917224788453991203132901742055"
+ "651807985648804532635758643055919919823171907682230888197136"
+ "785695609657776957667650311147598288820442100762328807032871"
+ "864560877230326487537995006393010831208038878617743781275190"
+ "558412003007220219089126636587367218081819059766147691675567"
+ "771585405798025892518183423386642968922615987212237709485258"
+ "829589899034986438444744438813654943661868795407437525228658"
+ "904812581856613986614501454001745869542557985949803493369202"
+ "876231718093372553910516157740346758003125694394951026931617"
+ "535978947861060938131299416911676145021288244119060362036133"
+ "740174212818599501573880189231621521703767197610941072443657"
+ "937938012953869896148787897686753214596234235085019156025250"
+ "458832853791710463651895437666203902547252832579877605247633"
+ "242797093622461108077141606844016196969700713249758804637564"
+ "031033677586166560428898022693846246187767028235072650835679"
+ "508301416234837561554299294212011108379667366726313165151895"
+ "830476329518081413754725734385648977368582850960838417433497"
+ "042248134245755299790357229077513373338430395014449861322941"
+ "839717984951023221186554236475757746380955942423605912965057"
+ "827463769559044175127979722538378699149446690331124179105037"
+ "648851095593259807257640197670861588600691931413564860824819"
+ "137265657381188889377280059698561590053655108304078570914189"
+ "629664137254233685858528515552268875225114223970809842036687"
+ "815258661003059320145462620801188128167207188247801455632725"
+ "082944709186080859531835309805107316387271370578683213373930"
+ "527405724724502485066334073303661751380073478793232637990545"
+ "164168128190593725323015246035847258027356222256980634811669"
+ "852705683168908821634658358608716239406001024947489962630205"
+ "776825692692413107115696006420712968413972191633113557618014"
+ "858696532329910528233723435298914378716968012211255768780932"
+ "309932797977814035171890236317231958304220075777251395064208"
+ "638629746218502848288226858693654802564969763330590748497148"
+ "622346855218718290721826777671881908623480917243090647492727"
+ "942490633210766719088635904655448517979130388109126548929300"
+ "580321560326963512326417012573083178438865633283218615714530"
+ "549903912556636275934676454120536977847927177426272685396804"
+ "919083563678876289503745477768040694051730867535587283818464"
+ "530412086187505017748505307478598856959954962317953251674008"
+ "225476237765489460621328249350656765266995846433809943413102"
+ "353234238035471689081788617703430631377557454803127814187829"
+ "598025185330715074053608155317864680056010785645548139016038"
+ "200546112686635086975287688896283436056884042970495964827912"
+ "025457042506985430699507570505216417703168633373353363740973"
+ "098449441236047555752605169966501252613667375010142836817335"
+ "369229195079966747113425749967668461018275843584570291287076"
+ "863436226900429180382446487600878513931316307565128037734274"
+ "751419683920963106436365962521419345659878831691373235891043"
+ "914494428989096241797873944510540729730313852637867934309362"
+ "479391674181147553437778221885313432295986044940607732570536"
+ "758323465079498284873837903359731801022615162524897452447369"
+ "994156363786660485655244163243106530919921915001572936639717"
+ "727060908959134609147450693915078216074071190796432287614559"
+ "739514565025331782444586046533670722082471368442936376992006"
+ "432871710633235430712641944567318442895146617863508894303083"
+ "780006238593348534997106956499275465539308594895385688351274"
+ "527680872602616209515711522183485689297196476046732023220833"
+ "558806953101747436104574698259485603639631941783303387176618"
+ "127736801688930806971119771946947230290585329044021041830702"
+ "468732853329712319650648310981953139465377229648008743031539"
+ "791012497742669446849787144903264712336696905108788802976454"
+ "745641561589894577319528552887480349967499840509077874630932"
+ "006410787240379373316011071930020626071423345824245404625428"
+ "163528566770284308895812647657178766782096152465077867650878"
+ "728765790031331346983386248864167523818934527230120011631131"
+ "130349221973482282345629720853245305588082152846834757883902"
+ "418230260602977365876291924423262576905967270998981387607980"
+ "590173198728061164566710508280203138579629390853086417284931"
+ "473476503896627076093505113988019224990398993864279520509220"
+ "795282297369154155289507298946591008575807604025045159241768"
+ "053124565959288158472125768546173559933716867523084862590552"
+ "253795464417356834592115317041595395862621956820603128199550"
+ "775483058782397777574710005576429220542135705644683046579361"
+ "127376380818572381345373863156949724560997571282830521596582"
+ "676505338806880191653919681180812814185728172204622753540956"
+ "759118628570582119983330392951985037590913404114720365889373"
+ "415375522713642972968081965998964699854200925870352763511855"
+ "746131244738423217984936240351114193253178508974164557277742"
+ "082380052953358927842394019540795856889426401016424800654084"
+ "916008710304199673856712109217270885934221094921708814309165"
+ "303714869866869718931790902001741107041185283983665265223010"
+ "448886692863436456094906661547207546571718775198778131390005"
+ "604470865710049377159980709766283930814795133660201608803830"
+ "387062687050597694976947517673970085074048905476041868399282"
+ "210210811303996695447225466023628701716954332942062300692087"
+ "506193808715233967409332888561229743938739628873817586345844"
+ "235787382642910048037566676934777493608199400013226603778961"
+ "767983065878179176099437852691381581840415294028487335814184"
+ "359705913795796403022353882329072812841999278936447291852558"
+ "968128572497367407956029126386010516040841218546640263332596"
+ "364434900477374007125240521422713075571772237186443808781395"
+ "704933482403159804140409908423471029408690971564881017253795"
+ "683532592671608458875707405594322989754471498482191627716499"
+ "623059985647863148101198460951644508745146797656322518348570"
+ "790574994392249644280292306896707679268682338936248112446049"
+ "470428346171179377813259652278973223502016593007301073724799"
+ "675658539879152222438587068260743628405812631733705003812107"
+ "928072696169776344782845288646566530062426827248787785754788"
+ "204034823098323378752624648063186410269617045282345847903272"
+ "357883012794129290951171155740484706110733426210921325242247"
+ "031947432945712281996375613115158529796206595654235073113183"
+ "229116768328986688033570396888184706095894900612660127539722"
+ "296354502849429049358053512594493214173703639526633300022260"
+ "539993994939768478780065535050030025336768841935569091193952"
+ "295418769626212992663315977727928629409378094031848746171275"
+ "022638700062740039963954423425449141952878266414881475254943"
+ "495837962606594204955766121034305444739163225756990557510496"
+ "315197857760175019686351370553955868473946854769235600181870"
+ "334652058422826629519051090252418555394822679760154964690633"
+ "135731870251253728441441127894034855357885401169158852255396"
+ "639699288081854756163047653011165173498858844059363317314325"
+ "337992118958275600750342252059241652780147872373128975930272"
+ "695413265811145294182418990017214027985685032786710185135452"
+ "796070710025751232508396762575475070121803068832455179884557"
+ "256396146713354003220173366339787259797424068097390744348497"
+ "133677887754833488593674822145911513312492765863432565891182"
+ "214190046527577994266053060958283589302064055540161380606786"
+ "890667240333781935628676127016516337623222119318995031037529"
+ "409927247355689957774656695089650045891746748411475239883461"
+ "991652532450513429435170431778399974155311268296236254817242"
+ "455320367729822023577459233771570012382302724878339725223236"
+ "524461412308558861938192318706466190317653357172677355284205"
+ "070293717538810250642799918525989427528167652785307564855930"
+ "154693751985406421867359356407962520131591444357266715568677"
+ "627861184481418195428000588444756576764708052752232108761309"
+ "370767116216033888153345559070999007492770805224496576474472"
+ "932991677358644527430624867238990432029754811496885262555308"
+ "156932915411739463731250447922108182182749719224567329572666"
+ "899997017005141127283165797509102920540243864496816399084035"
+ "238460602970884482510943589340905249650626519667989139853813"
+ "647643848628244980589979473423920215951052653309297415539267"
+ "311044820996950448378367138265965725133486376318998624075987"
+ "11389056234111194498836994171142578124e-4952",
+ false,
+ -0x8p-152f,
+ -0x0p+0f,
+ -0x0p+0f,
+ -0x0p+0f,
+ false,
+ -0x4p-1076,
+ -0x0p+0,
+ -0x0p+0,
+ -0x0p+0,
+ false,
+ -0x4p-1076L,
+ -0x0p+0L,
+ -0x0p+0L,
+ -0x0p+0L,
+ false,
+ -0x8p-16448L,
+ -0x0p+0L,
+ -0x0p+0L,
+ -0x0p+0L,
+ false,
+ -0x4p-16448L,
+ -0x0p+0L,
+ -0x0p+0L,
+ -0x0p+0L,
+ false,
+ -0x4p-1076L,
+ -0x0p+0L,
+ -0x0p+0L,
+ -0x0p+0L,
+ false,
+ -0x2p-16448L,
+ -0x2p-16448L,
+ -0x1.fffffffffffcp-16448L,
+ -0x1.fffffffffffcp-16448L),
+ TEST ("-9.112998829706186506321014834048549540997627039233908359302"
+ "451217570929221583494342023901771564568012993118368368008827"
+ "754917464081555080424933770188974522513709556452944829196423"
+ "063159514083899391553906414958526822350799483883818171478101"
+ "999885432027538796345957615136921788556123238264649295670535"
+ "656555168830888652110170198149384349220565847429757033386660"
+ "529893234530000541906680730080693584097577114013824488797138"
+ "248030638302927908719072846157325088784631875400783211446468"
+ "366417145208372632809262984971759958271469599865806253671506"
+ "148665941467176141059086775605992986647150893920167836194956"
+ "910549340732044378238901342114403169616619771293658127309340"
+ "098781806953539883415240998611008505292633721120054944409011"
+ "094771719058122585292273236376330708886510637541177621277475"
+ "388124237050940437681936303994812073160411682073448062085946"
+ "305372118811154133351132852246337347252699998665212489482352"
+ "167705562919745231565830710334083843075914276516681777540254"
+ "242467271363817040233616963939558863216141676162273217657656"
+ "468904825547982098936715199331001854831676981466460619758131"
+ "504286256279130046834263891194174641007654179652470752555222"
+ "521881010595734530303539396317948868204070581777214986146436"
+ "787584632193988565062001979299954888360379791497508759572055"
+ "500889164919896927727344221023077626909362205236140801210681"
+ "790306995374590904151473988022708942218135581332388074374731"
+ "601376907398595603196240484548455193864763652931369903351174"
+ "544227914190235653301814318281518707344132851054049215257648"
+ "822998553579843623915248343490157688045755609613688354194931"
+ "155095316567258520417716293863465955387522390164888525982287"
+ "381559819702117898832961338716666201201408518828570963323251"
+ "306194210542627378161868636589387165536962353855787777596576"
+ "710978563031098260476460305935557430711516343712631161621638"
+ "424297747566901295718902492493026946182667450323568568598792"
+ "580977411978419195554374077438549283595347906697196389997943"
+ "821127206870116346470443618175766845587246257442257132503411"
+ "376013068217734850145814471463643421637479890664657625208680"
+ "219057665052258447298724802437977073554005025955098694430208"
+ "501653797887431738591455762554777271441730120433837397235427"
+ "441907712019593507034623068852355183288502788155837192039905"
+ "218603255641396097281251518075514455032709185282558744031113"
+ "036987927459621719970870508223603142271888913040204537878014"
+ "097232781406038322711142335237865461173227252915276587188975"
+ "412089017354073518724435949481849511686910608709780211729679"
+ "423063616265710776413272977181193215639813458821362590901377"
+ "135567298928115902833064762050754791470792710944280648419737"
+ "116028237056467689588717464113777074701321446956746031390623"
+ "186305587652731135855965505817801019568850834786532980472935"
+ "789710341720048589915684158676078601107580341029439012576503"
+ "592092659931725826043687968325502279918751241904045306536991"
+ "132342810175996759727172288817628726164341863494412352737198"
+ "699123595406441535867371630213270061740895641891464486421233"
+ "297605134707109520450896967776936045188697002966298943540679"
+ "740957924589270564091461636421609256546506083872345409301831"
+ "931345863636282662528851689413776642426251033843013425169812"
+ "200523043408518309183421120012261021034944354267413735617601"
+ "999466129654555471183928143892048583210218715059190623669673"
+ "709078451184641215598867539008295806531959130171749496348501"
+ "016593279206827788351694604150601776078877850926025938963932"
+ "348257710184608851755301379907626287399864353397924779191438"
+ "696008198450280050868370731345376995801131987106068816254492"
+ "132279657770445691596180800594675207155679408490487848784280"
+ "757840485915053852076328642276460120931365062944412851150517"
+ "782307879807941005366882170554917224788453991203132901742055"
+ "651807985648804532635758643055919919823171907682230888197136"
+ "785695609657776957667650311147598288820442100762328807032871"
+ "864560877230326487537995006393010831208038878617743781275190"
+ "558412003007220219089126636587367218081819059766147691675567"
+ "771585405798025892518183423386642968922615987212237709485258"
+ "829589899034986438444744438813654943661868795407437525228658"
+ "904812581856613986614501454001745869542557985949803493369202"
+ "876231718093372553910516157740346758003125694394951026931617"
+ "535978947861060938131299416911676145021288244119060362036133"
+ "740174212818599501573880189231621521703767197610941072443657"
+ "937938012953869896148787897686753214596234235085019156025250"
+ "458832853791710463651895437666203902547252832579877605247633"
+ "242797093622461108077141606844016196969700713249758804637564"
+ "031033677586166560428898022693846246187767028235072650835679"
+ "508301416234837561554299294212011108379667366726313165151895"
+ "830476329518081413754725734385648977368582850960838417433497"
+ "042248134245755299790357229077513373338430395014449861322941"
+ "839717984951023221186554236475757746380955942423605912965057"
+ "827463769559044175127979722538378699149446690331124179105037"
+ "648851095593259807257640197670861588600691931413564860824819"
+ "137265657381188889377280059698561590053655108304078570914189"
+ "629664137254233685858528515552268875225114223970809842036687"
+ "815258661003059320145462620801188128167207188247801455632725"
+ "082944709186080859531835309805107316387271370578683213373930"
+ "527405724724502485066334073303661751380073478793232637990545"
+ "164168128190593725323015246035847258027356222256980634811669"
+ "852705683168908821634658358608716239406001024947489962630205"
+ "776825692692413107115696006420712968413972191633113557618014"
+ "858696532329910528233723435298914378716968012211255768780932"
+ "309932797977814035171890236317231958304220075777251395064208"
+ "638629746218502848288226858693654802564969763330590748497148"
+ "622346855218718290721826777671881908623480917243090647492727"
+ "942490633210766719088635904655448517979130388109126548929300"
+ "580321560326963512326417012573083178438865633283218615714530"
+ "549903912556636275934676454120536977847927177426272685396804"
+ "919083563678876289503745477768040694051730867535587283818464"
+ "530412086187505017748505307478598856959954962317953251674008"
+ "225476237765489460621328249350656765266995846433809943413102"
+ "353234238035471689081788617703430631377557454803127814187829"
+ "598025185330715074053608155317864680056010785645548139016038"
+ "200546112686635086975287688896283436056884042970495964827912"
+ "025457042506985430699507570505216417703168633373353363740973"
+ "098449441236047555752605169966501252613667375010142836817335"
+ "369229195079966747113425749967668461018275843584570291287076"
+ "863436226900429180382446487600878513931316307565128037734274"
+ "751419683920963106436365962521419345659878831691373235891043"
+ "914494428989096241797873944510540729730313852637867934309362"
+ "479391674181147553437778221885313432295986044940607732570536"
+ "758323465079498284873837903359731801022615162524897452447369"
+ "994156363786660485655244163243106530919921915001572936639717"
+ "727060908959134609147450693915078216074071190796432287614559"
+ "739514565025331782444586046533670722082471368442936376992006"
+ "432871710633235430712641944567318442895146617863508894303083"
+ "780006238593348534997106956499275465539308594895385688351274"
+ "527680872602616209515711522183485689297196476046732023220833"
+ "558806953101747436104574698259485603639631941783303387176618"
+ "127736801688930806971119771946947230290585329044021041830702"
+ "468732853329712319650648310981953139465377229648008743031539"
+ "791012497742669446849787144903264712336696905108788802976454"
+ "745641561589894577319528552887480349967499840509077874630932"
+ "006410787240379373316011071930020626071423345824245404625428"
+ "163528566770284308895812647657178766782096152465077867650878"
+ "728765790031331346983386248864167523818934527230120011631131"
+ "130349221973482282345629720853245305588082152846834757883902"
+ "418230260602977365876291924423262576905967270998981387607980"
+ "590173198728061164566710508280203138579629390853086417284931"
+ "473476503896627076093505113988019224990398993864279520509220"
+ "795282297369154155289507298946591008575807604025045159241768"
+ "053124565959288158472125768546173559933716867523084862590552"
+ "253795464417356834592115317041595395862621956820603128199550"
+ "775483058782397777574710005576429220542135705644683046579361"
+ "127376380818572381345373863156949724560997571282830521596582"
+ "676505338806880191653919681180812814185728172204622753540956"
+ "759118628570582119983330392951985037590913404114720365889373"
+ "415375522713642972968081965998964699854200925870352763511855"
+ "746131244738423217984936240351114193253178508974164557277742"
+ "082380052953358927842394019540795856889426401016424800654084"
+ "916008710304199673856712109217270885934221094921708814309165"
+ "303714869866869718931790902001741107041185283983665265223010"
+ "448886692863436456094906661547207546571718775198778131390005"
+ "604470865710049377159980709766283930814795133660201608803830"
+ "387062687050597694976947517673970085074048905476041868399282"
+ "210210811303996695447225466023628701716954332942062300692087"
+ "506193808715233967409332888561229743938739628873817586345844"
+ "235787382642910048037566676934777493608199400013226603778961"
+ "767983065878179176099437852691381581840415294028487335814184"
+ "359705913795796403022353882329072812841999278936447291852558"
+ "968128572497367407956029126386010516040841218546640263332596"
+ "364434900477374007125240521422713075571772237186443808781395"
+ "704933482403159804140409908423471029408690971564881017253795"
+ "683532592671608458875707405594322989754471498482191627716499"
+ "623059985647863148101198460951644508745146797656322518348570"
+ "790574994392249644280292306896707679268682338936248112446049"
+ "470428346171179377813259652278973223502016593007301073724799"
+ "675658539879152222438587068260743628405812631733705003812107"
+ "928072696169776344782845288646566530062426827248787785754788"
+ "204034823098323378752624648063186410269617045282345847903272"
+ "357883012794129290951171155740484706110733426210921325242247"
+ "031947432945712281996375613115158529796206595654235073113183"
+ "229116768328986688033570396888184706095894900612660127539722"
+ "296354502849429049358053512594493214173703639526633300022260"
+ "539993994939768478780065535050030025336768841935569091193952"
+ "295418769626212992663315977727928629409378094031848746171275"
+ "022638700062740039963954423425449141952878266414881475254943"
+ "495837962606594204955766121034305444739163225756990557510496"
+ "315197857760175019686351370553955868473946854769235600181870"
+ "334652058422826629519051090252418555394822679760154964690633"
+ "135731870251253728441441127894034855357885401169158852255396"
+ "639699288081854756163047653011165173498858844059363317314325"
+ "337992118958275600750342252059241652780147872373128975930272"
+ "695413265811145294182418990017214027985685032786710185135452"
+ "796070710025751232508396762575475070121803068832455179884557"
+ "256396146713354003220173366339787259797424068097390744348497"
+ "133677887754833488593674822145911513312492765863432565891182"
+ "214190046527577994266053060958283589302064055540161380606786"
+ "890667240333781935628676127016516337623222119318995031037529"
+ "409927247355689957774656695089650045891746748411475239883461"
+ "991652532450513429435170431778399974155311268296236254817242"
+ "455320367729822023577459233771570012382302724878339725223236"
+ "524461412308558861938192318706466190317653357172677355284205"
+ "070293717538810250642799918525989427528167652785307564855930"
+ "154693751985406421867359356407962520131591444357266715568677"
+ "627861184481418195428000588444756576764708052752232108761309"
+ "370767116216033888153345559070999007492770805224496576474472"
+ "932991677358644527430624867238990432029754811496885262555308"
+ "156932915411739463731250447922108182182749719224567329572666"
+ "899997017005141127283165797509102920540243864496816399084035"
+ "238460602970884482510943589340905249650626519667989139853813"
+ "647643848628244980589979473423920215951052653309297415539267"
+ "311044820996950448378367138265965725133486376318998624075987"
+ "11389056234111194498836994171142578125e-4952",
+ false,
+ -0x8p-152f,
+ -0x0p+0f,
+ -0x0p+0f,
+ -0x0p+0f,
+ false,
+ -0x4p-1076,
+ -0x0p+0,
+ -0x0p+0,
+ -0x0p+0,
+ false,
+ -0x4p-1076L,
+ -0x0p+0L,
+ -0x0p+0L,
+ -0x0p+0L,
+ false,
+ -0x8p-16448L,
+ -0x0p+0L,
+ -0x0p+0L,
+ -0x0p+0L,
+ false,
+ -0x4p-16448L,
+ -0x0p+0L,
+ -0x0p+0L,
+ -0x0p+0L,
+ false,
+ -0x4p-1076L,
+ -0x0p+0L,
+ -0x0p+0L,
+ -0x0p+0L,
+ true,
+ -0x2p-16448L,
+ -0x2p-16448L,
+ -0x2p-16448L,
+ -0x2p-16448L),
+ TEST ("-9.112998829706186506321014834048549540997627039233908359302"
+ "451217570929221583494342023901771564568012993118368368008827"
+ "754917464081555080424933770188974522513709556452944829196423"
+ "063159514083899391553906414958526822350799483883818171478101"
+ "999885432027538796345957615136921788556123238264649295670535"
+ "656555168830888652110170198149384349220565847429757033386660"
+ "529893234530000541906680730080693584097577114013824488797138"
+ "248030638302927908719072846157325088784631875400783211446468"
+ "366417145208372632809262984971759958271469599865806253671506"
+ "148665941467176141059086775605992986647150893920167836194956"
+ "910549340732044378238901342114403169616619771293658127309340"
+ "098781806953539883415240998611008505292633721120054944409011"
+ "094771719058122585292273236376330708886510637541177621277475"
+ "388124237050940437681936303994812073160411682073448062085946"
+ "305372118811154133351132852246337347252699998665212489482352"
+ "167705562919745231565830710334083843075914276516681777540254"
+ "242467271363817040233616963939558863216141676162273217657656"
+ "468904825547982098936715199331001854831676981466460619758131"
+ "504286256279130046834263891194174641007654179652470752555222"
+ "521881010595734530303539396317948868204070581777214986146436"
+ "787584632193988565062001979299954888360379791497508759572055"
+ "500889164919896927727344221023077626909362205236140801210681"
+ "790306995374590904151473988022708942218135581332388074374731"
+ "601376907398595603196240484548455193864763652931369903351174"
+ "544227914190235653301814318281518707344132851054049215257648"
+ "822998553579843623915248343490157688045755609613688354194931"
+ "155095316567258520417716293863465955387522390164888525982287"
+ "381559819702117898832961338716666201201408518828570963323251"
+ "306194210542627378161868636589387165536962353855787777596576"
+ "710978563031098260476460305935557430711516343712631161621638"
+ "424297747566901295718902492493026946182667450323568568598792"
+ "580977411978419195554374077438549283595347906697196389997943"
+ "821127206870116346470443618175766845587246257442257132503411"
+ "376013068217734850145814471463643421637479890664657625208680"
+ "219057665052258447298724802437977073554005025955098694430208"
+ "501653797887431738591455762554777271441730120433837397235427"
+ "441907712019593507034623068852355183288502788155837192039905"
+ "218603255641396097281251518075514455032709185282558744031113"
+ "036987927459621719970870508223603142271888913040204537878014"
+ "097232781406038322711142335237865461173227252915276587188975"
+ "412089017354073518724435949481849511686910608709780211729679"
+ "423063616265710776413272977181193215639813458821362590901377"
+ "135567298928115902833064762050754791470792710944280648419737"
+ "116028237056467689588717464113777074701321446956746031390623"
+ "186305587652731135855965505817801019568850834786532980472935"
+ "789710341720048589915684158676078601107580341029439012576503"
+ "592092659931725826043687968325502279918751241904045306536991"
+ "132342810175996759727172288817628726164341863494412352737198"
+ "699123595406441535867371630213270061740895641891464486421233"
+ "297605134707109520450896967776936045188697002966298943540679"
+ "740957924589270564091461636421609256546506083872345409301831"
+ "931345863636282662528851689413776642426251033843013425169812"
+ "200523043408518309183421120012261021034944354267413735617601"
+ "999466129654555471183928143892048583210218715059190623669673"
+ "709078451184641215598867539008295806531959130171749496348501"
+ "016593279206827788351694604150601776078877850926025938963932"
+ "348257710184608851755301379907626287399864353397924779191438"
+ "696008198450280050868370731345376995801131987106068816254492"
+ "132279657770445691596180800594675207155679408490487848784280"
+ "757840485915053852076328642276460120931365062944412851150517"
+ "782307879807941005366882170554917224788453991203132901742055"
+ "651807985648804532635758643055919919823171907682230888197136"
+ "785695609657776957667650311147598288820442100762328807032871"
+ "864560877230326487537995006393010831208038878617743781275190"
+ "558412003007220219089126636587367218081819059766147691675567"
+ "771585405798025892518183423386642968922615987212237709485258"
+ "829589899034986438444744438813654943661868795407437525228658"
+ "904812581856613986614501454001745869542557985949803493369202"
+ "876231718093372553910516157740346758003125694394951026931617"
+ "535978947861060938131299416911676145021288244119060362036133"
+ "740174212818599501573880189231621521703767197610941072443657"
+ "937938012953869896148787897686753214596234235085019156025250"
+ "458832853791710463651895437666203902547252832579877605247633"
+ "242797093622461108077141606844016196969700713249758804637564"
+ "031033677586166560428898022693846246187767028235072650835679"
+ "508301416234837561554299294212011108379667366726313165151895"
+ "830476329518081413754725734385648977368582850960838417433497"
+ "042248134245755299790357229077513373338430395014449861322941"
+ "839717984951023221186554236475757746380955942423605912965057"
+ "827463769559044175127979722538378699149446690331124179105037"
+ "648851095593259807257640197670861588600691931413564860824819"
+ "137265657381188889377280059698561590053655108304078570914189"
+ "629664137254233685858528515552268875225114223970809842036687"
+ "815258661003059320145462620801188128167207188247801455632725"
+ "082944709186080859531835309805107316387271370578683213373930"
+ "527405724724502485066334073303661751380073478793232637990545"
+ "164168128190593725323015246035847258027356222256980634811669"
+ "852705683168908821634658358608716239406001024947489962630205"
+ "776825692692413107115696006420712968413972191633113557618014"
+ "858696532329910528233723435298914378716968012211255768780932"
+ "309932797977814035171890236317231958304220075777251395064208"
+ "638629746218502848288226858693654802564969763330590748497148"
+ "622346855218718290721826777671881908623480917243090647492727"
+ "942490633210766719088635904655448517979130388109126548929300"
+ "580321560326963512326417012573083178438865633283218615714530"
+ "549903912556636275934676454120536977847927177426272685396804"
+ "919083563678876289503745477768040694051730867535587283818464"
+ "530412086187505017748505307478598856959954962317953251674008"
+ "225476237765489460621328249350656765266995846433809943413102"
+ "353234238035471689081788617703430631377557454803127814187829"
+ "598025185330715074053608155317864680056010785645548139016038"
+ "200546112686635086975287688896283436056884042970495964827912"
+ "025457042506985430699507570505216417703168633373353363740973"
+ "098449441236047555752605169966501252613667375010142836817335"
+ "369229195079966747113425749967668461018275843584570291287076"
+ "863436226900429180382446487600878513931316307565128037734274"
+ "751419683920963106436365962521419345659878831691373235891043"
+ "914494428989096241797873944510540729730313852637867934309362"
+ "479391674181147553437778221885313432295986044940607732570536"
+ "758323465079498284873837903359731801022615162524897452447369"
+ "994156363786660485655244163243106530919921915001572936639717"
+ "727060908959134609147450693915078216074071190796432287614559"
+ "739514565025331782444586046533670722082471368442936376992006"
+ "432871710633235430712641944567318442895146617863508894303083"
+ "780006238593348534997106956499275465539308594895385688351274"
+ "527680872602616209515711522183485689297196476046732023220833"
+ "558806953101747436104574698259485603639631941783303387176618"
+ "127736801688930806971119771946947230290585329044021041830702"
+ "468732853329712319650648310981953139465377229648008743031539"
+ "791012497742669446849787144903264712336696905108788802976454"
+ "745641561589894577319528552887480349967499840509077874630932"
+ "006410787240379373316011071930020626071423345824245404625428"
+ "163528566770284308895812647657178766782096152465077867650878"
+ "728765790031331346983386248864167523818934527230120011631131"
+ "130349221973482282345629720853245305588082152846834757883902"
+ "418230260602977365876291924423262576905967270998981387607980"
+ "590173198728061164566710508280203138579629390853086417284931"
+ "473476503896627076093505113988019224990398993864279520509220"
+ "795282297369154155289507298946591008575807604025045159241768"
+ "053124565959288158472125768546173559933716867523084862590552"
+ "253795464417356834592115317041595395862621956820603128199550"
+ "775483058782397777574710005576429220542135705644683046579361"
+ "127376380818572381345373863156949724560997571282830521596582"
+ "676505338806880191653919681180812814185728172204622753540956"
+ "759118628570582119983330392951985037590913404114720365889373"
+ "415375522713642972968081965998964699854200925870352763511855"
+ "746131244738423217984936240351114193253178508974164557277742"
+ "082380052953358927842394019540795856889426401016424800654084"
+ "916008710304199673856712109217270885934221094921708814309165"
+ "303714869866869718931790902001741107041185283983665265223010"
+ "448886692863436456094906661547207546571718775198778131390005"
+ "604470865710049377159980709766283930814795133660201608803830"
+ "387062687050597694976947517673970085074048905476041868399282"
+ "210210811303996695447225466023628701716954332942062300692087"
+ "506193808715233967409332888561229743938739628873817586345844"
+ "235787382642910048037566676934777493608199400013226603778961"
+ "767983065878179176099437852691381581840415294028487335814184"
+ "359705913795796403022353882329072812841999278936447291852558"
+ "968128572497367407956029126386010516040841218546640263332596"
+ "364434900477374007125240521422713075571772237186443808781395"
+ "704933482403159804140409908423471029408690971564881017253795"
+ "683532592671608458875707405594322989754471498482191627716499"
+ "623059985647863148101198460951644508745146797656322518348570"
+ "790574994392249644280292306896707679268682338936248112446049"
+ "470428346171179377813259652278973223502016593007301073724799"
+ "675658539879152222438587068260743628405812631733705003812107"
+ "928072696169776344782845288646566530062426827248787785754788"
+ "204034823098323378752624648063186410269617045282345847903272"
+ "357883012794129290951171155740484706110733426210921325242247"
+ "031947432945712281996375613115158529796206595654235073113183"
+ "229116768328986688033570396888184706095894900612660127539722"
+ "296354502849429049358053512594493214173703639526633300022260"
+ "539993994939768478780065535050030025336768841935569091193952"
+ "295418769626212992663315977727928629409378094031848746171275"
+ "022638700062740039963954423425449141952878266414881475254943"
+ "495837962606594204955766121034305444739163225756990557510496"
+ "315197857760175019686351370553955868473946854769235600181870"
+ "334652058422826629519051090252418555394822679760154964690633"
+ "135731870251253728441441127894034855357885401169158852255396"
+ "639699288081854756163047653011165173498858844059363317314325"
+ "337992118958275600750342252059241652780147872373128975930272"
+ "695413265811145294182418990017214027985685032786710185135452"
+ "796070710025751232508396762575475070121803068832455179884557"
+ "256396146713354003220173366339787259797424068097390744348497"
+ "133677887754833488593674822145911513312492765863432565891182"
+ "214190046527577994266053060958283589302064055540161380606786"
+ "890667240333781935628676127016516337623222119318995031037529"
+ "409927247355689957774656695089650045891746748411475239883461"
+ "991652532450513429435170431778399974155311268296236254817242"
+ "455320367729822023577459233771570012382302724878339725223236"
+ "524461412308558861938192318706466190317653357172677355284205"
+ "070293717538810250642799918525989427528167652785307564855930"
+ "154693751985406421867359356407962520131591444357266715568677"
+ "627861184481418195428000588444756576764708052752232108761309"
+ "370767116216033888153345559070999007492770805224496576474472"
+ "932991677358644527430624867238990432029754811496885262555308"
+ "156932915411739463731250447922108182182749719224567329572666"
+ "899997017005141127283165797509102920540243864496816399084035"
+ "238460602970884482510943589340905249650626519667989139853813"
+ "647643848628244980589979473423920215951052653309297415539267"
+ "311044820996950448378367138265965725133486376318998624075987"
+ "11389056234111194498836994171142578126e-4952",
+ false,
+ -0x8p-152f,
+ -0x0p+0f,
+ -0x0p+0f,
+ -0x0p+0f,
+ false,
+ -0x4p-1076,
+ -0x0p+0,
+ -0x0p+0,
+ -0x0p+0,
+ false,
+ -0x4p-1076L,
+ -0x0p+0L,
+ -0x0p+0L,
+ -0x0p+0L,
+ false,
+ -0x8p-16448L,
+ -0x0p+0L,
+ -0x0p+0L,
+ -0x0p+0L,
+ false,
+ -0x4p-16448L,
+ -0x4p-16448L,
+ -0x0p+0L,
+ -0x0p+0L,
+ false,
+ -0x4p-1076L,
+ -0x0p+0L,
+ -0x0p+0L,
+ -0x0p+0L,
+ false,
+ -0x2.000000000004p-16448L,
+ -0x2p-16448L,
+ -0x2p-16448L,
+ -0x2p-16448L),
+ TEST ("3.2375875597190125554622194791138232762497846690173405048449"
+ "421945985197700620596855088357456383249701279390707384240598"
+ "382936099431912710233425550359863089915213963553756674672083"
+ "673128192358701197242632527769951957277781260855740340354110"
+ "173441284912381364143945515141786687806740155311932822963199"
+ "131134959539539338316310328556057915323285980341541664226172"
+ "265348802632447238304822896568757017013159021750199744350376"
+ "278243566840330589397015778833566517337174685312047058426075"
+ "688036665697114219175258344917835835984013214761767520398571"
+ "735519302688914468501077605843338555214753050109407568139932"
+ "147308502166696009676987494125921676927574464221699654264839"
+ "192243410627511520570610765229732327315423820550872393685221"
+ "676561948307418196052769717057382723931306989375320957256133"
+ "838073129463951849807075348034900035402513943244599879584009"
+ "391110011261908615236154859382854977144106096407982738165117"
+ "693915685918231984764157652755343417097983676870433731452629"
+ "339981084526616826599425863049784138127555181662391766144738"
+ "159400253422795753041594932607700680306368857466952063923782"
+ "760519487592638820793893796669403574411398166619131986561877"
+ "034635197232626532239192571857518274939275861531537920777299"
+ "133535479548088762634002006634954143608168633852204577195463"
+ "389533233992867620995583241321034602255800668175356808869060"
+ "608582640890741203603916133682748118680676374951545690715916"
+ "241859799379894025137504643469040366684778763795442214328000"
+ "375999444991619403217748350277527106812175542863660436614910"
+ "135938862296156144947361864759321605496309393905421651264941"
+ "669606814994816518612155298709843817262034769175075602668866"
+ "926449523554218142013501373514352370369126244144449924971423"
+ "038024236058971106053649565799145071085840022305247663313482"
+ "714565918140785997808209749619683146844964283106915422726638"
+ "184861327711776708749278315100024436584176080783836115268999"
+ "055336294569042349971163039294272620322160728879610722678506"
+ "182344928526064885227397447578450046944618127903428943538029"
+ "386719288345854473283987116842451647036255801966780244103035"
+ "425445345127067921349083698736056197567752071915587544133815"
+ "717564310032485290205726480489464589999677885266171263493459"
+ "668963623768410922688414177814149693150024191921819721215688"
+ "114324591287371281400636455584825253000890602388603923710921"
+ "026880979879158388608823700222683123228822356907857261909150"
+ "626993825760416437415551396973489279578569909699853422995997"
+ "974315036153120383930698087773157253674975950409660938084071"
+ "173163693891122166282318691732176374528554627905530306369204"
+ "877964658806333996327938827344733821685425961846791581492287"
+ "250044047142934607523718654369478552373072400018635730811749"
+ "291666457582760812726851561001954207941547404866373158231367"
+ "986951247388733285659455982411993350593989550494594498447410"
+ "984783303191128659803467713819821511544998464785455306500918"
+ "241648925913966507036336000231915215026183799886938007038845"
+ "551916478649593272604688927931953165785101738164060543643192"
+ "949066412847647883846835866623820426428526541564774787007791"
+ "235843699657232847114093617412355486871810526396392792853731"
+ "390841657984518997639795008374280777823099107035223998600103"
+ "103211166230289241182380237703814248941627178152962100972452"
+ "217697144954497443279450919433943252592977710901289696002698"
+ "225209041938801190947812141758873162203113090284565687499100"
+ "109623665868340184032428667217835198069330185880779776269137"
+ "742366802202585247113480377505916462865316253065105837519292"
+ "805411191872195967066157363040364443666632564266439033866945"
+ "366496486863801221986778957510023272290593640187551645170603"
+ "215150911733580059874983597994671388176488814794186236946834"
+ "548816837468411497151813344980969677026131105901402313456769"
+ "561412278508799050185582199844418197980544632067644131002512"
+ "557755358307705356209461595354064971347590431926479961905129"
+ "785864961996560707071051177738535042777950247546470241655891"
+ "294428226271478689174637951663865529219133988782700199051475"
+ "108495188941141025360733690471601309904116260484264378352956"
+ "830972782977747351810451586166745640802378131466232692150196"
+ "132319386267589275314909450293562079332893638471814389025392"
+ "970579695249613486078445695214422379148991006996109216699215"
+ "721671648754881325271879493185438097033881789311707997697928"
+ "860866812849648616086569281093053695399558469641977866770538"
+ "476039621947215238679930485285585513808236992918733520331110"
+ "962448142457896209307561142289713638388281085340301520317159"
+ "297224995464365477734040179470355969363384621039467975256670"
+ "339354334892926205316491997244008324897517881293654265688813"
+ "283579663372924392043825371743576754041055802440187836850412"
+ "247984570221893156921757872572872036331343007592090605703195"
+ "088864753777199111760713027328198781654685927174063882187275"
+ "850263521274368447629947228263907797373221137688424821608129"
+ "731003236738630502344377228987961455961818623205503012858619"
+ "800521948637807438081069469400793496307826769301971342062597"
+ "391253779410607511754278887744936774785938056823221738917303"
+ "119592848951788560393540150358649310736020595310015728915288"
+ "289821678102453433273888879288862086153270028346900686360943"
+ "250522514297816412678213672667152836436597491522644579383191"
+ "851483036048273636234050603745735057899230038434384361744893"
+ "838050985090837220507663282503497932038372021626246900935334"
+ "781144388106031405650705176699646299475436084049881780196520"
+ "881623075256119318210664937469946410480660118598143375898298"
+ "965497205621170906772915413181530577151676241283182977713765"
+ "317889730886996471681592298058774155948285325398399674640645"
+ "566475947058303746531133735308766583802401453804232106737787"
+ "768035926272312574958173945816077962772826443125107145322971"
+ "087220172175473177449006473180221085709470643042801004189714"
+ "505520073568915195232936144169440163547568663500508335014169"
+ "425050712038101167190534305435310279534374364467455668392421"
+ "298604104431988622194699721632249712583483143417550152131186"
+ "288827131347662976240916448058011869761525369135147129192405"
+ "037216807405860168320999468074663117771890506566769628495813"
+ "837909047220874786467663205170561835819702362482274133227483"
+ "041342457179876653773960112367066273208176545656826800069574"
+ "547599816180234764485446735080683694920665668954370505715843"
+ "455110709594838989387382250502925336743830916124954071268053"
+ "817964873658921319164268375226716232666274830656557657055342"
+ "393552148933959057023293404027940528842591460490646295820755"
+ "765633076707491896621769767253619370462005760078938144396953"
+ "018925287611875441613896820035092167912718365454954166761481"
+ "511451950826683236776211829914518353242818636196417736206010"
+ "145109509967467266157037719712666871515644277723594273405669"
+ "093518586548079997818085130346801040781966074621669280188633"
+ "856299289656492439545033914935979634179552686396067914528336"
+ "924678729357419403624798426886422277256625046946795576781709"
+ "298737741510378578072199383561520569978396254537274419476511"
+ "983161908266152660163477408756159700314280122283281906103567"
+ "067156627222418787671312246698375736071215395722993294041012"
+ "744631560602983489316782773611740570974847045870362276861106"
+ "774130949410119612624380274679529647271294627526939490197641"
+ "645383447755544661714281218489998189691140343327976729279891"
+ "077101372792811842951182338559423852563331641533781432796742"
+ "873181364582071661749961126386895359760476172215209100274274"
+ "851619657020388051618654944574445941780637669570374280535432"
+ "399157923698778110534174856844986671232161320063786308144771"
+ "068130888985636449091787794632959555876880672773686838364706"
+ "122084832995722603440165161942472322987408003421165899848443"
+ "566885769845535074102932500939450142098799833145629484519298"
+ "622410092757836842296697186410137365818568152771850732591405"
+ "340248509247875448717161746544246407280913725135059228268131"
+ "453903691495906528862410006254958805237716723952273129715780"
+ "425223305517882562616830806755498203755676925741529569939445"
+ "043490046171854709456730491532189688306135861932534903184518"
+ "717706426178028900836080044604143054210332610482947502104703"
+ "032028463320549525316174330585387581543470878545616097381416"
+ "151451037487775797335749896735101048367502483255117772375025"
+ "269956476872153642623856062175536913321594213515989059505375"
+ "135183515207096576145781316398544325320022366962008554087665"
+ "201050763789833457082359181807492731245904330245198691471329"
+ "319324627030678762142685799400660305214140453863665517807185"
+ "105354694177602424937823924511789133225030926924236498557565"
+ "212794565582753399214908928688568628950225640472058381324292"
+ "866007645368390366981937596341868992912741319342960598330486"
+ "905946276235953206760977215407164729909506118583728562718724"
+ "235732515062300426080741679038098122641980345051854359908213"
+ "563779664847422505775922437272989231878912994048540484468227"
+ "199282393172540734295329890896755037903724644870572648941076"
+ "132423009124870700536763793881894969000042397318202298868940"
+ "530196108237639578098191879486398269734335286831689173606327"
+ "500405178476864790935386838169242131756729797688220656276969"
+ "434749140204830563840068728357383111109865861495106613619153"
+ "421725274090787422508800568671498311491210197298472420373359"
+ "044400631309819996507004167876832936101195902219429743174557"
+ "163362274547892397934880322990633165889175059124060202200452"
+ "648684577182821651588921716304707095995039972827781680978274"
+ "973838841958209215836456212939412000456040621743349981715350"
+ "305133662772937143899882197561295808685181679238411733642697"
+ "748892466944352640514849114619882270112386610376024527101889"
+ "119004382703622803911212700216792471528793241950356942780714"
+ "774957204475130171711488773121937363663487116301055073658645"
+ "980695862570269762957141239436916216723776945522480189876803"
+ "386123827956059851911061129713987960026363403936931196519733"
+ "447116468545744829997003979525368783485129837821983305137448"
+ "031689360764270759437872004895754351479890333865299565515706"
+ "690471030702230767978923298480584997256328135245813726407464"
+ "159230169328539541524724878662873185450510653764301207480799"
+ "488602832618557388369552461881286225098286358672257087829660"
+ "174231705350465091313887538950130611513878400895128618426154"
+ "417299623157313010877679890009181366178705821415173309356192"
+ "686429159835537275875876767919535369607142366878476025895389"
+ "279625854409611312402187942369446302119309705461187450803468"
+ "606366203101933821675974655441744883993796837164178911391575"
+ "751463591650231265941242686108002052587760190005508737394014"
+ "453031299745602214380618917954427803281262300931789525045703"
+ "809571995929933387196864877982754748535701000330924817431298"
+ "365273697561943437891318220691072831562717726798635382168915"
+ "187137325209768346284183473712613689334546294053718697897526"
+ "843398053681374508250012035211936425982389543291022583173280"
+ "985811169783438836113209408147936547458073361625570571955232"
+ "746103236016857123149307991441916732438322836596693687161268"
+ "151183603534413030099360835441935243365729307681545065674775"
+ "655582111435085683962037818795920337874290127531069511296530"
+ "746308404963763022896682861683252995925040540038039172626001"
+ "958340013361801588367655990575379797454237110701588716509764"
+ "759243657077584013289594787913434812509790293636440469725564"
+ "222946985585616708175959944099853232059130350099233608207347"
+ "955460820122006976717445739825352919058005528371183277021250"
+ "186916447745609162301667393077050176560656798672598371789181"
+ "232542195795945358691713761483976100058707499929103557275695"
+ "937295677892604799308353051124627278706035295473126217205599"
+ "530746756205492173148619619059839609108464715691924592576481"
+ "382126740168148453274964955074129767533813576349605298268179"
+ "068244338581354855186516322703199278802275718580352103754433"
+ "240982354636196477238624205575823556321375833700666021556412"
+ "182358152808745703724362178773168996492870519432472065091133"
+ "11767578124e-4966",
+ false,
+ 0x0p+0f,
+ 0x0p+0f,
+ 0x0p+0f,
+ 0x8p-152f,
+ false,
+ 0x0p+0,
+ 0x0p+0,
+ 0x0p+0,
+ 0x4p-1076,
+ false,
+ 0x0p+0L,
+ 0x0p+0L,
+ 0x0p+0L,
+ 0x4p-1076L,
+ false,
+ 0x0p+0L,
+ 0x0p+0L,
+ 0x0p+0L,
+ 0x8p-16448L,
+ false,
+ 0x0p+0L,
+ 0x0p+0L,
+ 0x0p+0L,
+ 0x4p-16448L,
+ false,
+ 0x0p+0L,
+ 0x0p+0L,
+ 0x0p+0L,
+ 0x4p-1076L,
+ false,
+ 0x0p+0L,
+ 0x0p+0L,
+ 0x0p+0L,
+ 0x4p-16496L),
+ TEST ("3.2375875597190125554622194791138232762497846690173405048449"
+ "421945985197700620596855088357456383249701279390707384240598"
+ "382936099431912710233425550359863089915213963553756674672083"
+ "673128192358701197242632527769951957277781260855740340354110"
+ "173441284912381364143945515141786687806740155311932822963199"
+ "131134959539539338316310328556057915323285980341541664226172"
+ "265348802632447238304822896568757017013159021750199744350376"
+ "278243566840330589397015778833566517337174685312047058426075"
+ "688036665697114219175258344917835835984013214761767520398571"
+ "735519302688914468501077605843338555214753050109407568139932"
+ "147308502166696009676987494125921676927574464221699654264839"
+ "192243410627511520570610765229732327315423820550872393685221"
+ "676561948307418196052769717057382723931306989375320957256133"
+ "838073129463951849807075348034900035402513943244599879584009"
+ "391110011261908615236154859382854977144106096407982738165117"
+ "693915685918231984764157652755343417097983676870433731452629"
+ "339981084526616826599425863049784138127555181662391766144738"
+ "159400253422795753041594932607700680306368857466952063923782"
+ "760519487592638820793893796669403574411398166619131986561877"
+ "034635197232626532239192571857518274939275861531537920777299"
+ "133535479548088762634002006634954143608168633852204577195463"
+ "389533233992867620995583241321034602255800668175356808869060"
+ "608582640890741203603916133682748118680676374951545690715916"
+ "241859799379894025137504643469040366684778763795442214328000"
+ "375999444991619403217748350277527106812175542863660436614910"
+ "135938862296156144947361864759321605496309393905421651264941"
+ "669606814994816518612155298709843817262034769175075602668866"
+ "926449523554218142013501373514352370369126244144449924971423"
+ "038024236058971106053649565799145071085840022305247663313482"
+ "714565918140785997808209749619683146844964283106915422726638"
+ "184861327711776708749278315100024436584176080783836115268999"
+ "055336294569042349971163039294272620322160728879610722678506"
+ "182344928526064885227397447578450046944618127903428943538029"
+ "386719288345854473283987116842451647036255801966780244103035"
+ "425445345127067921349083698736056197567752071915587544133815"
+ "717564310032485290205726480489464589999677885266171263493459"
+ "668963623768410922688414177814149693150024191921819721215688"
+ "114324591287371281400636455584825253000890602388603923710921"
+ "026880979879158388608823700222683123228822356907857261909150"
+ "626993825760416437415551396973489279578569909699853422995997"
+ "974315036153120383930698087773157253674975950409660938084071"
+ "173163693891122166282318691732176374528554627905530306369204"
+ "877964658806333996327938827344733821685425961846791581492287"
+ "250044047142934607523718654369478552373072400018635730811749"
+ "291666457582760812726851561001954207941547404866373158231367"
+ "986951247388733285659455982411993350593989550494594498447410"
+ "984783303191128659803467713819821511544998464785455306500918"
+ "241648925913966507036336000231915215026183799886938007038845"
+ "551916478649593272604688927931953165785101738164060543643192"
+ "949066412847647883846835866623820426428526541564774787007791"
+ "235843699657232847114093617412355486871810526396392792853731"
+ "390841657984518997639795008374280777823099107035223998600103"
+ "103211166230289241182380237703814248941627178152962100972452"
+ "217697144954497443279450919433943252592977710901289696002698"
+ "225209041938801190947812141758873162203113090284565687499100"
+ "109623665868340184032428667217835198069330185880779776269137"
+ "742366802202585247113480377505916462865316253065105837519292"
+ "805411191872195967066157363040364443666632564266439033866945"
+ "366496486863801221986778957510023272290593640187551645170603"
+ "215150911733580059874983597994671388176488814794186236946834"
+ "548816837468411497151813344980969677026131105901402313456769"
+ "561412278508799050185582199844418197980544632067644131002512"
+ "557755358307705356209461595354064971347590431926479961905129"
+ "785864961996560707071051177738535042777950247546470241655891"
+ "294428226271478689174637951663865529219133988782700199051475"
+ "108495188941141025360733690471601309904116260484264378352956"
+ "830972782977747351810451586166745640802378131466232692150196"
+ "132319386267589275314909450293562079332893638471814389025392"
+ "970579695249613486078445695214422379148991006996109216699215"
+ "721671648754881325271879493185438097033881789311707997697928"
+ "860866812849648616086569281093053695399558469641977866770538"
+ "476039621947215238679930485285585513808236992918733520331110"
+ "962448142457896209307561142289713638388281085340301520317159"
+ "297224995464365477734040179470355969363384621039467975256670"
+ "339354334892926205316491997244008324897517881293654265688813"
+ "283579663372924392043825371743576754041055802440187836850412"
+ "247984570221893156921757872572872036331343007592090605703195"
+ "088864753777199111760713027328198781654685927174063882187275"
+ "850263521274368447629947228263907797373221137688424821608129"
+ "731003236738630502344377228987961455961818623205503012858619"
+ "800521948637807438081069469400793496307826769301971342062597"
+ "391253779410607511754278887744936774785938056823221738917303"
+ "119592848951788560393540150358649310736020595310015728915288"
+ "289821678102453433273888879288862086153270028346900686360943"
+ "250522514297816412678213672667152836436597491522644579383191"
+ "851483036048273636234050603745735057899230038434384361744893"
+ "838050985090837220507663282503497932038372021626246900935334"
+ "781144388106031405650705176699646299475436084049881780196520"
+ "881623075256119318210664937469946410480660118598143375898298"
+ "965497205621170906772915413181530577151676241283182977713765"
+ "317889730886996471681592298058774155948285325398399674640645"
+ "566475947058303746531133735308766583802401453804232106737787"
+ "768035926272312574958173945816077962772826443125107145322971"
+ "087220172175473177449006473180221085709470643042801004189714"
+ "505520073568915195232936144169440163547568663500508335014169"
+ "425050712038101167190534305435310279534374364467455668392421"
+ "298604104431988622194699721632249712583483143417550152131186"
+ "288827131347662976240916448058011869761525369135147129192405"
+ "037216807405860168320999468074663117771890506566769628495813"
+ "837909047220874786467663205170561835819702362482274133227483"
+ "041342457179876653773960112367066273208176545656826800069574"
+ "547599816180234764485446735080683694920665668954370505715843"
+ "455110709594838989387382250502925336743830916124954071268053"
+ "817964873658921319164268375226716232666274830656557657055342"
+ "393552148933959057023293404027940528842591460490646295820755"
+ "765633076707491896621769767253619370462005760078938144396953"
+ "018925287611875441613896820035092167912718365454954166761481"
+ "511451950826683236776211829914518353242818636196417736206010"
+ "145109509967467266157037719712666871515644277723594273405669"
+ "093518586548079997818085130346801040781966074621669280188633"
+ "856299289656492439545033914935979634179552686396067914528336"
+ "924678729357419403624798426886422277256625046946795576781709"
+ "298737741510378578072199383561520569978396254537274419476511"
+ "983161908266152660163477408756159700314280122283281906103567"
+ "067156627222418787671312246698375736071215395722993294041012"
+ "744631560602983489316782773611740570974847045870362276861106"
+ "774130949410119612624380274679529647271294627526939490197641"
+ "645383447755544661714281218489998189691140343327976729279891"
+ "077101372792811842951182338559423852563331641533781432796742"
+ "873181364582071661749961126386895359760476172215209100274274"
+ "851619657020388051618654944574445941780637669570374280535432"
+ "399157923698778110534174856844986671232161320063786308144771"
+ "068130888985636449091787794632959555876880672773686838364706"
+ "122084832995722603440165161942472322987408003421165899848443"
+ "566885769845535074102932500939450142098799833145629484519298"
+ "622410092757836842296697186410137365818568152771850732591405"
+ "340248509247875448717161746544246407280913725135059228268131"
+ "453903691495906528862410006254958805237716723952273129715780"
+ "425223305517882562616830806755498203755676925741529569939445"
+ "043490046171854709456730491532189688306135861932534903184518"
+ "717706426178028900836080044604143054210332610482947502104703"
+ "032028463320549525316174330585387581543470878545616097381416"
+ "151451037487775797335749896735101048367502483255117772375025"
+ "269956476872153642623856062175536913321594213515989059505375"
+ "135183515207096576145781316398544325320022366962008554087665"
+ "201050763789833457082359181807492731245904330245198691471329"
+ "319324627030678762142685799400660305214140453863665517807185"
+ "105354694177602424937823924511789133225030926924236498557565"
+ "212794565582753399214908928688568628950225640472058381324292"
+ "866007645368390366981937596341868992912741319342960598330486"
+ "905946276235953206760977215407164729909506118583728562718724"
+ "235732515062300426080741679038098122641980345051854359908213"
+ "563779664847422505775922437272989231878912994048540484468227"
+ "199282393172540734295329890896755037903724644870572648941076"
+ "132423009124870700536763793881894969000042397318202298868940"
+ "530196108237639578098191879486398269734335286831689173606327"
+ "500405178476864790935386838169242131756729797688220656276969"
+ "434749140204830563840068728357383111109865861495106613619153"
+ "421725274090787422508800568671498311491210197298472420373359"
+ "044400631309819996507004167876832936101195902219429743174557"
+ "163362274547892397934880322990633165889175059124060202200452"
+ "648684577182821651588921716304707095995039972827781680978274"
+ "973838841958209215836456212939412000456040621743349981715350"
+ "305133662772937143899882197561295808685181679238411733642697"
+ "748892466944352640514849114619882270112386610376024527101889"
+ "119004382703622803911212700216792471528793241950356942780714"
+ "774957204475130171711488773121937363663487116301055073658645"
+ "980695862570269762957141239436916216723776945522480189876803"
+ "386123827956059851911061129713987960026363403936931196519733"
+ "447116468545744829997003979525368783485129837821983305137448"
+ "031689360764270759437872004895754351479890333865299565515706"
+ "690471030702230767978923298480584997256328135245813726407464"
+ "159230169328539541524724878662873185450510653764301207480799"
+ "488602832618557388369552461881286225098286358672257087829660"
+ "174231705350465091313887538950130611513878400895128618426154"
+ "417299623157313010877679890009181366178705821415173309356192"
+ "686429159835537275875876767919535369607142366878476025895389"
+ "279625854409611312402187942369446302119309705461187450803468"
+ "606366203101933821675974655441744883993796837164178911391575"
+ "751463591650231265941242686108002052587760190005508737394014"
+ "453031299745602214380618917954427803281262300931789525045703"
+ "809571995929933387196864877982754748535701000330924817431298"
+ "365273697561943437891318220691072831562717726798635382168915"
+ "187137325209768346284183473712613689334546294053718697897526"
+ "843398053681374508250012035211936425982389543291022583173280"
+ "985811169783438836113209408147936547458073361625570571955232"
+ "746103236016857123149307991441916732438322836596693687161268"
+ "151183603534413030099360835441935243365729307681545065674775"
+ "655582111435085683962037818795920337874290127531069511296530"
+ "746308404963763022896682861683252995925040540038039172626001"
+ "958340013361801588367655990575379797454237110701588716509764"
+ "759243657077584013289594787913434812509790293636440469725564"
+ "222946985585616708175959944099853232059130350099233608207347"
+ "955460820122006976717445739825352919058005528371183277021250"
+ "186916447745609162301667393077050176560656798672598371789181"
+ "232542195795945358691713761483976100058707499929103557275695"
+ "937295677892604799308353051124627278706035295473126217205599"
+ "530746756205492173148619619059839609108464715691924592576481"
+ "382126740168148453274964955074129767533813576349605298268179"
+ "068244338581354855186516322703199278802275718580352103754433"
+ "240982354636196477238624205575823556321375833700666021556412"
+ "182358152808745703724362178773168996492870519432472065091133"
+ "11767578125e-4966",
+ false,
+ 0x0p+0f,
+ 0x0p+0f,
+ 0x0p+0f,
+ 0x8p-152f,
+ false,
+ 0x0p+0,
+ 0x0p+0,
+ 0x0p+0,
+ 0x4p-1076,
+ false,
+ 0x0p+0L,
+ 0x0p+0L,
+ 0x0p+0L,
+ 0x4p-1076L,
+ false,
+ 0x0p+0L,
+ 0x0p+0L,
+ 0x0p+0L,
+ 0x8p-16448L,
+ false,
+ 0x0p+0L,
+ 0x0p+0L,
+ 0x0p+0L,
+ 0x4p-16448L,
+ false,
+ 0x0p+0L,
+ 0x0p+0L,
+ 0x0p+0L,
+ 0x4p-1076L,
+ false,
+ 0x0p+0L,
+ 0x0p+0L,
+ 0x0p+0L,
+ 0x4p-16496L),
+ TEST ("3.2375875597190125554622194791138232762497846690173405048449"
+ "421945985197700620596855088357456383249701279390707384240598"
+ "382936099431912710233425550359863089915213963553756674672083"
+ "673128192358701197242632527769951957277781260855740340354110"
+ "173441284912381364143945515141786687806740155311932822963199"
+ "131134959539539338316310328556057915323285980341541664226172"
+ "265348802632447238304822896568757017013159021750199744350376"
+ "278243566840330589397015778833566517337174685312047058426075"
+ "688036665697114219175258344917835835984013214761767520398571"
+ "735519302688914468501077605843338555214753050109407568139932"
+ "147308502166696009676987494125921676927574464221699654264839"
+ "192243410627511520570610765229732327315423820550872393685221"
+ "676561948307418196052769717057382723931306989375320957256133"
+ "838073129463951849807075348034900035402513943244599879584009"
+ "391110011261908615236154859382854977144106096407982738165117"
+ "693915685918231984764157652755343417097983676870433731452629"
+ "339981084526616826599425863049784138127555181662391766144738"
+ "159400253422795753041594932607700680306368857466952063923782"
+ "760519487592638820793893796669403574411398166619131986561877"
+ "034635197232626532239192571857518274939275861531537920777299"
+ "133535479548088762634002006634954143608168633852204577195463"
+ "389533233992867620995583241321034602255800668175356808869060"
+ "608582640890741203603916133682748118680676374951545690715916"
+ "241859799379894025137504643469040366684778763795442214328000"
+ "375999444991619403217748350277527106812175542863660436614910"
+ "135938862296156144947361864759321605496309393905421651264941"
+ "669606814994816518612155298709843817262034769175075602668866"
+ "926449523554218142013501373514352370369126244144449924971423"
+ "038024236058971106053649565799145071085840022305247663313482"
+ "714565918140785997808209749619683146844964283106915422726638"
+ "184861327711776708749278315100024436584176080783836115268999"
+ "055336294569042349971163039294272620322160728879610722678506"
+ "182344928526064885227397447578450046944618127903428943538029"
+ "386719288345854473283987116842451647036255801966780244103035"
+ "425445345127067921349083698736056197567752071915587544133815"
+ "717564310032485290205726480489464589999677885266171263493459"
+ "668963623768410922688414177814149693150024191921819721215688"
+ "114324591287371281400636455584825253000890602388603923710921"
+ "026880979879158388608823700222683123228822356907857261909150"
+ "626993825760416437415551396973489279578569909699853422995997"
+ "974315036153120383930698087773157253674975950409660938084071"
+ "173163693891122166282318691732176374528554627905530306369204"
+ "877964658806333996327938827344733821685425961846791581492287"
+ "250044047142934607523718654369478552373072400018635730811749"
+ "291666457582760812726851561001954207941547404866373158231367"
+ "986951247388733285659455982411993350593989550494594498447410"
+ "984783303191128659803467713819821511544998464785455306500918"
+ "241648925913966507036336000231915215026183799886938007038845"
+ "551916478649593272604688927931953165785101738164060543643192"
+ "949066412847647883846835866623820426428526541564774787007791"
+ "235843699657232847114093617412355486871810526396392792853731"
+ "390841657984518997639795008374280777823099107035223998600103"
+ "103211166230289241182380237703814248941627178152962100972452"
+ "217697144954497443279450919433943252592977710901289696002698"
+ "225209041938801190947812141758873162203113090284565687499100"
+ "109623665868340184032428667217835198069330185880779776269137"
+ "742366802202585247113480377505916462865316253065105837519292"
+ "805411191872195967066157363040364443666632564266439033866945"
+ "366496486863801221986778957510023272290593640187551645170603"
+ "215150911733580059874983597994671388176488814794186236946834"
+ "548816837468411497151813344980969677026131105901402313456769"
+ "561412278508799050185582199844418197980544632067644131002512"
+ "557755358307705356209461595354064971347590431926479961905129"
+ "785864961996560707071051177738535042777950247546470241655891"
+ "294428226271478689174637951663865529219133988782700199051475"
+ "108495188941141025360733690471601309904116260484264378352956"
+ "830972782977747351810451586166745640802378131466232692150196"
+ "132319386267589275314909450293562079332893638471814389025392"
+ "970579695249613486078445695214422379148991006996109216699215"
+ "721671648754881325271879493185438097033881789311707997697928"
+ "860866812849648616086569281093053695399558469641977866770538"
+ "476039621947215238679930485285585513808236992918733520331110"
+ "962448142457896209307561142289713638388281085340301520317159"
+ "297224995464365477734040179470355969363384621039467975256670"
+ "339354334892926205316491997244008324897517881293654265688813"
+ "283579663372924392043825371743576754041055802440187836850412"
+ "247984570221893156921757872572872036331343007592090605703195"
+ "088864753777199111760713027328198781654685927174063882187275"
+ "850263521274368447629947228263907797373221137688424821608129"
+ "731003236738630502344377228987961455961818623205503012858619"
+ "800521948637807438081069469400793496307826769301971342062597"
+ "391253779410607511754278887744936774785938056823221738917303"
+ "119592848951788560393540150358649310736020595310015728915288"
+ "289821678102453433273888879288862086153270028346900686360943"
+ "250522514297816412678213672667152836436597491522644579383191"
+ "851483036048273636234050603745735057899230038434384361744893"
+ "838050985090837220507663282503497932038372021626246900935334"
+ "781144388106031405650705176699646299475436084049881780196520"
+ "881623075256119318210664937469946410480660118598143375898298"
+ "965497205621170906772915413181530577151676241283182977713765"
+ "317889730886996471681592298058774155948285325398399674640645"
+ "566475947058303746531133735308766583802401453804232106737787"
+ "768035926272312574958173945816077962772826443125107145322971"
+ "087220172175473177449006473180221085709470643042801004189714"
+ "505520073568915195232936144169440163547568663500508335014169"
+ "425050712038101167190534305435310279534374364467455668392421"
+ "298604104431988622194699721632249712583483143417550152131186"
+ "288827131347662976240916448058011869761525369135147129192405"
+ "037216807405860168320999468074663117771890506566769628495813"
+ "837909047220874786467663205170561835819702362482274133227483"
+ "041342457179876653773960112367066273208176545656826800069574"
+ "547599816180234764485446735080683694920665668954370505715843"
+ "455110709594838989387382250502925336743830916124954071268053"
+ "817964873658921319164268375226716232666274830656557657055342"
+ "393552148933959057023293404027940528842591460490646295820755"
+ "765633076707491896621769767253619370462005760078938144396953"
+ "018925287611875441613896820035092167912718365454954166761481"
+ "511451950826683236776211829914518353242818636196417736206010"
+ "145109509967467266157037719712666871515644277723594273405669"
+ "093518586548079997818085130346801040781966074621669280188633"
+ "856299289656492439545033914935979634179552686396067914528336"
+ "924678729357419403624798426886422277256625046946795576781709"
+ "298737741510378578072199383561520569978396254537274419476511"
+ "983161908266152660163477408756159700314280122283281906103567"
+ "067156627222418787671312246698375736071215395722993294041012"
+ "744631560602983489316782773611740570974847045870362276861106"
+ "774130949410119612624380274679529647271294627526939490197641"
+ "645383447755544661714281218489998189691140343327976729279891"
+ "077101372792811842951182338559423852563331641533781432796742"
+ "873181364582071661749961126386895359760476172215209100274274"
+ "851619657020388051618654944574445941780637669570374280535432"
+ "399157923698778110534174856844986671232161320063786308144771"
+ "068130888985636449091787794632959555876880672773686838364706"
+ "122084832995722603440165161942472322987408003421165899848443"
+ "566885769845535074102932500939450142098799833145629484519298"
+ "622410092757836842296697186410137365818568152771850732591405"
+ "340248509247875448717161746544246407280913725135059228268131"
+ "453903691495906528862410006254958805237716723952273129715780"
+ "425223305517882562616830806755498203755676925741529569939445"
+ "043490046171854709456730491532189688306135861932534903184518"
+ "717706426178028900836080044604143054210332610482947502104703"
+ "032028463320549525316174330585387581543470878545616097381416"
+ "151451037487775797335749896735101048367502483255117772375025"
+ "269956476872153642623856062175536913321594213515989059505375"
+ "135183515207096576145781316398544325320022366962008554087665"
+ "201050763789833457082359181807492731245904330245198691471329"
+ "319324627030678762142685799400660305214140453863665517807185"
+ "105354694177602424937823924511789133225030926924236498557565"
+ "212794565582753399214908928688568628950225640472058381324292"
+ "866007645368390366981937596341868992912741319342960598330486"
+ "905946276235953206760977215407164729909506118583728562718724"
+ "235732515062300426080741679038098122641980345051854359908213"
+ "563779664847422505775922437272989231878912994048540484468227"
+ "199282393172540734295329890896755037903724644870572648941076"
+ "132423009124870700536763793881894969000042397318202298868940"
+ "530196108237639578098191879486398269734335286831689173606327"
+ "500405178476864790935386838169242131756729797688220656276969"
+ "434749140204830563840068728357383111109865861495106613619153"
+ "421725274090787422508800568671498311491210197298472420373359"
+ "044400631309819996507004167876832936101195902219429743174557"
+ "163362274547892397934880322990633165889175059124060202200452"
+ "648684577182821651588921716304707095995039972827781680978274"
+ "973838841958209215836456212939412000456040621743349981715350"
+ "305133662772937143899882197561295808685181679238411733642697"
+ "748892466944352640514849114619882270112386610376024527101889"
+ "119004382703622803911212700216792471528793241950356942780714"
+ "774957204475130171711488773121937363663487116301055073658645"
+ "980695862570269762957141239436916216723776945522480189876803"
+ "386123827956059851911061129713987960026363403936931196519733"
+ "447116468545744829997003979525368783485129837821983305137448"
+ "031689360764270759437872004895754351479890333865299565515706"
+ "690471030702230767978923298480584997256328135245813726407464"
+ "159230169328539541524724878662873185450510653764301207480799"
+ "488602832618557388369552461881286225098286358672257087829660"
+ "174231705350465091313887538950130611513878400895128618426154"
+ "417299623157313010877679890009181366178705821415173309356192"
+ "686429159835537275875876767919535369607142366878476025895389"
+ "279625854409611312402187942369446302119309705461187450803468"
+ "606366203101933821675974655441744883993796837164178911391575"
+ "751463591650231265941242686108002052587760190005508737394014"
+ "453031299745602214380618917954427803281262300931789525045703"
+ "809571995929933387196864877982754748535701000330924817431298"
+ "365273697561943437891318220691072831562717726798635382168915"
+ "187137325209768346284183473712613689334546294053718697897526"
+ "843398053681374508250012035211936425982389543291022583173280"
+ "985811169783438836113209408147936547458073361625570571955232"
+ "746103236016857123149307991441916732438322836596693687161268"
+ "151183603534413030099360835441935243365729307681545065674775"
+ "655582111435085683962037818795920337874290127531069511296530"
+ "746308404963763022896682861683252995925040540038039172626001"
+ "958340013361801588367655990575379797454237110701588716509764"
+ "759243657077584013289594787913434812509790293636440469725564"
+ "222946985585616708175959944099853232059130350099233608207347"
+ "955460820122006976717445739825352919058005528371183277021250"
+ "186916447745609162301667393077050176560656798672598371789181"
+ "232542195795945358691713761483976100058707499929103557275695"
+ "937295677892604799308353051124627278706035295473126217205599"
+ "530746756205492173148619619059839609108464715691924592576481"
+ "382126740168148453274964955074129767533813576349605298268179"
+ "068244338581354855186516322703199278802275718580352103754433"
+ "240982354636196477238624205575823556321375833700666021556412"
+ "182358152808745703724362178773168996492870519432472065091133"
+ "11767578126e-4966",
+ false,
+ 0x0p+0f,
+ 0x0p+0f,
+ 0x0p+0f,
+ 0x8p-152f,
+ false,
+ 0x0p+0,
+ 0x0p+0,
+ 0x0p+0,
+ 0x4p-1076,
+ false,
+ 0x0p+0L,
+ 0x0p+0L,
+ 0x0p+0L,
+ 0x4p-1076L,
+ false,
+ 0x0p+0L,
+ 0x0p+0L,
+ 0x0p+0L,
+ 0x8p-16448L,
+ false,
+ 0x0p+0L,
+ 0x0p+0L,
+ 0x0p+0L,
+ 0x4p-16448L,
+ false,
+ 0x0p+0L,
+ 0x0p+0L,
+ 0x0p+0L,
+ 0x4p-1076L,
+ false,
+ 0x0p+0L,
+ 0x4p-16496L,
+ 0x0p+0L,
+ 0x4p-16496L),
+ TEST ("-3.237587559719012555462219479113823276249784669017340504844"
+ "942194598519770062059685508835745638324970127939070738424059"
+ "838293609943191271023342555035986308991521396355375667467208"
+ "367312819235870119724263252776995195727778126085574034035411"
+ "017344128491238136414394551514178668780674015531193282296319"
+ "913113495953953933831631032855605791532328598034154166422617"
+ "226534880263244723830482289656875701701315902175019974435037"
+ "627824356684033058939701577883356651733717468531204705842607"
+ "568803666569711421917525834491783583598401321476176752039857"
+ "173551930268891446850107760584333855521475305010940756813993"
+ "214730850216669600967698749412592167692757446422169965426483"
+ "919224341062751152057061076522973232731542382055087239368522"
+ "167656194830741819605276971705738272393130698937532095725613"
+ "383807312946395184980707534803490003540251394324459987958400"
+ "939111001126190861523615485938285497714410609640798273816511"
+ "769391568591823198476415765275534341709798367687043373145262"
+ "933998108452661682659942586304978413812755518166239176614473"
+ "815940025342279575304159493260770068030636885746695206392378"
+ "276051948759263882079389379666940357441139816661913198656187"
+ "703463519723262653223919257185751827493927586153153792077729"
+ "913353547954808876263400200663495414360816863385220457719546"
+ "338953323399286762099558324132103460225580066817535680886906"
+ "060858264089074120360391613368274811868067637495154569071591"
+ "624185979937989402513750464346904036668477876379544221432800"
+ "037599944499161940321774835027752710681217554286366043661491"
+ "013593886229615614494736186475932160549630939390542165126494"
+ "166960681499481651861215529870984381726203476917507560266886"
+ "692644952355421814201350137351435237036912624414444992497142"
+ "303802423605897110605364956579914507108584002230524766331348"
+ "271456591814078599780820974961968314684496428310691542272663"
+ "818486132771177670874927831510002443658417608078383611526899"
+ "905533629456904234997116303929427262032216072887961072267850"
+ "618234492852606488522739744757845004694461812790342894353802"
+ "938671928834585447328398711684245164703625580196678024410303"
+ "542544534512706792134908369873605619756775207191558754413381"
+ "571756431003248529020572648048946458999967788526617126349345"
+ "966896362376841092268841417781414969315002419192181972121568"
+ "811432459128737128140063645558482525300089060238860392371092"
+ "102688097987915838860882370022268312322882235690785726190915"
+ "062699382576041643741555139697348927957856990969985342299599"
+ "797431503615312038393069808777315725367497595040966093808407"
+ "117316369389112216628231869173217637452855462790553030636920"
+ "487796465880633399632793882734473382168542596184679158149228"
+ "725004404714293460752371865436947855237307240001863573081174"
+ "929166645758276081272685156100195420794154740486637315823136"
+ "798695124738873328565945598241199335059398955049459449844741"
+ "098478330319112865980346771381982151154499846478545530650091"
+ "824164892591396650703633600023191521502618379988693800703884"
+ "555191647864959327260468892793195316578510173816406054364319"
+ "294906641284764788384683586662382042642852654156477478700779"
+ "123584369965723284711409361741235548687181052639639279285373"
+ "139084165798451899763979500837428077782309910703522399860010"
+ "310321116623028924118238023770381424894162717815296210097245"
+ "221769714495449744327945091943394325259297771090128969600269"
+ "822520904193880119094781214175887316220311309028456568749910"
+ "010962366586834018403242866721783519806933018588077977626913"
+ "774236680220258524711348037750591646286531625306510583751929"
+ "280541119187219596706615736304036444366663256426643903386694"
+ "536649648686380122198677895751002327229059364018755164517060"
+ "321515091173358005987498359799467138817648881479418623694683"
+ "454881683746841149715181334498096967702613110590140231345676"
+ "956141227850879905018558219984441819798054463206764413100251"
+ "255775535830770535620946159535406497134759043192647996190512"
+ "978586496199656070707105117773853504277795024754647024165589"
+ "129442822627147868917463795166386552921913398878270019905147"
+ "510849518894114102536073369047160130990411626048426437835295"
+ "683097278297774735181045158616674564080237813146623269215019"
+ "613231938626758927531490945029356207933289363847181438902539"
+ "297057969524961348607844569521442237914899100699610921669921"
+ "572167164875488132527187949318543809703388178931170799769792"
+ "886086681284964861608656928109305369539955846964197786677053"
+ "847603962194721523867993048528558551380823699291873352033111"
+ "096244814245789620930756114228971363838828108534030152031715"
+ "929722499546436547773404017947035596936338462103946797525667"
+ "033935433489292620531649199724400832489751788129365426568881"
+ "328357966337292439204382537174357675404105580244018783685041"
+ "224798457022189315692175787257287203633134300759209060570319"
+ "508886475377719911176071302732819878165468592717406388218727"
+ "585026352127436844762994722826390779737322113768842482160812"
+ "973100323673863050234437722898796145596181862320550301285861"
+ "980052194863780743808106946940079349630782676930197134206259"
+ "739125377941060751175427888774493677478593805682322173891730"
+ "311959284895178856039354015035864931073602059531001572891528"
+ "828982167810245343327388887928886208615327002834690068636094"
+ "325052251429781641267821367266715283643659749152264457938319"
+ "185148303604827363623405060374573505789923003843438436174489"
+ "383805098509083722050766328250349793203837202162624690093533"
+ "478114438810603140565070517669964629947543608404988178019652"
+ "088162307525611931821066493746994641048066011859814337589829"
+ "896549720562117090677291541318153057715167624128318297771376"
+ "531788973088699647168159229805877415594828532539839967464064"
+ "556647594705830374653113373530876658380240145380423210673778"
+ "776803592627231257495817394581607796277282644312510714532297"
+ "108722017217547317744900647318022108570947064304280100418971"
+ "450552007356891519523293614416944016354756866350050833501416"
+ "942505071203810116719053430543531027953437436446745566839242"
+ "129860410443198862219469972163224971258348314341755015213118"
+ "628882713134766297624091644805801186976152536913514712919240"
+ "503721680740586016832099946807466311777189050656676962849581"
+ "383790904722087478646766320517056183581970236248227413322748"
+ "304134245717987665377396011236706627320817654565682680006957"
+ "454759981618023476448544673508068369492066566895437050571584"
+ "345511070959483898938738225050292533674383091612495407126805"
+ "381796487365892131916426837522671623266627483065655765705534"
+ "239355214893395905702329340402794052884259146049064629582075"
+ "576563307670749189662176976725361937046200576007893814439695"
+ "301892528761187544161389682003509216791271836545495416676148"
+ "151145195082668323677621182991451835324281863619641773620601"
+ "014510950996746726615703771971266687151564427772359427340566"
+ "909351858654807999781808513034680104078196607462166928018863"
+ "385629928965649243954503391493597963417955268639606791452833"
+ "692467872935741940362479842688642227725662504694679557678170"
+ "929873774151037857807219938356152056997839625453727441947651"
+ "198316190826615266016347740875615970031428012228328190610356"
+ "706715662722241878767131224669837573607121539572299329404101"
+ "274463156060298348931678277361174057097484704587036227686110"
+ "677413094941011961262438027467952964727129462752693949019764"
+ "164538344775554466171428121848999818969114034332797672927989"
+ "107710137279281184295118233855942385256333164153378143279674"
+ "287318136458207166174996112638689535976047617221520910027427"
+ "485161965702038805161865494457444594178063766957037428053543"
+ "239915792369877811053417485684498667123216132006378630814477"
+ "106813088898563644909178779463295955587688067277368683836470"
+ "612208483299572260344016516194247232298740800342116589984844"
+ "356688576984553507410293250093945014209879983314562948451929"
+ "862241009275783684229669718641013736581856815277185073259140"
+ "534024850924787544871716174654424640728091372513505922826813"
+ "145390369149590652886241000625495880523771672395227312971578"
+ "042522330551788256261683080675549820375567692574152956993944"
+ "504349004617185470945673049153218968830613586193253490318451"
+ "871770642617802890083608004460414305421033261048294750210470"
+ "303202846332054952531617433058538758154347087854561609738141"
+ "615145103748777579733574989673510104836750248325511777237502"
+ "526995647687215364262385606217553691332159421351598905950537"
+ "513518351520709657614578131639854432532002236696200855408766"
+ "520105076378983345708235918180749273124590433024519869147132"
+ "931932462703067876214268579940066030521414045386366551780718"
+ "510535469417760242493782392451178913322503092692423649855756"
+ "521279456558275339921490892868856862895022564047205838132429"
+ "286600764536839036698193759634186899291274131934296059833048"
+ "690594627623595320676097721540716472990950611858372856271872"
+ "423573251506230042608074167903809812264198034505185435990821"
+ "356377966484742250577592243727298923187891299404854048446822"
+ "719928239317254073429532989089675503790372464487057264894107"
+ "613242300912487070053676379388189496900004239731820229886894"
+ "053019610823763957809819187948639826973433528683168917360632"
+ "750040517847686479093538683816924213175672979768822065627696"
+ "943474914020483056384006872835738311110986586149510661361915"
+ "342172527409078742250880056867149831149121019729847242037335"
+ "904440063130981999650700416787683293610119590221942974317455"
+ "716336227454789239793488032299063316588917505912406020220045"
+ "264868457718282165158892171630470709599503997282778168097827"
+ "497383884195820921583645621293941200045604062174334998171535"
+ "030513366277293714389988219756129580868518167923841173364269"
+ "774889246694435264051484911461988227011238661037602452710188"
+ "911900438270362280391121270021679247152879324195035694278071"
+ "477495720447513017171148877312193736366348711630105507365864"
+ "598069586257026976295714123943691621672377694552248018987680"
+ "338612382795605985191106112971398796002636340393693119651973"
+ "344711646854574482999700397952536878348512983782198330513744"
+ "803168936076427075943787200489575435147989033386529956551570"
+ "669047103070223076797892329848058499725632813524581372640746"
+ "415923016932853954152472487866287318545051065376430120748079"
+ "948860283261855738836955246188128622509828635867225708782966"
+ "017423170535046509131388753895013061151387840089512861842615"
+ "441729962315731301087767989000918136617870582141517330935619"
+ "268642915983553727587587676791953536960714236687847602589538"
+ "927962585440961131240218794236944630211930970546118745080346"
+ "860636620310193382167597465544174488399379683716417891139157"
+ "575146359165023126594124268610800205258776019000550873739401"
+ "445303129974560221438061891795442780328126230093178952504570"
+ "380957199592993338719686487798275474853570100033092481743129"
+ "836527369756194343789131822069107283156271772679863538216891"
+ "518713732520976834628418347371261368933454629405371869789752"
+ "684339805368137450825001203521193642598238954329102258317328"
+ "098581116978343883611320940814793654745807336162557057195523"
+ "274610323601685712314930799144191673243832283659669368716126"
+ "815118360353441303009936083544193524336572930768154506567477"
+ "565558211143508568396203781879592033787429012753106951129653"
+ "074630840496376302289668286168325299592504054003803917262600"
+ "195834001336180158836765599057537979745423711070158871650976"
+ "475924365707758401328959478791343481250979029363644046972556"
+ "422294698558561670817595994409985323205913035009923360820734"
+ "795546082012200697671744573982535291905800552837118327702125"
+ "018691644774560916230166739307705017656065679867259837178918"
+ "123254219579594535869171376148397610005870749992910355727569"
+ "593729567789260479930835305112462727870603529547312621720559"
+ "953074675620549217314861961905983960910846471569192459257648"
+ "138212674016814845327496495507412976753381357634960529826817"
+ "906824433858135485518651632270319927880227571858035210375443"
+ "324098235463619647723862420557582355632137583370066602155641"
+ "218235815280874570372436217877316899649287051943247206509113"
+ "311767578124e-4966",
+ false,
+ -0x8p-152f,
+ -0x0p+0f,
+ -0x0p+0f,
+ -0x0p+0f,
+ false,
+ -0x4p-1076,
+ -0x0p+0,
+ -0x0p+0,
+ -0x0p+0,
+ false,
+ -0x4p-1076L,
+ -0x0p+0L,
+ -0x0p+0L,
+ -0x0p+0L,
+ false,
+ -0x8p-16448L,
+ -0x0p+0L,
+ -0x0p+0L,
+ -0x0p+0L,
+ false,
+ -0x4p-16448L,
+ -0x0p+0L,
+ -0x0p+0L,
+ -0x0p+0L,
+ false,
+ -0x4p-1076L,
+ -0x0p+0L,
+ -0x0p+0L,
+ -0x0p+0L,
+ false,
+ -0x4p-16496L,
+ -0x0p+0L,
+ -0x0p+0L,
+ -0x0p+0L),
+ TEST ("-3.237587559719012555462219479113823276249784669017340504844"
+ "942194598519770062059685508835745638324970127939070738424059"
+ "838293609943191271023342555035986308991521396355375667467208"
+ "367312819235870119724263252776995195727778126085574034035411"
+ "017344128491238136414394551514178668780674015531193282296319"
+ "913113495953953933831631032855605791532328598034154166422617"
+ "226534880263244723830482289656875701701315902175019974435037"
+ "627824356684033058939701577883356651733717468531204705842607"
+ "568803666569711421917525834491783583598401321476176752039857"
+ "173551930268891446850107760584333855521475305010940756813993"
+ "214730850216669600967698749412592167692757446422169965426483"
+ "919224341062751152057061076522973232731542382055087239368522"
+ "167656194830741819605276971705738272393130698937532095725613"
+ "383807312946395184980707534803490003540251394324459987958400"
+ "939111001126190861523615485938285497714410609640798273816511"
+ "769391568591823198476415765275534341709798367687043373145262"
+ "933998108452661682659942586304978413812755518166239176614473"
+ "815940025342279575304159493260770068030636885746695206392378"
+ "276051948759263882079389379666940357441139816661913198656187"
+ "703463519723262653223919257185751827493927586153153792077729"
+ "913353547954808876263400200663495414360816863385220457719546"
+ "338953323399286762099558324132103460225580066817535680886906"
+ "060858264089074120360391613368274811868067637495154569071591"
+ "624185979937989402513750464346904036668477876379544221432800"
+ "037599944499161940321774835027752710681217554286366043661491"
+ "013593886229615614494736186475932160549630939390542165126494"
+ "166960681499481651861215529870984381726203476917507560266886"
+ "692644952355421814201350137351435237036912624414444992497142"
+ "303802423605897110605364956579914507108584002230524766331348"
+ "271456591814078599780820974961968314684496428310691542272663"
+ "818486132771177670874927831510002443658417608078383611526899"
+ "905533629456904234997116303929427262032216072887961072267850"
+ "618234492852606488522739744757845004694461812790342894353802"
+ "938671928834585447328398711684245164703625580196678024410303"
+ "542544534512706792134908369873605619756775207191558754413381"
+ "571756431003248529020572648048946458999967788526617126349345"
+ "966896362376841092268841417781414969315002419192181972121568"
+ "811432459128737128140063645558482525300089060238860392371092"
+ "102688097987915838860882370022268312322882235690785726190915"
+ "062699382576041643741555139697348927957856990969985342299599"
+ "797431503615312038393069808777315725367497595040966093808407"
+ "117316369389112216628231869173217637452855462790553030636920"
+ "487796465880633399632793882734473382168542596184679158149228"
+ "725004404714293460752371865436947855237307240001863573081174"
+ "929166645758276081272685156100195420794154740486637315823136"
+ "798695124738873328565945598241199335059398955049459449844741"
+ "098478330319112865980346771381982151154499846478545530650091"
+ "824164892591396650703633600023191521502618379988693800703884"
+ "555191647864959327260468892793195316578510173816406054364319"
+ "294906641284764788384683586662382042642852654156477478700779"
+ "123584369965723284711409361741235548687181052639639279285373"
+ "139084165798451899763979500837428077782309910703522399860010"
+ "310321116623028924118238023770381424894162717815296210097245"
+ "221769714495449744327945091943394325259297771090128969600269"
+ "822520904193880119094781214175887316220311309028456568749910"
+ "010962366586834018403242866721783519806933018588077977626913"
+ "774236680220258524711348037750591646286531625306510583751929"
+ "280541119187219596706615736304036444366663256426643903386694"
+ "536649648686380122198677895751002327229059364018755164517060"
+ "321515091173358005987498359799467138817648881479418623694683"
+ "454881683746841149715181334498096967702613110590140231345676"
+ "956141227850879905018558219984441819798054463206764413100251"
+ "255775535830770535620946159535406497134759043192647996190512"
+ "978586496199656070707105117773853504277795024754647024165589"
+ "129442822627147868917463795166386552921913398878270019905147"
+ "510849518894114102536073369047160130990411626048426437835295"
+ "683097278297774735181045158616674564080237813146623269215019"
+ "613231938626758927531490945029356207933289363847181438902539"
+ "297057969524961348607844569521442237914899100699610921669921"
+ "572167164875488132527187949318543809703388178931170799769792"
+ "886086681284964861608656928109305369539955846964197786677053"
+ "847603962194721523867993048528558551380823699291873352033111"
+ "096244814245789620930756114228971363838828108534030152031715"
+ "929722499546436547773404017947035596936338462103946797525667"
+ "033935433489292620531649199724400832489751788129365426568881"
+ "328357966337292439204382537174357675404105580244018783685041"
+ "224798457022189315692175787257287203633134300759209060570319"
+ "508886475377719911176071302732819878165468592717406388218727"
+ "585026352127436844762994722826390779737322113768842482160812"
+ "973100323673863050234437722898796145596181862320550301285861"
+ "980052194863780743808106946940079349630782676930197134206259"
+ "739125377941060751175427888774493677478593805682322173891730"
+ "311959284895178856039354015035864931073602059531001572891528"
+ "828982167810245343327388887928886208615327002834690068636094"
+ "325052251429781641267821367266715283643659749152264457938319"
+ "185148303604827363623405060374573505789923003843438436174489"
+ "383805098509083722050766328250349793203837202162624690093533"
+ "478114438810603140565070517669964629947543608404988178019652"
+ "088162307525611931821066493746994641048066011859814337589829"
+ "896549720562117090677291541318153057715167624128318297771376"
+ "531788973088699647168159229805877415594828532539839967464064"
+ "556647594705830374653113373530876658380240145380423210673778"
+ "776803592627231257495817394581607796277282644312510714532297"
+ "108722017217547317744900647318022108570947064304280100418971"
+ "450552007356891519523293614416944016354756866350050833501416"
+ "942505071203810116719053430543531027953437436446745566839242"
+ "129860410443198862219469972163224971258348314341755015213118"
+ "628882713134766297624091644805801186976152536913514712919240"
+ "503721680740586016832099946807466311777189050656676962849581"
+ "383790904722087478646766320517056183581970236248227413322748"
+ "304134245717987665377396011236706627320817654565682680006957"
+ "454759981618023476448544673508068369492066566895437050571584"
+ "345511070959483898938738225050292533674383091612495407126805"
+ "381796487365892131916426837522671623266627483065655765705534"
+ "239355214893395905702329340402794052884259146049064629582075"
+ "576563307670749189662176976725361937046200576007893814439695"
+ "301892528761187544161389682003509216791271836545495416676148"
+ "151145195082668323677621182991451835324281863619641773620601"
+ "014510950996746726615703771971266687151564427772359427340566"
+ "909351858654807999781808513034680104078196607462166928018863"
+ "385629928965649243954503391493597963417955268639606791452833"
+ "692467872935741940362479842688642227725662504694679557678170"
+ "929873774151037857807219938356152056997839625453727441947651"
+ "198316190826615266016347740875615970031428012228328190610356"
+ "706715662722241878767131224669837573607121539572299329404101"
+ "274463156060298348931678277361174057097484704587036227686110"
+ "677413094941011961262438027467952964727129462752693949019764"
+ "164538344775554466171428121848999818969114034332797672927989"
+ "107710137279281184295118233855942385256333164153378143279674"
+ "287318136458207166174996112638689535976047617221520910027427"
+ "485161965702038805161865494457444594178063766957037428053543"
+ "239915792369877811053417485684498667123216132006378630814477"
+ "106813088898563644909178779463295955587688067277368683836470"
+ "612208483299572260344016516194247232298740800342116589984844"
+ "356688576984553507410293250093945014209879983314562948451929"
+ "862241009275783684229669718641013736581856815277185073259140"
+ "534024850924787544871716174654424640728091372513505922826813"
+ "145390369149590652886241000625495880523771672395227312971578"
+ "042522330551788256261683080675549820375567692574152956993944"
+ "504349004617185470945673049153218968830613586193253490318451"
+ "871770642617802890083608004460414305421033261048294750210470"
+ "303202846332054952531617433058538758154347087854561609738141"
+ "615145103748777579733574989673510104836750248325511777237502"
+ "526995647687215364262385606217553691332159421351598905950537"
+ "513518351520709657614578131639854432532002236696200855408766"
+ "520105076378983345708235918180749273124590433024519869147132"
+ "931932462703067876214268579940066030521414045386366551780718"
+ "510535469417760242493782392451178913322503092692423649855756"
+ "521279456558275339921490892868856862895022564047205838132429"
+ "286600764536839036698193759634186899291274131934296059833048"
+ "690594627623595320676097721540716472990950611858372856271872"
+ "423573251506230042608074167903809812264198034505185435990821"
+ "356377966484742250577592243727298923187891299404854048446822"
+ "719928239317254073429532989089675503790372464487057264894107"
+ "613242300912487070053676379388189496900004239731820229886894"
+ "053019610823763957809819187948639826973433528683168917360632"
+ "750040517847686479093538683816924213175672979768822065627696"
+ "943474914020483056384006872835738311110986586149510661361915"
+ "342172527409078742250880056867149831149121019729847242037335"
+ "904440063130981999650700416787683293610119590221942974317455"
+ "716336227454789239793488032299063316588917505912406020220045"
+ "264868457718282165158892171630470709599503997282778168097827"
+ "497383884195820921583645621293941200045604062174334998171535"
+ "030513366277293714389988219756129580868518167923841173364269"
+ "774889246694435264051484911461988227011238661037602452710188"
+ "911900438270362280391121270021679247152879324195035694278071"
+ "477495720447513017171148877312193736366348711630105507365864"
+ "598069586257026976295714123943691621672377694552248018987680"
+ "338612382795605985191106112971398796002636340393693119651973"
+ "344711646854574482999700397952536878348512983782198330513744"
+ "803168936076427075943787200489575435147989033386529956551570"
+ "669047103070223076797892329848058499725632813524581372640746"
+ "415923016932853954152472487866287318545051065376430120748079"
+ "948860283261855738836955246188128622509828635867225708782966"
+ "017423170535046509131388753895013061151387840089512861842615"
+ "441729962315731301087767989000918136617870582141517330935619"
+ "268642915983553727587587676791953536960714236687847602589538"
+ "927962585440961131240218794236944630211930970546118745080346"
+ "860636620310193382167597465544174488399379683716417891139157"
+ "575146359165023126594124268610800205258776019000550873739401"
+ "445303129974560221438061891795442780328126230093178952504570"
+ "380957199592993338719686487798275474853570100033092481743129"
+ "836527369756194343789131822069107283156271772679863538216891"
+ "518713732520976834628418347371261368933454629405371869789752"
+ "684339805368137450825001203521193642598238954329102258317328"
+ "098581116978343883611320940814793654745807336162557057195523"
+ "274610323601685712314930799144191673243832283659669368716126"
+ "815118360353441303009936083544193524336572930768154506567477"
+ "565558211143508568396203781879592033787429012753106951129653"
+ "074630840496376302289668286168325299592504054003803917262600"
+ "195834001336180158836765599057537979745423711070158871650976"
+ "475924365707758401328959478791343481250979029363644046972556"
+ "422294698558561670817595994409985323205913035009923360820734"
+ "795546082012200697671744573982535291905800552837118327702125"
+ "018691644774560916230166739307705017656065679867259837178918"
+ "123254219579594535869171376148397610005870749992910355727569"
+ "593729567789260479930835305112462727870603529547312621720559"
+ "953074675620549217314861961905983960910846471569192459257648"
+ "138212674016814845327496495507412976753381357634960529826817"
+ "906824433858135485518651632270319927880227571858035210375443"
+ "324098235463619647723862420557582355632137583370066602155641"
+ "218235815280874570372436217877316899649287051943247206509113"
+ "311767578125e-4966",
+ false,
+ -0x8p-152f,
+ -0x0p+0f,
+ -0x0p+0f,
+ -0x0p+0f,
+ false,
+ -0x4p-1076,
+ -0x0p+0,
+ -0x0p+0,
+ -0x0p+0,
+ false,
+ -0x4p-1076L,
+ -0x0p+0L,
+ -0x0p+0L,
+ -0x0p+0L,
+ false,
+ -0x8p-16448L,
+ -0x0p+0L,
+ -0x0p+0L,
+ -0x0p+0L,
+ false,
+ -0x4p-16448L,
+ -0x0p+0L,
+ -0x0p+0L,
+ -0x0p+0L,
+ false,
+ -0x4p-1076L,
+ -0x0p+0L,
+ -0x0p+0L,
+ -0x0p+0L,
+ false,
+ -0x4p-16496L,
+ -0x0p+0L,
+ -0x0p+0L,
+ -0x0p+0L),
+ TEST ("-3.237587559719012555462219479113823276249784669017340504844"
+ "942194598519770062059685508835745638324970127939070738424059"
+ "838293609943191271023342555035986308991521396355375667467208"
+ "367312819235870119724263252776995195727778126085574034035411"
+ "017344128491238136414394551514178668780674015531193282296319"
+ "913113495953953933831631032855605791532328598034154166422617"
+ "226534880263244723830482289656875701701315902175019974435037"
+ "627824356684033058939701577883356651733717468531204705842607"
+ "568803666569711421917525834491783583598401321476176752039857"
+ "173551930268891446850107760584333855521475305010940756813993"
+ "214730850216669600967698749412592167692757446422169965426483"
+ "919224341062751152057061076522973232731542382055087239368522"
+ "167656194830741819605276971705738272393130698937532095725613"
+ "383807312946395184980707534803490003540251394324459987958400"
+ "939111001126190861523615485938285497714410609640798273816511"
+ "769391568591823198476415765275534341709798367687043373145262"
+ "933998108452661682659942586304978413812755518166239176614473"
+ "815940025342279575304159493260770068030636885746695206392378"
+ "276051948759263882079389379666940357441139816661913198656187"
+ "703463519723262653223919257185751827493927586153153792077729"
+ "913353547954808876263400200663495414360816863385220457719546"
+ "338953323399286762099558324132103460225580066817535680886906"
+ "060858264089074120360391613368274811868067637495154569071591"
+ "624185979937989402513750464346904036668477876379544221432800"
+ "037599944499161940321774835027752710681217554286366043661491"
+ "013593886229615614494736186475932160549630939390542165126494"
+ "166960681499481651861215529870984381726203476917507560266886"
+ "692644952355421814201350137351435237036912624414444992497142"
+ "303802423605897110605364956579914507108584002230524766331348"
+ "271456591814078599780820974961968314684496428310691542272663"
+ "818486132771177670874927831510002443658417608078383611526899"
+ "905533629456904234997116303929427262032216072887961072267850"
+ "618234492852606488522739744757845004694461812790342894353802"
+ "938671928834585447328398711684245164703625580196678024410303"
+ "542544534512706792134908369873605619756775207191558754413381"
+ "571756431003248529020572648048946458999967788526617126349345"
+ "966896362376841092268841417781414969315002419192181972121568"
+ "811432459128737128140063645558482525300089060238860392371092"
+ "102688097987915838860882370022268312322882235690785726190915"
+ "062699382576041643741555139697348927957856990969985342299599"
+ "797431503615312038393069808777315725367497595040966093808407"
+ "117316369389112216628231869173217637452855462790553030636920"
+ "487796465880633399632793882734473382168542596184679158149228"
+ "725004404714293460752371865436947855237307240001863573081174"
+ "929166645758276081272685156100195420794154740486637315823136"
+ "798695124738873328565945598241199335059398955049459449844741"
+ "098478330319112865980346771381982151154499846478545530650091"
+ "824164892591396650703633600023191521502618379988693800703884"
+ "555191647864959327260468892793195316578510173816406054364319"
+ "294906641284764788384683586662382042642852654156477478700779"
+ "123584369965723284711409361741235548687181052639639279285373"
+ "139084165798451899763979500837428077782309910703522399860010"
+ "310321116623028924118238023770381424894162717815296210097245"
+ "221769714495449744327945091943394325259297771090128969600269"
+ "822520904193880119094781214175887316220311309028456568749910"
+ "010962366586834018403242866721783519806933018588077977626913"
+ "774236680220258524711348037750591646286531625306510583751929"
+ "280541119187219596706615736304036444366663256426643903386694"
+ "536649648686380122198677895751002327229059364018755164517060"
+ "321515091173358005987498359799467138817648881479418623694683"
+ "454881683746841149715181334498096967702613110590140231345676"
+ "956141227850879905018558219984441819798054463206764413100251"
+ "255775535830770535620946159535406497134759043192647996190512"
+ "978586496199656070707105117773853504277795024754647024165589"
+ "129442822627147868917463795166386552921913398878270019905147"
+ "510849518894114102536073369047160130990411626048426437835295"
+ "683097278297774735181045158616674564080237813146623269215019"
+ "613231938626758927531490945029356207933289363847181438902539"
+ "297057969524961348607844569521442237914899100699610921669921"
+ "572167164875488132527187949318543809703388178931170799769792"
+ "886086681284964861608656928109305369539955846964197786677053"
+ "847603962194721523867993048528558551380823699291873352033111"
+ "096244814245789620930756114228971363838828108534030152031715"
+ "929722499546436547773404017947035596936338462103946797525667"
+ "033935433489292620531649199724400832489751788129365426568881"
+ "328357966337292439204382537174357675404105580244018783685041"
+ "224798457022189315692175787257287203633134300759209060570319"
+ "508886475377719911176071302732819878165468592717406388218727"
+ "585026352127436844762994722826390779737322113768842482160812"
+ "973100323673863050234437722898796145596181862320550301285861"
+ "980052194863780743808106946940079349630782676930197134206259"
+ "739125377941060751175427888774493677478593805682322173891730"
+ "311959284895178856039354015035864931073602059531001572891528"
+ "828982167810245343327388887928886208615327002834690068636094"
+ "325052251429781641267821367266715283643659749152264457938319"
+ "185148303604827363623405060374573505789923003843438436174489"
+ "383805098509083722050766328250349793203837202162624690093533"
+ "478114438810603140565070517669964629947543608404988178019652"
+ "088162307525611931821066493746994641048066011859814337589829"
+ "896549720562117090677291541318153057715167624128318297771376"
+ "531788973088699647168159229805877415594828532539839967464064"
+ "556647594705830374653113373530876658380240145380423210673778"
+ "776803592627231257495817394581607796277282644312510714532297"
+ "108722017217547317744900647318022108570947064304280100418971"
+ "450552007356891519523293614416944016354756866350050833501416"
+ "942505071203810116719053430543531027953437436446745566839242"
+ "129860410443198862219469972163224971258348314341755015213118"
+ "628882713134766297624091644805801186976152536913514712919240"
+ "503721680740586016832099946807466311777189050656676962849581"
+ "383790904722087478646766320517056183581970236248227413322748"
+ "304134245717987665377396011236706627320817654565682680006957"
+ "454759981618023476448544673508068369492066566895437050571584"
+ "345511070959483898938738225050292533674383091612495407126805"
+ "381796487365892131916426837522671623266627483065655765705534"
+ "239355214893395905702329340402794052884259146049064629582075"
+ "576563307670749189662176976725361937046200576007893814439695"
+ "301892528761187544161389682003509216791271836545495416676148"
+ "151145195082668323677621182991451835324281863619641773620601"
+ "014510950996746726615703771971266687151564427772359427340566"
+ "909351858654807999781808513034680104078196607462166928018863"
+ "385629928965649243954503391493597963417955268639606791452833"
+ "692467872935741940362479842688642227725662504694679557678170"
+ "929873774151037857807219938356152056997839625453727441947651"
+ "198316190826615266016347740875615970031428012228328190610356"
+ "706715662722241878767131224669837573607121539572299329404101"
+ "274463156060298348931678277361174057097484704587036227686110"
+ "677413094941011961262438027467952964727129462752693949019764"
+ "164538344775554466171428121848999818969114034332797672927989"
+ "107710137279281184295118233855942385256333164153378143279674"
+ "287318136458207166174996112638689535976047617221520910027427"
+ "485161965702038805161865494457444594178063766957037428053543"
+ "239915792369877811053417485684498667123216132006378630814477"
+ "106813088898563644909178779463295955587688067277368683836470"
+ "612208483299572260344016516194247232298740800342116589984844"
+ "356688576984553507410293250093945014209879983314562948451929"
+ "862241009275783684229669718641013736581856815277185073259140"
+ "534024850924787544871716174654424640728091372513505922826813"
+ "145390369149590652886241000625495880523771672395227312971578"
+ "042522330551788256261683080675549820375567692574152956993944"
+ "504349004617185470945673049153218968830613586193253490318451"
+ "871770642617802890083608004460414305421033261048294750210470"
+ "303202846332054952531617433058538758154347087854561609738141"
+ "615145103748777579733574989673510104836750248325511777237502"
+ "526995647687215364262385606217553691332159421351598905950537"
+ "513518351520709657614578131639854432532002236696200855408766"
+ "520105076378983345708235918180749273124590433024519869147132"
+ "931932462703067876214268579940066030521414045386366551780718"
+ "510535469417760242493782392451178913322503092692423649855756"
+ "521279456558275339921490892868856862895022564047205838132429"
+ "286600764536839036698193759634186899291274131934296059833048"
+ "690594627623595320676097721540716472990950611858372856271872"
+ "423573251506230042608074167903809812264198034505185435990821"
+ "356377966484742250577592243727298923187891299404854048446822"
+ "719928239317254073429532989089675503790372464487057264894107"
+ "613242300912487070053676379388189496900004239731820229886894"
+ "053019610823763957809819187948639826973433528683168917360632"
+ "750040517847686479093538683816924213175672979768822065627696"
+ "943474914020483056384006872835738311110986586149510661361915"
+ "342172527409078742250880056867149831149121019729847242037335"
+ "904440063130981999650700416787683293610119590221942974317455"
+ "716336227454789239793488032299063316588917505912406020220045"
+ "264868457718282165158892171630470709599503997282778168097827"
+ "497383884195820921583645621293941200045604062174334998171535"
+ "030513366277293714389988219756129580868518167923841173364269"
+ "774889246694435264051484911461988227011238661037602452710188"
+ "911900438270362280391121270021679247152879324195035694278071"
+ "477495720447513017171148877312193736366348711630105507365864"
+ "598069586257026976295714123943691621672377694552248018987680"
+ "338612382795605985191106112971398796002636340393693119651973"
+ "344711646854574482999700397952536878348512983782198330513744"
+ "803168936076427075943787200489575435147989033386529956551570"
+ "669047103070223076797892329848058499725632813524581372640746"
+ "415923016932853954152472487866287318545051065376430120748079"
+ "948860283261855738836955246188128622509828635867225708782966"
+ "017423170535046509131388753895013061151387840089512861842615"
+ "441729962315731301087767989000918136617870582141517330935619"
+ "268642915983553727587587676791953536960714236687847602589538"
+ "927962585440961131240218794236944630211930970546118745080346"
+ "860636620310193382167597465544174488399379683716417891139157"
+ "575146359165023126594124268610800205258776019000550873739401"
+ "445303129974560221438061891795442780328126230093178952504570"
+ "380957199592993338719686487798275474853570100033092481743129"
+ "836527369756194343789131822069107283156271772679863538216891"
+ "518713732520976834628418347371261368933454629405371869789752"
+ "684339805368137450825001203521193642598238954329102258317328"
+ "098581116978343883611320940814793654745807336162557057195523"
+ "274610323601685712314930799144191673243832283659669368716126"
+ "815118360353441303009936083544193524336572930768154506567477"
+ "565558211143508568396203781879592033787429012753106951129653"
+ "074630840496376302289668286168325299592504054003803917262600"
+ "195834001336180158836765599057537979745423711070158871650976"
+ "475924365707758401328959478791343481250979029363644046972556"
+ "422294698558561670817595994409985323205913035009923360820734"
+ "795546082012200697671744573982535291905800552837118327702125"
+ "018691644774560916230166739307705017656065679867259837178918"
+ "123254219579594535869171376148397610005870749992910355727569"
+ "593729567789260479930835305112462727870603529547312621720559"
+ "953074675620549217314861961905983960910846471569192459257648"
+ "138212674016814845327496495507412976753381357634960529826817"
+ "906824433858135485518651632270319927880227571858035210375443"
+ "324098235463619647723862420557582355632137583370066602155641"
+ "218235815280874570372436217877316899649287051943247206509113"
+ "311767578126e-4966",
+ false,
+ -0x8p-152f,
+ -0x0p+0f,
+ -0x0p+0f,
+ -0x0p+0f,
+ false,
+ -0x4p-1076,
+ -0x0p+0,
+ -0x0p+0,
+ -0x0p+0,
+ false,
+ -0x4p-1076L,
+ -0x0p+0L,
+ -0x0p+0L,
+ -0x0p+0L,
+ false,
+ -0x8p-16448L,
+ -0x0p+0L,
+ -0x0p+0L,
+ -0x0p+0L,
+ false,
+ -0x4p-16448L,
+ -0x0p+0L,
+ -0x0p+0L,
+ -0x0p+0L,
+ false,
+ -0x4p-1076L,
+ -0x0p+0L,
+ -0x0p+0L,
+ -0x0p+0L,
+ false,
+ -0x4p-16496L,
+ -0x4p-16496L,
+ -0x0p+0L,
+ -0x0p+0L),
};
static int