| ------------------------------------------------------------------------ |
| -- exp.decTest -- decimal natural exponentiation -- |
| -- Copyright (c) IBM Corporation, 2005, 2008. All rights reserved. -- |
| ------------------------------------------------------------------------ |
| -- Please see the document "General Decimal Arithmetic Testcases" -- |
| -- at http://www2.hursley.ibm.com/decimal for the description of -- |
| -- these testcases. -- |
| -- -- |
| -- These testcases are experimental ('beta' versions), and they -- |
| -- may contain errors. They are offered on an as-is basis. In -- |
| -- particular, achieving the same results as the tests here is not -- |
| -- a guarantee that an implementation complies with any Standard -- |
| -- or specification. The tests are not exhaustive. -- |
| -- -- |
| -- Please send comments, suggestions, and corrections to the author: -- |
| -- Mike Cowlishaw, IBM Fellow -- |
| -- IBM UK, PO Box 31, Birmingham Road, Warwick CV34 5JL, UK -- |
| -- mfc@uk.ibm.com -- |
| ------------------------------------------------------------------------ |
| version: 2.59 |
| |
| -- Tests of the exponential funtion. Currently all testcases here |
| -- show results which are correctly rounded (within <= 0.5 ulp). |
| |
| extended: 1 |
| precision: 9 |
| rounding: half_even |
| maxExponent: 384 |
| minexponent: -383 |
| |
| -- basics (examples in specificiation, etc.) |
| expx001 exp -Infinity -> 0 |
| expx002 exp -10 -> 0.0000453999298 Inexact Rounded |
| expx003 exp -1 -> 0.367879441 Inexact Rounded |
| expx004 exp 0 -> 1 |
| expx005 exp -0 -> 1 |
| expx006 exp 1 -> 2.71828183 Inexact Rounded |
| expx007 exp 0.693147181 -> 2.00000000 Inexact Rounded |
| expx008 exp 10 -> 22026.4658 Inexact Rounded |
| expx009 exp +Infinity -> Infinity |
| |
| -- tiny edge cases |
| precision: 7 |
| expx011 exp 0.1 -> 1.105171 Inexact Rounded |
| expx012 exp 0.01 -> 1.010050 Inexact Rounded |
| expx013 exp 0.001 -> 1.001001 Inexact Rounded |
| expx014 exp 0.0001 -> 1.000100 Inexact Rounded |
| expx015 exp 0.00001 -> 1.000010 Inexact Rounded |
| expx016 exp 0.000001 -> 1.000001 Inexact Rounded |
| expx017 exp 0.0000001 -> 1.000000 Inexact Rounded |
| expx018 exp 0.0000003 -> 1.000000 Inexact Rounded |
| expx019 exp 0.0000004 -> 1.000000 Inexact Rounded |
| expx020 exp 0.0000005 -> 1.000001 Inexact Rounded |
| expx021 exp 0.0000008 -> 1.000001 Inexact Rounded |
| expx022 exp 0.0000009 -> 1.000001 Inexact Rounded |
| expx023 exp 0.0000010 -> 1.000001 Inexact Rounded |
| expx024 exp 0.0000011 -> 1.000001 Inexact Rounded |
| expx025 exp 0.00000009 -> 1.000000 Inexact Rounded |
| expx026 exp 0.00000005 -> 1.000000 Inexact Rounded |
| expx027 exp 0.00000004 -> 1.000000 Inexact Rounded |
| expx028 exp 0.00000001 -> 1.000000 Inexact Rounded |
| |
| -- and some more zeros |
| expx030 exp 0.00000000 -> 1 |
| expx031 exp 0E+100 -> 1 |
| expx032 exp 0E-100 -> 1 |
| expx033 exp -0.00000000 -> 1 |
| expx034 exp -0E+100 -> 1 |
| expx035 exp -0E-100 -> 1 |
| |
| -- basic e=0, e=1, e=2, e=4, e>=8 cases |
| precision: 7 |
| expx041 exp 1 -> 2.718282 Inexact Rounded |
| expx042 exp -1 -> 0.3678794 Inexact Rounded |
| expx043 exp 10 -> 22026.47 Inexact Rounded |
| expx044 exp -10 -> 0.00004539993 Inexact Rounded |
| expx045 exp 100 -> 2.688117E+43 Inexact Rounded |
| expx046 exp -100 -> 3.720076E-44 Inexact Rounded |
| expx047 exp 1000 -> Infinity Overflow Inexact Rounded |
| expx048 exp -1000 -> 0E-389 Underflow Inexact Rounded Clamped Subnormal |
| expx049 exp 100000000 -> Infinity Overflow Inexact Rounded |
| expx050 exp -100000000 -> 0E-389 Underflow Inexact Rounded Clamped Subnormal |
| |
| -- miscellanea |
| -- similar to 'VF bug' test, at 17, but with last digit corrected for decimal |
| precision: 16 |
| expx055 exp -5.42410311287441459172E+2 -> 2.717658486884572E-236 Inexact Rounded |
| -- result from NetRexx/Java prototype -> 2.7176584868845721117677929628617246054459644711108E-236 |
| -- result from Rexx (series) version -> 2.717658486884572111767792962861724605446E-236 |
| precision: 17 |
| expx056 exp -5.42410311287441459172E+2 -> 2.7176584868845721E-236 Inexact Rounded |
| precision: 18 |
| expx057 exp -5.42410311287441459172E+2 -> 2.71765848688457211E-236 Inexact Rounded |
| precision: 19 |
| expx058 exp -5.42410311287441459172E+2 -> 2.717658486884572112E-236 Inexact Rounded |
| precision: 20 |
| expx059 exp -5.42410311287441459172E+2 -> 2.7176584868845721118E-236 Inexact Rounded |
| |
| -- rounding in areas of ..500.., ..499.., ..100.., ..999.. sequences |
| precision: 50 |
| expx101 exp -9E-8 -> 0.99999991000000404999987850000273374995079250073811 Inexact Rounded |
| precision: 31 |
| expx102 exp -9E-8 -> 0.9999999100000040499998785000027 Inexact Rounded |
| precision: 30 |
| expx103 exp -9E-8 -> 0.999999910000004049999878500003 Inexact Rounded |
| precision: 29 |
| expx104 exp -9E-8 -> 0.99999991000000404999987850000 Inexact Rounded |
| precision: 28 |
| expx105 exp -9E-8 -> 0.9999999100000040499998785000 Inexact Rounded |
| precision: 27 |
| expx106 exp -9E-8 -> 0.999999910000004049999878500 Inexact Rounded |
| precision: 26 |
| expx107 exp -9E-8 -> 0.99999991000000404999987850 Inexact Rounded |
| precision: 25 |
| expx108 exp -9E-8 -> 0.9999999100000040499998785 Inexact Rounded |
| precision: 24 |
| expx109 exp -9E-8 -> 0.999999910000004049999879 Inexact Rounded |
| precision: 23 |
| expx110 exp -9E-8 -> 0.99999991000000404999988 Inexact Rounded |
| precision: 22 |
| expx111 exp -9E-8 -> 0.9999999100000040499999 Inexact Rounded |
| precision: 21 |
| expx112 exp -9E-8 -> 0.999999910000004050000 Inexact Rounded |
| precision: 20 |
| expx113 exp -9E-8 -> 0.99999991000000405000 Inexact Rounded |
| precision: 19 |
| expx114 exp -9E-8 -> 0.9999999100000040500 Inexact Rounded |
| precision: 18 |
| expx115 exp -9E-8 -> 0.999999910000004050 Inexact Rounded |
| precision: 17 |
| expx116 exp -9E-8 -> 0.99999991000000405 Inexact Rounded |
| precision: 16 |
| expx117 exp -9E-8 -> 0.9999999100000040 Inexact Rounded |
| precision: 15 |
| expx118 exp -9E-8 -> 0.999999910000004 Inexact Rounded |
| precision: 14 |
| expx119 exp -9E-8 -> 0.99999991000000 Inexact Rounded |
| precision: 13 |
| expx120 exp -9E-8 -> 0.9999999100000 Inexact Rounded |
| precision: 12 |
| expx121 exp -9E-8 -> 0.999999910000 Inexact Rounded |
| precision: 11 |
| expx122 exp -9E-8 -> 0.99999991000 Inexact Rounded |
| precision: 10 |
| expx123 exp -9E-8 -> 0.9999999100 Inexact Rounded |
| precision: 9 |
| expx124 exp -9E-8 -> 0.999999910 Inexact Rounded |
| precision: 8 |
| expx125 exp -9E-8 -> 0.99999991 Inexact Rounded |
| precision: 7 |
| expx126 exp -9E-8 -> 0.9999999 Inexact Rounded |
| precision: 6 |
| expx127 exp -9E-8 -> 1.00000 Inexact Rounded |
| precision: 5 |
| expx128 exp -9E-8 -> 1.0000 Inexact Rounded |
| precision: 4 |
| expx129 exp -9E-8 -> 1.000 Inexact Rounded |
| precision: 3 |
| expx130 exp -9E-8 -> 1.00 Inexact Rounded |
| precision: 2 |
| expx131 exp -9E-8 -> 1.0 Inexact Rounded |
| precision: 1 |
| expx132 exp -9E-8 -> 1 Inexact Rounded |
| |
| |
| -- sanity checks, with iteration counts [normalized so 0<=|x|<1] |
| precision: 50 |
| |
| expx210 exp 0 -> 1 |
| -- iterations: 2 |
| expx211 exp -1E-40 -> 0.99999999999999999999999999999999999999990000000000 Inexact Rounded |
| -- iterations: 8 |
| expx212 exp -9E-7 -> 0.99999910000040499987850002733749507925073811240510 Inexact Rounded |
| -- iterations: 6 |
| expx213 exp -9E-8 -> 0.99999991000000404999987850000273374995079250073811 Inexact Rounded |
| -- iterations: 15 |
| expx214 exp -0.003 -> 0.99700449550337297601206623409756091074177480489845 Inexact Rounded |
| -- iterations: 14 |
| expx215 exp -0.001 -> 0.99900049983337499166805535716765597470235590236008 Inexact Rounded |
| -- iterations: 26 |
| expx216 exp -0.1 -> 0.90483741803595957316424905944643662119470536098040 Inexact Rounded |
| -- iterations: 39 |
| expx217 exp -0.7 -> 0.49658530379140951470480009339752896170766716571182 Inexact Rounded |
| -- iterations: 41 |
| expx218 exp -0.9 -> 0.40656965974059911188345423964562598783370337617038 Inexact Rounded |
| -- iterations: 43 |
| expx219 exp -0.99 -> 0.37157669102204569053152411990820138691802885490501 Inexact Rounded |
| -- iterations: 26 |
| expx220 exp -1 -> 0.36787944117144232159552377016146086744581113103177 Inexact Rounded |
| -- iterations: 26 |
| expx221 exp -1.01 -> 0.36421897957152331975704629563734548959589139192482 Inexact Rounded |
| -- iterations: 27 |
| expx222 exp -1.1 -> 0.33287108369807955328884690643131552161247952156921 Inexact Rounded |
| -- iterations: 28 |
| expx223 exp -1.5 -> 0.22313016014842982893328047076401252134217162936108 Inexact Rounded |
| -- iterations: 30 |
| expx224 exp -2 -> 0.13533528323661269189399949497248440340763154590958 Inexact Rounded |
| -- iterations: 36 |
| expx225 exp -5 -> 0.0067379469990854670966360484231484242488495850273551 Inexact Rounded |
| -- iterations: 26 |
| expx226 exp -10 -> 0.000045399929762484851535591515560550610237918088866565 Inexact Rounded |
| -- iterations: 28 |
| expx227 exp -14 -> 8.3152871910356788406398514256526229460765836498457E-7 Inexact Rounded |
| -- iterations: 29 |
| expx228 exp -15 -> 3.0590232050182578837147949770228963937082078081856E-7 Inexact Rounded |
| -- iterations: 30 |
| expx233 exp 0 -> 1 |
| -- iterations: 2 |
| expx234 exp 1E-40 -> 1.0000000000000000000000000000000000000001000000000 Inexact Rounded |
| -- iterations: 7 |
| expx235 exp 9E-7 -> 1.0000009000004050001215000273375049207507381125949 Inexact Rounded |
| -- iterations: 6 |
| expx236 exp 9E-8 -> 1.0000000900000040500001215000027337500492075007381 Inexact Rounded |
| -- iterations: 15 |
| expx237 exp 0.003 -> 1.0030045045033770260129340913489002053318727195619 Inexact Rounded |
| -- iterations: 13 |
| expx238 exp 0.001 -> 1.0010005001667083416680557539930583115630762005807 Inexact Rounded |
| -- iterations: 25 |
| expx239 exp 0.1 -> 1.1051709180756476248117078264902466682245471947375 Inexact Rounded |
| -- iterations: 38 |
| expx240 exp 0.7 -> 2.0137527074704765216245493885830652700175423941459 Inexact Rounded |
| -- iterations: 41 |
| expx241 exp 0.9 -> 2.4596031111569496638001265636024706954217723064401 Inexact Rounded |
| -- iterations: 42 |
| expx242 exp 0.99 -> 2.6912344723492622890998794040710139721802931841030 Inexact Rounded |
| -- iterations: 26 |
| expx243 exp 1 -> 2.7182818284590452353602874713526624977572470937000 Inexact Rounded |
| -- iterations: 26 |
| expx244 exp 1.01 -> 2.7456010150169164939897763166603876240737508195960 Inexact Rounded |
| -- iterations: 26 |
| expx245 exp 1.1 -> 3.0041660239464331120584079535886723932826810260163 Inexact Rounded |
| -- iterations: 28 |
| expx246 exp 1.5 -> 4.4816890703380648226020554601192758190057498683697 Inexact Rounded |
| -- iterations: 29 |
| expx247 exp 2 -> 7.3890560989306502272304274605750078131803155705518 Inexact Rounded |
| -- iterations: 36 |
| expx248 exp 5 -> 148.41315910257660342111558004055227962348766759388 Inexact Rounded |
| -- iterations: 26 |
| expx249 exp 10 -> 22026.465794806716516957900645284244366353512618557 Inexact Rounded |
| -- iterations: 28 |
| expx250 exp 14 -> 1202604.2841647767777492367707678594494124865433761 Inexact Rounded |
| -- iterations: 28 |
| expx251 exp 15 -> 3269017.3724721106393018550460917213155057385438200 Inexact Rounded |
| -- iterations: 29 |
| |
| -- a biggie [result verified 3 ways] |
| precision: 250 |
| expx260 exp 1 -> 2.718281828459045235360287471352662497757247093699959574966967627724076630353547594571382178525166427427466391932003059921817413596629043572900334295260595630738132328627943490763233829880753195251019011573834187930702154089149934884167509244761460668 Inexact Rounded |
| |
| -- extreme range boundaries |
| precision: 16 |
| maxExponent: 999999 |
| minExponent: -999999 |
| -- Ntiny boundary |
| expx290 exp -2302618.022332529 -> 0E-1000014 Underflow Subnormal Inexact Rounded Clamped |
| expx291 exp -2302618.022332528 -> 1E-1000014 Underflow Subnormal Inexact Rounded |
| -- Nmax/10 and Nmax boundary |
| expx292 exp 2302582.790408952 -> 9.999999993100277E+999998 Inexact Rounded |
| expx293 exp 2302582.790408953 -> 1.000000000310028E+999999 Inexact Rounded |
| expx294 exp 2302585.092993946 -> 9.999999003159870E+999999 Inexact Rounded |
| expx295 exp 2302585.092994036 -> 9.999999903159821E+999999 Inexact Rounded |
| expx296 exp 2302585.092994045 -> 9.999999993159820E+999999 Inexact Rounded |
| expx297 exp 2302585.092994046 -> Infinity Overflow Inexact Rounded |
| |
| -- 0<-x<<1 effects |
| precision: 30 |
| expx320 exp -4.9999999999999E-8 -> 0.999999950000001250000979166617 Inexact Rounded |
| expx321 exp -5.0000000000000E-8 -> 0.999999950000001249999979166667 Inexact Rounded |
| expx322 exp -5.0000000000001E-8 -> 0.999999950000001249998979166717 Inexact Rounded |
| precision: 20 |
| expx323 exp -4.9999999999999E-8 -> 0.99999995000000125000 Inexact Rounded |
| expx324 exp -5.0000000000000E-8 -> 0.99999995000000125000 Inexact Rounded |
| expx325 exp -5.0000000000001E-8 -> 0.99999995000000125000 Inexact Rounded |
| precision: 14 |
| expx326 exp -4.9999999999999E-8 -> 0.99999995000000 Inexact Rounded |
| expx327 exp -5.0000000000000E-8 -> 0.99999995000000 Inexact Rounded |
| expx328 exp -5.0000000000001E-8 -> 0.99999995000000 Inexact Rounded |
| -- overprecise and 0<-x<<1 |
| precision: 8 |
| expx330 exp -4.9999999999999E-8 -> 0.99999995 Inexact Rounded |
| expx331 exp -5.0000000000000E-8 -> 0.99999995 Inexact Rounded |
| expx332 exp -5.0000000000001E-8 -> 0.99999995 Inexact Rounded |
| precision: 7 |
| expx333 exp -4.9999999999999E-8 -> 1.000000 Inexact Rounded |
| expx334 exp -5.0000000000000E-8 -> 1.000000 Inexact Rounded |
| expx335 exp -5.0000000000001E-8 -> 1.000000 Inexact Rounded |
| precision: 3 |
| expx336 exp -4.9999999999999E-8 -> 1.00 Inexact Rounded |
| expx337 exp -5.0000000000000E-8 -> 1.00 Inexact Rounded |
| expx338 exp -5.0000000000001E-8 -> 1.00 Inexact Rounded |
| |
| -- 0<x<<1 effects |
| precision: 30 |
| expx340 exp 4.9999999999999E-8 -> 1.00000005000000124999902083328 Inexact Rounded |
| expx341 exp 5.0000000000000E-8 -> 1.00000005000000125000002083333 Inexact Rounded |
| expx342 exp 5.0000000000001E-8 -> 1.00000005000000125000102083338 Inexact Rounded |
| precision: 20 |
| expx343 exp 4.9999999999999E-8 -> 1.0000000500000012500 Inexact Rounded |
| expx344 exp 5.0000000000000E-8 -> 1.0000000500000012500 Inexact Rounded |
| expx345 exp 5.0000000000001E-8 -> 1.0000000500000012500 Inexact Rounded |
| precision: 14 |
| expx346 exp 4.9999999999999E-8 -> 1.0000000500000 Inexact Rounded |
| expx347 exp 5.0000000000000E-8 -> 1.0000000500000 Inexact Rounded |
| expx348 exp 5.0000000000001E-8 -> 1.0000000500000 Inexact Rounded |
| -- overprecise and 0<x<<1 |
| precision: 8 |
| expx350 exp 4.9999999999999E-8 -> 1.0000001 Inexact Rounded |
| expx351 exp 5.0000000000000E-8 -> 1.0000001 Inexact Rounded |
| expx352 exp 5.0000000000001E-8 -> 1.0000001 Inexact Rounded |
| precision: 7 |
| expx353 exp 4.9999999999999E-8 -> 1.000000 Inexact Rounded |
| expx354 exp 5.0000000000000E-8 -> 1.000000 Inexact Rounded |
| expx355 exp 5.0000000000001E-8 -> 1.000000 Inexact Rounded |
| precision: 3 |
| expx356 exp 4.9999999999999E-8 -> 1.00 Inexact Rounded |
| expx357 exp 5.0000000000000E-8 -> 1.00 Inexact Rounded |
| expx358 exp 5.0000000000001E-8 -> 1.00 Inexact Rounded |
| |
| -- cases near 1 -- 1 2345678901234567890 |
| precision: 20 |
| expx401 exp 0.99999999999996 -> 2.7182818284589365041 Inexact Rounded |
| expx402 exp 0.99999999999997 -> 2.7182818284589636869 Inexact Rounded |
| expx403 exp 0.99999999999998 -> 2.7182818284589908697 Inexact Rounded |
| expx404 exp 0.99999999999999 -> 2.7182818284590180525 Inexact Rounded |
| expx405 exp 1.0000000000000 -> 2.7182818284590452354 Inexact Rounded |
| expx406 exp 1.0000000000001 -> 2.7182818284593170635 Inexact Rounded |
| expx407 exp 1.0000000000002 -> 2.7182818284595888917 Inexact Rounded |
| precision: 14 |
| expx411 exp 0.99999999999996 -> 2.7182818284589 Inexact Rounded |
| expx412 exp 0.99999999999997 -> 2.7182818284590 Inexact Rounded |
| expx413 exp 0.99999999999998 -> 2.7182818284590 Inexact Rounded |
| expx414 exp 0.99999999999999 -> 2.7182818284590 Inexact Rounded |
| expx415 exp 1.0000000000000 -> 2.7182818284590 Inexact Rounded |
| expx416 exp 1.0000000000001 -> 2.7182818284593 Inexact Rounded |
| expx417 exp 1.0000000000002 -> 2.7182818284596 Inexact Rounded |
| -- overprecise... |
| precision: 7 |
| expx421 exp 0.99999999999996 -> 2.718282 Inexact Rounded |
| expx422 exp 0.99999999999997 -> 2.718282 Inexact Rounded |
| expx423 exp 0.99999999999998 -> 2.718282 Inexact Rounded |
| expx424 exp 0.99999999999999 -> 2.718282 Inexact Rounded |
| expx425 exp 1.0000000000001 -> 2.718282 Inexact Rounded |
| expx426 exp 1.0000000000002 -> 2.718282 Inexact Rounded |
| expx427 exp 1.0000000000003 -> 2.718282 Inexact Rounded |
| precision: 2 |
| expx431 exp 0.99999999999996 -> 2.7 Inexact Rounded |
| expx432 exp 0.99999999999997 -> 2.7 Inexact Rounded |
| expx433 exp 0.99999999999998 -> 2.7 Inexact Rounded |
| expx434 exp 0.99999999999999 -> 2.7 Inexact Rounded |
| expx435 exp 1.0000000000001 -> 2.7 Inexact Rounded |
| expx436 exp 1.0000000000002 -> 2.7 Inexact Rounded |
| expx437 exp 1.0000000000003 -> 2.7 Inexact Rounded |
| |
| -- basics at low precisions |
| precision: 3 |
| expx501 exp -Infinity -> 0 |
| expx502 exp -10 -> 0.0000454 Inexact Rounded |
| expx503 exp -1 -> 0.368 Inexact Rounded |
| expx504 exp 0 -> 1 |
| expx505 exp -0 -> 1 |
| expx506 exp 1 -> 2.72 Inexact Rounded |
| expx507 exp 0.693147181 -> 2.00 Inexact Rounded |
| expx508 exp 10 -> 2.20E+4 Inexact Rounded |
| expx509 exp +Infinity -> Infinity |
| precision: 2 |
| expx511 exp -Infinity -> 0 |
| expx512 exp -10 -> 0.000045 Inexact Rounded |
| expx513 exp -1 -> 0.37 Inexact Rounded |
| expx514 exp 0 -> 1 |
| expx515 exp -0 -> 1 |
| expx516 exp 1 -> 2.7 Inexact Rounded |
| expx517 exp 0.693147181 -> 2.0 Inexact Rounded |
| expx518 exp 10 -> 2.2E+4 Inexact Rounded |
| expx519 exp +Infinity -> Infinity |
| precision: 1 |
| expx521 exp -Infinity -> 0 |
| expx522 exp -10 -> 0.00005 Inexact Rounded |
| expx523 exp -1 -> 0.4 Inexact Rounded |
| expx524 exp 0 -> 1 |
| expx525 exp -0 -> 1 |
| expx526 exp 1 -> 3 Inexact Rounded |
| expx527 exp 0.693147181 -> 2 Inexact Rounded |
| expx528 exp 10 -> 2E+4 Inexact Rounded |
| expx529 exp +Infinity -> Infinity |
| |
| -- overflows, including some overprecise borderlines |
| precision: 7 |
| maxExponent: 384 |
| minExponent: -383 |
| expx701 exp 1000000000 -> Infinity Overflow Inexact Rounded |
| expx702 exp 100000000 -> Infinity Overflow Inexact Rounded |
| expx703 exp 10000000 -> Infinity Overflow Inexact Rounded |
| expx704 exp 1000000 -> Infinity Overflow Inexact Rounded |
| expx705 exp 100000 -> Infinity Overflow Inexact Rounded |
| expx706 exp 10000 -> Infinity Overflow Inexact Rounded |
| expx707 exp 1000 -> Infinity Overflow Inexact Rounded |
| expx708 exp 886.4952608 -> Infinity Overflow Inexact Rounded |
| expx709 exp 886.4952607 -> 9.999999E+384 Inexact Rounded |
| expx710 exp 886.49527 -> Infinity Overflow Inexact Rounded |
| expx711 exp 886.49526 -> 9.999992E+384 Inexact Rounded |
| precision: 16 |
| expx721 exp 886.4952608027075883 -> Infinity Overflow Inexact Rounded |
| expx722 exp 886.4952608027075882 -> 9.999999999999999E+384 Inexact Rounded |
| expx723 exp 886.49526080270759 -> Infinity Overflow Inexact Rounded |
| expx724 exp 886.49526080270758 -> 9.999999999999917E+384 Inexact Rounded |
| expx725 exp 886.4952608027076 -> Infinity Overflow Inexact Rounded |
| expx726 exp 886.4952608027075 -> 9.999999999999117E+384 Inexact Rounded |
| -- and by special request ... |
| precision: 15 |
| expx731 exp 886.495260802708 -> Infinity Overflow Inexact Rounded |
| expx732 exp 886.495260802707 -> 9.99999999999412E+384 Inexact Rounded |
| expx733 exp 886.495260802706 -> 9.99999999998412E+384 Inexact Rounded |
| maxExponent: 999 |
| minExponent: -999 |
| expx735 exp 2302.58509299405 -> Infinity Overflow Inexact Rounded |
| expx736 exp 2302.58509299404 -> 9.99999999994316E+999 Inexact Rounded |
| expx737 exp 2302.58509299403 -> 9.99999999984316E+999 Inexact Rounded |
| |
| -- subnormals and underflows, including underflow-to-zero edge point |
| precision: 7 |
| maxExponent: 384 |
| minExponent: -383 |
| expx751 exp -1000000000 -> 0E-389 Underflow Inexact Rounded Clamped Subnormal |
| expx752 exp -100000000 -> 0E-389 Underflow Inexact Rounded Clamped Subnormal |
| expx753 exp -10000000 -> 0E-389 Underflow Inexact Rounded Clamped Subnormal |
| expx754 exp -1000000 -> 0E-389 Underflow Inexact Rounded Clamped Subnormal |
| expx755 exp -100000 -> 0E-389 Underflow Inexact Rounded Clamped Subnormal |
| expx756 exp -10000 -> 0E-389 Underflow Inexact Rounded Clamped Subnormal |
| expx757 exp -1000 -> 0E-389 Underflow Inexact Rounded Clamped Subnormal |
| expx758 exp -881.89009 -> 1.000001E-383 Inexact Rounded |
| expx759 exp -881.8901 -> 9.99991E-384 Inexact Rounded Underflow Subnormal |
| expx760 exp -885 -> 4.4605E-385 Inexact Rounded Underflow Subnormal |
| expx761 exp -888 -> 2.221E-386 Inexact Rounded Underflow Subnormal |
| expx762 exp -890 -> 3.01E-387 Inexact Rounded Underflow Subnormal |
| expx763 exp -892.9 -> 1.7E-388 Inexact Rounded Underflow Subnormal |
| expx764 exp -893 -> 1.5E-388 Inexact Rounded Underflow Subnormal |
| expx765 exp -893.5 -> 9E-389 Inexact Rounded Underflow Subnormal |
| expx766 exp -895.7056 -> 1E-389 Inexact Rounded Underflow Subnormal |
| expx769 exp -895.8 -> 1E-389 Inexact Rounded Underflow Subnormal |
| expx770 exp -895.73 -> 1E-389 Inexact Rounded Underflow Subnormal |
| expx771 exp -896.3987 -> 1E-389 Inexact Rounded Underflow Subnormal |
| expx772 exp -896.3988 -> 0E-389 Inexact Rounded Underflow Subnormal Clamped |
| expx773 exp -898.0081 -> 0E-389 Inexact Rounded Underflow Subnormal Clamped |
| expx774 exp -898.0082 -> 0E-389 Inexact Rounded Underflow Subnormal Clamped |
| |
| -- special values |
| maxexponent: 999 |
| minexponent: -999 |
| expx820 exp Inf -> Infinity |
| expx821 exp -Inf -> 0 |
| expx822 exp NaN -> NaN |
| expx823 exp sNaN -> NaN Invalid_operation |
| -- propagating NaNs |
| expx824 exp sNaN123 -> NaN123 Invalid_operation |
| expx825 exp -sNaN321 -> -NaN321 Invalid_operation |
| expx826 exp NaN456 -> NaN456 |
| expx827 exp -NaN654 -> -NaN654 |
| expx828 exp NaN1 -> NaN1 |
| |
| -- Invalid operations due to restrictions |
| -- [next two probably skipped by most test harnesses] |
| precision: 100000000 |
| expx901 exp -Infinity -> NaN Invalid_context |
| precision: 99999999 |
| expx902 exp -Infinity -> NaN Invalid_context |
| |
| precision: 9 |
| maxExponent: 1000000 |
| minExponent: -999999 |
| expx903 exp -Infinity -> NaN Invalid_context |
| maxExponent: 999999 |
| minExponent: -999999 |
| expx904 exp -Infinity -> 0 |
| maxExponent: 999999 |
| minExponent: -1000000 |
| expx905 exp -Infinity -> NaN Invalid_context |
| maxExponent: 999999 |
| minExponent: -999998 |
| expx906 exp -Infinity -> 0 |
| |
| -- |
| maxExponent: 384 |
| minExponent: -383 |
| precision: 16 |
| rounding: half_even |
| |
| -- Null test |
| expx900 exp # -> NaN Invalid_operation |
| |
| |
| -- Randoms P=50, within 0-999 |
| Precision: 50 |
| maxExponent: 384 |
| minExponent: -383 |
| expx1501 exp 656.35397950590285612266095596539934213943872885728 -> 1.1243757610640319783611178528839652672062820040314E+285 Inexact Rounded |
| expx1502 exp 0.93620571093652800225038550600780322831236082781471 -> 2.5502865130986176689199711857825771311178046842009 Inexact Rounded |
| expx1503 exp 0.00000000000000008340785856601514714183373874105791 -> 1.0000000000000000834078585660151506202691740252512 Inexact Rounded |
| expx1504 exp 0.00009174057262887789625745574686545163168788456203 -> 1.0000917447809239005146722341251524081006051473273 Inexact Rounded |
| expx1505 exp 33.909116897973797735657751591014926629051117541243 -> 532773181025002.03543618901306726495870476617232229 Inexact Rounded |
| expx1506 exp 0.00000740470413004406592124575295278456936809587311 -> 1.0000074047315449333590066395670306135567889210814 Inexact Rounded |
| expx1507 exp 0.00000000000124854922222108802453746922483071445492 -> 1.0000000000012485492222218674621176239911424968263 Inexact Rounded |
| expx1508 exp 4.1793280674155659794286951159430651258356014391382 -> 65.321946520147199404199787811336860087975118278185 Inexact Rounded |
| expx1509 exp 485.43595745460655893746179890255529919221550201686 -> 6.6398403920459617255950476953129377459845366585463E+210 Inexact Rounded |
| expx1510 exp 0.00000000003547259806590856032527875157830328156597 -> 1.0000000000354725980665377129320589406715000685515 Inexact Rounded |
| expx1511 exp 0.00000000000000759621497339104047930616478635042678 -> 1.0000000000000075962149733910693305471257715463887 Inexact Rounded |
| expx1512 exp 9.7959168821760339304571595474480640286072720233796 -> 17960.261146042955179164303653412650751681436352437 Inexact Rounded |
| expx1513 exp 0.00000000566642006258290526783901451194943164535581 -> 1.0000000056664200786370634609832438815665249347650 Inexact Rounded |
| expx1514 exp 741.29888791134298194088827572374718940925820027354 -> 8.7501694006317332808128946666402622432064923198731E+321 Inexact Rounded |
| expx1515 exp 032.75573003552517668808529099897153710887014947935 -> 168125196578678.17725841108617955904425345631092339 Inexact Rounded |
| expx1516 exp 42.333700726429333308594265553422902463737399437644 -> 2428245675864172475.4681119493045657797309369672012 Inexact Rounded |
| expx1517 exp 0.00000000000000559682616876491888197609158802835798 -> 1.0000000000000055968261687649345442076732739577049 Inexact Rounded |
| expx1518 exp 0.00000000000080703688668280193584758300973549486312 -> 1.0000000000008070368866831275901158164321867914342 Inexact Rounded |
| expx1519 exp 640.72396012796509482382712891709072570653606838251 -> 1.8318094990683394229304133068983914236995326891045E+278 Inexact Rounded |
| expx1520 exp 0.00000000000000509458922167631071416948112219512224 -> 1.0000000000000050945892216763236915891499324358556 Inexact Rounded |
| expx1521 exp 6.7670394314315206378625221583973414660727960241395 -> 868.73613012822031367806248697092884415119568271315 Inexact Rounded |
| expx1522 exp 04.823217407412963506638267226891024138054783122548 -> 124.36457929588837129731821077586705505565904205366 Inexact Rounded |
| expx1523 exp 193.51307878701196403991208482520115359690106143615 -> 1.1006830872854715677390914655452261550768957576034E+84 Inexact Rounded |
| expx1524 exp 5.7307749038303650539200345901210497015617393970463 -> 308.20800743106843083522721523715645950574866495196 Inexact Rounded |
| expx1525 exp 0.00000000000095217825199797965200541169123743500267 -> 1.0000000000009521782519984329737172007991390381273 Inexact Rounded |
| expx1526 exp 0.00027131440949183370966393682617930153495028919140 -> 1.0002713512185751022906058160480606598754913607364 Inexact Rounded |
| expx1527 exp 0.00000000064503059114680682343002315662069272707123 -> 1.0000000006450305913548390552323517403613135496633 Inexact Rounded |
| expx1528 exp 0.00000000000000095616643506527288866235238548440593 -> 1.0000000000000009561664350652733457894781582009094 Inexact Rounded |
| expx1529 exp 0.00000000000000086449942811678650244459550252743433 -> 1.0000000000000008644994281167868761242261096529986 Inexact Rounded |
| expx1530 exp 0.06223488355635359965683053157729204988381887621850 -> 1.0642122813392406657789688931838919323826250630831 Inexact Rounded |
| expx1531 exp 0.00000400710807804429435502657131912308680674057053 -> 1.0000040071161065125925620890019319832127863559260 Inexact Rounded |
| expx1532 exp 85.522796894744576211573232055494551429297878413017 -> 13870073686404228452757799770251085177.853337368935 Inexact Rounded |
| expx1533 exp 9.1496720811363678696938036379756663548353399954363 -> 9411.3537122832743386783597629161763057370034495157 Inexact Rounded |
| expx1534 exp 8.2215705240788294472944382056330516738577785177942 -> 3720.3406813383076953899654701615084425598377758189 Inexact Rounded |
| expx1535 exp 0.00000000015772064569640613142823203726821076239561 -> 1.0000000001577206457088440324683315788358926129830 Inexact Rounded |
| expx1536 exp 0.58179346473959531432624153576883440625538017532480 -> 1.7892445018275360163797022372655837188423194863605 Inexact Rounded |
| expx1537 exp 33.555726197149525061455517784870570470833498096559 -> 374168069896324.62578073148993526626307095854407952 Inexact Rounded |
| expx1538 exp 9.7898079803906215094140010009583375537259810398659 -> 17850.878119912208888217100998019986634620368538426 Inexact Rounded |
| expx1539 exp 89.157697327174521542502447953032536541038636966347 -> 525649152320166503771224149330448089550.67293829227 Inexact Rounded |
| expx1540 exp 25.022947600123328912029051897171319573322888514885 -> 73676343442.952517824345431437683153304645851960524 Inexact Rounded |
| |
| -- exp(1) at 34 |
| Precision: 34 |
| expx1200 exp 1 -> 2.718281828459045235360287471352662 Inexact Rounded |
| |
| -- Randoms P=34, within 0-999 |
| Precision: 34 |
| maxExponent: 6144 |
| minExponent: -6143 |
| expx1201 exp 309.5948855821510212996700645087188 -> 2.853319692901387521201738015050724E+134 Inexact Rounded |
| expx1202 exp 9.936543068706211420422803962680164 -> 20672.15839203171877476511093276022 Inexact Rounded |
| expx1203 exp 6.307870323881505684429839491707908 -> 548.8747777054637296137277391754665 Inexact Rounded |
| expx1204 exp 0.0003543281389438420535201308282503 -> 1.000354390920573746164733350843155 Inexact Rounded |
| expx1205 exp 0.0000037087453363918375598394920229 -> 1.000003708752213796324841920189323 Inexact Rounded |
| expx1206 exp 0.0020432312687512438040222444116585 -> 1.002045320088164826013561630975308 Inexact Rounded |
| expx1207 exp 6.856313340032177672550343216129586 -> 949.8587981604144147983589660524396 Inexact Rounded |
| expx1208 exp 0.0000000000402094928333815643326418 -> 1.000000000040209492834189965989612 Inexact Rounded |
| expx1209 exp 0.0049610784722412117632647003545839 -> 1.004973404997901987039589029277833 Inexact Rounded |
| expx1210 exp 0.0000891471883724066909746786702686 -> 1.000089151162101085412780088266699 Inexact Rounded |
| expx1211 exp 08.59979170376061890684723211112566 -> 5430.528314920905714615339273738097 Inexact Rounded |
| expx1212 exp 9.473117039341003854872778112752590 -> 13005.36234331224953460055897913917 Inexact Rounded |
| expx1213 exp 0.0999060724692207648429969999310118 -> 1.105067116975190602296052700726802 Inexact Rounded |
| expx1214 exp 0.0000000927804533555877884082269247 -> 1.000000092780457659694183954740772 Inexact Rounded |
| expx1215 exp 0.0376578583872889916298772818265677 -> 1.038375900489771946477857818447556 Inexact Rounded |
| expx1216 exp 261.6896411697539524911536116712307 -> 4.470613562127465095241600174941460E+113 Inexact Rounded |
| expx1217 exp 0.0709997423269162980875824213889626 -> 1.073580949235407949417814485533172 Inexact Rounded |
| expx1218 exp 0.0000000444605583295169895235658731 -> 1.000000044460559317887627657593900 Inexact Rounded |
| expx1219 exp 0.0000021224072854777512281369815185 -> 1.000002122409537785687390631070906 Inexact Rounded |
| expx1220 exp 547.5174462574156885473558485475052 -> 6.078629247383807942612114579728672E+237 Inexact Rounded |
| expx1221 exp 0.0000009067598041615192002339844670 -> 1.000000906760215268314680115374387 Inexact Rounded |
| expx1222 exp 0.0316476500308065365803455533244603 -> 1.032153761880187977658387961769034 Inexact Rounded |
| expx1223 exp 84.46160530377645101833996706384473 -> 4.799644995897968383503269871697856E+36 Inexact Rounded |
| expx1224 exp 0.0000000000520599740290848018904145 -> 1.000000000052059974030439922338393 Inexact Rounded |
| expx1225 exp 0.0000006748530640093620665651726708 -> 1.000000674853291722742292331812997 Inexact Rounded |
| expx1226 exp 0.0000000116853119761042020507916169 -> 1.000000011685312044377460306165203 Inexact Rounded |
| expx1227 exp 0.0022593818094258636727616886693280 -> 1.002261936135876893707094845543461 Inexact Rounded |
| expx1228 exp 0.0029398857673478912249856509667517 -> 1.002944211469495086813087651287012 Inexact Rounded |
| expx1229 exp 0.7511480029928802775376270557636963 -> 2.119431734510320169806976569366789 Inexact Rounded |
| expx1230 exp 174.9431952176750671150886423048447 -> 9.481222305374955011464619468044051E+75 Inexact Rounded |
| expx1231 exp 0.0000810612451694136129199895164424 -> 1.000081064530720924186615149646920 Inexact Rounded |
| expx1232 exp 51.06888989702669288180946272499035 -> 15098613888619165073959.89896018749 Inexact Rounded |
| expx1233 exp 0.0000000005992887599437093651494510 -> 1.000000000599288760123282874082758 Inexact Rounded |
| expx1234 exp 714.8549046761054856311108828903972 -> 2.867744544891081117381595080480784E+310 Inexact Rounded |
| expx1235 exp 0.0000000004468247802990643645607110 -> 1.000000000446824780398890556720233 Inexact Rounded |
| expx1236 exp 831.5818151589890366323551672043709 -> 1.417077409182624969435938062261655E+361 Inexact Rounded |
| expx1237 exp 0.0000000006868323825179605747108044 -> 1.000000000686832382753829935602454 Inexact Rounded |
| expx1238 exp 0.0000001306740266408976840228440255 -> 1.000000130674035178748675187648098 Inexact Rounded |
| expx1239 exp 0.3182210609022267704811502412335163 -> 1.374680115667798185758927247894859 Inexact Rounded |
| expx1240 exp 0.0147741234179104437440264644295501 -> 1.014883800239950682628277534839222 Inexact Rounded |
| |
| -- Randoms P=16, within 0-99 |
| Precision: 16 |
| maxExponent: 384 |
| minExponent: -383 |
| expx1101 exp 8.473011527013724 -> 4783.900643969246 Inexact Rounded |
| expx1102 exp 0.0000055753022764 -> 1.000005575317818 Inexact Rounded |
| expx1103 exp 0.0000323474114482 -> 1.000032347934631 Inexact Rounded |
| expx1104 exp 64.54374138544166 -> 1.073966476173531E+28 Inexact Rounded |
| expx1105 exp 90.47203246416569 -> 1.956610887250643E+39 Inexact Rounded |
| expx1106 exp 9.299931532342757 -> 10937.27033325227 Inexact Rounded |
| expx1107 exp 8.759678437852203 -> 6372.062234495381 Inexact Rounded |
| expx1108 exp 0.0000931755127172 -> 1.000093179853690 Inexact Rounded |
| expx1109 exp 0.0000028101158373 -> 1.000002810119786 Inexact Rounded |
| expx1110 exp 0.0000008008130919 -> 1.000000800813413 Inexact Rounded |
| expx1111 exp 8.339771722299049 -> 4187.133803081878 Inexact Rounded |
| expx1112 exp 0.0026140497995474 -> 1.002617469406750 Inexact Rounded |
| expx1113 exp 0.7478033356261771 -> 2.112354781975418 Inexact Rounded |
| expx1114 exp 51.77663761827966 -> 3.064135801120365E+22 Inexact Rounded |
| expx1115 exp 0.1524989783061012 -> 1.164741272084955 Inexact Rounded |
| expx1116 exp 0.0066298798669219 -> 1.006651906170791 Inexact Rounded |
| expx1117 exp 9.955141865534960 -> 21060.23334287038 Inexact Rounded |
| expx1118 exp 92.34503059198483 -> 1.273318993481226E+40 Inexact Rounded |
| expx1119 exp 0.0000709388677346 -> 1.000070941383956 Inexact Rounded |
| expx1120 exp 79.12883036433204 -> 2.318538899389243E+34 Inexact Rounded |
| expx1121 exp 0.0000090881548873 -> 1.000009088196185 Inexact Rounded |
| expx1122 exp 0.0424828809603411 -> 1.043398194245720 Inexact Rounded |
| expx1123 exp 0.8009035891427416 -> 2.227552811933310 Inexact Rounded |
| expx1124 exp 8.825786167283102 -> 6807.540455289995 Inexact Rounded |
| expx1125 exp 1.535457249746275 -> 4.643448260146849 Inexact Rounded |
| expx1126 exp 69.02254254355800 -> 9.464754500670653E+29 Inexact Rounded |
| expx1127 exp 0.0007050554368713 -> 1.000705304046880 Inexact Rounded |
| expx1128 exp 0.0000081206549504 -> 1.000008120687923 Inexact Rounded |
| expx1129 exp 0.621774854641137 -> 1.862230298554903 Inexact Rounded |
| expx1130 exp 3.847629031404354 -> 46.88177613568203 Inexact Rounded |
| expx1131 exp 24.81250184697732 -> 59694268456.19966 Inexact Rounded |
| expx1132 exp 5.107546500516044 -> 165.2643809755670 Inexact Rounded |
| expx1133 exp 79.17810943951986 -> 2.435656372541360E+34 Inexact Rounded |
| expx1134 exp 0.0051394695667015 -> 1.005152699295301 Inexact Rounded |
| expx1135 exp 57.44504488501725 -> 8.872908566929688E+24 Inexact Rounded |
| expx1136 exp 0.0000508388968036 -> 1.000050840189122 Inexact Rounded |
| expx1137 exp 69.71309932148997 -> 1.888053740693541E+30 Inexact Rounded |
| expx1138 exp 0.0064183412981502 -> 1.006438982988835 Inexact Rounded |
| expx1139 exp 9.346991220814677 -> 11464.27802035082 Inexact Rounded |
| expx1140 exp 33.09087139999152 -> 235062229168763.5 Inexact Rounded |
| |
| -- Randoms P=7, within 0-9 |
| Precision: 7 |
| maxExponent: 96 |
| minExponent: -95 |
| expx1001 exp 2.395441 -> 10.97304 Inexact Rounded |
| expx1002 exp 0.6406779 -> 1.897767 Inexact Rounded |
| expx1003 exp 0.5618218 -> 1.753865 Inexact Rounded |
| expx1004 exp 3.055120 -> 21.22373 Inexact Rounded |
| expx1005 exp 1.536792 -> 4.649650 Inexact Rounded |
| expx1006 exp 0.0801591 -> 1.083459 Inexact Rounded |
| expx1007 exp 0.0966875 -> 1.101516 Inexact Rounded |
| expx1008 exp 0.0646761 -> 1.066813 Inexact Rounded |
| expx1009 exp 0.0095670 -> 1.009613 Inexact Rounded |
| expx1010 exp 2.956859 -> 19.23745 Inexact Rounded |
| expx1011 exp 7.504679 -> 1816.522 Inexact Rounded |
| expx1012 exp 0.0045259 -> 1.004536 Inexact Rounded |
| expx1013 exp 3.810071 -> 45.15364 Inexact Rounded |
| expx1014 exp 1.502390 -> 4.492413 Inexact Rounded |
| expx1015 exp 0.0321523 -> 1.032675 Inexact Rounded |
| expx1016 exp 0.0057214 -> 1.005738 Inexact Rounded |
| expx1017 exp 9.811445 -> 18241.33 Inexact Rounded |
| expx1018 exp 3.245249 -> 25.66810 Inexact Rounded |
| expx1019 exp 0.3189742 -> 1.375716 Inexact Rounded |
| expx1020 exp 0.8621610 -> 2.368273 Inexact Rounded |
| expx1021 exp 0.0122511 -> 1.012326 Inexact Rounded |
| expx1022 exp 2.202088 -> 9.043877 Inexact Rounded |
| expx1023 exp 8.778203 -> 6491.202 Inexact Rounded |
| expx1024 exp 0.1896279 -> 1.208800 Inexact Rounded |
| expx1025 exp 0.4510947 -> 1.570030 Inexact Rounded |
| expx1026 exp 0.276413 -> 1.318392 Inexact Rounded |
| expx1027 exp 4.490067 -> 89.12742 Inexact Rounded |
| expx1028 exp 0.0439786 -> 1.044960 Inexact Rounded |
| expx1029 exp 0.8168245 -> 2.263301 Inexact Rounded |
| expx1030 exp 0.0391658 -> 1.039943 Inexact Rounded |
| expx1031 exp 9.261816 -> 10528.24 Inexact Rounded |
| expx1032 exp 9.611186 -> 14930.87 Inexact Rounded |
| expx1033 exp 9.118125 -> 9119.087 Inexact Rounded |
| expx1034 exp 9.469083 -> 12953.00 Inexact Rounded |
| expx1035 exp 0.0499983 -> 1.051269 Inexact Rounded |
| expx1036 exp 0.0050746 -> 1.005087 Inexact Rounded |
| expx1037 exp 0.0014696 -> 1.001471 Inexact Rounded |
| expx1038 exp 9.138494 -> 9306.739 Inexact Rounded |
| expx1039 exp 0.0065436 -> 1.006565 Inexact Rounded |
| expx1040 exp 0.7284803 -> 2.071930 Inexact Rounded |
| |