about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog10
-rw-r--r--NEWS10
-rw-r--r--math/auto-libm-test-in18
-rw-r--r--math/auto-libm-test-out666
-rw-r--r--sysdeps/i386/fpu/e_expl.S10
-rw-r--r--sysdeps/x86_64/fpu/e_expl.S10
6 files changed, 715 insertions, 9 deletions
diff --git a/ChangeLog b/ChangeLog
index 796978df45..95733b5620 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+2014-03-27  Joseph Myers  <joseph@codesourcery.com>
+
+	[BZ #16348]
+	* sysdeps/i386/fpu/e_expl.S (IEEE754_EXPL) [!USE_AS_EXPM1L]: Use
+	1+x for argument with exponent below -67.
+	* sysdeps/x86_64/fpu/e_expl.S (IEEE754_EXPL) [!USE_AS_EXPM1L]:
+	Likewise.
+	* math/auto-libm-test-in: Add more tests of exp.
+	* math/auto-libm-test-out: Regenerated.
+
 2014-03-27  Siddhesh Poyarekar  <siddhesh@redhat.com>
 
 	[BZ #16759]
diff --git a/NEWS b/NEWS
index afe4021337..a9cc5cb6ab 100644
--- a/NEWS
+++ b/NEWS
@@ -9,11 +9,11 @@ Version 2.20
 
 * The following bugs are resolved with this release:
 
-  15347, 15804, 15894, 16002, 16198, 16284, 16357, 16447, 16532, 16545,
-  16574, 16599, 16600, 16609, 16610, 16611, 16613, 16623, 16632, 16634,
-  16639, 16642, 16649, 16670, 16674, 16677, 16680, 16683, 16689, 16695,
-  16701, 16706, 16707, 16712, 16713, 16714, 16731, 16743, 16758, 16759,
-  16760.
+  15347, 15804, 15894, 16002, 16198, 16284, 16348, 16357, 16447, 16532,
+  16545, 16574, 16599, 16600, 16609, 16610, 16611, 16613, 16623, 16632,
+  16634, 16639, 16642, 16649, 16670, 16674, 16677, 16680, 16683, 16689,
+  16695, 16701, 16706, 16707, 16712, 16713, 16714, 16731, 16743, 16758,
+  16759, 16760.
 
 * Running the testsuite no longer terminates as soon as a test fails.
   Instead, a file tests.sum (xtests.sum from "make xcheck") is generated,
diff --git a/math/auto-libm-test-in b/math/auto-libm-test-in
index 7c80192ccd..7ad407c238 100644
--- a/math/auto-libm-test-in
+++ b/math/auto-libm-test-in
@@ -843,6 +843,24 @@ exp -7.4444006192138124e+02
 exp -0x1.75f113c30b1c8p+9
 exp -max
 exp -11342.8125
+exp 0x1p-10
+exp -0x1p-10
+exp 0x1p-20
+exp -0x1p-20
+exp 0x1p-30
+exp -0x1p-30
+exp 0x1p-40
+exp -0x1p-40
+exp 0x1p-50
+exp -0x1p-50
+exp 0x1p-60
+exp -0x1p-60
+exp 0x1p-100
+exp -0x1p-100
+exp min
+exp -min
+exp min_subnorm
+exp -min_subnorm
 
 exp10 0
 exp10 -0
diff --git a/math/auto-libm-test-out b/math/auto-libm-test-out
index 1dadc38c6c..64dc911e97 100644
--- a/math/auto-libm-test-out
+++ b/math/auto-libm-test-out
@@ -89391,6 +89391,672 @@ exp -11342.8125
 = exp tonearest ldbl-128ibm -0x2.c4edp+12L : 0x0p+0L : inexact-ok underflow errno-erange
 = exp towardzero ldbl-128ibm -0x2.c4edp+12L : 0x0p+0L : inexact-ok underflow errno-erange
 = exp upward ldbl-128ibm -0x2.c4edp+12L : 0x4p-1076L : inexact-ok underflow errno-erange-ok
+exp 0x1p-10
+= exp downward flt-32 0x4p-12f : 0x1.004008p+0f : inexact-ok
+= exp tonearest flt-32 0x4p-12f : 0x1.004008p+0f : inexact-ok
+= exp towardzero flt-32 0x4p-12f : 0x1.004008p+0f : inexact-ok
+= exp upward flt-32 0x4p-12f : 0x1.00400ap+0f : inexact-ok
+= exp downward dbl-64 0x4p-12 : 0x1.00400800aab55p+0 : inexact-ok
+= exp tonearest dbl-64 0x4p-12 : 0x1.00400800aab55p+0 : inexact-ok
+= exp towardzero dbl-64 0x4p-12 : 0x1.00400800aab55p+0 : inexact-ok
+= exp upward dbl-64 0x4p-12 : 0x1.00400800aab56p+0 : inexact-ok
+= exp downward ldbl-96-intel 0x4p-12L : 0x1.00400800aab555dcp+0L : inexact-ok
+= exp tonearest ldbl-96-intel 0x4p-12L : 0x1.00400800aab555dep+0L : inexact-ok
+= exp towardzero ldbl-96-intel 0x4p-12L : 0x1.00400800aab555dcp+0L : inexact-ok
+= exp upward ldbl-96-intel 0x4p-12L : 0x1.00400800aab555dep+0L : inexact-ok
+= exp downward ldbl-96-m68k 0x4p-12L : 0x1.00400800aab555dcp+0L : inexact-ok
+= exp tonearest ldbl-96-m68k 0x4p-12L : 0x1.00400800aab555dep+0L : inexact-ok
+= exp towardzero ldbl-96-m68k 0x4p-12L : 0x1.00400800aab555dcp+0L : inexact-ok
+= exp upward ldbl-96-m68k 0x4p-12L : 0x1.00400800aab555dep+0L : inexact-ok
+= exp downward ldbl-128 0x4p-12L : 0x1.00400800aab555dde38e6ce86e92p+0L : inexact-ok
+= exp tonearest ldbl-128 0x4p-12L : 0x1.00400800aab555dde38e6ce86e92p+0L : inexact-ok
+= exp towardzero ldbl-128 0x4p-12L : 0x1.00400800aab555dde38e6ce86e92p+0L : inexact-ok
+= exp upward ldbl-128 0x4p-12L : 0x1.00400800aab555dde38e6ce86e93p+0L : inexact-ok
+= exp downward ldbl-128ibm 0x4p-12L : 0x1.00400800aab555dde38e6ce86e8p+0L : inexact-ok
+= exp tonearest ldbl-128ibm 0x4p-12L : 0x1.00400800aab555dde38e6ce86e8p+0L : inexact-ok
+= exp towardzero ldbl-128ibm 0x4p-12L : 0x1.00400800aab555dde38e6ce86e8p+0L : inexact-ok
+= exp upward ldbl-128ibm 0x4p-12L : 0x1.00400800aab555dde38e6ce86fp+0L : inexact-ok
+exp -0x1p-10
+= exp downward flt-32 -0x4p-12f : 0xf.fc007p-4f : inexact-ok
+= exp tonearest flt-32 -0x4p-12f : 0xf.fc008p-4f : inexact-ok
+= exp towardzero flt-32 -0x4p-12f : 0xf.fc007p-4f : inexact-ok
+= exp upward flt-32 -0x4p-12f : 0xf.fc008p-4f : inexact-ok
+= exp downward dbl-64 -0x4p-12 : 0xf.fc007ff555ff8p-4 : inexact-ok
+= exp tonearest dbl-64 -0x4p-12 : 0xf.fc007ff556p-4 : inexact-ok
+= exp towardzero dbl-64 -0x4p-12 : 0xf.fc007ff555ff8p-4 : inexact-ok
+= exp upward dbl-64 -0x4p-12 : 0xf.fc007ff556p-4 : inexact-ok
+= exp downward ldbl-96-intel -0x4p-12L : 0xf.fc007ff555fff77p-4L : inexact-ok
+= exp tonearest ldbl-96-intel -0x4p-12L : 0xf.fc007ff555fff77p-4L : inexact-ok
+= exp towardzero ldbl-96-intel -0x4p-12L : 0xf.fc007ff555fff77p-4L : inexact-ok
+= exp upward ldbl-96-intel -0x4p-12L : 0xf.fc007ff555fff78p-4L : inexact-ok
+= exp downward ldbl-96-m68k -0x4p-12L : 0xf.fc007ff555fff77p-4L : inexact-ok
+= exp tonearest ldbl-96-m68k -0x4p-12L : 0xf.fc007ff555fff77p-4L : inexact-ok
+= exp towardzero ldbl-96-m68k -0x4p-12L : 0xf.fc007ff555fff77p-4L : inexact-ok
+= exp upward ldbl-96-m68k -0x4p-12L : 0xf.fc007ff555fff78p-4L : inexact-ok
+= exp downward ldbl-128 -0x4p-12L : 0xf.fc007ff555fff777d279e7b87ac8p-4L : inexact-ok
+= exp tonearest ldbl-128 -0x4p-12L : 0xf.fc007ff555fff777d279e7b87adp-4L : inexact-ok
+= exp towardzero ldbl-128 -0x4p-12L : 0xf.fc007ff555fff777d279e7b87ac8p-4L : inexact-ok
+= exp upward ldbl-128 -0x4p-12L : 0xf.fc007ff555fff777d279e7b87adp-4L : inexact-ok
+= exp downward ldbl-128ibm -0x4p-12L : 0xf.fc007ff555fff777d279e7b878p-4L : inexact-ok
+= exp tonearest ldbl-128ibm -0x4p-12L : 0xf.fc007ff555fff777d279e7b87cp-4L : inexact-ok
+= exp towardzero ldbl-128ibm -0x4p-12L : 0xf.fc007ff555fff777d279e7b878p-4L : inexact-ok
+= exp upward ldbl-128ibm -0x4p-12L : 0xf.fc007ff555fff777d279e7b87cp-4L : inexact-ok
+exp 0x1p-20
+= exp downward flt-32 0x1p-20f : 0x1.00001p+0f : inexact-ok
+= exp tonearest flt-32 0x1p-20f : 0x1.00001p+0f : inexact-ok
+= exp towardzero flt-32 0x1p-20f : 0x1.00001p+0f : inexact-ok
+= exp upward flt-32 0x1p-20f : 0x1.000012p+0f : inexact-ok
+= exp downward dbl-64 0x1p-20 : 0x1.00001000008p+0 : inexact-ok
+= exp tonearest dbl-64 0x1p-20 : 0x1.00001000008p+0 : inexact-ok
+= exp towardzero dbl-64 0x1p-20 : 0x1.00001000008p+0 : inexact-ok
+= exp upward dbl-64 0x1p-20 : 0x1.0000100000801p+0 : inexact-ok
+= exp downward ldbl-96-intel 0x1p-20L : 0x1.0000100000800002p+0L : inexact-ok
+= exp tonearest ldbl-96-intel 0x1p-20L : 0x1.0000100000800002p+0L : inexact-ok
+= exp towardzero ldbl-96-intel 0x1p-20L : 0x1.0000100000800002p+0L : inexact-ok
+= exp upward ldbl-96-intel 0x1p-20L : 0x1.0000100000800004p+0L : inexact-ok
+= exp downward ldbl-96-m68k 0x1p-20L : 0x1.0000100000800002p+0L : inexact-ok
+= exp tonearest ldbl-96-m68k 0x1p-20L : 0x1.0000100000800002p+0L : inexact-ok
+= exp towardzero ldbl-96-m68k 0x1p-20L : 0x1.0000100000800002p+0L : inexact-ok
+= exp upward ldbl-96-m68k 0x1p-20L : 0x1.0000100000800004p+0L : inexact-ok
+= exp downward ldbl-128 0x1p-20L : 0x1.0000100000800002aaaab5555577p+0L : inexact-ok
+= exp tonearest ldbl-128 0x1p-20L : 0x1.0000100000800002aaaab5555577p+0L : inexact-ok
+= exp towardzero ldbl-128 0x1p-20L : 0x1.0000100000800002aaaab5555577p+0L : inexact-ok
+= exp upward ldbl-128 0x1p-20L : 0x1.0000100000800002aaaab5555578p+0L : inexact-ok
+= exp downward ldbl-128ibm 0x1p-20L : 0x1.0000100000800002aaaab55555p+0L : inexact-ok
+= exp tonearest ldbl-128ibm 0x1p-20L : 0x1.0000100000800002aaaab555558p+0L : inexact-ok
+= exp towardzero ldbl-128ibm 0x1p-20L : 0x1.0000100000800002aaaab55555p+0L : inexact-ok
+= exp upward ldbl-128ibm 0x1p-20L : 0x1.0000100000800002aaaab555558p+0L : inexact-ok
+exp -0x1p-20
+= exp downward flt-32 -0x1p-20f : 0xf.ffffp-4f : inexact-ok
+= exp tonearest flt-32 -0x1p-20f : 0xf.ffffp-4f : inexact-ok
+= exp towardzero flt-32 -0x1p-20f : 0xf.ffffp-4f : inexact-ok
+= exp upward flt-32 -0x1p-20f : 0xf.ffff1p-4f : inexact-ok
+= exp downward dbl-64 -0x1p-20 : 0xf.ffff000007ff8p-4 : inexact-ok
+= exp tonearest dbl-64 -0x1p-20 : 0xf.ffff000008p-4 : inexact-ok
+= exp towardzero dbl-64 -0x1p-20 : 0xf.ffff000007ff8p-4 : inexact-ok
+= exp upward dbl-64 -0x1p-20 : 0xf.ffff000008p-4 : inexact-ok
+= exp downward ldbl-96-intel -0x1p-20L : 0xf.ffff000007ffffdp-4L : inexact-ok
+= exp tonearest ldbl-96-intel -0x1p-20L : 0xf.ffff000007ffffdp-4L : inexact-ok
+= exp towardzero ldbl-96-intel -0x1p-20L : 0xf.ffff000007ffffdp-4L : inexact-ok
+= exp upward ldbl-96-intel -0x1p-20L : 0xf.ffff000007ffffep-4L : inexact-ok
+= exp downward ldbl-96-m68k -0x1p-20L : 0xf.ffff000007ffffdp-4L : inexact-ok
+= exp tonearest ldbl-96-m68k -0x1p-20L : 0xf.ffff000007ffffdp-4L : inexact-ok
+= exp towardzero ldbl-96-m68k -0x1p-20L : 0xf.ffff000007ffffdp-4L : inexact-ok
+= exp upward ldbl-96-m68k -0x1p-20L : 0xf.ffff000007ffffep-4L : inexact-ok
+= exp downward ldbl-128 -0x1p-20L : 0xf.ffff000007ffffd55555fffffdd8p-4L : inexact-ok
+= exp tonearest ldbl-128 -0x1p-20L : 0xf.ffff000007ffffd55555fffffdep-4L : inexact-ok
+= exp towardzero ldbl-128 -0x1p-20L : 0xf.ffff000007ffffd55555fffffdd8p-4L : inexact-ok
+= exp upward ldbl-128 -0x1p-20L : 0xf.ffff000007ffffd55555fffffdep-4L : inexact-ok
+= exp downward ldbl-128ibm -0x1p-20L : 0xf.ffff000007ffffd55555fffffcp-4L : inexact-ok
+= exp tonearest ldbl-128ibm -0x1p-20L : 0xf.ffff000007ffffd55555fffffcp-4L : inexact-ok
+= exp towardzero ldbl-128ibm -0x1p-20L : 0xf.ffff000007ffffd55555fffffcp-4L : inexact-ok
+= exp upward ldbl-128ibm -0x1p-20L : 0xf.ffff000007ffffd55556p-4L : inexact-ok
+exp 0x1p-30
+= exp downward flt-32 0x4p-32f : 0x1p+0f : inexact-ok
+= exp tonearest flt-32 0x4p-32f : 0x1p+0f : inexact-ok
+= exp towardzero flt-32 0x4p-32f : 0x1p+0f : inexact-ok
+= exp upward flt-32 0x4p-32f : 0x1.000002p+0f : inexact-ok
+= exp downward dbl-64 0x4p-32 : 0x1.00000004p+0 : inexact-ok
+= exp tonearest dbl-64 0x4p-32 : 0x1.00000004p+0 : inexact-ok
+= exp towardzero dbl-64 0x4p-32 : 0x1.00000004p+0 : inexact-ok
+= exp upward dbl-64 0x4p-32 : 0x1.0000000400001p+0 : inexact-ok
+= exp downward ldbl-96-intel 0x4p-32L : 0x1.0000000400000008p+0L : inexact-ok
+= exp tonearest ldbl-96-intel 0x4p-32L : 0x1.0000000400000008p+0L : inexact-ok
+= exp towardzero ldbl-96-intel 0x4p-32L : 0x1.0000000400000008p+0L : inexact-ok
+= exp upward ldbl-96-intel 0x4p-32L : 0x1.000000040000000ap+0L : inexact-ok
+= exp downward ldbl-96-m68k 0x4p-32L : 0x1.0000000400000008p+0L : inexact-ok
+= exp tonearest ldbl-96-m68k 0x4p-32L : 0x1.0000000400000008p+0L : inexact-ok
+= exp towardzero ldbl-96-m68k 0x4p-32L : 0x1.0000000400000008p+0L : inexact-ok
+= exp upward ldbl-96-m68k 0x4p-32L : 0x1.000000040000000ap+0L : inexact-ok
+= exp downward ldbl-128 0x4p-32L : 0x1.00000004000000080000000aaaaap+0L : inexact-ok
+= exp tonearest ldbl-128 0x4p-32L : 0x1.00000004000000080000000aaaabp+0L : inexact-ok
+= exp towardzero ldbl-128 0x4p-32L : 0x1.00000004000000080000000aaaaap+0L : inexact-ok
+= exp upward ldbl-128 0x4p-32L : 0x1.00000004000000080000000aaaabp+0L : inexact-ok
+= exp downward ldbl-128ibm 0x4p-32L : 0x1.00000004000000080000000aaa8p+0L : inexact-ok
+= exp tonearest ldbl-128ibm 0x4p-32L : 0x1.00000004000000080000000aaa8p+0L : inexact-ok
+= exp towardzero ldbl-128ibm 0x4p-32L : 0x1.00000004000000080000000aaa8p+0L : inexact-ok
+= exp upward ldbl-128ibm 0x4p-32L : 0x1.00000004000000080000000aabp+0L : inexact-ok
+exp -0x1p-30
+= exp downward flt-32 -0x4p-32f : 0xf.fffffp-4f : inexact-ok
+= exp tonearest flt-32 -0x4p-32f : 0x1p+0f : inexact-ok
+= exp towardzero flt-32 -0x4p-32f : 0xf.fffffp-4f : inexact-ok
+= exp upward flt-32 -0x4p-32f : 0x1p+0f : inexact-ok
+= exp downward dbl-64 -0x4p-32 : 0xf.ffffffcp-4 : inexact-ok
+= exp tonearest dbl-64 -0x4p-32 : 0xf.ffffffcp-4 : inexact-ok
+= exp towardzero dbl-64 -0x4p-32 : 0xf.ffffffcp-4 : inexact-ok
+= exp upward dbl-64 -0x4p-32 : 0xf.ffffffc000008p-4 : inexact-ok
+= exp downward ldbl-96-intel -0x4p-32L : 0xf.ffffffc00000007p-4L : inexact-ok
+= exp tonearest ldbl-96-intel -0x4p-32L : 0xf.ffffffc00000008p-4L : inexact-ok
+= exp towardzero ldbl-96-intel -0x4p-32L : 0xf.ffffffc00000007p-4L : inexact-ok
+= exp upward ldbl-96-intel -0x4p-32L : 0xf.ffffffc00000008p-4L : inexact-ok
+= exp downward ldbl-96-m68k -0x4p-32L : 0xf.ffffffc00000007p-4L : inexact-ok
+= exp tonearest ldbl-96-m68k -0x4p-32L : 0xf.ffffffc00000008p-4L : inexact-ok
+= exp towardzero ldbl-96-m68k -0x4p-32L : 0xf.ffffffc00000007p-4L : inexact-ok
+= exp upward ldbl-96-m68k -0x4p-32L : 0xf.ffffffc00000008p-4L : inexact-ok
+= exp downward ldbl-128 -0x4p-32L : 0xf.ffffffc00000007fffffff55555p-4L : inexact-ok
+= exp tonearest ldbl-128 -0x4p-32L : 0xf.ffffffc00000007fffffff555558p-4L : inexact-ok
+= exp towardzero ldbl-128 -0x4p-32L : 0xf.ffffffc00000007fffffff55555p-4L : inexact-ok
+= exp upward ldbl-128 -0x4p-32L : 0xf.ffffffc00000007fffffff555558p-4L : inexact-ok
+= exp downward ldbl-128ibm -0x4p-32L : 0xf.ffffffc00000007fffffff5554p-4L : inexact-ok
+= exp tonearest ldbl-128ibm -0x4p-32L : 0xf.ffffffc00000007fffffff5554p-4L : inexact-ok
+= exp towardzero ldbl-128ibm -0x4p-32L : 0xf.ffffffc00000007fffffff5554p-4L : inexact-ok
+= exp upward ldbl-128ibm -0x4p-32L : 0xf.ffffffc00000007fffffff5558p-4L : inexact-ok
+exp 0x1p-40
+= exp downward flt-32 0x1p-40f : 0x1p+0f : inexact-ok
+= exp tonearest flt-32 0x1p-40f : 0x1p+0f : inexact-ok
+= exp towardzero flt-32 0x1p-40f : 0x1p+0f : inexact-ok
+= exp upward flt-32 0x1p-40f : 0x1.000002p+0f : inexact-ok
+= exp downward dbl-64 0x1p-40 : 0x1.0000000001p+0 : inexact-ok
+= exp tonearest dbl-64 0x1p-40 : 0x1.0000000001p+0 : inexact-ok
+= exp towardzero dbl-64 0x1p-40 : 0x1.0000000001p+0 : inexact-ok
+= exp upward dbl-64 0x1p-40 : 0x1.0000000001001p+0 : inexact-ok
+= exp downward ldbl-96-intel 0x1p-40L : 0x1.0000000001p+0L : inexact-ok
+= exp tonearest ldbl-96-intel 0x1p-40L : 0x1.0000000001p+0L : inexact-ok
+= exp towardzero ldbl-96-intel 0x1p-40L : 0x1.0000000001p+0L : inexact-ok
+= exp upward ldbl-96-intel 0x1p-40L : 0x1.0000000001000002p+0L : inexact-ok
+= exp downward ldbl-96-m68k 0x1p-40L : 0x1.0000000001p+0L : inexact-ok
+= exp tonearest ldbl-96-m68k 0x1p-40L : 0x1.0000000001p+0L : inexact-ok
+= exp towardzero ldbl-96-m68k 0x1p-40L : 0x1.0000000001p+0L : inexact-ok
+= exp upward ldbl-96-m68k 0x1p-40L : 0x1.0000000001000002p+0L : inexact-ok
+= exp downward ldbl-128 0x1p-40L : 0x1.000000000100000000008p+0L : inexact-ok
+= exp tonearest ldbl-128 0x1p-40L : 0x1.000000000100000000008p+0L : inexact-ok
+= exp towardzero ldbl-128 0x1p-40L : 0x1.000000000100000000008p+0L : inexact-ok
+= exp upward ldbl-128 0x1p-40L : 0x1.0000000001000000000080000001p+0L : inexact-ok
+= exp downward ldbl-128ibm 0x1p-40L : 0x1.000000000100000000008p+0L : inexact-ok
+= exp tonearest ldbl-128ibm 0x1p-40L : 0x1.000000000100000000008p+0L : inexact-ok
+= exp towardzero ldbl-128ibm 0x1p-40L : 0x1.000000000100000000008p+0L : inexact-ok
+= exp upward ldbl-128ibm 0x1p-40L : 0x1.000000000100000000008000008p+0L : inexact-ok
+exp -0x1p-40
+= exp downward flt-32 -0x1p-40f : 0xf.fffffp-4f : inexact-ok
+= exp tonearest flt-32 -0x1p-40f : 0x1p+0f : inexact-ok
+= exp towardzero flt-32 -0x1p-40f : 0xf.fffffp-4f : inexact-ok
+= exp upward flt-32 -0x1p-40f : 0x1p+0f : inexact-ok
+= exp downward dbl-64 -0x1p-40 : 0xf.fffffffffp-4 : inexact-ok
+= exp tonearest dbl-64 -0x1p-40 : 0xf.fffffffffp-4 : inexact-ok
+= exp towardzero dbl-64 -0x1p-40 : 0xf.fffffffffp-4 : inexact-ok
+= exp upward dbl-64 -0x1p-40 : 0xf.fffffffff0008p-4 : inexact-ok
+= exp downward ldbl-96-intel -0x1p-40L : 0xf.fffffffffp-4L : inexact-ok
+= exp tonearest ldbl-96-intel -0x1p-40L : 0xf.fffffffffp-4L : inexact-ok
+= exp towardzero ldbl-96-intel -0x1p-40L : 0xf.fffffffffp-4L : inexact-ok
+= exp upward ldbl-96-intel -0x1p-40L : 0xf.fffffffff000001p-4L : inexact-ok
+= exp downward ldbl-96-m68k -0x1p-40L : 0xf.fffffffffp-4L : inexact-ok
+= exp tonearest ldbl-96-m68k -0x1p-40L : 0xf.fffffffffp-4L : inexact-ok
+= exp towardzero ldbl-96-m68k -0x1p-40L : 0xf.fffffffffp-4L : inexact-ok
+= exp upward ldbl-96-m68k -0x1p-40L : 0xf.fffffffff000001p-4L : inexact-ok
+= exp downward ldbl-128 -0x1p-40L : 0xf.fffffffff00000000007fffffff8p-4L : inexact-ok
+= exp tonearest ldbl-128 -0x1p-40L : 0xf.fffffffff00000000008p-4L : inexact-ok
+= exp towardzero ldbl-128 -0x1p-40L : 0xf.fffffffff00000000007fffffff8p-4L : inexact-ok
+= exp upward ldbl-128 -0x1p-40L : 0xf.fffffffff00000000008p-4L : inexact-ok
+= exp downward ldbl-128ibm -0x1p-40L : 0xf.fffffffff00000000007fffffcp-4L : inexact-ok
+= exp tonearest ldbl-128ibm -0x1p-40L : 0xf.fffffffff00000000008p-4L : inexact-ok
+= exp towardzero ldbl-128ibm -0x1p-40L : 0xf.fffffffff00000000007fffffcp-4L : inexact-ok
+= exp upward ldbl-128ibm -0x1p-40L : 0xf.fffffffff00000000008p-4L : inexact-ok
+exp 0x1p-50
+= exp downward flt-32 0x4p-52f : 0x1p+0f : inexact-ok
+= exp tonearest flt-32 0x4p-52f : 0x1p+0f : inexact-ok
+= exp towardzero flt-32 0x4p-52f : 0x1p+0f : inexact-ok
+= exp upward flt-32 0x4p-52f : 0x1.000002p+0f : inexact-ok
+= exp downward dbl-64 0x4p-52 : 0x1.0000000000004p+0 : inexact-ok
+= exp tonearest dbl-64 0x4p-52 : 0x1.0000000000004p+0 : inexact-ok
+= exp towardzero dbl-64 0x4p-52 : 0x1.0000000000004p+0 : inexact-ok
+= exp upward dbl-64 0x4p-52 : 0x1.0000000000005p+0 : inexact-ok
+= exp downward ldbl-96-intel 0x4p-52L : 0x1.0000000000004p+0L : inexact-ok
+= exp tonearest ldbl-96-intel 0x4p-52L : 0x1.0000000000004p+0L : inexact-ok
+= exp towardzero ldbl-96-intel 0x4p-52L : 0x1.0000000000004p+0L : inexact-ok
+= exp upward ldbl-96-intel 0x4p-52L : 0x1.0000000000004002p+0L : inexact-ok
+= exp downward ldbl-96-m68k 0x4p-52L : 0x1.0000000000004p+0L : inexact-ok
+= exp tonearest ldbl-96-m68k 0x4p-52L : 0x1.0000000000004p+0L : inexact-ok
+= exp towardzero ldbl-96-m68k 0x4p-52L : 0x1.0000000000004p+0L : inexact-ok
+= exp upward ldbl-96-m68k 0x4p-52L : 0x1.0000000000004002p+0L : inexact-ok
+= exp downward ldbl-128 0x4p-52L : 0x1.00000000000040000000000008p+0L : inexact-ok
+= exp tonearest ldbl-128 0x4p-52L : 0x1.00000000000040000000000008p+0L : inexact-ok
+= exp towardzero ldbl-128 0x4p-52L : 0x1.00000000000040000000000008p+0L : inexact-ok
+= exp upward ldbl-128 0x4p-52L : 0x1.0000000000004000000000000801p+0L : inexact-ok
+= exp downward ldbl-128ibm 0x4p-52L : 0x1.00000000000040000000000008p+0L : inexact-ok
+= exp tonearest ldbl-128ibm 0x4p-52L : 0x1.00000000000040000000000008p+0L : inexact-ok
+= exp towardzero ldbl-128ibm 0x4p-52L : 0x1.00000000000040000000000008p+0L : inexact-ok
+= exp upward ldbl-128ibm 0x4p-52L : 0x1.000000000000400000000000088p+0L : inexact-ok
+exp -0x1p-50
+= exp downward flt-32 -0x4p-52f : 0xf.fffffp-4f : inexact-ok
+= exp tonearest flt-32 -0x4p-52f : 0x1p+0f : inexact-ok
+= exp towardzero flt-32 -0x4p-52f : 0xf.fffffp-4f : inexact-ok
+= exp upward flt-32 -0x4p-52f : 0x1p+0f : inexact-ok
+= exp downward dbl-64 -0x4p-52 : 0xf.fffffffffffcp-4 : inexact-ok
+= exp tonearest dbl-64 -0x4p-52 : 0xf.fffffffffffcp-4 : inexact-ok
+= exp towardzero dbl-64 -0x4p-52 : 0xf.fffffffffffcp-4 : inexact-ok
+= exp upward dbl-64 -0x4p-52 : 0xf.fffffffffffc8p-4 : inexact-ok
+= exp downward ldbl-96-intel -0x4p-52L : 0xf.fffffffffffcp-4L : inexact-ok
+= exp tonearest ldbl-96-intel -0x4p-52L : 0xf.fffffffffffcp-4L : inexact-ok
+= exp towardzero ldbl-96-intel -0x4p-52L : 0xf.fffffffffffcp-4L : inexact-ok
+= exp upward ldbl-96-intel -0x4p-52L : 0xf.fffffffffffc001p-4L : inexact-ok
+= exp downward ldbl-96-m68k -0x4p-52L : 0xf.fffffffffffcp-4L : inexact-ok
+= exp tonearest ldbl-96-m68k -0x4p-52L : 0xf.fffffffffffcp-4L : inexact-ok
+= exp towardzero ldbl-96-m68k -0x4p-52L : 0xf.fffffffffffcp-4L : inexact-ok
+= exp upward ldbl-96-m68k -0x4p-52L : 0xf.fffffffffffc001p-4L : inexact-ok
+= exp downward ldbl-128 -0x4p-52L : 0xf.fffffffffffc0000000000007ff8p-4L : inexact-ok
+= exp tonearest ldbl-128 -0x4p-52L : 0xf.fffffffffffc0000000000008p-4L : inexact-ok
+= exp towardzero ldbl-128 -0x4p-52L : 0xf.fffffffffffc0000000000007ff8p-4L : inexact-ok
+= exp upward ldbl-128 -0x4p-52L : 0xf.fffffffffffc0000000000008p-4L : inexact-ok
+= exp downward ldbl-128ibm -0x4p-52L : 0xf.fffffffffffc0000000000007cp-4L : inexact-ok
+= exp tonearest ldbl-128ibm -0x4p-52L : 0xf.fffffffffffc0000000000008p-4L : inexact-ok
+= exp towardzero ldbl-128ibm -0x4p-52L : 0xf.fffffffffffc0000000000007cp-4L : inexact-ok
+= exp upward ldbl-128ibm -0x4p-52L : 0xf.fffffffffffc0000000000008p-4L : inexact-ok
+exp 0x1p-60
+= exp downward flt-32 0x1p-60f : 0x1p+0f : inexact-ok
+= exp tonearest flt-32 0x1p-60f : 0x1p+0f : inexact-ok
+= exp towardzero flt-32 0x1p-60f : 0x1p+0f : inexact-ok
+= exp upward flt-32 0x1p-60f : 0x1.000002p+0f : inexact-ok
+= exp downward dbl-64 0x1p-60 : 0x1p+0 : inexact-ok
+= exp tonearest dbl-64 0x1p-60 : 0x1p+0 : inexact-ok
+= exp towardzero dbl-64 0x1p-60 : 0x1p+0 : inexact-ok
+= exp upward dbl-64 0x1p-60 : 0x1.0000000000001p+0 : inexact-ok
+= exp downward ldbl-96-intel 0x1p-60L : 0x1.000000000000001p+0L : inexact-ok
+= exp tonearest ldbl-96-intel 0x1p-60L : 0x1.000000000000001p+0L : inexact-ok
+= exp towardzero ldbl-96-intel 0x1p-60L : 0x1.000000000000001p+0L : inexact-ok
+= exp upward ldbl-96-intel 0x1p-60L : 0x1.0000000000000012p+0L : inexact-ok
+= exp downward ldbl-96-m68k 0x1p-60L : 0x1.000000000000001p+0L : inexact-ok
+= exp tonearest ldbl-96-m68k 0x1p-60L : 0x1.000000000000001p+0L : inexact-ok
+= exp towardzero ldbl-96-m68k 0x1p-60L : 0x1.000000000000001p+0L : inexact-ok
+= exp upward ldbl-96-m68k 0x1p-60L : 0x1.0000000000000012p+0L : inexact-ok
+= exp downward ldbl-128 0x1p-60L : 0x1.000000000000001p+0L : inexact-ok
+= exp tonearest ldbl-128 0x1p-60L : 0x1.000000000000001p+0L : inexact-ok
+= exp towardzero ldbl-128 0x1p-60L : 0x1.000000000000001p+0L : inexact-ok
+= exp upward ldbl-128 0x1p-60L : 0x1.0000000000000010000000000001p+0L : inexact-ok
+= exp downward ldbl-128ibm 0x1p-60L : 0x1.000000000000001p+0L : inexact-ok
+= exp tonearest ldbl-128ibm 0x1p-60L : 0x1.000000000000001p+0L : inexact-ok
+= exp towardzero ldbl-128ibm 0x1p-60L : 0x1.000000000000001p+0L : inexact-ok
+= exp upward ldbl-128ibm 0x1p-60L : 0x1.000000000000001000000000008p+0L : inexact-ok
+exp -0x1p-60
+= exp downward flt-32 -0x1p-60f : 0xf.fffffp-4f : inexact-ok
+= exp tonearest flt-32 -0x1p-60f : 0x1p+0f : inexact-ok
+= exp towardzero flt-32 -0x1p-60f : 0xf.fffffp-4f : inexact-ok
+= exp upward flt-32 -0x1p-60f : 0x1p+0f : inexact-ok
+= exp downward dbl-64 -0x1p-60 : 0xf.ffffffffffff8p-4 : inexact-ok
+= exp tonearest dbl-64 -0x1p-60 : 0x1p+0 : inexact-ok
+= exp towardzero dbl-64 -0x1p-60 : 0xf.ffffffffffff8p-4 : inexact-ok
+= exp upward dbl-64 -0x1p-60 : 0x1p+0 : inexact-ok
+= exp downward ldbl-96-intel -0x1p-60L : 0xf.ffffffffffffffp-4L : inexact-ok
+= exp tonearest ldbl-96-intel -0x1p-60L : 0xf.ffffffffffffffp-4L : inexact-ok
+= exp towardzero ldbl-96-intel -0x1p-60L : 0xf.ffffffffffffffp-4L : inexact-ok
+= exp upward ldbl-96-intel -0x1p-60L : 0xf.ffffffffffffff1p-4L : inexact-ok
+= exp downward ldbl-96-m68k -0x1p-60L : 0xf.ffffffffffffffp-4L : inexact-ok
+= exp tonearest ldbl-96-m68k -0x1p-60L : 0xf.ffffffffffffffp-4L : inexact-ok
+= exp towardzero ldbl-96-m68k -0x1p-60L : 0xf.ffffffffffffffp-4L : inexact-ok
+= exp upward ldbl-96-m68k -0x1p-60L : 0xf.ffffffffffffff1p-4L : inexact-ok
+= exp downward ldbl-128 -0x1p-60L : 0xf.ffffffffffffffp-4L : inexact-ok
+= exp tonearest ldbl-128 -0x1p-60L : 0xf.ffffffffffffffp-4L : inexact-ok
+= exp towardzero ldbl-128 -0x1p-60L : 0xf.ffffffffffffffp-4L : inexact-ok
+= exp upward ldbl-128 -0x1p-60L : 0xf.ffffffffffffff00000000000008p-4L : inexact-ok
+= exp downward ldbl-128ibm -0x1p-60L : 0xf.ffffffffffffffp-4L : inexact-ok
+= exp tonearest ldbl-128ibm -0x1p-60L : 0xf.ffffffffffffffp-4L : inexact-ok
+= exp towardzero ldbl-128ibm -0x1p-60L : 0xf.ffffffffffffffp-4L : inexact-ok
+= exp upward ldbl-128ibm -0x1p-60L : 0xf.ffffffffffffff000000000004p-4L : inexact-ok
+exp 0x1p-100
+= exp downward flt-32 0x1p-100f : 0x1p+0f : inexact-ok
+= exp tonearest flt-32 0x1p-100f : 0x1p+0f : inexact-ok
+= exp towardzero flt-32 0x1p-100f : 0x1p+0f : inexact-ok
+= exp upward flt-32 0x1p-100f : 0x1.000002p+0f : inexact-ok
+= exp downward dbl-64 0x1p-100 : 0x1p+0 : inexact-ok
+= exp tonearest dbl-64 0x1p-100 : 0x1p+0 : inexact-ok
+= exp towardzero dbl-64 0x1p-100 : 0x1p+0 : inexact-ok
+= exp upward dbl-64 0x1p-100 : 0x1.0000000000001p+0 : inexact-ok
+= exp downward ldbl-96-intel 0x1p-100L : 0x1p+0L : inexact-ok
+= exp tonearest ldbl-96-intel 0x1p-100L : 0x1p+0L : inexact-ok
+= exp towardzero ldbl-96-intel 0x1p-100L : 0x1p+0L : inexact-ok
+= exp upward ldbl-96-intel 0x1p-100L : 0x1.0000000000000002p+0L : inexact-ok
+= exp downward ldbl-96-m68k 0x1p-100L : 0x1p+0L : inexact-ok
+= exp tonearest ldbl-96-m68k 0x1p-100L : 0x1p+0L : inexact-ok
+= exp towardzero ldbl-96-m68k 0x1p-100L : 0x1p+0L : inexact-ok
+= exp upward ldbl-96-m68k 0x1p-100L : 0x1.0000000000000002p+0L : inexact-ok
+= exp downward ldbl-128 0x1p-100L : 0x1.0000000000000000000000001p+0L : inexact-ok
+= exp tonearest ldbl-128 0x1p-100L : 0x1.0000000000000000000000001p+0L : inexact-ok
+= exp towardzero ldbl-128 0x1p-100L : 0x1.0000000000000000000000001p+0L : inexact-ok
+= exp upward ldbl-128 0x1p-100L : 0x1.0000000000000000000000001001p+0L : inexact-ok
+= exp downward ldbl-128ibm 0x1p-100L : 0x1.0000000000000000000000001p+0L : inexact-ok
+= exp tonearest ldbl-128ibm 0x1p-100L : 0x1.0000000000000000000000001p+0L : inexact-ok
+= exp towardzero ldbl-128ibm 0x1p-100L : 0x1.0000000000000000000000001p+0L : inexact-ok
+= exp upward ldbl-128ibm 0x1p-100L : 0x1.000000000000000000000000108p+0L : inexact-ok
+exp -0x1p-100
+= exp downward flt-32 -0x1p-100f : 0xf.fffffp-4f : inexact-ok
+= exp tonearest flt-32 -0x1p-100f : 0x1p+0f : inexact-ok
+= exp towardzero flt-32 -0x1p-100f : 0xf.fffffp-4f : inexact-ok
+= exp upward flt-32 -0x1p-100f : 0x1p+0f : inexact-ok
+= exp downward dbl-64 -0x1p-100 : 0xf.ffffffffffff8p-4 : inexact-ok
+= exp tonearest dbl-64 -0x1p-100 : 0x1p+0 : inexact-ok
+= exp towardzero dbl-64 -0x1p-100 : 0xf.ffffffffffff8p-4 : inexact-ok
+= exp upward dbl-64 -0x1p-100 : 0x1p+0 : inexact-ok
+= exp downward ldbl-96-intel -0x1p-100L : 0xf.fffffffffffffffp-4L : inexact-ok
+= exp tonearest ldbl-96-intel -0x1p-100L : 0x1p+0L : inexact-ok
+= exp towardzero ldbl-96-intel -0x1p-100L : 0xf.fffffffffffffffp-4L : inexact-ok
+= exp upward ldbl-96-intel -0x1p-100L : 0x1p+0L : inexact-ok
+= exp downward ldbl-96-m68k -0x1p-100L : 0xf.fffffffffffffffp-4L : inexact-ok
+= exp tonearest ldbl-96-m68k -0x1p-100L : 0x1p+0L : inexact-ok
+= exp towardzero ldbl-96-m68k -0x1p-100L : 0xf.fffffffffffffffp-4L : inexact-ok
+= exp upward ldbl-96-m68k -0x1p-100L : 0x1p+0L : inexact-ok
+= exp downward ldbl-128 -0x1p-100L : 0xf.ffffffffffffffffffffffffp-4L : inexact-ok
+= exp tonearest ldbl-128 -0x1p-100L : 0xf.ffffffffffffffffffffffffp-4L : inexact-ok
+= exp towardzero ldbl-128 -0x1p-100L : 0xf.ffffffffffffffffffffffffp-4L : inexact-ok
+= exp upward ldbl-128 -0x1p-100L : 0xf.ffffffffffffffffffffffff0008p-4L : inexact-ok
+= exp downward ldbl-128ibm -0x1p-100L : 0xf.ffffffffffffffffffffffffp-4L : inexact-ok
+= exp tonearest ldbl-128ibm -0x1p-100L : 0xf.ffffffffffffffffffffffffp-4L : inexact-ok
+= exp towardzero ldbl-128ibm -0x1p-100L : 0xf.ffffffffffffffffffffffffp-4L : inexact-ok
+= exp upward ldbl-128ibm -0x1p-100L : 0xf.ffffffffffffffffffffffff04p-4L : inexact-ok
+exp min
+= exp downward flt-32 0x4p-128f : 0x1p+0f : inexact-ok
+= exp tonearest flt-32 0x4p-128f : 0x1p+0f : inexact-ok
+= exp towardzero flt-32 0x4p-128f : 0x1p+0f : inexact-ok
+= exp upward flt-32 0x4p-128f : 0x1.000002p+0f : inexact-ok
+= exp downward dbl-64 0x4p-128 : 0x1p+0 : inexact-ok
+= exp tonearest dbl-64 0x4p-128 : 0x1p+0 : inexact-ok
+= exp towardzero dbl-64 0x4p-128 : 0x1p+0 : inexact-ok
+= exp upward dbl-64 0x4p-128 : 0x1.0000000000001p+0 : inexact-ok
+= exp downward ldbl-96-intel 0x4p-128L : 0x1p+0L : inexact-ok
+= exp tonearest ldbl-96-intel 0x4p-128L : 0x1p+0L : inexact-ok
+= exp towardzero ldbl-96-intel 0x4p-128L : 0x1p+0L : inexact-ok
+= exp upward ldbl-96-intel 0x4p-128L : 0x1.0000000000000002p+0L : inexact-ok
+= exp downward ldbl-96-m68k 0x4p-128L : 0x1p+0L : inexact-ok
+= exp tonearest ldbl-96-m68k 0x4p-128L : 0x1p+0L : inexact-ok
+= exp towardzero ldbl-96-m68k 0x4p-128L : 0x1p+0L : inexact-ok
+= exp upward ldbl-96-m68k 0x4p-128L : 0x1.0000000000000002p+0L : inexact-ok
+= exp downward ldbl-128 0x4p-128L : 0x1p+0L : inexact-ok
+= exp tonearest ldbl-128 0x4p-128L : 0x1p+0L : inexact-ok
+= exp towardzero ldbl-128 0x4p-128L : 0x1p+0L : inexact-ok
+= exp upward ldbl-128 0x4p-128L : 0x1.0000000000000000000000000001p+0L : inexact-ok
+= exp downward ldbl-128ibm 0x4p-128L : 0x1p+0L : inexact-ok
+= exp tonearest ldbl-128ibm 0x4p-128L : 0x1p+0L : inexact-ok
+= exp towardzero ldbl-128ibm 0x4p-128L : 0x1p+0L : inexact-ok
+= exp upward ldbl-128ibm 0x4p-128L : 0x1.000000000000000000000000008p+0L : inexact-ok
+= exp downward dbl-64 0x4p-1024 : 0x1p+0 : inexact-ok
+= exp tonearest dbl-64 0x4p-1024 : 0x1p+0 : inexact-ok
+= exp towardzero dbl-64 0x4p-1024 : 0x1p+0 : inexact-ok
+= exp upward dbl-64 0x4p-1024 : 0x1.0000000000001p+0 : inexact-ok
+= exp downward ldbl-96-intel 0x4p-1024L : 0x1p+0L : inexact-ok
+= exp tonearest ldbl-96-intel 0x4p-1024L : 0x1p+0L : inexact-ok
+= exp towardzero ldbl-96-intel 0x4p-1024L : 0x1p+0L : inexact-ok
+= exp upward ldbl-96-intel 0x4p-1024L : 0x1.0000000000000002p+0L : inexact-ok
+= exp downward ldbl-96-m68k 0x4p-1024L : 0x1p+0L : inexact-ok
+= exp tonearest ldbl-96-m68k 0x4p-1024L : 0x1p+0L : inexact-ok
+= exp towardzero ldbl-96-m68k 0x4p-1024L : 0x1p+0L : inexact-ok
+= exp upward ldbl-96-m68k 0x4p-1024L : 0x1.0000000000000002p+0L : inexact-ok
+= exp downward ldbl-128 0x4p-1024L : 0x1p+0L : inexact-ok
+= exp tonearest ldbl-128 0x4p-1024L : 0x1p+0L : inexact-ok
+= exp towardzero ldbl-128 0x4p-1024L : 0x1p+0L : inexact-ok
+= exp upward ldbl-128 0x4p-1024L : 0x1.0000000000000000000000000001p+0L : inexact-ok
+= exp downward ldbl-128ibm 0x4p-1024L : 0x1p+0L : inexact-ok
+= exp tonearest ldbl-128ibm 0x4p-1024L : 0x1p+0L : inexact-ok
+= exp towardzero ldbl-128ibm 0x4p-1024L : 0x1p+0L : inexact-ok
+= exp upward ldbl-128ibm 0x4p-1024L : 0x1.000000000000000000000000008p+0L : inexact-ok
+= exp downward ldbl-96-intel 0x4p-16384L : 0x1p+0L : inexact-ok
+= exp tonearest ldbl-96-intel 0x4p-16384L : 0x1p+0L : inexact-ok
+= exp towardzero ldbl-96-intel 0x4p-16384L : 0x1p+0L : inexact-ok
+= exp upward ldbl-96-intel 0x4p-16384L : 0x1.0000000000000002p+0L : inexact-ok
+= exp downward ldbl-96-m68k 0x4p-16384L : 0x1p+0L : inexact-ok
+= exp tonearest ldbl-96-m68k 0x4p-16384L : 0x1p+0L : inexact-ok
+= exp towardzero ldbl-96-m68k 0x4p-16384L : 0x1p+0L : inexact-ok
+= exp upward ldbl-96-m68k 0x4p-16384L : 0x1.0000000000000002p+0L : inexact-ok
+= exp downward ldbl-128 0x4p-16384L : 0x1p+0L : inexact-ok
+= exp tonearest ldbl-128 0x4p-16384L : 0x1p+0L : inexact-ok
+= exp towardzero ldbl-128 0x4p-16384L : 0x1p+0L : inexact-ok
+= exp upward ldbl-128 0x4p-16384L : 0x1.0000000000000000000000000001p+0L : inexact-ok
+= exp downward ldbl-96-intel 0x2p-16384L : 0x1p+0L : inexact-ok
+= exp tonearest ldbl-96-intel 0x2p-16384L : 0x1p+0L : inexact-ok
+= exp towardzero ldbl-96-intel 0x2p-16384L : 0x1p+0L : inexact-ok
+= exp upward ldbl-96-intel 0x2p-16384L : 0x1.0000000000000002p+0L : inexact-ok
+= exp downward ldbl-96-m68k 0x2p-16384L : 0x1p+0L : inexact-ok
+= exp tonearest ldbl-96-m68k 0x2p-16384L : 0x1p+0L : inexact-ok
+= exp towardzero ldbl-96-m68k 0x2p-16384L : 0x1p+0L : inexact-ok
+= exp upward ldbl-96-m68k 0x2p-16384L : 0x1.0000000000000002p+0L : inexact-ok
+= exp downward ldbl-128 0x2p-16384L : 0x1p+0L : inexact-ok
+= exp tonearest ldbl-128 0x2p-16384L : 0x1p+0L : inexact-ok
+= exp towardzero ldbl-128 0x2p-16384L : 0x1p+0L : inexact-ok
+= exp upward ldbl-128 0x2p-16384L : 0x1.0000000000000000000000000001p+0L : inexact-ok
+= exp downward dbl-64 0x8p-972 : 0x1p+0 : inexact-ok
+= exp tonearest dbl-64 0x8p-972 : 0x1p+0 : inexact-ok
+= exp towardzero dbl-64 0x8p-972 : 0x1p+0 : inexact-ok
+= exp upward dbl-64 0x8p-972 : 0x1.0000000000001p+0 : inexact-ok
+= exp downward ldbl-96-intel 0x8p-972L : 0x1p+0L : inexact-ok
+= exp tonearest ldbl-96-intel 0x8p-972L : 0x1p+0L : inexact-ok
+= exp towardzero ldbl-96-intel 0x8p-972L : 0x1p+0L : inexact-ok
+= exp upward ldbl-96-intel 0x8p-972L : 0x1.0000000000000002p+0L : inexact-ok
+= exp downward ldbl-96-m68k 0x8p-972L : 0x1p+0L : inexact-ok
+= exp tonearest ldbl-96-m68k 0x8p-972L : 0x1p+0L : inexact-ok
+= exp towardzero ldbl-96-m68k 0x8p-972L : 0x1p+0L : inexact-ok
+= exp upward ldbl-96-m68k 0x8p-972L : 0x1.0000000000000002p+0L : inexact-ok
+= exp downward ldbl-128 0x8p-972L : 0x1p+0L : inexact-ok
+= exp tonearest ldbl-128 0x8p-972L : 0x1p+0L : inexact-ok
+= exp towardzero ldbl-128 0x8p-972L : 0x1p+0L : inexact-ok
+= exp upward ldbl-128 0x8p-972L : 0x1.0000000000000000000000000001p+0L : inexact-ok
+= exp downward ldbl-128ibm 0x8p-972L : 0x1p+0L : inexact-ok
+= exp tonearest ldbl-128ibm 0x8p-972L : 0x1p+0L : inexact-ok
+= exp towardzero ldbl-128ibm 0x8p-972L : 0x1p+0L : inexact-ok
+= exp upward ldbl-128ibm 0x8p-972L : 0x1.000000000000000000000000008p+0L : inexact-ok
+exp -min
+= exp downward flt-32 -0x4p-128f : 0xf.fffffp-4f : inexact-ok
+= exp tonearest flt-32 -0x4p-128f : 0x1p+0f : inexact-ok
+= exp towardzero flt-32 -0x4p-128f : 0xf.fffffp-4f : inexact-ok
+= exp upward flt-32 -0x4p-128f : 0x1p+0f : inexact-ok
+= exp downward dbl-64 -0x4p-128 : 0xf.ffffffffffff8p-4 : inexact-ok
+= exp tonearest dbl-64 -0x4p-128 : 0x1p+0 : inexact-ok
+= exp towardzero dbl-64 -0x4p-128 : 0xf.ffffffffffff8p-4 : inexact-ok
+= exp upward dbl-64 -0x4p-128 : 0x1p+0 : inexact-ok
+= exp downward ldbl-96-intel -0x4p-128L : 0xf.fffffffffffffffp-4L : inexact-ok
+= exp tonearest ldbl-96-intel -0x4p-128L : 0x1p+0L : inexact-ok
+= exp towardzero ldbl-96-intel -0x4p-128L : 0xf.fffffffffffffffp-4L : inexact-ok
+= exp upward ldbl-96-intel -0x4p-128L : 0x1p+0L : inexact-ok
+= exp downward ldbl-96-m68k -0x4p-128L : 0xf.fffffffffffffffp-4L : inexact-ok
+= exp tonearest ldbl-96-m68k -0x4p-128L : 0x1p+0L : inexact-ok
+= exp towardzero ldbl-96-m68k -0x4p-128L : 0xf.fffffffffffffffp-4L : inexact-ok
+= exp upward ldbl-96-m68k -0x4p-128L : 0x1p+0L : inexact-ok
+= exp downward ldbl-128 -0x4p-128L : 0xf.fffffffffffffffffffffffffff8p-4L : inexact-ok
+= exp tonearest ldbl-128 -0x4p-128L : 0x1p+0L : inexact-ok
+= exp towardzero ldbl-128 -0x4p-128L : 0xf.fffffffffffffffffffffffffff8p-4L : inexact-ok
+= exp upward ldbl-128 -0x4p-128L : 0x1p+0L : inexact-ok
+= exp downward ldbl-128ibm -0x4p-128L : 0xf.fffffffffffffffffffffffffcp-4L : inexact-ok
+= exp tonearest ldbl-128ibm -0x4p-128L : 0x1p+0L : inexact-ok
+= exp towardzero ldbl-128ibm -0x4p-128L : 0xf.fffffffffffffffffffffffffcp-4L : inexact-ok
+= exp upward ldbl-128ibm -0x4p-128L : 0x1p+0L : inexact-ok
+= exp downward dbl-64 -0x4p-1024 : 0xf.ffffffffffff8p-4 : inexact-ok
+= exp tonearest dbl-64 -0x4p-1024 : 0x1p+0 : inexact-ok
+= exp towardzero dbl-64 -0x4p-1024 : 0xf.ffffffffffff8p-4 : inexact-ok
+= exp upward dbl-64 -0x4p-1024 : 0x1p+0 : inexact-ok
+= exp downward ldbl-96-intel -0x4p-1024L : 0xf.fffffffffffffffp-4L : inexact-ok
+= exp tonearest ldbl-96-intel -0x4p-1024L : 0x1p+0L : inexact-ok
+= exp towardzero ldbl-96-intel -0x4p-1024L : 0xf.fffffffffffffffp-4L : inexact-ok
+= exp upward ldbl-96-intel -0x4p-1024L : 0x1p+0L : inexact-ok
+= exp downward ldbl-96-m68k -0x4p-1024L : 0xf.fffffffffffffffp-4L : inexact-ok
+= exp tonearest ldbl-96-m68k -0x4p-1024L : 0x1p+0L : inexact-ok
+= exp towardzero ldbl-96-m68k -0x4p-1024L : 0xf.fffffffffffffffp-4L : inexact-ok
+= exp upward ldbl-96-m68k -0x4p-1024L : 0x1p+0L : inexact-ok
+= exp downward ldbl-128 -0x4p-1024L : 0xf.fffffffffffffffffffffffffff8p-4L : inexact-ok
+= exp tonearest ldbl-128 -0x4p-1024L : 0x1p+0L : inexact-ok
+= exp towardzero ldbl-128 -0x4p-1024L : 0xf.fffffffffffffffffffffffffff8p-4L : inexact-ok
+= exp upward ldbl-128 -0x4p-1024L : 0x1p+0L : inexact-ok
+= exp downward ldbl-128ibm -0x4p-1024L : 0xf.fffffffffffffffffffffffffcp-4L : inexact-ok
+= exp tonearest ldbl-128ibm -0x4p-1024L : 0x1p+0L : inexact-ok
+= exp towardzero ldbl-128ibm -0x4p-1024L : 0xf.fffffffffffffffffffffffffcp-4L : inexact-ok
+= exp upward ldbl-128ibm -0x4p-1024L : 0x1p+0L : inexact-ok
+= exp downward ldbl-96-intel -0x4p-16384L : 0xf.fffffffffffffffp-4L : inexact-ok
+= exp tonearest ldbl-96-intel -0x4p-16384L : 0x1p+0L : inexact-ok
+= exp towardzero ldbl-96-intel -0x4p-16384L : 0xf.fffffffffffffffp-4L : inexact-ok
+= exp upward ldbl-96-intel -0x4p-16384L : 0x1p+0L : inexact-ok
+= exp downward ldbl-96-m68k -0x4p-16384L : 0xf.fffffffffffffffp-4L : inexact-ok
+= exp tonearest ldbl-96-m68k -0x4p-16384L : 0x1p+0L : inexact-ok
+= exp towardzero ldbl-96-m68k -0x4p-16384L : 0xf.fffffffffffffffp-4L : inexact-ok
+= exp upward ldbl-96-m68k -0x4p-16384L : 0x1p+0L : inexact-ok
+= exp downward ldbl-128 -0x4p-16384L : 0xf.fffffffffffffffffffffffffff8p-4L : inexact-ok
+= exp tonearest ldbl-128 -0x4p-16384L : 0x1p+0L : inexact-ok
+= exp towardzero ldbl-128 -0x4p-16384L : 0xf.fffffffffffffffffffffffffff8p-4L : inexact-ok
+= exp upward ldbl-128 -0x4p-16384L : 0x1p+0L : inexact-ok
+= exp downward ldbl-96-intel -0x2p-16384L : 0xf.fffffffffffffffp-4L : inexact-ok
+= exp tonearest ldbl-96-intel -0x2p-16384L : 0x1p+0L : inexact-ok
+= exp towardzero ldbl-96-intel -0x2p-16384L : 0xf.fffffffffffffffp-4L : inexact-ok
+= exp upward ldbl-96-intel -0x2p-16384L : 0x1p+0L : inexact-ok
+= exp downward ldbl-96-m68k -0x2p-16384L : 0xf.fffffffffffffffp-4L : inexact-ok
+= exp tonearest ldbl-96-m68k -0x2p-16384L : 0x1p+0L : inexact-ok
+= exp towardzero ldbl-96-m68k -0x2p-16384L : 0xf.fffffffffffffffp-4L : inexact-ok
+= exp upward ldbl-96-m68k -0x2p-16384L : 0x1p+0L : inexact-ok
+= exp downward ldbl-128 -0x2p-16384L : 0xf.fffffffffffffffffffffffffff8p-4L : inexact-ok
+= exp tonearest ldbl-128 -0x2p-16384L : 0x1p+0L : inexact-ok
+= exp towardzero ldbl-128 -0x2p-16384L : 0xf.fffffffffffffffffffffffffff8p-4L : inexact-ok
+= exp upward ldbl-128 -0x2p-16384L : 0x1p+0L : inexact-ok
+= exp downward dbl-64 -0x8p-972 : 0xf.ffffffffffff8p-4 : inexact-ok
+= exp tonearest dbl-64 -0x8p-972 : 0x1p+0 : inexact-ok
+= exp towardzero dbl-64 -0x8p-972 : 0xf.ffffffffffff8p-4 : inexact-ok
+= exp upward dbl-64 -0x8p-972 : 0x1p+0 : inexact-ok
+= exp downward ldbl-96-intel -0x8p-972L : 0xf.fffffffffffffffp-4L : inexact-ok
+= exp tonearest ldbl-96-intel -0x8p-972L : 0x1p+0L : inexact-ok
+= exp towardzero ldbl-96-intel -0x8p-972L : 0xf.fffffffffffffffp-4L : inexact-ok
+= exp upward ldbl-96-intel -0x8p-972L : 0x1p+0L : inexact-ok
+= exp downward ldbl-96-m68k -0x8p-972L : 0xf.fffffffffffffffp-4L : inexact-ok
+= exp tonearest ldbl-96-m68k -0x8p-972L : 0x1p+0L : inexact-ok
+= exp towardzero ldbl-96-m68k -0x8p-972L : 0xf.fffffffffffffffp-4L : inexact-ok
+= exp upward ldbl-96-m68k -0x8p-972L : 0x1p+0L : inexact-ok
+= exp downward ldbl-128 -0x8p-972L : 0xf.fffffffffffffffffffffffffff8p-4L : inexact-ok
+= exp tonearest ldbl-128 -0x8p-972L : 0x1p+0L : inexact-ok
+= exp towardzero ldbl-128 -0x8p-972L : 0xf.fffffffffffffffffffffffffff8p-4L : inexact-ok
+= exp upward ldbl-128 -0x8p-972L : 0x1p+0L : inexact-ok
+= exp downward ldbl-128ibm -0x8p-972L : 0xf.fffffffffffffffffffffffffcp-4L : inexact-ok
+= exp tonearest ldbl-128ibm -0x8p-972L : 0x1p+0L : inexact-ok
+= exp towardzero ldbl-128ibm -0x8p-972L : 0xf.fffffffffffffffffffffffffcp-4L : inexact-ok
+= exp upward ldbl-128ibm -0x8p-972L : 0x1p+0L : inexact-ok
+exp min_subnorm
+= exp downward flt-32 0x8p-152f : 0x1p+0f : inexact-ok
+= exp tonearest flt-32 0x8p-152f : 0x1p+0f : inexact-ok
+= exp towardzero flt-32 0x8p-152f : 0x1p+0f : inexact-ok
+= exp upward flt-32 0x8p-152f : 0x1.000002p+0f : inexact-ok
+= exp downward dbl-64 0x8p-152 : 0x1p+0 : inexact-ok
+= exp tonearest dbl-64 0x8p-152 : 0x1p+0 : inexact-ok
+= exp towardzero dbl-64 0x8p-152 : 0x1p+0 : inexact-ok
+= exp upward dbl-64 0x8p-152 : 0x1.0000000000001p+0 : inexact-ok
+= exp downward ldbl-96-intel 0x8p-152L : 0x1p+0L : inexact-ok
+= exp tonearest ldbl-96-intel 0x8p-152L : 0x1p+0L : inexact-ok
+= exp towardzero ldbl-96-intel 0x8p-152L : 0x1p+0L : inexact-ok
+= exp upward ldbl-96-intel 0x8p-152L : 0x1.0000000000000002p+0L : inexact-ok
+= exp downward ldbl-96-m68k 0x8p-152L : 0x1p+0L : inexact-ok
+= exp tonearest ldbl-96-m68k 0x8p-152L : 0x1p+0L : inexact-ok
+= exp towardzero ldbl-96-m68k 0x8p-152L : 0x1p+0L : inexact-ok
+= exp upward ldbl-96-m68k 0x8p-152L : 0x1.0000000000000002p+0L : inexact-ok
+= exp downward ldbl-128 0x8p-152L : 0x1p+0L : inexact-ok
+= exp tonearest ldbl-128 0x8p-152L : 0x1p+0L : inexact-ok
+= exp towardzero ldbl-128 0x8p-152L : 0x1p+0L : inexact-ok
+= exp upward ldbl-128 0x8p-152L : 0x1.0000000000000000000000000001p+0L : inexact-ok
+= exp downward ldbl-128ibm 0x8p-152L : 0x1p+0L : inexact-ok
+= exp tonearest ldbl-128ibm 0x8p-152L : 0x1p+0L : inexact-ok
+= exp towardzero ldbl-128ibm 0x8p-152L : 0x1p+0L : inexact-ok
+= exp upward ldbl-128ibm 0x8p-152L : 0x1.000000000000000000000000008p+0L : inexact-ok
+= exp downward dbl-64 0x4p-1076 : 0x1p+0 : inexact-ok
+= exp tonearest dbl-64 0x4p-1076 : 0x1p+0 : inexact-ok
+= exp towardzero dbl-64 0x4p-1076 : 0x1p+0 : inexact-ok
+= exp upward dbl-64 0x4p-1076 : 0x1.0000000000001p+0 : inexact-ok
+= exp downward ldbl-96-intel 0x4p-1076L : 0x1p+0L : inexact-ok
+= exp tonearest ldbl-96-intel 0x4p-1076L : 0x1p+0L : inexact-ok
+= exp towardzero ldbl-96-intel 0x4p-1076L : 0x1p+0L : inexact-ok
+= exp upward ldbl-96-intel 0x4p-1076L : 0x1.0000000000000002p+0L : inexact-ok
+= exp downward ldbl-96-m68k 0x4p-1076L : 0x1p+0L : inexact-ok
+= exp tonearest ldbl-96-m68k 0x4p-1076L : 0x1p+0L : inexact-ok
+= exp towardzero ldbl-96-m68k 0x4p-1076L : 0x1p+0L : inexact-ok
+= exp upward ldbl-96-m68k 0x4p-1076L : 0x1.0000000000000002p+0L : inexact-ok
+= exp downward ldbl-128 0x4p-1076L : 0x1p+0L : inexact-ok
+= exp tonearest ldbl-128 0x4p-1076L : 0x1p+0L : inexact-ok
+= exp towardzero ldbl-128 0x4p-1076L : 0x1p+0L : inexact-ok
+= exp upward ldbl-128 0x4p-1076L : 0x1.0000000000000000000000000001p+0L : inexact-ok
+= exp downward ldbl-128ibm 0x4p-1076L : 0x1p+0L : inexact-ok
+= exp tonearest ldbl-128ibm 0x4p-1076L : 0x1p+0L : inexact-ok
+= exp towardzero ldbl-128ibm 0x4p-1076L : 0x1p+0L : inexact-ok
+= exp upward ldbl-128ibm 0x4p-1076L : 0x1.000000000000000000000000008p+0L : inexact-ok
+= exp downward ldbl-96-intel 0x8p-16448L : 0x1p+0L : inexact-ok
+= exp tonearest ldbl-96-intel 0x8p-16448L : 0x1p+0L : inexact-ok
+= exp towardzero ldbl-96-intel 0x8p-16448L : 0x1p+0L : inexact-ok
+= exp upward ldbl-96-intel 0x8p-16448L : 0x1.0000000000000002p+0L : inexact-ok
+= exp downward ldbl-96-m68k 0x8p-16448L : 0x1p+0L : inexact-ok
+= exp tonearest ldbl-96-m68k 0x8p-16448L : 0x1p+0L : inexact-ok
+= exp towardzero ldbl-96-m68k 0x8p-16448L : 0x1p+0L : inexact-ok
+= exp upward ldbl-96-m68k 0x8p-16448L : 0x1.0000000000000002p+0L : inexact-ok
+= exp downward ldbl-128 0x8p-16448L : 0x1p+0L : inexact-ok
+= exp tonearest ldbl-128 0x8p-16448L : 0x1p+0L : inexact-ok
+= exp towardzero ldbl-128 0x8p-16448L : 0x1p+0L : inexact-ok
+= exp upward ldbl-128 0x8p-16448L : 0x1.0000000000000000000000000001p+0L : inexact-ok
+= exp downward ldbl-96-m68k 0x4p-16448L : 0x1p+0L : inexact-ok
+= exp tonearest ldbl-96-m68k 0x4p-16448L : 0x1p+0L : inexact-ok
+= exp towardzero ldbl-96-m68k 0x4p-16448L : 0x1p+0L : inexact-ok
+= exp upward ldbl-96-m68k 0x4p-16448L : 0x1.0000000000000002p+0L : inexact-ok
+= exp downward ldbl-128 0x4p-16448L : 0x1p+0L : inexact-ok
+= exp tonearest ldbl-128 0x4p-16448L : 0x1p+0L : inexact-ok
+= exp towardzero ldbl-128 0x4p-16448L : 0x1p+0L : inexact-ok
+= exp upward ldbl-128 0x4p-16448L : 0x1.0000000000000000000000000001p+0L : inexact-ok
+= exp downward ldbl-128 0x4p-16496L : 0x1p+0L : inexact-ok
+= exp tonearest ldbl-128 0x4p-16496L : 0x1p+0L : inexact-ok
+= exp towardzero ldbl-128 0x4p-16496L : 0x1p+0L : inexact-ok
+= exp upward ldbl-128 0x4p-16496L : 0x1.0000000000000000000000000001p+0L : inexact-ok
+exp -min_subnorm
+= exp downward flt-32 -0x8p-152f : 0xf.fffffp-4f : inexact-ok
+= exp tonearest flt-32 -0x8p-152f : 0x1p+0f : inexact-ok
+= exp towardzero flt-32 -0x8p-152f : 0xf.fffffp-4f : inexact-ok
+= exp upward flt-32 -0x8p-152f : 0x1p+0f : inexact-ok
+= exp downward dbl-64 -0x8p-152 : 0xf.ffffffffffff8p-4 : inexact-ok
+= exp tonearest dbl-64 -0x8p-152 : 0x1p+0 : inexact-ok
+= exp towardzero dbl-64 -0x8p-152 : 0xf.ffffffffffff8p-4 : inexact-ok
+= exp upward dbl-64 -0x8p-152 : 0x1p+0 : inexact-ok
+= exp downward ldbl-96-intel -0x8p-152L : 0xf.fffffffffffffffp-4L : inexact-ok
+= exp tonearest ldbl-96-intel -0x8p-152L : 0x1p+0L : inexact-ok
+= exp towardzero ldbl-96-intel -0x8p-152L : 0xf.fffffffffffffffp-4L : inexact-ok
+= exp upward ldbl-96-intel -0x8p-152L : 0x1p+0L : inexact-ok
+= exp downward ldbl-96-m68k -0x8p-152L : 0xf.fffffffffffffffp-4L : inexact-ok
+= exp tonearest ldbl-96-m68k -0x8p-152L : 0x1p+0L : inexact-ok
+= exp towardzero ldbl-96-m68k -0x8p-152L : 0xf.fffffffffffffffp-4L : inexact-ok
+= exp upward ldbl-96-m68k -0x8p-152L : 0x1p+0L : inexact-ok
+= exp downward ldbl-128 -0x8p-152L : 0xf.fffffffffffffffffffffffffff8p-4L : inexact-ok
+= exp tonearest ldbl-128 -0x8p-152L : 0x1p+0L : inexact-ok
+= exp towardzero ldbl-128 -0x8p-152L : 0xf.fffffffffffffffffffffffffff8p-4L : inexact-ok
+= exp upward ldbl-128 -0x8p-152L : 0x1p+0L : inexact-ok
+= exp downward ldbl-128ibm -0x8p-152L : 0xf.fffffffffffffffffffffffffcp-4L : inexact-ok
+= exp tonearest ldbl-128ibm -0x8p-152L : 0x1p+0L : inexact-ok
+= exp towardzero ldbl-128ibm -0x8p-152L : 0xf.fffffffffffffffffffffffffcp-4L : inexact-ok
+= exp upward ldbl-128ibm -0x8p-152L : 0x1p+0L : inexact-ok
+= exp downward dbl-64 -0x4p-1076 : 0xf.ffffffffffff8p-4 : inexact-ok
+= exp tonearest dbl-64 -0x4p-1076 : 0x1p+0 : inexact-ok
+= exp towardzero dbl-64 -0x4p-1076 : 0xf.ffffffffffff8p-4 : inexact-ok
+= exp upward dbl-64 -0x4p-1076 : 0x1p+0 : inexact-ok
+= exp downward ldbl-96-intel -0x4p-1076L : 0xf.fffffffffffffffp-4L : inexact-ok
+= exp tonearest ldbl-96-intel -0x4p-1076L : 0x1p+0L : inexact-ok
+= exp towardzero ldbl-96-intel -0x4p-1076L : 0xf.fffffffffffffffp-4L : inexact-ok
+= exp upward ldbl-96-intel -0x4p-1076L : 0x1p+0L : inexact-ok
+= exp downward ldbl-96-m68k -0x4p-1076L : 0xf.fffffffffffffffp-4L : inexact-ok
+= exp tonearest ldbl-96-m68k -0x4p-1076L : 0x1p+0L : inexact-ok
+= exp towardzero ldbl-96-m68k -0x4p-1076L : 0xf.fffffffffffffffp-4L : inexact-ok
+= exp upward ldbl-96-m68k -0x4p-1076L : 0x1p+0L : inexact-ok
+= exp downward ldbl-128 -0x4p-1076L : 0xf.fffffffffffffffffffffffffff8p-4L : inexact-ok
+= exp tonearest ldbl-128 -0x4p-1076L : 0x1p+0L : inexact-ok
+= exp towardzero ldbl-128 -0x4p-1076L : 0xf.fffffffffffffffffffffffffff8p-4L : inexact-ok
+= exp upward ldbl-128 -0x4p-1076L : 0x1p+0L : inexact-ok
+= exp downward ldbl-128ibm -0x4p-1076L : 0xf.fffffffffffffffffffffffffcp-4L : inexact-ok
+= exp tonearest ldbl-128ibm -0x4p-1076L : 0x1p+0L : inexact-ok
+= exp towardzero ldbl-128ibm -0x4p-1076L : 0xf.fffffffffffffffffffffffffcp-4L : inexact-ok
+= exp upward ldbl-128ibm -0x4p-1076L : 0x1p+0L : inexact-ok
+= exp downward ldbl-96-intel -0x8p-16448L : 0xf.fffffffffffffffp-4L : inexact-ok
+= exp tonearest ldbl-96-intel -0x8p-16448L : 0x1p+0L : inexact-ok
+= exp towardzero ldbl-96-intel -0x8p-16448L : 0xf.fffffffffffffffp-4L : inexact-ok
+= exp upward ldbl-96-intel -0x8p-16448L : 0x1p+0L : inexact-ok
+= exp downward ldbl-96-m68k -0x8p-16448L : 0xf.fffffffffffffffp-4L : inexact-ok
+= exp tonearest ldbl-96-m68k -0x8p-16448L : 0x1p+0L : inexact-ok
+= exp towardzero ldbl-96-m68k -0x8p-16448L : 0xf.fffffffffffffffp-4L : inexact-ok
+= exp upward ldbl-96-m68k -0x8p-16448L : 0x1p+0L : inexact-ok
+= exp downward ldbl-128 -0x8p-16448L : 0xf.fffffffffffffffffffffffffff8p-4L : inexact-ok
+= exp tonearest ldbl-128 -0x8p-16448L : 0x1p+0L : inexact-ok
+= exp towardzero ldbl-128 -0x8p-16448L : 0xf.fffffffffffffffffffffffffff8p-4L : inexact-ok
+= exp upward ldbl-128 -0x8p-16448L : 0x1p+0L : inexact-ok
+= exp downward ldbl-96-m68k -0x4p-16448L : 0xf.fffffffffffffffp-4L : inexact-ok
+= exp tonearest ldbl-96-m68k -0x4p-16448L : 0x1p+0L : inexact-ok
+= exp towardzero ldbl-96-m68k -0x4p-16448L : 0xf.fffffffffffffffp-4L : inexact-ok
+= exp upward ldbl-96-m68k -0x4p-16448L : 0x1p+0L : inexact-ok
+= exp downward ldbl-128 -0x4p-16448L : 0xf.fffffffffffffffffffffffffff8p-4L : inexact-ok
+= exp tonearest ldbl-128 -0x4p-16448L : 0x1p+0L : inexact-ok
+= exp towardzero ldbl-128 -0x4p-16448L : 0xf.fffffffffffffffffffffffffff8p-4L : inexact-ok
+= exp upward ldbl-128 -0x4p-16448L : 0x1p+0L : inexact-ok
+= exp downward ldbl-128 -0x4p-16496L : 0xf.fffffffffffffffffffffffffff8p-4L : inexact-ok
+= exp tonearest ldbl-128 -0x4p-16496L : 0x1p+0L : inexact-ok
+= exp towardzero ldbl-128 -0x4p-16496L : 0xf.fffffffffffffffffffffffffff8p-4L : inexact-ok
+= exp upward ldbl-128 -0x4p-16496L : 0x1p+0L : inexact-ok
 exp10 0
 = exp10 downward flt-32 0x0p+0f : 0x1p+0f : inexact-ok
 = exp10 tonearest flt-32 0x0p+0f : 0x1p+0f : inexact-ok
diff --git a/sysdeps/i386/fpu/e_expl.S b/sysdeps/i386/fpu/e_expl.S
index 5917f574b1..eb4086b3f5 100644
--- a/sysdeps/i386/fpu/e_expl.S
+++ b/sysdeps/i386/fpu/e_expl.S
@@ -112,8 +112,14 @@ ENTRY(IEEE754_EXPL)
 	movzwl	4+8(%esp), %eax
 	andl	$0x7fff, %eax
 	cmpl	$0x400d, %eax
-	jle	3f
-	/* Overflow, underflow or infinity or NaN as argument.  */
+	jg	5f
+	cmpl	$0x3fbc, %eax
+	jge	3f
+	/* Argument's exponent below -67, result rounds to 1.  */
+	fld1
+	faddp
+	jmp	2f
+5:	/* Overflow, underflow or infinity or NaN as argument.  */
 	fstsw	%ax
 	movb	$0x45, %dh
 	andb	%ah, %dh
diff --git a/sysdeps/x86_64/fpu/e_expl.S b/sysdeps/x86_64/fpu/e_expl.S
index 36d30c26d3..338527b3de 100644
--- a/sysdeps/x86_64/fpu/e_expl.S
+++ b/sysdeps/x86_64/fpu/e_expl.S
@@ -109,8 +109,14 @@ ENTRY(IEEE754_EXPL)
 	movzwl	8+8(%rsp), %eax
 	andl	$0x7fff, %eax
 	cmpl	$0x400d, %eax
-	jle	3f
-	/* Overflow, underflow or infinity or NaN as argument.  */
+	jg	5f
+	cmpl	$0x3fbc, %eax
+	jge	3f
+	/* Argument's exponent below -67, result rounds to 1.  */
+	fld1
+	faddp
+	jmp	2f
+5:	/* Overflow, underflow or infinity or NaN as argument.  */
 	fstsw	%ax
 	movb	$0x45, %dh
 	andb	%ah, %dh