diff options
author | Joseph Myers <joseph@codesourcery.com> | 2015-06-21 17:48:04 +0000 |
---|---|---|
committer | Joseph Myers <joseph@codesourcery.com> | 2015-06-21 17:48:04 +0000 |
commit | 7540cfc5a8c39eca9ba7b631dd30b35f6530f54d (patch) | |
tree | c24b888cf113ef3ec9a6e55ad495a1917c6e57bb /math | |
parent | d6cc0b4feaacf7514167cde0b3935f0c9b2c2d88 (diff) | |
download | glibc-7540cfc5a8c39eca9ba7b631dd30b35f6530f54d.tar.gz glibc-7540cfc5a8c39eca9ba7b631dd30b35f6530f54d.tar.xz glibc-7540cfc5a8c39eca9ba7b631dd30b35f6530f54d.zip |
Fix x86 / x86_64 expl, exp10l missing underflows (bug 16361).
Similar to various other bugs in this area, the x86 and x86_64 implementations of expl / exp10l can fail to produce underflow exceptions when the unscaled result has trailing 0 bits so the scaling down to subnormal precision is exact. This patch fixes this by forcing the exception in the case of tiny results. Tested for x86_64 and x86. [BZ #16361] * sysdeps/i386/fpu/e_expl.S [!USE_AS_EXPM1L] (cmin): New object. [!USE_AS_EXPM1L] (IEEE754_EXPL): Force underflow exception for tiny results. * sysdeps/x86_64/fpu/e_expl.S [!USE_AS_EXPM1L] (cmin): New object. [!USE_AS_EXPM1L] (IEEE754_EXPL): Force underflow exception for tiny results. * math/auto-libm-test-in: Add more tests of exp and exp10. Do not mark underflow exceptions as possibly missing for bug 16361. * math/auto-libm-test-out: Regenerated.
Diffstat (limited to 'math')
-rw-r--r-- | math/auto-libm-test-in | 5 | ||||
-rw-r--r-- | math/auto-libm-test-out | 260 |
2 files changed, 238 insertions, 27 deletions
diff --git a/math/auto-libm-test-in b/math/auto-libm-test-in index 6ec4bc69af..e8e4da62b8 100644 --- a/math/auto-libm-test-in +++ b/math/auto-libm-test-in @@ -1191,6 +1191,7 @@ exp -7.4444006192138124e+02 exp -0x1.75f113c30b1c8p+9 exp -max exp -11342.8125 +exp -0x2.c5b2319c4843acc0p12 exp 0x1p-10 exp -0x1p-10 exp 0x1p-20 @@ -1223,8 +1224,8 @@ exp10 305 exp10 -305 # GCC bug 59666: results on directed rounding may be incorrect. exp10 4932 xfail-rounding:ldbl-128ibm -# Bug 16361: underflow exception may be misssing -exp10 -4932 missing-underflow:ldbl-96-intel:x86 missing-underflow:ldbl-96-intel:x86_64 +exp10 -4932 +exp10 -0x1.343793004f503232p12 # GCC bug 59666: results on directed rounding may be incorrect. exp10 1e5 xfail-rounding:ldbl-128ibm exp10 -1e5 diff --git a/math/auto-libm-test-out b/math/auto-libm-test-out index aa1eb1ff4b..bf067c42bf 100644 --- a/math/auto-libm-test-out +++ b/math/auto-libm-test-out @@ -103944,6 +103944,111 @@ 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 -0x2.c5b2319c4843acc0p12 += exp downward flt-32 -0x2.c5b23p+12f : 0x0p+0f : inexact-ok underflow errno-erange += exp tonearest flt-32 -0x2.c5b23p+12f : 0x0p+0f : inexact-ok underflow errno-erange += exp towardzero flt-32 -0x2.c5b23p+12f : 0x0p+0f : inexact-ok underflow errno-erange += exp upward flt-32 -0x2.c5b23p+12f : 0x8p-152f : inexact-ok underflow errno-erange-ok += exp downward dbl-64 -0x2.c5b23p+12 : 0x0p+0 : inexact-ok underflow errno-erange += exp tonearest dbl-64 -0x2.c5b23p+12 : 0x0p+0 : inexact-ok underflow errno-erange += exp towardzero dbl-64 -0x2.c5b23p+12 : 0x0p+0 : inexact-ok underflow errno-erange += exp upward dbl-64 -0x2.c5b23p+12 : 0x4p-1076 : inexact-ok underflow errno-erange-ok += exp downward ldbl-96-intel -0x2.c5b23p+12L : 0x4.00671741091b8c2p-16384L : inexact-ok += exp tonearest ldbl-96-intel -0x2.c5b23p+12L : 0x4.00671741091b8c28p-16384L : inexact-ok += exp towardzero ldbl-96-intel -0x2.c5b23p+12L : 0x4.00671741091b8c2p-16384L : inexact-ok += exp upward ldbl-96-intel -0x2.c5b23p+12L : 0x4.00671741091b8c28p-16384L : inexact-ok += exp downward ldbl-96-m68k -0x2.c5b23p+12L : 0x4.00671741091b8c2p-16384L : inexact-ok += exp tonearest ldbl-96-m68k -0x2.c5b23p+12L : 0x4.00671741091b8c28p-16384L : inexact-ok += exp towardzero ldbl-96-m68k -0x2.c5b23p+12L : 0x4.00671741091b8c2p-16384L : inexact-ok += exp upward ldbl-96-m68k -0x2.c5b23p+12L : 0x4.00671741091b8c28p-16384L : inexact-ok += exp downward ldbl-128 -0x2.c5b23p+12L : 0x4.00671741091b8c27d0a36c181058p-16384L : inexact-ok += exp tonearest ldbl-128 -0x2.c5b23p+12L : 0x4.00671741091b8c27d0a36c18105cp-16384L : inexact-ok += exp towardzero ldbl-128 -0x2.c5b23p+12L : 0x4.00671741091b8c27d0a36c181058p-16384L : inexact-ok += exp upward ldbl-128 -0x2.c5b23p+12L : 0x4.00671741091b8c27d0a36c18105cp-16384L : inexact-ok += exp downward ldbl-128ibm -0x2.c5b23p+12L : 0x0p+0L : inexact-ok underflow errno-erange += exp tonearest ldbl-128ibm -0x2.c5b23p+12L : 0x0p+0L : inexact-ok underflow errno-erange += exp towardzero ldbl-128ibm -0x2.c5b23p+12L : 0x0p+0L : inexact-ok underflow errno-erange += exp upward ldbl-128ibm -0x2.c5b23p+12L : 0x4p-1076L : inexact-ok underflow errno-erange-ok += exp downward flt-32 -0x2.c5b234p+12f : 0x0p+0f : inexact-ok underflow errno-erange += exp tonearest flt-32 -0x2.c5b234p+12f : 0x0p+0f : inexact-ok underflow errno-erange += exp towardzero flt-32 -0x2.c5b234p+12f : 0x0p+0f : inexact-ok underflow errno-erange += exp upward flt-32 -0x2.c5b234p+12f : 0x8p-152f : inexact-ok underflow errno-erange-ok += exp downward dbl-64 -0x2.c5b234p+12 : 0x0p+0 : inexact-ok underflow errno-erange += exp tonearest dbl-64 -0x2.c5b234p+12 : 0x0p+0 : inexact-ok underflow errno-erange += exp towardzero dbl-64 -0x2.c5b234p+12 : 0x0p+0 : inexact-ok underflow errno-erange += exp upward dbl-64 -0x2.c5b234p+12 : 0x4p-1076 : inexact-ok underflow errno-erange-ok += exp downward ldbl-96-intel -0x2.c5b234p+12L : 0x3.ff671d7bc6ce9588p-16384L : inexact-ok underflow errno-erange-ok += exp tonearest ldbl-96-intel -0x2.c5b234p+12L : 0x3.ff671d7bc6ce9588p-16384L : inexact-ok underflow errno-erange-ok += exp towardzero ldbl-96-intel -0x2.c5b234p+12L : 0x3.ff671d7bc6ce9588p-16384L : inexact-ok underflow errno-erange-ok += exp upward ldbl-96-intel -0x2.c5b234p+12L : 0x3.ff671d7bc6ce959p-16384L : inexact-ok underflow errno-erange-ok += exp downward ldbl-96-m68k -0x2.c5b234p+12L : 0x3.ff671d7bc6ce9588p-16384L : inexact-ok += exp tonearest ldbl-96-m68k -0x2.c5b234p+12L : 0x3.ff671d7bc6ce958cp-16384L : inexact-ok += exp towardzero ldbl-96-m68k -0x2.c5b234p+12L : 0x3.ff671d7bc6ce9588p-16384L : inexact-ok += exp upward ldbl-96-m68k -0x2.c5b234p+12L : 0x3.ff671d7bc6ce958cp-16384L : inexact-ok += exp downward ldbl-128 -0x2.c5b234p+12L : 0x3.ff671d7bc6ce958ba803f3e779bp-16384L : inexact-ok underflow errno-erange-ok += exp tonearest ldbl-128 -0x2.c5b234p+12L : 0x3.ff671d7bc6ce958ba803f3e779bp-16384L : inexact-ok underflow errno-erange-ok += exp towardzero ldbl-128 -0x2.c5b234p+12L : 0x3.ff671d7bc6ce958ba803f3e779bp-16384L : inexact-ok underflow errno-erange-ok += exp upward ldbl-128 -0x2.c5b234p+12L : 0x3.ff671d7bc6ce958ba803f3e779b4p-16384L : inexact-ok underflow errno-erange-ok += exp downward ldbl-128ibm -0x2.c5b234p+12L : 0x0p+0L : inexact-ok underflow errno-erange += exp tonearest ldbl-128ibm -0x2.c5b234p+12L : 0x0p+0L : inexact-ok underflow errno-erange += exp towardzero ldbl-128ibm -0x2.c5b234p+12L : 0x0p+0L : inexact-ok underflow errno-erange += exp upward ldbl-128ibm -0x2.c5b234p+12L : 0x4p-1076L : inexact-ok underflow errno-erange-ok += exp downward dbl-64 -0x2.c5b2319c4843ap+12 : 0x0p+0 : inexact-ok underflow errno-erange += exp tonearest dbl-64 -0x2.c5b2319c4843ap+12 : 0x0p+0 : inexact-ok underflow errno-erange += exp towardzero dbl-64 -0x2.c5b2319c4843ap+12 : 0x0p+0 : inexact-ok underflow errno-erange += exp upward dbl-64 -0x2.c5b2319c4843ap+12 : 0x4p-1076 : inexact-ok underflow errno-erange-ok += exp downward ldbl-96-intel -0x2.c5b2319c4843ap+12L : 0x4.00000000032ffc8p-16384L : inexact-ok += exp tonearest ldbl-96-intel -0x2.c5b2319c4843ap+12L : 0x4.00000000032ffc88p-16384L : inexact-ok += exp towardzero ldbl-96-intel -0x2.c5b2319c4843ap+12L : 0x4.00000000032ffc8p-16384L : inexact-ok += exp upward ldbl-96-intel -0x2.c5b2319c4843ap+12L : 0x4.00000000032ffc88p-16384L : inexact-ok += exp downward ldbl-96-m68k -0x2.c5b2319c4843ap+12L : 0x4.00000000032ffc8p-16384L : inexact-ok += exp tonearest ldbl-96-m68k -0x2.c5b2319c4843ap+12L : 0x4.00000000032ffc88p-16384L : inexact-ok += exp towardzero ldbl-96-m68k -0x2.c5b2319c4843ap+12L : 0x4.00000000032ffc8p-16384L : inexact-ok += exp upward ldbl-96-m68k -0x2.c5b2319c4843ap+12L : 0x4.00000000032ffc88p-16384L : inexact-ok += exp downward ldbl-128 -0x2.c5b2319c4843ap+12L : 0x4.00000000032ffc85647bac501164p-16384L : inexact-ok += exp tonearest ldbl-128 -0x2.c5b2319c4843ap+12L : 0x4.00000000032ffc85647bac501164p-16384L : inexact-ok += exp towardzero ldbl-128 -0x2.c5b2319c4843ap+12L : 0x4.00000000032ffc85647bac501164p-16384L : inexact-ok += exp upward ldbl-128 -0x2.c5b2319c4843ap+12L : 0x4.00000000032ffc85647bac501168p-16384L : inexact-ok += exp downward ldbl-128ibm -0x2.c5b2319c4843ap+12L : 0x0p+0L : inexact-ok underflow errno-erange += exp tonearest ldbl-128ibm -0x2.c5b2319c4843ap+12L : 0x0p+0L : inexact-ok underflow errno-erange += exp towardzero ldbl-128ibm -0x2.c5b2319c4843ap+12L : 0x0p+0L : inexact-ok underflow errno-erange += exp upward ldbl-128ibm -0x2.c5b2319c4843ap+12L : 0x4p-1076L : inexact-ok underflow errno-erange-ok += exp downward dbl-64 -0x2.c5b2319c4843cp+12 : 0x0p+0 : inexact-ok underflow errno-erange += exp tonearest dbl-64 -0x2.c5b2319c4843cp+12 : 0x0p+0 : inexact-ok underflow errno-erange += exp towardzero dbl-64 -0x2.c5b2319c4843cp+12 : 0x0p+0 : inexact-ok underflow errno-erange += exp upward dbl-64 -0x2.c5b2319c4843cp+12 : 0x4p-1076 : inexact-ok underflow errno-erange-ok += exp downward ldbl-96-intel -0x2.c5b2319c4843cp+12L : 0x3.fffffffffb2ffc8p-16384L : inexact-ok underflow errno-erange-ok += exp tonearest ldbl-96-intel -0x2.c5b2319c4843cp+12L : 0x3.fffffffffb2ffc88p-16384L : inexact-ok underflow errno-erange-ok += exp towardzero ldbl-96-intel -0x2.c5b2319c4843cp+12L : 0x3.fffffffffb2ffc8p-16384L : inexact-ok underflow errno-erange-ok += exp upward ldbl-96-intel -0x2.c5b2319c4843cp+12L : 0x3.fffffffffb2ffc88p-16384L : inexact-ok underflow errno-erange-ok += exp downward ldbl-96-m68k -0x2.c5b2319c4843cp+12L : 0x3.fffffffffb2ffc84p-16384L : inexact-ok += exp tonearest ldbl-96-m68k -0x2.c5b2319c4843cp+12L : 0x3.fffffffffb2ffc84p-16384L : inexact-ok += exp towardzero ldbl-96-m68k -0x2.c5b2319c4843cp+12L : 0x3.fffffffffb2ffc84p-16384L : inexact-ok += exp upward ldbl-96-m68k -0x2.c5b2319c4843cp+12L : 0x3.fffffffffb2ffc88p-16384L : inexact-ok += exp downward ldbl-128 -0x2.c5b2319c4843cp+12L : 0x3.fffffffffb2ffc85647d4c57069cp-16384L : inexact-ok underflow errno-erange-ok += exp tonearest ldbl-128 -0x2.c5b2319c4843cp+12L : 0x3.fffffffffb2ffc85647d4c57069cp-16384L : inexact-ok underflow errno-erange-ok += exp towardzero ldbl-128 -0x2.c5b2319c4843cp+12L : 0x3.fffffffffb2ffc85647d4c57069cp-16384L : inexact-ok underflow errno-erange-ok += exp upward ldbl-128 -0x2.c5b2319c4843cp+12L : 0x3.fffffffffb2ffc85647d4c5706ap-16384L : inexact-ok underflow errno-erange-ok += exp downward ldbl-128ibm -0x2.c5b2319c4843cp+12L : 0x0p+0L : inexact-ok underflow errno-erange += exp tonearest ldbl-128ibm -0x2.c5b2319c4843cp+12L : 0x0p+0L : inexact-ok underflow errno-erange += exp towardzero ldbl-128ibm -0x2.c5b2319c4843cp+12L : 0x0p+0L : inexact-ok underflow errno-erange += exp upward ldbl-128ibm -0x2.c5b2319c4843cp+12L : 0x4p-1076L : inexact-ok underflow errno-erange-ok += exp downward ldbl-96-intel -0x2.c5b2319c4843accp+12L : 0x3.fffffffffffffc8p-16384L : inexact-ok underflow errno-erange-ok += exp tonearest ldbl-96-intel -0x2.c5b2319c4843accp+12L : 0x3.fffffffffffffc88p-16384L : inexact-ok underflow errno-erange-ok += exp towardzero ldbl-96-intel -0x2.c5b2319c4843accp+12L : 0x3.fffffffffffffc8p-16384L : inexact-ok underflow errno-erange-ok += exp upward ldbl-96-intel -0x2.c5b2319c4843accp+12L : 0x3.fffffffffffffc88p-16384L : inexact-ok underflow errno-erange-ok += exp downward ldbl-96-m68k -0x2.c5b2319c4843accp+12L : 0x3.fffffffffffffc84p-16384L : inexact-ok += exp tonearest ldbl-96-m68k -0x2.c5b2319c4843accp+12L : 0x3.fffffffffffffc84p-16384L : inexact-ok += exp towardzero ldbl-96-m68k -0x2.c5b2319c4843accp+12L : 0x3.fffffffffffffc84p-16384L : inexact-ok += exp upward ldbl-96-m68k -0x2.c5b2319c4843accp+12L : 0x3.fffffffffffffc88p-16384L : inexact-ok += exp downward ldbl-128 -0x2.c5b2319c4843accp+12L : 0x3.fffffffffffffc85647a6732d718p-16384L : inexact-ok underflow errno-erange-ok += exp tonearest ldbl-128 -0x2.c5b2319c4843accp+12L : 0x3.fffffffffffffc85647a6732d718p-16384L : inexact-ok underflow errno-erange-ok += exp towardzero ldbl-128 -0x2.c5b2319c4843accp+12L : 0x3.fffffffffffffc85647a6732d718p-16384L : inexact-ok underflow errno-erange-ok += exp upward ldbl-128 -0x2.c5b2319c4843accp+12L : 0x3.fffffffffffffc85647a6732d71cp-16384L : inexact-ok underflow errno-erange-ok += exp downward ldbl-128ibm -0x2.c5b2319c4843accp+12L : 0x0p+0L : inexact-ok underflow errno-erange += exp tonearest ldbl-128ibm -0x2.c5b2319c4843accp+12L : 0x0p+0L : inexact-ok underflow errno-erange += exp towardzero ldbl-128ibm -0x2.c5b2319c4843accp+12L : 0x0p+0L : inexact-ok underflow errno-erange += exp upward ldbl-128ibm -0x2.c5b2319c4843accp+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 @@ -104929,31 +105034,136 @@ exp10 4932 xfail-rounding:ldbl-128ibm = exp10 tonearest ldbl-128ibm 0x1.344p+12L : plus_infty : inexact-ok overflow errno-erange = exp10 towardzero ldbl-128ibm 0x1.344p+12L : 0xf.ffffffffffffbffffffffffffcp+1020L : xfail:ldbl-128ibm inexact-ok overflow errno-erange-ok = exp10 upward ldbl-128ibm 0x1.344p+12L : plus_infty : xfail:ldbl-128ibm inexact-ok overflow errno-erange -exp10 -4932 missing-underflow:ldbl-96-intel:x86 missing-underflow:ldbl-96-intel:x86_64 -= exp10 downward flt-32 -0x1.344p+12f : 0x0p+0f : inexact-ok underflow underflow-ok:ldbl-96-intel:x86 underflow-ok:ldbl-96-intel:x86_64 errno-erange -= exp10 tonearest flt-32 -0x1.344p+12f : 0x0p+0f : inexact-ok underflow underflow-ok:ldbl-96-intel:x86 underflow-ok:ldbl-96-intel:x86_64 errno-erange -= exp10 towardzero flt-32 -0x1.344p+12f : 0x0p+0f : inexact-ok underflow underflow-ok:ldbl-96-intel:x86 underflow-ok:ldbl-96-intel:x86_64 errno-erange -= exp10 upward flt-32 -0x1.344p+12f : 0x8p-152f : inexact-ok underflow underflow-ok:ldbl-96-intel:x86 underflow-ok:ldbl-96-intel:x86_64 errno-erange-ok -= exp10 downward dbl-64 -0x1.344p+12 : 0x0p+0 : inexact-ok underflow underflow-ok:ldbl-96-intel:x86 underflow-ok:ldbl-96-intel:x86_64 errno-erange -= exp10 tonearest dbl-64 -0x1.344p+12 : 0x0p+0 : inexact-ok underflow underflow-ok:ldbl-96-intel:x86 underflow-ok:ldbl-96-intel:x86_64 errno-erange -= exp10 towardzero dbl-64 -0x1.344p+12 : 0x0p+0 : inexact-ok underflow underflow-ok:ldbl-96-intel:x86 underflow-ok:ldbl-96-intel:x86_64 errno-erange -= exp10 upward dbl-64 -0x1.344p+12 : 0x4p-1076 : inexact-ok underflow underflow-ok:ldbl-96-intel:x86 underflow-ok:ldbl-96-intel:x86_64 errno-erange-ok -= exp10 downward ldbl-96-intel -0x1.344p+12L : 0x1.30923e47949abf8p-16384L : inexact-ok underflow underflow-ok:ldbl-96-intel:x86 underflow-ok:ldbl-96-intel:x86_64 errno-erange-ok -= exp10 tonearest ldbl-96-intel -0x1.344p+12L : 0x1.30923e47949abf8p-16384L : inexact-ok underflow underflow-ok:ldbl-96-intel:x86 underflow-ok:ldbl-96-intel:x86_64 errno-erange-ok -= exp10 towardzero ldbl-96-intel -0x1.344p+12L : 0x1.30923e47949abf8p-16384L : inexact-ok underflow underflow-ok:ldbl-96-intel:x86 underflow-ok:ldbl-96-intel:x86_64 errno-erange-ok -= exp10 upward ldbl-96-intel -0x1.344p+12L : 0x1.30923e47949abf88p-16384L : inexact-ok underflow underflow-ok:ldbl-96-intel:x86 underflow-ok:ldbl-96-intel:x86_64 errno-erange-ok -= exp10 downward ldbl-96-m68k -0x1.344p+12L : 0x1.30923e47949abf8p-16384L : inexact-ok underflow underflow-ok:ldbl-96-intel:x86 underflow-ok:ldbl-96-intel:x86_64 errno-erange-ok -= exp10 tonearest ldbl-96-m68k -0x1.344p+12L : 0x1.30923e47949abf8p-16384L : inexact-ok underflow underflow-ok:ldbl-96-intel:x86 underflow-ok:ldbl-96-intel:x86_64 errno-erange-ok -= exp10 towardzero ldbl-96-m68k -0x1.344p+12L : 0x1.30923e47949abf8p-16384L : inexact-ok underflow underflow-ok:ldbl-96-intel:x86 underflow-ok:ldbl-96-intel:x86_64 errno-erange-ok -= exp10 upward ldbl-96-m68k -0x1.344p+12L : 0x1.30923e47949abf84p-16384L : inexact-ok underflow underflow-ok:ldbl-96-intel:x86 underflow-ok:ldbl-96-intel:x86_64 errno-erange-ok -= exp10 downward ldbl-128 -0x1.344p+12L : 0x1.30923e47949abf816b7d38ebc00cp-16384L : inexact-ok underflow underflow-ok:ldbl-96-intel:x86 underflow-ok:ldbl-96-intel:x86_64 errno-erange-ok -= exp10 tonearest ldbl-128 -0x1.344p+12L : 0x1.30923e47949abf816b7d38ebc01p-16384L : inexact-ok underflow underflow-ok:ldbl-96-intel:x86 underflow-ok:ldbl-96-intel:x86_64 errno-erange-ok -= exp10 towardzero ldbl-128 -0x1.344p+12L : 0x1.30923e47949abf816b7d38ebc00cp-16384L : inexact-ok underflow underflow-ok:ldbl-96-intel:x86 underflow-ok:ldbl-96-intel:x86_64 errno-erange-ok -= exp10 upward ldbl-128 -0x1.344p+12L : 0x1.30923e47949abf816b7d38ebc01p-16384L : inexact-ok underflow underflow-ok:ldbl-96-intel:x86 underflow-ok:ldbl-96-intel:x86_64 errno-erange-ok -= exp10 downward ldbl-128ibm -0x1.344p+12L : 0x0p+0L : inexact-ok underflow underflow-ok:ldbl-96-intel:x86 underflow-ok:ldbl-96-intel:x86_64 errno-erange -= exp10 tonearest ldbl-128ibm -0x1.344p+12L : 0x0p+0L : inexact-ok underflow underflow-ok:ldbl-96-intel:x86 underflow-ok:ldbl-96-intel:x86_64 errno-erange -= exp10 towardzero ldbl-128ibm -0x1.344p+12L : 0x0p+0L : inexact-ok underflow underflow-ok:ldbl-96-intel:x86 underflow-ok:ldbl-96-intel:x86_64 errno-erange -= exp10 upward ldbl-128ibm -0x1.344p+12L : 0x4p-1076L : inexact-ok underflow underflow-ok:ldbl-96-intel:x86 underflow-ok:ldbl-96-intel:x86_64 errno-erange-ok +exp10 -4932 += exp10 downward flt-32 -0x1.344p+12f : 0x0p+0f : inexact-ok underflow errno-erange += exp10 tonearest flt-32 -0x1.344p+12f : 0x0p+0f : inexact-ok underflow errno-erange += exp10 towardzero flt-32 -0x1.344p+12f : 0x0p+0f : inexact-ok underflow errno-erange += exp10 upward flt-32 -0x1.344p+12f : 0x8p-152f : inexact-ok underflow errno-erange-ok += exp10 downward dbl-64 -0x1.344p+12 : 0x0p+0 : inexact-ok underflow errno-erange += exp10 tonearest dbl-64 -0x1.344p+12 : 0x0p+0 : inexact-ok underflow errno-erange += exp10 towardzero dbl-64 -0x1.344p+12 : 0x0p+0 : inexact-ok underflow errno-erange += exp10 upward dbl-64 -0x1.344p+12 : 0x4p-1076 : inexact-ok underflow errno-erange-ok += exp10 downward ldbl-96-intel -0x1.344p+12L : 0x1.30923e47949abf8p-16384L : inexact-ok underflow errno-erange-ok += exp10 tonearest ldbl-96-intel -0x1.344p+12L : 0x1.30923e47949abf8p-16384L : inexact-ok underflow errno-erange-ok += exp10 towardzero ldbl-96-intel -0x1.344p+12L : 0x1.30923e47949abf8p-16384L : inexact-ok underflow errno-erange-ok += exp10 upward ldbl-96-intel -0x1.344p+12L : 0x1.30923e47949abf88p-16384L : inexact-ok underflow errno-erange-ok += exp10 downward ldbl-96-m68k -0x1.344p+12L : 0x1.30923e47949abf8p-16384L : inexact-ok underflow errno-erange-ok += exp10 tonearest ldbl-96-m68k -0x1.344p+12L : 0x1.30923e47949abf8p-16384L : inexact-ok underflow errno-erange-ok += exp10 towardzero ldbl-96-m68k -0x1.344p+12L : 0x1.30923e47949abf8p-16384L : inexact-ok underflow errno-erange-ok += exp10 upward ldbl-96-m68k -0x1.344p+12L : 0x1.30923e47949abf84p-16384L : inexact-ok underflow errno-erange-ok += exp10 downward ldbl-128 -0x1.344p+12L : 0x1.30923e47949abf816b7d38ebc00cp-16384L : inexact-ok underflow errno-erange-ok += exp10 tonearest ldbl-128 -0x1.344p+12L : 0x1.30923e47949abf816b7d38ebc01p-16384L : inexact-ok underflow errno-erange-ok += exp10 towardzero ldbl-128 -0x1.344p+12L : 0x1.30923e47949abf816b7d38ebc00cp-16384L : inexact-ok underflow errno-erange-ok += exp10 upward ldbl-128 -0x1.344p+12L : 0x1.30923e47949abf816b7d38ebc01p-16384L : inexact-ok underflow errno-erange-ok += exp10 downward ldbl-128ibm -0x1.344p+12L : 0x0p+0L : inexact-ok underflow errno-erange += exp10 tonearest ldbl-128ibm -0x1.344p+12L : 0x0p+0L : inexact-ok underflow errno-erange += exp10 towardzero ldbl-128ibm -0x1.344p+12L : 0x0p+0L : inexact-ok underflow errno-erange += exp10 upward ldbl-128ibm -0x1.344p+12L : 0x4p-1076L : inexact-ok underflow errno-erange-ok +exp10 -0x1.343793004f503232p12 += exp10 downward flt-32 -0x1.343792p+12f : 0x0p+0f : inexact-ok underflow errno-erange += exp10 tonearest flt-32 -0x1.343792p+12f : 0x0p+0f : inexact-ok underflow errno-erange += exp10 towardzero flt-32 -0x1.343792p+12f : 0x0p+0f : inexact-ok underflow errno-erange += exp10 upward flt-32 -0x1.343792p+12f : 0x8p-152f : inexact-ok underflow errno-erange-ok += exp10 downward dbl-64 -0x1.343792p+12 : 0x0p+0 : inexact-ok underflow errno-erange += exp10 tonearest dbl-64 -0x1.343792p+12 : 0x0p+0 : inexact-ok underflow errno-erange += exp10 towardzero dbl-64 -0x1.343792p+12 : 0x0p+0 : inexact-ok underflow errno-erange += exp10 upward dbl-64 -0x1.343792p+12 : 0x4p-1076 : inexact-ok underflow errno-erange-ok += exp10 downward ldbl-96-intel -0x1.343792p+12L : 0x4.009395d78ebc9b6p-16384L : inexact-ok += exp10 tonearest ldbl-96-intel -0x1.343792p+12L : 0x4.009395d78ebc9b68p-16384L : inexact-ok += exp10 towardzero ldbl-96-intel -0x1.343792p+12L : 0x4.009395d78ebc9b6p-16384L : inexact-ok += exp10 upward ldbl-96-intel -0x1.343792p+12L : 0x4.009395d78ebc9b68p-16384L : inexact-ok += exp10 downward ldbl-96-m68k -0x1.343792p+12L : 0x4.009395d78ebc9b6p-16384L : inexact-ok += exp10 tonearest ldbl-96-m68k -0x1.343792p+12L : 0x4.009395d78ebc9b68p-16384L : inexact-ok += exp10 towardzero ldbl-96-m68k -0x1.343792p+12L : 0x4.009395d78ebc9b6p-16384L : inexact-ok += exp10 upward ldbl-96-m68k -0x1.343792p+12L : 0x4.009395d78ebc9b68p-16384L : inexact-ok += exp10 downward ldbl-128 -0x1.343792p+12L : 0x4.009395d78ebc9b64a0aa93fc93dp-16384L : inexact-ok += exp10 tonearest ldbl-128 -0x1.343792p+12L : 0x4.009395d78ebc9b64a0aa93fc93dp-16384L : inexact-ok += exp10 towardzero ldbl-128 -0x1.343792p+12L : 0x4.009395d78ebc9b64a0aa93fc93dp-16384L : inexact-ok += exp10 upward ldbl-128 -0x1.343792p+12L : 0x4.009395d78ebc9b64a0aa93fc93d4p-16384L : inexact-ok += exp10 downward ldbl-128ibm -0x1.343792p+12L : 0x0p+0L : inexact-ok underflow errno-erange += exp10 tonearest ldbl-128ibm -0x1.343792p+12L : 0x0p+0L : inexact-ok underflow errno-erange += exp10 towardzero ldbl-128ibm -0x1.343792p+12L : 0x0p+0L : inexact-ok underflow errno-erange += exp10 upward ldbl-128ibm -0x1.343792p+12L : 0x4p-1076L : inexact-ok underflow errno-erange-ok += exp10 downward flt-32 -0x1.343794p+12f : 0x0p+0f : inexact-ok underflow errno-erange += exp10 tonearest flt-32 -0x1.343794p+12f : 0x0p+0f : inexact-ok underflow errno-erange += exp10 towardzero flt-32 -0x1.343794p+12f : 0x0p+0f : inexact-ok underflow errno-erange += exp10 upward flt-32 -0x1.343794p+12f : 0x8p-152f : inexact-ok underflow errno-erange-ok += exp10 downward dbl-64 -0x1.343794p+12 : 0x0p+0 : inexact-ok underflow errno-erange += exp10 tonearest dbl-64 -0x1.343794p+12 : 0x0p+0 : inexact-ok underflow errno-erange += exp10 towardzero dbl-64 -0x1.343794p+12 : 0x0p+0 : inexact-ok underflow errno-erange += exp10 upward dbl-64 -0x1.343794p+12 : 0x4p-1076 : inexact-ok underflow errno-erange-ok += exp10 downward ldbl-96-intel -0x1.343794p+12L : 0x3.ff6cdaadaae05f18p-16384L : inexact-ok underflow errno-erange-ok += exp10 tonearest ldbl-96-intel -0x1.343794p+12L : 0x3.ff6cdaadaae05f2p-16384L : inexact-ok underflow errno-erange-ok += exp10 towardzero ldbl-96-intel -0x1.343794p+12L : 0x3.ff6cdaadaae05f18p-16384L : inexact-ok underflow errno-erange-ok += exp10 upward ldbl-96-intel -0x1.343794p+12L : 0x3.ff6cdaadaae05f2p-16384L : inexact-ok underflow errno-erange-ok += exp10 downward ldbl-96-m68k -0x1.343794p+12L : 0x3.ff6cdaadaae05f1cp-16384L : inexact-ok += exp10 tonearest ldbl-96-m68k -0x1.343794p+12L : 0x3.ff6cdaadaae05f1cp-16384L : inexact-ok += exp10 towardzero ldbl-96-m68k -0x1.343794p+12L : 0x3.ff6cdaadaae05f1cp-16384L : inexact-ok += exp10 upward ldbl-96-m68k -0x1.343794p+12L : 0x3.ff6cdaadaae05f2p-16384L : inexact-ok += exp10 downward ldbl-128 -0x1.343794p+12L : 0x3.ff6cdaadaae05f1d9410e8bb22f8p-16384L : inexact-ok underflow errno-erange-ok += exp10 tonearest ldbl-128 -0x1.343794p+12L : 0x3.ff6cdaadaae05f1d9410e8bb22f8p-16384L : inexact-ok underflow errno-erange-ok += exp10 towardzero ldbl-128 -0x1.343794p+12L : 0x3.ff6cdaadaae05f1d9410e8bb22f8p-16384L : inexact-ok underflow errno-erange-ok += exp10 upward ldbl-128 -0x1.343794p+12L : 0x3.ff6cdaadaae05f1d9410e8bb22fcp-16384L : inexact-ok underflow errno-erange-ok += exp10 downward ldbl-128ibm -0x1.343794p+12L : 0x0p+0L : inexact-ok underflow errno-erange += exp10 tonearest ldbl-128ibm -0x1.343794p+12L : 0x0p+0L : inexact-ok underflow errno-erange += exp10 towardzero ldbl-128ibm -0x1.343794p+12L : 0x0p+0L : inexact-ok underflow errno-erange += exp10 upward ldbl-128ibm -0x1.343794p+12L : 0x4p-1076L : inexact-ok underflow errno-erange-ok += exp10 downward dbl-64 -0x1.343793004f503p+12 : 0x0p+0 : inexact-ok underflow errno-erange += exp10 tonearest dbl-64 -0x1.343793004f503p+12 : 0x0p+0 : inexact-ok underflow errno-erange += exp10 towardzero dbl-64 -0x1.343793004f503p+12 : 0x0p+0 : inexact-ok underflow errno-erange += exp10 upward dbl-64 -0x1.343793004f503p+12 : 0x4p-1076 : inexact-ok underflow errno-erange-ok += exp10 downward ldbl-96-intel -0x1.343793004f503p+12L : 0x4.0000000001434f48p-16384L : inexact-ok += exp10 tonearest ldbl-96-intel -0x1.343793004f503p+12L : 0x4.0000000001434f5p-16384L : inexact-ok += exp10 towardzero ldbl-96-intel -0x1.343793004f503p+12L : 0x4.0000000001434f48p-16384L : inexact-ok += exp10 upward ldbl-96-intel -0x1.343793004f503p+12L : 0x4.0000000001434f5p-16384L : inexact-ok += exp10 downward ldbl-96-m68k -0x1.343793004f503p+12L : 0x4.0000000001434f48p-16384L : inexact-ok += exp10 tonearest ldbl-96-m68k -0x1.343793004f503p+12L : 0x4.0000000001434f5p-16384L : inexact-ok += exp10 towardzero ldbl-96-m68k -0x1.343793004f503p+12L : 0x4.0000000001434f48p-16384L : inexact-ok += exp10 upward ldbl-96-m68k -0x1.343793004f503p+12L : 0x4.0000000001434f5p-16384L : inexact-ok += exp10 downward ldbl-128 -0x1.343793004f503p+12L : 0x4.0000000001434f4e77c5e6c4ab4cp-16384L : inexact-ok += exp10 tonearest ldbl-128 -0x1.343793004f503p+12L : 0x4.0000000001434f4e77c5e6c4ab5p-16384L : inexact-ok += exp10 towardzero ldbl-128 -0x1.343793004f503p+12L : 0x4.0000000001434f4e77c5e6c4ab4cp-16384L : inexact-ok += exp10 upward ldbl-128 -0x1.343793004f503p+12L : 0x4.0000000001434f4e77c5e6c4ab5p-16384L : inexact-ok += exp10 downward ldbl-128ibm -0x1.343793004f503p+12L : 0x0p+0L : inexact-ok underflow errno-erange += exp10 tonearest ldbl-128ibm -0x1.343793004f503p+12L : 0x0p+0L : inexact-ok underflow errno-erange += exp10 towardzero ldbl-128ibm -0x1.343793004f503p+12L : 0x0p+0L : inexact-ok underflow errno-erange += exp10 upward ldbl-128ibm -0x1.343793004f503p+12L : 0x4p-1076L : inexact-ok underflow errno-erange-ok += exp10 downward dbl-64 -0x1.343793004f504p+12 : 0x0p+0 : inexact-ok underflow errno-erange += exp10 tonearest dbl-64 -0x1.343793004f504p+12 : 0x0p+0 : inexact-ok underflow errno-erange += exp10 towardzero dbl-64 -0x1.343793004f504p+12 : 0x0p+0 : inexact-ok underflow errno-erange += exp10 upward dbl-64 -0x1.343793004f504p+12 : 0x4p-1076 : inexact-ok underflow errno-erange-ok += exp10 downward ldbl-96-intel -0x1.343793004f504p+12L : 0x3.fffffffff80d767p-16384L : inexact-ok underflow errno-erange-ok += exp10 tonearest ldbl-96-intel -0x1.343793004f504p+12L : 0x3.fffffffff80d767p-16384L : inexact-ok underflow errno-erange-ok += exp10 towardzero ldbl-96-intel -0x1.343793004f504p+12L : 0x3.fffffffff80d767p-16384L : inexact-ok underflow errno-erange-ok += exp10 upward ldbl-96-intel -0x1.343793004f504p+12L : 0x3.fffffffff80d7678p-16384L : inexact-ok underflow errno-erange-ok += exp10 downward ldbl-96-m68k -0x1.343793004f504p+12L : 0x3.fffffffff80d767p-16384L : inexact-ok += exp10 tonearest ldbl-96-m68k -0x1.343793004f504p+12L : 0x3.fffffffff80d767p-16384L : inexact-ok += exp10 towardzero ldbl-96-m68k -0x1.343793004f504p+12L : 0x3.fffffffff80d767p-16384L : inexact-ok += exp10 upward ldbl-96-m68k -0x1.343793004f504p+12L : 0x3.fffffffff80d7674p-16384L : inexact-ok += exp10 downward ldbl-128 -0x1.343793004f504p+12L : 0x3.fffffffff80d76709d230e22dc24p-16384L : inexact-ok underflow errno-erange-ok += exp10 tonearest ldbl-128 -0x1.343793004f504p+12L : 0x3.fffffffff80d76709d230e22dc24p-16384L : inexact-ok underflow errno-erange-ok += exp10 towardzero ldbl-128 -0x1.343793004f504p+12L : 0x3.fffffffff80d76709d230e22dc24p-16384L : inexact-ok underflow errno-erange-ok += exp10 upward ldbl-128 -0x1.343793004f504p+12L : 0x3.fffffffff80d76709d230e22dc28p-16384L : inexact-ok underflow errno-erange-ok += exp10 downward ldbl-128ibm -0x1.343793004f504p+12L : 0x0p+0L : inexact-ok underflow errno-erange += exp10 tonearest ldbl-128ibm -0x1.343793004f504p+12L : 0x0p+0L : inexact-ok underflow errno-erange += exp10 towardzero ldbl-128ibm -0x1.343793004f504p+12L : 0x0p+0L : inexact-ok underflow errno-erange += exp10 upward ldbl-128ibm -0x1.343793004f504p+12L : 0x4p-1076L : inexact-ok underflow errno-erange-ok += exp10 downward ldbl-96-intel -0x1.343793004f503232p+12L : 0x3.ffffffffffffcbe8p-16384L : inexact-ok underflow errno-erange-ok += exp10 tonearest ldbl-96-intel -0x1.343793004f503232p+12L : 0x3.ffffffffffffcbfp-16384L : inexact-ok underflow errno-erange-ok += exp10 towardzero ldbl-96-intel -0x1.343793004f503232p+12L : 0x3.ffffffffffffcbe8p-16384L : inexact-ok underflow errno-erange-ok += exp10 upward ldbl-96-intel -0x1.343793004f503232p+12L : 0x3.ffffffffffffcbfp-16384L : inexact-ok underflow errno-erange-ok += exp10 downward ldbl-96-m68k -0x1.343793004f503232p+12L : 0x3.ffffffffffffcbecp-16384L : inexact-ok += exp10 tonearest ldbl-96-m68k -0x1.343793004f503232p+12L : 0x3.ffffffffffffcbecp-16384L : inexact-ok += exp10 towardzero ldbl-96-m68k -0x1.343793004f503232p+12L : 0x3.ffffffffffffcbecp-16384L : inexact-ok += exp10 upward ldbl-96-m68k -0x1.343793004f503232p+12L : 0x3.ffffffffffffcbfp-16384L : inexact-ok += exp10 downward ldbl-128 -0x1.343793004f503232p+12L : 0x3.ffffffffffffcbed07250d70bb4p-16384L : inexact-ok underflow errno-erange-ok += exp10 tonearest ldbl-128 -0x1.343793004f503232p+12L : 0x3.ffffffffffffcbed07250d70bb4p-16384L : inexact-ok underflow errno-erange-ok += exp10 towardzero ldbl-128 -0x1.343793004f503232p+12L : 0x3.ffffffffffffcbed07250d70bb4p-16384L : inexact-ok underflow errno-erange-ok += exp10 upward ldbl-128 -0x1.343793004f503232p+12L : 0x3.ffffffffffffcbed07250d70bb44p-16384L : inexact-ok underflow errno-erange-ok += exp10 downward ldbl-128ibm -0x1.343793004f503232p+12L : 0x0p+0L : inexact-ok underflow errno-erange += exp10 tonearest ldbl-128ibm -0x1.343793004f503232p+12L : 0x0p+0L : inexact-ok underflow errno-erange += exp10 towardzero ldbl-128ibm -0x1.343793004f503232p+12L : 0x0p+0L : inexact-ok underflow errno-erange += exp10 upward ldbl-128ibm -0x1.343793004f503232p+12L : 0x4p-1076L : inexact-ok underflow errno-erange-ok exp10 1e5 xfail-rounding:ldbl-128ibm = exp10 downward flt-32 0x1.86ap+16f : 0xf.fffffp+124f : xfail:ldbl-128ibm inexact-ok overflow errno-erange-ok = exp10 tonearest flt-32 0x1.86ap+16f : plus_infty : inexact-ok overflow errno-erange |