diff options
-rw-r--r-- | ChangeLog | 11 | ||||
-rw-r--r-- | NEWS | 8 | ||||
-rw-r--r-- | math/auto-libm-test-in | 26 | ||||
-rw-r--r-- | math/auto-libm-test-out | 1032 | ||||
-rw-r--r-- | math/s_ctan.c | 10 | ||||
-rw-r--r-- | math/s_ctanf.c | 10 | ||||
-rw-r--r-- | math/s_ctanh.c | 10 | ||||
-rw-r--r-- | math/s_ctanhf.c | 10 | ||||
-rw-r--r-- | math/s_ctanhl.c | 10 | ||||
-rw-r--r-- | math/s_ctanl.c | 10 |
10 files changed, 923 insertions, 214 deletions
@@ -1,5 +1,16 @@ 2015-09-15 Joseph Myers <joseph@codesourcery.com> + [BZ #18595] + * math/s_ctan.c (__ctan): Force underflow exception for results + whose real or imaginary part has small absolute value. + * math/s_ctanf.c (__ctanf): Likewise. + * math/s_ctanh.c (__ctanh): Likewise. + * math/s_ctanhf.c (__ctanhf): Likewise. + * math/s_ctanhl.c (__ctanhl): Likewise. + * math/s_ctanl.c (__ctanl): Likewise. + * math/auto-libm-test-in: Do not allow missing underflow for ctan + and ctanh. Add more tests of ctan and ctanh. + [BZ #15918] * sysdeps/ieee754/flt-32/e_hypotf.c (__ieee754_hypotf): Simplify handling of cases where one argument is an infinity. @@ -11,10 +11,10 @@ Version 2.23 2542, 2543, 2558, 2898, 14341, 14912, 15786, 15918, 16141, 16517, 16519, 16520, 16521, 16734, 16973, 16985, 17787, 17905, 18084, 18086, 18240, - 18265, 18370, 18421, 18480, 18525, 18610, 18618, 18647, 18661, 18674, - 18675, 18681, 18757, 18778, 18781, 18787, 18789, 18790, 18795, 18796, - 18820, 18823, 18824, 18863, 18870, 18873, 18875, 18887, 18921, 18952, - 18961, 18966. + 18265, 18370, 18421, 18480, 18525, 18595, 18610, 18618, 18647, 18661, + 18674, 18675, 18681, 18757, 18778, 18781, 18787, 18789, 18790, 18795, + 18796, 18820, 18823, 18824, 18863, 18870, 18873, 18875, 18887, 18921, + 18952, 18961, 18966. * The obsolete header <regexp.h> has been removed. Programs that require this header must be updated to use <regex.h> instead. diff --git a/math/auto-libm-test-in b/math/auto-libm-test-in index 4a8017c..8e236c3 100644 --- a/math/auto-libm-test-in +++ b/math/auto-libm-test-in @@ -1245,11 +1245,14 @@ ctan 0x1.921fb6p+0 0x1p-149 ctan 0x1.921fb54442d18p+0 0x1p-1074 ctan 0x1.921fb54442d1846ap+0 0x1p-16445 -# Bug 18595: underflow exception may be missing -ctan min 0 missing-underflow -ctan -min 0 missing-underflow -ctan min_subnorm 0 missing-underflow -ctan -min_subnorm 0 missing-underflow +ctan min 0 +ctan -min 0 +ctan min_subnorm 0 +ctan -min_subnorm 0 +ctan 0 min +ctan 0 -min +ctan 0 min_subnorm +ctan 0 -min_subnorm ctanh 0 0 ctanh 0 -0 @@ -1285,11 +1288,14 @@ ctanh 0x1p-149 0x1.921fb6p+0 ctanh 0x1p-1074 0x1.921fb54442d18p+0 ctanh 0x1p-16445 0x1.921fb54442d1846ap+0 -# Bug 18595: underflow exception may be missing -ctanh 0 min missing-underflow -ctanh 0 -min missing-underflow -ctanh 0 min_subnorm missing-underflow -ctanh 0 -min_subnorm missing-underflow +ctanh 0 min +ctanh 0 -min +ctanh 0 min_subnorm +ctanh 0 -min_subnorm +ctanh min 0 +ctanh -min 0 +ctanh min_subnorm 0 +ctanh -min_subnorm 0 erf 0 erf -0 diff --git a/math/auto-libm-test-out b/math/auto-libm-test-out index a93b7c4..94efbb9 100644 --- a/math/auto-libm-test-out +++ b/math/auto-libm-test-out @@ -109184,7 +109184,7 @@ ctan 0x1.921fb54442d1846ap+0 0x1p-16445 = ctan tonearest ldbl-128 0x1.921fb54442d1846ap+0L 0x8p-16448L : -0x2.29478136aaf68d7b3b807fb349bap+64L 0x2.55e3001b8e1413fcf7193625f37ap-16316L : inexact-ok = ctan towardzero ldbl-128 0x1.921fb54442d1846ap+0L 0x8p-16448L : -0x2.29478136aaf68d7b3b807fb349bap+64L 0x2.55e3001b8e1413fcf7193625f378p-16316L : inexact-ok = ctan upward ldbl-128 0x1.921fb54442d1846ap+0L 0x8p-16448L : -0x2.29478136aaf68d7b3b807fb349bap+64L 0x2.55e3001b8e1413fcf7193625f37ap-16316L : inexact-ok -ctan min 0 missing-underflow +ctan min 0 = ctan downward flt-32 0x4p-128f 0x0p+0f : 0x4p-128f 0x0p+0f : inexact-ok underflow-ok errno-erange-ok = ctan tonearest flt-32 0x4p-128f 0x0p+0f : 0x4p-128f 0x0p+0f : inexact-ok underflow-ok errno-erange-ok = ctan towardzero flt-32 0x4p-128f 0x0p+0f : 0x4p-128f 0x0p+0f : inexact-ok underflow-ok errno-erange-ok @@ -109225,10 +109225,10 @@ ctan min 0 missing-underflow = ctan tonearest ldbl-128 0x4p-1024L 0x0p+0L : 0x4p-1024L 0x0p+0L : inexact-ok = ctan towardzero ldbl-128 0x4p-1024L 0x0p+0L : 0x4p-1024L 0x0p+0L : inexact-ok = ctan upward ldbl-128 0x4p-1024L 0x0p+0L : 0x4.0000000000000000000000000004p-1024L 0x0p+0L : inexact-ok -= ctan downward ldbl-128ibm 0x4p-1024L 0x0p+0L : 0x4p-1024L 0x0p+0L : inexact-ok underflow underflow-ok errno-erange-ok -= ctan tonearest ldbl-128ibm 0x4p-1024L 0x0p+0L : 0x4p-1024L 0x0p+0L : inexact-ok underflow underflow-ok errno-erange-ok -= ctan towardzero ldbl-128ibm 0x4p-1024L 0x0p+0L : 0x4p-1024L 0x0p+0L : inexact-ok underflow underflow-ok errno-erange-ok -= ctan upward ldbl-128ibm 0x4p-1024L 0x0p+0L : 0x4.0000000000004p-1024L 0x0p+0L : inexact-ok underflow underflow-ok errno-erange-ok += ctan downward ldbl-128ibm 0x4p-1024L 0x0p+0L : 0x4p-1024L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctan tonearest ldbl-128ibm 0x4p-1024L 0x0p+0L : 0x4p-1024L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctan towardzero ldbl-128ibm 0x4p-1024L 0x0p+0L : 0x4p-1024L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctan upward ldbl-128ibm 0x4p-1024L 0x0p+0L : 0x4.0000000000004p-1024L 0x0p+0L : inexact-ok underflow errno-erange-ok = ctan downward ldbl-96-intel 0x4p-16384L 0x0p+0L : 0x4p-16384L 0x0p+0L : inexact-ok underflow-ok errno-erange-ok = ctan tonearest ldbl-96-intel 0x4p-16384L 0x0p+0L : 0x4p-16384L 0x0p+0L : inexact-ok underflow-ok errno-erange-ok = ctan towardzero ldbl-96-intel 0x4p-16384L 0x0p+0L : 0x4p-16384L 0x0p+0L : inexact-ok underflow-ok errno-erange-ok @@ -109241,18 +109241,18 @@ ctan min 0 missing-underflow = ctan tonearest ldbl-128 0x4p-16384L 0x0p+0L : 0x4p-16384L 0x0p+0L : inexact-ok underflow-ok errno-erange-ok = ctan towardzero ldbl-128 0x4p-16384L 0x0p+0L : 0x4p-16384L 0x0p+0L : inexact-ok underflow-ok errno-erange-ok = ctan upward ldbl-128 0x4p-16384L 0x0p+0L : 0x4.0000000000000000000000000004p-16384L 0x0p+0L : inexact-ok underflow-ok errno-erange-ok -= ctan downward ldbl-96-intel 0x2p-16384L 0x0p+0L : 0x2p-16384L 0x0p+0L : inexact-ok underflow underflow-ok errno-erange-ok -= ctan tonearest ldbl-96-intel 0x2p-16384L 0x0p+0L : 0x2p-16384L 0x0p+0L : inexact-ok underflow underflow-ok errno-erange-ok -= ctan towardzero ldbl-96-intel 0x2p-16384L 0x0p+0L : 0x2p-16384L 0x0p+0L : inexact-ok underflow underflow-ok errno-erange-ok -= ctan upward ldbl-96-intel 0x2p-16384L 0x0p+0L : 0x2.0000000000000008p-16384L 0x0p+0L : inexact-ok underflow underflow-ok errno-erange-ok += ctan downward ldbl-96-intel 0x2p-16384L 0x0p+0L : 0x2p-16384L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctan tonearest ldbl-96-intel 0x2p-16384L 0x0p+0L : 0x2p-16384L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctan towardzero ldbl-96-intel 0x2p-16384L 0x0p+0L : 0x2p-16384L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctan upward ldbl-96-intel 0x2p-16384L 0x0p+0L : 0x2.0000000000000008p-16384L 0x0p+0L : inexact-ok underflow errno-erange-ok = ctan downward ldbl-96-m68k 0x2p-16384L 0x0p+0L : 0x2p-16384L 0x0p+0L : inexact-ok underflow-ok errno-erange-ok = ctan tonearest ldbl-96-m68k 0x2p-16384L 0x0p+0L : 0x2p-16384L 0x0p+0L : inexact-ok underflow-ok errno-erange-ok = ctan towardzero ldbl-96-m68k 0x2p-16384L 0x0p+0L : 0x2p-16384L 0x0p+0L : inexact-ok underflow-ok errno-erange-ok = ctan upward ldbl-96-m68k 0x2p-16384L 0x0p+0L : 0x2.0000000000000004p-16384L 0x0p+0L : inexact-ok underflow-ok errno-erange-ok -= ctan downward ldbl-128 0x2p-16384L 0x0p+0L : 0x2p-16384L 0x0p+0L : inexact-ok underflow underflow-ok errno-erange-ok -= ctan tonearest ldbl-128 0x2p-16384L 0x0p+0L : 0x2p-16384L 0x0p+0L : inexact-ok underflow underflow-ok errno-erange-ok -= ctan towardzero ldbl-128 0x2p-16384L 0x0p+0L : 0x2p-16384L 0x0p+0L : inexact-ok underflow underflow-ok errno-erange-ok -= ctan upward ldbl-128 0x2p-16384L 0x0p+0L : 0x2.0000000000000000000000000004p-16384L 0x0p+0L : inexact-ok underflow underflow-ok errno-erange-ok += ctan downward ldbl-128 0x2p-16384L 0x0p+0L : 0x2p-16384L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctan tonearest ldbl-128 0x2p-16384L 0x0p+0L : 0x2p-16384L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctan towardzero ldbl-128 0x2p-16384L 0x0p+0L : 0x2p-16384L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctan upward ldbl-128 0x2p-16384L 0x0p+0L : 0x2.0000000000000000000000000004p-16384L 0x0p+0L : inexact-ok underflow errno-erange-ok = ctan downward dbl-64 0x8p-972 0x0p+0 : 0x8p-972 0x0p+0 : inexact-ok = ctan tonearest dbl-64 0x8p-972 0x0p+0 : 0x8p-972 0x0p+0 : inexact-ok = ctan towardzero dbl-64 0x8p-972 0x0p+0 : 0x8p-972 0x0p+0 : inexact-ok @@ -109273,7 +109273,7 @@ ctan min 0 missing-underflow = ctan tonearest ldbl-128ibm 0x8p-972L 0x0p+0L : 0x8p-972L 0x0p+0L : inexact-ok underflow-ok errno-erange-ok = ctan towardzero ldbl-128ibm 0x8p-972L 0x0p+0L : 0x8p-972L 0x0p+0L : inexact-ok underflow-ok errno-erange-ok = ctan upward ldbl-128ibm 0x8p-972L 0x0p+0L : 0x8.00000000000000000000000004p-972L 0x0p+0L : inexact-ok underflow-ok errno-erange-ok -ctan -min 0 missing-underflow +ctan -min 0 = ctan downward flt-32 -0x4p-128f 0x0p+0f : -0x4.000008p-128f 0x0p+0f : inexact-ok underflow-ok errno-erange-ok = ctan tonearest flt-32 -0x4p-128f 0x0p+0f : -0x4p-128f 0x0p+0f : inexact-ok underflow-ok errno-erange-ok = ctan towardzero flt-32 -0x4p-128f 0x0p+0f : -0x4p-128f 0x0p+0f : inexact-ok underflow-ok errno-erange-ok @@ -109314,10 +109314,10 @@ ctan -min 0 missing-underflow = ctan tonearest ldbl-128 -0x4p-1024L 0x0p+0L : -0x4p-1024L 0x0p+0L : inexact-ok = ctan towardzero ldbl-128 -0x4p-1024L 0x0p+0L : -0x4p-1024L 0x0p+0L : inexact-ok = ctan upward ldbl-128 -0x4p-1024L 0x0p+0L : -0x4p-1024L 0x0p+0L : inexact-ok -= ctan downward ldbl-128ibm -0x4p-1024L 0x0p+0L : -0x4.0000000000004p-1024L 0x0p+0L : inexact-ok underflow underflow-ok errno-erange-ok -= ctan tonearest ldbl-128ibm -0x4p-1024L 0x0p+0L : -0x4p-1024L 0x0p+0L : inexact-ok underflow underflow-ok errno-erange-ok -= ctan towardzero ldbl-128ibm -0x4p-1024L 0x0p+0L : -0x4p-1024L 0x0p+0L : inexact-ok underflow underflow-ok errno-erange-ok -= ctan upward ldbl-128ibm -0x4p-1024L 0x0p+0L : -0x4p-1024L 0x0p+0L : inexact-ok underflow underflow-ok errno-erange-ok += ctan downward ldbl-128ibm -0x4p-1024L 0x0p+0L : -0x4.0000000000004p-1024L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctan tonearest ldbl-128ibm -0x4p-1024L 0x0p+0L : -0x4p-1024L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctan towardzero ldbl-128ibm -0x4p-1024L 0x0p+0L : -0x4p-1024L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctan upward ldbl-128ibm -0x4p-1024L 0x0p+0L : -0x4p-1024L 0x0p+0L : inexact-ok underflow errno-erange-ok = ctan downward ldbl-96-intel -0x4p-16384L 0x0p+0L : -0x4.0000000000000008p-16384L 0x0p+0L : inexact-ok underflow-ok errno-erange-ok = ctan tonearest ldbl-96-intel -0x4p-16384L 0x0p+0L : -0x4p-16384L 0x0p+0L : inexact-ok underflow-ok errno-erange-ok = ctan towardzero ldbl-96-intel -0x4p-16384L 0x0p+0L : -0x4p-16384L 0x0p+0L : inexact-ok underflow-ok errno-erange-ok @@ -109330,18 +109330,18 @@ ctan -min 0 missing-underflow = ctan tonearest ldbl-128 -0x4p-16384L 0x0p+0L : -0x4p-16384L 0x0p+0L : inexact-ok underflow-ok errno-erange-ok = ctan towardzero ldbl-128 -0x4p-16384L 0x0p+0L : -0x4p-16384L 0x0p+0L : inexact-ok underflow-ok errno-erange-ok = ctan upward ldbl-128 -0x4p-16384L 0x0p+0L : -0x4p-16384L 0x0p+0L : inexact-ok underflow-ok errno-erange-ok -= ctan downward ldbl-96-intel -0x2p-16384L 0x0p+0L : -0x2.0000000000000008p-16384L 0x0p+0L : inexact-ok underflow underflow-ok errno-erange-ok -= ctan tonearest ldbl-96-intel -0x2p-16384L 0x0p+0L : -0x2p-16384L 0x0p+0L : inexact-ok underflow underflow-ok errno-erange-ok -= ctan towardzero ldbl-96-intel -0x2p-16384L 0x0p+0L : -0x2p-16384L 0x0p+0L : inexact-ok underflow underflow-ok errno-erange-ok -= ctan upward ldbl-96-intel -0x2p-16384L 0x0p+0L : -0x2p-16384L 0x0p+0L : inexact-ok underflow underflow-ok errno-erange-ok += ctan downward ldbl-96-intel -0x2p-16384L 0x0p+0L : -0x2.0000000000000008p-16384L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctan tonearest ldbl-96-intel -0x2p-16384L 0x0p+0L : -0x2p-16384L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctan towardzero ldbl-96-intel -0x2p-16384L 0x0p+0L : -0x2p-16384L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctan upward ldbl-96-intel -0x2p-16384L 0x0p+0L : -0x2p-16384L 0x0p+0L : inexact-ok underflow errno-erange-ok = ctan downward ldbl-96-m68k -0x2p-16384L 0x0p+0L : -0x2.0000000000000004p-16384L 0x0p+0L : inexact-ok underflow-ok errno-erange-ok = ctan tonearest ldbl-96-m68k -0x2p-16384L 0x0p+0L : -0x2p-16384L 0x0p+0L : inexact-ok underflow-ok errno-erange-ok = ctan towardzero ldbl-96-m68k -0x2p-16384L 0x0p+0L : -0x2p-16384L 0x0p+0L : inexact-ok underflow-ok errno-erange-ok = ctan upward ldbl-96-m68k -0x2p-16384L 0x0p+0L : -0x2p-16384L 0x0p+0L : inexact-ok underflow-ok errno-erange-ok -= ctan downward ldbl-128 -0x2p-16384L 0x0p+0L : -0x2.0000000000000000000000000004p-16384L 0x0p+0L : inexact-ok underflow underflow-ok errno-erange-ok -= ctan tonearest ldbl-128 -0x2p-16384L 0x0p+0L : -0x2p-16384L 0x0p+0L : inexact-ok underflow underflow-ok errno-erange-ok -= ctan towardzero ldbl-128 -0x2p-16384L 0x0p+0L : -0x2p-16384L 0x0p+0L : inexact-ok underflow underflow-ok errno-erange-ok -= ctan upward ldbl-128 -0x2p-16384L 0x0p+0L : -0x2p-16384L 0x0p+0L : inexact-ok underflow underflow-ok errno-erange-ok += ctan downward ldbl-128 -0x2p-16384L 0x0p+0L : -0x2.0000000000000000000000000004p-16384L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctan tonearest ldbl-128 -0x2p-16384L 0x0p+0L : -0x2p-16384L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctan towardzero ldbl-128 -0x2p-16384L 0x0p+0L : -0x2p-16384L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctan upward ldbl-128 -0x2p-16384L 0x0p+0L : -0x2p-16384L 0x0p+0L : inexact-ok underflow errno-erange-ok = ctan downward dbl-64 -0x8p-972 0x0p+0 : -0x8.0000000000008p-972 0x0p+0 : inexact-ok = ctan tonearest dbl-64 -0x8p-972 0x0p+0 : -0x8p-972 0x0p+0 : inexact-ok = ctan towardzero dbl-64 -0x8p-972 0x0p+0 : -0x8p-972 0x0p+0 : inexact-ok @@ -109362,11 +109362,11 @@ ctan -min 0 missing-underflow = ctan tonearest ldbl-128ibm -0x8p-972L 0x0p+0L : -0x8p-972L 0x0p+0L : inexact-ok underflow-ok errno-erange-ok = ctan towardzero ldbl-128ibm -0x8p-972L 0x0p+0L : -0x8p-972L 0x0p+0L : inexact-ok underflow-ok errno-erange-ok = ctan upward ldbl-128ibm -0x8p-972L 0x0p+0L : -0x8p-972L 0x0p+0L : inexact-ok underflow-ok errno-erange-ok -ctan min_subnorm 0 missing-underflow -= ctan downward flt-32 0x8p-152f 0x0p+0f : 0x8p-152f 0x0p+0f : inexact-ok underflow underflow-ok errno-erange-ok -= ctan tonearest flt-32 0x8p-152f 0x0p+0f : 0x8p-152f 0x0p+0f : inexact-ok underflow underflow-ok errno-erange-ok -= ctan towardzero flt-32 0x8p-152f 0x0p+0f : 0x8p-152f 0x0p+0f : inexact-ok underflow underflow-ok errno-erange-ok -= ctan upward flt-32 0x8p-152f 0x0p+0f : 0x1p-148f 0x0p+0f : inexact-ok underflow underflow-ok errno-erange-ok +ctan min_subnorm 0 += ctan downward flt-32 0x8p-152f 0x0p+0f : 0x8p-152f 0x0p+0f : inexact-ok underflow errno-erange-ok += ctan tonearest flt-32 0x8p-152f 0x0p+0f : 0x8p-152f 0x0p+0f : inexact-ok underflow errno-erange-ok += ctan towardzero flt-32 0x8p-152f 0x0p+0f : 0x8p-152f 0x0p+0f : inexact-ok underflow errno-erange-ok += ctan upward flt-32 0x8p-152f 0x0p+0f : 0x1p-148f 0x0p+0f : inexact-ok underflow errno-erange-ok = ctan downward dbl-64 0x8p-152 0x0p+0 : 0x8p-152 0x0p+0 : inexact-ok = ctan tonearest dbl-64 0x8p-152 0x0p+0 : 0x8p-152 0x0p+0 : inexact-ok = ctan towardzero dbl-64 0x8p-152 0x0p+0 : 0x8p-152 0x0p+0 : inexact-ok @@ -109387,10 +109387,10 @@ ctan min_subnorm 0 missing-underflow = ctan tonearest ldbl-128ibm 0x8p-152L 0x0p+0L : 0x8p-152L 0x0p+0L : inexact-ok = ctan towardzero ldbl-128ibm 0x8p-152L 0x0p+0L : 0x8p-152L 0x0p+0L : inexact-ok = ctan upward ldbl-128ibm 0x8p-152L 0x0p+0L : 0x8.00000000000000000000000004p-152L 0x0p+0L : inexact-ok -= ctan downward dbl-64 0x4p-1076 0x0p+0 : 0x4p-1076 0x0p+0 : inexact-ok underflow underflow-ok errno-erange-ok -= ctan tonearest dbl-64 0x4p-1076 0x0p+0 : 0x4p-1076 0x0p+0 : inexact-ok underflow underflow-ok errno-erange-ok -= ctan towardzero dbl-64 0x4p-1076 0x0p+0 : 0x4p-1076 0x0p+0 : inexact-ok underflow underflow-ok errno-erange-ok -= ctan upward dbl-64 0x4p-1076 0x0p+0 : 0x8p-1076 0x0p+0 : inexact-ok underflow underflow-ok errno-erange-ok += ctan downward dbl-64 0x4p-1076 0x0p+0 : 0x4p-1076 0x0p+0 : inexact-ok underflow errno-erange-ok += ctan tonearest dbl-64 0x4p-1076 0x0p+0 : 0x4p-1076 0x0p+0 : inexact-ok underflow errno-erange-ok += ctan towardzero dbl-64 0x4p-1076 0x0p+0 : 0x4p-1076 0x0p+0 : inexact-ok underflow errno-erange-ok += ctan upward dbl-64 0x4p-1076 0x0p+0 : 0x8p-1076 0x0p+0 : inexact-ok underflow errno-erange-ok = ctan downward ldbl-96-intel 0x4p-1076L 0x0p+0L : 0x4p-1076L 0x0p+0L : inexact-ok = ctan tonearest ldbl-96-intel 0x4p-1076L 0x0p+0L : 0x4p-1076L 0x0p+0L : inexact-ok = ctan towardzero ldbl-96-intel 0x4p-1076L 0x0p+0L : 0x4p-1076L 0x0p+0L : inexact-ok @@ -109403,39 +109403,39 @@ ctan min_subnorm 0 missing-underflow = ctan tonearest ldbl-128 0x4p-1076L 0x0p+0L : 0x4p-1076L 0x0p+0L : inexact-ok = ctan towardzero ldbl-128 0x4p-1076L 0x0p+0L : 0x4p-1076L 0x0p+0L : inexact-ok = ctan upward ldbl-128 0x4p-1076L 0x0p+0L : 0x4.0000000000000000000000000004p-1076L 0x0p+0L : inexact-ok -= ctan downward ldbl-128ibm 0x4p-1076L 0x0p+0L : 0x4p-1076L 0x0p+0L : inexact-ok underflow underflow-ok errno-erange-ok -= ctan tonearest ldbl-128ibm 0x4p-1076L 0x0p+0L : 0x4p-1076L 0x0p+0L : inexact-ok underflow underflow-ok errno-erange-ok -= ctan towardzero ldbl-128ibm 0x4p-1076L 0x0p+0L : 0x4p-1076L 0x0p+0L : inexact-ok underflow underflow-ok errno-erange-ok -= ctan upward ldbl-128ibm 0x4p-1076L 0x0p+0L : 0x8p-1076L 0x0p+0L : inexact-ok underflow underflow-ok errno-erange-ok -= ctan downward ldbl-96-intel 0x8p-16448L 0x0p+0L : 0x8p-16448L 0x0p+0L : inexact-ok underflow underflow-ok errno-erange-ok -= ctan tonearest ldbl-96-intel 0x8p-16448L 0x0p+0L : 0x8p-16448L 0x0p+0L : inexact-ok underflow underflow-ok errno-erange-ok -= ctan towardzero ldbl-96-intel 0x8p-16448L 0x0p+0L : 0x8p-16448L 0x0p+0L : inexact-ok underflow underflow-ok errno-erange-ok -= ctan upward ldbl-96-intel 0x8p-16448L 0x0p+0L : 0x1p-16444L 0x0p+0L : inexact-ok underflow underflow-ok errno-erange-ok -= ctan downward ldbl-96-m68k 0x8p-16448L 0x0p+0L : 0x8p-16448L 0x0p+0L : inexact-ok underflow underflow-ok errno-erange-ok -= ctan tonearest ldbl-96-m68k 0x8p-16448L 0x0p+0L : 0x8p-16448L 0x0p+0L : inexact-ok underflow underflow-ok errno-erange-ok -= ctan towardzero ldbl-96-m68k 0x8p-16448L 0x0p+0L : 0x8p-16448L 0x0p+0L : inexact-ok underflow underflow-ok errno-erange-ok -= ctan upward ldbl-96-m68k 0x8p-16448L 0x0p+0L : 0xcp-16448L 0x0p+0L : inexact-ok underflow underflow-ok errno-erange-ok -= ctan downward ldbl-128 0x8p-16448L 0x0p+0L : 0x8p-16448L 0x0p+0L : inexact-ok underflow underflow-ok errno-erange-ok -= ctan tonearest ldbl-128 0x8p-16448L 0x0p+0L : 0x8p-16448L 0x0p+0L : inexact-ok underflow underflow-ok errno-erange-ok -= ctan towardzero ldbl-128 0x8p-16448L 0x0p+0L : 0x8p-16448L 0x0p+0L : inexact-ok underflow underflow-ok errno-erange-ok -= ctan upward ldbl-128 0x8p-16448L 0x0p+0L : 0x8.000000000004p-16448L 0x0p+0L : inexact-ok underflow underflow-ok errno-erange-ok -= ctan downward ldbl-96-m68k 0x4p-16448L 0x0p+0L : 0x4p-16448L 0x0p+0L : inexact-ok underflow underflow-ok errno-erange-ok -= ctan tonearest ldbl-96-m68k 0x4p-16448L 0x0p+0L : 0x4p-16448L 0x0p+0L : inexact-ok underflow underflow-ok errno-erange-ok -= ctan towardzero ldbl-96-m68k 0x4p-16448L 0x0p+0L : 0x4p-16448L 0x0p+0L : inexact-ok underflow underflow-ok errno-erange-ok -= ctan upward ldbl-96-m68k 0x4p-16448L 0x0p+0L : 0x8p-16448L 0x0p+0L : inexact-ok underflow underflow-ok errno-erange-ok -= ctan downward ldbl-128 0x4p-16448L 0x0p+0L : 0x4p-16448L 0x0p+0L : inexact-ok underflow underflow-ok errno-erange-ok -= ctan tonearest ldbl-128 0x4p-16448L 0x0p+0L : 0x4p-16448L 0x0p+0L : inexact-ok underflow underflow-ok errno-erange-ok -= ctan towardzero ldbl-128 0x4p-16448L 0x0p+0L : 0x4p-16448L 0x0p+0L : inexact-ok underflow underflow-ok errno-erange-ok -= ctan upward ldbl-128 0x4p-16448L 0x0p+0L : 0x4.000000000004p-16448L 0x0p+0L : inexact-ok underflow underflow-ok errno-erange-ok -= ctan downward ldbl-128 0x4p-16496L 0x0p+0L : 0x4p-16496L 0x0p+0L : inexact-ok underflow underflow-ok errno-erange-ok -= ctan tonearest ldbl-128 0x4p-16496L 0x0p+0L : 0x4p-16496L 0x0p+0L : inexact-ok underflow underflow-ok errno-erange-ok -= ctan towardzero ldbl-128 0x4p-16496L 0x0p+0L : 0x4p-16496L 0x0p+0L : inexact-ok underflow underflow-ok errno-erange-ok -= ctan upward ldbl-128 0x4p-16496L 0x0p+0L : 0x8p-16496L 0x0p+0L : inexact-ok underflow underflow-ok errno-erange-ok -ctan -min_subnorm 0 missing-underflow -= ctan downward flt-32 -0x8p-152f 0x0p+0f : -0x1p-148f 0x0p+0f : inexact-ok underflow underflow-ok errno-erange-ok -= ctan tonearest flt-32 -0x8p-152f 0x0p+0f : -0x8p-152f 0x0p+0f : inexact-ok underflow underflow-ok errno-erange-ok -= ctan towardzero flt-32 -0x8p-152f 0x0p+0f : -0x8p-152f 0x0p+0f : inexact-ok underflow underflow-ok errno-erange-ok -= ctan upward flt-32 -0x8p-152f 0x0p+0f : -0x8p-152f 0x0p+0f : inexact-ok underflow underflow-ok errno-erange-ok += ctan downward ldbl-128ibm 0x4p-1076L 0x0p+0L : 0x4p-1076L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctan tonearest ldbl-128ibm 0x4p-1076L 0x0p+0L : 0x4p-1076L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctan towardzero ldbl-128ibm 0x4p-1076L 0x0p+0L : 0x4p-1076L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctan upward ldbl-128ibm 0x4p-1076L 0x0p+0L : 0x8p-1076L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctan downward ldbl-96-intel 0x8p-16448L 0x0p+0L : 0x8p-16448L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctan tonearest ldbl-96-intel 0x8p-16448L 0x0p+0L : 0x8p-16448L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctan towardzero ldbl-96-intel 0x8p-16448L 0x0p+0L : 0x8p-16448L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctan upward ldbl-96-intel 0x8p-16448L 0x0p+0L : 0x1p-16444L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctan downward ldbl-96-m68k 0x8p-16448L 0x0p+0L : 0x8p-16448L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctan tonearest ldbl-96-m68k 0x8p-16448L 0x0p+0L : 0x8p-16448L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctan towardzero ldbl-96-m68k 0x8p-16448L 0x0p+0L : 0x8p-16448L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctan upward ldbl-96-m68k 0x8p-16448L 0x0p+0L : 0xcp-16448L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctan downward ldbl-128 0x8p-16448L 0x0p+0L : 0x8p-16448L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctan tonearest ldbl-128 0x8p-16448L 0x0p+0L : 0x8p-16448L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctan towardzero ldbl-128 0x8p-16448L 0x0p+0L : 0x8p-16448L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctan upward ldbl-128 0x8p-16448L 0x0p+0L : 0x8.000000000004p-16448L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctan downward ldbl-96-m68k 0x4p-16448L 0x0p+0L : 0x4p-16448L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctan tonearest ldbl-96-m68k 0x4p-16448L 0x0p+0L : 0x4p-16448L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctan towardzero ldbl-96-m68k 0x4p-16448L 0x0p+0L : 0x4p-16448L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctan upward ldbl-96-m68k 0x4p-16448L 0x0p+0L : 0x8p-16448L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctan downward ldbl-128 0x4p-16448L 0x0p+0L : 0x4p-16448L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctan tonearest ldbl-128 0x4p-16448L 0x0p+0L : 0x4p-16448L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctan towardzero ldbl-128 0x4p-16448L 0x0p+0L : 0x4p-16448L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctan upward ldbl-128 0x4p-16448L 0x0p+0L : 0x4.000000000004p-16448L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctan downward ldbl-128 0x4p-16496L 0x0p+0L : 0x4p-16496L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctan tonearest ldbl-128 0x4p-16496L 0x0p+0L : 0x4p-16496L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctan towardzero ldbl-128 0x4p-16496L 0x0p+0L : 0x4p-16496L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctan upward ldbl-128 0x4p-16496L 0x0p+0L : 0x8p-16496L 0x0p+0L : inexact-ok underflow errno-erange-ok +ctan -min_subnorm 0 += ctan downward flt-32 -0x8p-152f 0x0p+0f : -0x1p-148f 0x0p+0f : inexact-ok underflow errno-erange-ok += ctan tonearest flt-32 -0x8p-152f 0x0p+0f : -0x8p-152f 0x0p+0f : inexact-ok underflow errno-erange-ok += ctan towardzero flt-32 -0x8p-152f 0x0p+0f : -0x8p-152f 0x0p+0f : inexact-ok underflow errno-erange-ok += ctan upward flt-32 -0x8p-152f 0x0p+0f : -0x8p-152f 0x0p+0f : inexact-ok underflow errno-erange-ok = ctan downward dbl-64 -0x8p-152 0x0p+0 : -0x8.0000000000008p-152 0x0p+0 : inexact-ok = ctan tonearest dbl-64 -0x8p-152 0x0p+0 : -0x8p-152 0x0p+0 : inexact-ok = ctan towardzero dbl-64 -0x8p-152 0x0p+0 : -0x8p-152 0x0p+0 : inexact-ok @@ -109456,10 +109456,10 @@ ctan -min_subnorm 0 missing-underflow = ctan tonearest ldbl-128ibm -0x8p-152L 0x0p+0L : -0x8p-152L 0x0p+0L : inexact-ok = ctan towardzero ldbl-128ibm -0x8p-152L 0x0p+0L : -0x8p-152L 0x0p+0L : inexact-ok = ctan upward ldbl-128ibm -0x8p-152L 0x0p+0L : -0x8p-152L 0x0p+0L : inexact-ok -= ctan downward dbl-64 -0x4p-1076 0x0p+0 : -0x8p-1076 0x0p+0 : inexact-ok underflow underflow-ok errno-erange-ok -= ctan tonearest dbl-64 -0x4p-1076 0x0p+0 : -0x4p-1076 0x0p+0 : inexact-ok underflow underflow-ok errno-erange-ok -= ctan towardzero dbl-64 -0x4p-1076 0x0p+0 : -0x4p-1076 0x0p+0 : inexact-ok underflow underflow-ok errno-erange-ok -= ctan upward dbl-64 -0x4p-1076 0x0p+0 : -0x4p-1076 0x0p+0 : inexact-ok underflow underflow-ok errno-erange-ok += ctan downward dbl-64 -0x4p-1076 0x0p+0 : -0x8p-1076 0x0p+0 : inexact-ok underflow errno-erange-ok += ctan tonearest dbl-64 -0x4p-1076 0x0p+0 : -0x4p-1076 0x0p+0 : inexact-ok underflow errno-erange-ok += ctan towardzero dbl-64 -0x4p-1076 0x0p+0 : -0x4p-1076 0x0p+0 : inexact-ok underflow errno-erange-ok += ctan upward dbl-64 -0x4p-1076 0x0p+0 : -0x4p-1076 0x0p+0 : inexact-ok underflow errno-erange-ok = ctan downward ldbl-96-intel -0x4p-1076L 0x0p+0L : -0x4.0000000000000008p-1076L 0x0p+0L : inexact-ok = ctan tonearest ldbl-96-intel -0x4p-1076L 0x0p+0L : -0x4p-1076L 0x0p+0L : inexact-ok = ctan towardzero ldbl-96-intel -0x4p-1076L 0x0p+0L : -0x4p-1076L 0x0p+0L : inexact-ok @@ -109472,34 +109472,350 @@ ctan -min_subnorm 0 missing-underflow = ctan tonearest ldbl-128 -0x4p-1076L 0x0p+0L : -0x4p-1076L 0x0p+0L : inexact-ok = ctan towardzero ldbl-128 -0x4p-1076L 0x0p+0L : -0x4p-1076L 0x0p+0L : inexact-ok = ctan upward ldbl-128 -0x4p-1076L 0x0p+0L : -0x4p-1076L 0x0p+0L : inexact-ok -= ctan downward ldbl-128ibm -0x4p-1076L 0x0p+0L : -0x8p-1076L 0x0p+0L : inexact-ok underflow underflow-ok errno-erange-ok -= ctan tonearest ldbl-128ibm -0x4p-1076L 0x0p+0L : -0x4p-1076L 0x0p+0L : inexact-ok underflow underflow-ok errno-erange-ok -= ctan towardzero ldbl-128ibm -0x4p-1076L 0x0p+0L : -0x4p-1076L 0x0p+0L : inexact-ok underflow underflow-ok errno-erange-ok -= ctan upward ldbl-128ibm -0x4p-1076L 0x0p+0L : -0x4p-1076L 0x0p+0L : inexact-ok underflow underflow-ok errno-erange-ok -= ctan downward ldbl-96-intel -0x8p-16448L 0x0p+0L : -0x1p-16444L 0x0p+0L : inexact-ok underflow underflow-ok errno-erange-ok -= ctan tonearest ldbl-96-intel -0x8p-16448L 0x0p+0L : -0x8p-16448L 0x0p+0L : inexact-ok underflow underflow-ok errno-erange-ok -= ctan towardzero ldbl-96-intel -0x8p-16448L 0x0p+0L : -0x8p-16448L 0x0p+0L : inexact-ok underflow underflow-ok errno-erange-ok -= ctan upward ldbl-96-intel -0x8p-16448L 0x0p+0L : -0x8p-16448L 0x0p+0L : inexact-ok underflow underflow-ok errno-erange-ok -= ctan downward ldbl-96-m68k -0x8p-16448L 0x0p+0L : -0xcp-16448L 0x0p+0L : inexact-ok underflow underflow-ok errno-erange-ok -= ctan tonearest ldbl-96-m68k -0x8p-16448L 0x0p+0L : -0x8p-16448L 0x0p+0L : inexact-ok underflow underflow-ok errno-erange-ok -= ctan towardzero ldbl-96-m68k -0x8p-16448L 0x0p+0L : -0x8p-16448L 0x0p+0L : inexact-ok underflow underflow-ok errno-erange-ok -= ctan upward ldbl-96-m68k -0x8p-16448L 0x0p+0L : -0x8p-16448L 0x0p+0L : inexact-ok underflow underflow-ok errno-erange-ok -= ctan downward ldbl-128 -0x8p-16448L 0x0p+0L : -0x8.000000000004p-16448L 0x0p+0L : inexact-ok underflow underflow-ok errno-erange-ok -= ctan tonearest ldbl-128 -0x8p-16448L 0x0p+0L : -0x8p-16448L 0x0p+0L : inexact-ok underflow underflow-ok errno-erange-ok -= ctan towardzero ldbl-128 -0x8p-16448L 0x0p+0L : -0x8p-16448L 0x0p+0L : inexact-ok underflow underflow-ok errno-erange-ok -= ctan upward ldbl-128 -0x8p-16448L 0x0p+0L : -0x8p-16448L 0x0p+0L : inexact-ok underflow underflow-ok errno-erange-ok -= ctan downward ldbl-96-m68k -0x4p-16448L 0x0p+0L : -0x8p-16448L 0x0p+0L : inexact-ok underflow underflow-ok errno-erange-ok -= ctan tonearest ldbl-96-m68k -0x4p-16448L 0x0p+0L : -0x4p-16448L 0x0p+0L : inexact-ok underflow underflow-ok errno-erange-ok -= ctan towardzero ldbl-96-m68k -0x4p-16448L 0x0p+0L : -0x4p-16448L 0x0p+0L : inexact-ok underflow underflow-ok errno-erange-ok -= ctan upward ldbl-96-m68k -0x4p-16448L 0x0p+0L : -0x4p-16448L 0x0p+0L : inexact-ok underflow underflow-ok errno-erange-ok -= ctan downward ldbl-128 -0x4p-16448L 0x0p+0L : -0x4.000000000004p-16448L 0x0p+0L : inexact-ok underflow underflow-ok errno-erange-ok -= ctan tonearest ldbl-128 -0x4p-16448L 0x0p+0L : -0x4p-16448L 0x0p+0L : inexact-ok underflow underflow-ok errno-erange-ok -= ctan towardzero ldbl-128 -0x4p-16448L 0x0p+0L : -0x4p-16448L 0x0p+0L : inexact-ok underflow underflow-ok errno-erange-ok -= ctan upward ldbl-128 -0x4p-16448L 0x0p+0L : -0x4p-16448L 0x0p+0L : inexact-ok underflow underflow-ok errno-erange-ok -= ctan downward ldbl-128 -0x4p-16496L 0x0p+0L : -0x8p-16496L 0x0p+0L : inexact-ok underflow underflow-ok errno-erange-ok -= ctan tonearest ldbl-128 -0x4p-16496L 0x0p+0L : -0x4p-16496L 0x0p+0L : inexact-ok underflow underflow-ok errno-erange-ok -= ctan towardzero ldbl-128 -0x4p-16496L 0x0p+0L : -0x4p-16496L 0x0p+0L : inexact-ok underflow underflow-ok errno-erange-ok -= ctan upward ldbl-128 -0x4p-16496L 0x0p+0L : -0x4p-16496L 0x0p+0L : inexact-ok underflow underflow-ok errno-erange-ok += ctan downward ldbl-128ibm -0x4p-1076L 0x0p+0L : -0x8p-1076L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctan tonearest ldbl-128ibm -0x4p-1076L 0x0p+0L : -0x4p-1076L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctan towardzero ldbl-128ibm -0x4p-1076L 0x0p+0L : -0x4p-1076L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctan upward ldbl-128ibm -0x4p-1076L 0x0p+0L : -0x4p-1076L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctan downward ldbl-96-intel -0x8p-16448L 0x0p+0L : -0x1p-16444L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctan tonearest ldbl-96-intel -0x8p-16448L 0x0p+0L : -0x8p-16448L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctan towardzero ldbl-96-intel -0x8p-16448L 0x0p+0L : -0x8p-16448L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctan upward ldbl-96-intel -0x8p-16448L 0x0p+0L : -0x8p-16448L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctan downward ldbl-96-m68k -0x8p-16448L 0x0p+0L : -0xcp-16448L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctan tonearest ldbl-96-m68k -0x8p-16448L 0x0p+0L : -0x8p-16448L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctan towardzero ldbl-96-m68k -0x8p-16448L 0x0p+0L : -0x8p-16448L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctan upward ldbl-96-m68k -0x8p-16448L 0x0p+0L : -0x8p-16448L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctan downward ldbl-128 -0x8p-16448L 0x0p+0L : -0x8.000000000004p-16448L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctan tonearest ldbl-128 -0x8p-16448L 0x0p+0L : -0x8p-16448L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctan towardzero ldbl-128 -0x8p-16448L 0x0p+0L : -0x8p-16448L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctan upward ldbl-128 -0x8p-16448L 0x0p+0L : -0x8p-16448L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctan downward ldbl-96-m68k -0x4p-16448L 0x0p+0L : -0x8p-16448L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctan tonearest ldbl-96-m68k -0x4p-16448L 0x0p+0L : -0x4p-16448L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctan towardzero ldbl-96-m68k -0x4p-16448L 0x0p+0L : -0x4p-16448L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctan upward ldbl-96-m68k -0x4p-16448L 0x0p+0L : -0x4p-16448L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctan downward ldbl-128 -0x4p-16448L 0x0p+0L : -0x4.000000000004p-16448L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctan tonearest ldbl-128 -0x4p-16448L 0x0p+0L : -0x4p-16448L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctan towardzero ldbl-128 -0x4p-16448L 0x0p+0L : -0x4p-16448L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctan upward ldbl-128 -0x4p-16448L 0x0p+0L : -0x4p-16448L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctan downward ldbl-128 -0x4p-16496L 0x0p+0L : -0x8p-16496L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctan tonearest ldbl-128 -0x4p-16496L 0x0p+0L : -0x4p-16496L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctan towardzero ldbl-128 -0x4p-16496L 0x0p+0L : -0x4p-16496L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctan upward ldbl-128 -0x4p-16496L 0x0p+0L : -0x4p-16496L 0x0p+0L : inexact-ok underflow errno-erange-ok +ctan 0 min += ctan downward flt-32 0x0p+0f 0x4p-128f : 0x0p+0f 0x3.fffff8p-128f : inexact-ok underflow-ok errno-erange-ok += ctan tonearest flt-32 0x0p+0f 0x4p-128f : 0x0p+0f 0x4p-128f : inexact-ok underflow-ok errno-erange-ok += ctan towardzero flt-32 0x0p+0f 0x4p-128f : 0x0p+0f 0x3.fffff8p-128f : inexact-ok underflow-ok errno-erange-ok += ctan upward flt-32 0x0p+0f 0x4p-128f : 0x0p+0f 0x4p-128f : inexact-ok underflow-ok errno-erange-ok += ctan downward dbl-64 0x0p+0 0x4p-128 : 0x0p+0 0x3.ffffffffffffep-128 : inexact-ok += ctan tonearest dbl-64 0x0p+0 0x4p-128 : 0x0p+0 0x4p-128 : inexact-ok += ctan towardzero dbl-64 0x0p+0 0x4p-128 : 0x0p+0 0x3.ffffffffffffep-128 : inexact-ok += ctan upward dbl-64 0x0p+0 0x4p-128 : 0x0p+0 0x4p-128 : inexact-ok += ctan downward ldbl-96-intel 0x0p+0L 0x4p-128L : 0x0p+0L 0x3.fffffffffffffffcp-128L : inexact-ok += ctan tonearest ldbl-96-intel 0x0p+0L 0x4p-128L : 0x0p+0L 0x4p-128L : inexact-ok += ctan towardzero ldbl-96-intel 0x0p+0L 0x4p-128L : 0x0p+0L 0x3.fffffffffffffffcp-128L : inexact-ok += ctan upward ldbl-96-intel 0x0p+0L 0x4p-128L : 0x0p+0L 0x4p-128L : inexact-ok += ctan downward ldbl-96-m68k 0x0p+0L 0x4p-128L : 0x0p+0L 0x3.fffffffffffffffcp-128L : inexact-ok += ctan tonearest ldbl-96-m68k 0x0p+0L 0x4p-128L : 0x0p+0L 0x4p-128L : inexact-ok += ctan towardzero ldbl-96-m68k 0x0p+0L 0x4p-128L : 0x0p+0L 0x3.fffffffffffffffcp-128L : inexact-ok += ctan upward ldbl-96-m68k 0x0p+0L 0x4p-128L : 0x0p+0L 0x4p-128L : inexact-ok += ctan downward ldbl-128 0x0p+0L 0x4p-128L : 0x0p+0L 0x3.fffffffffffffffffffffffffffep-128L : inexact-ok += ctan tonearest ldbl-128 0x0p+0L 0x4p-128L : 0x0p+0L 0x4p-128L : inexact-ok += ctan towardzero ldbl-128 0x0p+0L 0x4p-128L : 0x0p+0L 0x3.fffffffffffffffffffffffffffep-128L : inexact-ok += ctan upward ldbl-128 0x0p+0L 0x4p-128L : 0x0p+0L 0x4p-128L : inexact-ok += ctan downward ldbl-128ibm 0x0p+0L 0x4p-128L : 0x0p+0L 0x3.ffffffffffffffffffffffffffp-128L : inexact-ok += ctan tonearest ldbl-128ibm 0x0p+0L 0x4p-128L : 0x0p+0L 0x4p-128L : inexact-ok += ctan towardzero ldbl-128ibm 0x0p+0L 0x4p-128L : 0x0p+0L 0x3.ffffffffffffffffffffffffffp-128L : inexact-ok += ctan upward ldbl-128ibm 0x0p+0L 0x4p-128L : 0x0p+0L 0x4p-128L : inexact-ok += ctan downward dbl-64 0x0p+0 0x4p-1024 : 0x0p+0 0x3.ffffffffffffcp-1024 : inexact-ok underflow-ok errno-erange-ok += ctan tonearest dbl-64 0x0p+0 0x4p-1024 : 0x0p+0 0x4p-1024 : inexact-ok underflow-ok errno-erange-ok += ctan towardzero dbl-64 0x0p+0 0x4p-1024 : 0x0p+0 0x3.ffffffffffffcp-1024 : inexact-ok underflow-ok errno-erange-ok += ctan upward dbl-64 0x0p+0 0x4p-1024 : 0x0p+0 0x4p-1024 : inexact-ok underflow-ok errno-erange-ok += ctan downward ldbl-96-intel 0x0p+0L 0x4p-1024L : 0x0p+0L 0x3.fffffffffffffffcp-1024L : inexact-ok += ctan tonearest ldbl-96-intel 0x0p+0L 0x4p-1024L : 0x0p+0L 0x4p-1024L : inexact-ok += ctan towardzero ldbl-96-intel 0x0p+0L 0x4p-1024L : 0x0p+0L 0x3.fffffffffffffffcp-1024L : inexact-ok += ctan upward ldbl-96-intel 0x0p+0L 0x4p-1024L : 0x0p+0L 0x4p-1024L : inexact-ok += ctan downward ldbl-96-m68k 0x0p+0L 0x4p-1024L : 0x0p+0L 0x3.fffffffffffffffcp-1024L : inexact-ok += ctan tonearest ldbl-96-m68k 0x0p+0L 0x4p-1024L : 0x0p+0L 0x4p-1024L : inexact-ok += ctan towardzero ldbl-96-m68k 0x0p+0L 0x4p-1024L : 0x0p+0L 0x3.fffffffffffffffcp-1024L : inexact-ok += ctan upward ldbl-96-m68k 0x0p+0L 0x4p-1024L : 0x0p+0L 0x4p-1024L : inexact-ok += ctan downward ldbl-128 0x0p+0L 0x4p-1024L : 0x0p+0L 0x3.fffffffffffffffffffffffffffep-1024L : inexact-ok += ctan tonearest ldbl-128 0x0p+0L 0x4p-1024L : 0x0p+0L 0x4p-1024L : inexact-ok += ctan towardzero ldbl-128 0x0p+0L 0x4p-1024L : 0x0p+0L 0x3.fffffffffffffffffffffffffffep-1024L : inexact-ok += ctan upward ldbl-128 0x0p+0L 0x4p-1024L : 0x0p+0L 0x4p-1024L : inexact-ok += ctan downward ldbl-128ibm 0x0p+0L 0x4p-1024L : 0x0p+0L 0x3.ffffffffffffcp-1024L : inexact-ok underflow errno-erange-ok += ctan tonearest ldbl-128ibm 0x0p+0L 0x4p-1024L : 0x0p+0L 0x4p-1024L : inexact-ok underflow errno-erange-ok += ctan towardzero ldbl-128ibm 0x0p+0L 0x4p-1024L : 0x0p+0L 0x3.ffffffffffffcp-1024L : inexact-ok underflow errno-erange-ok += ctan upward ldbl-128ibm 0x0p+0L 0x4p-1024L : 0x0p+0L 0x4p-1024L : inexact-ok underflow errno-erange-ok += ctan downward ldbl-96-intel 0x0p+0L 0x4p-16384L : 0x0p+0L 0x3.fffffffffffffff8p-16384L : inexact-ok underflow-ok errno-erange-ok += ctan tonearest ldbl-96-intel 0x0p+0L 0x4p-16384L : 0x0p+0L 0x4p-16384L : inexact-ok underflow-ok errno-erange-ok += ctan towardzero ldbl-96-intel 0x0p+0L 0x4p-16384L : 0x0p+0L 0x3.fffffffffffffff8p-16384L : inexact-ok underflow-ok errno-erange-ok += ctan upward ldbl-96-intel 0x0p+0L 0x4p-16384L : 0x0p+0L 0x4p-16384L : inexact-ok underflow-ok errno-erange-ok += ctan downward ldbl-96-m68k 0x0p+0L 0x4p-16384L : 0x0p+0L 0x3.fffffffffffffffcp-16384L : inexact-ok += ctan tonearest ldbl-96-m68k 0x0p+0L 0x4p-16384L : 0x0p+0L 0x4p-16384L : inexact-ok += ctan towardzero ldbl-96-m68k 0x0p+0L 0x4p-16384L : 0x0p+0L 0x3.fffffffffffffffcp-16384L : inexact-ok += ctan upward ldbl-96-m68k 0x0p+0L 0x4p-16384L : 0x0p+0L 0x4p-16384L : inexact-ok += ctan downward ldbl-128 0x0p+0L 0x4p-16384L : 0x0p+0L 0x3.fffffffffffffffffffffffffffcp-16384L : inexact-ok underflow-ok errno-erange-ok += ctan tonearest ldbl-128 0x0p+0L 0x4p-16384L : 0x0p+0L 0x4p-16384L : inexact-ok underflow-ok errno-erange-ok += ctan towardzero ldbl-128 0x0p+0L 0x4p-16384L : 0x0p+0L 0x3.fffffffffffffffffffffffffffcp-16384L : inexact-ok underflow-ok errno-erange-ok += ctan upward ldbl-128 0x0p+0L 0x4p-16384L : 0x0p+0L 0x4p-16384L : inexact-ok underflow-ok errno-erange-ok += ctan downward ldbl-96-intel 0x0p+0L 0x2p-16384L : 0x0p+0L 0x1.fffffffffffffff8p-16384L : inexact-ok underflow errno-erange-ok += ctan tonearest ldbl-96-intel 0x0p+0L 0x2p-16384L : 0x0p+0L 0x2p-16384L : inexact-ok underflow errno-erange-ok += ctan towardzero ldbl-96-intel 0x0p+0L 0x2p-16384L : 0x0p+0L 0x1.fffffffffffffff8p-16384L : inexact-ok underflow errno-erange-ok += ctan upward ldbl-96-intel 0x0p+0L 0x2p-16384L : 0x0p+0L 0x2p-16384L : inexact-ok underflow errno-erange-ok += ctan downward ldbl-96-m68k 0x0p+0L 0x2p-16384L : 0x0p+0L 0x1.fffffffffffffffcp-16384L : inexact-ok underflow-ok errno-erange-ok += ctan tonearest ldbl-96-m68k 0x0p+0L 0x2p-16384L : 0x0p+0L 0x2p-16384L : inexact-ok underflow-ok errno-erange-ok += ctan towardzero ldbl-96-m68k 0x0p+0L 0x2p-16384L : 0x0p+0L 0x1.fffffffffffffffcp-16384L : inexact-ok underflow-ok errno-erange-ok += ctan upward ldbl-96-m68k 0x0p+0L 0x2p-16384L : 0x0p+0L 0x2p-16384L : inexact-ok underflow-ok errno-erange-ok += ctan downward ldbl-128 0x0p+0L 0x2p-16384L : 0x0p+0L 0x1.fffffffffffffffffffffffffffcp-16384L : inexact-ok underflow errno-erange-ok += ctan tonearest ldbl-128 0x0p+0L 0x2p-16384L : 0x0p+0L 0x2p-16384L : inexact-ok underflow errno-erange-ok += ctan towardzero ldbl-128 0x0p+0L 0x2p-16384L : 0x0p+0L 0x1.fffffffffffffffffffffffffffcp-16384L : inexact-ok underflow errno-erange-ok += ctan upward ldbl-128 0x0p+0L 0x2p-16384L : 0x0p+0L 0x2p-16384L : inexact-ok underflow errno-erange-ok += ctan downward dbl-64 0x0p+0 0x8p-972 : 0x0p+0 0x7.ffffffffffffcp-972 : inexact-ok += ctan tonearest dbl-64 0x0p+0 0x8p-972 : 0x0p+0 0x8p-972 : inexact-ok += ctan towardzero dbl-64 0x0p+0 0x8p-972 : 0x0p+0 0x7.ffffffffffffcp-972 : inexact-ok += ctan upward dbl-64 0x0p+0 0x8p-972 : 0x0p+0 0x8p-972 : inexact-ok += ctan downward ldbl-96-intel 0x0p+0L 0x8p-972L : 0x0p+0L 0x7.fffffffffffffff8p-972L : inexact-ok += ctan tonearest ldbl-96-intel 0x0p+0L 0x8p-972L : 0x0p+0L 0x8p-972L : inexact-ok += ctan towardzero ldbl-96-intel 0x0p+0L 0x8p-972L : 0x0p+0L 0x7.fffffffffffffff8p-972L : inexact-ok += ctan upward ldbl-96-intel 0x0p+0L 0x8p-972L : 0x0p+0L 0x8p-972L : inexact-ok += ctan downward ldbl-96-m68k 0x0p+0L 0x8p-972L : 0x0p+0L 0x7.fffffffffffffff8p-972L : inexact-ok += ctan tonearest ldbl-96-m68k 0x0p+0L 0x8p-972L : 0x0p+0L 0x8p-972L : inexact-ok += ctan towardzero ldbl-96-m68k 0x0p+0L 0x8p-972L : 0x0p+0L 0x7.fffffffffffffff8p-972L : inexact-ok += ctan upward ldbl-96-m68k 0x0p+0L 0x8p-972L : 0x0p+0L 0x8p-972L : inexact-ok += ctan downward ldbl-128 0x0p+0L 0x8p-972L : 0x0p+0L 0x7.fffffffffffffffffffffffffffcp-972L : inexact-ok += ctan tonearest ldbl-128 0x0p+0L 0x8p-972L : 0x0p+0L 0x8p-972L : inexact-ok += ctan towardzero ldbl-128 0x0p+0L 0x8p-972L : 0x0p+0L 0x7.fffffffffffffffffffffffffffcp-972L : inexact-ok += ctan upward ldbl-128 0x0p+0L 0x8p-972L : 0x0p+0L 0x8p-972L : inexact-ok += ctan downward ldbl-128ibm 0x0p+0L 0x8p-972L : 0x0p+0L 0x7.fffffffffffffffffffffffffcp-972L : inexact-ok underflow-ok errno-erange-ok += ctan tonearest ldbl-128ibm 0x0p+0L 0x8p-972L : 0x0p+0L 0x8p-972L : inexact-ok underflow-ok errno-erange-ok += ctan towardzero ldbl-128ibm 0x0p+0L 0x8p-972L : 0x0p+0L 0x7.fffffffffffffffffffffffffcp-972L : inexact-ok underflow-ok errno-erange-ok += ctan upward ldbl-128ibm 0x0p+0L 0x8p-972L : 0x0p+0L 0x8p-972L : inexact-ok underflow-ok errno-erange-ok +ctan 0 -min += ctan downward flt-32 0x0p+0f -0x4p-128f : 0x0p+0f -0x4p-128f : inexact-ok underflow-ok errno-erange-ok += ctan tonearest flt-32 0x0p+0f -0x4p-128f : 0x0p+0f -0x4p-128f : inexact-ok underflow-ok errno-erange-ok += ctan towardzero flt-32 0x0p+0f -0x4p-128f : 0x0p+0f -0x3.fffff8p-128f : inexact-ok underflow-ok errno-erange-ok += ctan upward flt-32 0x0p+0f -0x4p-128f : 0x0p+0f -0x3.fffff8p-128f : inexact-ok underflow-ok errno-erange-ok += ctan downward dbl-64 0x0p+0 -0x4p-128 : 0x0p+0 -0x4p-128 : inexact-ok += ctan tonearest dbl-64 0x0p+0 -0x4p-128 : 0x0p+0 -0x4p-128 : inexact-ok += ctan towardzero dbl-64 0x0p+0 -0x4p-128 : 0x0p+0 -0x3.ffffffffffffep-128 : inexact-ok += ctan upward dbl-64 0x0p+0 -0x4p-128 : 0x0p+0 -0x3.ffffffffffffep-128 : inexact-ok += ctan downward ldbl-96-intel 0x0p+0L -0x4p-128L : 0x0p+0L -0x4p-128L : inexact-ok += ctan tonearest ldbl-96-intel 0x0p+0L -0x4p-128L : 0x0p+0L -0x4p-128L : inexact-ok += ctan towardzero ldbl-96-intel 0x0p+0L -0x4p-128L : 0x0p+0L -0x3.fffffffffffffffcp-128L : inexact-ok += ctan upward ldbl-96-intel 0x0p+0L -0x4p-128L : 0x0p+0L -0x3.fffffffffffffffcp-128L : inexact-ok += ctan downward ldbl-96-m68k 0x0p+0L -0x4p-128L : 0x0p+0L -0x4p-128L : inexact-ok += ctan tonearest ldbl-96-m68k 0x0p+0L -0x4p-128L : 0x0p+0L -0x4p-128L : inexact-ok += ctan towardzero ldbl-96-m68k 0x0p+0L -0x4p-128L : 0x0p+0L -0x3.fffffffffffffffcp-128L : inexact-ok += ctan upward ldbl-96-m68k 0x0p+0L -0x4p-128L : 0x0p+0L -0x3.fffffffffffffffcp-128L : inexact-ok += ctan downward ldbl-128 0x0p+0L -0x4p-128L : 0x0p+0L -0x4p-128L : inexact-ok += ctan tonearest ldbl-128 0x0p+0L -0x4p-128L : 0x0p+0L -0x4p-128L : inexact-ok += ctan towardzero ldbl-128 0x0p+0L -0x4p-128L : 0x0p+0L -0x3.fffffffffffffffffffffffffffep-128L : inexact-ok += ctan upward ldbl-128 0x0p+0L -0x4p-128L : 0x0p+0L -0x3.fffffffffffffffffffffffffffep-128L : inexact-ok += ctan downward ldbl-128ibm 0x0p+0L -0x4p-128L : 0x0p+0L -0x4p-128L : inexact-ok += ctan tonearest ldbl-128ibm 0x0p+0L -0x4p-128L : 0x0p+0L -0x4p-128L : inexact-ok += ctan towardzero ldbl-128ibm 0x0p+0L -0x4p-128L : 0x0p+0L -0x3.ffffffffffffffffffffffffffp-128L : inexact-ok += ctan upward ldbl-128ibm 0x0p+0L -0x4p-128L : 0x0p+0L -0x3.ffffffffffffffffffffffffffp-128L : inexact-ok += ctan downward dbl-64 0x0p+0 -0x4p-1024 : 0x0p+0 -0x4p-1024 : inexact-ok underflow-ok errno-erange-ok += ctan tonearest dbl-64 0x0p+0 -0x4p-1024 : 0x0p+0 -0x4p-1024 : inexact-ok underflow-ok errno-erange-ok += ctan towardzero dbl-64 0x0p+0 -0x4p-1024 : 0x0p+0 -0x3.ffffffffffffcp-1024 : inexact-ok underflow-ok errno-erange-ok += ctan upward dbl-64 0x0p+0 -0x4p-1024 : 0x0p+0 -0x3.ffffffffffffcp-1024 : inexact-ok underflow-ok errno-erange-ok += ctan downward ldbl-96-intel 0x0p+0L -0x4p-1024L : 0x0p+0L -0x4p-1024L : inexact-ok += ctan tonearest ldbl-96-intel 0x0p+0L -0x4p-1024L : 0x0p+0L -0x4p-1024L : inexact-ok += ctan towardzero ldbl-96-intel 0x0p+0L -0x4p-1024L : 0x0p+0L -0x3.fffffffffffffffcp-1024L : inexact-ok += ctan upward ldbl-96-intel 0x0p+0L -0x4p-1024L : 0x0p+0L -0x3.fffffffffffffffcp-1024L : inexact-ok += ctan downward ldbl-96-m68k 0x0p+0L -0x4p-1024L : 0x0p+0L -0x4p-1024L : inexact-ok += ctan tonearest ldbl-96-m68k 0x0p+0L -0x4p-1024L : 0x0p+0L -0x4p-1024L : inexact-ok += ctan towardzero ldbl-96-m68k 0x0p+0L -0x4p-1024L : 0x0p+0L -0x3.fffffffffffffffcp-1024L : inexact-ok += ctan upward ldbl-96-m68k 0x0p+0L -0x4p-1024L : 0x0p+0L -0x3.fffffffffffffffcp-1024L : inexact-ok += ctan downward ldbl-128 0x0p+0L -0x4p-1024L : 0x0p+0L -0x4p-1024L : inexact-ok += ctan tonearest ldbl-128 0x0p+0L -0x4p-1024L : 0x0p+0L -0x4p-1024L : inexact-ok += ctan towardzero ldbl-128 0x0p+0L -0x4p-1024L : 0x0p+0L -0x3.fffffffffffffffffffffffffffep-1024L : inexact-ok += ctan upward ldbl-128 0x0p+0L -0x4p-1024L : 0x0p+0L -0x3.fffffffffffffffffffffffffffep-1024L : inexact-ok += ctan downward ldbl-128ibm 0x0p+0L -0x4p-1024L : 0x0p+0L -0x4p-1024L : inexact-ok underflow errno-erange-ok += ctan tonearest ldbl-128ibm 0x0p+0L -0x4p-1024L : 0x0p+0L -0x4p-1024L : inexact-ok underflow errno-erange-ok += ctan towardzero ldbl-128ibm 0x0p+0L -0x4p-1024L : 0x0p+0L -0x3.ffffffffffffcp-1024L : inexact-ok underflow errno-erange-ok += ctan upward ldbl-128ibm 0x0p+0L -0x4p-1024L : 0x0p+0L -0x3.ffffffffffffcp-1024L : inexact-ok underflow errno-erange-ok += ctan downward ldbl-96-intel 0x0p+0L -0x4p-16384L : 0x0p+0L -0x4p-16384L : inexact-ok underflow-ok errno-erange-ok += ctan tonearest ldbl-96-intel 0x0p+0L -0x4p-16384L : 0x0p+0L -0x4p-16384L : inexact-ok underflow-ok errno-erange-ok += ctan towardzero ldbl-96-intel 0x0p+0L -0x4p-16384L : 0x0p+0L -0x3.fffffffffffffff8p-16384L : inexact-ok underflow-ok errno-erange-ok += ctan upward ldbl-96-intel 0x0p+0L -0x4p-16384L : 0x0p+0L -0x3.fffffffffffffff8p-16384L : inexact-ok underflow-ok errno-erange-ok += ctan downward ldbl-96-m68k 0x0p+0L -0x4p-16384L : 0x0p+0L -0x4p-16384L : inexact-ok += ctan tonearest ldbl-96-m68k 0x0p+0L -0x4p-16384L : 0x0p+0L -0x4p-16384L : inexact-ok += ctan towardzero ldbl-96-m68k 0x0p+0L -0x4p-16384L : 0x0p+0L -0x3.fffffffffffffffcp-16384L : inexact-ok += ctan upward ldbl-96-m68k 0x0p+0L -0x4p-16384L : 0x0p+0L -0x3.fffffffffffffffcp-16384L : inexact-ok += ctan downward ldbl-128 0x0p+0L -0x4p-16384L : 0x0p+0L -0x4p-16384L : inexact-ok underflow-ok errno-erange-ok += ctan tonearest ldbl-128 0x0p+0L -0x4p-16384L : 0x0p+0L -0x4p-16384L : inexact-ok underflow-ok errno-erange-ok += ctan towardzero ldbl-128 0x0p+0L -0x4p-16384L : 0x0p+0L -0x3.fffffffffffffffffffffffffffcp-16384L : inexact-ok underflow-ok errno-erange-ok += ctan upward ldbl-128 0x0p+0L -0x4p-16384L : 0x0p+0L -0x3.fffffffffffffffffffffffffffcp-16384L : inexact-ok underflow-ok errno-erange-ok += ctan downward ldbl-96-intel 0x0p+0L -0x2p-16384L : 0x0p+0L -0x2p-16384L : inexact-ok underflow errno-erange-ok += ctan tonearest ldbl-96-intel 0x0p+0L -0x2p-16384L : 0x0p+0L -0x2p-16384L : inexact-ok underflow errno-erange-ok += ctan towardzero ldbl-96-intel 0x0p+0L -0x2p-16384L : 0x0p+0L -0x1.fffffffffffffff8p-16384L : inexact-ok underflow errno-erange-ok += ctan upward ldbl-96-intel 0x0p+0L -0x2p-16384L : 0x0p+0L -0x1.fffffffffffffff8p-16384L : inexact-ok underflow errno-erange-ok += ctan downward ldbl-96-m68k 0x0p+0L -0x2p-16384L : 0x0p+0L -0x2p-16384L : inexact-ok underflow-ok errno-erange-ok += ctan tonearest ldbl-96-m68k 0x0p+0L -0x2p-16384L : 0x0p+0L -0x2p-16384L : inexact-ok underflow-ok errno-erange-ok += ctan towardzero ldbl-96-m68k 0x0p+0L -0x2p-16384L : 0x0p+0L -0x1.fffffffffffffffcp-16384L : inexact-ok underflow-ok errno-erange-ok += ctan upward ldbl-96-m68k 0x0p+0L -0x2p-16384L : 0x0p+0L -0x1.fffffffffffffffcp-16384L : inexact-ok underflow-ok errno-erange-ok += ctan downward ldbl-128 0x0p+0L -0x2p-16384L : 0x0p+0L -0x2p-16384L : inexact-ok underflow errno-erange-ok += ctan tonearest ldbl-128 0x0p+0L -0x2p-16384L : 0x0p+0L -0x2p-16384L : inexact-ok underflow errno-erange-ok += ctan towardzero ldbl-128 0x0p+0L -0x2p-16384L : 0x0p+0L -0x1.fffffffffffffffffffffffffffcp-16384L : inexact-ok underflow errno-erange-ok += ctan upward ldbl-128 0x0p+0L -0x2p-16384L : 0x0p+0L -0x1.fffffffffffffffffffffffffffcp-16384L : inexact-ok underflow errno-erange-ok += ctan downward dbl-64 0x0p+0 -0x8p-972 : 0x0p+0 -0x8p-972 : inexact-ok += ctan tonearest dbl-64 0x0p+0 -0x8p-972 : 0x0p+0 -0x8p-972 : inexact-ok += ctan towardzero dbl-64 0x0p+0 -0x8p-972 : 0x0p+0 -0x7.ffffffffffffcp-972 : inexact-ok += ctan upward dbl-64 0x0p+0 -0x8p-972 : 0x0p+0 -0x7.ffffffffffffcp-972 : inexact-ok += ctan downward ldbl-96-intel 0x0p+0L -0x8p-972L : 0x0p+0L -0x8p-972L : inexact-ok += ctan tonearest ldbl-96-intel 0x0p+0L -0x8p-972L : 0x0p+0L -0x8p-972L : inexact-ok += ctan towardzero ldbl-96-intel 0x0p+0L -0x8p-972L : 0x0p+0L -0x7.fffffffffffffff8p-972L : inexact-ok += ctan upward ldbl-96-intel 0x0p+0L -0x8p-972L : 0x0p+0L -0x7.fffffffffffffff8p-972L : inexact-ok += ctan downward ldbl-96-m68k 0x0p+0L -0x8p-972L : 0x0p+0L -0x8p-972L : inexact-ok += ctan tonearest ldbl-96-m68k 0x0p+0L -0x8p-972L : 0x0p+0L -0x8p-972L : inexact-ok += ctan towardzero ldbl-96-m68k 0x0p+0L -0x8p-972L : 0x0p+0L -0x7.fffffffffffffff8p-972L : inexact-ok += ctan upward ldbl-96-m68k 0x0p+0L -0x8p-972L : 0x0p+0L -0x7.fffffffffffffff8p-972L : inexact-ok += ctan downward ldbl-128 0x0p+0L -0x8p-972L : 0x0p+0L -0x8p-972L : inexact-ok += ctan tonearest ldbl-128 0x0p+0L -0x8p-972L : 0x0p+0L -0x8p-972L : inexact-ok += ctan towardzero ldbl-128 0x0p+0L -0x8p-972L : 0x0p+0L -0x7.fffffffffffffffffffffffffffcp-972L : inexact-ok += ctan upward ldbl-128 0x0p+0L -0x8p-972L : 0x0p+0L -0x7.fffffffffffffffffffffffffffcp-972L : inexact-ok += ctan downward ldbl-128ibm 0x0p+0L -0x8p-972L : 0x0p+0L -0x8p-972L : inexact-ok underflow-ok errno-erange-ok += ctan tonearest ldbl-128ibm 0x0p+0L -0x8p-972L : 0x0p+0L -0x8p-972L : inexact-ok underflow-ok errno-erange-ok += ctan towardzero ldbl-128ibm 0x0p+0L -0x8p-972L : 0x0p+0L -0x7.fffffffffffffffffffffffffcp-972L : inexact-ok underflow-ok errno-erange-ok += ctan upward ldbl-128ibm 0x0p+0L -0x8p-972L : 0x0p+0L -0x7.fffffffffffffffffffffffffcp-972L : inexact-ok underflow-ok errno-erange-ok +ctan 0 min_subnorm += ctan downward flt-32 0x0p+0f 0x8p-152f : 0x0p+0f 0x0p+0f : inexact-ok underflow errno-erange-ok += ctan tonearest flt-32 0x0p+0f 0x8p-152f : 0x0p+0f 0x8p-152f : inexact-ok underflow errno-erange-ok += ctan towardzero flt-32 0x0p+0f 0x8p-152f : 0x0p+0f 0x0p+0f : inexact-ok underflow errno-erange-ok += ctan upward flt-32 0x0p+0f 0x8p-152f : 0x0p+0f 0x8p-152f : inexact-ok underflow errno-erange-ok += ctan downward dbl-64 0x0p+0 0x8p-152 : 0x0p+0 0x7.ffffffffffffcp-152 : inexact-ok += ctan tonearest dbl-64 0x0p+0 0x8p-152 : 0x0p+0 0x8p-152 : inexact-ok += ctan towardzero dbl-64 0x0p+0 0x8p-152 : 0x0p+0 0x7.ffffffffffffcp-152 : inexact-ok += ctan upward dbl-64 0x0p+0 0x8p-152 : 0x0p+0 0x8p-152 : inexact-ok += ctan downward ldbl-96-intel 0x0p+0L 0x8p-152L : 0x0p+0L 0x7.fffffffffffffff8p-152L : inexact-ok += ctan tonearest ldbl-96-intel 0x0p+0L 0x8p-152L : 0x0p+0L 0x8p-152L : inexact-ok += ctan towardzero ldbl-96-intel 0x0p+0L 0x8p-152L : 0x0p+0L 0x7.fffffffffffffff8p-152L : inexact-ok += ctan upward ldbl-96-intel 0x0p+0L 0x8p-152L : 0x0p+0L 0x8p-152L : inexact-ok += ctan downward ldbl-96-m68k 0x0p+0L 0x8p-152L : 0x0p+0L 0x7.fffffffffffffff8p-152L : inexact-ok += ctan tonearest ldbl-96-m68k 0x0p+0L 0x8p-152L : 0x0p+0L 0x8p-152L : inexact-ok += ctan towardzero ldbl-96-m68k 0x0p+0L 0x8p-152L : 0x0p+0L 0x7.fffffffffffffff8p-152L : inexact-ok += ctan upward ldbl-96-m68k 0x0p+0L 0x8p-152L : 0x0p+0L 0x8p-152L : inexact-ok += ctan downward ldbl-128 0x0p+0L 0x8p-152L : 0x0p+0L 0x7.fffffffffffffffffffffffffffcp-152L : inexact-ok += ctan tonearest ldbl-128 0x0p+0L 0x8p-152L : 0x0p+0L 0x8p-152L : inexact-ok += ctan towardzero ldbl-128 0x0p+0L 0x8p-152L : 0x0p+0L 0x7.fffffffffffffffffffffffffffcp-152L : inexact-ok += ctan upward ldbl-128 0x0p+0L 0x8p-152L : 0x0p+0L 0x8p-152L : inexact-ok += ctan downward ldbl-128ibm 0x0p+0L 0x8p-152L : 0x0p+0L 0x7.fffffffffffffffffffffffffep-152L : inexact-ok += ctan tonearest ldbl-128ibm 0x0p+0L 0x8p-152L : 0x0p+0L 0x8p-152L : inexact-ok += ctan towardzero ldbl-128ibm 0x0p+0L 0x8p-152L : 0x0p+0L 0x7.fffffffffffffffffffffffffep-152L : inexact-ok += ctan upward ldbl-128ibm 0x0p+0L 0x8p-152L : 0x0p+0L 0x8p-152L : inexact-ok += ctan downward dbl-64 0x0p+0 0x4p-1076 : 0x0p+0 0x0p+0 : inexact-ok underflow errno-erange-ok += ctan tonearest dbl-64 0x0p+0 0x4p-1076 : 0x0p+0 0x4p-1076 : inexact-ok underflow errno-erange-ok += ctan towardzero dbl-64 0x0p+0 0x4p-1076 : 0x0p+0 0x0p+0 : inexact-ok underflow errno-erange-ok += ctan upward dbl-64 0x0p+0 0x4p-1076 : 0x0p+0 0x4p-1076 : inexact-ok underflow errno-erange-ok += ctan downward ldbl-96-intel 0x0p+0L 0x4p-1076L : 0x0p+0L 0x3.fffffffffffffffcp-1076L : inexact-ok += ctan tonearest ldbl-96-intel 0x0p+0L 0x4p-1076L : 0x0p+0L 0x4p-1076L : inexact-ok += ctan towardzero ldbl-96-intel 0x0p+0L 0x4p-1076L : 0x0p+0L 0x3.fffffffffffffffcp-1076L : inexact-ok += ctan upward ldbl-96-intel 0x0p+0L 0x4p-1076L : 0x0p+0L 0x4p-1076L : inexact-ok += ctan downward ldbl-96-m68k 0x0p+0L 0x4p-1076L : 0x0p+0L 0x3.fffffffffffffffcp-1076L : inexact-ok += ctan tonearest ldbl-96-m68k 0x0p+0L 0x4p-1076L : 0x0p+0L 0x4p-1076L : inexact-ok += ctan towardzero ldbl-96-m68k 0x0p+0L 0x4p-1076L : 0x0p+0L 0x3.fffffffffffffffcp-1076L : inexact-ok += ctan upward ldbl-96-m68k 0x0p+0L 0x4p-1076L : 0x0p+0L 0x4p-1076L : inexact-ok += ctan downward ldbl-128 0x0p+0L 0x4p-1076L : 0x0p+0L 0x3.fffffffffffffffffffffffffffep-1076L : inexact-ok += ctan tonearest ldbl-128 0x0p+0L 0x4p-1076L : 0x0p+0L 0x4p-1076L : inexact-ok += ctan towardzero ldbl-128 0x0p+0L 0x4p-1076L : 0x0p+0L 0x3.fffffffffffffffffffffffffffep-1076L : inexact-ok += ctan upward ldbl-128 0x0p+0L 0x4p-1076L : 0x0p+0L 0x4p-1076L : inexact-ok += ctan downward ldbl-128ibm 0x0p+0L 0x4p-1076L : 0x0p+0L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctan tonearest ldbl-128ibm 0x0p+0L 0x4p-1076L : 0x0p+0L 0x4p-1076L : inexact-ok underflow errno-erange-ok += ctan towardzero ldbl-128ibm 0x0p+0L 0x4p-1076L : 0x0p+0L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctan upward ldbl-128ibm 0x0p+0L 0x4p-1076L : 0x0p+0L 0x4p-1076L : inexact-ok underflow errno-erange-ok += ctan downward ldbl-96-intel 0x0p+0L 0x8p-16448L : 0x0p+0L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctan tonearest ldbl-96-intel 0x0p+0L 0x8p-16448L : 0x0p+0L 0x8p-16448L : inexact-ok underflow errno-erange-ok += ctan towardzero ldbl-96-intel 0x0p+0L 0x8p-16448L : 0x0p+0L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctan upward ldbl-96-intel 0x0p+0L 0x8p-16448L : 0x0p+0L 0x8p-16448L : inexact-ok underflow errno-erange-ok += ctan downward ldbl-96-m68k 0x0p+0L 0x8p-16448L : 0x0p+0L 0x4p-16448L : inexact-ok underflow errno-erange-ok += ctan tonearest ldbl-96-m68k 0x0p+0L 0x8p-16448L : 0x0p+0L 0x8p-16448L : inexact-ok underflow errno-erange-ok += ctan towardzero ldbl-96-m68k 0x0p+0L 0x8p-16448L : 0x0p+0L 0x4p-16448L : inexact-ok underflow errno-erange-ok += ctan upward ldbl-96-m68k 0x0p+0L 0x8p-16448L : 0x0p+0L 0x8p-16448L : inexact-ok underflow errno-erange-ok += ctan downward ldbl-128 0x0p+0L 0x8p-16448L : 0x0p+0L 0x7.fffffffffffcp-16448L : inexact-ok underflow errno-erange-ok += ctan tonearest ldbl-128 0x0p+0L 0x8p-16448L : 0x0p+0L 0x8p-16448L : inexact-ok underflow errno-erange-ok += ctan towardzero ldbl-128 0x0p+0L 0x8p-16448L : 0x0p+0L 0x7.fffffffffffcp-16448L : inexact-ok underflow errno-erange-ok += ctan upward ldbl-128 0x0p+0L 0x8p-16448L : 0x0p+0L 0x8p-16448L : inexact-ok underflow errno-erange-ok += ctan downward ldbl-96-m68k 0x0p+0L 0x4p-16448L : 0x0p+0L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctan tonearest ldbl-96-m68k 0x0p+0L 0x4p-16448L : 0x0p+0L 0x4p-16448L : inexact-ok underflow errno-erange-ok += ctan towardzero ldbl-96-m68k 0x0p+0L 0x4p-16448L : 0x0p+0L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctan upward ldbl-96-m68k 0x0p+0L 0x4p-16448L : 0x0p+0L 0x4p-16448L : inexact-ok underflow errno-erange-ok += ctan downward ldbl-128 0x0p+0L 0x4p-16448L : 0x0p+0L 0x3.fffffffffffcp-16448L : inexact-ok underflow errno-erange-ok += ctan tonearest ldbl-128 0x0p+0L 0x4p-16448L : 0x0p+0L 0x4p-16448L : inexact-ok underflow errno-erange-ok += ctan towardzero ldbl-128 0x0p+0L 0x4p-16448L : 0x0p+0L 0x3.fffffffffffcp-16448L : inexact-ok underflow errno-erange-ok += ctan upward ldbl-128 0x0p+0L 0x4p-16448L : 0x0p+0L 0x4p-16448L : inexact-ok underflow errno-erange-ok += ctan downward ldbl-128 0x0p+0L 0x4p-16496L : 0x0p+0L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctan tonearest ldbl-128 0x0p+0L 0x4p-16496L : 0x0p+0L 0x4p-16496L : inexact-ok underflow errno-erange-ok += ctan towardzero ldbl-128 0x0p+0L 0x4p-16496L : 0x0p+0L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctan upward ldbl-128 0x0p+0L 0x4p-16496L : 0x0p+0L 0x4p-16496L : inexact-ok underflow errno-erange-ok +ctan 0 -min_subnorm += ctan downward flt-32 0x0p+0f -0x8p-152f : 0x0p+0f -0x8p-152f : inexact-ok underflow errno-erange-ok += ctan tonearest flt-32 0x0p+0f -0x8p-152f : 0x0p+0f -0x8p-152f : inexact-ok underflow errno-erange-ok += ctan towardzero flt-32 0x0p+0f -0x8p-152f : 0x0p+0f -0x0p+0f : inexact-ok underflow errno-erange-ok += ctan upward flt-32 0x0p+0f -0x8p-152f : 0x0p+0f -0x0p+0f : inexact-ok underflow errno-erange-ok += ctan downward dbl-64 0x0p+0 -0x8p-152 : 0x0p+0 -0x8p-152 : inexact-ok += ctan tonearest dbl-64 0x0p+0 -0x8p-152 : 0x0p+0 -0x8p-152 : inexact-ok += ctan towardzero dbl-64 0x0p+0 -0x8p-152 : 0x0p+0 -0x7.ffffffffffffcp-152 : inexact-ok += ctan upward dbl-64 0x0p+0 -0x8p-152 : 0x0p+0 -0x7.ffffffffffffcp-152 : inexact-ok += ctan downward ldbl-96-intel 0x0p+0L -0x8p-152L : 0x0p+0L -0x8p-152L : inexact-ok += ctan tonearest ldbl-96-intel 0x0p+0L -0x8p-152L : 0x0p+0L -0x8p-152L : inexact-ok += ctan towardzero ldbl-96-intel 0x0p+0L -0x8p-152L : 0x0p+0L -0x7.fffffffffffffff8p-152L : inexact-ok += ctan upward ldbl-96-intel 0x0p+0L -0x8p-152L : 0x0p+0L -0x7.fffffffffffffff8p-152L : inexact-ok += ctan downward ldbl-96-m68k 0x0p+0L -0x8p-152L : 0x0p+0L -0x8p-152L : inexact-ok += ctan tonearest ldbl-96-m68k 0x0p+0L -0x8p-152L : 0x0p+0L -0x8p-152L : inexact-ok += ctan towardzero ldbl-96-m68k 0x0p+0L -0x8p-152L : 0x0p+0L -0x7.fffffffffffffff8p-152L : inexact-ok += ctan upward ldbl-96-m68k 0x0p+0L -0x8p-152L : 0x0p+0L -0x7.fffffffffffffff8p-152L : inexact-ok += ctan downward ldbl-128 0x0p+0L -0x8p-152L : 0x0p+0L -0x8p-152L : inexact-ok += ctan tonearest ldbl-128 0x0p+0L -0x8p-152L : 0x0p+0L -0x8p-152L : inexact-ok += ctan towardzero ldbl-128 0x0p+0L -0x8p-152L : 0x0p+0L -0x7.fffffffffffffffffffffffffffcp-152L : inexact-ok += ctan upward ldbl-128 0x0p+0L -0x8p-152L : 0x0p+0L -0x7.fffffffffffffffffffffffffffcp-152L : inexact-ok += ctan downward ldbl-128ibm 0x0p+0L -0x8p-152L : 0x0p+0L -0x8p-152L : inexact-ok += ctan tonearest ldbl-128ibm 0x0p+0L -0x8p-152L : 0x0p+0L -0x8p-152L : inexact-ok += ctan towardzero ldbl-128ibm 0x0p+0L -0x8p-152L : 0x0p+0L -0x7.fffffffffffffffffffffffffep-152L : inexact-ok += ctan upward ldbl-128ibm 0x0p+0L -0x8p-152L : 0x0p+0L -0x7.fffffffffffffffffffffffffep-152L : inexact-ok += ctan downward dbl-64 0x0p+0 -0x4p-1076 : 0x0p+0 -0x4p-1076 : inexact-ok underflow errno-erange-ok += ctan tonearest dbl-64 0x0p+0 -0x4p-1076 : 0x0p+0 -0x4p-1076 : inexact-ok underflow errno-erange-ok += ctan towardzero dbl-64 0x0p+0 -0x4p-1076 : 0x0p+0 -0x0p+0 : inexact-ok underflow errno-erange-ok += ctan upward dbl-64 0x0p+0 -0x4p-1076 : 0x0p+0 -0x0p+0 : inexact-ok underflow errno-erange-ok += ctan downward ldbl-96-intel 0x0p+0L -0x4p-1076L : 0x0p+0L -0x4p-1076L : inexact-ok += ctan tonearest ldbl-96-intel 0x0p+0L -0x4p-1076L : 0x0p+0L -0x4p-1076L : inexact-ok += ctan towardzero ldbl-96-intel 0x0p+0L -0x4p-1076L : 0x0p+0L -0x3.fffffffffffffffcp-1076L : inexact-ok += ctan upward ldbl-96-intel 0x0p+0L -0x4p-1076L : 0x0p+0L -0x3.fffffffffffffffcp-1076L : inexact-ok += ctan downward ldbl-96-m68k 0x0p+0L -0x4p-1076L : 0x0p+0L -0x4p-1076L : inexact-ok += ctan tonearest ldbl-96-m68k 0x0p+0L -0x4p-1076L : 0x0p+0L -0x4p-1076L : inexact-ok += ctan towardzero ldbl-96-m68k 0x0p+0L -0x4p-1076L : 0x0p+0L -0x3.fffffffffffffffcp-1076L : inexact-ok += ctan upward ldbl-96-m68k 0x0p+0L -0x4p-1076L : 0x0p+0L -0x3.fffffffffffffffcp-1076L : inexact-ok += ctan downward ldbl-128 0x0p+0L -0x4p-1076L : 0x0p+0L -0x4p-1076L : inexact-ok += ctan tonearest ldbl-128 0x0p+0L -0x4p-1076L : 0x0p+0L -0x4p-1076L : inexact-ok += ctan towardzero ldbl-128 0x0p+0L -0x4p-1076L : 0x0p+0L -0x3.fffffffffffffffffffffffffffep-1076L : inexact-ok += ctan upward ldbl-128 0x0p+0L -0x4p-1076L : 0x0p+0L -0x3.fffffffffffffffffffffffffffep-1076L : inexact-ok += ctan downward ldbl-128ibm 0x0p+0L -0x4p-1076L : 0x0p+0L -0x4p-1076L : inexact-ok underflow errno-erange-ok += ctan tonearest ldbl-128ibm 0x0p+0L -0x4p-1076L : 0x0p+0L -0x4p-1076L : inexact-ok underflow errno-erange-ok += ctan towardzero ldbl-128ibm 0x0p+0L -0x4p-1076L : 0x0p+0L -0x0p+0L : inexact-ok underflow errno-erange-ok += ctan upward ldbl-128ibm 0x0p+0L -0x4p-1076L : 0x0p+0L -0x0p+0L : inexact-ok underflow errno-erange-ok += ctan downward ldbl-96-intel 0x0p+0L -0x8p-16448L : 0x0p+0L -0x8p-16448L : inexact-ok underflow errno-erange-ok += ctan tonearest ldbl-96-intel 0x0p+0L -0x8p-16448L : 0x0p+0L -0x8p-16448L : inexact-ok underflow errno-erange-ok += ctan towardzero ldbl-96-intel 0x0p+0L -0x8p-16448L : 0x0p+0L -0x0p+0L : inexact-ok underflow errno-erange-ok += ctan upward ldbl-96-intel 0x0p+0L -0x8p-16448L : 0x0p+0L -0x0p+0L : inexact-ok underflow errno-erange-ok += ctan downward ldbl-96-m68k 0x0p+0L -0x8p-16448L : 0x0p+0L -0x8p-16448L : inexact-ok underflow errno-erange-ok += ctan tonearest ldbl-96-m68k 0x0p+0L -0x8p-16448L : 0x0p+0L -0x8p-16448L : inexact-ok underflow errno-erange-ok += ctan towardzero ldbl-96-m68k 0x0p+0L -0x8p-16448L : 0x0p+0L -0x4p-16448L : inexact-ok underflow errno-erange-ok += ctan upward ldbl-96-m68k 0x0p+0L -0x8p-16448L : 0x0p+0L -0x4p-16448L : inexact-ok underflow errno-erange-ok += ctan downward ldbl-128 0x0p+0L -0x8p-16448L : 0x0p+0L -0x8p-16448L : inexact-ok underflow errno-erange-ok += ctan tonearest ldbl-128 0x0p+0L -0x8p-16448L : 0x0p+0L -0x8p-16448L : inexact-ok underflow errno-erange-ok += ctan towardzero ldbl-128 0x0p+0L -0x8p-16448L : 0x0p+0L -0x7.fffffffffffcp-16448L : inexact-ok underflow errno-erange-ok += ctan upward ldbl-128 0x0p+0L -0x8p-16448L : 0x0p+0L -0x7.fffffffffffcp-16448L : inexact-ok underflow errno-erange-ok += ctan downward ldbl-96-m68k 0x0p+0L -0x4p-16448L : 0x0p+0L -0x4p-16448L : inexact-ok underflow errno-erange-ok += ctan tonearest ldbl-96-m68k 0x0p+0L -0x4p-16448L : 0x0p+0L -0x4p-16448L : inexact-ok underflow errno-erange-ok += ctan towardzero ldbl-96-m68k 0x0p+0L -0x4p-16448L : 0x0p+0L -0x0p+0L : inexact-ok underflow errno-erange-ok += ctan upward ldbl-96-m68k 0x0p+0L -0x4p-16448L : 0x0p+0L -0x0p+0L : inexact-ok underflow errno-erange-ok += ctan downward ldbl-128 0x0p+0L -0x4p-16448L : 0x0p+0L -0x4p-16448L : inexact-ok underflow errno-erange-ok += ctan tonearest ldbl-128 0x0p+0L -0x4p-16448L : 0x0p+0L -0x4p-16448L : inexact-ok underflow errno-erange-ok += ctan towardzero ldbl-128 0x0p+0L -0x4p-16448L : 0x0p+0L -0x3.fffffffffffcp-16448L : inexact-ok underflow errno-erange-ok += ctan upward ldbl-128 0x0p+0L -0x4p-16448L : 0x0p+0L -0x3.fffffffffffcp-16448L : inexact-ok underflow errno-erange-ok += ctan downward ldbl-128 0x0p+0L -0x4p-16496L : 0x0p+0L -0x4p-16496L : inexact-ok underflow errno-erange-ok += ctan tonearest ldbl-128 0x0p+0L -0x4p-16496L : 0x0p+0L -0x4p-16496L : inexact-ok underflow errno-erange-ok += ctan towardzero ldbl-128 0x0p+0L -0x4p-16496L : 0x0p+0L -0x0p+0L : inexact-ok underflow errno-erange-ok += ctan upward ldbl-128 0x0p+0L -0x4p-16496L : 0x0p+0L -0x0p+0L : inexact-ok underflow errno-erange-ok ctanh 0 0 = ctanh downward flt-32 0x0p+0f 0x0p+0f : 0x0p+0f 0x0p+0f : inexact-ok = ctanh tonearest flt-32 0x0p+0f 0x0p+0f : 0x0p+0f 0x0p+0f : inexact-ok @@ -110792,7 +111108,7 @@ ctanh 0x1p-16445 0x1.921fb54442d1846ap+0 = ctanh tonearest ldbl-128 0x8p-16448L 0x1.921fb54442d1846ap+0L : 0x2.55e3001b8e1413fcf7193625f37ap-16316L -0x2.29478136aaf68d7b3b807fb349bap+64L : inexact-ok = ctanh towardzero ldbl-128 0x8p-16448L 0x1.921fb54442d1846ap+0L : 0x2.55e3001b8e1413fcf7193625f378p-16316L -0x2.29478136aaf68d7b3b807fb349bap+64L : inexact-ok = ctanh upward ldbl-128 0x8p-16448L 0x1.921fb54442d1846ap+0L : 0x2.55e3001b8e1413fcf7193625f37ap-16316L -0x2.29478136aaf68d7b3b807fb349bap+64L : inexact-ok -ctanh 0 min missing-underflow +ctanh 0 min = ctanh downward flt-32 0x0p+0f 0x4p-128f : 0x0p+0f 0x4p-128f : inexact-ok underflow-ok errno-erange-ok = ctanh tonearest flt-32 0x0p+0f 0x4p-128f : 0x0p+0f 0x4p-128f : inexact-ok underflow-ok errno-erange-ok = ctanh towardzero flt-32 0x0p+0f 0x4p-128f : 0x0p+0f 0x4p-128f : inexact-ok underflow-ok errno-erange-ok @@ -110833,10 +111149,10 @@ ctanh 0 min missing-underflow = ctanh tonearest ldbl-128 0x0p+0L 0x4p-1024L : 0x0p+0L 0x4p-1024L : inexact-ok = ctanh towardzero ldbl-128 0x0p+0L 0x4p-1024L : 0x0p+0L 0x4p-1024L : inexact-ok = ctanh upward ldbl-128 0x0p+0L 0x4p-1024L : 0x0p+0L 0x4.0000000000000000000000000004p-1024L : inexact-ok -= ctanh downward ldbl-128ibm 0x0p+0L 0x4p-1024L : 0x0p+0L 0x4p-1024L : inexact-ok underflow underflow-ok errno-erange-ok -= ctanh tonearest ldbl-128ibm 0x0p+0L 0x4p-1024L : 0x0p+0L 0x4p-1024L : inexact-ok underflow underflow-ok errno-erange-ok -= ctanh towardzero ldbl-128ibm 0x0p+0L 0x4p-1024L : 0x0p+0L 0x4p-1024L : inexact-ok underflow underflow-ok errno-erange-ok -= ctanh upward ldbl-128ibm 0x0p+0L 0x4p-1024L : 0x0p+0L 0x4.0000000000004p-1024L : inexact-ok underflow underflow-ok errno-erange-ok += ctanh downward ldbl-128ibm 0x0p+0L 0x4p-1024L : 0x0p+0L 0x4p-1024L : inexact-ok underflow errno-erange-ok += ctanh tonearest ldbl-128ibm 0x0p+0L 0x4p-1024L : 0x0p+0L 0x4p-1024L : inexact-ok underflow errno-erange-ok += ctanh towardzero ldbl-128ibm 0x0p+0L 0x4p-1024L : 0x0p+0L 0x4p-1024L : inexact-ok underflow errno-erange-ok += ctanh upward ldbl-128ibm 0x0p+0L 0x4p-1024L : 0x0p+0L 0x4.0000000000004p-1024L : inexact-ok underflow errno-erange-ok = ctanh downward ldbl-96-intel 0x0p+0L 0x4p-16384L : 0x0p+0L 0x4p-16384L : inexact-ok underflow-ok errno-erange-ok = ctanh tonearest ldbl-96-intel 0x0p+0L 0x4p-16384L : 0x0p+0L 0x4p-16384L : inexact-ok underflow-ok errno-erange-ok = ctanh towardzero ldbl-96-intel 0x0p+0L 0x4p-16384L : 0x0p+0L 0x4p-16384L : inexact-ok underflow-ok errno-erange-ok @@ -110849,18 +111165,18 @@ ctanh 0 min missing-underflow = ctanh tonearest ldbl-128 0x0p+0L 0x4p-16384L : 0x0p+0L 0x4p-16384L : inexact-ok underflow-ok errno-erange-ok = ctanh towardzero ldbl-128 0x0p+0L 0x4p-16384L : 0x0p+0L 0x4p-16384L : inexact-ok underflow-ok errno-erange-ok = ctanh upward ldbl-128 0x0p+0L 0x4p-16384L : 0x0p+0L 0x4.0000000000000000000000000004p-16384L : inexact-ok underflow-ok errno-erange-ok -= ctanh downward ldbl-96-intel 0x0p+0L 0x2p-16384L : 0x0p+0L 0x2p-16384L : inexact-ok underflow underflow-ok errno-erange-ok -= ctanh tonearest ldbl-96-intel 0x0p+0L 0x2p-16384L : 0x0p+0L 0x2p-16384L : inexact-ok underflow underflow-ok errno-erange-ok -= ctanh towardzero ldbl-96-intel 0x0p+0L 0x2p-16384L : 0x0p+0L 0x2p-16384L : inexact-ok underflow underflow-ok errno-erange-ok -= ctanh upward ldbl-96-intel 0x0p+0L 0x2p-16384L : 0x0p+0L 0x2.0000000000000008p-16384L : inexact-ok underflow underflow-ok errno-erange-ok += ctanh downward ldbl-96-intel 0x0p+0L 0x2p-16384L : 0x0p+0L 0x2p-16384L : inexact-ok underflow errno-erange-ok += ctanh tonearest ldbl-96-intel 0x0p+0L 0x2p-16384L : 0x0p+0L 0x2p-16384L : inexact-ok underflow errno-erange-ok += ctanh towardzero ldbl-96-intel 0x0p+0L 0x2p-16384L : 0x0p+0L 0x2p-16384L : inexact-ok underflow errno-erange-ok += ctanh upward ldbl-96-intel 0x0p+0L 0x2p-16384L : 0x0p+0L 0x2.0000000000000008p-16384L : inexact-ok underflow errno-erange-ok = ctanh downward ldbl-96-m68k 0x0p+0L 0x2p-16384L : 0x0p+0L 0x2p-16384L : inexact-ok underflow-ok errno-erange-ok = ctanh tonearest ldbl-96-m68k 0x0p+0L 0x2p-16384L : 0x0p+0L 0x2p-16384L : inexact-ok underflow-ok errno-erange-ok = ctanh towardzero ldbl-96-m68k 0x0p+0L 0x2p-16384L : 0x0p+0L 0x2p-16384L : inexact-ok underflow-ok errno-erange-ok = ctanh upward ldbl-96-m68k 0x0p+0L 0x2p-16384L : 0x0p+0L 0x2.0000000000000004p-16384L : inexact-ok underflow-ok errno-erange-ok -= ctanh downward ldbl-128 0x0p+0L 0x2p-16384L : 0x0p+0L 0x2p-16384L : inexact-ok underflow underflow-ok errno-erange-ok -= ctanh tonearest ldbl-128 0x0p+0L 0x2p-16384L : 0x0p+0L 0x2p-16384L : inexact-ok underflow underflow-ok errno-erange-ok -= ctanh towardzero ldbl-128 0x0p+0L 0x2p-16384L : 0x0p+0L 0x2p-16384L : inexact-ok underflow underflow-ok errno-erange-ok -= ctanh upward ldbl-128 0x0p+0L 0x2p-16384L : 0x0p+0L 0x2.0000000000000000000000000004p-16384L : inexact-ok underflow underflow-ok errno-erange-ok += ctanh downward ldbl-128 0x0p+0L 0x2p-16384L : 0x0p+0L 0x2p-16384L : inexact-ok underflow errno-erange-ok += ctanh tonearest ldbl-128 0x0p+0L 0x2p-16384L : 0x0p+0L 0x2p-16384L : inexact-ok underflow errno-erange-ok += ctanh towardzero ldbl-128 0x0p+0L 0x2p-16384L : 0x0p+0L 0x2p-16384L : inexact-ok underflow errno-erange-ok += ctanh upward ldbl-128 0x0p+0L 0x2p-16384L : 0x0p+0L 0x2.0000000000000000000000000004p-16384L : inexact-ok underflow errno-erange-ok = ctanh downward dbl-64 0x0p+0 0x8p-972 : 0x0p+0 0x8p-972 : inexact-ok = ctanh tonearest dbl-64 0x0p+0 0x8p-972 : 0x0p+0 0x8p-972 : inexact-ok = ctanh towardzero dbl-64 0x0p+0 0x8p-972 : 0x0p+0 0x8p-972 : inexact-ok @@ -110881,7 +111197,7 @@ ctanh 0 min missing-underflow = ctanh tonearest ldbl-128ibm 0x0p+0L 0x8p-972L : 0x0p+0L 0x8p-972L : inexact-ok underflow-ok errno-erange-ok = ctanh towardzero ldbl-128ibm 0x0p+0L 0x8p-972L : 0x0p+0L 0x8p-972L : inexact-ok underflow-ok errno-erange-ok = ctanh upward ldbl-128ibm 0x0p+0L 0x8p-972L : 0x0p+0L 0x8.00000000000000000000000004p-972L : inexact-ok underflow-ok errno-erange-ok -ctanh 0 -min missing-underflow +ctanh 0 -min = ctanh downward flt-32 0x0p+0f -0x4p-128f : 0x0p+0f -0x4.000008p-128f : inexact-ok underflow-ok errno-erange-ok = ctanh tonearest flt-32 0x0p+0f -0x4p-128f : 0x0p+0f -0x4p-128f : inexact-ok underflow-ok errno-erange-ok = ctanh towardzero flt-32 0x0p+0f -0x4p-128f : 0x0p+0f -0x4p-128f : inexact-ok underflow-ok errno-erange-ok @@ -110922,10 +111238,10 @@ ctanh 0 -min missing-underflow = ctanh tonearest ldbl-128 0x0p+0L -0x4p-1024L : 0x0p+0L -0x4p-1024L : inexact-ok = ctanh towardzero ldbl-128 0x0p+0L -0x4p-1024L : 0x0p+0L -0x4p-1024L : inexact-ok = ctanh upward ldbl-128 0x0p+0L -0x4p-1024L : 0x0p+0L -0x4p-1024L : inexact-ok -= ctanh downward ldbl-128ibm 0x0p+0L -0x4p-1024L : 0x0p+0L -0x4.0000000000004p-1024L : inexact-ok underflow underflow-ok errno-erange-ok -= ctanh tonearest ldbl-128ibm 0x0p+0L -0x4p-1024L : 0x0p+0L -0x4p-1024L : inexact-ok underflow underflow-ok errno-erange-ok -= ctanh towardzero ldbl-128ibm 0x0p+0L -0x4p-1024L : 0x0p+0L -0x4p-1024L : inexact-ok underflow underflow-ok errno-erange-ok -= ctanh upward ldbl-128ibm 0x0p+0L -0x4p-1024L : 0x0p+0L -0x4p-1024L : inexact-ok underflow underflow-ok errno-erange-ok += ctanh downward ldbl-128ibm 0x0p+0L -0x4p-1024L : 0x0p+0L -0x4.0000000000004p-1024L : inexact-ok underflow errno-erange-ok += ctanh tonearest ldbl-128ibm 0x0p+0L -0x4p-1024L : 0x0p+0L -0x4p-1024L : inexact-ok underflow errno-erange-ok += ctanh towardzero ldbl-128ibm 0x0p+0L -0x4p-1024L : 0x0p+0L -0x4p-1024L : inexact-ok underflow errno-erange-ok += ctanh upward ldbl-128ibm 0x0p+0L -0x4p-1024L : 0x0p+0L -0x4p-1024L : inexact-ok underflow errno-erange-ok = ctanh downward ldbl-96-intel 0x0p+0L -0x4p-16384L : 0x0p+0L -0x4.0000000000000008p-16384L : inexact-ok underflow-ok errno-erange-ok = ctanh tonearest ldbl-96-intel 0x0p+0L -0x4p-16384L : 0x0p+0L -0x4p-16384L : inexact-ok underflow-ok errno-erange-ok = ctanh towardzero ldbl-96-intel 0x0p+0L -0x4p-16384L : 0x0p+0L -0x4p-16384L : inexact-ok underflow-ok errno-erange-ok @@ -110938,18 +111254,18 @@ ctanh 0 -min missing-underflow = ctanh tonearest ldbl-128 0x0p+0L -0x4p-16384L : 0x0p+0L -0x4p-16384L : inexact-ok underflow-ok errno-erange-ok = ctanh towardzero ldbl-128 0x0p+0L -0x4p-16384L : 0x0p+0L -0x4p-16384L : inexact-ok underflow-ok errno-erange-ok = ctanh upward ldbl-128 0x0p+0L -0x4p-16384L : 0x0p+0L -0x4p-16384L : inexact-ok underflow-ok errno-erange-ok -= ctanh downward ldbl-96-intel 0x0p+0L -0x2p-16384L : 0x0p+0L -0x2.0000000000000008p-16384L : inexact-ok underflow underflow-ok errno-erange-ok -= ctanh tonearest ldbl-96-intel 0x0p+0L -0x2p-16384L : 0x0p+0L -0x2p-16384L : inexact-ok underflow underflow-ok errno-erange-ok -= ctanh towardzero ldbl-96-intel 0x0p+0L -0x2p-16384L : 0x0p+0L -0x2p-16384L : inexact-ok underflow underflow-ok errno-erange-ok -= ctanh upward ldbl-96-intel 0x0p+0L -0x2p-16384L : 0x0p+0L -0x2p-16384L : inexact-ok underflow underflow-ok errno-erange-ok += ctanh downward ldbl-96-intel 0x0p+0L -0x2p-16384L : 0x0p+0L -0x2.0000000000000008p-16384L : inexact-ok underflow errno-erange-ok += ctanh tonearest ldbl-96-intel 0x0p+0L -0x2p-16384L : 0x0p+0L -0x2p-16384L : inexact-ok underflow errno-erange-ok += ctanh towardzero ldbl-96-intel 0x0p+0L -0x2p-16384L : 0x0p+0L -0x2p-16384L : inexact-ok underflow errno-erange-ok += ctanh upward ldbl-96-intel 0x0p+0L -0x2p-16384L : 0x0p+0L -0x2p-16384L : inexact-ok underflow errno-erange-ok = ctanh downward ldbl-96-m68k 0x0p+0L -0x2p-16384L : 0x0p+0L -0x2.0000000000000004p-16384L : inexact-ok underflow-ok errno-erange-ok = ctanh tonearest ldbl-96-m68k 0x0p+0L -0x2p-16384L : 0x0p+0L -0x2p-16384L : inexact-ok underflow-ok errno-erange-ok = ctanh towardzero ldbl-96-m68k 0x0p+0L -0x2p-16384L : 0x0p+0L -0x2p-16384L : inexact-ok underflow-ok errno-erange-ok = ctanh upward ldbl-96-m68k 0x0p+0L -0x2p-16384L : 0x0p+0L -0x2p-16384L : inexact-ok underflow-ok errno-erange-ok -= ctanh downward ldbl-128 0x0p+0L -0x2p-16384L : 0x0p+0L -0x2.0000000000000000000000000004p-16384L : inexact-ok underflow underflow-ok errno-erange-ok -= ctanh tonearest ldbl-128 0x0p+0L -0x2p-16384L : 0x0p+0L -0x2p-16384L : inexact-ok underflow underflow-ok errno-erange-ok -= ctanh towardzero ldbl-128 0x0p+0L -0x2p-16384L : 0x0p+0L -0x2p-16384L : inexact-ok underflow underflow-ok errno-erange-ok -= ctanh upward ldbl-128 0x0p+0L -0x2p-16384L : 0x0p+0L -0x2p-16384L : inexact-ok underflow underflow-ok errno-erange-ok += ctanh downward ldbl-128 0x0p+0L -0x2p-16384L : 0x0p+0L -0x2.0000000000000000000000000004p-16384L : inexact-ok underflow errno-erange-ok += ctanh tonearest ldbl-128 0x0p+0L -0x2p-16384L : 0x0p+0L -0x2p-16384L : inexact-ok underflow errno-erange-ok += ctanh towardzero ldbl-128 0x0p+0L -0x2p-16384L : 0x0p+0L -0x2p-16384L : inexact-ok underflow errno-erange-ok += ctanh upward ldbl-128 0x0p+0L -0x2p-16384L : 0x0p+0L -0x2p-16384L : inexact-ok underflow errno-erange-ok = ctanh downward dbl-64 0x0p+0 -0x8p-972 : 0x0p+0 -0x8.0000000000008p-972 : inexact-ok = ctanh tonearest dbl-64 0x0p+0 -0x8p-972 : 0x0p+0 -0x8p-972 : inexact-ok = ctanh towardzero dbl-64 0x0p+0 -0x8p-972 : 0x0p+0 -0x8p-972 : inexact-ok @@ -110970,11 +111286,11 @@ ctanh 0 -min missing-underflow = ctanh tonearest ldbl-128ibm 0x0p+0L -0x8p-972L : 0x0p+0L -0x8p-972L : inexact-ok underflow-ok errno-erange-ok = ctanh towardzero ldbl-128ibm 0x0p+0L -0x8p-972L : 0x0p+0L -0x8p-972L : inexact-ok underflow-ok errno-erange-ok = ctanh upward ldbl-128ibm 0x0p+0L -0x8p-972L : 0x0p+0L -0x8p-972L : inexact-ok underflow-ok errno-erange-ok -ctanh 0 min_subnorm missing-underflow -= ctanh downward flt-32 0x0p+0f 0x8p-152f : 0x0p+0f 0x8p-152f : inexact-ok underflow underflow-ok errno-erange-ok -= ctanh tonearest flt-32 0x0p+0f 0x8p-152f : 0x0p+0f 0x8p-152f : inexact-ok underflow underflow-ok errno-erange-ok -= ctanh towardzero flt-32 0x0p+0f 0x8p-152f : 0x0p+0f 0x8p-152f : inexact-ok underflow underflow-ok errno-erange-ok -= ctanh upward flt-32 0x0p+0f 0x8p-152f : 0x0p+0f 0x1p-148f : inexact-ok underflow underflow-ok errno-erange-ok +ctanh 0 min_subnorm += ctanh downward flt-32 0x0p+0f 0x8p-152f : 0x0p+0f 0x8p-152f : inexact-ok underflow errno-erange-ok += ctanh tonearest flt-32 0x0p+0f 0x8p-152f : 0x0p+0f 0x8p-152f : inexact-ok underflow errno-erange-ok += ctanh towardzero flt-32 0x0p+0f 0x8p-152f : 0x0p+0f 0x8p-152f : inexact-ok underflow errno-erange-ok += ctanh upward flt-32 0x0p+0f 0x8p-152f : 0x0p+0f 0x1p-148f : inexact-ok underflow errno-erange-ok = ctanh downward dbl-64 0x0p+0 0x8p-152 : 0x0p+0 0x8p-152 : inexact-ok = ctanh tonearest dbl-64 0x0p+0 0x8p-152 : 0x0p+0 0x8p-152 : inexact-ok = ctanh towardzero dbl-64 0x0p+0 0x8p-152 : 0x0p+0 0x8p-152 : inexact-ok @@ -110995,10 +111311,10 @@ ctanh 0 min_subnorm missing-underflow = ctanh tonearest ldbl-128ibm 0x0p+0L 0x8p-152L : 0x0p+0L 0x8p-152L : inexact-ok = ctanh towardzero ldbl-128ibm 0x0p+0L 0x8p-152L : 0x0p+0L 0x8p-152L : inexact-ok = ctanh upward ldbl-128ibm 0x0p+0L 0x8p-152L : 0x0p+0L 0x8.00000000000000000000000004p-152L : inexact-ok -= ctanh downward dbl-64 0x0p+0 0x4p-1076 : 0x0p+0 0x4p-1076 : inexact-ok underflow underflow-ok errno-erange-ok -= ctanh tonearest dbl-64 0x0p+0 0x4p-1076 : 0x0p+0 0x4p-1076 : inexact-ok underflow underflow-ok errno-erange-ok -= ctanh towardzero dbl-64 0x0p+0 0x4p-1076 : 0x0p+0 0x4p-1076 : inexact-ok underflow underflow-ok errno-erange-ok -= ctanh upward dbl-64 0x0p+0 0x4p-1076 : 0x0p+0 0x8p-1076 : inexact-ok underflow underflow-ok errno-erange-ok += ctanh downward dbl-64 0x0p+0 0x4p-1076 : 0x0p+0 0x4p-1076 : inexact-ok underflow errno-erange-ok += ctanh tonearest dbl-64 0x0p+0 0x4p-1076 : 0x0p+0 0x4p-1076 : inexact-ok underflow errno-erange-ok += ctanh towardzero dbl-64 0x0p+0 0x4p-1076 : 0x0p+0 0x4p-1076 : inexact-ok underflow errno-erange-ok += ctanh upward dbl-64 0x0p+0 0x4p-1076 : 0x0p+0 0x8p-1076 : inexact-ok underflow errno-erange-ok = ctanh downward ldbl-96-intel 0x0p+0L 0x4p-1076L : 0x0p+0L 0x4p-1076L : inexact-ok = ctanh tonearest ldbl-96-intel 0x0p+0L 0x4p-1076L : 0x0p+0L 0x4p-1076L : inexact-ok = ctanh towardzero ldbl-96-intel 0x0p+0L 0x4p-1076L : 0x0p+0L 0x4p-1076L : inexact-ok @@ -111011,39 +111327,39 @@ ctanh 0 min_subnorm missing-underflow = ctanh tonearest ldbl-128 0x0p+0L 0x4p-1076L : 0x0p+0L 0x4p-1076L : inexact-ok = ctanh towardzero ldbl-128 0x0p+0L 0x4p-1076L : 0x0p+0L 0x4p-1076L : inexact-ok = ctanh upward ldbl-128 0x0p+0L 0x4p-1076L : 0x0p+0L 0x4.0000000000000000000000000004p-1076L : inexact-ok -= ctanh downward ldbl-128ibm 0x0p+0L 0x4p-1076L : 0x0p+0L 0x4p-1076L : inexact-ok underflow underflow-ok errno-erange-ok -= ctanh tonearest ldbl-128ibm 0x0p+0L 0x4p-1076L : 0x0p+0L 0x4p-1076L : inexact-ok underflow underflow-ok errno-erange-ok -= ctanh towardzero ldbl-128ibm 0x0p+0L 0x4p-1076L : 0x0p+0L 0x4p-1076L : inexact-ok underflow underflow-ok errno-erange-ok -= ctanh upward ldbl-128ibm 0x0p+0L 0x4p-1076L : 0x0p+0L 0x8p-1076L : inexact-ok underflow underflow-ok errno-erange-ok -= ctanh downward ldbl-96-intel 0x0p+0L 0x8p-16448L : 0x0p+0L 0x8p-16448L : inexact-ok underflow underflow-ok errno-erange-ok -= ctanh tonearest ldbl-96-intel 0x0p+0L 0x8p-16448L : 0x0p+0L 0x8p-16448L : inexact-ok underflow underflow-ok errno-erange-ok -= ctanh towardzero ldbl-96-intel 0x0p+0L 0x8p-16448L : 0x0p+0L 0x8p-16448L : inexact-ok underflow underflow-ok errno-erange-ok -= ctanh upward ldbl-96-intel 0x0p+0L 0x8p-16448L : 0x0p+0L 0x1p-16444L : inexact-ok underflow underflow-ok errno-erange-ok -= ctanh downward ldbl-96-m68k 0x0p+0L 0x8p-16448L : 0x0p+0L 0x8p-16448L : inexact-ok underflow underflow-ok errno-erange-ok -= ctanh tonearest ldbl-96-m68k 0x0p+0L 0x8p-16448L : 0x0p+0L 0x8p-16448L : inexact-ok underflow underflow-ok errno-erange-ok -= ctanh towardzero ldbl-96-m68k 0x0p+0L 0x8p-16448L : 0x0p+0L 0x8p-16448L : inexact-ok underflow underflow-ok errno-erange-ok -= ctanh upward ldbl-96-m68k 0x0p+0L 0x8p-16448L : 0x0p+0L 0xcp-16448L : inexact-ok underflow underflow-ok errno-erange-ok -= ctanh downward ldbl-128 0x0p+0L 0x8p-16448L : 0x0p+0L 0x8p-16448L : inexact-ok underflow underflow-ok errno-erange-ok -= ctanh tonearest ldbl-128 0x0p+0L 0x8p-16448L : 0x0p+0L 0x8p-16448L : inexact-ok underflow underflow-ok errno-erange-ok -= ctanh towardzero ldbl-128 0x0p+0L 0x8p-16448L : 0x0p+0L 0x8p-16448L : inexact-ok underflow underflow-ok errno-erange-ok -= ctanh upward ldbl-128 0x0p+0L 0x8p-16448L : 0x0p+0L 0x8.000000000004p-16448L : inexact-ok underflow underflow-ok errno-erange-ok -= ctanh downward ldbl-96-m68k 0x0p+0L 0x4p-16448L : 0x0p+0L 0x4p-16448L : inexact-ok underflow underflow-ok errno-erange-ok -= ctanh tonearest ldbl-96-m68k 0x0p+0L 0x4p-16448L : 0x0p+0L 0x4p-16448L : inexact-ok underflow underflow-ok errno-erange-ok -= ctanh towardzero ldbl-96-m68k 0x0p+0L 0x4p-16448L : 0x0p+0L 0x4p-16448L : inexact-ok underflow underflow-ok errno-erange-ok -= ctanh upward ldbl-96-m68k 0x0p+0L 0x4p-16448L : 0x0p+0L 0x8p-16448L : inexact-ok underflow underflow-ok errno-erange-ok -= ctanh downward ldbl-128 0x0p+0L 0x4p-16448L : 0x0p+0L 0x4p-16448L : inexact-ok underflow underflow-ok errno-erange-ok -= ctanh tonearest ldbl-128 0x0p+0L 0x4p-16448L : 0x0p+0L 0x4p-16448L : inexact-ok underflow underflow-ok errno-erange-ok -= ctanh towardzero ldbl-128 0x0p+0L 0x4p-16448L : 0x0p+0L 0x4p-16448L : inexact-ok underflow underflow-ok errno-erange-ok -= ctanh upward ldbl-128 0x0p+0L 0x4p-16448L : 0x0p+0L 0x4.000000000004p-16448L : inexact-ok underflow underflow-ok errno-erange-ok -= ctanh downward ldbl-128 0x0p+0L 0x4p-16496L : 0x0p+0L 0x4p-16496L : inexact-ok underflow underflow-ok errno-erange-ok -= ctanh tonearest ldbl-128 0x0p+0L 0x4p-16496L : 0x0p+0L 0x4p-16496L : inexact-ok underflow underflow-ok errno-erange-ok -= ctanh towardzero ldbl-128 0x0p+0L 0x4p-16496L : 0x0p+0L 0x4p-16496L : inexact-ok underflow underflow-ok errno-erange-ok -= ctanh upward ldbl-128 0x0p+0L 0x4p-16496L : 0x0p+0L 0x8p-16496L : inexact-ok underflow underflow-ok errno-erange-ok -ctanh 0 -min_subnorm missing-underflow -= ctanh downward flt-32 0x0p+0f -0x8p-152f : 0x0p+0f -0x1p-148f : inexact-ok underflow underflow-ok errno-erange-ok -= ctanh tonearest flt-32 0x0p+0f -0x8p-152f : 0x0p+0f -0x8p-152f : inexact-ok underflow underflow-ok errno-erange-ok -= ctanh towardzero flt-32 0x0p+0f -0x8p-152f : 0x0p+0f -0x8p-152f : inexact-ok underflow underflow-ok errno-erange-ok -= ctanh upward flt-32 0x0p+0f -0x8p-152f : 0x0p+0f -0x8p-152f : inexact-ok underflow underflow-ok errno-erange-ok += ctanh downward ldbl-128ibm 0x0p+0L 0x4p-1076L : 0x0p+0L 0x4p-1076L : inexact-ok underflow errno-erange-ok += ctanh tonearest ldbl-128ibm 0x0p+0L 0x4p-1076L : 0x0p+0L 0x4p-1076L : inexact-ok underflow errno-erange-ok += ctanh towardzero ldbl-128ibm 0x0p+0L 0x4p-1076L : 0x0p+0L 0x4p-1076L : inexact-ok underflow errno-erange-ok += ctanh upward ldbl-128ibm 0x0p+0L 0x4p-1076L : 0x0p+0L 0x8p-1076L : inexact-ok underflow errno-erange-ok += ctanh downward ldbl-96-intel 0x0p+0L 0x8p-16448L : 0x0p+0L 0x8p-16448L : inexact-ok underflow errno-erange-ok += ctanh tonearest ldbl-96-intel 0x0p+0L 0x8p-16448L : 0x0p+0L 0x8p-16448L : inexact-ok underflow errno-erange-ok += ctanh towardzero ldbl-96-intel 0x0p+0L 0x8p-16448L : 0x0p+0L 0x8p-16448L : inexact-ok underflow errno-erange-ok += ctanh upward ldbl-96-intel 0x0p+0L 0x8p-16448L : 0x0p+0L 0x1p-16444L : inexact-ok underflow errno-erange-ok += ctanh downward ldbl-96-m68k 0x0p+0L 0x8p-16448L : 0x0p+0L 0x8p-16448L : inexact-ok underflow errno-erange-ok += ctanh tonearest ldbl-96-m68k 0x0p+0L 0x8p-16448L : 0x0p+0L 0x8p-16448L : inexact-ok underflow errno-erange-ok += ctanh towardzero ldbl-96-m68k 0x0p+0L 0x8p-16448L : 0x0p+0L 0x8p-16448L : inexact-ok underflow errno-erange-ok += ctanh upward ldbl-96-m68k 0x0p+0L 0x8p-16448L : 0x0p+0L 0xcp-16448L : inexact-ok underflow errno-erange-ok += ctanh downward ldbl-128 0x0p+0L 0x8p-16448L : 0x0p+0L 0x8p-16448L : inexact-ok underflow errno-erange-ok += ctanh tonearest ldbl-128 0x0p+0L 0x8p-16448L : 0x0p+0L 0x8p-16448L : inexact-ok underflow errno-erange-ok += ctanh towardzero ldbl-128 0x0p+0L 0x8p-16448L : 0x0p+0L 0x8p-16448L : inexact-ok underflow errno-erange-ok += ctanh upward ldbl-128 0x0p+0L 0x8p-16448L : 0x0p+0L 0x8.000000000004p-16448L : inexact-ok underflow errno-erange-ok += ctanh downward ldbl-96-m68k 0x0p+0L 0x4p-16448L : 0x0p+0L 0x4p-16448L : inexact-ok underflow errno-erange-ok += ctanh tonearest ldbl-96-m68k 0x0p+0L 0x4p-16448L : 0x0p+0L 0x4p-16448L : inexact-ok underflow errno-erange-ok += ctanh towardzero ldbl-96-m68k 0x0p+0L 0x4p-16448L : 0x0p+0L 0x4p-16448L : inexact-ok underflow errno-erange-ok += ctanh upward ldbl-96-m68k 0x0p+0L 0x4p-16448L : 0x0p+0L 0x8p-16448L : inexact-ok underflow errno-erange-ok += ctanh downward ldbl-128 0x0p+0L 0x4p-16448L : 0x0p+0L 0x4p-16448L : inexact-ok underflow errno-erange-ok += ctanh tonearest ldbl-128 0x0p+0L 0x4p-16448L : 0x0p+0L 0x4p-16448L : inexact-ok underflow errno-erange-ok += ctanh towardzero ldbl-128 0x0p+0L 0x4p-16448L : 0x0p+0L 0x4p-16448L : inexact-ok underflow errno-erange-ok += ctanh upward ldbl-128 0x0p+0L 0x4p-16448L : 0x0p+0L 0x4.000000000004p-16448L : inexact-ok underflow errno-erange-ok += ctanh downward ldbl-128 0x0p+0L 0x4p-16496L : 0x0p+0L 0x4p-16496L : inexact-ok underflow errno-erange-ok += ctanh tonearest ldbl-128 0x0p+0L 0x4p-16496L : 0x0p+0L 0x4p-16496L : inexact-ok underflow errno-erange-ok += ctanh towardzero ldbl-128 0x0p+0L 0x4p-16496L : 0x0p+0L 0x4p-16496L : inexact-ok underflow errno-erange-ok += ctanh upward ldbl-128 0x0p+0L 0x4p-16496L : 0x0p+0L 0x8p-16496L : inexact-ok underflow errno-erange-ok +ctanh 0 -min_subnorm += ctanh downward flt-32 0x0p+0f -0x8p-152f : 0x0p+0f -0x1p-148f : inexact-ok underflow errno-erange-ok += ctanh tonearest flt-32 0x0p+0f -0x8p-152f : 0x0p+0f -0x8p-152f : inexact-ok underflow errno-erange-ok += ctanh towardzero flt-32 0x0p+0f -0x8p-152f : 0x0p+0f -0x8p-152f : inexact-ok underflow errno-erange-ok += ctanh upward flt-32 0x0p+0f -0x8p-152f : 0x0p+0f -0x8p-152f : inexact-ok underflow errno-erange-ok = ctanh downward dbl-64 0x0p+0 -0x8p-152 : 0x0p+0 -0x8.0000000000008p-152 : inexact-ok = ctanh tonearest dbl-64 0x0p+0 -0x8p-152 : 0x0p+0 -0x8p-152 : inexact-ok = ctanh towardzero dbl-64 0x0p+0 -0x8p-152 : 0x0p+0 -0x8p-152 : inexact-ok @@ -111064,10 +111380,10 @@ ctanh 0 -min_subnorm missing-underflow = ctanh tonearest ldbl-128ibm 0x0p+0L -0x8p-152L : 0x0p+0L -0x8p-152L : inexact-ok = ctanh towardzero ldbl-128ibm 0x0p+0L -0x8p-152L : 0x0p+0L -0x8p-152L : inexact-ok = ctanh upward ldbl-128ibm 0x0p+0L -0x8p-152L : 0x0p+0L -0x8p-152L : inexact-ok -= ctanh downward dbl-64 0x0p+0 -0x4p-1076 : 0x0p+0 -0x8p-1076 : inexact-ok underflow underflow-ok errno-erange-ok -= ctanh tonearest dbl-64 0x0p+0 -0x4p-1076 : 0x0p+0 -0x4p-1076 : inexact-ok underflow underflow-ok errno-erange-ok -= ctanh towardzero dbl-64 0x0p+0 -0x4p-1076 : 0x0p+0 -0x4p-1076 : inexact-ok underflow underflow-ok errno-erange-ok -= ctanh upward dbl-64 0x0p+0 -0x4p-1076 : 0x0p+0 -0x4p-1076 : inexact-ok underflow underflow-ok errno-erange-ok += ctanh downward dbl-64 0x0p+0 -0x4p-1076 : 0x0p+0 -0x8p-1076 : inexact-ok underflow errno-erange-ok += ctanh tonearest dbl-64 0x0p+0 -0x4p-1076 : 0x0p+0 -0x4p-1076 : inexact-ok underflow errno-erange-ok += ctanh towardzero dbl-64 0x0p+0 -0x4p-1076 : 0x0p+0 -0x4p-1076 : inexact-ok underflow errno-erange-ok += ctanh upward dbl-64 0x0p+0 -0x4p-1076 : 0x0p+0 -0x4p-1076 : inexact-ok underflow errno-erange-ok = ctanh downward ldbl-96-intel 0x0p+0L -0x4p-1076L : 0x0p+0L -0x4.0000000000000008p-1076L : inexact-ok = ctanh tonearest ldbl-96-intel 0x0p+0L -0x4p-1076L : 0x0p+0L -0x4p-1076L : inexact-ok = ctanh towardzero ldbl-96-intel 0x0p+0L -0x4p-1076L : 0x0p+0L -0x4p-1076L : inexact-ok @@ -111080,34 +111396,350 @@ ctanh 0 -min_subnorm missing-underflow = ctanh tonearest ldbl-128 0x0p+0L -0x4p-1076L : 0x0p+0L -0x4p-1076L : inexact-ok = ctanh towardzero ldbl-128 0x0p+0L -0x4p-1076L : 0x0p+0L -0x4p-1076L : inexact-ok = ctanh upward ldbl-128 0x0p+0L -0x4p-1076L : 0x0p+0L -0x4p-1076L : inexact-ok -= ctanh downward ldbl-128ibm 0x0p+0L -0x4p-1076L : 0x0p+0L -0x8p-1076L : inexact-ok underflow underflow-ok errno-erange-ok -= ctanh tonearest ldbl-128ibm 0x0p+0L -0x4p-1076L : 0x0p+0L -0x4p-1076L : inexact-ok underflow underflow-ok errno-erange-ok -= ctanh towardzero ldbl-128ibm 0x0p+0L -0x4p-1076L : 0x0p+0L -0x4p-1076L : inexact-ok underflow underflow-ok errno-erange-ok -= ctanh upward ldbl-128ibm 0x0p+0L -0x4p-1076L : 0x0p+0L -0x4p-1076L : inexact-ok underflow underflow-ok errno-erange-ok -= ctanh downward ldbl-96-intel 0x0p+0L -0x8p-16448L : 0x0p+0L -0x1p-16444L : inexact-ok underflow underflow-ok errno-erange-ok -= ctanh tonearest ldbl-96-intel 0x0p+0L -0x8p-16448L : 0x0p+0L -0x8p-16448L : inexact-ok underflow underflow-ok errno-erange-ok -= ctanh towardzero ldbl-96-intel 0x0p+0L -0x8p-16448L : 0x0p+0L -0x8p-16448L : inexact-ok underflow underflow-ok errno-erange-ok -= ctanh upward ldbl-96-intel 0x0p+0L -0x8p-16448L : 0x0p+0L -0x8p-16448L : inexact-ok underflow underflow-ok errno-erange-ok -= ctanh downward ldbl-96-m68k 0x0p+0L -0x8p-16448L : 0x0p+0L -0xcp-16448L : inexact-ok underflow underflow-ok errno-erange-ok -= ctanh tonearest ldbl-96-m68k 0x0p+0L -0x8p-16448L : 0x0p+0L -0x8p-16448L : inexact-ok underflow underflow-ok errno-erange-ok -= ctanh towardzero ldbl-96-m68k 0x0p+0L -0x8p-16448L : 0x0p+0L -0x8p-16448L : inexact-ok underflow underflow-ok errno-erange-ok -= ctanh upward ldbl-96-m68k 0x0p+0L -0x8p-16448L : 0x0p+0L -0x8p-16448L : inexact-ok underflow underflow-ok errno-erange-ok -= ctanh downward ldbl-128 0x0p+0L -0x8p-16448L : 0x0p+0L -0x8.000000000004p-16448L : inexact-ok underflow underflow-ok errno-erange-ok -= ctanh tonearest ldbl-128 0x0p+0L -0x8p-16448L : 0x0p+0L -0x8p-16448L : inexact-ok underflow underflow-ok errno-erange-ok -= ctanh towardzero ldbl-128 0x0p+0L -0x8p-16448L : 0x0p+0L -0x8p-16448L : inexact-ok underflow underflow-ok errno-erange-ok -= ctanh upward ldbl-128 0x0p+0L -0x8p-16448L : 0x0p+0L -0x8p-16448L : inexact-ok underflow underflow-ok errno-erange-ok -= ctanh downward ldbl-96-m68k 0x0p+0L -0x4p-16448L : 0x0p+0L -0x8p-16448L : inexact-ok underflow underflow-ok errno-erange-ok -= ctanh tonearest ldbl-96-m68k 0x0p+0L -0x4p-16448L : 0x0p+0L -0x4p-16448L : inexact-ok underflow underflow-ok errno-erange-ok -= ctanh towardzero ldbl-96-m68k 0x0p+0L -0x4p-16448L : 0x0p+0L -0x4p-16448L : inexact-ok underflow underflow-ok errno-erange-ok -= ctanh upward ldbl-96-m68k 0x0p+0L -0x4p-16448L : 0x0p+0L -0x4p-16448L : inexact-ok underflow underflow-ok errno-erange-ok -= ctanh downward ldbl-128 0x0p+0L -0x4p-16448L : 0x0p+0L -0x4.000000000004p-16448L : inexact-ok underflow underflow-ok errno-erange-ok -= ctanh tonearest ldbl-128 0x0p+0L -0x4p-16448L : 0x0p+0L -0x4p-16448L : inexact-ok underflow underflow-ok errno-erange-ok -= ctanh towardzero ldbl-128 0x0p+0L -0x4p-16448L : 0x0p+0L -0x4p-16448L : inexact-ok underflow underflow-ok errno-erange-ok -= ctanh upward ldbl-128 0x0p+0L -0x4p-16448L : 0x0p+0L -0x4p-16448L : inexact-ok underflow underflow-ok errno-erange-ok -= ctanh downward ldbl-128 0x0p+0L -0x4p-16496L : 0x0p+0L -0x8p-16496L : inexact-ok underflow underflow-ok errno-erange-ok -= ctanh tonearest ldbl-128 0x0p+0L -0x4p-16496L : 0x0p+0L -0x4p-16496L : inexact-ok underflow underflow-ok errno-erange-ok -= ctanh towardzero ldbl-128 0x0p+0L -0x4p-16496L : 0x0p+0L -0x4p-16496L : inexact-ok underflow underflow-ok errno-erange-ok -= ctanh upward ldbl-128 0x0p+0L -0x4p-16496L : 0x0p+0L -0x4p-16496L : inexact-ok underflow underflow-ok errno-erange-ok += ctanh downward ldbl-128ibm 0x0p+0L -0x4p-1076L : 0x0p+0L -0x8p-1076L : inexact-ok underflow errno-erange-ok += ctanh tonearest ldbl-128ibm 0x0p+0L -0x4p-1076L : 0x0p+0L -0x4p-1076L : inexact-ok underflow errno-erange-ok += ctanh towardzero ldbl-128ibm 0x0p+0L -0x4p-1076L : 0x0p+0L -0x4p-1076L : inexact-ok underflow errno-erange-ok += ctanh upward ldbl-128ibm 0x0p+0L -0x4p-1076L : 0x0p+0L -0x4p-1076L : inexact-ok underflow errno-erange-ok += ctanh downward ldbl-96-intel 0x0p+0L -0x8p-16448L : 0x0p+0L -0x1p-16444L : inexact-ok underflow errno-erange-ok += ctanh tonearest ldbl-96-intel 0x0p+0L -0x8p-16448L : 0x0p+0L -0x8p-16448L : inexact-ok underflow errno-erange-ok += ctanh towardzero ldbl-96-intel 0x0p+0L -0x8p-16448L : 0x0p+0L -0x8p-16448L : inexact-ok underflow errno-erange-ok += ctanh upward ldbl-96-intel 0x0p+0L -0x8p-16448L : 0x0p+0L -0x8p-16448L : inexact-ok underflow errno-erange-ok += ctanh downward ldbl-96-m68k 0x0p+0L -0x8p-16448L : 0x0p+0L -0xcp-16448L : inexact-ok underflow errno-erange-ok += ctanh tonearest ldbl-96-m68k 0x0p+0L -0x8p-16448L : 0x0p+0L -0x8p-16448L : inexact-ok underflow errno-erange-ok += ctanh towardzero ldbl-96-m68k 0x0p+0L -0x8p-16448L : 0x0p+0L -0x8p-16448L : inexact-ok underflow errno-erange-ok += ctanh upward ldbl-96-m68k 0x0p+0L -0x8p-16448L : 0x0p+0L -0x8p-16448L : inexact-ok underflow errno-erange-ok += ctanh downward ldbl-128 0x0p+0L -0x8p-16448L : 0x0p+0L -0x8.000000000004p-16448L : inexact-ok underflow errno-erange-ok += ctanh tonearest ldbl-128 0x0p+0L -0x8p-16448L : 0x0p+0L -0x8p-16448L : inexact-ok underflow errno-erange-ok += ctanh towardzero ldbl-128 0x0p+0L -0x8p-16448L : 0x0p+0L -0x8p-16448L : inexact-ok underflow errno-erange-ok += ctanh upward ldbl-128 0x0p+0L -0x8p-16448L : 0x0p+0L -0x8p-16448L : inexact-ok underflow errno-erange-ok += ctanh downward ldbl-96-m68k 0x0p+0L -0x4p-16448L : 0x0p+0L -0x8p-16448L : inexact-ok underflow errno-erange-ok += ctanh tonearest ldbl-96-m68k 0x0p+0L -0x4p-16448L : 0x0p+0L -0x4p-16448L : inexact-ok underflow errno-erange-ok += ctanh towardzero ldbl-96-m68k 0x0p+0L -0x4p-16448L : 0x0p+0L -0x4p-16448L : inexact-ok underflow errno-erange-ok += ctanh upward ldbl-96-m68k 0x0p+0L -0x4p-16448L : 0x0p+0L -0x4p-16448L : inexact-ok underflow errno-erange-ok += ctanh downward ldbl-128 0x0p+0L -0x4p-16448L : 0x0p+0L -0x4.000000000004p-16448L : inexact-ok underflow errno-erange-ok += ctanh tonearest ldbl-128 0x0p+0L -0x4p-16448L : 0x0p+0L -0x4p-16448L : inexact-ok underflow errno-erange-ok += ctanh towardzero ldbl-128 0x0p+0L -0x4p-16448L : 0x0p+0L -0x4p-16448L : inexact-ok underflow errno-erange-ok += ctanh upward ldbl-128 0x0p+0L -0x4p-16448L : 0x0p+0L -0x4p-16448L : inexact-ok underflow errno-erange-ok += ctanh downward ldbl-128 0x0p+0L -0x4p-16496L : 0x0p+0L -0x8p-16496L : inexact-ok underflow errno-erange-ok += ctanh tonearest ldbl-128 0x0p+0L -0x4p-16496L : 0x0p+0L -0x4p-16496L : inexact-ok underflow errno-erange-ok += ctanh towardzero ldbl-128 0x0p+0L -0x4p-16496L : 0x0p+0L -0x4p-16496L : inexact-ok underflow errno-erange-ok += ctanh upward ldbl-128 0x0p+0L -0x4p-16496L : 0x0p+0L -0x4p-16496L : inexact-ok underflow errno-erange-ok +ctanh min 0 += ctanh downward flt-32 0x4p-128f 0x0p+0f : 0x3.fffff8p-128f 0x0p+0f : inexact-ok underflow-ok errno-erange-ok += ctanh tonearest flt-32 0x4p-128f 0x0p+0f : 0x4p-128f 0x0p+0f : inexact-ok underflow-ok errno-erange-ok += ctanh towardzero flt-32 0x4p-128f 0x0p+0f : 0x3.fffff8p-128f 0x0p+0f : inexact-ok underflow-ok errno-erange-ok += ctanh upward flt-32 0x4p-128f 0x0p+0f : 0x4p-128f 0x0p+0f : inexact-ok underflow-ok errno-erange-ok += ctanh downward dbl-64 0x4p-128 0x0p+0 : 0x3.ffffffffffffep-128 0x0p+0 : inexact-ok += ctanh tonearest dbl-64 0x4p-128 0x0p+0 : 0x4p-128 0x0p+0 : inexact-ok += ctanh towardzero dbl-64 0x4p-128 0x0p+0 : 0x3.ffffffffffffep-128 0x0p+0 : inexact-ok += ctanh upward dbl-64 0x4p-128 0x0p+0 : 0x4p-128 0x0p+0 : inexact-ok += ctanh downward ldbl-96-intel 0x4p-128L 0x0p+0L : 0x3.fffffffffffffffcp-128L 0x0p+0L : inexact-ok += ctanh tonearest ldbl-96-intel 0x4p-128L 0x0p+0L : 0x4p-128L 0x0p+0L : inexact-ok += ctanh towardzero ldbl-96-intel 0x4p-128L 0x0p+0L : 0x3.fffffffffffffffcp-128L 0x0p+0L : inexact-ok += ctanh upward ldbl-96-intel 0x4p-128L 0x0p+0L : 0x4p-128L 0x0p+0L : inexact-ok += ctanh downward ldbl-96-m68k 0x4p-128L 0x0p+0L : 0x3.fffffffffffffffcp-128L 0x0p+0L : inexact-ok += ctanh tonearest ldbl-96-m68k 0x4p-128L 0x0p+0L : 0x4p-128L 0x0p+0L : inexact-ok += ctanh towardzero ldbl-96-m68k 0x4p-128L 0x0p+0L : 0x3.fffffffffffffffcp-128L 0x0p+0L : inexact-ok += ctanh upward ldbl-96-m68k 0x4p-128L 0x0p+0L : 0x4p-128L 0x0p+0L : inexact-ok += ctanh downward ldbl-128 0x4p-128L 0x0p+0L : 0x3.fffffffffffffffffffffffffffep-128L 0x0p+0L : inexact-ok += ctanh tonearest ldbl-128 0x4p-128L 0x0p+0L : 0x4p-128L 0x0p+0L : inexact-ok += ctanh towardzero ldbl-128 0x4p-128L 0x0p+0L : 0x3.fffffffffffffffffffffffffffep-128L 0x0p+0L : inexact-ok += ctanh upward ldbl-128 0x4p-128L 0x0p+0L : 0x4p-128L 0x0p+0L : inexact-ok += ctanh downward ldbl-128ibm 0x4p-128L 0x0p+0L : 0x3.ffffffffffffffffffffffffffp-128L 0x0p+0L : inexact-ok += ctanh tonearest ldbl-128ibm 0x4p-128L 0x0p+0L : 0x4p-128L 0x0p+0L : inexact-ok += ctanh towardzero ldbl-128ibm 0x4p-128L 0x0p+0L : 0x3.ffffffffffffffffffffffffffp-128L 0x0p+0L : inexact-ok += ctanh upward ldbl-128ibm 0x4p-128L 0x0p+0L : 0x4p-128L 0x0p+0L : inexact-ok += ctanh downward dbl-64 0x4p-1024 0x0p+0 : 0x3.ffffffffffffcp-1024 0x0p+0 : inexact-ok underflow-ok errno-erange-ok += ctanh tonearest dbl-64 0x4p-1024 0x0p+0 : 0x4p-1024 0x0p+0 : inexact-ok underflow-ok errno-erange-ok += ctanh towardzero dbl-64 0x4p-1024 0x0p+0 : 0x3.ffffffffffffcp-1024 0x0p+0 : inexact-ok underflow-ok errno-erange-ok += ctanh upward dbl-64 0x4p-1024 0x0p+0 : 0x4p-1024 0x0p+0 : inexact-ok underflow-ok errno-erange-ok += ctanh downward ldbl-96-intel 0x4p-1024L 0x0p+0L : 0x3.fffffffffffffffcp-1024L 0x0p+0L : inexact-ok += ctanh tonearest ldbl-96-intel 0x4p-1024L 0x0p+0L : 0x4p-1024L 0x0p+0L : inexact-ok += ctanh towardzero ldbl-96-intel 0x4p-1024L 0x0p+0L : 0x3.fffffffffffffffcp-1024L 0x0p+0L : inexact-ok += ctanh upward ldbl-96-intel 0x4p-1024L 0x0p+0L : 0x4p-1024L 0x0p+0L : inexact-ok += ctanh downward ldbl-96-m68k 0x4p-1024L 0x0p+0L : 0x3.fffffffffffffffcp-1024L 0x0p+0L : inexact-ok += ctanh tonearest ldbl-96-m68k 0x4p-1024L 0x0p+0L : 0x4p-1024L 0x0p+0L : inexact-ok += ctanh towardzero ldbl-96-m68k 0x4p-1024L 0x0p+0L : 0x3.fffffffffffffffcp-1024L 0x0p+0L : inexact-ok += ctanh upward ldbl-96-m68k 0x4p-1024L 0x0p+0L : 0x4p-1024L 0x0p+0L : inexact-ok += ctanh downward ldbl-128 0x4p-1024L 0x0p+0L : 0x3.fffffffffffffffffffffffffffep-1024L 0x0p+0L : inexact-ok += ctanh tonearest ldbl-128 0x4p-1024L 0x0p+0L : 0x4p-1024L 0x0p+0L : inexact-ok += ctanh towardzero ldbl-128 0x4p-1024L 0x0p+0L : 0x3.fffffffffffffffffffffffffffep-1024L 0x0p+0L : inexact-ok += ctanh upward ldbl-128 0x4p-1024L 0x0p+0L : 0x4p-1024L 0x0p+0L : inexact-ok += ctanh downward ldbl-128ibm 0x4p-1024L 0x0p+0L : 0x3.ffffffffffffcp-1024L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctanh tonearest ldbl-128ibm 0x4p-1024L 0x0p+0L : 0x4p-1024L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctanh towardzero ldbl-128ibm 0x4p-1024L 0x0p+0L : 0x3.ffffffffffffcp-1024L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctanh upward ldbl-128ibm 0x4p-1024L 0x0p+0L : 0x4p-1024L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctanh downward ldbl-96-intel 0x4p-16384L 0x0p+0L : 0x3.fffffffffffffff8p-16384L 0x0p+0L : inexact-ok underflow-ok errno-erange-ok += ctanh tonearest ldbl-96-intel 0x4p-16384L 0x0p+0L : 0x4p-16384L 0x0p+0L : inexact-ok underflow-ok errno-erange-ok += ctanh towardzero ldbl-96-intel 0x4p-16384L 0x0p+0L : 0x3.fffffffffffffff8p-16384L 0x0p+0L : inexact-ok underflow-ok errno-erange-ok += ctanh upward ldbl-96-intel 0x4p-16384L 0x0p+0L : 0x4p-16384L 0x0p+0L : inexact-ok underflow-ok errno-erange-ok += ctanh downward ldbl-96-m68k 0x4p-16384L 0x0p+0L : 0x3.fffffffffffffffcp-16384L 0x0p+0L : inexact-ok += ctanh tonearest ldbl-96-m68k 0x4p-16384L 0x0p+0L : 0x4p-16384L 0x0p+0L : inexact-ok += ctanh towardzero ldbl-96-m68k 0x4p-16384L 0x0p+0L : 0x3.fffffffffffffffcp-16384L 0x0p+0L : inexact-ok += ctanh upward ldbl-96-m68k 0x4p-16384L 0x0p+0L : 0x4p-16384L 0x0p+0L : inexact-ok += ctanh downward ldbl-128 0x4p-16384L 0x0p+0L : 0x3.fffffffffffffffffffffffffffcp-16384L 0x0p+0L : inexact-ok underflow-ok errno-erange-ok += ctanh tonearest ldbl-128 0x4p-16384L 0x0p+0L : 0x4p-16384L 0x0p+0L : inexact-ok underflow-ok errno-erange-ok += ctanh towardzero ldbl-128 0x4p-16384L 0x0p+0L : 0x3.fffffffffffffffffffffffffffcp-16384L 0x0p+0L : inexact-ok underflow-ok errno-erange-ok += ctanh upward ldbl-128 0x4p-16384L 0x0p+0L : 0x4p-16384L 0x0p+0L : inexact-ok underflow-ok errno-erange-ok += ctanh downward ldbl-96-intel 0x2p-16384L 0x0p+0L : 0x1.fffffffffffffff8p-16384L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctanh tonearest ldbl-96-intel 0x2p-16384L 0x0p+0L : 0x2p-16384L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctanh towardzero ldbl-96-intel 0x2p-16384L 0x0p+0L : 0x1.fffffffffffffff8p-16384L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctanh upward ldbl-96-intel 0x2p-16384L 0x0p+0L : 0x2p-16384L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctanh downward ldbl-96-m68k 0x2p-16384L 0x0p+0L : 0x1.fffffffffffffffcp-16384L 0x0p+0L : inexact-ok underflow-ok errno-erange-ok += ctanh tonearest ldbl-96-m68k 0x2p-16384L 0x0p+0L : 0x2p-16384L 0x0p+0L : inexact-ok underflow-ok errno-erange-ok += ctanh towardzero ldbl-96-m68k 0x2p-16384L 0x0p+0L : 0x1.fffffffffffffffcp-16384L 0x0p+0L : inexact-ok underflow-ok errno-erange-ok += ctanh upward ldbl-96-m68k 0x2p-16384L 0x0p+0L : 0x2p-16384L 0x0p+0L : inexact-ok underflow-ok errno-erange-ok += ctanh downward ldbl-128 0x2p-16384L 0x0p+0L : 0x1.fffffffffffffffffffffffffffcp-16384L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctanh tonearest ldbl-128 0x2p-16384L 0x0p+0L : 0x2p-16384L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctanh towardzero ldbl-128 0x2p-16384L 0x0p+0L : 0x1.fffffffffffffffffffffffffffcp-16384L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctanh upward ldbl-128 0x2p-16384L 0x0p+0L : 0x2p-16384L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctanh downward dbl-64 0x8p-972 0x0p+0 : 0x7.ffffffffffffcp-972 0x0p+0 : inexact-ok += ctanh tonearest dbl-64 0x8p-972 0x0p+0 : 0x8p-972 0x0p+0 : inexact-ok += ctanh towardzero dbl-64 0x8p-972 0x0p+0 : 0x7.ffffffffffffcp-972 0x0p+0 : inexact-ok += ctanh upward dbl-64 0x8p-972 0x0p+0 : 0x8p-972 0x0p+0 : inexact-ok += ctanh downward ldbl-96-intel 0x8p-972L 0x0p+0L : 0x7.fffffffffffffff8p-972L 0x0p+0L : inexact-ok += ctanh tonearest ldbl-96-intel 0x8p-972L 0x0p+0L : 0x8p-972L 0x0p+0L : inexact-ok += ctanh towardzero ldbl-96-intel 0x8p-972L 0x0p+0L : 0x7.fffffffffffffff8p-972L 0x0p+0L : inexact-ok += ctanh upward ldbl-96-intel 0x8p-972L 0x0p+0L : 0x8p-972L 0x0p+0L : inexact-ok += ctanh downward ldbl-96-m68k 0x8p-972L 0x0p+0L : 0x7.fffffffffffffff8p-972L 0x0p+0L : inexact-ok += ctanh tonearest ldbl-96-m68k 0x8p-972L 0x0p+0L : 0x8p-972L 0x0p+0L : inexact-ok += ctanh towardzero ldbl-96-m68k 0x8p-972L 0x0p+0L : 0x7.fffffffffffffff8p-972L 0x0p+0L : inexact-ok += ctanh upward ldbl-96-m68k 0x8p-972L 0x0p+0L : 0x8p-972L 0x0p+0L : inexact-ok += ctanh downward ldbl-128 0x8p-972L 0x0p+0L : 0x7.fffffffffffffffffffffffffffcp-972L 0x0p+0L : inexact-ok += ctanh tonearest ldbl-128 0x8p-972L 0x0p+0L : 0x8p-972L 0x0p+0L : inexact-ok += ctanh towardzero ldbl-128 0x8p-972L 0x0p+0L : 0x7.fffffffffffffffffffffffffffcp-972L 0x0p+0L : inexact-ok += ctanh upward ldbl-128 0x8p-972L 0x0p+0L : 0x8p-972L 0x0p+0L : inexact-ok += ctanh downward ldbl-128ibm 0x8p-972L 0x0p+0L : 0x7.fffffffffffffffffffffffffcp-972L 0x0p+0L : inexact-ok underflow-ok errno-erange-ok += ctanh tonearest ldbl-128ibm 0x8p-972L 0x0p+0L : 0x8p-972L 0x0p+0L : inexact-ok underflow-ok errno-erange-ok += ctanh towardzero ldbl-128ibm 0x8p-972L 0x0p+0L : 0x7.fffffffffffffffffffffffffcp-972L 0x0p+0L : inexact-ok underflow-ok errno-erange-ok += ctanh upward ldbl-128ibm 0x8p-972L 0x0p+0L : 0x8p-972L 0x0p+0L : inexact-ok underflow-ok errno-erange-ok +ctanh -min 0 += ctanh downward flt-32 -0x4p-128f 0x0p+0f : -0x4p-128f 0x0p+0f : inexact-ok underflow-ok errno-erange-ok += ctanh tonearest flt-32 -0x4p-128f 0x0p+0f : -0x4p-128f 0x0p+0f : inexact-ok underflow-ok errno-erange-ok += ctanh towardzero flt-32 -0x4p-128f 0x0p+0f : -0x3.fffff8p-128f 0x0p+0f : inexact-ok underflow-ok errno-erange-ok += ctanh upward flt-32 -0x4p-128f 0x0p+0f : -0x3.fffff8p-128f 0x0p+0f : inexact-ok underflow-ok errno-erange-ok += ctanh downward dbl-64 -0x4p-128 0x0p+0 : -0x4p-128 0x0p+0 : inexact-ok += ctanh tonearest dbl-64 -0x4p-128 0x0p+0 : -0x4p-128 0x0p+0 : inexact-ok += ctanh towardzero dbl-64 -0x4p-128 0x0p+0 : -0x3.ffffffffffffep-128 0x0p+0 : inexact-ok += ctanh upward dbl-64 -0x4p-128 0x0p+0 : -0x3.ffffffffffffep-128 0x0p+0 : inexact-ok += ctanh downward ldbl-96-intel -0x4p-128L 0x0p+0L : -0x4p-128L 0x0p+0L : inexact-ok += ctanh tonearest ldbl-96-intel -0x4p-128L 0x0p+0L : -0x4p-128L 0x0p+0L : inexact-ok += ctanh towardzero ldbl-96-intel -0x4p-128L 0x0p+0L : -0x3.fffffffffffffffcp-128L 0x0p+0L : inexact-ok += ctanh upward ldbl-96-intel -0x4p-128L 0x0p+0L : -0x3.fffffffffffffffcp-128L 0x0p+0L : inexact-ok += ctanh downward ldbl-96-m68k -0x4p-128L 0x0p+0L : -0x4p-128L 0x0p+0L : inexact-ok += ctanh tonearest ldbl-96-m68k -0x4p-128L 0x0p+0L : -0x4p-128L 0x0p+0L : inexact-ok += ctanh towardzero ldbl-96-m68k -0x4p-128L 0x0p+0L : -0x3.fffffffffffffffcp-128L 0x0p+0L : inexact-ok += ctanh upward ldbl-96-m68k -0x4p-128L 0x0p+0L : -0x3.fffffffffffffffcp-128L 0x0p+0L : inexact-ok += ctanh downward ldbl-128 -0x4p-128L 0x0p+0L : -0x4p-128L 0x0p+0L : inexact-ok += ctanh tonearest ldbl-128 -0x4p-128L 0x0p+0L : -0x4p-128L 0x0p+0L : inexact-ok += ctanh towardzero ldbl-128 -0x4p-128L 0x0p+0L : -0x3.fffffffffffffffffffffffffffep-128L 0x0p+0L : inexact-ok += ctanh upward ldbl-128 -0x4p-128L 0x0p+0L : -0x3.fffffffffffffffffffffffffffep-128L 0x0p+0L : inexact-ok += ctanh downward ldbl-128ibm -0x4p-128L 0x0p+0L : -0x4p-128L 0x0p+0L : inexact-ok += ctanh tonearest ldbl-128ibm -0x4p-128L 0x0p+0L : -0x4p-128L 0x0p+0L : inexact-ok += ctanh towardzero ldbl-128ibm -0x4p-128L 0x0p+0L : -0x3.ffffffffffffffffffffffffffp-128L 0x0p+0L : inexact-ok += ctanh upward ldbl-128ibm -0x4p-128L 0x0p+0L : -0x3.ffffffffffffffffffffffffffp-128L 0x0p+0L : inexact-ok += ctanh downward dbl-64 -0x4p-1024 0x0p+0 : -0x4p-1024 0x0p+0 : inexact-ok underflow-ok errno-erange-ok += ctanh tonearest dbl-64 -0x4p-1024 0x0p+0 : -0x4p-1024 0x0p+0 : inexact-ok underflow-ok errno-erange-ok += ctanh towardzero dbl-64 -0x4p-1024 0x0p+0 : -0x3.ffffffffffffcp-1024 0x0p+0 : inexact-ok underflow-ok errno-erange-ok += ctanh upward dbl-64 -0x4p-1024 0x0p+0 : -0x3.ffffffffffffcp-1024 0x0p+0 : inexact-ok underflow-ok errno-erange-ok += ctanh downward ldbl-96-intel -0x4p-1024L 0x0p+0L : -0x4p-1024L 0x0p+0L : inexact-ok += ctanh tonearest ldbl-96-intel -0x4p-1024L 0x0p+0L : -0x4p-1024L 0x0p+0L : inexact-ok += ctanh towardzero ldbl-96-intel -0x4p-1024L 0x0p+0L : -0x3.fffffffffffffffcp-1024L 0x0p+0L : inexact-ok += ctanh upward ldbl-96-intel -0x4p-1024L 0x0p+0L : -0x3.fffffffffffffffcp-1024L 0x0p+0L : inexact-ok += ctanh downward ldbl-96-m68k -0x4p-1024L 0x0p+0L : -0x4p-1024L 0x0p+0L : inexact-ok += ctanh tonearest ldbl-96-m68k -0x4p-1024L 0x0p+0L : -0x4p-1024L 0x0p+0L : inexact-ok += ctanh towardzero ldbl-96-m68k -0x4p-1024L 0x0p+0L : -0x3.fffffffffffffffcp-1024L 0x0p+0L : inexact-ok += ctanh upward ldbl-96-m68k -0x4p-1024L 0x0p+0L : -0x3.fffffffffffffffcp-1024L 0x0p+0L : inexact-ok += ctanh downward ldbl-128 -0x4p-1024L 0x0p+0L : -0x4p-1024L 0x0p+0L : inexact-ok += ctanh tonearest ldbl-128 -0x4p-1024L 0x0p+0L : -0x4p-1024L 0x0p+0L : inexact-ok += ctanh towardzero ldbl-128 -0x4p-1024L 0x0p+0L : -0x3.fffffffffffffffffffffffffffep-1024L 0x0p+0L : inexact-ok += ctanh upward ldbl-128 -0x4p-1024L 0x0p+0L : -0x3.fffffffffffffffffffffffffffep-1024L 0x0p+0L : inexact-ok += ctanh downward ldbl-128ibm -0x4p-1024L 0x0p+0L : -0x4p-1024L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctanh tonearest ldbl-128ibm -0x4p-1024L 0x0p+0L : -0x4p-1024L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctanh towardzero ldbl-128ibm -0x4p-1024L 0x0p+0L : -0x3.ffffffffffffcp-1024L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctanh upward ldbl-128ibm -0x4p-1024L 0x0p+0L : -0x3.ffffffffffffcp-1024L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctanh downward ldbl-96-intel -0x4p-16384L 0x0p+0L : -0x4p-16384L 0x0p+0L : inexact-ok underflow-ok errno-erange-ok += ctanh tonearest ldbl-96-intel -0x4p-16384L 0x0p+0L : -0x4p-16384L 0x0p+0L : inexact-ok underflow-ok errno-erange-ok += ctanh towardzero ldbl-96-intel -0x4p-16384L 0x0p+0L : -0x3.fffffffffffffff8p-16384L 0x0p+0L : inexact-ok underflow-ok errno-erange-ok += ctanh upward ldbl-96-intel -0x4p-16384L 0x0p+0L : -0x3.fffffffffffffff8p-16384L 0x0p+0L : inexact-ok underflow-ok errno-erange-ok += ctanh downward ldbl-96-m68k -0x4p-16384L 0x0p+0L : -0x4p-16384L 0x0p+0L : inexact-ok += ctanh tonearest ldbl-96-m68k -0x4p-16384L 0x0p+0L : -0x4p-16384L 0x0p+0L : inexact-ok += ctanh towardzero ldbl-96-m68k -0x4p-16384L 0x0p+0L : -0x3.fffffffffffffffcp-16384L 0x0p+0L : inexact-ok += ctanh upward ldbl-96-m68k -0x4p-16384L 0x0p+0L : -0x3.fffffffffffffffcp-16384L 0x0p+0L : inexact-ok += ctanh downward ldbl-128 -0x4p-16384L 0x0p+0L : -0x4p-16384L 0x0p+0L : inexact-ok underflow-ok errno-erange-ok += ctanh tonearest ldbl-128 -0x4p-16384L 0x0p+0L : -0x4p-16384L 0x0p+0L : inexact-ok underflow-ok errno-erange-ok += ctanh towardzero ldbl-128 -0x4p-16384L 0x0p+0L : -0x3.fffffffffffffffffffffffffffcp-16384L 0x0p+0L : inexact-ok underflow-ok errno-erange-ok += ctanh upward ldbl-128 -0x4p-16384L 0x0p+0L : -0x3.fffffffffffffffffffffffffffcp-16384L 0x0p+0L : inexact-ok underflow-ok errno-erange-ok += ctanh downward ldbl-96-intel -0x2p-16384L 0x0p+0L : -0x2p-16384L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctanh tonearest ldbl-96-intel -0x2p-16384L 0x0p+0L : -0x2p-16384L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctanh towardzero ldbl-96-intel -0x2p-16384L 0x0p+0L : -0x1.fffffffffffffff8p-16384L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctanh upward ldbl-96-intel -0x2p-16384L 0x0p+0L : -0x1.fffffffffffffff8p-16384L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctanh downward ldbl-96-m68k -0x2p-16384L 0x0p+0L : -0x2p-16384L 0x0p+0L : inexact-ok underflow-ok errno-erange-ok += ctanh tonearest ldbl-96-m68k -0x2p-16384L 0x0p+0L : -0x2p-16384L 0x0p+0L : inexact-ok underflow-ok errno-erange-ok += ctanh towardzero ldbl-96-m68k -0x2p-16384L 0x0p+0L : -0x1.fffffffffffffffcp-16384L 0x0p+0L : inexact-ok underflow-ok errno-erange-ok += ctanh upward ldbl-96-m68k -0x2p-16384L 0x0p+0L : -0x1.fffffffffffffffcp-16384L 0x0p+0L : inexact-ok underflow-ok errno-erange-ok += ctanh downward ldbl-128 -0x2p-16384L 0x0p+0L : -0x2p-16384L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctanh tonearest ldbl-128 -0x2p-16384L 0x0p+0L : -0x2p-16384L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctanh towardzero ldbl-128 -0x2p-16384L 0x0p+0L : -0x1.fffffffffffffffffffffffffffcp-16384L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctanh upward ldbl-128 -0x2p-16384L 0x0p+0L : -0x1.fffffffffffffffffffffffffffcp-16384L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctanh downward dbl-64 -0x8p-972 0x0p+0 : -0x8p-972 0x0p+0 : inexact-ok += ctanh tonearest dbl-64 -0x8p-972 0x0p+0 : -0x8p-972 0x0p+0 : inexact-ok += ctanh towardzero dbl-64 -0x8p-972 0x0p+0 : -0x7.ffffffffffffcp-972 0x0p+0 : inexact-ok += ctanh upward dbl-64 -0x8p-972 0x0p+0 : -0x7.ffffffffffffcp-972 0x0p+0 : inexact-ok += ctanh downward ldbl-96-intel -0x8p-972L 0x0p+0L : -0x8p-972L 0x0p+0L : inexact-ok += ctanh tonearest ldbl-96-intel -0x8p-972L 0x0p+0L : -0x8p-972L 0x0p+0L : inexact-ok += ctanh towardzero ldbl-96-intel -0x8p-972L 0x0p+0L : -0x7.fffffffffffffff8p-972L 0x0p+0L : inexact-ok += ctanh upward ldbl-96-intel -0x8p-972L 0x0p+0L : -0x7.fffffffffffffff8p-972L 0x0p+0L : inexact-ok += ctanh downward ldbl-96-m68k -0x8p-972L 0x0p+0L : -0x8p-972L 0x0p+0L : inexact-ok += ctanh tonearest ldbl-96-m68k -0x8p-972L 0x0p+0L : -0x8p-972L 0x0p+0L : inexact-ok += ctanh towardzero ldbl-96-m68k -0x8p-972L 0x0p+0L : -0x7.fffffffffffffff8p-972L 0x0p+0L : inexact-ok += ctanh upward ldbl-96-m68k -0x8p-972L 0x0p+0L : -0x7.fffffffffffffff8p-972L 0x0p+0L : inexact-ok += ctanh downward ldbl-128 -0x8p-972L 0x0p+0L : -0x8p-972L 0x0p+0L : inexact-ok += ctanh tonearest ldbl-128 -0x8p-972L 0x0p+0L : -0x8p-972L 0x0p+0L : inexact-ok += ctanh towardzero ldbl-128 -0x8p-972L 0x0p+0L : -0x7.fffffffffffffffffffffffffffcp-972L 0x0p+0L : inexact-ok += ctanh upward ldbl-128 -0x8p-972L 0x0p+0L : -0x7.fffffffffffffffffffffffffffcp-972L 0x0p+0L : inexact-ok += ctanh downward ldbl-128ibm -0x8p-972L 0x0p+0L : -0x8p-972L 0x0p+0L : inexact-ok underflow-ok errno-erange-ok += ctanh tonearest ldbl-128ibm -0x8p-972L 0x0p+0L : -0x8p-972L 0x0p+0L : inexact-ok underflow-ok errno-erange-ok += ctanh towardzero ldbl-128ibm -0x8p-972L 0x0p+0L : -0x7.fffffffffffffffffffffffffcp-972L 0x0p+0L : inexact-ok underflow-ok errno-erange-ok += ctanh upward ldbl-128ibm -0x8p-972L 0x0p+0L : -0x7.fffffffffffffffffffffffffcp-972L 0x0p+0L : inexact-ok underflow-ok errno-erange-ok +ctanh min_subnorm 0 += ctanh downward flt-32 0x8p-152f 0x0p+0f : 0x0p+0f 0x0p+0f : inexact-ok underflow errno-erange-ok += ctanh tonearest flt-32 0x8p-152f 0x0p+0f : 0x8p-152f 0x0p+0f : inexact-ok underflow errno-erange-ok += ctanh towardzero flt-32 0x8p-152f 0x0p+0f : 0x0p+0f 0x0p+0f : inexact-ok underflow errno-erange-ok += ctanh upward flt-32 0x8p-152f 0x0p+0f : 0x8p-152f 0x0p+0f : inexact-ok underflow errno-erange-ok += ctanh downward dbl-64 0x8p-152 0x0p+0 : 0x7.ffffffffffffcp-152 0x0p+0 : inexact-ok += ctanh tonearest dbl-64 0x8p-152 0x0p+0 : 0x8p-152 0x0p+0 : inexact-ok += ctanh towardzero dbl-64 0x8p-152 0x0p+0 : 0x7.ffffffffffffcp-152 0x0p+0 : inexact-ok += ctanh upward dbl-64 0x8p-152 0x0p+0 : 0x8p-152 0x0p+0 : inexact-ok += ctanh downward ldbl-96-intel 0x8p-152L 0x0p+0L : 0x7.fffffffffffffff8p-152L 0x0p+0L : inexact-ok += ctanh tonearest ldbl-96-intel 0x8p-152L 0x0p+0L : 0x8p-152L 0x0p+0L : inexact-ok += ctanh towardzero ldbl-96-intel 0x8p-152L 0x0p+0L : 0x7.fffffffffffffff8p-152L 0x0p+0L : inexact-ok += ctanh upward ldbl-96-intel 0x8p-152L 0x0p+0L : 0x8p-152L 0x0p+0L : inexact-ok += ctanh downward ldbl-96-m68k 0x8p-152L 0x0p+0L : 0x7.fffffffffffffff8p-152L 0x0p+0L : inexact-ok += ctanh tonearest ldbl-96-m68k 0x8p-152L 0x0p+0L : 0x8p-152L 0x0p+0L : inexact-ok += ctanh towardzero ldbl-96-m68k 0x8p-152L 0x0p+0L : 0x7.fffffffffffffff8p-152L 0x0p+0L : inexact-ok += ctanh upward ldbl-96-m68k 0x8p-152L 0x0p+0L : 0x8p-152L 0x0p+0L : inexact-ok += ctanh downward ldbl-128 0x8p-152L 0x0p+0L : 0x7.fffffffffffffffffffffffffffcp-152L 0x0p+0L : inexact-ok += ctanh tonearest ldbl-128 0x8p-152L 0x0p+0L : 0x8p-152L 0x0p+0L : inexact-ok += ctanh towardzero ldbl-128 0x8p-152L 0x0p+0L : 0x7.fffffffffffffffffffffffffffcp-152L 0x0p+0L : inexact-ok += ctanh upward ldbl-128 0x8p-152L 0x0p+0L : 0x8p-152L 0x0p+0L : inexact-ok += ctanh downward ldbl-128ibm 0x8p-152L 0x0p+0L : 0x7.fffffffffffffffffffffffffep-152L 0x0p+0L : inexact-ok += ctanh tonearest ldbl-128ibm 0x8p-152L 0x0p+0L : 0x8p-152L 0x0p+0L : inexact-ok += ctanh towardzero ldbl-128ibm 0x8p-152L 0x0p+0L : 0x7.fffffffffffffffffffffffffep-152L 0x0p+0L : inexact-ok += ctanh upward ldbl-128ibm 0x8p-152L 0x0p+0L : 0x8p-152L 0x0p+0L : inexact-ok += ctanh downward dbl-64 0x4p-1076 0x0p+0 : 0x0p+0 0x0p+0 : inexact-ok underflow errno-erange-ok += ctanh tonearest dbl-64 0x4p-1076 0x0p+0 : 0x4p-1076 0x0p+0 : inexact-ok underflow errno-erange-ok += ctanh towardzero dbl-64 0x4p-1076 0x0p+0 : 0x0p+0 0x0p+0 : inexact-ok underflow errno-erange-ok += ctanh upward dbl-64 0x4p-1076 0x0p+0 : 0x4p-1076 0x0p+0 : inexact-ok underflow errno-erange-ok += ctanh downward ldbl-96-intel 0x4p-1076L 0x0p+0L : 0x3.fffffffffffffffcp-1076L 0x0p+0L : inexact-ok += ctanh tonearest ldbl-96-intel 0x4p-1076L 0x0p+0L : 0x4p-1076L 0x0p+0L : inexact-ok += ctanh towardzero ldbl-96-intel 0x4p-1076L 0x0p+0L : 0x3.fffffffffffffffcp-1076L 0x0p+0L : inexact-ok += ctanh upward ldbl-96-intel 0x4p-1076L 0x0p+0L : 0x4p-1076L 0x0p+0L : inexact-ok += ctanh downward ldbl-96-m68k 0x4p-1076L 0x0p+0L : 0x3.fffffffffffffffcp-1076L 0x0p+0L : inexact-ok += ctanh tonearest ldbl-96-m68k 0x4p-1076L 0x0p+0L : 0x4p-1076L 0x0p+0L : inexact-ok += ctanh towardzero ldbl-96-m68k 0x4p-1076L 0x0p+0L : 0x3.fffffffffffffffcp-1076L 0x0p+0L : inexact-ok += ctanh upward ldbl-96-m68k 0x4p-1076L 0x0p+0L : 0x4p-1076L 0x0p+0L : inexact-ok += ctanh downward ldbl-128 0x4p-1076L 0x0p+0L : 0x3.fffffffffffffffffffffffffffep-1076L 0x0p+0L : inexact-ok += ctanh tonearest ldbl-128 0x4p-1076L 0x0p+0L : 0x4p-1076L 0x0p+0L : inexact-ok += ctanh towardzero ldbl-128 0x4p-1076L 0x0p+0L : 0x3.fffffffffffffffffffffffffffep-1076L 0x0p+0L : inexact-ok += ctanh upward ldbl-128 0x4p-1076L 0x0p+0L : 0x4p-1076L 0x0p+0L : inexact-ok += ctanh downward ldbl-128ibm 0x4p-1076L 0x0p+0L : 0x0p+0L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctanh tonearest ldbl-128ibm 0x4p-1076L 0x0p+0L : 0x4p-1076L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctanh towardzero ldbl-128ibm 0x4p-1076L 0x0p+0L : 0x0p+0L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctanh upward ldbl-128ibm 0x4p-1076L 0x0p+0L : 0x4p-1076L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctanh downward ldbl-96-intel 0x8p-16448L 0x0p+0L : 0x0p+0L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctanh tonearest ldbl-96-intel 0x8p-16448L 0x0p+0L : 0x8p-16448L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctanh towardzero ldbl-96-intel 0x8p-16448L 0x0p+0L : 0x0p+0L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctanh upward ldbl-96-intel 0x8p-16448L 0x0p+0L : 0x8p-16448L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctanh downward ldbl-96-m68k 0x8p-16448L 0x0p+0L : 0x4p-16448L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctanh tonearest ldbl-96-m68k 0x8p-16448L 0x0p+0L : 0x8p-16448L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctanh towardzero ldbl-96-m68k 0x8p-16448L 0x0p+0L : 0x4p-16448L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctanh upward ldbl-96-m68k 0x8p-16448L 0x0p+0L : 0x8p-16448L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctanh downward ldbl-128 0x8p-16448L 0x0p+0L : 0x7.fffffffffffcp-16448L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctanh tonearest ldbl-128 0x8p-16448L 0x0p+0L : 0x8p-16448L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctanh towardzero ldbl-128 0x8p-16448L 0x0p+0L : 0x7.fffffffffffcp-16448L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctanh upward ldbl-128 0x8p-16448L 0x0p+0L : 0x8p-16448L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctanh downward ldbl-96-m68k 0x4p-16448L 0x0p+0L : 0x0p+0L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctanh tonearest ldbl-96-m68k 0x4p-16448L 0x0p+0L : 0x4p-16448L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctanh towardzero ldbl-96-m68k 0x4p-16448L 0x0p+0L : 0x0p+0L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctanh upward ldbl-96-m68k 0x4p-16448L 0x0p+0L : 0x4p-16448L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctanh downward ldbl-128 0x4p-16448L 0x0p+0L : 0x3.fffffffffffcp-16448L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctanh tonearest ldbl-128 0x4p-16448L 0x0p+0L : 0x4p-16448L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctanh towardzero ldbl-128 0x4p-16448L 0x0p+0L : 0x3.fffffffffffcp-16448L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctanh upward ldbl-128 0x4p-16448L 0x0p+0L : 0x4p-16448L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctanh downward ldbl-128 0x4p-16496L 0x0p+0L : 0x0p+0L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctanh tonearest ldbl-128 0x4p-16496L 0x0p+0L : 0x4p-16496L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctanh towardzero ldbl-128 0x4p-16496L 0x0p+0L : 0x0p+0L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctanh upward ldbl-128 0x4p-16496L 0x0p+0L : 0x4p-16496L 0x0p+0L : inexact-ok underflow errno-erange-ok +ctanh -min_subnorm 0 += ctanh downward flt-32 -0x8p-152f 0x0p+0f : -0x8p-152f 0x0p+0f : inexact-ok underflow errno-erange-ok += ctanh tonearest flt-32 -0x8p-152f 0x0p+0f : -0x8p-152f 0x0p+0f : inexact-ok underflow errno-erange-ok += ctanh towardzero flt-32 -0x8p-152f 0x0p+0f : -0x0p+0f 0x0p+0f : inexact-ok underflow errno-erange-ok += ctanh upward flt-32 -0x8p-152f 0x0p+0f : -0x0p+0f 0x0p+0f : inexact-ok underflow errno-erange-ok += ctanh downward dbl-64 -0x8p-152 0x0p+0 : -0x8p-152 0x0p+0 : inexact-ok += ctanh tonearest dbl-64 -0x8p-152 0x0p+0 : -0x8p-152 0x0p+0 : inexact-ok += ctanh towardzero dbl-64 -0x8p-152 0x0p+0 : -0x7.ffffffffffffcp-152 0x0p+0 : inexact-ok += ctanh upward dbl-64 -0x8p-152 0x0p+0 : -0x7.ffffffffffffcp-152 0x0p+0 : inexact-ok += ctanh downward ldbl-96-intel -0x8p-152L 0x0p+0L : -0x8p-152L 0x0p+0L : inexact-ok += ctanh tonearest ldbl-96-intel -0x8p-152L 0x0p+0L : -0x8p-152L 0x0p+0L : inexact-ok += ctanh towardzero ldbl-96-intel -0x8p-152L 0x0p+0L : -0x7.fffffffffffffff8p-152L 0x0p+0L : inexact-ok += ctanh upward ldbl-96-intel -0x8p-152L 0x0p+0L : -0x7.fffffffffffffff8p-152L 0x0p+0L : inexact-ok += ctanh downward ldbl-96-m68k -0x8p-152L 0x0p+0L : -0x8p-152L 0x0p+0L : inexact-ok += ctanh tonearest ldbl-96-m68k -0x8p-152L 0x0p+0L : -0x8p-152L 0x0p+0L : inexact-ok += ctanh towardzero ldbl-96-m68k -0x8p-152L 0x0p+0L : -0x7.fffffffffffffff8p-152L 0x0p+0L : inexact-ok += ctanh upward ldbl-96-m68k -0x8p-152L 0x0p+0L : -0x7.fffffffffffffff8p-152L 0x0p+0L : inexact-ok += ctanh downward ldbl-128 -0x8p-152L 0x0p+0L : -0x8p-152L 0x0p+0L : inexact-ok += ctanh tonearest ldbl-128 -0x8p-152L 0x0p+0L : -0x8p-152L 0x0p+0L : inexact-ok += ctanh towardzero ldbl-128 -0x8p-152L 0x0p+0L : -0x7.fffffffffffffffffffffffffffcp-152L 0x0p+0L : inexact-ok += ctanh upward ldbl-128 -0x8p-152L 0x0p+0L : -0x7.fffffffffffffffffffffffffffcp-152L 0x0p+0L : inexact-ok += ctanh downward ldbl-128ibm -0x8p-152L 0x0p+0L : -0x8p-152L 0x0p+0L : inexact-ok += ctanh tonearest ldbl-128ibm -0x8p-152L 0x0p+0L : -0x8p-152L 0x0p+0L : inexact-ok += ctanh towardzero ldbl-128ibm -0x8p-152L 0x0p+0L : -0x7.fffffffffffffffffffffffffep-152L 0x0p+0L : inexact-ok += ctanh upward ldbl-128ibm -0x8p-152L 0x0p+0L : -0x7.fffffffffffffffffffffffffep-152L 0x0p+0L : inexact-ok += ctanh downward dbl-64 -0x4p-1076 0x0p+0 : -0x4p-1076 0x0p+0 : inexact-ok underflow errno-erange-ok += ctanh tonearest dbl-64 -0x4p-1076 0x0p+0 : -0x4p-1076 0x0p+0 : inexact-ok underflow errno-erange-ok += ctanh towardzero dbl-64 -0x4p-1076 0x0p+0 : -0x0p+0 0x0p+0 : inexact-ok underflow errno-erange-ok += ctanh upward dbl-64 -0x4p-1076 0x0p+0 : -0x0p+0 0x0p+0 : inexact-ok underflow errno-erange-ok += ctanh downward ldbl-96-intel -0x4p-1076L 0x0p+0L : -0x4p-1076L 0x0p+0L : inexact-ok += ctanh tonearest ldbl-96-intel -0x4p-1076L 0x0p+0L : -0x4p-1076L 0x0p+0L : inexact-ok += ctanh towardzero ldbl-96-intel -0x4p-1076L 0x0p+0L : -0x3.fffffffffffffffcp-1076L 0x0p+0L : inexact-ok += ctanh upward ldbl-96-intel -0x4p-1076L 0x0p+0L : -0x3.fffffffffffffffcp-1076L 0x0p+0L : inexact-ok += ctanh downward ldbl-96-m68k -0x4p-1076L 0x0p+0L : -0x4p-1076L 0x0p+0L : inexact-ok += ctanh tonearest ldbl-96-m68k -0x4p-1076L 0x0p+0L : -0x4p-1076L 0x0p+0L : inexact-ok += ctanh towardzero ldbl-96-m68k -0x4p-1076L 0x0p+0L : -0x3.fffffffffffffffcp-1076L 0x0p+0L : inexact-ok += ctanh upward ldbl-96-m68k -0x4p-1076L 0x0p+0L : -0x3.fffffffffffffffcp-1076L 0x0p+0L : inexact-ok += ctanh downward ldbl-128 -0x4p-1076L 0x0p+0L : -0x4p-1076L 0x0p+0L : inexact-ok += ctanh tonearest ldbl-128 -0x4p-1076L 0x0p+0L : -0x4p-1076L 0x0p+0L : inexact-ok += ctanh towardzero ldbl-128 -0x4p-1076L 0x0p+0L : -0x3.fffffffffffffffffffffffffffep-1076L 0x0p+0L : inexact-ok += ctanh upward ldbl-128 -0x4p-1076L 0x0p+0L : -0x3.fffffffffffffffffffffffffffep-1076L 0x0p+0L : inexact-ok += ctanh downward ldbl-128ibm -0x4p-1076L 0x0p+0L : -0x4p-1076L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctanh tonearest ldbl-128ibm -0x4p-1076L 0x0p+0L : -0x4p-1076L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctanh towardzero ldbl-128ibm -0x4p-1076L 0x0p+0L : -0x0p+0L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctanh upward ldbl-128ibm -0x4p-1076L 0x0p+0L : -0x0p+0L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctanh downward ldbl-96-intel -0x8p-16448L 0x0p+0L : -0x8p-16448L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctanh tonearest ldbl-96-intel -0x8p-16448L 0x0p+0L : -0x8p-16448L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctanh towardzero ldbl-96-intel -0x8p-16448L 0x0p+0L : -0x0p+0L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctanh upward ldbl-96-intel -0x8p-16448L 0x0p+0L : -0x0p+0L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctanh downward ldbl-96-m68k -0x8p-16448L 0x0p+0L : -0x8p-16448L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctanh tonearest ldbl-96-m68k -0x8p-16448L 0x0p+0L : -0x8p-16448L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctanh towardzero ldbl-96-m68k -0x8p-16448L 0x0p+0L : -0x4p-16448L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctanh upward ldbl-96-m68k -0x8p-16448L 0x0p+0L : -0x4p-16448L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctanh downward ldbl-128 -0x8p-16448L 0x0p+0L : -0x8p-16448L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctanh tonearest ldbl-128 -0x8p-16448L 0x0p+0L : -0x8p-16448L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctanh towardzero ldbl-128 -0x8p-16448L 0x0p+0L : -0x7.fffffffffffcp-16448L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctanh upward ldbl-128 -0x8p-16448L 0x0p+0L : -0x7.fffffffffffcp-16448L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctanh downward ldbl-96-m68k -0x4p-16448L 0x0p+0L : -0x4p-16448L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctanh tonearest ldbl-96-m68k -0x4p-16448L 0x0p+0L : -0x4p-16448L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctanh towardzero ldbl-96-m68k -0x4p-16448L 0x0p+0L : -0x0p+0L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctanh upward ldbl-96-m68k -0x4p-16448L 0x0p+0L : -0x0p+0L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctanh downward ldbl-128 -0x4p-16448L 0x0p+0L : -0x4p-16448L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctanh tonearest ldbl-128 -0x4p-16448L 0x0p+0L : -0x4p-16448L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctanh towardzero ldbl-128 -0x4p-16448L 0x0p+0L : -0x3.fffffffffffcp-16448L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctanh upward ldbl-128 -0x4p-16448L 0x0p+0L : -0x3.fffffffffffcp-16448L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctanh downward ldbl-128 -0x4p-16496L 0x0p+0L : -0x4p-16496L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctanh tonearest ldbl-128 -0x4p-16496L 0x0p+0L : -0x4p-16496L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctanh towardzero ldbl-128 -0x4p-16496L 0x0p+0L : -0x0p+0L 0x0p+0L : inexact-ok underflow errno-erange-ok += ctanh upward ldbl-128 -0x4p-16496L 0x0p+0L : -0x0p+0L 0x0p+0L : inexact-ok underflow errno-erange-ok erf 0 = erf downward flt-32 0x0p+0f : 0x0p+0f : inexact-ok = erf tonearest flt-32 0x0p+0f : 0x0p+0f : inexact-ok diff --git a/math/s_ctan.c b/math/s_ctan.c index eaf31fa..bcf5cfc 100644 --- a/math/s_ctan.c +++ b/math/s_ctan.c @@ -110,6 +110,16 @@ __ctan (__complex__ double x) __real__ res = sinrx * cosrx / den; __imag__ res = sinhix * coshix / den; } + if (fabs (__real__ res) < DBL_MIN) + { + double force_underflow = __real__ res * __real__ res; + math_force_eval (force_underflow); + } + if (fabs (__imag__ res) < DBL_MIN) + { + double force_underflow = __imag__ res * __imag__ res; + math_force_eval (force_underflow); + } } return res; diff --git a/math/s_ctanf.c b/math/s_ctanf.c index e0a6b8f..683ab6e 100644 --- a/math/s_ctanf.c +++ b/math/s_ctanf.c @@ -110,6 +110,16 @@ __ctanf (__complex__ float x) __real__ res = sinrx * cosrx / den; __imag__ res = sinhix * coshix / den; } + if (fabsf (__real__ res) < FLT_MIN) + { + float force_underflow = __real__ res * __real__ res; + math_force_eval (force_underflow); + } + if (fabsf (__imag__ res) < FLT_MIN) + { + float force_underflow = __imag__ res * __imag__ res; + math_force_eval (force_underflow); + } } return res; diff --git a/math/s_ctanh.c b/math/s_ctanh.c index 1347d07..76a0501 100644 --- a/math/s_ctanh.c +++ b/math/s_ctanh.c @@ -110,6 +110,16 @@ __ctanh (__complex__ double x) __real__ res = sinhrx * coshrx / den; __imag__ res = sinix * cosix / den; } + if (fabs (__real__ res) < DBL_MIN) + { + double force_underflow = __real__ res * __real__ res; + math_force_eval (force_underflow); + } + if (fabs (__imag__ res) < DBL_MIN) + { + double force_underflow = __imag__ res * __imag__ res; + math_force_eval (force_underflow); + } } return res; diff --git a/math/s_ctanhf.c b/math/s_ctanhf.c index 14e1371..9d15c3e 100644 --- a/math/s_ctanhf.c +++ b/math/s_ctanhf.c @@ -110,6 +110,16 @@ __ctanhf (__complex__ float x) __real__ res = sinhrx * coshrx / den; __imag__ res = sinix * cosix / den; } + if (fabsf (__real__ res) < FLT_MIN) + { + float force_underflow = __real__ res * __real__ res; + math_force_eval (force_underflow); + } + if (fabsf (__imag__ res) < FLT_MIN) + { + float force_underflow = __imag__ res * __imag__ res; + math_force_eval (force_underflow); + } } return res; diff --git a/math/s_ctanhl.c b/math/s_ctanhl.c index 6b9dfc5..9c15bb3 100644 --- a/math/s_ctanhl.c +++ b/math/s_ctanhl.c @@ -117,6 +117,16 @@ __ctanhl (__complex__ long double x) __real__ res = sinhrx * coshrx / den; __imag__ res = sinix * cosix / den; } + if (fabsl (__real__ res) < LDBL_MIN) + { + long double force_underflow = __real__ res * __real__ res; + math_force_eval (force_underflow); + } + if (fabsl (__imag__ res) < LDBL_MIN) + { + long double force_underflow = __imag__ res * __imag__ res; + math_force_eval (force_underflow); + } } return res; diff --git a/math/s_ctanl.c b/math/s_ctanl.c index 0fd0039..48ab81b 100644 --- a/math/s_ctanl.c +++ b/math/s_ctanl.c @@ -117,6 +117,16 @@ __ctanl (__complex__ long double x) __real__ res = sinrx * cosrx / den; __imag__ res = sinhix * coshix / den; } + if (fabsl (__real__ res) < LDBL_MIN) + { + long double force_underflow = __real__ res * __real__ res; + math_force_eval (force_underflow); + } + if (fabsl (__imag__ res) < LDBL_MIN) + { + long double force_underflow = __imag__ res * __imag__ res; + math_force_eval (force_underflow); + } } return res; |