aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2015-06-23 16:01:54 +0000
committerJoseph Myers <joseph@codesourcery.com>2015-06-23 16:01:54 +0000
commit718d34a309493f8697ff9a8fefcbacbba12a2ccd (patch)
tree314b1f34149f46e8d8ed2a0cd3eb107fedf9fef1
parentb59549574efeeecf124de05c9183c120eaaa56f0 (diff)
downloadglibc-718d34a309493f8697ff9a8fefcbacbba12a2ccd.tar
glibc-718d34a309493f8697ff9a8fefcbacbba12a2ccd.tar.gz
glibc-718d34a309493f8697ff9a8fefcbacbba12a2ccd.tar.bz2
glibc-718d34a309493f8697ff9a8fefcbacbba12a2ccd.zip
Fix csqrt spurious underflows (bug 18371).
The csqrt implementations in glibc can cause spurious underflows in some cases as a side-effect of the scaling for large arguments (when underflow is correct for the square root of the argument that was scaled down to avoid overflow, but not for the original argument). This patch arranges to avoid the underflowing intermediate computation (eliminating a multiplication in 0.5 in the problem cases where a subsequent scaling by 2 would follow). Tested for x86_64 and x86 and ulps updated accordingly (only needed for x86). [BZ #18371] * math/s_csqrt.c (__csqrt): Avoid multiplication by 0.5 where intermediate but not final result might underflow. * math/s_csqrtf.c (__csqrtf): Likewise. * math/s_csqrtl.c (__csqrtl): Likewise. * math/auto-libm-test-in: Add more tests of csqrt. * math/auto-libm-test-out: Regenerated. * sysdeps/i386/fpu/libm-test-ulps: Update.
-rw-r--r--ChangeLog9
-rw-r--r--NEWS10
-rw-r--r--math/auto-libm-test-in7
-rw-r--r--math/auto-libm-test-out766
-rw-r--r--math/s_csqrt.c20
-rw-r--r--math/s_csqrtf.c20
-rw-r--r--math/s_csqrtl.c20
-rw-r--r--sysdeps/i386/fpu/libm-test-ulps2
8 files changed, 843 insertions, 11 deletions
diff --git a/ChangeLog b/ChangeLog
index a7f879af23..0c7710076d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,14 @@
2015-06-23 Joseph Myers <joseph@codesourcery.com>
+ [BZ #18371]
+ * math/s_csqrt.c (__csqrt): Avoid multiplication by 0.5 where
+ intermediate but not final result might underflow.
+ * math/s_csqrtf.c (__csqrtf): Likewise.
+ * math/s_csqrtl.c (__csqrtl): Likewise.
+ * math/auto-libm-test-in: Add more tests of csqrt.
+ * math/auto-libm-test-out: Regenerated.
+ * sysdeps/i386/fpu/libm-test-ulps: Update.
+
[BZ #18219]
* sysdeps/ieee754/dbl-64/e_exp2.c (__ieee754_exp2): Reduce
threshold on absolute value of exponent for which scaling is used.
diff --git a/NEWS b/NEWS
index 42ebdd1af6..fcffaead68 100644
--- a/NEWS
+++ b/NEWS
@@ -19,11 +19,11 @@ Version 2.22
18034, 18036, 18038, 18039, 18042, 18043, 18046, 18047, 18049, 18068,
18080, 18093, 18100, 18104, 18110, 18111, 18116, 18125, 18128, 18138,
18185, 18196, 18197, 18206, 18210, 18211, 18217, 18219, 18220, 18221,
- 18234, 18244, 18247, 18287, 18319, 18324, 18333, 18346, 18397, 18409,
- 18410, 18412, 18418, 18422, 18434, 18444, 18468, 18469, 18470, 18479,
- 18483, 18495, 18496, 18497, 18498, 18507, 18512, 18513, 18519, 18520,
- 18522, 18527, 18528, 18529, 18530, 18532, 18533, 18534, 18536, 18539,
- 18540, 18542, 18544, 18545, 18546, 18547, 18553, 18558, 18569.
+ 18234, 18244, 18247, 18287, 18319, 18324, 18333, 18346, 18371, 18397,
+ 18409, 18410, 18412, 18418, 18422, 18434, 18444, 18468, 18469, 18470,
+ 18479, 18483, 18495, 18496, 18497, 18498, 18507, 18512, 18513, 18519,
+ 18520, 18522, 18527, 18528, 18529, 18530, 18532, 18533, 18534, 18536,
+ 18539, 18540, 18542, 18544, 18545, 18546, 18547, 18553, 18558, 18569.
* Cache information can be queried via sysconf() function on s390 e.g. with
_SC_LEVEL1_ICACHE_SIZE as argument.
diff --git a/math/auto-libm-test-in b/math/auto-libm-test-in
index cf7fc359b0..d1502ad107 100644
--- a/math/auto-libm-test-in
+++ b/math/auto-libm-test-in
@@ -1033,6 +1033,13 @@ csqrt 0x1p-16494 0x1p+16383
csqrt 0x1.0000000000000000000000000001p-16382 0x1.0000000000000000000000000001p-16382
csqrt -0x1.0000000000000000000000000001p-16382 -0x1.0000000000000000000000000001p-16382
+csqrt 0x0.ffp128 0x1.1p-61
+csqrt -0x0.ffp128 0x1.1p-61
+csqrt 0x0.ffp1024 0x1.1p-509
+csqrt -0x0.ffp1024 0x1.1p-509
+csqrt 0x0.ffp16384 0x1.1p-8189
+csqrt -0x0.ffp16384 0x1.1p-8189
+
ctan 0 0
ctan 0 -0
ctan -0 0
diff --git a/math/auto-libm-test-out b/math/auto-libm-test-out
index 556b833822..89a4ffc6b2 100644
--- a/math/auto-libm-test-out
+++ b/math/auto-libm-test-out
@@ -98487,6 +98487,772 @@ csqrt -0x1.0000000000000000000000000001p-16382 -0x1.0000000000000000000000000001
= csqrt tonearest ldbl-128 -0x4.0000000000000000000000000004p-16384L -0x4.0000000000000000000000000004p-16384L : 0xe.90189c7b6414133be637803acbf8p-8196L -0x2.3286b95ff53f16af0a0f0735b9d8p-8192L : inexact-ok
= csqrt towardzero ldbl-128 -0x4.0000000000000000000000000004p-16384L -0x4.0000000000000000000000000004p-16384L : 0xe.90189c7b6414133be637803acbfp-8196L -0x2.3286b95ff53f16af0a0f0735b9d6p-8192L : inexact-ok
= csqrt upward ldbl-128 -0x4.0000000000000000000000000004p-16384L -0x4.0000000000000000000000000004p-16384L : 0xe.90189c7b6414133be637803acbf8p-8196L -0x2.3286b95ff53f16af0a0f0735b9d6p-8192L : inexact-ok
+csqrt 0x0.ffp128 0x1.1p-61
+= csqrt downward flt-32 0xf.fp+124f 0x8.8p-64f : 0xf.f7fdfp+60f 0x4.422198p-128f : inexact-ok
+= csqrt tonearest flt-32 0xf.fp+124f 0x8.8p-64f : 0xf.f7fep+60f 0x4.422198p-128f : inexact-ok
+= csqrt towardzero flt-32 0xf.fp+124f 0x8.8p-64f : 0xf.f7fdfp+60f 0x4.422198p-128f : inexact-ok
+= csqrt upward flt-32 0xf.fp+124f 0x8.8p-64f : 0xf.f7fep+60f 0x4.4221ap-128f : inexact-ok
+= csqrt downward dbl-64 0xf.fp+124 0x8.8p-64 : 0xf.f7fdfeff5f8f8p+60 0x4.422199552a8c8p-128 : inexact-ok
+= csqrt tonearest dbl-64 0xf.fp+124 0x8.8p-64 : 0xf.f7fdfeff5f8f8p+60 0x4.422199552a8ccp-128 : inexact-ok
+= csqrt towardzero dbl-64 0xf.fp+124 0x8.8p-64 : 0xf.f7fdfeff5f8f8p+60 0x4.422199552a8c8p-128 : inexact-ok
+= csqrt upward dbl-64 0xf.fp+124 0x8.8p-64 : 0xf.f7fdfeff5f9p+60 0x4.422199552a8ccp-128 : inexact-ok
+= csqrt downward ldbl-96-intel 0xf.fp+124L 0x8.8p-64L : 0xf.f7fdfeff5f8fabbp+60L 0x4.422199552a8cb65p-128L : inexact-ok
+= csqrt tonearest ldbl-96-intel 0xf.fp+124L 0x8.8p-64L : 0xf.f7fdfeff5f8fabcp+60L 0x4.422199552a8cb658p-128L : inexact-ok
+= csqrt towardzero ldbl-96-intel 0xf.fp+124L 0x8.8p-64L : 0xf.f7fdfeff5f8fabbp+60L 0x4.422199552a8cb65p-128L : inexact-ok
+= csqrt upward ldbl-96-intel 0xf.fp+124L 0x8.8p-64L : 0xf.f7fdfeff5f8fabcp+60L 0x4.422199552a8cb658p-128L : inexact-ok
+= csqrt downward ldbl-96-m68k 0xf.fp+124L 0x8.8p-64L : 0xf.f7fdfeff5f8fabbp+60L 0x4.422199552a8cb65p-128L : inexact-ok
+= csqrt tonearest ldbl-96-m68k 0xf.fp+124L 0x8.8p-64L : 0xf.f7fdfeff5f8fabcp+60L 0x4.422199552a8cb658p-128L : inexact-ok
+= csqrt towardzero ldbl-96-m68k 0xf.fp+124L 0x8.8p-64L : 0xf.f7fdfeff5f8fabbp+60L 0x4.422199552a8cb65p-128L : inexact-ok
+= csqrt upward ldbl-96-m68k 0xf.fp+124L 0x8.8p-64L : 0xf.f7fdfeff5f8fabcp+60L 0x4.422199552a8cb658p-128L : inexact-ok
+= csqrt downward ldbl-128 0xf.fp+124L 0x8.8p-64L : 0xf.f7fdfeff5f8fabbdca3329e3153p+60L 0x4.422199552a8cb654be740b2b7d1cp-128L : inexact-ok
+= csqrt tonearest ldbl-128 0xf.fp+124L 0x8.8p-64L : 0xf.f7fdfeff5f8fabbdca3329e3153p+60L 0x4.422199552a8cb654be740b2b7d2p-128L : inexact-ok
+= csqrt towardzero ldbl-128 0xf.fp+124L 0x8.8p-64L : 0xf.f7fdfeff5f8fabbdca3329e3153p+60L 0x4.422199552a8cb654be740b2b7d1cp-128L : inexact-ok
+= csqrt upward ldbl-128 0xf.fp+124L 0x8.8p-64L : 0xf.f7fdfeff5f8fabbdca3329e31538p+60L 0x4.422199552a8cb654be740b2b7d2p-128L : inexact-ok
+= csqrt downward ldbl-128ibm 0xf.fp+124L 0x8.8p-64L : 0xf.f7fdfeff5f8fabbdca3329e314p+60L 0x4.422199552a8cb654be740b2b7cp-128L : inexact-ok
+= csqrt tonearest ldbl-128ibm 0xf.fp+124L 0x8.8p-64L : 0xf.f7fdfeff5f8fabbdca3329e314p+60L 0x4.422199552a8cb654be740b2b7ep-128L : inexact-ok
+= csqrt towardzero ldbl-128ibm 0xf.fp+124L 0x8.8p-64L : 0xf.f7fdfeff5f8fabbdca3329e314p+60L 0x4.422199552a8cb654be740b2b7cp-128L : inexact-ok
+= csqrt upward ldbl-128ibm 0xf.fp+124L 0x8.8p-64L : 0xf.f7fdfeff5f8fabbdca3329e318p+60L 0x4.422199552a8cb654be740b2b7ep-128L : inexact-ok
+csqrt -0x0.ffp128 0x1.1p-61
+= csqrt downward flt-32 -0xf.fp+124f 0x8.8p-64f : 0x4.422198p-128f 0xf.f7fdfp+60f : inexact-ok
+= csqrt tonearest flt-32 -0xf.fp+124f 0x8.8p-64f : 0x4.422198p-128f 0xf.f7fep+60f : inexact-ok
+= csqrt towardzero flt-32 -0xf.fp+124f 0x8.8p-64f : 0x4.422198p-128f 0xf.f7fdfp+60f : inexact-ok
+= csqrt upward flt-32 -0xf.fp+124f 0x8.8p-64f : 0x4.4221ap-128f 0xf.f7fep+60f : inexact-ok
+= csqrt downward dbl-64 -0xf.fp+124 0x8.8p-64 : 0x4.422199552a8c8p-128 0xf.f7fdfeff5f8f8p+60 : inexact-ok
+= csqrt tonearest dbl-64 -0xf.fp+124 0x8.8p-64 : 0x4.422199552a8ccp-128 0xf.f7fdfeff5f8f8p+60 : inexact-ok
+= csqrt towardzero dbl-64 -0xf.fp+124 0x8.8p-64 : 0x4.422199552a8c8p-128 0xf.f7fdfeff5f8f8p+60 : inexact-ok
+= csqrt upward dbl-64 -0xf.fp+124 0x8.8p-64 : 0x4.422199552a8ccp-128 0xf.f7fdfeff5f9p+60 : inexact-ok
+= csqrt downward ldbl-96-intel -0xf.fp+124L 0x8.8p-64L : 0x4.422199552a8cb65p-128L 0xf.f7fdfeff5f8fabbp+60L : inexact-ok
+= csqrt tonearest ldbl-96-intel -0xf.fp+124L 0x8.8p-64L : 0x4.422199552a8cb658p-128L 0xf.f7fdfeff5f8fabcp+60L : inexact-ok
+= csqrt towardzero ldbl-96-intel -0xf.fp+124L 0x8.8p-64L : 0x4.422199552a8cb65p-128L 0xf.f7fdfeff5f8fabbp+60L : inexact-ok
+= csqrt upward ldbl-96-intel -0xf.fp+124L 0x8.8p-64L : 0x4.422199552a8cb658p-128L 0xf.f7fdfeff5f8fabcp+60L : inexact-ok
+= csqrt downward ldbl-96-m68k -0xf.fp+124L 0x8.8p-64L : 0x4.422199552a8cb65p-128L 0xf.f7fdfeff5f8fabbp+60L : inexact-ok
+= csqrt tonearest ldbl-96-m68k -0xf.fp+124L 0x8.8p-64L : 0x4.422199552a8cb658p-128L 0xf.f7fdfeff5f8fabcp+60L : inexact-ok
+= csqrt towardzero ldbl-96-m68k -0xf.fp+124L 0x8.8p-64L : 0x4.422199552a8cb65p-128L 0xf.f7fdfeff5f8fabbp+60L : inexact-ok
+= csqrt upward ldbl-96-m68k -0xf.fp+124L 0x8.8p-64L : 0x4.422199552a8cb658p-128L 0xf.f7fdfeff5f8fabcp+60L : inexact-ok
+= csqrt downward ldbl-128 -0xf.fp+124L 0x8.8p-64L : 0x4.422199552a8cb654be740b2b7d1cp-128L 0xf.f7fdfeff5f8fabbdca3329e3153p+60L : inexact-ok
+= csqrt tonearest ldbl-128 -0xf.fp+124L 0x8.8p-64L : 0x4.422199552a8cb654be740b2b7d2p-128L 0xf.f7fdfeff5f8fabbdca3329e3153p+60L : inexact-ok
+= csqrt towardzero ldbl-128 -0xf.fp+124L 0x8.8p-64L : 0x4.422199552a8cb654be740b2b7d1cp-128L 0xf.f7fdfeff5f8fabbdca3329e3153p+60L : inexact-ok
+= csqrt upward ldbl-128 -0xf.fp+124L 0x8.8p-64L : 0x4.422199552a8cb654be740b2b7d2p-128L 0xf.f7fdfeff5f8fabbdca3329e31538p+60L : inexact-ok
+= csqrt downward ldbl-128ibm -0xf.fp+124L 0x8.8p-64L : 0x4.422199552a8cb654be740b2b7cp-128L 0xf.f7fdfeff5f8fabbdca3329e314p+60L : inexact-ok
+= csqrt tonearest ldbl-128ibm -0xf.fp+124L 0x8.8p-64L : 0x4.422199552a8cb654be740b2b7ep-128L 0xf.f7fdfeff5f8fabbdca3329e314p+60L : inexact-ok
+= csqrt towardzero ldbl-128ibm -0xf.fp+124L 0x8.8p-64L : 0x4.422199552a8cb654be740b2b7cp-128L 0xf.f7fdfeff5f8fabbdca3329e314p+60L : inexact-ok
+= csqrt upward ldbl-128ibm -0xf.fp+124L 0x8.8p-64L : 0x4.422199552a8cb654be740b2b7ep-128L 0xf.f7fdfeff5f8fabbdca3329e318p+60L : inexact-ok
+csqrt 0x0.ffp1024 0x1.1p-509
+= csqrt downward flt-32 0xf.fffffp+124f 0x8p-152f : 0xf.fffffp+60f 0x0p+0f : inexact-ok underflow errno-erange-ok
+= csqrt tonearest flt-32 0xf.fffffp+124f 0x8p-152f : 0xf.fffffp+60f 0x0p+0f : inexact-ok underflow errno-erange-ok
+= csqrt towardzero flt-32 0xf.fffffp+124f 0x8p-152f : 0xf.fffffp+60f 0x0p+0f : inexact-ok underflow errno-erange-ok
+= csqrt upward flt-32 0xf.fffffp+124f 0x8p-152f : 0x1p+64f 0x8p-152f : inexact-ok underflow errno-erange-ok
+= csqrt downward dbl-64 0xf.fffffp+124 0x8p-152 : 0xf.fffff7fffffd8p+60 0x4.0000020000018p-216 : inexact-ok
+= csqrt tonearest dbl-64 0xf.fffffp+124 0x8p-152 : 0xf.fffff7fffffep+60 0x4.0000020000018p-216 : inexact-ok
+= csqrt towardzero dbl-64 0xf.fffffp+124 0x8p-152 : 0xf.fffff7fffffd8p+60 0x4.0000020000018p-216 : inexact-ok
+= csqrt upward dbl-64 0xf.fffffp+124 0x8p-152 : 0xf.fffff7fffffep+60 0x4.000002000001cp-216 : inexact-ok
+= csqrt downward ldbl-96-intel 0xf.fffffp+124L 0x8p-152L : 0xf.fffff7fffffdfffp+60L 0x4.0000020000018p-216L : inexact-ok
+= csqrt tonearest ldbl-96-intel 0xf.fffffp+124L 0x8p-152L : 0xf.fffff7fffffep+60L 0x4.0000020000018p-216L : inexact-ok
+= csqrt towardzero ldbl-96-intel 0xf.fffffp+124L 0x8p-152L : 0xf.fffff7fffffdfffp+60L 0x4.0000020000018p-216L : inexact-ok
+= csqrt upward ldbl-96-intel 0xf.fffffp+124L 0x8p-152L : 0xf.fffff7fffffep+60L 0x4.0000020000018008p-216L : inexact-ok
+= csqrt downward ldbl-96-m68k 0xf.fffffp+124L 0x8p-152L : 0xf.fffff7fffffdfffp+60L 0x4.0000020000018p-216L : inexact-ok
+= csqrt tonearest ldbl-96-m68k 0xf.fffffp+124L 0x8p-152L : 0xf.fffff7fffffep+60L 0x4.0000020000018p-216L : inexact-ok
+= csqrt towardzero ldbl-96-m68k 0xf.fffffp+124L 0x8p-152L : 0xf.fffff7fffffdfffp+60L 0x4.0000020000018p-216L : inexact-ok
+= csqrt upward ldbl-96-m68k 0xf.fffffp+124L 0x8p-152L : 0xf.fffff7fffffep+60L 0x4.0000020000018008p-216L : inexact-ok
+= csqrt downward ldbl-128 0xf.fffffp+124L 0x8p-152L : 0xf.fffff7fffffdfffffeffffff5ff8p+60L 0x4.00000200000180000140000118p-216L : inexact-ok
+= csqrt tonearest ldbl-128 0xf.fffffp+124L 0x8p-152L : 0xf.fffff7fffffdfffffeffffff6p+60L 0x4.00000200000180000140000118p-216L : inexact-ok
+= csqrt towardzero ldbl-128 0xf.fffffp+124L 0x8p-152L : 0xf.fffff7fffffdfffffeffffff5ff8p+60L 0x4.00000200000180000140000118p-216L : inexact-ok
+= csqrt upward ldbl-128 0xf.fffffp+124L 0x8p-152L : 0xf.fffff7fffffdfffffeffffff6p+60L 0x4.0000020000018000014000011804p-216L : inexact-ok
+= csqrt downward ldbl-128ibm 0xf.fffffp+124L 0x8p-152L : 0xf.fffff7fffffdfffffeffffff5cp+60L 0x4.00000200000180000140000118p-216L : inexact-ok
+= csqrt tonearest ldbl-128ibm 0xf.fffffp+124L 0x8p-152L : 0xf.fffff7fffffdfffffeffffff6p+60L 0x4.00000200000180000140000118p-216L : inexact-ok
+= csqrt towardzero ldbl-128ibm 0xf.fffffp+124L 0x8p-152L : 0xf.fffff7fffffdfffffeffffff5cp+60L 0x4.00000200000180000140000118p-216L : inexact-ok
+= csqrt upward ldbl-128ibm 0xf.fffffp+124L 0x8p-152L : 0xf.fffff7fffffdfffffeffffff6p+60L 0x4.0000020000018000014000011ap-216L : inexact-ok
+= csqrt downward flt-32 0xf.fffffp+124f 0x0p+0f : 0xf.fffffp+60f 0x0p+0f : inexact-ok
+= csqrt tonearest flt-32 0xf.fffffp+124f 0x0p+0f : 0xf.fffffp+60f 0x0p+0f : inexact-ok
+= csqrt towardzero flt-32 0xf.fffffp+124f 0x0p+0f : 0xf.fffffp+60f 0x0p+0f : inexact-ok
+= csqrt upward flt-32 0xf.fffffp+124f 0x0p+0f : 0x1p+64f 0x0p+0f : inexact-ok
+= csqrt downward dbl-64 0xf.fffffp+124 0x0p+0 : 0xf.fffff7fffffd8p+60 0x0p+0 : inexact-ok
+= csqrt tonearest dbl-64 0xf.fffffp+124 0x0p+0 : 0xf.fffff7fffffep+60 0x0p+0 : inexact-ok
+= csqrt towardzero dbl-64 0xf.fffffp+124 0x0p+0 : 0xf.fffff7fffffd8p+60 0x0p+0 : inexact-ok
+= csqrt upward dbl-64 0xf.fffffp+124 0x0p+0 : 0xf.fffff7fffffep+60 0x0p+0 : inexact-ok
+= csqrt downward ldbl-96-intel 0xf.fffffp+124L 0x0p+0L : 0xf.fffff7fffffdfffp+60L 0x0p+0L : inexact-ok
+= csqrt tonearest ldbl-96-intel 0xf.fffffp+124L 0x0p+0L : 0xf.fffff7fffffep+60L 0x0p+0L : inexact-ok
+= csqrt towardzero ldbl-96-intel 0xf.fffffp+124L 0x0p+0L : 0xf.fffff7fffffdfffp+60L 0x0p+0L : inexact-ok
+= csqrt upward ldbl-96-intel 0xf.fffffp+124L 0x0p+0L : 0xf.fffff7fffffep+60L 0x0p+0L : inexact-ok
+= csqrt downward ldbl-96-m68k 0xf.fffffp+124L 0x0p+0L : 0xf.fffff7fffffdfffp+60L 0x0p+0L : inexact-ok
+= csqrt tonearest ldbl-96-m68k 0xf.fffffp+124L 0x0p+0L : 0xf.fffff7fffffep+60L 0x0p+0L : inexact-ok
+= csqrt towardzero ldbl-96-m68k 0xf.fffffp+124L 0x0p+0L : 0xf.fffff7fffffdfffp+60L 0x0p+0L : inexact-ok
+= csqrt upward ldbl-96-m68k 0xf.fffffp+124L 0x0p+0L : 0xf.fffff7fffffep+60L 0x0p+0L : inexact-ok
+= csqrt downward ldbl-128 0xf.fffffp+124L 0x0p+0L : 0xf.fffff7fffffdfffffeffffff5ff8p+60L 0x0p+0L : inexact-ok
+= csqrt tonearest ldbl-128 0xf.fffffp+124L 0x0p+0L : 0xf.fffff7fffffdfffffeffffff6p+60L 0x0p+0L : inexact-ok
+= csqrt towardzero ldbl-128 0xf.fffffp+124L 0x0p+0L : 0xf.fffff7fffffdfffffeffffff5ff8p+60L 0x0p+0L : inexact-ok
+= csqrt upward ldbl-128 0xf.fffffp+124L 0x0p+0L : 0xf.fffff7fffffdfffffeffffff6p+60L 0x0p+0L : inexact-ok
+= csqrt downward ldbl-128ibm 0xf.fffffp+124L 0x0p+0L : 0xf.fffff7fffffdfffffeffffff5cp+60L 0x0p+0L : inexact-ok
+= csqrt tonearest ldbl-128ibm 0xf.fffffp+124L 0x0p+0L : 0xf.fffff7fffffdfffffeffffff6p+60L 0x0p+0L : inexact-ok
+= csqrt towardzero ldbl-128ibm 0xf.fffffp+124L 0x0p+0L : 0xf.fffff7fffffdfffffeffffff5cp+60L 0x0p+0L : inexact-ok
+= csqrt upward ldbl-128ibm 0xf.fffffp+124L 0x0p+0L : 0xf.fffff7fffffdfffffeffffff6p+60L 0x0p+0L : inexact-ok
+= csqrt downward dbl-64 0xf.fffffp+124 0x8.8p-512 : 0xf.fffff7fffffd8p+60 0x4.4000022000018p-576 : inexact-ok
+= csqrt tonearest dbl-64 0xf.fffffp+124 0x8.8p-512 : 0xf.fffff7fffffep+60 0x4.4000022000018p-576 : inexact-ok
+= csqrt towardzero dbl-64 0xf.fffffp+124 0x8.8p-512 : 0xf.fffff7fffffd8p+60 0x4.4000022000018p-576 : inexact-ok
+= csqrt upward dbl-64 0xf.fffffp+124 0x8.8p-512 : 0xf.fffff7fffffep+60 0x4.400002200001cp-576 : inexact-ok
+= csqrt downward ldbl-96-intel 0xf.fffffp+124L 0x8.8p-512L : 0xf.fffff7fffffdfffp+60L 0x4.40000220000198p-576L : inexact-ok
+= csqrt tonearest ldbl-96-intel 0xf.fffffp+124L 0x8.8p-512L : 0xf.fffff7fffffep+60L 0x4.40000220000198p-576L : inexact-ok
+= csqrt towardzero ldbl-96-intel 0xf.fffffp+124L 0x8.8p-512L : 0xf.fffff7fffffdfffp+60L 0x4.40000220000198p-576L : inexact-ok
+= csqrt upward ldbl-96-intel 0xf.fffffp+124L 0x8.8p-512L : 0xf.fffff7fffffep+60L 0x4.4000022000019808p-576L : inexact-ok
+= csqrt downward ldbl-96-m68k 0xf.fffffp+124L 0x8.8p-512L : 0xf.fffff7fffffdfffp+60L 0x4.40000220000198p-576L : inexact-ok
+= csqrt tonearest ldbl-96-m68k 0xf.fffffp+124L 0x8.8p-512L : 0xf.fffff7fffffep+60L 0x4.40000220000198p-576L : inexact-ok
+= csqrt towardzero ldbl-96-m68k 0xf.fffffp+124L 0x8.8p-512L : 0xf.fffff7fffffdfffp+60L 0x4.40000220000198p-576L : inexact-ok
+= csqrt upward ldbl-96-m68k 0xf.fffffp+124L 0x8.8p-512L : 0xf.fffff7fffffep+60L 0x4.4000022000019808p-576L : inexact-ok
+= csqrt downward ldbl-128 0xf.fffffp+124L 0x8.8p-512L : 0xf.fffff7fffffdfffffeffffff5ff8p+60L 0x4.400002200001980001540001298p-576L : inexact-ok
+= csqrt tonearest ldbl-128 0xf.fffffp+124L 0x8.8p-512L : 0xf.fffff7fffffdfffffeffffff6p+60L 0x4.400002200001980001540001298p-576L : inexact-ok
+= csqrt towardzero ldbl-128 0xf.fffffp+124L 0x8.8p-512L : 0xf.fffff7fffffdfffffeffffff5ff8p+60L 0x4.400002200001980001540001298p-576L : inexact-ok
+= csqrt upward ldbl-128 0xf.fffffp+124L 0x8.8p-512L : 0xf.fffff7fffffdfffffeffffff6p+60L 0x4.4000022000019800015400012984p-576L : inexact-ok
+= csqrt downward ldbl-128ibm 0xf.fffffp+124L 0x8.8p-512L : 0xf.fffff7fffffdfffffeffffff5cp+60L 0x4.40000220000198000154000128p-576L : inexact-ok
+= csqrt tonearest ldbl-128ibm 0xf.fffffp+124L 0x8.8p-512L : 0xf.fffff7fffffdfffffeffffff6p+60L 0x4.4000022000019800015400012ap-576L : inexact-ok
+= csqrt towardzero ldbl-128ibm 0xf.fffffp+124L 0x8.8p-512L : 0xf.fffff7fffffdfffffeffffff5cp+60L 0x4.40000220000198000154000128p-576L : inexact-ok
+= csqrt upward ldbl-128ibm 0xf.fffffp+124L 0x8.8p-512L : 0xf.fffff7fffffdfffffeffffff6p+60L 0x4.4000022000019800015400012ap-576L : inexact-ok
+= csqrt downward dbl-64 0xf.fp+1020 0x8p-152 : 0xf.f7fdfeff5f8f8p+508 0x4.0201814118fccp-664 : inexact-ok
+= csqrt tonearest dbl-64 0xf.fp+1020 0x8p-152 : 0xf.f7fdfeff5f8f8p+508 0x4.0201814118fdp-664 : inexact-ok
+= csqrt towardzero dbl-64 0xf.fp+1020 0x8p-152 : 0xf.f7fdfeff5f8f8p+508 0x4.0201814118fccp-664 : inexact-ok
+= csqrt upward dbl-64 0xf.fp+1020 0x8p-152 : 0xf.f7fdfeff5f9p+508 0x4.0201814118fdp-664 : inexact-ok
+= csqrt downward ldbl-96-intel 0xf.fp+1020L 0x8p-152L : 0xf.f7fdfeff5f8fabbp+508L 0x4.0201814118fce7dp-664L : inexact-ok
+= csqrt tonearest ldbl-96-intel 0xf.fp+1020L 0x8p-152L : 0xf.f7fdfeff5f8fabcp+508L 0x4.0201814118fce7d8p-664L : inexact-ok
+= csqrt towardzero ldbl-96-intel 0xf.fp+1020L 0x8p-152L : 0xf.f7fdfeff5f8fabbp+508L 0x4.0201814118fce7dp-664L : inexact-ok
+= csqrt upward ldbl-96-intel 0xf.fp+1020L 0x8p-152L : 0xf.f7fdfeff5f8fabcp+508L 0x4.0201814118fce7d8p-664L : inexact-ok
+= csqrt downward ldbl-96-m68k 0xf.fp+1020L 0x8p-152L : 0xf.f7fdfeff5f8fabbp+508L 0x4.0201814118fce7dp-664L : inexact-ok
+= csqrt tonearest ldbl-96-m68k 0xf.fp+1020L 0x8p-152L : 0xf.f7fdfeff5f8fabcp+508L 0x4.0201814118fce7d8p-664L : inexact-ok
+= csqrt towardzero ldbl-96-m68k 0xf.fp+1020L 0x8p-152L : 0xf.f7fdfeff5f8fabbp+508L 0x4.0201814118fce7dp-664L : inexact-ok
+= csqrt upward ldbl-96-m68k 0xf.fp+1020L 0x8p-152L : 0xf.f7fdfeff5f8fabcp+508L 0x4.0201814118fce7d8p-664L : inexact-ok
+= csqrt downward ldbl-128 0xf.fp+1020L 0x8p-152L : 0xf.f7fdfeff5f8fabbdca3329e3153p+508L 0x4.0201814118fce7d749d6a119df28p-664L : inexact-ok
+= csqrt tonearest ldbl-128 0xf.fp+1020L 0x8p-152L : 0xf.f7fdfeff5f8fabbdca3329e3153p+508L 0x4.0201814118fce7d749d6a119df2cp-664L : inexact-ok
+= csqrt towardzero ldbl-128 0xf.fp+1020L 0x8p-152L : 0xf.f7fdfeff5f8fabbdca3329e3153p+508L 0x4.0201814118fce7d749d6a119df28p-664L : inexact-ok
+= csqrt upward ldbl-128 0xf.fp+1020L 0x8p-152L : 0xf.f7fdfeff5f8fabbdca3329e31538p+508L 0x4.0201814118fce7d749d6a119df2cp-664L : inexact-ok
+= csqrt downward ldbl-128ibm 0xf.fp+1020L 0x8p-152L : 0xf.f7fdfeff5f8fabbdca3329e314p+508L 0x4.0201814118fce7d749d6a119dep-664L : inexact-ok
+= csqrt tonearest ldbl-128ibm 0xf.fp+1020L 0x8p-152L : 0xf.f7fdfeff5f8fabbdca3329e314p+508L 0x4.0201814118fce7d749d6a119ep-664L : inexact-ok
+= csqrt towardzero ldbl-128ibm 0xf.fp+1020L 0x8p-152L : 0xf.f7fdfeff5f8fabbdca3329e314p+508L 0x4.0201814118fce7d749d6a119dep-664L : inexact-ok
+= csqrt upward ldbl-128ibm 0xf.fp+1020L 0x8p-152L : 0xf.f7fdfeff5f8fabbdca3329e318p+508L 0x4.0201814118fce7d749d6a119ep-664L : inexact-ok
+= csqrt downward dbl-64 0xf.fp+1020 0x0p+0 : 0xf.f7fdfeff5f8f8p+508 0x0p+0 : inexact-ok
+= csqrt tonearest dbl-64 0xf.fp+1020 0x0p+0 : 0xf.f7fdfeff5f8f8p+508 0x0p+0 : inexact-ok
+= csqrt towardzero dbl-64 0xf.fp+1020 0x0p+0 : 0xf.f7fdfeff5f8f8p+508 0x0p+0 : inexact-ok
+= csqrt upward dbl-64 0xf.fp+1020 0x0p+0 : 0xf.f7fdfeff5f9p+508 0x0p+0 : inexact-ok
+= csqrt downward ldbl-96-intel 0xf.fp+1020L 0x0p+0L : 0xf.f7fdfeff5f8fabbp+508L 0x0p+0L : inexact-ok
+= csqrt tonearest ldbl-96-intel 0xf.fp+1020L 0x0p+0L : 0xf.f7fdfeff5f8fabcp+508L 0x0p+0L : inexact-ok
+= csqrt towardzero ldbl-96-intel 0xf.fp+1020L 0x0p+0L : 0xf.f7fdfeff5f8fabbp+508L 0x0p+0L : inexact-ok
+= csqrt upward ldbl-96-intel 0xf.fp+1020L 0x0p+0L : 0xf.f7fdfeff5f8fabcp+508L 0x0p+0L : inexact-ok
+= csqrt downward ldbl-96-m68k 0xf.fp+1020L 0x0p+0L : 0xf.f7fdfeff5f8fabbp+508L 0x0p+0L : inexact-ok
+= csqrt tonearest ldbl-96-m68k 0xf.fp+1020L 0x0p+0L : 0xf.f7fdfeff5f8fabcp+508L 0x0p+0L : inexact-ok
+= csqrt towardzero ldbl-96-m68k 0xf.fp+1020L 0x0p+0L : 0xf.f7fdfeff5f8fabbp+508L 0x0p+0L : inexact-ok
+= csqrt upward ldbl-96-m68k 0xf.fp+1020L 0x0p+0L : 0xf.f7fdfeff5f8fabcp+508L 0x0p+0L : inexact-ok
+= csqrt downward ldbl-128 0xf.fp+1020L 0x0p+0L : 0xf.f7fdfeff5f8fabbdca3329e3153p+508L 0x0p+0L : inexact-ok
+= csqrt tonearest ldbl-128 0xf.fp+1020L 0x0p+0L : 0xf.f7fdfeff5f8fabbdca3329e3153p+508L 0x0p+0L : inexact-ok
+= csqrt towardzero ldbl-128 0xf.fp+1020L 0x0p+0L : 0xf.f7fdfeff5f8fabbdca3329e3153p+508L 0x0p+0L : inexact-ok
+= csqrt upward ldbl-128 0xf.fp+1020L 0x0p+0L : 0xf.f7fdfeff5f8fabbdca3329e31538p+508L 0x0p+0L : inexact-ok
+= csqrt downward ldbl-128ibm 0xf.fp+1020L 0x0p+0L : 0xf.f7fdfeff5f8fabbdca3329e314p+508L 0x0p+0L : inexact-ok
+= csqrt tonearest ldbl-128ibm 0xf.fp+1020L 0x0p+0L : 0xf.f7fdfeff5f8fabbdca3329e314p+508L 0x0p+0L : inexact-ok
+= csqrt towardzero ldbl-128ibm 0xf.fp+1020L 0x0p+0L : 0xf.f7fdfeff5f8fabbdca3329e314p+508L 0x0p+0L : inexact-ok
+= csqrt upward ldbl-128ibm 0xf.fp+1020L 0x0p+0L : 0xf.f7fdfeff5f8fabbdca3329e318p+508L 0x0p+0L : inexact-ok
+= csqrt downward dbl-64 0xf.fp+1020 0x8.8p-512 : 0xf.f7fdfeff5f8f8p+508 0x4.422199552a8c8p-1024 : inexact-ok
+= csqrt tonearest dbl-64 0xf.fp+1020 0x8.8p-512 : 0xf.f7fdfeff5f8f8p+508 0x4.422199552a8ccp-1024 : inexact-ok
+= csqrt towardzero dbl-64 0xf.fp+1020 0x8.8p-512 : 0xf.f7fdfeff5f8f8p+508 0x4.422199552a8c8p-1024 : inexact-ok
+= csqrt upward dbl-64 0xf.fp+1020 0x8.8p-512 : 0xf.f7fdfeff5f9p+508 0x4.422199552a8ccp-1024 : inexact-ok
+= csqrt downward ldbl-96-intel 0xf.fp+1020L 0x8.8p-512L : 0xf.f7fdfeff5f8fabbp+508L 0x4.422199552a8cb65p-1024L : inexact-ok
+= csqrt tonearest ldbl-96-intel 0xf.fp+1020L 0x8.8p-512L : 0xf.f7fdfeff5f8fabcp+508L 0x4.422199552a8cb658p-1024L : inexact-ok
+= csqrt towardzero ldbl-96-intel 0xf.fp+1020L 0x8.8p-512L : 0xf.f7fdfeff5f8fabbp+508L 0x4.422199552a8cb65p-1024L : inexact-ok
+= csqrt upward ldbl-96-intel 0xf.fp+1020L 0x8.8p-512L : 0xf.f7fdfeff5f8fabcp+508L 0x4.422199552a8cb658p-1024L : inexact-ok
+= csqrt downward ldbl-96-m68k 0xf.fp+1020L 0x8.8p-512L : 0xf.f7fdfeff5f8fabbp+508L 0x4.422199552a8cb65p-1024L : inexact-ok
+= csqrt tonearest ldbl-96-m68k 0xf.fp+1020L 0x8.8p-512L : 0xf.f7fdfeff5f8fabcp+508L 0x4.422199552a8cb658p-1024L : inexact-ok
+= csqrt towardzero ldbl-96-m68k 0xf.fp+1020L 0x8.8p-512L : 0xf.f7fdfeff5f8fabbp+508L 0x4.422199552a8cb65p-1024L : inexact-ok
+= csqrt upward ldbl-96-m68k 0xf.fp+1020L 0x8.8p-512L : 0xf.f7fdfeff5f8fabcp+508L 0x4.422199552a8cb658p-1024L : inexact-ok
+= csqrt downward ldbl-128 0xf.fp+1020L 0x8.8p-512L : 0xf.f7fdfeff5f8fabbdca3329e3153p+508L 0x4.422199552a8cb654be740b2b7d1cp-1024L : inexact-ok
+= csqrt tonearest ldbl-128 0xf.fp+1020L 0x8.8p-512L : 0xf.f7fdfeff5f8fabbdca3329e3153p+508L 0x4.422199552a8cb654be740b2b7d2p-1024L : inexact-ok
+= csqrt towardzero ldbl-128 0xf.fp+1020L 0x8.8p-512L : 0xf.f7fdfeff5f8fabbdca3329e3153p+508L 0x4.422199552a8cb654be740b2b7d1cp-1024L : inexact-ok
+= csqrt upward ldbl-128 0xf.fp+1020L 0x8.8p-512L : 0xf.f7fdfeff5f8fabbdca3329e31538p+508L 0x4.422199552a8cb654be740b2b7d2p-1024L : inexact-ok
+= csqrt downward ldbl-128ibm 0xf.fp+1020L 0x8.8p-512L : 0xf.f7fdfeff5f8fabbdca3329e314p+508L 0x4.422199552a8c8p-1024L : inexact-ok underflow errno-erange-ok
+= csqrt tonearest ldbl-128ibm 0xf.fp+1020L 0x8.8p-512L : 0xf.f7fdfeff5f8fabbdca3329e314p+508L 0x4.422199552a8ccp-1024L : inexact-ok underflow errno-erange-ok
+= csqrt towardzero ldbl-128ibm 0xf.fp+1020L 0x8.8p-512L : 0xf.f7fdfeff5f8fabbdca3329e314p+508L 0x4.422199552a8c8p-1024L : inexact-ok underflow errno-erange-ok
+= csqrt upward ldbl-128ibm 0xf.fp+1020L 0x8.8p-512L : 0xf.f7fdfeff5f8fabbdca3329e318p+508L 0x4.422199552a8ccp-1024L : inexact-ok underflow errno-erange-ok
+csqrt -0x0.ffp1024 0x1.1p-509
+= csqrt downward flt-32 -0xf.fffffp+124f 0x8p-152f : 0x0p+0f 0xf.fffffp+60f : inexact-ok underflow errno-erange-ok
+= csqrt tonearest flt-32 -0xf.fffffp+124f 0x8p-152f : 0x0p+0f 0xf.fffffp+60f : inexact-ok underflow errno-erange-ok
+= csqrt towardzero flt-32 -0xf.fffffp+124f 0x8p-152f : 0x0p+0f 0xf.fffffp+60f : inexact-ok underflow errno-erange-ok
+= csqrt upward flt-32 -0xf.fffffp+124f 0x8p-152f : 0x8p-152f 0x1p+64f : inexact-ok underflow errno-erange-ok
+= csqrt downward dbl-64 -0xf.fffffp+124 0x8p-152 : 0x4.0000020000018p-216 0xf.fffff7fffffd8p+60 : inexact-ok
+= csqrt tonearest dbl-64 -0xf.fffffp+124 0x8p-152 : 0x4.0000020000018p-216 0xf.fffff7fffffep+60 : inexact-ok
+= csqrt towardzero dbl-64 -0xf.fffffp+124 0x8p-152 : 0x4.0000020000018p-216 0xf.fffff7fffffd8p+60 : inexact-ok
+= csqrt upward dbl-64 -0xf.fffffp+124 0x8p-152 : 0x4.000002000001cp-216 0xf.fffff7fffffep+60 : inexact-ok
+= csqrt downward ldbl-96-intel -0xf.fffffp+124L 0x8p-152L : 0x4.0000020000018p-216L 0xf.fffff7fffffdfffp+60L : inexact-ok
+= csqrt tonearest ldbl-96-intel -0xf.fffffp+124L 0x8p-152L : 0x4.0000020000018p-216L 0xf.fffff7fffffep+60L : inexact-ok
+= csqrt towardzero ldbl-96-intel -0xf.fffffp+124L 0x8p-152L : 0x4.0000020000018p-216L 0xf.fffff7fffffdfffp+60L : inexact-ok
+= csqrt upward ldbl-96-intel -0xf.fffffp+124L 0x8p-152L : 0x4.0000020000018008p-216L 0xf.fffff7fffffep+60L : inexact-ok
+= csqrt downward ldbl-96-m68k -0xf.fffffp+124L 0x8p-152L : 0x4.0000020000018p-216L 0xf.fffff7fffffdfffp+60L : inexact-ok
+= csqrt tonearest ldbl-96-m68k -0xf.fffffp+124L 0x8p-152L : 0x4.0000020000018p-216L 0xf.fffff7fffffep+60L : inexact-ok
+= csqrt towardzero ldbl-96-m68k -0xf.fffffp+124L 0x8p-152L : 0x4.0000020000018p-216L 0xf.fffff7fffffdfffp+60L : inexact-ok
+= csqrt upward ldbl-96-m68k -0xf.fffffp+124L 0x8p-152L : 0x4.0000020000018008p-216L 0xf.fffff7fffffep+60L : inexact-ok
+= csqrt downward ldbl-128 -0xf.fffffp+124L 0x8p-152L : 0x4.00000200000180000140000118p-216L 0xf.fffff7fffffdfffffeffffff5ff8p+60L : inexact-ok
+= csqrt tonearest ldbl-128 -0xf.fffffp+124L 0x8p-152L : 0x4.00000200000180000140000118p-216L 0xf.fffff7fffffdfffffeffffff6p+60L : inexact-ok
+= csqrt towardzero ldbl-128 -0xf.fffffp+124L 0x8p-152L : 0x4.00000200000180000140000118p-216L 0xf.fffff7fffffdfffffeffffff5ff8p+60L : inexact-ok
+= csqrt upward ldbl-128 -0xf.fffffp+124L 0x8p-152L : 0x4.0000020000018000014000011804p-216L 0xf.fffff7fffffdfffffeffffff6p+60L : inexact-ok
+= csqrt downward ldbl-128ibm -0xf.fffffp+124L 0x8p-152L : 0x4.00000200000180000140000118p-216L 0xf.fffff7fffffdfffffeffffff5cp+60L : inexact-ok
+= csqrt tonearest ldbl-128ibm -0xf.fffffp+124L 0x8p-152L : 0x4.00000200000180000140000118p-216L 0xf.fffff7fffffdfffffeffffff6p+60L : inexact-ok
+= csqrt towardzero ldbl-128ibm -0xf.fffffp+124L 0x8p-152L : 0x4.00000200000180000140000118p-216L 0xf.fffff7fffffdfffffeffffff5cp+60L : inexact-ok
+= csqrt upward ldbl-128ibm -0xf.fffffp+124L 0x8p-152L : 0x4.0000020000018000014000011ap-216L 0xf.fffff7fffffdfffffeffffff6p+60L : inexact-ok
+= csqrt downward flt-32 -0xf.fffffp+124f 0x0p+0f : 0x0p+0f 0xf.fffffp+60f : inexact-ok
+= csqrt tonearest flt-32 -0xf.fffffp+124f 0x0p+0f : 0x0p+0f 0xf.fffffp+60f : inexact-ok
+= csqrt towardzero flt-32 -0xf.fffffp+124f 0x0p+0f : 0x0p+0f 0xf.fffffp+60f : inexact-ok
+= csqrt upward flt-32 -0xf.fffffp+124f 0x0p+0f : 0x0p+0f 0x1p+64f : inexact-ok
+= csqrt downward dbl-64 -0xf.fffffp+124 0x0p+0 : 0x0p+0 0xf.fffff7fffffd8p+60 : inexact-ok
+= csqrt tonearest dbl-64 -0xf.fffffp+124 0x0p+0 : 0x0p+0 0xf.fffff7fffffep+60 : inexact-ok
+= csqrt towardzero dbl-64 -0xf.fffffp+124 0x0p+0 : 0x0p+0 0xf.fffff7fffffd8p+60 : inexact-ok
+= csqrt upward dbl-64 -0xf.fffffp+124 0x0p+0 : 0x0p+0 0xf.fffff7fffffep+60 : inexact-ok
+= csqrt downward ldbl-96-intel -0xf.fffffp+124L 0x0p+0L : 0x0p+0L 0xf.fffff7fffffdfffp+60L : inexact-ok
+= csqrt tonearest ldbl-96-intel -0xf.fffffp+124L 0x0p+0L : 0x0p+0L 0xf.fffff7fffffep+60L : inexact-ok
+= csqrt towardzero ldbl-96-intel -0xf.fffffp+124L 0x0p+0L : 0x0p+0L 0xf.fffff7fffffdfffp+60L : inexact-ok
+= csqrt upward ldbl-96-intel -0xf.fffffp+124L 0x0p+0L : 0x0p+0L 0xf.fffff7fffffep+60L : inexact-ok
+= csqrt downward ldbl-96-m68k -0xf.fffffp+124L 0x0p+0L : 0x0p+0L 0xf.fffff7fffffdfffp+60L : inexact-ok
+= csqrt tonearest ldbl-96-m68k -0xf.fffffp+124L 0x0p+0L : 0x0p+0L 0xf.fffff7fffffep+60L : inexact-ok
+= csqrt towardzero ldbl-96-m68k -0xf.fffffp+124L 0x0p+0L : 0x0p+0L 0xf.fffff7fffffdfffp+60L : inexact-ok
+= csqrt upward ldbl-96-m68k -0xf.fffffp+124L 0x0p+0L : 0x0p+0L 0xf.fffff7fffffep+60L : inexact-ok
+= csqrt downward ldbl-128 -0xf.fffffp+124L 0x0p+0L : 0x0p+0L 0xf.fffff7fffffdfffffeffffff5ff8p+60L : inexact-ok
+= csqrt tonearest ldbl-128 -0xf.fffffp+124L 0x0p+0L : 0x0p+0L 0xf.fffff7fffffdfffffeffffff6p+60L : inexact-ok
+= csqrt towardzero ldbl-128 -0xf.fffffp+124L 0x0p+0L : 0x0p+0L 0xf.fffff7fffffdfffffeffffff5ff8p+60L : inexact-ok
+= csqrt upward ldbl-128 -0xf.fffffp+124L 0x0p+0L : 0x0p+0L 0xf.fffff7fffffdfffffeffffff6p+60L : inexact-ok
+= csqrt downward ldbl-128ibm -0xf.fffffp+124L 0x0p+0L : 0x0p+0L 0xf.fffff7fffffdfffffeffffff5cp+60L : inexact-ok
+= csqrt tonearest ldbl-128ibm -0xf.fffffp+124L 0x0p+0L : 0x0p+0L 0xf.fffff7fffffdfffffeffffff6p+60L : inexact-ok
+= csqrt towardzero ldbl-128ibm -0xf.fffffp+124L 0x0p+0L : 0x0p+0L 0xf.fffff7fffffdfffffeffffff5cp+60L : inexact-ok
+= csqrt upward ldbl-128ibm -0xf.fffffp+124L 0x0p+0L : 0x0p+0L 0xf.fffff7fffffdfffffeffffff6p+60L : inexact-ok
+= csqrt downward dbl-64 -0xf.fffffp+124 0x8.8p-512 : 0x4.4000022000018p-576 0xf.fffff7fffffd8p+60 : inexact-ok
+= csqrt tonearest dbl-64 -0xf.fffffp+124 0x8.8p-512 : 0x4.4000022000018p-576 0xf.fffff7fffffep+60 : inexact-ok
+= csqrt towardzero dbl-64 -0xf.fffffp+124 0x8.8p-512 : 0x4.4000022000018p-576 0xf.fffff7fffffd8p+60 : inexact-ok
+= csqrt upward dbl-64 -0xf.fffffp+124 0x8.8p-512 : 0x4.400002200001cp-576 0xf.fffff7fffffep+60 : inexact-ok
+= csqrt downward ldbl-96-intel -0xf.fffffp+124L 0x8.8p-512L : 0x4.40000220000198p-576L 0xf.fffff7fffffdfffp+60L : inexact-ok
+= csqrt tonearest ldbl-96-intel -0xf.fffffp+124L 0x8.8p-512L : 0x4.40000220000198p-576L 0xf.fffff7fffffep+60L : inexact-ok
+= csqrt towardzero ldbl-96-intel -0xf.fffffp+124L 0x8.8p-512L : 0x4.40000220000198p-576L 0xf.fffff7fffffdfffp+60L : inexact-ok
+= csqrt upward ldbl-96-intel -0xf.fffffp+124L 0x8.8p-512L : 0x4.4000022000019808p-576L 0xf.fffff7fffffep+60L : inexact-ok
+= csqrt downward ldbl-96-m68k -0xf.fffffp+124L 0x8.8p-512L : 0x4.40000220000198p-576L 0xf.fffff7fffffdfffp+60L : inexact-ok
+= csqrt tonearest ldbl-96-m68k -0xf.fffffp+124L 0x8.8p-512L : 0x4.40000220000198p-576L 0xf.fffff7fffffep+60L : inexact-ok
+= csqrt towardzero ldbl-96-m68k -0xf.fffffp+124L 0x8.8p-512L : 0x4.40000220000198p-576L 0xf.fffff7fffffdfffp+60L : inexact-ok
+= csqrt upward ldbl-96-m68k -0xf.fffffp+124L 0x8.8p-512L : 0x4.4000022000019808p-576L 0xf.fffff7fffffep+60L : inexact-ok
+= csqrt downward ldbl-128 -0xf.fffffp+124L 0x8.8p-512L : 0x4.400002200001980001540001298p-576L 0xf.fffff7fffffdfffffeffffff5ff8p+60L : inexact-ok
+= csqrt tonearest ldbl-128 -0xf.fffffp+124L 0x8.8p-512L : 0x4.400002200001980001540001298p-576L 0xf.fffff7fffffdfffffeffffff6p+60L : inexact-ok
+= csqrt towardzero ldbl-128 -0xf.fffffp+124L 0x8.8p-512L : 0x4.400002200001980001540001298p-576L 0xf.fffff7fffffdfffffeffffff5ff8p+60L : inexact-ok
+= csqrt upward ldbl-128 -0xf.fffffp+124L 0x8.8p-512L : 0x4.4000022000019800015400012984p-576L 0xf.fffff7fffffdfffffeffffff6p+60L : inexact-ok
+= csqrt downward ldbl-128ibm -0xf.fffffp+124L 0x8.8p-512L : 0x4.40000220000198000154000128p-576L 0xf.fffff7fffffdfffffeffffff5cp+60L : inexact-ok
+= csqrt tonearest ldbl-128ibm -0xf.fffffp+124L 0x8.8p-512L : 0x4.4000022000019800015400012ap-576L 0xf.fffff7fffffdfffffeffffff6p+60L : inexact-ok
+= csqrt towardzero ldbl-128ibm -0xf.fffffp+124L 0x8.8p-512L : 0x4.40000220000198000154000128p-576L 0xf.fffff7fffffdfffffeffffff5cp+60L : inexact-ok
+= csqrt upward ldbl-128ibm -0xf.fffffp+124L 0x8.8p-512L : 0x4.4000022000019800015400012ap-576L 0xf.fffff7fffffdfffffeffffff6p+60L : inexact-ok
+= csqrt downward dbl-64 -0xf.fp+1020 0x8p-152 : 0x4.0201814118fccp-664 0xf.f7fdfeff5f8f8p+508 : inexact-ok
+= csqrt tonearest dbl-64 -0xf.fp+1020 0x8p-152 : 0x4.0201814118fdp-664 0xf.f7fdfeff5f8f8p+508 : inexact-ok
+= csqrt towardzero dbl-64 -0xf.fp+1020 0x8p-152 : 0x4.0201814118fccp-664 0xf.f7fdfeff5f8f8p+508 : inexact-ok
+= csqrt upward dbl-64 -0xf.fp+1020 0x8p-152 : 0x4.0201814118fdp-664 0xf.f7fdfeff5f9p+508 : inexact-ok
+= csqrt downward ldbl-96-intel -0xf.fp+1020L 0x8p-152L : 0x4.0201814118fce7dp-664L 0xf.f7fdfeff5f8fabbp+508L : inexact-ok
+= csqrt tonearest ldbl-96-intel -0xf.fp+1020L 0x8p-152L : 0x4.0201814118fce7d8p-664L 0xf.f7fdfeff5f8fabcp+508L : inexact-ok
+= csqrt towardzero ldbl-96-intel -0xf.fp+1020L 0x8p-152L : 0x4.0201814118fce7dp-664L 0xf.f7fdfeff5f8fabbp+508L : inexact-ok
+= csqrt upward ldbl-96-intel -0xf.fp+1020L 0x8p-152L : 0x4.0201814118fce7d8p-664L 0xf.f7fdfeff5f8fabcp+508L : inexact-ok
+= csqrt downward ldbl-96-m68k -0xf.fp+1020L 0x8p-152L : 0x4.0201814118fce7dp-664L 0xf.f7fdfeff5f8fabbp+508L : inexact-ok
+= csqrt tonearest ldbl-96-m68k -0xf.fp+1020L 0x8p-152L : 0x4.0201814118fce7d8p-664L 0xf.f7fdfeff5f8fabcp+508L : inexact-ok
+= csqrt towardzero ldbl-96-m68k -0xf.fp+1020L 0x8p-152L : 0x4.0201814118fce7dp-664L 0xf.f7fdfeff5f8fabbp+508L : inexact-ok
+= csqrt upward ldbl-96-m68k -0xf.fp+1020L 0x8p-152L : 0x4.0201814118fce7d8p-664L 0xf.f7fdfeff5f8fabcp+508L : inexact-ok
+= csqrt downward ldbl-128 -0xf.fp+1020L 0x8p-152L : 0x4.0201814118fce7d749d6a119df28p-664L 0xf.f7fdfeff5f8fabbdca3329e3153p+508L : inexact-ok
+= csqrt tonearest ldbl-128 -0xf.fp+1020L 0x8p-152L : 0x4.0201814118fce7d749d6a119df2cp-664L 0xf.f7fdfeff5f8fabbdca3329e3153p+508L : inexact-ok
+= csqrt towardzero ldbl-128 -0xf.fp+1020L 0x8p-152L : 0x4.0201814118fce7d749d6a119df28p-664L 0xf.f7fdfeff5f8fabbdca3329e3153p+508L : inexact-ok
+= csqrt upward ldbl-128 -0xf.fp+1020L 0x8p-152L : 0x4.0201814118fce7d749d6a119df2cp-664L 0xf.f7fdfeff5f8fabbdca3329e31538p+508L : inexact-ok
+= csqrt downward ldbl-128ibm -0xf.fp+1020L 0x8p-152L : 0x4.0201814118fce7d749d6a119dep-664L 0xf.f7fdfeff5f8fabbdca3329e314p+508L : inexact-ok
+= csqrt tonearest ldbl-128ibm -0xf.fp+1020L 0x8p-152L : 0x4.0201814118fce7d749d6a119ep-664L 0xf.f7fdfeff5f8fabbdca3329e314p+508L : inexact-ok
+= csqrt towardzero ldbl-128ibm -0xf.fp+1020L 0x8p-152L : 0x4.0201814118fce7d749d6a119dep-664L 0xf.f7fdfeff5f8fabbdca3329e314p+508L : inexact-ok
+= csqrt upward ldbl-128ibm -0xf.fp+1020L 0x8p-152L : 0x4.0201814118fce7d749d6a119ep-664L 0xf.f7fdfeff5f8fabbdca3329e318p+508L : inexact-ok
+= csqrt downward dbl-64 -0xf.fp+1020 0x0p+0 : 0x0p+0 0xf.f7fdfeff5f8f8p+508 : inexact-ok
+= csqrt tonearest dbl-64 -0xf.fp+1020 0x0p+0 : 0x0p+0 0xf.f7fdfeff5f8f8p+508 : inexact-ok
+= csqrt towardzero dbl-64 -0xf.fp+1020 0x0p+0 : 0x0p+0 0xf.f7fdfeff5f8f8p+508 : inexact-ok
+= csqrt upward dbl-64 -0xf.fp+1020 0x0p+0 : 0x0p+0 0xf.f7fdfeff5f9p+508 : inexact-ok
+= csqrt downward ldbl-96-intel -0xf.fp+1020L 0x0p+0L : 0x0p+0L 0xf.f7fdfeff5f8fabbp+508L : inexact-ok
+= csqrt tonearest ldbl-96-intel -0xf.fp+1020L 0x0p+0L : 0x0p+0L 0xf.f7fdfeff5f8fabcp+508L : inexact-ok
+= csqrt towardzero ldbl-96-intel -0xf.fp+1020L 0x0p+0L : 0x0p+0L 0xf.f7fdfeff5f8fabbp+508L : inexact-ok
+= csqrt upward ldbl-96-intel -0xf.fp+1020L 0x0p+0L : 0x0p+0L 0xf.f7fdfeff5f8fabcp+508L : inexact-ok
+= csqrt downward ldbl-96-m68k -0xf.fp+1020L 0x0p+0L : 0x0p+0L 0xf.f7fdfeff5f8fabbp+508L : inexact-ok
+= csqrt tonearest ldbl-96-m68k -0xf.fp+1020L 0x0p+0L : 0x0p+0L 0xf.f7fdfeff5f8fabcp+508L : inexact-ok
+= csqrt towardzero ldbl-96-m68k -0xf.fp+1020L 0x0p+0L : 0x0p+0L 0xf.f7fdfeff5f8fabbp+508L : inexact-ok
+= csqrt upward ldbl-96-m68k -0xf.fp+1020L 0x0p+0L : 0x0p+0L 0xf.f7fdfeff5f8fabcp+508L : inexact-ok
+= csqrt downward ldbl-128 -0xf.fp+1020L 0x0p+0L : 0x0p+0L 0xf.f7fdfeff5f8fabbdca3329e3153p+508L : inexact-ok
+= csqrt tonearest ldbl-128 -0xf.fp+1020L 0x0p+0L : 0x0p+0L 0xf.f7fdfeff5f8fabbdca3329e3153p+508L : inexact-ok
+= csqrt towardzero ldbl-128 -0xf.fp+1020L 0x0p+0L : 0x0p+0L 0xf.f7fdfeff5f8fabbdca3329e3153p+508L : inexact-ok
+= csqrt upward ldbl-128 -0xf.fp+1020L 0x0p+0L : 0x0p+0L 0xf.f7fdfeff5f8fabbdca3329e31538p+508L : inexact-ok
+= csqrt downward ldbl-128ibm -0xf.fp+1020L 0x0p+0L : 0x0p+0L 0xf.f7fdfeff5f8fabbdca3329e314p+508L : inexact-ok
+= csqrt tonearest ldbl-128ibm -0xf.fp+1020L 0x0p+0L : 0x0p+0L 0xf.f7fdfeff5f8fabbdca3329e314p+508L : inexact-ok
+= csqrt towardzero ldbl-128ibm -0xf.fp+1020L 0x0p+0L : 0x0p+0L 0xf.f7fdfeff5f8fabbdca3329e314p+508L : inexact-ok
+= csqrt upward ldbl-128ibm -0xf.fp+1020L 0x0p+0L : 0x0p+0L 0xf.f7fdfeff5f8fabbdca3329e318p+508L : inexact-ok
+= csqrt downward dbl-64 -0xf.fp+1020 0x8.8p-512 : 0x4.422199552a8c8p-1024 0xf.f7fdfeff5f8f8p+508 : inexact-ok
+= csqrt tonearest dbl-64 -0xf.fp+1020 0x8.8p-512 : 0x4.422199552a8ccp-1024 0xf.f7fdfeff5f8f8p+508 : inexact-ok
+= csqrt towardzero dbl-64 -0xf.fp+1020 0x8.8p-512 : 0x4.422199552a8c8p-1024 0xf.f7fdfeff5f8f8p+508 : inexact-ok
+= csqrt upward dbl-64 -0xf.fp+1020 0x8.8p-512 : 0x4.422199552a8ccp-1024 0xf.f7fdfeff5f9p+508 : inexact-ok
+= csqrt downward ldbl-96-intel -0xf.fp+1020L 0x8.8p-512L : 0x4.422199552a8cb65p-1024L 0xf.f7fdfeff5f8fabbp+508L : inexact-ok
+= csqrt tonearest ldbl-96-intel -0xf.fp+1020L 0x8.8p-512L : 0x4.422199552a8cb658p-1024L 0xf.f7fdfeff5f8fabcp+508L : inexact-ok
+= csqrt towardzero ldbl-96-intel -0xf.fp+1020L 0x8.8p-512L : 0x4.422199552a8cb65p-1024L 0xf.f7fdfeff5f8fabbp+508L : inexact-ok
+= csqrt upward ldbl-96-intel -0xf.fp+1020L 0x8.8p-512L : 0x4.422199552a8cb658p-1024L 0xf.f7fdfeff5f8fabcp+508L : inexact-ok
+= csqrt downward ldbl-96-m68k -0xf.fp+1020L 0x8.8p-512L : 0x4.422199552a8cb65p-1024L 0xf.f7fdfeff5f8fabbp+508L : inexact-ok
+= csqrt tonearest ldbl-96-m68k -0xf.fp+1020L 0x8.8p-512L : 0x4.422199552a8cb658p-1024L 0xf.f7fdfeff5f8fabcp+508L : inexact-ok
+= csqrt towardzero ldbl-96-m68k -0xf.fp+1020L 0x8.8p-512L : 0x4.422199552a8cb65p-1024L 0xf.f7fdfeff5f8fabbp+508L : inexact-ok
+= csqrt upward ldbl-96-m68k -0xf.fp+1020L 0x8.8p-512L : 0x4.422199552a8cb658p-1024L 0xf.f7fdfeff5f8fabcp+508L : inexact-ok
+= csqrt downward ldbl-128 -0xf.fp+1020L 0x8.8p-512L : 0x4.422199552a8cb654be740b2b7d1cp-1024L 0xf.f7fdfeff5f8fabbdca3329e3153p+508L : inexact-ok
+= csqrt tonearest ldbl-128 -0xf.fp+1020L 0x8.8p-512L : 0x4.422199552a8cb654be740b2b7d2p-1024L 0xf.f7fdfeff5f8fabbdca3329e3153p+508L : inexact-ok
+= csqrt towardzero ldbl-128 -0xf.fp+1020L 0x8.8p-512L : 0x4.422199552a8cb654be740b2b7d1cp-1024L 0xf.f7fdfeff5f8fabbdca3329e3153p+508L : inexact-ok
+= csqrt upward ldbl-128 -0xf.fp+1020L 0x8.8p-512L : 0x4.422199552a8cb654be740b2b7d2p-1024L 0xf.f7fdfeff5f8fabbdca3329e31538p+508L : inexact-ok
+= csqrt downward ldbl-128ibm -0xf.fp+1020L 0x8.8p-512L : 0x4.422199552a8c8p-1024L 0xf.f7fdfeff5f8fabbdca3329e314p+508L : inexact-ok underflow errno-erange-ok
+= csqrt tonearest ldbl-128ibm -0xf.fp+1020L 0x8.8p-512L : 0x4.422199552a8ccp-1024L 0xf.f7fdfeff5f8fabbdca3329e314p+508L : inexact-ok underflow errno-erange-ok
+= csqrt towardzero ldbl-128ibm -0xf.fp+1020L 0x8.8p-512L : 0x4.422199552a8c8p-1024L 0xf.f7fdfeff5f8fabbdca3329e314p+508L : inexact-ok underflow errno-erange-ok
+= csqrt upward ldbl-128ibm -0xf.fp+1020L 0x8.8p-512L : 0x4.422199552a8ccp-1024L 0xf.f7fdfeff5f8fabbdca3329e318p+508L : inexact-ok underflow errno-erange-ok
+csqrt 0x0.ffp16384 0x1.1p-8189
+= csqrt downward flt-32 0xf.fffffp+124f 0x8p-152f : 0xf.fffffp+60f 0x0p+0f : inexact-ok underflow errno-erange-ok
+= csqrt tonearest flt-32 0xf.fffffp+124f 0x8p-152f : 0xf.fffffp+60f 0x0p+0f : inexact-ok underflow errno-erange-ok
+= csqrt towardzero flt-32 0xf.fffffp+124f 0x8p-152f : 0xf.fffffp+60f 0x0p+0f : inexact-ok underflow errno-erange-ok
+= csqrt upward flt-32 0xf.fffffp+124f 0x8p-152f : 0x1p+64f 0x8p-152f : inexact-ok underflow errno-erange-ok
+= csqrt downward dbl-64 0xf.fffffp+124 0x8p-152 : 0xf.fffff7fffffd8p+60 0x4.0000020000018p-216 : inexact-ok
+= csqrt tonearest dbl-64 0xf.fffffp+124 0x8p-152 : 0xf.fffff7fffffep+60 0x4.0000020000018p-216 : inexact-ok
+= csqrt towardzero dbl-64 0xf.fffffp+124 0x8p-152 : 0xf.fffff7fffffd8p+60 0x4.0000020000018p-216 : inexact-ok
+= csqrt upward dbl-64 0xf.fffffp+124 0x8p-152 : 0xf.fffff7fffffep+60 0x4.000002000001cp-216 : inexact-ok
+= csqrt downward ldbl-96-intel 0xf.fffffp+124L 0x8p-152L : 0xf.fffff7fffffdfffp+60L 0x4.0000020000018p-216L : inexact-ok
+= csqrt tonearest ldbl-96-intel 0xf.fffffp+124L 0x8p-152L : 0xf.fffff7fffffep+60L 0x4.0000020000018p-216L : inexact-ok
+= csqrt towardzero ldbl-96-intel 0xf.fffffp+124L 0x8p-152L : 0xf.fffff7fffffdfffp+60L 0x4.0000020000018p-216L : inexact-ok
+= csqrt upward ldbl-96-intel 0xf.fffffp+124L 0x8p-152L : 0xf.fffff7fffffep+60L 0x4.0000020000018008p-216L : inexact-ok
+= csqrt downward ldbl-96-m68k 0xf.fffffp+124L 0x8p-152L : 0xf.fffff7fffffdfffp+60L 0x4.0000020000018p-216L : inexact-ok
+= csqrt tonearest ldbl-96-m68k 0xf.fffffp+124L 0x8p-152L : 0xf.fffff7fffffep+60L 0x4.0000020000018p-216L : inexact-ok
+= csqrt towardzero ldbl-96-m68k 0xf.fffffp+124L 0x8p-152L : 0xf.fffff7fffffdfffp+60L 0x4.0000020000018p-216L : inexact-ok
+= csqrt upward ldbl-96-m68k 0xf.fffffp+124L 0x8p-152L : 0xf.fffff7fffffep+60L 0x4.0000020000018008p-216L : inexact-ok
+= csqrt downward ldbl-128 0xf.fffffp+124L 0x8p-152L : 0xf.fffff7fffffdfffffeffffff5ff8p+60L 0x4.00000200000180000140000118p-216L : inexact-ok
+= csqrt tonearest ldbl-128 0xf.fffffp+124L 0x8p-152L : 0xf.fffff7fffffdfffffeffffff6p+60L 0x4.00000200000180000140000118p-216L : inexact-ok
+= csqrt towardzero ldbl-128 0xf.fffffp+124L 0x8p-152L : 0xf.fffff7fffffdfffffeffffff5ff8p+60L 0x4.00000200000180000140000118p-216L : inexact-ok
+= csqrt upward ldbl-128 0xf.fffffp+124L 0x8p-152L : 0xf.fffff7fffffdfffffeffffff6p+60L 0x4.0000020000018000014000011804p-216L : inexact-ok
+= csqrt downward ldbl-128ibm 0xf.fffffp+124L 0x8p-152L : 0xf.fffff7fffffdfffffeffffff5cp+60L 0x4.00000200000180000140000118p-216L : inexact-ok
+= csqrt tonearest ldbl-128ibm 0xf.fffffp+124L 0x8p-152L : 0xf.fffff7fffffdfffffeffffff6p+60L 0x4.00000200000180000140000118p-216L : inexact-ok
+= csqrt towardzero ldbl-128ibm 0xf.fffffp+124L 0x8p-152L : 0xf.fffff7fffffdfffffeffffff5cp+60L 0x4.00000200000180000140000118p-216L : inexact-ok
+= csqrt upward ldbl-128ibm 0xf.fffffp+124L 0x8p-152L : 0xf.fffff7fffffdfffffeffffff6p+60L 0x4.0000020000018000014000011ap-216L : inexact-ok
+= csqrt downward flt-32 0xf.fffffp+124f 0x0p+0f : 0xf.fffffp+60f 0x0p+0f : inexact-ok
+= csqrt tonearest flt-32 0xf.fffffp+124f 0x0p+0f : 0xf.fffffp+60f 0x0p+0f : inexact-ok
+= csqrt towardzero flt-32 0xf.fffffp+124f 0x0p+0f : 0xf.fffffp+60f 0x0p+0f : inexact-ok
+= csqrt upward flt-32 0xf.fffffp+124f 0x0p+0f : 0x1p+64f 0x0p+0f : inexact-ok
+= csqrt downward dbl-64 0xf.fffffp+124 0x0p+0 : 0xf.fffff7fffffd8p+60 0x0p+0 : inexact-ok
+= csqrt tonearest dbl-64 0xf.fffffp+124 0x0p+0 : 0xf.fffff7fffffep+60 0x0p+0 : inexact-ok
+= csqrt towardzero dbl-64 0xf.fffffp+124 0x0p+0 : 0xf.fffff7fffffd8p+60 0x0p+0 : inexact-ok
+= csqrt upward dbl-64 0xf.fffffp+124 0x0p+0 : 0xf.fffff7fffffep+60 0x0p+0 : inexact-ok
+= csqrt downward ldbl-96-intel 0xf.fffffp+124L 0x0p+0L : 0xf.fffff7fffffdfffp+60L 0x0p+0L : inexact-ok
+= csqrt tonearest ldbl-96-intel 0xf.fffffp+124L 0x0p+0L : 0xf.fffff7fffffep+60L 0x0p+0L : inexact-ok
+= csqrt towardzero ldbl-96-intel 0xf.fffffp+124L 0x0p+0L : 0xf.fffff7fffffdfffp+60L 0x0p+0L : inexact-ok
+= csqrt upward ldbl-96-intel 0xf.fffffp+124L 0x0p+0L : 0xf.fffff7fffffep+60L 0x0p+0L : inexact-ok
+= csqrt downward ldbl-96-m68k 0xf.fffffp+124L 0x0p+0L : 0xf.fffff7fffffdfffp+60L 0x0p+0L : inexact-ok
+= csqrt tonearest ldbl-96-m68k 0xf.fffffp+124L 0x0p+0L : 0xf.fffff7fffffep+60L 0x0p+0L : inexact-ok
+= csqrt towardzero ldbl-96-m68k 0xf.fffffp+124L 0x0p+0L : 0xf.fffff7fffffdfffp+60L 0x0p+0L : inexact-ok
+= csqrt upward ldbl-96-m68k 0xf.fffffp+124L 0x0p+0L : 0xf.fffff7fffffep+60L 0x0p+0L : inexact-ok
+= csqrt downward ldbl-128 0xf.fffffp+124L 0x0p+0L : 0xf.fffff7fffffdfffffeffffff5ff8p+60L 0x0p+0L : inexact-ok
+= csqrt tonearest ldbl-128 0xf.fffffp+124L 0x0p+0L : 0xf.fffff7fffffdfffffeffffff6p+60L 0x0p+0L : inexact-ok
+= csqrt towardzero ldbl-128 0xf.fffffp+124L 0x0p+0L : 0xf.fffff7fffffdfffffeffffff5ff8p+60L 0x0p+0L : inexact-ok
+= csqrt upward ldbl-128 0xf.fffffp+124L 0x0p+0L : 0xf.fffff7fffffdfffffeffffff6p+60L 0x0p+0L : inexact-ok
+= csqrt downward ldbl-128ibm 0xf.fffffp+124L 0x0p+0L : 0xf.fffff7fffffdfffffeffffff5cp+60L 0x0p+0L : inexact-ok
+= csqrt tonearest ldbl-128ibm 0xf.fffffp+124L 0x0p+0L : 0xf.fffff7fffffdfffffeffffff6p+60L 0x0p+0L : inexact-ok
+= csqrt towardzero ldbl-128ibm 0xf.fffffp+124L 0x0p+0L : 0xf.fffff7fffffdfffffeffffff5cp+60L 0x0p+0L : inexact-ok
+= csqrt upward ldbl-128ibm 0xf.fffffp+124L 0x0p+0L : 0xf.fffff7fffffdfffffeffffff6p+60L 0x0p+0L : inexact-ok
+= csqrt downward dbl-64 0xf.fffffp+124 0x4p-1076 : 0xf.fffff7fffffd8p+60 0x0p+0 : inexact-ok underflow errno-erange-ok
+= csqrt tonearest dbl-64 0xf.fffffp+124 0x4p-1076 : 0xf.fffff7fffffep+60 0x0p+0 : inexact-ok underflow errno-erange-ok
+= csqrt towardzero dbl-64 0xf.fffffp+124 0x4p-1076 : 0xf.fffff7fffffd8p+60 0x0p+0 : inexact-ok underflow errno-erange-ok
+= csqrt upward dbl-64 0xf.fffffp+124 0x4p-1076 : 0xf.fffff7fffffep+60 0x4p-1076 : inexact-ok underflow errno-erange-ok
+= csqrt downward ldbl-96-intel 0xf.fffffp+124L 0x4p-1076L : 0xf.fffff7fffffdfffp+60L 0x2.000001000000cp-1140L : inexact-ok
+= csqrt tonearest ldbl-96-intel 0xf.fffffp+124L 0x4p-1076L : 0xf.fffff7fffffep+60L 0x2.000001000000cp-1140L : inexact-ok
+= csqrt towardzero ldbl-96-intel 0xf.fffffp+124L 0x4p-1076L : 0xf.fffff7fffffdfffp+60L 0x2.000001000000cp-1140L : inexact-ok
+= csqrt upward ldbl-96-intel 0xf.fffffp+124L 0x4p-1076L : 0xf.fffff7fffffep+60L 0x2.000001000000c004p-1140L : inexact-ok
+= csqrt downward ldbl-96-m68k 0xf.fffffp+124L 0x4p-1076L : 0xf.fffff7fffffdfffp+60L 0x2.000001000000cp-1140L : inexact-ok
+= csqrt tonearest ldbl-96-m68k 0xf.fffffp+124L 0x4p-1076L : 0xf.fffff7fffffep+60L 0x2.000001000000cp-1140L : inexact-ok
+= csqrt towardzero ldbl-96-m68k 0xf.fffffp+124L 0x4p-1076L : 0xf.fffff7fffffdfffp+60L 0x2.000001000000cp-1140L : inexact-ok
+= csqrt upward ldbl-96-m68k 0xf.fffffp+124L 0x4p-1076L : 0xf.fffff7fffffep+60L 0x2.000001000000c004p-1140L : inexact-ok
+= csqrt downward ldbl-128 0xf.fffffp+124L 0x4p-1076L : 0xf.fffff7fffffdfffffeffffff5ff8p+60L 0x2.000001000000c00000a000008cp-1140L : inexact-ok
+= csqrt tonearest ldbl-128 0xf.fffffp+124L 0x4p-1076L : 0xf.fffff7fffffdfffffeffffff6p+60L 0x2.000001000000c00000a000008cp-1140L : inexact-ok
+= csqrt towardzero ldbl-128 0xf.fffffp+124L 0x4p-1076L : 0xf.fffff7fffffdfffffeffffff5ff8p+60L 0x2.000001000000c00000a000008cp-1140L : inexact-ok
+= csqrt upward ldbl-128 0xf.fffffp+124L 0x4p-1076L : 0xf.fffff7fffffdfffffeffffff6p+60L 0x2.000001000000c00000a000008c02p-1140L : inexact-ok
+= csqrt downward ldbl-128ibm 0xf.fffffp+124L 0x4p-1076L : 0xf.fffff7fffffdfffffeffffff5cp+60L 0x0p+0L : inexact-ok underflow errno-erange-ok
+= csqrt tonearest ldbl-128ibm 0xf.fffffp+124L 0x4p-1076L : 0xf.fffff7fffffdfffffeffffff6p+60L 0x0p+0L : inexact-ok underflow errno-erange-ok
+= csqrt towardzero ldbl-128ibm 0xf.fffffp+124L 0x4p-1076L : 0xf.fffff7fffffdfffffeffffff5cp+60L 0x0p+0L : inexact-ok underflow errno-erange-ok
+= csqrt upward ldbl-128ibm 0xf.fffffp+124L 0x4p-1076L : 0xf.fffff7fffffdfffffeffffff6p+60L 0x4p-1076L : inexact-ok underflow errno-erange-ok
+= csqrt downward ldbl-96-intel 0xf.fffffp+124L 0x8.8p-8192L : 0xf.fffff7fffffdfffp+60L 0x4.40000220000198p-8256L : inexact-ok
+= csqrt tonearest ldbl-96-intel 0xf.fffffp+124L 0x8.8p-8192L : 0xf.fffff7fffffep+60L 0x4.40000220000198p-8256L : inexact-ok
+= csqrt towardzero ldbl-96-intel 0xf.fffffp+124L 0x8.8p-8192L : 0xf.fffff7fffffdfffp+60L 0x4.40000220000198p-8256L : inexact-ok
+= csqrt upward ldbl-96-intel 0xf.fffffp+124L 0x8.8p-8192L : 0xf.fffff7fffffep+60L 0x4.4000022000019808p-8256L : inexact-ok
+= csqrt downward ldbl-96-m68k 0xf.fffffp+124L 0x8.8p-8192L : 0xf.fffff7fffffdfffp+60L 0x4.40000220000198p-8256L : inexact-ok
+= csqrt tonearest ldbl-96-m68k 0xf.fffffp+124L 0x8.8p-8192L : 0xf.fffff7fffffep+60L 0x4.40000220000198p-8256L : inexact-ok
+= csqrt towardzero ldbl-96-m68k 0xf.fffffp+124L 0x8.8p-8192L : 0xf.fffff7fffffdfffp+60L 0x4.40000220000198p-8256L : inexact-ok
+= csqrt upward ldbl-96-m68k 0xf.fffffp+124L 0x8.8p-8192L : 0xf.fffff7fffffep+60L 0x4.4000022000019808p-8256L : inexact-ok
+= csqrt downward ldbl-128 0xf.fffffp+124L 0x8.8p-8192L : 0xf.fffff7fffffdfffffeffffff5ff8p+60L 0x4.400002200001980001540001298p-8256L : inexact-ok
+= csqrt tonearest ldbl-128 0xf.fffffp+124L 0x8.8p-8192L : 0xf.fffff7fffffdfffffeffffff6p+60L 0x4.400002200001980001540001298p-8256L : inexact-ok
+= csqrt towardzero ldbl-128 0xf.fffffp+124L 0x8.8p-8192L : 0xf.fffff7fffffdfffffeffffff5ff8p+60L 0x4.400002200001980001540001298p-8256L : inexact-ok
+= csqrt upward ldbl-128 0xf.fffffp+124L 0x8.8p-8192L : 0xf.fffff7fffffdfffffeffffff6p+60L 0x4.4000022000019800015400012984p-8256L : inexact-ok
+= csqrt downward dbl-64 0xf.ffffffffffff8p+1020 0x8p-152 : 0xf.ffffffffffff8p+508 0x4p-664 : inexact-ok
+= csqrt tonearest dbl-64 0xf.ffffffffffff8p+1020 0x8p-152 : 0xf.ffffffffffff8p+508 0x4p-664 : inexact-ok
+= csqrt towardzero dbl-64 0xf.ffffffffffff8p+1020 0x8p-152 : 0xf.ffffffffffff8p+508 0x4p-664 : inexact-ok
+= csqrt upward dbl-64 0xf.ffffffffffff8p+1020 0x8p-152 : 0x1p+512 0x4.0000000000004p-664 : inexact-ok
+= csqrt downward ldbl-96-intel 0xf.ffffffffffff8p+1020L 0x8p-152L : 0xf.ffffffffffffbffp+508L 0x4.0000000000001p-664L : inexact-ok
+= csqrt tonearest ldbl-96-intel 0xf.ffffffffffff8p+1020L 0x8p-152L : 0xf.ffffffffffffcp+508L 0x4.0000000000001p-664L : inexact-ok
+= csqrt towardzero ldbl-96-intel 0xf.ffffffffffff8p+1020L 0x8p-152L : 0xf.ffffffffffffbffp+508L 0x4.0000000000001p-664L : inexact-ok
+= csqrt upward ldbl-96-intel 0xf.ffffffffffff8p+1020L 0x8p-152L : 0xf.ffffffffffffcp+508L 0x4.0000000000001008p-664L : inexact-ok
+= csqrt downward ldbl-96-m68k 0xf.ffffffffffff8p+1020L 0x8p-152L : 0xf.ffffffffffffbffp+508L 0x4.0000000000001p-664L : inexact-ok
+= csqrt tonearest ldbl-96-m68k 0xf.ffffffffffff8p+1020L 0x8p-152L : 0xf.ffffffffffffcp+508L 0x4.0000000000001p-664L : inexact-ok
+= csqrt towardzero ldbl-96-m68k 0xf.ffffffffffff8p+1020L 0x8p-152L : 0xf.ffffffffffffbffp+508L 0x4.0000000000001p-664L : inexact-ok
+= csqrt upward ldbl-96-m68k 0xf.ffffffffffff8p+1020L 0x8p-152L : 0xf.ffffffffffffcp+508L 0x4.0000000000001008p-664L : inexact-ok
+= csqrt downward ldbl-128 0xf.ffffffffffff8p+1020L 0x8p-152L : 0xf.ffffffffffffbfffffffffffff78p+508L 0x4.000000000000100000000000006p-664L : inexact-ok
+= csqrt tonearest ldbl-128 0xf.ffffffffffff8p+1020L 0x8p-152L : 0xf.ffffffffffffbfffffffffffff8p+508L 0x4.000000000000100000000000006p-664L : inexact-ok
+= csqrt towardzero ldbl-128 0xf.ffffffffffff8p+1020L 0x8p-152L : 0xf.ffffffffffffbfffffffffffff78p+508L 0x4.000000000000100000000000006p-664L : inexact-ok
+= csqrt upward ldbl-128 0xf.ffffffffffff8p+1020L 0x8p-152L : 0xf.ffffffffffffbfffffffffffff8p+508L 0x4.0000000000001000000000000064p-664L : inexact-ok
+= csqrt downward ldbl-128ibm 0xf.ffffffffffff8p+1020L 0x8p-152L : 0xf.ffffffffffffbffffffffffffcp+508L 0x4.0000000000001p-664L : inexact-ok
+= csqrt tonearest ldbl-128ibm 0xf.ffffffffffff8p+1020L 0x8p-152L : 0xf.ffffffffffffcp+508L 0x4.0000000000001p-664L : inexact-ok
+= csqrt towardzero ldbl-128ibm 0xf.ffffffffffff8p+1020L 0x8p-152L : 0xf.ffffffffffffbffffffffffffcp+508L 0x4.0000000000001p-664L : inexact-ok
+= csqrt upward ldbl-128ibm 0xf.ffffffffffff8p+1020L 0x8p-152L : 0xf.ffffffffffffcp+508L 0x4.00000000000010000000000002p-664L : inexact-ok
+= csqrt downward dbl-64 0xf.ffffffffffff8p+1020 0x0p+0 : 0xf.ffffffffffff8p+508 0x0p+0 : inexact-ok
+= csqrt tonearest dbl-64 0xf.ffffffffffff8p+1020 0x0p+0 : 0xf.ffffffffffff8p+508 0x0p+0 : inexact-ok
+= csqrt towardzero dbl-64 0xf.ffffffffffff8p+1020 0x0p+0 : 0xf.ffffffffffff8p+508 0x0p+0 : inexact-ok
+= csqrt upward dbl-64 0xf.ffffffffffff8p+1020 0x0p+0 : 0x1p+512 0x0p+0 : inexact-ok
+= csqrt downward ldbl-96-intel 0xf.ffffffffffff8p+1020L 0x0p+0L : 0xf.ffffffffffffbffp+508L 0x0p+0L : inexact-ok
+= csqrt tonearest ldbl-96-intel 0xf.ffffffffffff8p+1020L 0x0p+0L : 0xf.ffffffffffffcp+508L 0x0p+0L : inexact-ok
+= csqrt towardzero ldbl-96-intel 0xf.ffffffffffff8p+1020L 0x0p+0L : 0xf.ffffffffffffbffp+508L 0x0p+0L : inexact-ok
+= csqrt upward ldbl-96-intel 0xf.ffffffffffff8p+1020L 0x0p+0L : 0xf.ffffffffffffcp+508L 0x0p+0L : inexact-ok
+= csqrt downward ldbl-96-m68k 0xf.ffffffffffff8p+1020L 0x0p+0L : 0xf.ffffffffffffbffp+508L 0x0p+0L : inexact-ok
+= csqrt tonearest ldbl-96-m68k 0xf.ffffffffffff8p+1020L 0x0p+0L : 0xf.ffffffffffffcp+508L 0x0p+0L : inexact-ok
+= csqrt towardzero ldbl-96-m68k 0xf.ffffffffffff8p+1020L 0x0p+0L : 0xf.ffffffffffffbffp+508L 0x0p+0L : inexact-ok
+= csqrt upward ldbl-96-m68k 0xf.ffffffffffff8p+1020L 0x0p+0L : 0xf.ffffffffffffcp+508L 0x0p+0L : inexact-ok
+= csqrt downward ldbl-128 0xf.ffffffffffff8p+1020L 0x0p+0L : 0xf.ffffffffffffbfffffffffffff78p+508L 0x0p+0L : inexact-ok
+= csqrt tonearest ldbl-128 0xf.ffffffffffff8p+1020L 0x0p+0L : 0xf.ffffffffffffbfffffffffffff8p+508L 0x0p+0L : inexact-ok
+= csqrt towardzero ldbl-128 0xf.ffffffffffff8p+1020L 0x0p+0L : 0xf.ffffffffffffbfffffffffffff78p+508L 0x0p+0L : inexact-ok
+= csqrt upward ldbl-128 0xf.ffffffffffff8p+1020L 0x0p+0L : 0xf.ffffffffffffbfffffffffffff8p+508L 0x0p+0L : inexact-ok
+= csqrt downward ldbl-128ibm 0xf.ffffffffffff8p+1020L 0x0p+0L : 0xf.ffffffffffffbffffffffffffcp+508L 0x0p+0L : inexact-ok
+= csqrt tonearest ldbl-128ibm 0xf.ffffffffffff8p+1020L 0x0p+0L : 0xf.ffffffffffffcp+508L 0x0p+0L : inexact-ok
+= csqrt towardzero ldbl-128ibm 0xf.ffffffffffff8p+1020L 0x0p+0L : 0xf.ffffffffffffbffffffffffffcp+508L 0x0p+0L : inexact-ok
+= csqrt upward ldbl-128ibm 0xf.ffffffffffff8p+1020L 0x0p+0L : 0xf.ffffffffffffcp+508L 0x0p+0L : inexact-ok
+= csqrt downward dbl-64 0xf.ffffffffffff8p+1020 0x4p-1076 : 0xf.ffffffffffff8p+508 0x0p+0 : inexact-ok underflow errno-erange-ok
+= csqrt tonearest dbl-64 0xf.ffffffffffff8p+1020 0x4p-1076 : 0xf.ffffffffffff8p+508 0x0p+0 : inexact-ok underflow errno-erange-ok
+= csqrt towardzero dbl-64 0xf.ffffffffffff8p+1020 0x4p-1076 : 0xf.ffffffffffff8p+508 0x0p+0 : inexact-ok underflow errno-erange-ok
+= csqrt upward dbl-64 0xf.ffffffffffff8p+1020 0x4p-1076 : 0x1p+512 0x4p-1076 : inexact-ok underflow errno-erange-ok
+= csqrt downward ldbl-96-intel 0xf.ffffffffffff8p+1020L 0x4p-1076L : 0xf.ffffffffffffbffp+508L 0x2.00000000000008p-1588L : inexact-ok
+= csqrt tonearest ldbl-96-intel 0xf.ffffffffffff8p+1020L 0x4p-1076L : 0xf.ffffffffffffcp+508L 0x2.00000000000008p-1588L : inexact-ok
+= csqrt towardzero ldbl-96-intel 0xf.ffffffffffff8p+1020L 0x4p-1076L : 0xf.ffffffffffffbffp+508L 0x2.00000000000008p-1588L : inexact-ok
+= csqrt upward ldbl-96-intel 0xf.ffffffffffff8p+1020L 0x4p-1076L : 0xf.ffffffffffffcp+508L 0x2.0000000000000804p-1588L : inexact-ok
+= csqrt downward ldbl-96-m68k 0xf.ffffffffffff8p+1020L 0x4p-1076L : 0xf.ffffffffffffbffp+508L 0x2.00000000000008p-1588L : inexact-ok
+= csqrt tonearest ldbl-96-m68k 0xf.ffffffffffff8p+1020L 0x4p-1076L : 0xf.ffffffffffffcp+508L 0x2.00000000000008p-1588L : inexact-ok
+= csqrt towardzero ldbl-96-m68k 0xf.ffffffffffff8p+1020L 0x4p-1076L : 0xf.ffffffffffffbffp+508L 0x2.00000000000008p-1588L : inexact-ok
+= csqrt upward ldbl-96-m68k 0xf.ffffffffffff8p+1020L 0x4p-1076L : 0xf.ffffffffffffcp+508L 0x2.0000000000000804p-1588L : inexact-ok
+= csqrt downward ldbl-128 0xf.ffffffffffff8p+1020L 0x4p-1076L : 0xf.ffffffffffffbfffffffffffff78p+508L 0x2.000000000000080000000000003p-1588L : inexact-ok
+= csqrt tonearest ldbl-128 0xf.ffffffffffff8p+1020L 0x4p-1076L : 0xf.ffffffffffffbfffffffffffff8p+508L 0x2.000000000000080000000000003p-1588L : inexact-ok
+= csqrt towardzero ldbl-128 0xf.ffffffffffff8p+1020L 0x4p-1076L : 0xf.ffffffffffffbfffffffffffff78p+508L 0x2.000000000000080000000000003p-1588L : inexact-ok
+= csqrt upward ldbl-128 0xf.ffffffffffff8p+1020L 0x4p-1076L : 0xf.ffffffffffffbfffffffffffff8p+508L 0x2.0000000000000800000000000032p-1588L : inexact-ok
+= csqrt downward ldbl-128ibm 0xf.ffffffffffff8p+1020L 0x4p-1076L : 0xf.ffffffffffffbffffffffffffcp+508L 0x0p+0L : inexact-ok underflow errno-erange-ok
+= csqrt tonearest ldbl-128ibm 0xf.ffffffffffff8p+1020L 0x4p-1076L : 0xf.ffffffffffffcp+508L 0x0p+0L : inexact-ok underflow errno-erange-ok
+= csqrt towardzero ldbl-128ibm 0xf.ffffffffffff8p+1020L 0x4p-1076L : 0xf.ffffffffffffbffffffffffffcp+508L 0x0p+0L : inexact-ok underflow errno-erange-ok
+= csqrt upward ldbl-128ibm 0xf.ffffffffffff8p+1020L 0x4p-1076L : 0xf.ffffffffffffcp+508L 0x4p-1076L : inexact-ok underflow errno-erange-ok
+= csqrt downward ldbl-96-intel 0xf.ffffffffffff8p+1020L 0x8.8p-8192L : 0xf.ffffffffffffbffp+508L 0x4.40000000000011p-8704L : inexact-ok
+= csqrt tonearest ldbl-96-intel 0xf.ffffffffffff8p+1020L 0x8.8p-8192L : 0xf.ffffffffffffcp+508L 0x4.40000000000011p-8704L : inexact-ok
+= csqrt towardzero ldbl-96-intel 0xf.ffffffffffff8p+1020L 0x8.8p-8192L : 0xf.ffffffffffffbffp+508L 0x4.40000000000011p-8704L : inexact-ok
+= csqrt upward ldbl-96-intel 0xf.ffffffffffff8p+1020L 0x8.8p-8192L : 0xf.ffffffffffffcp+508L 0x4.4000000000001108p-8704L : inexact-ok
+= csqrt downward ldbl-96-m68k 0xf.ffffffffffff8p+1020L 0x8.8p-8192L : 0xf.ffffffffffffbffp+508L 0x4.40000000000011p-8704L : inexact-ok
+= csqrt tonearest ldbl-96-m68k 0xf.ffffffffffff8p+1020L 0x8.8p-8192L : 0xf.ffffffffffffcp+508L 0x4.40000000000011p-8704L : inexact-ok
+= csqrt towardzero ldbl-96-m68k 0xf.ffffffffffff8p+1020L 0x8.8p-8192L : 0xf.ffffffffffffbffp+508L 0x4.40000000000011p-8704L : inexact-ok
+= csqrt upward ldbl-96-m68k 0xf.ffffffffffff8p+1020L 0x8.8p-8192L : 0xf.ffffffffffffcp+508L 0x4.4000000000001108p-8704L : inexact-ok
+= csqrt downward ldbl-128 0xf.ffffffffffff8p+1020L 0x8.8p-8192L : 0xf.ffffffffffffbfffffffffffff78p+508L 0x4.4000000000001100000000000064p-8704L : inexact-ok
+= csqrt tonearest ldbl-128 0xf.ffffffffffff8p+1020L 0x8.8p-8192L : 0xf.ffffffffffffbfffffffffffff8p+508L 0x4.4000000000001100000000000068p-8704L : inexact-ok
+= csqrt towardzero ldbl-128 0xf.ffffffffffff8p+1020L 0x8.8p-8192L : 0xf.ffffffffffffbfffffffffffff78p+508L 0x4.4000000000001100000000000064p-8704L : inexact-ok
+= csqrt upward ldbl-128 0xf.ffffffffffff8p+1020L 0x8.8p-8192L : 0xf.ffffffffffffbfffffffffffff8p+508L 0x4.4000000000001100000000000068p-8704L : inexact-ok
+= csqrt downward ldbl-96-intel 0xf.fp+16380L 0x8p-152L : 0xf.f7fdfeff5f8fabbp+8188L 0x4.0201814118fce7dp-8344L : inexact-ok
+= csqrt tonearest ldbl-96-intel 0xf.fp+16380L 0x8p-152L : 0xf.f7fdfeff5f8fabcp+8188L 0x4.0201814118fce7d8p-8344L : inexact-ok
+= csqrt towardzero ldbl-96-intel 0xf.fp+16380L 0x8p-152L : 0xf.f7fdfeff5f8fabbp+8188L 0x4.0201814118fce7dp-8344L : inexact-ok
+= csqrt upward ldbl-96-intel 0xf.fp+16380L 0x8p-152L : 0xf.f7fdfeff5f8fabcp+8188L 0x4.0201814118fce7d8p-8344L : inexact-ok
+= csqrt downward ldbl-96-m68k 0xf.fp+16380L 0x8p-152L : 0xf.f7fdfeff5f8fabbp+8188L 0x4.0201814118fce7dp-8344L : inexact-ok
+= csqrt tonearest ldbl-96-m68k 0xf.fp+16380L 0x8p-152L : 0xf.f7fdfeff5f8fabcp+8188L 0x4.0201814118fce7d8p-8344L : inexact-ok
+= csqrt towardzero ldbl-96-m68k 0xf.fp+16380L 0x8p-152L : 0xf.f7fdfeff5f8fabbp+8188L 0x4.0201814118fce7dp-8344L : inexact-ok
+= csqrt upward ldbl-96-m68k 0xf.fp+16380L 0x8p-152L : 0xf.f7fdfeff5f8fabcp+8188L 0x4.0201814118fce7d8p-8344L : inexact-ok
+= csqrt downward ldbl-128 0xf.fp+16380L 0x8p-152L : 0xf.f7fdfeff5f8fabbdca3329e3153p+8188L 0x4.0201814118fce7d749d6a119df28p-8344L : inexact-ok
+= csqrt tonearest ldbl-128 0xf.fp+16380L 0x8p-152L : 0xf.f7fdfeff5f8fabbdca3329e3153p+8188L 0x4.0201814118fce7d749d6a119df2cp-8344L : inexact-ok
+= csqrt towardzero ldbl-128 0xf.fp+16380L 0x8p-152L : 0xf.f7fdfeff5f8fabbdca3329e3153p+8188L 0x4.0201814118fce7d749d6a119df28p-8344L : inexact-ok
+= csqrt upward ldbl-128 0xf.fp+16380L 0x8p-152L : 0xf.f7fdfeff5f8fabbdca3329e31538p+8188L 0x4.0201814118fce7d749d6a119df2cp-8344L : inexact-ok
+= csqrt downward ldbl-96-intel 0xf.fp+16380L 0x0p+0L : 0xf.f7fdfeff5f8fabbp+8188L 0x0p+0L : inexact-ok
+= csqrt tonearest ldbl-96-intel 0xf.fp+16380L 0x0p+0L : 0xf.f7fdfeff5f8fabcp+8188L 0x0p+0L : inexact-ok
+= csqrt towardzero ldbl-96-intel 0xf.fp+16380L 0x0p+0L : 0xf.f7fdfeff5f8fabbp+8188L 0x0p+0L : inexact-ok
+= csqrt upward ldbl-96-intel 0xf.fp+16380L 0x0p+0L : 0xf.f7fdfeff5f8fabcp+8188L 0x0p+0L : inexact-ok
+= csqrt downward ldbl-96-m68k 0xf.fp+16380L 0x0p+0L : 0xf.f7fdfeff5f8fabbp+8188L 0x0p+0L : inexact-ok
+= csqrt tonearest ldbl-96-m68k 0xf.fp+16380L 0x0p+0L : 0xf.f7fdfeff5f8fabcp+8188L 0x0p+0L : inexact-ok
+= csqrt towardzero ldbl-96-m68k 0xf.fp+16380L 0x0p+0L : 0xf.f7fdfeff5f8fabbp+8188L 0x0p+0L : inexact-ok
+= csqrt upward ldbl-96-m68k 0xf.fp+16380L 0x0p+0L : 0xf.f7fdfeff5f8fabcp+8188L 0x0p+0L : inexact-ok
+= csqrt downward ldbl-128 0xf.fp+16380L 0x0p+0L : 0xf.f7fdfeff5f8fabbdca3329e3153p+8188L 0x0p+0L : inexact-ok
+= csqrt tonearest ldbl-128 0xf.fp+16380L 0x0p+0L : 0xf.f7fdfeff5f8fabbdca3329e3153p+8188L 0x0p+0L : inexact-ok
+= csqrt towardzero ldbl-128 0xf.fp+16380L 0x0p+0L : 0xf.f7fdfeff5f8fabbdca3329e3153p+8188L 0x0p+0L : inexact-ok
+= csqrt upward ldbl-128 0xf.fp+16380L 0x0p+0L : 0xf.f7fdfeff5f8fabbdca3329e31538p+8188L 0x0p+0L : inexact-ok
+= csqrt downward ldbl-96-intel 0xf.fp+16380L 0x4p-1076L : 0xf.f7fdfeff5f8fabbp+8188L 0x2.0100c0a08c7e73e8p-9268L : inexact-ok
+= csqrt tonearest ldbl-96-intel 0xf.fp+16380L 0x4p-1076L : 0xf.f7fdfeff5f8fabcp+8188L 0x2.0100c0a08c7e73ecp-9268L : inexact-ok
+= csqrt towardzero ldbl-96-intel 0xf.fp+16380L 0x4p-1076L : 0xf.f7fdfeff5f8fabbp+8188L 0x2.0100c0a08c7e73e8p-9268L : inexact-ok
+= csqrt upward ldbl-96-intel 0xf.fp+16380L 0x4p-1076L : 0xf.f7fdfeff5f8fabcp+8188L 0x2.0100c0a08c7e73ecp-9268L : inexact-ok
+= csqrt downward ldbl-96-m68k 0xf.fp+16380L 0x4p-1076L : 0xf.f7fdfeff5f8fabbp+8188L 0x2.0100c0a08c7e73e8p-9268L : inexact-ok
+= csqrt tonearest ldbl-96-m68k 0xf.fp+16380L 0x4p-1076L : 0xf.f7fdfeff5f8fabcp+8188L 0x2.0100c0a08c7e73ecp-9268L : inexact-ok
+= csqrt towardzero ldbl-96-m68k 0xf.fp+16380L 0x4p-1076L : 0xf.f7fdfeff5f8fabbp+8188L 0x2.0100c0a08c7e73e8p-9268L : inexact-ok
+= csqrt upward ldbl-96-m68k 0xf.fp+16380L 0x4p-1076L : 0xf.f7fdfeff5f8fabcp+8188L 0x2.0100c0a08c7e73ecp-9268L : inexact-ok
+= csqrt downward ldbl-128 0xf.fp+16380L 0x4p-1076L : 0xf.f7fdfeff5f8fabbdca3329e3153p+8188L 0x2.0100c0a08c7e73eba4eb508cef94p-9268L : inexact-ok
+= csqrt tonearest ldbl-128 0xf.fp+16380L 0x4p-1076L : 0xf.f7fdfeff5f8fabbdca3329e3153p+8188L 0x2.0100c0a08c7e73eba4eb508cef96p-9268L : inexact-ok
+= csqrt towardzero ldbl-128 0xf.fp+16380L 0x4p-1076L : 0xf.f7fdfeff5f8fabbdca3329e3153p+8188L 0x2.0100c0a08c7e73eba4eb508cef94p-9268L : inexact-ok
+= csqrt upward ldbl-128 0xf.fp+16380L 0x4p-1076L : 0xf.f7fdfeff5f8fabbdca3329e31538p+8188L 0x2.0100c0a08c7e73eba4eb508cef96p-9268L : inexact-ok
+= csqrt downward ldbl-96-intel 0xf.fp+16380L 0x8.8p-8192L : 0xf.f7fdfeff5f8fabbp+8188L 0x4.422199552a8cb65p-16384L : inexact-ok
+= csqrt tonearest ldbl-96-intel 0xf.fp+16380L 0x8.8p-8192L : 0xf.f7fdfeff5f8fabcp+8188L 0x4.422199552a8cb658p-16384L : inexact-ok
+= csqrt towardzero ldbl-96-intel 0xf.fp+16380L 0x8.8p-8192L : 0xf.f7fdfeff5f8fabbp+8188L 0x4.422199552a8cb65p-16384L : inexact-ok
+= csqrt upward ldbl-96-intel 0xf.fp+16380L 0x8.8p-8192L : 0xf.f7fdfeff5f8fabcp+8188L 0x4.422199552a8cb658p-16384L : inexact-ok
+= csqrt downward ldbl-96-m68k 0xf.fp+16380L 0x8.8p-8192L : 0xf.f7fdfeff5f8fabbp+8188L 0x4.422199552a8cb65p-16384L : inexact-ok
+= csqrt tonearest ldbl-96-m68k 0xf.fp+16380L 0x8.8p-8192L : 0xf.f7fdfeff5f8fabcp+8188L 0x4.422199552a8cb658p-16384L : inexact-ok
+= csqrt towardzero ldbl-96-m68k 0xf.fp+16380L 0x8.8p-8192L : 0xf.f7fdfeff5f8fabbp+8188L 0x4.422199552a8cb65p-16384L : inexact-ok
+= csqrt upward ldbl-96-m68k 0xf.fp+16380L 0x8.8p-8192L : 0xf.f7fdfeff5f8fabcp+8188L 0x4.422199552a8cb658p-16384L : inexact-ok
+= csqrt downward ldbl-128 0xf.fp+16380L 0x8.8p-8192L : 0xf.f7fdfeff5f8fabbdca3329e3153p+8188L 0x4.422199552a8cb654be740b2b7d1cp-16384L : inexact-ok
+= csqrt tonearest ldbl-128 0xf.fp+16380L 0x8.8p-8192L : 0xf.f7fdfeff5f8fabbdca3329e3153p+8188L 0x4.422199552a8cb654be740b2b7d2p-16384L : inexact-ok
+= csqrt towardzero ldbl-128 0xf.fp+16380L 0x8.8p-8192L : 0xf.f7fdfeff5f8fabbdca3329e3153p+8188L 0x4.422199552a8cb654be740b2b7d1cp-16384L : inexact-ok
+= csqrt upward ldbl-128 0xf.fp+16380L 0x8.8p-8192L : 0xf.f7fdfeff5f8fabbdca3329e31538p+8188L 0x4.422199552a8cb654be740b2b7d2p-16384L : inexact-ok
+= csqrt downward ldbl-128 0xf.ffffffffffffbffffffffffffcp+1020L 0x8p-152L : 0xf.ffffffffffffdffffffffffffdd8p+508L 0x4.0000000000000800000000000098p-664L : inexact-ok
+= csqrt tonearest ldbl-128 0xf.ffffffffffffbffffffffffffcp+1020L 0x8p-152L : 0xf.ffffffffffffdffffffffffffdep+508L 0x4.0000000000000800000000000098p-664L : inexact-ok
+= csqrt towardzero ldbl-128 0xf.ffffffffffffbffffffffffffcp+1020L 0x8p-152L : 0xf.ffffffffffffdffffffffffffdd8p+508L 0x4.0000000000000800000000000098p-664L : inexact-ok
+= csqrt upward ldbl-128 0xf.ffffffffffffbffffffffffffcp+1020L 0x8p-152L : 0xf.ffffffffffffdffffffffffffdep+508L 0x4.000000000000080000000000009cp-664L : inexact-ok
+= csqrt downward ldbl-128ibm 0xf.ffffffffffffbffffffffffffcp+1020L 0x8p-152L : 0xf.ffffffffffffdffffffffffffcp+508L 0x4.00000000000008p-664L : inexact-ok
+= csqrt tonearest ldbl-128ibm 0xf.ffffffffffffbffffffffffffcp+1020L 0x8p-152L : 0xf.ffffffffffffdffffffffffffcp+508L 0x4.00000000000008p-664L : inexact-ok
+= csqrt towardzero ldbl-128ibm 0xf.ffffffffffffbffffffffffffcp+1020L 0x8p-152L : 0xf.ffffffffffffdffffffffffffcp+508L 0x4.00000000000008p-664L : inexact-ok
+= csqrt upward ldbl-128ibm 0xf.ffffffffffffbffffffffffffcp+1020L 0x8p-152L : 0xf.ffffffffffffep+508L 0x4.00000000000008000000000002p-664L : inexact-ok
+= csqrt downward ldbl-128 0xf.ffffffffffffbffffffffffffcp+1020L 0x0p+0L : 0xf.ffffffffffffdffffffffffffdd8p+508L 0x0p+0L : inexact-ok
+= csqrt tonearest ldbl-128 0xf.ffffffffffffbffffffffffffcp+1020L 0x0p+0L : 0xf.ffffffffffffdffffffffffffdep+508L 0x0p+0L : inexact-ok
+= csqrt towardzero ldbl-128 0xf.ffffffffffffbffffffffffffcp+1020L 0x0p+0L : 0xf.ffffffffffffdffffffffffffdd8p+508L 0x0p+0L : inexact-ok
+= csqrt upward ldbl-128 0xf.ffffffffffffbffffffffffffcp+1020L 0x0p+0L : 0xf.ffffffffffffdffffffffffffdep+508L 0x0p+0L : inexact-ok
+= csqrt downward ldbl-128ibm 0xf.ffffffffffffbffffffffffffcp+1020L 0x0p+0L : 0xf.ffffffffffffdffffffffffffcp+508L 0x0p+0L : inexact-ok
+= csqrt tonearest ldbl-128ibm 0xf.ffffffffffffbffffffffffffcp+1020L 0x0p+0L : 0xf.ffffffffffffdffffffffffffcp+508L 0x0p+0L : inexact-ok
+= csqrt towardzero ldbl-128ibm 0xf.ffffffffffffbffffffffffffcp+1020L 0x0p+0L : 0xf.ffffffffffffdffffffffffffcp+508L 0x0p+0L : inexact-ok
+= csqrt upward ldbl-128ibm 0xf.ffffffffffffbffffffffffffcp+1020L 0x0p+0L : 0xf.ffffffffffffep+508L 0x0p+0L : inexact-ok
+= csqrt downward ldbl-128 0xf.ffffffffffffbffffffffffffcp+1020L 0x4p-1076L : 0xf.ffffffffffffdffffffffffffdd8p+508L 0x2.000000000000040000000000004cp-1588L : inexact-ok
+= csqrt tonearest ldbl-128 0xf.ffffffffffffbffffffffffffcp+1020L 0x4p-1076L : 0xf.ffffffffffffdffffffffffffdep+508L 0x2.000000000000040000000000004cp-1588L : inexact-ok
+= csqrt towardzero ldbl-128 0xf.ffffffffffffbffffffffffffcp+1020L 0x4p-1076L : 0xf.ffffffffffffdffffffffffffdd8p+508L 0x2.000000000000040000000000004cp-1588L : inexact-ok
+= csqrt upward ldbl-128 0xf.ffffffffffffbffffffffffffcp+1020L 0x4p-1076L : 0xf.ffffffffffffdffffffffffffdep+508L 0x2.000000000000040000000000004ep-1588L : inexact-ok
+= csqrt downward ldbl-128ibm 0xf.ffffffffffffbffffffffffffcp+1020L 0x4p-1076L : 0xf.ffffffffffffdffffffffffffcp+508L 0x0p+0L : inexact-ok underflow errno-erange-ok
+= csqrt tonearest ldbl-128ibm 0xf.ffffffffffffbffffffffffffcp+1020L 0x4p-1076L : 0xf.ffffffffffffdffffffffffffcp+508L 0x0p+0L : inexact-ok underflow errno-erange-ok
+= csqrt towardzero ldbl-128ibm 0xf.ffffffffffffbffffffffffffcp+1020L 0x4p-1076L : 0xf.ffffffffffffdffffffffffffcp+508L 0x0p+0L : inexact-ok underflow errno-erange-ok
+= csqrt upward ldbl-128ibm 0xf.ffffffffffffbffffffffffffcp+1020L 0x4p-1076L : 0xf.ffffffffffffep+508L 0x4p-1076L : inexact-ok underflow errno-erange-ok
+= csqrt downward ldbl-128 0xf.ffffffffffffbffffffffffffcp+1020L 0x8.8p-8192L : 0xf.ffffffffffffdffffffffffffdd8p+508L 0x4.40000000000008800000000000ap-8704L : inexact-ok
+= csqrt tonearest ldbl-128 0xf.ffffffffffffbffffffffffffcp+1020L 0x8.8p-8192L : 0xf.ffffffffffffdffffffffffffdep+508L 0x4.40000000000008800000000000ap-8704L : inexact-ok
+= csqrt towardzero ldbl-128 0xf.ffffffffffffbffffffffffffcp+1020L 0x8.8p-8192L : 0xf.ffffffffffffdffffffffffffdd8p+508L 0x4.40000000000008800000000000ap-8704L : inexact-ok
+= csqrt upward ldbl-128 0xf.ffffffffffffbffffffffffffcp+1020L 0x8.8p-8192L : 0xf.ffffffffffffdffffffffffffdep+508L 0x4.40000000000008800000000000a4p-8704L : inexact-ok
+csqrt -0x0.ffp16384 0x1.1p-8189
+= csqrt downward flt-32 -0xf.fffffp+124f 0x8p-152f : 0x0p+0f 0xf.fffffp+60f : inexact-ok underflow errno-erange-ok
+= csqrt tonearest flt-32 -0xf.fffffp+124f 0x8p-152f : 0x0p+0f 0xf.fffffp+60f : inexact-ok underflow errno-erange-ok
+= csqrt towardzero flt-32 -0xf.fffffp+124f 0x8p-152f : 0x0p+0f 0xf.fffffp+60f : inexact-ok underflow errno-erange-ok
+= csqrt upward flt-32 -0xf.fffffp+124f 0x8p-152f : 0x8p-152f 0x1p+64f : inexact-ok underflow errno-erange-ok
+= csqrt downward dbl-64 -0xf.fffffp+124 0x8p-152 : 0x4.0000020000018p-216 0xf.fffff7fffffd8p+60 : inexact-ok
+= csqrt tonearest dbl-64 -0xf.fffffp+124 0x8p-152 : 0x4.0000020000018p-216 0xf.fffff7fffffep+60 : inexact-ok
+= csqrt towardzero dbl-64 -0xf.fffffp+124 0x8p-152 : 0x4.0000020000018p-216 0xf.fffff7fffffd8p+60 : inexact-ok
+= csqrt upward dbl-64 -0xf.fffffp+124 0x8p-152 : 0x4.000002000001cp-216 0xf.fffff7fffffep+60 : inexact-ok
+= csqrt downward ldbl-96-intel -0xf.fffffp+124L 0x8p-152L : 0x4.0000020000018p-216L 0xf.fffff7fffffdfffp+60L : inexact-ok
+= csqrt tonearest ldbl-96-intel -0xf.fffffp+124L 0x8p-152L : 0x4.0000020000018p-216L 0xf.fffff7fffffep+60L : inexact-ok
+= csqrt towardzero ldbl-96-intel -0xf.fffffp+124L 0x8p-152L : 0x4.0000020000018p-216L 0xf.fffff7fffffdfffp+60L : inexact-ok
+= csqrt upward ldbl-96-intel -0xf.fffffp+124L 0x8p-152L : 0x4.0000020000018008p-216L 0xf.fffff7fffffep+60L : inexact-ok
+= csqrt downward ldbl-96-m68k -0xf.fffffp+124L 0x8p-152L : 0x4.0000020000018p-216L 0xf.fffff7fffffdfffp+60L : inexact-ok
+= csqrt tonearest ldbl-96-m68k -0xf.fffffp+124L 0x8p-152L : 0x4.0000020000018p-216L 0xf.fffff7fffffep+60L : inexact-ok
+= csqrt towardzero ldbl-96-m68k -0xf.fffffp+124L 0x8p-152L : 0x4.0000020000018p-216L 0xf.fffff7fffffdfffp+60L : inexact-ok
+= csqrt upward ldbl-96-m68k -0xf.fffffp+124L 0x8p-152L : 0x4.0000020000018008p-216L 0xf.fffff7fffffep+60L : inexact-ok
+= csqrt downward ldbl-128 -0xf.fffffp+124L 0x8p-152L : 0x4.00000200000180000140000118p-216L 0xf.fffff7fffffdfffffeffffff5ff8p+60L : inexact-ok
+= csqrt tonearest ldbl-128 -0xf.fffffp+124L 0x8p-152L : 0x4.00000200000180000140000118p-216L 0xf.fffff7fffffdfffffeffffff6p+60L : inexact-ok
+= csqrt towardzero ldbl-128 -0xf.fffffp+124L 0x8p-152L : 0x4.00000200000180000140000118p-216L 0xf.fffff7fffffdfffffeffffff5ff8p+60L : inexact-ok
+= csqrt upward ldbl-128 -0xf.fffffp+124L 0x8p-152L : 0x4.0000020000018000014000011804p-216L 0xf.fffff7fffffdfffffeffffff6p+60L : inexact-ok
+= csqrt downward ldbl-128ibm -0xf.fffffp+124L 0x8p-152L : 0x4.00000200000180000140000118p-216L 0xf.fffff7fffffdfffffeffffff5cp+60L : inexact-ok
+= csqrt tonearest ldbl-128ibm -0xf.fffffp+124L 0x8p-152L : 0x4.00000200000180000140000118p-216L 0xf.fffff7fffffdfffffeffffff6p+60L : inexact-ok
+= csqrt towardzero ldbl-128ibm -0xf.fffffp+124L 0x8p-152L : 0x4.00000200000180000140000118p-216L 0xf.fffff7fffffdfffffeffffff5cp+60L : inexact-ok
+= csqrt upward ldbl-128ibm -0xf.fffffp+124L 0x8p-152L : 0x4.0000020000018000014000011ap-216L 0xf.fffff7fffffdfffffeffffff6p+60L : inexact-ok
+= csqrt downward flt-32 -0xf.fffffp+124f 0x0p+0f : 0x0p+0f 0xf.fffffp+60f : inexact-ok
+= csqrt tonearest flt-32 -0xf.fffffp+124f 0x0p+0f : 0x0p+0f 0xf.fffffp+60f : inexact-ok
+= csqrt towardzero flt-32 -0xf.fffffp+124f 0x0p+0f : 0x0p+0f 0xf.fffffp+60f : inexact-ok
+= csqrt upward flt-32 -0xf.fffffp+124f 0x0p+0f : 0x0p+0f 0x1p+64f : inexact-ok
+= csqrt downward dbl-64 -0xf.fffffp+124 0x0p+0 : 0x0p+0 0xf.fffff7fffffd8p+60 : inexact-ok
+= csqrt tonearest dbl-64 -0xf.fffffp+124 0x0p+0 : 0x0p+0 0xf.fffff7fffffep+60 : inexact-ok
+= csqrt towardzero dbl-64 -0xf.fffffp+124 0x0p+0 : 0x0p+0 0xf.fffff7fffffd8p+60 : inexact-ok
+= csqrt upward dbl-64 -0xf.fffffp+124 0x0p+0 : 0x0p+0 0xf.fffff7fffffep+60 : inexact-ok
+= csqrt downward ldbl-96-intel -0xf.fffffp+124L 0x0p+0L : 0x0p+0L 0xf.fffff7fffffdfffp+60L : inexact-ok
+= csqrt tonearest ldbl-96-intel -0xf.fffffp+124L 0x0p+0L : 0x0p+0L 0xf.fffff7fffffep+60L : inexact-ok
+= csqrt towardzero ldbl-96-intel -0xf.fffffp+124L 0x0p+0L : 0x0p+0L 0xf.fffff7fffffdfffp+60L : inexact-ok
+= csqrt upward ldbl-96-intel -0xf.fffffp+124L 0x0p+0L : 0x0p+0L 0xf.fffff7fffffep+60L : inexact-ok
+= csqrt downward ldbl-96-m68k -0xf.fffffp+124L 0x0p+0L : 0x0p+0L 0xf.fffff7fffffdfffp+60L : inexact-ok
+= csqrt tonearest ldbl-96-m68k -0xf.fffffp+124L 0x0p+0L : 0x0p+0L 0xf.fffff7fffffep+60L : inexact-ok
+= csqrt towardzero ldbl-96-m68k -0xf.fffffp+124L 0x0p+0L : 0x0p+0L 0xf.fffff7fffffdfffp+60L : inexact-ok
+= csqrt upward ldbl-96-m68k -0xf.fffffp+124L 0x0p+0L : 0x0p+0L 0xf.fffff7fffffep+60L : inexact-ok
+= csqrt downward ldbl-128 -0xf.fffffp+124L 0x0p+0L : 0x0p+0L 0xf.fffff7fffffdfffffeffffff5ff8p+60L : inexact-ok
+= csqrt tonearest ldbl-128 -0xf.fffffp+124L 0x0p+0L : 0x0p+0L 0xf.fffff7fffffdfffffeffffff6p+60L : inexact-ok
+= csqrt towardzero ldbl-128 -0xf.fffffp+124L 0x0p+0L : 0x0p+0L 0xf.fffff7fffffdfffffeffffff5ff8p+60L : inexact-ok
+= csqrt upward ldbl-128 -0xf.fffffp+124L 0x0p+0L : 0x0p+0L 0xf.fffff7fffffdfffffeffffff6p+60L : inexact-ok
+= csqrt downward ldbl-128ibm -0xf.fffffp+124L 0x0p+0L : 0x0p+0L 0xf.fffff7fffffdfffffeffffff5cp+60L : inexact-ok
+= csqrt tonearest ldbl-128ibm -0xf.fffffp+124L 0x0p+0L : 0x0p+0L 0xf.fffff7fffffdfffffeffffff6p+60L : inexact-ok
+= csqrt towardzero ldbl-128ibm -0xf.fffffp+124L 0x0p+0L : 0x0p+0L 0xf.fffff7fffffdfffffeffffff5cp+60L : inexact-ok
+= csqrt upward ldbl-128ibm -0xf.fffffp+124L 0x0p+0L : 0x0p+0L 0xf.fffff7fffffdfffffeffffff6p+60L : inexact-ok
+= csqrt downward dbl-64 -0xf.fffffp+124 0x4p-1076 : 0x0p+0 0xf.fffff7fffffd8p+60 : inexact-ok underflow errno-erange-ok
+= csqrt tonearest dbl-64 -0xf.fffffp+124 0x4p-1076 : 0x0p+0 0xf.fffff7fffffep+60 : inexact-ok underflow errno-erange-ok
+= csqrt towardzero dbl-64 -0xf.fffffp+124 0x4p-1076 : 0x0p+0 0xf.fffff7fffffd8p+60 : inexact-ok underflow errno-erange-ok
+= csqrt upward dbl-64 -0xf.fffffp+124 0x4p-1076 : 0x4p-1076 0xf.fffff7fffffep+60 : inexact-ok underflow errno-erange-ok
+= csqrt downward ldbl-96-intel -0xf.fffffp+124L 0x4p-1076L : 0x2.000001000000cp-1140L 0xf.fffff7fffffdfffp+60L : inexact-ok
+= csqrt tonearest ldbl-96-intel -0xf.fffffp+124L 0x4p-1076L : 0x2.000001000000cp-1140L 0xf.fffff7fffffep+60L : inexact-ok
+= csqrt towardzero ldbl-96-intel -0xf.fffffp+124L 0x4p-1076L : 0x2.000001000000cp-1140L 0xf.fffff7fffffdfffp+60L : inexact-ok
+= csqrt upward ldbl-96-intel -0xf.fffffp+124L 0x4p-1076L : 0x2.000001000000c004p-1140L 0xf.fffff7fffffep+60L : inexact-ok
+= csqrt downward ldbl-96-m68k -0xf.fffffp+124L 0x4p-1076L : 0x2.000001000000cp-1140L 0xf.fffff7fffffdfffp+60L : inexact-ok
+= csqrt tonearest ldbl-96-m68k -0xf.fffffp+124L 0x4p-1076L : 0x2.000001000000cp-1140L 0xf.fffff7fffffep+60L : inexact-ok
+= csqrt towardzero ldbl-96-m68k -0xf.fffffp+124L 0x4p-1076L : 0x2.000001000000cp-1140L 0xf.fffff7fffffdfffp+60L : inexact-ok
+= csqrt upward ldbl-96-m68k -0xf.fffffp+124L 0x4p-1076L : 0x2.000001000000c004p-1140L 0xf.fffff7fffffep+60L : inexact-ok
+= csqrt downward ldbl-128 -0xf.fffffp+124L 0x4p-1076L : 0x2.000001000000c00000a000008cp-1140L 0xf.fffff7fffffdfffffeffffff5ff8p+60L : inexact-ok
+= csqrt tonearest ldbl-128 -0xf.fffffp+124L 0x4p-1076L : 0x2.000001000000c00000a000008cp-1140L 0xf.fffff7fffffdfffffeffffff6p+60L : inexact-ok
+= csqrt towardzero ldbl-128 -0xf.fffffp+124L 0x4p-1076L : 0x2.000001000000c00000a000008cp-1140L 0xf.fffff7fffffdfffffeffffff5ff8p+60L : inexact-ok
+= csqrt upward ldbl-128 -0xf.fffffp+124L 0x4p-1076L : 0x2.000001000000c00000a000008c02p-1140L 0xf.fffff7fffffdfffffeffffff6p+60L : inexact-ok
+= csqrt downward ldbl-128ibm -0xf.fffffp+124L 0x4p-1076L : 0x0p+0L 0xf.fffff7fffffdfffffeffffff5cp+60L : inexact-ok underflow errno-erange-ok
+= csqrt tonearest ldbl-128ibm -0xf.fffffp+124L 0x4p-1076L : 0x0p+0L 0xf.fffff7fffffdfffffeffffff6p+60L : inexact-ok underflow errno-erange-ok
+= csqrt towardzero ldbl-128ibm -0xf.fffffp+124L 0x4p-1076L : 0x0p+0L 0xf.fffff7fffffdfffffeffffff5cp+60L : inexact-ok underflow errno-erange-ok
+= csqrt upward ldbl-128ibm -0xf.fffffp+124L 0x4p-1076L : 0x4p-1076L 0xf.fffff7fffffdfffffeffffff6p+60L : inexact-ok underflow errno-erange-ok
+= csqrt downward ldbl-96-intel -0xf.fffffp+124L 0x8.8p-8192L : 0x4.40000220000198p-8256L 0xf.fffff7fffffdfffp+60L : inexact-ok
+= csqrt tonearest ldbl-96-intel -0xf.fffffp+124L 0x8.8p-8192L : 0x4.40000220000198p-8256L 0xf.fffff7fffffep+60L : inexact-ok
+= csqrt towardzero ldbl-96-intel -0xf.fffffp+124L 0x8.8p-8192L : 0x4.40000220000198p-8256L 0xf.fffff7fffffdfffp+60L : inexact-ok
+= csqrt upward ldbl-96-intel -0xf.fffffp+124L 0x8.8p-8192L : 0x4.4000022000019808p-8256L 0xf.fffff7fffffep+60L : inexact-ok
+= csqrt downward ldbl-96-m68k -0xf.fffffp+124L 0x8.8p-8192L : 0x4.40000220000198p-8256L 0xf.fffff7fffffdfffp+60L : inexact-ok
+= csqrt tonearest ldbl-96-m68k -0xf.fffffp+124L 0x8.8p-8192L : 0x4.40000220000198p-8256L 0xf.fffff7fffffep+60L : inexact-ok
+= csqrt towardzero ldbl-96-m68k -0xf.fffffp+124L 0x8.8p-8192L : 0x4.40000220000198p-8256L 0xf.fffff7fffffdfffp+60L : inexact-ok
+= csqrt upward ldbl-96-m68k -0xf.fffffp+124L 0x8.8p-8192L : 0x4.4000022000019808p-8256L 0xf.fffff7fffffep+60L : inexact-ok
+= csqrt downward ldbl-128 -0xf.fffffp+124L 0x8.8p-8192L : 0x4.400002200001980001540001298p-8256L 0xf.fffff7fffffdfffffeffffff5ff8p+60L : inexact-ok
+= csqrt tonearest ldbl-128 -0xf.fffffp+124L 0x8.8p-8192L : 0x4.400002200001980001540001298p-8256L 0xf.fffff7fffffdfffffeffffff6p+60L : inexact-ok
+= csqrt towardzero ldbl-128 -0xf.fffffp+124L 0x8.8p-8192L : 0x4.400002200001980001540001298p-8256L 0xf.fffff7fffffdfffffeffffff5ff8p+60L : inexact-ok
+= csqrt upward ldbl-128 -0xf.fffffp+124L 0x8.8p-8192L : 0x4.4000022000019800015400012984p-8256L 0xf.fffff7fffffdfffffeffffff6p+60L : inexact-ok
+= csqrt downward dbl-64 -0xf.ffffffffffff8p+1020 0x8p-152 : 0x4p-664 0xf.ffffffffffff8p+508 : inexact-ok
+= csqrt tonearest dbl-64 -0xf.ffffffffffff8p+1020 0x8p-152 : 0x4p-664 0xf.ffffffffffff8p+508 : inexact-ok
+= csqrt towardzero dbl-64 -0xf.ffffffffffff8p+1020 0x8p-152 : 0x4p-664 0xf.ffffffffffff8p+508 : inexact-ok
+= csqrt upward dbl-64 -0xf.ffffffffffff8p+1020 0x8p-152 : 0x4.0000000000004p-664 0x1p+512 : inexact-ok
+= csqrt downward ldbl-96-intel -0xf.ffffffffffff8p+1020L 0x8p-152L : 0x4.0000000000001p-664L 0xf.ffffffffffffbffp+508L : inexact-ok
+= csqrt tonearest ldbl-96-intel -0xf.ffffffffffff8p+1020L 0x8p-152L : 0x4.0000000000001p-664L 0xf.ffffffffffffcp+508L : inexact-ok
+= csqrt towardzero ldbl-96-intel -0xf.ffffffffffff8p+1020L 0x8p-152L : 0x4.0000000000001p-664L 0xf.ffffffffffffbffp+508L : inexact-ok
+= csqrt upward ldbl-96-intel -0xf.ffffffffffff8p+1020L 0x8p-152L : 0x4.0000000000001008p-664L 0xf.ffffffffffffcp+508L : inexact-ok
+= csqrt downward ldbl-96-m68k -0xf.ffffffffffff8p+1020L 0x8p-152L : 0x4.0000000000001p-664L 0xf.ffffffffffffbffp+508L : inexact-ok
+= csqrt tonearest ldbl-96-m68k -0xf.ffffffffffff8p+1020L 0x8p-152L : 0x4.0000000000001p-664L 0xf.ffffffffffffcp+508L : inexact-ok
+= csqrt towardzero ldbl-96-m68k -0xf.ffffffffffff8p+1020L 0x8p-152L : 0x4.0000000000001p-664L 0xf.ffffffffffffbffp+508L : inexact-ok
+= csqrt upward ldbl-96-m68k -0xf.ffffffffffff8p+1020L 0x8p-152L : 0x4.0000000000001008p-664L 0xf.ffffffffffffcp+508L : inexact-ok
+= csqrt downward ldbl-128 -0xf.ffffffffffff8p+1020L 0x8p-152L : 0x4.000000000000100000000000006p-664L 0xf.ffffffffffffbfffffffffffff78p+508L : inexact-ok
+= csqrt tonearest ldbl-128 -0xf.ffffffffffff8p+1020L 0x8p-152L : 0x4.000000000000100000000000006p-664L 0xf.ffffffffffffbfffffffffffff8p+508L : inexact-ok
+= csqrt towardzero ldbl-128 -0xf.ffffffffffff8p+1020L 0x8p-152L : 0x4.000000000000100000000000006p-664L 0xf.ffffffffffffbfffffffffffff78p+508L : inexact-ok
+= csqrt upward ldbl-128 -0xf.ffffffffffff8p+1020L 0x8p-152L : 0x4.0000000000001000000000000064p-664L 0xf.ffffffffffffbfffffffffffff8p+508L : inexact-ok
+= csqrt downward ldbl-128ibm -0xf.ffffffffffff8p+1020L 0x8p-152L : 0x4.0000000000001p-664L 0xf.ffffffffffffbffffffffffffcp+508L : inexact-ok
+= csqrt tonearest ldbl-128ibm -0xf.ffffffffffff8p+1020L 0x8p-152L : 0x4.0000000000001p-664L 0xf.ffffffffffffcp+508L : inexact-ok
+= csqrt towardzero ldbl-128ibm -0xf.ffffffffffff8p+1020L 0x8p-152L : 0x4.0000000000001p-664L 0xf.ffffffffffffbffffffffffffcp+508L : inexact-ok
+= csqrt upward ldbl-128ibm -0xf.ffffffffffff8p+1020L 0x8p-152L : 0x4.00000000000010000000000002p-664L 0xf.ffffffffffffcp+508L : inexact-ok
+= csqrt downward dbl-64 -0xf.ffffffffffff8p+1020 0x0p+0 : 0x0p+0 0xf.ffffffffffff8p+508 : inexact-ok
+= csqrt tonearest dbl-64 -0xf.ffffffffffff8p+1020 0x0p+0 : 0x0p+0 0xf.ffffffffffff8p+508 : inexact-ok
+= csqrt towardzero dbl-64 -0xf.ffffffffffff8p+1020 0x0p+0 : 0x0p+0 0xf.ffffffffffff8p+508 : inexact-ok
+= csqrt upward dbl-64 -0xf.ffffffffffff8p+1020 0x0p+0 : 0x0p+0 0x1p+512 : inexact-ok
+= csqrt downward ldbl-96-intel -0xf.ffffffffffff8p+1020L 0x0p+0L : 0x0p+0L 0xf.ffffffffffffbffp+508L : inexact-ok
+= csqrt tonearest ldbl-96-intel -0xf.ffffffffffff8p+1020L 0x0p+0L : 0x0p+0L 0xf.ffffffffffffcp+508L : inexact-ok
+= csqrt towardzero ldbl-96-intel -0xf.ffffffffffff8p+1020L 0x0p+0L : 0x0p+0L 0xf.ffffffffffffbffp+508L : inexact-ok
+= csqrt upward ldbl-96-intel -0xf.ffffffffffff8p+1020L 0x0p+0L : 0x0p+0L 0xf.ffffffffffffcp+508L : inexact-ok
+= csqrt downward ldbl-96-m68k -0xf.ffffffffffff8p+1020L 0x0p+0L : 0x0p+0L 0xf.ffffffffffffbffp+508L : inexact-ok
+= csqrt tonearest ldbl-96-m68k -0xf.ffffffffffff8p+1020L 0x0p+0L : 0x0p+0L 0xf.ffffffffffffcp+508L : inexact-ok
+= csqrt towardzero ldbl-96-m68k -0xf.ffffffffffff8p+1020L 0x0p+0L : 0x0p+0L 0xf.ffffffffffffbffp+508L : inexact-ok
+= csqrt upward ldbl-96-m68k -0xf.ffffffffffff8p+1020L 0x0p+0L : 0x0p+0L 0xf.ffffffffffffcp+508L : inexact-ok
+= csqrt downward ldbl-128 -0xf.ffffffffffff8p+1020L 0x0p+0L : 0x0p+0L 0xf.ffffffffffffbfffffffffffff78p+508L : inexact-ok
+= csqrt tonearest ldbl-128 -0xf.ffffffffffff8p+1020L 0x0p+0L : 0x0p+0L 0xf.ffffffffffffbfffffffffffff8p+508L : inexact-ok
+= csqrt towardzero ldbl-128 -0xf.ffffffffffff8p+1020L 0x0p+0L : 0x0p+0L 0xf.ffffffffffffbfffffffffffff78p+508L : inexact-ok
+= csqrt upward ldbl-128 -0xf.ffffffffffff8p+1020L 0x0p+0L : 0x0p+0L 0xf.ffffffffffffbfffffffffffff8p+508L : inexact-ok
+= csqrt downward ldbl-128ibm -0xf.ffffffffffff8p+1020L 0x0p+0L : 0x0p+0L 0xf.ffffffffffffbffffffffffffcp+508L : inexact-ok
+= csqrt tonearest ldbl-128ibm -0xf.ffffffffffff8p+1020L 0x0p+0L : 0x0p+0L 0xf.ffffffffffffcp+508L : inexact-ok
+= csqrt towardzero ldbl-128ibm -0xf.ffffffffffff8p+1020L 0x0p+0L : 0x0p+0L 0xf.ffffffffffffbffffffffffffcp+508L : inexact-ok
+= csqrt upward ldbl-128ibm -0xf.ffffffffffff8p+1020L 0x0p+0L : 0x0p+0L 0xf.ffffffffffffcp+508L : inexact-ok
+= csqrt downward dbl-64 -0xf.ffffffffffff8p+1020 0x4p-1076 : 0x0p+0 0xf.ffffffffffff8p+508 : inexact-ok underflow errno-erange-ok
+= csqrt tonearest dbl-64 -0xf.ffffffffffff8p+1020 0x4p-1076 : 0x0p+0 0xf.ffffffffffff8p+508 : inexact-ok underflow errno-erange-ok
+= csqrt towardzero dbl-64 -0xf.ffffffffffff8p+1020 0x4p-1076 : 0x0p+0 0xf.ffffffffffff8p+508 : inexact-ok underflow errno-erange-ok
+= csqrt upward dbl-64 -0xf.ffffffffffff8p+1020 0x4p-1076 : 0x4p-1076 0x1p+512 : inexact-ok underflow errno-erange-ok
+= csqrt downward ldbl-96-intel -0xf.ffffffffffff8p+1020L 0x4p-1076L : 0x2.00000000000008p-1588L 0xf.ffffffffffffbffp+508L : inexact-ok
+= csqrt tonearest ldbl-96-intel -0xf.ffffffffffff8p+1020L 0x4p-1076L : 0x2.00000000000008p-1588L 0xf.ffffffffffffcp+508L : inexact-ok
+= csqrt towardzero ldbl-96-intel -0xf.ffffffffffff8p+1020L 0x4p-1076L : 0x2.00000000000008p-1588L 0xf.ffffffffffffbffp+508L : inexact-ok
+= csqrt upward ldbl-96-intel -0xf.ffffffffffff8p+1020L 0x4p-1076L : 0x2.0000000000000804p-1588L 0xf.ffffffffffffcp+508L : inexact-ok
+= csqrt downward ldbl-96-m68k -0xf.ffffffffffff8p+1020L 0x4p-1076L : 0x2.00000000000008p-1588L 0xf.ffffffffffffbffp+508L : inexact-ok
+= csqrt tonearest ldbl-96-m68k -0xf.ffffffffffff8p+1020L 0x4p-1076L : 0x2.00000000000008p-1588L 0xf.ffffffffffffcp+508L : inexact-ok
+= csqrt towardzero ldbl-96-m68k -0xf.ffffffffffff8p+1020L 0x4p-1076L : 0x2.00000000000008p-1588L 0xf.ffffffffffffbffp+508L : inexact-ok
+= csqrt upward ldbl-96-m68k -0xf.ffffffffffff8p+1020L 0x4p-1076L : 0x2.0000000000000804p-1588L 0xf.ffffffffffffcp+508L : inexact-ok
+= csqrt downward ldbl-128 -0xf.ffffffffffff8p+1020L 0x4p-1076L : 0x2.000000000000080000000000003p-1588L 0xf.ffffffffffffbfffffffffffff78p+508L : inexact-ok
+= csqrt tonearest ldbl-128 -0xf.ffffffffffff8p+1020L 0x4p-1076L : 0x2.000000000000080000000000003p-1588L 0xf.ffffffffffffbfffffffffffff8p+508L : inexact-ok
+= csqrt towardzero ldbl-128 -0xf.ffffffffffff8p+1020L 0x4p-1076L : 0x2.000000000000080000000000003p-1588L 0xf.ffffffffffffbfffffffffffff78p+508L : inexact-ok
+= csqrt upward ldbl-128 -0xf.ffffffffffff8p+1020L 0x4p-1076L : 0x2.0000000000000800000000000032p-1588L 0xf.ffffffffffffbfffffffffffff8p+508L : inexact-ok
+= csqrt downward ldbl-128ibm -0xf.ffffffffffff8p+1020L 0x4p-1076L : 0x0p+0L 0xf.ffffffffffffbffffffffffffcp+508L : inexact-ok underflow errno-erange-ok
+= csqrt tonearest ldbl-128ibm -0xf.ffffffffffff8p+1020L 0x4p-1076L : 0x0p+0L 0xf.ffffffffffffcp+508L : inexact-ok underflow errno-erange-ok
+= csqrt towardzero ldbl-128ibm -0xf.ffffffffffff8p+1020L 0x4p-1076L : 0x0p+0L 0xf.ffffffffffffbffffffffffffcp+508L : inexact-ok underflow errno-erange-ok
+= csqrt upward ldbl-128ibm -0xf.ffffffffffff8p+1020L 0x4p-1076L : 0x4p-1076L 0xf.ffffffffffffcp+508L : inexact-ok underflow errno-erange-ok
+= csqrt downward ldbl-96-intel -0xf.ffffffffffff8p+1020L 0x8.8p-8192L : 0x4.40000000000011p-8704L 0xf.ffffffffffffbffp+508L : inexact-ok
+= csqrt tonearest ldbl-96-intel -0xf.ffffffffffff8p+1020L 0x8.8p-8192L : 0x4.40000000000011p-8704L 0xf.ffffffffffffcp+508L : inexact-ok
+= csqrt towardzero ldbl-96-intel -0xf.ffffffffffff8p+1020L 0x8.8p-8192L : 0x4.40000000000011p-8704L 0xf.ffffffffffffbffp+508L : inexact-ok
+= csqrt upward ldbl-96-intel -0xf.ffffffffffff8p+1020L 0x8.8p-8192L : 0x4.4000000000001108p-8704L 0xf.ffffffffffffcp+508L : inexact-ok
+= csqrt downward ldbl-96-m68k -0xf.ffffffffffff8p+1020L 0x8.8p-8192L : 0x4.40000000000011p-8704L 0xf.ffffffffffffbffp+508L : inexact-ok
+= csqrt tonearest ldbl-96-m68k -0xf.ffffffffffff8p+1020L 0x8.8p-8192L : 0x4.40000000000011p-8704L 0xf.ffffffffffffcp+508L : inexact-ok
+= csqrt towardzero ldbl-96-m68k -0xf.ffffffffffff8p+1020L 0x8.8p-8192L : 0x4.40000000000011p-8704L 0xf.ffffffffffffbffp+508L : inexact-ok
+= csqrt upward ldbl-96-m68k -0xf.ffffffffffff8p+1020L 0x8.8p-8192L : 0x4.4000000000001108p-8704L 0xf.ffffffffffffcp+508L : inexact-ok
+= csqrt downward ldbl-128 -0xf.ffffffffffff8p+1020L 0x8.8p-8192L : 0x4.4000000000001100000000000064p-8704L 0xf.ffffffffffffbfffffffffffff78p+508L : inexact-ok
+= csqrt tonearest ldbl-128 -0xf.ffffffffffff8p+1020L 0x8.8p-8192L : 0x4.4000000000001100000000000068p-8704L 0xf.ffffffffffffbfffffffffffff8p+508L : inexact-ok
+= csqrt towardzero ldbl-128 -0xf.ffffffffffff8p+1020L 0x8.8p-8192L : 0x4.4000000000001100000000000064p-8704L 0xf.ffffffffffffbfffffffffffff78p+508L : inexact-ok
+= csqrt upward ldbl-128 -0xf.ffffffffffff8p+1020L 0x8.8p-8192L : 0x4.4000000000001100000000000068p-8704L 0xf.ffffffffffffbfffffffffffff8p+508L : inexact-ok
+= csqrt downward ldbl-96-intel -0xf.fp+16380L 0x8p-152L : 0x4.0201814118fce7dp-8344L 0xf.f7fdfeff5f8fabbp+8188L : inexact-ok
+= csqrt tonearest ldbl-96-intel -0xf.fp+16380L 0x8p-152L : 0x4.0201814118fce7d8p-8344L 0xf.f7fdfeff5f8fabcp+8188L : inexact-ok
+= csqrt towardzero ldbl-96-intel -0xf.fp+16380L 0x8p-152L : 0x4.0201814118fce7dp-8344L 0xf.f7fdfeff5f8fabbp+8188L : inexact-ok
+= csqrt upward ldbl-96-intel -0xf.fp+16380L 0x8p-152L : 0x4.0201814118fce7d8p-8344L 0xf.f7fdfeff5f8fabcp+8188L : inexact-ok
+= csqrt downward ldbl-96-m68k -0xf.fp+16380L 0x8p-152L : 0x4.0201814118fce7dp-8344L 0xf.f7fdfeff5f8fabbp+8188L : inexact-ok
+= csqrt tonearest ldbl-96-m68k -0xf.fp+16380L 0x8p-152L : 0x4.0201814118fce7d8p-8344L 0xf.f7fdfeff5f8fabcp+8188L : inexact-ok
+= csqrt towardzero ldbl-96-m68k -0xf.fp+16380L 0x8p-152L : 0x4.0201814118fce7dp-8344L 0xf.f7fdfeff5f8fabbp+8188L : inexact-ok
+= csqrt upward ldbl-96-m68k -0xf.fp+16380L 0x8p-152L : 0x4.0201814118fce7d8p-8344L 0xf.f7fdfeff5f8fabcp+8188L : inexact-ok
+= csqrt downward ldbl-128 -0xf.fp+16380L 0x8p-152L : 0x4.0201814118fce7d749d6a119df28p-8344L 0xf.f7fdfeff5f8fabbdca3329e3153p+8188L : inexact-ok
+= csqrt tonearest ldbl-128 -0xf.fp+16380L 0x8p-152L : 0x4.0201814118fce7d749d6a119df2cp-8344L 0xf.f7fdfeff5f8fabbdca3329e3153p+8188L : inexact-ok
+= csqrt towardzero ldbl-128 -0xf.fp+16380L 0x8p-152L : 0x4.0201814118fce7d749d6a119df28p-8344L 0xf.f7fdfeff5f8fabbdca3329e3153p+8188L : inexact-ok
+= csqrt upward ldbl-128 -0xf.fp+16380L 0x8p-152L : 0x4.0201814118fce7d749d6a119df2cp-8344L 0xf.f7fdfeff5f8fabbdca3329e31538p+8188L : inexact-ok
+= csqrt downward ldbl-96-intel -0xf.fp+16380L 0x0p+0L : 0x0p+0L 0xf.f7fdfeff5f8fabbp+8188L : inexact-ok
+= csqrt tonearest ldbl-96-intel -0xf.fp+16380L 0x0p+0L : 0x0p+0L 0xf.f7fdfeff5f8fabcp+8188L : inexact-ok
+= csqrt towardzero ldbl-96-intel -0xf.fp+16380L 0x0p+0L : 0x0p+0L 0xf.f7fdfeff5f8fabbp+8188L : inexact-ok
+= csqrt upward ldbl-96-intel -0xf.fp+16380L 0x0p+0L : 0x0p+0L 0xf.f7fdfeff5f8fabcp+8188L : inexact-ok
+= csqrt downward ldbl-96-m68k -0xf.fp+16380L 0x0p+0L : 0x0p+0L 0xf.f7fdfeff5f8fabbp+8188L : inexact-ok
+= csqrt tonearest ldbl-96-m68k -0xf.fp+16380L 0x0p+0L : 0x0p+0L 0xf.f7fdfeff5f8fabcp+8188L : inexact-ok
+= csqrt towardzero ldbl-96-m68k -0xf.fp+16380L 0x0p+0L : 0x0p+0L 0xf.f7fdfeff5f8fabbp+8188L : inexact-ok
+= csqrt upward ldbl-96-m68k -0xf.fp+16380L 0x0p+0L : 0x0p+0L 0xf.f7fdfeff5f8fabcp+8188L : inexact-ok
+= csqrt downward ldbl-128 -0xf.fp+16380L 0x0p+0L : 0x0p+0L 0xf.f7fdfeff5f8fabbdca3329e3153p+8188L : inexact-ok
+= csqrt tonearest ldbl-128 -0xf.fp+16380L 0x0p+0L : 0x0p+0L 0xf.f7fdfeff5f8fabbdca3329e3153p+8188L : inexact-ok
+= csqrt towardzero ldbl-128 -0xf.fp+16380L 0x0p+0L : 0x0p+0L 0xf.f7fdfeff5f8fabbdca3329e3153p+8188L : inexact-ok
+= csqrt upward ldbl-128 -0xf.fp+16380L 0x0p+0L : 0x0p+0L 0xf.f7fdfeff5f8fabbdca3329e31538p+8188L : inexact-ok
+= csqrt downward ldbl-96-intel -0xf.fp+16380L 0x4p-1076L : 0x2.0100c0a08c7e73e8p-9268L 0xf.f7fdfeff5f8fabbp+8188L : inexact-ok
+= csqrt tonearest ldbl-96-intel -0xf.fp+16380L 0x4p-1076L : 0x2.0100c0a08c7e73ecp-9268L 0xf.f7fdfeff5f8fabcp+8188L : inexact-ok
+= csqrt towardzero ldbl-96-intel -0xf.fp+16380L 0x4p-1076L : 0x2.0100c0a08c7e73e8p-9268L 0xf.f7fdfeff5f8fabbp+8188L : inexact-ok
+= csqrt upward ldbl-96-intel -0xf.fp+16380L 0x4p-1076L : 0x2.0100c0a08c7e73ecp-9268L 0xf.f7fdfeff5f8fabcp+8188L : inexact-ok
+= csqrt downward ldbl-96-m68k -0xf.fp+16380L 0x4p-1076L : 0x2.0100c0a08c7e73e8p-9268L 0xf.f7fdfeff5f8fabbp+8188L : inexact-ok
+= csqrt tonearest ldbl-96-m68k -0xf.fp+16380L 0x4p-1076L : 0x2.0100c0a08c7e73ecp-9268L 0xf.f7fdfeff5f8fabcp+8188L : inexact-ok
+= csqrt towardzero ldbl-96-m68k -0xf.fp+16380L 0x4p-1076L : 0x2.0100c0a08c7e73e8p-9268L 0xf.f7fdfeff5f8fabbp+8188L : inexact-ok
+= csqrt upward ldbl-96-m68k -0xf.fp+16380L 0x4p-1076L : 0x2.0100c0a08c7e73ecp-9268L 0xf.f7fdfeff5f8fabcp+8188L : inexact-ok
+= csqrt downward ldbl-128 -0xf.fp+16380L 0x4p-1076L : 0x2.0100c0a08c7e73eba4eb508cef94p-9268L 0xf.f7fdfeff5f8fabbdca3329e3153p+8188L : inexact-ok
+= csqrt tonearest ldbl-128 -0xf.fp+16380L 0x4p-1076L : 0x2.0100c0a08c7e73eba4eb508cef96p-9268L 0xf.f7fdfeff5f8fabbdca3329e3153p+8188L : inexact-ok
+= csqrt towardzero ldbl-128 -0xf.fp+16380L 0x4p-1076L : 0x2.0100c0a08c7e73eba4eb508cef94p-9268L 0xf.f7fdfeff5f8fabbdca3329e3153p+8188L : inexact-ok
+= csqrt upward ldbl-128 -0xf.fp+16380L 0x4p-1076L : 0x2.0100c0a08c7e73eba4eb508cef96p-9268L 0xf.f7fdfeff5f8fabbdca3329e31538p+8188L : inexact-ok
+= csqrt downward ldbl-96-intel -0xf.fp+16380L 0x8.8p-8192L : 0x4.422199552a8cb65p-16384L 0xf.f7fdfeff5f8fabbp+8188L : inexact-ok
+= csqrt tonearest ldbl-96-intel -0xf.fp+16380L 0x8.8p-8192L : 0x4.422199552a8cb658p-16384L 0xf.f7fdfeff5f8fabcp+8188L : inexact-ok
+= csqrt towardzero ldbl-96-intel -0xf.fp+16380L 0x8.8p-8192L : 0x4.422199552a8cb65p-16384L 0xf.f7fdfeff5f8fabbp+8188L : inexact-ok
+= csqrt upward ldbl-96-intel -0xf.fp+16380L 0x8.8p-8192L : 0x4.422199552a8cb658p-16384L 0xf.f7fdfeff5f8fabcp+8188L : inexact-ok
+= csqrt downward ldbl-96-m68k -0xf.fp+16380L 0x8.8p-8192L : 0x4.422199552a8cb65p-16384L 0xf.f7fdfeff5f8fabbp+8188L : inexact-ok
+= csqrt tonearest ldbl-96-m68k -0xf.fp+16380L 0x8.8p-8192L : 0x4.422199552a8cb658p-16384L 0xf.f7fdfeff5f8fabcp+8188L : inexact-ok
+= csqrt towardzero ldbl-96-m68k -0xf.fp+16380L 0x8.8p-8192L : 0x4.422199552a8cb65p-16384L 0xf.f7fdfeff5f8fabbp+8188L : inexact-ok
+= csqrt upward ldbl-96-m68k -0xf.fp+16380L 0x8.8p-8192L : 0x4.422199552a8cb658p-16384L 0xf.f7fdfeff5f8fabcp+8188L : inexact-ok
+= csqrt downward ldbl-128 -0xf.fp+16380L 0x8.8p-8192L : 0x4.422199552a8cb654be740b2b7d1cp-16384L 0xf.f7fdfeff5f8fabbdca3329e3153p+8188L : inexact-ok
+= csqrt tonearest ldbl-128 -0xf.fp+16380L 0x8.8p-8192L : 0x4.422199552a8cb654be740b2b7d2p-16384L 0xf.f7fdfeff5f8fabbdca3329e3153p+8188L : inexact-ok
+= csqrt towardzero ldbl-128 -0xf.fp+16380L 0x8.8p-8192L : 0x4.422199552a8cb654be740b2b7d1cp-16384L 0xf.f7fdfeff5f8fabbdca3329e3153p+8188L : inexact-ok
+= csqrt upward ldbl-128 -0xf.fp+16380L 0x8.8p-8192L : 0x4.422199552a8cb654be740b2b7d2p-16384L 0xf.f7fdfeff5f8fabbdca3329e31538p+8188L : inexact-ok
+= csqrt downward ldbl-128 -0xf.ffffffffffffbffffffffffffcp+1020L 0x8p-152L : 0x4.0000000000000800000000000098p-664L 0xf.ffffffffffffdffffffffffffdd8p+508L : inexact-ok
+= csqrt tonearest ldbl-128 -0xf.ffffffffffffbffffffffffffcp+1020L 0x8p-152L : 0x4.0000000000000800000000000098p-664L 0xf.ffffffffffffdffffffffffffdep+508L : inexact-ok
+= csqrt towardzero ldbl-128 -0xf.ffffffffffffbffffffffffffcp+1020L 0x8p-152L : 0x4.0000000000000800000000000098p-664L 0xf.ffffffffffffdffffffffffffdd8p+508L : inexact-ok
+= csqrt upward ldbl-128 -0xf.ffffffffffffbffffffffffffcp+1020L 0x8p-152L : 0x4.000000000000080000000000009cp-664L 0xf.ffffffffffffdffffffffffffdep+508L : inexact-ok
+= csqrt downward ldbl-128ibm -0xf.ffffffffffffbffffffffffffcp+1020L 0x8p-152L : 0x4.00000000000008p-664L 0xf.ffffffffffffdffffffffffffcp+508L : inexact-ok
+= csqrt tonearest ldbl-128ibm -0xf.ffffffffffffbffffffffffffcp+1020L 0x8p-152L : 0x4.00000000000008p-664L 0xf.ffffffffffffdffffffffffffcp+508L : inexact-ok
+= csqrt towardzero ldbl-128ibm -0xf.ffffffffffffbffffffffffffcp+1020L 0x8p-152L : 0x4.00000000000008p-664L 0xf.ffffffffffffdffffffffffffcp+508L : inexact-ok
+= csqrt upward ldbl-128ibm -0xf.ffffffffffffbffffffffffffcp+1020L 0x8p-152L : 0x4.00000000000008000000000002p-664L 0xf.ffffffffffffep+508L : inexact-ok
+= csqrt downward ldbl-128 -0xf.ffffffffffffbffffffffffffcp+1020L 0x0p+0L : 0x0p+0L 0xf.ffffffffffffdffffffffffffdd8p+508L : inexact-ok
+= csqrt tonearest ldbl-128 -0xf.ffffffffffffbffffffffffffcp+1020L 0x0p+0L : 0x0p+0L 0xf.ffffffffffffdffffffffffffdep+508L : inexact-ok
+= csqrt towardzero ldbl-128 -0xf.ffffffffffffbffffffffffffcp+1020L 0x0p+0L : 0x0p+0L 0xf.ffffffffffffdffffffffffffdd8p+508L : inexact-ok
+= csqrt upward ldbl-128 -0xf.ffffffffffffbffffffffffffcp+1020L 0x0p+0L : 0x0p+0L 0xf.ffffffffffffdffffffffffffdep+508L : inexact-ok
+= csqrt downward ldbl-128ibm -0xf.ffffffffffffbffffffffffffcp+1020L 0x0p+0L : 0x0p+0L 0xf.ffffffffffffdffffffffffffcp+508L : inexact-ok
+= csqrt tonearest ldbl-128ibm -0xf.ffffffffffffbffffffffffffcp+1020L 0x0p+0L : 0x0p+0L 0xf.ffffffffffffdffffffffffffcp+508L : inexact-ok
+= csqrt towardzero ldbl-128ibm -0xf.ffffffffffffbffffffffffffcp+1020L 0x0p+0L : 0x0p+0L 0xf.ffffffffffffdffffffffffffcp+508L : inexact-ok
+= csqrt upward ldbl-128ibm -0xf.ffffffffffffbffffffffffffcp+1020L 0x0p+0L : 0x0p+0L 0xf.ffffffffffffep+508L : inexact-ok
+= csqrt downward ldbl-128 -0xf.ffffffffffffbffffffffffffcp+1020L 0x4p-1076L : 0x2.000000000000040000000000004cp-1588L 0xf.ffffffffffffdffffffffffffdd8p+508L : inexact-ok
+= csqrt tonearest ldbl-128 -0xf.ffffffffffffbffffffffffffcp+1020L 0x4p-1076L : 0x2.000000000000040000000000004cp-1588L 0xf.ffffffffffffdffffffffffffdep+508L : inexact-ok
+= csqrt towardzero ldbl-128 -0xf.ffffffffffffbffffffffffffcp+1020L 0x4p-1076L : 0x2.000000000000040000000000004cp-1588L 0xf.ffffffffffffdffffffffffffdd8p+508L : inexact-ok
+= csqrt upward ldbl-128 -0xf.ffffffffffffbffffffffffffcp+1020L 0x4p-1076L : 0x2.000000000000040000000000004ep-1588L 0xf.ffffffffffffdffffffffffffdep+508L : inexact-ok
+= csqrt downward ldbl-128ibm -0xf.ffffffffffffbffffffffffffcp+1020L 0x4p-1076L : 0x0p+0L 0xf.ffffffffffffdffffffffffffcp+508L : inexact-ok underflow errno-erange-ok
+= csqrt tonearest ldbl-128ibm -0xf.ffffffffffffbffffffffffffcp+1020L 0x4p-1076L : 0x0p+0L 0xf.ffffffffffffdffffffffffffcp+508L : inexact-ok underflow errno-erange-ok
+= csqrt towardzero ldbl-128ibm -0xf.ffffffffffffbffffffffffffcp+1020L 0x4p-1076L : 0x0p+0L 0xf.ffffffffffffdffffffffffffcp+508L : inexact-ok underflow errno-erange-ok
+= csqrt upward ldbl-128ibm -0xf.ffffffffffffbffffffffffffcp+1020L 0x4p-1076L : 0x4p-1076L 0xf.ffffffffffffep+508L : inexact-ok underflow errno-erange-ok
+= csqrt downward ldbl-128 -0xf.ffffffffffffbffffffffffffcp+1020L 0x8.8p-8192L : 0x4.40000000000008800000000000ap-8704L 0xf.ffffffffffffdffffffffffffdd8p+508L : inexact-ok
+= csqrt tonearest ldbl-128 -0xf.ffffffffffffbffffffffffffcp+1020L 0x8.8p-8192L : 0x4.40000000000008800000000000ap-8704L 0xf.ffffffffffffdffffffffffffdep+508L : inexact-ok
+= csqrt towardzero ldbl-128 -0xf.ffffffffffffbffffffffffffcp+1020L 0x8.8p-8192L : 0x4.40000000000008800000000000ap-8704L 0xf.ffffffffffffdffffffffffffdd8p+508L : inexact-ok
+= csqrt upward ldbl-128 -0xf.ffffffffffffbffffffffffffcp+1020L 0x8.8p-8192L : 0x4.40000000000008800000000000a4p-8704L 0xf.ffffffffffffdffffffffffffdep+508L : inexact-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 66505afffb..75da2e7449 100644
--- a/math/s_csqrt.c
+++ b/math/s_csqrt.c
@@ -118,12 +118,28 @@ __csqrt (__complex__ double x)
if (__real__ x > 0)
{
r = __ieee754_sqrt (0.5 * (d + __real__ x));
- s = 0.5 * (__imag__ x / r);
+ if (scale == 1 && fabs (__imag__ x) < 1.0)
+ {
+ /* Avoid possible intermediate underflow. */
+ s = __imag__ x / r;
+ r = __scalbn (r, scale);
+ scale = 0;
+ }
+ else
+ s = 0.5 * (__imag__ x / r);
}
else
{
s = __ieee754_sqrt (0.5 * (d - __real__ x));
- r = fabs (0.5 * (__imag__ x / s));
+ if (scale == 1 && fabs (__imag__ x) < 1.0)
+ {
+ /* Avoid possible intermediate underflow. */
+ r = fabs (__imag__ x / s);
+ s = __scalbn (s, scale);
+ scale = 0;
+ }
+ else
+ r = fabs (0.5 * (__imag__ x / s));
}
if (scale)
diff --git a/math/s_csqrtf.c b/math/s_csqrtf.c
index c9a800e8aa..7f45cc1320 100644
--- a/math/s_csqrtf.c
+++ b/math/s_csqrtf.c
@@ -118,12 +118,28 @@ __csqrtf (__complex__ float x)
if (__real__ x > 0)
{
r = __ieee754_sqrtf (0.5f * (d + __real__ x));
- s = 0.5f * (__imag__ x / r);
+ if (scale == 1 && fabsf (__imag__ x) < 1.0f)
+ {
+ /* Avoid possible intermediate underflow. */
+ s = __imag__ x / r;
+ r = __scalbnf (r, scale);
+ scale = 0;
+ }
+ else
+ s = 0.5f * (__imag__ x / r);
}
else
{
s = __ieee754_sqrtf (0.5f * (d - __real__ x));
- r = fabsf (0.5f * (__imag__ x / s));
+ if (scale == 1 && fabsf (__imag__ x) < 1.0f)
+ {
+ /* Avoid possible intermediate underflow. */
+ r = fabsf (__imag__ x / s);
+ s = __scalbnf (s, scale);
+ scale = 0;
+ }
+ else
+ r = fabsf (0.5f * (__imag__ x / s));
}
if (scale)
diff --git a/math/s_csqrtl.c b/math/s_csqrtl.c
index de23f8d85d..10988ba6ac 100644
--- a/math/s_csqrtl.c
+++ b/math/s_csqrtl.c
@@ -118,12 +118,28 @@ __csqrtl (__complex__ long double x)
if (__real__ x > 0)
{
r = __ieee754_sqrtl (0.5L * (d + __real__ x));
- s = 0.5L * (__imag__ x / r);
+ if (scale == 1 && fabsl (__imag__ x) < 1.0L)
+ {
+ /* Avoid possible intermediate underflow. */
+ s = __imag__ x / r;
+ r = __scalbnl (r, scale);
+ scale = 0;
+ }
+ else
+ s = 0.5L * (__imag__ x / r);
}
else
{
s = __ieee754_sqrtl (0.5L * (d - __real__ x));
- r = fabsl (0.5L * (__imag__ x / s));
+ if (scale == 1 && fabsl (__imag__ x) < 1.0L)
+ {
+ /* Avoid possible intermediate underflow. */
+ r = fabsl (__imag__ x / s);
+ s = __scalbnl (s, scale);
+ scale = 0;
+ }
+ else
+ r = fabsl (0.5L * (__imag__ x / s));
}
if (scale)
diff --git a/sysdeps/i386/fpu/libm-test-ulps b/sysdeps/i386/fpu/libm-test-ulps
index 3716a55031..f31974994c 100644
--- a/sysdeps/i386/fpu/libm-test-ulps
+++ b/sysdeps/i386/fpu/libm-test-ulps
@@ -1108,6 +1108,8 @@ ildouble: 2
ldouble: 2
Function: Imaginary part of "csqrt":
+double: 1
+idouble: 1
ildouble: 2
ldouble: 2