From a9d42c09a327540a99f2eac25a98fd2ad6d0b540 Mon Sep 17 00:00:00 2001 From: Paul Zimmermann Date: Mon, 30 Mar 2020 15:55:55 +0200 Subject: [PATCH] math: Add inputs that yield larger errors for float type (x86_64) The corner cases included were generated using exhaustive search for all float/binary32 values on x86_64 (comparing to MPFR for correct rounding to nearest). For the j0/j1/y0 functions, only cases with ulp error <= 9 were included. Reviewed-by: Carlos O'Donell --- math/auto-libm-test-in | 24 +++++ math/auto-libm-test-out-asinh | 25 ++++++ math/auto-libm-test-out-cos | 25 ++++++ math/auto-libm-test-out-cosh | 25 ++++++ math/auto-libm-test-out-erfc | 25 ++++++ math/auto-libm-test-out-exp | 25 ++++++ math/auto-libm-test-out-exp10 | 25 ++++++ math/auto-libm-test-out-j0 | 25 ++++++ math/auto-libm-test-out-j1 | 25 ++++++ math/auto-libm-test-out-lgamma | 25 ++++++ math/auto-libm-test-out-sin | 25 ++++++ math/auto-libm-test-out-tgamma | 25 ++++++ math/auto-libm-test-out-y0 | 25 ++++++ .../i386/i686/fpu/multiarch/libm-test-ulps | 35 ++++---- sysdeps/x86_64/fpu/libm-test-ulps | 88 ++++++++++--------- 15 files changed, 388 insertions(+), 59 deletions(-) diff --git a/math/auto-libm-test-in b/math/auto-libm-test-in index f36fea0ea8..749eb34746 100644 --- a/math/auto-libm-test-in +++ b/math/auto-libm-test-in @@ -371,6 +371,8 @@ asinh -0x6.e26358p-4 asinh 0x6.c92c08p-4 asinh 0x1p-500 asinh 0x1p-5000 +# the next value generates larger error bounds on x86_64 (binary32) +asinh 0xf.96c69p-8 asinh min asinh -min asinh min_subnorm @@ -4421,6 +4423,8 @@ cos 0x3.042d88p+0 cos 0x1.8475e5afd4481p+0 cos 1.57079697 cos -1.57079697 +# the next value generates larger error bounds on x86_64 (binary32) +cos 0x2.3c6ef4p-12 cosh 0 cosh -0 @@ -4482,6 +4486,8 @@ cosh 0x2.c5d37700c6bb03a6c24b6c9b494cp+12 cosh 0x2.c5d37700c6bb03a6c24b6c9b494ep+12 cosh -0x2.c5d37700c6bb03a6c24b6c9b494cp+12 cosh -0x2.c5d37700c6bb03a6c24b6c9b494ep+12 +# the next value generates larger error bounds on x86_64 (binary32) +cosh 0x5.8bfe6p+4 cpow 1 0 0 0 ignore-zero-inf-sign cpow 2 0 10 0 ignore-zero-inf-sign @@ -4982,6 +4988,8 @@ erfc 0x6.a8a0561d8bbe942p+4 erfc 0x6.a8a0561d8bbe9428p+4 erfc 0x6.a893032db905274042fb05c665dcp+4 erfc 0x6.a893032db905274042fb05c665ep+4 +# the next value generates larger error bounds on x86_64 (binary32) +erfc 0xd.03d06p-4 erfc min erfc -min erfc min_subnorm @@ -5096,6 +5104,8 @@ exp 0x3.248524p+0 exp 0x1.f0b362p+0 exp 0xd.89746a799ac4eedp+0 exp -0x6.58b64p-4 +# the next value generates larger error bounds on x86_64 (binary32) +exp 0x1.fefe02p-16 exp10 0 exp10 -0 @@ -5159,6 +5169,8 @@ exp10 0x1.34413509f79fef311f12b35816f9p+12 exp10 0x1.34413509f79fef311f12b35816fap+12 exp10 -0x1.343793004f503231a589bac27c39p+12 exp10 -0x1.343793004f503231a589bac27c38p+12 +# the next value generates larger error bounds on x86_64 (binary32) +exp10 -0xa.6f431p+0 exp10 min exp10 -min exp10 min_subnorm @@ -5734,6 +5746,8 @@ j0 -0x1.001000001p+593 j0 0x1p1023 j0 0x1p16382 j0 0x1p16383 +# the next value generates larger error bounds on x86_64 (binary32) +j0 0x2.602774p+0 j1 -1.0 j1 0.0 @@ -5765,6 +5779,8 @@ j1 0x1p-60 j1 0x1p-100 j1 0x1p-600 j1 0x1p-10000 +# the next value generates larger error bounds on x86_64 (binary32) +j1 0x3.ae4b2p+0 j1 min j1 -min j1 min_subnorm @@ -5903,6 +5919,8 @@ lgamma 0x1p-16445 lgamma -0x1p-16445 lgamma 0x1p-16494 lgamma -0x1p-16494 +# the next value generates larger error bounds on x86_64 (binary32) +lgamma -0x3.ec4298p+0 # Values +/- 10ulp from overflow threshold. (Values very close to # overflow threshold produce results very close of that threshold, @@ -7205,6 +7223,8 @@ sin 0x6.287cc8749212e72p+0 sin -0x1.02e34cp+0 sin 0xf.f0274p+4 sin 0x3.042d88p+0 +# the next value generates larger error bounds on x86_64 (binary32) +sin 0x1.d12ed2p-12 sin max sin -max sin min @@ -8159,6 +8179,8 @@ tgamma -0xa.ccfcep+0 tgamma -0x9.418c8p+0 tgamma -0x6.ce9158p+0 tgamma -0xd.cbf53d0e7d06p+0 +# the next value generates larger error bounds on x86_64 (binary32) +tgamma -0x3.0aa534p+0 y0 0.125 y0 0.75 @@ -8185,6 +8207,8 @@ y0 0x1p-100 y0 0x1p-110 y0 0x1p-600 y0 0x1p-10000 +# the next value generates larger error bounds on x86_64 (binary32) +y0 0xd.3432bp-4 y0 min y0 min_subnorm diff --git a/math/auto-libm-test-out-asinh b/math/auto-libm-test-out-asinh index 8520865bab..648fe066cb 100644 --- a/math/auto-libm-test-out-asinh +++ b/math/auto-libm-test-out-asinh @@ -2506,6 +2506,31 @@ asinh 0x1p-5000 = asinh tonearest binary128 0x1p-5000 : 0x1p-5000 : inexact-ok = asinh towardzero binary128 0x1p-5000 : 0xf.fffffffffffffffffffffffffff8p-5004 : inexact-ok = asinh upward binary128 0x1p-5000 : 0x1p-5000 : inexact-ok +asinh 0xf.96c69p-8 += asinh downward binary32 0xf.96c69p-8 : 0xf.94503p-8 : inexact-ok += asinh tonearest binary32 0xf.96c69p-8 : 0xf.94504p-8 : inexact-ok += asinh towardzero binary32 0xf.96c69p-8 : 0xf.94503p-8 : inexact-ok += asinh upward binary32 0xf.96c69p-8 : 0xf.94504p-8 : inexact-ok += asinh downward binary64 0xf.96c69p-8 : 0xf.94503821fcc68p-8 : inexact-ok += asinh tonearest binary64 0xf.96c69p-8 : 0xf.94503821fcc68p-8 : inexact-ok += asinh towardzero binary64 0xf.96c69p-8 : 0xf.94503821fcc68p-8 : inexact-ok += asinh upward binary64 0xf.96c69p-8 : 0xf.94503821fcc7p-8 : inexact-ok += asinh downward intel96 0xf.96c69p-8 : 0xf.94503821fcc6aeap-8 : inexact-ok += asinh tonearest intel96 0xf.96c69p-8 : 0xf.94503821fcc6aebp-8 : inexact-ok += asinh towardzero intel96 0xf.96c69p-8 : 0xf.94503821fcc6aeap-8 : inexact-ok += asinh upward intel96 0xf.96c69p-8 : 0xf.94503821fcc6aebp-8 : inexact-ok += asinh downward m68k96 0xf.96c69p-8 : 0xf.94503821fcc6aeap-8 : inexact-ok += asinh tonearest m68k96 0xf.96c69p-8 : 0xf.94503821fcc6aebp-8 : inexact-ok += asinh towardzero m68k96 0xf.96c69p-8 : 0xf.94503821fcc6aeap-8 : inexact-ok += asinh upward m68k96 0xf.96c69p-8 : 0xf.94503821fcc6aebp-8 : inexact-ok += asinh downward binary128 0xf.96c69p-8 : 0xf.94503821fcc6aead1cad28d4935p-8 : inexact-ok += asinh tonearest binary128 0xf.96c69p-8 : 0xf.94503821fcc6aead1cad28d4935p-8 : inexact-ok += asinh towardzero binary128 0xf.96c69p-8 : 0xf.94503821fcc6aead1cad28d4935p-8 : inexact-ok += asinh upward binary128 0xf.96c69p-8 : 0xf.94503821fcc6aead1cad28d49358p-8 : inexact-ok += asinh downward ibm128 0xf.96c69p-8 : 0xf.94503821fcc6aead1cad28d49p-8 : inexact-ok += asinh tonearest ibm128 0xf.96c69p-8 : 0xf.94503821fcc6aead1cad28d494p-8 : inexact-ok += asinh towardzero ibm128 0xf.96c69p-8 : 0xf.94503821fcc6aead1cad28d49p-8 : inexact-ok += asinh upward ibm128 0xf.96c69p-8 : 0xf.94503821fcc6aead1cad28d494p-8 : inexact-ok asinh min = asinh downward binary32 0x4p-128 : 0x3.fffff8p-128 : inexact-ok underflow-ok errno-erange-ok = asinh tonearest binary32 0x4p-128 : 0x4p-128 : inexact-ok underflow-ok errno-erange-ok diff --git a/math/auto-libm-test-out-cos b/math/auto-libm-test-out-cos index 072e04f157..fcb5d17924 100644 --- a/math/auto-libm-test-out-cos +++ b/math/auto-libm-test-out-cos @@ -3223,3 +3223,28 @@ cos -1.57079697 = cos tonearest ibm128 -0x1.921fc00ece4f02f278ade6ad9fp+0 : -0xa.ca8b7d7e881db0d4919460ab44p-24 : inexact-ok = cos towardzero ibm128 -0x1.921fc00ece4f02f278ade6ad9fp+0 : -0xa.ca8b7d7e881db0d4919460ab4p-24 : inexact-ok = cos upward ibm128 -0x1.921fc00ece4f02f278ade6ad9fp+0 : -0xa.ca8b7d7e881db0d4919460ab4p-24 : inexact-ok +cos 0x2.3c6ef4p-12 += cos downward binary32 0x2.3c6ef4p-12 : 0xf.ffffdp-4 : inexact-ok += cos tonearest binary32 0x2.3c6ef4p-12 : 0xf.ffffdp-4 : inexact-ok += cos towardzero binary32 0x2.3c6ef4p-12 : 0xf.ffffdp-4 : inexact-ok += cos upward binary32 0x2.3c6ef4p-12 : 0xf.ffffep-4 : inexact-ok += cos downward binary64 0x2.3c6ef4p-12 : 0xf.ffffd7fffffc8p-4 : inexact-ok += cos tonearest binary64 0x2.3c6ef4p-12 : 0xf.ffffd7fffffdp-4 : inexact-ok += cos towardzero binary64 0x2.3c6ef4p-12 : 0xf.ffffd7fffffc8p-4 : inexact-ok += cos upward binary64 0x2.3c6ef4p-12 : 0xf.ffffd7fffffdp-4 : inexact-ok += cos downward intel96 0x2.3c6ef4p-12 : 0xf.ffffd7fffffcf5ep-4 : inexact-ok += cos tonearest intel96 0x2.3c6ef4p-12 : 0xf.ffffd7fffffcf5ep-4 : inexact-ok += cos towardzero intel96 0x2.3c6ef4p-12 : 0xf.ffffd7fffffcf5ep-4 : inexact-ok += cos upward intel96 0x2.3c6ef4p-12 : 0xf.ffffd7fffffcf5fp-4 : inexact-ok += cos downward m68k96 0x2.3c6ef4p-12 : 0xf.ffffd7fffffcf5ep-4 : inexact-ok += cos tonearest m68k96 0x2.3c6ef4p-12 : 0xf.ffffd7fffffcf5ep-4 : inexact-ok += cos towardzero m68k96 0x2.3c6ef4p-12 : 0xf.ffffd7fffffcf5ep-4 : inexact-ok += cos upward m68k96 0x2.3c6ef4p-12 : 0xf.ffffd7fffffcf5fp-4 : inexact-ok += cos downward binary128 0x2.3c6ef4p-12 : 0xf.ffffd7fffffcf5e6384f874e68fp-4 : inexact-ok += cos tonearest binary128 0x2.3c6ef4p-12 : 0xf.ffffd7fffffcf5e6384f874e68fp-4 : inexact-ok += cos towardzero binary128 0x2.3c6ef4p-12 : 0xf.ffffd7fffffcf5e6384f874e68fp-4 : inexact-ok += cos upward binary128 0x2.3c6ef4p-12 : 0xf.ffffd7fffffcf5e6384f874e68f8p-4 : inexact-ok += cos downward ibm128 0x2.3c6ef4p-12 : 0xf.ffffd7fffffcf5e6384f874e68p-4 : inexact-ok += cos tonearest ibm128 0x2.3c6ef4p-12 : 0xf.ffffd7fffffcf5e6384f874e68p-4 : inexact-ok += cos towardzero ibm128 0x2.3c6ef4p-12 : 0xf.ffffd7fffffcf5e6384f874e68p-4 : inexact-ok += cos upward ibm128 0x2.3c6ef4p-12 : 0xf.ffffd7fffffcf5e6384f874e6cp-4 : inexact-ok diff --git a/math/auto-libm-test-out-cosh b/math/auto-libm-test-out-cosh index 35edd5a7ee..6039a35e41 100644 --- a/math/auto-libm-test-out-cosh +++ b/math/auto-libm-test-out-cosh @@ -3385,3 +3385,28 @@ cosh -0x2.c5d37700c6bb03a6c24b6c9b494ep+12 = cosh tonearest ibm128 -0x2.c5d37700c6bb03a6c24b6c9b4ap+12 : plus_infty : inexact-ok overflow errno-erange = cosh towardzero ibm128 -0x2.c5d37700c6bb03a6c24b6c9b4ap+12 : 0xf.ffffffffffffbffffffffffffcp+1020 : xfail:ibm128-libgcc inexact-ok overflow errno-erange-ok = cosh upward ibm128 -0x2.c5d37700c6bb03a6c24b6c9b4ap+12 : plus_infty : xfail:ibm128-libgcc inexact-ok overflow errno-erange +cosh 0x5.8bfe6p+4 += cosh downward binary32 0x5.8bfe6p+4 : 0x8.378d9p+124 : inexact-ok += cosh tonearest binary32 0x5.8bfe6p+4 : 0x8.378d9p+124 : inexact-ok += cosh towardzero binary32 0x5.8bfe6p+4 : 0x8.378d9p+124 : inexact-ok += cosh upward binary32 0x5.8bfe6p+4 : 0x8.378dap+124 : inexact-ok += cosh downward binary64 0x5.8bfe6p+4 : 0x8.378d97e8a9838p+124 : inexact-ok += cosh tonearest binary64 0x5.8bfe6p+4 : 0x8.378d97e8a9838p+124 : inexact-ok += cosh towardzero binary64 0x5.8bfe6p+4 : 0x8.378d97e8a9838p+124 : inexact-ok += cosh upward binary64 0x5.8bfe6p+4 : 0x8.378d97e8a984p+124 : inexact-ok += cosh downward intel96 0x5.8bfe6p+4 : 0x8.378d97e8a9838b8p+124 : inexact-ok += cosh tonearest intel96 0x5.8bfe6p+4 : 0x8.378d97e8a9838b8p+124 : inexact-ok += cosh towardzero intel96 0x5.8bfe6p+4 : 0x8.378d97e8a9838b8p+124 : inexact-ok += cosh upward intel96 0x5.8bfe6p+4 : 0x8.378d97e8a9838b9p+124 : inexact-ok += cosh downward m68k96 0x5.8bfe6p+4 : 0x8.378d97e8a9838b8p+124 : inexact-ok += cosh tonearest m68k96 0x5.8bfe6p+4 : 0x8.378d97e8a9838b8p+124 : inexact-ok += cosh towardzero m68k96 0x5.8bfe6p+4 : 0x8.378d97e8a9838b8p+124 : inexact-ok += cosh upward m68k96 0x5.8bfe6p+4 : 0x8.378d97e8a9838b9p+124 : inexact-ok += cosh downward binary128 0x5.8bfe6p+4 : 0x8.378d97e8a9838b8164de61b93a68p+124 : inexact-ok += cosh tonearest binary128 0x5.8bfe6p+4 : 0x8.378d97e8a9838b8164de61b93a68p+124 : inexact-ok += cosh towardzero binary128 0x5.8bfe6p+4 : 0x8.378d97e8a9838b8164de61b93a68p+124 : inexact-ok += cosh upward binary128 0x5.8bfe6p+4 : 0x8.378d97e8a9838b8164de61b93a7p+124 : inexact-ok += cosh downward ibm128 0x5.8bfe6p+4 : 0x8.378d97e8a9838b8164de61b938p+124 : inexact-ok += cosh tonearest ibm128 0x5.8bfe6p+4 : 0x8.378d97e8a9838b8164de61b93cp+124 : inexact-ok += cosh towardzero ibm128 0x5.8bfe6p+4 : 0x8.378d97e8a9838b8164de61b938p+124 : inexact-ok += cosh upward ibm128 0x5.8bfe6p+4 : 0x8.378d97e8a9838b8164de61b93cp+124 : inexact-ok diff --git a/math/auto-libm-test-out-erfc b/math/auto-libm-test-out-erfc index 257370e5ba..6a921febcb 100644 --- a/math/auto-libm-test-out-erfc +++ b/math/auto-libm-test-out-erfc @@ -2860,6 +2860,31 @@ erfc 0x6.a893032db905274042fb05c665ep+4 = erfc tonearest ibm128 0x6.a893032db905274042fb05c664p+4 : 0x0p+0 : inexact-ok underflow errno-erange = erfc towardzero ibm128 0x6.a893032db905274042fb05c664p+4 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok underflow errno-erange = erfc upward ibm128 0x6.a893032db905274042fb05c664p+4 : 0x4p-1076 : xfail:ibm128-libgcc inexact-ok underflow errno-erange-ok +erfc 0xd.03d06p-4 += erfc downward binary32 0xd.03d06p-4 : 0x3.fff918p-4 : inexact-ok += erfc tonearest binary32 0xd.03d06p-4 : 0x3.fff91cp-4 : inexact-ok += erfc towardzero binary32 0xd.03d06p-4 : 0x3.fff918p-4 : inexact-ok += erfc upward binary32 0xd.03d06p-4 : 0x3.fff91cp-4 : inexact-ok += erfc downward binary64 0xd.03d06p-4 : 0x3.fff91a7d782bp-4 : inexact-ok += erfc tonearest binary64 0xd.03d06p-4 : 0x3.fff91a7d782bp-4 : inexact-ok += erfc towardzero binary64 0xd.03d06p-4 : 0x3.fff91a7d782bp-4 : inexact-ok += erfc upward binary64 0xd.03d06p-4 : 0x3.fff91a7d782b2p-4 : inexact-ok += erfc downward intel96 0xd.03d06p-4 : 0x3.fff91a7d782b0064p-4 : inexact-ok += erfc tonearest intel96 0xd.03d06p-4 : 0x3.fff91a7d782b0064p-4 : inexact-ok += erfc towardzero intel96 0xd.03d06p-4 : 0x3.fff91a7d782b0064p-4 : inexact-ok += erfc upward intel96 0xd.03d06p-4 : 0x3.fff91a7d782b0068p-4 : inexact-ok += erfc downward m68k96 0xd.03d06p-4 : 0x3.fff91a7d782b0064p-4 : inexact-ok += erfc tonearest m68k96 0xd.03d06p-4 : 0x3.fff91a7d782b0064p-4 : inexact-ok += erfc towardzero m68k96 0xd.03d06p-4 : 0x3.fff91a7d782b0064p-4 : inexact-ok += erfc upward m68k96 0xd.03d06p-4 : 0x3.fff91a7d782b0068p-4 : inexact-ok += erfc downward binary128 0xd.03d06p-4 : 0x3.fff91a7d782b006458655c2be87cp-4 : inexact-ok += erfc tonearest binary128 0xd.03d06p-4 : 0x3.fff91a7d782b006458655c2be87cp-4 : inexact-ok += erfc towardzero binary128 0xd.03d06p-4 : 0x3.fff91a7d782b006458655c2be87cp-4 : inexact-ok += erfc upward binary128 0xd.03d06p-4 : 0x3.fff91a7d782b006458655c2be87ep-4 : inexact-ok += erfc downward ibm128 0xd.03d06p-4 : 0x3.fff91a7d782b006458655c2be8p-4 : inexact-ok += erfc tonearest ibm128 0xd.03d06p-4 : 0x3.fff91a7d782b006458655c2be8p-4 : inexact-ok += erfc towardzero ibm128 0xd.03d06p-4 : 0x3.fff91a7d782b006458655c2be8p-4 : inexact-ok += erfc upward ibm128 0xd.03d06p-4 : 0x3.fff91a7d782b006458655c2be9p-4 : inexact-ok erfc min = erfc downward binary32 0x4p-128 : 0xf.fffffp-4 : inexact-ok = erfc tonearest binary32 0x4p-128 : 0x1p+0 : inexact-ok diff --git a/math/auto-libm-test-out-exp b/math/auto-libm-test-out-exp index 399f5b6b5d..38d2c52ac7 100644 --- a/math/auto-libm-test-out-exp +++ b/math/auto-libm-test-out-exp @@ -4844,3 +4844,28 @@ exp -0x6.58b64p-4 = exp tonearest ibm128 -0x6.58b64p-4 : 0xa.c2d2580088709f3262612e0cb8p-4 : inexact-ok = exp towardzero ibm128 -0x6.58b64p-4 : 0xa.c2d2580088709f3262612e0cb8p-4 : inexact-ok = exp upward ibm128 -0x6.58b64p-4 : 0xa.c2d2580088709f3262612e0cbcp-4 : inexact-ok +exp 0x1.fefe02p-16 += exp downward binary32 0x1.fefe02p-16 : 0x1.0001fep+0 : inexact-ok += exp tonearest binary32 0x1.fefe02p-16 : 0x1.0001fep+0 : inexact-ok += exp towardzero binary32 0x1.fefe02p-16 : 0x1.0001fep+0 : inexact-ok += exp upward binary32 0x1.fefe02p-16 : 0x1.0002p+0 : inexact-ok += exp downward binary64 0x1.fefe02p-16 : 0x1.0001fefffffddp+0 : inexact-ok += exp tonearest binary64 0x1.fefe02p-16 : 0x1.0001fefffffdep+0 : inexact-ok += exp towardzero binary64 0x1.fefe02p-16 : 0x1.0001fefffffddp+0 : inexact-ok += exp upward binary64 0x1.fefe02p-16 : 0x1.0001fefffffdep+0 : inexact-ok += exp downward intel96 0x1.fefe02p-16 : 0x1.0001fefffffdd952p+0 : inexact-ok += exp tonearest intel96 0x1.fefe02p-16 : 0x1.0001fefffffdd954p+0 : inexact-ok += exp towardzero intel96 0x1.fefe02p-16 : 0x1.0001fefffffdd952p+0 : inexact-ok += exp upward intel96 0x1.fefe02p-16 : 0x1.0001fefffffdd954p+0 : inexact-ok += exp downward m68k96 0x1.fefe02p-16 : 0x1.0001fefffffdd952p+0 : inexact-ok += exp tonearest m68k96 0x1.fefe02p-16 : 0x1.0001fefffffdd954p+0 : inexact-ok += exp towardzero m68k96 0x1.fefe02p-16 : 0x1.0001fefffffdd952p+0 : inexact-ok += exp upward m68k96 0x1.fefe02p-16 : 0x1.0001fefffffdd954p+0 : inexact-ok += exp downward binary128 0x1.fefe02p-16 : 0x1.0001fefffffdd953027f9648616fp+0 : inexact-ok += exp tonearest binary128 0x1.fefe02p-16 : 0x1.0001fefffffdd953027f9648617p+0 : inexact-ok += exp towardzero binary128 0x1.fefe02p-16 : 0x1.0001fefffffdd953027f9648616fp+0 : inexact-ok += exp upward binary128 0x1.fefe02p-16 : 0x1.0001fefffffdd953027f9648617p+0 : inexact-ok += exp downward ibm128 0x1.fefe02p-16 : 0x1.0001fefffffdd953027f964861p+0 : inexact-ok += exp tonearest ibm128 0x1.fefe02p-16 : 0x1.0001fefffffdd953027f9648618p+0 : inexact-ok += exp towardzero ibm128 0x1.fefe02p-16 : 0x1.0001fefffffdd953027f964861p+0 : inexact-ok += exp upward ibm128 0x1.fefe02p-16 : 0x1.0001fefffffdd953027f9648618p+0 : inexact-ok diff --git a/math/auto-libm-test-out-exp10 b/math/auto-libm-test-out-exp10 index 4ce495d78c..d078b36467 100644 --- a/math/auto-libm-test-out-exp10 +++ b/math/auto-libm-test-out-exp10 @@ -3620,6 +3620,31 @@ exp10 -0x1.343793004f503231a589bac27c38p+12 = exp10 tonearest ibm128 -0x1.343793004f503231a589bac27c8p+12 : 0x0p+0 : inexact-ok underflow errno-erange = exp10 towardzero ibm128 -0x1.343793004f503231a589bac27c8p+12 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok underflow errno-erange = exp10 upward ibm128 -0x1.343793004f503231a589bac27c8p+12 : 0x4p-1076 : xfail:ibm128-libgcc inexact-ok underflow errno-erange-ok +exp10 -0xa.6f431p+0 += exp10 downward binary32 -0xa.6f431p+0 : 0x2.86b328p-36 : inexact-ok += exp10 tonearest binary32 -0xa.6f431p+0 : 0x2.86b32cp-36 : inexact-ok += exp10 towardzero binary32 -0xa.6f431p+0 : 0x2.86b328p-36 : inexact-ok += exp10 upward binary32 -0xa.6f431p+0 : 0x2.86b32cp-36 : inexact-ok += exp10 downward binary64 -0xa.6f431p+0 : 0x2.86b32a000000cp-36 : inexact-ok += exp10 tonearest binary64 -0xa.6f431p+0 : 0x2.86b32a000000ep-36 : inexact-ok += exp10 towardzero binary64 -0xa.6f431p+0 : 0x2.86b32a000000cp-36 : inexact-ok += exp10 upward binary64 -0xa.6f431p+0 : 0x2.86b32a000000ep-36 : inexact-ok += exp10 downward intel96 -0xa.6f431p+0 : 0x2.86b32a000000da34p-36 : inexact-ok += exp10 tonearest intel96 -0xa.6f431p+0 : 0x2.86b32a000000da34p-36 : inexact-ok += exp10 towardzero intel96 -0xa.6f431p+0 : 0x2.86b32a000000da34p-36 : inexact-ok += exp10 upward intel96 -0xa.6f431p+0 : 0x2.86b32a000000da38p-36 : inexact-ok += exp10 downward m68k96 -0xa.6f431p+0 : 0x2.86b32a000000da34p-36 : inexact-ok += exp10 tonearest m68k96 -0xa.6f431p+0 : 0x2.86b32a000000da34p-36 : inexact-ok += exp10 towardzero m68k96 -0xa.6f431p+0 : 0x2.86b32a000000da34p-36 : inexact-ok += exp10 upward m68k96 -0xa.6f431p+0 : 0x2.86b32a000000da38p-36 : inexact-ok += exp10 downward binary128 -0xa.6f431p+0 : 0x2.86b32a000000da34970abbb69d3ap-36 : inexact-ok += exp10 tonearest binary128 -0xa.6f431p+0 : 0x2.86b32a000000da34970abbb69d3ap-36 : inexact-ok += exp10 towardzero binary128 -0xa.6f431p+0 : 0x2.86b32a000000da34970abbb69d3ap-36 : inexact-ok += exp10 upward binary128 -0xa.6f431p+0 : 0x2.86b32a000000da34970abbb69d3cp-36 : inexact-ok += exp10 downward ibm128 -0xa.6f431p+0 : 0x2.86b32a000000da34970abbb69dp-36 : inexact-ok += exp10 tonearest ibm128 -0xa.6f431p+0 : 0x2.86b32a000000da34970abbb69dp-36 : inexact-ok += exp10 towardzero ibm128 -0xa.6f431p+0 : 0x2.86b32a000000da34970abbb69dp-36 : inexact-ok += exp10 upward ibm128 -0xa.6f431p+0 : 0x2.86b32a000000da34970abbb69ep-36 : inexact-ok exp10 min = exp10 downward binary32 0x4p-128 : 0x1p+0 : inexact-ok = exp10 tonearest binary32 0x4p-128 : 0x1p+0 : inexact-ok diff --git a/math/auto-libm-test-out-j0 b/math/auto-libm-test-out-j0 index dd66299f55..2b19908948 100644 --- a/math/auto-libm-test-out-j0 +++ b/math/auto-libm-test-out-j0 @@ -1334,3 +1334,28 @@ j0 0x1p16383 = j0 tonearest ibm128 0xf.ffffffffffffbffffffffffffcp+1020 : -0xb.a80d0ee91ce259a722e1f01904p-516 : inexact-ok = j0 towardzero ibm128 0xf.ffffffffffffbffffffffffffcp+1020 : -0xb.a80d0ee91ce259a722e1f019p-516 : inexact-ok = j0 upward ibm128 0xf.ffffffffffffbffffffffffffcp+1020 : -0xb.a80d0ee91ce259a722e1f019p-516 : inexact-ok +j0 0x2.602774p+0 += j0 downward binary32 0x2.602774p+0 : 0x3.e83778p-8 : inexact-ok += j0 tonearest binary32 0x2.602774p+0 : 0x3.e83778p-8 : inexact-ok += j0 towardzero binary32 0x2.602774p+0 : 0x3.e83778p-8 : inexact-ok += j0 upward binary32 0x2.602774p+0 : 0x3.e8377cp-8 : inexact-ok += j0 downward binary64 0x2.602774p+0 : 0x3.e83779fe1991p-8 : inexact-ok += j0 tonearest binary64 0x2.602774p+0 : 0x3.e83779fe19912p-8 : inexact-ok += j0 towardzero binary64 0x2.602774p+0 : 0x3.e83779fe1991p-8 : inexact-ok += j0 upward binary64 0x2.602774p+0 : 0x3.e83779fe19912p-8 : inexact-ok += j0 downward intel96 0x2.602774p+0 : 0x3.e83779fe19911fa8p-8 : inexact-ok += j0 tonearest intel96 0x2.602774p+0 : 0x3.e83779fe19911fa8p-8 : inexact-ok += j0 towardzero intel96 0x2.602774p+0 : 0x3.e83779fe19911fa8p-8 : inexact-ok += j0 upward intel96 0x2.602774p+0 : 0x3.e83779fe19911facp-8 : inexact-ok += j0 downward m68k96 0x2.602774p+0 : 0x3.e83779fe19911fa8p-8 : inexact-ok += j0 tonearest m68k96 0x2.602774p+0 : 0x3.e83779fe19911fa8p-8 : inexact-ok += j0 towardzero m68k96 0x2.602774p+0 : 0x3.e83779fe19911fa8p-8 : inexact-ok += j0 upward m68k96 0x2.602774p+0 : 0x3.e83779fe19911facp-8 : inexact-ok += j0 downward binary128 0x2.602774p+0 : 0x3.e83779fe19911fa806cee83ab7p-8 : inexact-ok += j0 tonearest binary128 0x2.602774p+0 : 0x3.e83779fe19911fa806cee83ab7p-8 : inexact-ok += j0 towardzero binary128 0x2.602774p+0 : 0x3.e83779fe19911fa806cee83ab7p-8 : inexact-ok += j0 upward binary128 0x2.602774p+0 : 0x3.e83779fe19911fa806cee83ab702p-8 : inexact-ok += j0 downward ibm128 0x2.602774p+0 : 0x3.e83779fe19911fa806cee83ab7p-8 : inexact-ok += j0 tonearest ibm128 0x2.602774p+0 : 0x3.e83779fe19911fa806cee83ab7p-8 : inexact-ok += j0 towardzero ibm128 0x2.602774p+0 : 0x3.e83779fe19911fa806cee83ab7p-8 : inexact-ok += j0 upward ibm128 0x2.602774p+0 : 0x3.e83779fe19911fa806cee83ab8p-8 : inexact-ok diff --git a/math/auto-libm-test-out-j1 b/math/auto-libm-test-out-j1 index db6896c8d9..52a4e407c8 100644 --- a/math/auto-libm-test-out-j1 +++ b/math/auto-libm-test-out-j1 @@ -968,6 +968,31 @@ j1 0x1p-10000 = j1 tonearest binary128 0x1p-10000 : 0x8p-10004 : inexact-ok = j1 towardzero binary128 0x1p-10000 : 0x7.fffffffffffffffffffffffffffcp-10004 : inexact-ok = j1 upward binary128 0x1p-10000 : 0x8p-10004 : inexact-ok +j1 0x3.ae4b2p+0 += j1 downward binary32 0x3.ae4b2p+0 : 0xf.d085cp-8 : inexact-ok += j1 tonearest binary32 0x3.ae4b2p+0 : 0xf.d085cp-8 : inexact-ok += j1 towardzero binary32 0x3.ae4b2p+0 : 0xf.d085cp-8 : inexact-ok += j1 upward binary32 0x3.ae4b2p+0 : 0xf.d085dp-8 : inexact-ok += j1 downward binary64 0x3.ae4b2p+0 : 0xf.d085c66e86f3p-8 : inexact-ok += j1 tonearest binary64 0x3.ae4b2p+0 : 0xf.d085c66e86f3p-8 : inexact-ok += j1 towardzero binary64 0x3.ae4b2p+0 : 0xf.d085c66e86f3p-8 : inexact-ok += j1 upward binary64 0x3.ae4b2p+0 : 0xf.d085c66e86f38p-8 : inexact-ok += j1 downward intel96 0x3.ae4b2p+0 : 0xf.d085c66e86f3026p-8 : inexact-ok += j1 tonearest intel96 0x3.ae4b2p+0 : 0xf.d085c66e86f3026p-8 : inexact-ok += j1 towardzero intel96 0x3.ae4b2p+0 : 0xf.d085c66e86f3026p-8 : inexact-ok += j1 upward intel96 0x3.ae4b2p+0 : 0xf.d085c66e86f3027p-8 : inexact-ok += j1 downward m68k96 0x3.ae4b2p+0 : 0xf.d085c66e86f3026p-8 : inexact-ok += j1 tonearest m68k96 0x3.ae4b2p+0 : 0xf.d085c66e86f3026p-8 : inexact-ok += j1 towardzero m68k96 0x3.ae4b2p+0 : 0xf.d085c66e86f3026p-8 : inexact-ok += j1 upward m68k96 0x3.ae4b2p+0 : 0xf.d085c66e86f3027p-8 : inexact-ok += j1 downward binary128 0x3.ae4b2p+0 : 0xf.d085c66e86f30267f22d6f787d2p-8 : inexact-ok += j1 tonearest binary128 0x3.ae4b2p+0 : 0xf.d085c66e86f30267f22d6f787d2p-8 : inexact-ok += j1 towardzero binary128 0x3.ae4b2p+0 : 0xf.d085c66e86f30267f22d6f787d2p-8 : inexact-ok += j1 upward binary128 0x3.ae4b2p+0 : 0xf.d085c66e86f30267f22d6f787d28p-8 : inexact-ok += j1 downward ibm128 0x3.ae4b2p+0 : 0xf.d085c66e86f30267f22d6f787cp-8 : inexact-ok += j1 tonearest ibm128 0x3.ae4b2p+0 : 0xf.d085c66e86f30267f22d6f787cp-8 : inexact-ok += j1 towardzero ibm128 0x3.ae4b2p+0 : 0xf.d085c66e86f30267f22d6f787cp-8 : inexact-ok += j1 upward ibm128 0x3.ae4b2p+0 : 0xf.d085c66e86f30267f22d6f788p-8 : inexact-ok j1 min = j1 downward binary32 0x4p-128 : 0x1.fffff8p-128 : inexact-ok underflow errno-erange-ok = j1 tonearest binary32 0x4p-128 : 0x2p-128 : inexact-ok underflow errno-erange-ok diff --git a/math/auto-libm-test-out-lgamma b/math/auto-libm-test-out-lgamma index e685783636..36665b8560 100644 --- a/math/auto-libm-test-out-lgamma +++ b/math/auto-libm-test-out-lgamma @@ -2201,6 +2201,31 @@ lgamma -0x1p-16494 = lgamma tonearest binary128 -0x4p-16496 : 0x2.ca8c50440f005913a49acbd2c4e8p+12 -1 : inexact-ok = lgamma towardzero binary128 -0x4p-16496 : 0x2.ca8c50440f005913a49acbd2c4e6p+12 -1 : inexact-ok = lgamma upward binary128 -0x4p-16496 : 0x2.ca8c50440f005913a49acbd2c4e8p+12 -1 : inexact-ok +lgamma -0x3.ec4298p+0 += lgamma downward binary32 -0x3.ec4298p+0 : -0x7.d809fp-4 1 : inexact-ok += lgamma tonearest binary32 -0x3.ec4298p+0 : -0x7.d809fp-4 1 : inexact-ok += lgamma towardzero binary32 -0x3.ec4298p+0 : -0x7.d809e8p-4 1 : inexact-ok += lgamma upward binary32 -0x3.ec4298p+0 : -0x7.d809e8p-4 1 : inexact-ok += lgamma downward binary64 -0x3.ec4298p+0 : -0x7.d809ecd340fc4p-4 1 : inexact-ok += lgamma tonearest binary64 -0x3.ec4298p+0 : -0x7.d809ecd340fcp-4 1 : inexact-ok += lgamma towardzero binary64 -0x3.ec4298p+0 : -0x7.d809ecd340fcp-4 1 : inexact-ok += lgamma upward binary64 -0x3.ec4298p+0 : -0x7.d809ecd340fcp-4 1 : inexact-ok += lgamma downward intel96 -0x3.ec4298p+0 : -0x7.d809ecd340fc16ep-4 1 : inexact-ok += lgamma tonearest intel96 -0x3.ec4298p+0 : -0x7.d809ecd340fc16d8p-4 1 : inexact-ok += lgamma towardzero intel96 -0x3.ec4298p+0 : -0x7.d809ecd340fc16d8p-4 1 : inexact-ok += lgamma upward intel96 -0x3.ec4298p+0 : -0x7.d809ecd340fc16d8p-4 1 : inexact-ok += lgamma downward m68k96 -0x3.ec4298p+0 : -0x7.d809ecd340fc16ep-4 1 : inexact-ok += lgamma tonearest m68k96 -0x3.ec4298p+0 : -0x7.d809ecd340fc16d8p-4 1 : inexact-ok += lgamma towardzero m68k96 -0x3.ec4298p+0 : -0x7.d809ecd340fc16d8p-4 1 : inexact-ok += lgamma upward m68k96 -0x3.ec4298p+0 : -0x7.d809ecd340fc16d8p-4 1 : inexact-ok += lgamma downward binary128 -0x3.ec4298p+0 : -0x7.d809ecd340fc16da6722ad116694p-4 1 : inexact-ok += lgamma tonearest binary128 -0x3.ec4298p+0 : -0x7.d809ecd340fc16da6722ad116694p-4 1 : inexact-ok += lgamma towardzero binary128 -0x3.ec4298p+0 : -0x7.d809ecd340fc16da6722ad11669p-4 1 : inexact-ok += lgamma upward binary128 -0x3.ec4298p+0 : -0x7.d809ecd340fc16da6722ad11669p-4 1 : inexact-ok += lgamma downward ibm128 -0x3.ec4298p+0 : -0x7.d809ecd340fc16da6722ad1168p-4 1 : inexact-ok += lgamma tonearest ibm128 -0x3.ec4298p+0 : -0x7.d809ecd340fc16da6722ad1166p-4 1 : inexact-ok += lgamma towardzero ibm128 -0x3.ec4298p+0 : -0x7.d809ecd340fc16da6722ad1166p-4 1 : inexact-ok += lgamma upward ibm128 -0x3.ec4298p+0 : -0x7.d809ecd340fc16da6722ad1166p-4 1 : inexact-ok lgamma 0x3.12be0cp+120 = lgamma downward binary32 0x3.12be0cp+120 : 0xf.ffff1p+124 1 : inexact-ok = lgamma tonearest binary32 0x3.12be0cp+120 : 0xf.ffff1p+124 1 : inexact-ok diff --git a/math/auto-libm-test-out-sin b/math/auto-libm-test-out-sin index 4826063340..be9afb2bdb 100644 --- a/math/auto-libm-test-out-sin +++ b/math/auto-libm-test-out-sin @@ -3118,6 +3118,31 @@ sin 0x3.042d88p+0 = sin tonearest ibm128 0x3.042d88p+0 : 0x1.ffc6da9f1ffed895f9fa424ba9p-4 : inexact-ok = sin towardzero ibm128 0x3.042d88p+0 : 0x1.ffc6da9f1ffed895f9fa424ba9p-4 : inexact-ok = sin upward ibm128 0x3.042d88p+0 : 0x1.ffc6da9f1ffed895f9fa424ba98p-4 : inexact-ok +sin 0x1.d12ed2p-12 += sin downward binary32 0x1.d12ed2p-12 : 0x1.d12edp-12 : inexact-ok += sin tonearest binary32 0x1.d12ed2p-12 : 0x1.d12edp-12 : inexact-ok += sin towardzero binary32 0x1.d12ed2p-12 : 0x1.d12edp-12 : inexact-ok += sin upward binary32 0x1.d12ed2p-12 : 0x1.d12ed2p-12 : inexact-ok += sin downward binary64 0x1.d12ed2p-12 : 0x1.d12ed0fffffdfp-12 : inexact-ok += sin tonearest binary64 0x1.d12ed2p-12 : 0x1.d12ed0fffffep-12 : inexact-ok += sin towardzero binary64 0x1.d12ed2p-12 : 0x1.d12ed0fffffdfp-12 : inexact-ok += sin upward binary64 0x1.d12ed2p-12 : 0x1.d12ed0fffffep-12 : inexact-ok += sin downward intel96 0x1.d12ed2p-12 : 0x1.d12ed0fffffdfe0ep-12 : inexact-ok += sin tonearest intel96 0x1.d12ed2p-12 : 0x1.d12ed0fffffdfe1p-12 : inexact-ok += sin towardzero intel96 0x1.d12ed2p-12 : 0x1.d12ed0fffffdfe0ep-12 : inexact-ok += sin upward intel96 0x1.d12ed2p-12 : 0x1.d12ed0fffffdfe1p-12 : inexact-ok += sin downward m68k96 0x1.d12ed2p-12 : 0x1.d12ed0fffffdfe0ep-12 : inexact-ok += sin tonearest m68k96 0x1.d12ed2p-12 : 0x1.d12ed0fffffdfe1p-12 : inexact-ok += sin towardzero m68k96 0x1.d12ed2p-12 : 0x1.d12ed0fffffdfe0ep-12 : inexact-ok += sin upward m68k96 0x1.d12ed2p-12 : 0x1.d12ed0fffffdfe1p-12 : inexact-ok += sin downward binary128 0x1.d12ed2p-12 : 0x1.d12ed0fffffdfe0f0008c8b28232p-12 : inexact-ok += sin tonearest binary128 0x1.d12ed2p-12 : 0x1.d12ed0fffffdfe0f0008c8b28233p-12 : inexact-ok += sin towardzero binary128 0x1.d12ed2p-12 : 0x1.d12ed0fffffdfe0f0008c8b28232p-12 : inexact-ok += sin upward binary128 0x1.d12ed2p-12 : 0x1.d12ed0fffffdfe0f0008c8b28233p-12 : inexact-ok += sin downward ibm128 0x1.d12ed2p-12 : 0x1.d12ed0fffffdfe0f0008c8b282p-12 : inexact-ok += sin tonearest ibm128 0x1.d12ed2p-12 : 0x1.d12ed0fffffdfe0f0008c8b282p-12 : inexact-ok += sin towardzero ibm128 0x1.d12ed2p-12 : 0x1.d12ed0fffffdfe0f0008c8b282p-12 : inexact-ok += sin upward ibm128 0x1.d12ed2p-12 : 0x1.d12ed0fffffdfe0f0008c8b2828p-12 : inexact-ok sin max = sin downward binary32 0xf.fffffp+124 : -0x8.599b4p-4 : inexact-ok = sin tonearest binary32 0xf.fffffp+124 : -0x8.599b3p-4 : inexact-ok diff --git a/math/auto-libm-test-out-tgamma b/math/auto-libm-test-out-tgamma index cb12b2b1b3..a3f4f8efbe 100644 --- a/math/auto-libm-test-out-tgamma +++ b/math/auto-libm-test-out-tgamma @@ -27303,3 +27303,28 @@ tgamma -0xd.cbf53d0e7d06p+0 = tgamma tonearest ibm128 -0xd.cbf53d0e7d06p+0 : 0x7.2508c022ac5a1f121d3ba32c5ap-36 : inexact-ok = tgamma towardzero ibm128 -0xd.cbf53d0e7d06p+0 : 0x7.2508c022ac5a1f121d3ba32c58p-36 : inexact-ok = tgamma upward ibm128 -0xd.cbf53d0e7d06p+0 : 0x7.2508c022ac5a1f121d3ba32c5ap-36 : inexact-ok +tgamma -0x3.0aa534p+0 += tgamma downward binary32 -0x3.0aa534p+0 : 0x3.d05ef8p+0 : inexact-ok += tgamma tonearest binary32 -0x3.0aa534p+0 : 0x3.d05efcp+0 : inexact-ok += tgamma towardzero binary32 -0x3.0aa534p+0 : 0x3.d05ef8p+0 : inexact-ok += tgamma upward binary32 -0x3.0aa534p+0 : 0x3.d05efcp+0 : inexact-ok += tgamma downward binary64 -0x3.0aa534p+0 : 0x3.d05efb28d49ccp+0 : inexact-ok += tgamma tonearest binary64 -0x3.0aa534p+0 : 0x3.d05efb28d49ccp+0 : inexact-ok += tgamma towardzero binary64 -0x3.0aa534p+0 : 0x3.d05efb28d49ccp+0 : inexact-ok += tgamma upward binary64 -0x3.0aa534p+0 : 0x3.d05efb28d49cep+0 : inexact-ok += tgamma downward intel96 -0x3.0aa534p+0 : 0x3.d05efb28d49cc498p+0 : inexact-ok += tgamma tonearest intel96 -0x3.0aa534p+0 : 0x3.d05efb28d49cc49cp+0 : inexact-ok += tgamma towardzero intel96 -0x3.0aa534p+0 : 0x3.d05efb28d49cc498p+0 : inexact-ok += tgamma upward intel96 -0x3.0aa534p+0 : 0x3.d05efb28d49cc49cp+0 : inexact-ok += tgamma downward m68k96 -0x3.0aa534p+0 : 0x3.d05efb28d49cc498p+0 : inexact-ok += tgamma tonearest m68k96 -0x3.0aa534p+0 : 0x3.d05efb28d49cc49cp+0 : inexact-ok += tgamma towardzero m68k96 -0x3.0aa534p+0 : 0x3.d05efb28d49cc498p+0 : inexact-ok += tgamma upward m68k96 -0x3.0aa534p+0 : 0x3.d05efb28d49cc49cp+0 : inexact-ok += tgamma downward binary128 -0x3.0aa534p+0 : 0x3.d05efb28d49cc49b798cfd0f0a28p+0 : inexact-ok += tgamma tonearest binary128 -0x3.0aa534p+0 : 0x3.d05efb28d49cc49b798cfd0f0a28p+0 : inexact-ok += tgamma towardzero binary128 -0x3.0aa534p+0 : 0x3.d05efb28d49cc49b798cfd0f0a28p+0 : inexact-ok += tgamma upward binary128 -0x3.0aa534p+0 : 0x3.d05efb28d49cc49b798cfd0f0a2ap+0 : inexact-ok += tgamma downward ibm128 -0x3.0aa534p+0 : 0x3.d05efb28d49cc49b798cfd0f0ap+0 : inexact-ok += tgamma tonearest ibm128 -0x3.0aa534p+0 : 0x3.d05efb28d49cc49b798cfd0f0ap+0 : inexact-ok += tgamma towardzero ibm128 -0x3.0aa534p+0 : 0x3.d05efb28d49cc49b798cfd0f0ap+0 : inexact-ok += tgamma upward ibm128 -0x3.0aa534p+0 : 0x3.d05efb28d49cc49b798cfd0f0bp+0 : inexact-ok diff --git a/math/auto-libm-test-out-y0 b/math/auto-libm-test-out-y0 index cc5158ed6b..8ebb585170 100644 --- a/math/auto-libm-test-out-y0 +++ b/math/auto-libm-test-out-y0 @@ -795,6 +795,31 @@ y0 0x1p-10000 = y0 tonearest binary128 0x1p-10000 : -0x1.13cc92aab9d385d1d0f2693cb631p+12 : inexact-ok = y0 towardzero binary128 0x1p-10000 : -0x1.13cc92aab9d385d1d0f2693cb631p+12 : inexact-ok = y0 upward binary128 0x1p-10000 : -0x1.13cc92aab9d385d1d0f2693cb631p+12 : inexact-ok +y0 0xd.3432bp-4 += y0 downward binary32 0xd.3432bp-4 : -0xf.fdd88p-8 : inexact-ok += y0 tonearest binary32 0xd.3432bp-4 : -0xf.fdd87p-8 : inexact-ok += y0 towardzero binary32 0xd.3432bp-4 : -0xf.fdd87p-8 : inexact-ok += y0 upward binary32 0xd.3432bp-4 : -0xf.fdd87p-8 : inexact-ok += y0 downward binary64 0xd.3432bp-4 : -0xf.fdd871793bc78p-8 : inexact-ok += y0 tonearest binary64 0xd.3432bp-4 : -0xf.fdd871793bc7p-8 : inexact-ok += y0 towardzero binary64 0xd.3432bp-4 : -0xf.fdd871793bc7p-8 : inexact-ok += y0 upward binary64 0xd.3432bp-4 : -0xf.fdd871793bc7p-8 : inexact-ok += y0 downward intel96 0xd.3432bp-4 : -0xf.fdd871793bc71fap-8 : inexact-ok += y0 tonearest intel96 0xd.3432bp-4 : -0xf.fdd871793bc71f9p-8 : inexact-ok += y0 towardzero intel96 0xd.3432bp-4 : -0xf.fdd871793bc71f9p-8 : inexact-ok += y0 upward intel96 0xd.3432bp-4 : -0xf.fdd871793bc71f9p-8 : inexact-ok += y0 downward m68k96 0xd.3432bp-4 : -0xf.fdd871793bc71fap-8 : inexact-ok += y0 tonearest m68k96 0xd.3432bp-4 : -0xf.fdd871793bc71f9p-8 : inexact-ok += y0 towardzero m68k96 0xd.3432bp-4 : -0xf.fdd871793bc71f9p-8 : inexact-ok += y0 upward m68k96 0xd.3432bp-4 : -0xf.fdd871793bc71f9p-8 : inexact-ok += y0 downward binary128 0xd.3432bp-4 : -0xf.fdd871793bc71f92d6b137b44118p-8 : inexact-ok += y0 tonearest binary128 0xd.3432bp-4 : -0xf.fdd871793bc71f92d6b137b44118p-8 : inexact-ok += y0 towardzero binary128 0xd.3432bp-4 : -0xf.fdd871793bc71f92d6b137b4411p-8 : inexact-ok += y0 upward binary128 0xd.3432bp-4 : -0xf.fdd871793bc71f92d6b137b4411p-8 : inexact-ok += y0 downward ibm128 0xd.3432bp-4 : -0xf.fdd871793bc71f92d6b137b444p-8 : inexact-ok += y0 tonearest ibm128 0xd.3432bp-4 : -0xf.fdd871793bc71f92d6b137b44p-8 : inexact-ok += y0 towardzero ibm128 0xd.3432bp-4 : -0xf.fdd871793bc71f92d6b137b44p-8 : inexact-ok += y0 upward ibm128 0xd.3432bp-4 : -0xf.fdd871793bc71f92d6b137b44p-8 : inexact-ok y0 min = y0 downward binary32 0x4p-128 : -0x3.7ac89cp+4 : inexact-ok = y0 tonearest binary32 0x4p-128 : -0x3.7ac89cp+4 : inexact-ok diff --git a/sysdeps/i386/i686/fpu/multiarch/libm-test-ulps b/sysdeps/i386/i686/fpu/multiarch/libm-test-ulps index d293214fbc..670a8c370a 100644 --- a/sysdeps/i386/i686/fpu/multiarch/libm-test-ulps +++ b/sysdeps/i386/i686/fpu/multiarch/libm-test-ulps @@ -766,7 +766,7 @@ ldouble: 2 Function: "cosh": double: 1 -float: 1 +float: 2 float128: 1 ldouble: 2 @@ -1125,6 +1125,7 @@ ldouble: 5 Function: "exp": double: 1 +float: 1 float128: 1 ldouble: 1 @@ -1250,7 +1251,7 @@ ldouble: 1 Function: "j0": double: 2 -float: 2 +float: 5 float128: 2 ldouble: 2 @@ -1270,13 +1271,13 @@ Function: "j0_upward": double: 3 float: 3 float128: 5 -ldouble: 4 +ldouble: 6 Function: "j1": double: 2 -float: 2 +float: 5 float128: 4 -ldouble: 1 +ldouble: 5 Function: "j1_downward": double: 3 @@ -1575,13 +1576,13 @@ ldouble: 5 Function: "tgamma_downward": double: 6 -float: 5 +float: 7 float128: 5 ldouble: 5 Function: "tgamma_towardzero": double: 6 -float: 5 +float: 7 float128: 5 ldouble: 5 @@ -1607,37 +1608,37 @@ Function: "y0_towardzero": double: 3 float: 3 float128: 3 -ldouble: 5 +ldouble: 6 Function: "y0_upward": double: 3 float: 5 float128: 3 -ldouble: 3 +ldouble: 5 Function: "y1": double: 3 float: 2 -float128: 2 -ldouble: 2 +float128: 5 +ldouble: 3 Function: "y1_downward": double: 3 -float: 4 -float128: 4 +float: 5 +float128: 5 ldouble: 7 Function: "y1_towardzero": double: 3 -float: 2 -float128: 2 +float: 4 +float128: 6 ldouble: 5 Function: "y1_upward": double: 7 float: 3 -float128: 5 -ldouble: 7 +float128: 6 +ldouble: 9 Function: "yn": double: 3 diff --git a/sysdeps/x86_64/fpu/libm-test-ulps b/sysdeps/x86_64/fpu/libm-test-ulps index 7dc9252bc9..196e60d0b9 100644 --- a/sysdeps/x86_64/fpu/libm-test-ulps +++ b/sysdeps/x86_64/fpu/libm-test-ulps @@ -73,7 +73,7 @@ ldouble: 1 Function: "asinh": double: 1 -float: 1 +float: 2 float128: 3 ldouble: 3 @@ -761,6 +761,7 @@ ldouble: 1 Function: "cos": double: 1 +float: 1 float128: 1 ldouble: 1 @@ -804,7 +805,7 @@ float: 1 Function: "cosh": double: 1 -float: 1 +float: 2 float128: 1 ldouble: 2 @@ -1135,7 +1136,7 @@ ldouble: 1 Function: "erfc": double: 3 -float: 2 +float: 3 float128: 2 ldouble: 3 @@ -1158,11 +1159,13 @@ float128: 5 ldouble: 5 Function: "exp": +float: 1 float128: 1 ldouble: 1 Function: "exp10": double: 2 +float: 1 float128: 2 ldouble: 1 @@ -1269,22 +1272,22 @@ ldouble: 4 Function: "gamma": double: 4 -float: 4 +float: 7 ldouble: 4 Function: "gamma_downward": double: 5 -float: 4 +float: 7 ldouble: 7 Function: "gamma_towardzero": double: 5 -float: 4 +float: 6 ldouble: 7 Function: "gamma_upward": double: 5 -float: 5 +float: 6 ldouble: 6 Function: "hypot": @@ -1309,7 +1312,7 @@ ldouble: 1 Function: "j0": double: 2 -float: 2 +float: 8 float128: 2 ldouble: 2 @@ -1320,26 +1323,26 @@ float128: 4 ldouble: 4 Function: "j0_towardzero": -double: 3 -float: 2 +double: 4 +float: 5 float128: 2 ldouble: 5 Function: "j0_upward": -double: 3 -float: 2 +double: 4 +float: 5 float128: 5 -ldouble: 4 +ldouble: 6 Function: "j1": -double: 1 -float: 2 +double: 2 +float: 9 float128: 4 -ldouble: 1 +ldouble: 5 Function: "j1_downward": double: 3 -float: 3 +float: 5 float128: 4 ldouble: 4 @@ -1381,25 +1384,25 @@ ldouble: 5 Function: "lgamma": double: 4 -float: 4 +float: 7 float128: 5 ldouble: 4 Function: "lgamma_downward": double: 5 -float: 4 +float: 7 float128: 8 ldouble: 7 Function: "lgamma_towardzero": double: 5 -float: 4 +float: 6 float128: 5 ldouble: 7 Function: "lgamma_upward": double: 5 -float: 5 +float: 6 float128: 8 ldouble: 6 @@ -1562,6 +1565,7 @@ float: 3 Function: "sin": double: 1 +float: 1 float128: 1 ldouble: 1 @@ -1719,37 +1723,37 @@ ldouble: 4 Function: "tgamma": double: 5 -float: 5 +float: 8 float128: 4 ldouble: 5 Function: "tgamma_downward": double: 5 -float: 5 +float: 7 float128: 5 ldouble: 5 Function: "tgamma_towardzero": double: 5 -float: 5 +float: 7 float128: 5 ldouble: 5 Function: "tgamma_upward": double: 5 -float: 5 +float: 8 float128: 4 ldouble: 5 Function: "y0": -double: 2 -float: 1 +double: 3 +float: 8 float128: 3 ldouble: 1 Function: "y0_downward": double: 3 -float: 4 +float: 6 float128: 4 ldouble: 5 @@ -1757,37 +1761,37 @@ Function: "y0_towardzero": double: 3 float: 3 float128: 3 -ldouble: 5 +ldouble: 6 Function: "y0_upward": double: 3 -float: 5 +float: 6 float128: 3 -ldouble: 3 +ldouble: 5 Function: "y1": -double: 3 -float: 2 -float128: 2 -ldouble: 2 +double: 6 +float: 9 +float128: 5 +ldouble: 3 Function: "y1_downward": double: 3 float: 2 -float128: 4 +float128: 5 ldouble: 7 Function: "y1_towardzero": -double: 3 -float: 2 -float128: 2 +double: 4 +float: 5 +float128: 6 ldouble: 5 Function: "y1_upward": double: 7 -float: 2 -float128: 5 -ldouble: 7 +float: 9 +float128: 6 +ldouble: 9 Function: "yn": double: 3