]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
Fix exp10 spurious underflows (bug 16560).
authorJoseph Myers <joseph@codesourcery.com>
Wed, 25 Jun 2014 11:33:22 +0000 (11:33 +0000)
committerJoseph Myers <joseph@codesourcery.com>
Wed, 25 Jun 2014 11:33:22 +0000 (11:33 +0000)
This patch fixes spurious underflows from exp10 for arguments near 0
(part of bug 16560; that bug also includes spurious underflows from
exp2, which are not fixed by this patch).  The problem is underflows
in the internal computation converting the exp10 argument to arguments
for exp (with extra precision), and the fix is simply to return 1
early for arguments near enough to 0 (just as arguments with large
enough magnitude have their own overflow / underflow logic at the
start of the function).

Tested x86_64 and x86 and ulps updated accordingly; also tested for
powerpc32 and mips64 to validate the ldbl-128ibm and ldbl-128 changes.

[BZ #16560]
* sysdeps/ieee754/dbl-64/e_exp10.c (__ieee754_exp10): Return 1 for
arguments close to 0.
* sysdeps/ieee754/ldbl-128/e_exp10l.c (__ieee754_exp10l):
Likewise.
* sysdeps/ieee754/ldbl-128ibm/e_exp10l.c (__ieee754_exp10l):
Likewise.
* math/auto-libm-test-in: Add more tests of exp10.
* math/auto-libm-test-out: Regenerated.
* sysdeps/x86_64/fpu/libm-test-ulps: Update.

ChangeLog
math/auto-libm-test-in
math/auto-libm-test-out
sysdeps/ieee754/dbl-64/e_exp10.c
sysdeps/ieee754/ldbl-128/e_exp10l.c
sysdeps/ieee754/ldbl-128ibm/e_exp10l.c
sysdeps/x86_64/fpu/libm-test-ulps

index 60a665d825b42ed29a8e61966834a8036b95b830..00b91c72ffec7696a5480068a7da8b28ed1ea9cb 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,16 @@
 2014-06-25  Joseph Myers  <joseph@codesourcery.com>
 
+       [BZ #16560]
+       * sysdeps/ieee754/dbl-64/e_exp10.c (__ieee754_exp10): Return 1 for
+       arguments close to 0.
+       * sysdeps/ieee754/ldbl-128/e_exp10l.c (__ieee754_exp10l):
+       Likewise.
+       * sysdeps/ieee754/ldbl-128ibm/e_exp10l.c (__ieee754_exp10l):
+       Likewise.
+       * math/auto-libm-test-in: Add more tests of exp10.
+       * math/auto-libm-test-out: Regenerated.
+       * sysdeps/x86_64/fpu/libm-test-ulps: Update.
+
        * sysdeps/unix/sysv/linux/kernel-features.h
        (__ASSUME_COMPLETE_READV_WRITEV): Remove macro.
        * sysdeps/unix/sysv/linux/readv.c: Do not include
index f36d200df5a50f19e682313dab0f266a2cf3750d..48c5c6c90d8a99defd4d343cca84bb907779c827 100644 (file)
@@ -902,6 +902,24 @@ exp10 -max
 exp10 0.75
 # GCC bug 59666: results on directed rounding may be incorrect.
 exp10 0x1.348e45573a1dd72cp+8 xfail-rounding:ldbl-128ibm
+exp10 0x1p-10
+exp10 -0x1p-10
+exp10 0x1p-20
+exp10 -0x1p-20
+exp10 0x1p-30
+exp10 -0x1p-30
+exp10 0x1p-40
+exp10 -0x1p-40
+exp10 0x1p-50
+exp10 -0x1p-50
+exp10 0x1p-60
+exp10 -0x1p-60
+exp10 0x1p-100
+exp10 -0x1p-100
+exp10 min
+exp10 -min
+exp10 min_subnorm
+exp10 -min_subnorm
 
 exp2 0
 exp2 -0
index ced5283ab297be03f6c01848eaa17dc4418c70dc..4187d610b214a5ba610a3b5ee778b554c6e018d8 100644 (file)
@@ -91269,6 +91269,672 @@ exp10 0x1.348e45573a1dd72cp+8 xfail-rounding:ldbl-128ibm
 = exp10 tonearest ldbl-128ibm 0x1.348e45573a1dd72cp+8L : plus_infty : inexact-ok overflow errno-erange
 = exp10 towardzero ldbl-128ibm 0x1.348e45573a1dd72cp+8L : 0xf.ffffffffffffbffffffffffffcp+1020L : xfail:ldbl-128ibm inexact-ok overflow errno-erange-ok
 = exp10 upward ldbl-128ibm 0x1.348e45573a1dd72cp+8L : plus_infty : xfail:ldbl-128ibm inexact-ok overflow errno-erange
+exp10 0x1p-10
+= exp10 downward flt-32 0x4p-12f : 0x1.009388p+0f : inexact-ok
+= exp10 tonearest flt-32 0x4p-12f : 0x1.009388p+0f : inexact-ok
+= exp10 towardzero flt-32 0x4p-12f : 0x1.009388p+0f : inexact-ok
+= exp10 upward flt-32 0x4p-12f : 0x1.00938ap+0f : inexact-ok
+= exp10 downward dbl-64 0x4p-12 : 0x1.009388004be7ep+0 : inexact-ok
+= exp10 tonearest dbl-64 0x4p-12 : 0x1.009388004be7ep+0 : inexact-ok
+= exp10 towardzero dbl-64 0x4p-12 : 0x1.009388004be7ep+0 : inexact-ok
+= exp10 upward dbl-64 0x4p-12 : 0x1.009388004be7fp+0 : inexact-ok
+= exp10 downward ldbl-96-intel 0x4p-12L : 0x1.009388004be7e558p+0L : inexact-ok
+= exp10 tonearest ldbl-96-intel 0x4p-12L : 0x1.009388004be7e55ap+0L : inexact-ok
+= exp10 towardzero ldbl-96-intel 0x4p-12L : 0x1.009388004be7e558p+0L : inexact-ok
+= exp10 upward ldbl-96-intel 0x4p-12L : 0x1.009388004be7e55ap+0L : inexact-ok
+= exp10 downward ldbl-96-m68k 0x4p-12L : 0x1.009388004be7e558p+0L : inexact-ok
+= exp10 tonearest ldbl-96-m68k 0x4p-12L : 0x1.009388004be7e55ap+0L : inexact-ok
+= exp10 towardzero ldbl-96-m68k 0x4p-12L : 0x1.009388004be7e558p+0L : inexact-ok
+= exp10 upward ldbl-96-m68k 0x4p-12L : 0x1.009388004be7e55ap+0L : inexact-ok
+= exp10 downward ldbl-128 0x4p-12L : 0x1.009388004be7e5592e3f8d6c8273p+0L : inexact-ok
+= exp10 tonearest ldbl-128 0x4p-12L : 0x1.009388004be7e5592e3f8d6c8273p+0L : inexact-ok
+= exp10 towardzero ldbl-128 0x4p-12L : 0x1.009388004be7e5592e3f8d6c8273p+0L : inexact-ok
+= exp10 upward ldbl-128 0x4p-12L : 0x1.009388004be7e5592e3f8d6c8274p+0L : inexact-ok
+= exp10 downward ldbl-128ibm 0x4p-12L : 0x1.009388004be7e5592e3f8d6c82p+0L : inexact-ok
+= exp10 tonearest ldbl-128ibm 0x4p-12L : 0x1.009388004be7e5592e3f8d6c828p+0L : inexact-ok
+= exp10 towardzero ldbl-128ibm 0x4p-12L : 0x1.009388004be7e5592e3f8d6c82p+0L : inexact-ok
+= exp10 upward ldbl-128ibm 0x4p-12L : 0x1.009388004be7e5592e3f8d6c828p+0L : inexact-ok
+exp10 -0x1p-10
+= exp10 downward flt-32 -0x4p-12f : 0xf.f6cccp-4f : inexact-ok
+= exp10 tonearest flt-32 -0x4p-12f : 0xf.f6ccdp-4f : inexact-ok
+= exp10 towardzero flt-32 -0x4p-12f : 0xf.f6cccp-4f : inexact-ok
+= exp10 upward flt-32 -0x4p-12f : 0xf.f6ccdp-4f : inexact-ok
+= exp10 downward dbl-64 -0x4p-12 : 0xf.f6cccd4498cb8p-4 : inexact-ok
+= exp10 tonearest dbl-64 -0x4p-12 : 0xf.f6cccd4498ccp-4 : inexact-ok
+= exp10 towardzero dbl-64 -0x4p-12 : 0xf.f6cccd4498cb8p-4 : inexact-ok
+= exp10 upward dbl-64 -0x4p-12 : 0xf.f6cccd4498ccp-4 : inexact-ok
+= exp10 downward ldbl-96-intel -0x4p-12L : 0xf.f6cccd4498cbd18p-4L : inexact-ok
+= exp10 tonearest ldbl-96-intel -0x4p-12L : 0xf.f6cccd4498cbd18p-4L : inexact-ok
+= exp10 towardzero ldbl-96-intel -0x4p-12L : 0xf.f6cccd4498cbd18p-4L : inexact-ok
+= exp10 upward ldbl-96-intel -0x4p-12L : 0xf.f6cccd4498cbd19p-4L : inexact-ok
+= exp10 downward ldbl-96-m68k -0x4p-12L : 0xf.f6cccd4498cbd18p-4L : inexact-ok
+= exp10 tonearest ldbl-96-m68k -0x4p-12L : 0xf.f6cccd4498cbd18p-4L : inexact-ok
+= exp10 towardzero ldbl-96-m68k -0x4p-12L : 0xf.f6cccd4498cbd18p-4L : inexact-ok
+= exp10 upward ldbl-96-m68k -0x4p-12L : 0xf.f6cccd4498cbd19p-4L : inexact-ok
+= exp10 downward ldbl-128 -0x4p-12L : 0xf.f6cccd4498cbd185346978c830b8p-4L : inexact-ok
+= exp10 tonearest ldbl-128 -0x4p-12L : 0xf.f6cccd4498cbd185346978c830b8p-4L : inexact-ok
+= exp10 towardzero ldbl-128 -0x4p-12L : 0xf.f6cccd4498cbd185346978c830b8p-4L : inexact-ok
+= exp10 upward ldbl-128 -0x4p-12L : 0xf.f6cccd4498cbd185346978c830cp-4L : inexact-ok
+= exp10 downward ldbl-128ibm -0x4p-12L : 0xf.f6cccd4498cbd185346978c83p-4L : inexact-ok
+= exp10 tonearest ldbl-128ibm -0x4p-12L : 0xf.f6cccd4498cbd185346978c83p-4L : inexact-ok
+= exp10 towardzero ldbl-128ibm -0x4p-12L : 0xf.f6cccd4498cbd185346978c83p-4L : inexact-ok
+= exp10 upward ldbl-128ibm -0x4p-12L : 0xf.f6cccd4498cbd185346978c834p-4L : inexact-ok
+exp10 0x1p-20
+= exp10 downward flt-32 0x1p-20f : 0x1.000024p+0f : inexact-ok
+= exp10 tonearest flt-32 0x1p-20f : 0x1.000024p+0f : inexact-ok
+= exp10 towardzero flt-32 0x1p-20f : 0x1.000024p+0f : inexact-ok
+= exp10 upward flt-32 0x1p-20f : 0x1.000026p+0f : inexact-ok
+= exp10 downward dbl-64 0x1p-20 : 0x1.000024d7661ep+0 : inexact-ok
+= exp10 tonearest dbl-64 0x1p-20 : 0x1.000024d7661e1p+0 : inexact-ok
+= exp10 towardzero dbl-64 0x1p-20 : 0x1.000024d7661ep+0 : inexact-ok
+= exp10 upward dbl-64 0x1p-20 : 0x1.000024d7661e1p+0 : inexact-ok
+= exp10 downward ldbl-96-intel 0x1p-20L : 0x1.000024d7661e0f62p+0L : inexact-ok
+= exp10 tonearest ldbl-96-intel 0x1p-20L : 0x1.000024d7661e0f64p+0L : inexact-ok
+= exp10 towardzero ldbl-96-intel 0x1p-20L : 0x1.000024d7661e0f62p+0L : inexact-ok
+= exp10 upward ldbl-96-intel 0x1p-20L : 0x1.000024d7661e0f64p+0L : inexact-ok
+= exp10 downward ldbl-96-m68k 0x1p-20L : 0x1.000024d7661e0f62p+0L : inexact-ok
+= exp10 tonearest ldbl-96-m68k 0x1p-20L : 0x1.000024d7661e0f64p+0L : inexact-ok
+= exp10 towardzero ldbl-96-m68k 0x1p-20L : 0x1.000024d7661e0f62p+0L : inexact-ok
+= exp10 upward ldbl-96-m68k 0x1p-20L : 0x1.000024d7661e0f64p+0L : inexact-ok
+= exp10 downward ldbl-128 0x1p-20L : 0x1.000024d7661e0f63a0af573a6217p+0L : inexact-ok
+= exp10 tonearest ldbl-128 0x1p-20L : 0x1.000024d7661e0f63a0af573a6217p+0L : inexact-ok
+= exp10 towardzero ldbl-128 0x1p-20L : 0x1.000024d7661e0f63a0af573a6217p+0L : inexact-ok
+= exp10 upward ldbl-128 0x1p-20L : 0x1.000024d7661e0f63a0af573a6218p+0L : inexact-ok
+= exp10 downward ldbl-128ibm 0x1p-20L : 0x1.000024d7661e0f63a0af573a62p+0L : inexact-ok
+= exp10 tonearest ldbl-128ibm 0x1p-20L : 0x1.000024d7661e0f63a0af573a62p+0L : inexact-ok
+= exp10 towardzero ldbl-128ibm 0x1p-20L : 0x1.000024d7661e0f63a0af573a62p+0L : inexact-ok
+= exp10 upward ldbl-128ibm 0x1p-20L : 0x1.000024d7661e0f63a0af573a628p+0L : inexact-ok
+exp10 -0x1p-20
+= exp10 downward flt-32 -0x1p-20f : 0xf.fffdbp-4f : inexact-ok
+= exp10 tonearest flt-32 -0x1p-20f : 0xf.fffdbp-4f : inexact-ok
+= exp10 towardzero flt-32 -0x1p-20f : 0xf.fffdbp-4f : inexact-ok
+= exp10 upward flt-32 -0x1p-20f : 0xf.fffdcp-4f : inexact-ok
+= exp10 downward dbl-64 -0x1p-20 : 0xf.fffdb289f2f38p-4 : inexact-ok
+= exp10 tonearest dbl-64 -0x1p-20 : 0xf.fffdb289f2f38p-4 : inexact-ok
+= exp10 towardzero dbl-64 -0x1p-20 : 0xf.fffdb289f2f38p-4 : inexact-ok
+= exp10 upward dbl-64 -0x1p-20 : 0xf.fffdb289f2f4p-4 : inexact-ok
+= exp10 downward ldbl-96-intel -0x1p-20L : 0xf.fffdb289f2f39cep-4L : inexact-ok
+= exp10 tonearest ldbl-96-intel -0x1p-20L : 0xf.fffdb289f2f39cep-4L : inexact-ok
+= exp10 towardzero ldbl-96-intel -0x1p-20L : 0xf.fffdb289f2f39cep-4L : inexact-ok
+= exp10 upward ldbl-96-intel -0x1p-20L : 0xf.fffdb289f2f39cfp-4L : inexact-ok
+= exp10 downward ldbl-96-m68k -0x1p-20L : 0xf.fffdb289f2f39cep-4L : inexact-ok
+= exp10 tonearest ldbl-96-m68k -0x1p-20L : 0xf.fffdb289f2f39cep-4L : inexact-ok
+= exp10 towardzero ldbl-96-m68k -0x1p-20L : 0xf.fffdb289f2f39cep-4L : inexact-ok
+= exp10 upward ldbl-96-m68k -0x1p-20L : 0xf.fffdb289f2f39cfp-4L : inexact-ok
+= exp10 downward ldbl-128 -0x1p-20L : 0xf.fffdb289f2f39ce2e8d9a96332d8p-4L : inexact-ok
+= exp10 tonearest ldbl-128 -0x1p-20L : 0xf.fffdb289f2f39ce2e8d9a96332d8p-4L : inexact-ok
+= exp10 towardzero ldbl-128 -0x1p-20L : 0xf.fffdb289f2f39ce2e8d9a96332d8p-4L : inexact-ok
+= exp10 upward ldbl-128 -0x1p-20L : 0xf.fffdb289f2f39ce2e8d9a96332ep-4L : inexact-ok
+= exp10 downward ldbl-128ibm -0x1p-20L : 0xf.fffdb289f2f39ce2e8d9a9633p-4L : inexact-ok
+= exp10 tonearest ldbl-128ibm -0x1p-20L : 0xf.fffdb289f2f39ce2e8d9a96334p-4L : inexact-ok
+= exp10 towardzero ldbl-128ibm -0x1p-20L : 0xf.fffdb289f2f39ce2e8d9a9633p-4L : inexact-ok
+= exp10 upward ldbl-128ibm -0x1p-20L : 0xf.fffdb289f2f39ce2e8d9a96334p-4L : inexact-ok
+exp10 0x1p-30
+= exp10 downward flt-32 0x4p-32f : 0x1p+0f : inexact-ok
+= exp10 tonearest flt-32 0x4p-32f : 0x1p+0f : inexact-ok
+= exp10 towardzero flt-32 0x4p-32f : 0x1p+0f : inexact-ok
+= exp10 upward flt-32 0x4p-32f : 0x1.000002p+0f : inexact-ok
+= exp10 downward dbl-64 0x4p-32 : 0x1.0000000935d8dp+0 : inexact-ok
+= exp10 tonearest dbl-64 0x4p-32 : 0x1.0000000935d8ep+0 : inexact-ok
+= exp10 towardzero dbl-64 0x4p-32 : 0x1.0000000935d8dp+0 : inexact-ok
+= exp10 upward dbl-64 0x4p-32 : 0x1.0000000935d8ep+0 : inexact-ok
+= exp10 downward ldbl-96-intel 0x4p-32L : 0x1.0000000935d8de04p+0L : inexact-ok
+= exp10 tonearest ldbl-96-intel 0x4p-32L : 0x1.0000000935d8de06p+0L : inexact-ok
+= exp10 towardzero ldbl-96-intel 0x4p-32L : 0x1.0000000935d8de04p+0L : inexact-ok
+= exp10 upward ldbl-96-intel 0x4p-32L : 0x1.0000000935d8de06p+0L : inexact-ok
+= exp10 downward ldbl-96-m68k 0x4p-32L : 0x1.0000000935d8de04p+0L : inexact-ok
+= exp10 tonearest ldbl-96-m68k 0x4p-32L : 0x1.0000000935d8de06p+0L : inexact-ok
+= exp10 towardzero ldbl-96-m68k 0x4p-32L : 0x1.0000000935d8de04p+0L : inexact-ok
+= exp10 upward ldbl-96-m68k 0x4p-32L : 0x1.0000000935d8de06p+0L : inexact-ok
+= exp10 downward ldbl-128 0x4p-32L : 0x1.0000000935d8de0514d4506ab26bp+0L : inexact-ok
+= exp10 tonearest ldbl-128 0x4p-32L : 0x1.0000000935d8de0514d4506ab26bp+0L : inexact-ok
+= exp10 towardzero ldbl-128 0x4p-32L : 0x1.0000000935d8de0514d4506ab26bp+0L : inexact-ok
+= exp10 upward ldbl-128 0x4p-32L : 0x1.0000000935d8de0514d4506ab26cp+0L : inexact-ok
+= exp10 downward ldbl-128ibm 0x4p-32L : 0x1.0000000935d8de0514d4506ab2p+0L : inexact-ok
+= exp10 tonearest ldbl-128ibm 0x4p-32L : 0x1.0000000935d8de0514d4506ab28p+0L : inexact-ok
+= exp10 towardzero ldbl-128ibm 0x4p-32L : 0x1.0000000935d8de0514d4506ab2p+0L : inexact-ok
+= exp10 upward ldbl-128ibm 0x4p-32L : 0x1.0000000935d8de0514d4506ab28p+0L : inexact-ok
+exp10 -0x1p-30
+= exp10 downward flt-32 -0x4p-32f : 0xf.fffffp-4f : inexact-ok
+= exp10 tonearest flt-32 -0x4p-32f : 0x1p+0f : inexact-ok
+= exp10 towardzero flt-32 -0x4p-32f : 0xf.fffffp-4f : inexact-ok
+= exp10 upward flt-32 -0x4p-32f : 0x1p+0f : inexact-ok
+= exp10 downward dbl-64 -0x4p-32 : 0xf.ffffff6ca272p-4 : inexact-ok
+= exp10 tonearest dbl-64 -0x4p-32 : 0xf.ffffff6ca272p-4 : inexact-ok
+= exp10 towardzero dbl-64 -0x4p-32 : 0xf.ffffff6ca272p-4 : inexact-ok
+= exp10 upward dbl-64 -0x4p-32 : 0xf.ffffff6ca2728p-4 : inexact-ok
+= exp10 downward ldbl-96-intel -0x4p-32L : 0xf.ffffff6ca27224fp-4L : inexact-ok
+= exp10 tonearest ldbl-96-intel -0x4p-32L : 0xf.ffffff6ca27225p-4L : inexact-ok
+= exp10 towardzero ldbl-96-intel -0x4p-32L : 0xf.ffffff6ca27224fp-4L : inexact-ok
+= exp10 upward ldbl-96-intel -0x4p-32L : 0xf.ffffff6ca27225p-4L : inexact-ok
+= exp10 downward ldbl-96-m68k -0x4p-32L : 0xf.ffffff6ca27224fp-4L : inexact-ok
+= exp10 tonearest ldbl-96-m68k -0x4p-32L : 0xf.ffffff6ca27225p-4L : inexact-ok
+= exp10 towardzero ldbl-96-m68k -0x4p-32L : 0xf.ffffff6ca27224fp-4L : inexact-ok
+= exp10 upward ldbl-96-m68k -0x4p-32L : 0xf.ffffff6ca27225p-4L : inexact-ok
+= exp10 downward ldbl-128 -0x4p-32L : 0xf.ffffff6ca27224fbfbecc88f737p-4L : inexact-ok
+= exp10 tonearest ldbl-128 -0x4p-32L : 0xf.ffffff6ca27224fbfbecc88f737p-4L : inexact-ok
+= exp10 towardzero ldbl-128 -0x4p-32L : 0xf.ffffff6ca27224fbfbecc88f737p-4L : inexact-ok
+= exp10 upward ldbl-128 -0x4p-32L : 0xf.ffffff6ca27224fbfbecc88f7378p-4L : inexact-ok
+= exp10 downward ldbl-128ibm -0x4p-32L : 0xf.ffffff6ca27224fbfbecc88f7p-4L : inexact-ok
+= exp10 tonearest ldbl-128ibm -0x4p-32L : 0xf.ffffff6ca27224fbfbecc88f74p-4L : inexact-ok
+= exp10 towardzero ldbl-128ibm -0x4p-32L : 0xf.ffffff6ca27224fbfbecc88f7p-4L : inexact-ok
+= exp10 upward ldbl-128ibm -0x4p-32L : 0xf.ffffff6ca27224fbfbecc88f74p-4L : inexact-ok
+exp10 0x1p-40
+= exp10 downward flt-32 0x1p-40f : 0x1p+0f : inexact-ok
+= exp10 tonearest flt-32 0x1p-40f : 0x1p+0f : inexact-ok
+= exp10 towardzero flt-32 0x1p-40f : 0x1p+0f : inexact-ok
+= exp10 upward flt-32 0x1p-40f : 0x1.000002p+0f : inexact-ok
+= exp10 downward dbl-64 0x1p-40 : 0x1.00000000024d7p+0 : inexact-ok
+= exp10 tonearest dbl-64 0x1p-40 : 0x1.00000000024d7p+0 : inexact-ok
+= exp10 towardzero dbl-64 0x1p-40 : 0x1.00000000024d7p+0 : inexact-ok
+= exp10 upward dbl-64 0x1p-40 : 0x1.00000000024d8p+0 : inexact-ok
+= exp10 downward ldbl-96-intel 0x1p-40L : 0x1.00000000024d7636p+0L : inexact-ok
+= exp10 tonearest ldbl-96-intel 0x1p-40L : 0x1.00000000024d7638p+0L : inexact-ok
+= exp10 towardzero ldbl-96-intel 0x1p-40L : 0x1.00000000024d7636p+0L : inexact-ok
+= exp10 upward ldbl-96-intel 0x1p-40L : 0x1.00000000024d7638p+0L : inexact-ok
+= exp10 downward ldbl-96-m68k 0x1p-40L : 0x1.00000000024d7636p+0L : inexact-ok
+= exp10 tonearest ldbl-96-m68k 0x1p-40L : 0x1.00000000024d7638p+0L : inexact-ok
+= exp10 towardzero ldbl-96-m68k 0x1p-40L : 0x1.00000000024d7636p+0L : inexact-ok
+= exp10 upward ldbl-96-m68k 0x1p-40L : 0x1.00000000024d7638p+0L : inexact-ok
+= exp10 downward ldbl-128 0x1p-40L : 0x1.00000000024d763776ad4954f49p+0L : inexact-ok
+= exp10 tonearest ldbl-128 0x1p-40L : 0x1.00000000024d763776ad4954f491p+0L : inexact-ok
+= exp10 towardzero ldbl-128 0x1p-40L : 0x1.00000000024d763776ad4954f49p+0L : inexact-ok
+= exp10 upward ldbl-128 0x1p-40L : 0x1.00000000024d763776ad4954f491p+0L : inexact-ok
+= exp10 downward ldbl-128ibm 0x1p-40L : 0x1.00000000024d763776ad4954f48p+0L : inexact-ok
+= exp10 tonearest ldbl-128ibm 0x1p-40L : 0x1.00000000024d763776ad4954f48p+0L : inexact-ok
+= exp10 towardzero ldbl-128ibm 0x1p-40L : 0x1.00000000024d763776ad4954f48p+0L : inexact-ok
+= exp10 upward ldbl-128ibm 0x1p-40L : 0x1.00000000024d763776ad4954f5p+0L : inexact-ok
+exp10 -0x1p-40
+= exp10 downward flt-32 -0x1p-40f : 0xf.fffffp-4f : inexact-ok
+= exp10 tonearest flt-32 -0x1p-40f : 0x1p+0f : inexact-ok
+= exp10 towardzero flt-32 -0x1p-40f : 0xf.fffffp-4f : inexact-ok
+= exp10 upward flt-32 -0x1p-40f : 0x1p+0f : inexact-ok
+= exp10 downward dbl-64 -0x1p-40 : 0xf.ffffffffdb288p-4 : inexact-ok
+= exp10 tonearest dbl-64 -0x1p-40 : 0xf.ffffffffdb288p-4 : inexact-ok
+= exp10 towardzero dbl-64 -0x1p-40 : 0xf.ffffffffdb288p-4 : inexact-ok
+= exp10 upward dbl-64 -0x1p-40 : 0xf.ffffffffdb29p-4 : inexact-ok
+= exp10 downward ldbl-96-intel -0x1p-40L : 0xf.ffffffffdb289c8p-4L : inexact-ok
+= exp10 tonearest ldbl-96-intel -0x1p-40L : 0xf.ffffffffdb289c9p-4L : inexact-ok
+= exp10 towardzero ldbl-96-intel -0x1p-40L : 0xf.ffffffffdb289c8p-4L : inexact-ok
+= exp10 upward ldbl-96-intel -0x1p-40L : 0xf.ffffffffdb289c9p-4L : inexact-ok
+= exp10 downward ldbl-96-m68k -0x1p-40L : 0xf.ffffffffdb289c8p-4L : inexact-ok
+= exp10 tonearest ldbl-96-m68k -0x1p-40L : 0xf.ffffffffdb289c9p-4L : inexact-ok
+= exp10 towardzero ldbl-96-m68k -0x1p-40L : 0xf.ffffffffdb289c8p-4L : inexact-ok
+= exp10 upward ldbl-96-m68k -0x1p-40L : 0xf.ffffffffdb289c9p-4L : inexact-ok
+= exp10 downward ldbl-128 -0x1p-40L : 0xf.ffffffffdb289c8895803f43d3ep-4L : inexact-ok
+= exp10 tonearest ldbl-128 -0x1p-40L : 0xf.ffffffffdb289c8895803f43d3ep-4L : inexact-ok
+= exp10 towardzero ldbl-128 -0x1p-40L : 0xf.ffffffffdb289c8895803f43d3ep-4L : inexact-ok
+= exp10 upward ldbl-128 -0x1p-40L : 0xf.ffffffffdb289c8895803f43d3e8p-4L : inexact-ok
+= exp10 downward ldbl-128ibm -0x1p-40L : 0xf.ffffffffdb289c8895803f43dp-4L : inexact-ok
+= exp10 tonearest ldbl-128ibm -0x1p-40L : 0xf.ffffffffdb289c8895803f43d4p-4L : inexact-ok
+= exp10 towardzero ldbl-128ibm -0x1p-40L : 0xf.ffffffffdb289c8895803f43dp-4L : inexact-ok
+= exp10 upward ldbl-128ibm -0x1p-40L : 0xf.ffffffffdb289c8895803f43d4p-4L : inexact-ok
+exp10 0x1p-50
+= exp10 downward flt-32 0x4p-52f : 0x1p+0f : inexact-ok
+= exp10 tonearest flt-32 0x4p-52f : 0x1p+0f : inexact-ok
+= exp10 towardzero flt-32 0x4p-52f : 0x1p+0f : inexact-ok
+= exp10 upward flt-32 0x4p-52f : 0x1.000002p+0f : inexact-ok
+= exp10 downward dbl-64 0x4p-52 : 0x1.0000000000009p+0 : inexact-ok
+= exp10 tonearest dbl-64 0x4p-52 : 0x1.0000000000009p+0 : inexact-ok
+= exp10 towardzero dbl-64 0x4p-52 : 0x1.0000000000009p+0 : inexact-ok
+= exp10 upward dbl-64 0x4p-52 : 0x1.000000000000ap+0 : inexact-ok
+= exp10 downward ldbl-96-intel 0x4p-52L : 0x1.000000000000935cp+0L : inexact-ok
+= exp10 tonearest ldbl-96-intel 0x4p-52L : 0x1.000000000000935ep+0L : inexact-ok
+= exp10 towardzero ldbl-96-intel 0x4p-52L : 0x1.000000000000935cp+0L : inexact-ok
+= exp10 upward ldbl-96-intel 0x4p-52L : 0x1.000000000000935ep+0L : inexact-ok
+= exp10 downward ldbl-96-m68k 0x4p-52L : 0x1.000000000000935cp+0L : inexact-ok
+= exp10 tonearest ldbl-96-m68k 0x4p-52L : 0x1.000000000000935ep+0L : inexact-ok
+= exp10 towardzero ldbl-96-m68k 0x4p-52L : 0x1.000000000000935cp+0L : inexact-ok
+= exp10 upward ldbl-96-m68k 0x4p-52L : 0x1.000000000000935ep+0L : inexact-ok
+= exp10 downward ldbl-128 0x4p-52L : 0x1.000000000000935d8dddaaa8d681p+0L : inexact-ok
+= exp10 tonearest ldbl-128 0x4p-52L : 0x1.000000000000935d8dddaaa8d681p+0L : inexact-ok
+= exp10 towardzero ldbl-128 0x4p-52L : 0x1.000000000000935d8dddaaa8d681p+0L : inexact-ok
+= exp10 upward ldbl-128 0x4p-52L : 0x1.000000000000935d8dddaaa8d682p+0L : inexact-ok
+= exp10 downward ldbl-128ibm 0x4p-52L : 0x1.000000000000935d8dddaaa8d68p+0L : inexact-ok
+= exp10 tonearest ldbl-128ibm 0x4p-52L : 0x1.000000000000935d8dddaaa8d68p+0L : inexact-ok
+= exp10 towardzero ldbl-128ibm 0x4p-52L : 0x1.000000000000935d8dddaaa8d68p+0L : inexact-ok
+= exp10 upward ldbl-128ibm 0x4p-52L : 0x1.000000000000935d8dddaaa8d7p+0L : inexact-ok
+exp10 -0x1p-50
+= exp10 downward flt-32 -0x4p-52f : 0xf.fffffp-4f : inexact-ok
+= exp10 tonearest flt-32 -0x4p-52f : 0x1p+0f : inexact-ok
+= exp10 towardzero flt-32 -0x4p-52f : 0xf.fffffp-4f : inexact-ok
+= exp10 upward flt-32 -0x4p-52f : 0x1p+0f : inexact-ok
+= exp10 downward dbl-64 -0x4p-52 : 0xf.fffffffffff68p-4 : inexact-ok
+= exp10 tonearest dbl-64 -0x4p-52 : 0xf.fffffffffff7p-4 : inexact-ok
+= exp10 towardzero dbl-64 -0x4p-52 : 0xf.fffffffffff68p-4 : inexact-ok
+= exp10 upward dbl-64 -0x4p-52 : 0xf.fffffffffff7p-4 : inexact-ok
+= exp10 downward ldbl-96-intel -0x4p-52L : 0xf.fffffffffff6ca2p-4L : inexact-ok
+= exp10 tonearest ldbl-96-intel -0x4p-52L : 0xf.fffffffffff6ca2p-4L : inexact-ok
+= exp10 towardzero ldbl-96-intel -0x4p-52L : 0xf.fffffffffff6ca2p-4L : inexact-ok
+= exp10 upward ldbl-96-intel -0x4p-52L : 0xf.fffffffffff6ca3p-4L : inexact-ok
+= exp10 downward ldbl-96-m68k -0x4p-52L : 0xf.fffffffffff6ca2p-4L : inexact-ok
+= exp10 tonearest ldbl-96-m68k -0x4p-52L : 0xf.fffffffffff6ca2p-4L : inexact-ok
+= exp10 towardzero ldbl-96-m68k -0x4p-52L : 0xf.fffffffffff6ca2p-4L : inexact-ok
+= exp10 upward ldbl-96-m68k -0x4p-52L : 0xf.fffffffffff6ca3p-4L : inexact-ok
+= exp10 downward ldbl-128 -0x4p-52L : 0xf.fffffffffff6ca2722255577e53p-4L : inexact-ok
+= exp10 tonearest ldbl-128 -0x4p-52L : 0xf.fffffffffff6ca2722255577e538p-4L : inexact-ok
+= exp10 towardzero ldbl-128 -0x4p-52L : 0xf.fffffffffff6ca2722255577e53p-4L : inexact-ok
+= exp10 upward ldbl-128 -0x4p-52L : 0xf.fffffffffff6ca2722255577e538p-4L : inexact-ok
+= exp10 downward ldbl-128ibm -0x4p-52L : 0xf.fffffffffff6ca2722255577e4p-4L : inexact-ok
+= exp10 tonearest ldbl-128ibm -0x4p-52L : 0xf.fffffffffff6ca2722255577e4p-4L : inexact-ok
+= exp10 towardzero ldbl-128ibm -0x4p-52L : 0xf.fffffffffff6ca2722255577e4p-4L : inexact-ok
+= exp10 upward ldbl-128ibm -0x4p-52L : 0xf.fffffffffff6ca2722255577e8p-4L : inexact-ok
+exp10 0x1p-60
+= exp10 downward flt-32 0x1p-60f : 0x1p+0f : inexact-ok
+= exp10 tonearest flt-32 0x1p-60f : 0x1p+0f : inexact-ok
+= exp10 towardzero flt-32 0x1p-60f : 0x1p+0f : inexact-ok
+= exp10 upward flt-32 0x1p-60f : 0x1.000002p+0f : inexact-ok
+= exp10 downward dbl-64 0x1p-60 : 0x1p+0 : inexact-ok
+= exp10 tonearest dbl-64 0x1p-60 : 0x1p+0 : inexact-ok
+= exp10 towardzero dbl-64 0x1p-60 : 0x1p+0 : inexact-ok
+= exp10 upward dbl-64 0x1p-60 : 0x1.0000000000001p+0 : inexact-ok
+= exp10 downward ldbl-96-intel 0x1p-60L : 0x1.0000000000000024p+0L : inexact-ok
+= exp10 tonearest ldbl-96-intel 0x1p-60L : 0x1.0000000000000024p+0L : inexact-ok
+= exp10 towardzero ldbl-96-intel 0x1p-60L : 0x1.0000000000000024p+0L : inexact-ok
+= exp10 upward ldbl-96-intel 0x1p-60L : 0x1.0000000000000026p+0L : inexact-ok
+= exp10 downward ldbl-96-m68k 0x1p-60L : 0x1.0000000000000024p+0L : inexact-ok
+= exp10 tonearest ldbl-96-m68k 0x1p-60L : 0x1.0000000000000024p+0L : inexact-ok
+= exp10 towardzero ldbl-96-m68k 0x1p-60L : 0x1.0000000000000024p+0L : inexact-ok
+= exp10 upward ldbl-96-m68k 0x1p-60L : 0x1.0000000000000026p+0L : inexact-ok
+= exp10 downward ldbl-128 0x1p-60L : 0x1.0000000000000024d763776aaa2bp+0L : inexact-ok
+= exp10 tonearest ldbl-128 0x1p-60L : 0x1.0000000000000024d763776aaa2bp+0L : inexact-ok
+= exp10 towardzero ldbl-128 0x1p-60L : 0x1.0000000000000024d763776aaa2bp+0L : inexact-ok
+= exp10 upward ldbl-128 0x1p-60L : 0x1.0000000000000024d763776aaa2cp+0L : inexact-ok
+= exp10 downward ldbl-128ibm 0x1p-60L : 0x1.0000000000000024d763776aaap+0L : inexact-ok
+= exp10 tonearest ldbl-128ibm 0x1p-60L : 0x1.0000000000000024d763776aaap+0L : inexact-ok
+= exp10 towardzero ldbl-128ibm 0x1p-60L : 0x1.0000000000000024d763776aaap+0L : inexact-ok
+= exp10 upward ldbl-128ibm 0x1p-60L : 0x1.0000000000000024d763776aaa8p+0L : inexact-ok
+exp10 -0x1p-60
+= exp10 downward flt-32 -0x1p-60f : 0xf.fffffp-4f : inexact-ok
+= exp10 tonearest flt-32 -0x1p-60f : 0x1p+0f : inexact-ok
+= exp10 towardzero flt-32 -0x1p-60f : 0xf.fffffp-4f : inexact-ok
+= exp10 upward flt-32 -0x1p-60f : 0x1p+0f : inexact-ok
+= exp10 downward dbl-64 -0x1p-60 : 0xf.ffffffffffff8p-4 : inexact-ok
+= exp10 tonearest dbl-64 -0x1p-60 : 0x1p+0 : inexact-ok
+= exp10 towardzero dbl-64 -0x1p-60 : 0xf.ffffffffffff8p-4 : inexact-ok
+= exp10 upward dbl-64 -0x1p-60 : 0x1p+0 : inexact-ok
+= exp10 downward ldbl-96-intel -0x1p-60L : 0xf.fffffffffffffdbp-4L : inexact-ok
+= exp10 tonearest ldbl-96-intel -0x1p-60L : 0xf.fffffffffffffdbp-4L : inexact-ok
+= exp10 towardzero ldbl-96-intel -0x1p-60L : 0xf.fffffffffffffdbp-4L : inexact-ok
+= exp10 upward ldbl-96-intel -0x1p-60L : 0xf.fffffffffffffdcp-4L : inexact-ok
+= exp10 downward ldbl-96-m68k -0x1p-60L : 0xf.fffffffffffffdbp-4L : inexact-ok
+= exp10 tonearest ldbl-96-m68k -0x1p-60L : 0xf.fffffffffffffdbp-4L : inexact-ok
+= exp10 towardzero ldbl-96-m68k -0x1p-60L : 0xf.fffffffffffffdbp-4L : inexact-ok
+= exp10 upward ldbl-96-m68k -0x1p-60L : 0xf.fffffffffffffdcp-4L : inexact-ok
+= exp10 downward ldbl-128 -0x1p-60L : 0xf.fffffffffffffdb289c889555d48p-4L : inexact-ok
+= exp10 tonearest ldbl-128 -0x1p-60L : 0xf.fffffffffffffdb289c889555d5p-4L : inexact-ok
+= exp10 towardzero ldbl-128 -0x1p-60L : 0xf.fffffffffffffdb289c889555d48p-4L : inexact-ok
+= exp10 upward ldbl-128 -0x1p-60L : 0xf.fffffffffffffdb289c889555d5p-4L : inexact-ok
+= exp10 downward ldbl-128ibm -0x1p-60L : 0xf.fffffffffffffdb289c889555cp-4L : inexact-ok
+= exp10 tonearest ldbl-128ibm -0x1p-60L : 0xf.fffffffffffffdb289c889555cp-4L : inexact-ok
+= exp10 towardzero ldbl-128ibm -0x1p-60L : 0xf.fffffffffffffdb289c889555cp-4L : inexact-ok
+= exp10 upward ldbl-128ibm -0x1p-60L : 0xf.fffffffffffffdb289c889556p-4L : inexact-ok
+exp10 0x1p-100
+= exp10 downward flt-32 0x1p-100f : 0x1p+0f : inexact-ok
+= exp10 tonearest flt-32 0x1p-100f : 0x1p+0f : inexact-ok
+= exp10 towardzero flt-32 0x1p-100f : 0x1p+0f : inexact-ok
+= exp10 upward flt-32 0x1p-100f : 0x1.000002p+0f : inexact-ok
+= exp10 downward dbl-64 0x1p-100 : 0x1p+0 : inexact-ok
+= exp10 tonearest dbl-64 0x1p-100 : 0x1p+0 : inexact-ok
+= exp10 towardzero dbl-64 0x1p-100 : 0x1p+0 : inexact-ok
+= exp10 upward dbl-64 0x1p-100 : 0x1.0000000000001p+0 : inexact-ok
+= exp10 downward ldbl-96-intel 0x1p-100L : 0x1p+0L : inexact-ok
+= exp10 tonearest ldbl-96-intel 0x1p-100L : 0x1p+0L : inexact-ok
+= exp10 towardzero ldbl-96-intel 0x1p-100L : 0x1p+0L : inexact-ok
+= exp10 upward ldbl-96-intel 0x1p-100L : 0x1.0000000000000002p+0L : inexact-ok
+= exp10 downward ldbl-96-m68k 0x1p-100L : 0x1p+0L : inexact-ok
+= exp10 tonearest ldbl-96-m68k 0x1p-100L : 0x1p+0L : inexact-ok
+= exp10 towardzero ldbl-96-m68k 0x1p-100L : 0x1p+0L : inexact-ok
+= exp10 upward ldbl-96-m68k 0x1p-100L : 0x1.0000000000000002p+0L : inexact-ok
+= exp10 downward ldbl-128 0x1p-100L : 0x1.00000000000000000000000024d7p+0L : inexact-ok
+= exp10 tonearest ldbl-128 0x1p-100L : 0x1.00000000000000000000000024d7p+0L : inexact-ok
+= exp10 towardzero ldbl-128 0x1p-100L : 0x1.00000000000000000000000024d7p+0L : inexact-ok
+= exp10 upward ldbl-128 0x1p-100L : 0x1.00000000000000000000000024d8p+0L : inexact-ok
+= exp10 downward ldbl-128ibm 0x1p-100L : 0x1.000000000000000000000000248p+0L : inexact-ok
+= exp10 tonearest ldbl-128ibm 0x1p-100L : 0x1.00000000000000000000000025p+0L : inexact-ok
+= exp10 towardzero ldbl-128ibm 0x1p-100L : 0x1.000000000000000000000000248p+0L : inexact-ok
+= exp10 upward ldbl-128ibm 0x1p-100L : 0x1.00000000000000000000000025p+0L : inexact-ok
+exp10 -0x1p-100
+= exp10 downward flt-32 -0x1p-100f : 0xf.fffffp-4f : inexact-ok
+= exp10 tonearest flt-32 -0x1p-100f : 0x1p+0f : inexact-ok
+= exp10 towardzero flt-32 -0x1p-100f : 0xf.fffffp-4f : inexact-ok
+= exp10 upward flt-32 -0x1p-100f : 0x1p+0f : inexact-ok
+= exp10 downward dbl-64 -0x1p-100 : 0xf.ffffffffffff8p-4 : inexact-ok
+= exp10 tonearest dbl-64 -0x1p-100 : 0x1p+0 : inexact-ok
+= exp10 towardzero dbl-64 -0x1p-100 : 0xf.ffffffffffff8p-4 : inexact-ok
+= exp10 upward dbl-64 -0x1p-100 : 0x1p+0 : inexact-ok
+= exp10 downward ldbl-96-intel -0x1p-100L : 0xf.fffffffffffffffp-4L : inexact-ok
+= exp10 tonearest ldbl-96-intel -0x1p-100L : 0x1p+0L : inexact-ok
+= exp10 towardzero ldbl-96-intel -0x1p-100L : 0xf.fffffffffffffffp-4L : inexact-ok
+= exp10 upward ldbl-96-intel -0x1p-100L : 0x1p+0L : inexact-ok
+= exp10 downward ldbl-96-m68k -0x1p-100L : 0xf.fffffffffffffffp-4L : inexact-ok
+= exp10 tonearest ldbl-96-m68k -0x1p-100L : 0x1p+0L : inexact-ok
+= exp10 towardzero ldbl-96-m68k -0x1p-100L : 0xf.fffffffffffffffp-4L : inexact-ok
+= exp10 upward ldbl-96-m68k -0x1p-100L : 0x1p+0L : inexact-ok
+= exp10 downward ldbl-128 -0x1p-100L : 0xf.fffffffffffffffffffffffdb288p-4L : inexact-ok
+= exp10 tonearest ldbl-128 -0x1p-100L : 0xf.fffffffffffffffffffffffdb288p-4L : inexact-ok
+= exp10 towardzero ldbl-128 -0x1p-100L : 0xf.fffffffffffffffffffffffdb288p-4L : inexact-ok
+= exp10 upward ldbl-128 -0x1p-100L : 0xf.fffffffffffffffffffffffdb29p-4L : inexact-ok
+= exp10 downward ldbl-128ibm -0x1p-100L : 0xf.fffffffffffffffffffffffdbp-4L : inexact-ok
+= exp10 tonearest ldbl-128ibm -0x1p-100L : 0xf.fffffffffffffffffffffffdb4p-4L : inexact-ok
+= exp10 towardzero ldbl-128ibm -0x1p-100L : 0xf.fffffffffffffffffffffffdbp-4L : inexact-ok
+= exp10 upward ldbl-128ibm -0x1p-100L : 0xf.fffffffffffffffffffffffdb4p-4L : inexact-ok
+exp10 min
+= exp10 downward flt-32 0x4p-128f : 0x1p+0f : inexact-ok
+= exp10 tonearest flt-32 0x4p-128f : 0x1p+0f : inexact-ok
+= exp10 towardzero flt-32 0x4p-128f : 0x1p+0f : inexact-ok
+= exp10 upward flt-32 0x4p-128f : 0x1.000002p+0f : inexact-ok
+= exp10 downward dbl-64 0x4p-128 : 0x1p+0 : inexact-ok
+= exp10 tonearest dbl-64 0x4p-128 : 0x1p+0 : inexact-ok
+= exp10 towardzero dbl-64 0x4p-128 : 0x1p+0 : inexact-ok
+= exp10 upward dbl-64 0x4p-128 : 0x1.0000000000001p+0 : inexact-ok
+= exp10 downward ldbl-96-intel 0x4p-128L : 0x1p+0L : inexact-ok
+= exp10 tonearest ldbl-96-intel 0x4p-128L : 0x1p+0L : inexact-ok
+= exp10 towardzero ldbl-96-intel 0x4p-128L : 0x1p+0L : inexact-ok
+= exp10 upward ldbl-96-intel 0x4p-128L : 0x1.0000000000000002p+0L : inexact-ok
+= exp10 downward ldbl-96-m68k 0x4p-128L : 0x1p+0L : inexact-ok
+= exp10 tonearest ldbl-96-m68k 0x4p-128L : 0x1p+0L : inexact-ok
+= exp10 towardzero ldbl-96-m68k 0x4p-128L : 0x1p+0L : inexact-ok
+= exp10 upward ldbl-96-m68k 0x4p-128L : 0x1.0000000000000002p+0L : inexact-ok
+= exp10 downward ldbl-128 0x4p-128L : 0x1p+0L : inexact-ok
+= exp10 tonearest ldbl-128 0x4p-128L : 0x1p+0L : inexact-ok
+= exp10 towardzero ldbl-128 0x4p-128L : 0x1p+0L : inexact-ok
+= exp10 upward ldbl-128 0x4p-128L : 0x1.0000000000000000000000000001p+0L : inexact-ok
+= exp10 downward ldbl-128ibm 0x4p-128L : 0x1p+0L : inexact-ok
+= exp10 tonearest ldbl-128ibm 0x4p-128L : 0x1p+0L : inexact-ok
+= exp10 towardzero ldbl-128ibm 0x4p-128L : 0x1p+0L : inexact-ok
+= exp10 upward ldbl-128ibm 0x4p-128L : 0x1.000000000000000000000000008p+0L : inexact-ok
+= exp10 downward dbl-64 0x4p-1024 : 0x1p+0 : inexact-ok
+= exp10 tonearest dbl-64 0x4p-1024 : 0x1p+0 : inexact-ok
+= exp10 towardzero dbl-64 0x4p-1024 : 0x1p+0 : inexact-ok
+= exp10 upward dbl-64 0x4p-1024 : 0x1.0000000000001p+0 : inexact-ok
+= exp10 downward ldbl-96-intel 0x4p-1024L : 0x1p+0L : inexact-ok
+= exp10 tonearest ldbl-96-intel 0x4p-1024L : 0x1p+0L : inexact-ok
+= exp10 towardzero ldbl-96-intel 0x4p-1024L : 0x1p+0L : inexact-ok
+= exp10 upward ldbl-96-intel 0x4p-1024L : 0x1.0000000000000002p+0L : inexact-ok
+= exp10 downward ldbl-96-m68k 0x4p-1024L : 0x1p+0L : inexact-ok
+= exp10 tonearest ldbl-96-m68k 0x4p-1024L : 0x1p+0L : inexact-ok
+= exp10 towardzero ldbl-96-m68k 0x4p-1024L : 0x1p+0L : inexact-ok
+= exp10 upward ldbl-96-m68k 0x4p-1024L : 0x1.0000000000000002p+0L : inexact-ok
+= exp10 downward ldbl-128 0x4p-1024L : 0x1p+0L : inexact-ok
+= exp10 tonearest ldbl-128 0x4p-1024L : 0x1p+0L : inexact-ok
+= exp10 towardzero ldbl-128 0x4p-1024L : 0x1p+0L : inexact-ok
+= exp10 upward ldbl-128 0x4p-1024L : 0x1.0000000000000000000000000001p+0L : inexact-ok
+= exp10 downward ldbl-128ibm 0x4p-1024L : 0x1p+0L : inexact-ok
+= exp10 tonearest ldbl-128ibm 0x4p-1024L : 0x1p+0L : inexact-ok
+= exp10 towardzero ldbl-128ibm 0x4p-1024L : 0x1p+0L : inexact-ok
+= exp10 upward ldbl-128ibm 0x4p-1024L : 0x1.000000000000000000000000008p+0L : inexact-ok
+= exp10 downward ldbl-96-intel 0x4p-16384L : 0x1p+0L : inexact-ok
+= exp10 tonearest ldbl-96-intel 0x4p-16384L : 0x1p+0L : inexact-ok
+= exp10 towardzero ldbl-96-intel 0x4p-16384L : 0x1p+0L : inexact-ok
+= exp10 upward ldbl-96-intel 0x4p-16384L : 0x1.0000000000000002p+0L : inexact-ok
+= exp10 downward ldbl-96-m68k 0x4p-16384L : 0x1p+0L : inexact-ok
+= exp10 tonearest ldbl-96-m68k 0x4p-16384L : 0x1p+0L : inexact-ok
+= exp10 towardzero ldbl-96-m68k 0x4p-16384L : 0x1p+0L : inexact-ok
+= exp10 upward ldbl-96-m68k 0x4p-16384L : 0x1.0000000000000002p+0L : inexact-ok
+= exp10 downward ldbl-128 0x4p-16384L : 0x1p+0L : inexact-ok
+= exp10 tonearest ldbl-128 0x4p-16384L : 0x1p+0L : inexact-ok
+= exp10 towardzero ldbl-128 0x4p-16384L : 0x1p+0L : inexact-ok
+= exp10 upward ldbl-128 0x4p-16384L : 0x1.0000000000000000000000000001p+0L : inexact-ok
+= exp10 downward ldbl-96-intel 0x2p-16384L : 0x1p+0L : inexact-ok
+= exp10 tonearest ldbl-96-intel 0x2p-16384L : 0x1p+0L : inexact-ok
+= exp10 towardzero ldbl-96-intel 0x2p-16384L : 0x1p+0L : inexact-ok
+= exp10 upward ldbl-96-intel 0x2p-16384L : 0x1.0000000000000002p+0L : inexact-ok
+= exp10 downward ldbl-96-m68k 0x2p-16384L : 0x1p+0L : inexact-ok
+= exp10 tonearest ldbl-96-m68k 0x2p-16384L : 0x1p+0L : inexact-ok
+= exp10 towardzero ldbl-96-m68k 0x2p-16384L : 0x1p+0L : inexact-ok
+= exp10 upward ldbl-96-m68k 0x2p-16384L : 0x1.0000000000000002p+0L : inexact-ok
+= exp10 downward ldbl-128 0x2p-16384L : 0x1p+0L : inexact-ok
+= exp10 tonearest ldbl-128 0x2p-16384L : 0x1p+0L : inexact-ok
+= exp10 towardzero ldbl-128 0x2p-16384L : 0x1p+0L : inexact-ok
+= exp10 upward ldbl-128 0x2p-16384L : 0x1.0000000000000000000000000001p+0L : inexact-ok
+= exp10 downward dbl-64 0x8p-972 : 0x1p+0 : inexact-ok
+= exp10 tonearest dbl-64 0x8p-972 : 0x1p+0 : inexact-ok
+= exp10 towardzero dbl-64 0x8p-972 : 0x1p+0 : inexact-ok
+= exp10 upward dbl-64 0x8p-972 : 0x1.0000000000001p+0 : inexact-ok
+= exp10 downward ldbl-96-intel 0x8p-972L : 0x1p+0L : inexact-ok
+= exp10 tonearest ldbl-96-intel 0x8p-972L : 0x1p+0L : inexact-ok
+= exp10 towardzero ldbl-96-intel 0x8p-972L : 0x1p+0L : inexact-ok
+= exp10 upward ldbl-96-intel 0x8p-972L : 0x1.0000000000000002p+0L : inexact-ok
+= exp10 downward ldbl-96-m68k 0x8p-972L : 0x1p+0L : inexact-ok
+= exp10 tonearest ldbl-96-m68k 0x8p-972L : 0x1p+0L : inexact-ok
+= exp10 towardzero ldbl-96-m68k 0x8p-972L : 0x1p+0L : inexact-ok
+= exp10 upward ldbl-96-m68k 0x8p-972L : 0x1.0000000000000002p+0L : inexact-ok
+= exp10 downward ldbl-128 0x8p-972L : 0x1p+0L : inexact-ok
+= exp10 tonearest ldbl-128 0x8p-972L : 0x1p+0L : inexact-ok
+= exp10 towardzero ldbl-128 0x8p-972L : 0x1p+0L : inexact-ok
+= exp10 upward ldbl-128 0x8p-972L : 0x1.0000000000000000000000000001p+0L : inexact-ok
+= exp10 downward ldbl-128ibm 0x8p-972L : 0x1p+0L : inexact-ok
+= exp10 tonearest ldbl-128ibm 0x8p-972L : 0x1p+0L : inexact-ok
+= exp10 towardzero ldbl-128ibm 0x8p-972L : 0x1p+0L : inexact-ok
+= exp10 upward ldbl-128ibm 0x8p-972L : 0x1.000000000000000000000000008p+0L : inexact-ok
+exp10 -min
+= exp10 downward flt-32 -0x4p-128f : 0xf.fffffp-4f : inexact-ok
+= exp10 tonearest flt-32 -0x4p-128f : 0x1p+0f : inexact-ok
+= exp10 towardzero flt-32 -0x4p-128f : 0xf.fffffp-4f : inexact-ok
+= exp10 upward flt-32 -0x4p-128f : 0x1p+0f : inexact-ok
+= exp10 downward dbl-64 -0x4p-128 : 0xf.ffffffffffff8p-4 : inexact-ok
+= exp10 tonearest dbl-64 -0x4p-128 : 0x1p+0 : inexact-ok
+= exp10 towardzero dbl-64 -0x4p-128 : 0xf.ffffffffffff8p-4 : inexact-ok
+= exp10 upward dbl-64 -0x4p-128 : 0x1p+0 : inexact-ok
+= exp10 downward ldbl-96-intel -0x4p-128L : 0xf.fffffffffffffffp-4L : inexact-ok
+= exp10 tonearest ldbl-96-intel -0x4p-128L : 0x1p+0L : inexact-ok
+= exp10 towardzero ldbl-96-intel -0x4p-128L : 0xf.fffffffffffffffp-4L : inexact-ok
+= exp10 upward ldbl-96-intel -0x4p-128L : 0x1p+0L : inexact-ok
+= exp10 downward ldbl-96-m68k -0x4p-128L : 0xf.fffffffffffffffp-4L : inexact-ok
+= exp10 tonearest ldbl-96-m68k -0x4p-128L : 0x1p+0L : inexact-ok
+= exp10 towardzero ldbl-96-m68k -0x4p-128L : 0xf.fffffffffffffffp-4L : inexact-ok
+= exp10 upward ldbl-96-m68k -0x4p-128L : 0x1p+0L : inexact-ok
+= exp10 downward ldbl-128 -0x4p-128L : 0xf.fffffffffffffffffffffffffff8p-4L : inexact-ok
+= exp10 tonearest ldbl-128 -0x4p-128L : 0x1p+0L : inexact-ok
+= exp10 towardzero ldbl-128 -0x4p-128L : 0xf.fffffffffffffffffffffffffff8p-4L : inexact-ok
+= exp10 upward ldbl-128 -0x4p-128L : 0x1p+0L : inexact-ok
+= exp10 downward ldbl-128ibm -0x4p-128L : 0xf.fffffffffffffffffffffffffcp-4L : inexact-ok
+= exp10 tonearest ldbl-128ibm -0x4p-128L : 0x1p+0L : inexact-ok
+= exp10 towardzero ldbl-128ibm -0x4p-128L : 0xf.fffffffffffffffffffffffffcp-4L : inexact-ok
+= exp10 upward ldbl-128ibm -0x4p-128L : 0x1p+0L : inexact-ok
+= exp10 downward dbl-64 -0x4p-1024 : 0xf.ffffffffffff8p-4 : inexact-ok
+= exp10 tonearest dbl-64 -0x4p-1024 : 0x1p+0 : inexact-ok
+= exp10 towardzero dbl-64 -0x4p-1024 : 0xf.ffffffffffff8p-4 : inexact-ok
+= exp10 upward dbl-64 -0x4p-1024 : 0x1p+0 : inexact-ok
+= exp10 downward ldbl-96-intel -0x4p-1024L : 0xf.fffffffffffffffp-4L : inexact-ok
+= exp10 tonearest ldbl-96-intel -0x4p-1024L : 0x1p+0L : inexact-ok
+= exp10 towardzero ldbl-96-intel -0x4p-1024L : 0xf.fffffffffffffffp-4L : inexact-ok
+= exp10 upward ldbl-96-intel -0x4p-1024L : 0x1p+0L : inexact-ok
+= exp10 downward ldbl-96-m68k -0x4p-1024L : 0xf.fffffffffffffffp-4L : inexact-ok
+= exp10 tonearest ldbl-96-m68k -0x4p-1024L : 0x1p+0L : inexact-ok
+= exp10 towardzero ldbl-96-m68k -0x4p-1024L : 0xf.fffffffffffffffp-4L : inexact-ok
+= exp10 upward ldbl-96-m68k -0x4p-1024L : 0x1p+0L : inexact-ok
+= exp10 downward ldbl-128 -0x4p-1024L : 0xf.fffffffffffffffffffffffffff8p-4L : inexact-ok
+= exp10 tonearest ldbl-128 -0x4p-1024L : 0x1p+0L : inexact-ok
+= exp10 towardzero ldbl-128 -0x4p-1024L : 0xf.fffffffffffffffffffffffffff8p-4L : inexact-ok
+= exp10 upward ldbl-128 -0x4p-1024L : 0x1p+0L : inexact-ok
+= exp10 downward ldbl-128ibm -0x4p-1024L : 0xf.fffffffffffffffffffffffffcp-4L : inexact-ok
+= exp10 tonearest ldbl-128ibm -0x4p-1024L : 0x1p+0L : inexact-ok
+= exp10 towardzero ldbl-128ibm -0x4p-1024L : 0xf.fffffffffffffffffffffffffcp-4L : inexact-ok
+= exp10 upward ldbl-128ibm -0x4p-1024L : 0x1p+0L : inexact-ok
+= exp10 downward ldbl-96-intel -0x4p-16384L : 0xf.fffffffffffffffp-4L : inexact-ok
+= exp10 tonearest ldbl-96-intel -0x4p-16384L : 0x1p+0L : inexact-ok
+= exp10 towardzero ldbl-96-intel -0x4p-16384L : 0xf.fffffffffffffffp-4L : inexact-ok
+= exp10 upward ldbl-96-intel -0x4p-16384L : 0x1p+0L : inexact-ok
+= exp10 downward ldbl-96-m68k -0x4p-16384L : 0xf.fffffffffffffffp-4L : inexact-ok
+= exp10 tonearest ldbl-96-m68k -0x4p-16384L : 0x1p+0L : inexact-ok
+= exp10 towardzero ldbl-96-m68k -0x4p-16384L : 0xf.fffffffffffffffp-4L : inexact-ok
+= exp10 upward ldbl-96-m68k -0x4p-16384L : 0x1p+0L : inexact-ok
+= exp10 downward ldbl-128 -0x4p-16384L : 0xf.fffffffffffffffffffffffffff8p-4L : inexact-ok
+= exp10 tonearest ldbl-128 -0x4p-16384L : 0x1p+0L : inexact-ok
+= exp10 towardzero ldbl-128 -0x4p-16384L : 0xf.fffffffffffffffffffffffffff8p-4L : inexact-ok
+= exp10 upward ldbl-128 -0x4p-16384L : 0x1p+0L : inexact-ok
+= exp10 downward ldbl-96-intel -0x2p-16384L : 0xf.fffffffffffffffp-4L : inexact-ok
+= exp10 tonearest ldbl-96-intel -0x2p-16384L : 0x1p+0L : inexact-ok
+= exp10 towardzero ldbl-96-intel -0x2p-16384L : 0xf.fffffffffffffffp-4L : inexact-ok
+= exp10 upward ldbl-96-intel -0x2p-16384L : 0x1p+0L : inexact-ok
+= exp10 downward ldbl-96-m68k -0x2p-16384L : 0xf.fffffffffffffffp-4L : inexact-ok
+= exp10 tonearest ldbl-96-m68k -0x2p-16384L : 0x1p+0L : inexact-ok
+= exp10 towardzero ldbl-96-m68k -0x2p-16384L : 0xf.fffffffffffffffp-4L : inexact-ok
+= exp10 upward ldbl-96-m68k -0x2p-16384L : 0x1p+0L : inexact-ok
+= exp10 downward ldbl-128 -0x2p-16384L : 0xf.fffffffffffffffffffffffffff8p-4L : inexact-ok
+= exp10 tonearest ldbl-128 -0x2p-16384L : 0x1p+0L : inexact-ok
+= exp10 towardzero ldbl-128 -0x2p-16384L : 0xf.fffffffffffffffffffffffffff8p-4L : inexact-ok
+= exp10 upward ldbl-128 -0x2p-16384L : 0x1p+0L : inexact-ok
+= exp10 downward dbl-64 -0x8p-972 : 0xf.ffffffffffff8p-4 : inexact-ok
+= exp10 tonearest dbl-64 -0x8p-972 : 0x1p+0 : inexact-ok
+= exp10 towardzero dbl-64 -0x8p-972 : 0xf.ffffffffffff8p-4 : inexact-ok
+= exp10 upward dbl-64 -0x8p-972 : 0x1p+0 : inexact-ok
+= exp10 downward ldbl-96-intel -0x8p-972L : 0xf.fffffffffffffffp-4L : inexact-ok
+= exp10 tonearest ldbl-96-intel -0x8p-972L : 0x1p+0L : inexact-ok
+= exp10 towardzero ldbl-96-intel -0x8p-972L : 0xf.fffffffffffffffp-4L : inexact-ok
+= exp10 upward ldbl-96-intel -0x8p-972L : 0x1p+0L : inexact-ok
+= exp10 downward ldbl-96-m68k -0x8p-972L : 0xf.fffffffffffffffp-4L : inexact-ok
+= exp10 tonearest ldbl-96-m68k -0x8p-972L : 0x1p+0L : inexact-ok
+= exp10 towardzero ldbl-96-m68k -0x8p-972L : 0xf.fffffffffffffffp-4L : inexact-ok
+= exp10 upward ldbl-96-m68k -0x8p-972L : 0x1p+0L : inexact-ok
+= exp10 downward ldbl-128 -0x8p-972L : 0xf.fffffffffffffffffffffffffff8p-4L : inexact-ok
+= exp10 tonearest ldbl-128 -0x8p-972L : 0x1p+0L : inexact-ok
+= exp10 towardzero ldbl-128 -0x8p-972L : 0xf.fffffffffffffffffffffffffff8p-4L : inexact-ok
+= exp10 upward ldbl-128 -0x8p-972L : 0x1p+0L : inexact-ok
+= exp10 downward ldbl-128ibm -0x8p-972L : 0xf.fffffffffffffffffffffffffcp-4L : inexact-ok
+= exp10 tonearest ldbl-128ibm -0x8p-972L : 0x1p+0L : inexact-ok
+= exp10 towardzero ldbl-128ibm -0x8p-972L : 0xf.fffffffffffffffffffffffffcp-4L : inexact-ok
+= exp10 upward ldbl-128ibm -0x8p-972L : 0x1p+0L : inexact-ok
+exp10 min_subnorm
+= exp10 downward flt-32 0x8p-152f : 0x1p+0f : inexact-ok
+= exp10 tonearest flt-32 0x8p-152f : 0x1p+0f : inexact-ok
+= exp10 towardzero flt-32 0x8p-152f : 0x1p+0f : inexact-ok
+= exp10 upward flt-32 0x8p-152f : 0x1.000002p+0f : inexact-ok
+= exp10 downward dbl-64 0x8p-152 : 0x1p+0 : inexact-ok
+= exp10 tonearest dbl-64 0x8p-152 : 0x1p+0 : inexact-ok
+= exp10 towardzero dbl-64 0x8p-152 : 0x1p+0 : inexact-ok
+= exp10 upward dbl-64 0x8p-152 : 0x1.0000000000001p+0 : inexact-ok
+= exp10 downward ldbl-96-intel 0x8p-152L : 0x1p+0L : inexact-ok
+= exp10 tonearest ldbl-96-intel 0x8p-152L : 0x1p+0L : inexact-ok
+= exp10 towardzero ldbl-96-intel 0x8p-152L : 0x1p+0L : inexact-ok
+= exp10 upward ldbl-96-intel 0x8p-152L : 0x1.0000000000000002p+0L : inexact-ok
+= exp10 downward ldbl-96-m68k 0x8p-152L : 0x1p+0L : inexact-ok
+= exp10 tonearest ldbl-96-m68k 0x8p-152L : 0x1p+0L : inexact-ok
+= exp10 towardzero ldbl-96-m68k 0x8p-152L : 0x1p+0L : inexact-ok
+= exp10 upward ldbl-96-m68k 0x8p-152L : 0x1.0000000000000002p+0L : inexact-ok
+= exp10 downward ldbl-128 0x8p-152L : 0x1p+0L : inexact-ok
+= exp10 tonearest ldbl-128 0x8p-152L : 0x1p+0L : inexact-ok
+= exp10 towardzero ldbl-128 0x8p-152L : 0x1p+0L : inexact-ok
+= exp10 upward ldbl-128 0x8p-152L : 0x1.0000000000000000000000000001p+0L : inexact-ok
+= exp10 downward ldbl-128ibm 0x8p-152L : 0x1p+0L : inexact-ok
+= exp10 tonearest ldbl-128ibm 0x8p-152L : 0x1p+0L : inexact-ok
+= exp10 towardzero ldbl-128ibm 0x8p-152L : 0x1p+0L : inexact-ok
+= exp10 upward ldbl-128ibm 0x8p-152L : 0x1.000000000000000000000000008p+0L : inexact-ok
+= exp10 downward dbl-64 0x4p-1076 : 0x1p+0 : inexact-ok
+= exp10 tonearest dbl-64 0x4p-1076 : 0x1p+0 : inexact-ok
+= exp10 towardzero dbl-64 0x4p-1076 : 0x1p+0 : inexact-ok
+= exp10 upward dbl-64 0x4p-1076 : 0x1.0000000000001p+0 : inexact-ok
+= exp10 downward ldbl-96-intel 0x4p-1076L : 0x1p+0L : inexact-ok
+= exp10 tonearest ldbl-96-intel 0x4p-1076L : 0x1p+0L : inexact-ok
+= exp10 towardzero ldbl-96-intel 0x4p-1076L : 0x1p+0L : inexact-ok
+= exp10 upward ldbl-96-intel 0x4p-1076L : 0x1.0000000000000002p+0L : inexact-ok
+= exp10 downward ldbl-96-m68k 0x4p-1076L : 0x1p+0L : inexact-ok
+= exp10 tonearest ldbl-96-m68k 0x4p-1076L : 0x1p+0L : inexact-ok
+= exp10 towardzero ldbl-96-m68k 0x4p-1076L : 0x1p+0L : inexact-ok
+= exp10 upward ldbl-96-m68k 0x4p-1076L : 0x1.0000000000000002p+0L : inexact-ok
+= exp10 downward ldbl-128 0x4p-1076L : 0x1p+0L : inexact-ok
+= exp10 tonearest ldbl-128 0x4p-1076L : 0x1p+0L : inexact-ok
+= exp10 towardzero ldbl-128 0x4p-1076L : 0x1p+0L : inexact-ok
+= exp10 upward ldbl-128 0x4p-1076L : 0x1.0000000000000000000000000001p+0L : inexact-ok
+= exp10 downward ldbl-128ibm 0x4p-1076L : 0x1p+0L : inexact-ok
+= exp10 tonearest ldbl-128ibm 0x4p-1076L : 0x1p+0L : inexact-ok
+= exp10 towardzero ldbl-128ibm 0x4p-1076L : 0x1p+0L : inexact-ok
+= exp10 upward ldbl-128ibm 0x4p-1076L : 0x1.000000000000000000000000008p+0L : inexact-ok
+= exp10 downward ldbl-96-intel 0x8p-16448L : 0x1p+0L : inexact-ok
+= exp10 tonearest ldbl-96-intel 0x8p-16448L : 0x1p+0L : inexact-ok
+= exp10 towardzero ldbl-96-intel 0x8p-16448L : 0x1p+0L : inexact-ok
+= exp10 upward ldbl-96-intel 0x8p-16448L : 0x1.0000000000000002p+0L : inexact-ok
+= exp10 downward ldbl-96-m68k 0x8p-16448L : 0x1p+0L : inexact-ok
+= exp10 tonearest ldbl-96-m68k 0x8p-16448L : 0x1p+0L : inexact-ok
+= exp10 towardzero ldbl-96-m68k 0x8p-16448L : 0x1p+0L : inexact-ok
+= exp10 upward ldbl-96-m68k 0x8p-16448L : 0x1.0000000000000002p+0L : inexact-ok
+= exp10 downward ldbl-128 0x8p-16448L : 0x1p+0L : inexact-ok
+= exp10 tonearest ldbl-128 0x8p-16448L : 0x1p+0L : inexact-ok
+= exp10 towardzero ldbl-128 0x8p-16448L : 0x1p+0L : inexact-ok
+= exp10 upward ldbl-128 0x8p-16448L : 0x1.0000000000000000000000000001p+0L : inexact-ok
+= exp10 downward ldbl-96-m68k 0x4p-16448L : 0x1p+0L : inexact-ok
+= exp10 tonearest ldbl-96-m68k 0x4p-16448L : 0x1p+0L : inexact-ok
+= exp10 towardzero ldbl-96-m68k 0x4p-16448L : 0x1p+0L : inexact-ok
+= exp10 upward ldbl-96-m68k 0x4p-16448L : 0x1.0000000000000002p+0L : inexact-ok
+= exp10 downward ldbl-128 0x4p-16448L : 0x1p+0L : inexact-ok
+= exp10 tonearest ldbl-128 0x4p-16448L : 0x1p+0L : inexact-ok
+= exp10 towardzero ldbl-128 0x4p-16448L : 0x1p+0L : inexact-ok
+= exp10 upward ldbl-128 0x4p-16448L : 0x1.0000000000000000000000000001p+0L : inexact-ok
+= exp10 downward ldbl-128 0x4p-16496L : 0x1p+0L : inexact-ok
+= exp10 tonearest ldbl-128 0x4p-16496L : 0x1p+0L : inexact-ok
+= exp10 towardzero ldbl-128 0x4p-16496L : 0x1p+0L : inexact-ok
+= exp10 upward ldbl-128 0x4p-16496L : 0x1.0000000000000000000000000001p+0L : inexact-ok
+exp10 -min_subnorm
+= exp10 downward flt-32 -0x8p-152f : 0xf.fffffp-4f : inexact-ok
+= exp10 tonearest flt-32 -0x8p-152f : 0x1p+0f : inexact-ok
+= exp10 towardzero flt-32 -0x8p-152f : 0xf.fffffp-4f : inexact-ok
+= exp10 upward flt-32 -0x8p-152f : 0x1p+0f : inexact-ok
+= exp10 downward dbl-64 -0x8p-152 : 0xf.ffffffffffff8p-4 : inexact-ok
+= exp10 tonearest dbl-64 -0x8p-152 : 0x1p+0 : inexact-ok
+= exp10 towardzero dbl-64 -0x8p-152 : 0xf.ffffffffffff8p-4 : inexact-ok
+= exp10 upward dbl-64 -0x8p-152 : 0x1p+0 : inexact-ok
+= exp10 downward ldbl-96-intel -0x8p-152L : 0xf.fffffffffffffffp-4L : inexact-ok
+= exp10 tonearest ldbl-96-intel -0x8p-152L : 0x1p+0L : inexact-ok
+= exp10 towardzero ldbl-96-intel -0x8p-152L : 0xf.fffffffffffffffp-4L : inexact-ok
+= exp10 upward ldbl-96-intel -0x8p-152L : 0x1p+0L : inexact-ok
+= exp10 downward ldbl-96-m68k -0x8p-152L : 0xf.fffffffffffffffp-4L : inexact-ok
+= exp10 tonearest ldbl-96-m68k -0x8p-152L : 0x1p+0L : inexact-ok
+= exp10 towardzero ldbl-96-m68k -0x8p-152L : 0xf.fffffffffffffffp-4L : inexact-ok
+= exp10 upward ldbl-96-m68k -0x8p-152L : 0x1p+0L : inexact-ok
+= exp10 downward ldbl-128 -0x8p-152L : 0xf.fffffffffffffffffffffffffff8p-4L : inexact-ok
+= exp10 tonearest ldbl-128 -0x8p-152L : 0x1p+0L : inexact-ok
+= exp10 towardzero ldbl-128 -0x8p-152L : 0xf.fffffffffffffffffffffffffff8p-4L : inexact-ok
+= exp10 upward ldbl-128 -0x8p-152L : 0x1p+0L : inexact-ok
+= exp10 downward ldbl-128ibm -0x8p-152L : 0xf.fffffffffffffffffffffffffcp-4L : inexact-ok
+= exp10 tonearest ldbl-128ibm -0x8p-152L : 0x1p+0L : inexact-ok
+= exp10 towardzero ldbl-128ibm -0x8p-152L : 0xf.fffffffffffffffffffffffffcp-4L : inexact-ok
+= exp10 upward ldbl-128ibm -0x8p-152L : 0x1p+0L : inexact-ok
+= exp10 downward dbl-64 -0x4p-1076 : 0xf.ffffffffffff8p-4 : inexact-ok
+= exp10 tonearest dbl-64 -0x4p-1076 : 0x1p+0 : inexact-ok
+= exp10 towardzero dbl-64 -0x4p-1076 : 0xf.ffffffffffff8p-4 : inexact-ok
+= exp10 upward dbl-64 -0x4p-1076 : 0x1p+0 : inexact-ok
+= exp10 downward ldbl-96-intel -0x4p-1076L : 0xf.fffffffffffffffp-4L : inexact-ok
+= exp10 tonearest ldbl-96-intel -0x4p-1076L : 0x1p+0L : inexact-ok
+= exp10 towardzero ldbl-96-intel -0x4p-1076L : 0xf.fffffffffffffffp-4L : inexact-ok
+= exp10 upward ldbl-96-intel -0x4p-1076L : 0x1p+0L : inexact-ok
+= exp10 downward ldbl-96-m68k -0x4p-1076L : 0xf.fffffffffffffffp-4L : inexact-ok
+= exp10 tonearest ldbl-96-m68k -0x4p-1076L : 0x1p+0L : inexact-ok
+= exp10 towardzero ldbl-96-m68k -0x4p-1076L : 0xf.fffffffffffffffp-4L : inexact-ok
+= exp10 upward ldbl-96-m68k -0x4p-1076L : 0x1p+0L : inexact-ok
+= exp10 downward ldbl-128 -0x4p-1076L : 0xf.fffffffffffffffffffffffffff8p-4L : inexact-ok
+= exp10 tonearest ldbl-128 -0x4p-1076L : 0x1p+0L : inexact-ok
+= exp10 towardzero ldbl-128 -0x4p-1076L : 0xf.fffffffffffffffffffffffffff8p-4L : inexact-ok
+= exp10 upward ldbl-128 -0x4p-1076L : 0x1p+0L : inexact-ok
+= exp10 downward ldbl-128ibm -0x4p-1076L : 0xf.fffffffffffffffffffffffffcp-4L : inexact-ok
+= exp10 tonearest ldbl-128ibm -0x4p-1076L : 0x1p+0L : inexact-ok
+= exp10 towardzero ldbl-128ibm -0x4p-1076L : 0xf.fffffffffffffffffffffffffcp-4L : inexact-ok
+= exp10 upward ldbl-128ibm -0x4p-1076L : 0x1p+0L : inexact-ok
+= exp10 downward ldbl-96-intel -0x8p-16448L : 0xf.fffffffffffffffp-4L : inexact-ok
+= exp10 tonearest ldbl-96-intel -0x8p-16448L : 0x1p+0L : inexact-ok
+= exp10 towardzero ldbl-96-intel -0x8p-16448L : 0xf.fffffffffffffffp-4L : inexact-ok
+= exp10 upward ldbl-96-intel -0x8p-16448L : 0x1p+0L : inexact-ok
+= exp10 downward ldbl-96-m68k -0x8p-16448L : 0xf.fffffffffffffffp-4L : inexact-ok
+= exp10 tonearest ldbl-96-m68k -0x8p-16448L : 0x1p+0L : inexact-ok
+= exp10 towardzero ldbl-96-m68k -0x8p-16448L : 0xf.fffffffffffffffp-4L : inexact-ok
+= exp10 upward ldbl-96-m68k -0x8p-16448L : 0x1p+0L : inexact-ok
+= exp10 downward ldbl-128 -0x8p-16448L : 0xf.fffffffffffffffffffffffffff8p-4L : inexact-ok
+= exp10 tonearest ldbl-128 -0x8p-16448L : 0x1p+0L : inexact-ok
+= exp10 towardzero ldbl-128 -0x8p-16448L : 0xf.fffffffffffffffffffffffffff8p-4L : inexact-ok
+= exp10 upward ldbl-128 -0x8p-16448L : 0x1p+0L : inexact-ok
+= exp10 downward ldbl-96-m68k -0x4p-16448L : 0xf.fffffffffffffffp-4L : inexact-ok
+= exp10 tonearest ldbl-96-m68k -0x4p-16448L : 0x1p+0L : inexact-ok
+= exp10 towardzero ldbl-96-m68k -0x4p-16448L : 0xf.fffffffffffffffp-4L : inexact-ok
+= exp10 upward ldbl-96-m68k -0x4p-16448L : 0x1p+0L : inexact-ok
+= exp10 downward ldbl-128 -0x4p-16448L : 0xf.fffffffffffffffffffffffffff8p-4L : inexact-ok
+= exp10 tonearest ldbl-128 -0x4p-16448L : 0x1p+0L : inexact-ok
+= exp10 towardzero ldbl-128 -0x4p-16448L : 0xf.fffffffffffffffffffffffffff8p-4L : inexact-ok
+= exp10 upward ldbl-128 -0x4p-16448L : 0x1p+0L : inexact-ok
+= exp10 downward ldbl-128 -0x4p-16496L : 0xf.fffffffffffffffffffffffffff8p-4L : inexact-ok
+= exp10 tonearest ldbl-128 -0x4p-16496L : 0x1p+0L : inexact-ok
+= exp10 towardzero ldbl-128 -0x4p-16496L : 0xf.fffffffffffffffffffffffffff8p-4L : inexact-ok
+= exp10 upward ldbl-128 -0x4p-16496L : 0x1p+0L : inexact-ok
 exp2 0
 = exp2 downward flt-32 0x0p+0f : 0x1p+0f : inexact-ok
 = exp2 tonearest flt-32 0x0p+0f : 0x1p+0f : inexact-ok
index eac609b71d86190a2c16c86e50a5a65914634525..59cb2ffd4a0357234669dd6d52c6d4430235ef6b 100644 (file)
@@ -35,6 +35,8 @@ __ieee754_exp10 (double arg)
     return DBL_MIN * DBL_MIN;
   else if (arg > DBL_MAX_10_EXP + 1)
     return DBL_MAX * DBL_MAX;
+  else if (fabs (arg) < 0x1p-56)
+    return 1.0;
 
   GET_LOW_WORD (lx, arg);
   lx &= 0xf8000000;
index 3c5096379c8b159b485bd512027f7b6d7d6565ec..da7099559d100e21f2a5184039e7755ae6377ca0 100644 (file)
@@ -35,6 +35,8 @@ __ieee754_exp10l (long double arg)
     return LDBL_MIN * LDBL_MIN;
   else if (arg > LDBL_MAX_10_EXP + 1)
     return LDBL_MAX * LDBL_MAX;
+  else if (fabsl (arg) < 0x1p-116L)
+    return 1.0L;
 
   u.value = arg;
   u.parts64.lsw &= 0xfe00000000000000LL;
index 5c68eb57b13a50847d2277aff381e093422d8825..a0e8a3e6108c6130f775572f2e2e45a8b31725e7 100644 (file)
@@ -35,6 +35,8 @@ __ieee754_exp10l (long double arg)
     return LDBL_MIN * LDBL_MIN;
   else if (arg > LDBL_MAX_10_EXP + 1)
     return LDBL_MAX * LDBL_MAX;
+  else if (fabsl (arg) < 0x1p-109L)
+    return 1.0L;
 
   u.ld = arg;
   arg_high = u.d[0].d;
index 5469887099d47f38beb74f3689a94ad124096b11..f68650d36db9b288dfb02520446f94dd01fb245a 100644 (file)
@@ -1407,7 +1407,9 @@ ldouble: 1
 
 Function: "exp10_downward":
 double: 1
+float: 1
 idouble: 1
+ifloat: 1
 ildouble: 2
 ldouble: 2
 
@@ -1419,7 +1421,9 @@ ldouble: 1
 
 Function: "exp10_towardzero":
 double: 1
+float: 1
 idouble: 1
+ifloat: 1
 ildouble: 1
 ldouble: 1
 
@@ -1765,13 +1769,17 @@ ldouble: 1
 
 Function: "pow10_downward":
 double: 1
+float: 1
 idouble: 1
+ifloat: 1
 ildouble: 2
 ldouble: 2
 
 Function: "pow10_towardzero":
 double: 1
+float: 1
 idouble: 1
+ifloat: 1
 ildouble: 1
 ldouble: 1