diff options
| author | Joseph Myers <joseph@codesourcery.com> | 2015-02-25 11:13:41 +0000 |
|---|---|---|
| committer | Joseph Myers <joseph@codesourcery.com> | 2015-02-25 11:13:41 +0000 |
| commit | 137cef7d433407bd2ded8bcc5bea70e5858df47a (patch) | |
| tree | deb0a6e04c5e7220d1e4eebcf59ab9d792a8eca6 /math | |
| parent | cb43bb0d68f001fc3d6e054d712ab8794b5fd1de (diff) | |
| download | glibc-137cef7d433407bd2ded8bcc5bea70e5858df47a.tar.xz glibc-137cef7d433407bd2ded8bcc5bea70e5858df47a.zip | |
Fix ldbl-128ibm asinhl inaccuracy (bug 18020).
The ldbl-128ibm implementation of asinhl uses cut-offs of 0x1p28 and
0x1p-29 to determine when to use simpler formulas that avoid possible
overflow / underflow. Both those cut-offs are inappropriate for this
format, resulting in large errors. This patch changes the code to use
more appropriate cut-offs of 0x1p56 and 0x1p-56, adding tests around
the cut-offs for various floating-point formats.
Tested for powerpc. Also tested for x86_64 and x86 and updated ulps.
[BZ #18020]
* sysdeps/ieee754/ldbl-128ibm/s_asinhl.c (__asinhl): Use 2**56 and
2**-56 not 2**28 and 2**-29 as thresholds for simpler formulas.
* math/auto-libm-test-in: Add more tests of asinh.
* math/auto-libm-test-out: Regenerated.
* sysdeps/i386/fpu/libm-test-ulps: Update.
* sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
Diffstat (limited to 'math')
| -rw-r--r-- | math/auto-libm-test-in | 61 | ||||
| -rw-r--r-- | math/auto-libm-test-out | 1685 |
2 files changed, 1746 insertions, 0 deletions
diff --git a/math/auto-libm-test-in b/math/auto-libm-test-in index a4bd972c80..df51c26ff9 100644 --- a/math/auto-libm-test-in +++ b/math/auto-libm-test-in @@ -104,8 +104,69 @@ asinh 1 asinh 10 asinh 100 asinh 1e6 +asinh 0x1p8 +asinh 0x1p9 +asinh 0x1p10 +asinh 0x1p11 +asinh 0x1p12 +asinh 0x1p13 +asinh 0x1p24 +asinh 0x1p25 +asinh 0x1p26 +asinh 0x1p27 +asinh 0x1p28 +asinh 0x1p29 +asinh 0x1p30 +asinh 0x1p31 +asinh 0x1p32 +asinh 0x1p33 +asinh 0x1p48 +asinh 0x1p49 +asinh 0x1p50 +asinh 0x1p51 +asinh 0x1p52 +asinh 0x1p53 +asinh 0x1p54 +asinh 0x1p55 +asinh 0x1p56 +asinh 0x1p57 +asinh 0x1p58 +asinh 0x1p59 asinh 0x1p100 +asinh 0x1p500 +asinh 0x1p5000 +asinh 0x1p-8 +asinh 0x1p-9 +asinh 0x1p-10 +asinh 0x1p-11 +asinh 0x1p-12 +asinh 0x1p-13 +asinh 0x1p-24 +asinh 0x1p-25 +asinh 0x1p-26 +asinh 0x1p-27 +asinh 0x1p-28 +asinh 0x1p-29 +asinh 0x1p-30 +asinh 0x1p-31 +asinh 0x1p-32 +asinh 0x1p-33 +asinh 0x1p-48 +asinh 0x1p-49 +asinh 0x1p-50 +asinh 0x1p-51 +asinh 0x1p-52 +asinh 0x1p-53 +asinh 0x1p-54 +asinh 0x1p-55 +asinh 0x1p-56 +asinh 0x1p-57 +asinh 0x1p-58 +asinh 0x1p-59 +asinh 0x1p-100 # Bug 16350: underflow exception may be missing. +asinh 0x1p-500 missing-underflow +asinh 0x1p-5000 missing-underflow asinh min missing-underflow asinh -min missing-underflow asinh min_subnorm missing-underflow diff --git a/math/auto-libm-test-out b/math/auto-libm-test-out index c8bc6a8b3f..83170d9efc 100644 --- a/math/auto-libm-test-out +++ b/math/auto-libm-test-out @@ -3346,6 +3346,706 @@ asinh 1e6 = asinh tonearest ldbl-128ibm 0xf.424p+16L : 0xe.823764bfd1e5fa37c6bf52ed08p+0L : inexact-ok = asinh towardzero ldbl-128ibm 0xf.424p+16L : 0xe.823764bfd1e5fa37c6bf52ed08p+0L : inexact-ok = asinh upward ldbl-128ibm 0xf.424p+16L : 0xe.823764bfd1e5fa37c6bf52ed0cp+0L : inexact-ok +asinh 0x1p8 += asinh downward flt-32 0x1p+8f : 0x6.3d031p+0f : inexact-ok += asinh tonearest flt-32 0x1p+8f : 0x6.3d0318p+0f : inexact-ok += asinh towardzero flt-32 0x1p+8f : 0x6.3d031p+0f : inexact-ok += asinh upward flt-32 0x1p+8f : 0x6.3d0318p+0f : inexact-ok += asinh downward dbl-64 0x1p+8 : 0x6.3d0317b6484b4p+0 : inexact-ok += asinh tonearest dbl-64 0x1p+8 : 0x6.3d0317b6484b4p+0 : inexact-ok += asinh towardzero dbl-64 0x1p+8 : 0x6.3d0317b6484b4p+0 : inexact-ok += asinh upward dbl-64 0x1p+8 : 0x6.3d0317b6484b8p+0 : inexact-ok += asinh downward ldbl-96-intel 0x1p+8L : 0x6.3d0317b6484b5458p+0L : inexact-ok += asinh tonearest ldbl-96-intel 0x1p+8L : 0x6.3d0317b6484b546p+0L : inexact-ok += asinh towardzero ldbl-96-intel 0x1p+8L : 0x6.3d0317b6484b5458p+0L : inexact-ok += asinh upward ldbl-96-intel 0x1p+8L : 0x6.3d0317b6484b546p+0L : inexact-ok += asinh downward ldbl-96-m68k 0x1p+8L : 0x6.3d0317b6484b5458p+0L : inexact-ok += asinh tonearest ldbl-96-m68k 0x1p+8L : 0x6.3d0317b6484b546p+0L : inexact-ok += asinh towardzero ldbl-96-m68k 0x1p+8L : 0x6.3d0317b6484b5458p+0L : inexact-ok += asinh upward ldbl-96-m68k 0x1p+8L : 0x6.3d0317b6484b546p+0L : inexact-ok += asinh downward ldbl-128 0x1p+8L : 0x6.3d0317b6484b545f6596abfa40dcp+0L : inexact-ok += asinh tonearest ldbl-128 0x1p+8L : 0x6.3d0317b6484b545f6596abfa40dcp+0L : inexact-ok += asinh towardzero ldbl-128 0x1p+8L : 0x6.3d0317b6484b545f6596abfa40dcp+0L : inexact-ok += asinh upward ldbl-128 0x1p+8L : 0x6.3d0317b6484b545f6596abfa40ep+0L : inexact-ok += asinh downward ldbl-128ibm 0x1p+8L : 0x6.3d0317b6484b545f6596abfa4p+0L : inexact-ok += asinh tonearest ldbl-128ibm 0x1p+8L : 0x6.3d0317b6484b545f6596abfa4p+0L : inexact-ok += asinh towardzero ldbl-128ibm 0x1p+8L : 0x6.3d0317b6484b545f6596abfa4p+0L : inexact-ok += asinh upward ldbl-128ibm 0x1p+8L : 0x6.3d0317b6484b545f6596abfa42p+0L : inexact-ok +asinh 0x1p9 += asinh downward flt-32 0x2p+8f : 0x6.ee74f8p+0f : inexact-ok += asinh tonearest flt-32 0x2p+8f : 0x6.ee75p+0f : inexact-ok += asinh towardzero flt-32 0x2p+8f : 0x6.ee74f8p+0f : inexact-ok += asinh upward flt-32 0x2p+8f : 0x6.ee75p+0f : inexact-ok += asinh downward dbl-64 0x2p+8 : 0x6.ee74ffae309acp+0 : inexact-ok += asinh tonearest dbl-64 0x2p+8 : 0x6.ee74ffae309acp+0 : inexact-ok += asinh towardzero dbl-64 0x2p+8 : 0x6.ee74ffae309acp+0 : inexact-ok += asinh upward dbl-64 0x2p+8 : 0x6.ee74ffae309bp+0 : inexact-ok += asinh downward ldbl-96-intel 0x2p+8L : 0x6.ee74ffae309ac0e8p+0L : inexact-ok += asinh tonearest ldbl-96-intel 0x2p+8L : 0x6.ee74ffae309ac0e8p+0L : inexact-ok += asinh towardzero ldbl-96-intel 0x2p+8L : 0x6.ee74ffae309ac0e8p+0L : inexact-ok += asinh upward ldbl-96-intel 0x2p+8L : 0x6.ee74ffae309ac0fp+0L : inexact-ok += asinh downward ldbl-96-m68k 0x2p+8L : 0x6.ee74ffae309ac0e8p+0L : inexact-ok += asinh tonearest ldbl-96-m68k 0x2p+8L : 0x6.ee74ffae309ac0e8p+0L : inexact-ok += asinh towardzero ldbl-96-m68k 0x2p+8L : 0x6.ee74ffae309ac0e8p+0L : inexact-ok += asinh upward ldbl-96-m68k 0x2p+8L : 0x6.ee74ffae309ac0fp+0L : inexact-ok += asinh downward ldbl-128 0x2p+8L : 0x6.ee74ffae309ac0eb383199471004p+0L : inexact-ok += asinh tonearest ldbl-128 0x2p+8L : 0x6.ee74ffae309ac0eb383199471004p+0L : inexact-ok += asinh towardzero ldbl-128 0x2p+8L : 0x6.ee74ffae309ac0eb383199471004p+0L : inexact-ok += asinh upward ldbl-128 0x2p+8L : 0x6.ee74ffae309ac0eb383199471008p+0L : inexact-ok += asinh downward ldbl-128ibm 0x2p+8L : 0x6.ee74ffae309ac0eb383199471p+0L : inexact-ok += asinh tonearest ldbl-128ibm 0x2p+8L : 0x6.ee74ffae309ac0eb383199471p+0L : inexact-ok += asinh towardzero ldbl-128ibm 0x2p+8L : 0x6.ee74ffae309ac0eb383199471p+0L : inexact-ok += asinh upward ldbl-128ibm 0x2p+8L : 0x6.ee74ffae309ac0eb3831994712p+0L : inexact-ok +asinh 0x1p10 += asinh downward flt-32 0x4p+8f : 0x7.9fe708p+0f : inexact-ok += asinh tonearest flt-32 0x4p+8f : 0x7.9fe708p+0f : inexact-ok += asinh towardzero flt-32 0x4p+8f : 0x7.9fe708p+0f : inexact-ok += asinh upward flt-32 0x4p+8f : 0x7.9fe71p+0f : inexact-ok += asinh downward dbl-64 0x4p+8 : 0x7.9fe70ba603d2p+0 : inexact-ok += asinh tonearest dbl-64 0x4p+8 : 0x7.9fe70ba603d24p+0 : inexact-ok += asinh towardzero dbl-64 0x4p+8 : 0x7.9fe70ba603d2p+0 : inexact-ok += asinh upward dbl-64 0x4p+8 : 0x7.9fe70ba603d24p+0 : inexact-ok += asinh downward ldbl-96-intel 0x4p+8L : 0x7.9fe70ba603d23a6p+0L : inexact-ok += asinh tonearest ldbl-96-intel 0x4p+8L : 0x7.9fe70ba603d23a6p+0L : inexact-ok += asinh towardzero ldbl-96-intel 0x4p+8L : 0x7.9fe70ba603d23a6p+0L : inexact-ok += asinh upward ldbl-96-intel 0x4p+8L : 0x7.9fe70ba603d23a68p+0L : inexact-ok += asinh downward ldbl-96-m68k 0x4p+8L : 0x7.9fe70ba603d23a6p+0L : inexact-ok += asinh tonearest ldbl-96-m68k 0x4p+8L : 0x7.9fe70ba603d23a6p+0L : inexact-ok += asinh towardzero ldbl-96-m68k 0x4p+8L : 0x7.9fe70ba603d23a6p+0L : inexact-ok += asinh upward ldbl-96-m68k 0x4p+8L : 0x7.9fe70ba603d23a68p+0L : inexact-ok += asinh downward ldbl-128 0x4p+8L : 0x7.9fe70ba603d23a62821e041d8128p+0L : inexact-ok += asinh tonearest ldbl-128 0x4p+8L : 0x7.9fe70ba603d23a62821e041d812cp+0L : inexact-ok += asinh towardzero ldbl-128 0x4p+8L : 0x7.9fe70ba603d23a62821e041d8128p+0L : inexact-ok += asinh upward ldbl-128 0x4p+8L : 0x7.9fe70ba603d23a62821e041d812cp+0L : inexact-ok += asinh downward ldbl-128ibm 0x4p+8L : 0x7.9fe70ba603d23a62821e041d8p+0L : inexact-ok += asinh tonearest ldbl-128ibm 0x4p+8L : 0x7.9fe70ba603d23a62821e041d82p+0L : inexact-ok += asinh towardzero ldbl-128ibm 0x4p+8L : 0x7.9fe70ba603d23a62821e041d8p+0L : inexact-ok += asinh upward ldbl-128ibm 0x4p+8L : 0x7.9fe70ba603d23a62821e041d82p+0L : inexact-ok +asinh 0x1p11 += asinh downward flt-32 0x8p+8f : 0x8.51592p+0f : inexact-ok += asinh tonearest flt-32 0x8p+8f : 0x8.51592p+0f : inexact-ok += asinh towardzero flt-32 0x8p+8f : 0x8.51592p+0f : inexact-ok += asinh upward flt-32 0x8p+8f : 0x8.51593p+0f : inexact-ok += asinh downward dbl-64 0x8p+8 : 0x8.5159209dd5b8p+0 : inexact-ok += asinh tonearest dbl-64 0x8p+8 : 0x8.5159209dd5b8p+0 : inexact-ok += asinh towardzero dbl-64 0x8p+8 : 0x8.5159209dd5b8p+0 : inexact-ok += asinh upward dbl-64 0x8p+8 : 0x8.5159209dd5b88p+0 : inexact-ok += asinh downward ldbl-96-intel 0x8p+8L : 0x8.5159209dd5b834p+0L : inexact-ok += asinh tonearest ldbl-96-intel 0x8p+8L : 0x8.5159209dd5b8341p+0L : inexact-ok += asinh towardzero ldbl-96-intel 0x8p+8L : 0x8.5159209dd5b834p+0L : inexact-ok += asinh upward ldbl-96-intel 0x8p+8L : 0x8.5159209dd5b8341p+0L : inexact-ok += asinh downward ldbl-96-m68k 0x8p+8L : 0x8.5159209dd5b834p+0L : inexact-ok += asinh tonearest ldbl-96-m68k 0x8p+8L : 0x8.5159209dd5b8341p+0L : inexact-ok += asinh towardzero ldbl-96-m68k 0x8p+8L : 0x8.5159209dd5b834p+0L : inexact-ok += asinh upward ldbl-96-m68k 0x8p+8L : 0x8.5159209dd5b8341p+0L : inexact-ok += asinh downward ldbl-128 0x8p+8L : 0x8.5159209dd5b8340d7a01c06cc4b8p+0L : inexact-ok += asinh tonearest ldbl-128 0x8p+8L : 0x8.5159209dd5b8340d7a01c06cc4b8p+0L : inexact-ok += asinh towardzero ldbl-128 0x8p+8L : 0x8.5159209dd5b8340d7a01c06cc4b8p+0L : inexact-ok += asinh upward ldbl-128 0x8p+8L : 0x8.5159209dd5b8340d7a01c06cc4cp+0L : inexact-ok += asinh downward ldbl-128ibm 0x8p+8L : 0x8.5159209dd5b8340d7a01c06cc4p+0L : inexact-ok += asinh tonearest ldbl-128ibm 0x8p+8L : 0x8.5159209dd5b8340d7a01c06cc4p+0L : inexact-ok += asinh towardzero ldbl-128ibm 0x8p+8L : 0x8.5159209dd5b8340d7a01c06cc4p+0L : inexact-ok += asinh upward ldbl-128ibm 0x8p+8L : 0x8.5159209dd5b8340d7a01c06cc8p+0L : inexact-ok +asinh 0x1p12 += asinh downward flt-32 0x1p+12f : 0x9.02cb3p+0f : inexact-ok += asinh tonearest flt-32 0x1p+12f : 0x9.02cb3p+0f : inexact-ok += asinh towardzero flt-32 0x1p+12f : 0x9.02cb3p+0f : inexact-ok += asinh upward flt-32 0x1p+12f : 0x9.02cb4p+0f : inexact-ok += asinh downward dbl-64 0x1p+12 : 0x9.02cb37d5a789p+0 : inexact-ok += asinh tonearest dbl-64 0x1p+12 : 0x9.02cb37d5a789p+0 : inexact-ok += asinh towardzero dbl-64 0x1p+12 : 0x9.02cb37d5a789p+0 : inexact-ok += asinh upward dbl-64 0x1p+12 : 0x9.02cb37d5a7898p+0 : inexact-ok += asinh downward ldbl-96-intel 0x1p+12L : 0x9.02cb37d5a78915bp+0L : inexact-ok += asinh tonearest ldbl-96-intel 0x1p+12L : 0x9.02cb37d5a78915cp+0L : inexact-ok += asinh towardzero ldbl-96-intel 0x1p+12L : 0x9.02cb37d5a78915bp+0L : inexact-ok += asinh upward ldbl-96-intel 0x1p+12L : 0x9.02cb37d5a78915cp+0L : inexact-ok += asinh downward ldbl-96-m68k 0x1p+12L : 0x9.02cb37d5a78915bp+0L : inexact-ok += asinh tonearest ldbl-96-m68k 0x1p+12L : 0x9.02cb37d5a78915cp+0L : inexact-ok += asinh towardzero ldbl-96-m68k 0x1p+12L : 0x9.02cb37d5a78915bp+0L : inexact-ok += asinh upward ldbl-96-m68k 0x1p+12L : 0x9.02cb37d5a78915cp+0L : inexact-ok += asinh downward ldbl-128 0x1p+12L : 0x9.02cb37d5a78915b9409d740d7fe8p+0L : inexact-ok += asinh tonearest ldbl-128 0x1p+12L : 0x9.02cb37d5a78915b9409d740d7fe8p+0L : inexact-ok += asinh towardzero ldbl-128 0x1p+12L : 0x9.02cb37d5a78915b9409d740d7fe8p+0L : inexact-ok += asinh upward ldbl-128 0x1p+12L : 0x9.02cb37d5a78915b9409d740d7ffp+0L : inexact-ok += asinh downward ldbl-128ibm 0x1p+12L : 0x9.02cb37d5a78915b9409d740d7cp+0L : inexact-ok += asinh tonearest ldbl-128ibm 0x1p+12L : 0x9.02cb37d5a78915b9409d740d8p+0L : inexact-ok += asinh towardzero ldbl-128ibm 0x1p+12L : 0x9.02cb37d5a78915b9409d740d7cp+0L : inexact-ok += asinh upward ldbl-128ibm 0x1p+12L : 0x9.02cb37d5a78915b9409d740d8p+0L : inexact-ok +asinh 0x1p13 += asinh downward flt-32 0x2p+12f : 0x9.b43d4p+0f : inexact-ok += asinh tonearest flt-32 0x2p+12f : 0x9.b43d5p+0f : inexact-ok += asinh towardzero flt-32 0x2p+12f : 0x9.b43d4p+0f : inexact-ok += asinh upward flt-32 0x2p+12f : 0x9.b43d5p+0f : inexact-ok += asinh downward dbl-64 0x2p+12 : 0x9.b43d4f9d79588p+0 : inexact-ok += asinh tonearest dbl-64 0x2p+12 : 0x9.b43d4f9d79588p+0 : inexact-ok += asinh towardzero dbl-64 0x2p+12 : 0x9.b43d4f9d79588p+0 : inexact-ok += asinh upward dbl-64 0x2p+12 : 0x9.b43d4f9d7959p+0 : inexact-ok += asinh downward ldbl-96-intel 0x2p+12L : 0x9.b43d4f9d7958a5ep+0L : inexact-ok += asinh tonearest ldbl-96-intel 0x2p+12L : 0x9.b43d4f9d7958a5ep+0L : inexact-ok += asinh towardzero ldbl-96-intel 0x2p+12L : 0x9.b43d4f9d7958a5ep+0L : inexact-ok += asinh upward ldbl-96-intel 0x2p+12L : 0x9.b43d4f9d7958a5fp+0L : inexact-ok += asinh downward ldbl-96-m68k 0x2p+12L : 0x9.b43d4f9d7958a5ep+0L : inexact-ok += asinh tonearest ldbl-96-m68k 0x2p+12L : 0x9.b43d4f9d7958a5ep+0L : inexact-ok += asinh towardzero ldbl-96-m68k 0x2p+12L : 0x9.b43d4f9d7958a5ep+0L : inexact-ok += asinh upward ldbl-96-m68k 0x2p+12L : 0x9.b43d4f9d7958a5fp+0L : inexact-ok += asinh downward ldbl-128 0x2p+12L : 0x9.b43d4f9d7958a5e50a7407a58c9p+0L : inexact-ok += asinh tonearest ldbl-128 0x2p+12L : 0x9.b43d4f9d7958a5e50a7407a58c98p+0L : inexact-ok += asinh towardzero ldbl-128 0x2p+12L : 0x9.b43d4f9d7958a5e50a7407a58c9p+0L : inexact-ok += asinh upward ldbl-128 0x2p+12L : 0x9.b43d4f9d7958a5e50a7407a58c98p+0L : inexact-ok += asinh downward ldbl-128ibm 0x2p+12L : 0x9.b43d4f9d7958a5e50a7407a58cp+0L : inexact-ok += asinh tonearest ldbl-128ibm 0x2p+12L : 0x9.b43d4f9d7958a5e50a7407a58cp+0L : inexact-ok += asinh towardzero ldbl-128ibm 0x2p+12L : 0x9.b43d4f9d7958a5e50a7407a58cp+0L : inexact-ok += asinh upward ldbl-128ibm 0x2p+12L : 0x9.b43d4f9d7958a5e50a7407a59p+0L : inexact-ok +asinh 0x1p24 += asinh downward flt-32 0x1p+24f : 0x1.154244p+4f : inexact-ok += asinh tonearest flt-32 0x1p+24f : 0x1.154246p+4f : inexact-ok += asinh towardzero flt-32 0x1p+24f : 0x1.154244p+4f : inexact-ok += asinh upward flt-32 0x1p+24f : 0x1.154246p+4f : inexact-ok += asinh downward dbl-64 0x1p+24 : 0x1.1542457337d43p+4 : inexact-ok += asinh tonearest dbl-64 0x1p+24 : 0x1.1542457337d43p+4 : inexact-ok += asinh towardzero dbl-64 0x1p+24 : 0x1.1542457337d43p+4 : inexact-ok += asinh upward dbl-64 0x1p+24 : 0x1.1542457337d44p+4 : inexact-ok += asinh downward ldbl-96-intel 0x1p+24L : 0x1.1542457337d4321cp+4L : inexact-ok += asinh tonearest ldbl-96-intel 0x1p+24L : 0x1.1542457337d4321cp+4L : inexact-ok += asinh towardzero ldbl-96-intel 0x1p+24L : 0x1.1542457337d4321cp+4L : inexact-ok += asinh upward ldbl-96-intel 0x1p+24L : 0x1.1542457337d4321ep+4L : inexact-ok += asinh downward ldbl-96-m68k 0x1p+24L : 0x1.1542457337d4321cp+4L : inexact-ok += asinh tonearest ldbl-96-m68k 0x1p+24L : 0x1.1542457337d4321cp+4L : inexact-ok += asinh towardzero ldbl-96-m68k 0x1p+24L : 0x1.1542457337d4321cp+4L : inexact-ok += asinh upward ldbl-96-m68k 0x1p+24L : 0x1.1542457337d4321ep+4L : inexact-ok += asinh downward ldbl-128 0x1p+24L : 0x1.1542457337d4321c6b73c89d84abp+4L : inexact-ok += asinh tonearest ldbl-128 0x1p+24L : 0x1.1542457337d4321c6b73c89d84acp+4L : inexact-ok += asinh towardzero ldbl-128 0x1p+24L : 0x1.1542457337d4321c6b73c89d84abp+4L : inexact-ok += asinh upward ldbl-128 0x1p+24L : 0x1.1542457337d4321c6b73c89d84acp+4L : inexact-ok += asinh downward ldbl-128ibm 0x1p+24L : 0x1.1542457337d4321c6b73c89d848p+4L : inexact-ok += asinh tonearest ldbl-128ibm 0x1p+24L : 0x1.1542457337d4321c6b73c89d848p+4L : inexact-ok += asinh towardzero ldbl-128ibm 0x1p+24L : 0x1.1542457337d4321c6b73c89d848p+4L : inexact-ok += asinh upward ldbl-128ibm 0x1p+24L : 0x1.1542457337d4321c6b73c89d85p+4L : inexact-ok +asinh 0x1p25 += asinh downward flt-32 0x2p+24f : 0x1.205966p+4f : inexact-ok += asinh tonearest flt-32 0x2p+24f : 0x1.205966p+4f : inexact-ok += asinh towardzero flt-32 0x2p+24f : 0x1.205966p+4f : inexact-ok += asinh upward flt-32 0x2p+24f : 0x1.205968p+4f : inexact-ok += asinh downward dbl-64 0x2p+24 : 0x1.205966f2b4f12p+4 : inexact-ok += asinh tonearest dbl-64 0x2p+24 : 0x1.205966f2b4f12p+4 : inexact-ok += asinh towardzero dbl-64 0x2p+24 : 0x1.205966f2b4f12p+4 : inexact-ok += asinh upward dbl-64 0x2p+24 : 0x1.205966f2b4f13p+4 : inexact-ok += asinh downward ldbl-96-intel 0x2p+24L : 0x1.205966f2b4f126b6p+4L : inexact-ok += asinh tonearest ldbl-96-intel 0x2p+24L : 0x1.205966f2b4f126b8p+4L : inexact-ok += asinh towardzero ldbl-96-intel 0x2p+24L : 0x1.205966f2b4f126b6p+4L : inexact-ok += asinh upward ldbl-96-intel 0x2p+24L : 0x1.205966f2b4f126b8p+4L : inexact-ok += asinh downward ldbl-96-m68k 0x2p+24L : 0x1.205966f2b4f126b6p+4L : inexact-ok += asinh tonearest ldbl-96-m68k 0x2p+24L : 0x1.205966f2b4f126b8p+4L : inexact-ok += asinh towardzero ldbl-96-m68k 0x2p+24L : 0x1.205966f2b4f126b6p+4L : inexact-ok += asinh upward ldbl-96-m68k 0x2p+24L : 0x1.205966f2b4f126b8p+4L : inexact-ok += asinh downward ldbl-128 0x2p+24L : 0x1.205966f2b4f126b7281203d70652p+4L : inexact-ok += asinh tonearest ldbl-128 0x2p+24L : 0x1.205966f2b4f126b7281203d70653p+4L : inexact-ok += asinh towardzero ldbl-128 0x2p+24L : 0x1.205966f2b4f126b7281203d70652p+4L : inexact-ok += asinh upward ldbl-128 0x2p+24L : 0x1.205966f2b4f126b7281203d70653p+4L : inexact-ok += asinh downward ldbl-128ibm 0x2p+24L : 0x1.205966f2b4f126b7281203d706p+4L : inexact-ok += asinh tonearest ldbl-128ibm 0x2p+24L : 0x1.205966f2b4f126b7281203d7068p+4L : inexact-ok += asinh towardzero ldbl-128ibm 0x2p+24L : 0x1.205966f2b4f126b7281203d706p+4L : inexact-ok += asinh upward ldbl-128ibm 0x2p+24L : 0x1.205966f2b4f126b7281203d7068p+4L : inexact-ok +asinh 0x1p26 += asinh downward flt-32 0x4p+24f : 0x1.2b7088p+4f : inexact-ok += asinh tonearest flt-32 0x4p+24f : 0x1.2b7088p+4f : inexact-ok += asinh towardzero flt-32 0x4p+24f : 0x1.2b7088p+4f : inexact-ok += asinh upward flt-32 0x4p+24f : 0x1.2b708ap+4f : inexact-ok += asinh downward dbl-64 0x4p+24 : 0x1.2b708872320e1p+4 : inexact-ok += asinh tonearest dbl-64 0x4p+24 : 0x1.2b708872320e2p+4 : inexact-ok += asinh towardzero dbl-64 0x4p+24 : 0x1.2b708872320e1p+4 : inexact-ok += asinh upward dbl-64 0x4p+24 : 0x1.2b708872320e2p+4 : inexact-ok += asinh downward ldbl-96-intel 0x4p+24L : 0x1.2b708872320e1d9p+4L : inexact-ok += asinh tonearest ldbl-96-intel 0x4p+24L : 0x1.2b708872320e1d92p+4L : inexact-ok += asinh towardzero ldbl-96-intel 0x4p+24L : 0x1.2b708872320e1d9p+4L : inexact-ok += asinh upward ldbl-96-intel 0x4p+24L : 0x1.2b708872320e1d92p+4L : inexact-ok += asinh downward ldbl-96-m68k 0x4p+24L : 0x1.2b708872320e1d9p+4L : inexact-ok += asinh tonearest ldbl-96-m68k 0x4p+24L : 0x1.2b708872320e1d92p+4L : inexact-ok += asinh towardzero ldbl-96-m68k 0x4p+24L : 0x1.2b708872320e1d9p+4L : inexact-ok += asinh upward ldbl-96-m68k 0x4p+24L : 0x1.2b708872320e1d92p+4L : inexact-ok += asinh downward ldbl-128 0x4p+24L : 0x1.2b708872320e1d91e4b03f1086a8p+4L : inexact-ok += asinh tonearest ldbl-128 0x4p+24L : 0x1.2b708872320e1d91e4b03f1086a9p+4L : inexact-ok += asinh towardzero ldbl-128 0x4p+24L : 0x1.2b708872320e1d91e4b03f1086a8p+4L : inexact-ok += asinh upward ldbl-128 0x4p+24L : 0x1.2b708872320e1d91e4b03f1086a9p+4L : inexact-ok += asinh downward ldbl-128ibm 0x4p+24L : 0x1.2b708872320e1d91e4b03f10868p+4L : inexact-ok += asinh tonearest ldbl-128ibm 0x4p+24L : 0x1.2b708872320e1d91e4b03f10868p+4L : inexact-ok += asinh towardzero ldbl-128ibm 0x4p+24L : 0x1.2b708872320e1d91e4b03f10868p+4L : inexact-ok += asinh upward ldbl-128ibm 0x4p+24L : 0x1.2b708872320e1d91e4b03f1087p+4L : inexact-ok +asinh 0x1p27 += asinh downward flt-32 0x8p+24f : 0x1.3687a8p+4f : inexact-ok += asinh tonearest flt-32 0x8p+24f : 0x1.3687aap+4f : inexact-ok += asinh towardzero flt-32 0x8p+24f : 0x1.3687a8p+4f : inexact-ok += asinh upward flt-32 0x8p+24f : 0x1.3687aap+4f : inexact-ok += asinh downward dbl-64 0x8p+24 : 0x1.3687a9f1af2b1p+4 : inexact-ok += asinh tonearest dbl-64 0x8p+24 : 0x1.3687a9f1af2b1p+4 : inexact-ok += asinh towardzero dbl-64 0x8p+24 : 0x1.3687a9f1af2b1p+4 : inexact-ok += asinh upward dbl-64 0x8p+24 : 0x1.3687a9f1af2b2p+4 : inexact-ok += asinh downward ldbl-96-intel 0x8p+24L : 0x1.3687a9f1af2b14fcp+4L : inexact-ok += asinh tonearest ldbl-96-intel 0x8p+24L : 0x1.3687a9f1af2b14fcp+4L : inexact-ok += asinh towardzero ldbl-96-intel 0x8p+24L : 0x1.3687a9f1af2b14fcp+4L : inexact-ok += asinh upward ldbl-96-intel 0x8p+24L : 0x1.3687a9f1af2b14fep+4L : inexact-ok += asinh downward ldbl-96-m68k 0x8p+24L : 0x1.3687a9f1af2b14fcp+4L : inexact-ok += asinh tonearest ldbl-96-m68k 0x8p+24L : 0x1.3687a9f1af2b14fcp+4L : inexact-ok += asinh towardzero ldbl-96-m68k 0x8p+24L : 0x1.3687a9f1af2b14fcp+4L : inexact-ok += asinh upward ldbl-96-m68k 0x8p+24L : 0x1.3687a9f1af2b14fep+4L : inexact-ok += asinh downward ldbl-128 0x8p+24L : 0x1.3687a9f1af2b14fca14e7a4a06e9p+4L : inexact-ok += asinh tonearest ldbl-128 0x8p+24L : 0x1.3687a9f1af2b14fca14e7a4a06e9p+4L : inexact-ok += asinh towardzero ldbl-128 0x8p+24L : 0x1.3687a9f1af2b14fca14e7a4a06e9p+4L : inexact-ok += asinh upward ldbl-128 0x8p+24L : 0x1.3687a9f1af2b14fca14e7a4a06eap+4L : inexact-ok += asinh downward ldbl-128ibm 0x8p+24L : 0x1.3687a9f1af2b14fca14e7a4a068p+4L : inexact-ok += asinh tonearest ldbl-128ibm 0x8p+24L : 0x1.3687a9f1af2b14fca14e7a4a07p+4L : inexact-ok += asinh towardzero ldbl-128ibm 0x8p+24L : 0x1.3687a9f1af2b14fca14e7a4a068p+4L : inexact-ok += asinh upward ldbl-128ibm 0x8p+24L : 0x1.3687a9f1af2b14fca14e7a4a07p+4L : inexact-ok +asinh 0x1p28 += asinh downward flt-32 0x1p+28f : 0x1.419ecap+4f : inexact-ok += asinh tonearest flt-32 0x1p+28f : 0x1.419eccp+4f : inexact-ok += asinh towardzero flt-32 0x1p+28f : 0x1.419ecap+4f : inexact-ok += asinh upward flt-32 0x1p+28f : 0x1.419eccp+4f : inexact-ok += asinh downward dbl-64 0x1p+28 : 0x1.419ecb712c48p+4 : inexact-ok += asinh tonearest dbl-64 0x1p+28 : 0x1.419ecb712c481p+4 : inexact-ok += asinh towardzero dbl-64 0x1p+28 : 0x1.419ecb712c48p+4 : inexact-ok += asinh upward dbl-64 0x1p+28 : 0x1.419ecb712c481p+4 : inexact-ok += asinh downward ldbl-96-intel 0x1p+28L : 0x1.419ecb712c480c8ap+4L : inexact-ok += asinh tonearest ldbl-96-intel 0x1p+28L : 0x1.419ecb712c480c8cp+4L : inexact-ok += asinh towardzero ldbl-96-intel 0x1p+28L : 0x1.419ecb712c480c8ap+4L : inexact-ok += asinh upward ldbl-96-intel 0x1p+28L : 0x1.419ecb712c480c8cp+4L : inexact-ok += asinh downward ldbl-96-m68k 0x1p+28L : 0x1.419ecb712c480c8ap+4L : inexact-ok += asinh tonearest ldbl-96-m68k 0x1p+28L : 0x1.419ecb712c480c8cp+4L : inexact-ok += asinh towardzero ldbl-96-m68k 0x1p+28L : 0x1.419ecb712c480c8ap+4L : inexact-ok += asinh upward ldbl-96-m68k 0x1p+28L : 0x1.419ecb712c480c8cp+4L : inexact-ok += asinh downward ldbl-128 0x1p+28L : 0x1.419ecb712c480c8b5decb5838728p+4L : inexact-ok += asinh tonearest ldbl-128 0x1p+28L : 0x1.419ecb712c480c8b5decb5838728p+4L : inexact-ok += asinh towardzero ldbl-128 0x1p+28L : 0x1.419ecb712c480c8b5decb5838728p+4L : inexact-ok += asinh upward ldbl-128 0x1p+28L : 0x1.419ecb712c480c8b5decb5838729p+4L : inexact-ok += asinh downward ldbl-128ibm 0x1p+28L : 0x1.419ecb712c480c8b5decb58387p+4L : inexact-ok += asinh tonearest ldbl-128ibm 0x1p+28L : 0x1.419ecb712c480c8b5decb58387p+4L : inexact-ok += asinh towardzero ldbl-128ibm 0x1p+28L : 0x1.419ecb712c480c8b5decb58387p+4L : inexact-ok += asinh upward ldbl-128ibm 0x1p+28L : 0x1.419ecb712c480c8b5decb583878p+4L : inexact-ok +asinh 0x1p29 += asinh downward flt-32 0x2p+28f : 0x1.4cb5ecp+4f : inexact-ok += asinh tonearest flt-32 0x2p+28f : 0x1.4cb5ecp+4f : inexact-ok += asinh towardzero flt-32 0x2p+28f : 0x1.4cb5ecp+4f : inexact-ok += asinh upward flt-32 0x2p+28f : 0x1.4cb5eep+4f : inexact-ok += asinh downward dbl-64 0x2p+28 : 0x1.4cb5ecf0a965p+4 : inexact-ok += asinh tonearest dbl-64 0x2p+28 : 0x1.4cb5ecf0a965p+4 : inexact-ok += asinh towardzero dbl-64 0x2p+28 : 0x1.4cb5ecf0a965p+4 : inexact-ok += asinh upward dbl-64 0x2p+28 : 0x1.4cb5ecf0a9651p+4 : inexact-ok += asinh downward ldbl-96-intel 0x2p+28L : 0x1.4cb5ecf0a9650422p+4L : inexact-ok += asinh tonearest ldbl-96-intel 0x2p+28L : 0x1.4cb5ecf0a9650424p+4L : inexact-ok += asinh towardzero ldbl-96-intel 0x2p+28L : 0x1.4cb5ecf0a9650422p+4L : inexact-ok += asinh upward ldbl-96-intel 0x2p+28L : 0x1.4cb5ecf0a9650424p+4L : inexact-ok += asinh downward ldbl-96-m68k 0x2p+28L : 0x1.4cb5ecf0a9650422p+4L : inexact-ok += asinh tonearest ldbl-96-m68k 0x2p+28L : 0x1.4cb5ecf0a9650424p+4L : inexact-ok += asinh towardzero ldbl-96-m68k 0x2p+28L : 0x1.4cb5ecf0a9650422p+4L : inexact-ok += asinh upward ldbl-96-m68k 0x2p+28L : 0x1.4cb5ecf0a9650424p+4L : inexact-ok += asinh downward ldbl-128 0x2p+28L : 0x1.4cb5ecf0a96504231a8af0bd0767p+4L : inexact-ok += asinh tonearest ldbl-128 0x2p+28L : 0x1.4cb5ecf0a96504231a8af0bd0768p+4L : inexact-ok += asinh towardzero ldbl-128 0x2p+28L : 0x1.4cb5ecf0a96504231a8af0bd0767p+4L : inexact-ok += asinh upward ldbl-128 0x2p+28L : 0x1.4cb5ecf0a96504231a8af0bd0768p+4L : inexact-ok += asinh downward ldbl-128ibm 0x2p+28L : 0x1.4cb5ecf0a96504231a8af0bd07p+4L : inexact-ok += asinh tonearest ldbl-128ibm 0x2p+28L : 0x1.4cb5ecf0a96504231a8af0bd078p+4L : inexact-ok += asinh towardzero ldbl-128ibm 0x2p+28L : 0x1.4cb5ecf0a96504231a8af0bd07p+4L : inexact-ok += asinh upward ldbl-128ibm 0x2p+28L : 0x1.4cb5ecf0a96504231a8af0bd078p+4L : inexact-ok +asinh 0x1p30 += asinh downward flt-32 0x4p+28f : 0x1.57cd0ep+4f : inexact-ok += asinh tonearest flt-32 0x4p+28f : 0x1.57cd0ep+4f : inexact-ok += asinh towardzero flt-32 0x4p+28f : 0x1.57cd0ep+4f : inexact-ok += asinh upward flt-32 0x4p+28f : 0x1.57cd1p+4f : inexact-ok += asinh downward dbl-64 0x4p+28 : 0x1.57cd0e702681fp+4 : inexact-ok += asinh tonearest dbl-64 0x4p+28 : 0x1.57cd0e702682p+4 : inexact-ok += asinh towardzero dbl-64 0x4p+28 : 0x1.57cd0e702681fp+4 : inexact-ok += asinh upward dbl-64 0x4p+28 : 0x1.57cd0e702682p+4 : inexact-ok += asinh downward ldbl-96-intel 0x4p+28L : 0x1.57cd0e702681fbbcp+4L : inexact-ok += asinh tonearest ldbl-96-intel 0x4p+28L : 0x1.57cd0e702681fbbep+4L : inexact-ok += asinh towardzero ldbl-96-intel 0x4p+28L : 0x1.57cd0e702681fbbcp+4L : inexact-ok += asinh upward ldbl-96-intel 0x4p+28L : 0x1.57cd0e702681fbbep+4L : inexact-ok += asinh downward ldbl-96-m68k 0x4p+28L : 0x1.57cd0e702681fbbcp+4L : inexact-ok += asinh tonearest ldbl-96-m68k 0x4p+28L : 0x1.57cd0e702681fbbep+4L : inexact-ok += asinh towardzero ldbl-96-m68k 0x4p+28L : 0x1.57cd0e702681fbbcp+4L : inexact-ok += asinh upward ldbl-96-m68k 0x4p+28L : 0x1.57cd0e702681fbbep+4L : inexact-ok += asinh downward ldbl-128 0x4p+28L : 0x1.57cd0e702681fbbd17292bf687a6p+4L : inexact-ok += asinh tonearest ldbl-128 0x4p+28L : 0x1.57cd0e702681fbbd17292bf687a7p+4L : inexact-ok += asinh towardzero ldbl-128 0x4p+28L : 0x1.57cd0e702681fbbd17292bf687a6p+4L : inexact-ok += asinh upward ldbl-128 0x4p+28L : 0x1.57cd0e702681fbbd17292bf687a7p+4L : inexact-ok += asinh downward ldbl-128ibm 0x4p+28L : 0x1.57cd0e702681fbbd17292bf6878p+4L : inexact-ok += asinh tonearest ldbl-128ibm 0x4p+28L : 0x1.57cd0e702681fbbd17292bf6878p+4L : inexact-ok += asinh towardzero ldbl-128ibm 0x4p+28L : 0x1.57cd0e702681fbbd17292bf6878p+4L : inexact-ok += asinh upward ldbl-128ibm 0x4p+28L : 0x1.57cd0e702681fbbd17292bf688p+4L : inexact-ok +asinh 0x1p31 += asinh downward flt-32 0x8p+28f : 0x1.62e42ep+4f : inexact-ok += asinh tonearest flt-32 0x8p+28f : 0x1.62e43p+4f : inexact-ok += asinh towardzero flt-32 0x8p+28f : 0x1.62e42ep+4f : inexact-ok += asinh upward flt-32 0x8p+28f : 0x1.62e43p+4f : inexact-ok += asinh downward dbl-64 0x8p+28 : 0x1.62e42fefa39efp+4 : inexact-ok += asinh tonearest dbl-64 0x8p+28 : 0x1.62e42fefa39efp+4 : inexact-ok += asinh towardzero dbl-64 0x8p+28 : 0x1.62e42fefa39efp+4 : inexact-ok += asinh upward dbl-64 0x8p+28 : 0x1.62e42fefa39fp+4 : inexact-ok += asinh downward ldbl-96-intel 0x8p+28L : 0x1.62e42fefa39ef356p+4L : inexact-ok += asinh tonearest ldbl-96-intel 0x8p+28L : 0x1.62e42fefa39ef358p+4L : inexact-ok += asinh towardzero ldbl-96-intel 0x8p+28L : 0x1.62e42fefa39ef356p+4L : inexact-ok += asinh upward ldbl-96-intel 0x8p+28L : 0x1.62e42fefa39ef358p+4L : inexact-ok += asinh downward ldbl-96-m68k 0x8p+28L : 0x1.62e42fefa39ef356p+4L : inexact-ok += asinh tonearest ldbl-96-m68k 0x8p+28L : 0x1.62e42fefa39ef358p+4L : inexact-ok += asinh towardzero ldbl-96-m68k 0x8p+28L : 0x1.62e42fefa39ef356p+4L : inexact-ok += asinh upward ldbl-96-m68k 0x8p+28L : 0x1.62e42fefa39ef358p+4L : inexact-ok += asinh downward ldbl-128 0x8p+28L : 0x1.62e42fefa39ef357a3c7673007e5p+4L : inexact-ok += asinh tonearest ldbl-128 0x8p+28L : 0x1.62e42fefa39ef357a3c7673007e6p+4L : inexact-ok += asinh towardzero ldbl-128 0x8p+28L : 0x1.62e42fefa39ef357a3c7673007e5p+4L : inexact-ok += asinh upward ldbl-128 0x8p+28L : 0x1.62e42fefa39ef357a3c7673007e6p+4L : inexact-ok += asinh downward ldbl-128ibm 0x8p+28L : 0x1.62e42fefa39ef357a3c76730078p+4L : inexact-ok += asinh tonearest ldbl-128ibm 0x8p+28L : 0x1.62e42fefa39ef357a3c7673008p+4L : inexact-ok += asinh towardzero ldbl-128ibm 0x8p+28L : 0x1.62e42fefa39ef357a3c76730078p+4L : inexact-ok += asinh upward ldbl-128ibm 0x8p+28L : 0x1.62e42fefa39ef357a3c7673008p+4L : inex |
