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