diff options
Diffstat (limited to 'math')
-rw-r--r-- | math/auto-libm-test-in | 5 | ||||
-rw-r--r-- | math/auto-libm-test-out | 356 | ||||
-rw-r--r-- | math/s_csqrt.c | 11 | ||||
-rw-r--r-- | math/s_csqrtf.c | 11 | ||||
-rw-r--r-- | math/s_csqrtl.c | 11 |
5 files changed, 394 insertions, 0 deletions
diff --git a/math/auto-libm-test-in b/math/auto-libm-test-in index 015041a..49f1c55 100644 --- a/math/auto-libm-test-in +++ b/math/auto-libm-test-in @@ -1171,6 +1171,11 @@ csqrt 0x1p-16445 0x1.0000000000000004p-16382 csqrt 0x1p-16494 0x1.0000000000000000000000000001p-16382 csqrt 0x1p-16494 0x1.0000000000000000000000000002p-16382 +csqrt 1 min +csqrt 1 -min +csqrt -1 min +csqrt -1 -min + ctan 0 0 ctan 0 -0 ctan -0 0 diff --git a/math/auto-libm-test-out b/math/auto-libm-test-out index f091ccb..fca557b 100644 --- a/math/auto-libm-test-out +++ b/math/auto-libm-test-out @@ -105924,6 +105924,362 @@ csqrt 0x1p-16494 0x1.0000000000000000000000000002p-16382 = csqrt tonearest ldbl-128 0x4p-16496L 0x4.0000000000000000000000000008p-16384L : 0x1.6a09e667f3bcc908b2fb1366ea98p-8192L 0x1.6a09e667f3bcc908b2fb1366ea96p-8192L : inexact-ok = csqrt towardzero ldbl-128 0x4p-16496L 0x4.0000000000000000000000000008p-16384L : 0x1.6a09e667f3bcc908b2fb1366ea97p-8192L 0x1.6a09e667f3bcc908b2fb1366ea96p-8192L : inexact-ok = csqrt upward ldbl-128 0x4p-16496L 0x4.0000000000000000000000000008p-16384L : 0x1.6a09e667f3bcc908b2fb1366ea98p-8192L 0x1.6a09e667f3bcc908b2fb1366ea97p-8192L : inexact-ok +csqrt 1 min += csqrt downward flt-32 0x1p+0f 0x4p-128f : 0x1p+0f 0x1.fffff8p-128f : inexact-ok underflow errno-erange-ok += csqrt tonearest flt-32 0x1p+0f 0x4p-128f : 0x1p+0f 0x2p-128f : inexact-ok underflow errno-erange-ok += csqrt towardzero flt-32 0x1p+0f 0x4p-128f : 0x1p+0f 0x1.fffff8p-128f : inexact-ok underflow errno-erange-ok += csqrt upward flt-32 0x1p+0f 0x4p-128f : 0x1.000002p+0f 0x2p-128f : inexact-ok underflow errno-erange-ok += csqrt downward dbl-64 0x1p+0 0x4p-128 : 0x1p+0 0x1.fffffffffffffp-128 : inexact-ok += csqrt tonearest dbl-64 0x1p+0 0x4p-128 : 0x1p+0 0x2p-128 : inexact-ok += csqrt towardzero dbl-64 0x1p+0 0x4p-128 : 0x1p+0 0x1.fffffffffffffp-128 : inexact-ok += csqrt upward dbl-64 0x1p+0 0x4p-128 : 0x1.0000000000001p+0 0x2p-128 : inexact-ok += csqrt downward ldbl-96-intel 0x1p+0L 0x4p-128L : 0x1p+0L 0x1.fffffffffffffffep-128L : inexact-ok += csqrt tonearest ldbl-96-intel 0x1p+0L 0x4p-128L : 0x1p+0L 0x2p-128L : inexact-ok += csqrt towardzero ldbl-96-intel 0x1p+0L 0x4p-128L : 0x1p+0L 0x1.fffffffffffffffep-128L : inexact-ok += csqrt upward ldbl-96-intel 0x1p+0L 0x4p-128L : 0x1.0000000000000002p+0L 0x2p-128L : inexact-ok += csqrt downward ldbl-96-m68k 0x1p+0L 0x4p-128L : 0x1p+0L 0x1.fffffffffffffffep-128L : inexact-ok += csqrt tonearest ldbl-96-m68k 0x1p+0L 0x4p-128L : 0x1p+0L 0x2p-128L : inexact-ok += csqrt towardzero ldbl-96-m68k 0x1p+0L 0x4p-128L : 0x1p+0L 0x1.fffffffffffffffep-128L : inexact-ok += csqrt upward ldbl-96-m68k 0x1p+0L 0x4p-128L : 0x1.0000000000000002p+0L 0x2p-128L : inexact-ok += csqrt downward ldbl-128 0x1p+0L 0x4p-128L : 0x1p+0L 0x1.ffffffffffffffffffffffffffffp-128L : inexact-ok += csqrt tonearest ldbl-128 0x1p+0L 0x4p-128L : 0x1p+0L 0x2p-128L : inexact-ok += csqrt towardzero ldbl-128 0x1p+0L 0x4p-128L : 0x1p+0L 0x1.ffffffffffffffffffffffffffffp-128L : inexact-ok += csqrt upward ldbl-128 0x1p+0L 0x4p-128L : 0x1.0000000000000000000000000001p+0L 0x2p-128L : inexact-ok += csqrt downward ldbl-128ibm 0x1p+0L 0x4p-128L : 0x1p+0L 0x1.ffffffffffffffffffffffffff8p-128L : inexact-ok += csqrt tonearest ldbl-128ibm 0x1p+0L 0x4p-128L : 0x1p+0L 0x2p-128L : inexact-ok += csqrt towardzero ldbl-128ibm 0x1p+0L 0x4p-128L : 0x1p+0L 0x1.ffffffffffffffffffffffffff8p-128L : inexact-ok += csqrt upward ldbl-128ibm 0x1p+0L 0x4p-128L : 0x1.000000000000000000000000008p+0L 0x2p-128L : inexact-ok += csqrt downward dbl-64 0x1p+0 0x4p-1024 : 0x1p+0 0x1.ffffffffffffcp-1024 : inexact-ok underflow errno-erange-ok += csqrt tonearest dbl-64 0x1p+0 0x4p-1024 : 0x1p+0 0x2p-1024 : inexact-ok underflow errno-erange-ok += csqrt towardzero dbl-64 0x1p+0 0x4p-1024 : 0x1p+0 0x1.ffffffffffffcp-1024 : inexact-ok underflow errno-erange-ok += csqrt upward dbl-64 0x1p+0 0x4p-1024 : 0x1.0000000000001p+0 0x2p-1024 : inexact-ok underflow errno-erange-ok += csqrt downward ldbl-96-intel 0x1p+0L 0x4p-1024L : 0x1p+0L 0x1.fffffffffffffffep-1024L : inexact-ok += csqrt tonearest ldbl-96-intel 0x1p+0L 0x4p-1024L : 0x1p+0L 0x2p-1024L : inexact-ok += csqrt towardzero ldbl-96-intel 0x1p+0L 0x4p-1024L : 0x1p+0L 0x1.fffffffffffffffep-1024L : inexact-ok += csqrt upward ldbl-96-intel 0x1p+0L 0x4p-1024L : 0x1.0000000000000002p+0L 0x2p-1024L : inexact-ok += csqrt downward ldbl-96-m68k 0x1p+0L 0x4p-1024L : 0x1p+0L 0x1.fffffffffffffffep-1024L : inexact-ok += csqrt tonearest ldbl-96-m68k 0x1p+0L 0x4p-1024L : 0x1p+0L 0x2p-1024L : inexact-ok += csqrt towardzero ldbl-96-m68k 0x1p+0L 0x4p-1024L : 0x1p+0L 0x1.fffffffffffffffep-1024L : inexact-ok += csqrt upward ldbl-96-m68k 0x1p+0L 0x4p-1024L : 0x1.0000000000000002p+0L 0x2p-1024L : inexact-ok += csqrt downward ldbl-128 0x1p+0L 0x4p-1024L : 0x1p+0L 0x1.ffffffffffffffffffffffffffffp-1024L : inexact-ok += csqrt tonearest ldbl-128 0x1p+0L 0x4p-1024L : 0x1p+0L 0x2p-1024L : inexact-ok += csqrt towardzero ldbl-128 0x1p+0L 0x4p-1024L : 0x1p+0L 0x1.ffffffffffffffffffffffffffffp-1024L : inexact-ok += csqrt upward ldbl-128 0x1p+0L 0x4p-1024L : 0x1.0000000000000000000000000001p+0L 0x2p-1024L : inexact-ok += csqrt downward ldbl-128ibm 0x1p+0L 0x4p-1024L : 0x1p+0L 0x1.ffffffffffffcp-1024L : inexact-ok underflow errno-erange-ok += csqrt tonearest ldbl-128ibm 0x1p+0L 0x4p-1024L : 0x1p+0L 0x2p-1024L : inexact-ok underflow errno-erange-ok += csqrt towardzero ldbl-128ibm 0x1p+0L 0x4p-1024L : 0x1p+0L 0x1.ffffffffffffcp-1024L : inexact-ok underflow errno-erange-ok += csqrt upward ldbl-128ibm 0x1p+0L 0x4p-1024L : 0x1.000000000000000000000000008p+0L 0x2p-1024L : inexact-ok underflow errno-erange-ok += csqrt downward ldbl-96-intel 0x1p+0L 0x4p-16384L : 0x1p+0L 0x1.fffffffffffffff8p-16384L : inexact-ok underflow errno-erange-ok += csqrt tonearest ldbl-96-intel 0x1p+0L 0x4p-16384L : 0x1p+0L 0x2p-16384L : inexact-ok underflow errno-erange-ok += csqrt towardzero ldbl-96-intel 0x1p+0L 0x4p-16384L : 0x1p+0L 0x1.fffffffffffffff8p-16384L : inexact-ok underflow errno-erange-ok += csqrt upward ldbl-96-intel 0x1p+0L 0x4p-16384L : 0x1.0000000000000002p+0L 0x2p-16384L : inexact-ok underflow errno-erange-ok += csqrt downward ldbl-96-m68k 0x1p+0L 0x4p-16384L : 0x1p+0L 0x1.fffffffffffffffcp-16384L : inexact-ok underflow-ok errno-erange-ok += csqrt tonearest ldbl-96-m68k 0x1p+0L 0x4p-16384L : 0x1p+0L 0x2p-16384L : inexact-ok underflow-ok errno-erange-ok += csqrt towardzero ldbl-96-m68k 0x1p+0L 0x4p-16384L : 0x1p+0L 0x1.fffffffffffffffcp-16384L : inexact-ok underflow-ok errno-erange-ok += csqrt upward ldbl-96-m68k 0x1p+0L 0x4p-16384L : 0x1.0000000000000002p+0L 0x2p-16384L : inexact-ok underflow-ok errno-erange-ok += csqrt downward ldbl-128 0x1p+0L 0x4p-16384L : 0x1p+0L 0x1.fffffffffffffffffffffffffffcp-16384L : inexact-ok underflow errno-erange-ok += csqrt tonearest ldbl-128 0x1p+0L 0x4p-16384L : 0x1p+0L 0x2p-16384L : inexact-ok underflow errno-erange-ok += csqrt towardzero ldbl-128 0x1p+0L 0x4p-16384L : 0x1p+0L 0x1.fffffffffffffffffffffffffffcp-16384L : inexact-ok underflow errno-erange-ok += csqrt upward ldbl-128 0x1p+0L 0x4p-16384L : 0x1.0000000000000000000000000001p+0L 0x2p-16384L : inexact-ok underflow errno-erange-ok += csqrt downward ldbl-96-intel 0x1p+0L 0x2p-16384L : 0x1p+0L 0xf.ffffffffffffff8p-16388L : inexact-ok underflow errno-erange-ok += csqrt tonearest ldbl-96-intel 0x1p+0L 0x2p-16384L : 0x1p+0L 0x1p-16384L : inexact-ok underflow errno-erange-ok += csqrt towardzero ldbl-96-intel 0x1p+0L 0x2p-16384L : 0x1p+0L 0xf.ffffffffffffff8p-16388L : inexact-ok underflow errno-erange-ok += csqrt upward ldbl-96-intel 0x1p+0L 0x2p-16384L : 0x1.0000000000000002p+0L 0x1p-16384L : inexact-ok underflow errno-erange-ok += csqrt downward ldbl-96-m68k 0x1p+0L 0x2p-16384L : 0x1p+0L 0xf.ffffffffffffffcp-16388L : inexact-ok underflow errno-erange-ok += csqrt tonearest ldbl-96-m68k 0x1p+0L 0x2p-16384L : 0x1p+0L 0x1p-16384L : inexact-ok underflow errno-erange-ok += csqrt towardzero ldbl-96-m68k 0x1p+0L 0x2p-16384L : 0x1p+0L 0xf.ffffffffffffffcp-16388L : inexact-ok underflow errno-erange-ok += csqrt upward ldbl-96-m68k 0x1p+0L 0x2p-16384L : 0x1.0000000000000002p+0L 0x1p-16384L : inexact-ok underflow errno-erange-ok += csqrt downward ldbl-128 0x1p+0L 0x2p-16384L : 0x1p+0L 0xf.ffffffffffffffffffffffffffcp-16388L : inexact-ok underflow errno-erange-ok += csqrt tonearest ldbl-128 0x1p+0L 0x2p-16384L : 0x1p+0L 0x1p-16384L : inexact-ok underflow errno-erange-ok += csqrt towardzero ldbl-128 0x1p+0L 0x2p-16384L : 0x1p+0L 0xf.ffffffffffffffffffffffffffcp-16388L : inexact-ok underflow errno-erange-ok += csqrt upward ldbl-128 0x1p+0L 0x2p-16384L : 0x1.0000000000000000000000000001p+0L 0x1p-16384L : inexact-ok underflow errno-erange-ok += csqrt downward dbl-64 0x1p+0 0x8p-972 : 0x1p+0 0x3.ffffffffffffep-972 : inexact-ok += csqrt tonearest dbl-64 0x1p+0 0x8p-972 : 0x1p+0 0x4p-972 : inexact-ok += csqrt towardzero dbl-64 0x1p+0 0x8p-972 : 0x1p+0 0x3.ffffffffffffep-972 : inexact-ok += csqrt upward dbl-64 0x1p+0 0x8p-972 : 0x1.0000000000001p+0 0x4p-972 : inexact-ok += csqrt downward ldbl-96-intel 0x1p+0L 0x8p-972L : 0x1p+0L 0x3.fffffffffffffffcp-972L : inexact-ok += csqrt tonearest ldbl-96-intel 0x1p+0L 0x8p-972L : 0x1p+0L 0x4p-972L : inexact-ok += csqrt towardzero ldbl-96-intel 0x1p+0L 0x8p-972L : 0x1p+0L 0x3.fffffffffffffffcp-972L : inexact-ok += csqrt upward ldbl-96-intel 0x1p+0L 0x8p-972L : 0x1.0000000000000002p+0L 0x4p-972L : inexact-ok += csqrt downward ldbl-96-m68k 0x1p+0L 0x8p-972L : 0x1p+0L 0x3.fffffffffffffffcp-972L : inexact-ok += csqrt tonearest ldbl-96-m68k 0x1p+0L 0x8p-972L : 0x1p+0L 0x4p-972L : inexact-ok += csqrt towardzero ldbl-96-m68k 0x1p+0L 0x8p-972L : 0x1p+0L 0x3.fffffffffffffffcp-972L : inexact-ok += csqrt upward ldbl-96-m68k 0x1p+0L 0x8p-972L : 0x1.0000000000000002p+0L 0x4p-972L : inexact-ok += csqrt downward ldbl-128 0x1p+0L 0x8p-972L : 0x1p+0L 0x3.fffffffffffffffffffffffffffep-972L : inexact-ok += csqrt tonearest ldbl-128 0x1p+0L 0x8p-972L : 0x1p+0L 0x4p-972L : inexact-ok += csqrt towardzero ldbl-128 0x1p+0L 0x8p-972L : 0x1p+0L 0x3.fffffffffffffffffffffffffffep-972L : inexact-ok += csqrt upward ldbl-128 0x1p+0L 0x8p-972L : 0x1.0000000000000000000000000001p+0L 0x4p-972L : inexact-ok += csqrt downward ldbl-128ibm 0x1p+0L 0x8p-972L : 0x1p+0L 0x3.fffffffffffffffffffffffffcp-972L : inexact-ok underflow errno-erange-ok += csqrt tonearest ldbl-128ibm 0x1p+0L 0x8p-972L : 0x1p+0L 0x4p-972L : inexact-ok underflow errno-erange-ok += csqrt towardzero ldbl-128ibm 0x1p+0L 0x8p-972L : 0x1p+0L 0x3.fffffffffffffffffffffffffcp-972L : inexact-ok underflow errno-erange-ok += csqrt upward ldbl-128ibm 0x1p+0L 0x8p-972L : 0x1.000000000000000000000000008p+0L 0x4p-972L : inexact-ok underflow errno-erange-ok +csqrt 1 -min += csqrt downward flt-32 0x1p+0f -0x4p-128f : 0x1p+0f -0x2p-128f : inexact-ok underflow errno-erange-ok += csqrt tonearest flt-32 0x1p+0f -0x4p-128f : 0x1p+0f -0x2p-128f : inexact-ok underflow errno-erange-ok += csqrt towardzero flt-32 0x1p+0f -0x4p-128f : 0x1p+0f -0x1.fffff8p-128f : inexact-ok underflow errno-erange-ok += csqrt upward flt-32 0x1p+0f -0x4p-128f : 0x1.000002p+0f -0x1.fffff8p-128f : inexact-ok underflow errno-erange-ok += csqrt downward dbl-64 0x1p+0 -0x4p-128 : 0x1p+0 -0x2p-128 : inexact-ok += csqrt tonearest dbl-64 0x1p+0 -0x4p-128 : 0x1p+0 -0x2p-128 : inexact-ok += csqrt towardzero dbl-64 0x1p+0 -0x4p-128 : 0x1p+0 -0x1.fffffffffffffp-128 : inexact-ok += csqrt upward dbl-64 0x1p+0 -0x4p-128 : 0x1.0000000000001p+0 -0x1.fffffffffffffp-128 : inexact-ok += csqrt downward ldbl-96-intel 0x1p+0L -0x4p-128L : 0x1p+0L -0x2p-128L : inexact-ok += csqrt tonearest ldbl-96-intel 0x1p+0L -0x4p-128L : 0x1p+0L -0x2p-128L : inexact-ok += csqrt towardzero ldbl-96-intel 0x1p+0L -0x4p-128L : 0x1p+0L -0x1.fffffffffffffffep-128L : inexact-ok += csqrt upward ldbl-96-intel 0x1p+0L -0x4p-128L : 0x1.0000000000000002p+0L -0x1.fffffffffffffffep-128L : inexact-ok += csqrt downward ldbl-96-m68k 0x1p+0L -0x4p-128L : 0x1p+0L -0x2p-128L : inexact-ok += csqrt tonearest ldbl-96-m68k 0x1p+0L -0x4p-128L : 0x1p+0L -0x2p-128L : inexact-ok += csqrt towardzero ldbl-96-m68k 0x1p+0L -0x4p-128L : 0x1p+0L -0x1.fffffffffffffffep-128L : inexact-ok += csqrt upward ldbl-96-m68k 0x1p+0L -0x4p-128L : 0x1.0000000000000002p+0L -0x1.fffffffffffffffep-128L : inexact-ok += csqrt downward ldbl-128 0x1p+0L -0x4p-128L : 0x1p+0L -0x2p-128L : inexact-ok += csqrt tonearest ldbl-128 0x1p+0L -0x4p-128L : 0x1p+0L -0x2p-128L : inexact-ok += csqrt towardzero ldbl-128 0x1p+0L -0x4p-128L : 0x1p+0L -0x1.ffffffffffffffffffffffffffffp-128L : inexact-ok += csqrt upward ldbl-128 0x1p+0L -0x4p-128L : 0x1.0000000000000000000000000001p+0L -0x1.ffffffffffffffffffffffffffffp-128L : inexact-ok += csqrt downward ldbl-128ibm 0x1p+0L -0x4p-128L : 0x1p+0L -0x2p-128L : inexact-ok += csqrt tonearest ldbl-128ibm 0x1p+0L -0x4p-128L : 0x1p+0L -0x2p-128L : inexact-ok += csqrt towardzero ldbl-128ibm 0x1p+0L -0x4p-128L : 0x1p+0L -0x1.ffffffffffffffffffffffffff8p-128L : inexact-ok += csqrt upward ldbl-128ibm 0x1p+0L -0x4p-128L : 0x1.000000000000000000000000008p+0L -0x1.ffffffffffffffffffffffffff8p-128L : inexact-ok += csqrt downward dbl-64 0x1p+0 -0x4p-1024 : 0x1p+0 -0x2p-1024 : inexact-ok underflow errno-erange-ok += csqrt tonearest dbl-64 0x1p+0 -0x4p-1024 : 0x1p+0 -0x2p-1024 : inexact-ok underflow errno-erange-ok += csqrt towardzero dbl-64 0x1p+0 -0x4p-1024 : 0x1p+0 -0x1.ffffffffffffcp-1024 : inexact-ok underflow errno-erange-ok += csqrt upward dbl-64 0x1p+0 -0x4p-1024 : 0x1.0000000000001p+0 -0x1.ffffffffffffcp-1024 : inexact-ok underflow errno-erange-ok += csqrt downward ldbl-96-intel 0x1p+0L -0x4p-1024L : 0x1p+0L -0x2p-1024L : inexact-ok += csqrt tonearest ldbl-96-intel 0x1p+0L -0x4p-1024L : 0x1p+0L -0x2p-1024L : inexact-ok += csqrt towardzero ldbl-96-intel 0x1p+0L -0x4p-1024L : 0x1p+0L -0x1.fffffffffffffffep-1024L : inexact-ok += csqrt upward ldbl-96-intel 0x1p+0L -0x4p-1024L : 0x1.0000000000000002p+0L -0x1.fffffffffffffffep-1024L : inexact-ok += csqrt downward ldbl-96-m68k 0x1p+0L -0x4p-1024L : 0x1p+0L -0x2p-1024L : inexact-ok += csqrt tonearest ldbl-96-m68k 0x1p+0L -0x4p-1024L : 0x1p+0L -0x2p-1024L : inexact-ok += csqrt towardzero ldbl-96-m68k 0x1p+0L -0x4p-1024L : 0x1p+0L -0x1.fffffffffffffffep-1024L : inexact-ok += csqrt upward ldbl-96-m68k 0x1p+0L -0x4p-1024L : 0x1.0000000000000002p+0L -0x1.fffffffffffffffep-1024L : inexact-ok += csqrt downward ldbl-128 0x1p+0L -0x4p-1024L : 0x1p+0L -0x2p-1024L : inexact-ok += csqrt tonearest ldbl-128 0x1p+0L -0x4p-1024L : 0x1p+0L -0x2p-1024L : inexact-ok += csqrt towardzero ldbl-128 0x1p+0L -0x4p-1024L : 0x1p+0L -0x1.ffffffffffffffffffffffffffffp-1024L : inexact-ok += csqrt upward ldbl-128 0x1p+0L -0x4p-1024L : 0x1.0000000000000000000000000001p+0L -0x1.ffffffffffffffffffffffffffffp-1024L : inexact-ok += csqrt downward ldbl-128ibm 0x1p+0L -0x4p-1024L : 0x1p+0L -0x2p-1024L : inexact-ok underflow errno-erange-ok += csqrt tonearest ldbl-128ibm 0x1p+0L -0x4p-1024L : 0x1p+0L -0x2p-1024L : inexact-ok underflow errno-erange-ok += csqrt towardzero ldbl-128ibm 0x1p+0L -0x4p-1024L : 0x1p+0L -0x1.ffffffffffffcp-1024L : inexact-ok underflow errno-erange-ok += csqrt upward ldbl-128ibm 0x1p+0L -0x4p-1024L : 0x1.000000000000000000000000008p+0L -0x1.ffffffffffffcp-1024L : inexact-ok underflow errno-erange-ok += csqrt downward ldbl-96-intel 0x1p+0L -0x4p-16384L : 0x1p+0L -0x2p-16384L : inexact-ok underflow errno-erange-ok += csqrt tonearest ldbl-96-intel 0x1p+0L -0x4p-16384L : 0x1p+0L -0x2p-16384L : inexact-ok underflow errno-erange-ok += csqrt towardzero ldbl-96-intel 0x1p+0L -0x4p-16384L : 0x1p+0L -0x1.fffffffffffffff8p-16384L : inexact-ok underflow errno-erange-ok += csqrt upward ldbl-96-intel 0x1p+0L -0x4p-16384L : 0x1.0000000000000002p+0L -0x1.fffffffffffffff8p-16384L : inexact-ok underflow errno-erange-ok += csqrt downward ldbl-96-m68k 0x1p+0L -0x4p-16384L : 0x1p+0L -0x2p-16384L : inexact-ok underflow-ok errno-erange-ok += csqrt tonearest ldbl-96-m68k 0x1p+0L -0x4p-16384L : 0x1p+0L -0x2p-16384L : inexact-ok underflow-ok errno-erange-ok += csqrt towardzero ldbl-96-m68k 0x1p+0L -0x4p-16384L : 0x1p+0L -0x1.fffffffffffffffcp-16384L : inexact-ok underflow-ok errno-erange-ok += csqrt upward ldbl-96-m68k 0x1p+0L -0x4p-16384L : 0x1.0000000000000002p+0L -0x1.fffffffffffffffcp-16384L : inexact-ok underflow-ok errno-erange-ok += csqrt downward ldbl-128 0x1p+0L -0x4p-16384L : 0x1p+0L -0x2p-16384L : inexact-ok underflow errno-erange-ok += csqrt tonearest ldbl-128 0x1p+0L -0x4p-16384L : 0x1p+0L -0x2p-16384L : inexact-ok underflow errno-erange-ok += csqrt towardzero ldbl-128 0x1p+0L -0x4p-16384L : 0x1p+0L -0x1.fffffffffffffffffffffffffffcp-16384L : inexact-ok underflow errno-erange-ok += csqrt upward ldbl-128 0x1p+0L -0x4p-16384L : 0x1.0000000000000000000000000001p+0L -0x1.fffffffffffffffffffffffffffcp-16384L : inexact-ok underflow errno-erange-ok += csqrt downward ldbl-96-intel 0x1p+0L -0x2p-16384L : 0x1p+0L -0x1p-16384L : inexact-ok underflow errno-erange-ok += csqrt tonearest ldbl-96-intel 0x1p+0L -0x2p-16384L : 0x1p+0L -0x1p-16384L : inexact-ok underflow errno-erange-ok += csqrt towardzero ldbl-96-intel 0x1p+0L -0x2p-16384L : 0x1p+0L -0xf.ffffffffffffff8p-16388L : inexact-ok underflow errno-erange-ok += csqrt upward ldbl-96-intel 0x1p+0L -0x2p-16384L : 0x1.0000000000000002p+0L -0xf.ffffffffffffff8p-16388L : inexact-ok underflow errno-erange-ok += csqrt downward ldbl-96-m68k 0x1p+0L -0x2p-16384L : 0x1p+0L -0x1p-16384L : inexact-ok underflow errno-erange-ok += csqrt tonearest ldbl-96-m68k 0x1p+0L -0x2p-16384L : 0x1p+0L -0x1p-16384L : inexact-ok underflow errno-erange-ok += csqrt towardzero ldbl-96-m68k 0x1p+0L -0x2p-16384L : 0x1p+0L -0xf.ffffffffffffffcp-16388L : inexact-ok underflow errno-erange-ok += csqrt upward ldbl-96-m68k 0x1p+0L -0x2p-16384L : 0x1.0000000000000002p+0L -0xf.ffffffffffffffcp-16388L : inexact-ok underflow errno-erange-ok += csqrt downward ldbl-128 0x1p+0L -0x2p-16384L : 0x1p+0L -0x1p-16384L : inexact-ok underflow errno-erange-ok += csqrt tonearest ldbl-128 0x1p+0L -0x2p-16384L : 0x1p+0L -0x1p-16384L : inexact-ok underflow errno-erange-ok += csqrt towardzero ldbl-128 0x1p+0L -0x2p-16384L : 0x1p+0L -0xf.ffffffffffffffffffffffffffcp-16388L : inexact-ok underflow errno-erange-ok += csqrt upward ldbl-128 0x1p+0L -0x2p-16384L : 0x1.0000000000000000000000000001p+0L -0xf.ffffffffffffffffffffffffffcp-16388L : inexact-ok underflow errno-erange-ok += csqrt downward dbl-64 0x1p+0 -0x8p-972 : 0x1p+0 -0x4p-972 : inexact-ok += csqrt tonearest dbl-64 0x1p+0 -0x8p-972 : 0x1p+0 -0x4p-972 : inexact-ok += csqrt towardzero dbl-64 0x1p+0 -0x8p-972 : 0x1p+0 -0x3.ffffffffffffep-972 : inexact-ok += csqrt upward dbl-64 0x1p+0 -0x8p-972 : 0x1.0000000000001p+0 -0x3.ffffffffffffep-972 : inexact-ok += csqrt downward ldbl-96-intel 0x1p+0L -0x8p-972L : 0x1p+0L -0x4p-972L : inexact-ok += csqrt tonearest ldbl-96-intel 0x1p+0L -0x8p-972L : 0x1p+0L -0x4p-972L : inexact-ok += csqrt towardzero ldbl-96-intel 0x1p+0L -0x8p-972L : 0x1p+0L -0x3.fffffffffffffffcp-972L : inexact-ok += csqrt upward ldbl-96-intel 0x1p+0L -0x8p-972L : 0x1.0000000000000002p+0L -0x3.fffffffffffffffcp-972L : inexact-ok += csqrt downward ldbl-96-m68k 0x1p+0L -0x8p-972L : 0x1p+0L -0x4p-972L : inexact-ok += csqrt tonearest ldbl-96-m68k 0x1p+0L -0x8p-972L : 0x1p+0L -0x4p-972L : inexact-ok += csqrt towardzero ldbl-96-m68k 0x1p+0L -0x8p-972L : 0x1p+0L -0x3.fffffffffffffffcp-972L : inexact-ok += csqrt upward ldbl-96-m68k 0x1p+0L -0x8p-972L : 0x1.0000000000000002p+0L -0x3.fffffffffffffffcp-972L : inexact-ok += csqrt downward ldbl-128 0x1p+0L -0x8p-972L : 0x1p+0L -0x4p-972L : inexact-ok += csqrt tonearest ldbl-128 0x1p+0L -0x8p-972L : 0x1p+0L -0x4p-972L : inexact-ok += csqrt towardzero ldbl-128 0x1p+0L -0x8p-972L : 0x1p+0L -0x3.fffffffffffffffffffffffffffep-972L : inexact-ok += csqrt upward ldbl-128 0x1p+0L -0x8p-972L : 0x1.0000000000000000000000000001p+0L -0x3.fffffffffffffffffffffffffffep-972L : inexact-ok += csqrt downward ldbl-128ibm 0x1p+0L -0x8p-972L : 0x1p+0L -0x4p-972L : inexact-ok underflow errno-erange-ok += csqrt tonearest ldbl-128ibm 0x1p+0L -0x8p-972L : 0x1p+0L -0x4p-972L : inexact-ok underflow errno-erange-ok += csqrt towardzero ldbl-128ibm 0x1p+0L -0x8p-972L : 0x1p+0L -0x3.fffffffffffffffffffffffffcp-972L : inexact-ok underflow errno-erange-ok += csqrt upward ldbl-128ibm 0x1p+0L -0x8p-972L : 0x1.000000000000000000000000008p+0L -0x3.fffffffffffffffffffffffffcp-972L : inexact-ok underflow errno-erange-ok +csqrt -1 min += csqrt downward flt-32 -0x1p+0f 0x4p-128f : 0x1.fffff8p-128f 0x1p+0f : inexact-ok underflow errno-erange-ok += csqrt tonearest flt-32 -0x1p+0f 0x4p-128f : 0x2p-128f 0x1p+0f : inexact-ok underflow errno-erange-ok += csqrt towardzero flt-32 -0x1p+0f 0x4p-128f : 0x1.fffff8p-128f 0x1p+0f : inexact-ok underflow errno-erange-ok += csqrt upward flt-32 -0x1p+0f 0x4p-128f : 0x2p-128f 0x1.000002p+0f : inexact-ok underflow errno-erange-ok += csqrt downward dbl-64 -0x1p+0 0x4p-128 : 0x1.fffffffffffffp-128 0x1p+0 : inexact-ok += csqrt tonearest dbl-64 -0x1p+0 0x4p-128 : 0x2p-128 0x1p+0 : inexact-ok += csqrt towardzero dbl-64 -0x1p+0 0x4p-128 : 0x1.fffffffffffffp-128 0x1p+0 : inexact-ok += csqrt upward dbl-64 -0x1p+0 0x4p-128 : 0x2p-128 0x1.0000000000001p+0 : inexact-ok += csqrt downward ldbl-96-intel -0x1p+0L 0x4p-128L : 0x1.fffffffffffffffep-128L 0x1p+0L : inexact-ok += csqrt tonearest ldbl-96-intel -0x1p+0L 0x4p-128L : 0x2p-128L 0x1p+0L : inexact-ok += csqrt towardzero ldbl-96-intel -0x1p+0L 0x4p-128L : 0x1.fffffffffffffffep-128L 0x1p+0L : inexact-ok += csqrt upward ldbl-96-intel -0x1p+0L 0x4p-128L : 0x2p-128L 0x1.0000000000000002p+0L : inexact-ok += csqrt downward ldbl-96-m68k -0x1p+0L 0x4p-128L : 0x1.fffffffffffffffep-128L 0x1p+0L : inexact-ok += csqrt tonearest ldbl-96-m68k -0x1p+0L 0x4p-128L : 0x2p-128L 0x1p+0L : inexact-ok += csqrt towardzero ldbl-96-m68k -0x1p+0L 0x4p-128L : 0x1.fffffffffffffffep-128L 0x1p+0L : inexact-ok += csqrt upward ldbl-96-m68k -0x1p+0L 0x4p-128L : 0x2p-128L 0x1.0000000000000002p+0L : inexact-ok += csqrt downward ldbl-128 -0x1p+0L 0x4p-128L : 0x1.ffffffffffffffffffffffffffffp-128L 0x1p+0L : inexact-ok += csqrt tonearest ldbl-128 -0x1p+0L 0x4p-128L : 0x2p-128L 0x1p+0L : inexact-ok += csqrt towardzero ldbl-128 -0x1p+0L 0x4p-128L : 0x1.ffffffffffffffffffffffffffffp-128L 0x1p+0L : inexact-ok += csqrt upward ldbl-128 -0x1p+0L 0x4p-128L : 0x2p-128L 0x1.0000000000000000000000000001p+0L : inexact-ok += csqrt downward ldbl-128ibm -0x1p+0L 0x4p-128L : 0x1.ffffffffffffffffffffffffff8p-128L 0x1p+0L : inexact-ok += csqrt tonearest ldbl-128ibm -0x1p+0L 0x4p-128L : 0x2p-128L 0x1p+0L : inexact-ok += csqrt towardzero ldbl-128ibm -0x1p+0L 0x4p-128L : 0x1.ffffffffffffffffffffffffff8p-128L 0x1p+0L : inexact-ok += csqrt upward ldbl-128ibm -0x1p+0L 0x4p-128L : 0x2p-128L 0x1.000000000000000000000000008p+0L : inexact-ok += csqrt downward dbl-64 -0x1p+0 0x4p-1024 : 0x1.ffffffffffffcp-1024 0x1p+0 : inexact-ok underflow errno-erange-ok += csqrt tonearest dbl-64 -0x1p+0 0x4p-1024 : 0x2p-1024 0x1p+0 : inexact-ok underflow errno-erange-ok += csqrt towardzero dbl-64 -0x1p+0 0x4p-1024 : 0x1.ffffffffffffcp-1024 0x1p+0 : inexact-ok underflow errno-erange-ok += csqrt upward dbl-64 -0x1p+0 0x4p-1024 : 0x2p-1024 0x1.0000000000001p+0 : inexact-ok underflow errno-erange-ok += csqrt downward ldbl-96-intel -0x1p+0L 0x4p-1024L : 0x1.fffffffffffffffep-1024L 0x1p+0L : inexact-ok += csqrt tonearest ldbl-96-intel -0x1p+0L 0x4p-1024L : 0x2p-1024L 0x1p+0L : inexact-ok += csqrt towardzero ldbl-96-intel -0x1p+0L 0x4p-1024L : 0x1.fffffffffffffffep-1024L 0x1p+0L : inexact-ok += csqrt upward ldbl-96-intel -0x1p+0L 0x4p-1024L : 0x2p-1024L 0x1.0000000000000002p+0L : inexact-ok += csqrt downward ldbl-96-m68k -0x1p+0L 0x4p-1024L : 0x1.fffffffffffffffep-1024L 0x1p+0L : inexact-ok += csqrt tonearest ldbl-96-m68k -0x1p+0L 0x4p-1024L : 0x2p-1024L 0x1p+0L : inexact-ok += csqrt towardzero ldbl-96-m68k -0x1p+0L 0x4p-1024L : 0x1.fffffffffffffffep-1024L 0x1p+0L : inexact-ok += csqrt upward ldbl-96-m68k -0x1p+0L 0x4p-1024L : 0x2p-1024L 0x1.0000000000000002p+0L : inexact-ok += csqrt downward ldbl-128 -0x1p+0L 0x4p-1024L : 0x1.ffffffffffffffffffffffffffffp-1024L 0x1p+0L : inexact-ok += csqrt tonearest ldbl-128 -0x1p+0L 0x4p-1024L : 0x2p-1024L 0x1p+0L : inexact-ok += csqrt towardzero ldbl-128 -0x1p+0L 0x4p-1024L : 0x1.ffffffffffffffffffffffffffffp-1024L 0x1p+0L : inexact-ok += csqrt upward ldbl-128 -0x1p+0L 0x4p-1024L : 0x2p-1024L 0x1.0000000000000000000000000001p+0L : inexact-ok += csqrt downward ldbl-128ibm -0x1p+0L 0x4p-1024L : 0x1.ffffffffffffcp-1024L 0x1p+0L : inexact-ok underflow errno-erange-ok += csqrt tonearest ldbl-128ibm -0x1p+0L 0x4p-1024L : 0x2p-1024L 0x1p+0L : inexact-ok underflow errno-erange-ok += csqrt towardzero ldbl-128ibm -0x1p+0L 0x4p-1024L : 0x1.ffffffffffffcp-1024L 0x1p+0L : inexact-ok underflow errno-erange-ok += csqrt upward ldbl-128ibm -0x1p+0L 0x4p-1024L : 0x2p-1024L 0x1.000000000000000000000000008p+0L : inexact-ok underflow errno-erange-ok += csqrt downward ldbl-96-intel -0x1p+0L 0x4p-16384L : 0x1.fffffffffffffff8p-16384L 0x1p+0L : inexact-ok underflow errno-erange-ok += csqrt tonearest ldbl-96-intel -0x1p+0L 0x4p-16384L : 0x2p-16384L 0x1p+0L : inexact-ok underflow errno-erange-ok += csqrt towardzero ldbl-96-intel -0x1p+0L 0x4p-16384L : 0x1.fffffffffffffff8p-16384L 0x1p+0L : inexact-ok underflow errno-erange-ok += csqrt upward ldbl-96-intel -0x1p+0L 0x4p-16384L : 0x2p-16384L 0x1.0000000000000002p+0L : inexact-ok underflow errno-erange-ok += csqrt downward ldbl-96-m68k -0x1p+0L 0x4p-16384L : 0x1.fffffffffffffffcp-16384L 0x1p+0L : inexact-ok underflow-ok errno-erange-ok += csqrt tonearest ldbl-96-m68k -0x1p+0L 0x4p-16384L : 0x2p-16384L 0x1p+0L : inexact-ok underflow-ok errno-erange-ok += csqrt towardzero ldbl-96-m68k -0x1p+0L 0x4p-16384L : 0x1.fffffffffffffffcp-16384L 0x1p+0L : inexact-ok underflow-ok errno-erange-ok += csqrt upward ldbl-96-m68k -0x1p+0L 0x4p-16384L : 0x2p-16384L 0x1.0000000000000002p+0L : inexact-ok underflow-ok errno-erange-ok += csqrt downward ldbl-128 -0x1p+0L 0x4p-16384L : 0x1.fffffffffffffffffffffffffffcp-16384L 0x1p+0L : inexact-ok underflow errno-erange-ok += csqrt tonearest ldbl-128 -0x1p+0L 0x4p-16384L : 0x2p-16384L 0x1p+0L : inexact-ok underflow errno-erange-ok += csqrt towardzero ldbl-128 -0x1p+0L 0x4p-16384L : 0x1.fffffffffffffffffffffffffffcp-16384L 0x1p+0L : inexact-ok underflow errno-erange-ok += csqrt upward ldbl-128 -0x1p+0L 0x4p-16384L : 0x2p-16384L 0x1.0000000000000000000000000001p+0L : inexact-ok underflow errno-erange-ok += csqrt downward ldbl-96-intel -0x1p+0L 0x2p-16384L : 0xf.ffffffffffffff8p-16388L 0x1p+0L : inexact-ok underflow errno-erange-ok += csqrt tonearest ldbl-96-intel -0x1p+0L 0x2p-16384L : 0x1p-16384L 0x1p+0L : inexact-ok underflow errno-erange-ok += csqrt towardzero ldbl-96-intel -0x1p+0L 0x2p-16384L : 0xf.ffffffffffffff8p-16388L 0x1p+0L : inexact-ok underflow errno-erange-ok += csqrt upward ldbl-96-intel -0x1p+0L 0x2p-16384L : 0x1p-16384L 0x1.0000000000000002p+0L : inexact-ok underflow errno-erange-ok += csqrt downward ldbl-96-m68k -0x1p+0L 0x2p-16384L : 0xf.ffffffffffffffcp-16388L 0x1p+0L : inexact-ok underflow errno-erange-ok += csqrt tonearest ldbl-96-m68k -0x1p+0L 0x2p-16384L : 0x1p-16384L 0x1p+0L : inexact-ok underflow errno-erange-ok += csqrt towardzero ldbl-96-m68k -0x1p+0L 0x2p-16384L : 0xf.ffffffffffffffcp-16388L 0x1p+0L : inexact-ok underflow errno-erange-ok += csqrt upward ldbl-96-m68k -0x1p+0L 0x2p-16384L : 0x1p-16384L 0x1.0000000000000002p+0L : inexact-ok underflow errno-erange-ok += csqrt downward ldbl-128 -0x1p+0L 0x2p-16384L : 0xf.ffffffffffffffffffffffffffcp-16388L 0x1p+0L : inexact-ok underflow errno-erange-ok += csqrt tonearest ldbl-128 -0x1p+0L 0x2p-16384L : 0x1p-16384L 0x1p+0L : inexact-ok underflow errno-erange-ok += csqrt towardzero ldbl-128 -0x1p+0L 0x2p-16384L : 0xf.ffffffffffffffffffffffffffcp-16388L 0x1p+0L : inexact-ok underflow errno-erange-ok += csqrt upward ldbl-128 -0x1p+0L 0x2p-16384L : 0x1p-16384L 0x1.0000000000000000000000000001p+0L : inexact-ok underflow errno-erange-ok += csqrt downward dbl-64 -0x1p+0 0x8p-972 : 0x3.ffffffffffffep-972 0x1p+0 : inexact-ok += csqrt tonearest dbl-64 -0x1p+0 0x8p-972 : 0x4p-972 0x1p+0 : inexact-ok += csqrt towardzero dbl-64 -0x1p+0 0x8p-972 : 0x3.ffffffffffffep-972 0x1p+0 : inexact-ok += csqrt upward dbl-64 -0x1p+0 0x8p-972 : 0x4p-972 0x1.0000000000001p+0 : inexact-ok += csqrt downward ldbl-96-intel -0x1p+0L 0x8p-972L : 0x3.fffffffffffffffcp-972L 0x1p+0L : inexact-ok += csqrt tonearest ldbl-96-intel -0x1p+0L 0x8p-972L : 0x4p-972L 0x1p+0L : inexact-ok += csqrt towardzero ldbl-96-intel -0x1p+0L 0x8p-972L : 0x3.fffffffffffffffcp-972L 0x1p+0L : inexact-ok += csqrt upward ldbl-96-intel -0x1p+0L 0x8p-972L : 0x4p-972L 0x1.0000000000000002p+0L : inexact-ok += csqrt downward ldbl-96-m68k -0x1p+0L 0x8p-972L : 0x3.fffffffffffffffcp-972L 0x1p+0L : inexact-ok += csqrt tonearest ldbl-96-m68k -0x1p+0L 0x8p-972L : 0x4p-972L 0x1p+0L : inexact-ok += csqrt towardzero ldbl-96-m68k -0x1p+0L 0x8p-972L : 0x3.fffffffffffffffcp-972L 0x1p+0L : inexact-ok += csqrt upward ldbl-96-m68k -0x1p+0L 0x8p-972L : 0x4p-972L 0x1.0000000000000002p+0L : inexact-ok += csqrt downward ldbl-128 -0x1p+0L 0x8p-972L : 0x3.fffffffffffffffffffffffffffep-972L 0x1p+0L : inexact-ok += csqrt tonearest ldbl-128 -0x1p+0L 0x8p-972L : 0x4p-972L 0x1p+0L : inexact-ok += csqrt towardzero ldbl-128 -0x1p+0L 0x8p-972L : 0x3.fffffffffffffffffffffffffffep-972L 0x1p+0L : inexact-ok += csqrt upward ldbl-128 -0x1p+0L 0x8p-972L : 0x4p-972L 0x1.0000000000000000000000000001p+0L : inexact-ok += csqrt downward ldbl-128ibm -0x1p+0L 0x8p-972L : 0x3.fffffffffffffffffffffffffcp-972L 0x1p+0L : inexact-ok underflow errno-erange-ok += csqrt tonearest ldbl-128ibm -0x1p+0L 0x8p-972L : 0x4p-972L 0x1p+0L : inexact-ok underflow errno-erange-ok += csqrt towardzero ldbl-128ibm -0x1p+0L 0x8p-972L : 0x3.fffffffffffffffffffffffffcp-972L 0x1p+0L : inexact-ok underflow errno-erange-ok += csqrt upward ldbl-128ibm -0x1p+0L 0x8p-972L : 0x4p-972L 0x1.000000000000000000000000008p+0L : inexact-ok underflow errno-erange-ok +csqrt -1 -min += csqrt downward flt-32 -0x1p+0f -0x4p-128f : 0x1.fffff8p-128f -0x1.000002p+0f : inexact-ok underflow errno-erange-ok += csqrt tonearest flt-32 -0x1p+0f -0x4p-128f : 0x2p-128f -0x1p+0f : inexact-ok underflow errno-erange-ok += csqrt towardzero flt-32 -0x1p+0f -0x4p-128f : 0x1.fffff8p-128f -0x1p+0f : inexact-ok underflow errno-erange-ok += csqrt upward flt-32 -0x1p+0f -0x4p-128f : 0x2p-128f -0x1p+0f : inexact-ok underflow errno-erange-ok += csqrt downward dbl-64 -0x1p+0 -0x4p-128 : 0x1.fffffffffffffp-128 -0x1.0000000000001p+0 : inexact-ok += csqrt tonearest dbl-64 -0x1p+0 -0x4p-128 : 0x2p-128 -0x1p+0 : inexact-ok += csqrt towardzero dbl-64 -0x1p+0 -0x4p-128 : 0x1.fffffffffffffp-128 -0x1p+0 : inexact-ok += csqrt upward dbl-64 -0x1p+0 -0x4p-128 : 0x2p-128 -0x1p+0 : inexact-ok += csqrt downward ldbl-96-intel -0x1p+0L -0x4p-128L : 0x1.fffffffffffffffep-128L -0x1.0000000000000002p+0L : inexact-ok += csqrt tonearest ldbl-96-intel -0x1p+0L -0x4p-128L : 0x2p-128L -0x1p+0L : inexact-ok += csqrt towardzero ldbl-96-intel -0x1p+0L -0x4p-128L : 0x1.fffffffffffffffep-128L -0x1p+0L : inexact-ok += csqrt upward ldbl-96-intel -0x1p+0L -0x4p-128L : 0x2p-128L -0x1p+0L : inexact-ok += csqrt downward ldbl-96-m68k -0x1p+0L -0x4p-128L : 0x1.fffffffffffffffep-128L -0x1.0000000000000002p+0L : inexact-ok += csqrt tonearest ldbl-96-m68k -0x1p+0L -0x4p-128L : 0x2p-128L -0x1p+0L : inexact-ok += csqrt towardzero ldbl-96-m68k -0x1p+0L -0x4p-128L : 0x1.fffffffffffffffep-128L -0x1p+0L : inexact-ok += csqrt upward ldbl-96-m68k -0x1p+0L -0x4p-128L : 0x2p-128L -0x1p+0L : inexact-ok += csqrt downward ldbl-128 -0x1p+0L -0x4p-128L : 0x1.ffffffffffffffffffffffffffffp-128L -0x1.0000000000000000000000000001p+0L : inexact-ok += csqrt tonearest ldbl-128 -0x1p+0L -0x4p-128L : 0x2p-128L -0x1p+0L : inexact-ok += csqrt towardzero ldbl-128 -0x1p+0L -0x4p-128L : 0x1.ffffffffffffffffffffffffffffp-128L -0x1p+0L : inexact-ok += csqrt upward ldbl-128 -0x1p+0L -0x4p-128L : 0x2p-128L -0x1p+0L : inexact-ok += csqrt downward ldbl-128ibm -0x1p+0L -0x4p-128L : 0x1.ffffffffffffffffffffffffff8p-128L -0x1.000000000000000000000000008p+0L : inexact-ok += csqrt tonearest ldbl-128ibm -0x1p+0L -0x4p-128L : 0x2p-128L -0x1p+0L : inexact-ok += csqrt towardzero ldbl-128ibm -0x1p+0L -0x4p-128L : 0x1.ffffffffffffffffffffffffff8p-128L -0x1p+0L : inexact-ok += csqrt upward ldbl-128ibm -0x1p+0L -0x4p-128L : 0x2p-128L -0x1p+0L : inexact-ok += csqrt downward dbl-64 -0x1p+0 -0x4p-1024 : 0x1.ffffffffffffcp-1024 -0x1.0000000000001p+0 : inexact-ok underflow errno-erange-ok += csqrt tonearest dbl-64 -0x1p+0 -0x4p-1024 : 0x2p-1024 -0x1p+0 : inexact-ok underflow errno-erange-ok += csqrt towardzero dbl-64 -0x1p+0 -0x4p-1024 : 0x1.ffffffffffffcp-1024 -0x1p+0 : inexact-ok underflow errno-erange-ok += csqrt upward dbl-64 -0x1p+0 -0x4p-1024 : 0x2p-1024 -0x1p+0 : inexact-ok underflow errno-erange-ok += csqrt downward ldbl-96-intel -0x1p+0L -0x4p-1024L : 0x1.fffffffffffffffep-1024L -0x1.0000000000000002p+0L : inexact-ok += csqrt tonearest ldbl-96-intel -0x1p+0L -0x4p-1024L : 0x2p-1024L -0x1p+0L : inexact-ok += csqrt towardzero ldbl-96-intel -0x1p+0L -0x4p-1024L : 0x1.fffffffffffffffep-1024L -0x1p+0L : inexact-ok += csqrt upward ldbl-96-intel -0x1p+0L -0x4p-1024L : 0x2p-1024L -0x1p+0L : inexact-ok += csqrt downward ldbl-96-m68k -0x1p+0L -0x4p-1024L : 0x1.fffffffffffffffep-1024L -0x1.0000000000000002p+0L : inexact-ok += csqrt tonearest ldbl-96-m68k -0x1p+0L -0x4p-1024L : 0x2p-1024L -0x1p+0L : inexact-ok += csqrt towardzero ldbl-96-m68k -0x1p+0L -0x4p-1024L : 0x1.fffffffffffffffep-1024L -0x1p+0L : inexact-ok += csqrt upward ldbl-96-m68k -0x1p+0L -0x4p-1024L : 0x2p-1024L -0x1p+0L : inexact-ok += csqrt downward ldbl-128 -0x1p+0L -0x4p-1024L : 0x1.ffffffffffffffffffffffffffffp-1024L -0x1.0000000000000000000000000001p+0L : inexact-ok += csqrt tonearest ldbl-128 -0x1p+0L -0x4p-1024L : 0x2p-1024L -0x1p+0L : inexact-ok += csqrt towardzero ldbl-128 -0x1p+0L -0x4p-1024L : 0x1.ffffffffffffffffffffffffffffp-1024L -0x1p+0L : inexact-ok += csqrt upward ldbl-128 -0x1p+0L -0x4p-1024L : 0x2p-1024L -0x1p+0L : inexact-ok += csqrt downward ldbl-128ibm -0x1p+0L -0x4p-1024L : 0x1.ffffffffffffcp-1024L -0x1.000000000000000000000000008p+0L : inexact-ok underflow errno-erange-ok += csqrt tonearest ldbl-128ibm -0x1p+0L -0x4p-1024L : 0x2p-1024L -0x1p+0L : inexact-ok underflow errno-erange-ok += csqrt towardzero ldbl-128ibm -0x1p+0L -0x4p-1024L : 0x1.ffffffffffffcp-1024L -0x1p+0L : inexact-ok underflow errno-erange-ok += csqrt upward ldbl-128ibm -0x1p+0L -0x4p-1024L : 0x2p-1024L -0x1p+0L : inexact-ok underflow errno-erange-ok += csqrt downward ldbl-96-intel -0x1p+0L -0x4p-16384L : 0x1.fffffffffffffff8p-16384L -0x1.0000000000000002p+0L : inexact-ok underflow errno-erange-ok += csqrt tonearest ldbl-96-intel -0x1p+0L -0x4p-16384L : 0x2p-16384L -0x1p+0L : inexact-ok underflow errno-erange-ok += csqrt towardzero ldbl-96-intel -0x1p+0L -0x4p-16384L : 0x1.fffffffffffffff8p-16384L -0x1p+0L : inexact-ok underflow errno-erange-ok += csqrt upward ldbl-96-intel -0x1p+0L -0x4p-16384L : 0x2p-16384L -0x1p+0L : inexact-ok underflow errno-erange-ok += csqrt downward ldbl-96-m68k -0x1p+0L -0x4p-16384L : 0x1.fffffffffffffffcp-16384L -0x1.0000000000000002p+0L : inexact-ok underflow-ok errno-erange-ok += csqrt tonearest ldbl-96-m68k -0x1p+0L -0x4p-16384L : 0x2p-16384L -0x1p+0L : inexact-ok underflow-ok errno-erange-ok += csqrt towardzero ldbl-96-m68k -0x1p+0L -0x4p-16384L : 0x1.fffffffffffffffcp-16384L -0x1p+0L : inexact-ok underflow-ok errno-erange-ok += csqrt upward ldbl-96-m68k -0x1p+0L -0x4p-16384L : 0x2p-16384L -0x1p+0L : inexact-ok underflow-ok errno-erange-ok += csqrt downward ldbl-128 -0x1p+0L -0x4p-16384L : 0x1.fffffffffffffffffffffffffffcp-16384L -0x1.0000000000000000000000000001p+0L : inexact-ok underflow errno-erange-ok += csqrt tonearest ldbl-128 -0x1p+0L -0x4p-16384L : 0x2p-16384L -0x1p+0L : inexact-ok underflow errno-erange-ok += csqrt towardzero ldbl-128 -0x1p+0L -0x4p-16384L : 0x1.fffffffffffffffffffffffffffcp-16384L -0x1p+0L : inexact-ok underflow errno-erange-ok += csqrt upward ldbl-128 -0x1p+0L -0x4p-16384L : 0x2p-16384L -0x1p+0L : inexact-ok underflow errno-erange-ok += csqrt downward ldbl-96-intel -0x1p+0L -0x2p-16384L : 0xf.ffffffffffffff8p-16388L -0x1.0000000000000002p+0L : inexact-ok underflow errno-erange-ok += csqrt tonearest ldbl-96-intel -0x1p+0L -0x2p-16384L : 0x1p-16384L -0x1p+0L : inexact-ok underflow errno-erange-ok += csqrt towardzero ldbl-96-intel -0x1p+0L -0x2p-16384L : 0xf.ffffffffffffff8p-16388L -0x1p+0L : inexact-ok underflow errno-erange-ok += csqrt upward ldbl-96-intel -0x1p+0L -0x2p-16384L : 0x1p-16384L -0x1p+0L : inexact-ok underflow errno-erange-ok += csqrt downward ldbl-96-m68k -0x1p+0L -0x2p-16384L : 0xf.ffffffffffffffcp-16388L -0x1.0000000000000002p+0L : inexact-ok underflow errno-erange-ok += csqrt tonearest ldbl-96-m68k -0x1p+0L -0x2p-16384L : 0x1p-16384L -0x1p+0L : inexact-ok underflow errno-erange-ok += csqrt towardzero ldbl-96-m68k -0x1p+0L -0x2p-16384L : 0xf.ffffffffffffffcp-16388L -0x1p+0L : inexact-ok underflow errno-erange-ok += csqrt upward ldbl-96-m68k -0x1p+0L -0x2p-16384L : 0x1p-16384L -0x1p+0L : inexact-ok underflow errno-erange-ok += csqrt downward ldbl-128 -0x1p+0L -0x2p-16384L : 0xf.ffffffffffffffffffffffffffcp-16388L -0x1.0000000000000000000000000001p+0L : inexact-ok underflow errno-erange-ok += csqrt tonearest ldbl-128 -0x1p+0L -0x2p-16384L : 0x1p-16384L -0x1p+0L : inexact-ok underflow errno-erange-ok += csqrt towardzero ldbl-128 -0x1p+0L -0x2p-16384L : 0xf.ffffffffffffffffffffffffffcp-16388L -0x1p+0L : inexact-ok underflow errno-erange-ok += csqrt upward ldbl-128 -0x1p+0L -0x2p-16384L : 0x1p-16384L -0x1p+0L : inexact-ok underflow errno-erange-ok += csqrt downward dbl-64 -0x1p+0 -0x8p-972 : 0x3.ffffffffffffep-972 -0x1.0000000000001p+0 : inexact-ok += csqrt tonearest dbl-64 -0x1p+0 -0x8p-972 : 0x4p-972 -0x1p+0 : inexact-ok += csqrt towardzero dbl-64 -0x1p+0 -0x8p-972 : 0x3.ffffffffffffep-972 -0x1p+0 : inexact-ok += csqrt upward dbl-64 -0x1p+0 -0x8p-972 : 0x4p-972 -0x1p+0 : inexact-ok += csqrt downward ldbl-96-intel -0x1p+0L -0x8p-972L : 0x3.fffffffffffffffcp-972L -0x1.0000000000000002p+0L : inexact-ok += csqrt tonearest ldbl-96-intel -0x1p+0L -0x8p-972L : 0x4p-972L -0x1p+0L : inexact-ok += csqrt towardzero ldbl-96-intel -0x1p+0L -0x8p-972L : 0x3.fffffffffffffffcp-972L -0x1p+0L : inexact-ok += csqrt upward ldbl-96-intel -0x1p+0L -0x8p-972L : 0x4p-972L -0x1p+0L : inexact-ok += csqrt downward ldbl-96-m68k -0x1p+0L -0x8p-972L : 0x3.fffffffffffffffcp-972L -0x1.0000000000000002p+0L : inexact-ok += csqrt tonearest ldbl-96-m68k -0x1p+0L -0x8p-972L : 0x4p-972L -0x1p+0L : inexact-ok += csqrt towardzero ldbl-96-m68k -0x1p+0L -0x8p-972L : 0x3.fffffffffffffffcp-972L -0x1p+0L : inexact-ok += csqrt upward ldbl-96-m68k -0x1p+0L -0x8p-972L : 0x4p-972L -0x1p+0L : inexact-ok += csqrt downward ldbl-128 -0x1p+0L -0x8p-972L : 0x3.fffffffffffffffffffffffffffep-972L -0x1.0000000000000000000000000001p+0L : inexact-ok += csqrt tonearest ldbl-128 -0x1p+0L -0x8p-972L : 0x4p-972L -0x1p+0L : inexact-ok += csqrt towardzero ldbl-128 -0x1p+0L -0x8p-972L : 0x3.fffffffffffffffffffffffffffep-972L -0x1p+0L : inexact-ok += csqrt upward ldbl-128 -0x1p+0L -0x8p-972L : 0x4p-972L -0x1p+0L : inexact-ok += csqrt downward ldbl-128ibm -0x1p+0L -0x8p-972L : 0x3.fffffffffffffffffffffffffcp-972L -0x1.000000000000000000000000008p+0L : inexact-ok underflow errno-erange-ok += csqrt tonearest ldbl-128ibm -0x1p+0L -0x8p-972L : 0x4p-972L -0x1p+0L : inexact-ok underflow errno-erange-ok += csqrt towardzero ldbl-128ibm -0x1p+0L -0x8p-972L : 0x3.fffffffffffffffffffffffffcp-972L -0x1p+0L : inexact-ok underflow errno-erange-ok += csqrt upward ldbl-128ibm -0x1p+0L -0x8p-972L : 0x4p-972L -0x1p+0L : inexact-ok underflow errno-erange-ok ctan 0 0 = ctan downward flt-32 0x0p+0f 0x0p+0f : 0x0p+0f 0x0p+0f : inexact-ok = ctan tonearest flt-32 0x0p+0f 0x0p+0f : 0x0p+0f 0x0p+0f : inexact-ok diff --git a/math/s_csqrt.c b/math/s_csqrt.c index 068534c..b86f533 100644 --- a/math/s_csqrt.c +++ b/math/s_csqrt.c @@ -148,6 +148,17 @@ __csqrt (__complex__ double x) s = __scalbn (s, scale); } + if (fabs (r) < DBL_MIN) + { + double force_underflow = r * r; + math_force_eval (force_underflow); + } + if (fabs (s) < DBL_MIN) + { + double force_underflow = s * s; + math_force_eval (force_underflow); + } + __real__ res = r; __imag__ res = __copysign (s, __imag__ x); } diff --git a/math/s_csqrtf.c b/math/s_csqrtf.c index f7dc3b1..e433f47 100644 --- a/math/s_csqrtf.c +++ b/math/s_csqrtf.c @@ -148,6 +148,17 @@ __csqrtf (__complex__ float x) s = __scalbnf (s, scale); } + if (fabsf (r) < FLT_MIN) + { + float force_underflow = r * r; + math_force_eval (force_underflow); + } + if (fabsf (s) < FLT_MIN) + { + float force_underflow = s * s; + math_force_eval (force_underflow); + } + __real__ res = r; __imag__ res = __copysignf (s, __imag__ x); } diff --git a/math/s_csqrtl.c b/math/s_csqrtl.c index a0252e6..003d614 100644 --- a/math/s_csqrtl.c +++ b/math/s_csqrtl.c @@ -148,6 +148,17 @@ __csqrtl (__complex__ long double x) s = __scalbnl (s, scale); } + if (fabsl (r) < LDBL_MIN) + { + long double force_underflow = r * r; + math_force_eval (force_underflow); + } + if (fabsl (s) < LDBL_MIN) + { + long double force_underflow = s * s; + math_force_eval (force_underflow); + } + __real__ res = r; __imag__ res = __copysignl (s, __imag__ x); } |