mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-21 20:40:05 +00:00
Fix exp2 spurious underflows (bug 16560).
This patch fixes the remaining part of bug 16560, spurious underflows from exp2 of arguments close to 0 (when the result is close to 1, so should not underflow), by just using 1+x instead of a more complicated calculation when the argument is sufficiently small. Tested for x86_64, x86 and mips64. [BZ #16560] * math/e_exp2l.c [LDBL_MANT_DIG == 106] (LDBL_EPSILON): Undefine and redefine. (__ieee754_exp2l): Do not multiply small fractional parts by M_LN2l. * sysdeps/i386/fpu/e_exp2l.S (__ieee754_exp2l): Just add 1 to small argument. * sysdeps/ieee754/dbl-64/e_exp2.c (__ieee754_exp2): Likewise. * sysdeps/ieee754/flt-32/e_exp2f.c (__ieee754_exp2f): Likewise. * sysdeps/x86_64/fpu/e_exp2l.S (__ieee754_exp2l): Likewise. * math/auto-libm-test-in: Add more tests of exp2. * math/auto-libm-test-out: Regenerated.
This commit is contained in:
parent
98408b95b1
commit
03d95bd483
15
ChangeLog
15
ChangeLog
@ -1,3 +1,18 @@
|
||||
2015-02-12 Joseph Myers <joseph@codesourcery.com>
|
||||
|
||||
[BZ #16560]
|
||||
* math/e_exp2l.c [LDBL_MANT_DIG == 106] (LDBL_EPSILON): Undefine
|
||||
and redefine.
|
||||
(__ieee754_exp2l): Do not multiply small fractional parts by
|
||||
M_LN2l.
|
||||
* sysdeps/i386/fpu/e_exp2l.S (__ieee754_exp2l): Just add 1 to
|
||||
small argument.
|
||||
* sysdeps/ieee754/dbl-64/e_exp2.c (__ieee754_exp2): Likewise.
|
||||
* sysdeps/ieee754/flt-32/e_exp2f.c (__ieee754_exp2f): Likewise.
|
||||
* sysdeps/x86_64/fpu/e_exp2l.S (__ieee754_exp2l): Likewise.
|
||||
* math/auto-libm-test-in: Add more tests of exp2.
|
||||
* math/auto-libm-test-out: Regenerated.
|
||||
|
||||
2015-02-12 Rajalakshmi Srinivasaraghavan <raji@linux.vnet.ibm.com>
|
||||
|
||||
* sysdeps/powerpc/powerpc64/power7/strncpy.S (strncpy): Optimize
|
||||
|
2
NEWS
2
NEWS
@ -9,7 +9,7 @@ Version 2.22
|
||||
|
||||
* The following bugs are resolved with this release:
|
||||
|
||||
4719, 15467, 15790, 17912, 17932, 17944, 17949.
|
||||
4719, 15467, 15790, 16560, 17912, 17932, 17944, 17949.
|
||||
|
||||
Version 2.21
|
||||
|
||||
|
@ -938,6 +938,24 @@ exp2 1023
|
||||
exp2 -1074
|
||||
exp2 16383
|
||||
exp2 -16400
|
||||
exp2 0x1p-10
|
||||
exp2 -0x1p-10
|
||||
exp2 0x1p-20
|
||||
exp2 -0x1p-20
|
||||
exp2 0x1p-30
|
||||
exp2 -0x1p-30
|
||||
exp2 0x1p-40
|
||||
exp2 -0x1p-40
|
||||
exp2 0x1p-50
|
||||
exp2 -0x1p-50
|
||||
exp2 0x1p-60
|
||||
exp2 -0x1p-60
|
||||
exp2 0x1p-100
|
||||
exp2 -0x1p-100
|
||||
exp2 min
|
||||
exp2 -min
|
||||
exp2 min_subnorm
|
||||
exp2 -min_subnorm
|
||||
|
||||
expm1 0
|
||||
expm1 -0
|
||||
|
@ -92448,6 +92448,672 @@ exp2 -16400
|
||||
= exp2 tonearest ldbl-128ibm -0x4.01p+12L : 0x0p+0L : inexact-ok underflow errno-erange
|
||||
= exp2 towardzero ldbl-128ibm -0x4.01p+12L : 0x0p+0L : inexact-ok underflow errno-erange
|
||||
= exp2 upward ldbl-128ibm -0x4.01p+12L : 0x4p-1076L : inexact-ok underflow errno-erange-ok
|
||||
exp2 0x1p-10
|
||||
= exp2 downward flt-32 0x4p-12f : 0x1.002c6p+0f : inexact-ok
|
||||
= exp2 tonearest flt-32 0x4p-12f : 0x1.002c6p+0f : inexact-ok
|
||||
= exp2 towardzero flt-32 0x4p-12f : 0x1.002c6p+0f : inexact-ok
|
||||
= exp2 upward flt-32 0x4p-12f : 0x1.002c62p+0f : inexact-ok
|
||||
= exp2 downward dbl-64 0x4p-12 : 0x1.002c605e2e8cep+0 : inexact-ok
|
||||
= exp2 tonearest dbl-64 0x4p-12 : 0x1.002c605e2e8cfp+0 : inexact-ok
|
||||
= exp2 towardzero dbl-64 0x4p-12 : 0x1.002c605e2e8cep+0 : inexact-ok
|
||||
= exp2 upward dbl-64 0x4p-12 : 0x1.002c605e2e8cfp+0 : inexact-ok
|
||||
= exp2 downward ldbl-96-intel 0x4p-12L : 0x1.002c605e2e8cec5p+0L : inexact-ok
|
||||
= exp2 tonearest ldbl-96-intel 0x4p-12L : 0x1.002c605e2e8cec5p+0L : inexact-ok
|
||||
= exp2 towardzero ldbl-96-intel 0x4p-12L : 0x1.002c605e2e8cec5p+0L : inexact-ok
|
||||
= exp2 upward ldbl-96-intel 0x4p-12L : 0x1.002c605e2e8cec52p+0L : inexact-ok
|
||||
= exp2 downward ldbl-96-m68k 0x4p-12L : 0x1.002c605e2e8cec5p+0L : inexact-ok
|
||||
= exp2 tonearest ldbl-96-m68k 0x4p-12L : 0x1.002c605e2e8cec5p+0L : inexact-ok
|
||||
= exp2 towardzero ldbl-96-m68k 0x4p-12L : 0x1.002c605e2e8cec5p+0L : inexact-ok
|
||||
= exp2 upward ldbl-96-m68k 0x4p-12L : 0x1.002c605e2e8cec52p+0L : inexact-ok
|
||||
= exp2 downward ldbl-128 0x4p-12L : 0x1.002c605e2e8cec506d21bfc89a23p+0L : inexact-ok
|
||||
= exp2 tonearest ldbl-128 0x4p-12L : 0x1.002c605e2e8cec506d21bfc89a24p+0L : inexact-ok
|
||||
= exp2 towardzero ldbl-128 0x4p-12L : 0x1.002c605e2e8cec506d21bfc89a23p+0L : inexact-ok
|
||||
= exp2 upward ldbl-128 0x4p-12L : 0x1.002c605e2e8cec506d21bfc89a24p+0L : inexact-ok
|
||||
= exp2 downward ldbl-128ibm 0x4p-12L : 0x1.002c605e2e8cec506d21bfc89ap+0L : inexact-ok
|
||||
= exp2 tonearest ldbl-128ibm 0x4p-12L : 0x1.002c605e2e8cec506d21bfc89ap+0L : inexact-ok
|
||||
= exp2 towardzero ldbl-128ibm 0x4p-12L : 0x1.002c605e2e8cec506d21bfc89ap+0L : inexact-ok
|
||||
= exp2 upward ldbl-128ibm 0x4p-12L : 0x1.002c605e2e8cec506d21bfc89a8p+0L : inexact-ok
|
||||
exp2 -0x1p-10
|
||||
= exp2 downward flt-32 -0x4p-12f : 0xf.fd3a7p-4f : inexact-ok
|
||||
= exp2 tonearest flt-32 -0x4p-12f : 0xf.fd3a7p-4f : inexact-ok
|
||||
= exp2 towardzero flt-32 -0x4p-12f : 0xf.fd3a7p-4f : inexact-ok
|
||||
= exp2 upward flt-32 -0x4p-12f : 0xf.fd3a8p-4f : inexact-ok
|
||||
= exp2 downward dbl-64 -0x4p-12 : 0xf.fd3a751c0f7ep-4 : inexact-ok
|
||||
= exp2 tonearest dbl-64 -0x4p-12 : 0xf.fd3a751c0f7ep-4 : inexact-ok
|
||||
= exp2 towardzero dbl-64 -0x4p-12 : 0xf.fd3a751c0f7ep-4 : inexact-ok
|
||||
= exp2 upward dbl-64 -0x4p-12 : 0xf.fd3a751c0f7e8p-4 : inexact-ok
|
||||
= exp2 downward ldbl-96-intel -0x4p-12L : 0xf.fd3a751c0f7e10bp-4L : inexact-ok
|
||||
= exp2 tonearest ldbl-96-intel -0x4p-12L : 0xf.fd3a751c0f7e10cp-4L : inexact-ok
|
||||
= exp2 towardzero ldbl-96-intel -0x4p-12L : 0xf.fd3a751c0f7e10bp-4L : inexact-ok
|
||||
= exp2 upward ldbl-96-intel -0x4p-12L : 0xf.fd3a751c0f7e10cp-4L : inexact-ok
|
||||
= exp2 downward ldbl-96-m68k -0x4p-12L : 0xf.fd3a751c0f7e10bp-4L : inexact-ok
|
||||
= exp2 tonearest ldbl-96-m68k -0x4p-12L : 0xf.fd3a751c0f7e10cp-4L : inexact-ok
|
||||
= exp2 towardzero ldbl-96-m68k -0x4p-12L : 0xf.fd3a751c0f7e10bp-4L : inexact-ok
|
||||
= exp2 upward ldbl-96-m68k -0x4p-12L : 0xf.fd3a751c0f7e10cp-4L : inexact-ok
|
||||
= exp2 downward ldbl-128 -0x4p-12L : 0xf.fd3a751c0f7e10bd3b9f8ae012f8p-4L : inexact-ok
|
||||
= exp2 tonearest ldbl-128 -0x4p-12L : 0xf.fd3a751c0f7e10bd3b9f8ae012f8p-4L : inexact-ok
|
||||
= exp2 towardzero ldbl-128 -0x4p-12L : 0xf.fd3a751c0f7e10bd3b9f8ae012f8p-4L : inexact-ok
|
||||
= exp2 upward ldbl-128 -0x4p-12L : 0xf.fd3a751c0f7e10bd3b9f8ae013p-4L : inexact-ok
|
||||
= exp2 downward ldbl-128ibm -0x4p-12L : 0xf.fd3a751c0f7e10bd3b9f8ae01p-4L : inexact-ok
|
||||
= exp2 tonearest ldbl-128ibm -0x4p-12L : 0xf.fd3a751c0f7e10bd3b9f8ae014p-4L : inexact-ok
|
||||
= exp2 towardzero ldbl-128ibm -0x4p-12L : 0xf.fd3a751c0f7e10bd3b9f8ae01p-4L : inexact-ok
|
||||
= exp2 upward ldbl-128ibm -0x4p-12L : 0xf.fd3a751c0f7e10bd3b9f8ae014p-4L : inexact-ok
|
||||
exp2 0x1p-20
|
||||
= exp2 downward flt-32 0x1p-20f : 0x1.00000ap+0f : inexact-ok
|
||||
= exp2 tonearest flt-32 0x1p-20f : 0x1.00000cp+0f : inexact-ok
|
||||
= exp2 towardzero flt-32 0x1p-20f : 0x1.00000ap+0f : inexact-ok
|
||||
= exp2 upward flt-32 0x1p-20f : 0x1.00000cp+0f : inexact-ok
|
||||
= exp2 downward dbl-64 0x1p-20 : 0x1.00000b1721bcfp+0 : inexact-ok
|
||||
= exp2 tonearest dbl-64 0x1p-20 : 0x1.00000b1721bdp+0 : inexact-ok
|
||||
= exp2 towardzero dbl-64 0x1p-20 : 0x1.00000b1721bcfp+0 : inexact-ok
|
||||
= exp2 upward dbl-64 0x1p-20 : 0x1.00000b1721bdp+0 : inexact-ok
|
||||
= exp2 downward ldbl-96-intel 0x1p-20L : 0x1.00000b1721bcfc98p+0L : inexact-ok
|
||||
= exp2 tonearest ldbl-96-intel 0x1p-20L : 0x1.00000b1721bcfc9ap+0L : inexact-ok
|
||||
= exp2 towardzero ldbl-96-intel 0x1p-20L : 0x1.00000b1721bcfc98p+0L : inexact-ok
|
||||
= exp2 upward ldbl-96-intel 0x1p-20L : 0x1.00000b1721bcfc9ap+0L : inexact-ok
|
||||
= exp2 downward ldbl-96-m68k 0x1p-20L : 0x1.00000b1721bcfc98p+0L : inexact-ok
|
||||
= exp2 tonearest ldbl-96-m68k 0x1p-20L : 0x1.00000b1721bcfc9ap+0L : inexact-ok
|
||||
= exp2 towardzero ldbl-96-m68k 0x1p-20L : 0x1.00000b1721bcfc98p+0L : inexact-ok
|
||||
= exp2 upward ldbl-96-m68k 0x1p-20L : 0x1.00000b1721bcfc9ap+0L : inexact-ok
|
||||
= exp2 downward ldbl-128 0x1p-20L : 0x1.00000b1721bcfc99d9f890ea0691p+0L : inexact-ok
|
||||
= exp2 tonearest ldbl-128 0x1p-20L : 0x1.00000b1721bcfc99d9f890ea0691p+0L : inexact-ok
|
||||
= exp2 towardzero ldbl-128 0x1p-20L : 0x1.00000b1721bcfc99d9f890ea0691p+0L : inexact-ok
|
||||
= exp2 upward ldbl-128 0x1p-20L : 0x1.00000b1721bcfc99d9f890ea0692p+0L : inexact-ok
|
||||
= exp2 downward ldbl-128ibm 0x1p-20L : 0x1.00000b1721bcfc99d9f890ea068p+0L : inexact-ok
|
||||
= exp2 tonearest ldbl-128ibm 0x1p-20L : 0x1.00000b1721bcfc99d9f890ea068p+0L : inexact-ok
|
||||
= exp2 towardzero ldbl-128ibm 0x1p-20L : 0x1.00000b1721bcfc99d9f890ea068p+0L : inexact-ok
|
||||
= exp2 upward ldbl-128ibm 0x1p-20L : 0x1.00000b1721bcfc99d9f890ea07p+0L : inexact-ok
|
||||
exp2 -0x1p-20
|
||||
= exp2 downward flt-32 -0x1p-20f : 0xf.ffff4p-4f : inexact-ok
|
||||
= exp2 tonearest flt-32 -0x1p-20f : 0xf.ffff5p-4f : inexact-ok
|
||||
= exp2 towardzero flt-32 -0x1p-20f : 0xf.ffff4p-4f : inexact-ok
|
||||
= exp2 upward flt-32 -0x1p-20f : 0xf.ffff5p-4f : inexact-ok
|
||||
= exp2 downward dbl-64 -0x1p-20 : 0xf.ffff4e8debep-4 : inexact-ok
|
||||
= exp2 tonearest dbl-64 -0x1p-20 : 0xf.ffff4e8debep-4 : inexact-ok
|
||||
= exp2 towardzero dbl-64 -0x1p-20 : 0xf.ffff4e8debep-4 : inexact-ok
|
||||
= exp2 upward dbl-64 -0x1p-20 : 0xf.ffff4e8debe08p-4 : inexact-ok
|
||||
= exp2 downward ldbl-96-intel -0x1p-20L : 0xf.ffff4e8debe025ep-4L : inexact-ok
|
||||
= exp2 tonearest ldbl-96-intel -0x1p-20L : 0xf.ffff4e8debe025ep-4L : inexact-ok
|
||||
= exp2 towardzero ldbl-96-intel -0x1p-20L : 0xf.ffff4e8debe025ep-4L : inexact-ok
|
||||
= exp2 upward ldbl-96-intel -0x1p-20L : 0xf.ffff4e8debe025fp-4L : inexact-ok
|
||||
= exp2 downward ldbl-96-m68k -0x1p-20L : 0xf.ffff4e8debe025ep-4L : inexact-ok
|
||||
= exp2 tonearest ldbl-96-m68k -0x1p-20L : 0xf.ffff4e8debe025ep-4L : inexact-ok
|
||||
= exp2 towardzero ldbl-96-m68k -0x1p-20L : 0xf.ffff4e8debe025ep-4L : inexact-ok
|
||||
= exp2 upward ldbl-96-m68k -0x1p-20L : 0xf.ffff4e8debe025fp-4L : inexact-ok
|
||||
= exp2 downward ldbl-128 -0x1p-20L : 0xf.ffff4e8debe025e24128a3d4607p-4L : inexact-ok
|
||||
= exp2 tonearest ldbl-128 -0x1p-20L : 0xf.ffff4e8debe025e24128a3d4607p-4L : inexact-ok
|
||||
= exp2 towardzero ldbl-128 -0x1p-20L : 0xf.ffff4e8debe025e24128a3d4607p-4L : inexact-ok
|
||||
= exp2 upward ldbl-128 -0x1p-20L : 0xf.ffff4e8debe025e24128a3d46078p-4L : inexact-ok
|
||||
= exp2 downward ldbl-128ibm -0x1p-20L : 0xf.ffff4e8debe025e24128a3d46p-4L : inexact-ok
|
||||
= exp2 tonearest ldbl-128ibm -0x1p-20L : 0xf.ffff4e8debe025e24128a3d46p-4L : inexact-ok
|
||||
= exp2 towardzero ldbl-128ibm -0x1p-20L : 0xf.ffff4e8debe025e24128a3d46p-4L : inexact-ok
|
||||
= exp2 upward ldbl-128ibm -0x1p-20L : 0xf.ffff4e8debe025e24128a3d464p-4L : inexact-ok
|
||||
exp2 0x1p-30
|
||||
= exp2 downward flt-32 0x4p-32f : 0x1p+0f : inexact-ok
|
||||
= exp2 tonearest flt-32 0x4p-32f : 0x1p+0f : inexact-ok
|
||||
= exp2 towardzero flt-32 0x4p-32f : 0x1p+0f : inexact-ok
|
||||
= exp2 upward flt-32 0x4p-32f : 0x1.000002p+0f : inexact-ok
|
||||
= exp2 downward dbl-64 0x4p-32 : 0x1.00000002c5c85p+0 : inexact-ok
|
||||
= exp2 tonearest dbl-64 0x4p-32 : 0x1.00000002c5c86p+0 : inexact-ok
|
||||
= exp2 towardzero dbl-64 0x4p-32 : 0x1.00000002c5c85p+0 : inexact-ok
|
||||
= exp2 upward dbl-64 0x4p-32 : 0x1.00000002c5c86p+0 : inexact-ok
|
||||
= exp2 downward ldbl-96-intel 0x4p-32L : 0x1.00000002c5c85fe2p+0L : inexact-ok
|
||||
= exp2 tonearest ldbl-96-intel 0x4p-32L : 0x1.00000002c5c85fe4p+0L : inexact-ok
|
||||
= exp2 towardzero ldbl-96-intel 0x4p-32L : 0x1.00000002c5c85fe2p+0L : inexact-ok
|
||||
= exp2 upward ldbl-96-intel 0x4p-32L : 0x1.00000002c5c85fe4p+0L : inexact-ok
|
||||
= exp2 downward ldbl-96-m68k 0x4p-32L : 0x1.00000002c5c85fe2p+0L : inexact-ok
|
||||
= exp2 tonearest ldbl-96-m68k 0x4p-32L : 0x1.00000002c5c85fe4p+0L : inexact-ok
|
||||
= exp2 towardzero ldbl-96-m68k 0x4p-32L : 0x1.00000002c5c85fe2p+0L : inexact-ok
|
||||
= exp2 upward ldbl-96-m68k 0x4p-32L : 0x1.00000002c5c85fe4p+0L : inexact-ok
|
||||
= exp2 downward ldbl-128 0x4p-32L : 0x1.00000002c5c85fe31f35a6a30da1p+0L : inexact-ok
|
||||
= exp2 tonearest ldbl-128 0x4p-32L : 0x1.00000002c5c85fe31f35a6a30da2p+0L : inexact-ok
|
||||
= exp2 towardzero ldbl-128 0x4p-32L : 0x1.00000002c5c85fe31f35a6a30da1p+0L : inexact-ok
|
||||
= exp2 upward ldbl-128 0x4p-32L : 0x1.00000002c5c85fe31f35a6a30da2p+0L : inexact-ok
|
||||
= exp2 downward ldbl-128ibm 0x4p-32L : 0x1.00000002c5c85fe31f35a6a30d8p+0L : inexact-ok
|
||||
= exp2 tonearest ldbl-128ibm 0x4p-32L : 0x1.00000002c5c85fe31f35a6a30d8p+0L : inexact-ok
|
||||
= exp2 towardzero ldbl-128ibm 0x4p-32L : 0x1.00000002c5c85fe31f35a6a30d8p+0L : inexact-ok
|
||||
= exp2 upward ldbl-128ibm 0x4p-32L : 0x1.00000002c5c85fe31f35a6a30ep+0L : inexact-ok
|
||||
exp2 -0x1p-30
|
||||
= exp2 downward flt-32 -0x4p-32f : 0xf.fffffp-4f : inexact-ok
|
||||
= exp2 tonearest flt-32 -0x4p-32f : 0x1p+0f : inexact-ok
|
||||
= exp2 towardzero flt-32 -0x4p-32f : 0xf.fffffp-4f : inexact-ok
|
||||
= exp2 upward flt-32 -0x4p-32f : 0x1p+0f : inexact-ok
|
||||
= exp2 downward dbl-64 -0x4p-32 : 0xf.ffffffd3a37ap-4 : inexact-ok
|
||||
= exp2 tonearest dbl-64 -0x4p-32 : 0xf.ffffffd3a37ap-4 : inexact-ok
|
||||
= exp2 towardzero dbl-64 -0x4p-32 : 0xf.ffffffd3a37ap-4 : inexact-ok
|
||||
= exp2 upward dbl-64 -0x4p-32 : 0xf.ffffffd3a37a8p-4 : inexact-ok
|
||||
= exp2 downward ldbl-96-intel -0x4p-32L : 0xf.ffffffd3a37a024p-4L : inexact-ok
|
||||
= exp2 tonearest ldbl-96-intel -0x4p-32L : 0xf.ffffffd3a37a025p-4L : inexact-ok
|
||||
= exp2 towardzero ldbl-96-intel -0x4p-32L : 0xf.ffffffd3a37a024p-4L : inexact-ok
|
||||
= exp2 upward ldbl-96-intel -0x4p-32L : 0xf.ffffffd3a37a025p-4L : inexact-ok
|
||||
= exp2 downward ldbl-96-m68k -0x4p-32L : 0xf.ffffffd3a37a024p-4L : inexact-ok
|
||||
= exp2 tonearest ldbl-96-m68k -0x4p-32L : 0xf.ffffffd3a37a025p-4L : inexact-ok
|
||||
= exp2 towardzero ldbl-96-m68k -0x4p-32L : 0xf.ffffffd3a37a024p-4L : inexact-ok
|
||||
= exp2 upward ldbl-96-m68k -0x4p-32L : 0xf.ffffffd3a37a025p-4L : inexact-ok
|
||||
= exp2 downward ldbl-128 -0x4p-32L : 0xf.ffffffd3a37a02490b9d93da3c18p-4L : inexact-ok
|
||||
= exp2 tonearest ldbl-128 -0x4p-32L : 0xf.ffffffd3a37a02490b9d93da3c2p-4L : inexact-ok
|
||||
= exp2 towardzero ldbl-128 -0x4p-32L : 0xf.ffffffd3a37a02490b9d93da3c18p-4L : inexact-ok
|
||||
= exp2 upward ldbl-128 -0x4p-32L : 0xf.ffffffd3a37a02490b9d93da3c2p-4L : inexact-ok
|
||||
= exp2 downward ldbl-128ibm -0x4p-32L : 0xf.ffffffd3a37a02490b9d93da3cp-4L : inexact-ok
|
||||
= exp2 tonearest ldbl-128ibm -0x4p-32L : 0xf.ffffffd3a37a02490b9d93da3cp-4L : inexact-ok
|
||||
= exp2 towardzero ldbl-128ibm -0x4p-32L : 0xf.ffffffd3a37a02490b9d93da3cp-4L : inexact-ok
|
||||
= exp2 upward ldbl-128ibm -0x4p-32L : 0xf.ffffffd3a37a02490b9d93da4p-4L : inexact-ok
|
||||
exp2 0x1p-40
|
||||
= exp2 downward flt-32 0x1p-40f : 0x1p+0f : inexact-ok
|
||||
= exp2 tonearest flt-32 0x1p-40f : 0x1p+0f : inexact-ok
|
||||
= exp2 towardzero flt-32 0x1p-40f : 0x1p+0f : inexact-ok
|
||||
= exp2 upward flt-32 0x1p-40f : 0x1.000002p+0f : inexact-ok
|
||||
= exp2 downward dbl-64 0x1p-40 : 0x1.0000000000b17p+0 : inexact-ok
|
||||
= exp2 tonearest dbl-64 0x1p-40 : 0x1.0000000000b17p+0 : inexact-ok
|
||||
= exp2 towardzero dbl-64 0x1p-40 : 0x1.0000000000b17p+0 : inexact-ok
|
||||
= exp2 upward dbl-64 0x1p-40 : 0x1.0000000000b18p+0 : inexact-ok
|
||||
= exp2 downward ldbl-96-intel 0x1p-40L : 0x1.0000000000b17216p+0L : inexact-ok
|
||||
= exp2 tonearest ldbl-96-intel 0x1p-40L : 0x1.0000000000b17218p+0L : inexact-ok
|
||||
= exp2 towardzero ldbl-96-intel 0x1p-40L : 0x1.0000000000b17216p+0L : inexact-ok
|
||||
= exp2 upward ldbl-96-intel 0x1p-40L : 0x1.0000000000b17218p+0L : inexact-ok
|
||||
= exp2 downward ldbl-96-m68k 0x1p-40L : 0x1.0000000000b17216p+0L : inexact-ok
|
||||
= exp2 tonearest ldbl-96-m68k 0x1p-40L : 0x1.0000000000b17218p+0L : inexact-ok
|
||||
= exp2 towardzero ldbl-96-m68k 0x1p-40L : 0x1.0000000000b17216p+0L : inexact-ok
|
||||
= exp2 upward ldbl-96-m68k 0x1p-40L : 0x1.0000000000b17218p+0L : inexact-ok
|
||||
= exp2 downward ldbl-128 0x1p-40L : 0x1.0000000000b17217f7d20cf927c8p+0L : inexact-ok
|
||||
= exp2 tonearest ldbl-128 0x1p-40L : 0x1.0000000000b17217f7d20cf927c9p+0L : inexact-ok
|
||||
= exp2 towardzero ldbl-128 0x1p-40L : 0x1.0000000000b17217f7d20cf927c8p+0L : inexact-ok
|
||||
= exp2 upward ldbl-128 0x1p-40L : 0x1.0000000000b17217f7d20cf927c9p+0L : inexact-ok
|
||||
= exp2 downward ldbl-128ibm 0x1p-40L : 0x1.0000000000b17217f7d20cf9278p+0L : inexact-ok
|
||||
= exp2 tonearest ldbl-128ibm 0x1p-40L : 0x1.0000000000b17217f7d20cf928p+0L : inexact-ok
|
||||
= exp2 towardzero ldbl-128ibm 0x1p-40L : 0x1.0000000000b17217f7d20cf9278p+0L : inexact-ok
|
||||
= exp2 upward ldbl-128ibm 0x1p-40L : 0x1.0000000000b17217f7d20cf928p+0L : inexact-ok
|
||||
exp2 -0x1p-40
|
||||
= exp2 downward flt-32 -0x1p-40f : 0xf.fffffp-4f : inexact-ok
|
||||
= exp2 tonearest flt-32 -0x1p-40f : 0x1p+0f : inexact-ok
|
||||
= exp2 towardzero flt-32 -0x1p-40f : 0xf.fffffp-4f : inexact-ok
|
||||
= exp2 upward flt-32 -0x1p-40f : 0x1p+0f : inexact-ok
|
||||
= exp2 downward dbl-64 -0x1p-40 : 0xf.fffffffff4e88p-4 : inexact-ok
|
||||
= exp2 tonearest dbl-64 -0x1p-40 : 0xf.fffffffff4e9p-4 : inexact-ok
|
||||
= exp2 towardzero dbl-64 -0x1p-40 : 0xf.fffffffff4e88p-4 : inexact-ok
|
||||
= exp2 upward dbl-64 -0x1p-40 : 0xf.fffffffff4e9p-4 : inexact-ok
|
||||
= exp2 downward ldbl-96-intel -0x1p-40L : 0xf.fffffffff4e8de8p-4L : inexact-ok
|
||||
= exp2 tonearest ldbl-96-intel -0x1p-40L : 0xf.fffffffff4e8de8p-4L : inexact-ok
|
||||
= exp2 towardzero ldbl-96-intel -0x1p-40L : 0xf.fffffffff4e8de8p-4L : inexact-ok
|
||||
= exp2 upward ldbl-96-intel -0x1p-40L : 0xf.fffffffff4e8de9p-4L : inexact-ok
|
||||
= exp2 downward ldbl-96-m68k -0x1p-40L : 0xf.fffffffff4e8de8p-4L : inexact-ok
|
||||
= exp2 tonearest ldbl-96-m68k -0x1p-40L : 0xf.fffffffff4e8de8p-4L : inexact-ok
|
||||
= exp2 towardzero ldbl-96-m68k -0x1p-40L : 0xf.fffffffff4e8de8p-4L : inexact-ok
|
||||
= exp2 upward ldbl-96-m68k -0x1p-40L : 0xf.fffffffff4e8de9p-4L : inexact-ok
|
||||
= exp2 downward ldbl-128 -0x1p-40L : 0xf.fffffffff4e8de8082e6e05d035p-4L : inexact-ok
|
||||
= exp2 tonearest ldbl-128 -0x1p-40L : 0xf.fffffffff4e8de8082e6e05d035p-4L : inexact-ok
|
||||
= exp2 towardzero ldbl-128 -0x1p-40L : 0xf.fffffffff4e8de8082e6e05d035p-4L : inexact-ok
|
||||
= exp2 upward ldbl-128 -0x1p-40L : 0xf.fffffffff4e8de8082e6e05d0358p-4L : inexact-ok
|
||||
= exp2 downward ldbl-128ibm -0x1p-40L : 0xf.fffffffff4e8de8082e6e05dp-4L : inexact-ok
|
||||
= exp2 tonearest ldbl-128ibm -0x1p-40L : 0xf.fffffffff4e8de8082e6e05d04p-4L : inexact-ok
|
||||
= exp2 towardzero ldbl-128ibm -0x1p-40L : 0xf.fffffffff4e8de8082e6e05dp-4L : inexact-ok
|
||||
= exp2 upward ldbl-128ibm -0x1p-40L : 0xf.fffffffff4e8de8082e6e05d04p-4L : inexact-ok
|
||||
exp2 0x1p-50
|
||||
= exp2 downward flt-32 0x4p-52f : 0x1p+0f : inexact-ok
|
||||
= exp2 tonearest flt-32 0x4p-52f : 0x1p+0f : inexact-ok
|
||||
= exp2 towardzero flt-32 0x4p-52f : 0x1p+0f : inexact-ok
|
||||
= exp2 upward flt-32 0x4p-52f : 0x1.000002p+0f : inexact-ok
|
||||
= exp2 downward dbl-64 0x4p-52 : 0x1.0000000000002p+0 : inexact-ok
|
||||
= exp2 tonearest dbl-64 0x4p-52 : 0x1.0000000000003p+0 : inexact-ok
|
||||
= exp2 towardzero dbl-64 0x4p-52 : 0x1.0000000000002p+0 : inexact-ok
|
||||
= exp2 upward dbl-64 0x4p-52 : 0x1.0000000000003p+0 : inexact-ok
|
||||
= exp2 downward ldbl-96-intel 0x4p-52L : 0x1.0000000000002c5cp+0L : inexact-ok
|
||||
= exp2 tonearest ldbl-96-intel 0x4p-52L : 0x1.0000000000002c5cp+0L : inexact-ok
|
||||
= exp2 towardzero ldbl-96-intel 0x4p-52L : 0x1.0000000000002c5cp+0L : inexact-ok
|
||||
= exp2 upward ldbl-96-intel 0x4p-52L : 0x1.0000000000002c5ep+0L : inexact-ok
|
||||
= exp2 downward ldbl-96-m68k 0x4p-52L : 0x1.0000000000002c5cp+0L : inexact-ok
|
||||
= exp2 tonearest ldbl-96-m68k 0x4p-52L : 0x1.0000000000002c5cp+0L : inexact-ok
|
||||
= exp2 towardzero ldbl-96-m68k 0x4p-52L : 0x1.0000000000002c5cp+0L : inexact-ok
|
||||
= exp2 upward ldbl-96-m68k 0x4p-52L : 0x1.0000000000002c5ep+0L : inexact-ok
|
||||
= exp2 downward ldbl-128 0x4p-52L : 0x1.0000000000002c5c85fdf473e242p+0L : inexact-ok
|
||||
= exp2 tonearest ldbl-128 0x4p-52L : 0x1.0000000000002c5c85fdf473e243p+0L : inexact-ok
|
||||
= exp2 towardzero ldbl-128 0x4p-52L : 0x1.0000000000002c5c85fdf473e242p+0L : inexact-ok
|
||||
= exp2 upward ldbl-128 0x4p-52L : 0x1.0000000000002c5c85fdf473e243p+0L : inexact-ok
|
||||
= exp2 downward ldbl-128ibm 0x4p-52L : 0x1.0000000000002c5c85fdf473e2p+0L : inexact-ok
|
||||
= exp2 tonearest ldbl-128ibm 0x4p-52L : 0x1.0000000000002c5c85fdf473e28p+0L : inexact-ok
|
||||
= exp2 towardzero ldbl-128ibm 0x4p-52L : 0x1.0000000000002c5c85fdf473e2p+0L : inexact-ok
|
||||
= exp2 upward ldbl-128ibm 0x4p-52L : 0x1.0000000000002c5c85fdf473e28p+0L : inexact-ok
|
||||
exp2 -0x1p-50
|
||||
= exp2 downward flt-32 -0x4p-52f : 0xf.fffffp-4f : inexact-ok
|
||||
= exp2 tonearest flt-32 -0x4p-52f : 0x1p+0f : inexact-ok
|
||||
= exp2 towardzero flt-32 -0x4p-52f : 0xf.fffffp-4f : inexact-ok
|
||||
= exp2 upward flt-32 -0x4p-52f : 0x1p+0f : inexact-ok
|
||||
= exp2 downward dbl-64 -0x4p-52 : 0xf.fffffffffffdp-4 : inexact-ok
|
||||
= exp2 tonearest dbl-64 -0x4p-52 : 0xf.fffffffffffdp-4 : inexact-ok
|
||||
= exp2 towardzero dbl-64 -0x4p-52 : 0xf.fffffffffffdp-4 : inexact-ok
|
||||
= exp2 upward dbl-64 -0x4p-52 : 0xf.fffffffffffd8p-4 : inexact-ok
|
||||
= exp2 downward ldbl-96-intel -0x4p-52L : 0xf.fffffffffffd3a3p-4L : inexact-ok
|
||||
= exp2 tonearest ldbl-96-intel -0x4p-52L : 0xf.fffffffffffd3a3p-4L : inexact-ok
|
||||
= exp2 towardzero ldbl-96-intel -0x4p-52L : 0xf.fffffffffffd3a3p-4L : inexact-ok
|
||||
= exp2 upward ldbl-96-intel -0x4p-52L : 0xf.fffffffffffd3a4p-4L : inexact-ok
|
||||
= exp2 downward ldbl-96-m68k -0x4p-52L : 0xf.fffffffffffd3a3p-4L : inexact-ok
|
||||
= exp2 tonearest ldbl-96-m68k -0x4p-52L : 0xf.fffffffffffd3a3p-4L : inexact-ok
|
||||
= exp2 towardzero ldbl-96-m68k -0x4p-52L : 0xf.fffffffffffd3a3p-4L : inexact-ok
|
||||
= exp2 upward ldbl-96-m68k -0x4p-52L : 0xf.fffffffffffd3a4p-4L : inexact-ok
|
||||
= exp2 downward ldbl-128 -0x4p-52L : 0xf.fffffffffffd3a37a020b8c256dp-4L : inexact-ok
|
||||
= exp2 tonearest ldbl-128 -0x4p-52L : 0xf.fffffffffffd3a37a020b8c256dp-4L : inexact-ok
|
||||
= exp2 towardzero ldbl-128 -0x4p-52L : 0xf.fffffffffffd3a37a020b8c256dp-4L : inexact-ok
|
||||
= exp2 upward ldbl-128 -0x4p-52L : 0xf.fffffffffffd3a37a020b8c256d8p-4L : inexact-ok
|
||||
= exp2 downward ldbl-128ibm -0x4p-52L : 0xf.fffffffffffd3a37a020b8c254p-4L : inexact-ok
|
||||
= exp2 tonearest ldbl-128ibm -0x4p-52L : 0xf.fffffffffffd3a37a020b8c258p-4L : inexact-ok
|
||||
= exp2 towardzero ldbl-128ibm -0x4p-52L : 0xf.fffffffffffd3a37a020b8c254p-4L : inexact-ok
|
||||
= exp2 upward ldbl-128ibm -0x4p-52L : 0xf.fffffffffffd3a37a020b8c258p-4L : inexact-ok
|
||||
exp2 0x1p-60
|
||||
= exp2 downward flt-32 0x1p-60f : 0x1p+0f : inexact-ok
|
||||
= exp2 tonearest flt-32 0x1p-60f : 0x1p+0f : inexact-ok
|
||||
= exp2 towardzero flt-32 0x1p-60f : 0x1p+0f : inexact-ok
|
||||
= exp2 upward flt-32 0x1p-60f : 0x1.000002p+0f : inexact-ok
|
||||
= exp2 downward dbl-64 0x1p-60 : 0x1p+0 : inexact-ok
|
||||
= exp2 tonearest dbl-64 0x1p-60 : 0x1p+0 : inexact-ok
|
||||
= exp2 towardzero dbl-64 0x1p-60 : 0x1p+0 : inexact-ok
|
||||
= exp2 upward dbl-64 0x1p-60 : 0x1.0000000000001p+0 : inexact-ok
|
||||
= exp2 downward ldbl-96-intel 0x1p-60L : 0x1.000000000000000ap+0L : inexact-ok
|
||||
= exp2 tonearest ldbl-96-intel 0x1p-60L : 0x1.000000000000000cp+0L : inexact-ok
|
||||
= exp2 towardzero ldbl-96-intel 0x1p-60L : 0x1.000000000000000ap+0L : inexact-ok
|
||||
= exp2 upward ldbl-96-intel 0x1p-60L : 0x1.000000000000000cp+0L : inexact-ok
|
||||
= exp2 downward ldbl-96-m68k 0x1p-60L : 0x1.000000000000000ap+0L : inexact-ok
|
||||
= exp2 tonearest ldbl-96-m68k 0x1p-60L : 0x1.000000000000000cp+0L : inexact-ok
|
||||
= exp2 towardzero ldbl-96-m68k 0x1p-60L : 0x1.000000000000000ap+0L : inexact-ok
|
||||
= exp2 upward ldbl-96-m68k 0x1p-60L : 0x1.000000000000000cp+0L : inexact-ok
|
||||
= exp2 downward ldbl-128 0x1p-60L : 0x1.000000000000000b17217f7d1cf7p+0L : inexact-ok
|
||||
= exp2 tonearest ldbl-128 0x1p-60L : 0x1.000000000000000b17217f7d1cf8p+0L : inexact-ok
|
||||
= exp2 towardzero ldbl-128 0x1p-60L : 0x1.000000000000000b17217f7d1cf7p+0L : inexact-ok
|
||||
= exp2 upward ldbl-128 0x1p-60L : 0x1.000000000000000b17217f7d1cf8p+0L : inexact-ok
|
||||
= exp2 downward ldbl-128ibm 0x1p-60L : 0x1.000000000000000b17217f7d1c8p+0L : inexact-ok
|
||||
= exp2 tonearest ldbl-128ibm 0x1p-60L : 0x1.000000000000000b17217f7d1dp+0L : inexact-ok
|
||||
= exp2 towardzero ldbl-128ibm 0x1p-60L : 0x1.000000000000000b17217f7d1c8p+0L : inexact-ok
|
||||
= exp2 upward ldbl-128ibm 0x1p-60L : 0x1.000000000000000b17217f7d1dp+0L : inexact-ok
|
||||
exp2 -0x1p-60
|
||||
= exp2 downward flt-32 -0x1p-60f : 0xf.fffffp-4f : inexact-ok
|
||||
= exp2 tonearest flt-32 -0x1p-60f : 0x1p+0f : inexact-ok
|
||||
= exp2 towardzero flt-32 -0x1p-60f : 0xf.fffffp-4f : inexact-ok
|
||||
= exp2 upward flt-32 -0x1p-60f : 0x1p+0f : inexact-ok
|
||||
= exp2 downward dbl-64 -0x1p-60 : 0xf.ffffffffffff8p-4 : inexact-ok
|
||||
= exp2 tonearest dbl-64 -0x1p-60 : 0x1p+0 : inexact-ok
|
||||
= exp2 towardzero dbl-64 -0x1p-60 : 0xf.ffffffffffff8p-4 : inexact-ok
|
||||
= exp2 upward dbl-64 -0x1p-60 : 0x1p+0 : inexact-ok
|
||||
= exp2 downward ldbl-96-intel -0x1p-60L : 0xf.ffffffffffffff4p-4L : inexact-ok
|
||||
= exp2 tonearest ldbl-96-intel -0x1p-60L : 0xf.ffffffffffffff5p-4L : inexact-ok
|
||||
= exp2 towardzero ldbl-96-intel -0x1p-60L : 0xf.ffffffffffffff4p-4L : inexact-ok
|
||||
= exp2 upward ldbl-96-intel -0x1p-60L : 0xf.ffffffffffffff5p-4L : inexact-ok
|
||||
= exp2 downward ldbl-96-m68k -0x1p-60L : 0xf.ffffffffffffff4p-4L : inexact-ok
|
||||
= exp2 tonearest ldbl-96-m68k -0x1p-60L : 0xf.ffffffffffffff5p-4L : inexact-ok
|
||||
= exp2 towardzero ldbl-96-m68k -0x1p-60L : 0xf.ffffffffffffff4p-4L : inexact-ok
|
||||
= exp2 upward ldbl-96-m68k -0x1p-60L : 0xf.ffffffffffffff5p-4L : inexact-ok
|
||||
= exp2 downward ldbl-128 -0x1p-60L : 0xf.ffffffffffffff4e8de8082e308p-4L : inexact-ok
|
||||
= exp2 tonearest ldbl-128 -0x1p-60L : 0xf.ffffffffffffff4e8de8082e3088p-4L : inexact-ok
|
||||
= exp2 towardzero ldbl-128 -0x1p-60L : 0xf.ffffffffffffff4e8de8082e308p-4L : inexact-ok
|
||||
= exp2 upward ldbl-128 -0x1p-60L : 0xf.ffffffffffffff4e8de8082e3088p-4L : inexact-ok
|
||||
= exp2 downward ldbl-128ibm -0x1p-60L : 0xf.ffffffffffffff4e8de8082e3p-4L : inexact-ok
|
||||
= exp2 tonearest ldbl-128ibm -0x1p-60L : 0xf.ffffffffffffff4e8de8082e3p-4L : inexact-ok
|
||||
= exp2 towardzero ldbl-128ibm -0x1p-60L : 0xf.ffffffffffffff4e8de8082e3p-4L : inexact-ok
|
||||
= exp2 upward ldbl-128ibm -0x1p-60L : 0xf.ffffffffffffff4e8de8082e34p-4L : inexact-ok
|
||||
exp2 0x1p-100
|
||||
= exp2 downward flt-32 0x1p-100f : 0x1p+0f : inexact-ok
|
||||
= exp2 tonearest flt-32 0x1p-100f : 0x1p+0f : inexact-ok
|
||||
= exp2 towardzero flt-32 0x1p-100f : 0x1p+0f : inexact-ok
|
||||
= exp2 upward flt-32 0x1p-100f : 0x1.000002p+0f : inexact-ok
|
||||
= exp2 downward dbl-64 0x1p-100 : 0x1p+0 : inexact-ok
|
||||
= exp2 tonearest dbl-64 0x1p-100 : 0x1p+0 : inexact-ok
|
||||
= exp2 towardzero dbl-64 0x1p-100 : 0x1p+0 : inexact-ok
|
||||
= exp2 upward dbl-64 0x1p-100 : 0x1.0000000000001p+0 : inexact-ok
|
||||
= exp2 downward ldbl-96-intel 0x1p-100L : 0x1p+0L : inexact-ok
|
||||
= exp2 tonearest ldbl-96-intel 0x1p-100L : 0x1p+0L : inexact-ok
|
||||
= exp2 towardzero ldbl-96-intel 0x1p-100L : 0x1p+0L : inexact-ok
|
||||
= exp2 upward ldbl-96-intel 0x1p-100L : 0x1.0000000000000002p+0L : inexact-ok
|
||||
= exp2 downward ldbl-96-m68k 0x1p-100L : 0x1p+0L : inexact-ok
|
||||
= exp2 tonearest ldbl-96-m68k 0x1p-100L : 0x1p+0L : inexact-ok
|
||||
= exp2 towardzero ldbl-96-m68k 0x1p-100L : 0x1p+0L : inexact-ok
|
||||
= exp2 upward ldbl-96-m68k 0x1p-100L : 0x1.0000000000000002p+0L : inexact-ok
|
||||
= exp2 downward ldbl-128 0x1p-100L : 0x1.0000000000000000000000000b17p+0L : inexact-ok
|
||||
= exp2 tonearest ldbl-128 0x1p-100L : 0x1.0000000000000000000000000b17p+0L : inexact-ok
|
||||
= exp2 towardzero ldbl-128 0x1p-100L : 0x1.0000000000000000000000000b17p+0L : inexact-ok
|
||||
= exp2 upward ldbl-128 0x1p-100L : 0x1.0000000000000000000000000b18p+0L : inexact-ok
|
||||
= exp2 downward ldbl-128ibm 0x1p-100L : 0x1.0000000000000000000000000bp+0L : inexact-ok
|
||||
= exp2 tonearest ldbl-128ibm 0x1p-100L : 0x1.0000000000000000000000000bp+0L : inexact-ok
|
||||
= exp2 towardzero ldbl-128ibm 0x1p-100L : 0x1.0000000000000000000000000bp+0L : inexact-ok
|
||||
= exp2 upward ldbl-128ibm 0x1p-100L : 0x1.0000000000000000000000000b8p+0L : inexact-ok
|
||||
exp2 -0x1p-100
|
||||
= exp2 downward flt-32 -0x1p-100f : 0xf.fffffp-4f : inexact-ok
|
||||
= exp2 tonearest flt-32 -0x1p-100f : 0x1p+0f : inexact-ok
|
||||
= exp2 towardzero flt-32 -0x1p-100f : 0xf.fffffp-4f : inexact-ok
|
||||
= exp2 upward flt-32 -0x1p-100f : 0x1p+0f : inexact-ok
|
||||
= exp2 downward dbl-64 -0x1p-100 : 0xf.ffffffffffff8p-4 : inexact-ok
|
||||
= exp2 tonearest dbl-64 -0x1p-100 : 0x1p+0 : inexact-ok
|
||||
= exp2 towardzero dbl-64 -0x1p-100 : 0xf.ffffffffffff8p-4 : inexact-ok
|
||||
= exp2 upward dbl-64 -0x1p-100 : 0x1p+0 : inexact-ok
|
||||
= exp2 downward ldbl-96-intel -0x1p-100L : 0xf.fffffffffffffffp-4L : inexact-ok
|
||||
= exp2 tonearest ldbl-96-intel -0x1p-100L : 0x1p+0L : inexact-ok
|
||||
= exp2 towardzero ldbl-96-intel -0x1p-100L : 0xf.fffffffffffffffp-4L : inexact-ok
|
||||
= exp2 upward ldbl-96-intel -0x1p-100L : 0x1p+0L : inexact-ok
|
||||
= exp2 downward ldbl-96-m68k -0x1p-100L : 0xf.fffffffffffffffp-4L : inexact-ok
|
||||
= exp2 tonearest ldbl-96-m68k -0x1p-100L : 0x1p+0L : inexact-ok
|
||||
= exp2 towardzero ldbl-96-m68k -0x1p-100L : 0xf.fffffffffffffffp-4L : inexact-ok
|
||||
= exp2 upward ldbl-96-m68k -0x1p-100L : 0x1p+0L : inexact-ok
|
||||
= exp2 downward ldbl-128 -0x1p-100L : 0xf.ffffffffffffffffffffffff4e88p-4L : inexact-ok
|
||||
= exp2 tonearest ldbl-128 -0x1p-100L : 0xf.ffffffffffffffffffffffff4e9p-4L : inexact-ok
|
||||
= exp2 towardzero ldbl-128 -0x1p-100L : 0xf.ffffffffffffffffffffffff4e88p-4L : inexact-ok
|
||||
= exp2 upward ldbl-128 -0x1p-100L : 0xf.ffffffffffffffffffffffff4e9p-4L : inexact-ok
|
||||
= exp2 downward ldbl-128ibm -0x1p-100L : 0xf.ffffffffffffffffffffffff4cp-4L : inexact-ok
|
||||
= exp2 tonearest ldbl-128ibm -0x1p-100L : 0xf.ffffffffffffffffffffffff5p-4L : inexact-ok
|
||||
= exp2 towardzero ldbl-128ibm -0x1p-100L : 0xf.ffffffffffffffffffffffff4cp-4L : inexact-ok
|
||||
= exp2 upward ldbl-128ibm -0x1p-100L : 0xf.ffffffffffffffffffffffff5p-4L : inexact-ok
|
||||
exp2 min
|
||||
= exp2 downward flt-32 0x4p-128f : 0x1p+0f : inexact-ok
|
||||
= exp2 tonearest flt-32 0x4p-128f : 0x1p+0f : inexact-ok
|
||||
= exp2 towardzero flt-32 0x4p-128f : 0x1p+0f : inexact-ok
|
||||
= exp2 upward flt-32 0x4p-128f : 0x1.000002p+0f : inexact-ok
|
||||
= exp2 downward dbl-64 0x4p-128 : 0x1p+0 : inexact-ok
|
||||
= exp2 tonearest dbl-64 0x4p-128 : 0x1p+0 : inexact-ok
|
||||
= exp2 towardzero dbl-64 0x4p-128 : 0x1p+0 : inexact-ok
|
||||
= exp2 upward dbl-64 0x4p-128 : 0x1.0000000000001p+0 : inexact-ok
|
||||
= exp2 downward ldbl-96-intel 0x4p-128L : 0x1p+0L : inexact-ok
|
||||
= exp2 tonearest ldbl-96-intel 0x4p-128L : 0x1p+0L : inexact-ok
|
||||
= exp2 towardzero ldbl-96-intel 0x4p-128L : 0x1p+0L : inexact-ok
|
||||
= exp2 upward ldbl-96-intel 0x4p-128L : 0x1.0000000000000002p+0L : inexact-ok
|
||||
= exp2 downward ldbl-96-m68k 0x4p-128L : 0x1p+0L : inexact-ok
|
||||
= exp2 tonearest ldbl-96-m68k 0x4p-128L : 0x1p+0L : inexact-ok
|
||||
= exp2 towardzero ldbl-96-m68k 0x4p-128L : 0x1p+0L : inexact-ok
|
||||
= exp2 upward ldbl-96-m68k 0x4p-128L : 0x1.0000000000000002p+0L : inexact-ok
|
||||
= exp2 downward ldbl-128 0x4p-128L : 0x1p+0L : inexact-ok
|
||||
= exp2 tonearest ldbl-128 0x4p-128L : 0x1p+0L : inexact-ok
|
||||
= exp2 towardzero ldbl-128 0x4p-128L : 0x1p+0L : inexact-ok
|
||||
= exp2 upward ldbl-128 0x4p-128L : 0x1.0000000000000000000000000001p+0L : inexact-ok
|
||||
= exp2 downward ldbl-128ibm 0x4p-128L : 0x1p+0L : inexact-ok
|
||||
= exp2 tonearest ldbl-128ibm 0x4p-128L : 0x1p+0L : inexact-ok
|
||||
= exp2 towardzero ldbl-128ibm 0x4p-128L : 0x1p+0L : inexact-ok
|
||||
= exp2 upward ldbl-128ibm 0x4p-128L : 0x1.000000000000000000000000008p+0L : inexact-ok
|
||||
= exp2 downward dbl-64 0x4p-1024 : 0x1p+0 : inexact-ok
|
||||
= exp2 tonearest dbl-64 0x4p-1024 : 0x1p+0 : inexact-ok
|
||||
= exp2 towardzero dbl-64 0x4p-1024 : 0x1p+0 : inexact-ok
|
||||
= exp2 upward dbl-64 0x4p-1024 : 0x1.0000000000001p+0 : inexact-ok
|
||||
= exp2 downward ldbl-96-intel 0x4p-1024L : 0x1p+0L : inexact-ok
|
||||
= exp2 tonearest ldbl-96-intel 0x4p-1024L : 0x1p+0L : inexact-ok
|
||||
= exp2 towardzero ldbl-96-intel 0x4p-1024L : 0x1p+0L : inexact-ok
|
||||
= exp2 upward ldbl-96-intel 0x4p-1024L : 0x1.0000000000000002p+0L : inexact-ok
|
||||
= exp2 downward ldbl-96-m68k 0x4p-1024L : 0x1p+0L : inexact-ok
|
||||
= exp2 tonearest ldbl-96-m68k 0x4p-1024L : 0x1p+0L : inexact-ok
|
||||
= exp2 towardzero ldbl-96-m68k 0x4p-1024L : 0x1p+0L : inexact-ok
|
||||
= exp2 upward ldbl-96-m68k 0x4p-1024L : 0x1.0000000000000002p+0L : inexact-ok
|
||||
= exp2 downward ldbl-128 0x4p-1024L : 0x1p+0L : inexact-ok
|
||||
= exp2 tonearest ldbl-128 0x4p-1024L : 0x1p+0L : inexact-ok
|
||||
= exp2 towardzero ldbl-128 0x4p-1024L : 0x1p+0L : inexact-ok
|
||||
= exp2 upward ldbl-128 0x4p-1024L : 0x1.0000000000000000000000000001p+0L : inexact-ok
|
||||
= exp2 downward ldbl-128ibm 0x4p-1024L : 0x1p+0L : inexact-ok
|
||||
= exp2 tonearest ldbl-128ibm 0x4p-1024L : 0x1p+0L : inexact-ok
|
||||
= exp2 towardzero ldbl-128ibm 0x4p-1024L : 0x1p+0L : inexact-ok
|
||||
= exp2 upward ldbl-128ibm 0x4p-1024L : 0x1.000000000000000000000000008p+0L : inexact-ok
|
||||
= exp2 downward ldbl-96-intel 0x4p-16384L : 0x1p+0L : inexact-ok
|
||||
= exp2 tonearest ldbl-96-intel 0x4p-16384L : 0x1p+0L : inexact-ok
|
||||
= exp2 towardzero ldbl-96-intel 0x4p-16384L : 0x1p+0L : inexact-ok
|
||||
= exp2 upward ldbl-96-intel 0x4p-16384L : 0x1.0000000000000002p+0L : inexact-ok
|
||||
= exp2 downward ldbl-96-m68k 0x4p-16384L : 0x1p+0L : inexact-ok
|
||||
= exp2 tonearest ldbl-96-m68k 0x4p-16384L : 0x1p+0L : inexact-ok
|
||||
= exp2 towardzero ldbl-96-m68k 0x4p-16384L : 0x1p+0L : inexact-ok
|
||||
= exp2 upward ldbl-96-m68k 0x4p-16384L : 0x1.0000000000000002p+0L : inexact-ok
|
||||
= exp2 downward ldbl-128 0x4p-16384L : 0x1p+0L : inexact-ok
|
||||
= exp2 tonearest ldbl-128 0x4p-16384L : 0x1p+0L : inexact-ok
|
||||
= exp2 towardzero ldbl-128 0x4p-16384L : 0x1p+0L : inexact-ok
|
||||
= exp2 upward ldbl-128 0x4p-16384L : 0x1.0000000000000000000000000001p+0L : inexact-ok
|
||||
= exp2 downward ldbl-96-intel 0x2p-16384L : 0x1p+0L : inexact-ok
|
||||
= exp2 tonearest ldbl-96-intel 0x2p-16384L : 0x1p+0L : inexact-ok
|
||||
= exp2 towardzero ldbl-96-intel 0x2p-16384L : 0x1p+0L : inexact-ok
|
||||
= exp2 upward ldbl-96-intel 0x2p-16384L : 0x1.0000000000000002p+0L : inexact-ok
|
||||
= exp2 downward ldbl-96-m68k 0x2p-16384L : 0x1p+0L : inexact-ok
|
||||
= exp2 tonearest ldbl-96-m68k 0x2p-16384L : 0x1p+0L : inexact-ok
|
||||
= exp2 towardzero ldbl-96-m68k 0x2p-16384L : 0x1p+0L : inexact-ok
|
||||
= exp2 upward ldbl-96-m68k 0x2p-16384L : 0x1.0000000000000002p+0L : inexact-ok
|
||||
= exp2 downward ldbl-128 0x2p-16384L : 0x1p+0L : inexact-ok
|
||||
= exp2 tonearest ldbl-128 0x2p-16384L : 0x1p+0L : inexact-ok
|
||||
= exp2 towardzero ldbl-128 0x2p-16384L : 0x1p+0L : inexact-ok
|
||||
= exp2 upward ldbl-128 0x2p-16384L : 0x1.0000000000000000000000000001p+0L : inexact-ok
|
||||
= exp2 downward dbl-64 0x8p-972 : 0x1p+0 : inexact-ok
|
||||
= exp2 tonearest dbl-64 0x8p-972 : 0x1p+0 : inexact-ok
|
||||
= exp2 towardzero dbl-64 0x8p-972 : 0x1p+0 : inexact-ok
|
||||
= exp2 upward dbl-64 0x8p-972 : 0x1.0000000000001p+0 : inexact-ok
|
||||
= exp2 downward ldbl-96-intel 0x8p-972L : 0x1p+0L : inexact-ok
|
||||
= exp2 tonearest ldbl-96-intel 0x8p-972L : 0x1p+0L : inexact-ok
|
||||
= exp2 towardzero ldbl-96-intel 0x8p-972L : 0x1p+0L : inexact-ok
|
||||
= exp2 upward ldbl-96-intel 0x8p-972L : 0x1.0000000000000002p+0L : inexact-ok
|
||||
= exp2 downward ldbl-96-m68k 0x8p-972L : 0x1p+0L : inexact-ok
|
||||
= exp2 tonearest ldbl-96-m68k 0x8p-972L : 0x1p+0L : inexact-ok
|
||||
= exp2 towardzero ldbl-96-m68k 0x8p-972L : 0x1p+0L : inexact-ok
|
||||
= exp2 upward ldbl-96-m68k 0x8p-972L : 0x1.0000000000000002p+0L : inexact-ok
|
||||
= exp2 downward ldbl-128 0x8p-972L : 0x1p+0L : inexact-ok
|
||||
= exp2 tonearest ldbl-128 0x8p-972L : 0x1p+0L : inexact-ok
|
||||
= exp2 towardzero ldbl-128 0x8p-972L : 0x1p+0L : inexact-ok
|
||||
= exp2 upward ldbl-128 0x8p-972L : 0x1.0000000000000000000000000001p+0L : inexact-ok
|
||||
= exp2 downward ldbl-128ibm 0x8p-972L : 0x1p+0L : inexact-ok
|
||||
= exp2 tonearest ldbl-128ibm 0x8p-972L : 0x1p+0L : inexact-ok
|
||||
= exp2 towardzero ldbl-128ibm 0x8p-972L : 0x1p+0L : inexact-ok
|
||||
= exp2 upward ldbl-128ibm 0x8p-972L : 0x1.000000000000000000000000008p+0L : inexact-ok
|
||||
exp2 -min
|
||||
= exp2 downward flt-32 -0x4p-128f : 0xf.fffffp-4f : inexact-ok
|
||||
= exp2 tonearest flt-32 -0x4p-128f : 0x1p+0f : inexact-ok
|
||||
= exp2 towardzero flt-32 -0x4p-128f : 0xf.fffffp-4f : inexact-ok
|
||||
= exp2 upward flt-32 -0x4p-128f : 0x1p+0f : inexact-ok
|
||||
= exp2 downward dbl-64 -0x4p-128 : 0xf.ffffffffffff8p-4 : inexact-ok
|
||||
= exp2 tonearest dbl-64 -0x4p-128 : 0x1p+0 : inexact-ok
|
||||
= exp2 towardzero dbl-64 -0x4p-128 : 0xf.ffffffffffff8p-4 : inexact-ok
|
||||
= exp2 upward dbl-64 -0x4p-128 : 0x1p+0 : inexact-ok
|
||||
= exp2 downward ldbl-96-intel -0x4p-128L : 0xf.fffffffffffffffp-4L : inexact-ok
|
||||
= exp2 tonearest ldbl-96-intel -0x4p-128L : 0x1p+0L : inexact-ok
|
||||
= exp2 towardzero ldbl-96-intel -0x4p-128L : 0xf.fffffffffffffffp-4L : inexact-ok
|
||||
= exp2 upward ldbl-96-intel -0x4p-128L : 0x1p+0L : inexact-ok
|
||||
= exp2 downward ldbl-96-m68k -0x4p-128L : 0xf.fffffffffffffffp-4L : inexact-ok
|
||||
= exp2 tonearest ldbl-96-m68k -0x4p-128L : 0x1p+0L : inexact-ok
|
||||
= exp2 towardzero ldbl-96-m68k -0x4p-128L : 0xf.fffffffffffffffp-4L : inexact-ok
|
||||
= exp2 upward ldbl-96-m68k -0x4p-128L : 0x1p+0L : inexact-ok
|
||||
= exp2 downward ldbl-128 -0x4p-128L : 0xf.fffffffffffffffffffffffffff8p-4L : inexact-ok
|
||||
= exp2 tonearest ldbl-128 -0x4p-128L : 0x1p+0L : inexact-ok
|
||||
= exp2 towardzero ldbl-128 -0x4p-128L : 0xf.fffffffffffffffffffffffffff8p-4L : inexact-ok
|
||||
= exp2 upward ldbl-128 -0x4p-128L : 0x1p+0L : inexact-ok
|
||||
= exp2 downward ldbl-128ibm -0x4p-128L : 0xf.fffffffffffffffffffffffffcp-4L : inexact-ok
|
||||
= exp2 tonearest ldbl-128ibm -0x4p-128L : 0x1p+0L : inexact-ok
|
||||
= exp2 towardzero ldbl-128ibm -0x4p-128L : 0xf.fffffffffffffffffffffffffcp-4L : inexact-ok
|
||||
= exp2 upward ldbl-128ibm -0x4p-128L : 0x1p+0L : inexact-ok
|
||||
= exp2 downward dbl-64 -0x4p-1024 : 0xf.ffffffffffff8p-4 : inexact-ok
|
||||
= exp2 tonearest dbl-64 -0x4p-1024 : 0x1p+0 : inexact-ok
|
||||
= exp2 towardzero dbl-64 -0x4p-1024 : 0xf.ffffffffffff8p-4 : inexact-ok
|
||||
= exp2 upward dbl-64 -0x4p-1024 : 0x1p+0 : inexact-ok
|
||||
= exp2 downward ldbl-96-intel -0x4p-1024L : 0xf.fffffffffffffffp-4L : inexact-ok
|
||||
= exp2 tonearest ldbl-96-intel -0x4p-1024L : 0x1p+0L : inexact-ok
|
||||
= exp2 towardzero ldbl-96-intel -0x4p-1024L : 0xf.fffffffffffffffp-4L : inexact-ok
|
||||
= exp2 upward ldbl-96-intel -0x4p-1024L : 0x1p+0L : inexact-ok
|
||||
= exp2 downward ldbl-96-m68k -0x4p-1024L : 0xf.fffffffffffffffp-4L : inexact-ok
|
||||
= exp2 tonearest ldbl-96-m68k -0x4p-1024L : 0x1p+0L : inexact-ok
|
||||
= exp2 towardzero ldbl-96-m68k -0x4p-1024L : 0xf.fffffffffffffffp-4L : inexact-ok
|
||||
= exp2 upward ldbl-96-m68k -0x4p-1024L : 0x1p+0L : inexact-ok
|
||||
= exp2 downward ldbl-128 -0x4p-1024L : 0xf.fffffffffffffffffffffffffff8p-4L : inexact-ok
|
||||
= exp2 tonearest ldbl-128 -0x4p-1024L : 0x1p+0L : inexact-ok
|
||||
= exp2 towardzero ldbl-128 -0x4p-1024L : 0xf.fffffffffffffffffffffffffff8p-4L : inexact-ok
|
||||
= exp2 upward ldbl-128 -0x4p-1024L : 0x1p+0L : inexact-ok
|
||||
= exp2 downward ldbl-128ibm -0x4p-1024L : 0xf.fffffffffffffffffffffffffcp-4L : inexact-ok
|
||||
= exp2 tonearest ldbl-128ibm -0x4p-1024L : 0x1p+0L : inexact-ok
|
||||
= exp2 towardzero ldbl-128ibm -0x4p-1024L : 0xf.fffffffffffffffffffffffffcp-4L : inexact-ok
|
||||
= exp2 upward ldbl-128ibm -0x4p-1024L : 0x1p+0L : inexact-ok
|
||||
= exp2 downward ldbl-96-intel -0x4p-16384L : 0xf.fffffffffffffffp-4L : inexact-ok
|
||||
= exp2 tonearest ldbl-96-intel -0x4p-16384L : 0x1p+0L : inexact-ok
|
||||
= exp2 towardzero ldbl-96-intel -0x4p-16384L : 0xf.fffffffffffffffp-4L : inexact-ok
|
||||
= exp2 upward ldbl-96-intel -0x4p-16384L : 0x1p+0L : inexact-ok
|
||||
= exp2 downward ldbl-96-m68k -0x4p-16384L : 0xf.fffffffffffffffp-4L : inexact-ok
|
||||
= exp2 tonearest ldbl-96-m68k -0x4p-16384L : 0x1p+0L : inexact-ok
|
||||
= exp2 towardzero ldbl-96-m68k -0x4p-16384L : 0xf.fffffffffffffffp-4L : inexact-ok
|
||||
= exp2 upward ldbl-96-m68k -0x4p-16384L : 0x1p+0L : inexact-ok
|
||||
= exp2 downward ldbl-128 -0x4p-16384L : 0xf.fffffffffffffffffffffffffff8p-4L : inexact-ok
|
||||
= exp2 tonearest ldbl-128 -0x4p-16384L : 0x1p+0L : inexact-ok
|
||||
= exp2 towardzero ldbl-128 -0x4p-16384L : 0xf.fffffffffffffffffffffffffff8p-4L : inexact-ok
|
||||
= exp2 upward ldbl-128 -0x4p-16384L : 0x1p+0L : inexact-ok
|
||||
= exp2 downward ldbl-96-intel -0x2p-16384L : 0xf.fffffffffffffffp-4L : inexact-ok
|
||||
= exp2 tonearest ldbl-96-intel -0x2p-16384L : 0x1p+0L : inexact-ok
|
||||
= exp2 towardzero ldbl-96-intel -0x2p-16384L : 0xf.fffffffffffffffp-4L : inexact-ok
|
||||
= exp2 upward ldbl-96-intel -0x2p-16384L : 0x1p+0L : inexact-ok
|
||||
= exp2 downward ldbl-96-m68k -0x2p-16384L : 0xf.fffffffffffffffp-4L : inexact-ok
|
||||
= exp2 tonearest ldbl-96-m68k -0x2p-16384L : 0x1p+0L : inexact-ok
|
||||
= exp2 towardzero ldbl-96-m68k -0x2p-16384L : 0xf.fffffffffffffffp-4L : inexact-ok
|
||||
= exp2 upward ldbl-96-m68k -0x2p-16384L : 0x1p+0L : inexact-ok
|
||||
= exp2 downward ldbl-128 -0x2p-16384L : 0xf.fffffffffffffffffffffffffff8p-4L : inexact-ok
|
||||
= exp2 tonearest ldbl-128 -0x2p-16384L : 0x1p+0L : inexact-ok
|
||||
= exp2 towardzero ldbl-128 -0x2p-16384L : 0xf.fffffffffffffffffffffffffff8p-4L : inexact-ok
|
||||
= exp2 upward ldbl-128 -0x2p-16384L : 0x1p+0L : inexact-ok
|
||||
= exp2 downward dbl-64 -0x8p-972 : 0xf.ffffffffffff8p-4 : inexact-ok
|
||||
= exp2 tonearest dbl-64 -0x8p-972 : 0x1p+0 : inexact-ok
|
||||
= exp2 towardzero dbl-64 -0x8p-972 : 0xf.ffffffffffff8p-4 : inexact-ok
|
||||
= exp2 upward dbl-64 -0x8p-972 : 0x1p+0 : inexact-ok
|
||||
= exp2 downward ldbl-96-intel -0x8p-972L : 0xf.fffffffffffffffp-4L : inexact-ok
|
||||
= exp2 tonearest ldbl-96-intel -0x8p-972L : 0x1p+0L : inexact-ok
|
||||
= exp2 towardzero ldbl-96-intel -0x8p-972L : 0xf.fffffffffffffffp-4L : inexact-ok
|
||||
= exp2 upward ldbl-96-intel -0x8p-972L : 0x1p+0L : inexact-ok
|
||||
= exp2 downward ldbl-96-m68k -0x8p-972L : 0xf.fffffffffffffffp-4L : inexact-ok
|
||||
= exp2 tonearest ldbl-96-m68k -0x8p-972L : 0x1p+0L : inexact-ok
|
||||
= exp2 towardzero ldbl-96-m68k -0x8p-972L : 0xf.fffffffffffffffp-4L : inexact-ok
|
||||
= exp2 upward ldbl-96-m68k -0x8p-972L : 0x1p+0L : inexact-ok
|
||||
= exp2 downward ldbl-128 -0x8p-972L : 0xf.fffffffffffffffffffffffffff8p-4L : inexact-ok
|
||||
= exp2 tonearest ldbl-128 -0x8p-972L : 0x1p+0L : inexact-ok
|
||||
= exp2 towardzero ldbl-128 -0x8p-972L : 0xf.fffffffffffffffffffffffffff8p-4L : inexact-ok
|
||||
= exp2 upward ldbl-128 -0x8p-972L : 0x1p+0L : inexact-ok
|
||||
= exp2 downward ldbl-128ibm -0x8p-972L : 0xf.fffffffffffffffffffffffffcp-4L : inexact-ok
|
||||
= exp2 tonearest ldbl-128ibm -0x8p-972L : 0x1p+0L : inexact-ok
|
||||
= exp2 towardzero ldbl-128ibm -0x8p-972L : 0xf.fffffffffffffffffffffffffcp-4L : inexact-ok
|
||||
= exp2 upward ldbl-128ibm -0x8p-972L : 0x1p+0L : inexact-ok
|
||||
exp2 min_subnorm
|
||||
= exp2 downward flt-32 0x8p-152f : 0x1p+0f : inexact-ok
|
||||
= exp2 tonearest flt-32 0x8p-152f : 0x1p+0f : inexact-ok
|
||||
= exp2 towardzero flt-32 0x8p-152f : 0x1p+0f : inexact-ok
|
||||
= exp2 upward flt-32 0x8p-152f : 0x1.000002p+0f : inexact-ok
|
||||
= exp2 downward dbl-64 0x8p-152 : 0x1p+0 : inexact-ok
|
||||
= exp2 tonearest dbl-64 0x8p-152 : 0x1p+0 : inexact-ok
|
||||
= exp2 towardzero dbl-64 0x8p-152 : 0x1p+0 : inexact-ok
|
||||
= exp2 upward dbl-64 0x8p-152 : 0x1.0000000000001p+0 : inexact-ok
|
||||
= exp2 downward ldbl-96-intel 0x8p-152L : 0x1p+0L : inexact-ok
|
||||
= exp2 tonearest ldbl-96-intel 0x8p-152L : 0x1p+0L : inexact-ok
|
||||
= exp2 towardzero ldbl-96-intel 0x8p-152L : 0x1p+0L : inexact-ok
|
||||
= exp2 upward ldbl-96-intel 0x8p-152L : 0x1.0000000000000002p+0L : inexact-ok
|
||||
= exp2 downward ldbl-96-m68k 0x8p-152L : 0x1p+0L : inexact-ok
|
||||
= exp2 tonearest ldbl-96-m68k 0x8p-152L : 0x1p+0L : inexact-ok
|
||||
= exp2 towardzero ldbl-96-m68k 0x8p-152L : 0x1p+0L : inexact-ok
|
||||
= exp2 upward ldbl-96-m68k 0x8p-152L : 0x1.0000000000000002p+0L : inexact-ok
|
||||
= exp2 downward ldbl-128 0x8p-152L : 0x1p+0L : inexact-ok
|
||||
= exp2 tonearest ldbl-128 0x8p-152L : 0x1p+0L : inexact-ok
|
||||
= exp2 towardzero ldbl-128 0x8p-152L : 0x1p+0L : inexact-ok
|
||||
= exp2 upward ldbl-128 0x8p-152L : 0x1.0000000000000000000000000001p+0L : inexact-ok
|
||||
= exp2 downward ldbl-128ibm 0x8p-152L : 0x1p+0L : inexact-ok
|
||||
= exp2 tonearest ldbl-128ibm 0x8p-152L : 0x1p+0L : inexact-ok
|
||||
= exp2 towardzero ldbl-128ibm 0x8p-152L : 0x1p+0L : inexact-ok
|
||||
= exp2 upward ldbl-128ibm 0x8p-152L : 0x1.000000000000000000000000008p+0L : inexact-ok
|
||||
= exp2 downward dbl-64 0x4p-1076 : 0x1p+0 : inexact-ok
|
||||
= exp2 tonearest dbl-64 0x4p-1076 : 0x1p+0 : inexact-ok
|
||||
= exp2 towardzero dbl-64 0x4p-1076 : 0x1p+0 : inexact-ok
|
||||
= exp2 upward dbl-64 0x4p-1076 : 0x1.0000000000001p+0 : inexact-ok
|
||||
= exp2 downward ldbl-96-intel 0x4p-1076L : 0x1p+0L : inexact-ok
|
||||
= exp2 tonearest ldbl-96-intel 0x4p-1076L : 0x1p+0L : inexact-ok
|
||||
= exp2 towardzero ldbl-96-intel 0x4p-1076L : 0x1p+0L : inexact-ok
|
||||
= exp2 upward ldbl-96-intel 0x4p-1076L : 0x1.0000000000000002p+0L : inexact-ok
|
||||
= exp2 downward ldbl-96-m68k 0x4p-1076L : 0x1p+0L : inexact-ok
|
||||
= exp2 tonearest ldbl-96-m68k 0x4p-1076L : 0x1p+0L : inexact-ok
|
||||
= exp2 towardzero ldbl-96-m68k 0x4p-1076L : 0x1p+0L : inexact-ok
|
||||
= exp2 upward ldbl-96-m68k 0x4p-1076L : 0x1.0000000000000002p+0L : inexact-ok
|
||||
= exp2 downward ldbl-128 0x4p-1076L : 0x1p+0L : inexact-ok
|
||||
= exp2 tonearest ldbl-128 0x4p-1076L : 0x1p+0L : inexact-ok
|
||||
= exp2 towardzero ldbl-128 0x4p-1076L : 0x1p+0L : inexact-ok
|
||||
= exp2 upward ldbl-128 0x4p-1076L : 0x1.0000000000000000000000000001p+0L : inexact-ok
|
||||
= exp2 downward ldbl-128ibm 0x4p-1076L : 0x1p+0L : inexact-ok
|
||||
= exp2 tonearest ldbl-128ibm 0x4p-1076L : 0x1p+0L : inexact-ok
|
||||
= exp2 towardzero ldbl-128ibm 0x4p-1076L : 0x1p+0L : inexact-ok
|
||||
= exp2 upward ldbl-128ibm 0x4p-1076L : 0x1.000000000000000000000000008p+0L : inexact-ok
|
||||
= exp2 downward ldbl-96-intel 0x8p-16448L : 0x1p+0L : inexact-ok
|
||||
= exp2 tonearest ldbl-96-intel 0x8p-16448L : 0x1p+0L : inexact-ok
|
||||
= exp2 towardzero ldbl-96-intel 0x8p-16448L : 0x1p+0L : inexact-ok
|
||||
= exp2 upward ldbl-96-intel 0x8p-16448L : 0x1.0000000000000002p+0L : inexact-ok
|
||||
= exp2 downward ldbl-96-m68k 0x8p-16448L : 0x1p+0L : inexact-ok
|
||||
= exp2 tonearest ldbl-96-m68k 0x8p-16448L : 0x1p+0L : inexact-ok
|
||||
= exp2 towardzero ldbl-96-m68k 0x8p-16448L : 0x1p+0L : inexact-ok
|
||||
= exp2 upward ldbl-96-m68k 0x8p-16448L : 0x1.0000000000000002p+0L : inexact-ok
|
||||
= exp2 downward ldbl-128 0x8p-16448L : 0x1p+0L : inexact-ok
|
||||
= exp2 tonearest ldbl-128 0x8p-16448L : 0x1p+0L : inexact-ok
|
||||
= exp2 towardzero ldbl-128 0x8p-16448L : 0x1p+0L : inexact-ok
|
||||
= exp2 upward ldbl-128 0x8p-16448L : 0x1.0000000000000000000000000001p+0L : inexact-ok
|
||||
= exp2 downward ldbl-96-m68k 0x4p-16448L : 0x1p+0L : inexact-ok
|
||||
= exp2 tonearest ldbl-96-m68k 0x4p-16448L : 0x1p+0L : inexact-ok
|
||||
= exp2 towardzero ldbl-96-m68k 0x4p-16448L : 0x1p+0L : inexact-ok
|
||||
= exp2 upward ldbl-96-m68k 0x4p-16448L : 0x1.0000000000000002p+0L : inexact-ok
|
||||
= exp2 downward ldbl-128 0x4p-16448L : 0x1p+0L : inexact-ok
|
||||
= exp2 tonearest ldbl-128 0x4p-16448L : 0x1p+0L : inexact-ok
|
||||
= exp2 towardzero ldbl-128 0x4p-16448L : 0x1p+0L : inexact-ok
|
||||
= exp2 upward ldbl-128 0x4p-16448L : 0x1.0000000000000000000000000001p+0L : inexact-ok
|
||||
= exp2 downward ldbl-128 0x4p-16496L : 0x1p+0L : inexact-ok
|
||||
= exp2 tonearest ldbl-128 0x4p-16496L : 0x1p+0L : inexact-ok
|
||||
= exp2 towardzero ldbl-128 0x4p-16496L : 0x1p+0L : inexact-ok
|
||||
= exp2 upward ldbl-128 0x4p-16496L : 0x1.0000000000000000000000000001p+0L : inexact-ok
|
||||
exp2 -min_subnorm
|
||||
= exp2 downward flt-32 -0x8p-152f : 0xf.fffffp-4f : inexact-ok
|
||||
= exp2 tonearest flt-32 -0x8p-152f : 0x1p+0f : inexact-ok
|
||||
= exp2 towardzero flt-32 -0x8p-152f : 0xf.fffffp-4f : inexact-ok
|
||||
= exp2 upward flt-32 -0x8p-152f : 0x1p+0f : inexact-ok
|
||||
= exp2 downward dbl-64 -0x8p-152 : 0xf.ffffffffffff8p-4 : inexact-ok
|
||||
= exp2 tonearest dbl-64 -0x8p-152 : 0x1p+0 : inexact-ok
|
||||
= exp2 towardzero dbl-64 -0x8p-152 : 0xf.ffffffffffff8p-4 : inexact-ok
|
||||
= exp2 upward dbl-64 -0x8p-152 : 0x1p+0 : inexact-ok
|
||||
= exp2 downward ldbl-96-intel -0x8p-152L : 0xf.fffffffffffffffp-4L : inexact-ok
|
||||
= exp2 tonearest ldbl-96-intel -0x8p-152L : 0x1p+0L : inexact-ok
|
||||
= exp2 towardzero ldbl-96-intel -0x8p-152L : 0xf.fffffffffffffffp-4L : inexact-ok
|
||||
= exp2 upward ldbl-96-intel -0x8p-152L : 0x1p+0L : inexact-ok
|
||||
= exp2 downward ldbl-96-m68k -0x8p-152L : 0xf.fffffffffffffffp-4L : inexact-ok
|
||||
= exp2 tonearest ldbl-96-m68k -0x8p-152L : 0x1p+0L : inexact-ok
|
||||
= exp2 towardzero ldbl-96-m68k -0x8p-152L : 0xf.fffffffffffffffp-4L : inexact-ok
|
||||
= exp2 upward ldbl-96-m68k -0x8p-152L : 0x1p+0L : inexact-ok
|
||||
= exp2 downward ldbl-128 -0x8p-152L : 0xf.fffffffffffffffffffffffffff8p-4L : inexact-ok
|
||||
= exp2 tonearest ldbl-128 -0x8p-152L : 0x1p+0L : inexact-ok
|
||||
= exp2 towardzero ldbl-128 -0x8p-152L : 0xf.fffffffffffffffffffffffffff8p-4L : inexact-ok
|
||||
= exp2 upward ldbl-128 -0x8p-152L : 0x1p+0L : inexact-ok
|
||||
= exp2 downward ldbl-128ibm -0x8p-152L : 0xf.fffffffffffffffffffffffffcp-4L : inexact-ok
|
||||
= exp2 tonearest ldbl-128ibm -0x8p-152L : 0x1p+0L : inexact-ok
|
||||
= exp2 towardzero ldbl-128ibm -0x8p-152L : 0xf.fffffffffffffffffffffffffcp-4L : inexact-ok
|
||||
= exp2 upward ldbl-128ibm -0x8p-152L : 0x1p+0L : inexact-ok
|
||||
= exp2 downward dbl-64 -0x4p-1076 : 0xf.ffffffffffff8p-4 : inexact-ok
|
||||
= exp2 tonearest dbl-64 -0x4p-1076 : 0x1p+0 : inexact-ok
|
||||
= exp2 towardzero dbl-64 -0x4p-1076 : 0xf.ffffffffffff8p-4 : inexact-ok
|
||||
= exp2 upward dbl-64 -0x4p-1076 : 0x1p+0 : inexact-ok
|
||||
= exp2 downward ldbl-96-intel -0x4p-1076L : 0xf.fffffffffffffffp-4L : inexact-ok
|
||||
= exp2 tonearest ldbl-96-intel -0x4p-1076L : 0x1p+0L : inexact-ok
|
||||
= exp2 towardzero ldbl-96-intel -0x4p-1076L : 0xf.fffffffffffffffp-4L : inexact-ok
|
||||
= exp2 upward ldbl-96-intel -0x4p-1076L : 0x1p+0L : inexact-ok
|
||||
= exp2 downward ldbl-96-m68k -0x4p-1076L : 0xf.fffffffffffffffp-4L : inexact-ok
|
||||
= exp2 tonearest ldbl-96-m68k -0x4p-1076L : 0x1p+0L : inexact-ok
|
||||
= exp2 towardzero ldbl-96-m68k -0x4p-1076L : 0xf.fffffffffffffffp-4L : inexact-ok
|
||||
= exp2 upward ldbl-96-m68k -0x4p-1076L : 0x1p+0L : inexact-ok
|
||||
= exp2 downward ldbl-128 -0x4p-1076L : 0xf.fffffffffffffffffffffffffff8p-4L : inexact-ok
|
||||
= exp2 tonearest ldbl-128 -0x4p-1076L : 0x1p+0L : inexact-ok
|
||||
= exp2 towardzero ldbl-128 -0x4p-1076L : 0xf.fffffffffffffffffffffffffff8p-4L : inexact-ok
|
||||
= exp2 upward ldbl-128 -0x4p-1076L : 0x1p+0L : inexact-ok
|
||||
= exp2 downward ldbl-128ibm -0x4p-1076L : 0xf.fffffffffffffffffffffffffcp-4L : inexact-ok
|
||||
= exp2 tonearest ldbl-128ibm -0x4p-1076L : 0x1p+0L : inexact-ok
|
||||
= exp2 towardzero ldbl-128ibm -0x4p-1076L : 0xf.fffffffffffffffffffffffffcp-4L : inexact-ok
|
||||
= exp2 upward ldbl-128ibm -0x4p-1076L : 0x1p+0L : inexact-ok
|
||||
= exp2 downward ldbl-96-intel -0x8p-16448L : 0xf.fffffffffffffffp-4L : inexact-ok
|
||||
= exp2 tonearest ldbl-96-intel -0x8p-16448L : 0x1p+0L : inexact-ok
|
||||
= exp2 towardzero ldbl-96-intel -0x8p-16448L : 0xf.fffffffffffffffp-4L : inexact-ok
|
||||
= exp2 upward ldbl-96-intel -0x8p-16448L : 0x1p+0L : inexact-ok
|
||||
= exp2 downward ldbl-96-m68k -0x8p-16448L : 0xf.fffffffffffffffp-4L : inexact-ok
|
||||
= exp2 tonearest ldbl-96-m68k -0x8p-16448L : 0x1p+0L : inexact-ok
|
||||
= exp2 towardzero ldbl-96-m68k -0x8p-16448L : 0xf.fffffffffffffffp-4L : inexact-ok
|
||||
= exp2 upward ldbl-96-m68k -0x8p-16448L : 0x1p+0L : inexact-ok
|
||||
= exp2 downward ldbl-128 -0x8p-16448L : 0xf.fffffffffffffffffffffffffff8p-4L : inexact-ok
|
||||
= exp2 tonearest ldbl-128 -0x8p-16448L : 0x1p+0L : inexact-ok
|
||||
= exp2 towardzero ldbl-128 -0x8p-16448L : 0xf.fffffffffffffffffffffffffff8p-4L : inexact-ok
|
||||
= exp2 upward ldbl-128 -0x8p-16448L : 0x1p+0L : inexact-ok
|
||||
= exp2 downward ldbl-96-m68k -0x4p-16448L : 0xf.fffffffffffffffp-4L : inexact-ok
|
||||
= exp2 tonearest ldbl-96-m68k -0x4p-16448L : 0x1p+0L : inexact-ok
|
||||
= exp2 towardzero ldbl-96-m68k -0x4p-16448L : 0xf.fffffffffffffffp-4L : inexact-ok
|
||||
= exp2 upward ldbl-96-m68k -0x4p-16448L : 0x1p+0L : inexact-ok
|
||||
= exp2 downward ldbl-128 -0x4p-16448L : 0xf.fffffffffffffffffffffffffff8p-4L : inexact-ok
|
||||
= exp2 tonearest ldbl-128 -0x4p-16448L : 0x1p+0L : inexact-ok
|
||||
= exp2 towardzero ldbl-128 -0x4p-16448L : 0xf.fffffffffffffffffffffffffff8p-4L : inexact-ok
|
||||
= exp2 upward ldbl-128 -0x4p-16448L : 0x1p+0L : inexact-ok
|
||||
= exp2 downward ldbl-128 -0x4p-16496L : 0xf.fffffffffffffffffffffffffff8p-4L : inexact-ok
|
||||
= exp2 tonearest ldbl-128 -0x4p-16496L : 0x1p+0L : inexact-ok
|
||||
= exp2 towardzero ldbl-128 -0x4p-16496L : 0xf.fffffffffffffffffffffffffff8p-4L : inexact-ok
|
||||
= exp2 upward ldbl-128 -0x4p-16496L : 0x1p+0L : inexact-ok
|
||||
expm1 0
|
||||
= expm1 downward flt-32 0x0p+0f : 0x0p+0f : inexact-ok
|
||||
= expm1 tonearest flt-32 0x0p+0f : 0x0p+0f : inexact-ok
|
||||
|
@ -20,6 +20,13 @@
|
||||
#include <math_private.h>
|
||||
#include <float.h>
|
||||
|
||||
/* To avoid spurious underflows, use this definition to treat IBM long
|
||||
double as approximating an IEEE-style format. */
|
||||
#if LDBL_MANT_DIG == 106
|
||||
# undef LDBL_EPSILON
|
||||
# define LDBL_EPSILON 0x1p-106L
|
||||
#endif
|
||||
|
||||
long double
|
||||
__ieee754_exp2l (long double x)
|
||||
{
|
||||
@ -31,6 +38,8 @@ __ieee754_exp2l (long double x)
|
||||
{
|
||||
int intx = (int) x;
|
||||
long double fractx = x - intx;
|
||||
if (fabsl (fractx) < LDBL_EPSILON / 4.0L)
|
||||
return __scalbnl (1.0L + fractx, intx);
|
||||
return __scalbnl (__ieee754_expl (M_LN2l * fractx), intx);
|
||||
}
|
||||
else
|
||||
|
@ -18,7 +18,15 @@ ENTRY(__ieee754_exp2l)
|
||||
andb %ah, %dh
|
||||
cmpb $0x05, %dh
|
||||
je 1f /* Is +-Inf, jump. */
|
||||
fld %st
|
||||
movzwl 4+8(%esp), %eax
|
||||
andl $0x7fff, %eax
|
||||
cmpl $0x3fbe, %eax
|
||||
jge 3f
|
||||
/* Argument's exponent below -65, result rounds to 1. */
|
||||
fld1
|
||||
faddp
|
||||
ret
|
||||
3: fld %st
|
||||
frndint /* int(x) */
|
||||
fsubr %st,%st(1) /* fract(x) */
|
||||
fxch
|
||||
|
@ -61,6 +61,9 @@ __ieee754_exp2 (double x)
|
||||
double rx, x22, result;
|
||||
union ieee754_double ex2_u, scale_u;
|
||||
|
||||
if (fabs (x) < DBL_EPSILON / 4.0)
|
||||
return 1.0 + x;
|
||||
|
||||
{
|
||||
SET_RESTORE_ROUND_NOEX (FE_TONEAREST);
|
||||
|
||||
|
@ -54,6 +54,9 @@ __ieee754_exp2f (float x)
|
||||
float rx, x22, result;
|
||||
union ieee754_float ex2_u, scale_u;
|
||||
|
||||
if (fabsf (x) < FLT_EPSILON / 4.0f)
|
||||
return 1.0f + x;
|
||||
|
||||
{
|
||||
SET_RESTORE_ROUND_NOEXF (FE_TONEAREST);
|
||||
|
||||
|
@ -19,7 +19,15 @@ ENTRY(__ieee754_exp2l)
|
||||
andb %ah, %dh
|
||||
cmpb $0x05, %dh
|
||||
je 1f /* Is +-Inf, jump. */
|
||||
fld %st
|
||||
movzwl 8+8(%rsp), %eax
|
||||
andl $0x7fff, %eax
|
||||
cmpl $0x3fbe, %eax
|
||||
jge 3f
|
||||
/* Argument's exponent below -65, result rounds to 1. */
|
||||
fld1
|
||||
faddp
|
||||
ret
|
||||
3: fld %st
|
||||
frndint /* int(x) */
|
||||
fsubr %st,%st(1) /* fract(x) */
|
||||
fxch
|
||||
|
Loading…
Reference in New Issue
Block a user