diff options
author | Joseph Myers <joseph@codesourcery.com> | 2018-06-13 16:06:14 +0000 |
---|---|---|
committer | Joseph Myers <joseph@codesourcery.com> | 2018-06-13 16:06:14 +0000 |
commit | fcd6b5ac36a49e83e27e9186ded04329d3b0b0d9 (patch) | |
tree | 79886f0f215a5537318cdd5175211214ead0bbb7 /stdlib | |
parent | a745c837cb51c2efe8900740548cb68ec2a2f7ab (diff) | |
download | glibc-fcd6b5ac36a49e83e27e9186ded04329d3b0b0d9.zip glibc-fcd6b5ac36a49e83e27e9186ded04329d3b0b0d9.tar.gz glibc-fcd6b5ac36a49e83e27e9186ded04329d3b0b0d9.tar.bz2 |
Fix strtod overflow detection (bug 23279).
As shown by bug 23279, strtod's round_and_return has an off-by-one
error in its overflow detection, only counting an exponent greater
than MAX_EXP as overflowing when an exponent of MAX_EXP also means
overflow (recall the ISO C definition of DBL_MAX_EXP etc. is based on
a floating-point model where 2^exp is multiplied by a value in the
interval [0.5, 1), so 2^MAX_EXP is not representable).
For decimal arguments to strtod, a separate overflow check in the main
implementation covers the case where the integer part of the argument
(truncated to the nearest integer towards zero) has more than MAX_EXP
bits, meaning that this issue in round_and_return only affects cases
(arguments with absolute value strictly between the maximum
representable value and 2^MAX_EXP) where overflow depends on the
rounding mode; in such cases, the returned value would still have been
correct on overflow but without the overflow exception being raised or
errno being set to ERANGE. For hex float arguments, however, other
cases can arise, as shown in bug 23279, where a value with exponent
already set to MAX_EXP is passed into round_and_return and a result
can wrongly end up being NaN, or infinity instead of the largest
finite value.
This patch fixes the off-by-one error, adds testing of overflow
exceptions to the tst-strtod-round framework, and adds tests of these
issues.
Tested for x86_64. Also ran the tst-strtod-round tests for powerpc to
make sure the new tests didn't introduce any new failures for IBM long
double.
[BZ #23279]
* stdlib/strtod_l.c (round_and_return): Handle an exponent of
MAX_EXP as overflowing.
* stdlib/gen-tst-strtod-round.c (string_to_fp): Clear MPFR
overflow flag.
(round_str): Output also whether result overflows in each rounding
mode.
* stdlib/tst-strtod-round-data: Add more tests.
* stdlib/tst-strtod-round-data.h: Regenerated.
* stdlib/tst-strtod-round-skeleton.c (_XNTRY): Update comment.
(TEST): Handle extra arguments for overflow flags.
(struct test_overflow): New type.
[!FE_OVERFLOW] (FE_OVERFLOW): Define to 0.
(GEN_ONE_TEST): Clear all exceptions. Test overflow flag.
(test_in_one_mode): Take argument with overflow information.
(do_test): Update calls to test_in_one_mode.
Diffstat (limited to 'stdlib')
-rw-r--r-- | stdlib/gen-tst-strtod-round.c | 26 | ||||
-rw-r--r-- | stdlib/strtod_l.c | 4 | ||||
-rw-r--r-- | stdlib/tst-strtod-round-data | 7 | ||||
-rw-r--r-- | stdlib/tst-strtod-round-data.h | 9091 | ||||
-rw-r--r-- | stdlib/tst-strtod-round-skeleton.c | 108 |
5 files changed, 4845 insertions, 4391 deletions
diff --git a/stdlib/gen-tst-strtod-round.c b/stdlib/gen-tst-strtod-round.c index a8f1c60..df9dcaf 100644 --- a/stdlib/gen-tst-strtod-round.c +++ b/stdlib/gen-tst-strtod-round.c @@ -45,6 +45,7 @@ static int string_to_fp (mpfr_t f, const char *s, mpfr_rnd_t rnd) { + mpfr_clear_overflow (); #ifdef WORKAROUND mpfr_t f2; mpfr_init2 (f2, 100000); @@ -73,34 +74,45 @@ static void round_str (FILE *fout, const char *s, int prec, int emin, int emax, bool ibm_ld) { + mpfr_t max_value; mpfr_t f; mpfr_set_default_prec (prec); mpfr_set_emin (emin); mpfr_set_emax (emax); mpfr_init (f); int r = string_to_fp (f, s, MPFR_RNDD); + bool overflow = mpfr_overflow_p () != 0; if (ibm_ld) { assert (prec == 106 && emin == -1073 && emax == 1024); /* The maximum value in IBM long double has discontiguous mantissa bits. */ - mpfr_t max_value; mpfr_init2 (max_value, 107); mpfr_set_str (max_value, "0x1.fffffffffffff7ffffffffffffcp+1023", 0, MPFR_RNDN); if (mpfr_cmpabs (f, max_value) > 0) - r = 1; - mpfr_clear (max_value); + { + r = 1; + overflow = true; + } } mpfr_fprintf (fout, "\t%s,\n", r ? "false" : "true"); - print_fp (fout, f, ",\n"); + print_fp (fout, f, overflow ? ", true,\n" : ", false,\n"); string_to_fp (f, s, MPFR_RNDN); - print_fp (fout, f, ",\n"); + overflow = (mpfr_overflow_p () != 0 + || (ibm_ld && mpfr_cmpabs (f, max_value) > 0)); + print_fp (fout, f, overflow ? ", true,\n" : ", false,\n"); string_to_fp (f, s, MPFR_RNDZ); - print_fp (fout, f, ",\n"); + overflow = (mpfr_overflow_p () != 0 + || (ibm_ld && mpfr_cmpabs (f, max_value) > 0)); + print_fp (fout, f, overflow ? ", true,\n" : ", false,\n"); string_to_fp (f, s, MPFR_RNDU); - print_fp (fout, f, ""); + overflow = (mpfr_overflow_p () != 0 + || (ibm_ld && mpfr_cmpabs (f, max_value) > 0)); + print_fp (fout, f, overflow ? ", true" : ", false"); mpfr_clear (f); + if (ibm_ld) + mpfr_clear (max_value); } static void diff --git a/stdlib/strtod_l.c b/stdlib/strtod_l.c index e1e9c13..a09b093 100644 --- a/stdlib/strtod_l.c +++ b/stdlib/strtod_l.c @@ -310,7 +310,7 @@ round_and_return (mp_limb_t *retval, intmax_t exponent, int negative, } } - if (exponent > MAX_EXP) + if (exponent >= MAX_EXP) goto overflow; bool half_bit = (round_limb & (((mp_limb_t) 1) << round_bit)) != 0; @@ -343,7 +343,7 @@ round_and_return (mp_limb_t *retval, intmax_t exponent, int negative, exponent = MIN_EXP - 1; } - if (exponent > MAX_EXP) + if (exponent >= MAX_EXP) overflow: return overflow_value (negative); diff --git a/stdlib/tst-strtod-round-data b/stdlib/tst-strtod-round-data index cb90803..8a898dd 100644 --- a/stdlib/tst-strtod-round-data +++ b/stdlib/tst-strtod-round-data @@ -148,3 +148,10 @@ -3.237587559719012555462219479113823276249784669017340504844942194598519770062059685508835745638324970127939070738424059838293609943191271023342555035986308991521396355375667467208367312819235870119724263252776995195727778126085574034035411017344128491238136414394551514178668780674015531193282296319913113495953953933831631032855605791532328598034154166422617226534880263244723830482289656875701701315902175019974435037627824356684033058939701577883356651733717468531204705842607568803666569711421917525834491783583598401321476176752039857173551930268891446850107760584333855521475305010940756813993214730850216669600967698749412592167692757446422169965426483919224341062751152057061076522973232731542382055087239368522167656194830741819605276971705738272393130698937532095725613383807312946395184980707534803490003540251394324459987958400939111001126190861523615485938285497714410609640798273816511769391568591823198476415765275534341709798367687043373145262933998108452661682659942586304978413812755518166239176614473815940025342279575304159493260770068030636885746695206392378276051948759263882079389379666940357441139816661913198656187703463519723262653223919257185751827493927586153153792077729913353547954808876263400200663495414360816863385220457719546338953323399286762099558324132103460225580066817535680886906060858264089074120360391613368274811868067637495154569071591624185979937989402513750464346904036668477876379544221432800037599944499161940321774835027752710681217554286366043661491013593886229615614494736186475932160549630939390542165126494166960681499481651861215529870984381726203476917507560266886692644952355421814201350137351435237036912624414444992497142303802423605897110605364956579914507108584002230524766331348271456591814078599780820974961968314684496428310691542272663818486132771177670874927831510002443658417608078383611526899905533629456904234997116303929427262032216072887961072267850618234492852606488522739744757845004694461812790342894353802938671928834585447328398711684245164703625580196678024410303542544534512706792134908369873605619756775207191558754413381571756431003248529020572648048946458999967788526617126349345966896362376841092268841417781414969315002419192181972121568811432459128737128140063645558482525300089060238860392371092102688097987915838860882370022268312322882235690785726190915062699382576041643741555139697348927957856990969985342299599797431503615312038393069808777315725367497595040966093808407117316369389112216628231869173217637452855462790553030636920487796465880633399632793882734473382168542596184679158149228725004404714293460752371865436947855237307240001863573081174929166645758276081272685156100195420794154740486637315823136798695124738873328565945598241199335059398955049459449844741098478330319112865980346771381982151154499846478545530650091824164892591396650703633600023191521502618379988693800703884555191647864959327260468892793195316578510173816406054364319294906641284764788384683586662382042642852654156477478700779123584369965723284711409361741235548687181052639639279285373139084165798451899763979500837428077782309910703522399860010310321116623028924118238023770381424894162717815296210097245221769714495449744327945091943394325259297771090128969600269822520904193880119094781214175887316220311309028456568749910010962366586834018403242866721783519806933018588077977626913774236680220258524711348037750591646286531625306510583751929280541119187219596706615736304036444366663256426643903386694536649648686380122198677895751002327229059364018755164517060321515091173358005987498359799467138817648881479418623694683454881683746841149715181334498096967702613110590140231345676956141227850879905018558219984441819798054463206764413100251255775535830770535620946159535406497134759043192647996190512978586496199656070707105117773853504277795024754647024165589129442822627147868917463795166386552921913398878270019905147510849518894114102536073369047160130990411626048426437835295683097278297774735181045158616674564080237813146623269215019613231938626758927531490945029356207933289363847181438902539297057969524961348607844569521442237914899100699610921669921572167164875488132527187949318543809703388178931170799769792886086681284964861608656928109305369539955846964197786677053847603962194721523867993048528558551380823699291873352033111096244814245789620930756114228971363838828108534030152031715929722499546436547773404017947035596936338462103946797525667033935433489292620531649199724400832489751788129365426568881328357966337292439204382537174357675404105580244018783685041224798457022189315692175787257287203633134300759209060570319508886475377719911176071302732819878165468592717406388218727585026352127436844762994722826390779737322113768842482160812973100323673863050234437722898796145596181862320550301285861980052194863780743808106946940079349630782676930197134206259739125377941060751175427888774493677478593805682322173891730311959284895178856039354015035864931073602059531001572891528828982167810245343327388887928886208615327002834690068636094325052251429781641267821367266715283643659749152264457938319185148303604827363623405060374573505789923003843438436174489383805098509083722050766328250349793203837202162624690093533478114438810603140565070517669964629947543608404988178019652088162307525611931821066493746994641048066011859814337589829896549720562117090677291541318153057715167624128318297771376531788973088699647168159229805877415594828532539839967464064556647594705830374653113373530876658380240145380423210673778776803592627231257495817394581607796277282644312510714532297108722017217547317744900647318022108570947064304280100418971450552007356891519523293614416944016354756866350050833501416942505071203810116719053430543531027953437436446745566839242129860410443198862219469972163224971258348314341755015213118628882713134766297624091644805801186976152536913514712919240503721680740586016832099946807466311777189050656676962849581383790904722087478646766320517056183581970236248227413322748304134245717987665377396011236706627320817654565682680006957454759981618023476448544673508068369492066566895437050571584345511070959483898938738225050292533674383091612495407126805381796487365892131916426837522671623266627483065655765705534239355214893395905702329340402794052884259146049064629582075576563307670749189662176976725361937046200576007893814439695301892528761187544161389682003509216791271836545495416676148151145195082668323677621182991451835324281863619641773620601014510950996746726615703771971266687151564427772359427340566909351858654807999781808513034680104078196607462166928018863385629928965649243954503391493597963417955268639606791452833692467872935741940362479842688642227725662504694679557678170929873774151037857807219938356152056997839625453727441947651198316190826615266016347740875615970031428012228328190610356706715662722241878767131224669837573607121539572299329404101274463156060298348931678277361174057097484704587036227686110677413094941011961262438027467952964727129462752693949019764164538344775554466171428121848999818969114034332797672927989107710137279281184295118233855942385256333164153378143279674287318136458207166174996112638689535976047617221520910027427485161965702038805161865494457444594178063766957037428053543239915792369877811053417485684498667123216132006378630814477106813088898563644909178779463295955587688067277368683836470612208483299572260344016516194247232298740800342116589984844356688576984553507410293250093945014209879983314562948451929862241009275783684229669718641013736581856815277185073259140534024850924787544871716174654424640728091372513505922826813145390369149590652886241000625495880523771672395227312971578042522330551788256261683080675549820375567692574152956993944504349004617185470945673049153218968830613586193253490318451871770642617802890083608004460414305421033261048294750210470303202846332054952531617433058538758154347087854561609738141615145103748777579733574989673510104836750248325511777237502526995647687215364262385606217553691332159421351598905950537513518351520709657614578131639854432532002236696200855408766520105076378983345708235918180749273124590433024519869147132931932462703067876214268579940066030521414045386366551780718510535469417760242493782392451178913322503092692423649855756521279456558275339921490892868856862895022564047205838132429286600764536839036698193759634186899291274131934296059833048690594627623595320676097721540716472990950611858372856271872423573251506230042608074167903809812264198034505185435990821356377966484742250577592243727298923187891299404854048446822719928239317254073429532989089675503790372464487057264894107613242300912487070053676379388189496900004239731820229886894053019610823763957809819187948639826973433528683168917360632750040517847686479093538683816924213175672979768822065627696943474914020483056384006872835738311110986586149510661361915342172527409078742250880056867149831149121019729847242037335904440063130981999650700416787683293610119590221942974317455716336227454789239793488032299063316588917505912406020220045264868457718282165158892171630470709599503997282778168097827497383884195820921583645621293941200045604062174334998171535030513366277293714389988219756129580868518167923841173364269774889246694435264051484911461988227011238661037602452710188911900438270362280391121270021679247152879324195035694278071477495720447513017171148877312193736366348711630105507365864598069586257026976295714123943691621672377694552248018987680338612382795605985191106112971398796002636340393693119651973344711646854574482999700397952536878348512983782198330513744803168936076427075943787200489575435147989033386529956551570669047103070223076797892329848058499725632813524581372640746415923016932853954152472487866287318545051065376430120748079948860283261855738836955246188128622509828635867225708782966017423170535046509131388753895013061151387840089512861842615441729962315731301087767989000918136617870582141517330935619268642915983553727587587676791953536960714236687847602589538927962585440961131240218794236944630211930970546118745080346860636620310193382167597465544174488399379683716417891139157575146359165023126594124268610800205258776019000550873739401445303129974560221438061891795442780328126230093178952504570380957199592993338719686487798275474853570100033092481743129836527369756194343789131822069107283156271772679863538216891518713732520976834628418347371261368933454629405371869789752684339805368137450825001203521193642598238954329102258317328098581116978343883611320940814793654745807336162557057195523274610323601685712314930799144191673243832283659669368716126815118360353441303009936083544193524336572930768154506567477565558211143508568396203781879592033787429012753106951129653074630840496376302289668286168325299592504054003803917262600195834001336180158836765599057537979745423711070158871650976475924365707758401328959478791343481250979029363644046972556422294698558561670817595994409985323205913035009923360820734795546082012200697671744573982535291905800552837118327702125018691644774560916230166739307705017656065679867259837178918123254219579594535869171376148397610005870749992910355727569593729567789260479930835305112462727870603529547312621720559953074675620549217314861961905983960910846471569192459257648138212674016814845327496495507412976753381357634960529826817906824433858135485518651632270319927880227571858035210375443324098235463619647723862420557582355632137583370066602155641218235815280874570372436217877316899649287051943247206509113311767578124e-4966 -3.237587559719012555462219479113823276249784669017340504844942194598519770062059685508835745638324970127939070738424059838293609943191271023342555035986308991521396355375667467208367312819235870119724263252776995195727778126085574034035411017344128491238136414394551514178668780674015531193282296319913113495953953933831631032855605791532328598034154166422617226534880263244723830482289656875701701315902175019974435037627824356684033058939701577883356651733717468531204705842607568803666569711421917525834491783583598401321476176752039857173551930268891446850107760584333855521475305010940756813993214730850216669600967698749412592167692757446422169965426483919224341062751152057061076522973232731542382055087239368522167656194830741819605276971705738272393130698937532095725613383807312946395184980707534803490003540251394324459987958400939111001126190861523615485938285497714410609640798273816511769391568591823198476415765275534341709798367687043373145262933998108452661682659942586304978413812755518166239176614473815940025342279575304159493260770068030636885746695206392378276051948759263882079389379666940357441139816661913198656187703463519723262653223919257185751827493927586153153792077729913353547954808876263400200663495414360816863385220457719546338953323399286762099558324132103460225580066817535680886906060858264089074120360391613368274811868067637495154569071591624185979937989402513750464346904036668477876379544221432800037599944499161940321774835027752710681217554286366043661491013593886229615614494736186475932160549630939390542165126494166960681499481651861215529870984381726203476917507560266886692644952355421814201350137351435237036912624414444992497142303802423605897110605364956579914507108584002230524766331348271456591814078599780820974961968314684496428310691542272663818486132771177670874927831510002443658417608078383611526899905533629456904234997116303929427262032216072887961072267850618234492852606488522739744757845004694461812790342894353802938671928834585447328398711684245164703625580196678024410303542544534512706792134908369873605619756775207191558754413381571756431003248529020572648048946458999967788526617126349345966896362376841092268841417781414969315002419192181972121568811432459128737128140063645558482525300089060238860392371092102688097987915838860882370022268312322882235690785726190915062699382576041643741555139697348927957856990969985342299599797431503615312038393069808777315725367497595040966093808407117316369389112216628231869173217637452855462790553030636920487796465880633399632793882734473382168542596184679158149228725004404714293460752371865436947855237307240001863573081174929166645758276081272685156100195420794154740486637315823136798695124738873328565945598241199335059398955049459449844741098478330319112865980346771381982151154499846478545530650091824164892591396650703633600023191521502618379988693800703884555191647864959327260468892793195316578510173816406054364319294906641284764788384683586662382042642852654156477478700779123584369965723284711409361741235548687181052639639279285373139084165798451899763979500837428077782309910703522399860010310321116623028924118238023770381424894162717815296210097245221769714495449744327945091943394325259297771090128969600269822520904193880119094781214175887316220311309028456568749910010962366586834018403242866721783519806933018588077977626913774236680220258524711348037750591646286531625306510583751929280541119187219596706615736304036444366663256426643903386694536649648686380122198677895751002327229059364018755164517060321515091173358005987498359799467138817648881479418623694683454881683746841149715181334498096967702613110590140231345676956141227850879905018558219984441819798054463206764413100251255775535830770535620946159535406497134759043192647996190512978586496199656070707105117773853504277795024754647024165589129442822627147868917463795166386552921913398878270019905147510849518894114102536073369047160130990411626048426437835295683097278297774735181045158616674564080237813146623269215019613231938626758927531490945029356207933289363847181438902539297057969524961348607844569521442237914899100699610921669921572167164875488132527187949318543809703388178931170799769792886086681284964861608656928109305369539955846964197786677053847603962194721523867993048528558551380823699291873352033111096244814245789620930756114228971363838828108534030152031715929722499546436547773404017947035596936338462103946797525667033935433489292620531649199724400832489751788129365426568881328357966337292439204382537174357675404105580244018783685041224798457022189315692175787257287203633134300759209060570319508886475377719911176071302732819878165468592717406388218727585026352127436844762994722826390779737322113768842482160812973100323673863050234437722898796145596181862320550301285861980052194863780743808106946940079349630782676930197134206259739125377941060751175427888774493677478593805682322173891730311959284895178856039354015035864931073602059531001572891528828982167810245343327388887928886208615327002834690068636094325052251429781641267821367266715283643659749152264457938319185148303604827363623405060374573505789923003843438436174489383805098509083722050766328250349793203837202162624690093533478114438810603140565070517669964629947543608404988178019652088162307525611931821066493746994641048066011859814337589829896549720562117090677291541318153057715167624128318297771376531788973088699647168159229805877415594828532539839967464064556647594705830374653113373530876658380240145380423210673778776803592627231257495817394581607796277282644312510714532297108722017217547317744900647318022108570947064304280100418971450552007356891519523293614416944016354756866350050833501416942505071203810116719053430543531027953437436446745566839242129860410443198862219469972163224971258348314341755015213118628882713134766297624091644805801186976152536913514712919240503721680740586016832099946807466311777189050656676962849581383790904722087478646766320517056183581970236248227413322748304134245717987665377396011236706627320817654565682680006957454759981618023476448544673508068369492066566895437050571584345511070959483898938738225050292533674383091612495407126805381796487365892131916426837522671623266627483065655765705534239355214893395905702329340402794052884259146049064629582075576563307670749189662176976725361937046200576007893814439695301892528761187544161389682003509216791271836545495416676148151145195082668323677621182991451835324281863619641773620601014510950996746726615703771971266687151564427772359427340566909351858654807999781808513034680104078196607462166928018863385629928965649243954503391493597963417955268639606791452833692467872935741940362479842688642227725662504694679557678170929873774151037857807219938356152056997839625453727441947651198316190826615266016347740875615970031428012228328190610356706715662722241878767131224669837573607121539572299329404101274463156060298348931678277361174057097484704587036227686110677413094941011961262438027467952964727129462752693949019764164538344775554466171428121848999818969114034332797672927989107710137279281184295118233855942385256333164153378143279674287318136458207166174996112638689535976047617221520910027427485161965702038805161865494457444594178063766957037428053543239915792369877811053417485684498667123216132006378630814477106813088898563644909178779463295955587688067277368683836470612208483299572260344016516194247232298740800342116589984844356688576984553507410293250093945014209879983314562948451929862241009275783684229669718641013736581856815277185073259140534024850924787544871716174654424640728091372513505922826813145390369149590652886241000625495880523771672395227312971578042522330551788256261683080675549820375567692574152956993944504349004617185470945673049153218968830613586193253490318451871770642617802890083608004460414305421033261048294750210470303202846332054952531617433058538758154347087854561609738141615145103748777579733574989673510104836750248325511777237502526995647687215364262385606217553691332159421351598905950537513518351520709657614578131639854432532002236696200855408766520105076378983345708235918180749273124590433024519869147132931932462703067876214268579940066030521414045386366551780718510535469417760242493782392451178913322503092692423649855756521279456558275339921490892868856862895022564047205838132429286600764536839036698193759634186899291274131934296059833048690594627623595320676097721540716472990950611858372856271872423573251506230042608074167903809812264198034505185435990821356377966484742250577592243727298923187891299404854048446822719928239317254073429532989089675503790372464487057264894107613242300912487070053676379388189496900004239731820229886894053019610823763957809819187948639826973433528683168917360632750040517847686479093538683816924213175672979768822065627696943474914020483056384006872835738311110986586149510661361915342172527409078742250880056867149831149121019729847242037335904440063130981999650700416787683293610119590221942974317455716336227454789239793488032299063316588917505912406020220045264868457718282165158892171630470709599503997282778168097827497383884195820921583645621293941200045604062174334998171535030513366277293714389988219756129580868518167923841173364269774889246694435264051484911461988227011238661037602452710188911900438270362280391121270021679247152879324195035694278071477495720447513017171148877312193736366348711630105507365864598069586257026976295714123943691621672377694552248018987680338612382795605985191106112971398796002636340393693119651973344711646854574482999700397952536878348512983782198330513744803168936076427075943787200489575435147989033386529956551570669047103070223076797892329848058499725632813524581372640746415923016932853954152472487866287318545051065376430120748079948860283261855738836955246188128622509828635867225708782966017423170535046509131388753895013061151387840089512861842615441729962315731301087767989000918136617870582141517330935619268642915983553727587587676791953536960714236687847602589538927962585440961131240218794236944630211930970546118745080346860636620310193382167597465544174488399379683716417891139157575146359165023126594124268610800205258776019000550873739401445303129974560221438061891795442780328126230093178952504570380957199592993338719686487798275474853570100033092481743129836527369756194343789131822069107283156271772679863538216891518713732520976834628418347371261368933454629405371869789752684339805368137450825001203521193642598238954329102258317328098581116978343883611320940814793654745807336162557057195523274610323601685712314930799144191673243832283659669368716126815118360353441303009936083544193524336572930768154506567477565558211143508568396203781879592033787429012753106951129653074630840496376302289668286168325299592504054003803917262600195834001336180158836765599057537979745423711070158871650976475924365707758401328959478791343481250979029363644046972556422294698558561670817595994409985323205913035009923360820734795546082012200697671744573982535291905800552837118327702125018691644774560916230166739307705017656065679867259837178918123254219579594535869171376148397610005870749992910355727569593729567789260479930835305112462727870603529547312621720559953074675620549217314861961905983960910846471569192459257648138212674016814845327496495507412976753381357634960529826817906824433858135485518651632270319927880227571858035210375443324098235463619647723862420557582355632137583370066602155641218235815280874570372436217877316899649287051943247206509113311767578125e-4966 -3.237587559719012555462219479113823276249784669017340504844942194598519770062059685508835745638324970127939070738424059838293609943191271023342555035986308991521396355375667467208367312819235870119724263252776995195727778126085574034035411017344128491238136414394551514178668780674015531193282296319913113495953953933831631032855605791532328598034154166422617226534880263244723830482289656875701701315902175019974435037627824356684033058939701577883356651733717468531204705842607568803666569711421917525834491783583598401321476176752039857173551930268891446850107760584333855521475305010940756813993214730850216669600967698749412592167692757446422169965426483919224341062751152057061076522973232731542382055087239368522167656194830741819605276971705738272393130698937532095725613383807312946395184980707534803490003540251394324459987958400939111001126190861523615485938285497714410609640798273816511769391568591823198476415765275534341709798367687043373145262933998108452661682659942586304978413812755518166239176614473815940025342279575304159493260770068030636885746695206392378276051948759263882079389379666940357441139816661913198656187703463519723262653223919257185751827493927586153153792077729913353547954808876263400200663495414360816863385220457719546338953323399286762099558324132103460225580066817535680886906060858264089074120360391613368274811868067637495154569071591624185979937989402513750464346904036668477876379544221432800037599944499161940321774835027752710681217554286366043661491013593886229615614494736186475932160549630939390542165126494166960681499481651861215529870984381726203476917507560266886692644952355421814201350137351435237036912624414444992497142303802423605897110605364956579914507108584002230524766331348271456591814078599780820974961968314684496428310691542272663818486132771177670874927831510002443658417608078383611526899905533629456904234997116303929427262032216072887961072267850618234492852606488522739744757845004694461812790342894353802938671928834585447328398711684245164703625580196678024410303542544534512706792134908369873605619756775207191558754413381571756431003248529020572648048946458999967788526617126349345966896362376841092268841417781414969315002419192181972121568811432459128737128140063645558482525300089060238860392371092102688097987915838860882370022268312322882235690785726190915062699382576041643741555139697348927957856990969985342299599797431503615312038393069808777315725367497595040966093808407117316369389112216628231869173217637452855462790553030636920487796465880633399632793882734473382168542596184679158149228725004404714293460752371865436947855237307240001863573081174929166645758276081272685156100195420794154740486637315823136798695124738873328565945598241199335059398955049459449844741098478330319112865980346771381982151154499846478545530650091824164892591396650703633600023191521502618379988693800703884555191647864959327260468892793195316578510173816406054364319294906641284764788384683586662382042642852654156477478700779123584369965723284711409361741235548687181052639639279285373139084165798451899763979500837428077782309910703522399860010310321116623028924118238023770381424894162717815296210097245221769714495449744327945091943394325259297771090128969600269822520904193880119094781214175887316220311309028456568749910010962366586834018403242866721783519806933018588077977626913774236680220258524711348037750591646286531625306510583751929280541119187219596706615736304036444366663256426643903386694536649648686380122198677895751002327229059364018755164517060321515091173358005987498359799467138817648881479418623694683454881683746841149715181334498096967702613110590140231345676956141227850879905018558219984441819798054463206764413100251255775535830770535620946159535406497134759043192647996190512978586496199656070707105117773853504277795024754647024165589129442822627147868917463795166386552921913398878270019905147510849518894114102536073369047160130990411626048426437835295683097278297774735181045158616674564080237813146623269215019613231938626758927531490945029356207933289363847181438902539297057969524961348607844569521442237914899100699610921669921572167164875488132527187949318543809703388178931170799769792886086681284964861608656928109305369539955846964197786677053847603962194721523867993048528558551380823699291873352033111096244814245789620930756114228971363838828108534030152031715929722499546436547773404017947035596936338462103946797525667033935433489292620531649199724400832489751788129365426568881328357966337292439204382537174357675404105580244018783685041224798457022189315692175787257287203633134300759209060570319508886475377719911176071302732819878165468592717406388218727585026352127436844762994722826390779737322113768842482160812973100323673863050234437722898796145596181862320550301285861980052194863780743808106946940079349630782676930197134206259739125377941060751175427888774493677478593805682322173891730311959284895178856039354015035864931073602059531001572891528828982167810245343327388887928886208615327002834690068636094325052251429781641267821367266715283643659749152264457938319185148303604827363623405060374573505789923003843438436174489383805098509083722050766328250349793203837202162624690093533478114438810603140565070517669964629947543608404988178019652088162307525611931821066493746994641048066011859814337589829896549720562117090677291541318153057715167624128318297771376531788973088699647168159229805877415594828532539839967464064556647594705830374653113373530876658380240145380423210673778776803592627231257495817394581607796277282644312510714532297108722017217547317744900647318022108570947064304280100418971450552007356891519523293614416944016354756866350050833501416942505071203810116719053430543531027953437436446745566839242129860410443198862219469972163224971258348314341755015213118628882713134766297624091644805801186976152536913514712919240503721680740586016832099946807466311777189050656676962849581383790904722087478646766320517056183581970236248227413322748304134245717987665377396011236706627320817654565682680006957454759981618023476448544673508068369492066566895437050571584345511070959483898938738225050292533674383091612495407126805381796487365892131916426837522671623266627483065655765705534239355214893395905702329340402794052884259146049064629582075576563307670749189662176976725361937046200576007893814439695301892528761187544161389682003509216791271836545495416676148151145195082668323677621182991451835324281863619641773620601014510950996746726615703771971266687151564427772359427340566909351858654807999781808513034680104078196607462166928018863385629928965649243954503391493597963417955268639606791452833692467872935741940362479842688642227725662504694679557678170929873774151037857807219938356152056997839625453727441947651198316190826615266016347740875615970031428012228328190610356706715662722241878767131224669837573607121539572299329404101274463156060298348931678277361174057097484704587036227686110677413094941011961262438027467952964727129462752693949019764164538344775554466171428121848999818969114034332797672927989107710137279281184295118233855942385256333164153378143279674287318136458207166174996112638689535976047617221520910027427485161965702038805161865494457444594178063766957037428053543239915792369877811053417485684498667123216132006378630814477106813088898563644909178779463295955587688067277368683836470612208483299572260344016516194247232298740800342116589984844356688576984553507410293250093945014209879983314562948451929862241009275783684229669718641013736581856815277185073259140534024850924787544871716174654424640728091372513505922826813145390369149590652886241000625495880523771672395227312971578042522330551788256261683080675549820375567692574152956993944504349004617185470945673049153218968830613586193253490318451871770642617802890083608004460414305421033261048294750210470303202846332054952531617433058538758154347087854561609738141615145103748777579733574989673510104836750248325511777237502526995647687215364262385606217553691332159421351598905950537513518351520709657614578131639854432532002236696200855408766520105076378983345708235918180749273124590433024519869147132931932462703067876214268579940066030521414045386366551780718510535469417760242493782392451178913322503092692423649855756521279456558275339921490892868856862895022564047205838132429286600764536839036698193759634186899291274131934296059833048690594627623595320676097721540716472990950611858372856271872423573251506230042608074167903809812264198034505185435990821356377966484742250577592243727298923187891299404854048446822719928239317254073429532989089675503790372464487057264894107613242300912487070053676379388189496900004239731820229886894053019610823763957809819187948639826973433528683168917360632750040517847686479093538683816924213175672979768822065627696943474914020483056384006872835738311110986586149510661361915342172527409078742250880056867149831149121019729847242037335904440063130981999650700416787683293610119590221942974317455716336227454789239793488032299063316588917505912406020220045264868457718282165158892171630470709599503997282778168097827497383884195820921583645621293941200045604062174334998171535030513366277293714389988219756129580868518167923841173364269774889246694435264051484911461988227011238661037602452710188911900438270362280391121270021679247152879324195035694278071477495720447513017171148877312193736366348711630105507365864598069586257026976295714123943691621672377694552248018987680338612382795605985191106112971398796002636340393693119651973344711646854574482999700397952536878348512983782198330513744803168936076427075943787200489575435147989033386529956551570669047103070223076797892329848058499725632813524581372640746415923016932853954152472487866287318545051065376430120748079948860283261855738836955246188128622509828635867225708782966017423170535046509131388753895013061151387840089512861842615441729962315731301087767989000918136617870582141517330935619268642915983553727587587676791953536960714236687847602589538927962585440961131240218794236944630211930970546118745080346860636620310193382167597465544174488399379683716417891139157575146359165023126594124268610800205258776019000550873739401445303129974560221438061891795442780328126230093178952504570380957199592993338719686487798275474853570100033092481743129836527369756194343789131822069107283156271772679863538216891518713732520976834628418347371261368933454629405371869789752684339805368137450825001203521193642598238954329102258317328098581116978343883611320940814793654745807336162557057195523274610323601685712314930799144191673243832283659669368716126815118360353441303009936083544193524336572930768154506567477565558211143508568396203781879592033787429012753106951129653074630840496376302289668286168325299592504054003803917262600195834001336180158836765599057537979745423711070158871650976475924365707758401328959478791343481250979029363644046972556422294698558561670817595994409985323205913035009923360820734795546082012200697671744573982535291905800552837118327702125018691644774560916230166739307705017656065679867259837178918123254219579594535869171376148397610005870749992910355727569593729567789260479930835305112462727870603529547312621720559953074675620549217314861961905983960910846471569192459257648138212674016814845327496495507412976753381357634960529826817906824433858135485518651632270319927880227571858035210375443324098235463619647723862420557582355632137583370066602155641218235815280874570372436217877316899649287051943247206509113311767578126e-4966 +340282366920938463463374607431768211455 +179769313486231590772930519078902473361797697894230657273430081157732675805500963132708477322407536021120113879871393357658789768814416622492847430639474124377767893424865485276302219601246094119453082952085005768838150682342462881473913110540827237163350510684586298239947245938479716304835356329624224137215 +1189731495357231765085759326628007130763444687096510237472674821233261358180483686904488595472612039915115437484839309258897667381308687426274524698341565006080871634366004897522143251619531446845952345709482135847036647464830984784714280967845614138476044338404886122905286855313236158695999885790106357018120815363320780964323712757164290613406875202417365323950267880089067517372270610835647545755780793431622213451903817859630690311343850657539360649645193283178291767658965405285113556134369793281725888015908414675289832538063419234888599898980623114025121674472051872439321323198402942705341366951274739014593816898288994445173400364617928377138074411345791848573595077170437644191743889644885377684738322240608239079061399475675334739784016491742621485229014847672335977897158397334226349734811441653077758250988926030894789604676153104257260141806823027588003441951455327701598071281589597169413965608439504983171255062282026626200048042149808200002060993433681237623857880627479727072877482838438705048034164633337013385405998040701908662387301605018188262573723766279240798931717708807901740265407930976419648877869604017517691938687988088008944251258826969688364194133945780157844364946052713655454906327187428531895100278695119323496808703630436193927592692344820812834297364478686862064169042458555136532055050508189891866846863799917647547291371573500701015197559097453040033031520683518216494195636696077748110598284901343611469214274121810495077979275556645164983850062051066517084647369464036640569339464837172183352956873912042640003611618789278195710052094562761306703551840330110645101995435167626688669627763820604342480357906415354212732946756073006907088870496125050068156659252761297664065498347492661798824062312210409274584565587264846417650160123175874034726261957289081466197651553830744424709698634753627770356227126145052549125229448040149114795681359875968512808575244271871455454084894986155020794806980939215658055319165641681105966454159951476908583129721503298816585142073061480888021769818338417129396878371459575846052583142928447249703698548125295775920936450022651427249949580708203966082847550921891152133321048011973883636577825533325988852156325439335021315312134081390451021255363707903495916963125924201167877190108935255914539488216897117943269373608639074472792751116715127106396425081353553137213552890539802602978645319795100976432939091924660228878912900654210118287298298707382159717184569540515403029173307292454391789568674219640761451173600617752186991913366837033887201582071625868247133104513315097274713442728340606642890406496636104443217752811227470029162858093727701049646499540220983981932786613204254226464243689610107429923197638681545837561773535568984536053627234424277105760924864023781629665526314910906960488073475217005121136311870439925762508666032566213750416695719919674223210606724721373471234021613540712188239909701971943944347480314217903886317767779921539892177334344368907550318800833546852344370327089284147501640589448482001254237386680074457341910933774891959681016516069106149905572425810895586938833067490204900368624166301968553005687040285095450484840073528643826570403767157286512380255109954518857013476588189300004138849715883139866071547574816476727635116435462804401112711392529180570794193422686818353212799068972247697191474268157912195973794192807298886952361100880264258801320928040011928153970801130741339550003299015924978259936974358726286143980520112454369271114083747919007803406596321353417004068869443405472140675963640997405009225803505672726465095506267339268892424364561897661906898424186770491035344080399248327097911712881140170384182058601614758284200750183500329358499691864066590539660709069537381601887679046657759654588001937117771344698326428792622894338016112445533539447087462049763409147542099248815521395929388007711172017894897793706604273480985161028815458787911160979113422433557549170905442026397275695283207305331845419990749347810524006194197200591652147867193696254337864981603833146354201700628817947177518115217674352016511172347727727075220056177748218928597158346744541337107358427757919660562583883823262178961691787226118865632764934288772405859754877759869235530653929937901193611669007472354746360764601872442031379944139824366828698790212922996174192728625891720057612509349100482545964152046477925114446500732164109099345259799455690095576788686397487061948854749024863607921857834205793797188834779656273479112388585706424836379072355410286787018527401653934219888361061949671961055068686961468019035629749424086587195041004404915266476272761070511568387063401264136517237211409916458796347624949215904533937210937520465798300175408017538862312719042361037129338896586028150046596078872444365564480545689033575955702988396719744528212984142578483954005084264327730840985420021409069485412320805268520094146798876110414583170390473982488899228091818213934288295679717369943152460447027290669964066815 +-340282366920938463463374607431768211455 +-179769313486231590772930519078902473361797697894230657273430081157732675805500963132708477322407536021120113879871393357658789768814416622492847430639474124377767893424865485276302219601246094119453082952085005768838150682342462881473913110540827237163350510684586298239947245938479716304835356329624224137215 +-1189731495357231765085759326628007130763444687096510237472674821233261358180483686904488595472612039915115437484839309258897667381308687426274524698341565006080871634366004897522143251619531446845952345709482135847036647464830984784714280967845614138476044338404886122905286855313236158695999885790106357018120815363320780964323712757164290613406875202417365323950267880089067517372270610835647545755780793431622213451903817859630690311343850657539360649645193283178291767658965405285113556134369793281725888015908414675289832538063419234888599898980623114025121674472051872439321323198402942705341366951274739014593816898288994445173400364617928377138074411345791848573595077170437644191743889644885377684738322240608239079061399475675334739784016491742621485229014847672335977897158397334226349734811441653077758250988926030894789604676153104257260141806823027588003441951455327701598071281589597169413965608439504983171255062282026626200048042149808200002060993433681237623857880627479727072877482838438705048034164633337013385405998040701908662387301605018188262573723766279240798931717708807901740265407930976419648877869604017517691938687988088008944251258826969688364194133945780157844364946052713655454906327187428531895100278695119323496808703630436193927592692344820812834297364478686862064169042458555136532055050508189891866846863799917647547291371573500701015197559097453040033031520683518216494195636696077748110598284901343611469214274121810495077979275556645164983850062051066517084647369464036640569339464837172183352956873912042640003611618789278195710052094562761306703551840330110645101995435167626688669627763820604342480357906415354212732946756073006907088870496125050068156659252761297664065498347492661798824062312210409274584565587264846417650160123175874034726261957289081466197651553830744424709698634753627770356227126145052549125229448040149114795681359875968512808575244271871455454084894986155020794806980939215658055319165641681105966454159951476908583129721503298816585142073061480888021769818338417129396878371459575846052583142928447249703698548125295775920936450022651427249949580708203966082847550921891152133321048011973883636577825533325988852156325439335021315312134081390451021255363707903495916963125924201167877190108935255914539488216897117943269373608639074472792751116715127106396425081353553137213552890539802602978645319795100976432939091924660228878912900654210118287298298707382159717184569540515403029173307292454391789568674219640761451173600617752186991913366837033887201582071625868247133104513315097274713442728340606642890406496636104443217752811227470029162858093727701049646499540220983981932786613204254226464243689610107429923197638681545837561773535568984536053627234424277105760924864023781629665526314910906960488073475217005121136311870439925762508666032566213750416695719919674223210606724721373471234021613540712188239909701971943944347480314217903886317767779921539892177334344368907550318800833546852344370327089284147501640589448482001254237386680074457341910933774891959681016516069106149905572425810895586938833067490204900368624166301968553005687040285095450484840073528643826570403767157286512380255109954518857013476588189300004138849715883139866071547574816476727635116435462804401112711392529180570794193422686818353212799068972247697191474268157912195973794192807298886952361100880264258801320928040011928153970801130741339550003299015924978259936974358726286143980520112454369271114083747919007803406596321353417004068869443405472140675963640997405009225803505672726465095506267339268892424364561897661906898424186770491035344080399248327097911712881140170384182058601614758284200750183500329358499691864066590539660709069537381601887679046657759654588001937117771344698326428792622894338016112445533539447087462049763409147542099248815521395929388007711172017894897793706604273480985161028815458787911160979113422433557549170905442026397275695283207305331845419990749347810524006194197200591652147867193696254337864981603833146354201700628817947177518115217674352016511172347727727075220056177748218928597158346744541337107358427757919660562583883823262178961691787226118865632764934288772405859754877759869235530653929937901193611669007472354746360764601872442031379944139824366828698790212922996174192728625891720057612509349100482545964152046477925114446500732164109099345259799455690095576788686397487061948854749024863607921857834205793797188834779656273479112388585706424836379072355410286787018527401653934219888361061949671961055068686961468019035629749424086587195041004404915266476272761070511568387063401264136517237211409916458796347624949215904533937210937520465798300175408017538862312719042361037129338896586028150046596078872444365564480545689033575955702988396719744528212984142578483954005084264327730840985420021409069485412320805268520094146798876110414583170390473982488899228091818213934288295679717369943152460447027290669964066815 ++0x.80000000000000000000000000000001p1025 diff --git a/stdlib/tst-strtod-round-data.h b/stdlib/tst-strtod-round-data.h index fc09bc9..5ac25f7 100644 --- a/stdlib/tst-strtod-round-data.h +++ b/stdlib/tst-strtod-round-data.h @@ -2,1852 +2,1852 @@ static const struct test tests[] = { TEST ("3.518437208883201171875E+013", false, - 0x2p+44, - 0x2p+44, - 0x2p+44, - 0x2.000004p+44, - false, - 0x2.0000000000002p+44, - 0x2.0000000000004p+44, - 0x2.0000000000002p+44, - 0x2.0000000000004p+44, - true, - 0x2.0000000000003p+44, - 0x2.0000000000003p+44, - 0x2.0000000000003p+44, - 0x2.0000000000003p+44, - true, - 0x2.0000000000003p+44, - 0x2.0000000000003p+44, - 0x2.0000000000003p+44, - 0x2.0000000000003p+44, - true, - 0x2.0000000000003p+44, - 0x2.0000000000003p+44, - 0x2.0000000000003p+44, - 0x2.0000000000003p+44, - true, - 0x2.0000000000003p+44, - 0x2.0000000000003p+44, - 0x2.0000000000003p+44, - 0x2.0000000000003p+44), + 0x2p+44, false, + 0x2p+44, false, + 0x2p+44, false, + 0x2.000004p+44, false, + false, + 0x2.0000000000002p+44, false, + 0x2.0000000000004p+44, false, + 0x2.0000000000002p+44, false, + 0x2.0000000000004p+44, false, + true, + 0x2.0000000000003p+44, false, + 0x2.0000000000003p+44, false, + 0x2.0000000000003p+44, false, + 0x2.0000000000003p+44, false, + true, + 0x2.0000000000003p+44, false, + 0x2.0000000000003p+44, false, + 0x2.0000000000003p+44, false, + 0x2.0000000000003p+44, false, + true, + 0x2.0000000000003p+44, false, + 0x2.0000000000003p+44, false, + 0x2.0000000000003p+44, false, + 0x2.0000000000003p+44, false, + true, + 0x2.0000000000003p+44, false, + 0x2.0000000000003p+44, false, + 0x2.0000000000003p+44, false, + 0x2.0000000000003p+44, false), TEST ("1.00000005960464477550", false, - 0x1p+0, - 0x1.000002p+0, - 0x1p+0, - 0x1.000002p+0, - false, - 0x1.000001p+0, - 0x1.000001p+0, - 0x1.000001p+0, - 0x1.0000010000001p+0, - false, - 0x1.0000010000000002p+0, - 0x1.0000010000000002p+0, - 0x1.0000010000000002p+0, - 0x1.0000010000000004p+0, - false, - 0x1.0000010000000002p+0, - 0x1.0000010000000002p+0, - 0x1.0000010000000002p+0, - 0x1.0000010000000004p+0, - false, - 0x1.0000010000000002048242f2ffp+0, - 0x1.0000010000000002048242f2ff8p+0, - 0x1.0000010000000002048242f2ffp+0, - 0x1.0000010000000002048242f2ff8p+0, - false, - 0x1.0000010000000002048242f2ff66p+0, - 0x1.0000010000000002048242f2ff67p+0, - 0x1.0000010000000002048242f2ff66p+0, - 0x1.0000010000000002048242f2ff67p+0), + 0x1p+0, false, + 0x1.000002p+0, false, + 0x1p+0, false, + 0x1.000002p+0, false, + false, + 0x1.000001p+0, false, + 0x1.000001p+0, false, + 0x1.000001p+0, false, + 0x1.0000010000001p+0, false, + false, + 0x1.0000010000000002p+0, false, + 0x1.0000010000000002p+0, false, + 0x1.0000010000000002p+0, false, + 0x1.0000010000000004p+0, false, + false, + 0x1.0000010000000002p+0, false, + 0x1.0000010000000002p+0, false, + 0x1.0000010000000002p+0, false, + 0x1.0000010000000004p+0, false, + false, + 0x1.0000010000000002048242f2ffp+0, false, + 0x1.0000010000000002048242f2ff8p+0, false, + 0x1.0000010000000002048242f2ffp+0, false, + 0x1.0000010000000002048242f2ff8p+0, false, + false, + 0x1.0000010000000002048242f2ff66p+0, false, + 0x1.0000010000000002048242f2ff67p+0, false, + 0x1.0000010000000002048242f2ff66p+0, false, + 0x1.0000010000000002048242f2ff67p+0, false), TEST ("1.0000000596046447755", false, - 0x1p+0, - 0x1.000002p+0, - 0x1p+0, - 0x1.000002p+0, - false, - 0x1.000001p+0, - 0x1.000001p+0, - 0x1.000001p+0, - 0x1.0000010000001p+0, - false, - 0x1.0000010000000002p+0, - 0x1.0000010000000002p+0, - 0x1.0000010000000002p+0, - 0x1.0000010000000004p+0, - false, - 0x1.0000010000000002p+0, - 0x1.0000010000000002p+0, - 0x1.0000010000000002p+0, - 0x1.0000010000000004p+0, - false, - 0x1.0000010000000002048242f2ffp+0, - 0x1.0000010000000002048242f2ff8p+0, - 0x1.0000010000000002048242f2ffp+0, - 0x1.0000010000000002048242f2ff8p+0, - false, - 0x1.0000010000000002048242f2ff66p+0, - 0x1.0000010000000002048242f2ff67p+0, - 0x1.0000010000000002048242f2ff66p+0, - 0x1.0000010000000002048242f2ff67p+0), + 0x1p+0, false, + 0x1.000002p+0, false, + 0x1p+0, false, + 0x1.000002p+0, false, + false, + 0x1.000001p+0, false, + 0x1.000001p+0, false, + 0x1.000001p+0, false, + 0x1.0000010000001p+0, false, + false, + 0x1.0000010000000002p+0, false, + 0x1.0000010000000002p+0, false, + 0x1.0000010000000002p+0, false, + 0x1.0000010000000004p+0, false, + false, + 0x1.0000010000000002p+0, false, + 0x1.0000010000000002p+0, false, + 0x1.0000010000000002p+0, false, + 0x1.0000010000000004p+0, false, + false, + 0x1.0000010000000002048242f2ffp+0, false, + 0x1.0000010000000002048242f2ff8p+0, false, + 0x1.0000010000000002048242f2ffp+0, false, + 0x1.0000010000000002048242f2ff8p+0, false, + false, + 0x1.0000010000000002048242f2ff66p+0, false, + 0x1.0000010000000002048242f2ff67p+0, false, + 0x1.0000010000000002048242f2ff66p+0, false, + 0x1.0000010000000002048242f2ff67p+0, false), TEST ("1.000000059604644776", false, - 0x1p+0, - 0x1.000002p+0, - 0x1p+0, - 0x1.000002p+0, - false, - 0x1.000001p+0, - 0x1.000001p+0, - 0x1.000001p+0, - 0x1.0000010000001p+0, - false, - 0x1.000001000000000ap+0, - 0x1.000001000000000cp+0, - 0x1.000001000000000ap+0, - 0x1.000001000000000cp+0, - false, - 0x1.000001000000000ap+0, - 0x1.000001000000000cp+0, - 0x1.000001000000000ap+0, - 0x1.000001000000000cp+0, - false, - 0x1.000001000000000b3db12bdc21p+0, - 0x1.000001000000000b3db12bdc21p+0, - 0x1.000001000000000b3db12bdc21p+0, - 0x1.000001000000000b3db12bdc218p+0, - false, - 0x1.000001000000000b3db12bdc213cp+0, - 0x1.000001000000000b3db12bdc213dp+0, - 0x1.000001000000000b3db12bdc213cp+0, - 0x1.000001000000000b3db12bdc213dp+0), + 0x1p+0, false, + 0x1.000002p+0, false, + 0x1p+0, false, + 0x1.000002p+0, false, + false, + 0x1.000001p+0, false, + 0x1.000001p+0, false, + 0x1.000001p+0, false, + 0x1.0000010000001p+0, false, + false, + 0x1.000001000000000ap+0, false, + 0x1.000001000000000cp+0, false, + 0x1.000001000000000ap+0, false, + 0x1.000001000000000cp+0, false, + false, + 0x1.000001000000000ap+0, false, + 0x1.000001000000000cp+0, false, + 0x1.000001000000000ap+0, false, + 0x1.000001000000000cp+0, false, + false, + 0x1.000001000000000b3db12bdc21p+0, false, + 0x1.000001000000000b3db12bdc21p+0, false, + 0x1.000001000000000b3db12bdc21p+0, false, + 0x1.000001000000000b3db12bdc218p+0, false, + false, + 0x1.000001000000000b3db12bdc213cp+0, false, + 0x1.000001000000000b3db12bdc213dp+0, false, + 0x1.000001000000000b3db12bdc213cp+0, false, + 0x1.000001000000000b3db12bdc213dp+0, false), TEST ("1.000000059604644775", false, - 0x1p+0, - 0x1p+0, - 0x1p+0, - 0x1.000002p+0, - false, - 0x1.000000fffffffp+0, - 0x1.000001p+0, - 0x1.000000fffffffp+0, - 0x1.000001p+0, - false, - 0x1.000000fffffffff8p+0, - 0x1.000000fffffffff8p+0, - 0x1.000000fffffffff8p+0, - 0x1.000000fffffffffap+0, - false, - 0x1.000000fffffffff8p+0, - 0x1.000000fffffffff8p+0, - 0x1.000000fffffffff8p+0, - 0x1.000000fffffffffap+0, - false, - 0x1.000000fffffffff8cb535a09dd8p+0, - 0x1.000000fffffffff8cb535a09dd8p+0, - 0x1.000000fffffffff8cb535a09dd8p+0, - 0x1.000000fffffffff8cb535a09dep+0, - false, - 0x1.000000fffffffff8cb535a09dd9p+0, - 0x1.000000fffffffff8cb535a09dd91p+0, - 0x1.000000fffffffff8cb535a09dd9p+0, - 0x1.000000fffffffff8cb535a09dd91p+0), + 0x1p+0, false, + 0x1p+0, false, + 0x1p+0, false, + 0x1.000002p+0, false, + false, + 0x1.000000fffffffp+0, false, + 0x1.000001p+0, false, + 0x1.000000fffffffp+0, false, + 0x1.000001p+0, false, + false, + 0x1.000000fffffffff8p+0, false, + 0x1.000000fffffffff8p+0, false, + 0x1.000000fffffffff8p+0, false, + 0x1.000000fffffffffap+0, false, + false, + 0x1.000000fffffffff8p+0, false, + 0x1.000000fffffffff8p+0, false, + 0x1.000000fffffffff8p+0, false, + 0x1.000000fffffffffap+0, false, + false, + 0x1.000000fffffffff8cb535a09dd8p+0, false, + 0x1.000000fffffffff8cb535a09dd8p+0, false, + 0x1.000000fffffffff8cb535a09dd8p+0, false, + 0x1.000000fffffffff8cb535a09dep+0, false, + false, + 0x1.000000fffffffff8cb535a09dd9p+0, false, + 0x1.000000fffffffff8cb535a09dd91p+0, false, + 0x1.000000fffffffff8cb535a09dd9p+0, false, + 0x1.000000fffffffff8cb535a09dd91p+0, false), TEST ("1.00000005960464478", false, - 0x1p+0, - 0x1.000002p+0, - 0x1p+0, - 0x1.000002p+0, - false, - 0x1.000001p+0, - 0x1.000001p+0, - 0x1.000001p+0, - 0x1.0000010000001p+0, - false, - 0x1.0000010000000054p+0, - 0x1.0000010000000056p+0, - 0x1.0000010000000054p+0, - 0x1.0000010000000056p+0, - false, - 0x1.0000010000000054p+0, - 0x1.0000010000000056p+0, - 0x1.0000010000000054p+0, - 0x1.0000010000000056p+0, - false, - 0x1.0000010000000055072873252f8p+0, - 0x1.0000010000000055072873253p+0, - 0x1.0000010000000055072873252f8p+0, - 0x1.0000010000000055072873253p+0, - false, - 0x1.0000010000000055072873252febp+0, - 0x1.0000010000000055072873252febp+0, - 0x1.0000010000000055072873252febp+0, - 0x1.0000010000000055072873252fecp+0), + 0x1p+0, false, + 0x1.000002p+0, false, + 0x1p+0, false, + 0x1.000002p+0, false, + false, + 0x1.000001p+0, false, + 0x1.000001p+0, false, + 0x1.000001p+0, false, + 0x1.0000010000001p+0, false, + false, + 0x1.0000010000000054p+0, false, + 0x1.0000010000000056p+0, false, + 0x1.0000010000000054p+0, false, + 0x1.0000010000000056p+0, false, + false, + 0x1.0000010000000054p+0, false, + 0x1.0000010000000056p+0, false, + 0x1.0000010000000054p+0, false, + 0x1.0000010000000056p+0, false, + false, + 0x1.0000010000000055072873252f8p+0, false, + 0x1.0000010000000055072873253p+0, false, + 0x1.0000010000000055072873252f8p+0, false, + 0x1.0000010000000055072873253p+0, false, + false, + 0x1.0000010000000055072873252febp+0, false, + 0x1.0000010000000055072873252febp+0, false, + 0x1.0000010000000055072873252febp+0, false, + 0x1.0000010000000055072873252fecp+0, false), TEST ("1.0000000596046448", false, - 0x1p+0, - 0x1.000002p+0, - 0x1p+0, - 0x1.000002p+0, - false, - 0x1.000001p+0, - 0x1.000001p+0, - 0x1.000001p+0, - 0x1.0000010000001p+0, - false, - 0x1.00000100000001c4p+0, - 0x1.00000100000001c6p+0, - 0x1.00000100000001c4p+0, - 0x1.00000100000001c6p+0, - false, - 0x1.00000100000001c4p+0, - 0x1.00000100000001c6p+0, - 0x1.00000100000001c4p+0, - 0x1.00000100000001c6p+0, - false, - 0x1.00000100000001c5f67cd79279p+0, - 0x1.00000100000001c5f67cd792798p+0, - 0x1.00000100000001c5f67cd79279p+0, - 0x1.00000100000001c5f67cd792798p+0, - false, - 0x1.00000100000001c5f67cd7927953p+0, - 0x1.00000100000001c5f67cd7927954p+0, - 0x1.00000100000001c5f67cd7927953p+0, - 0x1.00000100000001c5f67cd7927954p+0), + 0x1p+0, false, + 0x1.000002p+0, false, + 0x1p+0, false, + 0x1.000002p+0, false, + false, + 0x1.000001p+0, false, + 0x1.000001p+0, false, + 0x1.000001p+0, false, + 0x1.0000010000001p+0, false, + false, + 0x1.00000100000001c4p+0, false, + 0x1.00000100000001c6p+0, false, + 0x1.00000100000001c4p+0, false, + 0x1.00000100000001c6p+0, false, + false, + 0x1.00000100000001c4p+0, false, + 0x1.00000100000001c6p+0, false, + 0x1.00000100000001c4p+0, false, + 0x1.00000100000001c6p+0, false, + false, + 0x1.00000100000001c5f67cd79279p+0, false, + 0x1.00000100000001c5f67cd792798p+0, false, + 0x1.00000100000001c5f67cd79279p+0, false, + 0x1.00000100000001c5f67cd792798p+0, false, + false, + 0x1.00000100000001c5f67cd7927953p+0, false, + 0x1.00000100000001c5f67cd7927954p+0, false, + 0x1.00000100000001c5f67cd7927953p+0, false, + 0x1.00000100000001c5f67cd7927954p+0, false), TEST ("1.000000059604645", false, - 0x1p+0, - 0x1.000002p+0, - 0x1p+0, - 0x1.000002p+0, - false, - 0x1.0000010000001p+0, - 0x1.0000010000001p+0, - 0x1.0000010000001p+0, - 0x1.0000010000002p+0, - false, - 0x1.000001000000102ep+0, - 0x1.000001000000103p+0, - 0x1.000001000000102ep+0, - 0x1.000001000000103p+0, - false, - 0x1.000001000000102ep+0, - 0x1.000001000000103p+0, - 0x1.000001000000102ep+0, - 0x1.000001000000103p+0, - false, - 0x1.000001000000102f4fc8c3d757p+0, - 0x1.000001000000102f4fc8c3d7578p+0, - 0x1.000001000000102f4fc8c3d757p+0, - 0x1.000001000000102f4fc8c3d7578p+0, - false, - 0x1.000001000000102f4fc8c3d75769p+0, - 0x1.000001000000102f4fc8c3d75769p+0, - 0x1.000001000000102f4fc8c3d75769p+0, - 0x1.000001000000102f4fc8c3d7576ap+0), + 0x1p+0, false, + 0x1.000002p+0, false, + 0x1p+0, false, + 0x1.000002p+0, false, + false, + 0x1.0000010000001p+0, false, + 0x1.0000010000001p+0, false, + 0x1.0000010000001p+0, false, + 0x1.0000010000002p+0, false, + false, + 0x1.000001000000102ep+0, false, + 0x1.000001000000103p+0, false, + 0x1.000001000000102ep+0, false, + 0x1.000001000000103p+0, false, + false, + 0x1.000001000000102ep+0, false, + 0x1.000001000000103p+0, false, + 0x1.000001000000102ep+0, false, + 0x1.000001000000103p+0, false, + false, + 0x1.000001000000102f4fc8c3d757p+0, false, + 0x1.000001000000102f4fc8c3d7578p+0, false, + 0x1.000001000000102f4fc8c3d757p+0, false, + 0x1.000001000000102f4fc8c3d7578p+0, false, + false, + 0x1.000001000000102f4fc8c3d75769p+0, false, + 0x1.000001000000102f4fc8c3d75769p+0, false, + 0x1.000001000000102f4fc8c3d75769p+0, false, + 0x1.000001000000102f4fc8c3d7576ap+0, false), TEST ("1.00000005960464", false, - 0x1p+0, - 0x1p+0, - 0x1p+0, - 0x1.000002p+0, - false, - 0x1.000000fffffeap+0, - 0x1.000000fffffeap+0, - 0x1.000000fffffeap+0, - 0x1.000000fffffebp+0, - false, - 0x1.000000fffffea7e4p+0, - 0x1.000000fffffea7e6p+0, - 0x1.000000fffffea7e4p+0, - 0x1.000000fffffea7e6p+0, - false, - 0x1.000000fffffea7e4p+0, - 0x1.000000fffffea7e6p+0, - 0x1.000000fffffea7e4p+0, - 0x1.000000fffffea7e6p+0, - false, - 0x1.000000fffffea7e5975eb11da7p+0, - 0x1.000000fffffea7e5975eb11da78p+0, - 0x1.000000fffffea7e5975eb11da7p+0, - 0x1.000000fffffea7e5975eb11da78p+0, - false, - 0x1.000000fffffea7e5975eb11da74ap+0, - 0x1.000000fffffea7e5975eb11da74bp+0, - 0x1.000000fffffea7e5975eb11da74ap+0, - 0x1.000000fffffea7e5975eb11da74bp+0), + 0x1p+0, false, + 0x1p+0, false, + 0x1p+0, false, + 0x1.000002p+0, false, + false, + 0x1.000000fffffeap+0, false, + 0x1.000000fffffeap+0, false, + 0x1.000000fffffeap+0, false, + 0x1.000000fffffebp+0, false, + false, + 0x1.000000fffffea7e4p+0, false, + 0x1.000000fffffea7e6p+0, false, + 0x1.000000fffffea7e4p+0, false, + 0x1.000000fffffea7e6p+0, false, + false, + 0x1.000000fffffea7e4p+0, false, + 0x1.000000fffffea7e6p+0, false, + 0x1.000000fffffea7e4p+0, false, + 0x1.000000fffffea7e6p+0, false, + false, + 0x1.000000fffffea7e5975eb11da7p+0, false, + 0x1.000000fffffea7e5975eb11da78p+0, false, + 0x1.000000fffffea7e5975eb11da7p+0, false, + 0x1.000000fffffea7e5975eb11da78p+0, false, + false, + 0x1.000000fffffea7e5975eb11da74ap+0, false, + 0x1.000000fffffea7e5975eb11da74bp+0, false, + 0x1.000000fffffea7e5975eb11da74ap+0, false, + 0x1.000000fffffea7e5975eb11da74bp+0, false), TEST ("1.0000000596046", false, - 0x1p+0, - 0x1p+0, - 0x1p+0, - 0x1.000002p+0, - false, - 0x1.000000fffff36p+0, - 0x1.000000fffff36p+0, - 0x1.000000fffff36p+0, - 0x1.000000fffff37p+0, - false, - 0x1.000000fffff36596p+0, - 0x1.000000fffff36598p+0, - 0x1.000000fffff36596p+0, - 0x1.000000fffff36598p+0, - false, - 0x1.000000fffff36596p+0, - 0x1.000000fffff36598p+0, - 0x1.000000fffff36596p+0, - 0x1.000000fffff36598p+0, - false, - 0x1.000000fffff36597d40e1b5026p+0, - 0x1.000000fffff36597d40e1b50268p+0, - 0x1.000000fffff36597d40e1b5026p+0, - 0x1.000000fffff36597d40e1b50268p+0, - false, - 0x1.000000fffff36597d40e1b502655p+0, - 0x1.000000fffff36597d40e1b502656p+0, - 0x1.000000fffff36597d40e1b502655p+0, - 0x1.000000fffff36597d40e1b502656p+0), + 0x1p+0, false, + 0x1p+0, false, + 0x1p+0, false, + 0x1.000002p+0, false, + false, + 0x1.000000fffff36p+0, false, + 0x1.000000fffff36p+0, false, + 0x1.000000fffff36p+0, false, + 0x1.000000fffff37p+0, false, + false, + 0x1.000000fffff36596p+0, false, + 0x1.000000fffff36598p+0, false, + 0x1.000000fffff36596p+0, false, + 0x1.000000fffff36598p+0, false, + false, + 0x1.000000fffff36596p+0, false, + 0x1.000000fffff36598p+0, false, + 0x1.000000fffff36596p+0, false, + 0x1.000000fffff36598p+0, false, + false, + 0x1.000000fffff36597d40e1b5026p+0, false, + 0x1.000000fffff36597d40e1b50268p+0, false, + 0x1.000000fffff36597d40e1b5026p+0, false, + 0x1.000000fffff36597d40e1b50268p+0, false, + false, + 0x1.000000fffff36597d40e1b502655p+0, false, + 0x1.000000fffff36597d40e1b502656p+0, false, + 0x1.000000fffff36597d40e1b502655p+0, false, + 0x1.000000fffff36597d40e1b502656p+0, false), TEST ("1.000000059605", false, - 0x1p+0, - 0x1.000002p+0, - 0x1p+0, - 0x1.000002p+0, - false, - 0x1.000001000063fp+0, - 0x1.000001000064p+0, - 0x1.000001000063fp+0, - 0x1.000001000064p+0, - false, - 0x1.000001000063fcap+0, - 0x1.000001000063fca2p+0, - 0x1.000001000063fcap+0, - 0x1.000001000063fca2p+0, - false, - 0x1.000001000063fcap+0, - 0x1.000001000063fca2p+0, - 0x1.000001000063fcap+0, - 0x1.000001000063fca2p+0, - false, - 0x1.000001000063fca17533f5572f8p+0, - 0x1.000001000063fca17533f5573p+0, - 0x1.000001000063fca17533f5572f8p+0, - 0x1.000001000063fca17533f5573p+0, - false, - 0x1.000001000063fca17533f5572fe9p+0, - 0x1.000001000063fca17533f5572feap+0, - 0x1.000001000063fca17533f5572fe9p+0, - 0x1.000001000063fca17533f5572feap+0), + 0x1p+0, false, + 0x1.000002p+0, false, + 0x1p+0, false, + 0x1.000002p+0, false, + false, + 0x1.000001000063fp+0, false, + 0x1.000001000064p+0, false, + 0x1.000001000063fp+0, false, + 0x1.000001000064p+0, false, + false, + 0x1.000001000063fcap+0, false, + 0x1.000001000063fca2p+0, false, + 0x1.000001000063fcap+0, false, + 0x1.000001000063fca2p+0, false, + false, + 0x1.000001000063fcap+0, false, + 0x1.000001000063fca2p+0, false, + 0x1.000001000063fcap+0, false, + 0x1.000001000063fca2p+0, false, + false, + 0x1.000001000063fca17533f5572f8p+0, false, + 0x1.000001000063fca17533f5573p+0, false, + 0x1.000001000063fca17533f5572f8p+0, false, + 0x1.000001000063fca17533f5573p+0, false, + false, + 0x1.000001000063fca17533f5572fe9p+0, false, + 0x1.000001000063fca17533f5572feap+0, false, + 0x1.000001000063fca17533f5572fe9p+0, false, + 0x1.000001000063fca17533f5572feap+0, false), TEST ("1.00000005960", false, - 0x1p+0, - 0x1p+0, - 0x1p+0, - 0x1.000002p+0, - false, - 0x1.000000fffae49p+0, - 0x1.000000fffae4ap+0, - 0x1.000000fffae49p+0, - 0x1.000000fffae4ap+0, - false, - 0x1.000000fffae49ca8p+0, - 0x1.000000fffae49caap+0, - 0x1.000000fffae49ca8p+0, - 0x1.000000fffae49caap+0, - false, - 0x1.000000fffae49ca8p+0, - 0x1.000000fffae49caap+0, - 0x1.000000fffae49ca8p+0, - 0x1.000000fffae49caap+0, - false, - 0x1.000000fffae49ca916dacfff38p+0, - 0x1.000000fffae49ca916dacfff38p+0, - 0x1.000000fffae49ca916dacfff38p+0, - 0x1.000000fffae49ca916dacfff388p+0, - false, - 0x1.000000fffae49ca916dacfff382dp+0, - 0x1.000000fffae49ca916dacfff382dp+0, - 0x1.000000fffae49ca916dacfff382dp+0, - 0x1.000000fffae49ca916dacfff382ep+0), + 0x1p+0, false, + 0x1p+0, false, + 0x1p+0, false, + 0x1.000002p+0, false, + false, + 0x1.000000fffae49p+0, false, + 0x1.000000fffae4ap+0, false, + 0x1.000000fffae49p+0, false, + 0x1.000000fffae4ap+0, false, + false, + 0x1.000000fffae49ca8p+0, false, + 0x1.000000fffae49caap+0, false, + 0x1.000000fffae49ca8p+0, false, + 0x1.000000fffae49caap+0, false, + false, + 0x1.000000fffae49ca8p+0, false, + 0x1.000000fffae49caap+0, false, + 0x1.000000fffae49ca8p+0, false, + 0x1.000000fffae49caap+0, false, + false, + 0x1.000000fffae49ca916dacfff38p+0, false, + 0x1.000000fffae49ca916dacfff38p+0, false, + 0x1.000000fffae49ca916dacfff38p+0, false, + 0x1.000000fffae49ca916dacfff388p+0, false, + false, + 0x1.000000fffae49ca916dacfff382dp+0, false, + 0x1.000000fffae49ca916dacfff382dp+0, false, + 0x1.000000fffae49ca916dacfff382dp+0, false, + 0x1.000000fffae49ca916dacfff382ep+0, false), TEST ("1.0000000596", false, - 0x1p+0, - 0x1p+0, - 0x1p+0, - 0x1.000002p+0, - false, - 0x1.000000fffae49p+0, - 0x1.000000fffae4ap+0, - 0x1.000000fffae49p+0, - 0x1.000000fffae4ap+0, - false, - 0x1.000000fffae49ca8p+0, - 0x1.000000fffae49caap+0, - 0x1.000000fffae49ca8p+0, - 0x1.000000fffae49caap+0, - false, - 0x1.000000fffae49ca8p+0, - 0x1.000000fffae49caap+0, - 0x1.000000fffae49ca8p+0, - 0x1.000000fffae49caap+0, - false, - 0x1.000000fffae49ca916dacfff38p+0, - 0x1.000000fffae49ca916dacfff38p+0, - 0x1.000000fffae49ca916dacfff38p+0, - 0x1.000000fffae49ca916dacfff388p+0, - false, - 0x1.000000fffae49ca916dacfff382dp+0, - 0x1.000000fffae49ca916dacfff382dp+0, - 0x1.000000fffae49ca916dacfff382dp+0, - 0x1.000000fffae49ca916dacfff382ep+0), + 0x1p+0, false, + 0x1p+0, false, + 0x1p+0, false, + 0x1.000002p+0, false, + false, + 0x1.000000fffae49p+0, false, + 0x1.000000fffae4ap+0, false, + 0x1.000000fffae49p+0, false, + 0x1.000000fffae4ap+0, false, + false, + 0x1.000000fffae49ca8p+0, false, + 0x1.000000fffae49caap+0, false, + 0x1.000000fffae49ca8p+0, false, + 0x1.000000fffae49caap+0, false, + false, + 0x1.000000fffae49ca8p+0, false, + 0x1.000000fffae49caap+0, false, + 0x1.000000fffae49ca8p+0, false, + 0x1.000000fffae49caap+0, false, + false, + 0x1.000000fffae49ca916dacfff38p+0, false, + 0x1.000000fffae49ca916dacfff38p+0, false, + 0x1.000000fffae49ca916dacfff38p+0, false, + 0x1.000000fffae49ca916dacfff388p+0, false, + false, + 0x1.000000fffae49ca916dacfff382dp+0, false, + 0x1.000000fffae49ca916dacfff382dp+0, false, + 0x1.000000fffae49ca916dacfff382dp+0, false, + 0x1.000000fffae49ca916dacfff382ep+0, false), TEST ("1.000000060", false, - 0x1p+0, - 0x1.000002p+0, - 0x1p+0, - 0x1.000002p+0, - false, - 0x1.00000101b2b29p+0, - 0x1.00000101b2b2ap+0, - 0x1.00000101b2b29p+0, - 0x1.00000101b2b2ap+0, - false, - 0x1.00000101b2b29a46p+0, - 0x1.00000101b2b29a46p+0, - 0x1.00000101b2b29a46p+0, - 0x1.00000101b2b29a48p+0, - false, - 0x1.00000101b2b29a46p+0, - 0x1.00000101b2b29a46p+0, - 0x1.00000101b2b29a46p+0, - 0x1.00000101b2b29a48p+0, - false, - 0x1.00000101b2b29a4692b67b7ca3p+0, - 0x1.00000101b2b29a4692b67b7ca3p+0, - 0x1.00000101b2b29a4692b67b7ca3p+0, - 0x1.00000101b2b29a4692b67b7ca38p+0, - false, - 0x1.00000101b2b29a4692b67b7ca313p+0, - 0x1.00000101b2b29a4692b67b7ca314p+0, - 0x1.00000101b2b29a4692b67b7ca313p+0, - 0x1.00000101b2b29a4692b67b7ca314p+0), + 0x1p+0, false, + 0x1.000002p+0, false, + 0x1p+0, false, + 0x1.000002p+0, false, + false, + 0x1.00000101b2b29p+0, false, + 0x1.00000101b2b2ap+0, false, + 0x1.00000101b2b29p+0, false, + 0x1.00000101b2b2ap+0, false, + false, + 0x1.00000101b2b29a46p+0, false, + 0x1.00000101b2b29a46p+0, false, + 0x1.00000101b2b29a46p+0, false, + 0x1.00000101b2b29a48p+0, false, + false, + 0x1.00000101b2b29a46p+0, false, + 0x1.00000101b2b29a46p+0, false, + 0x1.00000101b2b29a46p+0, false, + 0x1.00000101b2b29a48p+0, false, + false, + 0x1.00000101b2b29a4692b67b7ca3p+0, false, + 0x1.00000101b2b29a4692b67b7ca3p+0, false, + 0x1.00000101b2b29a4692b67b7ca3p+0, false, + 0x1.00000101b2b29a4692b67b7ca38p+0, false, + false, + 0x1.00000101b2b29a4692b67b7ca313p+0, false, + 0x1.00000101b2b29a4692b67b7ca314p+0, false, + 0x1.00000101b2b29a4692b67b7ca313p+0, false, + 0x1.00000101b2b29a4692b67b7ca314p+0, false), TEST ("1.00000006", false, - 0x1p+0, - 0x1.000002p+0, - 0x1p+0, - 0x1.000002p+0, - false, - 0x1.00000101b2b29p+0, - 0x1.00000101b2b2ap+0, - 0x1.00000101b2b29p+0, - 0x1.00000101b2b2ap+0, - false, - 0x1.00000101b2b29a46p+0, - 0x1.00000101b2b29a46p+0, - 0x1.00000101b2b29a46p+0, - 0x1.00000101b2b29a48p+0, - false, - 0x1.00000101b2b29a46p+0, - 0x1.00000101b2b29a46p+0, - 0x1.00000101b2b29a46p+0, - 0x1.00000101b2b29a48p+0, - false, - 0x1.00000101b2b29a4692b67b7ca3p+0, - 0x1.00000101b2b29a4692b67b7ca3p+0, - 0x1.00000101b2b29a4692b67b7ca3p+0, - 0x1.00000101b2b29a4692b67b7ca38p+0, - false, - 0x1.00000101b2b29a4692b67b7ca313p+0, - 0x1.00000101b2b29a4692b67b7ca314p+0, - 0x1.00000101b2b29a4692b67b7ca313p+0, - 0x1.00000101b2b29a4692b67b7ca314p+0), + 0x1p+0, false, + 0x1.000002p+0, false, + 0x1p+0, false, + 0x1.000002p+0, false, + false, + 0x1.00000101b2b29p+0, false, + 0x1.00000101b2b2ap+0, false, + 0x1.00000101b2b29p+0, false, + 0x1.00000101b2b2ap+0, false, + false, + 0x1.00000101b2b29a46p+0, false, + 0x1.00000101b2b29a46p+0, false, + 0x1.00000101b2b29a46p+0, false, + 0x1.00000101b2b29a48p+0, false, + false, + 0x1.00000101b2b29a46p+0, false, + 0x1.00000101b2b29a46p+0, false, + 0x1.00000101b2b29a46p+0, false, + 0x1.00000101b2b29a48p+0, false, + false, + 0x1.00000101b2b29a4692b67b7ca3p+0, false, + 0x1.00000101b2b29a4692b67b7ca3p+0, false, + 0x1.00000101b2b29a4692b67b7ca3p+0, false, + 0x1.00000101b2b29a4692b67b7ca38p+0, false, + false, + 0x1.00000101b2b29a4692b67b7ca313p+0, false, + 0x1.00000101b2b29a4692b67b7ca314p+0, false, + 0x1.00000101b2b29a4692b67b7ca313p+0, false, + 0x1.00000101b2b29a4692b67b7ca314p+0, false), TEST ("1.0000001", false, - 0x1p+0, - 0x1.000002p+0, - 0x1p+0, - 0x1.000002p+0, - false, - 0x1.000001ad7f29ap+0, - 0x1.000001ad7f29bp+0, - 0x1.000001ad7f29ap+0, - 0x1.000001ad7f29bp+0, - false, - 0x1.000001ad7f29abcap+0, - 0x1.000001ad7f29abcap+0, - 0x1.000001ad7f29abcap+0, - 0x1.000001ad7f29abccp+0, - false, - 0x1.000001ad7f29abcap+0, - 0x1.000001ad7f29abcap+0, - 0x1.000001ad7f29abcap+0, - 0x1.000001ad7f29abccp+0, - false, - 0x1.000001ad7f29abcaf485787a65p+0, - 0x1.000001ad7f29abcaf485787a65p+0, - 0x1.000001ad7f29abcaf485787a65p+0, - 0x1.000001ad7f29abcaf485787a658p+0, - false, - 0x1.000001ad7f29abcaf485787a652p+0, - 0x1.000001ad7f29abcaf485787a6521p+0, - 0x1.000001ad7f29abcaf485787a652p+0, - 0x1.000001ad7f29abcaf485787a6521p+0), + 0x1p+0, false, + 0x1.000002p+0, false, + 0x1p+0, false, + 0x1.000002p+0, false, + false, + 0x1.000001ad7f29ap+0, false, + 0x1.000001ad7f29bp+0, false, + 0x1.000001ad7f29ap+0, false, + 0x1.000001ad7f29bp+0, false, + false, + 0x1.000001ad7f29abcap+0, false, + 0x1.000001ad7f29abcap+0, false, + 0x1.000001ad7f29abcap+0, false, + 0x1.000001ad7f29abccp+0, false, + false, + 0x1.000001ad7f29abcap+0, false, + 0x1.000001ad7f29abcap+0, false, + 0x1.000001ad7f29abcap+0, false, + 0x1.000001ad7f29abccp+0, false, + false, + 0x1.000001ad7f29abcaf485787a65p+0, false, + 0x1.000001ad7f29abcaf485787a65p+0, false, + 0x1.000001ad7f29abcaf485787a65p+0, false, + 0x1.000001ad7f29abcaf485787a658p+0, false, + false, + 0x1.000001ad7f29abcaf485787a652p+0, false, + 0x1.000001ad7f29abcaf485787a6521p+0, false, + 0x1.000001ad7f29abcaf485787a652p+0, false, + 0x1.000001ad7f29abcaf485787a6521p+0, false), TEST ("1.000000", true, - 0x1p+0, - 0x1p+0, - 0x1p+0, - 0x1p+0, - true, - 0x1p+0, - 0x1p+0, - 0x1p+0, - 0x1p+0, - true, - 0x1p+0, - 0x1p+0, - 0x1p+0, - 0x1p+0, - true, - 0x1p+0, - 0x1p+0, - 0x1p+0, - 0x1p+0, - true, - 0x1p+0, - 0x1p+0, - 0x1p+0, - 0x1p+0, - true, - 0x1p+0, - 0x1p+0, - 0x1p+0, - 0x1p+0), + 0x1p+0, false, + 0x1p+0, false, + 0x1p+0, false, + 0x1p+0, false, + true, + 0x1p+0, false, + 0x1p+0, false, + 0x1p+0, false, + 0x1p+0, false, + true, + 0x1p+0, false, + 0x1p+0, false, + 0x1p+0, false, + 0x1p+0, false, + true, + 0x1p+0, false, + 0x1p+0, false, + 0x1p+0, false, + 0x1p+0, false, + true, + 0x1p+0, false, + 0x1p+0, false, + 0x1p+0, false, + 0x1p+0, false, + true, + 0x1p+0, false, + 0x1p+0, false, + 0x1p+0, false, + 0x1p+0, false), TEST ("1.00000000000000011113", false, - 0x1p+0, - 0x1p+0, - 0x1p+0, - 0x1.000002p+0, - false, - 0x1p+0, - 0x1.0000000000001p+0, - 0x1p+0, - 0x1.0000000000001p+0, - false, - 0x1.00000000000008p+0, - 0x1.0000000000000802p+0, - 0x1.00000000000008p+0, - 0x1.0000000000000802p+0, - false, - 0x1.00000000000008p+0, - 0x1.0000000000000802p+0, - 0x1.00000000000008p+0, - 0x1.0000000000000802p+0, - false, - 0x1.0000000000000801fc96557232p+0, - 0x1.0000000000000801fc96557232p+0, - 0x1.0000000000000801fc96557232p+0, - 0x1.0000000000000801fc965572328p+0, - false, - 0x1.0000000000000801fc9655723222p+0, - 0x1.0000000000000801fc9655723222p+0, - 0x1.0000000000000801fc9655723222p+0, - 0x1.0000000000000801fc9655723223p+0), + 0x1p+0, false, + 0x1p+0, false, + 0x1p+0, false, + 0x1.000002p+0, false, + false, + 0x1p+0, false, + 0x1.0000000000001p+0, false, + 0x1p+0, false, + 0x1.0000000000001p+0, false, + false, + 0x1.00000000000008p+0, false, + 0x1.0000000000000802p+0, false, + 0x1.00000000000008p+0, false, + 0x1.0000000000000802p+0, false, + false, + 0x1.00000000000008p+0, false, + 0x1.0000000000000802p+0, false, + 0x1.00000000000008p+0, false, + 0x1.0000000000000802p+0, false, + false, + 0x1.0000000000000801fc96557232p+0, false, + 0x1.0000000000000801fc96557232p+0, false, + 0x1.0000000000000801fc96557232p+0, false, + 0x1.0000000000000801fc965572328p+0, false, + false, + 0x1.0000000000000801fc9655723222p+0, false, + 0x1.0000000000000801fc9655723222p+0, false, + 0x1.0000000000000801fc9655723222p+0, false, + 0x1.0000000000000801fc9655723223p+0, false), TEST ("1.00000000000000011103", false, - 0x1p+0, - 0x1p+0, - 0x1p+0, - 0x1.000002p+0, - false, - 0x1p+0, - 0x1.0000000000001p+0, - 0x1p+0, - 0x1.0000000000001p+0, - false, - 0x1.00000000000008p+0, - 0x1.00000000000008p+0, - 0x1.00000000000008p+0, - 0x1.0000000000000802p+0, - false, - 0x1.00000000000008p+0, - 0x1.00000000000008p+0, - 0x1.00000000000008p+0, - 0x1.0000000000000802p+0, - false, - 0x1.00000000000008002459c076c48p+0, - 0x1.00000000000008002459c076c5p+0, - 0x1.00000000000008002459c076c48p+0, - 0x1.00000000000008002459c076c5p+0, - false, - 0x1.00000000000008002459c076c4f7p+0, - 0x1.00000000000008002459c076c4f8p+0, - 0x1.00000000000008002459c076c4f7p+0, - 0x1.00000000000008002459c076c4f8p+0), + 0x1p+0, false, + 0x1p+0, false, + 0x1p+0, false, + 0x1.000002p+0, false, + false, + 0x1p+0, false, + 0x1.0000000000001p+0, false, + 0x1p+0, false, + 0x1.0000000000001p+0, false, + false, + 0x1.00000000000008p+0, false, + 0x1.00000000000008p+0, false, + 0x1.00000000000008p+0, false, + 0x1.0000000000000802p+0, false, + false, + 0x1.00000000000008p+0, false, + 0x1.00000000000008p+0, false, + 0x1.00000000000008p+0, false, + 0x1.0000000000000802p+0, false, + false, + 0x1.00000000000008002459c076c48p+0, false, + 0x1.00000000000008002459c076c5p+0, false, + 0x1.00000000000008002459c076c48p+0, false, + 0x1.00000000000008002459c076c5p+0, false, + false, + 0x1.00000000000008002459c076c4f7p+0, false, + 0x1.00000000000008002459c076c4f8p+0, false, + 0x1.00000000000008002459c076c4f7p+0, false, + 0x1.00000000000008002459c076c4f8p+0, false), TEST ("1.00000000000000011102", false, - 0x1p+0, - 0x1p+0, - 0x1p+0, - 0x1.000002p+0, - false, - 0x1p+0, - 0x1p+0, - 0x1p+0, - 0x1.0000000000001p+0, - false, - 0x1.00000000000007fep+0, - 0x1.00000000000008p+0, - 0x1.00000000000007fep+0, - 0x1.00000000000008p+0, - false, - 0x1.00000000000007fep+0, - 0x1.00000000000008p+0, - 0x1.00000000000007fep+0, - 0x1.00000000000008p+0, - false, - 0x1.00000000000007fff5207e5dap+0, - 0x1.00000000000007fff5207e5da08p+0, - 0x1.00000000000007fff5207e5dap+0, - 0x1.00000000000007fff5207e5da08p+0, - false, - 0x1.00000000000007fff5207e5da073p+0, - 0x1.00000000000007fff5207e5da073p+0, - 0x1.00000000000007fff5207e5da073p+0, - 0x1.00000000000007fff5207e5da074p+0), + 0x1p+0, false, + 0x1p+0, false, + 0x1p+0, false, + 0x1.000002p+0, false, + false, + 0x1p+0, false, + 0x1p+0, false, + 0x1p+0, false, + 0x1.0000000000001p+0, false, + false, + 0x1.00000000000007fep+0, false, + 0x1.00000000000008p+0, false, + 0x1.00000000000007fep+0, false, + 0x1.00000000000008p+0, false, + false, + 0x1.00000000000007fep+0, false, + 0x1.00000000000008p+0, false, + 0x1.00000000000007fep+0, false, + 0x1.00000000000008p+0, false, + false, + 0x1.00000000000007fff5207e5dap+0, false, + 0x1.00000000000007fff5207e5da08p+0, false, + 0x1.00000000000007fff5207e5dap+0, false, + 0x1.00000000000007fff5207e5da08p+0, false, + false, + 0x1.00000000000007fff5207e5da073p+0, false, + 0x1.00000000000007fff5207e5da073p+0, false, + 0x1.00000000000007fff5207e5da073p+0, false, + 0x1.00000000000007fff5207e5da074p+0, false), TEST ("1.00000000000000011101", false, - 0x1p+0, - 0x1p+0, - 0x1p+0, - 0x1.000002p+0, - false, - 0x1p+0, - 0x1p+0, - 0x1p+0, - 0x1.0000000000001p+0, - false, - 0x1.00000000000007fep+0, - 0x1.00000000000008p+0, - 0x1.00000000000007fep+0, - 0x1.00000000000008p+0, - false, - 0x1.00000000000007fep+0, - 0x1.00000000000008p+0, - 0x1.00000000000007fep+0, - 0x1.00000000000008p+0, - false, - 0x1.00000000000007ffc5e73c447b8p+0, - 0x1.00000000000007ffc5e73c447cp+0, - 0x1.00000000000007ffc5e73c447b8p+0, - 0x1.00000000000007ffc5e73c447cp+0, - false, - 0x1.00000000000007ffc5e73c447befp+0, - 0x1.00000000000007ffc5e73c447befp+0, - 0x1.00000000000007ffc5e73c447befp+0, - 0x1.00000000000007ffc5e73c447bfp+0), + 0x1p+0, false, + 0x1p+0, false, + 0x1p+0, false, + 0x1.000002p+0, false, + false, + 0x1p+0, false, + 0x1p+0, false, + 0x1p+0, false, + 0x1.0000000000001p+0, false, + false, + 0x1.00000000000007fep+0, false, + 0x1.00000000000008p+0, false, + 0x1.00000000000007fep+0, false, + 0x1.00000000000008p+0, false, + false, + 0x1.00000000000007fep+0, false, + 0x1.00000000000008p+0, false, + 0x1.00000000000007fep+0, false, + 0x1.00000000000008p+0, false, + false, + 0x1.00000000000007ffc5e73c447b8p+0, false, + 0x1.00000000000007ffc5e73c447cp+0, false, + 0x1.00000000000007ffc5e73c447b8p+0, false, + 0x1.00000000000007ffc5e73c447cp+0, false, + false, + 0x1.00000000000007ffc5e73c447befp+0, false, + 0x1.00000000000007ffc5e73c447befp+0, false, + 0x1.00000000000007ffc5e73c447befp+0, false, + 0x1.00000000000007ffc5e73c447bfp+0, false), TEST ("1.0000000000000001111", false, - 0x1p+0, - 0x1p+0, - 0x1p+0, - 0x1.000002p+0, - false, - 0x1p+0, - 0x1.0000000000001p+0, - 0x1p+0, - 0x1.0000000000001p+0, - false, - 0x1.00000000000008p+0, - 0x1.0000000000000802p+0, - 0x1.00000000000008p+0, - 0x1.0000000000000802p+0, - false, - 0x1.00000000000008p+0, - 0x1.0000000000000802p+0, - 0x1.00000000000008p+0, - 0x1.0000000000000802p+0, - false, - 0x1.00000000000008016eea8f26c48p+0, - 0x1.00000000000008016eea8f26c48p+0, - 0x1.00000000000008016eea8f26c48p+0, - 0x1.00000000000008016eea8f26c5p+0, - false, - 0x1.00000000000008016eea8f26c495p+0, - 0x1.00000000000008016eea8f26c496p+0, - 0x1.00000000000008016eea8f26c495p+0, - 0x1.00000000000008016eea8f26c496p+0), + 0x1p+0, false, + 0x1p+0, false, + 0x1p+0, false, + 0x1.000002p+0, false, + false, + 0x1p+0, false, + 0x1.0000000000001p+0, false, + 0x1p+0, false, + 0x1.0000000000001p+0, false, + false, + 0x1.00000000000008p+0, false, + 0x1.0000000000000802p+0, false, + 0x1.00000000000008p+0, false, + 0x1.0000000000000802p+0, false, + false, + 0x1.00000000000008p+0, false, + 0x1.0000000000000802p+0, false, + 0x1.00000000000008p+0, false, + 0x1.0000000000000802p+0, false, + false, + 0x1.00000000000008016eea8f26c48p+0, false, + 0x1.00000000000008016eea8f26c48p+0, false, + 0x1.00000000000008016eea8f26c48p+0, false, + 0x1.00000000000008016eea8f26c5p+0, false, + false, + 0x1.00000000000008016eea8f26c495p+0, false, + 0x1.00000000000008016eea8f26c496p+0, false, + 0x1.00000000000008016eea8f26c495p+0, false, + 0x1.00000000000008016eea8f26c496p+0, false), TEST ("1.000000000000000111", false, - 0x1p+0, - 0x1p+0, - 0x1p+0, - 0x1.000002p+0, - false, - 0x1p+0, - 0x1p+0, - 0x1p+0, - 0x1.0000000000001p+0, - false, - 0x1.00000000000007fep+0, - 0x1.00000000000008p+0, - 0x1.00000000000007fep+0, - 0x1.00000000000008p+0, - false, - 0x1.00000000000007fep+0, - 0x1.00000000000008p+0, - 0x1.00000000000007fep+0, - 0x1.00000000000008p+0, - false, - 0x1.00000000000007ff96adfa2b57p+0, - 0x1.00000000000007ff96adfa2b578p+0, - 0x1.00000000000007ff96adfa2b57p+0, - 0x1.00000000000007ff96adfa2b578p+0, - false, - 0x1.00000000000007ff96adfa2b576ap+0, - 0x1.00000000000007ff96adfa2b576bp+0, - 0x1.00000000000007ff96adfa2b576ap+0, - 0x1.00000000000007ff96adfa2b576bp+0), + 0x1p+0, false, + 0x1p+0, false, + 0x1p+0, false, + 0x1.000002p+0, false, + false, + 0x1p+0, false, + 0x1p+0, false, + 0x1p+0, false, + 0x1.0000000000001p+0, false, + false, + 0x1.00000000000007fep+0, false, + 0x1.00000000000008p+0, false, + 0x1.00000000000007fep+0, false, + 0x1.00000000000008p+0, false, + false, + 0x1.00000000000007fep+0, false, + 0x1.00000000000008p+0, false, + 0x1.00000000000007fep+0, false, + 0x1.00000000000008p+0, false, + false, + 0x1.00000000000007ff96adfa2b57p+0, false, + 0x1.00000000000007ff96adfa2b578p+0, false, + 0x1.00000000000007ff96adfa2b57p+0, false, + 0x1.00000000000007ff96adfa2b578p+0, false, + false, + 0x1.00000000000007ff96adfa2b576ap+0, false, + 0x1.00000000000007ff96adfa2b576bp+0, false, + 0x1.00000000000007ff96adfa2b576ap+0, false, + 0x1.00000000000007ff96adfa2b576bp+0, false), TEST ("1.00000000000000011", false, - 0x1p+0, - 0x1p+0, - 0x1p+0, - 0x1.000002p+0, - false, - 0x1p+0, - 0x1p+0, - 0x1p+0, - 0x1.0000000000001p+0, - false, - 0x1.00000000000007ecp+0, - 0x1.00000000000007eep+0, - 0x1.00000000000007ecp+0, - 0x1.00000000000007eep+0, - false, - 0x1.00000000000007ecp+0, - 0x1.00000000000007eep+0, - 0x1.00000000000007ecp+0, - 0x1.00000000000007eep+0, - false, - 0x1.00000000000007ed24502859138p+0, - 0x1.00000000000007ed24502859138p+0, - 0x1.00000000000007ed24502859138p+0, - 0x1.00000000000007ed2450285914p+0, - false, - 0x1.00000000000007ed2450285913bfp+0, - 0x1.00000000000007ed2450285913bfp+0, - 0x1.00000000000007ed2450285913bfp+0, - 0x1.00000000000007ed2450285913cp+0), + 0x1p+0, false, + 0x1p+0, false, + 0x1p+0, false, + 0x1.000002p+0, false, + false, + 0x1p+0, false, + 0x1p+0, false, + 0x1p+0, false, + 0x1.0000000000001p+0, false, + false, + 0x1.00000000000007ecp+0, false, + 0x1.00000000000007eep+0, false, + 0x1.00000000000007ecp+0, false, + 0x1.00000000000007eep+0, false, + false, + 0x1.00000000000007ecp+0, false, + 0x1.00000000000007eep+0, false, + 0x1.00000000000007ecp+0, false, + 0x1.00000000000007eep+0, false, + false, + 0x1.00000000000007ed24502859138p+0, false, + 0x1.00000000000007ed24502859138p+0, false, + 0x1.00000000000007ed24502859138p+0, false, + 0x1.00000000000007ed2450285914p+0, false, + false, + 0x1.00000000000007ed2450285913bfp+0, false, + 0x1.00000000000007ed2450285913bfp+0, false, + 0x1.00000000000007ed2450285913bfp+0, false, + 0x1.00000000000007ed2450285913cp+0, false), TEST ("1.0000000000000001", false, - 0x1p+0, - 0x1p+0, - 0x1p+0, - 0x1.000002p+0, - false, - 0x1p+0, - 0x1p+0, - 0x1p+0, - 0x1.0000000000001p+0, - false, - 0x1.0000000000000734p+0, - 0x1.0000000000000734p+0, - 0x1.0000000000000734p+0, - 0x1.0000000000000736p+0, - false, - 0x1.0000000000000734p+0, - 0x1.0000000000000734p+0, - 0x1.0000000000000734p+0, - 0x1.0000000000000736p+0, - false, - 0x1.0000000000000734aca5f6226fp+0, - 0x1.0000000000000734aca5f6226fp+0, - 0x1.0000000000000734aca5f6226fp+0, - 0x1.0000000000000734aca5f6226f8p+0, - false, - 0x1.0000000000000734aca5f6226f0ap+0, - 0x1.0000000000000734aca5f6226f0bp+0, - 0x1.0000000000000734aca5f6226f0ap+0, - 0x1.0000000000000734aca5f6226f0bp+0), + 0x1p+0, false, + 0x1p+0, false, + 0x1p+0, false, + 0x1.000002p+0, false, + false, + 0x1p+0, false, + 0x1p+0, false, + 0x1p+0, false, + 0x1.0000000000001p+0, false, + false, + 0x1.0000000000000734p+0, false, + 0x1.0000000000000734p+0, false, + 0x1.0000000000000734p+0, false, + 0x1.0000000000000736p+0, false, + false, + 0x1.0000000000000734p+0, false, + 0x1.0000000000000734p+0, false, + 0x1.0000000000000734p+0, false, + 0x1.0000000000000736p+0, false, + false, + 0x1.0000000000000734aca5f6226fp+0, false, + 0x1.0000000000000734aca5f6226fp+0, false, + 0x1.0000000000000734aca5f6226fp+0, false, + 0x1.0000000000000734aca5f6226f8p+0, false, + false, + 0x1.0000000000000734aca5f6226f0ap+0, false, + 0x1.0000000000000734aca5f6226f0bp+0, false, + 0x1.0000000000000734aca5f6226f0ap+0, false, + 0x1.0000000000000734aca5f6226f0bp+0, false), TEST ("3929201589819414e-25", false, - 0x1.b0053p-32, - 0x1.b00532p-32, - 0x1.b0053p-32, - 0x1.b00532p-32, - false, - 0x1.b005314e2421ep-32, - 0x1.b005314e2421ep-32, - 0x1.b005314e2421ep-32, - 0x1.b005314e2421fp-32, - false, - 0x1.b005314e2421e7fep-32, - 0x1.b005314e2421e8p-32, - 0x1.b005314e2421e7fep-32, - 0x1.b005314e2421e8p-32, - false, - 0x1.b005314e2421e7fep-32, - 0x1.b005314e2421e8p-32, - 0x1.b005314e2421e7fep-32, - 0x1.b005314e2421e8p-32, - false, - 0x1.b005314e2421e7ffb472840c5ap-32, - 0x1.b005314e2421e7ffb472840c5a8p-32, - 0x1.b005314e2421e7ffb472840c5ap-32, - 0x1.b005314e2421e7ffb472840c5a8p-32, - false, - 0x1.b005314e2421e7ffb472840c5a6ep-32, - 0x1.b005314e2421e7ffb472840c5a6fp-32, - 0x1.b005314e2421e7ffb472840c5a6ep-32, - 0x1.b005314e2421e7ffb472840c5a6fp-32), + 0x1.b0053p-32, false, + 0x1.b00532p-32, false, + 0x1.b0053p-32, false, + 0x1.b00532p-32, false, + false, + 0x1.b005314e2421ep-32, false, + 0x1.b005314e2421ep-32, false, + 0x1.b005314e2421ep-32, false, + 0x1.b005314e2421fp-32, false, + false, + 0x1.b005314e2421e7fep-32, false, + 0x1.b005314e2421e8p-32, false, + 0x1.b005314e2421e7fep-32, false, + 0x1.b005314e2421e8p-32, false, + false, + 0x1.b005314e2421e7fep-32, false, + 0x1.b005314e2421e8p-32, false, + 0x1.b005314e2421e7fep-32, false, + 0x1.b005314e2421e8p-32, false, + false, + 0x1.b005314e2421e7ffb472840c5ap-32, false, + 0x1.b005314e2421e7ffb472840c5a8p-32, false, + 0x1.b005314e2421e7ffb472840c5ap-32, false, + 0x1.b005314e2421e7ffb472840c5a8p-32, false, + false, + 0x1.b005314e2421e7ffb472840c5a6ep-32, false, + 0x1.b005314e2421e7ffb472840c5a6fp-32, false, + 0x1.b005314e2421e7ffb472840c5a6ep-32, false, + 0x1.b005314e2421e7ffb472840c5a6fp-32, false), TEST ("0.0000000000000000000000000000000000000000000021019476964872" "256063855943749348741969203929128147736576356024258346866240" "28790902229957282543182373046875", false, - 0x8p-152, - 0x1p-148, - 0x8p-152, - 0x1p-148, - true, - 0xcp-152, - 0xcp-152, - 0xcp-152, - 0xcp-152, - true, - 0xcp-152, - 0xcp-152, - 0xcp-152, - 0xcp-152, - true, - 0xcp-152, - 0xcp-152, - 0xcp-152, - 0xcp-152, - true, - 0xcp-152, - 0xcp-152, - 0xcp-152, - 0xcp-152, - true, - 0xcp-152, - 0xcp-152, - 0xcp-152, - 0xcp-152), + 0x8p-152, false, + 0x1p-148, false, + 0x8p-152, false, + 0x1p-148, false, + true, + 0xcp-152, false, + 0xcp-152, false, + 0xcp-152, false, + 0xcp-152, false, + true, + 0xcp-152, false, + 0xcp-152, false, + 0xcp-152, false, + 0xcp-152, false, + true, + 0xcp-152, false, + 0xcp-152, false, + 0xcp-152, false, + 0xcp-152, false, + true, + 0xcp-152, false, + 0xcp-152, false, + 0xcp-152, false, + 0xcp-152, false, + true, + 0xcp-152, false, + 0xcp-152, false, + 0xcp-152, false, + 0xcp-152, false), TEST ("1.00000005960464477539062499", false, - 0x1p+0, - 0x1p+0, - 0x1p+0, - 0x1.000002p+0, - false, - 0x1.000000fffffffp+0, - 0x1.000001p+0, - 0x1.000000fffffffp+0, - 0x1.000001p+0, - false, - 0x1.000000fffffffffep+0, - 0x1.000001p+0, - 0x1.000000fffffffffep+0, - 0x1.000001p+0, - false, - 0x1.000000fffffffffep+0, - 0x1.000001p+0, - 0x1.000000fffffffffep+0, - 0x1.000001p+0, - false, - 0x1.000000fffffffffffffffce7b78p+0, - 0x1.000000fffffffffffffffce7b8p+0, - 0x1.000000fffffffffffffffce7b78p+0, - 0x1.000000fffffffffffffffce7b8p+0, - false, - 0x1.000000fffffffffffffffce7b7e7p+0, - 0x1.000000fffffffffffffffce7b7e7p+0, - 0x1.000000fffffffffffffffce7b7e7p+0, - 0x1.000000fffffffffffffffce7b7e8p+0), + 0x1p+0, false, + 0x1p+0, false, + 0x1p+0, false, + 0x1.000002p+0, false, + false, + 0x1.000000fffffffp+0, false, + 0x1.000001p+0, false, + 0x1.000000fffffffp+0, false, + 0x1.000001p+0, false, + false, + 0x1.000000fffffffffep+0, false, + 0x1.000001p+0, false, + 0x1.000000fffffffffep+0, false, + 0x1.000001p+0, false, + false, + 0x1.000000fffffffffep+0, false, + 0x1.000001p+0, false, + 0x1.000000fffffffffep+0, false, + 0x1.000001p+0, false, + false, + 0x1.000000fffffffffffffffce7b78p+0, false, + 0x1.000000fffffffffffffffce7b8p+0, false, + 0x1.000000fffffffffffffffce7b78p+0, false, + 0x1.000000fffffffffffffffce7b8p+0, false, + false, + 0x1.000000fffffffffffffffce7b7e7p+0, false, + 0x1.000000fffffffffffffffce7b7e7p+0, false, + 0x1.000000fffffffffffffffce7b7e7p+0, false, + 0x1.000000fffffffffffffffce7b7e8p+0, false), TEST ("1.000000059604644775390625", false, - 0x1p+0, - 0x1p+0, - 0x1p+0, - 0x1.000002p+0, - true, - 0x1.000001p+0, - 0x1.000001p+0, - 0x1.000001p+0, - 0x1.000001p+0, - true, - 0x1.000001p+0, - 0x1.000001p+0, - 0x1.000001p+0, - 0x1.000001p+0, - true, - 0x1.000001p+0, - 0x1.000001p+0, - 0x1.000001p+0, - 0x1.000001p+0, - true, - 0x1.000001p+0, - 0x1.000001p+0, - 0x1.000001p+0, - 0x1.000001p+0, - true, - 0x1.000001p+0, - 0x1.000001p+0, - 0x1.000001p+0, - 0x1.000001p+0), + 0x1p+0, false, + 0x1p+0, false, + 0x1p+0, false, + 0x1.000002p+0, false, + true, + 0x1.000001p+0, false, + 0x1.000001p+0, false, + 0x1.000001p+0, false, + 0x1.000001p+0, false, + true, + 0x1.000001p+0, false, + 0x1.000001p+0, false, + 0x1.000001p+0, false, + 0x1.000001p+0, false, + true, + 0x1.000001p+0, false, + 0x1.000001p+0, false, + 0x1.000001p+0, false, + 0x1.000001p+0, false, + true, + 0x1.000001p+0, false, + 0x1.000001p+0, false, + 0x1.000001p+0, false, + 0x1.000001p+0, false, + true, + 0x1.000001p+0, false, + 0x1.000001p+0, false, + 0x1.000001p+0, false, + 0x1.000001p+0, false), TEST ("1.00000005960464477539062501", false, - 0x1p+0, - 0x1.000002p+0, - 0x1p+0, - 0x1.000002p+0, - false, - 0x1.000001p+0, - 0x1.000001p+0, - 0x1.000001p+0, - 0x1.0000010000001p+0, - false, - 0x1.000001p+0, - 0x1.000001p+0, - 0x1.000001p+0, - 0x1.0000010000000002p+0, - false, - 0x1.000001p+0, - 0x1.000001p+0, - 0x1.000001p+0, - 0x1.0000010000000002p+0, - false, - 0x1.00000100000000000000031848p+0, - 0x1.00000100000000000000031848p+0, - 0x1.00000100000000000000031848p+0, - 0x1.000001000000000000000318488p+0, - false, - 0x1.0000010000000000000003184818p+0, - 0x1.0000010000000000000003184819p+0, - 0x1.0000010000000000000003184818p+0, - 0x1.0000010000000000000003184819p+0), + 0x1p+0, false, + 0x1.000002p+0, false, + 0x1p+0, false, + 0x1.000002p+0, false, + false, + 0x1.000001p+0, false, + 0x1.000001p+0, false, + 0x1.000001p+0, false, + 0x1.0000010000001p+0, false, + false, + 0x1.000001p+0, false, + 0x1.000001p+0, false, + 0x1.000001p+0, false, + 0x1.0000010000000002p+0, false, + false, + 0x1.000001p+0, false, + 0x1.000001p+0, false, + 0x1.000001p+0, false, + 0x1.0000010000000002p+0, false, + false, + 0x1.00000100000000000000031848p+0, false, + 0x1.00000100000000000000031848p+0, false, + 0x1.00000100000000000000031848p+0, false, + 0x1.000001000000000000000318488p+0, false, + false, + 0x1.0000010000000000000003184818p+0, false, + 0x1.0000010000000000000003184819p+0, false, + 0x1.0000010000000000000003184818p+0, false, + 0x1.0000010000000000000003184819p+0, false), TEST ("1.00000011920928955078125", true, - 0x1.000002p+0, - 0x1.000002p+0, - 0x1.000002p+0, - 0x1.000002p+0, - true, - 0x1.000002p+0, - 0x1.000002p+0, - 0x1.000002p+0, - 0x1.000002p+0, - true, - 0x1.000002p+0, - 0x1.000002p+0, - 0x1.000002p+0, - 0x1.000002p+0, - true, - 0x1.000002p+0, - 0x1.000002p+0, - 0x1.000002p+0, - 0x1.000002p+0, - true, - 0x1.000002p+0, - 0x1.000002p+0, - 0x1.000002p+0, - 0x1.000002p+0, - true, - 0x1.000002p+0, - 0x1.000002p+0, - 0x1.000002p+0, - 0x1.000002p+0), + 0x1.000002p+0, false, + 0x1.000002p+0, false, + 0x1.000002p+0, false, + 0x1.000002p+0, false, + true, + 0x1.000002p+0, false, + 0x1.000002p+0, false, + 0x1.000002p+0, false, + 0x1.000002p+0, false, + true, + 0x1.000002p+0, false, + 0x1.000002p+0, false, + 0x1.000002p+0, false, + 0x1.000002p+0, false, + true, + 0x1.000002p+0, false, + 0x1.000002p+0, false, + 0x1.000002p+0, false, + 0x1.000002p+0, false, + true, + 0x1.000002p+0, false, + 0x1.000002p+0, false, + 0x1.000002p+0, false, + 0x1.000002p+0, false, + true, + 0x1.000002p+0, false, + 0x1.000002p+0, false, + 0x1.000002p+0, false, + 0x1.000002p+0, false), TEST ("1.00000017881393432617187499", false, - 0x1.000002p+0, - 0x1.000002p+0, - 0x1.000002p+0, - 0x1.000004p+0, - false, - 0x1.000002fffffffp+0, - 0x1.000003p+0, - 0x1.000002fffffffp+0, - 0x1.000003p+0, - false, - 0x1.000002fffffffffep+0, - 0x1.000003p+0, - 0x1.000002fffffffffep+0, - 0x1.000003p+0, - false, - 0x1.000002fffffffffep+0, - 0x1.000003p+0, - 0x1.000002fffffffffep+0, - 0x1.000003p+0, - false, - 0x1.000002fffffffffffffffce7b78p+0, - 0x1.000002fffffffffffffffce7b8p+0, - 0x1.000002fffffffffffffffce7b78p+0, - 0x1.000002fffffffffffffffce7b8p+0, - false, - 0x1.000002fffffffffffffffce7b7e7p+0, - 0x1.000002fffffffffffffffce7b7e7p+0, - 0x1.000002fffffffffffffffce7b7e7p+0, - 0x1.000002fffffffffffffffce7b7e8p+0), + 0x1.000002p+0, false, + 0x1.000002p+0, false, + 0x1.000002p+0, false, + 0x1.000004p+0, false, + false, + 0x1.000002fffffffp+0, false, + 0x1.000003p+0, false, + 0x1.000002fffffffp+0, false, + 0x1.000003p+0, false, + false, + 0x1.000002fffffffffep+0, false, + 0x1.000003p+0, false, + 0x1.000002fffffffffep+0, false, + 0x1.000003p+0, false, + false, + 0x1.000002fffffffffep+0, false, + 0x1.000003p+0, false, + 0x1.000002fffffffffep+0, false, + 0x1.000003p+0, false, + false, + 0x1.000002fffffffffffffffce7b78p+0, false, + 0x1.000002fffffffffffffffce7b8p+0, false, + 0x1.000002fffffffffffffffce7b78p+0, false, + 0x1.000002fffffffffffffffce7b8p+0, false, + false, + 0x1.000002fffffffffffffffce7b7e7p+0, false, + 0x1.000002fffffffffffffffce7b7e7p+0, false, + 0x1.000002fffffffffffffffce7b7e7p+0, false, + 0x1.000002fffffffffffffffce7b7e8p+0, false), TEST ("1.000000178813934326171875", false, - 0x1.000002p+0, - 0x1.000004p+0, - 0x1.000002p+0, - 0x1.000004p+0, - true, - 0x1.000003p+0, - 0x1.000003p+0, - 0x1.000003p+0, - 0x1.000003p+0, - true, - 0x1.000003p+0, - 0x1.000003p+0, - 0x1.000003p+0, - 0x1.000003p+0, - true, - 0x1.000003p+0, - 0x1.000003p+0, - 0x1.000003p+0, - 0x1.000003p+0, - true, - 0x1.000003p+0, - 0x1.000003p+0, - 0x1.000003p+0, - 0x1.000003p+0, - true, - 0x1.000003p+0, - 0x1.000003p+0, - 0x1.000003p+0, - 0x1.000003p+0), + 0x1.000002p+0, false, + 0x1.000004p+0, false, + 0x1.000002p+0, false, + 0x1.000004p+0, false, + true, + 0x1.000003p+0, false, + 0x1.000003p+0, false, + 0x1.000003p+0, false, + 0x1.000003p+0, false, + true, + 0x1.000003p+0, false, + 0x1.000003p+0, false, + 0x1.000003p+0, false, + 0x1.000003p+0, false, + true, + 0x1.000003p+0, false, + 0x1.000003p+0, false, + 0x1.000003p+0, false, + 0x1.000003p+0, false, + true, + 0x1.000003p+0, false, + 0x1.000003p+0, false, + 0x1.000003p+0, false, + 0x1.000003p+0, false, + true, + 0x1.000003p+0, false, + 0x1.000003p+0, false, + 0x1.000003p+0, false, + 0x1.000003p+0, false), TEST ("1.00000017881393432617187501", false, - 0x1.000002p+0, - 0x1.000004p+0, - 0x1.000002p+0, - 0x1.000004p+0, - false, - 0x1.000003p+0, - 0x1.000003p+0, - 0x1.000003p+0, - 0x1.0000030000001p+0, - false, - 0x1.000003p+0, - 0x1.000003p+0, - 0x1.000003p+0, - 0x1.0000030000000002p+0, - false, - 0x1.000003p+0, - 0x1.000003p+0, - 0x1.000003p+0, - 0x1.0000030000000002p+0, - false, - 0x1.00000300000000000000031848p+0, - 0x1.00000300000000000000031848p+0, - 0x1.00000300000000000000031848p+0, - 0x1.000003000000000000000318488p+0, - false, - 0x1.0000030000000000000003184818p+0, - 0x1.0000030000000000000003184819p+0, - 0x1.0000030000000000000003184818p+0, - 0x1.0000030000000000000003184819p+0), + 0x1.000002p+0, false, + 0x1.000004p+0, false, + 0x1.000002p+0, false, + 0x1.000004p+0, false, + false, + 0x1.000003p+0, false, + 0x1.000003p+0, false, + 0x1.000003p+0, false, + 0x1.0000030000001p+0, false, + false, + 0x1.000003p+0, false, + 0x1.000003p+0, false, + 0x1.000003p+0, false, + 0x1.0000030000000002p+0, false, + false, + 0x1.000003p+0, false, + 0x1.000003p+0, false, + 0x1.000003p+0, false, + 0x1.0000030000000002p+0, false, + false, + 0x1.00000300000000000000031848p+0, false, + 0x1.00000300000000000000031848p+0, false, + 0x1.00000300000000000000031848p+0, false, + 0x1.000003000000000000000318488p+0, false, + false, + 0x1.0000030000000000000003184818p+0, false, + 0x1.0000030000000000000003184819p+0, false, + 0x1.0000030000000000000003184818p+0, false, + 0x1.0000030000000000000003184819p+0, false), TEST ("1.0000002384185791015625", true, - 0x1.000004p+0, - 0x1.000004p+0, - 0x1.000004p+0, - 0x1.000004p+0, - true, - 0x1.000004p+0, - 0x1.000004p+0, - 0x1.000004p+0, - 0x1.000004p+0, - true, - 0x1.000004p+0, - 0x1.000004p+0, - 0x1.000004p+0, - 0x1.000004p+0, - true, - 0x1.000004p+0, - 0x1.000004p+0, - 0x1.000004p+0, - 0x1.000004p+0, - true, - 0x1.000004p+0, - 0x1.000004p+0, - 0x1.000004p+0, - 0x1.000004p+0, - true, - 0x1.000004p+0, - 0x1.000004p+0, - 0x1.000004p+0, - 0x1.000004p+0), + 0x1.000004p+0, false, + 0x1.000004p+0, false, + 0x1.000004p+0, false, + 0x1.000004p+0, false, + true, + 0x1.000004p+0, false, + 0x1.000004p+0, false, + 0x1.000004p+0, false, + 0x1.000004p+0, false, + true, + 0x1.000004p+0, false, + 0x1.000004p+0, false, + 0x1.000004p+0, false, + 0x1.000004p+0, false, + true, + 0x1.000004p+0, false, + 0x1.000004p+0, false, + 0x1.000004p+0, false, + 0x1.000004p+0, false, + true, + 0x1.000004p+0, false, + 0x1.000004p+0, false, + 0x1.000004p+0, false, + 0x1.000004p+0, false, + true, + 0x1.000004p+0, false, + 0x1.000004p+0, false, + 0x1.000004p+0, false, + 0x1.000004p+0, false), TEST ("1.08420217248550443400745280086994171142578125e-19", true, - 0x2p-64, - 0x2p-64, - 0x2p-64, - 0x2p-64, - true, - 0x2p-64, - 0x2p-64, - 0x2p-64, - 0x2p-64, - true, - 0x2p-64, - 0x2p-64, - 0x2p-64, - 0x2p-64, - true, - 0x2p-64, - 0x2p-64, - 0x2p-64, - 0x2p-64, - true, - 0x2p-64, - 0x2p-64, - 0x2p-64, - 0x2p-64, - true, - 0x2p-64, - 0x2p-64, - 0x2p-64, - 0x2p-64), + 0x2p-64, false, + 0x2p-64, false, + 0x2p-64, false, + 0x2p-64, false, + true, + 0x2p-64, false, + 0x2p-64, false, + 0x2p-64, false, + 0x2p-64, false, + true, + 0x2p-64, false, + 0x2p-64, false, + 0x2p-64, false, + 0x2p-64, false, + true, + 0x2p-64, false, + 0x2p-64, false, + 0x2p-64, false, + 0x2p-64, false, + true, + 0x2p-64, false, + 0x2p-64, false, + 0x2p-64, false, + 0x2p-64, false, + true, + 0x2p-64, false, + 0x2p-64, false, + 0x2p-64, false, + 0x2p-64, false), TEST ("1.0842022371089897897127399001987457793916291848290711641311" "645507812499e-19", false, - 0x2p-64, - 0x2p-64, - 0x2p-64, - 0x2.000004p-64, - false, - 0x2.000001ffffffep-64, - 0x2.000002p-64, - 0x2.000001ffffffep-64, - 0x2.000002p-64, - false, - 0x2.000001fffffffffcp-64, - 0x2.000002p-64, - 0x2.000001fffffffffcp-64, - 0x2.000002p-64, - false, - 0x2.000001fffffffffcp-64, - 0x2.000002p-64, - 0x2.000001fffffffffcp-64, - 0x2.000002p-64, - false, - 0x2.000001ffffffffffffffffffffp-64, - 0x2.000002p-64, - 0x2.000001ffffffffffffffffffffp-64, - 0x2.000002p-64, - false, - 0x2.000001fffffffffffffffffffffep-64, - 0x2.000002p-64, - 0x2.000001fffffffffffffffffffffep-64, - 0x2.000002p-64), + 0x2p-64, false, + 0x2p-64, false, + 0x2p-64, false, + 0x2.000004p-64, false, + false, + 0x2.000001ffffffep-64, false, + 0x2.000002p-64, false, + 0x2.000001ffffffep-64, false, + 0x2.000002p-64, false, + false, + 0x2.000001fffffffffcp-64, false, + 0x2.000002p-64, false, + 0x2.000001fffffffffcp-64, false, + 0x2.000002p-64, false, + false, + 0x2.000001fffffffffcp-64, false, + 0x2.000002p-64, false, + 0x2.000001fffffffffcp-64, false, + 0x2.000002p-64, false, + false, + 0x2.000001ffffffffffffffffffffp-64, false, + 0x2.000002p-64, false, + 0x2.000001ffffffffffffffffffffp-64, false, + 0x2.000002p-64, false, + false, + 0x2.000001fffffffffffffffffffffep-64, false, + 0x2.000002p-64, false, + 0x2.000001fffffffffffffffffffffep-64, false, + 0x2.000002p-64, false), TEST ("1.0842022371089897897127399001987457793916291848290711641311" "6455078125e-19", false, - 0x2p-64, - 0x2p-64, - 0x2p-64, - 0x2.000004p-64, - true, - 0x2.000002p-64, - 0x2.000002p-64, - 0x2.000002p-64, - 0x2.000002p-64, - true, - 0x2.000002p-64, - 0x2.000002p-64, - 0x2.000002p-64, - 0x2.000002p-64, - true, - 0x2.000002p-64, - 0x2.000002p-64, - 0x2.000002p-64, - 0x2.000002p-64, - true, - 0x2.000002p-64, - 0x2.000002p-64, - 0x2.000002p-64, - 0x2.000002p-64, - true, - 0x2.000002p-64, - 0x2.000002p-64, - 0x2.000002p-64, - 0x2.000002p-64), + 0x2p-64, false, + 0x2p-64, false, + 0x2p-64, false, + 0x2.000004p-64, false, + true, + 0x2.000002p-64, false, + 0x2.000002p-64, false, + 0x2.000002p-64, false, + 0x2.000002p-64, false, + true, + 0x2.000002p-64, false, + 0x2.000002p-64, false, + 0x2.000002p-64, false, + 0x2.000002p-64, false, + true, + 0x2.000002p-64, false, + 0x2.000002p-64, false, + 0x2.000002p-64, false, + 0x2.000002p-64, false, + true, + 0x2.000002p-64, false, + 0x2.000002p-64, false, + 0x2.000002p-64, false, + 0x2.000002p-64, false, + true, + 0x2.000002p-64, false, + 0x2.000002p-64, false, + 0x2.000002p-64, false, + 0x2.000002p-64, false), TEST ("1.0842022371089897897127399001987457793916291848290711641311" "645507812501e-19", false, - 0x2p-64, - 0x2.000004p-64, - 0x2p-64, - 0x2.000004p-64, - false, - 0x2.000002p-64, - 0x2.000002p-64, - 0x2.000002p-64, - 0x2.0000020000002p-64, - false, - 0x2.000002p-64, - 0x2.000002p-64, - 0x2.000002p-64, - 0x2.0000020000000004p-64, - false, - 0x2.000002p-64, - 0x2.000002p-64, - 0x2.000002p-64, - 0x2.0000020000000004p-64, - false, - 0x2.000002p-64, - 0x2.000002p-64, - 0x2.000002p-64, - 0x2.00000200000000000000000001p-64, - false, - 0x2.000002p-64, - 0x2.000002p-64, - 0x2.000002p-64, - 0x2.0000020000000000000000000002p-64), + 0x2p-64, false, + 0x2.000004p-64, false, + 0x2p-64, false, + 0x2.000004p-64, false, + false, + 0x2.000002p-64, false, + 0x2.000002p-64, false, + 0x2.000002p-64, false, + 0x2.0000020000002p-64, false, + false, + 0x2.000002p-64, false, + 0x2.000002p-64, false, + 0x2.000002p-64, false, + 0x2.0000020000000004p-64, false, + false, + 0x2.000002p-64, false, + 0x2.000002p-64, false, + 0x2.000002p-64, false, + 0x2.0000020000000004p-64, false, + false, + 0x2.000002p-64, false, + 0x2.000002p-64, false, + 0x2.000002p-64, false, + 0x2.00000200000000000000000001p-64, false, + false, + 0x2.000002p-64, false, + 0x2.000002p-64, false, + 0x2.000002p-64, false, + 0x2.0000020000000000000000000002p-64, false), TEST ("1.0842023017324751454180269995275498473574771196581423282623" "291015625e-19", true, - 0x2.000004p-64, - 0x2.000004p-64, - 0x2.000004p-64, - 0x2.000004p-64, - true, - 0x2.000004p-64, - 0x2.000004p-64, - 0x2.000004p-64, - 0x2.000004p-64, - true, - 0x2.000004p-64, - 0x2.000004p-64, - 0x2.000004p-64, - 0x2.000004p-64, - true, - 0x2.000004p-64, - 0x2.000004p-64, - 0x2.000004p-64, - 0x2.000004p-64, - true, - 0x2.000004p-64, - 0x2.000004p-64, - 0x2.000004p-64, - 0x2.000004p-64, - true, - 0x2.000004p-64, - 0x2.000004p-64, - 0x2.000004p-64, - 0x2.000004p-64), + 0x2.000004p-64, false, + 0x2.000004p-64, false, + 0x2.000004p-64, false, + 0x2.000004p-64, false, + true, + 0x2.000004p-64, false, + 0x2.000004p-64, false, + 0x2.000004p-64, false, + 0x2.000004p-64, false, + true, + 0x2.000004p-64, false, + 0x2.000004p-64, false, + 0x2.000004p-64, false, + 0x2.000004p-64, false, + true, + 0x2.000004p-64, false, + 0x2.000004p-64, false, + 0x2.000004p-64, false, + 0x2.000004p-64, false, + true, + 0x2.000004p-64, false, + 0x2.000004p-64, false, + 0x2.000004p-64, false, + 0x2.000004p-64, false, + true, + 0x2.000004p-64, false, + 0x2.000004p-64, false, + 0x2.000004p-64, false, + 0x2.000004p-64, false), TEST ("1.0842023663559605011233140988563539153233250544872134923934" "936523437499e-19", false, - 0x2.000004p-64, - 0x2.000004p-64, - 0x2.000004p-64, - 0x2.000008p-64, - false, - 0x2.000005ffffffep-64, - 0x2.000006p-64, - 0x2.000005ffffffep-64, - 0x2.000006p-64, - false, - 0x2.000005fffffffffcp-64, - 0x2.000006p-64, - 0x2.000005fffffffffcp-64, - 0x2.000006p-64, - false, - 0x2.000005fffffffffcp-64, - 0x2.000006p-64, - 0x2.000005fffffffffcp-64, - 0x2.000006p-64, - false, - 0x2.000005ffffffffffffffffffffp-64, - 0x2.000006p-64, - 0x2.000005ffffffffffffffffffffp-64, - 0x2.000006p-64, - false, - 0x2.000005fffffffffffffffffffffep-64, - 0x2.000006p-64, - 0x2.000005fffffffffffffffffffffep-64, - 0x2.000006p-64), + 0x2.000004p-64, false, + 0x2.000004p-64, false, + 0x2.000004p-64, false, + 0x2.000008p-64, false, + false, + 0x2.000005ffffffep-64, false, + 0x2.000006p-64, false, + 0x2.000005ffffffep-64, false, + 0x2.000006p-64, false, + false, + 0x2.000005fffffffffcp-64, false, + 0x2.000006p-64, false, + 0x2.000005fffffffffcp-64, false, + 0x2.000006p-64, false, + false, + 0x2.000005fffffffffcp-64, false, + 0x2.000006p-64, false, + 0x2.000005fffffffffcp-64, false, + 0x2.000006p-64, false, + false, + 0x2.000005ffffffffffffffffffffp-64, false, + 0x2.000006p-64, false, + 0x2.000005ffffffffffffffffffffp-64, false, + 0x2.000006p-64, false, + false, + 0x2.000005fffffffffffffffffffffep-64, false, + 0x2.000006p-64, false, + 0x2.000005fffffffffffffffffffffep-64, false, + 0x2.000006p-64, false), TEST ("1.0842023663559605011233140988563539153233250544872134923934" "9365234375e-19", false, - 0x2.000004p-64, - 0x2.000008p-64, - 0x2.000004p-64, - 0x2.000008p-64, - true, - 0x2.000006p-64, - 0x2.000006p-64, - 0x2.000006p-64, - 0x2.000006p-64, - true, - 0x2.000006p-64, - 0x2.000006p-64, - 0x2.000006p-64, - 0x2.000006p-64, - true, - 0x2.000006p-64, - 0x2.000006p-64, - 0x2.000006p-64, - 0x2.000006p-64, - true, - 0x2.000006p-64, - 0x2.000006p-64, - 0x2.000006p-64, - 0x2.000006p-64, - true, - 0x2.000006p-64, - 0x2.000006p-64, - 0x2.000006p-64, - 0x2.000006p-64), + 0x2.000004p-64, false, + 0x2.000008p-64, false, + 0x2.000004p-64, false, + 0x2.000008p-64, false, + true, + 0x2.000006p-64, false, + 0x2.000006p-64, false, + 0x2.000006p-64, false, + 0x2.000006p-64, false, + true, + 0x2.000006p-64, false, + 0x2.000006p-64, false, + 0x2.000006p-64, false, + 0x2.000006p-64, false, + true, + 0x2.000006p-64, false, + 0x2.000006p-64, false, + 0x2.000006p-64, false, + 0x2.000006p-64, false, + true, + 0x2.000006p-64, false, + 0x2.000006p-64, false, + 0x2.000006p-64, false, + 0x2.000006p-64, false, + true, + 0x2.000006p-64, false, + 0x2.000006p-64, false, + 0x2.000006p-64, false, + 0x2.000006p-64, false), TEST ("1.0842023663559605011233140988563539153233250544872134923934" "936523437501e-19", false, - 0x2.000004p-64, - 0x2.000008p-64, - 0x2.000004p-64, - 0x2.000008p-64, - false, - 0x2.000006p-64, - 0x2.000006p-64, - 0x2.000006p-64, - 0x2.0000060000002p-64, - false, - 0x2.000006p-64, - 0x2.000006p-64, - 0x2.000006p-64, - 0x2.0000060000000004p-64, - false, - 0x2.000006p-64, - 0x2.000006p-64, - 0x2.000006p-64, - 0x2.0000060000000004p-64, - false, - 0x2.000006p-64, - 0x2.000006p-64, - 0x2.000006p-64, - 0x2.00000600000000000000000001p-64, - false, - 0x2.000006p-64, - 0x2.000006p-64, - 0x2.000006p-64, - 0x2.0000060000000000000000000002p-64), + 0x2.000004p-64, false, + 0x2.000008p-64, false, + 0x2.000004p-64, false, + 0x2.000008p-64, false, + false, + 0x2.000006p-64, false, + 0x2.000006p-64, false, + 0x2.000006p-64, false, + 0x2.0000060000002p-64, false, + false, + 0x2.000006p-64, false, + 0x2.000006p-64, false, + 0x2.000006p-64, false, + 0x2.0000060000000004p-64, false, + false, + 0x2.000006p-64, false, + 0x2.000006p-64, false, + 0x2.000006p-64, false, + 0x2.0000060000000004p-64, false, + false, + 0x2.000006p-64, false, + 0x2.000006p-64, false, + 0x2.000006p-64, false, + 0x2.00000600000000000000000001p-64, false, + false, + 0x2.000006p-64, false, + 0x2.000006p-64, false, + 0x2.000006p-64, false, + 0x2.0000060000000000000000000002p-64, false), TEST ("1.0842024309794458568286011981851579832891729893162846565246" "58203125e-19", true, - 0x2.000008p-64, - 0x2.000008p-64, - 0x2.000008p-64, - 0x2.000008p-64, - true, - 0x2.000008p-64, - 0x2.000008p-64, - 0x2.000008p-64, - 0x2.000008p-64, - true, - 0x2.000008p-64, - 0x2.000008p-64, - 0x2.000008p-64, - 0x2.000008p-64, - true, - 0x2.000008p-64, - 0x2.000008p-64, - 0x2.000008p-64, - 0x2.000008p-64, - true, - 0x2.000008p-64, - 0x2.000008p-64, - 0x2.000008p-64, - 0x2.000008p-64, - true, - 0x2.000008p-64, - 0x2.000008p-64, - 0x2.000008p-64, - 0x2.000008p-64), + 0x2.000008p-64, false, + 0x2.000008p-64, false, + 0x2.000008p-64, false, + 0x2.000008p-64, false, + true, + 0x2.000008p-64, false, + 0x2.000008p-64, false, + 0x2.000008p-64, false, + 0x2.000008p-64, false, + true, + 0x2.000008p-64, false, + 0x2.000008p-64, false, + 0x2.000008p-64, false, + 0x2.000008p-64, false, + true, + 0x2.000008p-64, false, + 0x2.000008p-64, false, + 0x2.000008p-64, false, + 0x2.000008p-64, false, + true, + 0x2.000008p-64, false, + 0x2.000008p-64, false, + 0x2.000008p-64, false, + 0x2.000008p-64, false, + true, + 0x2.000008p-64, false, + 0x2.000008p-64, false, + 0x2.000008p-64, false, + 0x2.000008p-64, false), TEST ("7.5231638452626400509999138382223723380394595633413601376560" "1092018187046051025390625e-37", true, - 0x1p-120, - 0x1p-120, - 0x1p-120, - 0x1p-120, - true, - 0x1p-120, - 0x1p-120, - 0x1p-120, - 0x1p-120, - true, - 0x1p-120, - 0x1p-120, - 0x1p-120, - 0x1p-120, - true, - 0x1p-120, - 0x1p-120, - 0x1p-120, - 0x1p-120, - true, - 0x1p-120, - 0x1p-120, - 0x1p-120, - 0x1p-120, - true, - 0x1p-120, - 0x1p-120, - 0x1p-120, - 0x1p-120), + 0x1p-120, false, + 0x1p-120, false, + 0x1p-120, false, + 0x1p-120, false, + true, + 0x1p-120, false, + 0x1p-120, false, + 0x1p-120, false, + 0x1p-120, false, + true, + 0x1p-120, false, + 0x1p-120, false, + 0x1p-120, false, + 0x1p-120, false, + true, + 0x1p-120, false, + 0x1p-120, false, + 0x1p-120, false, + 0x1p-120, false, + true, + 0x1p-120, false, + 0x1p-120, false, + 0x1p-120, false, + 0x1p-120, false, + true, + 0x1p-120, false, + 0x1p-120, false, + 0x1p-120, false, + 0x1p-120, false), TEST ("7.5231642936781486349413765338158389908126215730251815381410" "578824437213052434003657253924757242202758789062499e-37", false, - 0x1p-120, - 0x1p-120, - 0x1p-120, - 0x1.000002p-120, - false, - 0x1.000000fffffffp-120, - 0x1.000001p-120, - 0x1.000000fffffffp-120, - 0x1.000001p-120, - false, - 0x1.000000fffffffffep-120, - 0x1.000001p-120, - 0x1.000000fffffffffep-120, - 0x1.000001p-120, - false, - 0x1.000000fffffffffep-120, - 0x1.000001p-120, - 0x1.000000fffffffffep-120, - 0x1.000001p-120, - false, - 0x1.000000ffffffffffffffffffff8p-120, - 0x1.000001p-120, - 0x1.000000ffffffffffffffffffff8p-120, - 0x1.000001p-120, - false, - 0x1.000000ffffffffffffffffffffffp-120, - 0x1.000001p-120, - 0x1.000000ffffffffffffffffffffffp-120, - 0x1.000001p-120), + 0x1p-120, false, + 0x1p-120, false, + 0x1p-120, false, + 0x1.000002p-120, false, + false, + 0x1.000000fffffffp-120, false, + 0x1.000001p-120, false, + 0x1.000000fffffffp-120, false, + 0x1.000001p-120, false, + false, + 0x1.000000fffffffffep-120, false, + 0x1.000001p-120, false, + 0x1.000000fffffffffep-120, false, + 0x1.000001p-120, false, + false, + 0x1.000000fffffffffep-120, false, + 0x1.000001p-120, false, + 0x1.000000fffffffffep-120, false, + 0x1.000001p-120, false, + false, + 0x1.000000ffffffffffffffffffff8p-120, false, + 0x1.000001p-120, false, + 0x1.000000ffffffffffffffffffff8p-120, false, + 0x1.000001p-120, false, + false, + 0x1.000000ffffffffffffffffffffffp-120, false, + 0x1.000001p-120, false, + 0x1.000000ffffffffffffffffffffffp-120, false, + 0x1.000001p-120, false), TEST ("7.5231642936781486349413765338158389908126215730251815381410" "5788244372130524340036572539247572422027587890625e-37", false, - 0x1p-120, - 0x1p-120, - 0x1p-120, - 0x1.000002p-120, - true, - 0x1.000001p-120, - 0x1.000001p-120, - 0x1.000001p-120, - 0x1.000001p-120, - true, - 0x1.000001p-120, - 0x1.000001p-120, - 0x1.000001p-120, - 0x1.000001p-120, - true, - 0x1.000001p-120, - 0x1.000001p-120, - 0x1.000001p-120, - 0x1.000001p-120, - true, - 0x1.000001p-120, - 0x1.000001p-120, - 0x1.000001p-120, - 0x1.000001p-120, - true, - 0x1.000001p-120, - 0x1.000001p-120, - 0x1.000001p-120, - 0x1.000001p-120), + 0x1p-120, false, + 0x1p-120, false, + 0x1p-120, false, + 0x1.000002p-120, false, + true, + 0x1.000001p-120, false, + 0x1.000001p-120, false, + 0x1.000001p-120, false, + 0x1.000001p-120, false, + true, + 0x1.000001p-120, false, + 0x1.000001p-120, false, + 0x1.000001p-120, false, + 0x1.000001p-120, false, + true, + 0x1.000001p-120, false, + 0x1.000001p-120, false, + 0x1.000001p-120, false, + 0x1.000001p-120, false, + true, + 0x1.000001p-120, false, + 0x1.000001p-120, false, + 0x1.000001p-120, false, + 0x1.000001p-120, false, + true, + 0x1.000001p-120, false, + 0x1.000001p-120, false, + 0x1.000001p-120, false, + 0x1.000001p-120, false), TEST ("7.5231642936781486349413765338158389908126215730251815381410" "578824437213052434003657253924757242202758789062501e-37", false, - 0x1p-120, - 0x1.000002p-120, - 0x1p-120, - 0x1.000002p-120, - false, - 0x1.000001p-120, - 0x1.000001p-120, - 0x1.000001p-120, - 0x1.0000010000001p-120, - false, - 0x1.000001p-120, - 0x1.000001p-120, - 0x1.000001p-120, - 0x1.0000010000000002p-120, - false, - 0x1.000001p-120, - 0x1.000001p-120, - 0x1.000001p-120, - 0x1.0000010000000002p-120, - false, - 0x1.000001p-120, - 0x1.000001p-120, - 0x1.000001p-120, - 0x1.000001000000000000000000008p-120, - false, - 0x1.000001p-120, - 0x1.000001p-120, - 0x1.000001p-120, - 0x1.0000010000000000000000000001p-120), + 0x1p-120, false, + 0x1.000002p-120, false, + 0x1p-120, false, + 0x1.000002p-120, false, + false, + 0x1.000001p-120, false, + 0x1.000001p-120, false, + 0x1.000001p-120, false, + 0x1.0000010000001p-120, false, + false, + 0x1.000001p-120, false, + 0x1.000001p-120, false, + 0x1.000001p-120, false, + 0x1.0000010000000002p-120, false, + false, + 0x1.000001p-120, false, + 0x1.000001p-120, false, + 0x1.000001p-120, false, + 0x1.0000010000000002p-120, false, + false, + 0x1.000001p-120, false, + 0x1.000001p-120, false, + 0x1.000001p-120, false, + 0x1.000001000000000000000000008p-120, false, + false, + 0x1.000001p-120, false, + 0x1.000001p-120, false, + 0x1.000001p-120, false, + 0x1.0000010000000000000000000001p-120, false), TEST ("7.5231647420936572188828392294093056435857835827090029386261" "048447055721499765468252007849514484405517578125e-37", true, - 0x1.000002p-120, - 0x1.000002p-120, - 0x1.000002p-120, - 0x1.000002p-120, - true, - 0x1.000002p-120, - 0x1.000002p-120, - 0x1.000002p-120, - 0x1.000002p-120, - true, - 0x1.000002p-120, - 0x1.000002p-120, - 0x1.000002p-120, - 0x1.000002p-120, - true, - 0x1.000002p-120, - 0x1.000002p-120, - 0x1.000002p-120, - 0x1.000002p-120, - true, - 0x1.000002p-120, - 0x1.000002p-120, - 0x1.000002p-120, - 0x1.000002p-120, - true, - 0x1.000002p-120, - 0x1.000002p-120, - 0x1.000002p-120, - 0x1.000002p-120), + 0x1.000002p-120, false, + 0x1.000002p-120, false, + 0x1.000002p-120, false, + 0x1.000002p-120, false, + true, + 0x1.000002p-120, false, + 0x1.000002p-120, false, + 0x1.000002p-120, false, + 0x1.000002p-120, false, + true, + 0x1.000002p-120, false, + 0x1.000002p-120, false, + 0x1.000002p-120, false, + 0x1.000002p-120, false, + true, + 0x1.000002p-120, false, + 0x1.000002p-120, false, + 0x1.000002p-120, false, + 0x1.000002p-120, false, + true, + 0x1.000002p-120, false, + 0x1.000002p-120, false, + 0x1.000002p-120, false, + 0x1.000002p-120, false, + true, + 0x1.000002p-120, false, + 0x1.000002p-120, false, + 0x1.000002p-120, false, + 0x1.000002p-120, false), TEST ("7.5231651905091658028243019250027722963589455923928243391111" "518069674229947096932846761774271726608276367187499e-37", false, - 0x1.000002p-120, - 0x1.000002p-120, - 0x1.000002p-120, - 0x1.000004p-120, - false, - 0x1.000002fffffffp-120, - 0x1.000003p-120, - 0x1.000002fffffffp-120, - 0x1.000003p-120, - false, - 0x1.000002fffffffffep-120, - 0x1.000003p-120, - 0x1.000002fffffffffep-120, - 0x1.000003p-120, - false, - 0x1.000002fffffffffep-120, - 0x1.000003p-120, - 0x1.000002fffffffffep-120, - 0x1.000003p-120, - false, - 0x1.000002ffffffffffffffffffff8p-120, - 0x1.000003p-120, - 0x1.000002ffffffffffffffffffff8p-120, - 0x1.000003p-120, - false, - 0x1.000002ffffffffffffffffffffffp-120, - 0x1.000003p-120, - 0x1.000002ffffffffffffffffffffffp-120, - 0x1.000003p-120), + 0x1.000002p-120, false, + 0x1.000002p-120, false, + 0x1.000002p-120, false, + 0x1.000004p-120, false, + false, + 0x1.000002fffffffp-120, false, + 0x1.000003p-120, false, + 0x1.000002fffffffp-120, false, + 0x1.000003p-120, false, + false, + 0x1.000002fffffffffep-120, false, + 0x1.000003p-120, false, + 0x1.000002fffffffffep-120, false, + 0x1.000003p-120, false, + false, + 0x1.000002fffffffffep-120, false, + 0x1.000003p-120, false, + 0x1.000002fffffffffep-120, false, + 0x1.000003p-120, false, + false, + 0x1.000002ffffffffffffffffffff8p-120, false, + 0x1.000003p-120, false, + 0x1.000002ffffffffffffffffffff8p-120, false, + 0x1.000003p-120, false, + false, + 0x1.000002ffffffffffffffffffffffp-120, false, + 0x1.000003p-120, false, + 0x1.000002ffffffffffffffffffffffp-120, false, + 0x1.000003p-120, false), TEST ("7.5231651905091658028243019250027722963589455923928243391111" "5180696742299470969328467617742717266082763671875e-37", false, - 0x1.000002p-120, - 0x1.000004p-120, - 0x1.000002p-120, - 0x1.000004p-120, - true, - 0x1.000003p-120, - 0x1.000003p-120, - 0x1.000003p-120, - 0x1.000003p-120, - true, - 0x1.000003p-120, - 0x1.000003p-120, - 0x1.000003p-120, - 0x1.000003p-120, - true, - 0x1.000003p-120, - 0x1.000003p-120, - 0x1.000003p-120, - 0x1.000003p-120, - true, - 0x1.000003p-120, - 0x1.000003p-120, - 0x1.000003p-120, - 0x1.000003p-120, - true, - 0x1.000003p-120, - 0x1.000003p-120, - 0x1.000003p-120, - 0x1.000003p-120), + 0x1.000002p-120, false, + 0x1.000004p-120, false, + 0x1.000002p-120, false, + 0x1.000004p-120, false, + true, + 0x1.000003p-120, false, + 0x1.000003p-120, false, + 0x1.000003p-120, false, + 0x1.000003p-120, false, + true, + 0x1.000003p-120, false, + 0x1.000003p-120, false, + 0x1.000003p-120, false, + 0x1.000003p-120, false, + true, + 0x1.000003p-120, false, + 0x1.000003p-120, false, + 0x1.000003p-120, false, + 0x1.000003p-120, false, + true, + 0x1.000003p-120, false, + 0x1.000003p-120, false, + 0x1.000003p-120, false, + 0x1.000003p-120, false, + true, + 0x1.000003p-120, false, + 0x1.000003p-120, false, + 0x1.000003p-120, false, + 0x1.000003p-120, false), TEST ("7.5231651905091658028243019250027722963589455923928243391111" "518069674229947096932846761774271726608276367187501e-37", false, - 0x1.000002p-120, - 0x1.000004p-120, - 0x1.000002p-120, - 0x1.000004p-120, - false, - 0x1.000003p-120, - 0x1.000003p-120, - 0x1.000003p-120, - 0x1.0000030000001p-120, - false, - 0x1.000003p-120, - 0x1.000003p-120, - 0x1.000003p-120, - 0x1.0000030000000002p-120, - false, - 0x1.000003p-120, - 0x1.000003p-120, - 0x1.000003p-120, - 0x1.0000030000000002p-120, - false, - 0x1.000003p-120, - 0x1.000003p-120, - 0x1.000003p-120, - 0x1.000003000000000000000000008p-120, - false, - 0x1.000003p-120, - 0x1.000003p-120, - 0x1.000003p-120, - 0x1.0000030000000000000000000001p-120), + 0x1.000002p-120, false, + 0x1.000004p-120, false, + 0x1.000002p-120, false, + 0x1.000004p-120, false, + false, + 0x1.000003p-120, false, + 0x1.000003p-120, false, + 0x1.000003p-120, false, + 0x1.0000030000001p-120, false, + false, + 0x1.000003p-120, false, + 0x1.000003p-120, false, + 0x1.000003p-120, false, + 0x1.0000030000000002p-120, false, + false, + 0x1.000003p-120, false, + 0x1.000003p-120, false, + 0x1.000003p-120, false, + 0x1.0000030000000002p-120, false, + false, + 0x1.000003p-120, false, + 0x1.000003p-120, false, + 0x1.000003p-120, false, + 0x1.000003000000000000000000008p-120, false, + false, + 0x1.000003p-120, false, + 0x1.000003p-120, false, + 0x1.000003p-120, false, + 0x1.0000030000000000000000000001p-120, false), TEST ("7.5231656389246743867657646205962389491321076020766457395961" "98769229273839442839744151569902896881103515625e-37", true, - 0x1.000004p-120, - 0x1.000004p-120, - 0x1.000004p-120, - 0x1.000004p-120, - true, - 0x1.000004p-120, - 0x1.000004p-120, - 0x1.000004p-120, - 0x1.000004p-120, - true, - 0x1.000004p-120, - 0x1.000004p-120, - 0x1.000004p-120, - 0x1.000004p-120, - true, - 0x1.000004p-120, - 0x1.000004p-120, - 0x1.000004p-120, - 0x1.000004p-120, - true, - 0x1.000004p-120, - 0x1.000004p-120, - 0x1.000004p-120, - 0x1.000004p-120, - true, - 0x1.000004p-120, - 0x1.000004p-120, - 0x1.000004p-120, - 0x1.000004p-120), + 0x1.000004p-120, false, + 0x1.000004p-120, false, + 0x1.000004p-120, false, + 0x1.000004p-120, false, + true, + 0x1.000004p-120, false, + 0x1.000004p-120, false, + 0x1.000004p-120, false, + 0x1.000004p-120, false, + true, + 0x1.000004p-120, false, + 0x1.000004p-120, false, + 0x1.000004p-120, false, + 0x1.000004p-120, false, + true, + 0x1.000004p-120, false, + 0x1.000004p-120, false, + 0x1.000004p-120, false, + 0x1.000004p-120, false, + true, + 0x1.000004p-120, false, + 0x1.000004p-120, false, + 0x1.000004p-120, false, + 0x1.000004p-120, false, + true, + 0x1.000004p-120, false, + 0x1.000004p-120, false, + 0x1.000004p-120, false, + 0x1.000004p-120, false), TEST ("340282356779733661637539395458142568447.999", false, - 0xf.fffffp+124, - 0xf.fffffp+124, - 0xf.fffffp+124, - INF, - false, - 0xf.fffff7ffffff8p+124, - 0xf.fffff8p+124, - 0xf.fffff7ffffff8p+124, - 0xf.fffff8p+124, - false, - 0xf.fffff7fffffffffp+124, - 0xf.fffff8p+124, - 0xf.fffff7fffffffffp+124, - 0xf.fffff8p+124, - false, - 0xf.fffff7fffffffffp+124, - 0xf.fffff8p+124, - 0xf.fffff7fffffffffp+124, - 0xf.fffff8p+124, - false, - 0xf.fffff7fffffffffffffffffffcp+124, - 0xf.fffff8p+124, - 0xf.fffff7fffffffffffffffffffcp+124, - 0xf.fffff8p+124, - false, - 0xf.fffff7fffffffffffffffffffff8p+124, - 0xf.fffff8p+124, - 0xf.fffff7fffffffffffffffffffff8p+124, - 0xf.fffff8p+124), + 0xf.fffffp+124, false, + 0xf.fffffp+124, false, + 0xf.fffffp+124, false, + INF, true, + false, + 0xf.fffff7ffffff8p+124, false, + 0xf.fffff8p+124, false, + 0xf.fffff7ffffff8p+124, false, + 0xf.fffff8p+124, false, + false, + 0xf.fffff7fffffffffp+124, false, + 0xf.fffff8p+124, false, + 0xf.fffff7fffffffffp+124, false, + 0xf.fffff8p+124, false, + false, + 0xf.fffff7fffffffffp+124, false, + 0xf.fffff8p+124, false, + 0xf.fffff7fffffffffp+124, false, + 0xf.fffff8p+124, false, + false, + 0xf.fffff7fffffffffffffffffffcp+124, false, + 0xf.fffff8p+124, false, + 0xf.fffff7fffffffffffffffffffcp+124, false, + 0xf.fffff8p+124, false, + false, + 0xf.fffff7fffffffffffffffffffff8p+124, false, + 0xf.fffff8p+124, false, + 0xf.fffff7fffffffffffffffffffff8p+124, false, + 0xf.fffff8p+124, false), TEST ("340282356779733661637539395458142568448", false, - 0xf.fffffp+124, - INF, - 0xf.fffffp+124, - INF, - true, - 0xf.fffff8p+124, - 0xf.fffff8p+124, - 0xf.fffff8p+124, - 0xf.fffff8p+124, - true, - 0xf.fffff8p+124, - 0xf.fffff8p+124, - 0xf.fffff8p+124, - 0xf.fffff8p+124, - true, - 0xf.fffff8p+124, - 0xf.fffff8p+124, - 0xf.fffff8p+124, - 0xf.fffff8p+124, - true, - 0xf.fffff8p+124, - 0xf.fffff8p+124, - 0xf.fffff8p+124, - 0xf.fffff8p+124, - true, - 0xf.fffff8p+124, - 0xf.fffff8p+124, - 0xf.fffff8p+124, - 0xf.fffff8p+124), + 0xf.fffffp+124, false, + INF, true, + 0xf.fffffp+124, false, + INF, true, + true, + 0xf.fffff8p+124, false, + 0xf.fffff8p+124, false, + 0xf.fffff8p+124, false, + 0xf.fffff8p+124, false, + true, + 0xf.fffff8p+124, false, + 0xf.fffff8p+124, false, + 0xf.fffff8p+124, false, + 0xf.fffff8p+124, false, + true, + 0xf.fffff8p+124, false, + 0xf.fffff8p+124, false, + 0xf.fffff8p+124, false, + 0xf.fffff8p+124, false, + true, + 0xf.fffff8p+124, false, + 0xf.fffff8p+124, false, + 0xf.fffff8p+124, false, + 0xf.fffff8p+124, false, + true, + 0xf.fffff8p+124, false, + 0xf.fffff8p+124, false, + 0xf.fffff8p+124, false, + 0xf.fffff8p+124, false), TEST ("340282356779733661637539395458142568448.001", false, - 0xf.fffffp+124, - INF, - 0xf.fffffp+124, - INF, - false, - 0xf.fffff8p+124, - 0xf.fffff8p+124, - 0xf.fffff8p+124, - 0xf.fffff80000008p+124, - false, - 0xf.fffff8p+124, - 0xf.fffff8p+124, - 0xf.fffff8p+124, - 0xf.fffff8000000001p+124, - false, - 0xf.fffff8p+124, - 0xf.fffff8p+124, - 0xf.fffff8p+124, - 0xf.fffff8000000001p+124, - false, - 0xf.fffff8p+124, - 0xf.fffff8p+124, - 0xf.fffff8p+124, - 0xf.fffff800000000000000000004p+124, - false, - 0xf.fffff8p+124, - 0xf.fffff8p+124, - 0xf.fffff8p+124, - 0xf.fffff80000000000000000000008p+124), + 0xf.fffffp+124, false, + INF, true, + 0xf.fffffp+124, false, + INF, true, + false, + 0xf.fffff8p+124, false, + 0xf.fffff8p+124, false, + 0xf.fffff8p+124, false, + 0xf.fffff80000008p+124, false, + false, + 0xf.fffff8p+124, false, + 0xf.fffff8p+124, false, + 0xf.fffff8p+124, false, + 0xf.fffff8000000001p+124, false, + false, + 0xf.fffff8p+124, false, + 0xf.fffff8p+124, false, + 0xf.fffff8p+124, false, + 0xf.fffff8000000001p+124, false, + false, + 0xf.fffff8p+124, false, + 0xf.fffff8p+124, false, + 0xf.fffff8p+124, false, + 0xf.fffff800000000000000000004p+124, false, + false, + 0xf.fffff8p+124, false, + 0xf.fffff8p+124, false, + 0xf.fffff8p+124, false, + 0xf.fffff80000000000000000000008p+124, false), TEST ("-340282356779733661637539395458142568447.999", false, - -INF, - -0xf.fffffp+124, - -0xf.fffffp+124, - -0xf.fffffp+124, - false, - -0xf.fffff8p+124, - -0xf.fffff8p+124, - -0xf.fffff7ffffff8p+124, - -0xf.fffff7ffffff8p+124, - false, - -0xf.fffff8p+124, - -0xf.fffff8p+124, - -0xf.fffff7fffffffffp+124, - -0xf.fffff7fffffffffp+124, - false, - -0xf.fffff8p+124, - -0xf.fffff8p+124, - -0xf.fffff7fffffffffp+124, - -0xf.fffff7fffffffffp+124, - false, - -0xf.fffff8p+124, - -0xf.fffff8p+124, - -0xf.fffff7fffffffffffffffffffcp+124, - -0xf.fffff7fffffffffffffffffffcp+124, - false, - -0xf.fffff8p+124, - -0xf.fffff8p+124, - -0xf.fffff7fffffffffffffffffffff8p+124, - -0xf.fffff7fffffffffffffffffffff8p+124), + -INF, true, + -0xf.fffffp+124, false, + -0xf.fffffp+124, false, + -0xf.fffffp+124, false, + false, + -0xf.fffff8p+124, false, + -0xf.fffff8p+124, false, + -0xf.fffff7ffffff8p+124, false, + -0xf.fffff7ffffff8p+124, false, + false, + -0xf.fffff8p+124, false, + -0xf.fffff8p+124, false, + -0xf.fffff7fffffffffp+124, false, + -0xf.fffff7fffffffffp+124, false, + false, + -0xf.fffff8p+124, false, + -0xf.fffff8p+124, false, + -0xf.fffff7fffffffffp+124, false, + -0xf.fffff7fffffffffp+124, false, + false, + -0xf.fffff8p+124, false, + -0xf.fffff8p+124, false, + -0xf.fffff7fffffffffffffffffffcp+124, false, + -0xf.fffff7fffffffffffffffffffcp+124, false, + false, + -0xf.fffff8p+124, false, + -0xf.fffff8p+124, false, + -0xf.fffff7fffffffffffffffffffff8p+124, false, + -0xf.fffff7fffffffffffffffffffff8p+124, false), TEST ("-340282356779733661637539395458142568448", false, - -INF, - -INF, - -0xf.fffffp+124, - -0xf.fffffp+124, - true, - -0xf.fffff8p+124, - -0xf.fffff8p+124, - -0xf.fffff8p+124, - -0xf.fffff8p+124, - true, - -0xf.fffff8p+124, - -0xf.fffff8p+124, - -0xf.fffff8p+124, - -0xf.fffff8p+124, - true, - -0xf.fffff8p+124, - -0xf.fffff8p+124, - -0xf.fffff8p+124, - -0xf.fffff8p+124, - true, - -0xf.fffff8p+124, - -0xf.fffff8p+124, - -0xf.fffff8p+124, - -0xf.fffff8p+124, - true, - -0xf.fffff8p+124, - -0xf.fffff8p+124, - -0xf.fffff8p+124, - -0xf.fffff8p+124), + -INF, true, + -INF, true, + -0xf.fffffp+124, false, + -0xf.fffffp+124, false, + true, + -0xf.fffff8p+124, false, + -0xf.fffff8p+124, false, + -0xf.fffff8p+124, false, + -0xf.fffff8p+124, false, + true, + -0xf.fffff8p+124, false, + -0xf.fffff8p+124, false, + -0xf.fffff8p+124, false, + -0xf.fffff8p+124, false, + true, + -0xf.fffff8p+124, false, + -0xf.fffff8p+124, false, + -0xf.fffff8p+124, false, + -0xf.fffff8p+124, false, + true, + -0xf.fffff8p+124, false, + -0xf.fffff8p+124, false, + -0xf.fffff8p+124, false, + -0xf.fffff8p+124, false, + true, + -0xf.fffff8p+124, false, + -0xf.fffff8p+124, false, + -0xf.fffff8p+124, false, + -0xf.fffff8p+124, false), TEST ("-340282356779733661637539395458142568448.001", false, - -INF, - -INF, - -0xf.fffffp+124, - -0xf.fffffp+124, - false, - -0xf.fffff80000008p+124, - -0xf.fffff8p+124, - -0xf.fffff8p+124, - -0xf.fffff8p+124, - false, - -0xf.fffff8000000001p+124, - -0xf.fffff8p+124, - -0xf.fffff8p+124, - -0xf.fffff8p+124, - false, - -0xf.fffff8000000001p+124, - -0xf.fffff8p+124, - -0xf.fffff8p+124, - -0xf.fffff8p+124, - false, - -0xf.fffff800000000000000000004p+124, - -0xf.fffff8p+124, - -0xf.fffff8p+124, - -0xf.fffff8p+124, - false, - -0xf.fffff80000000000000000000008p+124, - -0xf.fffff8p+124, - -0xf.fffff8p+124, - -0xf.fffff8p+124), + -INF, true, + -INF, true, + -0xf.fffffp+124, false, + -0xf.fffffp+124, false, + false, + -0xf.fffff80000008p+124, false, + -0xf.fffff8p+124, false, + -0xf.fffff8p+124, false, + -0xf.fffff8p+124, false, + false, + -0xf.fffff8000000001p+124, false, + -0xf.fffff8p+124, false, + -0xf.fffff8p+124, false, + -0xf.fffff8p+124, false, + false, + -0xf.fffff8000000001p+124, false, + -0xf.fffff8p+124, false, + -0xf.fffff8p+124, false, + -0xf.fffff8p+124, false, + false, + -0xf.fffff800000000000000000004p+124, false, + -0xf.fffff8p+124, false, + -0xf.fffff8p+124, false, + -0xf.fffff8p+124, false, + false, + -0xf.fffff80000000000000000000008p+124, false, + -0xf.fffff8p+124, false, + -0xf.fffff8p+124, false, + -0xf.fffff8p+124, false), TEST ("179769313486231580793728971405303415079934132710037826936173" "778980444968292764750946649017977587207096330286416692887910" "946555547851940402630657488671505820681908902000708383676273" @@ -1855,35 +1855,35 @@ static const struct test tests[] = { "936475292719074168444365510704342711559699508093042880177904" "174497791.999", false, - 0xf.fffffp+124, - INF, - 0xf.fffffp+124, - INF, - false, - 0xf.ffffffffffff8p+1020, - 0xf.ffffffffffff8p+1020, - 0xf.ffffffffffff8p+1020, - INF, - false, - 0xf.ffffffffffffbffp+1020, - 0xf.ffffffffffffcp+1020, - 0xf.ffffffffffffbffp+1020, - 0xf.ffffffffffffcp+1020, - false, - 0xf.ffffffffffffbffp+1020, - 0xf.ffffffffffffcp+1020, - 0xf.ffffffffffffbffp+1020, - 0xf.ffffffffffffcp+1020, - false, - 0xf.ffffffffffffbffffffffffffcp+1020, - 0xf.ffffffffffffcp+1020, - 0xf.ffffffffffffbffffffffffffcp+1020, - 0xf.ffffffffffffcp+1020, - false, - 0xf.ffffffffffffbffffffffffffff8p+1020, - 0xf.ffffffffffffcp+1020, - 0xf.ffffffffffffbffffffffffffff8p+1020, - 0xf.ffffffffffffcp+1020), + 0xf.fffffp+124, true, + INF, true, + 0xf.fffffp+124, true, + INF, true, + false, + 0xf.ffffffffffff8p+1020, false, + 0xf.ffffffffffff8p+1020, false, + 0xf.ffffffffffff8p+1020, false, + INF, true, + false, + 0xf.ffffffffffffbffp+1020, false, + 0xf.ffffffffffffcp+1020, false, + 0xf.ffffffffffffbffp+1020, false, + 0xf.ffffffffffffcp+1020, false, + false, + 0xf.ffffffffffffbffp+1020, false, + 0xf.ffffffffffffcp+1020, false, + 0xf.ffffffffffffbffp+1020, false, + 0xf.ffffffffffffcp+1020, false, + false, + 0xf.ffffffffffffbffffffffffffcp+1020, false, + 0xf.ffffffffffffcp+1020, true, + 0xf.ffffffffffffbffffffffffffcp+1020, false, + 0xf.ffffffffffffcp+1020, true, + false, + 0xf.ffffffffffffbffffffffffffff8p+1020, false, + 0xf.ffffffffffffcp+1020, false, + 0xf.ffffffffffffbffffffffffffff8p+1020, false, + 0xf.ffffffffffffcp+1020, false), TEST ("179769313486231580793728971405303415079934132710037826936173" "778980444968292764750946649017977587207096330286416692887910" "946555547851940402630657488671505820681908902000708383676273" @@ -1891,35 +1891,35 @@ static const struct test tests[] = { "936475292719074168444365510704342711559699508093042880177904" "174497792", false, - 0xf.fffffp+124, - INF, - 0xf.fffffp+124, - INF, - false, - 0xf.ffffffffffff8p+1020, - INF, - 0xf.ffffffffffff8p+1020, - INF, - true, - 0xf.ffffffffffffcp+1020, - 0xf.ffffffffffffcp+1020, - 0xf.ffffffffffffcp+1020, - 0xf.ffffffffffffcp+1020, - true, - 0xf.ffffffffffffcp+1020, - 0xf.ffffffffffffcp+1020, - 0xf.ffffffffffffcp+1020, - 0xf.ffffffffffffcp+1020, - false, - 0xf.ffffffffffffcp+1020, - 0xf.ffffffffffffcp+1020, - 0xf.ffffffffffffcp+1020, - 0xf.ffffffffffffcp+1020, - true, - 0xf.ffffffffffffcp+1020, - 0xf.ffffffffffffcp+1020, - 0xf.ffffffffffffcp+1020, - 0xf.ffffffffffffcp+1020), + 0xf.fffffp+124, true, + INF, true, + 0xf.fffffp+124, true, + INF, true, + false, + 0xf.ffffffffffff8p+1020, false, + INF, true, + 0xf.ffffffffffff8p+1020, false, + INF, true, + true, + 0xf.ffffffffffffcp+1020, false, + 0xf.ffffffffffffcp+1020, false, + 0xf.ffffffffffffcp+1020, false, + 0xf.ffffffffffffcp+1020, false, + true, + 0xf.ffffffffffffcp+1020, false, + 0xf.ffffffffffffcp+1020, false, + 0xf.ffffffffffffcp+1020, false, + 0xf.ffffffffffffcp+1020, false, + false, + 0xf.ffffffffffffcp+1020, true, + 0xf.ffffffffffffcp+1020, true, + 0xf.ffffffffffffcp+1020, true, + 0xf.ffffffffffffcp+1020, true, + true, + 0xf.ffffffffffffcp+1020, false, + 0xf.ffffffffffffcp+1020, false, + 0xf.ffffffffffffcp+1020, false, + 0xf.ffffffffffffcp+1020, false), TEST ("179769313486231580793728971405303415079934132710037826936173" "778980444968292764750946649017977587207096330286416692887910" "946555547851940402630657488671505820681908902000708383676273" @@ -1927,35 +1927,35 @@ static const struct test tests[] = { "936475292719074168444365510704342711559699508093042880177904" "174497792.001", false, - 0xf.fffffp+124, - INF, - 0xf.fffffp+124, - INF, - false, - 0xf.ffffffffffff8p+1020, - INF, - 0xf.ffffffffffff8p+1020, - INF, - false, - 0xf.ffffffffffffcp+1020, - 0xf.ffffffffffffcp+1020, - 0xf.ffffffffffffcp+1020, - 0xf.ffffffffffffc01p+1020, - false, - 0xf.ffffffffffffcp+1020, - 0xf.ffffffffffffcp+1020, - 0xf.ffffffffffffcp+1020, - 0xf.ffffffffffffc01p+1020, - false, - 0xf.ffffffffffffcp+1020, - 0xf.ffffffffffffcp+1020, - 0xf.ffffffffffffcp+1020, - 0xf.ffffffffffffc0000000000004p+1020, - false, - 0xf.ffffffffffffcp+1020, - 0xf.ffffffffffffcp+1020, - 0xf.ffffffffffffcp+1020, - 0xf.ffffffffffffc000000000000008p+1020), + 0xf.fffffp+124, true, + INF, true, + 0xf.fffffp+124, true, + INF, true, + false, + 0xf.ffffffffffff8p+1020, false, + INF, true, + 0xf.ffffffffffff8p+1020, false, + INF, true, + false, + 0xf.ffffffffffffcp+1020, false, + 0xf.ffffffffffffcp+1020, false, + 0xf.ffffffffffffcp+1020, false, + 0xf.ffffffffffffc01p+1020, false, + false, + 0xf.ffffffffffffcp+1020, false, + 0xf.ffffffffffffcp+1020, false, + 0xf.ffffffffffffcp+1020, false, + 0xf.ffffffffffffc01p+1020, false, + false, + 0xf.ffffffffffffcp+1020, true, + 0xf.ffffffffffffcp+1020, true, + 0xf.ffffffffffffcp+1020, true, + 0xf.ffffffffffffc0000000000004p+1020, true, + false, + 0xf.ffffffffffffcp+1020, false, + 0xf.ffffffffffffcp+1020, false, + 0xf.ffffffffffffcp+1020, false, + 0xf.ffffffffffffc000000000000008p+1020, false), TEST ("-17976931348623158079372897140530341507993413271003782693617" "377898044496829276475094664901797758720709633028641669288791" "094655554785194040263065748867150582068190890200070838367627" @@ -1963,35 +1963,35 @@ static const struct test tests[] = { "493647529271907416844436551070434271155969950809304288017790" "4174497791.999", false, - -INF, - -INF, - -0xf.fffffp+124, - -0xf.fffffp+124, - false, - -INF, - -0xf.ffffffffffff8p+1020, - -0xf.ffffffffffff8p+1020, - -0xf.ffffffffffff8p+1020, - false, - -0xf.ffffffffffffcp+1020, - -0xf.ffffffffffffcp+1020, - -0xf.ffffffffffffbffp+1020, - -0xf.ffffffffffffbffp+1020, - false, - -0xf.ffffffffffffcp+1020, - -0xf.ffffffffffffcp+1020, - -0xf.ffffffffffffbffp+1020, - -0xf.ffffffffffffbffp+1020, - false, - -0xf.ffffffffffffcp+1020, - -0xf.ffffffffffffcp+1020, - -0xf.ffffffffffffbffffffffffffcp+1020, - -0xf.ffffffffffffbffffffffffffcp+1020, - false, - -0xf.ffffffffffffcp+1020, - -0xf.ffffffffffffcp+1020, - -0xf.ffffffffffffbffffffffffffff8p+1020, - -0xf.ffffffffffffbffffffffffffff8p+1020), + -INF, true, + -INF, true, + -0xf.fffffp+124, true, + -0xf.fffffp+124, true, + false, + -INF, true, + -0xf.ffffffffffff8p+1020, false, + -0xf.ffffffffffff8p+1020, false, + -0xf.ffffffffffff8p+1020, false, + false, + -0xf.ffffffffffffcp+1020, false, + -0xf.ffffffffffffcp+1020, false, + -0xf.ffffffffffffbffp+1020, false, + -0xf.ffffffffffffbffp+1020, false, + false, + -0xf.ffffffffffffcp+1020, false, + -0xf.ffffffffffffcp+1020, false, + -0xf.ffffffffffffbffp+1020, false, + -0xf.ffffffffffffbffp+1020, false, + false, + -0xf.ffffffffffffcp+1020, true, + -0xf.ffffffffffffcp+1020, true, + -0xf.ffffffffffffbffffffffffffcp+1020, false, + -0xf.ffffffffffffbffffffffffffcp+1020, false, + false, + -0xf.ffffffffffffcp+1020, false, + -0xf.ffffffffffffcp+1020, false, + -0xf.ffffffffffffbffffffffffffff8p+1020, false, + -0xf.ffffffffffffbffffffffffffff8p+1020, false), TEST ("-17976931348623158079372897140530341507993413271003782693617" "377898044496829276475094664901797758720709633028641669288791" "094655554785194040263065748867150582068190890200070838367627" @@ -1999,35 +1999,35 @@ static const struct test tests[] = { "493647529271907416844436551070434271155969950809304288017790" "4174497792", false, - -INF, - -INF, - -0xf.fffffp+124, - -0xf.fffffp+124, - false, - -INF, - -INF, - -0xf.ffffffffffff8p+1020, - -0xf.ffffffffffff8p+1020, - true, - -0xf.ffffffffffffcp+1020, - -0xf.ffffffffffffcp+1020, - -0xf.ffffffffffffcp+1020, - -0xf.ffffffffffffcp+1020, - true, - -0xf.ffffffffffffcp+1020, - -0xf.ffffffffffffcp+1020, - -0xf.ffffffffffffcp+1020, - -0xf.ffffffffffffcp+1020, - false, - -0xf.ffffffffffffcp+1020, - -0xf.ffffffffffffcp+1020, - -0xf.ffffffffffffcp+1020, - -0xf.ffffffffffffcp+1020, - true, - -0xf.ffffffffffffcp+1020, - -0xf.ffffffffffffcp+1020, - -0xf.ffffffffffffcp+1020, - -0xf.ffffffffffffcp+1020), + -INF, true, + -INF, true, + -0xf.fffffp+124, true, + -0xf.fffffp+124, true, + false, + -INF, true, + -INF, true, + -0xf.ffffffffffff8p+1020, false, + -0xf.ffffffffffff8p+1020, false, + true, + -0xf.ffffffffffffcp+1020, false, + -0xf.ffffffffffffcp+1020, false, + -0xf.ffffffffffffcp+1020, false, + -0xf.ffffffffffffcp+1020, false, + true, + -0xf.ffffffffffffcp+1020, false, + -0xf.ffffffffffffcp+1020, false, + -0xf.ffffffffffffcp+1020, false, + -0xf.ffffffffffffcp+1020, false, + false, + -0xf.ffffffffffffcp+1020, true, + -0xf.ffffffffffffcp+1020, true, + -0xf.ffffffffffffcp+1020, true, + -0xf.ffffffffffffcp+1020, true, + true, + -0xf.ffffffffffffcp+1020, false, + -0xf.ffffffffffffcp+1020, false, + -0xf.ffffffffffffcp+1020, false, + -0xf.ffffffffffffcp+1020, false), TEST ("-17976931348623158079372897140530341507993413271003782693617" "377898044496829276475094664901797758720709633028641669288791" "094655554785194040263065748867150582068190890200070838367627" @@ -2035,35 +2035,35 @@ static const struct test tests[] = { "493647529271907416844436551070434271155969950809304288017790" "4174497792.001", false, - -INF, - -INF, - -0xf.fffffp+124, - -0xf.fffffp+124, - false, - -INF, - -INF, - -0xf.ffffffffffff8p+1020, - -0xf.ffffffffffff8p+1020, - false, - -0xf.ffffffffffffc01p+1020, - -0xf.ffffffffffffcp+1020, - -0xf.ffffffffffffcp+1020, - -0xf.ffffffffffffcp+1020, - false, - -0xf.ffffffffffffc01p+1020, - -0xf.ffffffffffffcp+1020, - -0xf.ffffffffffffcp+1020, - -0xf.ffffffffffffcp+1020, - false, - -0xf.ffffffffffffc0000000000004p+1020, - -0xf.ffffffffffffcp+1020, - -0xf.ffffffffffffcp+1020, - -0xf.ffffffffffffcp+1020, - false, - -0xf.ffffffffffffc000000000000008p+1020, - -0xf.ffffffffffffcp+1020, - -0xf.ffffffffffffcp+1020, - -0xf.ffffffffffffcp+1020), + -INF, true, + -INF, true, + -0xf.fffffp+124, true, + -0xf.fffffp+124, true, + false, + -INF, true, + -INF, true, + -0xf.ffffffffffff8p+1020, false, + -0xf.ffffffffffff8p+1020, false, + false, + -0xf.ffffffffffffc01p+1020, false, + -0xf.ffffffffffffcp+1020, false, + -0xf.ffffffffffffcp+1020, false, + -0xf.ffffffffffffcp+1020, false, + false, + -0xf.ffffffffffffc01p+1020, false, + -0xf.ffffffffffffcp+1020, false, + -0xf.ffffffffffffcp+1020, false, + -0xf.ffffffffffffcp+1020, false, + false, + -0xf.ffffffffffffc0000000000004p+1020, true, + -0xf.ffffffffffffcp+1020, true, + -0xf.ffffffffffffcp+1020, true, + -0xf.ffffffffffffcp+1020, true, + false, + -0xf.ffffffffffffc000000000000008p+1020, false, + -0xf.ffffffffffffcp+1020, false, + -0xf.ffffffffffffcp+1020, false, + -0xf.ffffffffffffcp+1020, false), TEST ("118973149535723176505351158982948866796625400469556721895649" "927756249918185172720476044944290457046138433056764616744328" "666255526748948793023632513609765434237723241753648908036202" @@ -2148,35 +2148,35 @@ static const struct test tests[] = { "578031503869424406179027994752890226443351619365453243328968" "8740976918527.999", false, - 0xf.fffffp+124, - INF, - 0xf.fffffp+124, - INF, - false, - 0xf.ffffffffffff8p+1020, - INF, - 0xf.ffffffffffff8p+1020, - INF, - false, - 0xf.fffffffffffffffp+16380, - 0xf.fffffffffffffffp+16380, - 0xf.fffffffffffffffp+16380, - INF, - false, - 0xf.fffffffffffffffp+16380, - 0xf.fffffffffffffffp+16380, - 0xf.fffffffffffffffp+16380, - INF, - false, - 0xf.fffffffffffffffffffffffffcp+1020, - INF, - 0xf.fffffffffffffffffffffffffcp+1020, - INF, - false, - 0xf.fffffffffffffff7fffffffffff8p+16380, - 0xf.fffffffffffffff8p+16380, - 0xf.fffffffffffffff7fffffffffff8p+16380, - 0xf.fffffffffffffff8p+16380), + 0xf.fffffp+124, true, + INF, true, + 0xf.fffffp+124, true, + INF, true, + false, + 0xf.ffffffffffff8p+1020, true, + INF, true, + 0xf.ffffffffffff8p+1020, true, + INF, true, + false, + 0xf.fffffffffffffffp+16380, false, + 0xf.fffffffffffffffp+16380, false, + 0xf.fffffffffffffffp+16380, false, + INF, true, + false, + 0xf.fffffffffffffffp+16380, false, + 0xf.fffffffffffffffp+16380, false, + 0xf.fffffffffffffffp+16380, false, + INF, true, + false, + 0xf.fffffffffffffffffffffffffcp+1020, true, + INF, true, + 0xf.fffffffffffffffffffffffffcp+1020, true, + INF, true, + false, + 0xf.fffffffffffffff7fffffffffff8p+16380, false, + 0xf.fffffffffffffff8p+16380, false, + 0xf.fffffffffffffff7fffffffffff8p+16380, false, + 0xf.fffffffffffffff8p+16380, false), TEST ("118973149535723176505351158982948866796625400469556721895649" "927756249918185172720476044944290457046138433056764616744328" "666255526748948793023632513609765434237723241753648908036202" @@ -2261,35 +2261,35 @@ static const struct test tests[] = { "578031503869424406179027994752890226443351619365453243328968" "8740976918528", false, - 0xf.fffffp+124, - INF, - 0xf.fffffp+124, - INF, - false, - 0xf.ffffffffffff8p+1020, - INF, - 0xf.ffffffffffff8p+1020, - INF, - false, - 0xf.fffffffffffffffp+16380, - INF, - 0xf.fffffffffffffffp+16380, - INF, - false, - 0xf.fffffffffffffffp+16380, - INF, - 0xf.fffffffffffffffp+16380, - INF, - false, - 0xf.fffffffffffffffffffffffffcp+1020, - INF, - 0xf.fffffffffffffffffffffffffcp+1020, - INF, - true, - 0xf.fffffffffffffff8p+16380, - 0xf.fffffffffffffff8p+16380, - 0xf.fffffffffffffff8p+16380, - 0xf.fffffffffffffff8p+16380), + 0xf.fffffp+124, true, + INF, true, + 0xf.fffffp+124, true, + INF, true, + false, + 0xf.ffffffffffff8p+1020, true, + INF, true, + 0xf.ffffffffffff8p+1020, true, + INF, true, + false, + 0xf.fffffffffffffffp+16380, false, + INF, true, + 0xf.fffffffffffffffp+16380, false, + INF, true, + false, + 0xf.fffffffffffffffp+16380, false, + INF, true, + 0xf.fffffffffffffffp+16380, false, + INF, true, + false, + 0xf.fffffffffffffffffffffffffcp+1020, true, + INF, true, + 0xf.fffffffffffffffffffffffffcp+1020, true, + INF, true, + true, + 0xf.fffffffffffffff8p+16380, false, + 0xf.fffffffffffffff8p+16380, false, + 0xf.fffffffffffffff8p+16380, false, + 0xf.fffffffffffffff8p+16380, false), TEST ("118973149535723176505351158982948866796625400469556721895649" "927756249918185172720476044944290457046138433056764616744328" "666255526748948793023632513609765434237723241753648908036202" @@ -2374,35 +2374,35 @@ static const struct test tests[] = { "578031503869424406179027994752890226443351619365453243328968" "8740976918528.001", false, - 0xf.fffffp+124, - INF, - 0xf.fffffp+124, - INF, - false, - 0xf.ffffffffffff8p+1020, - INF, - 0xf.ffffffffffff8p+1020, - INF, - false, - 0xf.fffffffffffffffp+16380, - INF, - 0xf.fffffffffffffffp+16380, - INF, - false, - 0xf.fffffffffffffffp+16380, - INF, - 0xf.fffffffffffffffp+16380, - INF, - false, - 0xf.fffffffffffffffffffffffffcp+1020, - INF, - 0xf.fffffffffffffffffffffffffcp+1020, - INF, - false, - 0xf.fffffffffffffff8p+16380, - 0xf.fffffffffffffff8p+16380, - 0xf.fffffffffffffff8p+16380, - 0xf.fffffffffffffff8000000000008p+16380), + 0xf.fffffp+124, true, + INF, true, + 0xf.fffffp+124, true, + INF, true, + false, + 0xf.ffffffffffff8p+1020, true, + INF, true, + 0xf.ffffffffffff8p+1020, true, + INF, true, + false, + 0xf.fffffffffffffffp+16380, false, + INF, true, + 0xf.fffffffffffffffp+16380, false, + INF, true, + false, + 0xf.fffffffffffffffp+16380, false, + INF, true, + 0xf.fffffffffffffffp+16380, false, + INF, true, + false, + 0xf.fffffffffffffffffffffffffcp+1020, true, + INF, true, + 0xf.fffffffffffffffffffffffffcp+1020, true, + INF, true, + false, + 0xf.fffffffffffffff8p+16380, false, + 0xf.fffffffffffffff8p+16380, false, + 0xf.fffffffffffffff8p+16380, false, + 0xf.fffffffffffffff8000000000008p+16380, false), TEST ("-11897314953572317650535115898294886679662540046955672189564" "992775624991818517272047604494429045704613843305676461674432" "866625552674894879302363251360976543423772324175364890803620" @@ -2487,35 +2487,35 @@ static const struct test tests[] = { "557803150386942440617902799475289022644335161936545324332896" "88740976918527.999", false, - -INF, - -INF, - -0xf.fffffp+124, - -0xf.fffffp+124, - false, - -INF, - -INF, - -0xf.ffffffffffff8p+1020, - -0xf.ffffffffffff8p+1020, - false, - -INF, - -0xf.fffffffffffffffp+16380, - -0xf.fffffffffffffffp+16380, - -0xf.fffffffffffffffp+16380, - false, - -INF, - -0xf.fffffffffffffffp+16380, - -0xf.fffffffffffffffp+16380, - -0xf.fffffffffffffffp+16380, - false, - -INF, - -INF, - -0xf.fffffffffffffffffffffffffcp+1020, - -0xf.fffffffffffffffffffffffffcp+1020, - false, - -0xf.fffffffffffffff8p+16380, - -0xf.fffffffffffffff8p+16380, - -0xf.fffffffffffffff7fffffffffff8p+16380, - -0xf.fffffffffffffff7fffffffffff8p+16380), + -INF, true, + -INF, true, + -0xf.fffffp+124, true, + -0xf.fffffp+124, true, + false, + -INF, true, + -INF, true, + -0xf.ffffffffffff8p+1020, true, + -0xf.ffffffffffff8p+1020, true, + false, + -INF, true, + -0xf.fffffffffffffffp+16380, false, + -0xf.fffffffffffffffp+16380, false, + -0xf.fffffffffffffffp+16380, false, + false, + -INF, true, + -0xf.fffffffffffffffp+16380, false, + -0xf.fffffffffffffffp+16380, false, + -0xf.fffffffffffffffp+16380, false, + false, + -INF, true, + -INF, true, + -0xf.fffffffffffffffffffffffffcp+1020, true, + -0xf.fffffffffffffffffffffffffcp+1020, true, + false, + -0xf.fffffffffffffff8p+16380, false, + -0xf.fffffffffffffff8p+16380, false, + -0xf.fffffffffffffff7fffffffffff8p+16380, false, + -0xf.fffffffffffffff7fffffffffff8p+16380, false), TEST ("-11897314953572317650535115898294886679662540046955672189564" "992775624991818517272047604494429045704613843305676461674432" "866625552674894879302363251360976543423772324175364890803620" @@ -2600,35 +2600,35 @@ static const struct test tests[] = { "557803150386942440617902799475289022644335161936545324332896" "88740976918528", false, - -INF, - -INF, - -0xf.fffffp+124, - -0xf.fffffp+124, - false, - -INF, - -INF, - -0xf.ffffffffffff8p+1020, - -0xf.ffffffffffff8p+1020, - false, - -INF, - -INF, - -0xf.fffffffffffffffp+16380, - -0xf.fffffffffffffffp+16380, - false, - -INF, - -INF, - -0xf.fffffffffffffffp+16380, - -0xf.fffffffffffffffp+16380, - false, - -INF, - -INF, - -0xf.fffffffffffffffffffffffffcp+1020, - -0xf.fffffffffffffffffffffffffcp+1020, - true, - -0xf.fffffffffffffff8p+16380, - -0xf.fffffffffffffff8p+16380, - -0xf.fffffffffffffff8p+16380, - -0xf.fffffffffffffff8p+16380), + -INF, true, + -INF, true, + -0xf.fffffp+124, true, + -0xf.fffffp+124, true, + false, + -INF, true, + -INF, true, + -0xf.ffffffffffff8p+1020, true, + -0xf.ffffffffffff8p+1020, true, + false, + -INF, true, + -INF, true, + -0xf.fffffffffffffffp+16380, false, + -0xf.fffffffffffffffp+16380, false, + false, + -INF, true, + -INF, true, + -0xf.fffffffffffffffp+16380, false, + -0xf.fffffffffffffffp+16380, false, + false, + -INF, true, + -INF, true, + -0xf.fffffffffffffffffffffffffcp+1020, true, + -0xf.fffffffffffffffffffffffffcp+1020, true, + true, + -0xf.fffffffffffffff8p+16380, false, + -0xf.fffffffffffffff8p+16380, false, + -0xf.fffffffffffffff8p+16380, false, + -0xf.fffffffffffffff8p+16380, false), TEST ("-11897314953572317650535115898294886679662540046955672189564" "992775624991818517272047604494429045704613843305676461674432" "866625552674894879302363251360976543423772324175364890803620" @@ -2713,35 +2713,35 @@ static const struct test tests[] = { "557803150386942440617902799475289022644335161936545324332896" "88740976918528.001", false, - -INF, - -INF, - -0xf.fffffp+124, - -0xf.fffffp+124, - false, - -INF, - -INF, - -0xf.ffffffffffff8p+1020, - -0xf.ffffffffffff8p+1020, - false, - -INF, - -INF, - -0xf.fffffffffffffffp+16380, - -0xf.fffffffffffffffp+16380, - false, - -INF, - -INF, - -0xf.fffffffffffffffp+16380, - -0xf.fffffffffffffffp+16380, - false, - -INF, - -INF, - -0xf.fffffffffffffffffffffffffcp+1020, - -0xf.fffffffffffffffffffffffffcp+1020, - false, - -0xf.fffffffffffffff8000000000008p+16380, - -0xf.fffffffffffffff8p+16380, - -0xf.fffffffffffffff8p+16380, - -0xf.fffffffffffffff8p+16380), + -INF, true, + -INF, true, + -0xf.fffffp+124, true, + -0xf.fffffp+124, true, + false, + -INF, true, + -INF, true, + -0xf.ffffffffffff8p+1020, true, + -0xf.ffffffffffff8p+1020, true, + false, + -INF, true, + -INF, true, + -0xf.fffffffffffffffp+16380, false, + -0xf.fffffffffffffffp+16380, false, + false, + -INF, true, + -INF, true, + -0xf.fffffffffffffffp+16380, false, + -0xf.fffffffffffffffp+16380, false, + false, + -INF, true, + -INF, true, + -0xf.fffffffffffffffffffffffffcp+1020, true, + -0xf.fffffffffffffffffffffffffcp+1020, true, + false, + -0xf.fffffffffffffff8000000000008p+16380, false, + -0xf.fffffffffffffff8p+16380, false, + -0xf.fffffffffffffff8p+16380, false, + -0xf.fffffffffffffff8p+16380, false), TEST ("118973149535723176508575932662800707347995686986910214150118" "685272271246896789803961473130416053705672050873552479421805" "932646640744124594447361172514341324846716679654551308018400" @@ -2826,35 +2826,35 @@ static const struct test tests[] = { "972233447491583165728635513802591543441145939539353470970452" "5536550715391.999", false, - 0xf.fffffp+124, - INF, - 0xf.fffffp+124, - INF, - false, - 0xf.ffffffffffff8p+1020, - INF, - 0xf.ffffffffffff8p+1020, - INF, - false, - 0xf.fffffffffffffffp+16380, - INF, - 0xf.fffffffffffffffp+16380, - INF, - false, - 0xf.fffffffffffffffp+16380, - INF, - 0xf.fffffffffffffffp+16380, - INF, - false, - 0xf.fffffffffffffffffffffffffcp+1020, - INF, - 0xf.fffffffffffffffffffffffffcp+1020, - INF, - false, - 0xf.fffffffffffffffffffffffffff8p+16380, - 0xf.fffffffffffffffffffffffffff8p+16380, - 0xf.fffffffffffffffffffffffffff8p+16380, - INF), + 0xf.fffffp+124, true, + INF, true, + 0xf.fffffp+124, true, + INF, true, + false, + 0xf.ffffffffffff8p+1020, true, + INF, true, + 0xf.ffffffffffff8p+1020, true, + INF, true, + false, + 0xf.fffffffffffffffp+16380, false, + INF, true, + 0xf.fffffffffffffffp+16380, false, + INF, true, + false, + 0xf.fffffffffffffffp+16380, false, + INF, true, + 0xf.fffffffffffffffp+16380, false, + INF, true, + false, + 0xf.fffffffffffffffffffffffffcp+1020, true, + INF, true, + 0xf.fffffffffffffffffffffffffcp+1020, true, + INF, true, + false, + 0xf.fffffffffffffffffffffffffff8p+16380, false, + 0xf.fffffffffffffffffffffffffff8p+16380, false, + 0xf.fffffffffffffffffffffffffff8p+16380, false, + INF, true), TEST ("118973149535723176508575932662800707347995686986910214150118" "685272271246896789803961473130416053705672050873552479421805" "932646640744124594447361172514341324846716679654551308018400" @@ -2939,35 +2939,35 @@ static const struct test tests[] = { "972233447491583165728635513802591543441145939539353470970452" "5536550715392", false, - 0xf.fffffp+124, - INF, - 0xf.fffffp+124, - INF, - false, - 0xf.ffffffffffff8p+1020, - INF, - 0xf.ffffffffffff8p+1020, - INF, - false, - 0xf.fffffffffffffffp+16380, - INF, - 0xf.fffffffffffffffp+16380, - INF, - false, - 0xf.fffffffffffffffp+16380, - INF, - 0xf.fffffffffffffffp+16380, - INF, - false, - 0xf.fffffffffffffffffffffffffcp+1020, - INF, - 0xf.fffffffffffffffffffffffffcp+1020, - INF, - false, - 0xf.fffffffffffffffffffffffffff8p+16380, - INF, - 0xf.fffffffffffffffffffffffffff8p+16380, - INF), + 0xf.fffffp+124, true, + INF, true, + 0xf.fffffp+124, true, + INF, true, + false, + 0xf.ffffffffffff8p+1020, true, + INF, true, + 0xf.ffffffffffff8p+1020, true, + INF, true, + false, + 0xf.fffffffffffffffp+16380, false, + INF, true, + 0xf.fffffffffffffffp+16380, false, + INF, true, + false, + 0xf.fffffffffffffffp+16380, false, + INF, true, + 0xf.fffffffffffffffp+16380, false, + INF, true, + false, + 0xf.fffffffffffffffffffffffffcp+1020, true, + INF, true, + 0xf.fffffffffffffffffffffffffcp+1020, true, + INF, true, + false, + 0xf.fffffffffffffffffffffffffff8p+16380, false, + INF, true, + 0xf.fffffffffffffffffffffffffff8p+16380, false, + INF, true), TEST ("118973149535723176508575932662800707347995686986910214150118" "685272271246896789803961473130416053705672050873552479421805" "932646640744124594447361172514341324846716679654551308018400" @@ -3052,35 +3052,35 @@ static const struct test tests[] = { "972233447491583165728635513802591543441145939539353470970452" "5536550715392.001", false, - 0xf.fffffp+124, - INF, - 0xf.fffffp+124, - INF, - false, - 0xf.ffffffffffff8p+1020, - INF, - 0xf.ffffffffffff8p+1020, - INF, - false, - 0xf.fffffffffffffffp+16380, - INF, - 0xf.fffffffffffffffp+16380, - INF, - false, - 0xf.fffffffffffffffp+16380, - INF, - 0xf.fffffffffffffffp+16380, - INF, - false, - 0xf.fffffffffffffffffffffffffcp+1020, - INF, - 0xf.fffffffffffffffffffffffffcp+1020, - INF, - false, - 0xf.fffffffffffffffffffffffffff8p+16380, - INF, - 0xf.fffffffffffffffffffffffffff8p+16380, - INF), + 0xf.fffffp+124, true, + INF, true, + 0xf.fffffp+124, true, + INF, true, + false, + 0xf.ffffffffffff8p+1020, true, + INF, true, + 0xf.ffffffffffff8p+1020, true, + INF, true, + false, + 0xf.fffffffffffffffp+16380, false, + INF, true, + 0xf.fffffffffffffffp+16380, false, + INF, true, + false, + 0xf.fffffffffffffffp+16380, false, + INF, true, + 0xf.fffffffffffffffp+16380, false, + INF, true, + false, + 0xf.fffffffffffffffffffffffffcp+1020, true, + INF, true, + 0xf.fffffffffffffffffffffffffcp+1020, true, + INF, true, + false, + 0xf.fffffffffffffffffffffffffff8p+16380, false, + INF, true, + 0xf.fffffffffffffffffffffffffff8p+16380, false, + INF, true), TEST ("-11897314953572317650857593266280070734799568698691021415011" "868527227124689678980396147313041605370567205087355247942180" "593264664074412459444736117251434132484671667965455130801840" @@ -3165,35 +3165,35 @@ static const struct test tests[] = { "097223344749158316572863551380259154344114593953935347097045" "25536550715391.999", false, - -INF, - -INF, - -0xf.fffffp+124, - -0xf.fffffp+124, - false, - -INF, - -INF, - -0xf.ffffffffffff8p+1020, - -0xf.ffffffffffff8p+1020, - false, - -INF, - -INF, - -0xf.fffffffffffffffp+16380, - -0xf.fffffffffffffffp+16380, - false, - -INF, - -INF, - -0xf.fffffffffffffffp+16380, - -0xf.fffffffffffffffp+16380, - false, - -INF, - -INF, - -0xf.fffffffffffffffffffffffffcp+1020, - -0xf.fffffffffffffffffffffffffcp+1020, - false, - -INF, - -0xf.fffffffffffffffffffffffffff8p+16380, - -0xf.fffffffffffffffffffffffffff8p+16380, - -0xf.fffffffffffffffffffffffffff8p+16380), + -INF, true, + -INF, true, + -0xf.fffffp+124, true, + -0xf.fffffp+124, true, + false, + -INF, true, + -INF, true, + -0xf.ffffffffffff8p+1020, true, + -0xf.ffffffffffff8p+1020, true, + false, + -INF, true, + -INF, true, + -0xf.fffffffffffffffp+16380, false, + -0xf.fffffffffffffffp+16380, false, + false, + -INF, true, + -INF, true, + -0xf.fffffffffffffffp+16380, false, + -0xf.fffffffffffffffp+16380, false, + false, + -INF, true, + -INF, true, + -0xf.fffffffffffffffffffffffffcp+1020, true, + -0xf.fffffffffffffffffffffffffcp+1020, true, + false, + -INF, true, + -0xf.fffffffffffffffffffffffffff8p+16380, false, + -0xf.fffffffffffffffffffffffffff8p+16380, false, + -0xf.fffffffffffffffffffffffffff8p+16380, false), TEST ("-11897314953572317650857593266280070734799568698691021415011" "868527227124689678980396147313041605370567205087355247942180" "593264664074412459444736117251434132484671667965455130801840" @@ -3278,35 +3278,35 @@ static const struct test tests[] = { "097223344749158316572863551380259154344114593953935347097045" "25536550715392", false, - -INF, - -INF, - -0xf.fffffp+124, - -0xf.fffffp+124, - false, - -INF, - -INF, - -0xf.ffffffffffff8p+1020, - -0xf.ffffffffffff8p+1020, - false, - -INF, - -INF, - -0xf.fffffffffffffffp+16380, - -0xf.fffffffffffffffp+16380, - false, - -INF, - -INF, - -0xf.fffffffffffffffp+16380, - -0xf.fffffffffffffffp+16380, - false, - -INF, - -INF, - -0xf.fffffffffffffffffffffffffcp+1020, - -0xf.fffffffffffffffffffffffffcp+1020, - false, - -INF, - -INF, - -0xf.fffffffffffffffffffffffffff8p+16380, - -0xf.fffffffffffffffffffffffffff8p+16380), + -INF, true, + -INF, true, + -0xf.fffffp+124, true, + -0xf.fffffp+124, true, + false, + -INF, true, + -INF, true, + -0xf.ffffffffffff8p+1020, true, + -0xf.ffffffffffff8p+1020, true, + false, + -INF, true, + -INF, true, + -0xf.fffffffffffffffp+16380, false, + -0xf.fffffffffffffffp+16380, false, + false, + -INF, true, + -INF, true, + -0xf.fffffffffffffffp+16380, false, + -0xf.fffffffffffffffp+16380, false, + false, + -INF, true, + -INF, true, + -0xf.fffffffffffffffffffffffffcp+1020, true, + -0xf.fffffffffffffffffffffffffcp+1020, true, + false, + -INF, true, + -INF, true, + -0xf.fffffffffffffffffffffffffff8p+16380, false, + -0xf.fffffffffffffffffffffffffff8p+16380, false), TEST ("-11897314953572317650857593266280070734799568698691021415011" "868527227124689678980396147313041605370567205087355247942180" "593264664074412459444736117251434132484671667965455130801840" @@ -3391,419 +3391,419 @@ static const struct test tests[] = { "097223344749158316572863551380259154344114593953935347097045" "25536550715392.001", false, - -INF, - -INF, - -0xf.fffffp+124, - -0xf.fffffp+124, - false, - -INF, - -INF, - -0xf.ffffffffffff8p+1020, - -0xf.ffffffffffff8p+1020, - false, - -INF, - -INF, - -0xf.fffffffffffffffp+16380, - -0xf.fffffffffffffffp+16380, - false, - -INF, - -INF, - -0xf.fffffffffffffffp+16380, - -0xf.fffffffffffffffp+16380, - false, - -INF, - -INF, - -0xf.fffffffffffffffffffffffffcp+1020, - -0xf.fffffffffffffffffffffffffcp+1020, - false, - -INF, - -INF, - -0xf.fffffffffffffffffffffffffff8p+16380, - -0xf.fffffffffffffffffffffffffff8p+16380), + -INF, true, + -INF, true, + -0xf.fffffp+124, true, + -0xf.fffffp+124, true, + false, + -INF, true, + -INF, true, + -0xf.ffffffffffff8p+1020, true, + -0xf.ffffffffffff8p+1020, true, + false, + -INF, true, + -INF, true, + -0xf.fffffffffffffffp+16380, false, + -0xf.fffffffffffffffp+16380, false, + false, + -INF, true, + -INF, true, + -0xf.fffffffffffffffp+16380, false, + -0xf.fffffffffffffffp+16380, false, + false, + -INF, true, + -INF, true, + -0xf.fffffffffffffffffffffffffcp+1020, true, + -0xf.fffffffffffffffffffffffffcp+1020, true, + false, + -INF, true, + -INF, true, + -0xf.fffffffffffffffffffffffffff8p+16380, false, + -0xf.fffffffffffffffffffffffffff8p+16380, false), TEST ("2.1019476964872256063855943749348741969203929128147736576356" "0242583468662402879090222995728254318237304687499e-45", false, - 0x8p-152, - 0x8p-152, - 0x8p-152, - 0x1p-148, - false, - 0xb.ffffffffffff8p-152, - 0xcp-152, - 0xb.ffffffffffff8p-152, - 0xcp-152, - false, - 0xb.fffffffffffffffp-152, - 0xcp-152, - 0xb.fffffffffffffffp-152, - 0xcp-152, - false, - 0xb.fffffffffffffffp-152, - 0xcp-152, - 0xb.fffffffffffffffp-152, - 0xcp-152, - false, - 0xb.fffffffffffffffffffffffffcp-152, - 0xcp-152, - 0xb.fffffffffffffffffffffffffcp-152, - 0xcp-152, - false, - 0xb.fffffffffffffffffffffffffff8p-152, - 0xcp-152, - 0xb.fffffffffffffffffffffffffff8p-152, - 0xcp-152), + 0x8p-152, false, + 0x8p-152, false, + 0x8p-152, false, + 0x1p-148, false, + false, + 0xb.ffffffffffff8p-152, false, + 0xcp-152, false, + 0xb.ffffffffffff8p-152, false, + 0xcp-152, false, + false, + 0xb.fffffffffffffffp-152, false, + 0xcp-152, false, + 0xb.fffffffffffffffp-152, false, + 0xcp-152, false, + false, + 0xb.fffffffffffffffp-152, false, + 0xcp-152, false, + 0xb.fffffffffffffffp-152, false, + 0xcp-152, false, + false, + 0xb.fffffffffffffffffffffffffcp-152, false, + 0xcp-152, false, + 0xb.fffffffffffffffffffffffffcp-152, false, + 0xcp-152, false, + false, + 0xb.fffffffffffffffffffffffffff8p-152, false, + 0xcp-152, false, + 0xb.fffffffffffffffffffffffffff8p-152, false, + 0xcp-152, false), TEST ("2.1019476964872256063855943749348741969203929128147736576356" "02425834686624028790902229957282543182373046875e-45", false, - 0x8p-152, - 0x1p-148, - 0x8p-152, - 0x1p-148, - true, - 0xcp-152, - 0xcp-152, - 0xcp-152, - 0xcp-152, - true, - 0xcp-152, - 0xcp-152, - 0xcp-152, - 0xcp-152, - true, - 0xcp-152, - 0xcp-152, - 0xcp-152, - 0xcp-152, - true, - 0xcp-152, - 0xcp-152, - 0xcp-152, - 0xcp-152, - true, - 0xcp-152, - 0xcp-152, - 0xcp-152, - 0xcp-152), + 0x8p-152, false, + 0x1p-148, false, + 0x8p-152, false, + 0x1p-148, false, + true, + 0xcp-152, false, + 0xcp-152, false, + 0xcp-152, false, + 0xcp-152, false, + true, + 0xcp-152, false, + 0xcp-152, false, + 0xcp-152, false, + 0xcp-152, false, + true, + 0xcp-152, false, + 0xcp-152, false, + 0xcp-152, false, + 0xcp-152, false, + true, + 0xcp-152, false, + 0xcp-152, false, + 0xcp-152, false, + 0xcp-152, false, + true, + 0xcp-152, false, + 0xcp-152, false, + 0xcp-152, false, + 0xcp-152, false), TEST ("2.1019476964872256063855943749348741969203929128147736576356" "0242583468662402879090222995728254318237304687501e-45", false, - 0x8p-152, - 0x1p-148, - 0x8p-152, - 0x1p-148, - false, - 0xcp-152, - 0xcp-152, - 0xcp-152, - 0xc.0000000000008p-152, - false, - 0xcp-152, - 0xcp-152, - 0xcp-152, - 0xc.000000000000001p-152, - false, - 0xcp-152, - 0xcp-152, - 0xcp-152, - 0xc.000000000000001p-152, - false, - 0xcp-152, - 0xcp-152, - 0xcp-152, - 0xc.00000000000000000000000004p-152, - false, - 0xcp-152, - 0xcp-152, - 0xcp-152, - 0xc.0000000000000000000000000008p-152), + 0x8p-152, false, + 0x1p-148, false, + 0x8p-152, false, + 0x1p-148, false, + false, + 0xcp-152, false, + 0xcp-152, false, + 0xcp-152, false, + 0xc.0000000000008p-152, false, + false, + 0xcp-152, false, + 0xcp-152, false, + 0xcp-152, false, + 0xc.000000000000001p-152, false, + false, + 0xcp-152, false, + 0xcp-152, false, + 0xcp-152, false, + 0xc.000000000000001p-152, false, + false, + 0xcp-152, false, + 0xcp-152, false, + 0xcp-152, false, + 0xc.00000000000000000000000004p-152, false, + false, + 0xcp-152, false, + 0xcp-152, false, + 0xcp-152, false, + 0xc.0000000000000000000000000008p-152, false), TEST ("-2.101947696487225606385594374934874196920392912814773657635" "60242583468662402879090222995728254318237304687499e-45", false, - -0x1p-148, - -0x8p-152, - -0x8p-152, - -0x8p-152, - false, - -0xcp-152, - -0xcp-152, - -0xb.ffffffffffff8p-152, - -0xb.ffffffffffff8p-152, - false, - -0xcp-152, - -0xcp-152, - -0xb.fffffffffffffffp-152, - -0xb.fffffffffffffffp-152, - false, - -0xcp-152, - -0xcp-152, - -0xb.fffffffffffffffp-152, - -0xb.fffffffffffffffp-152, - false, - -0xcp-152, - -0xcp-152, - -0xb.fffffffffffffffffffffffffcp-152, - -0xb.fffffffffffffffffffffffffcp-152, - false, - -0xcp-152, - -0xcp-152, - -0xb.fffffffffffffffffffffffffff8p-152, - -0xb.fffffffffffffffffffffffffff8p-152), + -0x1p-148, false, + -0x8p-152, false, + -0x8p-152, false, + -0x8p-152, false, + false, + -0xcp-152, false, + -0xcp-152, false, + -0xb.ffffffffffff8p-152, false, + -0xb.ffffffffffff8p-152, false, + false, + -0xcp-152, false, + -0xcp-152, false, + -0xb.fffffffffffffffp-152, false, + -0xb.fffffffffffffffp-152, false, + false, + -0xcp-152, false, + -0xcp-152, false, + -0xb.fffffffffffffffp-152, false, + -0xb.fffffffffffffffp-152, false, + false, + -0xcp-152, false, + -0xcp-152, false, + -0xb.fffffffffffffffffffffffffcp-152, false, + -0xb.fffffffffffffffffffffffffcp-152, false, + false, + -0xcp-152, false, + -0xcp-152, false, + -0xb.fffffffffffffffffffffffffff8p-152, false, + -0xb.fffffffffffffffffffffffffff8p-152, false), TEST ("-2.101947696487225606385594374934874196920392912814773657635" "602425834686624028790902229957282543182373046875e-45", false, - -0x1p-148, - -0x1p-148, - -0x8p-152, - -0x8p-152, - true, - -0xcp-152, - -0xcp-152, - -0xcp-152, - -0xcp-152, - true, - -0xcp-152, - -0xcp-152, - -0xcp-152, - -0xcp-152, - true, - -0xcp-152, - -0xcp-152, - -0xcp-152, - -0xcp-152, - true, - -0xcp-152, - -0xcp-152, - -0xcp-152, - -0xcp-152, - true, - -0xcp-152, - -0xcp-152, - -0xcp-152, - -0xcp-152), + -0x1p-148, false, + -0x1p-148, false, + -0x8p-152, false, + -0x8p-152, false, + true, + -0xcp-152, false, + -0xcp-152, false, + -0xcp-152, false, + -0xcp-152, false, + true, + -0xcp-152, false, + -0xcp-152, false, + -0xcp-152, false, + -0xcp-152, false, + true, + -0xcp-152, false, + -0xcp-152, false, + -0xcp-152, false, + -0xcp-152, false, + true, + -0xcp-152, false, + -0xcp-152, false, + -0xcp-152, false, + -0xcp-152, false, + true, + -0xcp-152, false, + -0xcp-152, false, + -0xcp-152, false, + -0xcp-152, false), TEST ("-2.101947696487225606385594374934874196920392912814773657635" "60242583468662402879090222995728254318237304687501e-45", false, - -0x1p-148, - -0x1p-148, - -0x8p-152, - -0x8p-152, - false, - -0xc.0000000000008p-152, - -0xcp-152, - -0xcp-152, - -0xcp-152, - false, - -0xc.000000000000001p-152, - -0xcp-152, - -0xcp-152, - -0xcp-152, - false, - -0xc.000000000000001p-152, - -0xcp-152, - -0xcp-152, - -0xcp-152, - false, - -0xc.00000000000000000000000004p-152, - -0xcp-152, - -0xcp-152, - -0xcp-152, - false, - -0xc.0000000000000000000000000008p-152, - -0xcp-152, - -0xcp-152, - -0xcp-152), + -0x1p-148, false, + -0x1p-148, false, + -0x8p-152, false, + -0x8p-152, false, + false, + -0xc.0000000000008p-152, false, + -0xcp-152, false, + -0xcp-152, false, + -0xcp-152, false, + false, + -0xc.000000000000001p-152, false, + -0xcp-152, false, + -0xcp-152, false, + -0xcp-152, false, + false, + -0xc.000000000000001p-152, false, + -0xcp-152, false, + -0xcp-152, false, + -0xcp-152, false, + false, + -0xc.00000000000000000000000004p-152, false, + -0xcp-152, false, + -0xcp-152, false, + -0xcp-152, false, + false, + -0xc.0000000000000000000000000008p-152, false, + -0xcp-152, false, + -0xcp-152, false, + -0xcp-152, false), TEST ("3.5032461608120426773093239582247903282006548546912894293926" "7070972447770671465150371659547090530395507812499e-45", false, - 0x1p-148, - 0x1p-148, - 0x1p-148, - 0x1.8p-148, - false, - 0x1.3ffffffffffffp-148, - 0x1.4p-148, - 0x1.3ffffffffffffp-148, - 0x1.4p-148, - false, - 0x1.3ffffffffffffffep-148, - 0x1.4p-148, - 0x1.3ffffffffffffffep-148, - 0x1.4p-148, - false, - 0x1.3ffffffffffffffep-148, - 0x1.4p-148, - 0x1.3ffffffffffffffep-148, - 0x1.4p-148, - false, - 0x1.3fffffffffffffffffffffffff8p-148, - 0x1.4p-148, - 0x1.3fffffffffffffffffffffffff8p-148, - 0x1.4p-148, - false, - 0x1.3fffffffffffffffffffffffffffp-148, - 0x1.4p-148, - 0x1.3fffffffffffffffffffffffffffp-148, - 0x1.4p-148), + 0x1p-148, false, + 0x1p-148, false, + 0x1p-148, false, + 0x1.8p-148, false, + false, + 0x1.3ffffffffffffp-148, false, + 0x1.4p-148, false, + 0x1.3ffffffffffffp-148, false, + 0x1.4p-148, false, + false, + 0x1.3ffffffffffffffep-148, false, + 0x1.4p-148, false, + 0x1.3ffffffffffffffep-148, false, + 0x1.4p-148, false, + false, + 0x1.3ffffffffffffffep-148, false, + 0x1.4p-148, false, + 0x1.3ffffffffffffffep-148, false, + 0x1.4p-148, false, + false, + 0x1.3fffffffffffffffffffffffff8p-148, false, + 0x1.4p-148, false, + 0x1.3fffffffffffffffffffffffff8p-148, false, + 0x1.4p-148, false, + false, + 0x1.3fffffffffffffffffffffffffffp-148, false, + 0x1.4p-148, false, + 0x1.3fffffffffffffffffffffffffffp-148, false, + 0x1.4p-148, false), TEST ("3.5032461608120426773093239582247903282006548546912894293926" "70709724477706714651503716595470905303955078125e-45", false, - 0x1p-148, - 0x1p-148, - 0x1p-148, - 0x1.8p-148, - true, - 0x1.4p-148, - 0x1.4p-148, - 0x1.4p-148, - 0x1.4p-148, - true, - 0x1.4p-148, - 0x1.4p-148, - 0x1.4p-148, - 0x1.4p-148, - true, - 0x1.4p-148, - 0x1.4p-148, - 0x1.4p-148, - 0x1.4p-148, - true, - 0x1.4p-148, - 0x1.4p-148, - 0x1.4p-148, - 0x1.4p-148, - true, - 0x1.4p-148, - 0x1.4p-148, - 0x1.4p-148, - 0x1.4p-148), + 0x1p-148, false, + 0x1p-148, false, + 0x1p-148, false, + 0x1.8p-148, false, + true, + 0x1.4p-148, false, + 0x1.4p-148, false, + 0x1.4p-148, false, + 0x1.4p-148, false, + true, + 0x1.4p-148, false, + 0x1.4p-148, false, + 0x1.4p-148, false, + 0x1.4p-148, false, + true, + 0x1.4p-148, false, + 0x1.4p-148, false, + 0x1.4p-148, false, + 0x1.4p-148, false, + true, + 0x1.4p-148, false, + 0x1.4p-148, false, + 0x1.4p-148, false, + 0x1.4p-148, false, + true, + 0x1.4p-148, false, + 0x1.4p-148, false, + 0x1.4p-148, false, + 0x1.4p-148, false), TEST ("3.5032461608120426773093239582247903282006548546912894293926" "7070972447770671465150371659547090530395507812501e-45", false, - 0x1p-148, - 0x1.8p-148, - 0x1p-148, - 0x1.8p-148, - false, - 0x1.4p-148, - 0x1.4p-148, - 0x1.4p-148, - 0x1.4000000000001p-148, - false, - 0x1.4p-148, - 0x1.4p-148, - 0x1.4p-148, - 0x1.4000000000000002p-148, - false, - 0x1.4p-148, - 0x1.4p-148, - 0x1.4p-148, - 0x1.4000000000000002p-148, - false, - 0x1.4p-148, - 0x1.4p-148, - 0x1.4p-148, - 0x1.400000000000000000000000008p-148, - false, - 0x1.4p-148, - 0x1.4p-148, - 0x1.4p-148, - 0x1.4000000000000000000000000001p-148), + 0x1p-148, false, + 0x1.8p-148, false, + 0x1p-148, false, + 0x1.8p-148, false, + false, + 0x1.4p-148, false, + 0x1.4p-148, false, + 0x1.4p-148, false, + 0x1.4000000000001p-148, false, + false, + 0x1.4p-148, false, + 0x1.4p-148, false, + 0x1.4p-148, false, + 0x1.4000000000000002p-148, false, + false, + 0x1.4p-148, false, + 0x1.4p-148, false, + 0x1.4p-148, false, + 0x1.4000000000000002p-148, false, + false, + 0x1.4p-148, false, + 0x1.4p-148, false, + 0x1.4p-148, false, + 0x1.400000000000000000000000008p-148, false, + false, + 0x1.4p-148, false, + 0x1.4p-148, false, + 0x1.4p-148, false, + 0x1.4000000000000000000000000001p-148, false), TEST ("-3.503246160812042677309323958224790328200654854691289429392" "67070972447770671465150371659547090530395507812499e-45", false, - -0x1.8p-148, - -0x1p-148, - -0x1p-148, - -0x1p-148, - false, - -0x1.4p-148, - -0x1.4p-148, - -0x1.3ffffffffffffp-148, - -0x1.3ffffffffffffp-148, - false, - -0x1.4p-148, - -0x1.4p-148, - -0x1.3ffffffffffffffep-148, - -0x1.3ffffffffffffffep-148, - false, - -0x1.4p-148, - -0x1.4p-148, - -0x1.3ffffffffffffffep-148, - -0x1.3ffffffffffffffep-148, - false, - -0x1.4p-148, - -0x1.4p-148, - -0x1.3fffffffffffffffffffffffff8p-148, - -0x1.3fffffffffffffffffffffffff8p-148, - false, - -0x1.4p-148, - -0x1.4p-148, - -0x1.3fffffffffffffffffffffffffffp-148, - -0x1.3fffffffffffffffffffffffffffp-148), + -0x1.8p-148, false, + -0x1p-148, false, + -0x1p-148, false, + -0x1p-148, false, + false, + -0x1.4p-148, false, + -0x1.4p-148, false, + -0x1.3ffffffffffffp-148, false, + -0x1.3ffffffffffffp-148, false, + false, + -0x1.4p-148, false, + -0x1.4p-148, false, + -0x1.3ffffffffffffffep-148, false, + -0x1.3ffffffffffffffep-148, false, + false, + -0x1.4p-148, false, + -0x1.4p-148, false, + -0x1.3ffffffffffffffep-148, false, + -0x1.3ffffffffffffffep-148, false, + false, + -0x1.4p-148, false, + -0x1.4p-148, false, + -0x1.3fffffffffffffffffffffffff8p-148, false, + -0x1.3fffffffffffffffffffffffff8p-148, false, + false, + -0x1.4p-148, false, + -0x1.4p-148, false, + -0x1.3fffffffffffffffffffffffffffp-148, false, + -0x1.3fffffffffffffffffffffffffffp-148, false), TEST ("-3.503246160812042677309323958224790328200654854691289429392" "670709724477706714651503716595470905303955078125e-45", false, - -0x1.8p-148, - -0x1p-148, - -0x1p-148, - -0x1p-148, - true, - -0x1.4p-148, - -0x1.4p-148, - -0x1.4p-148, - -0x1.4p-148, - true, - -0x1.4p-148, - -0x1.4p-148, - -0x1.4p-148, - -0x1.4p-148, - true, - -0x1.4p-148, - -0x1.4p-148, - -0x1.4p-148, - -0x1.4p-148, - true, - -0x1.4p-148, - -0x1.4p-148, - -0x1.4p-148, - -0x1.4p-148, - true, - -0x1.4p-148, - -0x1.4p-148, - -0x1.4p-148, - -0x1.4p-148), + -0x1.8p-148, false, + -0x1p-148, false, + -0x1p-148, false, + -0x1p-148, false, + true, + -0x1.4p-148, false, + -0x1.4p-148, false, + -0x1.4p-148, false, + -0x1.4p-148, false, + true, + -0x1.4p-148, false, + -0x1.4p-148, false, + -0x1.4p-148, false, + -0x1.4p-148, false, + true, + -0x1.4p-148, false, + -0x1.4p-148, false, + -0x1.4p-148, false, + -0x1.4p-148, false, + true, + -0x1.4p-148, false, + -0x1.4p-148, false, + -0x1.4p-148, false, + -0x1.4p-148, false, + true, + -0x1.4p-148, false, + -0x1.4p-148, false, + -0x1.4p-148, false, + -0x1.4p-148, false), TEST ("-3.503246160812042677309323958224790328200654854691289429392" "67070972447770671465150371659547090530395507812501e-45", false, - -0x1.8p-148, - -0x1.8p-148, - -0x1p-148, - -0x1p-148, - false, - -0x1.4000000000001p-148, - -0x1.4p-148, - -0x1.4p-148, - -0x1.4p-148, - false, - -0x1.4000000000000002p-148, - -0x1.4p-148, - -0x1.4p-148, - -0x1.4p-148, - false, - -0x1.4000000000000002p-148, - -0x1.4p-148, - -0x1.4p-148, - -0x1.4p-148, - false, - -0x1.400000000000000000000000008p-148, - -0x1.4p-148, - -0x1.4p-148, - -0x1.4p-148, - false, - -0x1.4000000000000000000000000001p-148, - -0x1.4p-148, - -0x1.4p-148, - -0x1.4p-148), + -0x1.8p-148, false, + -0x1.8p-148, false, + -0x1p-148, false, + -0x1p-148, false, + false, + -0x1.4000000000001p-148, false, + -0x1.4p-148, false, + -0x1.4p-148, false, + -0x1.4p-148, false, + false, + -0x1.4000000000000002p-148, false, + -0x1.4p-148, false, + -0x1.4p-148, false, + -0x1.4p-148, false, + false, + -0x1.4000000000000002p-148, false, + -0x1.4p-148, false, + -0x1.4p-148, false, + -0x1.4p-148, false, + false, + -0x1.400000000000000000000000008p-148, false, + -0x1.4p-148, false, + -0x1.4p-148, false, + -0x1.4p-148, false, + false, + -0x1.4000000000000000000000000001p-148, false, + -0x1.4p-148, false, + -0x1.4p-148, false, + -0x1.4p-148, false), TEST ("7.4109846876186981626485318930233205854758970392148714663837" "852375101326090531312779794975454245398856969484704316857659" "638998506553390969459816219401617281718945106978546710679176" @@ -3818,35 +3818,35 @@ static const struct test tests[] = { "337560846003984904972149117463085539556354188641513168478436" "31308023759629577398300170898437499e-324", false, - 0x0p+0, - 0x0p+0, - 0x0p+0, - 0x8p-152, - false, - 0x4p-1076, - 0x4p-1076, - 0x4p-1076, - 0x8p-1076, - false, - 0x5.fffffffffffffff8p-1076, - 0x6p-1076, - 0x5.fffffffffffffff8p-1076, - 0x6p-1076, - false, - 0x5.fffffffffffffff8p-1076, - 0x6p-1076, - 0x5.fffffffffffffff8p-1076, - 0x6p-1076, - false, - 0x4p-1076, - 0x4p-1076, - 0x4p-1076, - 0x8p-1076, - false, - 0x5.fffffffffffffffffffffffffffcp-1076, - 0x6p-1076, - 0x5.fffffffffffffffffffffffffffcp-1076, - 0x6p-1076), + 0x0p+0, false, + 0x0p+0, false, + 0x0p+0, false, + 0x8p-152, false, + false, + 0x4p-1076, false, + 0x4p-1076, false, + 0x4p-1076, false, + 0x8p-1076, false, + false, + 0x5.fffffffffffffff8p-1076, false, + 0x6p-1076, false, + 0x5.fffffffffffffff8p-1076, false, + 0x6p-1076, false, + false, + 0x5.fffffffffffffff8p-1076, false, + 0x6p-1076, false, + 0x5.fffffffffffffff8p-1076, false, + 0x6p-1076, false, + false, + 0x4p-1076, false, + 0x4p-1076, false, + 0x4p-1076, false, + 0x8p-1076, false, + false, + 0x5.fffffffffffffffffffffffffffcp-1076, false, + 0x6p-1076, false, + 0x5.fffffffffffffffffffffffffffcp-1076, false, + 0x6p-1076, false), TEST ("7.4109846876186981626485318930233205854758970392148714663837" "852375101326090531312779794975454245398856969484704316857659" "638998506553390969459816219401617281718945106978546710679176" @@ -3861,35 +3861,35 @@ static const struct test tests[] = { "337560846003984904972149117463085539556354188641513168478436" "313080237596295773983001708984375e-324", false, - 0x0p+0, - 0x0p+0, - 0x0p+0, - 0x8p-152, - false, - 0x4p-1076, - 0x8p-1076, - 0x4p-1076, - 0x8p-1076, - true, - 0x6p-1076, - 0x6p-1076, - 0x6p-1076, - 0x6p-1076, - true, - 0x6p-1076, - 0x6p-1076, - 0x6p-1076, - 0x6p-1076, - false, - 0x4p-1076, - 0x8p-1076, - 0x4p-1076, - 0x8p-1076, - true, - 0x6p-1076, - 0x6p-1076, - 0x6p-1076, - 0x6p-1076), + 0x0p+0, false, + 0x0p+0, false, + 0x0p+0, false, + 0x8p-152, false, + false, + 0x4p-1076, false, + 0x8p-1076, false, + 0x4p-1076, false, + 0x8p-1076, false, + true, + 0x6p-1076, false, + 0x6p-1076, false, + 0x6p-1076, false, + 0x6p-1076, false, + true, + 0x6p-1076, false, + 0x6p-1076, false, + 0x6p-1076, false, + 0x6p-1076, false, + false, + 0x4p-1076, false, + 0x8p-1076, false, + 0x4p-1076, false, + 0x8p-1076, false, + true, + 0x6p-1076, false, + 0x6p-1076, false, + 0x6p-1076, false, + 0x6p-1076, false), TEST ("7.4109846876186981626485318930233205854758970392148714663837" "852375101326090531312779794975454245398856969484704316857659" "638998506553390969459816219401617281718945106978546710679176" @@ -3904,35 +3904,35 @@ static const struct test tests[] = { "337560846003984904972149117463085539556354188641513168478436" "31308023759629577398300170898437501e-324", false, - 0x0p+0, - 0x0p+0, - 0x0p+0, - 0x8p-152, - false, - 0x4p-1076, - 0x8p-1076, - 0x4p-1076, - 0x8p-1076, - false, - 0x6p-1076, - 0x6p-1076, - 0x6p-1076, - 0x6.0000000000000008p-1076, - false, - 0x6p-1076, - 0x6p-1076, - 0x6p-1076, - 0x6.0000000000000008p-1076, - false, - 0x4p-1076, - 0x8p-1076, - 0x4p-1076, - 0x8p-1076, - false, - 0x6p-1076, - 0x6p-1076, - 0x6p-1076, - 0x6.0000000000000000000000000004p-1076), + 0x0p+0, false, + 0x0p+0, false, + 0x0p+0, false, + 0x8p-152, false, + false, + 0x4p-1076, false, + 0x8p-1076, false, + 0x4p-1076, false, + 0x8p-1076, false, + false, + 0x6p-1076, false, + 0x6p-1076, false, + 0x6p-1076, false, + 0x6.0000000000000008p-1076, false, + false, + 0x6p-1076, false, + 0x6p-1076, false, + 0x6p-1076, false, + 0x6.0000000000000008p-1076, false, + false, + 0x4p-1076, false, + 0x8p-1076, false, + 0x4p-1076, false, + 0x8p-1076, false, + false, + 0x6p-1076, false, + 0x6p-1076, false, + 0x6p-1076, false, + 0x6.0000000000000000000000000004p-1076, false), TEST ("-7.410984687618698162648531893023320585475897039214871466383" "785237510132609053131277979497545424539885696948470431685765" "963899850655339096945981621940161728171894510697854671067917" @@ -3947,35 +3947,35 @@ static const struct test tests[] = { "433756084600398490497214911746308553955635418864151316847843" "631308023759629577398300170898437499e-324", false, - -0x8p-152, - -0x0p+0, - -0x0p+0, - -0x0p+0, - false, - -0x8p-1076, - -0x4p-1076, - -0x4p-1076, - -0x4p-1076, - false, - -0x6p-1076, - -0x6p-1076, - -0x5.fffffffffffffff8p-1076, - -0x5.fffffffffffffff8p-1076, - false, - -0x6p-1076, - -0x6p-1076, - -0x5.fffffffffffffff8p-1076, - -0x5.fffffffffffffff8p-1076, - false, - -0x8p-1076, - -0x4p-1076, - -0x4p-1076, - -0x4p-1076, - false, - -0x6p-1076, - -0x6p-1076, - -0x5.fffffffffffffffffffffffffffcp-1076, - -0x5.fffffffffffffffffffffffffffcp-1076), + -0x8p-152, false, + -0x0p+0, false, + -0x0p+0, false, + -0x0p+0, false, + false, + -0x8p-1076, false, + -0x4p-1076, false, + -0x4p-1076, false, + -0x4p-1076, false, + false, + -0x6p-1076, false, + -0x6p-1076, false, + -0x5.fffffffffffffff8p-1076, false, + -0x5.fffffffffffffff8p-1076, false, + false, + -0x6p-1076, false, + -0x6p-1076, false, + -0x5.fffffffffffffff8p-1076, false, + -0x5.fffffffffffffff8p-1076, false, + false, + -0x8p-1076, false, + -0x4p-1076, false, + -0x4p-1076, false, + -0x4p-1076, false, + false, + -0x6p-1076, false, + -0x6p-1076, false, + -0x5.fffffffffffffffffffffffffffcp-1076, false, + -0x5.fffffffffffffffffffffffffffcp-1076, false), TEST ("-7.410984687618698162648531893023320585475897039214871466383" "785237510132609053131277979497545424539885696948470431685765" "963899850655339096945981621940161728171894510697854671067917" @@ -3990,35 +3990,35 @@ static const struct test tests[] = { "433756084600398490497214911746308553955635418864151316847843" "6313080237596295773983001708984375e-324", false, - -0x8p-152, - -0x0p+0, - -0x0p+0, - -0x0p+0, - false, - -0x8p-1076, - -0x8p-1076, - -0x4p-1076, - -0x4p-1076, - true, - -0x6p-1076, - -0x6p-1076, - -0x6p-1076, - -0x6p-1076, - true, - -0x6p-1076, - -0x6p-1076, - -0x6p-1076, - -0x6p-1076, - false, - -0x8p-1076, - -0x8p-1076, - -0x4p-1076, - -0x4p-1076, - true, - -0x6p-1076, - -0x6p-1076, - -0x6p-1076, - -0x6p-1076), + -0x8p-152, false, + -0x0p+0, false, + -0x0p+0, false, + -0x0p+0, false, + false, + -0x8p-1076, false, + -0x8p-1076, false, + -0x4p-1076, false, + -0x4p-1076, false, + true, + -0x6p-1076, false, + -0x6p-1076, false, + -0x6p-1076, false, + -0x6p-1076, false, + true, + -0x6p-1076, false, + -0x6p-1076, false, + -0x6p-1076, false, + -0x6p-1076, false, + false, + -0x8p-1076, false, + -0x8p-1076, false, + -0x4p-1076, false, + -0x4p-1076, false, + true, + -0x6p-1076, false, + -0x6p-1076, false, + -0x6p-1076, false, + -0x6p-1076, false), TEST ("-7.410984687618698162648531893023320585475897039214871466383" "785237510132609053131277979497545424539885696948470431685765" "963899850655339096945981621940161728171894510697854671067917" @@ -4033,35 +4033,35 @@ static const struct test tests[] = { "433756084600398490497214911746308553955635418864151316847843" "631308023759629577398300170898437501e-324", false, - -0x8p-152, - -0x0p+0, - -0x0p+0, - -0x0p+0, - false, - -0x8p-1076, - -0x8p-1076, - -0x4p-1076, - -0x4p-1076, - false, - -0x6.0000000000000008p-1076, - -0x6p-1076, - -0x6p-1076, - -0x6p-1076, - false, - -0x6.0000000000000008p-1076, - -0x6p-1076, - -0x6p-1076, - -0x6p-1076, - false, - -0x8p-1076, - -0x8p-1076, - -0x4p-1076, - -0x4p-1076, - false, - -0x6.0000000000000000000000000004p-1076, - -0x6p-1076, - -0x6p-1076, - -0x6p-1076), + -0x8p-152, false, + -0x0p+0, false, + -0x0p+0, false, + -0x0p+0, false, + false, + -0x8p-1076, false, + -0x8p-1076, false, + -0x4p-1076, false, + -0x4p-1076, false, + false, + -0x6.0000000000000008p-1076, false, + -0x6p-1076, false, + -0x6p-1076, false, + -0x6p-1076, false, + false, + -0x6.0000000000000008p-1076, false, + -0x6p-1076, false, + -0x6p-1076, false, + -0x6p-1076, false, + false, + -0x8p-1076, false, + -0x8p-1076, false, + -0x4p-1076, false, + -0x4p-1076, false, + false, + -0x6.0000000000000000000000000004p-1076, false, + -0x6p-1076, false, + -0x6p-1076, false, + -0x6p-1076, false), TEST ("5.4677992978237119037926089004291297245985762235403450155814" "707305425575329500966052143410629387408077958710210208052966" "529504784489330482549602621133847135082257338717668975178538" @@ -4255,35 +4255,35 @@ static const struct test tests[] = { "866268925981702690270202829595794350800918257913991744455922" "683343374046671669930219650268554687499e-4951", false, - 0x0p+0, - 0x0p+0, - 0x0p+0, - 0x8p-152, - false, - 0x0p+0, - 0x0p+0, - 0x0p+0, - 0x4p-1076, - false, - 0x8p-16448, - 0x8p-16448, - 0x8p-16448, - 0x1p-16444, - false, - 0x8p-16448, - 0xcp-16448, - 0x8p-16448, - 0xcp-16448, - false, - 0x0p+0, - 0x0p+0, - 0x0p+0, - 0x4p-1076, - false, - 0xb.fffffffffffcp-16448, - 0xcp-16448, - 0xb.fffffffffffcp-16448, - 0xcp-16448), + 0x0p+0, false, + 0x0p+0, false, + 0x0p+0, false, + 0x8p-152, false, + false, + 0x0p+0, false, + 0x0p+0, false, + 0x0p+0, false, + 0x4p-1076, false, + false, + 0x8p-16448, false, + 0x8p-16448, false, + 0x8p-16448, false, + 0x1p-16444, false, + false, + 0x8p-16448, false, + 0xcp-16448, false, + 0x8p-16448, false, + 0xcp-16448, false, + false, + 0x0p+0, false, + 0x0p+0, false, + 0x0p+0, false, + 0x4p-1076, false, + false, + 0xb.fffffffffffcp-16448, false, + 0xcp-16448, false, + 0xb.fffffffffffcp-16448, false, + 0xcp-16448, false), TEST ("5.4677992978237119037926089004291297245985762235403450155814" "707305425575329500966052143410629387408077958710210208052966" "529504784489330482549602621133847135082257338717668975178538" @@ -4477,35 +4477,35 @@ static const struct test tests[] = { "866268925981702690270202829595794350800918257913991744455922" "6833433740466716699302196502685546875e-4951", false, - 0x0p+0, - 0x0p+0, - 0x0p+0, - 0x8p-152, - false, - 0x0p+0, - 0x0p+0, - 0x0p+0, - 0x4p-1076, - false, - 0x8p-16448, - 0x1p-16444, - 0x8p-16448, - 0x1p-16444, - true, - 0xcp-16448, - 0xcp-16448, - 0xcp-16448, - 0xcp-16448, - false, - 0x0p+0, - 0x0p+0, - 0x0p+0, - 0x4p-1076, - true, - 0xcp-16448, - 0xcp-16448, - 0xcp-16448, - 0xcp-16448), + 0x0p+0, false, + 0x0p+0, false, + 0x0p+0, false, + 0x8p-152, false, + false, + 0x0p+0, false, + 0x0p+0, false, + 0x0p+0, false, + 0x4p-1076, false, + false, + 0x8p-16448, false, + 0x1p-16444, false, + 0x8p-16448, false, + 0x1p-16444, false, + true, + 0xcp-16448, false, + 0xcp-16448, false, + 0xcp-16448, false, + 0xcp-16448, false, + false, + 0x0p+0, false, + 0x0p+0, false, + 0x0p+0, false, + 0x4p-1076, false, + true, + 0xcp-16448, false, + 0xcp-16448, false, + 0xcp-16448, false, + 0xcp-16448, false), TEST ("5.4677992978237119037926089004291297245985762235403450155814" "707305425575329500966052143410629387408077958710210208052966" "529504784489330482549602621133847135082257338717668975178538" @@ -4699,35 +4699,35 @@ static const struct test tests[] = { "866268925981702690270202829595794350800918257913991744455922" "683343374046671669930219650268554687501e-4951", false, - 0x0p+0, - 0x0p+0, - 0x0p+0, - 0x8p-152, - false, - 0x0p+0, - 0x0p+0, - 0x0p+0, - 0x4p-1076, - false, - 0x8p-16448, - 0x1p-16444, - 0x8p-16448, - 0x1p-16444, - false, - 0xcp-16448, - 0xcp-16448, - 0xcp-16448, - 0x1p-16444, - false, - 0x0p+0, - 0x0p+0, - 0x0p+0, - 0x4p-1076, - false, - 0xcp-16448, - 0xcp-16448, - 0xcp-16448, - 0xc.000000000004p-16448), + 0x0p+0, false, + 0x0p+0, false, + 0x0p+0, false, + 0x8p-152, false, + false, + 0x0p+0, false, + 0x0p+0, false, + 0x0p+0, false, + 0x4p-1076, false, + false, + 0x8p-16448, false, + 0x1p-16444, false, + 0x8p-16448, false, + 0x1p-16444, false, + false, + 0xcp-16448, false, + 0xcp-16448, false, + 0xcp-16448, false, + 0x1p-16444, false, + false, + 0x0p+0, false, + 0x0p+0, false, + 0x0p+0, false, + 0x4p-1076, false, + false, + 0xcp-16448, false, + 0xcp-16448, false, + 0xcp-16448, false, + 0xc.000000000004p-16448, false), TEST ("-5.467799297823711903792608900429129724598576223540345015581" "470730542557532950096605214341062938740807795871021020805296" "652950478448933048254960262113384713508225733871766897517853" @@ -4921,35 +4921,35 @@ static const struct test tests[] = { "386626892598170269027020282959579435080091825791399174445592" "2683343374046671669930219650268554687499e-4951", false, - -0x8p-152, - -0x0p+0, - -0x0p+0, - -0x0p+0, - false, - -0x4p-1076, - -0x0p+0, - -0x0p+0, - -0x0p+0, - false, - -0x1p-16444, - -0x8p-16448, - -0x8p-16448, - -0x8p-16448, - false, - -0xcp-16448, - -0xcp-16448, - -0x8p-16448, - -0x8p-16448, - false, - -0x4p-1076, - -0x0p+0, - -0x0p+0, - -0x0p+0, - false, - -0xcp-16448, - -0xcp-16448, - -0xb.fffffffffffcp-16448, - -0xb.fffffffffffcp-16448), + -0x8p-152, false, + -0x0p+0, false, + -0x0p+0, false, + -0x0p+0, false, + false, + -0x4p-1076, false, + -0x0p+0, false, + -0x0p+0, false, + -0x0p+0, false, + false, + -0x1p-16444, false, + -0x8p-16448, false, + -0x8p-16448, false, + -0x8p-16448, false, + false, + -0xcp-16448, false, + -0xcp-16448, false, + -0x8p-16448, false, + -0x8p-16448, false, + false, + -0x4p-1076, false, + -0x0p+0, false, + -0x0p+0, false, + -0x0p+0, false, + false, + -0xcp-16448, false, + -0xcp-16448, false, + -0xb.fffffffffffcp-16448, false, + -0xb.fffffffffffcp-16448, false), TEST ("-5.467799297823711903792608900429129724598576223540345015581" "470730542557532950096605214341062938740807795871021020805296" "652950478448933048254960262113384713508225733871766897517853" @@ -5143,35 +5143,35 @@ static const struct test tests[] = { "386626892598170269027020282959579435080091825791399174445592" "26833433740466716699302196502685546875e-4951", false, - -0x8p-152, - -0x0p+0, - -0x0p+0, - -0x0p+0, - false, - -0x4p-1076, - -0x0p+0, - -0x0p+0, - -0x0p+0, - false, - -0x1p-16444, - -0x1p-16444, - -0x8p-16448, - -0x8p-16448, - true, - -0xcp-16448, - -0xcp-16448, - -0xcp-16448, - -0xcp-16448, - false, - -0x4p-1076, - -0x0p+0, - -0x0p+0, - -0x0p+0, - true, - -0xcp-16448, - -0xcp-16448, - -0xcp-16448, - -0xcp-16448), + -0x8p-152, false, + -0x0p+0, false, + -0x0p+0, false, + -0x0p+0, false, + false, + -0x4p-1076, false, + -0x0p+0, false, + -0x0p+0, false, + -0x0p+0, false, + false, + -0x1p-16444, false, + -0x1p-16444, false, + -0x8p-16448, false, + -0x8p-16448, false, + true, + -0xcp-16448, false, + -0xcp-16448, false, + -0xcp-16448, false, + -0xcp-16448, false, + false, + -0x4p-1076, false, + -0x0p+0, false, + -0x0p+0, false, + -0x0p+0, false, + true, + -0xcp-16448, false, + -0xcp-16448, false, + -0xcp-16448, false, + -0xcp-16448, false), TEST ("-5.467799297823711903792608900429129724598576223540345015581" "470730542557532950096605214341062938740807795871021020805296" "652950478448933048254960262113384713508225733871766897517853" @@ -5365,35 +5365,35 @@ static const struct test tests[] = { "386626892598170269027020282959579435080091825791399174445592" "2683343374046671669930219650268554687501e-4951", false, - -0x8p-152, - -0x0p+0, - -0x0p+0, - -0x0p+0, - false, - -0x4p-1076, - -0x0p+0, - -0x0p+0, - -0x0p+0, - false, - -0x1p-16444, - -0x1p-16444, - -0x8p-16448, - -0x8p-16448, - false, - -0x1p-16444, - -0xcp-16448, - -0xcp-16448, - -0xcp-16448, - false, - -0x4p-1076, - -0x0p+0, - -0x0p+0, - -0x0p+0, - false, - -0xc.000000000004p-16448, - -0xcp-16448, - -0xcp-16448, - -0xcp-16448), + -0x8p-152, false, + -0x0p+0, false, + -0x0p+0, false, + -0x0p+0, false, + false, + -0x4p-1076, false, + -0x0p+0, false, + -0x0p+0, false, + -0x0p+0, false, + false, + -0x1p-16444, false, + -0x1p-16444, false, + -0x8p-16448, false, + -0x8p-16448, false, + false, + -0x1p-16444, false, + -0xcp-16448, false, + -0xcp-16448, false, + -0xcp-16448, false, + false, + -0x4p-1076, false, + -0x0p+0, false, + -0x0p+0, false, + -0x0p+0, false, + false, + -0xc.000000000004p-16448, false, + -0xcp-16448, false, + -0xcp-16448, false, + -0xcp-16448, false), TEST ("5.4677992978237119037926089004291297245985762235403450155814" "707305425575329500966052143410629387408077958710210208052966" "529504784489330482549602621133847135082257338717668975178538" @@ -5587,35 +5587,35 @@ static const struct test tests[] = { "866268925981702690270202829595794350800918257913991744455922" "683343374046671669930219650268554687499e-4951", false, - 0x0p+0, - 0x0p+0, - 0x0p+0, - 0x8p-152, - false, - 0x0p+0, - 0x0p+0, - 0x0p+0, - 0x4p-1076, - false, - 0x8p-16448, - 0x8p-16448, - 0x8p-16448, - 0x1p-16444, - false, - 0x8p-16448, - 0xcp-16448, - 0x8p-16448, - 0xcp-16448, - false, - 0x0p+0, - 0x0p+0, - 0x0p+0, - 0x4p-1076, - false, - 0xb.fffffffffffcp-16448, - 0xcp-16448, - 0xb.fffffffffffcp-16448, - 0xcp-16448), + 0x0p+0, false, + 0x0p+0, false, + 0x0p+0, false, + 0x8p-152, false, + false, + 0x0p+0, false, + 0x0p+0, false, + 0x0p+0, false, + 0x4p-1076, false, + false, + 0x8p-16448, false, + 0x8p-16448, false, + 0x8p-16448, false, + 0x1p-16444, false, + false, + 0x8p-16448, false, + 0xcp-16448, false, + 0x8p-16448, false, + 0xcp-16448, false, + false, + 0x0p+0, false, + 0x0p+0, false, + 0x0p+0, false, + 0x4p-1076, false, + false, + 0xb.fffffffffffcp-16448, false, + 0xcp-16448, false, + 0xb.fffffffffffcp-16448, false, + 0xcp-16448, false), TEST ("5.4677992978237119037926089004291297245985762235403450155814" "707305425575329500966052143410629387408077958710210208052966" "529504784489330482549602621133847135082257338717668975178538" @@ -5809,35 +5809,35 @@ static const struct test tests[] = { "866268925981702690270202829595794350800918257913991744455922" "6833433740466716699302196502685546875e-4951", false, - 0x0p+0, - 0x0p+0, - 0x0p+0, - 0x8p-152, - false, - 0x0p+0, - 0x0p+0, - 0x0p+0, - 0x4p-1076, - false, - 0x8p-16448, - 0x1p-16444, - 0x8p-16448, - 0x1p-16444, - true, - 0xcp-16448, - 0xcp-16448, - 0xcp-16448, - 0xcp-16448, - false, - 0x0p+0, - 0x0p+0, - 0x0p+0, - 0x4p-1076, - true, - 0xcp-16448, - 0xcp-16448, - 0xcp-16448, - 0xcp-16448), + 0x0p+0, false, + 0x0p+0, false, + 0x0p+0, false, + 0x8p-152, false, + false, + 0x0p+0, false, + 0x0p+0, false, + 0x0p+0, false, + 0x4p-1076, false, + false, + 0x8p-16448, false, + 0x1p-16444, false, + 0x8p-16448, false, + 0x1p-16444, false, + true, + 0xcp-16448, false, + 0xcp-16448, false, + 0xcp-16448, false, + 0xcp-16448, false, + false, + 0x0p+0, false, + 0x0p+0, false, + 0x0p+0, false, + 0x4p-1076, false, + true, + 0xcp-16448, false, + 0xcp-16448, false, + 0xcp-16448, false, + 0xcp-16448, false), TEST ("5.4677992978237119037926089004291297245985762235403450155814" "707305425575329500966052143410629387408077958710210208052966" "529504784489330482549602621133847135082257338717668975178538" @@ -6031,35 +6031,35 @@ static const struct test tests[] = { "866268925981702690270202829595794350800918257913991744455922" "683343374046671669930219650268554687501e-4951", false, - 0x0p+0, - 0x0p+0, - 0x0p+0, - 0x8p-152, - false, - 0x0p+0, - 0x0p+0, - 0x0p+0, - 0x4p-1076, - false, - 0x8p-16448, - 0x1p-16444, - 0x8p-16448, - 0x1p-16444, - false, - 0xcp-16448, - 0xcp-16448, - 0xcp-16448, - 0x1p-16444, - false, - 0x0p+0, - 0x0p+0, - 0x0p+0, - 0x4p-1076, - false, - 0xcp-16448, - 0xcp-16448, - 0xcp-16448, - 0xc.000000000004p-16448), + 0x0p+0, false, + 0x0p+0, false, + 0x0p+0, false, + 0x8p-152, false, + false, + 0x0p+0, false, + 0x0p+0, false, + 0x0p+0, false, + 0x4p-1076, false, + false, + 0x8p-16448, false, + 0x1p-16444, false, + 0x8p-16448, false, + 0x1p-16444, false, + false, + 0xcp-16448, false, + 0xcp-16448, false, + 0xcp-16448, false, + 0x1p-16444, false, + false, + 0x0p+0, false, + 0x0p+0, false, + 0x0p+0, false, + 0x4p-1076, false, + false, + 0xcp-16448, false, + 0xcp-16448, false, + 0xcp-16448, false, + 0xc.000000000004p-16448, false), TEST ("-5.467799297823711903792608900429129724598576223540345015581" "470730542557532950096605214341062938740807795871021020805296" "652950478448933048254960262113384713508225733871766897517853" @@ -6253,35 +6253,35 @@ static const struct test tests[] = { "386626892598170269027020282959579435080091825791399174445592" "2683343374046671669930219650268554687499e-4951", false, - -0x8p-152, - -0x0p+0, - -0x0p+0, - -0x0p+0, - false, - -0x4p-1076, - -0x0p+0, - -0x0p+0, - -0x0p+0, - false, - -0x1p-16444, - -0x8p-16448, - -0x8p-16448, - -0x8p-16448, - false, - -0xcp-16448, - -0xcp-16448, - -0x8p-16448, - -0x8p-16448, - false, - -0x4p-1076, - -0x0p+0, - -0x0p+0, - -0x0p+0, - false, - -0xcp-16448, - -0xcp-16448, - -0xb.fffffffffffcp-16448, - -0xb.fffffffffffcp-16448), + -0x8p-152, false, + -0x0p+0, false, + -0x0p+0, false, + -0x0p+0, false, + false, + -0x4p-1076, false, + -0x0p+0, false, + -0x0p+0, false, + -0x0p+0, false, + false, + -0x1p-16444, false, + -0x8p-16448, false, + -0x8p-16448, false, + -0x8p-16448, false, + false, + -0xcp-16448, false, + -0xcp-16448, false, + -0x8p-16448, false, + -0x8p-16448, false, + false, + -0x4p-1076, false, + -0x0p+0, false, + -0x0p+0, false, + -0x0p+0, false, + false, + -0xcp-16448, false, + -0xcp-16448, false, + -0xb.fffffffffffcp-16448, false, + -0xb.fffffffffffcp-16448, false), TEST ("-5.467799297823711903792608900429129724598576223540345015581" "470730542557532950096605214341062938740807795871021020805296" "652950478448933048254960262113384713508225733871766897517853" @@ -6475,35 +6475,35 @@ static const struct test tests[] = { "386626892598170269027020282959579435080091825791399174445592" "26833433740466716699302196502685546875e-4951", false, - -0x8p-152, - -0x0p+0, - -0x0p+0, - -0x0p+0, - false, - -0x4p-1076, - -0x0p+0, - -0x0p+0, - -0x0p+0, - false, - -0x1p-16444, - -0x1p-16444, - -0x8p-16448, - -0x8p-16448, - true, - -0xcp-16448, - -0xcp-16448, - -0xcp-16448, - -0xcp-16448, - false, - -0x4p-1076, - -0x0p+0, - -0x0p+0, - -0x0p+0, - true, - -0xcp-16448, - -0xcp-16448, - -0xcp-16448, - -0xcp-16448), + -0x8p-152, false, + -0x0p+0, false, + -0x0p+0, false, + -0x0p+0, false, + false, + -0x4p-1076, false, + -0x0p+0, false, + -0x0p+0, false, + -0x0p+0, false, + false, + -0x1p-16444, false, + -0x1p-16444, false, + -0x8p-16448, false, + -0x8p-16448, false, + true, + -0xcp-16448, false, + -0xcp-16448, false, + -0xcp-16448, false, + -0xcp-16448, false, + false, + -0x4p-1076, false, + -0x0p+0, false, + -0x0p+0, false, + -0x0p+0, false, + true, + -0xcp-16448, false, + -0xcp-16448, false, + -0xcp-16448, false, + -0xcp-16448, false), TEST ("-5.467799297823711903792608900429129724598576223540345015581" "470730542557532950096605214341062938740807795871021020805296" "652950478448933048254960262113384713508225733871766897517853" @@ -6697,630 +6697,630 @@ static const struct test tests[] = { "386626892598170269027020282959579435080091825791399174445592" "2683343374046671669930219650268554687501e-4951", false, - -0x8p-152, - -0x0p+0, - -0x0p+0, - -0x0p+0, - false, - -0x4p-1076, - -0x0p+0, - -0x0p+0, - -0x0p+0, - false, - -0x1p-16444, - -0x1p-16444, - -0x8p-16448, - -0x8p-16448, - false, - -0x1p-16444, - -0xcp-16448, - -0xcp-16448, - -0xcp-16448, - false, - -0x4p-1076, - -0x0p+0, - -0x0p+0, - -0x0p+0, - false, - -0xc.000000000004p-16448, - -0xcp-16448, - -0xcp-16448, - -0xcp-16448), + -0x8p-152, false, + -0x0p+0, false, + -0x0p+0, false, + -0x0p+0, false, + false, + -0x4p-1076, false, + -0x0p+0, false, + -0x0p+0, false, + -0x0p+0, false, + false, + -0x1p-16444, false, + -0x1p-16444, false, + -0x8p-16448, false, + -0x8p-16448, false, + false, + -0x1p-16444, false, + -0xcp-16448, false, + -0xcp-16448, false, + -0xcp-16448, false, + false, + -0x4p-1076, false, + -0x0p+0, false, + -0x0p+0, false, + -0x0p+0, false, + false, + -0xc.000000000004p-16448, false, + -0xcp-16448, false, + -0xcp-16448, false, + -0xcp-16448, false), TEST ("-0x0.7p-149", false, - -0x8p-152, - -0x0p+0, - -0x0p+0, - -0x0p+0, - true, - -0x3.8p-152, - -0x3.8p-152, - -0x3.8p-152, - -0x3.8p-152, - true, - -0x3.8p-152, - -0x3.8p-152, - -0x3.8p-152, - -0x3.8p-152, - true, - -0x3.8p-152, - -0x3.8p-152, - -0x3.8p-152, - -0x3.8p-152, - true, - -0x3.8p-152, - -0x3.8p-152, - -0x3.8p-152, - -0x3.8p-152, - true, - -0x3.8p-152, - -0x3.8p-152, - -0x3.8p-152, - -0x3.8p-152), + -0x8p-152, false, + -0x0p+0, false, + -0x0p+0, false, + -0x0p+0, false, + true, + -0x3.8p-152, false, + -0x3.8p-152, false, + -0x3.8p-152, false, + -0x3.8p-152, false, + true, + -0x3.8p-152, false, + -0x3.8p-152, false, + -0x3.8p-152, false, + -0x3.8p-152, false, + true, + -0x3.8p-152, false, + -0x3.8p-152, false, + -0x3.8p-152, false, + -0x3.8p-152, false, + true, + -0x3.8p-152, false, + -0x3.8p-152, false, + -0x3.8p-152, false, + -0x3.8p-152, false, + true, + -0x3.8p-152, false, + -0x3.8p-152, false, + -0x3.8p-152, false, + -0x3.8p-152, false), TEST ("-0x0.7p-1074", false, - -0x8p-152, - -0x0p+0, - -0x0p+0, - -0x0p+0, - false, - -0x4p-1076, - -0x0p+0, - -0x0p+0, - -0x0p+0, - true, - -0x1.cp-1076, - -0x1.cp-1076, - -0x1.cp-1076, - -0x1.cp-1076, - true, - -0x1.cp-1076, - -0x1.cp-1076, - -0x1.cp-1076, - -0x1.cp-1076, - false, - -0x4p-1076, - -0x0p+0, - -0x0p+0, - -0x0p+0, - true, - -0x1.cp-1076, - -0x1.cp-1076, - -0x1.cp-1076, - -0x1.cp-1076), + -0x8p-152, false, + -0x0p+0, false, + -0x0p+0, false, + -0x0p+0, false, + false, + -0x4p-1076, false, + -0x0p+0, false, + -0x0p+0, false, + -0x0p+0, false, + true, + -0x1.cp-1076, false, + -0x1.cp-1076, false, + -0x1.cp-1076, false, + -0x1.cp-1076, false, + true, + -0x1.cp-1076, false, + -0x1.cp-1076, false, + -0x1.cp-1076, false, + -0x1.cp-1076, false, + false, + -0x4p-1076, false, + -0x0p+0, false, + -0x0p+0, false, + -0x0p+0, false, + true, + -0x1.cp-1076, false, + -0x1.cp-1076, false, + -0x1.cp-1076, false, + -0x1.cp-1076, false), TEST ("-0x0.7p-16445", false, - -0x8p-152, - -0x0p+0, - -0x0p+0, - -0x0p+0, - false, - -0x4p-1076, - -0x0p+0, - -0x0p+0, - -0x0p+0, - false, - -0x8p-16448, - -0x0p+0, - -0x0p+0, - -0x0p+0, - false, - -0x4p-16448, - -0x4p-16448, - -0x0p+0, - -0x0p+0, - false, - -0x4p-1076, - -0x0p+0, - -0x0p+0, - -0x0p+0, - true, - -0x3.8p-16448, - -0x3.8p-16448, - -0x3.8p-16448, - -0x3.8p-16448), + -0x8p-152, false, + -0x0p+0, false, + -0x0p+0, false, + -0x0p+0, false, + false, + -0x4p-1076, false, + -0x0p+0, false, + -0x0p+0, false, + -0x0p+0, false, + false, + -0x8p-16448, false, + -0x0p+0, false, + -0x0p+0, false, + -0x0p+0, false, + false, + -0x4p-16448, false, + -0x4p-16448, false, + -0x0p+0, false, + -0x0p+0, false, + false, + -0x4p-1076, false, + -0x0p+0, false, + -0x0p+0, false, + -0x0p+0, false, + true, + -0x3.8p-16448, false, + -0x3.8p-16448, false, + -0x3.8p-16448, false, + -0x3.8p-16448, false), TEST ("-0x0.7p-16494", false, - -0x8p-152, - -0x0p+0, - -0x0p+0, - -0x0p+0, - false, - -0x4p-1076, - -0x0p+0, - -0x0p+0, - -0x0p+0, - false, - -0x8p-16448, - -0x0p+0, - -0x0p+0, - -0x0p+0, - false, - -0x4p-16448, - -0x0p+0, - -0x0p+0, - -0x0p+0, - false, - -0x4p-1076, - -0x0p+0, - -0x0p+0, - -0x0p+0, - false, - -0x4p-16496, - -0x0p+0, - -0x0p+0, - -0x0p+0), + -0x8p-152, false, + -0x0p+0, false, + -0x0p+0, false, + -0x0p+0, false, + false, + -0x4p-1076, false, + -0x0p+0, false, + -0x0p+0, false, + -0x0p+0, false, + false, + -0x8p-16448, false, + -0x0p+0, false, + -0x0p+0, false, + -0x0p+0, false, + false, + -0x4p-16448, false, + -0x0p+0, false, + -0x0p+0, false, + -0x0p+0, false, + false, + -0x4p-1076, false, + -0x0p+0, false, + -0x0p+0, false, + -0x0p+0, false, + false, + -0x4p-16496, false, + -0x0p+0, false, + -0x0p+0, false, + -0x0p+0, false), TEST ("0x1p-150", false, - 0x0p+0, - 0x0p+0, - 0x0p+0, - 0x8p-152, - true, - 0x4p-152, - 0x4p-152, - 0x4p-152, - 0x4p-152, - true, - 0x4p-152, - 0x4p-152, - 0x4p-152, - 0x4p-152, - true, - 0x4p-152, - 0x4p-152, - 0x4p-152, - 0x4p-152, - true, - 0x4p-152, - 0x4p-152, - 0x4p-152, - 0x4p-152, - true, - 0x4p-152, - 0x4p-152, - 0x4p-152, - 0x4p-152), + 0x0p+0, false, + 0x0p+0, false, + 0x0p+0, false, + 0x8p-152, false, + true, + 0x4p-152, false, + 0x4p-152, false, + 0x4p-152, false, + 0x4p-152, false, + true, + 0x4p-152, false, + 0x4p-152, false, + 0x4p-152, false, + 0x4p-152, false, + true, + 0x4p-152, false, + 0x4p-152, false, + 0x4p-152, false, + 0x4p-152, false, + true, + 0x4p-152, false, + 0x4p-152, false, + 0x4p-152, false, + 0x4p-152, false, + true, + 0x4p-152, false, + 0x4p-152, false, + 0x4p-152, false, + 0x4p-152, false), TEST ("0x1p-1075", false, - 0x0p+0, - 0x0p+0, - 0x0p+0, - 0x8p-152, - false, - 0x0p+0, - 0x0p+0, - 0x0p+0, - 0x4p-1076, - true, - 0x2p-1076, - 0x2p-1076, - 0x2p-1076, - 0x2p-1076, - true, - 0x2p-1076, - 0x2p-1076, - 0x2p-1076, - 0x2p-1076, - false, - 0x0p+0, - 0x0p+0, - 0x0p+0, - 0x4p-1076, - true, - 0x2p-1076, - 0x2p-1076, - 0x2p-1076, - 0x2p-1076), + 0x0p+0, false, + 0x0p+0, false, + 0x0p+0, false, + 0x8p-152, false, + false, + 0x0p+0, false, + 0x0p+0, false, + 0x0p+0, false, + 0x4p-1076, false, + true, + 0x2p-1076, false, + 0x2p-1076, false, + 0x2p-1076, false, + 0x2p-1076, false, + true, + 0x2p-1076, false, + 0x2p-1076, false, + 0x2p-1076, false, + 0x2p-1076, false, + false, + 0x0p+0, false, + 0x0p+0, false, + 0x0p+0, false, + 0x4p-1076, false, + true, + 0x2p-1076, false, + 0x2p-1076, false, + 0x2p-1076, false, + 0x2p-1076, false), TEST ("0x1p-16446", false, - 0x0p+0, - 0x0p+0, - 0x0p+0, - 0x8p-152, - false, - 0x0p+0, - 0x0p+0, - 0x0p+0, - 0x4p-1076, - false, - 0x0p+0, - 0x0p+0, - 0x0p+0, - 0x8p-16448, - true, - 0x4p-16448, - 0x4p-16448, - 0x4p-16448, - 0x4p-16448, - false, - 0x0p+0, - 0x0p+0, - 0x0p+0, - 0x4p-1076, - true, - 0x4p-16448, - 0x4p-16448, - 0x4p-16448, - 0x4p-16448), + 0x0p+0, false, + 0x0p+0, false, + 0x0p+0, false, + 0x8p-152, false, + false, + 0x0p+0, false, + 0x0p+0, false, + 0x0p+0, false, + 0x4p-1076, false, + false, + 0x0p+0, false, + 0x0p+0, false, + 0x0p+0, false, + 0x8p-16448, false, + true, + 0x4p-16448, false, + 0x4p-16448, false, + 0x4p-16448, false, + 0x4p-16448, false, + false, + 0x0p+0, false, + 0x0p+0, false, + 0x0p+0, false, + 0x4p-1076, false, + true, + 0x4p-16448, false, + 0x4p-16448, false, + 0x4p-16448, false, + 0x4p-16448, false), TEST ("0x1p-16495", false, - 0x0p+0, - 0x0p+0, - 0x0p+0, - 0x8p-152, - false, - 0x0p+0, - 0x0p+0, - 0x0p+0, - 0x4p-1076, - false, - 0x0p+0, - 0x0p+0, - 0x0p+0, - 0x8p-16448, - false, - 0x0p+0, - 0x0p+0, - 0x0p+0, - 0x4p-16448, - false, - 0x0p+0, - 0x0p+0, - 0x0p+0, - 0x4p-1076, - false, - 0x0p+0, - 0x0p+0, - 0x0p+0, - 0x4p-16496), + 0x0p+0, false, + 0x0p+0, false, + 0x0p+0, false, + 0x8p-152, false, + false, + 0x0p+0, false, + 0x0p+0, false, + 0x0p+0, false, + 0x4p-1076, false, + false, + 0x0p+0, false, + 0x0p+0, false, + 0x0p+0, false, + 0x8p-16448, false, + false, + 0x0p+0, false, + 0x0p+0, false, + 0x0p+0, false, + 0x4p-16448, false, + false, + 0x0p+0, false, + 0x0p+0, false, + 0x0p+0, false, + 0x4p-1076, false, + false, + 0x0p+0, false, + 0x0p+0, false, + 0x0p+0, false, + 0x4p-16496, false), TEST ("-0x1p-150", false, - -0x8p-152, - -0x0p+0, - -0x0p+0, - -0x0p+0, - true, - -0x4p-152, - -0x4p-152, - -0x4p-152, - -0x4p-152, - true, - -0x4p-152, - -0x4p-152, - -0x4p-152, - -0x4p-152, - true, - -0x4p-152, - -0x4p-152, - -0x4p-152, - -0x4p-152, - true, - -0x4p-152, - -0x4p-152, - -0x4p-152, - -0x4p-152, - true, - -0x4p-152, - -0x4p-152, - -0x4p-152, - -0x4p-152), + -0x8p-152, false, + -0x0p+0, false, + -0x0p+0, false, + -0x0p+0, false, + true, + -0x4p-152, false, + -0x4p-152, false, + -0x4p-152, false, + -0x4p-152, false, + true, + -0x4p-152, false, + -0x4p-152, false, + -0x4p-152, false, + -0x4p-152, false, + true, + -0x4p-152, false, + -0x4p-152, false, + -0x4p-152, false, + -0x4p-152, false, + true, + -0x4p-152, false, + -0x4p-152, false, + -0x4p-152, false, + -0x4p-152, false, + true, + -0x4p-152, false, + -0x4p-152, false, + -0x4p-152, false, + -0x4p-152, false), TEST ("-0x1p-1075", false, - -0x8p-152, - -0x0p+0, - -0x0p+0, - -0x0p+0, - false, - -0x4p-1076, - -0x0p+0, - -0x0p+0, - -0x0p+0, - true, - -0x2p-1076, - -0x2p-1076, - -0x2p-1076, - -0x2p-1076, - true, - -0x2p-1076, - -0x2p-1076, - -0x2p-1076, - -0x2p-1076, - false, - -0x4p-1076, - -0x0p+0, - -0x0p+0, - -0x0p+0, - true, - -0x2p-1076, - -0x2p-1076, - -0x2p-1076, - -0x2p-1076), + -0x8p-152, false, + -0x0p+0, false, + -0x0p+0, false, + -0x0p+0, false, + false, + -0x4p-1076, false, + -0x0p+0, false, + -0x0p+0, false, + -0x0p+0, false, + true, + -0x2p-1076, false, + -0x2p-1076, false, + -0x2p-1076, false, + -0x2p-1076, false, + true, + -0x2p-1076, false, + -0x2p-1076, false, + -0x2p-1076, false, + -0x2p-1076, false, + false, + -0x4p-1076, false, + -0x0p+0, false, + -0x0p+0, false, + -0x0p+0, false, + true, + -0x2p-1076, false, + -0x2p-1076, false, + -0x2p-1076, false, + -0x2p-1076, false), TEST ("-0x1p-16446", false, - -0x8p-152, - -0x0p+0, - -0x0p+0, - -0x0p+0, - false, - -0x4p-1076, - -0x0p+0, - -0x0p+0, - -0x0p+0, - false, - -0x8p-16448, - -0x0p+0, - -0x0p+0, - -0x0p+0, - true, - -0x4p-16448, - -0x4p-16448, - -0x4p-16448, - -0x4p-16448, - false, - -0x4p-1076, - -0x0p+0, - -0x0p+0, - -0x0p+0, - true, - -0x4p-16448, - -0x4p-16448, - -0x4p-16448, - -0x4p-16448), + -0x8p-152, false, + -0x0p+0, false, + -0x0p+0, false, + -0x0p+0, false, + false, + -0x4p-1076, false, + -0x0p+0, false, + -0x0p+0, false, + -0x0p+0, false, + false, + -0x8p-16448, false, + -0x0p+0, false, + -0x0p+0, false, + -0x0p+0, false, + true, + -0x4p-16448, false, + -0x4p-16448, false, + -0x4p-16448, false, + -0x4p-16448, false, + false, + -0x4p-1076, false, + -0x0p+0, false, + -0x0p+0, false, + -0x0p+0, false, + true, + -0x4p-16448, false, + -0x4p-16448, false, + -0x4p-16448, false, + -0x4p-16448, false), TEST ("-0x1p-16495", false, - -0x8p-152, - -0x0p+0, - -0x0p+0, - -0x0p+0, - false, - -0x4p-1076, - -0x0p+0, - -0x0p+0, - -0x0p+0, - false, - -0x8p-16448, - -0x0p+0, - -0x0p+0, - -0x0p+0, - false, - -0x4p-16448, - -0x0p+0, - -0x0p+0, - -0x0p+0, - false, - -0x4p-1076, - -0x0p+0, - -0x0p+0, - -0x0p+0, - false, - -0x4p-16496, - -0x0p+0, - -0x0p+0, - -0x0p+0), + -0x8p-152, false, + -0x0p+0, false, + -0x0p+0, false, + -0x0p+0, false, + false, + -0x4p-1076, false, + -0x0p+0, false, + -0x0p+0, false, + -0x0p+0, false, + false, + -0x8p-16448, false, + -0x0p+0, false, + -0x0p+0, false, + -0x0p+0, false, + false, + -0x4p-16448, false, + -0x0p+0, false, + -0x0p+0, false, + -0x0p+0, false, + false, + -0x4p-1076, false, + -0x0p+0, false, + -0x0p+0, false, + -0x0p+0, false, + false, + -0x4p-16496, false, + -0x0p+0, false, + -0x0p+0, false, + -0x0p+0, false), TEST (".70064923216240853546186479164495807e-45", false, - 0x0p+0, - 0x8p-152, - 0x0p+0, - 0x8p-152, - false, - 0x4p-152, - 0x4p-152, - 0x4p-152, - 0x4.0000000000004p-152, - false, - 0x4p-152, - 0x4p-152, - 0x4p-152, - 0x4.0000000000000008p-152, - false, - 0x4p-152, - 0x4p-152, - 0x4p-152, - 0x4.0000000000000008p-152, - false, - 0x4p-152, - 0x4p-152, - 0x4p-152, - 0x4.00000000000000000000000002p-152, - false, - 0x4p-152, - 0x4p-152, - 0x4p-152, - 0x4.0000000000000000000000000004p-152), + 0x0p+0, false, + 0x8p-152, false, + 0x0p+0, false, + 0x8p-152, false, + false, + 0x4p-152, false, + 0x4p-152, false, + 0x4p-152, false, + 0x4.0000000000004p-152, false, + false, + 0x4p-152, false, + 0x4p-152, false, + 0x4p-152, false, + 0x4.0000000000000008p-152, false, + false, + 0x4p-152, false, + 0x4p-152, false, + 0x4p-152, false, + 0x4.0000000000000008p-152, false, + false, + 0x4p-152, false, + 0x4p-152, false, + 0x4p-152, false, + 0x4.00000000000000000000000002p-152, false, + false, + 0x4p-152, false, + 0x4p-152, false, + 0x4p-152, false, + 0x4.0000000000000000000000000004p-152, false), TEST ("7.0064923216240853546186479164495806564013097093825788587853" "4141944895541342930300743319094181060791015624e-46", false, - 0x0p+0, - 0x0p+0, - 0x0p+0, - 0x8p-152, - false, - 0x3.ffffffffffffep-152, - 0x4p-152, - 0x3.ffffffffffffep-152, - 0x4p-152, - false, - 0x3.fffffffffffffffcp-152, - 0x4p-152, - 0x3.fffffffffffffffcp-152, - 0x4p-152, - false, - 0x3.fffffffffffffffcp-152, - 0x4p-152, - 0x3.fffffffffffffffcp-152, - 0x4p-152, - false, - 0x3.ffffffffffffffffffffffffffp-152, - 0x4p-152, - 0x3.ffffffffffffffffffffffffffp-152, - 0x4p-152, - false, - 0x3.fffffffffffffffffffffffffffep-152, - 0x4p-152, - 0x3.fffffffffffffffffffffffffffep-152, - 0x4p-152), + 0x0p+0, false, + 0x0p+0, false, + 0x0p+0, false, + 0x8p-152, false, + false, + 0x3.ffffffffffffep-152, false, + 0x4p-152, false, + 0x3.ffffffffffffep-152, false, + 0x4p-152, false, + false, + 0x3.fffffffffffffffcp-152, false, + 0x4p-152, false, + 0x3.fffffffffffffffcp-152, false, + 0x4p-152, false, + false, + 0x3.fffffffffffffffcp-152, false, + 0x4p-152, false, + 0x3.fffffffffffffffcp-152, false, + 0x4p-152, false, + false, + 0x3.ffffffffffffffffffffffffffp-152, false, + 0x4p-152, false, + 0x3.ffffffffffffffffffffffffffp-152, false, + 0x4p-152, false, + false, + 0x3.fffffffffffffffffffffffffffep-152, false, + 0x4p-152, false, + 0x3.fffffffffffffffffffffffffffep-152, false, + 0x4p-152, false), TEST ("7.0064923216240853546186479164495806564013097093825788587853" "4141944895541342930300743319094181060791015625e-46", false, - 0x0p+0, - 0x0p+0, - 0x0p+0, - 0x8p-152, - true, - 0x4p-152, - 0x4p-152, - 0x4p-152, - 0x4p-152, - true, - 0x4p-152, - 0x4p-152, - 0x4p-152, - 0x4p-152, - true, - 0x4p-152, - 0x4p-152, - 0x4p-152, - 0x4p-152, - true, - 0x4p-152, - 0x4p-152, - 0x4p-152, - 0x4p-152, - true, - 0x4p-152, - 0x4p-152, - 0x4p-152, - 0x4p-152), + 0x0p+0, false, + 0x0p+0, false, + 0x0p+0, false, + 0x8p-152, false, + true, + 0x4p-152, false, + 0x4p-152, false, + 0x4p-152, false, + 0x4p-152, false, + true, + 0x4p-152, false, + 0x4p-152, false, + 0x4p-152, false, + 0x4p-152, false, + true, + 0x4p-152, false, + 0x4p-152, false, + 0x4p-152, false, + 0x4p-152, false, + true, + 0x4p-152, false, + 0x4p-152, false, + 0x4p-152, false, + 0x4p-152, false, + true, + 0x4p-152, false, + 0x4p-152, false, + 0x4p-152, false, + 0x4p-152, false), TEST ("7.0064923216240853546186479164495806564013097093825788587853" "4141944895541342930300743319094181060791015626e-46", false, - 0x0p+0, - 0x8p-152, - 0x0p+0, - 0x8p-152, - false, - 0x4p-152, - 0x4p-152, - 0x4p-152, - 0x4.0000000000004p-152, - false, - 0x4p-152, - 0x4p-152, - 0x4p-152, - 0x4.0000000000000008p-152, - false, - 0x4p-152, - 0x4p-152, - 0x4p-152, - 0x4.0000000000000008p-152, - false, - 0x4p-152, - 0x4p-152, - 0x4p-152, - 0x4.00000000000000000000000002p-152, - false, - 0x4p-152, - 0x4p-152, - 0x4p-152, - 0x4.0000000000000000000000000004p-152), + 0x0p+0, false, + 0x8p-152, false, + 0x0p+0, false, + 0x8p-152, false, + false, + 0x4p-152, false, + 0x4p-152, false, + 0x4p-152, false, + 0x4.0000000000004p-152, false, + false, + 0x4p-152, false, + 0x4p-152, false, + 0x4p-152, false, + 0x4.0000000000000008p-152, false, + false, + 0x4p-152, false, + 0x4p-152, false, + 0x4p-152, false, + 0x4.0000000000000008p-152, false, + false, + 0x4p-152, false, + 0x4p-152, false, + 0x4p-152, false, + 0x4.00000000000000000000000002p-152, false, + false, + 0x4p-152, false, + 0x4p-152, false, + 0x4p-152, false, + 0x4.0000000000000000000000000004p-152, false), TEST ("-7.006492321624085354618647916449580656401309709382578858785" "34141944895541342930300743319094181060791015624e-46", false, - -0x8p-152, - -0x0p+0, - -0x0p+0, - -0x0p+0, - false, - -0x4p-152, - -0x4p-152, - -0x3.ffffffffffffep-152, - -0x3.ffffffffffffep-152, - false, - -0x4p-152, - -0x4p-152, - -0x3.fffffffffffffffcp-152, - -0x3.fffffffffffffffcp-152, - false, - -0x4p-152, - -0x4p-152, - -0x3.fffffffffffffffcp-152, - -0x3.fffffffffffffffcp-152, - false, - -0x4p-152, - -0x4p-152, - -0x3.ffffffffffffffffffffffffffp-152, - -0x3.ffffffffffffffffffffffffffp-152, - false, - -0x4p-152, - -0x4p-152, - -0x3.fffffffffffffffffffffffffffep-152, - -0x3.fffffffffffffffffffffffffffep-152), + -0x8p-152, false, + -0x0p+0, false, + -0x0p+0, false, + -0x0p+0, false, + false, + -0x4p-152, false, + -0x4p-152, false, + -0x3.ffffffffffffep-152, false, + -0x3.ffffffffffffep-152, false, + false, + -0x4p-152, false, + -0x4p-152, false, + -0x3.fffffffffffffffcp-152, false, + -0x3.fffffffffffffffcp-152, false, + false, + -0x4p-152, false, + -0x4p-152, false, + -0x3.fffffffffffffffcp-152, false, + -0x3.fffffffffffffffcp-152, false, + false, + -0x4p-152, false, + -0x4p-152, false, + -0x3.ffffffffffffffffffffffffffp-152, false, + -0x3.ffffffffffffffffffffffffffp-152, false, + false, + -0x4p-152, false, + -0x4p-152, false, + -0x3.fffffffffffffffffffffffffffep-152, false, + -0x3.fffffffffffffffffffffffffffep-152, false), TEST ("-7.006492321624085354618647916449580656401309709382578858785" "34141944895541342930300743319094181060791015625e-46", false, - -0x8p-152, - -0x0p+0, - -0x0p+0, - -0x0p+0, - true, - -0x4p-152, - -0x4p-152, - -0x4p-152, - -0x4p-152, - true, - -0x4p-152, - -0x4p-152, - -0x4p-152, - -0x4p-152, - true, - -0x4p-152, - -0x4p-152, - -0x4p-152, - -0x4p-152, - true, - -0x4p-152, - -0x4p-152, - -0x4p-152, - -0x4p-152, - true, - -0x4p-152, - -0x4p-152, - -0x4p-152, - -0x4p-152), + -0x8p-152, false, + -0x0p+0, false, + -0x0p+0, false, + -0x0p+0, false, + true, + -0x4p-152, false, + -0x4p-152, false, + -0x4p-152, false, + -0x4p-152, false, + true, + -0x4p-152, false, + -0x4p-152, false, + -0x4p-152, false, + -0x4p-152, false, + true, + -0x4p-152, false, + -0x4p-152, false, + -0x4p-152, false, + -0x4p-152, false, + true, + -0x4p-152, false, + -0x4p-152, false, + -0x4p-152, false, + -0x4p-152, false, + true, + -0x4p-152, false, + -0x4p-152, false, + -0x4p-152, false, + -0x4p-152, false), TEST ("-7.006492321624085354618647916449580656401309709382578858785" "34141944895541342930300743319094181060791015626e-46", false, - -0x8p-152, - -0x8p-152, - -0x0p+0, - -0x0p+0, - false, - -0x4.0000000000004p-152, - -0x4p-152, - -0x4p-152, - -0x4p-152, - false, - -0x4.0000000000000008p-152, - -0x4p-152, - -0x4p-152, - -0x4p-152, - false, - -0x4.0000000000000008p-152, - -0x4p-152, - -0x4p-152, - -0x4p-152, - false, - -0x4.00000000000000000000000002p-152, - -0x4p-152, - -0x4p-152, - -0x4p-152, - false, - -0x4.0000000000000000000000000004p-152, - -0x4p-152, - -0x4p-152, - -0x4p-152), + -0x8p-152, false, + -0x8p-152, false, + -0x0p+0, false, + -0x0p+0, false, + false, + -0x4.0000000000004p-152, false, + -0x4p-152, false, + -0x4p-152, false, + -0x4p-152, false, + false, + -0x4.0000000000000008p-152, false, + -0x4p-152, false, + -0x4p-152, false, + -0x4p-152, false, + false, + -0x4.0000000000000008p-152, false, + -0x4p-152, false, + -0x4p-152, false, + -0x4p-152, false, + false, + -0x4.00000000000000000000000002p-152, false, + -0x4p-152, false, + -0x4p-152, false, + -0x4p-152, false, + false, + -0x4.0000000000000000000000000004p-152, false, + -0x4p-152, false, + -0x4p-152, false, + -0x4p-152, false), TEST ("2.4703282292062327208828439643411068618252990130716238221279" "284125033775363510437593264991818081799618989828234772285886" "546332835517796989819938739800539093906315035659515570226392" @@ -7335,35 +7335,35 @@ static const struct test tests[] = { "779186948667994968324049705821028513185451396213837722826145" "437693412532098591327667236328124e-324", false, - 0x0p+0, - 0x0p+0, - 0x0p+0, - 0x8p-152, - false, - 0x0p+0, - 0x0p+0, - 0x0p+0, - 0x4p-1076, - false, - 0x1.fffffffffffffffep-1076, - 0x2p-1076, - 0x1.fffffffffffffffep-1076, - 0x2p-1076, - false, - 0x1.fffffffffffffffep-1076, - 0x2p-1076, - 0x1.fffffffffffffffep-1076, - 0x2p-1076, - false, - 0x0p+0, - 0x0p+0, - 0x0p+0, - 0x4p-1076, - false, - 0x1.ffffffffffffffffffffffffffffp-1076, - 0x2p-1076, - 0x1.ffffffffffffffffffffffffffffp-1076, - 0x2p-1076), + 0x0p+0, false, + 0x0p+0, false, + 0x0p+0, false, + 0x8p-152, false, + false, + 0x0p+0, false, + 0x0p+0, false, + 0x0p+0, false, + 0x4p-1076, false, + false, + 0x1.fffffffffffffffep-1076, false, + 0x2p-1076, false, + 0x1.fffffffffffffffep-1076, false, + 0x2p-1076, false, + false, + 0x1.fffffffffffffffep-1076, false, + 0x2p-1076, false, + 0x1.fffffffffffffffep-1076, false, + 0x2p-1076, false, + false, + 0x0p+0, false, + 0x0p+0, false, + 0x0p+0, false, + 0x4p-1076, false, + false, + 0x1.ffffffffffffffffffffffffffffp-1076, false, + 0x2p-1076, false, + 0x1.ffffffffffffffffffffffffffffp-1076, false, + 0x2p-1076, false), TEST ("2.4703282292062327208828439643411068618252990130716238221279" "284125033775363510437593264991818081799618989828234772285886" "546332835517796989819938739800539093906315035659515570226392" @@ -7378,35 +7378,35 @@ static const struct test tests[] = { "779186948667994968324049705821028513185451396213837722826145" "437693412532098591327667236328125e-324", false, - 0x0p+0, - 0x0p+0, - 0x0p+0, - 0x8p-152, - false, - 0x0p+0, - 0x0p+0, - 0x0p+0, - 0x4p-1076, - true, - 0x2p-1076, - 0x2p-1076, - 0x2p-1076, - 0x2p-1076, - true, - 0x2p-1076, - 0x2p-1076, - 0x2p-1076, - 0x2p-1076, - false, - 0x0p+0, - 0x0p+0, - 0x0p+0, - 0x4p-1076, - true, - 0x2p-1076, - 0x2p-1076, - 0x2p-1076, - 0x2p-1076), + 0x0p+0, false, + 0x0p+0, false, + 0x0p+0, false, + 0x8p-152, false, + false, + 0x0p+0, false, + 0x0p+0, false, + 0x0p+0, false, + 0x4p-1076, false, + true, + 0x2p-1076, false, + 0x2p-1076, false, + 0x2p-1076, false, + 0x2p-1076, false, + true, + 0x2p-1076, false, + 0x2p-1076, false, + 0x2p-1076, false, + 0x2p-1076, false, + false, + 0x0p+0, false, + 0x0p+0, false, + 0x0p+0, false, + 0x4p-1076, false, + true, + 0x2p-1076, false, + 0x2p-1076, false, + 0x2p-1076, false, + 0x2p-1076, false), TEST ("2.4703282292062327208828439643411068618252990130716238221279" "284125033775363510437593264991818081799618989828234772285886" "546332835517796989819938739800539093906315035659515570226392" @@ -7421,35 +7421,35 @@ static const struct test tests[] = { "779186948667994968324049705821028513185451396213837722826145" "437693412532098591327667236328126e-324", false, - 0x0p+0, - 0x0p+0, - 0x0p+0, - 0x8p-152, - false, - 0x0p+0, - 0x4p-1076, - 0x0p+0, - 0x4p-1076, - false, - 0x2p-1076, - 0x2p-1076, - 0x2p-1076, - 0x2.0000000000000004p-1076, - false, - 0x2p-1076, - 0x2p-1076, - 0x2p-1076, - 0x2.0000000000000004p-1076, - false, - 0x0p+0, - 0x4p-1076, - 0x0p+0, - 0x4p-1076, - false, - 0x2p-1076, - 0x2p-1076, - 0x2p-1076, - 0x2.0000000000000000000000000002p-1076), + 0x0p+0, false, + 0x0p+0, false, + 0x0p+0, false, + 0x8p-152, false, + false, + 0x0p+0, false, + 0x4p-1076, false, + 0x0p+0, false, + 0x4p-1076, false, + false, + 0x2p-1076, false, + 0x2p-1076, false, + 0x2p-1076, false, + 0x2.0000000000000004p-1076, false, + false, + 0x2p-1076, false, + 0x2p-1076, false, + 0x2p-1076, false, + 0x2.0000000000000004p-1076, false, + false, + 0x0p+0, false, + 0x4p-1076, false, + 0x0p+0, false, + 0x4p-1076, false, + false, + 0x2p-1076, false, + 0x2p-1076, false, + 0x2p-1076, false, + 0x2.0000000000000000000000000002p-1076, false), TEST ("-2.470328229206232720882843964341106861825299013071623822127" "928412503377536351043759326499181808179961898982823477228588" "654633283551779698981993873980053909390631503565951557022639" @@ -7464,35 +7464,35 @@ static const struct test tests[] = { "477918694866799496832404970582102851318545139621383772282614" "5437693412532098591327667236328124e-324", false, - -0x8p-152, - -0x0p+0, - -0x0p+0, - -0x0p+0, - false, - -0x4p-1076, - -0x0p+0, - -0x0p+0, - -0x0p+0, - false, - -0x2p-1076, - -0x2p-1076, - -0x1.fffffffffffffffep-1076, - -0x1.fffffffffffffffep-1076, - false, - -0x2p-1076, - -0x2p-1076, - -0x1.fffffffffffffffep-1076, - -0x1.fffffffffffffffep-1076, - false, - -0x4p-1076, - -0x0p+0, - -0x0p+0, - -0x0p+0, - false, - -0x2p-1076, - -0x2p-1076, - -0x1.ffffffffffffffffffffffffffffp-1076, - -0x1.ffffffffffffffffffffffffffffp-1076), + -0x8p-152, false, + -0x0p+0, false, + -0x0p+0, false, + -0x0p+0, false, + false, + -0x4p-1076, false, + -0x0p+0, false, + -0x0p+0, false, + -0x0p+0, false, + false, + -0x2p-1076, false, + -0x2p-1076, false, + -0x1.fffffffffffffffep-1076, false, + -0x1.fffffffffffffffep-1076, false, + false, + -0x2p-1076, false, + -0x2p-1076, false, + -0x1.fffffffffffffffep-1076, false, + -0x1.fffffffffffffffep-1076, false, + false, + -0x4p-1076, false, + -0x0p+0, false, + -0x0p+0, false, + -0x0p+0, false, + false, + -0x2p-1076, false, + -0x2p-1076, false, + -0x1.ffffffffffffffffffffffffffffp-1076, false, + -0x1.ffffffffffffffffffffffffffffp-1076, false), TEST ("-2.470328229206232720882843964341106861825299013071623822127" "928412503377536351043759326499181808179961898982823477228588" "654633283551779698981993873980053909390631503565951557022639" @@ -7507,35 +7507,35 @@ static const struct test tests[] = { "477918694866799496832404970582102851318545139621383772282614" "5437693412532098591327667236328125e-324", false, - -0x8p-152, - -0x0p+0, - -0x0p+0, - -0x0p+0, - false, - -0x4p-1076, - -0x0p+0, - -0x0p+0, - -0x0p+0, - true, - -0x2p-1076, - -0x2p-1076, - -0x2p-1076, - -0x2p-1076, - true, - -0x2p-1076, - -0x2p-1076, - -0x2p-1076, - -0x2p-1076, - false, - -0x4p-1076, - -0x0p+0, - -0x0p+0, - -0x0p+0, - true, - -0x2p-1076, - -0x2p-1076, - -0x2p-1076, - -0x2p-1076), + -0x8p-152, false, + -0x0p+0, false, + -0x0p+0, false, + -0x0p+0, false, + false, + -0x4p-1076, false, + -0x0p+0, false, + -0x0p+0, false, + -0x0p+0, false, + true, + -0x2p-1076, false, + -0x2p-1076, false, + -0x2p-1076, false, + -0x2p-1076, false, + true, + -0x2p-1076, false, + -0x2p-1076, false, + -0x2p-1076, false, + -0x2p-1076, false, + false, + -0x4p-1076, false, + -0x0p+0, false, + -0x0p+0, false, + -0x0p+0, false, + true, + -0x2p-1076, false, + -0x2p-1076, false, + -0x2p-1076, false, + -0x2p-1076, false), TEST ("-2.470328229206232720882843964341106861825299013071623822127" "928412503377536351043759326499181808179961898982823477228588" "654633283551779698981993873980053909390631503565951557022639" @@ -7550,35 +7550,35 @@ static const struct test tests[] = { "477918694866799496832404970582102851318545139621383772282614" "5437693412532098591327667236328126e-324", false, - -0x8p-152, - -0x0p+0, - -0x0p+0, - -0x0p+0, - false, - -0x4p-1076, - -0x4p-1076, - -0x0p+0, - -0x0p+0, - false, - -0x2.0000000000000004p-1076, - -0x2p-1076, - -0x2p-1076, - -0x2p-1076, - false, - -0x2.0000000000000004p-1076, - -0x2p-1076, - -0x2p-1076, - -0x2p-1076, - false, - -0x4p-1076, - -0x4p-1076, - -0x0p+0, - -0x0p+0, - false, - -0x2.0000000000000000000000000002p-1076, - -0x2p-1076, - -0x2p-1076, - -0x2p-1076), + -0x8p-152, false, + -0x0p+0, false, + -0x0p+0, false, + -0x0p+0, false, + false, + -0x4p-1076, false, + -0x4p-1076, false, + -0x0p+0, false, + -0x0p+0, false, + false, + -0x2.0000000000000004p-1076, false, + -0x2p-1076, false, + -0x2p-1076, false, + -0x2p-1076, false, + false, + -0x2.0000000000000004p-1076, false, + -0x2p-1076, false, + -0x2p-1076, false, + -0x2p-1076, false, + false, + -0x4p-1076, false, + -0x4p-1076, false, + -0x0p+0, false, + -0x0p+0, false, + false, + -0x2.0000000000000000000000000002p-1076, false, + -0x2p-1076, false, + -0x2p-1076, false, + -0x2p-1076, false), TEST ("1.8225997659412373012642029668097099081995254078467816718604" "902435141858443166988684047803543129136025986236736736017655" "509834928163110160849867540377949045027419112905889658392846" @@ -7772,35 +7772,35 @@ static const struct test tests[] = { "622089641993900896756734276531931450266972752637997248151974" "2277811246822238899767398834228515624e-4951", false, - 0x0p+0, - 0x0p+0, - 0x0p+0, - 0x8p-152, - false, - 0x0p+0, - 0x0p+0, - 0x0p+0, - 0x4p-1076, - false, - 0x0p+0, - 0x0p+0, - 0x0p+0, - 0x8p-16448, - false, - 0x0p+0, - 0x4p-16448, - 0x0p+0, - 0x4p-16448, - false, - 0x0p+0, - 0x0p+0, - 0x0p+0, - 0x4p-1076, - false, - 0x3.fffffffffffcp-16448, - 0x4p-16448, - 0x3.fffffffffffcp-16448, - 0x4p-16448), + 0x0p+0, false, + 0x0p+0, false, + 0x0p+0, false, + 0x8p-152, false, + false, + 0x0p+0, false, + 0x0p+0, false, + 0x0p+0, false, + 0x4p-1076, false, + false, + 0x0p+0, false, + 0x0p+0, false, + 0x0p+0, false, + 0x8p-16448, false, + false, + 0x0p+0, false, + 0x4p-16448, false, + 0x0p+0, false, + 0x4p-16448, false, + false, + 0x0p+0, false, + 0x0p+0, false, + 0x0p+0, false, + 0x4p-1076, false, + false, + 0x3.fffffffffffcp-16448, false, + 0x4p-16448, false, + 0x3.fffffffffffcp-16448, false, + 0x4p-16448, false), TEST ("1.8225997659412373012642029668097099081995254078467816718604" "902435141858443166988684047803543129136025986236736736017655" "509834928163110160849867540377949045027419112905889658392846" @@ -7994,35 +7994,35 @@ static const struct test tests[] = { "622089641993900896756734276531931450266972752637997248151974" "2277811246822238899767398834228515625e-4951", false, - 0x0p+0, - 0x0p+0, - 0x0p+0, - 0x8p-152, - false, - 0x0p+0, - 0x0p+0, - 0x0p+0, - 0x4p-1076, - false, - 0x0p+0, - 0x0p+0, - 0x0p+0, - 0x8p-16448, - true, - 0x4p-16448, - 0x4p-16448, - 0x4p-16448, - 0x4p-16448, - false, - 0x0p+0, - 0x0p+0, - 0x0p+0, - 0x4p-1076, - true, - 0x4p-16448, - 0x4p-16448, - 0x4p-16448, - 0x4p-16448), + 0x0p+0, false, + 0x0p+0, false, + 0x0p+0, false, + 0x8p-152, false, + false, + 0x0p+0, false, + 0x0p+0, false, + 0x0p+0, false, + 0x4p-1076, false, + false, + 0x0p+0, false, + 0x0p+0, false, + 0x0p+0, false, + 0x8p-16448, false, + true, + 0x4p-16448, false, + 0x4p-16448, false, + 0x4p-16448, false, + 0x4p-16448, false, + false, + 0x0p+0, false, + 0x0p+0, false, + 0x0p+0, false, + 0x4p-1076, false, + true, + 0x4p-16448, false, + 0x4p-16448, false, + 0x4p-16448, false, + 0x4p-16448, false), TEST ("1.8225997659412373012642029668097099081995254078467816718604" "902435141858443166988684047803543129136025986236736736017655" "509834928163110160849867540377949045027419112905889658392846" @@ -8216,35 +8216,35 @@ static const struct test tests[] = { "622089641993900896756734276531931450266972752637997248151974" "2277811246822238899767398834228515626e-4951", false, - 0x0p+0, - 0x0p+0, - 0x0p+0, - 0x8p-152, - false, - 0x0p+0, - 0x0p+0, - 0x0p+0, - 0x4p-1076, - false, - 0x0p+0, - 0x8p-16448, - 0x0p+0, - 0x8p-16448, - false, - 0x4p-16448, - 0x4p-16448, - 0x4p-16448, - 0x8p-16448, - false, - 0x0p+0, - 0x0p+0, - 0x0p+0, - 0x4p-1076, - false, - 0x4p-16448, - 0x4p-16448, - 0x4p-16448, - 0x4.000000000004p-16448), + 0x0p+0, false, + 0x0p+0, false, + 0x0p+0, false, + 0x8p-152, false, + false, + 0x0p+0, false, + 0x0p+0, false, + 0x0p+0, false, + 0x4p-1076, false, + false, + 0x0p+0, false, + 0x8p-16448, false, + 0x0p+0, false, + 0x8p-16448, false, + false, + 0x4p-16448, false, + 0x4p-16448, false, + 0x4p-16448, false, + 0x8p-16448, false, + false, + 0x0p+0, false, + 0x0p+0, false, + 0x0p+0, false, + 0x4p-1076, false, + false, + 0x4p-16448, false, + 0x4p-16448, false, + 0x4p-16448, false, + 0x4.000000000004p-16448, false), TEST ("-1.822599765941237301264202966809709908199525407846781671860" "490243514185844316698868404780354312913602598623673673601765" "550983492816311016084986754037794904502741911290588965839284" @@ -8438,35 +8438,35 @@ static const struct test tests[] = { "462208964199390089675673427653193145026697275263799724815197" "42277811246822238899767398834228515624e-4951", false, - -0x8p-152, - -0x0p+0, - -0x0p+0, - -0x0p+0, - false, - -0x4p-1076, - -0x0p+0, - -0x0p+0, - -0x0p+0, - false, - -0x8p-16448, - -0x0p+0, - -0x0p+0, - -0x0p+0, - false, - -0x4p-16448, - -0x4p-16448, - -0x0p+0, - -0x0p+0, - false, - -0x4p-1076, - -0x0p+0, - -0x0p+0, - -0x0p+0, - false, - -0x4p-16448, - -0x4p-16448, - -0x3.fffffffffffcp-16448, - -0x3.fffffffffffcp-16448), + -0x8p-152, false, + -0x0p+0, false, + -0x0p+0, false, + -0x0p+0, false, + false, + -0x4p-1076, false, + -0x0p+0, false, + -0x0p+0, false, + -0x0p+0, false, + false, + -0x8p-16448, false, + -0x0p+0, false, + -0x0p+0, false, + -0x0p+0, false, + false, + -0x4p-16448, false, + -0x4p-16448, false, + -0x0p+0, false, + -0x0p+0, false, + false, + -0x4p-1076, false, + -0x0p+0, false, + -0x0p+0, false, + -0x0p+0, false, + false, + -0x4p-16448, false, + -0x4p-16448, false, + -0x3.fffffffffffcp-16448, false, + -0x3.fffffffffffcp-16448, false), TEST ("-1.822599765941237301264202966809709908199525407846781671860" "490243514185844316698868404780354312913602598623673673601765" "550983492816311016084986754037794904502741911290588965839284" @@ -8660,35 +8660,35 @@ static const struct test tests[] = { "462208964199390089675673427653193145026697275263799724815197" "42277811246822238899767398834228515625e-4951", false, - -0x8p-152, - -0x0p+0, - -0x0p+0, - -0x0p+0, - false, - -0x4p-1076, - -0x0p+0, - -0x0p+0, - -0x0p+0, - false, - -0x8p-16448, - -0x0p+0, - -0x0p+0, - -0x0p+0, - true, - -0x4p-16448, - -0x4p-16448, - -0x4p-16448, - -0x4p-16448, - false, - -0x4p-1076, - -0x0p+0, - -0x0p+0, - -0x0p+0, - true, - -0x4p-16448, - -0x4p-16448, - -0x4p-16448, - -0x4p-16448), + -0x8p-152, false, + -0x0p+0, false, + -0x0p+0, false, + -0x0p+0, false, + false, + -0x4p-1076, false, + -0x0p+0, false, + -0x0p+0, false, + -0x0p+0, false, + false, + -0x8p-16448, false, + -0x0p+0, false, + -0x0p+0, false, + -0x0p+0, false, + true, + -0x4p-16448, false, + -0x4p-16448, false, + -0x4p-16448, false, + -0x4p-16448, false, + false, + -0x4p-1076, false, + -0x0p+0, false, + -0x0p+0, false, + -0x0p+0, false, + true, + -0x4p-16448, false, + -0x4p-16448, false, + -0x4p-16448, false, + -0x4p-16448, false), TEST ("-1.822599765941237301264202966809709908199525407846781671860" "490243514185844316698868404780354312913602598623673673601765" "550983492816311016084986754037794904502741911290588965839284" @@ -8882,35 +8882,35 @@ static const struct test tests[] = { "462208964199390089675673427653193145026697275263799724815197" "42277811246822238899767398834228515626e-4951", false, - -0x8p-152, - -0x0p+0, - -0x0p+0, - -0x0p+0, - false, - -0x4p-1076, - -0x0p+0, - -0x0p+0, - -0x0p+0, - false, - -0x8p-16448, - -0x8p-16448, - -0x0p+0, - -0x0p+0, - false, - -0x8p-16448, - -0x4p-16448, - -0x4p-16448, - -0x4p-16448, - false, - -0x4p-1076, - -0x0p+0, - -0x0p+0, - -0x0p+0, - false, - -0x4.000000000004p-16448, - -0x4p-16448, - -0x4p-16448, - -0x4p-16448), + -0x8p-152, false, + -0x0p+0, false, + -0x0p+0, false, + -0x0p+0, false, + false, + -0x4p-1076, false, + -0x0p+0, false, + -0x0p+0, false, + -0x0p+0, false, + false, + -0x8p-16448, false, + -0x8p-16448, false, + -0x0p+0, false, + -0x0p+0, false, + false, + -0x8p-16448, false, + -0x4p-16448, false, + -0x4p-16448, false, + -0x4p-16448, false, + false, + -0x4p-1076, false, + -0x0p+0, false, + -0x0p+0, false, + -0x0p+0, false, + false, + -0x4.000000000004p-16448, false, + -0x4p-16448, false, + -0x4p-16448, false, + -0x4p-16448, false), TEST ("9.1129988297061865063210148340485495409976270392339083593024" "512175709292215834943420239017715645680129931183683680088277" "549174640815550804249337701889745225137095564529448291964230" @@ -9104,35 +9104,35 @@ static const struct test tests[] = { "110448209969504483783671382659657251334863763189986240759871" "1389056234111194498836994171142578124e-4952", false, - 0x0p+0, - 0x0p+0, - 0x0p+0, - 0x8p-152, - false, - 0x0p+0, - 0x0p+0, - 0x0p+0, - 0x4p-1076, - false, - 0x0p+0, - 0x0p+0, - 0x0p+0, - 0x8p-16448, - false, - 0x0p+0, - 0x0p+0, - 0x0p+0, - 0x4p-16448, - false, - 0x0p+0, - 0x0p+0, - 0x0p+0, - 0x4p-1076, - false, - 0x1.fffffffffffcp-16448, - 0x2p-16448, - 0x1.fffffffffffcp-16448, - 0x2p-16448), + 0x0p+0, false, + 0x0p+0, false, + 0x0p+0, false, + 0x8p-152, false, + false, + 0x0p+0, false, + 0x0p+0, false, + 0x0p+0, false, + 0x4p-1076, false, + false, + 0x0p+0, false, + 0x0p+0, false, + 0x0p+0, false, + 0x8p-16448, false, + false, + 0x0p+0, false, + 0x0p+0, false, + 0x0p+0, false, + 0x4p-16448, false, + false, + 0x0p+0, false, + 0x0p+0, false, + 0x0p+0, false, + 0x4p-1076, false, + false, + 0x1.fffffffffffcp-16448, false, + 0x2p-16448, false, + 0x1.fffffffffffcp-16448, false, + 0x2p-16448, false), TEST ("9.1129988297061865063210148340485495409976270392339083593024" "512175709292215834943420239017715645680129931183683680088277" "549174640815550804249337701889745225137095564529448291964230" @@ -9326,35 +9326,35 @@ static const struct test tests[] = { "110448209969504483783671382659657251334863763189986240759871" "1389056234111194498836994171142578125e-4952", false, - 0x0p+0, - 0x0p+0, - 0x0p+0, - 0x8p-152, - false, - 0x0p+0, - 0x0p+0, - 0x0p+0, - 0x4p-1076, - false, - 0x0p+0, - 0x0p+0, - 0x0p+0, - 0x8p-16448, - false, - 0x0p+0, - 0x0p+0, - 0x0p+0, - 0x4p-16448, - false, - 0x0p+0, - 0x0p+0, - 0x0p+0, - 0x4p-1076, - true, - 0x2p-16448, - 0x2p-16448, - 0x2p-16448, - 0x2p-16448), + 0x0p+0, false, + 0x0p+0, false, + 0x0p+0, false, + 0x8p-152, false, + false, + 0x0p+0, false, + 0x0p+0, false, + 0x0p+0, false, + 0x4p-1076, false, + false, + 0x0p+0, false, + 0x0p+0, false, + 0x0p+0, false, + 0x8p-16448, false, + false, + 0x0p+0, false, + 0x0p+0, false, + 0x0p+0, false, + 0x4p-16448, false, + false, + 0x0p+0, false, + 0x0p+0, false, + 0x0p+0, false, + 0x4p-1076, false, + true, + 0x2p-16448, false, + 0x2p-16448, false, + 0x2p-16448, false, + 0x2p-16448, false), TEST ("9.1129988297061865063210148340485495409976270392339083593024" "512175709292215834943420239017715645680129931183683680088277" "549174640815550804249337701889745225137095564529448291964230" @@ -9548,35 +9548,35 @@ static const struct test tests[] = { "110448209969504483783671382659657251334863763189986240759871" "1389056234111194498836994171142578126e-4952", false, - 0x0p+0, - 0x0p+0, - 0x0p+0, - 0x8p-152, - false, - 0x0p+0, - 0x0p+0, - 0x0p+0, - 0x4p-1076, - false, - 0x0p+0, - 0x0p+0, - 0x0p+0, - 0x8p-16448, - false, - 0x0p+0, - 0x4p-16448, - 0x0p+0, - 0x4p-16448, - false, - 0x0p+0, - 0x0p+0, - 0x0p+0, - 0x4p-1076, - false, - 0x2p-16448, - 0x2p-16448, - 0x2p-16448, - 0x2.000000000004p-16448), + 0x0p+0, false, + 0x0p+0, false, + 0x0p+0, false, + 0x8p-152, false, + false, + 0x0p+0, false, + 0x0p+0, false, + 0x0p+0, false, + 0x4p-1076, false, + false, + 0x0p+0, false, + 0x0p+0, false, + 0x0p+0, false, + 0x8p-16448, false, + false, + 0x0p+0, false, + 0x4p-16448, false, + 0x0p+0, false, + 0x4p-16448, false, + false, + 0x0p+0, false, + 0x0p+0, false, + 0x0p+0, false, + 0x4p-1076, false, + false, + 0x2p-16448, false, + 0x2p-16448, false, + 0x2p-16448, false, + 0x2.000000000004p-16448, false), TEST ("-9.112998829706186506321014834048549540997627039233908359302" "451217570929221583494342023901771564568012993118368368008827" "754917464081555080424933770188974522513709556452944829196423" @@ -9770,35 +9770,35 @@ static const struct test tests[] = { "311044820996950448378367138265965725133486376318998624075987" "11389056234111194498836994171142578124e-4952", false, - -0x8p-152, - -0x0p+0, - -0x0p+0, - -0x0p+0, - false, - -0x4p-1076, - -0x0p+0, - -0x0p+0, - -0x0p+0, - false, - -0x8p-16448, - -0x0p+0, - -0x0p+0, - -0x0p+0, - false, - -0x4p-16448, - -0x0p+0, - -0x0p+0, - -0x0p+0, - false, - -0x4p-1076, - -0x0p+0, - -0x0p+0, - -0x0p+0, - false, - -0x2p-16448, - -0x2p-16448, - -0x1.fffffffffffcp-16448, - -0x1.fffffffffffcp-16448), + -0x8p-152, false, + -0x0p+0, false, + -0x0p+0, false, + -0x0p+0, false, + false, + -0x4p-1076, false, + -0x0p+0, false, + -0x0p+0, false, + -0x0p+0, false, + false, + -0x8p-16448, false, + -0x0p+0, false, + -0x0p+0, false, + -0x0p+0, false, + false, + -0x4p-16448, false, + -0x0p+0, false, + -0x0p+0, false, + -0x0p+0, false, + false, + -0x4p-1076, false, + -0x0p+0, false, + -0x0p+0, false, + -0x0p+0, false, + false, + -0x2p-16448, false, + -0x2p-16448, false, + -0x1.fffffffffffcp-16448, false, + -0x1.fffffffffffcp-16448, false), TEST ("-9.112998829706186506321014834048549540997627039233908359302" "451217570929221583494342023901771564568012993118368368008827" "754917464081555080424933770188974522513709556452944829196423" @@ -9992,35 +9992,35 @@ static const struct test tests[] = { "311044820996950448378367138265965725133486376318998624075987" "11389056234111194498836994171142578125e-4952", false, - -0x8p-152, - -0x0p+0, - -0x0p+0, - -0x0p+0, - false, - -0x4p-1076, - -0x0p+0, - -0x0p+0, - -0x0p+0, - false, - -0x8p-16448, - -0x0p+0, - -0x0p+0, - -0x0p+0, - false, - -0x4p-16448, - -0x0p+0, - -0x0p+0, - -0x0p+0, - false, - -0x4p-1076, - -0x0p+0, - -0x0p+0, - -0x0p+0, - true, - -0x2p-16448, - -0x2p-16448, - -0x2p-16448, - -0x2p-16448), + -0x8p-152, false, + -0x0p+0, false, + -0x0p+0, false, + -0x0p+0, false, + false, + -0x4p-1076, false, + -0x0p+0, false, + -0x0p+0, false, + -0x0p+0, false, + false, + -0x8p-16448, false, + -0x0p+0, false, + -0x0p+0, false, + -0x0p+0, false, + false, + -0x4p-16448, false, + -0x0p+0, false, + -0x0p+0, false, + -0x0p+0, false, + false, + -0x4p-1076, false, + -0x0p+0, false, + -0x0p+0, false, + -0x0p+0, false, + true, + -0x2p-16448, false, + -0x2p-16448, false, + -0x2p-16448, false, + -0x2p-16448, false), TEST ("-9.112998829706186506321014834048549540997627039233908359302" "451217570929221583494342023901771564568012993118368368008827" "754917464081555080424933770188974522513709556452944829196423" @@ -10214,35 +10214,35 @@ static const struct test tests[] = { "311044820996950448378367138265965725133486376318998624075987" "11389056234111194498836994171142578126e-4952", false, - -0x8p-152, - -0x0p+0, - -0x0p+0, - -0x0p+0, - false, - -0x4p-1076, - -0x0p+0, - -0x0p+0, - -0x0p+0, - false, - -0x8p-16448, - -0x0p+0, - -0x0p+0, - -0x0p+0, - false, - -0x4p-16448, - -0x4p-16448, - -0x0p+0, - -0x0p+0, - false, - -0x4p-1076, - -0x0p+0, - -0x0p+0, - -0x0p+0, - false, - -0x2.000000000004p-16448, - -0x2p-16448, - -0x2p-16448, - -0x2p-16448), + -0x8p-152, false, + -0x0p+0, false, + -0x0p+0, false, + -0x0p+0, false, + false, + -0x4p-1076, false, + -0x0p+0, false, + -0x0p+0, false, + -0x0p+0, false, + false, + -0x8p-16448, false, + -0x0p+0, false, + -0x0p+0, false, + -0x0p+0, false, + false, + -0x4p-16448, false, + -0x4p-16448, false, + -0x0p+0, false, + -0x0p+0, false, + false, + -0x4p-1076, false, + -0x0p+0, false, + -0x0p+0, false, + -0x0p+0, false, + false, + -0x2.000000000004p-16448, false, + -0x2p-16448, false, + -0x2p-16448, false, + -0x2p-16448, false), TEST ("3.2375875597190125554622194791138232762497846690173405048449" "421945985197700620596855088357456383249701279390707384240598" "382936099431912710233425550359863089915213963553756674672083" @@ -10437,35 +10437,35 @@ static const struct test tests[] = { "182358152808745703724362178773168996492870519432472065091133" "11767578124e-4966", false, - 0x0p+0, - 0x0p+0, - 0x0p+0, - 0x8p-152, - false, - 0x0p+0, - 0x0p+0, - 0x0p+0, - 0x4p-1076, - false, - 0x0p+0, - 0x0p+0, - 0x0p+0, - 0x8p-16448, - false, - 0x0p+0, - 0x0p+0, - 0x0p+0, - 0x4p-16448, - false, - 0x0p+0, - 0x0p+0, - 0x0p+0, - 0x4p-1076, - false, - 0x0p+0, - 0x0p+0, - 0x0p+0, - 0x4p-16496), + 0x0p+0, false, + 0x0p+0, false, + 0x0p+0, false, + 0x8p-152, false, + false, + 0x0p+0, false, + 0x0p+0, false, + 0x0p+0, false, + 0x4p-1076, false, + false, + 0x0p+0, false, + 0x0p+0, false, + 0x0p+0, false, + 0x8p-16448, false, + false, + 0x0p+0, false, + 0x0p+0, false, + 0x0p+0, false, + 0x4p-16448, false, + false, + 0x0p+0, false, + 0x0p+0, false, + 0x0p+0, false, + 0x4p-1076, false, + false, + 0x0p+0, false, + 0x0p+0, false, + 0x0p+0, false, + 0x4p-16496, false), TEST ("3.2375875597190125554622194791138232762497846690173405048449" "421945985197700620596855088357456383249701279390707384240598" "382936099431912710233425550359863089915213963553756674672083" @@ -10660,35 +10660,35 @@ static const struct test tests[] = { "182358152808745703724362178773168996492870519432472065091133" "11767578125e-4966", false, - 0x0p+0, - 0x0p+0, - 0x0p+0, - 0x8p-152, - false, - 0x0p+0, - 0x0p+0, - 0x0p+0, - 0x4p-1076, - false, - 0x0p+0, - 0x0p+0, - 0x0p+0, - 0x8p-16448, - false, - 0x0p+0, - 0x0p+0, - 0x0p+0, - 0x4p-16448, - false, - 0x0p+0, - 0x0p+0, - 0x0p+0, - 0x4p-1076, - false, - 0x0p+0, - 0x0p+0, - 0x0p+0, - 0x4p-16496), + 0x0p+0, false, + 0x0p+0, false, + 0x0p+0, false, + 0x8p-152, false, + false, + 0x0p+0, false, + 0x0p+0, false, + 0x0p+0, false, + 0x4p-1076, false, + false, + 0x0p+0, false, + 0x0p+0, false, + 0x0p+0, false, + 0x8p-16448, false, + false, + 0x0p+0, false, + 0x0p+0, false, + 0x0p+0, false, + 0x4p-16448, false, + false, + 0x0p+0, false, + 0x0p+0, false, + 0x0p+0, false, + 0x4p-1076, false, + false, + 0x0p+0, false, + 0x0p+0, false, + 0x0p+0, false, + 0x4p-16496, false), TEST ("3.2375875597190125554622194791138232762497846690173405048449" "421945985197700620596855088357456383249701279390707384240598" "382936099431912710233425550359863089915213963553756674672083" @@ -10883,35 +10883,35 @@ static const struct test tests[] = { "182358152808745703724362178773168996492870519432472065091133" "11767578126e-4966", false, - 0x0p+0, - 0x0p+0, - 0x0p+0, - 0x8p-152, - false, - 0x0p+0, - 0x0p+0, - 0x0p+0, - 0x4p-1076, - false, - 0x0p+0, - 0x0p+0, - 0x0p+0, - 0x8p-16448, - false, - 0x0p+0, - 0x0p+0, - 0x0p+0, - 0x4p-16448, - false, - 0x0p+0, - 0x0p+0, - 0x0p+0, - 0x4p-1076, - false, - 0x0p+0, - 0x4p-16496, - 0x0p+0, - 0x4p-16496), + 0x0p+0, false, + 0x0p+0, false, + 0x0p+0, false, + 0x8p-152, false, + false, + 0x0p+0, false, + 0x0p+0, false, + 0x0p+0, false, + 0x4p-1076, false, + false, + 0x0p+0, false, + 0x0p+0, false, + 0x0p+0, false, + 0x8p-16448, false, + false, + 0x0p+0, false, + 0x0p+0, false, + 0x0p+0, false, + 0x4p-16448, false, + false, + 0x0p+0, false, + 0x0p+0, false, + 0x0p+0, false, + 0x4p-1076, false, + false, + 0x0p+0, false, + 0x4p-16496, false, + 0x0p+0, false, + 0x4p-16496, false), TEST ("-3.237587559719012555462219479113823276249784669017340504844" "942194598519770062059685508835745638324970127939070738424059" "838293609943191271023342555035986308991521396355375667467208" @@ -11106,35 +11106,35 @@ static const struct test tests[] = { "218235815280874570372436217877316899649287051943247206509113" "311767578124e-4966", false, - -0x8p-152, - -0x0p+0, - -0x0p+0, - -0x0p+0, - false, - -0x4p-1076, - -0x0p+0, - -0x0p+0, - -0x0p+0, - false, - -0x8p-16448, - -0x0p+0, - -0x0p+0, - -0x0p+0, - false, - -0x4p-16448, - -0x0p+0, - -0x0p+0, - -0x0p+0, - false, - -0x4p-1076, - -0x0p+0, - -0x0p+0, - -0x0p+0, - false, - -0x4p-16496, - -0x0p+0, - -0x0p+0, - -0x0p+0), + -0x8p-152, false, + -0x0p+0, false, + -0x0p+0, false, + -0x0p+0, false, + false, + -0x4p-1076, false, + -0x0p+0, false, + -0x0p+0, false, + -0x0p+0, false, + false, + -0x8p-16448, false, + -0x0p+0, false, + -0x0p+0, false, + -0x0p+0, false, + false, + -0x4p-16448, false, + -0x0p+0, false, + -0x0p+0, false, + -0x0p+0, false, + false, + -0x4p-1076, false, + -0x0p+0, false, + -0x0p+0, false, + -0x0p+0, false, + false, + -0x4p-16496, false, + -0x0p+0, false, + -0x0p+0, false, + -0x0p+0, false), TEST ("-3.237587559719012555462219479113823276249784669017340504844" "942194598519770062059685508835745638324970127939070738424059" "838293609943191271023342555035986308991521396355375667467208" @@ -11329,35 +11329,35 @@ static const struct test tests[] = { "218235815280874570372436217877316899649287051943247206509113" "311767578125e-4966", false, - -0x8p-152, - -0x0p+0, - -0x0p+0, - -0x0p+0, - false, - -0x4p-1076, - -0x0p+0, - -0x0p+0, - -0x0p+0, - false, - -0x8p-16448, - -0x0p+0, - -0x0p+0, - -0x0p+0, - false, - -0x4p-16448, - -0x0p+0, - -0x0p+0, - -0x0p+0, - false, - -0x4p-1076, - -0x0p+0, - -0x0p+0, - -0x0p+0, - false, - -0x4p-16496, - -0x0p+0, - -0x0p+0, - -0x0p+0), + -0x8p-152, false, + -0x0p+0, false, + -0x0p+0, false, + -0x0p+0, false, + false, + -0x4p-1076, false, + -0x0p+0, false, + -0x0p+0, false, + -0x0p+0, false, + false, + -0x8p-16448, false, + -0x0p+0, false, + -0x0p+0, false, + -0x0p+0, false, + false, + -0x4p-16448, false, + -0x0p+0, false, + -0x0p+0, false, + -0x0p+0, false, + false, + -0x4p-1076, false, + -0x0p+0, false, + -0x0p+0, false, + -0x0p+0, false, + false, + -0x4p-16496, false, + -0x0p+0, false, + -0x0p+0, false, + -0x0p+0, false), TEST ("-3.237587559719012555462219479113823276249784669017340504844" "942194598519770062059685508835745638324970127939070738424059" "838293609943191271023342555035986308991521396355375667467208" @@ -11552,33 +11552,424 @@ static const struct test tests[] = { "218235815280874570372436217877316899649287051943247206509113" "311767578126e-4966", false, - -0x8p-152, - -0x0p+0, - -0x0p+0, - -0x0p+0, - false, - -0x4p-1076, - -0x0p+0, - -0x0p+0, - -0x0p+0, - false, - -0x8p-16448, - -0x0p+0, - -0x0p+0, - -0x0p+0, - false, - -0x4p-16448, - -0x0p+0, - -0x0p+0, - -0x0p+0, - false, - -0x4p-1076, - -0x0p+0, - -0x0p+0, - -0x0p+0, - false, - -0x4p-16496, - -0x4p-16496, - -0x0p+0, - -0x0p+0), + -0x8p-152, false, + -0x0p+0, false, + -0x0p+0, false, + -0x0p+0, false, + false, + -0x4p-1076, false, + -0x0p+0, false, + -0x0p+0, false, + -0x0p+0, false, + false, + -0x8p-16448, false, + -0x0p+0, false, + -0x0p+0, false, + -0x0p+0, false, + false, + -0x4p-16448, false, + -0x0p+0, false, + -0x0p+0, false, + -0x0p+0, false, + false, + -0x4p-1076, false, + -0x0p+0, false, + -0x0p+0, false, + -0x0p+0, false, + false, + -0x4p-16496, false, + -0x4p-16496, false, + -0x0p+0, false, + -0x0p+0, false), + TEST ("340282366920938463463374607431768211455", + false, + 0xf.fffffp+124, false, + INF, true, + 0xf.fffffp+124, false, + INF, true, + false, + 0xf.ffffffffffff8p+124, false, + 0x1p+128, false, + 0xf.ffffffffffff8p+124, false, + 0x1p+128, false, + false, + 0xf.fffffffffffffffp+124, false, + 0x1p+128, false, + 0xf.fffffffffffffffp+124, false, + 0x1p+128, false, + false, + 0xf.fffffffffffffffp+124, false, + 0x1p+128, false, + 0xf.fffffffffffffffp+124, false, + 0x1p+128, false, + false, + 0xf.fffffffffffffffffffffffffcp+124, false, + 0x1p+128, false, + 0xf.fffffffffffffffffffffffffcp+124, false, + 0x1p+128, false, + false, + 0xf.fffffffffffffffffffffffffff8p+124, false, + 0x1p+128, false, + 0xf.fffffffffffffffffffffffffff8p+124, false, + 0x1p+128, false), + TEST ("179769313486231590772930519078902473361797697894230657273430" + "081157732675805500963132708477322407536021120113879871393357" + "658789768814416622492847430639474124377767893424865485276302" + "219601246094119453082952085005768838150682342462881473913110" + "540827237163350510684586298239947245938479716304835356329624" + "224137215", + false, + 0xf.fffffp+124, true, + INF, true, + 0xf.fffffp+124, true, + INF, true, + false, + 0xf.ffffffffffff8p+1020, false, + INF, true, + 0xf.ffffffffffff8p+1020, false, + INF, true, + false, + 0xf.fffffffffffffffp+1020, false, + 0x1p+1024, false, + 0xf.fffffffffffffffp+1020, false, + 0x1p+1024, false, + false, + 0xf.fffffffffffffffp+1020, false, + 0x1p+1024, false, + 0xf.fffffffffffffffp+1020, false, + 0x1p+1024, false, + false, + 0xf.fffffffffffffffffffffffffcp+1020, true, + INF, true, + 0xf.fffffffffffffffffffffffffcp+1020, true, + INF, true, + false, + 0xf.fffffffffffffffffffffffffff8p+1020, false, + 0x1p+1024, false, + 0xf.fffffffffffffffffffffffffff8p+1020, false, + 0x1p+1024, false), + TEST ("118973149535723176508575932662800713076344468709651023747267" + "482123326135818048368690448859547261203991511543748483930925" + "889766738130868742627452469834156500608087163436600489752214" + "325161953144684595234570948213584703664746483098478471428096" + "784561413847604433840488612290528685531323615869599988579010" + "635701812081536332078096432371275716429061340687520241736532" + "395026788008906751737227061083564754575578079343162221345190" + "381785963069031134385065753936064964519328317829176765896540" + "528511355613436979328172588801590841467528983253806341923488" + "859989898062311402512167447205187243932132319840294270534136" + "695127473901459381689828899444517340036461792837713807441134" + "579184857359507717043764419174388964488537768473832224060823" + "907906139947567533473978401649174262148522901484767233597789" + "715839733422634973481144165307775825098892603089478960467615" + "310425726014180682302758800344195145532770159807128158959716" + "941396560843950498317125506228202662620004804214980820000206" + "099343368123762385788062747972707287748283843870504803416463" + "333701338540599804070190866238730160501818826257372376627924" + "079893171770880790174026540793097641964887786960401751769193" + "868798808800894425125882696968836419413394578015784436494605" + "271365545490632718742853189510027869511932349680870363043619" + "392759269234482081283429736447868686206416904245855513653205" + "505050818989186684686379991764754729137157350070101519755909" + "745304003303152068351821649419563669607774811059828490134361" + "146921427412181049507797927555664516498385006205106651708464" + "736946403664056933946483717218335295687391204264000361161878" + "927819571005209456276130670355184033011064510199543516762668" + "866962776382060434248035790641535421273294675607300690708887" + "049612505006815665925276129766406549834749266179882406231221" + "040927458456558726484641765016012317587403472626195728908146" + "619765155383074442470969863475362777035622712614505254912522" + "944804014911479568135987596851280857524427187145545408489498" + "615502079480698093921565805531916564168110596645415995147690" + "858312972150329881658514207306148088802176981833841712939687" + "837145957584605258314292844724970369854812529577592093645002" + "265142724994958070820396608284755092189115213332104801197388" + "363657782553332598885215632543933502131531213408139045102125" + "536370790349591696312592420116787719010893525591453948821689" + "711794326937360863907447279275111671512710639642508135355313" + "721355289053980260297864531979510097643293909192466022887891" + "290065421011828729829870738215971718456954051540302917330729" + "245439178956867421964076145117360061775218699191336683703388" + "720158207162586824713310451331509727471344272834060664289040" + "649663610444321775281122747002916285809372770104964649954022" + "098398193278661320425422646424368961010742992319763868154583" + "756177353556898453605362723442427710576092486402378162966552" + "631491090696048807347521700512113631187043992576250866603256" + "621375041669571991967422321060672472137347123402161354071218" + "823990970197194394434748031421790388631776777992153989217733" + "434436890755031880083354685234437032708928414750164058944848" + "200125423738668007445734191093377489195968101651606910614990" + "557242581089558693883306749020490036862416630196855300568704" + "028509545048484007352864382657040376715728651238025510995451" + "885701347658818930000413884971588313986607154757481647672763" + "511643546280440111271139252918057079419342268681835321279906" + "897224769719147426815791219597379419280729888695236110088026" + "425880132092804001192815397080113074133955000329901592497825" + "993697435872628614398052011245436927111408374791900780340659" + "632135341700406886944340547214067596364099740500922580350567" + "272646509550626733926889242436456189766190689842418677049103" + "534408039924832709791171288114017038418205860161475828420075" + "018350032935849969186406659053966070906953738160188767904665" + "775965458800193711777134469832642879262289433801611244553353" + "944708746204976340914754209924881552139592938800771117201789" + "489779370660427348098516102881545878791116097911342243355754" + "917090544202639727569528320730533184541999074934781052400619" + "419720059165214786719369625433786498160383314635420170062881" + "794717751811521767435201651117234772772707522005617774821892" + "859715834674454133710735842775791966056258388382326217896169" + "178722611886563276493428877240585975487775986923553065392993" + "790119361166900747235474636076460187244203137994413982436682" + "869879021292299617419272862589172005761250934910048254596415" + "204647792511444650073216410909934525979945569009557678868639" + "748706194885474902486360792185783420579379718883477965627347" + "911238858570642483637907235541028678701852740165393421988836" + "106194967196105506868696146801903562974942408658719504100440" + "491526647627276107051156838706340126413651723721140991645879" + "634762494921590453393721093752046579830017540801753886231271" + "904236103712933889658602815004659607887244436556448054568903" + "357595570298839671974452821298414257848395400508426432773084" + "098542002140906948541232080526852009414679887611041458317039" + "047398248889922809181821393428829567971736994315246044702729" + "0669964066815", + false, + 0xf.fffffp+124, true, + INF, true, + 0xf.fffffp+124, true, + INF, true, + false, + 0xf.ffffffffffff8p+1020, true, + INF, true, + 0xf.ffffffffffff8p+1020, true, + INF, true, + false, + 0xf.fffffffffffffffp+16380, false, + INF, true, + 0xf.fffffffffffffffp+16380, false, + INF, true, + false, + 0xf.fffffffffffffffp+16380, false, + INF, true, + 0xf.fffffffffffffffp+16380, false, + INF, true, + false, + 0xf.fffffffffffffffffffffffffcp+1020, true, + INF, true, + 0xf.fffffffffffffffffffffffffcp+1020, true, + INF, true, + false, + 0xf.fffffffffffffffffffffffffff8p+16380, false, + INF, true, + 0xf.fffffffffffffffffffffffffff8p+16380, false, + INF, true), + TEST ("-340282366920938463463374607431768211455", + false, + -INF, true, + -INF, true, + -0xf.fffffp+124, false, + -0xf.fffffp+124, false, + false, + -0x1p+128, false, + -0x1p+128, false, + -0xf.ffffffffffff8p+124, false, + -0xf.ffffffffffff8p+124, false, + false, + -0x1p+128, false, + -0x1p+128, false, + -0xf.fffffffffffffffp+124, false, + -0xf.fffffffffffffffp+124, false, + false, + -0x1p+128, false, + -0x1p+128, false, + -0xf.fffffffffffffffp+124, false, + -0xf.fffffffffffffffp+124, false, + false, + -0x1p+128, false, + -0x1p+128, false, + -0xf.fffffffffffffffffffffffffcp+124, false, + -0xf.fffffffffffffffffffffffffcp+124, false, + false, + -0x1p+128, false, + -0x1p+128, false, + -0xf.fffffffffffffffffffffffffff8p+124, false, + -0xf.fffffffffffffffffffffffffff8p+124, false), + TEST ("-17976931348623159077293051907890247336179769789423065727343" + "008115773267580550096313270847732240753602112011387987139335" + "765878976881441662249284743063947412437776789342486548527630" + "221960124609411945308295208500576883815068234246288147391311" + "054082723716335051068458629823994724593847971630483535632962" + "4224137215", + false, + -INF, true, + -INF, true, + -0xf.fffffp+124, true, + -0xf.fffffp+124, true, + false, + -INF, true, + -INF, true, + -0xf.ffffffffffff8p+1020, false, + -0xf.ffffffffffff8p+1020, false, + false, + -0x1p+1024, false, + -0x1p+1024, false, + -0xf.fffffffffffffffp+1020, false, + -0xf.fffffffffffffffp+1020, false, + false, + -0x1p+1024, false, + -0x1p+1024, false, + -0xf.fffffffffffffffp+1020, false, + -0xf.fffffffffffffffp+1020, false, + false, + -INF, true, + -INF, true, + -0xf.fffffffffffffffffffffffffcp+1020, true, + -0xf.fffffffffffffffffffffffffcp+1020, true, + false, + -0x1p+1024, false, + -0x1p+1024, false, + -0xf.fffffffffffffffffffffffffff8p+1020, false, + -0xf.fffffffffffffffffffffffffff8p+1020, false), + TEST ("-11897314953572317650857593266280071307634446870965102374726" + "748212332613581804836869044885954726120399151154374848393092" + "588976673813086874262745246983415650060808716343660048975221" + "432516195314468459523457094821358470366474648309847847142809" + "678456141384760443384048861229052868553132361586959998857901" + "063570181208153633207809643237127571642906134068752024173653" + "239502678800890675173722706108356475457557807934316222134519" + "038178596306903113438506575393606496451932831782917676589654" + "052851135561343697932817258880159084146752898325380634192348" + "885998989806231140251216744720518724393213231984029427053413" + "669512747390145938168982889944451734003646179283771380744113" + "457918485735950771704376441917438896448853776847383222406082" + "390790613994756753347397840164917426214852290148476723359778" + "971583973342263497348114416530777582509889260308947896046761" + "531042572601418068230275880034419514553277015980712815895971" + "694139656084395049831712550622820266262000480421498082000020" + "609934336812376238578806274797270728774828384387050480341646" + "333370133854059980407019086623873016050181882625737237662792" + "407989317177088079017402654079309764196488778696040175176919" + "386879880880089442512588269696883641941339457801578443649460" + "527136554549063271874285318951002786951193234968087036304361" + "939275926923448208128342973644786868620641690424585551365320" + "550505081898918668468637999176475472913715735007010151975590" + "974530400330315206835182164941956366960777481105982849013436" + "114692142741218104950779792755566451649838500620510665170846" + "473694640366405693394648371721833529568739120426400036116187" + "892781957100520945627613067035518403301106451019954351676266" + "886696277638206043424803579064153542127329467560730069070888" + "704961250500681566592527612976640654983474926617988240623122" + "104092745845655872648464176501601231758740347262619572890814" + "661976515538307444247096986347536277703562271261450525491252" + "294480401491147956813598759685128085752442718714554540848949" + "861550207948069809392156580553191656416811059664541599514769" + "085831297215032988165851420730614808880217698183384171293968" + "783714595758460525831429284472497036985481252957759209364500" + "226514272499495807082039660828475509218911521333210480119738" + "836365778255333259888521563254393350213153121340813904510212" + "553637079034959169631259242011678771901089352559145394882168" + "971179432693736086390744727927511167151271063964250813535531" + "372135528905398026029786453197951009764329390919246602288789" + "129006542101182872982987073821597171845695405154030291733072" + "924543917895686742196407614511736006177521869919133668370338" + "872015820716258682471331045133150972747134427283406066428904" + "064966361044432177528112274700291628580937277010496464995402" + "209839819327866132042542264642436896101074299231976386815458" + "375617735355689845360536272344242771057609248640237816296655" + "263149109069604880734752170051211363118704399257625086660325" + "662137504166957199196742232106067247213734712340216135407121" + "882399097019719439443474803142179038863177677799215398921773" + "343443689075503188008335468523443703270892841475016405894484" + "820012542373866800744573419109337748919596810165160691061499" + "055724258108955869388330674902049003686241663019685530056870" + "402850954504848400735286438265704037671572865123802551099545" + "188570134765881893000041388497158831398660715475748164767276" + "351164354628044011127113925291805707941934226868183532127990" + "689722476971914742681579121959737941928072988869523611008802" + "642588013209280400119281539708011307413395500032990159249782" + "599369743587262861439805201124543692711140837479190078034065" + "963213534170040688694434054721406759636409974050092258035056" + "727264650955062673392688924243645618976619068984241867704910" + "353440803992483270979117128811401703841820586016147582842007" + "501835003293584996918640665905396607090695373816018876790466" + "577596545880019371177713446983264287926228943380161124455335" + "394470874620497634091475420992488155213959293880077111720178" + "948977937066042734809851610288154587879111609791134224335575" + "491709054420263972756952832073053318454199907493478105240061" + "941972005916521478671936962543378649816038331463542017006288" + "179471775181152176743520165111723477277270752200561777482189" + "285971583467445413371073584277579196605625838838232621789616" + "917872261188656327649342887724058597548777598692355306539299" + "379011936116690074723547463607646018724420313799441398243668" + "286987902129229961741927286258917200576125093491004825459641" + "520464779251144465007321641090993452597994556900955767886863" + "974870619488547490248636079218578342057937971888347796562734" + "791123885857064248363790723554102867870185274016539342198883" + "610619496719610550686869614680190356297494240865871950410044" + "049152664762727610705115683870634012641365172372114099164587" + "963476249492159045339372109375204657983001754080175388623127" + "190423610371293388965860281500465960788724443655644805456890" + "335759557029883967197445282129841425784839540050842643277308" + "409854200214090694854123208052685200941467988761104145831703" + "904739824888992280918182139342882956797173699431524604470272" + "90669964066815", + false, + -INF, true, + -INF, true, + -0xf.fffffp+124, true, + -0xf.fffffp+124, true, + false, + -INF, true, + -INF, true, + -0xf.ffffffffffff8p+1020, true, + -0xf.ffffffffffff8p+1020, true, + false, + -INF, true, + -INF, true, + -0xf.fffffffffffffffp+16380, false, + -0xf.fffffffffffffffp+16380, false, + false, + -INF, true, + -INF, true, + -0xf.fffffffffffffffp+16380, false, + -0xf.fffffffffffffffp+16380, false, + false, + -INF, true, + -INF, true, + -0xf.fffffffffffffffffffffffffcp+1020, true, + -0xf.fffffffffffffffffffffffffcp+1020, true, + false, + -INF, true, + -INF, true, + -0xf.fffffffffffffffffffffffffff8p+16380, false, + -0xf.fffffffffffffffffffffffffff8p+16380, false), + TEST ("+0x.80000000000000000000000000000001p1025", + false, + 0xf.fffffp+124, true, + INF, true, + 0xf.fffffp+124, true, + INF, true, + false, + 0xf.ffffffffffff8p+1020, true, + INF, true, + 0xf.ffffffffffff8p+1020, true, + INF, true, + false, + 0x1p+1024, false, + 0x1p+1024, false, + 0x1p+1024, false, + 0x1.0000000000000002p+1024, false, + false, + 0x1p+1024, false, + 0x1p+1024, false, + 0x1p+1024, false, + 0x1.0000000000000002p+1024, false, + false, + 0xf.fffffffffffffffffffffffffcp+1020, true, + INF, true, + 0xf.fffffffffffffffffffffffffcp+1020, true, + INF, true, + false, + 0x1p+1024, false, + 0x1p+1024, false, + 0x1p+1024, false, + 0x1.0000000000000000000000000001p+1024, false), }; diff --git a/stdlib/tst-strtod-round-skeleton.c b/stdlib/tst-strtod-round-skeleton.c index 1b49662..95bf1ac 100644 --- a/stdlib/tst-strtod-round-skeleton.c +++ b/stdlib/tst-strtod-round-skeleton.c @@ -121,7 +121,8 @@ #define ENTRY(...) \ GEN_TEST_STRTOD_FOREACH (_ENTRY, __VA_ARGS__) -/* Selector for boolean exact tag of expected results. */ +/* Selector for boolean exact tag of expected results and that for + overflow. */ #define _XNTRY(FSUF, FTYPE, FTOSTR, LSUF, CSUF, ...) \ CHOOSE_ ## FSUF (__VA_ARGS__), #define XNTRY(...) \ @@ -136,22 +137,32 @@ /* This macro is used in conjunction with the output from the gen-tst-strtod-round utility to select the appropriately rounded long double value for a given format. */ -#define TEST(s, \ - fx, fd, fn, fz, fu, \ - dx, dd, dn, dz, du, \ - ld64ix, ld64id, ld64in, ld64iz, ld64iu, \ - ld64mx, ld64md, ld64mn, ld64mz, ld64mu, \ - ld106x, ld106d, ld106n, ld106z, ld106u, \ - ld113x, ld113d, ld113n, ld113z, ld113u) \ - { \ - L_ (s), \ - { XNTRY (fx, dx, ld64ix, ld64mx, ld106x, ld113x) }, \ - { \ - { ENTRY (fn, dn, ld64in, ld64mn, ld106n, ld113n) }, \ - { ENTRY (fd, dd, ld64id, ld64md, ld106d, ld113d) }, \ - { ENTRY (fz, dz, ld64iz, ld64mz, ld106z, ld113z) }, \ - { ENTRY (fu, du, ld64iu, ld64mu, ld106u, ld113u) } \ - } \ +#define TEST(s, \ + fx, fd, fdo, fn, fno, fz, fzo, fu, fuo, \ + dx, dd, ddo, dn, dno, dz, dzo, du, duo, \ + ld64ix, ld64id, ld64ido, ld64in, ld64ino, \ + ld64iz, ld64izo, ld64iu, ld64iuo, \ + ld64mx, ld64md, ld64mdo, ld64mn, ld64mno, \ + ld64mz, ld64mzo, ld64mu, ld64muo, \ + ld106x, ld106d, ld106do, ld106n, ld106no, \ + ld106z, ld106zo, ld106u, ld106uo, \ + ld113x, ld113d, ld113do, ld113n, ld113no, \ + ld113z, ld113zo, ld113u, ld113uo) \ + { \ + L_ (s), \ + { XNTRY (fx, dx, ld64ix, ld64mx, ld106x, ld113x) }, \ + { \ + { ENTRY (fn, dn, ld64in, ld64mn, ld106n, ld113n) }, \ + { ENTRY (fd, dd, ld64id, ld64md, ld106d, ld113d) }, \ + { ENTRY (fz, dz, ld64iz, ld64mz, ld106z, ld113z) }, \ + { ENTRY (fu, du, ld64iu, ld64mu, ld106u, ld113u) } \ + }, \ + { \ + { XNTRY (fno, dno, ld64ino, ld64mno, ld106no, ld113no) }, \ + { XNTRY (fdo, ddo, ld64ido, ld64mdo, ld106do, ld113do) }, \ + { XNTRY (fzo, dzo, ld64izo, ld64mzo, ld106zo, ld113zo) }, \ + { XNTRY (fuo, duo, ld64iuo, ld64muo, ld106uo, ld113uo) } \ + } \ } struct test_exactness @@ -164,10 +175,16 @@ struct test_results STRUCT_FOREACH_FLOAT_FTYPE }; +struct test_overflow + { + STRUCT_FOREACH_FLOAT_BOOL + }; + struct test { const CHAR *s; struct test_exactness exact; struct test_results r[4]; + struct test_overflow o[4]; }; /* Include the generated test data. */ @@ -181,9 +198,13 @@ struct test { # define FE_INEXACT 0 #endif +#ifndef FE_OVERFLOW +# define FE_OVERFLOW 0 +#endif + #define GEN_ONE_TEST(FSUF, FTYPE, FTOSTR, LSUF, CSUF) \ { \ - feclearexcept (FE_INEXACT); \ + feclearexcept (FE_ALL_EXCEPT); \ FTYPE f = STRTO (FSUF) (s, NULL); \ if (f != expected->FSUF \ || (copysign ## CSUF) (1.0 ## LSUF, f) \ @@ -200,25 +221,47 @@ struct test { else \ printf ("ignoring this inexact result\n"); \ } \ - else if (FE_INEXACT != 0) \ + else \ { \ - bool inexact_raised = fetestexcept (FE_INEXACT) != 0; \ - if (inexact_raised != !exact->FSUF) \ + if (FE_INEXACT != 0) \ + { \ + bool inexact_raised = fetestexcept (FE_INEXACT) != 0; \ + if (inexact_raised != !exact->FSUF) \ + { \ + printf (FNPFXS "to" #FSUF \ + " (" STRM ") inexact %d " \ + "not %d\n", s, inexact_raised, \ + !exact->FSUF); \ + if (EXCEPTION_TESTS (FTYPE)) \ + result = 1; \ + else \ + printf ("ignoring this exception error\n"); \ + } \ + } \ + if (FE_OVERFLOW != 0) \ { \ - printf (FNPFXS "to" #FSUF " (" STRM ") inexact %d " \ - "not %d\n", s, inexact_raised, !exact->FSUF); \ - if (EXCEPTION_TESTS (FTYPE)) \ - result = 1; \ - else \ - printf ("ignoring this exception error\n"); \ + bool overflow_raised \ + = fetestexcept (FE_OVERFLOW) != 0; \ + if (overflow_raised != overflow->FSUF) \ + { \ + printf (FNPFXS "to" #FSUF \ + " (" STRM ") overflow %d " \ + "not %d\n", s, overflow_raised, \ + overflow->FSUF); \ + if (EXCEPTION_TESTS (FTYPE)) \ + result = 1; \ + else \ + printf ("ignoring this exception error\n"); \ + } \ } \ } \ } static int test_in_one_mode (const CHAR *s, const struct test_results *expected, - const struct test_exactness *exact, const char *mode_name, - int rnd_mode) + const struct test_exactness *exact, + const struct test_overflow *overflow, + const char *mode_name, int rnd_mode) { int result = 0; GEN_TEST_STRTOD_FOREACH (GEN_ONE_TEST) @@ -252,14 +295,15 @@ do_test (void) for (size_t i = 0; i < sizeof (tests) / sizeof (tests[0]); i++) { result |= test_in_one_mode (tests[i].s, &tests[i].r[modes[0].rnd_i], - &tests[i].exact, modes[0].mode_name, - modes[0].rnd_mode); + &tests[i].exact, &tests[i].o[modes[0].rnd_i], + modes[0].mode_name, modes[0].rnd_mode); for (const struct fetestmodes *m = &modes[1]; m->mode_name != NULL; m++) { if (!fesetround (m->rnd_mode)) { result |= test_in_one_mode (tests[i].s, &tests[i].r[m->rnd_i], - &tests[i].exact, m->mode_name, + &tests[i].exact, + &tests[i].o[m->rnd_i], m->mode_name, m->rnd_mode); fesetround (save_round_mode); } |