This is the mail archive of the glibc-cvs@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

GNU C Library master sources branch master updated. glibc-2.21-517-g718d34a


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".

The branch, master has been updated
       via  718d34a309493f8697ff9a8fefcbacbba12a2ccd (commit)
      from  b59549574efeeecf124de05c9183c120eaaa56f0 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=718d34a309493f8697ff9a8fefcbacbba12a2ccd

commit 718d34a309493f8697ff9a8fefcbacbba12a2ccd
Author: Joseph Myers <joseph@codesourcery.com>
Date:   Tue Jun 23 16:01:54 2015 +0000

    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.

diff --git a/ChangeLog b/ChangeLog
index a7f879a..0c77100 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 42ebdd1..fcffaea 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 cf7fc35..d1502ad 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 556b833..89a4ffc 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 66505af..75da2e7 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 c9a800e..7f45cc1 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 de23f8d..10988ba 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 3716a55..f319749 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
 

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog                       |    9 +
 NEWS                            |   10 +-
 math/auto-libm-test-in          |    7 +
 math/auto-libm-test-out         |  766 +++++++++++++++++++++++++++++++++++++++
 math/s_csqrt.c                  |   20 +-
 math/s_csqrtf.c                 |   20 +-
 math/s_csqrtl.c                 |   20 +-
 sysdeps/i386/fpu/libm-test-ulps |    2 +
 8 files changed, 843 insertions(+), 11 deletions(-)


hooks/post-receive
-- 
GNU C Library master sources


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]