diff options
| -rw-r--r-- | ChangeLog | 52 | ||||
| -rw-r--r-- | NEWS | 4 | ||||
| -rw-r--r-- | math/auto-libm-test-in | 36 | ||||
| -rw-r--r-- | math/auto-libm-test-out | 2434 | ||||
| -rw-r--r-- | math/libm-test.inc | 90 | ||||
| -rw-r--r-- | sysdeps/i386/fpu/e_atan2.S | 35 | ||||
| -rw-r--r-- | sysdeps/i386/fpu/e_atan2f.S | 35 | ||||
| -rw-r--r-- | sysdeps/i386/fpu/libm-test-ulps | 24 | ||||
| -rw-r--r-- | sysdeps/i386/fpu/s_atan.S | 33 | ||||
| -rw-r--r-- | sysdeps/i386/fpu/s_atanf.S | 33 | ||||
| -rw-r--r-- | sysdeps/ieee754/dbl-64/e_atan2.c | 14 | ||||
| -rw-r--r-- | sysdeps/ieee754/dbl-64/s_atan.c | 11 | ||||
| -rw-r--r-- | sysdeps/ieee754/flt-32/s_atanf.c | 6 | ||||
| -rw-r--r-- | sysdeps/ieee754/ldbl-128/s_atanl.c | 7 | ||||
| -rw-r--r-- | sysdeps/ieee754/ldbl-128ibm/s_atanl.c | 6 | ||||
| -rw-r--r-- | sysdeps/x86/fpu/bits/mathinline.h | 12 | ||||
| -rw-r--r-- | sysdeps/x86_64/fpu/multiarch/e_atan2.c | 1 |
17 files changed, 1840 insertions, 993 deletions
@@ -1,3 +1,55 @@ +2015-02-18 Joseph Myers <joseph@codesourcery.com> + + [BZ #15319] + * sysdeps/i386/fpu/e_atan2.S (dbl_min): New object. + (MO): New macro. + (__ieee754_atan2): For results with small absolute value, force + underflow exception and remove excess range and precision from + return value. + * sysdeps/i386/fpu/e_atan2f.S (flt_min): New object. + (MO): New macro. + (__ieee754_atan2f): For results with small absolute value, force + underflow exception and remove excess range and precision from + return value. + * sysdeps/i386/fpu/s_atan.S (dbl_min): New object. + (MO): New macro. + (__atan): For results with small absolute value, force underflow + exception and remove excess range and precision from return value. + * sysdeps/i386/fpu/s_atanf.S (flt_min): New object. + (MO): New macro. + (__atanf): For results with small absolute value, force underflow + exception and remove excess range and precision from return value. + * sysdeps/ieee754/dbl-64/e_atan2.c: Include <float.h> and + <math.h>. + (__ieee754_atan2): Force underflow exception for results with + small absolute value. + * sysdeps/ieee754/dbl-64/s_atan.c: Include <float.h> and + <math_private.h>. + (atan): Force underflow exception for results with small absolute + value. + * sysdeps/ieee754/flt-32/s_atanf.c: Include <float.h>. + (__atanf): Force underflow exception for results with small + absolute value. + * sysdeps/ieee754/ldbl-128/s_atanl.c: Include <float.h> and + <math.h>. + (__atanl): Force underflow exception for results with small + absolute value. + * sysdeps/ieee754/ldbl-128ibm/s_atanl.c: Include <float.h>. + (__atanl): Force underflow exception for results with small + absolute value. + * sysdeps/x86/fpu/bits/mathinline.h + [!__SSE2_MATH__ && !__x86_64__ && __LIBC_INTERNAL_MATH_INLINES] + (__ieee754_atan2): Only define inline for long double. + * sysdeps/x86_64/fpu/multiarch/e_atan2.c + [HAVE_FMA4_SUPPORT || HAVE_AVX_SUPPORT]: Include <math.h>. + * math/auto-libm-test-in: Do not mark underflow exceptions as + possibly missing for bug 15319. Add more tests of atan2. + * math/auto-libm-test-out: Regenerated. + * math/libm-test.inc (casin_test_data): Do not mark underflow + exceptions as possibly missing for bug 15319. + (casinh_test_data): Likewise. + * sysdeps/i386/fpu/libm-test-ulps: Update. + 2015-02-18 Steve Ellcey <sellcey@imgtec.com> * sysdeps/unix/sysv/linux/mips/bits/endian.h: Remove. @@ -9,8 +9,8 @@ Version 2.22 * The following bugs are resolved with this release: - 4719, 15467, 15790, 16560, 17569, 17792, 17912, 17932, 17944, 17949, - 17964, 17965, 17967, 17969, 17978, 17987, 17991, 17996. + 4719, 15319, 15467, 15790, 16560, 17569, 17792, 17912, 17932, 17944, + 17949, 17964, 17965, 17967, 17969, 17978, 17987, 17991, 17996. Version 2.21 diff --git a/math/auto-libm-test-in b/math/auto-libm-test-in index 6bcfd54e55..62e1439c02 100644 --- a/math/auto-libm-test-in +++ b/math/auto-libm-test-in @@ -93,14 +93,13 @@ atan 0x1p-5 atan 2.5 atan 10 atan 1e6 -# Bug 15319: underflow exception may be missing. -atan 0x1p-100 missing-underflow -atan 0x1p-600 missing-underflow -atan 0x1p-10000 missing-underflow -atan min missing-underflow -atan -min missing-underflow -atan min_subnorm missing-underflow -atan -min_subnorm missing-underflow +atan 0x1p-100 +atan 0x1p-600 +atan 0x1p-10000 +atan min +atan -min +atan min_subnorm +atan -min_subnorm # atan2 (0,x) == 0 for x > 0. atan2 0 1 @@ -156,13 +155,20 @@ atan2 min -max atan2 -min -max atan2 min_subnorm -max atan2 -min_subnorm -max -# Bug 15319: underflow exception may be missing. -atan2 1 max missing-underflow -atan2 -1 max missing-underflow -atan2 min max missing-underflow -atan2 -min max missing-underflow -atan2 min_subnorm max missing-underflow -atan2 -min_subnorm max missing-underflow +atan2 1 max +atan2 -1 max +atan2 min max +atan2 -min max +atan2 min_subnorm max +atan2 -min_subnorm max +atan2 min 1 +atan2 -min 1 +atan2 min_subnorm 1 +atan2 -min_subnorm 1 +atan2 min -1 +atan2 -min -1 +atan2 min_subnorm -1 +atan2 -min_subnorm -1 atanh 0 atanh -0 diff --git a/math/auto-libm-test-out b/math/auto-libm-test-out index 7b569cf12a..9d00c3be12 100644 --- a/math/auto-libm-test-out +++ b/math/auto-libm-test-out @@ -3353,7 +3353,7 @@ atan 1e6 = atan tonearest ldbl-128ibm 0xf.424p+16L : 0x1.921fa47d4b30ce822275563fcb8p+0L : inexact-ok = atan towardzero ldbl-128ibm 0xf.424p+16L : 0x1.921fa47d4b30ce822275563fcb8p+0L : inexact-ok = atan upward ldbl-128ibm 0xf.424p+16L : 0x1.921fa47d4b30ce822275563fccp+0L : inexact-ok -atan 0x1p-100 missing-underflow +atan 0x1p-100 = atan downward flt-32 0x1p-100f : 0xf.fffffp-104f : inexact-ok = atan tonearest flt-32 0x1p-100f : 0x1p-100f : inexact-ok = atan towardzero flt-32 0x1p-100f : 0xf.fffffp-104f : inexact-ok @@ -3378,11 +3378,11 @@ atan 0x1p-100 missing-underflow = atan tonearest ldbl-128ibm 0x1p-100L : 0x1p-100L : inexact-ok = atan towardzero ldbl-128ibm 0x1p-100L : 0xf.fffffffffffffffffffffffffcp-104L : inexact-ok = atan upward ldbl-128ibm 0x1p-100L : 0x1p-100L : inexact-ok -atan 0x1p-600 missing-underflow -= atan downward flt-32 0x8p-152f : 0x0p+0f : inexact-ok underflow underflow-ok errno-erange-ok -= atan tonearest flt-32 0x8p-152f : 0x8p-152f : inexact-ok underflow underflow-ok errno-erange-ok -= atan towardzero flt-32 0x8p-152f : 0x0p+0f : inexact-ok underflow underflow-ok errno-erange-ok -= atan upward flt-32 0x8p-152f : 0x8p-152f : inexact-ok underflow underflow-ok errno-erange-ok +atan 0x1p-600 += atan downward flt-32 0x8p-152f : 0x0p+0f : inexact-ok underflow errno-erange-ok += atan tonearest flt-32 0x8p-152f : 0x8p-152f : inexact-ok underflow errno-erange-ok += atan towardzero flt-32 0x8p-152f : 0x0p+0f : inexact-ok underflow errno-erange-ok += atan upward flt-32 0x8p-152f : 0x8p-152f : inexact-ok underflow errno-erange-ok = atan downward dbl-64 0x8p-152 : 0x7.ffffffffffffcp-152 : inexact-ok = atan tonearest dbl-64 0x8p-152 : 0x8p-152 : inexact-ok = atan towardzero dbl-64 0x8p-152 : 0x7.ffffffffffffcp-152 : inexact-ok @@ -3447,11 +3447,11 @@ atan 0x1p-600 missing-underflow = atan tonearest ldbl-128ibm 0x1p-600L : 0x1p-600L : inexact-ok = atan towardzero ldbl-128ibm 0x1p-600L : 0xf.fffffffffffffffffffffffffcp-604L : inexact-ok = atan upward ldbl-128ibm 0x1p-600L : 0x1p-600L : inexact-ok -atan 0x1p-10000 missing-underflow -= atan downward flt-32 0x8p-152f : 0x0p+0f : inexact-ok underflow underflow-ok errno-erange-ok -= atan tonearest flt-32 0x8p-152f : 0x8p-152f : inexact-ok underflow underflow-ok errno-erange-ok -= atan towardzero flt-32 0x8p-152f : 0x0p+0f : inexact-ok underflow underflow-ok errno-erange-ok -= atan upward flt-32 0x8p-152f : 0x8p-152f : inexact-ok underflow underflow-ok errno-erange-ok +atan 0x1p-10000 += atan downward flt-32 0x8p-152f : 0x0p+0f : inexact-ok underflow errno-erange-ok += atan tonearest flt-32 0x8p-152f : 0x8p-152f : inexact-ok underflow errno-erange-ok += atan towardzero flt-32 0x8p-152f : 0x0p+0f : inexact-ok underflow errno-erange-ok += atan upward flt-32 0x8p-152f : 0x8p-152f : inexact-ok underflow errno-erange-ok = atan downward dbl-64 0x8p-152 : 0x7.ffffffffffffcp-152 : inexact-ok = atan tonearest dbl-64 0x8p-152 : 0x8p-152 : inexact-ok = atan towardzero dbl-64 0x8p-152 : 0x7.ffffffffffffcp-152 : inexact-ok @@ -3496,10 +3496,10 @@ atan 0x1p-10000 missing-underflow = atan tonearest ldbl-128ibm 0x0p+0L : 0x0p+0L : inexact-ok = atan towardzero ldbl-128ibm 0x0p+0L : 0x0p+0L : inexact-ok = atan upward ldbl-128ibm 0x0p+0L : 0x0p+0L : inexact-ok -= atan downward dbl-64 0x4p-1076 : 0x0p+0 : inexact-ok underflow underflow-ok errno-erange-ok -= atan tonearest dbl-64 0x4p-1076 : 0x4p-1076 : inexact-ok underflow underflow-ok errno-erange-ok -= atan towardzero dbl-64 0x4p-1076 : 0x0p+0 : inexact-ok underflow underflow-ok errno-erange-ok -= atan upward dbl-64 0x4p-1076 : 0x4p-1076 : inexact-ok underflow underflow-ok errno-erange-ok += atan downward dbl-64 0x4p-1076 : 0x0p+0 : inexact-ok underflow errno-erange-ok += atan tonearest dbl-64 0x4p-1076 : 0x4p-1076 : inexact-ok underflow errno-erange-ok += atan towardzero dbl-64 0x4p-1076 : 0x0p+0 : inexact-ok underflow errno-erange-ok += atan upward dbl-64 0x4p-1076 : 0x4p-1076 : inexact-ok underflow errno-erange-ok = atan downward ldbl-96-intel 0x4p-1076L : 0x3.fffffffffffffffcp-1076L : inexact-ok = atan tonearest ldbl-96-intel 0x4p-1076L : 0x4p-1076L : inexact-ok = atan towardzero ldbl-96-intel 0x4p-1076L : 0x3.fffffffffffffffcp-1076L : inexact-ok @@ -3512,10 +3512,10 @@ atan 0x1p-10000 missing-underflow = atan tonearest ldbl-128 0x4p-1076L : 0x4p-1076L : inexact-ok = atan towardzero ldbl-128 0x4p-1076L : 0x3.fffffffffffffffffffffffffffep-1076L : inexact-ok = atan upward ldbl-128 0x4p-1076L : 0x4p-1076L : inexact-ok -= atan downward ldbl-128ibm 0x4p-1076L : 0x0p+0L : inexact-ok underflow underflow-ok errno-erange-ok -= atan tonearest ldbl-128ibm 0x4p-1076L : 0x4p-1076L : inexact-ok underflow underflow-ok errno-erange-ok -= atan towardzero ldbl-128ibm 0x4p-1076L : 0x0p+0L : inexact-ok underflow underflow-ok errno-erange-ok -= atan upward ldbl-128ibm 0x4p-1076L : 0x4p-1076L : inexact-ok underflow underflow-ok errno-erange-ok += atan downward ldbl-128ibm 0x4p-1076L : 0x0p+0L : inexact-ok underflow errno-erange-ok += atan tonearest ldbl-128ibm 0x4p-1076L : 0x4p-1076L : inexact-ok underflow errno-erange-ok += atan towardzero ldbl-128ibm 0x4p-1076L : 0x0p+0L : inexact-ok underflow errno-erange-ok += atan upward ldbl-128ibm 0x4p-1076L : 0x4p-1076L : inexact-ok underflow errno-erange-ok = atan downward ldbl-96-intel 0x1p-10000L : 0xf.fffffffffffffffp-10004L : inexact-ok = atan tonearest ldbl-96-intel 0x1p-10000L : 0x1p-10000L : inexact-ok = atan towardzero ldbl-96-intel 0x1p-10000L : 0xf.fffffffffffffffp-10004L : inexact-ok @@ -3528,7 +3528,7 @@ atan 0x1p-10000 missing-underflow = atan tonearest ldbl-128 0x1p-10000L : 0x1p-10000L : inexact-ok = atan towardzero ldbl-128 0x1p-10000L : 0xf.fffffffffffffffffffffffffff8p-10004L : inexact-ok = atan upward ldbl-128 0x1p-10000L : 0x1p-10000L : inexact-ok -atan min missing-underflow +atan min = atan downward flt-32 0x4p-128f : 0x3.fffff8p-128f : inexact-ok underflow-ok errno-erange-ok = atan tonearest flt-32 0x4p-128f : 0x4p-128f : inexact-ok underflow-ok errno-erange-ok = atan towardzero flt-32 0x4p-128f : 0x3.fffff8p-128f : inexact-ok underflow-ok errno-erange-ok @@ -3569,10 +3569,10 @@ atan min missing-underflow = atan tonearest ldbl-128 0x4p-1024L : 0x4p-1024L : inexact-ok = atan towardzero ldbl-128 0x4p-1024L : 0x3.fffffffffffffffffffffffffffep-1024L : inexact-ok = atan upward ldbl-128 0x4p-1024L : 0x4p-1024L : inexact-ok -= atan downward ldbl-128ibm 0x4p-1024L : 0x3.ffffffffffffcp-1024L : inexact-ok underflow underflow-ok errno-erange-ok -= atan tonearest ldbl-128ibm 0x4p-1024L : 0x4p-1024L : inexact-ok underflow underflow-ok errno-erange-ok -= atan towardzero ldbl-128ibm 0x4p-1024L : 0x3.ffffffffffffcp-1024L : inexact-ok underflow underflow-ok errno-erange-ok -= atan upward ldbl-128ibm 0x4p-1024L : 0x4p-1024L : inexact-ok underflow underflow-ok errno-erange-ok += atan downward ldbl-128ibm 0x4p-1024L : 0x3.ffffffffffffcp-1024L : inexact-ok underflow errno-erange-ok += atan tonearest ldbl-128ibm 0x4p-1024L : 0x4p-1024L : inexact-ok underflow errno-erange-ok += atan towardzero ldbl-128ibm 0x4p-1024L : 0x3.ffffffffffffcp-1024L : inexact-ok underflow errno-erange-ok += atan upward ldbl-128ibm 0x4p-1024L : 0x4p-1024L : inexact-ok underflow errno-erange-ok = atan downward ldbl-96-intel 0x4p-16384L : 0x3.fffffffffffffff8p-16384L : inexact-ok underflow-ok errno-erange-ok = atan tonearest ldbl-96-intel 0x4p-16384L : 0x4p-16384L : inexact-ok underflow-ok errno-erange-ok = atan towardzero ldbl-96-intel 0x4p-16384L : 0x3.fffffffffffffff8p-16384L : inexact-ok underflow-ok errno-erange-ok @@ -3585,18 +3585,18 @@ atan min missing-underflow = atan tonearest ldbl-128 0x4p-16384L : 0x4p-16384L : inexact-ok underflow-ok errno-erange-ok = atan towardzero ldbl-128 0x4p-16384L : 0x3.fffffffffffffffffffffffffffcp-16384L : inexact-ok underflow-ok errno-erange-ok = atan upward ldbl-128 0x4p-16384L : 0x4p-16384L : inexact-ok underflow-ok errno-erange-ok -= atan downward ldbl-96-intel 0x2p-16384L : 0x1.fffffffffffffff8p-16384L : inexact-ok underflow underflow-ok errno-erange-ok -= atan tonearest ldbl-96-intel 0x2p-16384L : 0x2p-16384L : inexact-ok underflow underflow-ok errno-erange-ok -= atan towardzero ldbl-96-intel 0x2p-16384L : 0x1.fffffffffffffff8p-16384L : inexact-ok underflow underflow-ok errno-erange-ok -= atan upward ldbl-96-intel 0x2p-16384L : 0x2p-16384L : inexact-ok underflow underflow-ok errno-erange-ok += atan downward ldbl-96-intel 0x2p-16384L : 0x1.fffffffffffffff8p-16384L : inexact-ok underflow errno-erange-ok += atan tonearest ldbl-96-intel 0x2p-16384L : 0x2p-16384L : inexact-ok underflow errno-erange-ok += atan towardzero ldbl-96-intel 0x2p-16384L : 0x1.fffffffffffffff8p-16384L : inexact-ok underflow errno-erange-ok += atan upward ldbl-96-intel 0x2p-16384L : 0x2p-16384L : inexact-ok underflow errno-erange-ok = atan downward ldbl-96-m68k 0x2p-16384L : 0x1.fffffffffffffffcp-16384L : inexact-ok underflow-ok errno-erange-ok = atan tonearest ldbl-96-m68k 0x2p-16384L : 0x2p-16384L : inexact-ok underflow-ok errno-erange-ok = atan towardzero ldbl-96-m68k 0x2p-16384L : 0x1.fffffffffffffffcp-16384L : inexact-ok underflow-ok errno-erange-ok = atan upward ldbl-96-m68k 0x2p-16384L : 0x2p-16384L : inexact-ok underflow-ok errno-erange-ok -= atan downward ldbl-128 0x2p-16384L : 0x1.fffffffffffffffffffffffffffcp-16384L : inexact-ok underflow underflow-ok errno-erange-ok -= atan tonearest ldbl-128 0x2p-16384L : 0x2p-16384L : inexact-ok underflow underflow-ok errno-erange-ok -= atan towardzero ldbl-128 0x2p-16384L : 0x1.fffffffffffffffffffffffffffcp-16384L : inexact-ok underflow underflow-ok errno-erange-ok -= atan upward ldbl-128 0x2p-16384L : 0x2p-16384L : inexact-ok underflow underflow-ok errno-erange-ok += atan downward ldbl-128 0x2p-16384L : 0x1.fffffffffffffffffffffffffffcp-16384L : inexact-ok underflow errno-erange-ok += atan tonearest ldbl-128 0x2p-16384L : 0x2p-16384L : inexact-ok underflow errno-erange-ok += atan towardzero ldbl-128 0x2p-16384L : 0x1.fffffffffffffffffffffffffffcp-16384L : inexact-ok underflow errno-erange-ok += atan upward ldbl-128 0x2p-16384L : 0x2p-16384L : inexact-ok underflow errno-erange-ok = atan downward dbl-64 0x8p-972 : 0x7.ffffffffffffcp-972 : inexact-ok = atan tonearest dbl-64 0x8p-972 : 0x8p-972 : inexact-ok = atan towardzero dbl-64 0x8p-972 : 0x7.ffffffffffffcp-972 : inexact-ok @@ -3617,7 +3617,7 @@ atan min missing-underflow = atan tonearest ldbl-128ibm 0x8p-972L : 0x8p-972L : inexact-ok underflow-ok errno-erange-ok = atan towardzero ldbl-128ibm 0x8p-972L : 0x7.fffffffffffffffffffffffffcp-972L : inexact-ok underflow-ok errno-erange-ok = atan upward ldbl-128ibm 0x8p-972L : 0x8p-972L : inexact-ok underflow-ok errno-erange-ok -atan -min missing-underflow +atan -min = atan downward flt-32 -0x4p-128f : -0x4p-128f : inexact-ok underflow-ok errno-erange-ok = atan tonearest flt-32 -0x4p-128f : -0x4p-128f : inexact-ok underflow-ok errno-erange-ok = atan towardzero flt-32 -0x4p-128f : -0x3.fffff8p-128f : inexact-ok underflow-ok errno-erange-ok @@ -3658,10 +3658,10 @@ atan -min missing-underflow = atan tonearest ldbl-128 -0x4p-1024L : -0x4p-1024L : inexact-ok = atan towardzero ldbl-128 -0x4p-1024L : -0x3.fffffffffffffffffffffffffffep-1024L : inexact-ok = atan upward ldbl-128 -0x4p-1024L : -0x3.fffffffffffffffffffffffffffep-1024L : inexact-ok -= atan downward ldbl-128ibm -0x4p-1024L : -0x4p-1024L : inexact-ok underflow underflow-ok errno-erange-ok -= atan tonearest ldbl-128ibm -0x4p-1024L : -0x4p-1024L : inexact-ok underflow underflow-ok errno-erange-ok -= atan towardzero ldbl-128ibm -0x4p-1024L : -0x3.ffffffffffffcp-1024L : inexact-ok underflow underflow-ok errno-erange-ok -= atan upward ldbl-128ibm -0x4p-1024L : -0x3.ffffffffffffcp-1024L : inexact-ok underflow underflow-ok errno-erange-ok += atan downward ldbl-128ibm -0x4p-1024L : -0x4p-1024L : inexact-ok underflow errno-erange-ok += atan tonearest ldbl-128ibm -0x4p-1024L : -0x4p-1024L : inexact-ok underflow errno-erange-ok += atan towardzero ldbl-128ibm -0x4p-1024L : -0x3.ffffffffffffcp-1024L : inexact-ok underflow errno-erange-ok += atan upward ldbl-128ibm -0x4p-1024L : -0x3.ffffffffffffcp-1024L : inexact-ok underflow errno-erange-ok = atan downward ldbl-96-intel -0x4p-16384L : -0x4p-16384L : inexact-ok underflow-ok errno-erange-ok = atan tonearest ldbl-96-intel -0x4p-16384L : -0x4p-16384L : inexact-ok underflow-ok errno-erange-ok = atan towardzero ldbl-96-intel -0x4p-16384L : -0x3.fffffffffffffff8p-16384L : inexact-ok underflow-ok errno-erange-ok @@ -3674,18 +3674,18 @@ atan -min missing-underflow = atan tonearest ldbl-128 -0x4p-16384L : -0x4p-16384L : inexact-ok underflow-ok errno-erange-ok = atan towardzero ldbl-128 -0x4p-16384L : -0x3.fffffffffffffffffffffffffffcp-16384L : inexact-ok underflow-ok errno-erange-ok = atan upward ldbl-128 -0x4p-16384L : -0x3.fffffffffffffffffffffffffffcp-16384L : inexact-ok underflow-ok errno-erange-ok -= atan downward ldbl-96-intel -0x2p-16384L : -0x2p-16384L : inexact-ok underflow underflow-ok errno-erange-ok -= atan tonearest ldbl-96-intel -0x2p-16384L : -0x2p-16384L : inexact-ok underflow underflow-ok errno-erange-ok -= atan towardzero ldbl-96-intel -0x2p-16384L : -0x1.fffffffffffffff8p-16384L : inexact-ok underflow underflow-ok errno-erange-ok -= atan upward ldbl-96-intel -0x2p-16384L : -0x1.fffffffffffffff8p-16384L : inexact-ok underflow underflow-ok errno-erange-ok += atan downward ldbl-96-intel -0x2p-16384L : -0x2p-16384L : inexact-ok underflow errno-erange-ok += atan tonearest ldbl-96-intel -0x2p-16384L : -0x2p-16384L : inexact-ok underflow errno-erange-ok += atan towardzero ldbl-96-intel -0x2p-16384L : -0x1.fffffffffffffff8p-16384L : inexact-ok underflow errno-erange-ok += atan upward ldbl-96-intel -0x2p-16384L : -0x1.fffffffffffffff8p-16384L : inexact-ok underflow errno-erange-ok = atan downward ldbl-96-m68k -0x2p-16384L : -0x2p-16384L : inexact-ok underflow-ok errno-erange-ok = atan tonearest ldbl-96-m68k -0x2p-16384L : -0x2p-16384L : inexact-ok underflow-ok errno-erange-ok = atan towardzero ldbl-96-m68k -0x2p-16384L : -0x1.fffffffffffffffcp-16384L : inexact-ok underflow-ok errno-erange-ok = atan upward ldbl-96-m68k -0x2p-16384L : -0x1.fffffffffffffffcp-16384L : inexact-ok underflow-ok errno-erange-ok -= atan downward ldbl-128 -0x2p-16384L : -0x2p-16384L : inexact-ok underflow underflow-ok errno-erange-ok -= atan tonearest ldbl-128 -0x2p-16384L : -0x2p-16384L : inexact-ok underflow underflow-ok errno-erange-ok -= atan towardzero ldbl-128 -0x2p-16384L : -0x1.fffffffffffffffffffffffffffcp-16384L : inexact-ok underflow underflow-ok errno-erange-ok -= atan upward ldbl-128 -0x2p-16384L : -0x1.fffffffffffffffffffffffffffcp-16384L : inexact-ok underflow underflow-ok errno-erange-ok += atan downward ldbl-128 -0x2p-16384L : -0x2p-16384L : inexact-ok underflow errno-erange-ok += atan tonearest ldbl-128 -0x2p-16384L : -0x2p-16384L : inexact-ok underflow errno-erange-ok += atan towardzero ldbl-128 -0x2p-16384L : -0x1.fffffffffffffffffffffffffffcp-16384L : inexact-ok underflow errno-erange-ok += atan upward ldbl-128 -0x2p-16384L : -0x1.fffffffffffffffffffffffffffcp-16384L : inexact-ok underflow errno-erange-ok = atan downward dbl-64 -0x8p-972 : -0x8p-972 : inexact-ok = atan tonearest dbl-64 -0x8p-972 : -0x8p-972 : inexact-ok = atan towardzero dbl-64 -0x8p-972 : -0x7.ffffffffffffcp-972 : inexact-ok @@ -3706,11 +3706,11 @@ atan -min missing-underflow = atan tonearest ldbl-128ibm -0x8p-972L : -0x8p-972L : inexact-ok underflow-ok errno-erange-ok = atan towardzero ldbl-128ibm -0x8p-972L : -0x7.fffffffffffffffffffffffffcp-972L : inexact-ok underflow-ok errno-erange-ok = atan upward ldbl-128ibm -0x8p-972L : -0x7.fffffffffffffffffffffffffcp-972L : inexact-ok underflow-ok errno-erange-ok -atan min_subnorm missing-underflow -= atan downward flt-32 0x8p-152f : 0x0p+0f : inexact-ok underflow underflow-ok errno-erange-ok -= atan tonearest flt-32 0x8p-152f : 0x8p-152f : inexact-ok underflow underflow-ok errno-erange-ok -= atan towardzero flt-32 0x8p-152f : 0x0p+0f : inexact-ok underflow underflow-ok errno-erange-ok -= atan upward flt-32 0x8p-152f : 0x8p-152f : inexact-ok underflow underflow-ok errno-erange-ok +atan min_subnorm += atan downward flt-32 0x8p-152f : 0x0p+0f : inexact-ok underflow errno-erange-ok += atan tonearest flt-32 0x8p-152f : 0x8p-152f : inexact-ok underflow errno-erange-ok += atan towardzero flt-32 0x8p-152f : 0x0p+0f : inexact-ok underflow errno-erange-ok += atan upward flt-32 0x8p-152f : 0x8p-152f : inexact-ok underflow errno-erange-ok = atan downward dbl-64 0x8p-152 : 0x7.ffffffffffffcp-152 : inexact-ok = atan tonearest dbl-64 0x8p-152 : 0x8p-152 : inexact-ok = atan towardzero dbl-64 0x8p-152 : 0x7.ffffffffffffcp-152 : inexact-ok @@ -3731,10 +3731,10 @@ atan min_subnorm missing-underflow = atan tonearest ldbl-128ibm 0x8p-152L : 0x8p-152L : inexact-ok = atan towardzero ldbl-128ibm 0x8p-152L : 0x7.fffffffffffffffffffffffffep-152L : inexact-ok = atan upward ldbl-128ibm 0x8p-152L : 0x8p-152L : inexact-ok -= atan downward dbl-64 0x4p-1076 : 0x0p+0 : inexact-ok underflow underflow-ok errno-erange-ok -= atan tonearest dbl-64 0x4p-1076 : 0x4p-1076 : inexact-ok underflow underflow-ok errno-erange-ok -= atan towardzero dbl-64 0x4p-1076 : 0x0p+0 : inexact-ok underflow underflow-ok errno-erange-ok -= atan upward dbl-64 0x4p-1076 : 0x4p-1076 : inexact-ok underflow underflow-ok errno-erange-ok += atan downward dbl-64 0x4p-1076 : 0x0p+0 : inexact-ok underflow errno-erange-ok += atan tonearest dbl-64 0x4p-1076 : 0x4p-1076 : inexact-ok underflow errno-erange-ok += atan towardzero dbl-64 0x4p-1076 : 0x0p+0 : inexact-ok underflow errno-erange-ok += atan upward dbl-64 0x4p-1076 : 0x4p-1076 : inexact-ok underflow errno-erange-ok = atan downward ldbl-96-intel 0x4p-1076L : 0x3.fffffffffffffffcp-1076L : inexact-ok = atan tonearest ldbl-96-intel 0x4p-1076L : 0x4p-1076L : inexact-ok = atan towardzero ldbl-96-intel 0x4p-1076L : 0x3.fffffffffffffffcp-1076L : inexact-ok @@ -3747,39 +3747,39 @@ atan min_subnorm missing-underflow = atan tonearest ldbl-128 0x4p-1076L : 0x4p-1076L : inexact-ok = atan towardzero ldbl-128 0x4p-1076L : 0x3.fffffffffffffffffffffffffffep-1076L : inexact-ok = atan upward ldbl-128 0x4p-1076L : 0x4p-1076L : inexact-ok -= atan downward ldbl-128ibm 0x4p-1076L : 0x0p+0L : inexact-ok underflow underflow-ok errno-erange-ok -= atan tonearest ldbl-128ibm 0x4p-1076L : 0x4p-1076L : inexact-ok underflow underflow-ok errno-erange-ok -= atan towardzero ldbl-128ibm 0x4p-1076L : 0x0p+0L : inexact-ok underflow underflow-ok errno-erange-ok -= atan upward ldbl-128ibm 0x4p-1076L : 0x4p-1076L : inexact-ok underflow underflow-ok errno-erange-ok -= atan downward ldbl-96-intel 0x8p-16448L : 0x0p+0L : inexact-ok underflow underflow-ok errno-erange-ok -= atan tonearest ldbl-96-intel 0x8p-16448L : 0x8p-16448L : inexact-ok underflow underflow-ok errno-erange-ok -= atan towardzero ldbl-96-intel 0x8p-16448L : 0x0p+0L : inexact-ok underflow underflow-ok errno-erange-ok -= atan upward ldbl-96-intel 0x8p-16448L : 0x8p-16448L : inexact-ok underflow underflow-ok errno-erange-ok -= atan downward ldbl-96-m68k 0x8p-16448L : 0x4p-16448L : inexact-ok underflow underflow-ok errno-erange-ok -= atan tonearest ldbl-96-m68k 0x8p-16448L : 0x8p-16448L : inexact-ok underflow underflow-ok errno-erange-ok -= atan towardzero ldbl-96-m68k 0x8p-16448L : 0x4p-16448L : inexact-ok underflow underflow-ok errno-erange-ok -= atan upward ldbl-96-m68k 0x8p-16448L : 0x8p-16448L : inexact-ok underflow underflow-ok errno-erange-ok -= atan downward ldbl-128 0x8p-16448L : 0x7.fffffffffffcp-16448L : inexact-ok underflow underflow-ok errno-erange-ok -= atan tonearest ldbl-128 0x8p-16448L : 0x8p-16448L : inexact-ok underflow underflow-ok errno-erange-ok -= atan towardzero ldbl-128 0x8p-16448L : 0x7.fffffffffffcp-16448L : inexact-ok underflow underflow-ok errno-erange-ok -= atan upward ldbl-128 0x8p-16448L : 0x8p-16448L : inexact-ok underflow underflow-ok errno-erange-ok -= atan downward ldbl-96-m68k 0x4p-16448L : 0x0p+0L : inexact-ok underflow underflow-ok errno-erange-ok -= atan tonearest ldbl-96-m68k 0x4p-16448L : 0x4p-16448L : inexact-ok underflow underflow-ok errno-erange-ok -= atan towardzero ldbl-96-m68k 0x4p-16448L : 0x0p+0L : inexact-ok underflow underflow-ok errno-erange-ok -= atan upward ldbl-96-m68k 0x4p-16448L : 0x4p-16448L : inexact-ok underflow underflow-ok errno-erange-ok -= atan downward ldbl-128 0x4p-16448L : 0x3.fffffffffffcp-16448L : inexact-ok underflow underflow-ok errno-erange-ok -= atan tonearest ldbl-128 0x4p-16448L : 0x4p-16448L : inexact-ok underflow underflow-ok errno-erange-ok -= atan towardzero ldbl-128 0x4p-16448L : 0x3.fffffffffffcp-16448L : inexact-ok underflow underflow-ok errno-erange-ok -= atan upward ldbl-128 0x4p-16448L : 0x4p-16448L : inexact-ok underflow underflow-ok errno-erange-ok -= atan downward ldbl-128 0x4p-16496L : 0x0p+0L : inexact-ok underflow underflow-ok errno-erange-ok -= atan tonearest ldbl-128 0x4p-16496L : 0x4p-16496L : inexact-ok underflow underflow-ok errno-erange-ok -= atan towardzero ldbl-128 0x4p-16496L : 0x0p+0L : inexact-ok underflow underflow-ok errno-erange-ok -= atan upward ldbl-128 0x4p-1 |
