[COMMITTED] alpha: Update libm-test-ulps

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

[COMMITTED] alpha: Update libm-test-ulps

Richard Henderson
Regenerated from scratch.  I verified that there are no entries
larger than 7, so there ought not be any surprises.


r~
---
 ports/ChangeLog.alpha                  |     2 +
 ports/sysdeps/alpha/fpu/libm-test-ulps | 18559 +++++++++++++++++++++++--------
 2 files changed, 13646 insertions(+), 4915 deletions(-)

diff --git a/ports/ChangeLog.alpha b/ports/ChangeLog.alpha
index a23ada5..92be292 100644
--- a/ports/ChangeLog.alpha
+++ b/ports/ChangeLog.alpha
@@ -1,5 +1,7 @@
 2014-01-24  Richard Henderson <[hidden email]>
 
+        * sysdeps/alpha/fpu/libm-test-ulps: Update.
+
  * sysdeps/alpha/tls-macros.h (TLS_GD): Add dependency on $gp.
  (TLS_LD, TLS_IE): Likewise.
 
diff --git a/ports/sysdeps/alpha/fpu/libm-test-ulps b/ports/sysdeps/alpha/fpu/libm-test-ulps
index 991de8c..1a59c00 100644
--- a/ports/sysdeps/alpha/fpu/libm-test-ulps
+++ b/ports/sysdeps/alpha/fpu/libm-test-ulps
@@ -1,8809 +1,17306 @@
 # Begin of automatic generation
 
 # acos_downward
-Test "acos_downward (-0)":
+Test "acos_downward (-0x8p-4)":
 float: 1
 ifloat: 1
-Test "acos_downward (-0.5)":
-double: 1
-idouble: 1
-Test "acos_downward (-1)":
-float: 1
-ifloat: 1
-Test "acos_downward (0)":
-float: 1
-ifloat: 1
-Test "acos_downward (0.5)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
 ildouble: 1
 ldouble: 1
 
 # acos_towardzero
-Test "acos_towardzero (-0)":
-float: 1
-ifloat: 1
-Test "acos_towardzero (-0.5)":
-double: 1
-idouble: 1
-Test "acos_towardzero (-1)":
-float: 1
-ifloat: 1
-Test "acos_towardzero (0)":
+Test "acos_towardzero (-0x8p-4)":
 float: 1
 ifloat: 1
-Test "acos_towardzero (0.5)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
 ildouble: 1
 ldouble: 1
 
 # acos_upward
+Test "acos_upward (+0)":
+double: 1
+idouble: 1
 Test "acos_upward (-0)":
-ildouble: 1
+double: 1
+idouble: 1
+Test "acos_upward (-0x1p+0)":
+double: 1
+idouble: 1
+Test "acos_upward (-0x4p-1024)":
+double: 1
+idouble: 1
+Test "acos_upward (-0x4p-1076)":
+double: 1
+idouble: 1
+Test "acos_upward (-0x4p-128)":
+double: 1
+idouble: 1
+Test "acos_upward (-0x8p-152)":
+double: 1
+idouble: 1
+Test "acos_upward (-0x8p-972)":
+double: 1
+idouble: 1
+Test "acos_upward (0x1.70ef54646d496p-56)":
+double: 1
+idouble: 1
+Test "acos_upward (0x1.70ef54646d497p-56)":
+double: 1
+idouble: 1
+Test "acos_upward (0x1.70ef54p-56)":
+double: 1
+idouble: 1
+Test "acos_upward (0x1.70ef56p-56)":
+double: 1
+idouble: 1
+Test "acos_upward (0x4p-1024)":
+double: 1
+idouble: 1
+Test "acos_upward (0x4p-1076)":
+double: 1
+idouble: 1
+Test "acos_upward (0x4p-128)":
+double: 1
+idouble: 1
+Test "acos_upward (0x8p-152)":
+double: 1
+idouble: 1
+Test "acos_upward (0x8p-972)":
+double: 1
+idouble: 1
+
+# acosh
+Test "acosh (0x6.4p+4)":
+double: 1
+idouble: 1
+Test "acosh (0xf.ffffffffffff8p+1020)":
+double: 1
+Test "acosh (0xf.fffffp+124)":
 ldouble: 1
-Test "acos_upward (-1)":
+
+# asin
+Test "asin (-0xf.ffffffffffff8p-4)":
 ildouble: 1
 ldouble: 1
-Test "acos_upward (0)":
+Test "asin (-0xf.fffffffffffffffp-4)":
 ildouble: 1
 ldouble: 1
 
 # asin_downward
-Test "asin_downward (-0.5)":
+Test "asin_downward (-0x1p+0)":
 double: 1
 idouble: 1
 ildouble: 1
 ldouble: 1
-Test "asin_downward (-1.0)":
-ildouble: 1
-ldouble: 1
-Test "asin_downward (0.5)":
+Test "asin_downward (-0x8p-4)":
 double: 1
 idouble: 1
 ildouble: 1
 ldouble: 1
-Test "asin_downward (1.0)":
-float: 1
-ifloat: 1
-
-# asin_towardzero
-Test "asin_towardzero (-0.5)":
+Test "asin_downward (-0xf.fffffff8p-4)":
 double: 1
 idouble: 1
-Test "asin_towardzero (-1.0)":
-float: 1
-ifloat: 1
-Test "asin_towardzero (0.5)":
+ildouble: 1
+ldouble: 1
+Test "asin_downward (-0xf.ffffffffffff8p-4)":
 double: 1
 idouble: 1
-Test "asin_towardzero (1.0)":
-float: 1
-ifloat: 1
-
-# asin_upward
-Test "asin_upward (-1.0)":
-float: 1
-ifloat: 1
-Test "asin_upward (1.0)":
 ildouble: 1
 ldouble: 1
-
-# atan2
-Test "atan2 (-0.00756827042671106339, -.001792735857538728036)":
+Test "asin_downward (-0xf.fffffffffffffffp-4)":
 ildouble: 1
 ldouble: 1
-Test "atan2 (-0.75, -1.0)":
-float: 1
-ifloat: 1
+Test "asin_downward (-0xf.fffffffffffp-4)":
+double: 1
+idouble: 1
 ildouble: 1
 ldouble: 1
-Test "atan2 (-max_value, -min_value)":
+Test "asin_downward (-0xf.fffffp-4)":
+double: 1
 float: 1
+idouble: 1
 ifloat: 1
-Test "atan2 (0.75, -1.0)":
+Test "asin_downward (0x8p-4)":
 float: 1
 ifloat: 1
+Test "asin_downward (0xcp-4)":
 ildouble: 1
 ldouble: 1
-Test "atan2 (1.390625, 0.9296875)":
-float: 1
-ifloat: 1
+
+# asin_tonearest
+Test "asin_tonearest (-0xf.ffffffffffff8p-4)":
+ildouble: 1
+ldouble: 1
+Test "asin_tonearest (-0xf.fffffffffffffffp-4)":
 ildouble: 1
 ldouble: 1
 
-# atanh
-Test "atanh (0.75)":
-float: 1
-ifloat: 1
-
-# cacos
-Test "Imaginary part of: cacos (+0 + 0.5 i)":
-float: 1
-ifloat: 1
+# asin_towardzero
+Test "asin_towardzero (-0x1p+0)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (+0 + 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
+Test "asin_towardzero (-0x2p-16384)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (+0 + 1.5 i)":
+Test "asin_towardzero (-0x4p-1024)":
 double: 1
 idouble: 1
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (+0 - 0.5 i)":
-float: 1
-ifloat: 1
+Test "asin_towardzero (-0x4p-1076)":
+double: 1
+idouble: 1
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (+0 - 1.0 i)":
+Test "asin_towardzero (-0x4p-128)":
 double: 1
 float: 1
 idouble: 1
 ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (+0 - 1.5 i)":
-double: 1
-idouble: 1
+Test "asin_towardzero (-0x4p-16384)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (-0 + 0.5 i)":
-float: 1
-ifloat: 1
+Test "asin_towardzero (-0x4p-16448)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (-0 + 1.0 i)":
+Test "asin_towardzero (-0x4p-16496)":
+ildouble: 1
+ldouble: 1
+Test "asin_towardzero (-0x8p-152)":
 double: 1
 float: 1
 idouble: 1
 ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (-0 + 1.5 i)":
-double: 1
-idouble: 1
+Test "asin_towardzero (-0x8p-16448)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (-0 - 0.5 i)":
+Test "asin_towardzero (-0x8p-4)":
 float: 1
 ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (-0 - 1.0 i)":
+Test "asin_towardzero (-0x8p-972)":
 double: 1
-float: 1
 idouble: 1
-ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (-0 - 1.5 i)":
-double: 1
-idouble: 1
+Test "asin_towardzero (-0xf.fffffp-4)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (-0.0 + 0x0.ffffffffffffffffffffffffffcp0 i)":
+Test "asin_towardzero (0x8p-4)":
+float: 1
+ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (-0.0 + 0x0.ffffffffffffffffp0 i)":
+Test "asin_towardzero (0xcp-4)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (-0.0 + 0x1.0000000000000000000000000001p0 i)":
+
+# asin_upward
+Test "asin_upward (-0x1p+0)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (-0.0 + 0x1.0000000000000002p0 i)":
+Test "asin_upward (-0x2p-16384)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (-0.0 + 0x1.0000000000001p0 i)":
+Test "asin_upward (-0x4p-1024)":
+double: 1
+idouble: 1
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (-0.0 - 0x0.ffffffffffffffffffffffffffcp0 i)":
+Test "asin_upward (-0x4p-1076)":
+double: 1
+idouble: 1
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (-0.0 - 0x0.ffffffffffffffffp0 i)":
+Test "asin_upward (-0x4p-128)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (-0.0 - 0x1.0000000000000000000000000001p0 i)":
+Test "asin_upward (-0x4p-16384)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (-0.0 - 0x1.0000000000000002p0 i)":
+Test "asin_upward (-0x4p-16448)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (-0.0 - 0x1.0000000000001p0 i)":
+Test "asin_upward (-0x4p-16496)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacos (-0.25 + 1.0 i)":
+Test "asin_upward (-0x8p-152)":
 double: 1
 float: 1
 idouble: 1
 ifloat: 1
-Test "Imaginary part of: cacos (-0.25 + 1.0 i)":
-float: 1
-ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacos (-0.25 - 1.0 i)":
+Test "asin_upward (-0x8p-16448)":
+ildouble: 1
+ldouble: 1
+Test "asin_upward (-0x8p-4)":
 double: 1
 float: 1
 idouble: 1
 ifloat: 1
-Test "Imaginary part of: cacos (-0.25 - 1.0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (-0.5 + +0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (-0.5 + 0x1.fp-1025 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (-0.5 + 0x1.fp-129 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (-0.5 + 0x1.fp-129 i)":
+Test "asin_upward (-0x8p-972)":
 double: 1
 idouble: 1
-Test "Real part of: cacos (-0.5 + 0x1.fp-16385 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacos (-0.5 + 0x1p-105 i)":
+Test "asin_upward (-0xf.fffffff8p-4)":
+double: 1
+idouble: 1
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (-0.5 + 0x1p-105 i)":
+Test "asin_upward (-0xf.ffffffffffff8p-4)":
 double: 1
 idouble: 1
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacos (-0.5 + 0x1p-112 i)":
+Test "asin_upward (-0xf.fffffffffffffffp-4)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (-0.5 + 0x1p-112 i)":
+Test "asin_upward (-0xf.fffffffffffp-4)":
 double: 1
 idouble: 1
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (-0.5 + 0x1p-23 i)":
+Test "asin_upward (-0xf.fffffp-4)":
 double: 1
+float: 1
 idouble: 1
+ifloat: 1
+ildouble: 2
+ldouble: 2
+Test "asin_upward (0x1p+0)":
+double: 1
+idouble: 1
+Test "asin_upward (0x2p-16384)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacos (-0.5 + 0x1p-52 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (-0.5 + 0x1p-63 i)":
+Test "asin_upward (0x4p-1024)":
+double: 1
+idouble: 1
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (-0.5 + 0x1p-63 i)":
+Test "asin_upward (0x4p-1076)":
+double: 1
+idouble: 1
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacos (-0.5 + 1.0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacos (-0.5 + 1.0 i)":
+Test "asin_upward (0x4p-128)":
 double: 1
+float: 1
 idouble: 1
+ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacos (-0.5 - 0 i)":
+Test "asin_upward (0x4p-16384)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacos (-0.5 - 0x1.fp-1025 i)":
+Test "asin_upward (0x4p-16448)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacos (-0.5 - 0x1.fp-129 i)":
+Test "asin_upward (0x4p-16496)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (-0.5 - 0x1.fp-129 i)":
+Test "asin_upward (0x8p-152)":
 double: 1
+float: 1
 idouble: 1
-Test "Real part of: cacos (-0.5 - 0x1.fp-16385 i)":
+ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacos (-0.5 - 0x1p-105 i)":
+Test "asin_upward (0x8p-16448)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (-0.5 - 0x1p-105 i)":
+Test "asin_upward (0x8p-972)":
 double: 1
 idouble: 1
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacos (-0.5 - 0x1p-112 i)":
+
+# asinh
+Test "asinh (-0xf.ffffffffffff8p+1020)":
+double: 1
+Test "asinh (-0xf.fffffp+124)":
+ldouble: 1
+Test "asinh (0x1p+0)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (-0.5 - 0x1p-112 i)":
-double: 1
-idouble: 1
+Test "asinh (0x1p+100)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (-0.5 - 0x1p-23 i)":
+Test "asinh (0xap+0)":
+float: 1
+ifloat: 1
+Test "asinh (0xf.ffffffffffff8p+1020)":
 double: 1
-idouble: 1
+Test "asinh (0xf.fffffp+124)":
+ldouble: 1
+
+# atan2
+Test "atan2 (-0x1.effe81f852716ffc0f3eeb1ac28p-8, -0x7.57d1de0e51244p-12)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacos (-0.5 - 0x1p-52 i)":
+Test "atan2 (-0x1.effe81f852716ffc0f3eeb1ac28p-8, -0x7.57d1de0e51246640cc2340ca48p-12)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacos (-0.5 - 0x1p-63 i)":
+Test "atan2 (-0x1.effe81f852716ffc0f3eeb1ac28p-8, -0x7.57d1de0e51246648p-12)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (-0.5 - 0x1p-63 i)":
+Test "atan2 (-0x1.effe81f852716ffc0f3eeb1ac28p-8, -0x7.57d1de0e5124664p-12)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacos (-0.5 - 1.0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacos (-0.5 - 1.0 i)":
-double: 1
-idouble: 1
+Test "atan2 (-0x1.effe81f852716ffc0f3eeb1ac291p-8, -0x7.57d1de0e51246640cc2340ca48p-12)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (-0x0.fffffffffffff8p0 + 0x1p-52 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: cacos (-0x0.fffffffffffff8p0 - 0x1p-52 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: cacos (-0x0.ffffffffffffffffffffffffffcp0 + 0x1p-105 i)":
+Test "atan2 (-0x1.effe81f852716ffc0f3eeb1ac291p-8, -0x7.57d1de0e5124664p-12)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (-0x0.ffffffffffffffffffffffffffcp0 - 0x1p-105 i)":
+Test "atan2 (-0x1.effe81f852716ffc0f3eeb1ac292p-8, -0x7.57d1de0e51244p-12)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (-0x0.ffffffffffffffffp0 + 0x1p-63 i)":
+Test "atan2 (-0x1.effe81f852716ffc0f3eeb1ac292p-8, -0x7.57d1de0e51246640cc2340ca48p-12)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (-0x0.ffffffffffffffffp0 - 0x1p-63 i)":
+Test "atan2 (-0x1.effe81f852716ffc0f3eeb1ac292p-8, -0x7.57d1de0e51246648p-12)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (-0x0.ffffffp0 + 0x1p-23 i)":
-float: 2
-ifloat: 2
-Test "Imaginary part of: cacos (-0x0.ffffffp0 - 0x1p-23 i)":
-float: 2
-ifloat: 2
-Test "Imaginary part of: cacos (-0x1.0000000000000000000000000001p0 + 0.0 i)":
+Test "atan2 (-0x1.effe81f852716ffc0f3eeb1ac292p-8, -0x7.57d1de0e5124664p-12)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (-0x1.0000000000000000000000000001p0 + 0x1.fp-16385 i)":
+Test "atan2 (-0x1.effe81f852716ffc0f3eeb1ac3p-8, -0x7.57d1d8p-12)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (-0x1.0000000000000000000000000001p0 + 0x1p-113 i)":
+Test "atan2 (-0x1.effe81f852716ffc0f3eeb1ac3p-8, -0x7.57d1de0e51246640cc2340ca4838p-12)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (-0x1.0000000000000000000000000001p0 - 0.0 i)":
+Test "atan2 (-0x1.effe81f852716ffc0f3eeb1ac3p-8, -0x7.57d1de0e51246640cc2340ca483cp-12)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (-0x1.0000000000000000000000000001p0 - 0x1.fp-16385 i)":
+Test "atan2 (-0x1.effe81f852716ffc0f3eeb1ac3p-8, -0x7.57d1de0e51246640cc2340ca48p-12)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (-0x1.0000000000000000000000000001p0 - 0x1p-113 i)":
+Test "atan2 (-0x1.effe81f852716ffc0f3eeb1ac3p-8, -0x7.57d1de0e51248p-12)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (-0x1.000002p0 + 0x1p-23 i)":
-float: 1
-ifloat: 1
+Test "atan2 (-0x1.effe81f852716ffc0f3eeb1ac3p-8, -0x7.57d1ep-12)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (-0x1.000002p0 - 0x1p-23 i)":
-float: 1
-ifloat: 1
+Test "atan2 (-0x1.effe81f852716ffcp-8, -0x7.57d1de0e51244p-12)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (-0x1.fp-10 + 1.0 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: cacos (-0x1.fp-10 - 1.0 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacos (-0x1.fp-100 + 1.0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacos (-0x1.fp-100 + 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
+Test "atan2 (-0x1.effe81f852716ffcp-8, -0x7.57d1de0e51246640cc2340ca48p-12)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacos (-0x1.fp-100 - 1.0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacos (-0x1.fp-100 - 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
+Test "atan2 (-0x1.effe81f852716ffcp-8, -0x7.57d1de0e51246648p-12)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (-0x1.fp-1000 + 1.0 i)":
-double: 1
-idouble: 1
+Test "atan2 (-0x1.effe81f852716ffcp-8, -0x7.57d1de0e5124664p-12)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (-0x1.fp-1000 - 1.0 i)":
-double: 1
-idouble: 1
+Test "atan2 (-0x1.effe81f852716ffcp-8, -0x7.57d1ep-12)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (-0x1.fp-10000 + 1.0 i)":
+Test "atan2 (-0x1.effe81f852716ffep-8, -0x7.57d1d8p-12)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (-0x1.fp-10000 - 1.0 i)":
+Test "atan2 (-0x1.effe81f852716ffep-8, -0x7.57d1de0e51246640cc2340ca4838p-12)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (-0x1.fp-1025 + 0.5 i)":
+Test "atan2 (-0x1.effe81f852716ffep-8, -0x7.57d1de0e51246640cc2340ca483cp-12)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (-0x1.fp-1025 + 0x0.ffffffffffffffffffffffffffcp0 i)":
+Test "atan2 (-0x1.effe81f852716ffep-8, -0x7.57d1de0e51246640cc2340ca4ap-12)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (-0x1.fp-1025 + 0x1.0000000000001p0 i)":
+Test "atan2 (-0x1.effe81f852716ffep-8, -0x7.57d1de0e51248p-12)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (-0x1.fp-1025 + 1.0 i)":
-double: 1
-idouble: 1
+Test "atan2 (-0x1.effe81f852716p-8, -0x7.57d1d8p-12)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (-0x1.fp-1025 + 1.5 i)":
-double: 1
-idouble: 1
+Test "atan2 (-0x1.effe81f852716p-8, -0x7.57d1de0e51246648p-12)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (-0x1.fp-1025 - 0.5 i)":
+Test "atan2 (-0x1.effe81f852716p-8, -0x7.57d1de0e5124664p-12)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (-0x1.fp-1025 - 0x0.ffffffffffffffffffffffffffcp0 i)":
+Test "atan2 (-0x1.effe81f852716p-8, -0x7.57d1de0e51248p-12)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (-0x1.fp-1025 - 0x1.0000000000001p0 i)":
+Test "atan2 (-0x1.effe81f852717p-8, -0x7.57d1de0e51244p-12)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (-0x1.fp-1025 - 1.0 i)":
-double: 1
-idouble: 1
+Test "atan2 (-0x1.effe81f852717p-8, -0x7.57d1de0e51246648p-12)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (-0x1.fp-1025 - 1.5 i)":
-double: 1
-idouble: 1
+Test "atan2 (-0x1.effe81f852717p-8, -0x7.57d1de0e5124664p-12)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacos (-0x1.fp-129 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacos (-0x1.fp-129 + 0.5 i)":
+Test "atan2 (-0x1.effe82p-8, -0x7.57d1d8p-12)":
 float: 1
 ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacos (-0x1.fp-129 + 0x0.ffffffp0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacos (-0x1.fp-129 + 0x1.000002p0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacos (-0x1.fp-129 + 0x1.fp-129 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacos (-0x1.fp-129 + 0x1p-23 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacos (-0x1.fp-129 + 1.0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacos (-0x1.fp-129 + 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
+Test "atan2 (-0x1.effe82p-8, -0x7.57d1de0e51244p-12)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacos (-0x1.fp-129 + 1.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacos (-0x1.fp-129 + 1.5 i)":
-double: 1
-idouble: 1
+Test "atan2 (-0x1.effe82p-8, -0x7.57d1de0e51246640cc2340ca48p-12)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacos (-0x1.fp-129 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacos (-0x1.fp-129 - 0.5 i)":
-float: 1
-ifloat: 1
+Test "atan2 (-0x1.effe82p-8, -0x7.57d1de0e51246648p-12)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacos (-0x1.fp-129 - 0x0.ffffffp0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacos (-0x1.fp-129 - 0x1.000002p0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacos (-0x1.fp-129 - 0x1.fp-129 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacos (-0x1.fp-129 - 0x1p-23 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacos (-0x1.fp-129 - 1.0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacos (-0x1.fp-129 - 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
+Test "atan2 (-0x1.effe82p-8, -0x7.57d1de0e51248p-12)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacos (-0x1.fp-129 - 1.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacos (-0x1.fp-129 - 1.5 i)":
-double: 1
-idouble: 1
+Test "atan2 (-0x1.effe8p-8, -0x7.57d1de0e51244p-12)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (-0x1.fp-16385 + 0.5 i)":
+Test "atan2 (-0x1.effe8p-8, -0x7.57d1de0e51248p-12)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (-0x1.fp-16385 + 0x0.ffffffffffffffffp0 i)":
+Test "atan2 (-0x2p-16384, -0x4p-16384)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (-0x1.fp-16385 + 0x1.0000000000000000000000000001p0 i)":
+Test "atan2 (-0x4p-16384, -0x2p-16384)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (-0x1.fp-16385 + 0x1.0000000000000002p0 i)":
+Test "atan2 (-0x4p-16448, -0x8p-16448)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (-0x1.fp-16385 + 1.0 i)":
+Test "atan2 (-0x8p-16448, -0x4p-16448)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (-0x1.fp-16385 + 1.5 i)":
+Test "atan2 (-0xcp-4, -0x1p+0)":
+float: 1
+ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (-0x1.fp-16385 - 0.5 i)":
+Test "atan2 (-0xf.fffffffffffffffffffffffffff8p+16380, 0xf.fffffffffffffffp+16380)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (-0x1.fp-16385 - 0x0.ffffffffffffffffp0 i)":
+Test "atan2 (-0xf.fffffp+124, -0x4p-128)":
+float: 1
+ifloat: 1
+Test "atan2 (-0xf.fffffp+124, -0x8p-152)":
+float: 1
+ifloat: 1
+Test "atan2 (0x1.000002p+0, 0x1.0000000000001p+0)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (-0x1.fp-16385 - 0x1.0000000000000000000000000001p0 i)":
+Test "atan2 (0x1.000002p+0, 0x1p+0)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (-0x1.fp-16385 - 0x1.0000000000000002p0 i)":
+Test "atan2 (0x1.64p+0, 0xe.ep-4)":
+float: 1
+ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (-0x1.fp-16385 - 1.0 i)":
+Test "atan2 (0x4p-16384, -0x2p-16384)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (-0x1.fp-16385 - 1.5 i)":
+Test "atan2 (0x6.4p-4, 0x1.301648p-12)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacos (-0x1.fp-30 + 1.0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacos (-0x1.fp-30 + 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
+Test "atan2 (0x6.4p-4, 0x1.30164ap-12)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacos (-0x1.fp-30 - 1.0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacos (-0x1.fp-30 - 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
+Test "atan2 (0x8p-16448, -0x4p-16448)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacos (-0x1p-105 + 0.0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacos (-0x1p-105 + 0.5 i)":
+Test "atan2 (0xcp-4, -0x1p+0)":
 float: 1
 ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (-0x1p-105 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacos (-0x1p-105 + 0x0.ffffffffffffffffffffffffffcp0 i)":
+Test "atan2 (0xf.fffffffffffffffp+16380, 0xf.fffffffffffffffffffffffffff8p+16380)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacos (-0x1p-105 + 0x1p-105 i)":
+Test "atan2 (0xf.fffffp+124, -0x4p-128)":
 float: 1
 ifloat: 1
-Test "Real part of: cacos (-0x1p-105 - 0.0 i)":
+Test "atan2 (0xf.fffffp+124, -0x8p-152)":
 float: 1
 ifloat: 1
-Test "Real part of: cacos (-0x1p-105 - 0.5 i)":
+
+# atanh
+Test "atanh (-0xcp-4)":
 float: 1
 ifloat: 1
+Test "atanh (0x1.2345p-20)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (-0x1p-105 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacos (-0x1p-105 - 0x0.ffffffffffffffffffffffffffcp0 i)":
+Test "atanh (0x4p-4)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacos (-0x1p-105 - 0x1p-105 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacos (-0x1p-112 + 0.0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacos (-0x1p-112 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacos (-0x1p-112 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacos (-0x1p-112 + 0x1p-112 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacos (-0x1p-112 - 0.0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacos (-0x1p-112 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacos (-0x1p-112 - 0.5 i)":
+Test "atanh (0xcp-4)":
 float: 1
 ifloat: 1
-Test "Real part of: cacos (-0x1p-112 - 0x1p-112 i)":
+
+# cacos
+Test "Imaginary part of: cacos (+0 + 0.5 i)":
 float: 1
 ifloat: 1
-Test "Real part of: cacos (-0x1p-113 + 0x1.0000000000000000000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0x1p-113 + 0x1.0000000000000000000000000001p0 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacos (-0x1p-113 - 0x1.0000000000000000000000000001p0 i)":
+Test "Imaginary part of: cacos (+0 + 1.0 i)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (-0x1p-113 - 0x1.0000000000000000000000000001p0 i)":
+Test "Imaginary part of: cacos (+0 + 1.5 i)":
+double: 1
+idouble: 1
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacos (-0x1p-23 + 0.0 i)":
+Test "Imaginary part of: cacos (+0 - 0.5 i)":
 float: 1
 ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacos (-0x1p-23 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacos (-0x1p-23 + 0.5 i)":
+Test "Imaginary part of: cacos (+0 - 1.0 i)":
+double: 1
 float: 1
+idouble: 1
 ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: cacos (-0x1p-23 + 0x0.ffffffp0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacos (+0 - 1.5 i)":
 double: 1
 idouble: 1
-Test "Real part of: cacos (-0x1p-23 + 0x1.fp-129 i)":
-float: 1
-ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacos (-0x1p-23 + 0x1p-23 i)":
+Test "Imaginary part of: cacos (-0 + 0.5 i)":
 float: 1
 ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacos (-0x1p-23 - 0.0 i)":
+Test "Imaginary part of: cacos (-0 + 1.0 i)":
+double: 1
 float: 1
+idouble: 1
 ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacos (-0x1p-23 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacos (-0x1p-23 - 0.5 i)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: cacos (-0x1p-23 - 0x0.ffffffp0 i)":
+Test "Imaginary part of: cacos (-0 + 1.5 i)":
 double: 1
 idouble: 1
-Test "Real part of: cacos (-0x1p-23 - 0x1.fp-129 i)":
-float: 1
-ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacos (-0x1p-23 - 0x1p-23 i)":
+Test "Imaginary part of: cacos (-0 - 0.5 i)":
 float: 1
 ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacos (-0x1p-52 + 0.0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacos (-0x1p-52 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacos (-0x1p-52 + 0.5 i)":
+Test "Imaginary part of: cacos (-0 - 1.0 i)":
+double: 1
 float: 1
+idouble: 1
 ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacos (-0x1p-52 + 0x1p-52 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacos (-0x1p-52 - 0.0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacos (-0x1p-52 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacos (-0x1p-52 - 0.5 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (-0x1p-52 - 0x1p-52 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacos (-0x1p-63 + 0.0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacos (-0x1p-63 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacos (-0x1p-63 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacos (-0x1p-63 + 0x0.ffffffffffffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0x1p-63 + 0x1.0000000000000002p0 i)":
+Test "Imaginary part of: cacos (-0 - 1.5 i)":
+double: 1
+idouble: 1
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacos (-0x1p-63 + 0x1p-63 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacos (-0x1p-63 - 0.0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacos (-0x1p-63 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacos (-0x1p-63 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacos (-0x1p-63 - 0x0.ffffffffffffffffp0 i)":
+Test "Imaginary part of: cacos (-0.0 + 0x0.ffffffffffffffffffffffffffcp0 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (-0x1p-63 - 0x1.0000000000000002p0 i)":
+Test "Imaginary part of: cacos (-0.0 + 0x0.ffffffffffffffffp0 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacos (-0x1p-63 - 0x1p-63 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacos (-0x1p500 + 1.0 i)":
+Test "Imaginary part of: cacos (-0.0 + 0x1.0000000000000000000000000001p0 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (-0x1p500 - 1.0 i)":
+Test "Imaginary part of: cacos (-0.0 + 0x1.0000000000000002p0 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (-0x1p5000 + 1.0 i)":
+Test "Imaginary part of: cacos (-0.0 + 0x1.0000000000001p0 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (-0x1p5000 - 1.0 i)":
+Test "Imaginary part of: cacos (-0.0 - 0x0.ffffffffffffffffffffffffffcp0 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (-1.0 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacos (-1.0 + 0x1.fp-10 i)":
-float: 1
-ifloat: 1
+Test "Imaginary part of: cacos (-0.0 - 0x0.ffffffffffffffffp0 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (-1.0 + 0x1.fp-30 i)":
+Test "Imaginary part of: cacos (-0.0 - 0x1.0000000000000000000000000001p0 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacos (-1.0 + 0x1p50 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacos (-1.0 + 0x1p500 i)":
+Test "Imaginary part of: cacos (-0.0 - 0x1.0000000000000002p0 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (-1.0 + 0x1p5000 i)":
+Test "Imaginary part of: cacos (-0.0 - 0x1.0000000000001p0 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (-1.0 - 0.5 i)":
+Test "Real part of: cacos (-0.25 + 1.0 i)":
+double: 1
 float: 1
+idouble: 1
 ifloat: 1
-Test "Imaginary part of: cacos (-1.0 - 0x1.fp-10 i)":
+Test "Imaginary part of: cacos (-0.25 + 1.0 i)":
 float: 1
 ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (-1.0 - 0x1.fp-30 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (-1.0 - 0x1p50 i)":
+Test "Real part of: cacos (-0.25 - 1.0 i)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+Test "Imaginary part of: cacos (-0.25 - 1.0 i)":
 float: 1
 ifloat: 1
-Test "Imaginary part of: cacos (-1.0 - 0x1p500 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (-1.0 - 0x1p5000 i)":
+Test "Real part of: cacos (-0.5 + +0 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacos (-2 - 3 i)":
-float: 1
-ifloat: 1
+Test "Real part of: cacos (-0.5 + 0x1.fp-1025 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (0.0 + 0x0.ffffffffffffffffffffffffffcp0 i)":
+Test "Real part of: cacos (-0.5 + 0x1.fp-129 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (0.0 + 0x0.ffffffffffffffffp0 i)":
+Test "Imaginary part of: cacos (-0.5 + 0x1.fp-129 i)":
+double: 1
+idouble: 1
+Test "Real part of: cacos (-0.5 + 0x1.fp-16385 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (0.0 + 0x1.0000000000000000000000000001p0 i)":
+Test "Real part of: cacos (-0.5 + 0x1p-105 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (0.0 + 0x1.0000000000000002p0 i)":
+Test "Imaginary part of: cacos (-0.5 + 0x1p-105 i)":
+double: 1
+idouble: 1
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (0.0 + 0x1.0000000000001p0 i)":
+Test "Real part of: cacos (-0.5 + 0x1p-112 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (0.0 - 0x0.ffffffffffffffffffffffffffcp0 i)":
+Test "Imaginary part of: cacos (-0.5 + 0x1p-112 i)":
+double: 1
+idouble: 1
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (0.0 - 0x0.ffffffffffffffffp0 i)":
+Test "Imaginary part of: cacos (-0.5 + 0x1p-23 i)":
+double: 1
+idouble: 1
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (0.0 - 0x1.0000000000000000000000000001p0 i)":
+Test "Real part of: cacos (-0.5 + 0x1p-52 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (0.0 - 0x1.0000000000000002p0 i)":
+Test "Real part of: cacos (-0.5 + 0x1p-63 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (0.0 - 0x1.0000000000001p0 i)":
+Test "Imaginary part of: cacos (-0.5 + 0x1p-63 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (0.25 + 1.0 i)":
+Test "Real part of: cacos (-0.5 + 1.0 i)":
 float: 1
 ifloat: 1
+Test "Imaginary part of: cacos (-0.5 + 1.0 i)":
+double: 1
+idouble: 1
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (0.25 - 1.0 i)":
-float: 1
-ifloat: 1
+Test "Real part of: cacos (-0.5 - 0 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacos (0.5 + +0 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacos (0.5 + 0x1.fp-1025 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacos (0.5 + 0x1.fp-129 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: cacos (0.5 + 0x1.fp-129 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacos (0.5 + 0x1p-105 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: cacos (0.5 + 0x1p-105 i)":
-double: 1
-idouble: 1
+Test "Real part of: cacos (-0.5 - 0x1.fp-1025 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacos (0.5 + 0x1p-112 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: cacos (0.5 + 0x1p-112 i)":
-double: 1
-idouble: 1
+Test "Real part of: cacos (-0.5 - 0x1.fp-129 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (0.5 + 0x1p-23 i)":
+Test "Imaginary part of: cacos (-0.5 - 0x1.fp-129 i)":
 double: 1
 idouble: 1
+Test "Real part of: cacos (-0.5 - 0x1.fp-16385 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacos (0.5 + 0x1p-52 i)":
-double: 1
-idouble: 1
+Test "Real part of: cacos (-0.5 - 0x1p-105 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacos (0.5 + 0x1p-63 i)":
+Test "Imaginary part of: cacos (-0.5 - 0x1p-105 i)":
 double: 1
 idouble: 1
-Test "Imaginary part of: cacos (0.5 + 0x1p-63 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacos (0.5 + 1.0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacos (0.5 + 1.0 i)":
-double: 1
-idouble: 1
+Test "Real part of: cacos (-0.5 - 0x1p-112 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacos (0.5 - 0 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacos (0.5 - 0x1.fp-1025 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacos (0.5 - 0x1.fp-129 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: cacos (0.5 - 0x1.fp-129 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacos (0.5 - 0x1p-105 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: cacos (0.5 - 0x1p-105 i)":
+Test "Imaginary part of: cacos (-0.5 - 0x1p-112 i)":
 double: 1
 idouble: 1
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacos (0.5 - 0x1p-112 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: cacos (0.5 - 0x1p-112 i)":
+Test "Imaginary part of: cacos (-0.5 - 0x1p-23 i)":
 double: 1
 idouble: 1
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (0.5 - 0x1p-23 i)":
-double: 1
-idouble: 1
+Test "Real part of: cacos (-0.5 - 0x1p-52 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacos (0.5 - 0x1p-52 i)":
-double: 1
-idouble: 1
+Test "Real part of: cacos (-0.5 - 0x1p-63 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacos (0.5 - 0x1p-63 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: cacos (0.5 - 0x1p-63 i)":
+Test "Imaginary part of: cacos (-0.5 - 0x1p-63 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacos (0.5 - 1.0 i)":
+Test "Real part of: cacos (-0.5 - 1.0 i)":
 float: 1
 ifloat: 1
-Test "Imaginary part of: cacos (0.5 - 1.0 i)":
+Test "Imaginary part of: cacos (-0.5 - 1.0 i)":
 double: 1
 idouble: 1
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (0x0.fffffffffffff8p0 + 0x1p-52 i)":
+Test "Imaginary part of: cacos (-0x0.fffffffffffff8p0 + 0x1p-52 i)":
 double: 1
 idouble: 1
-Test "Imaginary part of: cacos (0x0.fffffffffffff8p0 - 0x1p-52 i)":
+Test "Imaginary part of: cacos (-0x0.fffffffffffff8p0 - 0x1p-52 i)":
 double: 1
 idouble: 1
-Test "Real part of: cacos (0x0.ffffffffffffffffffffffffffcp0 + 0.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (0x0.ffffffffffffffffffffffffffcp0 + 0x1.fp-1025 i)":
+Test "Imaginary part of: cacos (-0x0.ffffffffffffffffffffffffffcp0 + 0x1p-105 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (0x0.ffffffffffffffffffffffffffcp0 + 0x1p-105 i)":
+Test "Imaginary part of: cacos (-0x0.ffffffffffffffffffffffffffcp0 - 0x1p-105 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacos (0x0.ffffffffffffffffffffffffffcp0 - 0.0 i)":
+Test "Imaginary part of: cacos (-0x0.ffffffffffffffffp0 + 0x1p-63 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacos (0x0.ffffffffffffffffffffffffffcp0 - 0x1.fp-1025 i)":
+Test "Imaginary part of: cacos (-0x0.ffffffffffffffffp0 - 0x1p-63 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (0x0.ffffffffffffffffffffffffffcp0 - 0x1p-105 i)":
+Test "Imaginary part of: cacos (-0x0.ffffffp0 + 0x1p-23 i)":
+float: 2
+ifloat: 2
+Test "Imaginary part of: cacos (-0x0.ffffffp0 - 0x1p-23 i)":
+float: 2
+ifloat: 2
+Test "Imaginary part of: cacos (-0x1.0000000000000000000000000001p0 + 0.0 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacos (0x0.ffffffffffffffffffffffffffff8p0 + 0.0 i)":
+Test "Imaginary part of: cacos (-0x1.0000000000000000000000000001p0 + 0x1.fp-16385 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacos (0x0.ffffffffffffffffffffffffffff8p0 + 0x1.fp-16385 i)":
+Test "Imaginary part of: cacos (-0x1.0000000000000000000000000001p0 + 0x1p-113 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacos (0x0.ffffffffffffffffffffffffffff8p0 - 0.0 i)":
+Test "Imaginary part of: cacos (-0x1.0000000000000000000000000001p0 - 0.0 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacos (0x0.ffffffffffffffffffffffffffff8p0 - 0x1.fp-16385 i)":
+Test "Imaginary part of: cacos (-0x1.0000000000000000000000000001p0 - 0x1.fp-16385 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (0x0.ffffffffffffffffp0 + 0x1p-63 i)":
+Test "Imaginary part of: cacos (-0x1.0000000000000000000000000001p0 - 0x1p-113 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (0x0.ffffffffffffffffp0 - 0x1p-63 i)":
+Test "Imaginary part of: cacos (-0x1.000002p0 + 0x1p-23 i)":
+float: 1
+ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacos (0x0.ffffffp0 + 0.0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (0x0.ffffffp0 + 0x1.fp-129 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (0x0.ffffffp0 + 0x1p-23 i)":
-float: 2
-ifloat: 2
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x0.ffffffp0 + 0x1p-23 i)":
-float: 2
-ifloat: 2
-Test "Real part of: cacos (0x0.ffffffp0 - 0.0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (0x0.ffffffp0 - 0x1.fp-129 i)":
+Test "Imaginary part of: cacos (-0x1.000002p0 - 0x1p-23 i)":
 float: 1
 ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacos (0x0.ffffffp0 - 0x1p-23 i)":
-float: 2
-ifloat: 2
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x0.ffffffp0 - 0x1p-23 i)":
-float: 2
-ifloat: 2
-Test "Imaginary part of: cacos (0x1.0000000000000000000000000001p0 + 0.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (0x1.0000000000000000000000000001p0 + 0x1.fp-16385 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1.0000000000000000000000000001p0 + 0x1.fp-16385 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1.0000000000000000000000000001p0 + 0x1p-113 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1.0000000000000000000000000001p0 - 0.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (0x1.0000000000000000000000000001p0 - 0x1.fp-16385 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1.0000000000000000000000000001p0 - 0x1.fp-16385 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1.0000000000000000000000000001p0 - 0x1p-113 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (0x1.0000000000000002p0 + 0x1p-63 i)":
-ildouble: 2
-ldouble: 2
-Test "Real part of: cacos (0x1.0000000000000002p0 - 0x1p-63 i)":
-ildouble: 2
-ldouble: 2
-Test "Real part of: cacos (0x1.0000000000001p0 + 0x1p-52 i)":
+Test "Imaginary part of: cacos (-0x1.fp-10 + 1.0 i)":
 double: 1
 idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (0x1.0000000000001p0 - 0x1p-52 i)":
+Test "Imaginary part of: cacos (-0x1.fp-10 - 1.0 i)":
 double: 1
 idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (0x1.000002p0 + 0x1p-23 i)":
-float: 2
-ifloat: 2
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1.000002p0 + 0x1p-23 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (0x1.000002p0 - 0x1p-23 i)":
-float: 2
-ifloat: 2
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1.000002p0 - 0x1p-23 i)":
+Test "Real part of: cacos (-0x1.fp-100 + 1.0 i)":
 float: 1
 ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1.fp-10 + 1.0 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: cacos (0x1.fp-10 - 1.0 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacos (0x1.fp-100 + 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1.fp-100 + 1.0 i)":
+Test "Imaginary part of: cacos (-0x1.fp-100 + 1.0 i)":
 double: 1
 float: 1
 idouble: 1
 ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacos (0x1.fp-100 - 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1.fp-100 - 1.0 i)":
+Test "Real part of: cacos (-0x1.fp-100 - 1.0 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: cacos (-0x1.fp-100 - 1.0 i)":
 double: 1
 float: 1
 idouble: 1
 ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (0x1.fp-1000 + 1.0 i)":
+Test "Imaginary part of: cacos (-0x1.fp-1000 + 1.0 i)":
 double: 1
 idouble: 1
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (0x1.fp-1000 - 1.0 i)":
+Test "Imaginary part of: cacos (-0x1.fp-1000 - 1.0 i)":
 double: 1
 idouble: 1
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (0x1.fp-10000 + 1.0 i)":
+Test "Imaginary part of: cacos (-0x1.fp-10000 + 1.0 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (0x1.fp-10000 - 1.0 i)":
+Test "Imaginary part of: cacos (-0x1.fp-10000 - 1.0 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (0x1.fp-1025 + 0.5 i)":
+Test "Imaginary part of: cacos (-0x1.fp-1025 + 0.5 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (0x1.fp-1025 + 0x0.ffffffffffffffffffffffffffcp0 i)":
+Test "Imaginary part of: cacos (-0x1.fp-1025 + 0x0.ffffffffffffffffffffffffffcp0 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (0x1.fp-1025 + 0x1.0000000000001p0 i)":
+Test "Imaginary part of: cacos (-0x1.fp-1025 + 0x1.0000000000001p0 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (0x1.fp-1025 + 1.0 i)":
+Test "Imaginary part of: cacos (-0x1.fp-1025 + 1.0 i)":
 double: 1
 idouble: 1
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (0x1.fp-1025 + 1.5 i)":
+Test "Imaginary part of: cacos (-0x1.fp-1025 + 1.5 i)":
 double: 1
 idouble: 1
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (0x1.fp-1025 - 0.5 i)":
+Test "Imaginary part of: cacos (-0x1.fp-1025 - 0.5 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (0x1.fp-1025 - 0x0.ffffffffffffffffffffffffffcp0 i)":
+Test "Imaginary part of: cacos (-0x1.fp-1025 - 0x0.ffffffffffffffffffffffffffcp0 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (0x1.fp-1025 - 0x1.0000000000001p0 i)":
+Test "Imaginary part of: cacos (-0x1.fp-1025 - 0x1.0000000000001p0 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (0x1.fp-1025 - 1.0 i)":
+Test "Imaginary part of: cacos (-0x1.fp-1025 - 1.0 i)":
 double: 1
 idouble: 1
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (0x1.fp-1025 - 1.5 i)":
+Test "Imaginary part of: cacos (-0x1.fp-1025 - 1.5 i)":
 double: 1
 idouble: 1
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (0x1.fp-129 + 0.5 i)":
+Test "Real part of: cacos (-0x1.fp-129 + 0.5 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: cacos (-0x1.fp-129 + 0.5 i)":
 float: 1
 ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (0x1.fp-129 + 1.0 i)":
+Test "Real part of: cacos (-0x1.fp-129 + 0x0.ffffffp0 i)":
+float: 1
+ifloat: 1
+Test "Real part of: cacos (-0x1.fp-129 + 0x1.000002p0 i)":
+float: 1
+ifloat: 1
+Test "Real part of: cacos (-0x1.fp-129 + 0x1.fp-129 i)":
+float: 1
+ifloat: 1
+Test "Real part of: cacos (-0x1.fp-129 + 0x1p-23 i)":
+float: 1
+ifloat: 1
+Test "Real part of: cacos (-0x1.fp-129 + 1.0 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: cacos (-0x1.fp-129 + 1.0 i)":
 double: 1
 float: 1
 idouble: 1
 ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (0x1.fp-129 + 1.5 i)":
+Test "Real part of: cacos (-0x1.fp-129 + 1.5 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: cacos (-0x1.fp-129 + 1.5 i)":
 double: 1
 idouble: 1
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (0x1.fp-129 - 0.5 i)":
+Test "Real part of: cacos (-0x1.fp-129 - 0.5 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: cacos (-0x1.fp-129 - 0.5 i)":
 float: 1
 ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (0x1.fp-129 - 1.0 i)":
+Test "Real part of: cacos (-0x1.fp-129 - 0x0.ffffffp0 i)":
+float: 1
+ifloat: 1
+Test "Real part of: cacos (-0x1.fp-129 - 0x1.000002p0 i)":
+float: 1
+ifloat: 1
+Test "Real part of: cacos (-0x1.fp-129 - 0x1.fp-129 i)":
+float: 1
+ifloat: 1
+Test "Real part of: cacos (-0x1.fp-129 - 0x1p-23 i)":
+float: 1
+ifloat: 1
+Test "Real part of: cacos (-0x1.fp-129 - 1.0 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: cacos (-0x1.fp-129 - 1.0 i)":
 double: 1
 float: 1
 idouble: 1
 ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (0x1.fp-129 - 1.5 i)":
+Test "Real part of: cacos (-0x1.fp-129 - 1.5 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: cacos (-0x1.fp-129 - 1.5 i)":
 double: 1
 idouble: 1
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (0x1.fp-16385 + 0.5 i)":
+Test "Imaginary part of: cacos (-0x1.fp-16385 + 0.5 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (0x1.fp-16385 + 0x0.ffffffffffffffffp0 i)":
+Test "Imaginary part of: cacos (-0x1.fp-16385 + 0x0.ffffffffffffffffp0 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (0x1.fp-16385 + 0x1.0000000000000000000000000001p0 i)":
+Test "Imaginary part of: cacos (-0x1.fp-16385 + 0x1.0000000000000000000000000001p0 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (0x1.fp-16385 + 0x1.0000000000000002p0 i)":
+Test "Imaginary part of: cacos (-0x1.fp-16385 + 0x1.0000000000000002p0 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (0x1.fp-16385 + 1.0 i)":
+Test "Imaginary part of: cacos (-0x1.fp-16385 + 1.0 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (0x1.fp-16385 + 1.5 i)":
+Test "Imaginary part of: cacos (-0x1.fp-16385 + 1.5 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (0x1.fp-16385 - 0.5 i)":
+Test "Imaginary part of: cacos (-0x1.fp-16385 - 0.5 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (0x1.fp-16385 - 0x0.ffffffffffffffffp0 i)":
+Test "Imaginary part of: cacos (-0x1.fp-16385 - 0x0.ffffffffffffffffp0 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (0x1.fp-16385 - 0x1.0000000000000000000000000001p0 i)":
+Test "Imaginary part of: cacos (-0x1.fp-16385 - 0x1.0000000000000000000000000001p0 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (0x1.fp-16385 - 0x1.0000000000000002p0 i)":
+Test "Imaginary part of: cacos (-0x1.fp-16385 - 0x1.0000000000000002p0 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (0x1.fp-16385 - 1.0 i)":
+Test "Imaginary part of: cacos (-0x1.fp-16385 - 1.0 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (0x1.fp-16385 - 1.5 i)":
+Test "Imaginary part of: cacos (-0x1.fp-16385 - 1.5 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (0x1.fp-30 + 1.0 i)":
-double: 1
+Test "Real part of: cacos (-0x1.fp-30 + 1.0 i)":
 float: 1
-idouble: 1
 ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1.fp-30 - 1.0 i)":
+Test "Imaginary part of: cacos (-0x1.fp-30 + 1.0 i)":
 double: 1
 float: 1
 idouble: 1
 ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (0x1.fp1023 + 0x1.fp1023 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: cacos (0x1.fp127 + 0x1.fp127 i)":
+Test "Real part of: cacos (-0x1.fp-30 - 1.0 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: cacos (-0x1.fp-30 - 1.0 i)":
 double: 1
+float: 1
 idouble: 1
-Test "Imaginary part of: cacos (0x1.fp16383 + 0x1.fp16383 i)":
+ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (0x1p-105 + 0.5 i)":
+Test "Real part of: cacos (-0x1p-105 + 0.0 i)":
 float: 1
 ifloat: 1
-Test "Real part of: cacos (0x1p-105 + 0x0.ffffffffffffffffffffffffffcp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1p-105 + 0x0.ffffffffffffffffffffffffffcp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1p-105 - 0.5 i)":
+Test "Real part of: cacos (-0x1p-105 + 0.5 i)":
 float: 1
 ifloat: 1
-Test "Real part of: cacos (0x1p-105 - 0x0.ffffffffffffffffffffffffffcp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1p-105 - 0x0.ffffffffffffffffffffffffffcp0 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (0x1p-112 + 0.5 i)":
+Test "Imaginary part of: cacos (-0x1p-105 + 0.5 i)":
 float: 1
 ifloat: 1
-Test "Real part of: cacos (0x1p-112 + 0x0.ffffffffffffffffffffffffffff8p0 i)":
+Test "Imaginary part of: cacos (-0x1p-105 + 0x0.ffffffffffffffffffffffffffcp0 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (0x1p-112 - 0.5 i)":
+Test "Real part of: cacos (-0x1p-105 + 0x1p-105 i)":
 float: 1
 ifloat: 1
-Test "Real part of: cacos (0x1p-112 - 0x0.ffffffffffffffffffffffffffff8p0 i)":
-ildouble: 1
+Test "Real part of: cacos (-0x1p-105 - 0.0 i)":
+float: 1
+ifloat: 1
+Test "Real part of: cacos (-0x1p-105 - 0.5 i)":
+float: 1
+ifloat: 1
+ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (0x1p-113 + 0x1.0000000000000000000000000001p0 i)":
+Test "Imaginary part of: cacos (-0x1p-105 - 0.5 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: cacos (-0x1p-105 - 0x0.ffffffffffffffffffffffffffcp0 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (0x1p-113 - 0x1.0000000000000000000000000001p0 i)":
+Test "Real part of: cacos (-0x1p-105 - 0x1p-105 i)":
+float: 1
+ifloat: 1
+Test "Real part of: cacos (-0x1p-112 + 0.0 i)":
+float: 1
+ifloat: 1
+Test "Real part of: cacos (-0x1p-112 + 0.5 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: cacos (-0x1p-112 + 0.5 i)":
+float: 1
+ifloat: 1
+Test "Real part of: cacos (-0x1p-112 + 0x1p-112 i)":
+float: 1
+ifloat: 1
+Test "Real part of: cacos (-0x1p-112 - 0.0 i)":
+float: 1
+ifloat: 1
+Test "Real part of: cacos (-0x1p-112 - 0.5 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: cacos (-0x1p-112 - 0.5 i)":
+float: 1
+ifloat: 1
+Test "Real part of: cacos (-0x1p-112 - 0x1p-112 i)":
+float: 1
+ifloat: 1
+Test "Real part of: cacos (-0x1p-113 + 0x1.0000000000000000000000000001p0 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (0x1p-23 + 0.5 i)":
+Test "Imaginary part of: cacos (-0x1p-113 + 0x1.0000000000000000000000000001p0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacos (-0x1p-113 - 0x1.0000000000000000000000000001p0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacos (-0x1p-113 - 0x1.0000000000000000000000000001p0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacos (-0x1p-23 + 0.0 i)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacos (-0x1p-23 + 0.5 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: cacos (-0x1p-23 + 0.5 i)":
 float: 1
 ifloat: 1
 ildouble: 2
 ldouble: 2
-Test "Imaginary part of: cacos (0x1p-23 + 0x0.ffffffp0 i)":
+Test "Imaginary part of: cacos (-0x1p-23 + 0x0.ffffffp0 i)":
 double: 1
 idouble: 1
-Test "Real part of: cacos (0x1p-23 + 0x1.000002p0 i)":
+Test "Real part of: cacos (-0x1p-23 + 0x1.fp-129 i)":
+float: 1
+ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (0x1p-23 - 0.5 i)":
+Test "Real part of: cacos (-0x1p-23 + 0x1p-23 i)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacos (-0x1p-23 - 0.0 i)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacos (-0x1p-23 - 0.5 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: cacos (-0x1p-23 - 0.5 i)":
 float: 1
 ifloat: 1
 ildouble: 2
 ldouble: 2
-Test "Imaginary part of: cacos (0x1p-23 - 0x0.ffffffp0 i)":
+Test "Imaginary part of: cacos (-0x1p-23 - 0x0.ffffffp0 i)":
 double: 1
 idouble: 1
-Test "Real part of: cacos (0x1p-23 - 0x1.000002p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (0x1p-52 + 0.5 i)":
+Test "Real part of: cacos (-0x1p-23 - 0x1.fp-129 i)":
+float: 1
+ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (0x1p-52 + 0.5 i)":
+Test "Real part of: cacos (-0x1p-23 - 0x1p-23 i)":
 float: 1
 ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacos (0x1p-52 + 0x0.fffffffffffff8p0 i)":
+Test "Real part of: cacos (-0x1p-52 + 0.0 i)":
+float: 1
+ifloat: 1
+Test "Real part of: cacos (-0x1p-52 + 0.5 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: cacos (-0x1p-52 + 0.5 i)":
+float: 1
+ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacos (0x1p-52 - 0.5 i)":
+Test "Real part of: cacos (-0x1p-52 + 0x1p-52 i)":
+float: 1
+ifloat: 1
+Test "Real part of: cacos (-0x1p-52 - 0.0 i)":
+float: 1
+ifloat: 1
+Test "Real part of: cacos (-0x1p-52 - 0.5 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: cacos (-0x1p-52 - 0.5 i)":
+float: 1
+ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (0x1p-52 - 0.5 i)":
+Test "Real part of: cacos (-0x1p-52 - 0x1p-52 i)":
+float: 1
+ifloat: 1
+Test "Real part of: cacos (-0x1p-63 + 0.0 i)":
 float: 1
 ifloat: 1
+Test "Real part of: cacos (-0x1p-63 + 0.5 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: cacos (-0x1p-63 + 0.5 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: cacos (-0x1p-63 + 0x0.ffffffffffffffffp0 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacos (0x1p-52 - 0x0.fffffffffffff8p0 i)":
+Test "Imaginary part of: cacos (-0x1p-63 + 0x1.0000000000000002p0 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacos (0x1p-63 + 0.5 i)":
+Test "Real part of: cacos (-0x1p-63 + 0x1p-63 i)":
+float: 1
+ifloat: 1
+Test "Real part of: cacos (-0x1p-63 - 0.0 i)":
+float: 1
+ifloat: 1
+Test "Real part of: cacos (-0x1p-63 - 0.5 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: cacos (-0x1p-63 - 0.5 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: cacos (-0x1p-63 - 0x0.ffffffffffffffffp0 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (0x1p-63 + 0.5 i)":
+Test "Imaginary part of: cacos (-0x1p-63 - 0x1.0000000000000002p0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacos (-0x1p-63 - 0x1p-63 i)":
 float: 1
 ifloat: 1
-Test "Imaginary part of: cacos (0x1p-63 + 0x0.ffffffffffffffffp0 i)":
+Test "Imaginary part of: cacos (-0x1p500 + 1.0 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (0x1p-63 + 0x1.0000000000000002p0 i)":
+Test "Imaginary part of: cacos (-0x1p500 - 1.0 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacos (0x1p-63 - 0.5 i)":
+Test "Imaginary part of: cacos (-0x1p5000 + 1.0 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (0x1p-63 - 0.5 i)":
+Test "Imaginary part of: cacos (-0x1p5000 - 1.0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacos (-1.0 + 0.5 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: cacos (-1.0 + 0x1.fp-10 i)":
 float: 1
 ifloat: 1
-Test "Imaginary part of: cacos (0x1p-63 - 0x0.ffffffffffffffffp0 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (0x1p-63 - 0x1.0000000000000002p0 i)":
+Test "Imaginary part of: cacos (-1.0 + 0x1.fp-30 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (0x1p500 + 1.0 i)":
+Test "Real part of: cacos (-1.0 + 0x1p50 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: cacos (-1.0 + 0x1p500 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (0x1p500 - 1.0 i)":
+Test "Imaginary part of: cacos (-1.0 + 0x1p5000 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (0x1p5000 + 1.0 i)":
+Test "Imaginary part of: cacos (-1.0 - 0.5 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: cacos (-1.0 - 0x1.fp-10 i)":
+float: 1
+ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (0x1p5000 - 1.0 i)":
+Test "Imaginary part of: cacos (-1.0 - 0x1.fp-30 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacos (1.0 + 0.25 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacos (1.0 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacos (1.0 + 0.5 i)":
+Test "Real part of: cacos (-1.0 - 0x1p50 i)":
 float: 1
 ifloat: 1
-Test "Real part of: cacos (1.0 + 0x1.fp-10 i)":
-float: 2
-ifloat: 2
-Test "Imaginary part of: cacos (1.0 + 0x1.fp-10 i)":
+Test "Imaginary part of: cacos (-1.0 - 0x1p500 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacos (-1.0 - 0x1p5000 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacos (-2 - 3 i)":
 float: 1
 ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacos (1.0 + 0x1.fp-100 i)":
+Test "Imaginary part of: cacos (0.0 + 0x0.ffffffffffffffffffffffffffcp0 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (1.0 + 0x1.fp-30 i)":
+Test "Imaginary part of: cacos (0.0 + 0x0.ffffffffffffffffp0 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (1.0 + 0x1p500 i)":
+Test "Imaginary part of: cacos (0.0 + 0x1.0000000000000000000000000001p0 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (1.0 + 0x1p5000 i)":
+Test "Imaginary part of: cacos (0.0 + 0x1.0000000000000002p0 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacos (1.0 - 0.25 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacos (1.0 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacos (1.0 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacos (1.0 - 0x1.fp-10 i)":
-float: 2
-ifloat: 2
-Test "Imaginary part of: cacos (1.0 - 0x1.fp-10 i)":
-float: 1
-ifloat: 1
+Test "Imaginary part of: cacos (0.0 + 0x1.0000000000001p0 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacos (1.0 - 0x1.fp-100 i)":
+Test "Imaginary part of: cacos (0.0 - 0x0.ffffffffffffffffffffffffffcp0 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (1.0 - 0x1.fp-30 i)":
+Test "Imaginary part of: cacos (0.0 - 0x0.ffffffffffffffffp0 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (1.0 - 0x1p500 i)":
+Test "Imaginary part of: cacos (0.0 - 0x1.0000000000000000000000000001p0 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacos (1.0 - 0x1p5000 i)":
+Test "Imaginary part of: cacos (0.0 - 0x1.0000000000000002p0 i)":
 ildouble: 1
 ldouble: 1
-
-# cacosh
-Test "Real part of: cacosh (+0 + 0.5 i)":
+Test "Imaginary part of: cacos (0.0 - 0x1.0000000000001p0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacos (0.25 + 1.0 i)":
 float: 1
 ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacosh (+0 + 1.0 i)":
-double: 1
+Test "Imaginary part of: cacos (0.25 - 1.0 i)":
 float: 1
-idouble: 1
 ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacosh (+0 + 1.5 i)":
+Test "Real part of: cacos (0.5 + +0 i)":
+double: 1
+idouble: 1
+Test "Real part of: cacos (0.5 + 0x1.fp-1025 i)":
+double: 1
+idouble: 1
+Test "Real part of: cacos (0.5 + 0x1.fp-129 i)":
+double: 1
+idouble: 1
+Test "Imaginary part of: cacos (0.5 + 0x1.fp-129 i)":
+double: 1
+idouble: 1
+Test "Real part of: cacos (0.5 + 0x1p-105 i)":
+double: 1
+idouble: 1
+Test "Imaginary part of: cacos (0.5 + 0x1p-105 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacos (0.5 + 0x1p-112 i)":
+double: 1
+idouble: 1
+Test "Imaginary part of: cacos (0.5 + 0x1p-112 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacos (0.5 + 0x1p-23 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacos (0.5 + 0x1p-52 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacos (0.5 + 0x1p-63 i)":
+double: 1
+idouble: 1
+Test "Imaginary part of: cacos (0.5 + 0x1p-63 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacos (0.5 + 1.0 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: cacos (0.5 + 1.0 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacos (0.5 - 0 i)":
+double: 1
+idouble: 1
+Test "Real part of: cacos (0.5 - 0x1.fp-1025 i)":
+double: 1
+idouble: 1
+Test "Real part of: cacos (0.5 - 0x1.fp-129 i)":
+double: 1
+idouble: 1
+Test "Imaginary part of: cacos (0.5 - 0x1.fp-129 i)":
+double: 1
+idouble: 1
+Test "Real part of: cacos (0.5 - 0x1p-105 i)":
+double: 1
+idouble: 1
+Test "Imaginary part of: cacos (0.5 - 0x1p-105 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacos (0.5 - 0x1p-112 i)":
+double: 1
+idouble: 1
+Test "Imaginary part of: cacos (0.5 - 0x1p-112 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacos (0.5 - 0x1p-23 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacos (0.5 - 0x1p-52 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacos (0.5 - 0x1p-63 i)":
+double: 1
+idouble: 1
+Test "Imaginary part of: cacos (0.5 - 0x1p-63 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacos (0.5 - 1.0 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: cacos (0.5 - 1.0 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacos (0x0.fffffffffffff8p0 + 0x1p-52 i)":
+double: 1
+idouble: 1
+Test "Imaginary part of: cacos (0x0.fffffffffffff8p0 - 0x1p-52 i)":
+double: 1
+idouble: 1
+Test "Real part of: cacos (0x0.ffffffffffffffffffffffffffcp0 + 0.0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacos (0x0.ffffffffffffffffffffffffffcp0 + 0x1.fp-1025 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacos (0x0.ffffffffffffffffffffffffffcp0 + 0x1p-105 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacos (0x0.ffffffffffffffffffffffffffcp0 - 0.0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacos (0x0.ffffffffffffffffffffffffffcp0 - 0x1.fp-1025 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacos (0x0.ffffffffffffffffffffffffffcp0 - 0x1p-105 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacos (0x0.ffffffffffffffffffffffffffff8p0 + 0.0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacos (0x0.ffffffffffffffffffffffffffff8p0 + 0x1.fp-16385 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacos (0x0.ffffffffffffffffffffffffffff8p0 - 0.0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacos (0x0.ffffffffffffffffffffffffffff8p0 - 0x1.fp-16385 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacos (0x0.ffffffffffffffffp0 + 0x1p-63 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacos (0x0.ffffffffffffffffp0 - 0x1p-63 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacos (0x0.ffffffp0 + 0.0 i)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacos (0x0.ffffffp0 + 0x1.fp-129 i)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacos (0x0.ffffffp0 + 0x1p-23 i)":
+float: 2
+ifloat: 2
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacos (0x0.ffffffp0 + 0x1p-23 i)":
+float: 2
+ifloat: 2
+Test "Real part of: cacos (0x0.ffffffp0 - 0.0 i)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacos (0x0.ffffffp0 - 0x1.fp-129 i)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacos (0x0.ffffffp0 - 0x1p-23 i)":
+float: 2
+ifloat: 2
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacos (0x0.ffffffp0 - 0x1p-23 i)":
+float: 2
+ifloat: 2
+Test "Imaginary part of: cacos (0x1.0000000000000000000000000001p0 + 0.0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacos (0x1.0000000000000000000000000001p0 + 0x1.fp-16385 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacos (0x1.0000000000000000000000000001p0 + 0x1.fp-16385 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacos (0x1.0000000000000000000000000001p0 + 0x1p-113 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacos (0x1.0000000000000000000000000001p0 - 0.0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacos (0x1.0000000000000000000000000001p0 - 0x1.fp-16385 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacos (0x1.0000000000000000000000000001p0 - 0x1.fp-16385 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacos (0x1.0000000000000000000000000001p0 - 0x1p-113 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacos (0x1.0000000000000002p0 + 0x1p-63 i)":
+ildouble: 2
+ldouble: 2
+Test "Real part of: cacos (0x1.0000000000000002p0 - 0x1p-63 i)":
+ildouble: 2
+ldouble: 2
+Test "Real part of: cacos (0x1.0000000000001p0 + 0x1p-52 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacos (0x1.0000000000001p0 - 0x1p-52 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacos (0x1.000002p0 + 0x1p-23 i)":
+float: 2
+ifloat: 2
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacos (0x1.000002p0 + 0x1p-23 i)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacos (0x1.000002p0 - 0x1p-23 i)":
+float: 2
+ifloat: 2
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacos (0x1.000002p0 - 0x1p-23 i)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacos (0x1.fp-10 + 1.0 i)":
+double: 1
+idouble: 1
+Test "Imaginary part of: cacos (0x1.fp-10 - 1.0 i)":
+double: 1
+idouble: 1
+Test "Real part of: cacos (0x1.fp-100 + 1.0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacos (0x1.fp-100 + 1.0 i)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacos (0x1.fp-100 - 1.0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacos (0x1.fp-100 - 1.0 i)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacos (0x1.fp-1000 + 1.0 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacos (0x1.fp-1000 - 1.0 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacos (0x1.fp-10000 + 1.0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacos (0x1.fp-10000 - 1.0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacos (0x1.fp-1025 + 0.5 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacos (0x1.fp-1025 + 0x0.ffffffffffffffffffffffffffcp0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacos (0x1.fp-1025 + 0x1.0000000000001p0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacos (0x1.fp-1025 + 1.0 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacos (0x1.fp-1025 + 1.5 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacos (0x1.fp-1025 - 0.5 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacos (0x1.fp-1025 - 0x0.ffffffffffffffffffffffffffcp0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacos (0x1.fp-1025 - 0x1.0000000000001p0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacos (0x1.fp-1025 - 1.0 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacos (0x1.fp-1025 - 1.5 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacos (0x1.fp-129 + 0.5 i)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacos (0x1.fp-129 + 1.0 i)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacos (0x1.fp-129 + 1.5 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacos (0x1.fp-129 - 0.5 i)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacos (0x1.fp-129 - 1.0 i)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacos (0x1.fp-129 - 1.5 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacos (0x1.fp-16385 + 0.5 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacos (0x1.fp-16385 + 0x0.ffffffffffffffffp0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacos (0x1.fp-16385 + 0x1.0000000000000000000000000001p0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacos (0x1.fp-16385 + 0x1.0000000000000002p0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacos (0x1.fp-16385 + 1.0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacos (0x1.fp-16385 + 1.5 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacos (0x1.fp-16385 - 0.5 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacos (0x1.fp-16385 - 0x0.ffffffffffffffffp0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacos (0x1.fp-16385 - 0x1.0000000000000000000000000001p0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacos (0x1.fp-16385 - 0x1.0000000000000002p0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacos (0x1.fp-16385 - 1.0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacos (0x1.fp-16385 - 1.5 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacos (0x1.fp-30 + 1.0 i)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacos (0x1.fp-30 - 1.0 i)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacos (0x1.fp1023 + 0x1.fp1023 i)":
+double: 1
+idouble: 1
+Test "Imaginary part of: cacos (0x1.fp127 + 0x1.fp127 i)":
+double: 1
+idouble: 1
+Test "Imaginary part of: cacos (0x1.fp16383 + 0x1.fp16383 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacos (0x1p-105 + 0.5 i)":
+float: 1
+ifloat: 1
+Test "Real part of: cacos (0x1p-105 + 0x0.ffffffffffffffffffffffffffcp0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacos (0x1p-105 + 0x0.ffffffffffffffffffffffffffcp0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacos (0x1p-105 - 0.5 i)":
+float: 1
+ifloat: 1
+Test "Real part of: cacos (0x1p-105 - 0x0.ffffffffffffffffffffffffffcp0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacos (0x1p-105 - 0x0.ffffffffffffffffffffffffffcp0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacos (0x1p-112 + 0.5 i)":
+float: 1
+ifloat: 1
+Test "Real part of: cacos (0x1p-112 + 0x0.ffffffffffffffffffffffffffff8p0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacos (0x1p-112 - 0.5 i)":
+float: 1
+ifloat: 1
+Test "Real part of: cacos (0x1p-112 - 0x0.ffffffffffffffffffffffffffff8p0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacos (0x1p-113 + 0x1.0000000000000000000000000001p0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacos (0x1p-113 - 0x1.0000000000000000000000000001p0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacos (0x1p-23 + 0.5 i)":
+float: 1
+ifloat: 1
+ildouble: 2
+ldouble: 2
+Test "Imaginary part of: cacos (0x1p-23 + 0x0.ffffffp0 i)":
+double: 1
+idouble: 1
+Test "Real part of: cacos (0x1p-23 + 0x1.000002p0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacos (0x1p-23 - 0.5 i)":
+float: 1
+ifloat: 1
+ildouble: 2
+ldouble: 2
+Test "Imaginary part of: cacos (0x1p-23 - 0x0.ffffffp0 i)":
+double: 1
+idouble: 1
+Test "Real part of: cacos (0x1p-23 - 0x1.000002p0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacos (0x1p-52 + 0.5 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacos (0x1p-52 + 0.5 i)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacos (0x1p-52 + 0x0.fffffffffffff8p0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacos (0x1p-52 - 0.5 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacos (0x1p-52 - 0.5 i)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacos (0x1p-52 - 0x0.fffffffffffff8p0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacos (0x1p-63 + 0.5 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacos (0x1p-63 + 0.5 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: cacos (0x1p-63 + 0x0.ffffffffffffffffp0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacos (0x1p-63 + 0x1.0000000000000002p0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacos (0x1p-63 - 0.5 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacos (0x1p-63 - 0.5 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: cacos (0x1p-63 - 0x0.ffffffffffffffffp0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacos (0x1p-63 - 0x1.0000000000000002p0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacos (0x1p500 + 1.0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacos (0x1p500 - 1.0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacos (0x1p5000 + 1.0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacos (0x1p5000 - 1.0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacos (1.0 + 0.25 i)":
+double: 1
+idouble: 1
+Test "Real part of: cacos (1.0 + 0.5 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: cacos (1.0 + 0.5 i)":
+float: 1
+ifloat: 1
+Test "Real part of: cacos (1.0 + 0x1.fp-10 i)":
+float: 2
+ifloat: 2
+Test "Imaginary part of: cacos (1.0 + 0x1.fp-10 i)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacos (1.0 + 0x1.fp-100 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacos (1.0 + 0x1.fp-30 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacos (1.0 + 0x1p500 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacos (1.0 + 0x1p5000 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacos (1.0 - 0.25 i)":
+double: 1
+idouble: 1
+Test "Real part of: cacos (1.0 - 0.5 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: cacos (1.0 - 0.5 i)":
+float: 1
+ifloat: 1
+Test "Real part of: cacos (1.0 - 0x1.fp-10 i)":
+float: 2
+ifloat: 2
+Test "Imaginary part of: cacos (1.0 - 0x1.fp-10 i)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacos (1.0 - 0x1.fp-100 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacos (1.0 - 0x1.fp-30 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacos (1.0 - 0x1p500 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacos (1.0 - 0x1p5000 i)":
+ildouble: 1
+ldouble: 1
+
+# cacosh
+Test "Real part of: cacosh (+0 + 0.5 i)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (+0 + 1.0 i)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (+0 + 1.5 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (+0 - 0.5 i)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (+0 - 1.0 i)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (+0 - 1.5 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (-0 + 0.5 i)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (-0 + 1.0 i)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (-0 + 1.5 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (-0 - 0.5 i)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (-0 - 1.0 i)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (-0 - 1.5 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (-0.0 + 0x0.ffffffffffffffffffffffffffcp0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (-0.0 + 0x0.ffffffffffffffffp0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (-0.0 + 0x1.0000000000000000000000000001p0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (-0.0 + 0x1.0000000000000002p0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (-0.0 + 0x1.0000000000001p0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (-0.0 - 0x0.ffffffffffffffffffffffffffcp0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (-0.0 - 0x0.ffffffffffffffffp0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (-0.0 - 0x1.0000000000000000000000000001p0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (-0.0 - 0x1.0000000000000002p0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (-0.0 - 0x1.0000000000001p0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (-0.25 + 1.0 i)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacosh (-0.25 + 1.0 i)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+Test "Real part of: cacosh (-0.25 - 1.0 i)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacosh (-0.25 - 1.0 i)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+Test "Imaginary part of: cacosh (-0.5 + +0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacosh (-0.5 + 0x1.fp-1025 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (-0.5 + 0x1.fp-129 i)":
+double: 1
+idouble: 1
+Test "Imaginary part of: cacosh (-0.5 + 0x1.fp-129 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacosh (-0.5 + 0x1.fp-16385 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (-0.5 + 0x1p-105 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacosh (-0.5 + 0x1p-105 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (-0.5 + 0x1p-112 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacosh (-0.5 + 0x1p-112 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (-0.5 + 0x1p-23 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacosh (-0.5 + 0x1p-52 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (-0.5 + 0x1p-63 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacosh (-0.5 + 0x1p-63 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (-0.5 + 1.0 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacosh (-0.5 + 1.0 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: cacosh (-0.5 - 0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacosh (-0.5 - 0x1.fp-1025 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (-0.5 - 0x1.fp-129 i)":
+double: 1
+idouble: 1
+Test "Imaginary part of: cacosh (-0.5 - 0x1.fp-129 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacosh (-0.5 - 0x1.fp-16385 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (-0.5 - 0x1p-105 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacosh (-0.5 - 0x1p-105 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (-0.5 - 0x1p-112 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacosh (-0.5 - 0x1p-112 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (-0.5 - 0x1p-23 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacosh (-0.5 - 0x1p-52 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (-0.5 - 0x1p-63 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacosh (-0.5 - 0x1p-63 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (-0.5 - 1.0 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacosh (-0.5 - 1.0 i)":
+float: 1
+ifloat: 1
+Test "Real part of: cacosh (-0x0.fffffffffffff8p0 + 0x1p-52 i)":
+double: 1
+idouble: 1
+Test "Real part of: cacosh (-0x0.fffffffffffff8p0 - 0x1p-52 i)":
+double: 1
+idouble: 1
+Test "Real part of: cacosh (-0x0.ffffffffffffffffffffffffffcp0 + 0x1p-105 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (-0x0.ffffffffffffffffffffffffffcp0 - 0x1p-105 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (-0x0.ffffffffffffffffp0 + 0x1p-63 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (-0x0.ffffffffffffffffp0 - 0x1p-63 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (-0x0.ffffffp0 + 0x1p-23 i)":
+float: 2
+ifloat: 2
+Test "Real part of: cacosh (-0x0.ffffffp0 - 0x1p-23 i)":
+float: 2
+ifloat: 2
+Test "Real part of: cacosh (-0x1.0000000000000000000000000001p0 + 0.0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (-0x1.0000000000000000000000000001p0 + 0x1.fp-16385 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (-0x1.0000000000000000000000000001p0 + 0x1p-113 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (-0x1.0000000000000000000000000001p0 - 0.0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (-0x1.0000000000000000000000000001p0 - 0x1.fp-16385 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (-0x1.0000000000000000000000000001p0 - 0x1p-113 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (-0x1.000002p0 + 0x1p-23 i)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (-0x1.000002p0 - 0x1p-23 i)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (-0x1.fp-10 + 1.0 i)":
+double: 1
+idouble: 1
+Test "Real part of: cacosh (-0x1.fp-10 - 1.0 i)":
+double: 1
+idouble: 1
+Test "Real part of: cacosh (-0x1.fp-100 + 1.0 i)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacosh (-0x1.fp-100 + 1.0 i)":
+float: 1
+ifloat: 1
+Test "Real part of: cacosh (-0x1.fp-100 - 1.0 i)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacosh (-0x1.fp-100 - 1.0 i)":
+float: 1
+ifloat: 1
+Test "Real part of: cacosh (-0x1.fp-1000 + 1.0 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (-0x1.fp-1000 - 1.0 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (-0x1.fp-10000 + 1.0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (-0x1.fp-10000 - 1.0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (-0x1.fp-1025 + 0.5 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (-0x1.fp-1025 + 0x0.ffffffffffffffffffffffffffcp0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (-0x1.fp-1025 + 0x1.0000000000001p0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (-0x1.fp-1025 + 1.0 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (-0x1.fp-1025 + 1.5 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (-0x1.fp-1025 - 0.5 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (-0x1.fp-1025 - 0x0.ffffffffffffffffffffffffffcp0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (-0x1.fp-1025 - 0x1.0000000000001p0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (-0x1.fp-1025 - 1.0 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (-0x1.fp-1025 - 1.5 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (-0x1.fp-129 + 0.5 i)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacosh (-0x1.fp-129 + 0.5 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: cacosh (-0x1.fp-129 + 0x0.ffffffp0 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: cacosh (-0x1.fp-129 + 0x1.000002p0 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: cacosh (-0x1.fp-129 + 0x1.fp-129 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: cacosh (-0x1.fp-129 + 0x1p-23 i)":
+float: 1
+ifloat: 1
+Test "Real part of: cacosh (-0x1.fp-129 + 1.0 i)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacosh (-0x1.fp-129 + 1.0 i)":
+float: 1
+ifloat: 1
+Test "Real part of: cacosh (-0x1.fp-129 + 1.5 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacosh (-0x1.fp-129 + 1.5 i)":
+float: 1
+ifloat: 1
+Test "Real part of: cacosh (-0x1.fp-129 - 0.5 i)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacosh (-0x1.fp-129 - 0.5 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: cacosh (-0x1.fp-129 - 0x0.ffffffp0 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: cacosh (-0x1.fp-129 - 0x1.000002p0 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: cacosh (-0x1.fp-129 - 0x1.fp-129 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: cacosh (-0x1.fp-129 - 0x1p-23 i)":
+float: 1
+ifloat: 1
+Test "Real part of: cacosh (-0x1.fp-129 - 1.0 i)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacosh (-0x1.fp-129 - 1.0 i)":
+float: 1
+ifloat: 1
+Test "Real part of: cacosh (-0x1.fp-129 - 1.5 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacosh (-0x1.fp-129 - 1.5 i)":
+float: 1
+ifloat: 1
+Test "Real part of: cacosh (-0x1.fp-16385 + 0.5 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (-0x1.fp-16385 + 0x0.ffffffffffffffffp0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (-0x1.fp-16385 + 0x1.0000000000000000000000000001p0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (-0x1.fp-16385 + 0x1.0000000000000002p0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (-0x1.fp-16385 + 1.0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (-0x1.fp-16385 + 1.5 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (-0x1.fp-16385 - 0.5 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (-0x1.fp-16385 - 0x0.ffffffffffffffffp0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (-0x1.fp-16385 - 0x1.0000000000000000000000000001p0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (-0x1.fp-16385 - 0x1.0000000000000002p0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (-0x1.fp-16385 - 1.0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (-0x1.fp-16385 - 1.5 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (-0x1.fp-30 + 1.0 i)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacosh (-0x1.fp-30 + 1.0 i)":
+float: 1
+ifloat: 1
+Test "Real part of: cacosh (-0x1.fp-30 - 1.0 i)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacosh (-0x1.fp-30 - 1.0 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: cacosh (-0x1p-105 + 0.0 i)":
+float: 1
+ifloat: 1
+Test "Real part of: cacosh (-0x1p-105 + 0.5 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: cacosh (-0x1p-105 + 0.5 i)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (-0x1p-105 + 0x0.ffffffffffffffffffffffffffcp0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacosh (-0x1p-105 + 0x1p-105 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: cacosh (-0x1p-105 - 0.0 i)":
+float: 1
+ifloat: 1
+Test "Real part of: cacosh (-0x1p-105 - 0.5 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: cacosh (-0x1p-105 - 0.5 i)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (-0x1p-105 - 0x0.ffffffffffffffffffffffffffcp0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacosh (-0x1p-105 - 0x1p-105 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: cacosh (-0x1p-112 + 0.0 i)":
+float: 1
+ifloat: 1
+Test "Real part of: cacosh (-0x1p-112 + 0.5 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: cacosh (-0x1p-112 + 0.5 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: cacosh (-0x1p-112 + 0x1p-112 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: cacosh (-0x1p-112 - 0.0 i)":
+float: 1
+ifloat: 1
+Test "Real part of: cacosh (-0x1p-112 - 0.5 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: cacosh (-0x1p-112 - 0.5 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: cacosh (-0x1p-112 - 0x1p-112 i)":
+float: 1
+ifloat: 1
+Test "Real part of: cacosh (-0x1p-113 + 0x1.0000000000000000000000000001p0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacosh (-0x1p-113 + 0x1.0000000000000000000000000001p0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (-0x1p-113 - 0x1.0000000000000000000000000001p0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacosh (-0x1p-113 - 0x1.0000000000000000000000000001p0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacosh (-0x1p-23 + 0.0 i)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (-0x1p-23 + 0.5 i)":
+float: 1
+ifloat: 1
+ildouble: 2
+ldouble: 2
+Test "Imaginary part of: cacosh (-0x1p-23 + 0.5 i)":
+float: 1
+ifloat: 1
+Test "Real part of: cacosh (-0x1p-23 + 0x0.ffffffp0 i)":
+double: 1
+idouble: 1
+Test "Imaginary part of: cacosh (-0x1p-23 + 0x1.fp-129 i)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacosh (-0x1p-23 + 0x1p-23 i)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacosh (-0x1p-23 - 0.0 i)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (-0x1p-23 - 0.5 i)":
+float: 1
+ifloat: 1
+ildouble: 2
+ldouble: 2
+Test "Imaginary part of: cacosh (-0x1p-23 - 0.5 i)":
+float: 1
+ifloat: 1
+Test "Real part of: cacosh (-0x1p-23 - 0x0.ffffffp0 i)":
+double: 1
+idouble: 1
+Test "Imaginary part of: cacosh (-0x1p-23 - 0x1.fp-129 i)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacosh (-0x1p-23 - 0x1p-23 i)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacosh (-0x1p-52 + 0.0 i)":
+float: 1
+ifloat: 1
+Test "Real part of: cacosh (-0x1p-52 + 0.5 i)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacosh (-0x1p-52 + 0.5 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: cacosh (-0x1p-52 + 0x1p-52 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: cacosh (-0x1p-52 - 0.0 i)":
+float: 1
+ifloat: 1
+Test "Real part of: cacosh (-0x1p-52 - 0.5 i)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacosh (-0x1p-52 - 0.5 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: cacosh (-0x1p-52 - 0x1p-52 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: cacosh (-0x1p-63 + 0.0 i)":
+float: 1
+ifloat: 1
+Test "Real part of: cacosh (-0x1p-63 + 0.5 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: cacosh (-0x1p-63 + 0.5 i)":
+float: 1
+ifloat: 1
+Test "Real part of: cacosh (-0x1p-63 + 0x0.ffffffffffffffffp0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (-0x1p-63 + 0x1.0000000000000002p0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacosh (-0x1p-63 + 0x1p-63 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: cacosh (-0x1p-63 - 0.0 i)":
+float: 1
+ifloat: 1
+Test "Real part of: cacosh (-0x1p-63 - 0.5 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: cacosh (-0x1p-63 - 0.5 i)":
+float: 1
+ifloat: 1
+Test "Real part of: cacosh (-0x1p-63 - 0x0.ffffffffffffffffp0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (-0x1p-63 - 0x1.0000000000000002p0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacosh (-0x1p-63 - 0x1p-63 i)":
+float: 1
+ifloat: 1
+Test "Real part of: cacosh (-0x1p500 + 1.0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (-0x1p500 - 1.0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (-0x1p5000 + 1.0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (-0x1p5000 - 1.0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (-1.0 + 0.5 i)":
+float: 1
+ifloat: 1
+Test "Real part of: cacosh (-1.0 + 0x1.fp-10 i)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (-1.0 + 0x1.fp-30 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacosh (-1.0 + 0x1p50 i)":
+float: 1
+ifloat: 1
+Test "Real part of: cacosh (-1.0 + 0x1p500 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (-1.0 + 0x1p5000 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (-1.0 - 0.5 i)":
+float: 1
+ifloat: 1
+Test "Real part of: cacosh (-1.0 - 0x1.fp-10 i)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (-1.0 - 0x1.fp-30 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacosh (-1.0 - 0x1p50 i)":
+float: 1
+ifloat: 1
+Test "Real part of: cacosh (-1.0 - 0x1p500 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (-1.0 - 0x1p5000 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacosh (-2 - 3 i)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (0.0 + 0x0.ffffffffffffffffffffffffffcp0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (0.0 + 0x0.ffffffffffffffffp0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (0.0 + 0x1.0000000000000000000000000001p0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (0.0 + 0x1.0000000000000002p0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (0.0 + 0x1.0000000000001p0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (0.0 - 0x0.ffffffffffffffffffffffffffcp0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (0.0 - 0x0.ffffffffffffffffp0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (0.0 - 0x1.0000000000000000000000000001p0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (0.0 - 0x1.0000000000000002p0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (0.0 - 0x1.0000000000001p0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (0.25 + 1.0 i)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (0.25 - 1.0 i)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacosh (0.5 + +0 i)":
+double: 1
+idouble: 1
+Test "Imaginary part of: cacosh (0.5 + 0x1.fp-1025 i)":
+double: 1
+idouble: 1
+Test "Real part of: cacosh (0.5 + 0x1.fp-129 i)":
+double: 1
+idouble: 1
+Test "Imaginary part of: cacosh (0.5 + 0x1.fp-129 i)":
+double: 1
+idouble: 1
+Test "Real part of: cacosh (0.5 + 0x1p-105 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacosh (0.5 + 0x1p-105 i)":
+double: 1
+idouble: 1
+Test "Real part of: cacosh (0.5 + 0x1p-112 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacosh (0.5 + 0x1p-112 i)":
+double: 1
+idouble: 1
+Test "Real part of: cacosh (0.5 + 0x1p-23 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacosh (0.5 + 0x1p-52 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (0.5 + 0x1p-63 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacosh (0.5 + 0x1p-63 i)":
+double: 1
+idouble: 1
+Test "Real part of: cacosh (0.5 + 1.0 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacosh (0.5 + 1.0 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: cacosh (0.5 - 0 i)":
+double: 1
+idouble: 1
+Test "Imaginary part of: cacosh (0.5 - 0x1.fp-1025 i)":
+double: 1
+idouble: 1
+Test "Real part of: cacosh (0.5 - 0x1.fp-129 i)":
+double: 1
+idouble: 1
+Test "Imaginary part of: cacosh (0.5 - 0x1.fp-129 i)":
+double: 1
+idouble: 1
+Test "Real part of: cacosh (0.5 - 0x1p-105 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacosh (0.5 - 0x1p-105 i)":
+double: 1
+idouble: 1
+Test "Real part of: cacosh (0.5 - 0x1p-112 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacosh (0.5 - 0x1p-112 i)":
+double: 1
+idouble: 1
+Test "Real part of: cacosh (0.5 - 0x1p-23 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacosh (0.5 - 0x1p-52 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (0.5 - 0x1p-63 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacosh (0.5 - 0x1p-63 i)":
+double: 1
+idouble: 1
+Test "Real part of: cacosh (0.5 - 1.0 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacosh (0.5 - 1.0 i)":
+float: 1
+ifloat: 1
+Test "Real part of: cacosh (0x0.fffffffffffff8p0 + 0x1p-52 i)":
+double: 1
+idouble: 1
+Test "Real part of: cacosh (0x0.fffffffffffff8p0 - 0x1p-52 i)":
+double: 1
+idouble: 1
+Test "Imaginary part of: cacosh (0x0.ffffffffffffffffffffffffffcp0 + 0.0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacosh (0x0.ffffffffffffffffffffffffffcp0 + 0x1.fp-1025 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (0x0.ffffffffffffffffffffffffffcp0 + 0x1p-105 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacosh (0x0.ffffffffffffffffffffffffffcp0 - 0.0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacosh (0x0.ffffffffffffffffffffffffffcp0 - 0x1.fp-1025 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (0x0.ffffffffffffffffffffffffffcp0 - 0x1p-105 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacosh (0x0.ffffffffffffffffffffffffffff8p0 + 0.0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacosh (0x0.ffffffffffffffffffffffffffff8p0 + 0x1.fp-16385 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacosh (0x0.ffffffffffffffffffffffffffff8p0 - 0.0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacosh (0x0.ffffffffffffffffffffffffffff8p0 - 0x1.fp-16385 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (0x0.ffffffffffffffffp0 + 0x1p-63 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (0x0.ffffffffffffffffp0 - 0x1p-63 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacosh (0x0.ffffffp0 + 0.0 i)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacosh (0x0.ffffffp0 + 0x1.fp-129 i)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (0x0.ffffffp0 + 0x1p-23 i)":
+float: 2
+ifloat: 2
+Test "Imaginary part of: cacosh (0x0.ffffffp0 + 0x1p-23 i)":
+float: 2
+ifloat: 2
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacosh (0x0.ffffffp0 - 0.0 i)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacosh (0x0.ffffffp0 - 0x1.fp-129 i)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (0x0.ffffffp0 - 0x1p-23 i)":
+float: 2
+ifloat: 2
+Test "Imaginary part of: cacosh (0x0.ffffffp0 - 0x1p-23 i)":
+float: 2
+ifloat: 2
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (0x1.0000000000000000000000000001p0 + 0.0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (0x1.0000000000000000000000000001p0 + 0x1.fp-16385 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacosh (0x1.0000000000000000000000000001p0 + 0x1.fp-16385 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (0x1.0000000000000000000000000001p0 + 0x1p-113 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (0x1.0000000000000000000000000001p0 - 0.0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (0x1.0000000000000000000000000001p0 - 0x1.fp-16385 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacosh (0x1.0000000000000000000000000001p0 - 0x1.fp-16385 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (0x1.0000000000000000000000000001p0 - 0x1p-113 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacosh (0x1.0000000000000002p0 + 0x1p-63 i)":
+ildouble: 2
+ldouble: 2
+Test "Imaginary part of: cacosh (0x1.0000000000000002p0 - 0x1p-63 i)":
+ildouble: 2
+ldouble: 2
+Test "Imaginary part of: cacosh (0x1.0000000000001p0 + 0x1p-52 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacosh (0x1.0000000000001p0 - 0x1p-52 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (0x1.000002p0 + 0x1p-23 i)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacosh (0x1.000002p0 + 0x1p-23 i)":
+float: 2
+ifloat: 2
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (0x1.000002p0 - 0x1p-23 i)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacosh (0x1.000002p0 - 0x1p-23 i)":
+float: 2
+ifloat: 2
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (0x1.fp-10 + 1.0 i)":
+double: 1
+idouble: 1
+Test "Real part of: cacosh (0x1.fp-10 - 1.0 i)":
+double: 1
+idouble: 1
+Test "Real part of: cacosh (0x1.fp-100 + 1.0 i)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacosh (0x1.fp-100 + 1.0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (0x1.fp-100 - 1.0 i)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacosh (0x1.fp-100 - 1.0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (0x1.fp-1000 + 1.0 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (0x1.fp-1000 - 1.0 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (0x1.fp-10000 + 1.0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (0x1.fp-10000 - 1.0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (0x1.fp-1025 + 0.5 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (0x1.fp-1025 + 0x0.ffffffffffffffffffffffffffcp0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (0x1.fp-1025 + 0x1.0000000000001p0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (0x1.fp-1025 + 1.0 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (0x1.fp-1025 + 1.5 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (0x1.fp-1025 - 0.5 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (0x1.fp-1025 - 0x0.ffffffffffffffffffffffffffcp0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (0x1.fp-1025 - 0x1.0000000000001p0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (0x1.fp-1025 - 1.0 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (0x1.fp-1025 - 1.5 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (0x1.fp-129 + 0.5 i)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (0x1.fp-129 + 1.0 i)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (0x1.fp-129 + 1.5 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (0x1.fp-129 - 0.5 i)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (0x1.fp-129 - 1.0 i)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (0x1.fp-129 - 1.5 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (0x1.fp-16385 + 0.5 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (0x1.fp-16385 + 0x0.ffffffffffffffffp0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (0x1.fp-16385 + 0x1.0000000000000000000000000001p0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (0x1.fp-16385 + 0x1.0000000000000002p0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (0x1.fp-16385 + 1.0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (0x1.fp-16385 + 1.5 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (0x1.fp-16385 - 0.5 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (0x1.fp-16385 - 0x0.ffffffffffffffffp0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (0x1.fp-16385 - 0x1.0000000000000000000000000001p0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (0x1.fp-16385 - 0x1.0000000000000002p0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (0x1.fp-16385 - 1.0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (0x1.fp-16385 - 1.5 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (0x1.fp-30 + 1.0 i)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (0x1.fp-30 - 1.0 i)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (0x1.fp1023 + 0x1.fp1023 i)":
+double: 1
+idouble: 1
+Test "Real part of: cacosh (0x1.fp127 + 0x1.fp127 i)":
+double: 1
+idouble: 1
+Test "Real part of: cacosh (0x1.fp16383 + 0x1.fp16383 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (0x1p-105 + 0.5 i)":
+float: 1
+ifloat: 1
+Test "Real part of: cacosh (0x1p-105 + 0x0.ffffffffffffffffffffffffffcp0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacosh (0x1p-105 + 0x0.ffffffffffffffffffffffffffcp0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (0x1p-105 - 0.5 i)":
+float: 1
+ifloat: 1
+Test "Real part of: cacosh (0x1p-105 - 0x0.ffffffffffffffffffffffffffcp0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacosh (0x1p-105 - 0x0.ffffffffffffffffffffffffffcp0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (0x1p-112 + 0.5 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: cacosh (0x1p-112 + 0x0.ffffffffffffffffffffffffffff8p0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (0x1p-112 - 0.5 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: cacosh (0x1p-112 - 0x0.ffffffffffffffffffffffffffff8p0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (0x1p-113 + 0x1.0000000000000000000000000001p0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (0x1p-113 - 0x1.0000000000000000000000000001p0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (0x1p-23 + 0.5 i)":
+float: 1
+ifloat: 1
+ildouble: 2
+ldouble: 2
+Test "Real part of: cacosh (0x1p-23 + 0x0.ffffffp0 i)":
+double: 1
+idouble: 1
+Test "Imaginary part of: cacosh (0x1p-23 + 0x1.000002p0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (0x1p-23 - 0.5 i)":
+float: 1
+ifloat: 1
+ildouble: 2
+ldouble: 2
+Test "Real part of: cacosh (0x1p-23 - 0x0.ffffffp0 i)":
+double: 1
+idouble: 1
+Test "Imaginary part of: cacosh (0x1p-23 - 0x1.000002p0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (0x1p-52 + 0.5 i)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacosh (0x1p-52 + 0.5 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacosh (0x1p-52 + 0x0.fffffffffffff8p0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (0x1p-52 - 0.5 i)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacosh (0x1p-52 - 0.5 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacosh (0x1p-52 - 0x0.fffffffffffff8p0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (0x1p-63 + 0.5 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: cacosh (0x1p-63 + 0.5 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (0x1p-63 + 0x0.ffffffffffffffffp0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (0x1p-63 + 0x1.0000000000000002p0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (0x1p-63 - 0.5 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: cacosh (0x1p-63 - 0.5 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (0x1p-63 - 0x0.ffffffffffffffffp0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (0x1p-63 - 0x1.0000000000000002p0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (0x1p500 + 1.0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (0x1p500 - 1.0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (0x1p5000 + 1.0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (0x1p5000 - 1.0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacosh (1.0 + 0.25 i)":
+double: 1
+idouble: 1
+Test "Real part of: cacosh (1.0 + 0.5 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: cacosh (1.0 + 0.5 i)":
+float: 1
+ifloat: 1
+Test "Real part of: cacosh (1.0 + 0x1.fp-10 i)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacosh (1.0 + 0x1.fp-10 i)":
+float: 2
+ifloat: 2
+Test "Imaginary part of: cacosh (1.0 + 0x1.fp-100 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (1.0 + 0x1.fp-30 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (1.0 + 0x1p500 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (1.0 + 0x1p5000 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacosh (1.0 - 0.25 i)":
+double: 1
+idouble: 1
+Test "Real part of: cacosh (1.0 - 0.5 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: cacosh (1.0 - 0.5 i)":
+float: 1
+ifloat: 1
+Test "Real part of: cacosh (1.0 - 0x1.fp-10 i)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cacosh (1.0 - 0x1.fp-10 i)":
+float: 2
+ifloat: 2
+Test "Imaginary part of: cacosh (1.0 - 0x1.fp-100 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (1.0 - 0x1.fp-30 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (1.0 - 0x1p500 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cacosh (1.0 - 0x1p5000 i)":
+ildouble: 1
+ldouble: 1
+
+# casin
+Test "Imaginary part of: casin (+0 + 0.5 i)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (+0 + 1.0 i)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (+0 + 1.5 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (+0 - 0.5 i)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (+0 - 1.0 i)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (+0 - 1.5 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (-0 + 0.5 i)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (-0 + 1.0 i)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (-0 + 1.5 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (-0 - 0.5 i)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (-0 - 1.0 i)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (-0 - 1.5 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (-0.0 + 0x0.ffffffffffffffffffffffffffcp0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (-0.0 + 0x0.ffffffffffffffffp0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (-0.0 + 0x1.0000000000000000000000000001p0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (-0.0 + 0x1.0000000000000002p0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (-0.0 + 0x1.0000000000001p0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (-0.0 - 0x0.ffffffffffffffffffffffffffcp0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (-0.0 - 0x0.ffffffffffffffffp0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (-0.0 - 0x1.0000000000000000000000000001p0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (-0.0 - 0x1.0000000000000002p0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (-0.0 - 0x1.0000000000001p0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (-0.25 + 1.0 i)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (-0.25 - 1.0 i)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (-0.5 + 0x1.fp-129 i)":
+double: 1
+idouble: 1
+Test "Imaginary part of: casin (-0.5 + 0x1p-105 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: casin (-0.5 + 0x1p-112 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (-0.5 + 0x1p-112 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: casin (-0.5 + 0x1p-23 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (-0.5 + 0x1p-23 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (-0.5 + 0x1p-63 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casin (-0.5 + 1.0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (-0.5 + 1.0 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (-0.5 - 0x1.fp-129 i)":
+double: 1
+idouble: 1
+Test "Imaginary part of: casin (-0.5 - 0x1p-105 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: casin (-0.5 - 0x1p-112 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (-0.5 - 0x1p-112 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: casin (-0.5 - 0x1p-23 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (-0.5 - 0x1p-23 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (-0.5 - 0x1p-63 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casin (-0.5 - 1.0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (-0.5 - 1.0 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: casin (-0x0.fffffffffffff8p0 + 0.0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casin (-0x0.fffffffffffff8p0 + 0x1.fp-1025 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (-0x0.fffffffffffff8p0 + 0x1p-52 i)":
+double: 1
+idouble: 1
+Test "Real part of: casin (-0x0.fffffffffffff8p0 - 0.0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casin (-0x0.fffffffffffff8p0 - 0x1.fp-1025 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (-0x0.fffffffffffff8p0 - 0x1p-52 i)":
+double: 1
+idouble: 1
+Test "Real part of: casin (-0x0.ffffffffffffffffffffffffffcp0 + 0x1p-105 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (-0x0.ffffffffffffffffffffffffffcp0 + 0x1p-105 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casin (-0x0.ffffffffffffffffffffffffffcp0 - 0x1p-105 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (-0x0.ffffffffffffffffffffffffffcp0 - 0x1p-105 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casin (-0x0.ffffffffffffffffffffffffffff8p0 + 0x1p-112 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casin (-0x0.ffffffffffffffffffffffffffff8p0 - 0x1p-112 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casin (-0x0.ffffffffffffffffp0 + 0.0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casin (-0x0.ffffffffffffffffp0 + 0x1.fp-16385 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (-0x0.ffffffffffffffffp0 + 0x1p-63 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casin (-0x0.ffffffffffffffffp0 - 0.0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casin (-0x0.ffffffffffffffffp0 - 0x1.fp-16385 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (-0x0.ffffffffffffffffp0 - 0x1p-63 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casin (-0x0.ffffffp0 + 0x1p-23 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (-0x0.ffffffp0 + 0x1p-23 i)":
+float: 2
+ifloat: 2
+Test "Real part of: casin (-0x0.ffffffp0 - 0x1p-23 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (-0x0.ffffffp0 - 0x1p-23 i)":
+float: 2
+ifloat: 2
+Test "Imaginary part of: casin (-0x1.0000000000000000000000000001p0 + 0.0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (-0x1.0000000000000000000000000001p0 + 0x1.fp-16385 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (-0x1.0000000000000000000000000001p0 + 0x1p-113 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (-0x1.0000000000000000000000000001p0 - 0.0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (-0x1.0000000000000000000000000001p0 - 0x1.fp-16385 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (-0x1.0000000000000000000000000001p0 - 0x1p-113 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (-0x1.000002p0 + 0x1p-23 i)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (-0x1.000002p0 - 0x1p-23 i)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: casin (-0x1.fp-10 + 1.0 i)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (-0x1.fp-10 + 1.0 i)":
+double: 1
+idouble: 1
+Test "Real part of: casin (-0x1.fp-10 - 1.0 i)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (-0x1.fp-10 - 1.0 i)":
+double: 1
+idouble: 1
+Test "Imaginary part of: casin (-0x1.fp-100 + 1.0 i)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (-0x1.fp-100 - 1.0 i)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (-0x1.fp-1000 + 1.0 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (-0x1.fp-1000 - 1.0 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (-0x1.fp-10000 + 1.0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (-0x1.fp-10000 - 1.0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (-0x1.fp-1025 + 0.5 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casin (-0x1.fp-1025 + 0x0.fffffffffffff8p0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (-0x1.fp-1025 + 0x0.ffffffffffffffffffffffffffcp0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (-0x1.fp-1025 + 0x1.0000000000001p0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (-0x1.fp-1025 + 1.0 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (-0x1.fp-1025 + 1.5 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (-0x1.fp-1025 - 0.5 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casin (-0x1.fp-1025 - 0x0.fffffffffffff8p0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (-0x1.fp-1025 - 0x0.ffffffffffffffffffffffffffcp0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (-0x1.fp-1025 - 0x1.0000000000001p0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (-0x1.fp-1025 - 1.0 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (-0x1.fp-1025 - 1.5 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (-0x1.fp-129 + 0.5 i)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (-0x1.fp-129 + 1.0 i)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (-0x1.fp-129 + 1.5 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (-0x1.fp-129 - 0.5 i)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (-0x1.fp-129 - 1.0 i)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (-0x1.fp-129 - 1.5 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (-0x1.fp-16385 + 0.5 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (-0x1.fp-16385 + 0x0.ffffffffffffffffp0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (-0x1.fp-16385 + 0x1.0000000000000000000000000001p0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (-0x1.fp-16385 + 0x1.0000000000000002p0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (-0x1.fp-16385 + 1.0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (-0x1.fp-16385 + 1.5 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (-0x1.fp-16385 - 0.5 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (-0x1.fp-16385 - 0x0.ffffffffffffffffp0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (-0x1.fp-16385 - 0x1.0000000000000000000000000001p0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (-0x1.fp-16385 - 0x1.0000000000000002p0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (-0x1.fp-16385 - 1.0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (-0x1.fp-16385 - 1.5 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casin (-0x1.fp-30 + 1.0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (-0x1.fp-30 + 1.0 i)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: casin (-0x1.fp-30 - 1.0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (-0x1.fp-30 - 1.0 i)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (-0x1p-105 + 0.5 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: casin (-0x1p-105 + 0x0.ffffffffffffffffffffffffffcp0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (-0x1p-105 - 0.5 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: casin (-0x1p-105 - 0x0.ffffffffffffffffffffffffffcp0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (-0x1p-112 + 0.5 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: casin (-0x1p-112 - 0.5 i)":
+float: 1
+ifloat: 1
+Test "Real part of: casin (-0x1p-113 + 0x1.0000000000000000000000000001p0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (-0x1p-113 + 0x1.0000000000000000000000000001p0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casin (-0x1p-113 - 0x1.0000000000000000000000000001p0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (-0x1p-113 - 0x1.0000000000000000000000000001p0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casin (-0x1p-23 + 0.5 i)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+ildouble: 2
+ldouble: 2
+Test "Imaginary part of: casin (-0x1p-23 + 0.5 i)":
+float: 1
+ifloat: 1
+ildouble: 2
+ldouble: 2
+Test "Imaginary part of: casin (-0x1p-23 + 0x0.ffffffp0 i)":
+double: 1
+idouble: 1
+Test "Real part of: casin (-0x1p-23 + 0x1.000002p0 i)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: casin (-0x1p-23 - 0.5 i)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+ildouble: 2
+ldouble: 2
+Test "Imaginary part of: casin (-0x1p-23 - 0.5 i)":
+float: 1
+ifloat: 1
+ildouble: 2
+ldouble: 2
+Test "Imaginary part of: casin (-0x1p-23 - 0x0.ffffffp0 i)":
+double: 1
+idouble: 1
+Test "Real part of: casin (-0x1p-23 - 0x1.000002p0 i)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: casin (-0x1p-52 + 0.5 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (-0x1p-52 + 0.5 i)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: casin (-0x1p-52 + 0x1.0000000000001p0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casin (-0x1p-52 - 0.5 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (-0x1p-52 - 0.5 i)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: casin (-0x1p-52 - 0x1.0000000000001p0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (-0x1p-63 + 0.5 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: casin (-0x1p-63 + 0x0.ffffffffffffffffp0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casin (-0x1p-63 + 0x1.0000000000000002p0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (-0x1p-63 + 0x1.0000000000000002p0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (-0x1p-63 - 0.5 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: casin (-0x1p-63 - 0x0.ffffffffffffffffp0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casin (-0x1p-63 - 0x1.0000000000000002p0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (-0x1p-63 - 0x1.0000000000000002p0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (-0x1p500 + 1.0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (-0x1p500 - 1.0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (-0x1p5000 + 1.0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (-0x1p5000 - 1.0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casin (-1.0 + 0.25 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: casin (-1.0 + 0.5 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: casin (-1.0 + 0.5 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: casin (-1.0 + 0x1.fp-10 i)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: casin (-1.0 + 0x1.fp-129 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (-1.0 + 0x1.fp-30 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (-1.0 + 0x1p500 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (-1.0 + 0x1p5000 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casin (-1.0 - 0.25 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: casin (-1.0 - 0.5 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: casin (-1.0 - 0.5 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: casin (-1.0 - 0x1.fp-10 i)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: casin (-1.0 - 0x1.fp-129 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (-1.0 - 0x1.fp-30 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (-1.0 - 0x1p500 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (-1.0 - 0x1p5000 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (0.0 + 0x0.ffffffffffffffffffffffffffcp0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (0.0 + 0x0.ffffffffffffffffp0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (0.0 + 0x1.0000000000000000000000000001p0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (0.0 + 0x1.0000000000000002p0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (0.0 + 0x1.0000000000001p0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (0.0 - 0x0.ffffffffffffffffffffffffffcp0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (0.0 - 0x0.ffffffffffffffffp0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (0.0 - 0x1.0000000000000000000000000001p0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (0.0 - 0x1.0000000000000002p0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (0.0 - 0x1.0000000000001p0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (0.25 + 1.0 i)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (0.25 - 1.0 i)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (0.5 + 0x1.fp-129 i)":
+double: 1
+idouble: 1
+Test "Imaginary part of: casin (0.5 + 0x1p-105 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: casin (0.5 + 0x1p-112 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (0.5 + 0x1p-112 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: casin (0.5 + 0x1p-23 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (0.5 + 0x1p-23 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (0.5 + 0x1p-63 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casin (0.5 + 1.0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (0.5 + 1.0 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (0.5 - 0x1.fp-129 i)":
+double: 1
+idouble: 1
+Test "Imaginary part of: casin (0.5 - 0x1p-105 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: casin (0.5 - 0x1p-112 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (0.5 - 0x1p-112 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: casin (0.5 - 0x1p-23 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (0.5 - 0x1p-23 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (0.5 - 0x1p-63 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casin (0.5 - 1.0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (0.5 - 1.0 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: casin (0.75 + 1.25 i)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+Test "Real part of: casin (0x0.fffffffffffff8p0 + 0.0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casin (0x0.fffffffffffff8p0 + 0x1.fp-1025 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (0x0.fffffffffffff8p0 + 0x1p-52 i)":
+double: 1
+idouble: 1
+Test "Real part of: casin (0x0.fffffffffffff8p0 - 0.0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casin (0x0.fffffffffffff8p0 - 0x1.fp-1025 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (0x0.fffffffffffff8p0 - 0x1p-52 i)":
+double: 1
+idouble: 1
+Test "Real part of: casin (0x0.ffffffffffffffffffffffffffcp0 + 0x1p-105 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (0x0.ffffffffffffffffffffffffffcp0 + 0x1p-105 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casin (0x0.ffffffffffffffffffffffffffcp0 - 0x1p-105 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (0x0.ffffffffffffffffffffffffffcp0 - 0x1p-105 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casin (0x0.ffffffffffffffffffffffffffff8p0 + 0x1p-112 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casin (0x0.ffffffffffffffffffffffffffff8p0 - 0x1p-112 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casin (0x0.ffffffffffffffffp0 + 0.0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casin (0x0.ffffffffffffffffp0 + 0x1.fp-16385 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (0x0.ffffffffffffffffp0 + 0x1p-63 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casin (0x0.ffffffffffffffffp0 - 0.0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casin (0x0.ffffffffffffffffp0 - 0x1.fp-16385 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (0x0.ffffffffffffffffp0 - 0x1p-63 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casin (0x0.ffffffp0 + 0x1p-23 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (0x0.ffffffp0 + 0x1p-23 i)":
+float: 2
+ifloat: 2
+Test "Real part of: casin (0x0.ffffffp0 - 0x1p-23 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (0x0.ffffffp0 - 0x1p-23 i)":
+float: 2
+ifloat: 2
+Test "Imaginary part of: casin (0x1.0000000000000000000000000001p0 + 0.0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (0x1.0000000000000000000000000001p0 + 0x1.fp-16385 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (0x1.0000000000000000000000000001p0 + 0x1p-113 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (0x1.0000000000000000000000000001p0 - 0.0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (0x1.0000000000000000000000000001p0 - 0x1.fp-16385 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (0x1.0000000000000000000000000001p0 - 0x1p-113 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (0x1.000002p0 + 0x1p-23 i)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (0x1.000002p0 - 0x1p-23 i)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: casin (0x1.fp-10 + 1.0 i)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (0x1.fp-10 + 1.0 i)":
+double: 1
+idouble: 1
+Test "Real part of: casin (0x1.fp-10 - 1.0 i)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (0x1.fp-10 - 1.0 i)":
+double: 1
+idouble: 1
+Test "Imaginary part of: casin (0x1.fp-100 + 1.0 i)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (0x1.fp-100 - 1.0 i)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (0x1.fp-1000 + 1.0 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (0x1.fp-1000 - 1.0 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (0x1.fp-10000 + 1.0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (0x1.fp-10000 - 1.0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (0x1.fp-1025 + 0.5 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casin (0x1.fp-1025 + 0x0.fffffffffffff8p0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (0x1.fp-1025 + 0x0.ffffffffffffffffffffffffffcp0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (0x1.fp-1025 + 0x1.0000000000001p0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (0x1.fp-1025 + 1.0 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (0x1.fp-1025 + 1.5 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (0x1.fp-1025 - 0.5 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casin (0x1.fp-1025 - 0x0.fffffffffffff8p0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (0x1.fp-1025 - 0x0.ffffffffffffffffffffffffffcp0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (0x1.fp-1025 - 0x1.0000000000001p0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (0x1.fp-1025 - 1.0 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (0x1.fp-1025 - 1.5 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (0x1.fp-129 + 0.5 i)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (0x1.fp-129 + 1.0 i)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (0x1.fp-129 + 1.5 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (0x1.fp-129 - 0.5 i)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (0x1.fp-129 - 1.0 i)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (0x1.fp-129 - 1.5 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (0x1.fp-16385 + 0.5 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (0x1.fp-16385 + 0x0.ffffffffffffffffp0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (0x1.fp-16385 + 0x1.0000000000000000000000000001p0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (0x1.fp-16385 + 0x1.0000000000000002p0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (0x1.fp-16385 + 1.0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (0x1.fp-16385 + 1.5 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (0x1.fp-16385 - 0.5 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (0x1.fp-16385 - 0x0.ffffffffffffffffp0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (0x1.fp-16385 - 0x1.0000000000000000000000000001p0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (0x1.fp-16385 - 0x1.0000000000000002p0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (0x1.fp-16385 - 1.0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (0x1.fp-16385 - 1.5 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casin (0x1.fp-30 + 1.0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (0x1.fp-30 + 1.0 i)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: casin (0x1.fp-30 - 1.0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (0x1.fp-30 - 1.0 i)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (0x1.fp1023 + 0x1.fp1023 i)":
+double: 1
+idouble: 1
+Test "Imaginary part of: casin (0x1.fp127 + 0x1.fp127 i)":
+double: 1
+idouble: 1
+Test "Imaginary part of: casin (0x1.fp16383 + 0x1.fp16383 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (0x1p-105 + 0.5 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: casin (0x1p-105 + 0x0.ffffffffffffffffffffffffffcp0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (0x1p-105 - 0.5 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: casin (0x1p-105 - 0x0.ffffffffffffffffffffffffffcp0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (0x1p-112 + 0.5 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: casin (0x1p-112 - 0.5 i)":
+float: 1
+ifloat: 1
+Test "Real part of: casin (0x1p-113 + 0x1.0000000000000000000000000001p0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (0x1p-113 + 0x1.0000000000000000000000000001p0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casin (0x1p-113 - 0x1.0000000000000000000000000001p0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (0x1p-113 - 0x1.0000000000000000000000000001p0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casin (0x1p-23 + 0.5 i)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+ildouble: 2
+ldouble: 2
+Test "Imaginary part of: casin (0x1p-23 + 0.5 i)":
+float: 1
+ifloat: 1
+ildouble: 2
+ldouble: 2
+Test "Imaginary part of: casin (0x1p-23 + 0x0.ffffffp0 i)":
+double: 1
+idouble: 1
+Test "Real part of: casin (0x1p-23 + 0x1.000002p0 i)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: casin (0x1p-23 - 0.5 i)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+ildouble: 2
+ldouble: 2
+Test "Imaginary part of: casin (0x1p-23 - 0.5 i)":
+float: 1
+ifloat: 1
+ildouble: 2
+ldouble: 2
+Test "Imaginary part of: casin (0x1p-23 - 0x0.ffffffp0 i)":
+double: 1
+idouble: 1
+Test "Real part of: casin (0x1p-23 - 0x1.000002p0 i)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: casin (0x1p-52 + 0.5 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (0x1p-52 + 0.5 i)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: casin (0x1p-52 + 0x1.0000000000001p0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casin (0x1p-52 - 0.5 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (0x1p-52 - 0.5 i)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: casin (0x1p-52 - 0x1.0000000000001p0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (0x1p-63 + 0.5 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: casin (0x1p-63 + 0x0.ffffffffffffffffp0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casin (0x1p-63 + 0x1.0000000000000002p0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (0x1p-63 + 0x1.0000000000000002p0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (0x1p-63 - 0.5 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: casin (0x1p-63 - 0x0.ffffffffffffffffp0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casin (0x1p-63 - 0x1.0000000000000002p0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (0x1p-63 - 0x1.0000000000000002p0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (0x1p500 + 1.0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (0x1p500 - 1.0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (0x1p5000 + 1.0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (0x1p5000 - 1.0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casin (1.0 + 0.25 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: casin (1.0 + 0.5 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: casin (1.0 + 0.5 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: casin (1.0 + 0x1.fp-10 i)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: casin (1.0 + 0x1.fp-129 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (1.0 + 0x1.fp-30 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (1.0 + 0x1p500 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (1.0 + 0x1p5000 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casin (1.0 - 0.25 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: casin (1.0 - 0.5 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: casin (1.0 - 0.5 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: casin (1.0 - 0x1.fp-10 i)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: casin (1.0 - 0x1.fp-129 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (1.0 - 0x1.fp-30 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (1.0 - 0x1p500 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casin (1.0 - 0x1p5000 i)":
+ildouble: 1
+ldouble: 1
+
+# casinh
+Test "Imaginary part of: casinh (-0.0 + 0x0.fffffffffffff8p0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casinh (-0.0 + 0x0.ffffffffffffffffp0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (-0.0 + 0x1.0000000000000000000000000001p0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casinh (-0.0 - 0x0.fffffffffffff8p0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casinh (-0.0 - 0x0.ffffffffffffffffp0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (-0.0 - 0x1.0000000000000000000000000001p0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casinh (-0.25 + 1.0 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casinh (-0.25 - 1.0 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (-0.5 + +0 i)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (-0.5 + 0x1.fp-1025 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (-0.5 + 0x1.fp-129 i)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (-0.5 + 0x1.fp-16385 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (-0.5 + 0x1p-105 i)":
+float: 1
+ifloat: 1
+Test "Real part of: casinh (-0.5 + 0x1p-112 i)":
+float: 1
+ifloat: 1
+Test "Real part of: casinh (-0.5 + 0x1p-23 i)":
+float: 1
+ifloat: 1
+ildouble: 2
+ldouble: 2
+Test "Imaginary part of: casinh (-0.5 + 0x1p-23 i)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+ildouble: 2
+ldouble: 2
+Test "Real part of: casinh (-0.5 + 0x1p-52 i)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casinh (-0.5 + 0x1p-52 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (-0.5 + 0x1p-63 i)":
+float: 1
+ifloat: 1
+Test "Real part of: casinh (-0.5 + 1.0 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: casinh (-0.5 + 1.0 i)":
+float: 1
+ifloat: 1
+Test "Real part of: casinh (-0.5 - 0 i)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (-0.5 - 0x1.fp-1025 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (-0.5 - 0x1.fp-129 i)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (-0.5 - 0x1.fp-16385 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (-0.5 - 0x1p-105 i)":
+float: 1
+ifloat: 1
+Test "Real part of: casinh (-0.5 - 0x1p-112 i)":
+float: 1
+ifloat: 1
+Test "Real part of: casinh (-0.5 - 0x1p-23 i)":
+float: 1
+ifloat: 1
+ildouble: 2
+ldouble: 2
+Test "Imaginary part of: casinh (-0.5 - 0x1p-23 i)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+ildouble: 2
+ldouble: 2
+Test "Real part of: casinh (-0.5 - 0x1p-52 i)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casinh (-0.5 - 0x1p-52 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (-0.5 - 0x1p-63 i)":
+float: 1
+ifloat: 1
+Test "Real part of: casinh (-0.5 - 1.0 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: casinh (-0.5 - 1.0 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: casinh (-0x0.fffffffffffff8p0 + 0x1.fp-1025 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casinh (-0x0.fffffffffffff8p0 - 0x1.fp-1025 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (-0x0.ffffffffffffffffffffffffffcp0 + 0.0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (-0x0.ffffffffffffffffffffffffffcp0 + 0x1.fp-1025 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (-0x0.ffffffffffffffffffffffffffcp0 + 0x1p-105 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (-0x0.ffffffffffffffffffffffffffcp0 - 0.0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (-0x0.ffffffffffffffffffffffffffcp0 - 0x1.fp-1025 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (-0x0.ffffffffffffffffffffffffffcp0 - 0x1p-105 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (-0x0.ffffffffffffffffp0 + 0.0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (-0x0.ffffffffffffffffp0 + 0x1.fp-16385 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (-0x0.ffffffffffffffffp0 + 0x1p-63 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (-0x0.ffffffffffffffffp0 - 0.0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (-0x0.ffffffffffffffffp0 - 0x1.fp-16385 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (-0x0.ffffffffffffffffp0 - 0x1p-63 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (-0x0.ffffffp0 + 0x1p-23 i)":
+double: 1
+idouble: 1
+Test "Real part of: casinh (-0x0.ffffffp0 - 0x1p-23 i)":
+double: 1
+idouble: 1
+Test "Real part of: casinh (-0x1.0000000000000000000000000001p0 + 0.0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (-0x1.0000000000000000000000000001p0 + 0x1.fp-16385 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (-0x1.0000000000000000000000000001p0 + 0x1p-113 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casinh (-0x1.0000000000000000000000000001p0 + 0x1p-113 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (-0x1.0000000000000000000000000001p0 - 0.0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (-0x1.0000000000000000000000000001p0 - 0x1.fp-16385 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (-0x1.0000000000000000000000000001p0 - 0x1p-113 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casinh (-0x1.0000000000000000000000000001p0 - 0x1p-113 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (-0x1.0000000000000002p0 + 0.0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (-0x1.0000000000000002p0 + 0x1.fp-16385 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (-0x1.0000000000000002p0 + 0x1p-63 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casinh (-0x1.0000000000000002p0 + 0x1p-63 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (-0x1.0000000000000002p0 - 0.0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (-0x1.0000000000000002p0 - 0x1.fp-16385 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (-0x1.0000000000000002p0 - 0x1p-63 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casinh (-0x1.0000000000000002p0 - 0x1p-63 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (-0x1.0000000000001p0 + 0.0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (-0x1.0000000000001p0 + 0x1.fp-1025 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casinh (-0x1.0000000000001p0 + 0x1p-52 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (-0x1.0000000000001p0 - 0.0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (-0x1.0000000000001p0 - 0x1.fp-1025 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casinh (-0x1.0000000000001p0 - 0x1p-52 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casinh (-0x1.000002p0 + 0x1p-23 i)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casinh (-0x1.000002p0 - 0x1p-23 i)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (-0x1.fp-10 + 1.0 i)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (-0x1.fp-10 - 1.0 i)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casinh (-0x1.fp-1025 + 0x0.fffffffffffff8p0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casinh (-0x1.fp-1025 - 0x0.fffffffffffff8p0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (-0x1.fp-129 + 0.5 i)":
+double: 1
+idouble: 1
+Test "Imaginary part of: casinh (-0x1.fp-129 + 1.0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (-0x1.fp-129 - 0.5 i)":
+double: 1
+idouble: 1
+Test "Imaginary part of: casinh (-0x1.fp-129 - 1.0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casinh (-0x1.fp-16385 + 0x0.ffffffffffffffffp0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (-0x1.fp-16385 + 0x1.0000000000000000000000000001p0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casinh (-0x1.fp-16385 - 0x0.ffffffffffffffffp0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (-0x1.fp-16385 - 0x1.0000000000000000000000000001p0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (-0x1.fp-30 + 1.0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (-0x1.fp-30 - 1.0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (-0x1p-105 + 0.5 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (-0x1p-105 + 0x0.ffffffffffffffffffffffffffcp0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casinh (-0x1p-105 + 0x0.ffffffffffffffffffffffffffcp0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (-0x1p-105 - 0.5 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (-0x1p-105 - 0x0.ffffffffffffffffffffffffffcp0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casinh (-0x1p-105 - 0x0.ffffffffffffffffffffffffffcp0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (-0x1p-112 + 0.5 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casinh (-0x1p-112 + 0.5 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casinh (-0x1p-112 + 0x0.ffffffffffffffffffffffffffff8p0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (-0x1p-112 - 0.5 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casinh (-0x1p-112 - 0.5 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casinh (-0x1p-112 - 0x0.ffffffffffffffffffffffffffff8p0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (-0x1p-113 + 0x1.0000000000000000000000000001p0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (-0x1p-113 - 0x1.0000000000000000000000000001p0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (-0x1p-23 + 0.5 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casinh (-0x1p-23 + 0.5 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (-0x1p-23 + 0x0.ffffffp0 i)":
+float: 2
+ifloat: 2
+Test "Imaginary part of: casinh (-0x1p-23 + 0x0.ffffffp0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (-0x1p-23 + 0x1.000002p0 i)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (-0x1p-23 - 0.5 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casinh (-0x1p-23 - 0.5 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (-0x1p-23 - 0x0.ffffffp0 i)":
+float: 2
+ifloat: 2
+Test "Imaginary part of: casinh (-0x1p-23 - 0x0.ffffffp0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (-0x1p-23 - 0x1.000002p0 i)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (-0x1p-52 + 0x0.fffffffffffff8p0 i)":
+double: 1
+idouble: 1
+Test "Real part of: casinh (-0x1p-52 - 0x0.fffffffffffff8p0 i)":
+double: 1
+idouble: 1
+Test "Real part of: casinh (-0x1p-63 + 0.5 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (-0x1p-63 + 0x0.ffffffffffffffffp0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (-0x1p-63 - 0.5 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (-0x1p-63 - 0x0.ffffffffffffffffp0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (-0x1p500 + 1.0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (-0x1p500 - 1.0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (-0x1p5000 + 1.0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (-0x1p5000 - 1.0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (-1.0 + +0 i)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (-1.0 + 0.25 i)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (-1.0 + 0.5 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casinh (-1.0 + 0.5 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (-1.0 + 0x1.fp-10 i)":
+double: 1
+idouble: 1
+Test "Imaginary part of: casinh (-1.0 + 0x1.fp-10 i)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (-1.0 + 0x1.fp-100 i)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (-1.0 + 0x1.fp-1000 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (-1.0 + 0x1.fp-10000 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (-1.0 + 0x1.fp-1025 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (-1.0 + 0x1.fp-129 i)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (-1.0 + 0x1.fp-16385 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (-1.0 + 0x1.fp-30 i)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casinh (-1.0 + 0x1.fp-30 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (-1.0 + 0x1p500 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (-1.0 + 0x1p5000 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (-1.0 - 0 i)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (-1.0 - 0.25 i)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (-1.0 - 0.5 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casinh (-1.0 - 0.5 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (-1.0 - 0x1.fp-10 i)":
+double: 1
+idouble: 1
+Test "Imaginary part of: casinh (-1.0 - 0x1.fp-10 i)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (-1.0 - 0x1.fp-100 i)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (-1.0 - 0x1.fp-1000 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (-1.0 - 0x1.fp-10000 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (-1.0 - 0x1.fp-1025 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (-1.0 - 0x1.fp-129 i)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (-1.0 - 0x1.fp-16385 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (-1.0 - 0x1.fp-30 i)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casinh (-1.0 - 0x1.fp-30 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (-1.0 - 0x1p500 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (-1.0 - 0x1p5000 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (-1.5 + +0 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (-1.5 + 0x1.fp-1025 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (-1.5 + 0x1.fp-129 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (-1.5 + 0x1.fp-16385 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (-1.5 - 0 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (-1.5 - 0x1.fp-1025 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (-1.5 - 0x1.fp-129 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (-1.5 - 0x1.fp-16385 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casinh (0.0 + 0x0.fffffffffffff8p0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casinh (0.0 + 0x0.ffffffffffffffffp0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (0.0 + 0x1.0000000000000000000000000001p0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casinh (0.0 - 0x0.fffffffffffff8p0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casinh (0.0 - 0x0.ffffffffffffffffp0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (0.0 - 0x1.0000000000000000000000000001p0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casinh (0.25 + 1.0 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casinh (0.25 - 1.0 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (0.5 + +0 i)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (0.5 + 0x1.fp-1025 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (0.5 + 0x1.fp-129 i)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (0.5 + 0x1.fp-16385 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (0.5 + 0x1p-105 i)":
+float: 1
+ifloat: 1
+Test "Real part of: casinh (0.5 + 0x1p-112 i)":
+float: 1
+ifloat: 1
+Test "Real part of: casinh (0.5 + 0x1p-23 i)":
+float: 1
+ifloat: 1
+ildouble: 2
+ldouble: 2
+Test "Imaginary part of: casinh (0.5 + 0x1p-23 i)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+ildouble: 2
+ldouble: 2
+Test "Real part of: casinh (0.5 + 0x1p-52 i)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casinh (0.5 + 0x1p-52 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (0.5 + 0x1p-63 i)":
+float: 1
+ifloat: 1
+Test "Real part of: casinh (0.5 + 1.0 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: casinh (0.5 + 1.0 i)":
+float: 1
+ifloat: 1
+Test "Real part of: casinh (0.5 - 0 i)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (0.5 - 0x1.fp-1025 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (0.5 - 0x1.fp-129 i)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (0.5 - 0x1.fp-16385 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (0.5 - 0x1p-105 i)":
+float: 1
+ifloat: 1
+Test "Real part of: casinh (0.5 - 0x1p-112 i)":
+float: 1
+ifloat: 1
+Test "Real part of: casinh (0.5 - 0x1p-23 i)":
+float: 1
+ifloat: 1
+ildouble: 2
+ldouble: 2
+Test "Imaginary part of: casinh (0.5 - 0x1p-23 i)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+ildouble: 2
+ldouble: 2
+Test "Real part of: casinh (0.5 - 0x1p-52 i)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casinh (0.5 - 0x1p-52 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (0.5 - 0x1p-63 i)":
+float: 1
+ifloat: 1
+Test "Real part of: casinh (0.5 - 1.0 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: casinh (0.5 - 1.0 i)":
+float: 1
+ifloat: 1
+Test "Real part of: casinh (0.75 + 1.25 i)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casinh (0.75 + 1.25 i)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casinh (0x0.fffffffffffff8p0 + 0x1.fp-1025 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casinh (0x0.fffffffffffff8p0 - 0x1.fp-1025 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (0x0.ffffffffffffffffffffffffffcp0 + 0.0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (0x0.ffffffffffffffffffffffffffcp0 + 0x1.fp-1025 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (0x0.ffffffffffffffffffffffffffcp0 + 0x1p-105 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (0x0.ffffffffffffffffffffffffffcp0 - 0.0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (0x0.ffffffffffffffffffffffffffcp0 - 0x1.fp-1025 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (0x0.ffffffffffffffffffffffffffcp0 - 0x1p-105 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (0x0.ffffffffffffffffp0 + 0.0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (0x0.ffffffffffffffffp0 + 0x1.fp-16385 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (0x0.ffffffffffffffffp0 + 0x1p-63 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (0x0.ffffffffffffffffp0 - 0.0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (0x0.ffffffffffffffffp0 - 0x1.fp-16385 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (0x0.ffffffffffffffffp0 - 0x1p-63 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (0x0.ffffffp0 + 0x1p-23 i)":
+double: 1
+idouble: 1
+Test "Real part of: casinh (0x0.ffffffp0 - 0x1p-23 i)":
+double: 1
+idouble: 1
+Test "Real part of: casinh (0x1.0000000000000000000000000001p0 + 0.0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (0x1.0000000000000000000000000001p0 + 0x1.fp-16385 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (0x1.0000000000000000000000000001p0 + 0x1p-113 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casinh (0x1.0000000000000000000000000001p0 + 0x1p-113 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (0x1.0000000000000000000000000001p0 - 0.0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (0x1.0000000000000000000000000001p0 - 0x1.fp-16385 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (0x1.0000000000000000000000000001p0 - 0x1p-113 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casinh (0x1.0000000000000000000000000001p0 - 0x1p-113 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (0x1.0000000000000002p0 + 0.0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (0x1.0000000000000002p0 + 0x1.fp-16385 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (0x1.0000000000000002p0 + 0x1p-63 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casinh (0x1.0000000000000002p0 + 0x1p-63 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (0x1.0000000000000002p0 - 0.0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (0x1.0000000000000002p0 - 0x1.fp-16385 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (0x1.0000000000000002p0 - 0x1p-63 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casinh (0x1.0000000000000002p0 - 0x1p-63 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (0x1.0000000000001p0 + 0.0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (0x1.0000000000001p0 + 0x1.fp-1025 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casinh (0x1.0000000000001p0 + 0x1p-52 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (0x1.0000000000001p0 - 0.0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (0x1.0000000000001p0 - 0x1.fp-1025 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casinh (0x1.0000000000001p0 - 0x1p-52 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casinh (0x1.000002p0 + 0x1p-23 i)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casinh (0x1.000002p0 - 0x1p-23 i)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (0x1.fp-10 + 1.0 i)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (0x1.fp-10 - 1.0 i)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casinh (0x1.fp-1025 + 0x0.fffffffffffff8p0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casinh (0x1.fp-1025 - 0x0.fffffffffffff8p0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (0x1.fp-129 + 0.5 i)":
+double: 1
+idouble: 1
+Test "Imaginary part of: casinh (0x1.fp-129 + 1.0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (0x1.fp-129 - 0.5 i)":
+double: 1
+idouble: 1
+Test "Imaginary part of: casinh (0x1.fp-129 - 1.0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casinh (0x1.fp-16385 + 0x0.ffffffffffffffffp0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (0x1.fp-16385 + 0x1.0000000000000000000000000001p0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casinh (0x1.fp-16385 - 0x0.ffffffffffffffffp0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (0x1.fp-16385 - 0x1.0000000000000000000000000001p0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (0x1.fp-30 + 1.0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (0x1.fp-30 - 1.0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (0x1.fp1023 + 0x1.fp1023 i)":
+double: 1
+idouble: 1
+Test "Real part of: casinh (0x1.fp127 + 0x1.fp127 i)":
+double: 1
+idouble: 1
+Test "Real part of: casinh (0x1.fp16383 + 0x1.fp16383 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (0x1p-105 + 0.5 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (0x1p-105 + 0x0.ffffffffffffffffffffffffffcp0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casinh (0x1p-105 + 0x0.ffffffffffffffffffffffffffcp0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (0x1p-105 - 0.5 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (0x1p-105 - 0x0.ffffffffffffffffffffffffffcp0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casinh (0x1p-105 - 0x0.ffffffffffffffffffffffffffcp0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (0x1p-112 + 0.5 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casinh (0x1p-112 + 0.5 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casinh (0x1p-112 + 0x0.ffffffffffffffffffffffffffff8p0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (0x1p-112 - 0.5 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casinh (0x1p-112 - 0.5 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casinh (0x1p-112 - 0x0.ffffffffffffffffffffffffffff8p0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (0x1p-113 + 0x1.0000000000000000000000000001p0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (0x1p-113 - 0x1.0000000000000000000000000001p0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (0x1p-23 + 0.5 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casinh (0x1p-23 + 0.5 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (0x1p-23 + 0x0.ffffffp0 i)":
+float: 2
+ifloat: 2
+Test "Imaginary part of: casinh (0x1p-23 + 0x0.ffffffp0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (0x1p-23 + 0x1.000002p0 i)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (0x1p-23 - 0.5 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casinh (0x1p-23 - 0.5 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (0x1p-23 - 0x0.ffffffp0 i)":
+float: 2
+ifloat: 2
+Test "Imaginary part of: casinh (0x1p-23 - 0x0.ffffffp0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (0x1p-23 - 0x1.000002p0 i)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (0x1p-52 + 0x0.fffffffffffff8p0 i)":
+double: 1
+idouble: 1
+Test "Real part of: casinh (0x1p-52 - 0x0.fffffffffffff8p0 i)":
+double: 1
+idouble: 1
+Test "Real part of: casinh (0x1p-63 + 0.5 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (0x1p-63 + 0x0.ffffffffffffffffp0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (0x1p-63 - 0.5 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (0x1p-63 - 0x0.ffffffffffffffffp0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (0x1p500 + 1.0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (0x1p500 - 1.0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (0x1p5000 + 1.0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (0x1p5000 - 1.0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (1.0 + +0 i)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (1.0 + 0.25 i)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (1.0 + 0.5 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casinh (1.0 + 0.5 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (1.0 + 0x1.fp-10 i)":
+double: 1
+idouble: 1
+Test "Imaginary part of: casinh (1.0 + 0x1.fp-10 i)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (1.0 + 0x1.fp-100 i)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (1.0 + 0x1.fp-1000 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (1.0 + 0x1.fp-10000 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (1.0 + 0x1.fp-1025 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (1.0 + 0x1.fp-129 i)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (1.0 + 0x1.fp-16385 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (1.0 + 0x1.fp-30 i)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casinh (1.0 + 0x1.fp-30 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (1.0 + 0x1p500 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (1.0 + 0x1p5000 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (1.0 - 0 i)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (1.0 - 0.25 i)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (1.0 - 0.5 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casinh (1.0 - 0.5 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (1.0 - 0x1.fp-10 i)":
+double: 1
+idouble: 1
+Test "Imaginary part of: casinh (1.0 - 0x1.fp-10 i)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (1.0 - 0x1.fp-100 i)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (1.0 - 0x1.fp-1000 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (1.0 - 0x1.fp-10000 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (1.0 - 0x1.fp-1025 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (1.0 - 0x1.fp-129 i)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (1.0 - 0x1.fp-16385 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (1.0 - 0x1.fp-30 i)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: casinh (1.0 - 0x1.fp-30 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (1.0 - 0x1p500 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (1.0 - 0x1p5000 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (1.5 + +0 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (1.5 + 0x1.fp-1025 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (1.5 + 0x1.fp-129 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (1.5 + 0x1.fp-16385 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (1.5 - 0 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (1.5 - 0x1.fp-1025 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (1.5 - 0x1.fp-129 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: casinh (1.5 - 0x1.fp-16385 i)":
+ildouble: 1
+ldouble: 1
+
+# catan
+Test "Imaginary part of: catan (-0x0.fffffffffffff8p0 + 0x1p-27 i)":
+double: 1
+idouble: 1
+Test "Real part of: catan (-0x0.ffffffffffffffffffffffffffff8p0 + 0x1p-16382 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: catan (-0x0.ffffffffffffffffffffffffffff8p0 + 0x1p-57 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: catan (-0x0.ffffffffffffffffffffffffffff8p0 - 0x1p-16382 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: catan (-0x0.ffffffp0 + 0x1p-126 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: catan (-0x0.ffffffp0 + 0x1p-13 i)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: catan (-0x0.ffffffp0 - 0x1p-126 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: catan (-0x1.0000000000000000000000000001p0 + 0x1p-16382 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: catan (-0x1.0000000000000000000000000001p0 - 0x1p-16382 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: catan (-0x1.0000000000000000000000000001p0 - 0x1p-57 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: catan (-0x1.0000000000001p0 - 0x1p-27 i)":
+double: 1
+idouble: 1
+Test "Real part of: catan (-0x1.000002p0 + 0x1p-126 i)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: catan (-0x1.000002p0 + 0x1p-13 i)":
+float: 1
+ifloat: 1
+Test "Real part of: catan (-0x1.000002p0 - 0x1p-126 i)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: catan (-0x1.000002p0 - 0x1p-13 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: catan (-0x1.000002p0 - 0x1p-13 i)":
+double: 1
+idouble: 1
+Test "Imaginary part of: catan (-0x1.fp1023 + 0x1.fp1023 i)":
+double: 1
+idouble: 1
+Test "Imaginary part of: catan (-0x1.fp1023 - 0x1.fp1023 i)":
+double: 1
+idouble: 1
+Test "Imaginary part of: catan (-0x1.fp127 + 0x1.fp127 i)":
+double: 1
+idouble: 1
+Test "Imaginary part of: catan (-0x1.fp127 - 0x1.fp127 i)":
+double: 1
+idouble: 1
+Test "Imaginary part of: catan (-0x1.fp16383 + 0x1.fp16383 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: catan (-0x1.fp16383 - 0x1.fp16383 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: catan (-0x1p-1020 + 1.0 i)":
+double: 1
+idouble: 1
+Test "Imaginary part of: catan (-0x1p-1020 - 1.0 i)":
+double: 1
+idouble: 1
+Test "Real part of: catan (-0x1p-13 + 0x1.000002p0 i)":
+float: 1
+ifloat: 1
+Test "Real part of: catan (-0x1p-13 + 1.0 i)":
+float: 1
+ifloat: 1
+Test "Real part of: catan (-0x1p-13 - 0x1.000002p0 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: catan (-0x1p-13 - 0x1.000002p0 i)":
+float: 1
+ifloat: 1
+Test "Real part of: catan (-0x1p-13 - 1.0 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: catan (-0x1p-16380 + 1.0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: catan (-0x1p-16380 - 1.0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: catan (-0x1p-33 + 0x0.ffffffffffffffffp0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: catan (-0x1p-33 + 0x1.0000000000000002p0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: catan (-0x1p-33 - 0x0.ffffffffffffffffp0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: catan (-0x1p-33 - 0x1.0000000000000002p0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: catan (-0x1p-54 + 1.0 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: catan (-0x1p-54 - 1.0 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: catan (-0x1p-57 + 1.0 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: catan (-0x1p-57 - 1.0 i)":
+float: 1
+ifloat: 1
+Test "Real part of: catan (-1.0 + 0x1p-13 i)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: catan (-1.0 - 0x1p-13 i)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: catan (-2 - 3 i)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+Test "Imaginary part of: catan (0.75 + 1.25 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: catan (0x0.fffffffffffff8p0 + 0x1p-27 i)":
+double: 1
+idouble: 1
+Test "Real part of: catan (0x0.ffffffffffffffffffffffffffff8p0 + 0x1p-16382 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: catan (0x0.ffffffffffffffffffffffffffff8p0 + 0x1p-57 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: catan (0x0.ffffffffffffffffffffffffffff8p0 - 0x1p-16382 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: catan (0x0.ffffffp0 + 0x1p-126 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: catan (0x0.ffffffp0 + 0x1p-13 i)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: catan (0x0.ffffffp0 - 0x1p-126 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: catan (0x1.0000000000000000000000000001p0 + 0x1p-16382 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: catan (0x1.0000000000000000000000000001p0 - 0x1p-16382 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: catan (0x1.0000000000000000000000000001p0 - 0x1p-57 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: catan (0x1.0000000000001p0 - 0x1p-27 i)":
+double: 1
+idouble: 1
+Test "Real part of: catan (0x1.000002p0 + 0x1p-126 i)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: catan (0x1.000002p0 + 0x1p-13 i)":
+float: 1
+ifloat: 1
+Test "Real part of: catan (0x1.000002p0 - 0x1p-126 i)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: catan (0x1.000002p0 - 0x1p-13 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: catan (0x1.000002p0 - 0x1p-13 i)":
+double: 1
+idouble: 1
+Test "Imaginary part of: catan (0x1.fp1023 + 0x1.fp1023 i)":
+double: 1
+idouble: 1
+Test "Imaginary part of: catan (0x1.fp1023 - 0x1.fp1023 i)":
+double: 1
+idouble: 1
+Test "Imaginary part of: catan (0x1.fp127 + 0x1.fp127 i)":
+double: 1
+idouble: 1
+Test "Imaginary part of: catan (0x1.fp127 - 0x1.fp127 i)":
+double: 1
+idouble: 1
+Test "Imaginary part of: catan (0x1.fp16383 + 0x1.fp16383 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: catan (0x1.fp16383 - 0x1.fp16383 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: catan (0x1p-1020 + 1.0 i)":
+double: 1
+idouble: 1
+Test "Imaginary part of: catan (0x1p-1020 - 1.0 i)":
+double: 1
+idouble: 1
+Test "Real part of: catan (0x1p-13 + 0x1.000002p0 i)":
+float: 1
+ifloat: 1
+Test "Real part of: catan (0x1p-13 + 1.0 i)":
+float: 1
+ifloat: 1
+Test "Real part of: catan (0x1p-13 - 0x1.000002p0 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: catan (0x1p-13 - 0x1.000002p0 i)":
+float: 1
+ifloat: 1
+Test "Real part of: catan (0x1p-13 - 1.0 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: catan (0x1p-16380 + 1.0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: catan (0x1p-16380 - 1.0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: catan (0x1p-33 + 0x0.ffffffffffffffffp0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: catan (0x1p-33 + 0x1.0000000000000002p0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: catan (0x1p-33 - 0x0.ffffffffffffffffp0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: catan (0x1p-33 - 0x1.0000000000000002p0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: catan (0x1p-54 + 1.0 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: catan (0x1p-54 - 1.0 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: catan (0x1p-57 + 1.0 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: catan (0x1p-57 - 1.0 i)":
+float: 1
+ifloat: 1
+Test "Real part of: catan (1.0 + 0x1p-13 i)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: catan (1.0 - 0x1p-13 i)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+
+# catanh
+Test "Imaginary part of: catanh (-0x0.ffffffffffffffffp0 + 0x1p-33 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: catanh (-0x0.ffffffffffffffffp0 - 0x1p-33 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: catanh (-0x1.0000000000000002p0 + 0x1p-33 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: catanh (-0x1.0000000000000002p0 - 0x1p-33 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: catanh (-0x1.000002p0 + 0x1p-13 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: catanh (-0x1.000002p0 + 0x1p-13 i)":
+float: 1
+ifloat: 1
+Test "Real part of: catanh (-0x1.000002p0 - 0x1p-13 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: catanh (-0x1.000002p0 - 0x1p-13 i)":
+float: 1
+ifloat: 1
+Test "Real part of: catanh (-0x1.fp1023 + 0x1.fp1023 i)":
+double: 1
+idouble: 1
+Test "Real part of: catanh (-0x1.fp1023 - 0x1.fp1023 i)":
+double: 1
+idouble: 1
+Test "Real part of: catanh (-0x1.fp127 + 0x1.fp127 i)":
+double: 1
+idouble: 1
+Test "Real part of: catanh (-0x1.fp127 - 0x1.fp127 i)":
+double: 1
+idouble: 1
+Test "Real part of: catanh (-0x1.fp16383 + 0x1.fp16383 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: catanh (-0x1.fp16383 - 0x1.fp16383 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: catanh (-0x1p-126 + 0x0.ffffffp0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: catanh (-0x1p-126 + 0x1.000002p0 i)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: catanh (-0x1p-126 - 0x0.ffffffp0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: catanh (-0x1p-126 - 0x1.000002p0 i)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: catanh (-0x1p-13 + 0x1.000002p0 i)":
+double: 1
+idouble: 1
+Test "Imaginary part of: catanh (-0x1p-13 + 0x1.000002p0 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: catanh (-0x1p-13 + 1.0 i)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: catanh (-0x1p-13 - 0x1.000002p0 i)":
+double: 1
+idouble: 1
+Test "Imaginary part of: catanh (-0x1p-13 - 0x1.000002p0 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: catanh (-0x1p-13 - 1.0 i)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: catanh (-0x1p-16382 + 0x0.ffffffffffffffffffffffffffff8p0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: catanh (-0x1p-16382 + 0x1.0000000000000000000000000001p0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: catanh (-0x1p-16382 - 0x0.ffffffffffffffffffffffffffff8p0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: catanh (-0x1p-16382 - 0x1.0000000000000000000000000001p0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: catanh (-0x1p-27 + 0x1.0000000000001p0 i)":
+double: 1
+idouble: 1
+Test "Real part of: catanh (-0x1p-27 - 0x1.0000000000001p0 i)":
+double: 1
+idouble: 1
+Test "Real part of: catanh (-0x1p-57 + 0x1.0000000000000000000000000001p0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: catanh (-0x1p-57 - 0x1.0000000000000000000000000001p0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: catanh (-1.0 + 0x1p-1020 i)":
+double: 1
+idouble: 1
+Test "Imaginary part of: catanh (-1.0 + 0x1p-13 i)":
+float: 1
+ifloat: 1
+Test "Real part of: catanh (-1.0 + 0x1p-16380 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: catanh (-1.0 + 0x1p-54 i)":
+float: 1
+ifloat: 1
+Test "Real part of: catanh (-1.0 + 0x1p-57 i)":
+float: 1
+ifloat: 1
+Test "Real part of: catanh (-1.0 - 0x1p-1020 i)":
+double: 1
+idouble: 1
+Test "Imaginary part of: catanh (-1.0 - 0x1p-13 i)":
+float: 1
+ifloat: 1
+Test "Real part of: catanh (-1.0 - 0x1p-16380 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: catanh (-1.0 - 0x1p-54 i)":
+float: 1
+ifloat: 1
+Test "Real part of: catanh (-1.0 - 0x1p-57 i)":
+float: 1
+ifloat: 1
+Test "Real part of: catanh (-2 - 3 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: catanh (0.75 + 1.25 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: catanh (0.75 + 1.25 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: catanh (0x0.ffffffffffffffffp0 + 0x1p-33 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: catanh (0x0.ffffffffffffffffp0 - 0x1p-33 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: catanh (0x1.0000000000000002p0 + 0x1p-33 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: catanh (0x1.0000000000000002p0 - 0x1p-33 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: catanh (0x1.000002p0 + 0x1p-13 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: catanh (0x1.000002p0 - 0x1p-13 i)":
+float: 1
+ifloat: 1
+Test "Real part of: catanh (0x1.fp1023 + 0x1.fp1023 i)":
+double: 1
+idouble: 1
+Test "Real part of: catanh (0x1.fp1023 - 0x1.fp1023 i)":
+double: 1
+idouble: 1
+Test "Real part of: catanh (0x1.fp127 + 0x1.fp127 i)":
+double: 1
+idouble: 1
+Test "Real part of: catanh (0x1.fp127 - 0x1.fp127 i)":
+double: 1
+idouble: 1
+Test "Real part of: catanh (0x1.fp16383 + 0x1.fp16383 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: catanh (0x1.fp16383 - 0x1.fp16383 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: catanh (0x1p-126 + 0x0.ffffffp0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: catanh (0x1p-126 + 0x1.000002p0 i)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: catanh (0x1p-126 - 0x0.ffffffp0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: catanh (0x1p-126 - 0x1.000002p0 i)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: catanh (0x1p-13 + 0x0.ffffffp0 i)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: catanh (0x1p-13 + 0x1.000002p0 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: catanh (0x1p-13 + 1.0 i)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: catanh (0x1p-13 - 0x0.ffffffp0 i)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: catanh (0x1p-13 - 0x1.000002p0 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: catanh (0x1p-13 - 1.0 i)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: catanh (0x1p-16382 + 0x0.ffffffffffffffffffffffffffff8p0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: catanh (0x1p-16382 + 0x1.0000000000000000000000000001p0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: catanh (0x1p-16382 - 0x0.ffffffffffffffffffffffffffff8p0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: catanh (0x1p-16382 - 0x1.0000000000000000000000000001p0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: catanh (0x1p-27 + 0x0.fffffffffffff8p0 i)":
+double: 1
+idouble: 1
+Test "Real part of: catanh (0x1p-27 - 0x0.fffffffffffff8p0 i)":
+double: 1
+idouble: 1
+Test "Real part of: catanh (0x1p-57 + 0x0.ffffffffffffffffffffffffffff8p0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: catanh (0x1p-57 - 0x0.ffffffffffffffffffffffffffff8p0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: catanh (1.0 + 0x1p-1020 i)":
+double: 1
+idouble: 1
+Test "Imaginary part of: catanh (1.0 + 0x1p-13 i)":
+float: 1
+ifloat: 1
+Test "Real part of: catanh (1.0 + 0x1p-16380 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: catanh (1.0 + 0x1p-54 i)":
+float: 1
+ifloat: 1
+Test "Real part of: catanh (1.0 + 0x1p-57 i)":
+float: 1
+ifloat: 1
+Test "Real part of: catanh (1.0 - 0x1p-1020 i)":
+double: 1
+idouble: 1
+Test "Imaginary part of: catanh (1.0 - 0x1p-13 i)":
+float: 1
+ifloat: 1
+Test "Real part of: catanh (1.0 - 0x1p-16380 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: catanh (1.0 - 0x1p-54 i)":
+float: 1
+ifloat: 1
+Test "Real part of: catanh (1.0 - 0x1p-57 i)":
+float: 1
+ifloat: 1
+
+# cbrt
+Test "cbrt (-0x1.bp+4)":
+double: 1
+idouble: 1
+Test "cbrt (-0x4.189374bc6a7ecp-12)":
+ildouble: 1
+ldouble: 1
+Test "cbrt (-0x4.189374bc6a7ef9ep-12)":
+ildouble: 1
+ldouble: 1
+Test "cbrt (-0x4.18937p-12)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "cbrt (0xcp-4)":
+double: 1
+idouble: 1
+Test "cbrt (0xf.ep-4)":
+double: 1
+idouble: 1
+
+# ccos
+Test "Real part of: ccos (-0x2p+0 - 0x3p+0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: ccos (-0x2p+0 - 0x3p+0 i)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: ccos (-0xcp-4 + 0x2.c5d4p+12 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: ccos (-0xcp-4 + 0x2.c68p+8 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: ccos (-0xcp-4 + 0x5.98p+4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: ccos (-0xcp-4 + 0x5.98p+4 i)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: ccos (-0xcp-4 - 0x2.c5d4p+12 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: ccos (-0xcp-4 - 0x2.c68p+8 i)":
+double: 1
+idouble: 1
+Test "Real part of: ccos (-0xcp-4 - 0x5.98p+4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: ccos (-0xcp-4 - 0x5.98p+4 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: ccos (0x1p-120 + 0x8p-32 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: ccos (0x4p-1076 + 0x5.ap+8 i)":
+double: 1
+idouble: 1
+Test "Imaginary part of: ccos (0x4p-16436 + 0x5.8cap+12 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: ccos (0x8p-32 + 0x1p-120 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: ccos (0xcp-4 + 0x1.4p+0 i)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+Test "Imaginary part of: ccos (0xcp-4 + 0x1.4p+0 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: ccos (0xcp-4 + 0x2.c5d4p+12 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: ccos (0xcp-4 + 0x2.c68p+8 i)":
+double: 1
+idouble: 1
+Test "Real part of: ccos (0xcp-4 + 0x5.98p+4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: ccos (0xcp-4 + 0x5.98p+4 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: ccos (0xcp-4 - 0x2.c5d4p+12 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: ccos (0xcp-4 - 0x2.c68p+8 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: ccos (0xcp-4 - 0x5.98p+4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: ccos (0xcp-4 - 0x5.98p+4 i)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+
+# ccosh
+Test "Imaginary part of: ccosh (-0x2.c5d4p+12 + 0xcp-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: ccosh (-0x2.c5d4p+12 - 0xcp-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: ccosh (-0x2.c68p+8 + 0xcp-4 i)":
+double: 1
+idouble: 1
+Test "Imaginary part of: ccosh (-0x2.c68p+8 - 0xcp-4 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: ccosh (-0x2p+0 - 0x3p+0 i)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: ccosh (-0x2p+0 - 0x3p+0 i)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: ccosh (-0x5.98p+4 + 0xcp-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: ccosh (-0x5.98p+4 + 0xcp-4 i)":
+float: 1
+ifloat: 1
+Test "Real part of: ccosh (-0x5.98p+4 - 0xcp-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: ccosh (-0x5.98p+4 - 0xcp-4 i)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: ccosh (0x2.c5d4p+12 + 0xcp-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: ccosh (0x2.c5d4p+12 - 0xcp-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: ccosh (0x2.c68p+8 + 0xcp-4 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: ccosh (0x2.c68p+8 - 0xcp-4 i)":
+double: 1
+idouble: 1
+Test "Imaginary part of: ccosh (0x5.8cap+12 + 0x4p-16436 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: ccosh (0x5.98p+4 + 0xcp-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: ccosh (0x5.98p+4 + 0xcp-4 i)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: ccosh (0x5.98p+4 - 0xcp-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: ccosh (0x5.98p+4 - 0xcp-4 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: ccosh (0x5.ap+8 + 0x4p-1076 i)":
+double: 1
+idouble: 1
+Test "Real part of: ccosh (0xcp-4 + 0x1.4p+0 i)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+Test "Imaginary part of: ccosh (0xcp-4 + 0x1.4p+0 i)":
+float: 1
+ifloat: 1
+
+# cexp
+Test "Imaginary part of: cexp (+0 + 0x2.1e19e0c9bab24p+72 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cexp (+0 + 0x2p+64 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cexp (+0 + 0xf.ffffffffffff8p+1020 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cexp (+0 + 0xf.ffffffffffffbffffffffffffcp+1020 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cexp (-0x2.71p+12 + 0x8p+16380 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cexp (-0x2.71p+12 + 0xf.ffffffffffff8p+1020 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cexp (-0x2.71p+12 + 0xf.ffffffffffffbffffffffffffcp+1020 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cexp (-0x2.71p+12 + 0xf.fffffp+124 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cexp (-0x2.71p+12 + 0xf.fffffp+124 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cexp (-0x2.dp+8 + 0xcp-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cexp (-0x2p+0 - 0x3p+0 i)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cexp (-0x5.fp+4 + 0xcp-4 i)":
+double: 1
+idouble: 1
+Test "Real part of: cexp (0x1.f4p+8 + 0x8p+1020 i)":
+double: 1
+idouble: 1
+Test "Imaginary part of: cexp (0x1.f4p+8 + 0xf.fffffp+124 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cexp (0x2.c5dp+8 + 0xcp-4 i)":
+double: 1
+idouble: 1
+Test "Imaginary part of: cexp (0x2.c5dp+8 + 0xcp-4 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: cexp (0x3.2p+4 + 0x8p+124 i)":
+double: 2
+float: 1
+idouble: 2
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cexp (0x3.2p+4 + 0x8p+124 i)":
+double: 1
+idouble: 1
+Test "Imaginary part of: cexp (0x5.8cap+12 + 0x4p-16436 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cexp (0x5.8cp+4 + 0xcp-4 i)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cexp (0x5.8cp+4 + 0xcp-4 i)":
+float: 2
+ifloat: 2
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cexp (0x5.ap+8 + 0x4p-1076 i)":
+double: 1
+idouble: 1
+Test "Real part of: cexp (0xcp-4 + 0x1.4p+0 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: cexp (0xcp-4 + 0x1.4p+0 i)":
+ildouble: 1
+ldouble: 1
+
+# clog
+Test "Real part of: clog (+0 + 0x4p-1076 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (+0 + 0x8p-1076 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (+0 + 0x8p-152 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (+0 + 0xf.8p+16380 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (+0 - 0xf.8p+16380 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (-0 + 0xf.8p+16380 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (-0 - 0xf.8p+16380 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (-0x1.0000000123456p+0 + +0 i)":
+double: 1
+idouble: 1
+Test "Real part of: clog (-0x1.0000000123456p+0 + 0x1.2345678p-1000 i)":
+double: 1
+idouble: 1
+Test "Real part of: clog (-0x1.0000000123456p+0 + 0x4.8d1598p-32 i)":
+double: 1
+idouble: 1
+Test "Real part of: clog (-0x1.0000000123456p+0 + 0x4.8d159ep-32 i)":
+double: 1
+idouble: 1
+Test "Real part of: clog (-0x1.0000000123456p+0 + 0x8p-152 i)":
+double: 1
+idouble: 1
+Test "Real part of: clog (-0x1.000002p+0 + +0 i)":
+float: 1
+ifloat: 1
+Test "Real part of: clog (-0x1.000002p+0 + 0x4.8d1598p-32 i)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+Test "Real part of: clog (-0x1.000002p+0 + 0x4.8d159ep-32 i)":
+double: 1
+idouble: 1
+Test "Real part of: clog (-0x1.000002p+0 + 0x4.8d15ap-32 i)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+Test "Real part of: clog (-0x1.000002p+0 + 0x8p-152 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: clog (-0x1.234566p-40 - 0x1p+0 i)":
+float: 1
+ifloat: 1
+Test "Real part of: clog (-0x4p-1076 + 0xf.8p+16380 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (-0x4p-1076 - 0xf.8p+16380 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (-0x4p-16448 + 0xf.8p+16380 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (-0x4p-16448 - 0xf.8p+16380 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (-0x4p-16496 + 0xf.8p+16380 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (-0x4p-16496 - 0xf.8p+16380 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (-0x8p-152 + 0xf.8p+124 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: clog (-0x8p-152 + 0xf.8p+124 i)":
+float: 1
+ifloat: 1
+Test "Real part of: clog (-0x8p-152 + 0xf.8p+16380 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (-0x8p-152 + 0xf.fffffp+124 i)":
+float: 1
+ifloat: 1
+Test "Real part of: clog (-0x8p-152 - 0xf.8p+124 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: clog (-0x8p-152 - 0xf.8p+124 i)":
+float: 1
+ifloat: 1
+Test "Real part of: clog (-0x8p-152 - 0xf.8p+16380 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (-0x8p-152 - 0xf.fffffp+124 i)":
+float: 1
+ifloat: 1
+Test "Real part of: clog (-0x8p-16448 + 0xf.8p+16380 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (-0x8p-16448 - 0xf.8p+16380 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (-0xf.8p+124 + 0x8p-152 i)":
+float: 1
+ifloat: 1
+Test "Real part of: clog (-0xf.8p+124 - 0x8p-152 i)":
+float: 1
+ifloat: 1
+Test "Real part of: clog (-0xf.8p+16380 + +0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (-0xf.8p+16380 + 0x4p-1076 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (-0xf.8p+16380 + 0x4p-16448 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (-0xf.8p+16380 + 0x4p-16496 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (-0xf.8p+16380 + 0x8p-152 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (-0xf.8p+16380 + 0x8p-16448 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (-0xf.8p+16380 - 0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (-0xf.8p+16380 - 0x4p-1076 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (-0xf.8p+16380 - 0x4p-16448 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (-0xf.8p+16380 - 0x4p-16496 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (-0xf.8p+16380 - 0x8p-152 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (-0xf.8p+16380 - 0x8p-16448 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x1.0000000000001p+0 + +0 i)":
+double: 1
+idouble: 1
+Test "Real part of: clog (0x1.0000000000001p+0 + 0x1.234566p-60 i)":
+double: 1
+idouble: 1
+Test "Real part of: clog (0x1.0000000000001p+0 + 0x1.23456789p-1000 i)":
+double: 1
+idouble: 1
+Test "Real part of: clog (0x1.0000000000001p+0 + 0x1.23456789p-60 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x1.0000000000001p+0 + 0x1.234568p-60 i)":
+double: 1
+idouble: 1
+Test "Real part of: clog (0x1.0000000000001p+0 + 0x8p-152 i)":
+double: 1
+idouble: 1
+Test "Real part of: clog (0x1.000002p+0 + +0 i)":
+float: 1
+ifloat: 1
+Test "Real part of: clog (0x1.000002p+0 + 0x1.234566p-60 i)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x1.000002p+0 + 0x1.23456789p-60 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x1.000002p+0 + 0x1.234568p-60 i)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x1.000002p+0 + 0x8p-152 i)":
+float: 1
+ifloat: 1
+Test "Real part of: clog (0x1.000566p+0 + 0x4.8dp-12 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: clog (0x1.000566p+0 + 0x4.8dp-12 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x1.48e45e3268d8p-4 + 0xf.f2c63p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x1.48e45e3268d8p-4 + 0xf.f2c64p-4 i)":
+double: 1
+idouble: 1
+Test "Real part of: clog (0x1.48e45ep-4 + 0xf.f2c63p-4 i)":
+float: 1
+ifloat: 1
+Test "Real part of: clog (0x1.48e45ep-4 + 0xf.f2c64p-4 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: clog (0x1.8907bc3694fd4e7c0beb59f6acp-4 + 0xf.ed1990460bep-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x1.8907bc3694fd4e7c0beb59f6acp-4 + 0xf.ed199p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x1.8907bc3694fd4e7c0beb59f6acp-4 + 0xf.ed19ap-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x1.8907bc3694fd4e7c0beb59f6acp-4 + 0xf.ed19ap-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x1.8907bc3694fd4e7cp-4 + 0xf.ed1990460bdfbf672a9da76bp-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x1.8907bc3694fd4e7cp-4 + 0xf.ed1990460bdfbf7p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x1.8907bc3694fd4e7ep-4 + 0xf.ed1990460bdf8p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x1.8907bc3694fd4e7ep-4 + 0xf.ed1990460bdfbf6p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x1.8907bc3694fd4e7ep-4 + 0xf.ed1990460bep-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x1.8907bc3694fd4p-4 + 0xf.ed1990460bdf8p-4 i)":
+double: 1
+idouble: 1
+Test "Imaginary part of: clog (0x1.8907bc3694fd4p-4 + 0xf.ed1990460bdf8p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x1.8907bc3694fd4p-4 + 0xf.ed1990460bdfbf672a9da76bp-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x1.8907bc3694fd4p-4 + 0xf.ed1990460bdfbf7p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x1.8907bc3694fd4p-4 + 0xf.ed1990460bep-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x1.8907bc3694fd5p-4 + 0xf.ed1990460bdf8p-4 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x1.8907bc3694fd5p-4 + 0xf.ed1990460bdf8p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x1.8907bc3694fd5p-4 + 0xf.ed1990460bdfbf672a9da76bp-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x1.8907bc3694fd5p-4 + 0xf.ed1990460bdfbf7p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x1.8907bc3694fd5p-4 + 0xf.ed1990460bep-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x1.8907bc3694fd5p-4 + 0xf.ed199p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x1.8907bcp-4 + 0xf.ed1990460bdf8p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x1.8907bcp-4 + 0xf.ed1990460bdfbf7p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x1.8907bcp-4 + 0xf.ed1990460bep-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x1.8907bcp-4 + 0xf.ed199p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x1.8907bep-4 + 0xf.ed1990460bdfbf7p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x1.c67eccp-4 + 0xf.e6b4d1d7a6e08p-4 i)":
+double: 1
+idouble: 1
+Test "Real part of: clog (0x1.c67eccp-4 + 0xf.e6b4d1d7a6e0948788cb0c8p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x1.c67eccp-4 + 0xf.e6b4d1d7a6e0949p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x1.c67eccp-4 + 0xf.e6b4d1d7a6e1p-4 i)":
+double: 1
+idouble: 1
+Test "Imaginary part of: clog (0x1.c67eccp-4 + 0xf.e6b4dp-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x1.c67eccp-4 + 0xf.e6b4ep-4 i)":
+float: 1
+ifloat: 1
+Test "Real part of: clog (0x1.c67ecd92a85944b8p-4 + 0xf.e6b4d1d7a6e0948p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x1.c67ecd92a85944b8p-4 + 0xf.e6b4d1d7a6e0949p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x1.c67ecd92a85944b8p-4 + 0xf.e6b4d1d7a6e1p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x1.c67ecd92a85944b988790cep-4 + 0xf.e6b4d1d7a6e08p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x1.c67ecd92a85944b988790cep-4 + 0xf.e6b4d1d7a6e0948p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x1.c67ecd92a85944b988790cep-4 + 0xf.e6b4dp-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x1.c67ecd92a85944bap-4 + 0xf.e6b4d1d7a6e0948788cb0c8p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x1.c67ecd92a85944bap-4 + 0xf.e6b4d1d7a6e1p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x1.c67ecd92a85944bap-4 + 0xf.e6b4dp-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x1.c67ecd92a8594p-4 + 0xf.e6b4d1d7a6e0949p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x1.c67ecd92a8594p-4 + 0xf.e6b4dp-4 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x1.c67ecd92a8594p-4 + 0xf.e6b4dp-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x1.c67ecd92a8594p-4 + 0xf.e6b4ep-4 i)":
+double: 1
+idouble: 1
+Test "Real part of: clog (0x1.c67ecd92a8595p-4 + 0xf.e6b4d1d7a6e08p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x1.c67ecd92a8595p-4 + 0xf.e6b4d1d7a6e08p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x1.c67ecd92a8595p-4 + 0xf.e6b4d1d7a6e0948p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x1.c67ecd92a8595p-4 + 0xf.e6b4d1d7a6e1p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x1.c67ecd92a8595p-4 + 0xf.e6b4dp-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x1.c67ecep-4 + 0xf.e6b4d1d7a6e08p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x1.c67ecep-4 + 0xf.e6b4d1d7a6e0948788cb0c8p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x1.c67ecep-4 + 0xf.e6b4d1d7a6e0949p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x1.c67ecep-4 + 0xf.e6b4d1d7a6e1p-4 i)":
+double: 1
+idouble: 1
+Test "Imaginary part of: clog (0x1.c67ecep-4 + 0xf.e6b4d1d7a6e1p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x1p+0 + 0x4.8d1598p-12 i)":
+float: 1
+ifloat: 1
+Test "Real part of: clog (0x1p-16440 + 0x4p-1076 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x1p-16440 + 0x8p-152 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x2.0ce7b8p-4 + 0xf.de3a2f9df7a4p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x2.0ce7b8p-4 + 0xf.de3a3p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x2.0ce7ba1e4902p-4 + 0xf.de3a2f9df7a4p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x2.0ce7ba1e4902p-4 + 0xf.de3a3p-4 i)":
+double: 1
+idouble: 1
+Test "Imaginary part of: clog (0x2.0ce7ba1e4902p-4 + 0xf.de3a3p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x2.0ce7bcp-4 + 0xf.de3a2f9df7a4p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x2.0ce7bcp-4 + 0xf.de3a3p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x2.82b794p-4 + 0xf.cd42a15bf9a361243a89663e84p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x2.82b794p-4 + 0xf.cd42a15bf9a361243a89663e84p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x2.82b794p-4 + 0xf.cd42a15bf9a361243a89663e8p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x2.82b794p-4 + 0xf.cd42a15bf9a3612p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x2.82b794p-4 + 0xf.cd42a15bf9a3613p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x2.82b794p-4 + 0xf.cd42a15bf9a38p-4 i)":
+double: 1
+idouble: 1
+Test "Imaginary part of: clog (0x2.82b794p-4 + 0xf.cd42a15bf9a3p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x2.82b794p-4 + 0xf.cd42ap-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x2.82b795e420b281a8p-4 + 0xf.cd42a15bf9a361243a89663e84p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x2.82b795e420b281a8p-4 + 0xf.cd42a15bf9a361243a89663e8p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x2.82b795e420b281a8p-4 + 0xf.cd42a15bf9a3612p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x2.82b795e420b281a8p-4 + 0xf.cd42a15bf9a3613p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x2.82b795e420b281a8p-4 + 0xf.cd42a15bf9a3p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x2.82b795e420b281a8p-4 + 0xf.cd42ap-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x2.82b795e420b281a934c6dd315cb2p-4 + 0xf.cd42a15bf9a361243a89663e84p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x2.82b795e420b281a934c6dd315cb2p-4 + 0xf.cd42a15bf9a361243a89663e8p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x2.82b795e420b281a934c6dd315cb2p-4 + 0xf.cd42a15bf9a3613p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x2.82b795e420b281a934c6dd315cb2p-4 + 0xf.cd42ap-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x2.82b795e420b281a934c6dd315cp-4 + 0xf.cd42a15bf9a3613p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x2.82b795e420b281a934c6dd315cp-4 + 0xf.cd42a15bf9a38p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x2.82b795e420b281a934c6dd315cp-4 + 0xf.cd42a15bf9a3p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x2.82b795e420b281a934c6dd315cp-4 + 0xf.cd42ap-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x2.82b795e420b281a934c6dd315dp-4 + 0xf.cd42a15bf9a3612p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x2.82b795e420b281a934c6dd315dp-4 + 0xf.cd42a15bf9a3613p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x2.82b795e420b281a934c6dd315dp-4 + 0xf.cd42bp-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x2.82b795e420b281acp-4 + 0xf.cd42a15bf9a361243a89663e81e8p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x2.82b795e420b281acp-4 + 0xf.cd42a15bf9a361243a89663e81e8p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x2.82b795e420b281acp-4 + 0xf.cd42a15bf9a3612p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x2.82b795e420b281acp-4 + 0xf.cd42ap-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x2.82b795e420b28p-4 + 0xf.cd42a15bf9a361243a89663e81e8p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x2.82b795e420b28p-4 + 0xf.cd42a15bf9a361243a89663e84p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x2.82b795e420b28p-4 + 0xf.cd42a15bf9a361243a89663e8p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x2.82b795e420b28p-4 + 0xf.cd42a15bf9a3613p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x2.82b795e420b28p-4 + 0xf.cd42a15bf9a38p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x2.82b795e420b28p-4 + 0xf.cd42a15bf9a3p-4 i)":
+double: 1
+idouble: 1
+Test "Imaginary part of: clog (0x2.82b795e420b28p-4 + 0xf.cd42a15bf9a3p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x2.82b795e420b28p-4 + 0xf.cd42ap-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x2.82b795e420b28p-4 + 0xf.cd42bp-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x2.82b795e420b2ap-4 + 0xf.cd42a15bf9a361243a89663e84p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x2.82b795e420b2ap-4 + 0xf.cd42a15bf9a361243a89663e8p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x2.82b795e420b2ap-4 + 0xf.cd42a15bf9a3612p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x2.82b795e420b2ap-4 + 0xf.cd42a15bf9a3613p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x2.82b795e420b2ap-4 + 0xf.cd42a15bf9a3p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x2.82b798p-4 + 0xf.cd42a15bf9a361243a89663e84p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x2.82b798p-4 + 0xf.cd42a15bf9a361243a89663e8p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x2.82b798p-4 + 0xf.cd42a15bf9a3612p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x2.82b798p-4 + 0xf.cd42bp-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x2p-148 + 0x2p-148 i)":
+float: 1
+ifloat: 1
+Test "Real part of: clog (0x3.2cdb84p-4 + 0xf.ae888f0455f6p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x3.2cdb855bcb8d8p-4 + 0xf.ae888p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x3.2cdb855bcb8d8p-4 + 0xf.ae889p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x3.3b8f9163276aa8dc2be0945a6p-4 + 0xf.ab873d09e61e797a27ebc9f508p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x3.3b8f9163276aa8dc2be0945a6p-4 + 0xf.ab873d09e61e797p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x3.3b8f9163276aa8dc2be0945a6p-4 + 0xf.ab873d09e61ep-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x3.3b8f9163276aa8dc2be0945a6p-4 + 0xf.ab874p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x3.3b8f9163276aa8dc2be0945a6p-4 + 0xf.ab874p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x3.3b8f9163276aa8dcp-4 + 0xf.ab873d09e61e797a27ebc9f508p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x3.3b8f9163276aa8dcp-4 + 0xf.ab873d09e61e797p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x3.3b8f9163276aa8dcp-4 + 0xf.ab873d09e61e8p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x3.3b8f9163276aa8dcp-4 + 0xf.ab873d09e61ep-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x3.3b8f9163276aa8dcp-4 + 0xf.ab873p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x3.3b8f9163276aa8ep-4 + 0xf.ab873d09e61e798p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x3.3b8f9163276aa8ep-4 + 0xf.ab874p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x3.3b8f9163276aap-4 + 0xf.ab873d09e61e797p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x3.3b8f9163276aap-4 + 0xf.ab873d09e61ep-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x3.3b8f9163276aap-4 + 0xf.ab873p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x3.3b8f9163276acp-4 + 0xf.ab873d09e61e797a27ebc9f508p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x3.3b8f9163276acp-4 + 0xf.ab873d09e61e798p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x3.3b8f94p-4 + 0xf.ab873d09e61e798p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x3.3b8f94p-4 + 0xf.ab873d09e61e8p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x3.3b8f94p-4 + 0xf.ab873p-4 i)":
+float: 1
+ifloat: 1
+Test "Real part of: clog (0x3.3b8f9p-4 + 0xf.ab873d09e61e797p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x3.6e17119fb8aaap-4 + 0xf.a0c58a83e57c772fe5f777d043a8p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x3.6e17119fb8aaap-4 + 0xf.a0c58a83e57c772fe5f777d044p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x3.6e17119fb8aaap-4 + 0xf.a0c58a83e57c8p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x3.6e17119fb8aaap-4 + 0xf.a0c58p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x3.6e17119fb8aab754p-4 + 0xf.a0c58a83e57c772fe5f777d043a8p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x3.6e17119fb8aab754p-4 + 0xf.a0c58a83e57c772fe5f777d043a8p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x3.6e17119fb8aab754p-4 + 0xf.a0c58a83e57c772fe5f777d044p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x3.6e17119fb8aab754p-4 + 0xf.a0c58a83e57c772fe5f777d04p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x3.6e17119fb8aab754p-4 + 0xf.a0c58a83e57c773p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x3.6e17119fb8aab754p-4 + 0xf.a0c58p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x3.6e17119fb8aab757d097f83d2e34p-4 + 0xf.a0c58a83e57c772fe5f777d043a8p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x3.6e17119fb8aab757d097f83d2e34p-4 + 0xf.a0c58a83e57c772fe5f777d044p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x3.6e17119fb8aab757d097f83d2e34p-4 + 0xf.a0c58a83e57c772p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x3.6e17119fb8aab757d097f83d2e34p-4 + 0xf.a0c58p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x3.6e17119fb8aab757d097f83d2ep-4 + 0xf.a0c58a83e57c772fe5f777d043a8p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x3.6e17119fb8aab757d097f83d2ep-4 + 0xf.a0c58a83e57c772fe5f777d043a8p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x3.6e17119fb8aab757d097f83d2ep-4 + 0xf.a0c58a83e57c772fe5f777d044p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x3.6e17119fb8aab757d097f83d2ep-4 + 0xf.a0c58a83e57c772fe5f777d04p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x3.6e17119fb8aab757d097f83d2ep-4 + 0xf.a0c58a83e57c772p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x3.6e17119fb8aab757d097f83d2ep-4 + 0xf.a0c58a83e57c8p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x3.6e17119fb8aab757d097f83d2ep-4 + 0xf.a0c58a83e57c8p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x3.6e17119fb8aab757d097f83d2ep-4 + 0xf.a0c58p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x3.6e17119fb8aab757d097f83d2ep-4 + 0xf.a0c58p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x3.6e17119fb8aab757d097f83d2ep-4 + 0xf.a0c59p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x3.6e17119fb8aab757d097f83d2fp-4 + 0xf.a0c58a83e57c772fe5f777d04p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x3.6e17119fb8aab757d097f83d2fp-4 + 0xf.a0c58a83e57c772fe5f777d04p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x3.6e17119fb8aab757d097f83d2fp-4 + 0xf.a0c58a83e57c772p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x3.6e17119fb8aab757d097f83d2fp-4 + 0xf.a0c58a83e57c773p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x3.6e17119fb8aab757d097f83d2fp-4 + 0xf.a0c58a83e57c8p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x3.6e17119fb8aab757d097f83d2fp-4 + 0xf.a0c58a83e57cp-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x3.6e17119fb8aab757d097f83d2fp-4 + 0xf.a0c58a83e57cp-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x3.6e17119fb8aab757d097f83d2fp-4 + 0xf.a0c59p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x3.6e17119fb8aab757d097f83d2fp-4 + 0xf.a0c59p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x3.6e17119fb8aab758p-4 + 0xf.a0c58a83e57c772fe5f777d043a8p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x3.6e17119fb8aab758p-4 + 0xf.a0c58a83e57c772fe5f777d044p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x3.6e17119fb8aab758p-4 + 0xf.a0c58a83e57c772p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x3.6e17119fb8aab758p-4 + 0xf.a0c58a83e57c8p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x3.6e17119fb8aacp-4 + 0xf.a0c58a83e57c772fe5f777d044p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x3.6e17119fb8aacp-4 + 0xf.a0c58a83e57c772fe5f777d04p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x3.6e17119fb8aacp-4 + 0xf.a0c58a83e57c773p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x3.6e17119fb8aacp-4 + 0xf.a0c58p-4 i)":
+double: 1
+idouble: 1
+Test "Imaginary part of: clog (0x3.6e17119fb8aacp-4 + 0xf.a0c58p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x3.6e1714p-4 + 0xf.a0c58a83e57c772fe5f777d043a8p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x3.6e1714p-4 + 0xf.a0c58a83e57cp-4 i)":
+double: 1
+idouble: 1
+Test "Imaginary part of: clog (0x3.6e1714p-4 + 0xf.a0c58a83e57cp-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x3.6e1714p-4 + 0xf.a0c58p-4 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: clog (0x3.6e1714p-4 + 0xf.a0c58p-4 i)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x3.6e1714p-4 + 0xf.a0c59p-4 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: clog (0x3.6e1714p-4 + 0xf.a0c59p-4 i)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x3.6e171p-4 + 0xf.a0c58a83e57c772fe5f777d043a8p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x3.6e171p-4 + 0xf.a0c58a83e57c772fe5f777d044p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x3.6e171p-4 + 0xf.a0c58a83e57c773p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x3.6e171p-4 + 0xf.a0c58a83e57cp-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x3.6e171p-4 + 0xf.a0c58p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x3.6e171p-4 + 0xf.a0c58p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x3.bea2bcp-4 + 0xf.8e3d619a8d118p-4 i)":
+double: 1
+idouble: 1
+Test "Real part of: clog (0x3.bea2bcp-4 + 0xf.8e3d619a8d11bfdp-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x3.bea2bcp-4 + 0xf.8e3d619a8d11bfep-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x3.bea2bcp-4 + 0xf.8e3d6p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x3.bea2bd62e3501173c8004ccp-4 + 0xf.8e3d6p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x3.bea2bd62e3501174p-4 + 0xf.8e3d619a8d118p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x3.bea2bd62e3501174p-4 + 0xf.8e3d619a8d11bfd30b038eep-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x3.bea2bd62e3501174p-4 + 0xf.8e3d619a8d11bfep-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x3.bea2bd62e3501174p-4 + 0xf.8e3d6p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x3.bea2bd62e3501174p-4 + 0xf.8e3d7p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x3.bea2bd62e350117p-4 + 0xf.8e3d619a8d118p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x3.bea2bd62e350117p-4 + 0xf.8e3d6p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x3.bea2bd62e350117p-4 + 0xf.8e3d7p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x3.bea2bd62e3502p-4 + 0xf.8e3d619a8d11bfd30b038eep-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x3.bea2bd62e3502p-4 + 0xf.8e3d619a8d11bfd30b038eep-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x3.bea2bd62e3502p-4 + 0xf.8e3d7p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x3.bea2bd62e35p-4 + 0xf.8e3d619a8d11bfdp-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x3.bea2bd62e35p-4 + 0xf.8e3d619a8d11bfep-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x3.bea2bd62e35p-4 + 0xf.8e3d6p-4 i)":
+double: 1
+idouble: 1
+Test "Imaginary part of: clog (0x3.bea2cp-4 + 0xf.8e3d619a8d12p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x3.bea2cp-4 + 0xf.8e3d6p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x3.bea2cp-4 + 0xf.8e3d6p-4 i)":
+float: 1
+ifloat: 1
+Test "Real part of: clog (0x3.bea2cp-4 + 0xf.8e3d7p-4 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: clog (0x3.bea2cp-4 + 0xf.8e3d7p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x3.e1d0a105ac4eap-4 + 0xf.859b3d1b06d005dcbb5516d544p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x3.e1d0a105ac4eap-4 + 0xf.859b3d1b06d005dcbb5516d5479p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x3.e1d0a105ac4eap-4 + 0xf.859b3d1b06d08p-4 i)":
+double: 1
+idouble: 1
+Test "Imaginary part of: clog (0x3.e1d0a105ac4eap-4 + 0xf.859b3d1b06dp-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x3.e1d0a105ac4eap-4 + 0xf.859b3p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x3.e1d0a105ac4ebeacd9c6952d34cp-4 + 0xf.859b3d1b06d005dcbb5516d544p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x3.e1d0a105ac4ebeacd9c6952d34cp-4 + 0xf.859b3d1b06d005dcbb5516d548p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x3.e1d0a105ac4ebeacd9c6952d34cp-4 + 0xf.859b3d1b06d005dp-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x3.e1d0a105ac4ebeacd9c6952d34cp-4 + 0xf.859b3d1b06dp-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x3.e1d0a105ac4ebeacd9c6952d34cp-4 + 0xf.859b3d1b06dp-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x3.e1d0a105ac4ebeacd9c6952d34cp-4 + 0xf.859b3p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x3.e1d0a105ac4ebeacd9c6952d34cp-4 + 0xf.859b3p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x3.e1d0a105ac4ebeacd9c6952d34cp-4 + 0xf.859b4p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x3.e1d0a105ac4ebeacd9c6952d34p-4 + 0xf.859b3d1b06d005dcbb5516d544p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x3.e1d0a105ac4ebeacd9c6952d34p-4 + 0xf.859b3d1b06d005dcbb5516d5479p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x3.e1d0a105ac4ebeacd9c6952d34p-4 + 0xf.859b4p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x3.e1d0a105ac4ebeacd9c6952d35p-4 + 0xf.859b3d1b06d005dcbb5516d548p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x3.e1d0a105ac4ebeacd9c6952d35p-4 + 0xf.859b3d1b06d005ep-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x3.e1d0a105ac4ebeacd9c6952d35p-4 + 0xf.859b3d1b06dp-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x3.e1d0a105ac4ebeacd9c6952d35p-4 + 0xf.859b3p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x3.e1d0a105ac4ebeacd9c6952d35p-4 + 0xf.859b4p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x3.e1d0a105ac4ebeacp-4 + 0xf.859b3d1b06d005dp-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x3.e1d0a105ac4ebeacp-4 + 0xf.859b3d1b06d005ep-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x3.e1d0a105ac4ebeacp-4 + 0xf.859b3p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x3.e1d0a105ac4ebeacp-4 + 0xf.859b4p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x3.e1d0a105ac4ebebp-4 + 0xf.859b3d1b06d005dcbb5516d548p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x3.e1d0a105ac4ebebp-4 + 0xf.859b3d1b06dp-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x3.e1d0a105ac4ebebp-4 + 0xf.859b3p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x3.e1d0a105ac4ebebp-4 + 0xf.859b4p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x3.e1d0a105ac4ecp-4 + 0xf.859b3d1b06d005dcbb5516d548p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x3.e1d0a105ac4ecp-4 + 0xf.859b3d1b06d08p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x3.e1d0a105ac4ecp-4 + 0xf.859b3d1b06dp-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x3.e1d0a105ac4ecp-4 + 0xf.859b3p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x3.e1d0a4p-4 + 0xf.859b3d1b06d005dcbb5516d548p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x3.e1d0a4p-4 + 0xf.859b3d1b06d005ep-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x3.e1d0a4p-4 + 0xf.859b3d1b06d08p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x3.e1d0a4p-4 + 0xf.859b3d1b06dp-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x3.e1d0a4p-4 + 0xf.859b3p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x3.e1d0a4p-4 + 0xf.859b4p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x3.e1d0ap-4 + 0xf.859b3d1b06d005dcbb5516d544p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x3.e1d0ap-4 + 0xf.859b3d1b06d005dp-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x3.e1d0ap-4 + 0xf.859b3d1b06d08p-4 i)":
+double: 1
+idouble: 1
+Test "Real part of: clog (0x3.e1d0ap-4 + 0xf.859b3p-4 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: clog (0x3.e1d0ap-4 + 0xf.859b4p-4 i)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x4.0dbf78p-4 + 0xf.7a5c1af8e3ce8p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x4.0dbf78p-4 + 0xf.7a5c1af8e3cfp-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x4.0dbf78p-4 + 0xf.7a5c1p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x4.0dbf7d40fe1acp-4 + 0xf.7a5c1af8e3ce8p-4 i)":
+double: 1
+idouble: 1
+Test "Imaginary part of: clog (0x4.0dbf7d40fe1acp-4 + 0xf.7a5c1af8e3cec09p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x4.0dbf7d40fe1acp-4 + 0xf.7a5c1p-4 i)":
+double: 1
+idouble: 1
+Test "Imaginary part of: clog (0x4.0dbf7d40fe1acp-4 + 0xf.7a5c2p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x4.0dbf7d40fe1bp-4 + 0xf.7a5c1af8e3cec09p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x4.0dbf8p-4 + 0xf.7a5c1af8e3cfp-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x4.0dbf8p-4 + 0xf.7a5c2p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x4.7017a2e368078p-4 + 0xf.5f4a550c9d75e3bb1839d865f0dp-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x4.7017a2e368078p-4 + 0xf.5f4a550c9d75e3bb1839d865f0dp-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x4.7017a2e368078p-4 + 0xf.5f4a550c9d75e3cp-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x4.7017a2e36807acb1e5214b209cp-4 + 0xf.5f4a550c9d75e3bp-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x4.7017a2e36807acb1e5214b209cp-4 + 0xf.5f4a6p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x4.7017a2e36807acb1e5214b209cp-4 + 0xf.5f4a6p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x4.7017a2e36807acb1e5214b209dep-4 + 0xf.5f4a550c9d75e3cp-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x4.7017a2e36807acb1e5214b209dep-4 + 0xf.5f4a550c9d76p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x4.7017a2e36807acb1e5214b209ep-4 + 0xf.5f4a550c9d75e3bp-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x4.7017a2e36807acb1e5214b209ep-4 + 0xf.5f4a550c9d75e3cp-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x4.7017a2e36807acb1e5214b209ep-4 + 0xf.5f4a5p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x4.7017a2e36807acb1e5214b209ep-4 + 0xf.5f4a6p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x4.7017a2e36807acb8p-4 + 0xf.5f4a550c9d75e3bb1839d865f4p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x4.7017a2e36807acb8p-4 + 0xf.5f4a5p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x4.7017a2e36807acbp-4 + 0xf.5f4a550c9d758p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x4.7017a2e36807acbp-4 + 0xf.5f4a550c9d75e3bb1839d865f0dp-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x4.7017a2e36807acbp-4 + 0xf.5f4a550c9d75e3bb1839d865fp-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x4.7017a2e36807acbp-4 + 0xf.5f4a550c9d75e3bp-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x4.7017a2e36807acbp-4 + 0xf.5f4a550c9d76p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x4.7017a2e36807cp-4 + 0xf.5f4a550c9d758p-4 i)":
+double: 1
+idouble: 1
+Test "Real part of: clog (0x4.7017a2e36807cp-4 + 0xf.5f4a550c9d75e3bb1839d865f0dp-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x4.7017a2e36807cp-4 + 0xf.5f4a550c9d75e3bb1839d865f4p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x4.7017a2e36807cp-4 + 0xf.5f4a5p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x4.7017a8p-4 + 0xf.5f4a550c9d75e3bb1839d865f4p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x4.7017a8p-4 + 0xf.5f4a550c9d75e3bp-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x4.7017a8p-4 + 0xf.5f4a550c9d76p-4 i)":
+double: 1
+idouble: 1
+Test "Real part of: clog (0x4.7017a8p-4 + 0xf.5f4a6p-4 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: clog (0x4.7017ap-4 + 0xf.5f4a550c9d758p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x4.7017ap-4 + 0xf.5f4a550c9d75e3bb1839d865f0dp-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x4.7017ap-4 + 0xf.5f4a550c9d75e3bb1839d865f4p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x4.7017ap-4 + 0xf.5f4a550c9d75e3bb1839d865fp-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x4.7017ap-4 + 0xf.5f4a550c9d75e3bp-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x4.d9e8c8p-4 + 0xf.3f303p-4 i)":
+float: 1
+ifloat: 1
+Test "Real part of: clog (0x4.d9e8cp-4 + 0xf.3f30281507d8p-4 i)":
+double: 1
+idouble: 1
+Test "Real part of: clog (0x4p-1076 + +0 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x4p-1076 + 0x4p-1076 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x4p-1076 + 0x8p-152 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x4p-1076 + 0x8p-16444 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x4p-1076 + 0xf.8p+16380 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x4p-1076 - 0xf.8p+16380 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x4p-16448 + 0xf.8p+16380 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x4p-16448 - 0xf.8p+16380 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x4p-16496 + 0xf.8p+16380 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x4p-16496 - 0xf.8p+16380 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x5.03p-4 + 0xf.31ep-4 i)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x5.318c58p-4 + 0xf.22363bf989d98p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x5.318c58p-4 + 0xf.22363bf989d98p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x5.318c58p-4 + 0xf.22363p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x5.318c58p-4 + 0xf.22364p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x5.318c596a8cb114ep-4 + 0xf.22363bf989d9b5cp-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x5.318c596a8cb114ep-4 + 0xf.22363p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x5.318c596a8cb14p-4 + 0xf.22363bf989dap-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x5.318c596a8cb14p-4 + 0xf.22364p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x5.318c596a8cb1p-4 + 0xf.22363bf989d98p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x5.318c596a8cb1p-4 + 0xf.22363bf989d9b5cp-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x5.318c596a8cb1p-4 + 0xf.22363bf989dap-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x5.318c596a8cb1p-4 + 0xf.22363p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x5.318c596a8cb1p-4 + 0xf.22364p-4 i)":
+double: 1
+idouble: 1
+Test "Imaginary part of: clog (0x5.318c6p-4 + 0xf.22363bf989d98p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x5.318c6p-4 + 0xf.22363bf989dap-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x5.318c6p-4 + 0xf.22363p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x5.b06b680ea2ccp-4 + 0xe.f452b965da9fp-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x5.b06b68p-4 + 0xe.f452b965da9fp-4 i)":
+double: 1
+idouble: 1
+Test "Real part of: clog (0x5.b06b68p-4 + 0xe.f452bp-4 i)":
+float: 1
+ifloat: 1
+Test "Real part of: clog (0x5.b06b7p-4 + 0xe.f452b965da9fp-4 i)":
+double: 1
+idouble: 1
+Test "Real part of: clog (0x5.b06b7p-4 + 0xe.f452bp-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x5.b06b7p-4 + 0xe.f452bp-4 i)":
+float: 1
+ifloat: 1
+Test "Real part of: clog (0x5.ba8cep-4 + 0xe.f0742p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x5.dbd1p-4 + 0xe.e387ep-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x6.02fd5037c4792efp-4 + 0xe.d3e21p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x6.02fd5037c4794p-4 + 0xe.d3e2086dcca8p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x6.02fd5037c479p-4 + 0xe.d3e21p-4 i)":
+double: 1
+idouble: 1
+Test "Real part of: clog (0x6.02fd5037c479p-4 + 0xe.d3e2p-4 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x6.02fd58p-4 + 0xe.d3e2086dcca8p-4 i)":
+double: 1
+idouble: 1
+Test "Real part of: clog (0x6.02fd58p-4 + 0xe.d3e21p-4 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: clog (0x6.02fd58p-4 + 0xe.d3e2p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x6.02fd5p-4 + 0xe.d3e21p-4 i)":
+float: 1
+ifloat: 1
+Test "Real part of: clog (0x6.02fd5p-4 + 0xe.d3e2p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x6.1c643068cd124p-4 + 0xe.c97c2p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x6.1c643068cd124p-4 + 0xe.c97c3p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x6.1c643068cd125ef6f796a57d2p-4 + 0xe.c97c2018b428p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x6.1c643068cd125ef6f796a57d2p-4 + 0xe.c97c3p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x6.1c643068cd125ef8p-4 + 0xe.c97c2018b428p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x6.1c643068cd125ef8p-4 + 0xe.c97c2p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x6.1c643068cd128p-4 + 0xe.c97c2p-4 i)":
+double: 1
+idouble: 1
+Test "Imaginary part of: clog (0x6.1c6438p-4 + 0xe.c97c2018b428257p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x6.1c6438p-4 + 0xe.c97c2018b4288p-4 i)":
+double: 1
+idouble: 1
+Test "Real part of: clog (0x6.1c6438p-4 + 0xe.c97c2018b428p-4 i)":
+double: 1
+idouble: 1
+Test "Real part of: clog (0x6.1c6438p-4 + 0xe.c97c3p-4 i)":
+float: 1
+ifloat: 1
+Test "Real part of: clog (0x6.1c643p-4 + 0xe.c97c2018b4288p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x6.2aff83ae6467cb019p-4 + 0xe.c36a6p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x6.2aff83ae6467cb08p-4 + 0xe.c36a599a86ba8p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x6.2aff83ae6467cb08p-4 + 0xe.c36a599a86bbp-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x6.2aff83ae6467cbp-4 + 0xe.c36a599a86ba8p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x6.2aff83ae6467cbp-4 + 0xe.c36a599a86ba8p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x6.2aff83ae6467cbp-4 + 0xe.c36a599a86baf8febep-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x6.2aff83ae6467cp-4 + 0xe.c36a599a86ba8p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x6.2aff83ae6467cp-4 + 0xe.c36a599a86baf8fp-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x6.2aff83ae6467cp-4 + 0xe.c36a599a86baf9p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x6.2aff83ae6467cp-4 + 0xe.c36a6p-4 i)":
+double: 1
+idouble: 1
+Test "Imaginary part of: clog (0x6.2aff83ae6467cp-4 + 0xe.c36a6p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x6.2aff83ae6468p-4 + 0xe.c36a599a86ba8p-4 i)":
+double: 1
+idouble: 1
+Test "Real part of: clog (0x6.2aff83ae6468p-4 + 0xe.c36a5p-4 i)":
+double: 1
+idouble: 1
+Test "Real part of: clog (0x6.2aff88p-4 + 0xe.c36a599a86ba8p-4 i)":
+double: 1
+idouble: 1
+Test "Imaginary part of: clog (0x6.2aff88p-4 + 0xe.c36a599a86baf9p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x6.59feap-4 + 0xe.af6f9p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x6.b10b48p-4 + 0xe.8893cbb44925p-4 i)":
+double: 1
+idouble: 1
+Test "Imaginary part of: clog (0x6.b10b48p-4 + 0xe.8893cbb44925p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x6.b10b48p-4 + 0xe.8893dp-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x6.b10b4f3520214p-4 + 0xe.8893cbb44925p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x6.b10b4f3520214p-4 + 0xe.8893cp-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x6.b10b4f3520217b6p-4 + 0xe.8893cbb449253a1p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x6.b10b4f3520218p-4 + 0xe.8893cbb449253a1p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x6.b10b4f3520218p-4 + 0xe.8893cbb44925p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x6.b10b4f3520218p-4 + 0xe.8893cbb44925p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x6.b10b4f3520218p-4 + 0xe.8893cp-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x6.b10b4f3520218p-4 + 0xe.8893dp-4 i)":
+double: 1
+idouble: 1
+Test "Imaginary part of: clog (0x6.b10b4f3520218p-4 + 0xe.8893dp-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x6.b10b5p-4 + 0xe.8893cbb449258p-4 i)":
+double: 1
+idouble: 1
+Test "Imaginary part of: clog (0x6.b10b5p-4 + 0xe.8893cbb449258p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x6.b10b5p-4 + 0xe.8893cbb44925p-4 i)":
+double: 1
+idouble: 1
+Test "Imaginary part of: clog (0x7.eca921b40e028p-4 + 0xd.e655e694e510a94307614f1a77b8p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x7.eca921b40e028p-4 + 0xd.e655e694e510a94p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x7.eca921b40e028p-4 + 0xd.e655e694e510a95p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x7.eca921b40e028p-4 + 0xd.e655e694e511p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x7.eca921b40e028p-4 + 0xd.e655fp-4 i)":
+double: 1
+idouble: 1
+Test "Real part of: clog (0x7.eca921b40e02ae1319143490849p-4 + 0xd.e655e694e5108p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x7.eca921b40e02ae1319143490849p-4 + 0xd.e655e694e510a94307614f1a77b8p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x7.eca921b40e02ae1319143490849p-4 + 0xd.e655e694e510a94307614f1a78p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x7.eca921b40e02ae1319143490849p-4 + 0xd.e655e694e510a94p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x7.eca921b40e02ae1319143490849p-4 + 0xd.e655e694e511p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x7.eca921b40e02ae1319143490849p-4 + 0xd.e655fp-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x7.eca921b40e02ae131914349084p-4 + 0xd.e655e694e5108p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x7.eca921b40e02ae131914349084p-4 + 0xd.e655e694e510a94307614f1a74p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x7.eca921b40e02ae131914349084p-4 + 0xd.e655e694e510a94307614f1a77b8p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x7.eca921b40e02ae131914349084p-4 + 0xd.e655e694e510a94307614f1a78p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x7.eca921b40e02ae131914349084p-4 + 0xd.e655e694e510a94307614f1a78p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x7.eca921b40e02ae131914349084p-4 + 0xd.e655e694e510a94p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x7.eca921b40e02ae131914349084p-4 + 0xd.e655e694e510a95p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x7.eca921b40e02ae131914349084p-4 + 0xd.e655e694e511p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x7.eca921b40e02ae131914349084p-4 + 0xd.e655fp-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x7.eca921b40e02ae131914349086p-4 + 0xd.e655e694e5108p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x7.eca921b40e02ae131914349086p-4 + 0xd.e655e694e510a94307614f1a74p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x7.eca921b40e02ae131914349086p-4 + 0xd.e655e694e510a94307614f1a77b8p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x7.eca921b40e02ae131914349086p-4 + 0xd.e655e694e510a94p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x7.eca921b40e02ae131914349086p-4 + 0xd.e655e694e511p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x7.eca921b40e02ae18p-4 + 0xd.e655e694e5108p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x7.eca921b40e02ae18p-4 + 0xd.e655e694e510a94307614f1a74p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x7.eca921b40e02ae18p-4 + 0xd.e655e694e510a94307614f1a77b8p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x7.eca921b40e02ae18p-4 + 0xd.e655ep-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x7.eca921b40e02ae18p-4 + 0xd.e655fp-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x7.eca921b40e02ae1p-4 + 0xd.e655e694e510a94307614f1a77b8p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x7.eca921b40e02ae1p-4 + 0xd.e655e694e510a94307614f1a78p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x7.eca921b40e02ae1p-4 + 0xd.e655e694e510a94p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x7.eca921b40e02ae1p-4 + 0xd.e655e694e511p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x7.eca921b40e02cp-4 + 0xd.e655e694e5108p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x7.eca921b40e02cp-4 + 0xd.e655e694e510a94307614f1a78p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x7.eca921b40e02cp-4 + 0xd.e655e694e510a94p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x7.eca921b40e02cp-4 + 0xd.e655e694e510a95p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x7.eca921b40e02cp-4 + 0xd.e655fp-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x7.eca928p-4 + 0xd.e655e694e5108p-4 i)":
+double: 1
+idouble: 1
+Test "Real part of: clog (0x7.eca928p-4 + 0xd.e655e694e510a94307614f1a77b8p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x7.eca928p-4 + 0xd.e655e694e510a94307614f1a78p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x7.eca928p-4 + 0xd.e655e694e510a94p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x7.eca928p-4 + 0xd.e655fp-4 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: clog (0x7.eca928p-4 + 0xd.e655fp-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x7.eca92p-4 + 0xd.e655e694e5108p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x7.eca92p-4 + 0xd.e655e694e510a94307614f1a77b8p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x7.eca92p-4 + 0xd.e655e694e510a94307614f1a78p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x7.eca92p-4 + 0xd.e655ep-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x7.eca92p-4 + 0xd.e655fp-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x7.f2c8d20a1eca10d384p-4 + 0xd.e2d65939160b31066ap-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x7.f2c8d20a1eca10d384p-4 + 0xd.e2d65p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x7.f2c8d20a1eca10d8p-4 + 0xd.e2d65p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x7.f2c8d20a1eca10d8p-4 + 0xd.e2d66p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x7.f2c8d20a1eca10dp-4 + 0xd.e2d65939160b311p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x7.f2c8d20a1eca10dp-4 + 0xd.e2d65939160b31p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x7.f2c8d20a1eca10dp-4 + 0xd.e2d65939160b31p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x7.f2c8d20a1eca10dp-4 + 0xd.e2d65939160bp-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x7.f2c8d20a1eca10dp-4 + 0xd.e2d65p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x7.f2c8d20a1eca4p-4 + 0xd.e2d65939160b8p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x7.f2c8d20a1eca4p-4 + 0xd.e2d65939160bp-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x7.f2c8d20a1eca4p-4 + 0xd.e2d65p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x7.f2c8d20a1eca4p-4 + 0xd.e2d65p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x7.f2c8d20a1eca4p-4 + 0xd.e2d66p-4 i)":
+double: 1
+idouble: 1
+Test "Imaginary part of: clog (0x7.f2c8d20a1eca4p-4 + 0xd.e2d66p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x7.f2c8d20a1ecap-4 + 0xd.e2d65939160b31p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x7.f2c8d20a1ecap-4 + 0xd.e2d65939160b8p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x7.f2c8d20a1ecap-4 + 0xd.e2d65939160bp-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x7.f2c8d20a1ecap-4 + 0xd.e2d65p-4 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x7.f2c8d20a1ecap-4 + 0xd.e2d65p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x7.f2c8d8p-4 + 0xd.e2d65939160b31066ap-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x7.f2c8d8p-4 + 0xd.e2d65939160b31066ap-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x7.f2c8d8p-4 + 0xd.e2d65939160b8p-4 i)":
+double: 1
+idouble: 1
+Test "Imaginary part of: clog (0x7.f2c8d8p-4 + 0xd.e2d66p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x7.f2c8dp-4 + 0xd.e2d65939160b311p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x7.f2c8dp-4 + 0xd.e2d65939160b311p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x7.f2c8dp-4 + 0xd.e2d65939160b8p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x7.f2c8dp-4 + 0xd.e2d65939160bp-4 i)":
+double: 1
+idouble: 1
+Test "Imaginary part of: clog (0x7.f2c8dp-4 + 0xd.e2d65p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x7.f4b083cb0bp-4 + 0xd.e1bf04f3688p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x7.f4b088p-4 + 0xd.e1bf04f3688p-4 i)":
+double: 1
+idouble: 1
+Test "Imaginary part of: clog (0x7.f4b088p-4 + 0xd.e1bfp-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x7.f4b08p-4 + 0xd.e1bf04f3688p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x8.88faep-4 + 0xd.888bcp-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x8.88faep-4 + 0xd.888bdp-4 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: clog (0x8.88faep-4 + 0xd.888bdp-4 i)":
+float: 1
+ifloat: 1
+Test "Real part of: clog (0x8.88fafp-4 + 0xd.888bdp-4 i)":
+float: 1
+ifloat: 1
+Test "Real part of: clog (0x8.ecbf810c4ae6p-4 + 0xd.479468b09a37p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x8.ecbf810c4ae6p-4 + 0xd.47946p-4 i)":
+double: 1
+idouble: 1
+Test "Real part of: clog (0x8.ecbf8p-4 + 0xd.479468b09a37p-4 i)":
+double: 1
+idouble: 1
+Test "Imaginary part of: clog (0x8.ecbf8p-4 + 0xd.479468b09a37p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x8.ecbf8p-4 + 0xd.47946p-4 i)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x8.ecbf9p-4 + 0xd.479468b09a37p-4 i)":
+double: 1
+idouble: 1
+Test "Real part of: clog (0x8p-1076 + +0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x8p-1076 + 0x8p-1076 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x8p-1076 + 0x8p-152 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x8p-152 + +0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x8p-152 + 0x4p-1076 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x8p-152 + 0x8p-1076 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x8p-152 + 0x8p-16444 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x8p-152 + 0xf.8p+124 i)":
+float: 1
+ifloat: 1
+Test "Real part of: clog (0x8p-152 + 0xf.8p+16380 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x8p-152 - 0xf.8p+124 i)":
+float: 1
+ifloat: 1
+Test "Real part of: clog (0x8p-152 - 0xf.8p+16380 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x8p-16448 + 0xf.8p+16380 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x8p-16448 - 0xf.8p+16380 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x9.a9cp-4 + 0xc.c0ap-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x9.b386fc56b9688p-4 + 0xc.b9317c470b4085cp-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x9.b386fc56b9688p-4 + 0xc.b9317c470b408p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x9.b386fc56b9688p-4 + 0xc.b9317c470b41p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x9.b386fc56b9688p-4 + 0xc.b9317p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x9.b386fc56b968a66p-4 + 0xc.b9317c470b41p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x9.b386fc56b968a66p-4 + 0xc.b9317p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x9.b386fc56b969p-4 + 0xc.b9317p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x9.b386fp-4 + 0xc.b9317c470b41p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x9.b386fp-4 + 0xc.b9317p-4 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: clog (0x9.b386fp-4 + 0xc.b9317p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x9.b57bp-4 + 0xc.b7b4p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x9.c1b6ac509a246ba85a5c8p-4 + 0xc.ae53de1d5a7c8bp-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x9.c1b6ac509a246ba85a5c8p-4 + 0xc.ae53de1d5a7c8p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x9.c1b6ac509a246ba85a5c8p-4 + 0xc.ae53de1d5a7c8p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x9.c1b6ac509a246ba85a5c8p-4 + 0xc.ae53dp-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x9.c1b6ac509a246ba85a5c8p-4 + 0xc.ae53ep-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x9.c1b6ac509a246bap-4 + 0xc.ae53de1d5a7c8p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x9.c1b6ac509a246bap-4 + 0xc.ae53ep-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x9.c1b6ac509a246bbp-4 + 0xc.ae53de1d5a7c8bp-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x9.c1b6ac509a246bbp-4 + 0xc.ae53de1d5a7c8p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x9.c1b6ac509a246bbp-4 + 0xc.ae53dp-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x9.c1b6ac509a248p-4 + 0xc.ae53de1d5a7c8bp-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x9.c1b6ac509a248p-4 + 0xc.ae53de1d5a7c8p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x9.c1b6ac509a248p-4 + 0xc.ae53de1d5a7dp-4 i)":
+double: 1
+idouble: 1
+Test "Real part of: clog (0x9.c1b6ac509a248p-4 + 0xc.ae53ep-4 i)":
+double: 1
+idouble: 1
+Test "Real part of: clog (0x9.c1b6ac509a24p-4 + 0xc.ae53de1d5a7c8b1p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x9.c1b6ac509a24p-4 + 0xc.ae53de1d5a7c8p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x9.c1b6ac509a24p-4 + 0xc.ae53dp-4 i)":
+double: 1
+idouble: 1
+Test "Imaginary part of: clog (0x9.c1b6ac509a24p-4 + 0xc.ae53dp-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x9.c1b6ac509a24p-4 + 0xc.ae53ep-4 i)":
+double: 1
+idouble: 1
+Test "Real part of: clog (0x9.c1b6ap-4 + 0xc.ae53de1d5a7c8b0f6df3p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x9.c1b6ap-4 + 0xc.ae53de1d5a7c8b0f6df3p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x9.c1b6ap-4 + 0xc.ae53de1d5a7c8bp-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x9.c1b6ap-4 + 0xc.ae53de1d5a7c8bp-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x9.c1b6ap-4 + 0xc.ae53de1d5a7dp-4 i)":
+double: 1
+idouble: 1
+Test "Real part of: clog (0x9.c1b6ap-4 + 0xc.ae53dp-4 i)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x9.c1b6ap-4 + 0xc.ae53ep-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x9.c1b6ap-4 + 0xc.ae53ep-4 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: clog (0x9.c1b6bp-4 + 0xc.ae53de1d5a7c8bp-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x9.c1b6bp-4 + 0xc.ae53dp-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0xa.47c0c65bd4928p-4 + 0xc.42a51a3c05c199f62998856b84p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0xa.47c0c65bd4928p-4 + 0xc.42a51a3c05c199fp-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0xa.47c0c65bd4928p-4 + 0xc.42a51p-4 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0xa.47c0c65bd492c7e54a156f1504p-4 + 0xc.42a51a3c05c199f62998856b8008p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0xa.47c0c65bd492c7e54a156f1504p-4 + 0xc.42a51a3c05c2p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0xa.47c0c65bd492c7e54a156f1504p-4 + 0xc.42a52p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0xa.47c0c65bd492c7e54a156f15065p-4 + 0xc.42a51a3c05c199f62998856b84p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0xa.47c0c65bd492c7e54a156f15065p-4 + 0xc.42a51a3c05c199f62998856b8p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0xa.47c0c65bd492c7e54a156f15065p-4 + 0xc.42a51a3c05c199fp-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0xa.47c0c65bd492c7e54a156f15065p-4 + 0xc.42a51a3c05c19ap-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0xa.47c0c65bd492c7e54a156f15065p-4 + 0xc.42a51a3c05c2p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0xa.47c0c65bd492c7e54a156f15065p-4 + 0xc.42a51p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0xa.47c0c65bd492c7e54a156f15065p-4 + 0xc.42a52p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0xa.47c0c65bd492c7e54a156f15065p-4 + 0xc.42a52p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0xa.47c0c65bd492c7e54a156f1508p-4 + 0xc.42a51a3c05c199f62998856b84p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0xa.47c0c65bd492c7e54a156f1508p-4 + 0xc.42a51a3c05c199fp-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0xa.47c0c65bd492c7e54a156f1508p-4 + 0xc.42a51a3c05c19ap-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0xa.47c0c65bd492c7e54a156f1508p-4 + 0xc.42a51a3c05c2p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0xa.47c0c65bd492c7e54a156f1508p-4 + 0xc.42a51p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0xa.47c0c65bd492c7e54a156f1508p-4 + 0xc.42a52p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0xa.47c0c65bd492c7e54a156f1508p-4 + 0xc.42a52p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0xa.47c0c65bd492c7ep-4 + 0xc.42a51a3c05c18p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0xa.47c0c65bd492c7ep-4 + 0xc.42a51a3c05c199f62998856b8008p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0xa.47c0c65bd492c7ep-4 + 0xc.42a51a3c05c199f62998856b8p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0xa.47c0c65bd492c7ep-4 + 0xc.42a51a3c05c199fp-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0xa.47c0c65bd492c7ep-4 + 0xc.42a51a3c05c19ap-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0xa.47c0c65bd492c7fp-4 + 0xc.42a51a3c05c18p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0xa.47c0c65bd492c7fp-4 + 0xc.42a51a3c05c199f62998856b84p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0xa.47c0c65bd492c7fp-4 + 0xc.42a51a3c05c199f62998856b8p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0xa.47c0c65bd492c7fp-4 + 0xc.42a51a3c05c199f62998856b8p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0xa.47c0c65bd492c7fp-4 + 0xc.42a51a3c05c19ap-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0xa.47c0c65bd492c7fp-4 + 0xc.42a51p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0xa.47c0c65bd493p-4 + 0xc.42a51a3c05c199f62998856b8008p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0xa.47c0c65bd493p-4 + 0xc.42a51a3c05c199f62998856b8008p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0xa.47c0c65bd493p-4 + 0xc.42a51a3c05c199f62998856b8p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0xa.47c0c65bd493p-4 + 0xc.42a51a3c05c199f62998856b8p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0xa.47c0c65bd493p-4 + 0xc.42a52p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0xa.47c0cp-4 + 0xc.42a51a3c05c18p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0xa.47c0cp-4 + 0xc.42a51a3c05c199f62998856b84p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0xa.47c0cp-4 + 0xc.42a51a3c05c199f62998856b8p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0xa.47c0cp-4 + 0xc.42a51a3c05c2p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0xa.47c0cp-4 + 0xc.42a51p-4 i)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0xa.47c0cp-4 + 0xc.42a51p-4 i)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0xa.47c0dp-4 + 0xc.42a51a3c05c199f62998856b8p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0xa.47c0dp-4 + 0xc.42a51a3c05c199f62998856b8p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0xa.47c0dp-4 + 0xc.42a51a3c05c199fp-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0xa.afc57e2624342dfb1b08p-4 + 0xb.e867932966df58ap-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0xa.afc57e2624342dfb1b08p-4 + 0xb.e8679p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0xa.afc57e2624342dfb1b08p-4 + 0xb.e867ap-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0xa.afc57e2624342dfp-4 + 0xb.e867932966df5894a70c8p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0xa.afc57e2624342dfp-4 + 0xb.e867932966df589p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0xa.afc57e2624342dfp-4 + 0xb.e867932966dfp-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0xa.afc57e2624342dfp-4 + 0xb.e8679p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0xa.afc57e2624342ep-4 + 0xb.e867932966df589p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0xa.afc57e2624342ep-4 + 0xb.e8679p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0xa.afc57e2624342ep-4 + 0xb.e867ap-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0xa.afc57e2624348p-4 + 0xb.e867932966df5894a70c8p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0xa.afc57e2624348p-4 + 0xb.e867932966df58ap-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0xa.afc57e2624348p-4 + 0xb.e867932966df8p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0xa.afc57e2624348p-4 + 0xb.e8679p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0xa.afc57e2624348p-4 + 0xb.e867ap-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0xa.afc57e262434p-4 + 0xb.e867932966df5894a70c8p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0xa.afc57e262434p-4 + 0xb.e867932966df8p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0xa.afc57e262434p-4 + 0xb.e867932966dfp-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0xa.afc57p-4 + 0xb.e867932966df8p-4 i)":
+double: 1
+idouble: 1
+Test "Imaginary part of: clog (0xa.afc57p-4 + 0xb.e867932966df8p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0xa.afc58p-4 + 0xb.e867932966df5894a70c8p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0xa.afc58p-4 + 0xb.e867932966dfp-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0xa.afc58p-4 + 0xb.e867ap-4 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: clog (0xa.b96da19075eap-8 + 0xf.fc67818f89d2p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0xa.b96da19075eap-8 + 0xf.fc679p-4 i)":
+double: 1
+idouble: 1
+Test "Real part of: clog (0xa.b96dap-8 + 0xf.fc67818f89d2p-4 i)":
+double: 1
+idouble: 1
+Test "Real part of: clog (0xa.b96dap-8 + 0xf.fc678p-4 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: clog (0xa.b96dap-8 + 0xf.fc678p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0xa.b96dap-8 + 0xf.fc679p-4 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: clog (0xa.b96dbp-8 + 0xf.fc67818f89d2p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0xa.e7de8cc868ff8p-4 + 0xb.b51cbp-4 i)":
+double: 1
+idouble: 1
+Test "Imaginary part of: clog (0xa.e7de8p-4 + 0xb.b51cb9f04d4dp-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0xa.e7de8p-4 + 0xb.b51cbp-4 i)":
+float: 1
+ifloat: 1
+Test "Real part of: clog (0xa.e7de9p-4 + 0xb.b51cb9f04d4dp-4 i)":
+double: 1
+idouble: 1
+Test "Real part of: clog (0xa.e7de9p-4 + 0xb.b51cbp-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0xa.e7de9p-4 + 0xb.b51cbp-4 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: clog (0xa.e7de9p-4 + 0xb.b51ccp-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0xa.ec55b7682e528a043561d0f42p-4 + 0xb.b0f2405504a68p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0xa.ec55b7682e528a1p-4 + 0xb.b0f2405504a6058859a584e748p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0xa.ec55b7682e528a1p-4 + 0xb.b0f2405504a6059p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0xa.ec55b7682e528a1p-4 + 0xb.b0f2405504a68p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0xa.ec55b7682e528a1p-4 + 0xb.b0f2405504a6p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0xa.ec55b7682e528a1p-4 + 0xb.b0f24p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0xa.ec55b7682e528ap-4 + 0xb.b0f2405504a68p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0xa.ec55b7682e528ap-4 + 0xb.b0f25p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0xa.ec55b7682e528p-4 + 0xb.b0f2405504a6059p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0xa.ec55b7682e528p-4 + 0xb.b0f2405504a68p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0xa.ec55b7682e528p-4 + 0xb.b0f2405504a6p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0xa.ec55b7682e528p-4 + 0xb.b0f24p-4 i)":
 double: 1
 idouble: 1
+Test "Imaginary part of: clog (0xa.ec55b7682e53p-4 + 0xb.b0f2405504a6058859a584e748p-4 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacosh (+0 - 0.5 i)":
-float: 1
-ifloat: 1
+Test "Real part of: clog (0xa.ec55bp-4 + 0xb.b0f2405504a6059p-4 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacosh (+0 - 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
+Test "Imaginary part of: clog (0xa.ec55bp-4 + 0xb.b0f2405504a6059p-4 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacosh (+0 - 1.5 i)":
+Test "Imaginary part of: clog (0xa.ec55bp-4 + 0xb.b0f2405504a68p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0xa.ec55bp-4 + 0xb.b0f24p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0xa.ec55cp-4 + 0xb.b0f2405504a6058859a584e748p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0xa.ec55cp-4 + 0xb.b0f2405504a6058859a584e748p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0xa.ec55cp-4 + 0xb.b0f2405504a6059p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0xa.ec55cp-4 + 0xb.b0f2405504a68p-4 i)":
 double: 1
 idouble: 1
+Test "Imaginary part of: clog (0xa.ec55cp-4 + 0xb.b0f24p-4 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacosh (-0 + 0.5 i)":
+Test "Real part of: clog (0xa.ec55cp-4 + 0xb.b0f25p-4 i)":
 float: 1
 ifloat: 1
+Test "Imaginary part of: clog (0xa.ec55cp-4 + 0xb.b0f25p-4 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacosh (-0 + 1.0 i)":
+Test "Real part of: clog (0xb.263a77543bp-4 + 0xb.79c9ap-4 i)":
 double: 1
-float: 1
 idouble: 1
-ifloat: 1
+Test "Imaginary part of: clog (0xb.263a7p-4 + 0xb.79c9ap-4 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacosh (-0 + 1.5 i)":
-double: 1
-idouble: 1
+Test "Imaginary part of: clog (0xb.263a7p-4 + 0xb.79c9bp-4 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacosh (-0 - 0.5 i)":
+Test "Real part of: clog (0xb.263a8p-4 + 0xb.79c9bp-4 i)":
 float: 1
 ifloat: 1
+Test "Imaginary part of: clog (0xb.263a8p-4 + 0xb.79c9bp-4 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacosh (-0 - 1.0 i)":
-double: 1
+Test "Real part of: clog (0xf.8p+124 + 0x8p-152 i)":
 float: 1
-idouble: 1
 ifloat: 1
+Test "Real part of: clog (0xf.8p+124 - 0x8p-152 i)":
+float: 1
+ifloat: 1
+Test "Real part of: clog (0xf.8p+16380 + +0 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacosh (-0 - 1.5 i)":
-double: 1
-idouble: 1
+Test "Real part of: clog (0xf.8p+16380 + 0x4p-1076 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacosh (-0.0 + 0x0.ffffffffffffffffffffffffffcp0 i)":
+Test "Real part of: clog (0xf.8p+16380 + 0x4p-16448 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacosh (-0.0 + 0x0.ffffffffffffffffp0 i)":
+Test "Real part of: clog (0xf.8p+16380 + 0x4p-16496 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacosh (-0.0 + 0x1.0000000000000000000000000001p0 i)":
+Test "Real part of: clog (0xf.8p+16380 + 0x8p-152 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacosh (-0.0 + 0x1.0000000000000002p0 i)":
+Test "Real part of: clog (0xf.8p+16380 + 0x8p-16448 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacosh (-0.0 + 0x1.0000000000001p0 i)":
+Test "Real part of: clog (0xf.8p+16380 + 0xf.8p+16380 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacosh (-0.0 - 0x0.ffffffffffffffffffffffffffcp0 i)":
+Test "Real part of: clog (0xf.8p+16380 + 0xf.ffffffffffff8p+1020 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacosh (-0.0 - 0x0.ffffffffffffffffp0 i)":
+Test "Real part of: clog (0xf.8p+16380 + 0xf.ffffffffffffbffffffffffffcp+1020 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacosh (-0.0 - 0x1.0000000000000000000000000001p0 i)":
+Test "Real part of: clog (0xf.8p+16380 + 0xf.fffffp+124 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacosh (-0.0 - 0x1.0000000000000002p0 i)":
+Test "Real part of: clog (0xf.8p+16380 - 0 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacosh (-0.0 - 0x1.0000000000001p0 i)":
+Test "Real part of: clog (0xf.8p+16380 - 0x4p-1076 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacosh (-0.25 + 1.0 i)":
-float: 1
-ifloat: 1
+Test "Real part of: clog (0xf.8p+16380 - 0x4p-16448 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacosh (-0.25 + 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Real part of: cacosh (-0.25 - 1.0 i)":
-float: 1
-ifloat: 1
+Test "Real part of: clog (0xf.8p+16380 - 0x4p-16496 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacosh (-0.25 - 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (-0.5 + +0 i)":
+Test "Real part of: clog (0xf.8p+16380 - 0x8p-152 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacosh (-0.5 + 0x1.fp-1025 i)":
+Test "Real part of: clog (0xf.8p+16380 - 0x8p-16448 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacosh (-0.5 + 0x1.fp-129 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: cacosh (-0.5 + 0x1.fp-129 i)":
+Test "Real part of: clog (0xf.ffffffffffff8p+1020 + 0xf.8p+16380 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacosh (-0.5 + 0x1.fp-16385 i)":
+Test "Real part of: clog (0xf.ffffffffffffbffffffffffffcp+1020 + 0xf.8p+16380 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacosh (-0.5 + 0x1p-105 i)":
+Test "Real part of: clog (0xf.fffffp+124 + 0x8p+1020 i)":
 double: 1
 idouble: 1
+Test "Real part of: clog (0xf.fffffp+124 + 0xf.8p+16380 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacosh (-0.5 + 0x1p-105 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0.5 + 0x1p-112 i)":
-double: 1
-idouble: 1
+Test "Real part of: clog (0xf.fffffp-4 + +0 i)":
+float: 1
+ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacosh (-0.5 + 0x1p-112 i)":
+Test "Real part of: clog (0xf.fffffp-4 + 0x4p-1076 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacosh (-0.5 + 0x1p-23 i)":
-double: 1
-idouble: 1
+Test "Real part of: clog (0xf.fffffp-4 + 0x8p-152 i)":
+float: 1
+ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacosh (-0.5 + 0x1p-52 i)":
+Test "Real part of: clog (0xf.fffffp-4 + 0xf.ffffffffffff8p-1004 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacosh (-0.5 + 0x1p-63 i)":
+Test "Real part of: clog (0xf.fffffp-4 + 0xf.fffffffffffffffp-15004 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacosh (-0.5 + 0x1p-63 i)":
+Test "Real part of: clog (0xf.fffffp-4 + 0xf.fffffp-104 i)":
+float: 1
+ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacosh (-0.5 + 1.0 i)":
+
+# clog10
+Test "Imaginary part of: clog10 (-0 + inf i)":
 double: 1
+float: 1
 idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (-0.5 + 1.0 i)":
+ifloat: 1
+Test "Imaginary part of: clog10 (-0 - inf i)":
+double: 1
 float: 1
+idouble: 1
 ifloat: 1
-Test "Imaginary part of: cacosh (-0.5 - 0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (-0.5 - 0x1.fp-1025 i)":
+Test "Real part of: clog10 (-0x1.0000000123456p0 + 0x1.2345678p-1000 i)":
+double: 2
+idouble: 2
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacosh (-0.5 - 0x1.fp-129 i)":
+Test "Imaginary part of: clog10 (-0x1.0000000123456p0 + 0x1.2345678p-1000 i)":
 double: 1
 idouble: 1
-Test "Imaginary part of: cacosh (-0.5 - 0x1.fp-129 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (-0.5 - 0x1.fp-16385 i)":
+Test "Real part of: clog10 (-0x1.0000000123456p0 + 0x1.2345678p-30 i)":
+double: 2
+idouble: 2
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacosh (-0.5 - 0x1p-105 i)":
+Test "Imaginary part of: clog10 (-0x1.0000000123456p0 + 0x1.2345678p-30 i)":
 double: 1
 idouble: 1
+Test "Imaginary part of: clog10 (-0x1.fp+1023 + 0x1p-1074 i)":
+double: 1
+idouble: 1
+Test "Imaginary part of: clog10 (-0x1.fp+1023 - 0x1p-1074 i)":
+double: 1
+idouble: 1
+Test "Imaginary part of: clog10 (-0x1.fp+127 + 0x1p-149 i)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+Test "Imaginary part of: clog10 (-0x1.fp+127 - 0x1p-149 i)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+Test "Imaginary part of: clog10 (-0x1p-1074 + 0x1.fp+1023 i)":
+double: 1
+idouble: 1
+Test "Imaginary part of: clog10 (-0x1p-1074 - 0x1.fp+1023 i)":
+double: 1
+idouble: 1
+Test "Imaginary part of: clog10 (-0x1p-149 + 0x1.fp+127 i)":
+double: 1
+idouble: 1
+Test "Imaginary part of: clog10 (-0x1p-149 - 0x1.fp+127 i)":
+double: 1
+idouble: 1
+Test "Imaginary part of: clog10 (-1.0 + 0x1.234566p-20 i)":
+double: 1
+idouble: 1
+Test "Real part of: clog10 (-2 - 3 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacosh (-0.5 - 0x1p-105 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0.5 - 0x1p-112 i)":
+Test "Imaginary part of: clog10 (-2 - 3 i)":
 double: 1
 idouble: 1
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacosh (-0.5 - 0x1p-112 i)":
+Test "Imaginary part of: clog10 (-3 + inf i)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+Test "Imaginary part of: clog10 (-3 - inf i)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+Test "Imaginary part of: clog10 (-inf + 0 i)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+Test "Imaginary part of: clog10 (-inf + 1 i)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+Test "Imaginary part of: clog10 (-inf + inf i)":
+double: 1
+idouble: 1
+Test "Imaginary part of: clog10 (-inf - 0 i)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+Test "Imaginary part of: clog10 (-inf - 1 i)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+Test "Imaginary part of: clog10 (0 + inf i)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+Test "Imaginary part of: clog10 (0 - inf i)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+Test "Imaginary part of: clog10 (0.75 + 1.25 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacosh (-0.5 - 0x1p-23 i)":
+Test "Real part of: clog10 (0x0.fffffffffffff8p0 + 0x0.fffffffffffff8p-1000 i)":
 double: 1
 idouble: 1
+Test "Real part of: clog10 (0x0.ffffffp0 + 0x0.ffffffp-100 i)":
+double: 1
+float: 2
+idouble: 1
+ifloat: 2
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacosh (-0.5 - 0x1p-52 i)":
+Test "Real part of: clog10 (0x1.00000000000000123456789abcp0 + 0x1.23456789p-1000 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacosh (-0.5 - 0x1p-63 i)":
+Test "Imaginary part of: clog10 (0x1.00000000000000123456789abcp0 + 0x1.23456789p-1000 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacosh (-0.5 - 0x1p-63 i)":
+Test "Imaginary part of: clog10 (0x1.00000000000000123456789abcp0 + 0x1.23456789p-60 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacosh (-0.5 - 1.0 i)":
+Test "Real part of: clog10 (0x1.000566p0 + 0x1.234p-10 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: clog10 (0x1.000566p0 + 0x1.234p-10 i)":
 double: 1
 idouble: 1
+ildouble: 2
+ldouble: 2
+Test "Real part of: clog10 (0x1.000566p0 + 0x1.234p-100 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: clog10 (0x1.000566p0 + 0x1.234p-100 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacosh (-0.5 - 1.0 i)":
+Test "Imaginary part of: clog10 (0x1.234566p-30 + 1.0 i)":
 float: 1
 ifloat: 1
-Test "Real part of: cacosh (-0x0.fffffffffffff8p0 + 0x1p-52 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacosh (-0x0.fffffffffffff8p0 - 0x1p-52 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacosh (-0x0.ffffffffffffffffffffffffffcp0 + 0x1p-105 i)":
+Test "Real part of: clog10 (0x1.234566p-50 + 1.0 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacosh (-0x0.ffffffffffffffffffffffffffcp0 - 0x1p-105 i)":
+Test "Imaginary part of: clog10 (0x1.234566p-50 + 1.0 i)":
+float: 1
+ifloat: 1
+Test "Real part of: clog10 (0x1.234566p-60 + 1.0 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacosh (-0x0.ffffffffffffffffp0 + 0x1p-63 i)":
+Test "Imaginary part of: clog10 (0x1.234566p-60 + 1.0 i)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+Test "Imaginary part of: clog10 (0x1.fffffep+127 + 0x1.fffffep+127 i)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+Test "Real part of: clog10 (0x1.fffffep+127 + 1.0 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: clog10 (0x1.fffffffffffffp+1023 + 0x1.fffffffffffffp+1023 i)":
+double: 1
+idouble: 1
+Test "Real part of: clog10 (0x1.fp+16383 + 0x1.fp+16383 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacosh (-0x0.ffffffffffffffffp0 - 0x1p-63 i)":
+Test "Real part of: clog10 (0x1.fp+16383 + 0x1p+16383 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacosh (-0x0.ffffffp0 + 0x1p-23 i)":
-float: 2
-ifloat: 2
-Test "Real part of: cacosh (-0x0.ffffffp0 - 0x1p-23 i)":
-float: 2
-ifloat: 2
-Test "Real part of: cacosh (-0x1.0000000000000000000000000001p0 + 0.0 i)":
+Test "Real part of: clog10 (0x10673dd0f2481p-51 + 0x7ef1d17cefbd2p-51 i)":
+double: 1
+idouble: 1
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacosh (-0x1.0000000000000000000000000001p0 + 0x1.fp-16385 i)":
+Test "Real part of: clog10 (0x1367a310575591p-54 + 0x3cfcc0a0541f60p-54 i)":
+double: 1
+idouble: 1
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacosh (-0x1.0000000000000000000000000001p0 + 0x1p-113 i)":
+Test "Imaginary part of: clog10 (0x1367a310575591p-54 + 0x3cfcc0a0541f60p-54 i)":
+double: 1
+idouble: 1
+Test "Real part of: clog10 (0x1415bcaf2105940d49a636e98ae59p-115 + 0x7e6a150adfcd1b0921d44b31f40f4p-115 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacosh (-0x1.0000000000000000000000000001p0 - 0.0 i)":
+Test "Imaginary part of: clog10 (0x15cfbd1990d1ffp-53 + 0x176a3973e09a9ap-53 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacosh (-0x1.0000000000000000000000000001p0 - 0x1.fp-16385 i)":
+Test "Imaginary part of: clog10 (0x164c74eea876p-45 + 0x16f393482f77p-45 i)":
+double: 1
+idouble: 1
+Test "Imaginary part of: clog10 (0x1a6p-10 + 0x3a5p-10 i)":
+double: 1
+idouble: 1
+Test "Real part of: clog10 (0x1df515eb171a808b9e400266p-95 + 0x7c71eb0cd4688dfe98581c77p-95 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacosh (-0x1.0000000000000000000000000001p0 - 0x1p-113 i)":
+Test "Imaginary part of: clog10 (0x1df515eb171a808b9e400266p-95 + 0x7c71eb0cd4688dfe98581c77p-95 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacosh (-0x1.000002p0 + 0x1p-23 i)":
+Test "Imaginary part of: clog10 (0x1p-1073 + 0x1p-1073 i)":
+double: 1
+idouble: 1
+Test "Imaginary part of: clog10 (0x1p-1074 + 0x1.fp+1023 i)":
+double: 1
+idouble: 1
+Test "Real part of: clog10 (0x1p-1074 + 0x1p-1074 i)":
+double: 1
+idouble: 1
+Test "Imaginary part of: clog10 (0x1p-1074 + 0x1p-1074 i)":
+double: 1
+idouble: 1
+Test "Imaginary part of: clog10 (0x1p-1074 - 0x1.fp+1023 i)":
+double: 1
+idouble: 1
+Test "Imaginary part of: clog10 (0x1p-147 + 0x1p-147 i)":
+double: 1
 float: 1
+idouble: 1
 ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0x1.000002p0 - 0x1p-23 i)":
+Test "Imaginary part of: clog10 (0x1p-149 + 0x1.fp+127 i)":
+double: 1
 float: 1
+idouble: 1
 ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0x1.fp-10 + 1.0 i)":
+Test "Imaginary part of: clog10 (0x1p-149 + 0x1p-149 i)":
 double: 1
+float: 1
 idouble: 1
-Test "Real part of: cacosh (-0x1.fp-10 - 1.0 i)":
+ifloat: 1
+Test "Imaginary part of: clog10 (0x1p-149 - 0x1.fp+127 i)":
 double: 1
+float: 1
 idouble: 1
-Test "Real part of: cacosh (-0x1.fp-100 + 1.0 i)":
+ifloat: 1
+Test "Imaginary part of: clog10 (0x1p-509 + 1.0 i)":
+double: 1
+idouble: 1
+Test "Imaginary part of: clog10 (0x1p-510 + 1.0 i)":
+double: 1
+idouble: 1
+Test "Imaginary part of: clog10 (0x1p-511 + 1.0 i)":
+double: 1
+idouble: 1
+Test "Imaginary part of: clog10 (0x1p-61 + 1.0 i)":
 double: 1
 float: 1
 idouble: 1
 ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (-0x1.fp-100 + 1.0 i)":
+Test "Imaginary part of: clog10 (0x1p-62 + 1.0 i)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+Test "Imaginary part of: clog10 (0x1p-63 + 1.0 i)":
+double: 1
 float: 1
+idouble: 1
 ifloat: 1
-Test "Real part of: cacosh (-0x1.fp-100 - 1.0 i)":
+Test "Real part of: clog10 (0x2818p-15 + 0x798fp-15 i)":
 double: 1
 float: 1
 idouble: 1
 ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacosh (-0x1.fp-100 - 1.0 i)":
+Test "Imaginary part of: clog10 (0x2818p-15 + 0x798fp-15 i)":
 float: 1
 ifloat: 1
-Test "Real part of: cacosh (-0x1.fp-1000 + 1.0 i)":
-double: 1
-idouble: 1
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacosh (-0x1.fp-1000 - 1.0 i)":
+Test "Real part of: clog10 (0x2dd46725bp-35 + 0x7783a1284p-35 i)":
 double: 1
 idouble: 1
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacosh (-0x1.fp-10000 + 1.0 i)":
+Test "Real part of: clog10 (0x2ede88p-23 + 0x771c3fp-23 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: clog10 (0x2ede88p-23 + 0x771c3fp-23 i)":
+double: 1
+idouble: 1
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacosh (-0x1.fp-10000 - 1.0 i)":
+Test "Imaginary part of: clog10 (0x3f96469050f650869c2p-75 + 0x6f16b2c9c8b05988335p-75 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacosh (-0x1.fp-1025 + 0.5 i)":
+Test "Real part of: clog10 (0x4447d7175p-35 + 0x6c445e00ap-35 i)":
+double: 1
+idouble: 1
+Test "Real part of: clog10 (0x4d4ep-15 + 0x6605p-15 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacosh (-0x1.fp-1025 + 0x0.ffffffffffffffffffffffffffcp0 i)":
+Test "Real part of: clog10 (0x4d9c37e2b5cb4533p-63 + 0x65c98be2385a042ep-63 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacosh (-0x1.fp-1025 + 0x1.0000000000001p0 i)":
+Test "Real part of: clog10 (0x55cb6d0c83af5p-55 + 0x7fe33c0c7c4e90p-55 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacosh (-0x1.fp-1025 + 1.0 i)":
+Test "Imaginary part of: clog10 (0x5b06b680ea2ccp-52 + 0xef452b965da9fp-52 i)":
 double: 1
 idouble: 1
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacosh (-0x1.fp-1025 + 1.5 i)":
-double: 1
-idouble: 1
+Test "Real part of: clog10 (0x602fd5037c4792efp-64 + 0xed3e2086dcca80b8p-64 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacosh (-0x1.fp-1025 - 0.5 i)":
+Test "Real part of: clog10 (0x6241ef0da53f539f02fad67dabp-106 + 0x3fb46641182f7efd9caa769dac0p-106 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacosh (-0x1.fp-1025 - 0x0.ffffffffffffffffffffffffffcp0 i)":
+Test "Real part of: clog10 (0x659feap-24 + 0xeaf6f9p-24 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacosh (-0x1.fp-1025 - 0x1.0000000000001p0 i)":
+Test "Imaginary part of: clog10 (0x659feap-24 + 0xeaf6f9p-24 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacosh (-0x1.fp-1025 - 1.0 i)":
-double: 1
-idouble: 1
+Test "Imaginary part of: clog10 (0x6b10b4f3520217b6p-64 + 0xe8893cbb449253a1p-64 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacosh (-0x1.fp-1025 - 1.5 i)":
+Test "Imaginary part of: clog10 (0x9b57bp-20 + 0xcb7b4p-20 i)":
 double: 1
 idouble: 1
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacosh (-0x1.fp-129 + 0.5 i)":
-float: 1
-ifloat: 1
+Test "Real part of: clog10 (0xdb85c467ee2aadd5f425fe0f4b8dp-114 + 0x3e83162a0f95f1dcbf97dddf410eap-114 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacosh (-0x1.fp-129 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (-0x1.fp-129 + 0x0.ffffffp0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (-0x1.fp-129 + 0x1.000002p0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (-0x1.fp-129 + 0x1.fp-129 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (-0x1.fp-129 + 0x1p-23 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacosh (-0x1.fp-129 + 1.0 i)":
+Test "Real part of: clog10 (0xf2p-10 + 0x3e3p-10 i)":
 double: 1
-float: 1
 idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (-0x1.fp-129 + 1.0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacosh (-0x1.fp-129 + 1.5 i)":
+Test "Imaginary part of: clog10 (0xf2p-10 + 0x3e3p-10 i)":
+double: 1
+idouble: 1
+Test "Imaginary part of: clog10 (0xfd95243681c055c2632286921092p-113 + 0x1bccabcd29ca2152860ec29e34ef7p-113 i)":
+ildouble: 2
+ldouble: 2
+Test "Imaginary part of: clog10 (0xfe961079616p-45 + 0x1bc37e09e6d1p-45 i)":
 double: 1
 idouble: 1
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacosh (-0x1.fp-129 + 1.5 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacosh (-0x1.fp-129 - 0.5 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (-0x1.fp-129 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (-0x1.fp-129 - 0x0.ffffffp0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (-0x1.fp-129 - 0x1.000002p0 i)":
+Test "Imaginary part of: clog10 (1.0 + 0x1.234566p-10 i)":
+double: 1
+idouble: 1
+Test "Imaginary part of: clog10 (3 + inf i)":
+double: 1
 float: 1
+idouble: 1
 ifloat: 1
-Test "Imaginary part of: cacosh (-0x1.fp-129 - 0x1.fp-129 i)":
+Test "Imaginary part of: clog10 (3 - inf i)":
+double: 1
 float: 1
+idouble: 1
 ifloat: 1
-Test "Imaginary part of: cacosh (-0x1.fp-129 - 0x1p-23 i)":
+Test "Imaginary part of: clog10 (inf + inf i)":
+double: 1
 float: 1
+idouble: 1
 ifloat: 1
-Test "Real part of: cacosh (-0x1.fp-129 - 1.0 i)":
+Test "Imaginary part of: clog10 (inf - inf i)":
 double: 1
 float: 1
 idouble: 1
 ifloat: 1
+
+# cos
+Test "cos (-0xf.ffffffffffff8p+1020)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacosh (-0x1.fp-129 - 1.0 i)":
+Test "cos (-0xf.ffffffffffffbffffffffffffcp+1020)":
+ildouble: 1
+ldouble: 1
+Test "cos (-0xf.fffffffffffffffffffffffffff8p+16380)":
+ildouble: 1
+ldouble: 1
+Test "cos (-0xf.fffffffffffffffp+16380)":
+ildouble: 1
+ldouble: 1
+Test "cos (0x1.921fb54442d1846ap+0)":
+ildouble: 1
+ldouble: 1
+Test "cos (0x1.921fb54442d18p+0)":
+ildouble: 1
+ldouble: 1
+Test "cos (0x1p+120)":
 float: 1
 ifloat: 1
-Test "Real part of: cacosh (-0x1.fp-129 - 1.5 i)":
-double: 1
-idouble: 1
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacosh (-0x1.fp-129 - 1.5 i)":
+Test "cos (0x1p+28)":
+ildouble: 1
+ldouble: 1
+Test "cos (0x2.182a4705ae6cb08cb7665c1eacf6p+0)":
+ildouble: 1
+ldouble: 1
+Test "cos (0x2.182a4705ae6ccp+0)":
+ildouble: 1
+ldouble: 1
+Test "cos (0x3p+0)":
+ildouble: 1
+ldouble: 1
+Test "cos (0x7p+0)":
 float: 1
 ifloat: 1
-Test "Real part of: cacosh (-0x1.fp-16385 + 0.5 i)":
+Test "cos (0x8p+124)":
+float: 1
+ifloat: 1
+Test "cos (0xap+0)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacosh (-0x1.fp-16385 + 0x0.ffffffffffffffffp0 i)":
+Test "cos (0xc.d4967p-4)":
+float: 1
+ifloat: 1
+Test "cos (0xf.ffffffffffff8p+1020)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacosh (-0x1.fp-16385 + 0x1.0000000000000000000000000001p0 i)":
+Test "cos (0xf.ffffffffffffbffffffffffffcp+1020)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacosh (-0x1.fp-16385 + 0x1.0000000000000002p0 i)":
+Test "cos (0xf.fffffffffffffffffffffffffff8p+16380)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacosh (-0x1.fp-16385 + 1.0 i)":
+Test "cos (0xf.fffffffffffffffp+16380)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacosh (-0x1.fp-16385 + 1.5 i)":
+
+# cos_downward
+Test "cos_downward (-0x2p-16384)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacosh (-0x1.fp-16385 - 0.5 i)":
+Test "cos_downward (-0x4p-1024)":
+double: 1
+idouble: 1
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacosh (-0x1.fp-16385 - 0x0.ffffffffffffffffp0 i)":
+Test "cos_downward (-0x4p-1076)":
+double: 1
+idouble: 1
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacosh (-0x1.fp-16385 - 0x1.0000000000000000000000000001p0 i)":
+Test "cos_downward (-0x4p-128)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacosh (-0x1.fp-16385 - 0x1.0000000000000002p0 i)":
+Test "cos_downward (-0x4p-16384)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacosh (-0x1.fp-16385 - 1.0 i)":
+Test "cos_downward (-0x4p-16448)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacosh (-0x1.fp-16385 - 1.5 i)":
+Test "cos_downward (-0x4p-16496)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacosh (-0x1.fp-30 + 1.0 i)":
+Test "cos_downward (-0x8p-152)":
 double: 1
 float: 1
 idouble: 1
 ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacosh (-0x1.fp-30 + 1.0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacosh (-0x1.fp-30 - 1.0 i)":
+Test "cos_downward (-0x8p-16448)":
+ildouble: 1
+ldouble: 1
+Test "cos_downward (-0x8p-972)":
 double: 1
-float: 1
 idouble: 1
-ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacosh (-0x1.fp-30 - 1.0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (-0x1p-105 + 0.0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacosh (-0x1p-105 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (-0x1p-105 + 0.5 i)":
-float: 1
-ifloat: 1
+Test "cos_downward (-0xf.ffffffffffff8p+1020)":
+double: 1
+idouble: 1
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacosh (-0x1p-105 + 0x0.ffffffffffffffffffffffffffcp0 i)":
+Test "cos_downward (-0xf.ffffffffffffbffffffffffffcp+1020)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacosh (-0x1p-105 + 0x1p-105 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (-0x1p-105 - 0.0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacosh (-0x1p-105 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (-0x1p-105 - 0.5 i)":
-float: 1
-ifloat: 1
+Test "cos_downward (-0xf.fffffffffffffffffffffffffff8p+16380)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacosh (-0x1p-105 - 0x0.ffffffffffffffffffffffffffcp0 i)":
+Test "cos_downward (-0xf.fffffffffffffffp+16380)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacosh (-0x1p-105 - 0x1p-105 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (-0x1p-112 + 0.0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacosh (-0x1p-112 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (-0x1p-112 + 0.5 i)":
+Test "cos_downward (-0xf.fffffp+124)":
+double: 1
+idouble: 1
+Test "cos_downward (0x1.000000cf4a2a2p+0)":
+double: 1
+idouble: 1
+Test "cos_downward (0x1.0000010b239a9p+0)":
+double: 1
+idouble: 1
+Test "cos_downward (0x1.00000162a932bp+0)":
+double: 1
+idouble: 1
+Test "cos_downward (0x1.000002d452a1p+0)":
+double: 1
+idouble: 1
+Test "cos_downward (0x1.000002p+0)":
+double: 1
 float: 1
+idouble: 1
 ifloat: 1
-Test "Imaginary part of: cacosh (-0x1p-112 + 0x1p-112 i)":
+Test "cos_downward (0x1.000004p+0)":
 float: 1
 ifloat: 1
-Test "Imaginary part of: cacosh (-0x1p-112 - 0.0 i)":
+Test "cos_downward (0x1.000006p+0)":
 float: 1
 ifloat: 1
-Test "Real part of: cacosh (-0x1p-112 - 0.5 i)":
+Test "cos_downward (0x1.0c1522p+0)":
 float: 1
 ifloat: 1
-Test "Imaginary part of: cacosh (-0x1p-112 - 0.5 i)":
+Test "cos_downward (0x1.0c152382d7365p+0)":
+double: 1
+idouble: 1
+Test "cos_downward (0x1.0c1524p+0)":
 float: 1
 ifloat: 1
-Test "Imaginary part of: cacosh (-0x1p-112 - 0x1p-112 i)":
+Test "cos_downward (0x1.921fb4p+0)":
 float: 1
 ifloat: 1
-Test "Real part of: cacosh (-0x1p-113 + 0x1.0000000000000000000000000001p0 i)":
+ildouble: 2
+ldouble: 2
+Test "cos_downward (0x1.921fb54442d18468p+0)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacosh (-0x1p-113 + 0x1.0000000000000000000000000001p0 i)":
+Test "cos_downward (0x1.921fb54442d18469898cc517018p+0)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacosh (-0x1p-113 - 0x1.0000000000000000000000000001p0 i)":
+Test "cos_downward (0x1.921fb54442d18469898cc51701b8p+0)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacosh (-0x1p-113 - 0x1.0000000000000000000000000001p0 i)":
+Test "cos_downward (0x1.921fb54442d18469898cc51702p+0)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacosh (-0x1p-23 + 0.0 i)":
-float: 1
-ifloat: 1
+Test "cos_downward (0x1.921fb54442d1846ap+0)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacosh (-0x1p-23 + 0.5 i)":
+Test "cos_downward (0x1.921fb54442d18p+0)":
+double: 1
+idouble: 1
+ildouble: 2
+ldouble: 2
+Test "cos_downward (0x1.921fb54442d19p+0)":
+ildouble: 1
+ldouble: 1
+Test "cos_downward (0x1.921fb6p+0)":
+double: 1
 float: 1
+idouble: 1
 ifloat: 1
 ildouble: 2
 ldouble: 2
-Test "Imaginary part of: cacosh (-0x1p-23 + 0.5 i)":
+Test "cos_downward (0x1p+0)":
+double: 1
 float: 1
+idouble: 1
 ifloat: 1
-Test "Real part of: cacosh (-0x1p-23 + 0x0.ffffffp0 i)":
+Test "cos_downward (0x1p+120)":
+float: 2
+ifloat: 2
+ildouble: 1
+ldouble: 1
+Test "cos_downward (0x1p+28)":
 double: 1
 idouble: 1
-Test "Imaginary part of: cacosh (-0x1p-23 + 0x1.fp-129 i)":
-float: 1
-ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacosh (-0x1p-23 + 0x1p-23 i)":
+Test "cos_downward (0x2.182a44p+0)":
+double: 1
 float: 1
+idouble: 1
 ifloat: 1
+Test "cos_downward (0x2.182a4705ae6cap+0)":
+double: 1
+idouble: 1
+Test "cos_downward (0x2.182a4705ae6cb08cb7665c1eacf4p+0)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacosh (-0x1p-23 - 0.0 i)":
-float: 1
-ifloat: 1
+Test "cos_downward (0x2.182a4705ae6cb08cb7665c1eacf6p+0)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacosh (-0x1p-23 - 0.5 i)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: cacosh (-0x1p-23 - 0.5 i)":
+Test "cos_downward (0x2.182a4705ae6cb08cb7665c1eadp+0)":
+ildouble: 1
+ldouble: 1
+Test "cos_downward (0x2.182a4705ae6cb08cp+0)":
+ildouble: 1
+ldouble: 1
+Test "cos_downward (0x2.182a4705ae6cb09p+0)":
+ildouble: 1
+ldouble: 1
+Test "cos_downward (0x2.182a4705ae6ccp+0)":
+ildouble: 1
+ldouble: 1
+Test "cos_downward (0x2.182a48p+0)":
 float: 1
 ifloat: 1
-Test "Real part of: cacosh (-0x1p-23 - 0x0.ffffffp0 i)":
+Test "cos_downward (0x2.1e19e0c9bab24p+72)":
 double: 1
 idouble: 1
-Test "Imaginary part of: cacosh (-0x1p-23 - 0x1.fp-129 i)":
+Test "cos_downward (0x2.1e19e4p+72)":
+double: 1
+idouble: 1
+Test "cos_downward (0x2.1e19ep+72)":
+double: 1
+idouble: 1
+Test "cos_downward (0x2p+0)":
 float: 1
 ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacosh (-0x1p-23 - 0x1p-23 i)":
-float: 1
-ifloat: 1
+Test "cos_downward (0x2p-16384)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacosh (-0x1p-52 + 0.0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacosh (-0x1p-52 + 0.5 i)":
+Test "cos_downward (0x3p+0)":
+double: 1
 float: 1
+idouble: 1
 ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacosh (-0x1p-52 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (-0x1p-52 + 0x1p-52 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (-0x1p-52 - 0.0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacosh (-0x1p-52 - 0.5 i)":
-float: 1
-ifloat: 1
+Test "cos_downward (0x4p+48)":
+double: 1
+idouble: 1
+Test "cos_downward (0x4p-1024)":
+double: 1
+idouble: 1
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacosh (-0x1p-52 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (-0x1p-52 - 0x1p-52 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (-0x1p-63 + 0.0 i)":
+Test "cos_downward (0x4p-1076)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "cos_downward (0x4p-128)":
+double: 1
 float: 1
+idouble: 1
 ifloat: 1
-Test "Real part of: cacosh (-0x1p-63 + 0.5 i)":
+ildouble: 1
+ldouble: 1
+Test "cos_downward (0x4p-16384)":
+ildouble: 1
+ldouble: 1
+Test "cos_downward (0x4p-16448)":
+ildouble: 1
+ldouble: 1
+Test "cos_downward (0x4p-16496)":
+ildouble: 1
+ldouble: 1
+Test "cos_downward (0x8p+0)":
 float: 1
 ifloat: 1
-Test "Imaginary part of: cacosh (-0x1p-63 + 0.5 i)":
+ildouble: 2
+ldouble: 2
+Test "cos_downward (0x8p+1020)":
+ildouble: 1
+ldouble: 1
+Test "cos_downward (0x8p-152)":
+double: 1
 float: 1
+idouble: 1
 ifloat: 1
-Test "Real part of: cacosh (-0x1p-63 + 0x0.ffffffffffffffffp0 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacosh (-0x1p-63 + 0x1.0000000000000002p0 i)":
+Test "cos_downward (0x8p-16448)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacosh (-0x1p-63 + 0x1p-63 i)":
+Test "cos_downward (0x8p-972)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "cos_downward (0x9p+0)":
+double: 1
 float: 1
+idouble: 1
 ifloat: 1
-Test "Imaginary part of: cacosh (-0x1p-63 - 0.0 i)":
+ildouble: 1
+ldouble: 1
+Test "cos_downward (0xa.217bap+12)":
 float: 1
 ifloat: 1
-Test "Real part of: cacosh (-0x1p-63 - 0.5 i)":
+ildouble: 1
+ldouble: 1
+Test "cos_downward (0xap+0)":
+double: 1
 float: 1
+idouble: 1
 ifloat: 1
-Test "Imaginary part of: cacosh (-0x1p-63 - 0.5 i)":
+ildouble: 1
+ldouble: 1
+Test "cos_downward (0xc.d4966d92d1708p-4)":
+double: 1
+idouble: 1
+Test "cos_downward (0xc.d4966d92d171p-4)":
+double: 1
+idouble: 1
+Test "cos_downward (0xc.d4966p-4)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+Test "cos_downward (0xc.d4967p-4)":
 float: 1
 ifloat: 1
-Test "Real part of: cacosh (-0x1p-63 - 0x0.ffffffffffffffffp0 i)":
+Test "cos_downward (0xcp-4)":
+double: 1
+idouble: 1
+Test "cos_downward (0xf.ffffffffffff8p+1020)":
+double: 1
+idouble: 1
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacosh (-0x1p-63 - 0x1.0000000000000002p0 i)":
+Test "cos_downward (0xf.ffffffffffffbffffffffffffcp+1020)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacosh (-0x1p-63 - 0x1p-63 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacosh (-0x1p500 + 1.0 i)":
+Test "cos_downward (0xf.fffffffffffffffffffffffffff8p+16380)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacosh (-0x1p500 - 1.0 i)":
+Test "cos_downward (0xf.fffffffffffffffp+16380)":
+ildouble: 2
+ldouble: 2
+Test "cos_downward (0xf.fffffp+124)":
+double: 1
+idouble: 1
+
+# cos_tonearest
+Test "cos_tonearest (-0xf.ffffffffffff8p+1020)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacosh (-0x1p5000 + 1.0 i)":
+Test "cos_tonearest (-0xf.ffffffffffffbffffffffffffcp+1020)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacosh (-0x1p5000 - 1.0 i)":
+Test "cos_tonearest (-0xf.fffffffffffffffffffffffffff8p+16380)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacosh (-1.0 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacosh (-1.0 + 0x1.fp-10 i)":
-float: 1
-ifloat: 1
+Test "cos_tonearest (-0xf.fffffffffffffffp+16380)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacosh (-1.0 + 0x1.fp-30 i)":
+Test "cos_tonearest (0x1.921fb54442d1846ap+0)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacosh (-1.0 + 0x1p50 i)":
+Test "cos_tonearest (0x1.921fb54442d18p+0)":
+ildouble: 1
+ldouble: 1
+Test "cos_tonearest (0x1p+120)":
 float: 1
 ifloat: 1
-Test "Real part of: cacosh (-1.0 + 0x1p500 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacosh (-1.0 + 0x1p5000 i)":
+Test "cos_tonearest (0x1p+28)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacosh (-1.0 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacosh (-1.0 - 0x1.fp-10 i)":
-float: 1
-ifloat: 1
+Test "cos_tonearest (0x2.182a4705ae6cb08cb7665c1eacf6p+0)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacosh (-1.0 - 0x1.fp-30 i)":
+Test "cos_tonearest (0x2.182a4705ae6ccp+0)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacosh (-1.0 - 0x1p50 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacosh (-1.0 - 0x1p500 i)":
+Test "cos_tonearest (0x3p+0)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacosh (-1.0 - 0x1p5000 i)":
+Test "cos_tonearest (0x7p+0)":
+float: 1
+ifloat: 1
+Test "cos_tonearest (0x8p+124)":
+float: 1
+ifloat: 1
+Test "cos_tonearest (0xap+0)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacosh (-2 - 3 i)":
+Test "cos_tonearest (0xc.d4967p-4)":
 float: 1
 ifloat: 1
+Test "cos_tonearest (0xf.ffffffffffff8p+1020)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacosh (0.0 + 0x0.ffffffffffffffffffffffffffcp0 i)":
+Test "cos_tonearest (0xf.ffffffffffffbffffffffffffcp+1020)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacosh (0.0 + 0x0.ffffffffffffffffp0 i)":
+Test "cos_tonearest (0xf.fffffffffffffffffffffffffff8p+16380)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacosh (0.0 + 0x1.0000000000000000000000000001p0 i)":
+Test "cos_tonearest (0xf.fffffffffffffffp+16380)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacosh (0.0 + 0x1.0000000000000002p0 i)":
+
+# cos_towardzero
+Test "cos_towardzero (-0x2p-16384)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacosh (0.0 + 0x1.0000000000001p0 i)":
+Test "cos_towardzero (-0x4p-1024)":
+double: 1
+idouble: 1
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacosh (0.0 - 0x0.ffffffffffffffffffffffffffcp0 i)":
+Test "cos_towardzero (-0x4p-1076)":
+double: 1
+idouble: 1
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacosh (0.0 - 0x0.ffffffffffffffffp0 i)":
+Test "cos_towardzero (-0x4p-128)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacosh (0.0 - 0x1.0000000000000000000000000001p0 i)":
+Test "cos_towardzero (-0x4p-16384)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacosh (0.0 - 0x1.0000000000000002p0 i)":
+Test "cos_towardzero (-0x4p-16448)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacosh (0.0 - 0x1.0000000000001p0 i)":
+Test "cos_towardzero (-0x4p-16496)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacosh (0.25 + 1.0 i)":
+Test "cos_towardzero (-0x8p-152)":
+double: 1
 float: 1
+idouble: 1
 ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacosh (0.25 - 1.0 i)":
-float: 1
-ifloat: 1
+Test "cos_towardzero (-0x8p-16448)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacosh (0.5 + +0 i)":
+Test "cos_towardzero (-0x8p-972)":
 double: 1
 idouble: 1
-Test "Imaginary part of: cacosh (0.5 + 0x1.fp-1025 i)":
+ildouble: 1
+ldouble: 1
+Test "cos_towardzero (-0xf.fffffffffffffffp+16380)":
+ildouble: 1
+ldouble: 1
+Test "cos_towardzero (-0xf.fffffp+124)":
 double: 1
 idouble: 1
-Test "Real part of: cacosh (0.5 + 0x1.fp-129 i)":
+Test "cos_towardzero (0x1.000000cf4a2a2p+0)":
 double: 1
 idouble: 1
-Test "Imaginary part of: cacosh (0.5 + 0x1.fp-129 i)":
+Test "cos_towardzero (0x1.0000010b239a9p+0)":
 double: 1
 idouble: 1
-Test "Real part of: cacosh (0.5 + 0x1p-105 i)":
+Test "cos_towardzero (0x1.00000162a932bp+0)":
 double: 1
 idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (0.5 + 0x1p-105 i)":
+Test "cos_towardzero (0x1.000002d452a1p+0)":
 double: 1
 idouble: 1
-Test "Real part of: cacosh (0.5 + 0x1p-112 i)":
+Test "cos_towardzero (0x1.000002p+0)":
+double: 1
+idouble: 1
+Test "cos_towardzero (0x1.0c152382d7365p+0)":
 double: 1
 idouble: 1
+Test "cos_towardzero (0x1.921fb54442d18469898cc51701b8p+0)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacosh (0.5 + 0x1p-112 i)":
+Test "cos_towardzero (0x1.921fb54442d18469898cc51701b9p+0)":
+ildouble: 1
+ldouble: 1
+Test "cos_towardzero (0x1.921fb54442d18p+0)":
 double: 1
 idouble: 1
-Test "Real part of: cacosh (0.5 + 0x1p-23 i)":
+Test "cos_towardzero (0x1.921fb54442d19p+0)":
 double: 1
 idouble: 1
+Test "cos_towardzero (0x1.921fb6p+0)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacosh (0.5 + 0x1p-52 i)":
+Test "cos_towardzero (0x1p+0)":
 double: 1
 idouble: 1
+Test "cos_towardzero (0x1p+120)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+Test "cos_towardzero (0x2.182a44p+0)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacosh (0.5 + 0x1p-63 i)":
+Test "cos_towardzero (0x2.182a4705ae6cap+0)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacosh (0.5 + 0x1p-63 i)":
+Test "cos_towardzero (0x2.182a4705ae6cb08cb7665c1eacp+0)":
+ildouble: 1
+ldouble: 1
+Test "cos_towardzero (0x2.182a4705ae6ccp+0)":
 double: 1
 idouble: 1
-Test "Real part of: cacosh (0.5 + 1.0 i)":
+Test "cos_towardzero (0x2.182a48p+0)":
 double: 1
 idouble: 1
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacosh (0.5 + 1.0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (0.5 - 0 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: cacosh (0.5 - 0x1.fp-1025 i)":
+Test "cos_towardzero (0x2.1e19e0c9bab24p+72)":
 double: 1
 idouble: 1
-Test "Real part of: cacosh (0.5 - 0x1.fp-129 i)":
+Test "cos_towardzero (0x2.1e19e4p+72)":
 double: 1
 idouble: 1
-Test "Imaginary part of: cacosh (0.5 - 0x1.fp-129 i)":
+Test "cos_towardzero (0x2.1e19ep+72)":
 double: 1
 idouble: 1
-Test "Real part of: cacosh (0.5 - 0x1p-105 i)":
+Test "cos_towardzero (0x2p+0)":
 double: 1
 idouble: 1
+Test "cos_towardzero (0x2p-16384)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacosh (0.5 - 0x1p-105 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacosh (0.5 - 0x1p-112 i)":
+Test "cos_towardzero (0x4p+0)":
 double: 1
 idouble: 1
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacosh (0.5 - 0x1p-112 i)":
+Test "cos_towardzero (0x4p+48)":
 double: 1
 idouble: 1
-Test "Real part of: cacosh (0.5 - 0x1p-23 i)":
+Test "cos_towardzero (0x4p-1024)":
 double: 1
 idouble: 1
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacosh (0.5 - 0x1p-52 i)":
+Test "cos_towardzero (0x4p-1076)":
 double: 1
 idouble: 1
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacosh (0.5 - 0x1p-63 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (0.5 - 0x1p-63 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacosh (0.5 - 1.0 i)":
+Test "cos_towardzero (0x4p-128)":
 double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (0.5 - 1.0 i)":
 float: 1
-ifloat: 1
-Test "Real part of: cacosh (0x0.fffffffffffff8p0 + 0x1p-52 i)":
-double: 1
 idouble: 1
-Test "Real part of: cacosh (0x0.fffffffffffff8p0 - 0x1p-52 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: cacosh (0x0.ffffffffffffffffffffffffffcp0 + 0.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (0x0.ffffffffffffffffffffffffffcp0 + 0x1.fp-1025 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x0.ffffffffffffffffffffffffffcp0 + 0x1p-105 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (0x0.ffffffffffffffffffffffffffcp0 - 0.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (0x0.ffffffffffffffffffffffffffcp0 - 0x1.fp-1025 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x0.ffffffffffffffffffffffffffcp0 - 0x1p-105 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (0x0.ffffffffffffffffffffffffffff8p0 + 0.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (0x0.ffffffffffffffffffffffffffff8p0 + 0x1.fp-16385 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (0x0.ffffffffffffffffffffffffffff8p0 - 0.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (0x0.ffffffffffffffffffffffffffff8p0 - 0x1.fp-16385 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x0.ffffffffffffffffp0 + 0x1p-63 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x0.ffffffffffffffffp0 - 0x1p-63 i)":
+ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacosh (0x0.ffffffp0 + 0.0 i)":
-float: 1
-ifloat: 1
+Test "cos_towardzero (0x4p-16384)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacosh (0x0.ffffffp0 + 0x1.fp-129 i)":
-float: 1
-ifloat: 1
+Test "cos_towardzero (0x4p-16448)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacosh (0x0.ffffffp0 + 0x1p-23 i)":
-float: 2
-ifloat: 2
-Test "Imaginary part of: cacosh (0x0.ffffffp0 + 0x1p-23 i)":
-float: 2
-ifloat: 2
+Test "cos_towardzero (0x4p-16496)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacosh (0x0.ffffffp0 - 0.0 i)":
-float: 1
-ifloat: 1
+Test "cos_towardzero (0x8p+0)":
+double: 1
+idouble: 1
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacosh (0x0.ffffffp0 - 0x1.fp-129 i)":
+Test "cos_towardzero (0x8p+1020)":
+double: 1
+idouble: 1
+Test "cos_towardzero (0x8p-152)":
+double: 1
 float: 1
+idouble: 1
 ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacosh (0x0.ffffffp0 - 0x1p-23 i)":
-float: 2
-ifloat: 2
-Test "Imaginary part of: cacosh (0x0.ffffffp0 - 0x1p-23 i)":
-float: 2
-ifloat: 2
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1.0000000000000000000000000001p0 + 0.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1.0000000000000000000000000001p0 + 0x1.fp-16385 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (0x1.0000000000000000000000000001p0 + 0x1.fp-16385 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1.0000000000000000000000000001p0 + 0x1p-113 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1.0000000000000000000000000001p0 - 0.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1.0000000000000000000000000001p0 - 0x1.fp-16385 i)":
+Test "cos_towardzero (0x8p-16448)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacosh (0x1.0000000000000000000000000001p0 - 0x1.fp-16385 i)":
+Test "cos_towardzero (0x8p-972)":
+double: 1
+idouble: 1
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacosh (0x1.0000000000000000000000000001p0 - 0x1p-113 i)":
+Test "cos_towardzero (0xa.217bap+12)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacosh (0x1.0000000000000002p0 + 0x1p-63 i)":
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: cacosh (0x1.0000000000000002p0 - 0x1p-63 i)":
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: cacosh (0x1.0000000000001p0 + 0x1p-52 i)":
+Test "cos_towardzero (0xc.d4966d92d1708p-4)":
+double: 1
+idouble: 1
+Test "cos_towardzero (0xc.d4966d92d171p-4)":
+double: 1
+idouble: 1
+Test "cos_towardzero (0xc.d4966p-4)":
+double: 1
+idouble: 1
+Test "cos_towardzero (0xcp-4)":
 double: 1
 idouble: 1
+Test "cos_towardzero (0xf.fffffffffffffffp+16380)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacosh (0x1.0000000000001p0 - 0x1p-52 i)":
+Test "cos_towardzero (0xf.fffffp+124)":
+double: 1
+idouble: 1
+
+# cos_upward
+Test "cos_upward (-0x2p+64)":
 double: 1
 idouble: 1
+Test "cos_upward (-0xf.ffffffffffff8p+1020)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacosh (0x1.000002p0 + 0x1p-23 i)":
-float: 1
-ifloat: 1
+Test "cos_upward (-0xf.ffffffffffffbffffffffffffcp+1020)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacosh (0x1.000002p0 + 0x1p-23 i)":
-float: 2
-ifloat: 2
+Test "cos_upward (-0xf.fffffffffffffffffffffffffff8p+16380)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacosh (0x1.000002p0 - 0x1p-23 i)":
+Test "cos_upward (0x1.000002p+0)":
 float: 1
 ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (0x1.000002p0 - 0x1p-23 i)":
-float: 2
-ifloat: 2
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1.fp-10 + 1.0 i)":
+Test "cos_upward (0x1.000004p+0)":
 double: 1
+float: 1
 idouble: 1
-Test "Real part of: cacosh (0x1.fp-10 - 1.0 i)":
+ifloat: 1
+Test "cos_upward (0x1.000005bc7d86dp+0)":
 double: 1
 idouble: 1
-Test "Real part of: cacosh (0x1.fp-100 + 1.0 i)":
+Test "cos_upward (0x1.000006p+0)":
 double: 1
 float: 1
 idouble: 1
 ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (0x1.fp-100 + 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1.fp-100 - 1.0 i)":
+Test "cos_upward (0x1.0c1522p+0)":
 double: 1
 float: 1
 idouble: 1
 ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (0x1.fp-100 - 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1.fp-1000 + 1.0 i)":
+Test "cos_upward (0x1.0c152382d7366p+0)":
 double: 1
 idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1.fp-1000 - 1.0 i)":
+Test "cos_upward (0x1.0c1524p+0)":
 double: 1
 idouble: 1
+Test "cos_upward (0x1.921fb4p+0)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacosh (0x1.fp-10000 + 1.0 i)":
+Test "cos_upward (0x1.921fb54442d18468p+0)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacosh (0x1.fp-10000 - 1.0 i)":
+Test "cos_upward (0x1.921fb54442d18469898cc517018p+0)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacosh (0x1.fp-1025 + 0.5 i)":
+Test "cos_upward (0x1.921fb54442d18469898cc51701b9p+0)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacosh (0x1.fp-1025 + 0x0.ffffffffffffffffffffffffffcp0 i)":
+Test "cos_upward (0x1.921fb54442d18469898cc51702p+0)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacosh (0x1.fp-1025 + 0x1.0000000000001p0 i)":
+Test "cos_upward (0x1.921fb54442d1846ap+0)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacosh (0x1.fp-1025 + 1.0 i)":
+Test "cos_upward (0x1.921fb54442d18p+0)":
+ildouble: 1
+ldouble: 1
+Test "cos_upward (0x1.921fb54442d19p+0)":
 double: 1
 idouble: 1
+ildouble: 2
+ldouble: 2
+Test "cos_upward (0x1.921fb6p+0)":
+float: 1
+ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacosh (0x1.fp-1025 + 1.5 i)":
+Test "cos_upward (0x1p+0)":
+float: 1
+ifloat: 1
+Test "cos_upward (0x1p+120)":
 double: 1
+float: 1
 idouble: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "cos_upward (0x1p+28)":
+ildouble: 1
+ldouble: 1
+Test "cos_upward (0x2.182a44p+0)":
+float: 1
+ifloat: 1
+ildouble: 2
+ldouble: 2
+Test "cos_upward (0x2.182a4705ae6cap+0)":
+ildouble: 2
+ldouble: 2
+Test "cos_upward (0x2.182a4705ae6cb08cb7665c1eacf4p+0)":
+ildouble: 1
+ldouble: 1
+Test "cos_upward (0x2.182a4705ae6cb08cb7665c1eacf6p+0)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacosh (0x1.fp-1025 - 0.5 i)":
+Test "cos_upward (0x2.182a4705ae6cb08cb7665c1eacp+0)":
+ildouble: 2
+ldouble: 2
+Test "cos_upward (0x2.182a4705ae6cb08cb7665c1eadp+0)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacosh (0x1.fp-1025 - 0x0.ffffffffffffffffffffffffffcp0 i)":
+Test "cos_upward (0x2.182a4705ae6cb08cp+0)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacosh (0x1.fp-1025 - 0x1.0000000000001p0 i)":
+Test "cos_upward (0x2.182a4705ae6cb09p+0)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacosh (0x1.fp-1025 - 1.0 i)":
+Test "cos_upward (0x2.182a4705ae6ccp+0)":
 double: 1
 idouble: 1
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacosh (0x1.fp-1025 - 1.5 i)":
+Test "cos_upward (0x2.182a48p+0)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+ildouble: 2
+ldouble: 2
+Test "cos_upward (0x2.1e19e4p+72)":
+float: 1
+ifloat: 1
+Test "cos_upward (0x2p+0)":
 double: 1
+float: 1
 idouble: 1
+ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacosh (0x1.fp-129 + 0.5 i)":
+Test "cos_upward (0x2p+64)":
+double: 1
+idouble: 1
+Test "cos_upward (0x3p+0)":
 float: 1
 ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacosh (0x1.fp-129 + 1.0 i)":
+Test "cos_upward (0x4p+0)":
+double: 1
+idouble: 1
+ildouble: 2
+ldouble: 2
+Test "cos_upward (0x5p+0)":
+double: 1
+idouble: 1
+Test "cos_upward (0x6p+0)":
+double: 1
+idouble: 1
+Test "cos_upward (0x7p+0)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+Test "cos_upward (0x8p+0)":
 double: 1
 float: 1
 idouble: 1
 ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacosh (0x1.fp-129 + 1.5 i)":
+Test "cos_upward (0x8p+1020)":
 double: 1
 idouble: 1
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacosh (0x1.fp-129 - 0.5 i)":
+Test "cos_upward (0x8p+124)":
+double: 1
 float: 1
+idouble: 1
 ifloat: 1
+Test "cos_upward (0x9p+0)":
+float: 2
+ifloat: 2
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacosh (0x1.fp-129 - 1.0 i)":
+Test "cos_upward (0xa.217bap+12)":
 double: 1
 float: 1
 idouble: 1
 ifloat: 1
+ildouble: 2
+ldouble: 2
+Test "cos_upward (0xap+0)":
+float: 1
+ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacosh (0x1.fp-129 - 1.5 i)":
+Test "cos_upward (0xc.d4966p-4)":
+float: 1
+ifloat: 1
+Test "cos_upward (0xc.d4967p-4)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+Test "cos_upward (0xf.ffffcp+124)":
 double: 1
 idouble: 1
+Test "cos_upward (0xf.ffffffffffff8p+1020)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacosh (0x1.fp-16385 + 0.5 i)":
+Test "cos_upward (0xf.ffffffffffffbffffffffffffcp+1020)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacosh (0x1.fp-16385 + 0x0.ffffffffffffffffp0 i)":
+Test "cos_upward (0xf.fffffffffffffffffffffffffff8p+16380)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacosh (0x1.fp-16385 + 0x1.0000000000000000000000000001p0 i)":
+Test "cos_upward (0xf.fffffffffffffffp+16380)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacosh (0x1.fp-16385 + 0x1.0000000000000002p0 i)":
+
+# cosh
+Test "cosh (-0x1p+0)":
+float: 1
+ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacosh (0x1.fp-16385 + 1.0 i)":
-ildouble: 1
+Test "cosh (-0x2.c5d374p+12)":
 ldouble: 1
-Test "Real part of: cacosh (0x1.fp-16385 + 1.5 i)":
-ildouble: 1
+Test "cosh (-0x2.c5d37700c6bb03a4p+12)":
 ldouble: 1
-Test "Real part of: cacosh (0x1.fp-16385 - 0.5 i)":
-ildouble: 1
+Test "cosh (-0x2.c5d37700c6bb03a6c24b6c9b49p+12)":
 ldouble: 1
-Test "Real part of: cacosh (0x1.fp-16385 - 0x0.ffffffffffffffffp0 i)":
-ildouble: 1
+Test "cosh (-0x2.c5d37700c6bbp+12)":
 ldouble: 1
-Test "Real part of: cacosh (0x1.fp-16385 - 0x1.0000000000000000000000000001p0 i)":
+Test "cosh (-0x2.c5e3acp+8)":
+double: 1
+idouble: 1
+Test "cosh (-0x2.c679dp+8)":
+double: 1
+idouble: 1
+Test "cosh (0x1.6p+4)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacosh (0x1.fp-16385 - 0x1.0000000000000002p0 i)":
-ildouble: 1
+Test "cosh (0x2.c5d374p+12)":
 ldouble: 1
-Test "Real part of: cacosh (0x1.fp-16385 - 1.0 i)":
-ildouble: 1
+Test "cosh (0x2.c5d37700c6bb03a4p+12)":
 ldouble: 1
-Test "Real part of: cacosh (0x1.fp-16385 - 1.5 i)":
-ildouble: 1
+Test "cosh (0x2.c5d37700c6bb03a6c24b6c9b49p+12)":
 ldouble: 1
-Test "Real part of: cacosh (0x1.fp-30 + 1.0 i)":
+Test "cosh (0x2.c5d37700c6bbp+12)":
+ldouble: 1
+Test "cosh (0x2.c5e3acp+8)":
 double: 1
-float: 1
 idouble: 1
-ifloat: 1
-ildouble: 1
+Test "cosh (0x2.c679dp+8)":
+double: 1
+idouble: 1
+
+# cosh_downward
+Test "cosh_downward (-0x2.c5d37700c6bb03a4p+12)":
+ldouble: 2
+Test "cosh_downward (-0x2.c5d37700c6bb03a6c24b6c9b494cp+12)":
 ldouble: 1
-Test "Real part of: cacosh (0x1.fp-30 - 1.0 i)":
+Test "cosh_downward (-0x2.c5d37700c6bb03a6c24b6c9b49p+12)":
+ldouble: 2
+Test "cosh_downward (-0x2.c5d37700c6bbp+12)":
+ldouble: 2
+Test "cosh_downward (-0x2.c5e3bp+8)":
+double: 1
+idouble: 1
+Test "cosh_downward (-0x2.c679d1f73f0fap+8)":
+double: 1
+idouble: 1
+Test "cosh_downward (-0x2.c679dp+8)":
 double: 1
-float: 1
 idouble: 1
+Test "cosh_downward (-0x5.96a7ep+4)":
+float: 1
 ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1.fp1023 + 0x1.fp1023 i)":
+Test "cosh_downward (0x1.6p+4)":
 double: 1
 idouble: 1
-Test "Real part of: cacosh (0x1.fp127 + 0x1.fp127 i)":
+Test "cosh_downward (0x1.7p+4)":
 double: 1
 idouble: 1
-Test "Real part of: cacosh (0x1.fp16383 + 0x1.fp16383 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacosh (0x1p-105 + 0.5 i)":
+Test "cosh_downward (0x2.c5d37700c6bb03a4p+12)":
+ldouble: 2
+Test "cosh_downward (0x2.c5d37700c6bb03a6c24b6c9b494cp+12)":
+ldouble: 1
+Test "cosh_downward (0x2.c5d37700c6bb03a6c24b6c9b49p+12)":
+ldouble: 2
+Test "cosh_downward (0x2.c5d37700c6bbp+12)":
+ldouble: 2
+Test "cosh_downward (0x2.c5e3bp+8)":
+double: 1
+idouble: 1
+Test "cosh_downward (0x2.c679d1f73f0fap+8)":
+double: 1
+idouble: 1
+Test "cosh_downward (0x2.c679dp+8)":
+double: 1
+idouble: 1
+Test "cosh_downward (0x5.96a7ep+4)":
+float: 1
+ifloat: 1
+
+# cosh_tonearest
+Test "cosh_tonearest (-0x1p+0)":
 float: 1
 ifloat: 1
-Test "Real part of: cacosh (0x1p-105 + 0x0.ffffffffffffffffffffffffffcp0 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacosh (0x1p-105 + 0x0.ffffffffffffffffffffffffffcp0 i)":
+Test "cosh_tonearest (-0x2.c5d374p+12)":
+ldouble: 1
+Test "cosh_tonearest (-0x2.c5d37700c6bb03a4p+12)":
+ldouble: 1
+Test "cosh_tonearest (-0x2.c5d37700c6bb03a6c24b6c9b49p+12)":
+ldouble: 1
+Test "cosh_tonearest (-0x2.c5d37700c6bbp+12)":
+ldouble: 1
+Test "cosh_tonearest (-0x2.c5e3acp+8)":
+double: 1
+idouble: 1
+Test "cosh_tonearest (-0x2.c679dp+8)":
+double: 1
+idouble: 1
+Test "cosh_tonearest (0x1.6p+4)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacosh (0x1p-105 - 0.5 i)":
+Test "cosh_tonearest (0x2.c5d374p+12)":
+ldouble: 1
+Test "cosh_tonearest (0x2.c5d37700c6bb03a4p+12)":
+ldouble: 1
+Test "cosh_tonearest (0x2.c5d37700c6bb03a6c24b6c9b49p+12)":
+ldouble: 1
+Test "cosh_tonearest (0x2.c5d37700c6bbp+12)":
+ldouble: 1
+Test "cosh_tonearest (0x2.c5e3acp+8)":
+double: 1
+idouble: 1
+Test "cosh_tonearest (0x2.c679dp+8)":
+double: 1
+idouble: 1
+
+# cosh_towardzero
+Test "cosh_towardzero (-0x2.c5d37700c6bb03a4p+12)":
+ldouble: 2
+Test "cosh_towardzero (-0x2.c5d37700c6bb03a6c24b6c9b494cp+12)":
+ldouble: 1
+Test "cosh_towardzero (-0x2.c5d37700c6bb03a6c24b6c9b49p+12)":
+ldouble: 2
+Test "cosh_towardzero (-0x2.c5d37700c6bbp+12)":
+ldouble: 2
+Test "cosh_towardzero (-0x2.c5e3bp+8)":
+double: 1
+idouble: 1
+Test "cosh_towardzero (-0x2.c679d1f73f0fap+8)":
+double: 1
+idouble: 1
+Test "cosh_towardzero (-0x2.c679dp+8)":
+double: 1
+idouble: 1
+Test "cosh_towardzero (-0x5.96a7ep+4)":
 float: 1
 ifloat: 1
-Test "Real part of: cacosh (0x1p-105 - 0x0.ffffffffffffffffffffffffffcp0 i)":
+Test "cosh_towardzero (0x1.6p+4)":
+double: 1
+idouble: 1
+Test "cosh_towardzero (0x1.7p+4)":
+double: 1
+idouble: 1
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacosh (0x1p-105 - 0x0.ffffffffffffffffffffffffffcp0 i)":
-ildouble: 1
+Test "cosh_towardzero (0x2.c5d37700c6bb03a4p+12)":
+ldouble: 2
+Test "cosh_towardzero (0x2.c5d37700c6bb03a6c24b6c9b494cp+12)":
 ldouble: 1
-Test "Real part of: cacosh (0x1p-112 + 0.5 i)":
+Test "cosh_towardzero (0x2.c5d37700c6bb03a6c24b6c9b49p+12)":
+ldouble: 2
+Test "cosh_towardzero (0x2.c5d37700c6bbp+12)":
+ldouble: 2
+Test "cosh_towardzero (0x2.c5e3bp+8)":
+double: 1
+idouble: 1
+Test "cosh_towardzero (0x2.c679d1f73f0fap+8)":
+double: 1
+idouble: 1
+Test "cosh_towardzero (0x2.c679dp+8)":
+double: 1
+idouble: 1
+Test "cosh_towardzero (0x5.96a7ep+4)":
 float: 1
 ifloat: 1
-Test "Imaginary part of: cacosh (0x1p-112 + 0x0.ffffffffffffffffffffffffffff8p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1p-112 - 0.5 i)":
+
+# cosh_upward
+Test "cosh_upward (-0x1p+0)":
 float: 1
 ifloat: 1
-Test "Imaginary part of: cacosh (0x1p-112 - 0x0.ffffffffffffffffffffffffffff8p0 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacosh (0x1p-113 + 0x1.0000000000000000000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1p-113 - 0x1.0000000000000000000000000001p0 i)":
-ildouble: 1
+Test "cosh_upward (-0x2.c5d374p+12)":
+ldouble: 3
+Test "cosh_upward (-0x2.c5d37700c6bb03a4p+12)":
 ldouble: 1
-Test "Real part of: cacosh (0x1p-23 + 0.5 i)":
-float: 1
-ifloat: 1
-ildouble: 2
+Test "cosh_upward (-0x2.c5d37700c6bb03a6c24b6c9b494cp+12)":
 ldouble: 2
-Test "Real part of: cacosh (0x1p-23 + 0x0.ffffffp0 i)":
+Test "cosh_upward (-0x2.c5d37700c6bb03a6c24b6c9b49p+12)":
+ldouble: 1
+Test "cosh_upward (-0x2.c5d37700c6bbp+12)":
+ldouble: 1
+Test "cosh_upward (-0x2.c5e3bp+8)":
 double: 1
 idouble: 1
-Test "Imaginary part of: cacosh (0x1p-23 + 0x1.000002p0 i)":
+Test "cosh_upward (-0x2.c679d1f73f0fap+8)":
+double: 1
+idouble: 1
+Test "cosh_upward (-0x2.c679dp+8)":
+double: 1
+idouble: 1
+Test "cosh_upward (-0x5.96a7e8p+4)":
+double: 1
+idouble: 1
+Test "cosh_upward (-0x5.96a7ep+4)":
+double: 1
+float: 2
+idouble: 1
+ifloat: 2
+Test "cosh_upward (0x1.6p+4)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacosh (0x1p-23 - 0.5 i)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Real part of: cacosh (0x1p-23 - 0x0.ffffffp0 i)":
+Test "cosh_upward (0x1.8p+4)":
 double: 1
 idouble: 1
-Test "Imaginary part of: cacosh (0x1p-23 - 0x1.000002p0 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacosh (0x1p-52 + 0.5 i)":
-float: 1
-ifloat: 1
-ildouble: 1
+Test "cosh_upward (0x2.c5d374p+12)":
+ldouble: 3
+Test "cosh_upward (0x2.c5d37700c6bb03a4p+12)":
 ldouble: 1
-Test "Imaginary part of: cacosh (0x1p-52 + 0.5 i)":
-ildouble: 1
+Test "cosh_upward (0x2.c5d37700c6bb03a6c24b6c9b494cp+12)":
+ldouble: 2
+Test "cosh_upward (0x2.c5d37700c6bb03a6c24b6c9b49p+12)":
 ldouble: 1
-Test "Imaginary part of: cacosh (0x1p-52 + 0x0.fffffffffffff8p0 i)":
-ildouble: 1
+Test "cosh_upward (0x2.c5d37700c6bbp+12)":
 ldouble: 1
-Test "Real part of: cacosh (0x1p-52 - 0.5 i)":
+Test "cosh_upward (0x2.c5e3bp+8)":
+double: 1
+idouble: 1
+Test "cosh_upward (0x2.c679d1f73f0fap+8)":
+double: 1
+idouble: 1
+Test "cosh_upward (0x2.c679dp+8)":
+double: 1
+idouble: 1
+Test "cosh_upward (0x3.2p+4)":
+double: 1
+idouble: 1
+Test "cosh_upward (0x5.96a7e8p+4)":
+double: 1
+idouble: 1
+Test "cosh_upward (0x5.96a7ep+4)":
+double: 1
+float: 2
+idouble: 1
+ifloat: 2
+
+# cpow
+Test "Real part of: cpow (0x2p+0 + +0 i, 0xap+0 + +0 i)":
+ildouble: 2
+ldouble: 2
+Test "Real part of: cpow (0x2p+0 + 0x3p+0 i, 0x4p+0 + +0 i)":
+double: 1
+float: 4
+idouble: 1
+ifloat: 4
+ildouble: 2
+ldouble: 2
+Test "Imaginary part of: cpow (0x2p+0 + 0x3p+0 i, 0x4p+0 + +0 i)":
+float: 2
+ifloat: 2
+Test "Real part of: cpow (0xcp-4 + 0x1.4p+0 i, +0 + 0x1p+0 i)":
 float: 1
 ifloat: 1
+Test "Imaginary part of: cpow (0xcp-4 + 0x1.4p+0 i, +0 + 0x1p+0 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacosh (0x1p-52 - 0.5 i)":
+Test "Real part of: cpow (0xcp-4 + 0x1.4p+0 i, 0x1p+0 + +0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: cpow (0xcp-4 + 0x1.4p+0 i, 0x1p+0 + 0x1p+0 i)":
+double: 2
+float: 3
+idouble: 2
+ifloat: 3
+ildouble: 2
+ldouble: 2
+Test "Real part of: cpow (0xcp-4 + 0x1.4p+0 i, 0xcp-4 + 0x1.4p+0 i)":
+double: 1
+float: 4
+idouble: 1
+ifloat: 4
+ildouble: 4
+ldouble: 4
+
+# csin
+Test "Real part of: csin (-0.75 + 11357.25 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacosh (0x1p-52 - 0x0.fffffffffffff8p0 i)":
+Test "Real part of: csin (-0.75 + 710.5 i)":
+double: 1
+idouble: 1
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacosh (0x1p-63 + 0.5 i)":
+Test "Real part of: csin (-0.75 + 89.5 i)":
 float: 1
 ifloat: 1
-Test "Imaginary part of: cacosh (0x1p-63 + 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1p-63 + 0x0.ffffffffffffffffp0 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacosh (0x1p-63 + 0x1.0000000000000002p0 i)":
+Test "Imaginary part of: csin (-0.75 + 89.5 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacosh (0x1p-63 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (0x1p-63 - 0.5 i)":
+Test "Real part of: csin (-0.75 - 11357.25 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacosh (0x1p-63 - 0x0.ffffffffffffffffp0 i)":
+Test "Real part of: csin (-0.75 - 710.5 i)":
+double: 1
+idouble: 1
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacosh (0x1p-63 - 0x1.0000000000000002p0 i)":
+Test "Real part of: csin (-0.75 - 89.5 i)":
+float: 1
+ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacosh (0x1p500 + 1.0 i)":
+Test "Imaginary part of: csin (-0.75 - 89.5 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacosh (0x1p500 - 1.0 i)":
+Test "Imaginary part of: csin (-2 - 3 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacosh (0x1p5000 + 1.0 i)":
+Test "Real part of: csin (0.75 + 1.25 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacosh (0x1p5000 - 1.0 i)":
+Test "Real part of: csin (0.75 + 11357.25 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacosh (1.0 + 0.25 i)":
+Test "Real part of: csin (0.75 + 710.5 i)":
 double: 1
 idouble: 1
-Test "Real part of: cacosh (1.0 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (1.0 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacosh (1.0 + 0x1.fp-10 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (1.0 + 0x1.fp-10 i)":
-float: 2
-ifloat: 2
-Test "Imaginary part of: cacosh (1.0 + 0x1.fp-100 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacosh (1.0 + 0x1.fp-30 i)":
+Test "Real part of: csin (0.75 + 89.5 i)":
+float: 1
+ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacosh (1.0 + 0x1p500 i)":
+Test "Imaginary part of: csin (0.75 + 89.5 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacosh (1.0 + 0x1p5000 i)":
+Test "Real part of: csin (0.75 - 11357.25 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacosh (1.0 - 0.25 i)":
+Test "Real part of: csin (0.75 - 710.5 i)":
 double: 1
 idouble: 1
-Test "Real part of: cacosh (1.0 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (1.0 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacosh (1.0 - 0x1.fp-10 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: csin (0.75 - 89.5 i)":
 float: 1
 ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cacosh (1.0 - 0x1.fp-10 i)":
-float: 2
-ifloat: 2
-Test "Imaginary part of: cacosh (1.0 - 0x1.fp-100 i)":
+Test "Imaginary part of: csin (0.75 - 89.5 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacosh (1.0 - 0x1.fp-30 i)":
+Test "Real part of: csin (0x1p-1074 + 1440 i)":
+double: 1
+idouble: 1
+Test "Real part of: csin (0x1p-16434 + 22730 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacosh (1.0 - 0x1p500 i)":
+
+# csinh
+Test "Imaginary part of: csinh (-11357.25 + 0.75 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cacosh (1.0 - 0x1p5000 i)":
+Test "Imaginary part of: csinh (-11357.25 - 0.75 i)":
 ildouble: 1
 ldouble: 1
-
-# casin
-Test "Imaginary part of: casin (+0 + 0.5 i)":
-float: 1
-ifloat: 1
+Test "Real part of: csinh (-2 - 3 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (+0 + 1.0 i)":
+Test "Imaginary part of: csinh (-2 - 3 i)":
+double: 1
+idouble: 1
+Test "Imaginary part of: csinh (-710.5 + 0.75 i)":
 double: 1
-float: 1
 idouble: 1
-ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (+0 + 1.5 i)":
+Test "Imaginary part of: csinh (-710.5 - 0.75 i)":
 double: 1
 idouble: 1
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (+0 - 0.5 i)":
-float: 1
-ifloat: 1
+Test "Real part of: csinh (-89.5 + 0.75 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (+0 - 1.0 i)":
-double: 1
+Test "Imaginary part of: csinh (-89.5 + 0.75 i)":
 float: 1
-idouble: 1
 ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (+0 - 1.5 i)":
-double: 1
-idouble: 1
+Test "Real part of: csinh (-89.5 - 0.75 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (-0 + 0.5 i)":
+Test "Imaginary part of: csinh (-89.5 - 0.75 i)":
 float: 1
 ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (-0 + 1.0 i)":
-double: 1
+Test "Real part of: csinh (0.75 + 1.25 i)":
 float: 1
-idouble: 1
 ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0 + 1.5 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0 - 0.5 i)":
+Test "Imaginary part of: csinh (0.75 + 1.25 i)":
 float: 1
 ifloat: 1
+Test "Imaginary part of: csinh (11357.25 + 0.75 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (-0 - 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
+Test "Imaginary part of: csinh (11357.25 - 0.75 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (-0 - 1.5 i)":
+Test "Imaginary part of: csinh (1440 + 0x1p-1074 i)":
 double: 1
 idouble: 1
+Test "Imaginary part of: csinh (22730 + 0x1p-16434 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (-0.0 + 0x0.ffffffffffffffffffffffffffcp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0.0 + 0x0.ffffffffffffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0.0 + 0x1.0000000000000000000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0.0 + 0x1.0000000000000002p0 i)":
+Test "Imaginary part of: csinh (710.5 + 0.75 i)":
+double: 1
+idouble: 1
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (-0.0 + 0x1.0000000000001p0 i)":
+Test "Imaginary part of: csinh (710.5 - 0.75 i)":
+double: 1
+idouble: 1
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (-0.0 - 0x0.ffffffffffffffffffffffffffcp0 i)":
+Test "Real part of: csinh (89.5 + 0.75 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (-0.0 - 0x0.ffffffffffffffffp0 i)":
+Test "Imaginary part of: csinh (89.5 + 0.75 i)":
+float: 1
+ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (-0.0 - 0x1.0000000000000000000000000001p0 i)":
+Test "Real part of: csinh (89.5 - 0.75 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (-0.0 - 0x1.0000000000000002p0 i)":
+Test "Imaginary part of: csinh (89.5 - 0.75 i)":
+float: 1
+ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (-0.0 - 0x1.0000000000001p0 i)":
+
+# csqrt
+Test "Imaginary part of: csqrt (-0 - 0x4.0000000000004p-1024 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (-0.25 + 1.0 i)":
+Test "Real part of: csqrt (-0x2p+0 + 0x3p+0 i)":
 float: 1
 ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (-0.25 - 1.0 i)":
+Test "Real part of: csqrt (-0x2p+0 - 0x3p+0 i)":
 float: 1
 ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (-0.5 + 0x1.fp-129 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: casin (-0.5 + 0x1p-105 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (-0.5 + 0x1p-112 i)":
+Test "Real part of: csqrt (-0x4.0000000000000000000000000004p-16384 - 0x4.0000000000000000000000000004p-16384 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (-0.5 + 0x1p-112 i)":
-double: 1
-idouble: 1
+Test "Imaginary part of: csqrt (-0x4.0000000000000000000000000004p-16384 - 0x4.0000000000000000000000000004p-16384 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casin (-0.5 + 0x1p-23 i)":
+Test "Real part of: csqrt (-0x4.0000000000000000000000000004p-16384 - 0x4.0000000000000008p-16384 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (-0.5 + 0x1p-23 i)":
-double: 1
-idouble: 1
+Test "Real part of: csqrt (-0x4.0000000000000000000000000004p-16384 - 0x4p-1076 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (-0.5 + 0x1p-63 i)":
+Test "Real part of: csqrt (-0x4.0000000000000000000000000004p-16384 - 0x4p-16384 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casin (-0.5 + 1.0 i)":
+Test "Imaginary part of: csqrt (-0x4.0000000000000000000000000004p-16384 - 0x4p-16384 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (-0.5 + 1.0 i)":
-double: 1
-idouble: 1
+Test "Real part of: csqrt (-0x4.0000000000000008p-16384 - 0x4.0000000000000008p-16384 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (-0.5 - 0x1.fp-129 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: casin (-0.5 - 0x1p-105 i)":
-double: 1
-idouble: 1
+Test "Imaginary part of: csqrt (-0x4.0000000000000008p-16384 - 0x4.0000000000000008p-16384 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casin (-0.5 - 0x1p-112 i)":
+Test "Real part of: csqrt (-0x4.0000000000000008p-16384 - 0x4p-1076 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (-0.5 - 0x1p-112 i)":
-double: 1
-idouble: 1
+Test "Real part of: csqrt (-0x4.0000000000004p-1024 - 0x4.0000000000004p-1024 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casin (-0.5 - 0x1p-23 i)":
+Test "Imaginary part of: csqrt (-0x4.0000000000004p-1024 - 0x4.0000000000004p-1024 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (-0.5 - 0x1p-23 i)":
+Test "Real part of: csqrt (-0x4.000008p-128 - 0x4.000008p-128 i)":
 double: 1
 idouble: 1
+Test "Real part of: csqrt (-0x4p-16384 - 0x4.0000000000000008p-16384 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (-0.5 - 0x1p-63 i)":
+Test "Real part of: csqrt (-0x4p-16384 - 0x4p-1076 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casin (-0.5 - 1.0 i)":
+Test "Real part of: csqrt (-0x8p-152 - 0x4.0000000000000008p-16384 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (-0.5 - 1.0 i)":
+Test "Real part of: csqrt (-0x8p-152 - 0x4.0000000000004p-1024 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: csqrt (-0x8p-152 - 0x4p-1076 i)":
 double: 1
 idouble: 1
 ildouble: 1
 ldouble: 1
-Test "Real part of: casin (-0x0.fffffffffffff8p0 + 0.0 i)":
+Test "Real part of: csqrt (-0x8p-152 - 0x4p-16384 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casin (-0x0.fffffffffffff8p0 + 0x1.fp-1025 i)":
+Test "Imaginary part of: csqrt (0x1p-16440 + 0x4p-1076 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (-0x0.fffffffffffff8p0 + 0x1p-52 i)":
-double: 1
-idouble: 1
-Test "Real part of: casin (-0x0.fffffffffffff8p0 - 0.0 i)":
+Test "Imaginary part of: csqrt (0x1p-16440 + 0x8p-16444 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casin (-0x0.fffffffffffff8p0 - 0x1.fp-1025 i)":
+Test "Imaginary part of: csqrt (0x1p-5000 + 0x4p-1076 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (-0x0.fffffffffffff8p0 - 0x1p-52 i)":
-double: 1
-idouble: 1
-Test "Real part of: casin (-0x0.ffffffffffffffffffffffffffcp0 + 0x1p-105 i)":
+Test "Imaginary part of: csqrt (0x4.0000000000000000000000000004p-16384 + 0x4.0000000000000000000000000004p-16384 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (-0x0.ffffffffffffffffffffffffffcp0 + 0x1p-105 i)":
+Test "Imaginary part of: csqrt (0x4.0000000000000000000000000004p-16384 + 0x4.0000000000000008p-16384 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casin (-0x0.ffffffffffffffffffffffffffcp0 - 0x1p-105 i)":
+Test "Imaginary part of: csqrt (0x4.0000000000000000000000000004p-16384 + 0x4p-1076 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (-0x0.ffffffffffffffffffffffffffcp0 - 0x1p-105 i)":
+Test "Real part of: csqrt (0x4.0000000000000000000000000004p-16384 + 0x4p-16384 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casin (-0x0.ffffffffffffffffffffffffffff8p0 + 0x1p-112 i)":
+Test "Imaginary part of: csqrt (0x4.0000000000000000000000000004p-16384 + 0x4p-16384 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casin (-0x0.ffffffffffffffffffffffffffff8p0 - 0x1p-112 i)":
+Test "Real part of: csqrt (0x4.0000000000000008p-16384 + 0x4.0000000000000008p-16384 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casin (-0x0.ffffffffffffffffp0 + 0.0 i)":
+Test "Imaginary part of: csqrt (0x4.0000000000000008p-16384 + 0x4.0000000000000008p-16384 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casin (-0x0.ffffffffffffffffp0 + 0x1.fp-16385 i)":
+Test "Imaginary part of: csqrt (0x4.0000000000000008p-16384 + 0x4p-1076 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (-0x0.ffffffffffffffffp0 + 0x1p-63 i)":
+Test "Imaginary part of: csqrt (0x4.0000000000004p-1024 + 0x4.0000000000004p-1024 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casin (-0x0.ffffffffffffffffp0 - 0.0 i)":
+Test "Imaginary part of: csqrt (0x4.000008p-128 + 0x4.000008p-128 i)":
+double: 1
+idouble: 1
+Test "Imaginary part of: csqrt (0x4p-1076 + 0xf.ffffffffffffbffffffffffffcp+1020 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casin (-0x0.ffffffffffffffffp0 - 0x1.fp-16385 i)":
+Test "Imaginary part of: csqrt (0x4p-1076 + 0xf.fffffp+124 i)":
+double: 1
+idouble: 1
+Test "Imaginary part of: csqrt (0x4p-16384 + 0x4.0000000000000008p-16384 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (-0x0.ffffffffffffffffp0 - 0x1p-63 i)":
+Test "Imaginary part of: csqrt (0x4p-16384 + 0x4p-1076 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casin (-0x0.ffffffp0 + 0x1p-23 i)":
+Test "Imaginary part of: csqrt (0x4p-16448 + 0xf.ffffffffffffbffffffffffffcp+1020 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (-0x0.ffffffp0 + 0x1p-23 i)":
-float: 2
-ifloat: 2
-Test "Real part of: casin (-0x0.ffffffp0 - 0x1p-23 i)":
+Test "Imaginary part of: csqrt (0x4p-16496 + 0xf.ffffffffffffbffffffffffffcp+1020 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (-0x0.ffffffp0 - 0x1p-23 i)":
-float: 2
-ifloat: 2
-Test "Imaginary part of: casin (-0x1.0000000000000000000000000001p0 + 0.0 i)":
+Test "Imaginary part of: csqrt (0x8p+1020 + 0x4p-1076 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (-0x1.0000000000000000000000000001p0 + 0x1.fp-16385 i)":
+Test "Imaginary part of: csqrt (0x8p+1020 + 0x8p-152 i)":
+double: 1
+idouble: 1
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (-0x1.0000000000000000000000000001p0 + 0x1p-113 i)":
+Test "Imaginary part of: csqrt (0x8p+124 + 0x8p-152 i)":
+double: 1
+idouble: 1
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (-0x1.0000000000000000000000000001p0 - 0.0 i)":
+Test "Imaginary part of: csqrt (0x8p+16380 + 0x4p-1076 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: csqrt (0x8p+16380 + 0x8p-152 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (-0x1.0000000000000000000000000001p0 - 0x1.fp-16385 i)":
+Test "Imaginary part of: csqrt (0x8p-152 + 0x4.0000000000000008p-16384 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (-0x1.0000000000000000000000000001p0 - 0x1p-113 i)":
+Test "Imaginary part of: csqrt (0x8p-152 + 0x4.0000000000004p-1024 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (-0x1.000002p0 + 0x1p-23 i)":
-float: 1
-ifloat: 1
+Test "Imaginary part of: csqrt (0x8p-152 + 0x4p-1076 i)":
+double: 1
+idouble: 1
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (-0x1.000002p0 - 0x1p-23 i)":
-float: 1
-ifloat: 1
+Test "Imaginary part of: csqrt (0x8p-152 + 0x4p-16384 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casin (-0x1.fp-10 + 1.0 i)":
-float: 1
-ifloat: 1
+Test "Imaginary part of: csqrt (0x8p-152 + 0x4p-16448 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (-0x1.fp-10 + 1.0 i)":
+Test "Imaginary part of: csqrt (0x8p-152 + 0x8p-1076 i)":
 double: 1
 idouble: 1
-Test "Real part of: casin (-0x1.fp-10 - 1.0 i)":
-float: 1
-ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (-0x1.fp-10 - 1.0 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: casin (-0x1.fp-100 + 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
+Test "Imaginary part of: csqrt (0x8p-152 + 0x8p-16444 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (-0x1.fp-100 - 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
+Test "Imaginary part of: csqrt (0x8p-152 + 0x8p-16448 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (-0x1.fp-1000 + 1.0 i)":
-double: 1
-idouble: 1
+Test "Imaginary part of: csqrt (0x8p-152 + 0xf.ffffffffffffbffffffffffffcp+1020 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (-0x1.fp-1000 - 1.0 i)":
+Test "Imaginary part of: csqrt (0x8p-152 + 0xf.fffffp+124 i)":
 double: 1
 idouble: 1
+Test "Imaginary part of: csqrt (0x8p-16448 + 0xf.ffffffffffffbffffffffffffcp+1020 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (-0x1.fp-10000 + 1.0 i)":
+Test "Imaginary part of: csqrt (0xcp-4 + 0x1.4p+0 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (-0x1.fp-10000 - 1.0 i)":
+Test "Imaginary part of: csqrt (0xf.8p+16380 + 0x8p+16380 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (-0x1.fp-1025 + 0.5 i)":
+Test "Real part of: csqrt (0xf.8p+16380 + 0xf.8p+16380 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casin (-0x1.fp-1025 + 0x0.fffffffffffff8p0 i)":
+Test "Imaginary part of: csqrt (0xf.8p+16380 + 0xf.8p+16380 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (-0x1.fp-1025 + 0x0.ffffffffffffffffffffffffffcp0 i)":
+Test "Imaginary part of: csqrt (0xf.ffffffffffff8p+1020 + 0x8p+1020 i)":
+double: 1
+idouble: 1
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (-0x1.fp-1025 + 0x1.0000000000001p0 i)":
+Test "Imaginary part of: csqrt (0xf.ffffffffffff8p+1020 + 0x8p-152 i)":
+double: 1
+idouble: 1
+Test "Imaginary part of: csqrt (0xf.ffffffffffff8p+1020 + 0xf.8p+16380 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (-0x1.fp-1025 + 1.0 i)":
+Test "Real part of: csqrt (0xf.ffffffffffff8p+1020 + 0xf.ffffffffffff8p+1020 i)":
+double: 1
+idouble: 1
+Test "Imaginary part of: csqrt (0xf.ffffffffffff8p+1020 + 0xf.ffffffffffff8p+1020 i)":
 double: 1
 idouble: 1
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (-0x1.fp-1025 + 1.5 i)":
+Test "Imaginary part of: csqrt (0xf.ffffffffffff8p+1020 + 0xf.fffffp+124 i)":
 double: 1
 idouble: 1
+Test "Imaginary part of: csqrt (0xf.ffffffffffffbffffffffffffcp+1020 + 0xf.8p+16380 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (-0x1.fp-1025 - 0.5 i)":
+Test "Real part of: csqrt (0xf.ffffffffffffbffffffffffffcp+1020 + 0xf.ffffffffffff8p+1020 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casin (-0x1.fp-1025 - 0x0.fffffffffffff8p0 i)":
+Test "Imaginary part of: csqrt (0xf.ffffffffffffbffffffffffffcp+1020 + 0xf.ffffffffffff8p+1020 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (-0x1.fp-1025 - 0x0.ffffffffffffffffffffffffffcp0 i)":
+Test "Imaginary part of: csqrt (0xf.fffffp+124 + 0x1p+0 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: csqrt (0xf.fffffp+124 + 0xf.8p+16380 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (-0x1.fp-1025 - 0x1.0000000000001p0 i)":
+Test "Imaginary part of: csqrt (0xf.fffffp+124 + 0xf.ffffffffffffbffffffffffffcp+1020 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (-0x1.fp-1025 - 1.0 i)":
+
+# ctan
+Test "Real part of: ctan (-0x2p+0 - 0x3p+0 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: ctan (-0x2p+0 - 0x3p+0 i)":
 double: 1
 idouble: 1
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (-0x1.fp-1025 - 1.5 i)":
+Test "Real part of: ctan (0x1.921fb4p+0 + +0 i)":
 double: 1
+float: 1
 idouble: 1
+ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (-0x1.fp-129 + 0.5 i)":
-float: 1
-ifloat: 1
+Test "Real part of: ctan (0x1.921fb4p+0 + 0x4p-1076 i)":
+double: 1
+idouble: 1
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (-0x1.fp-129 + 1.0 i)":
+Test "Imaginary part of: ctan (0x1.921fb4p+0 + 0x4p-1076 i)":
+double: 1
+idouble: 1
+Test "Real part of: ctan (0x1.921fb4p+0 + 0x8p-152 i)":
 double: 1
 float: 1
 idouble: 1
 ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (-0x1.fp-129 + 1.5 i)":
+Test "Imaginary part of: ctan (0x1.921fb4p+0 + 0x8p-152 i)":
 double: 1
 idouble: 1
+Test "Real part of: ctan (0x1.921fb4p+0 + 0x8p-16448 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (-0x1.fp-129 - 0.5 i)":
-float: 1
-ifloat: 1
+Test "Imaginary part of: ctan (0x1.921fb54442d1846ap+0 + 0x4p-1076 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (-0x1.fp-129 - 1.0 i)":
+Test "Imaginary part of: ctan (0x1.921fb54442d1846ap+0 + 0x8p-152 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: ctan (0x1.921fb54442d1846ap+0 + 0x8p-16448 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: ctan (0x1.921fb54442d18p+0 + +0 i)":
+ildouble: 3
+ldouble: 3
+Test "Real part of: ctan (0x1.921fb54442d18p+0 + 0x4p-1076 i)":
+ildouble: 3
+ldouble: 3
+Test "Imaginary part of: ctan (0x1.921fb54442d18p+0 + 0x4p-1076 i)":
+ildouble: 3
+ldouble: 3
+Test "Real part of: ctan (0x1.921fb54442d18p+0 + 0x8p-152 i)":
+ildouble: 3
+ldouble: 3
+Test "Imaginary part of: ctan (0x1.921fb54442d18p+0 + 0x8p-152 i)":
+ildouble: 3
+ldouble: 3
+Test "Real part of: ctan (0x1.921fb54442d18p+0 + 0x8p-16448 i)":
+ildouble: 3
+ldouble: 3
+Test "Imaginary part of: ctan (0x1.921fb54442d18p+0 + 0x8p-16448 i)":
+ildouble: 3
+ldouble: 3
+Test "Real part of: ctan (0x1.921fb54442d19p+0 + +0 i)":
 double: 1
-float: 1
 idouble: 1
-ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (-0x1.fp-129 - 1.5 i)":
+Test "Real part of: ctan (0x1.921fb54442d19p+0 + 0x4p-1076 i)":
 double: 1
 idouble: 1
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (-0x1.fp-16385 + 0.5 i)":
+Test "Imaginary part of: ctan (0x1.921fb54442d19p+0 + 0x4p-1076 i)":
+double: 2
+idouble: 2
+Test "Real part of: ctan (0x1.921fb54442d19p+0 + 0x8p-152 i)":
+double: 1
+idouble: 1
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (-0x1.fp-16385 + 0x0.ffffffffffffffffp0 i)":
+Test "Imaginary part of: ctan (0x1.921fb54442d19p+0 + 0x8p-152 i)":
+double: 2
+idouble: 2
+Test "Real part of: ctan (0x1.921fb54442d19p+0 + 0x8p-16448 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (-0x1.fp-16385 + 0x1.0000000000000000000000000001p0 i)":
+Test "Real part of: ctan (0x1.921fb6p+0 + +0 i)":
+float: 1
+ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (-0x1.fp-16385 + 0x1.0000000000000002p0 i)":
+Test "Real part of: ctan (0x1.921fb6p+0 + 0x4p-1076 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (-0x1.fp-16385 + 1.0 i)":
+Test "Imaginary part of: ctan (0x1.921fb6p+0 + 0x4p-1076 i)":
+ildouble: 2
+ldouble: 2
+Test "Real part of: ctan (0x1.921fb6p+0 + 0x8p-152 i)":
+float: 1
+ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (-0x1.fp-16385 + 1.5 i)":
+Test "Imaginary part of: ctan (0x1.921fb6p+0 + 0x8p-152 i)":
+float: 1
+ifloat: 1
+ildouble: 2
+ldouble: 2
+Test "Real part of: ctan (0x1.921fb6p+0 + 0x8p-16448 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (-0x1.fp-16385 - 0.5 i)":
+Test "Real part of: ctan (0x1p+0 + 0x1.63p+8 i)":
+ildouble: 2
+ldouble: 2
+Test "Real part of: ctan (0x1p+0 + 0x1.6dp+8 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (-0x1.fp-16385 - 0x0.ffffffffffffffffp0 i)":
+Test "Real part of: ctan (0x1p+0 + 0x2.dp+4 i)":
+ildouble: 2
+ldouble: 2
+Test "Real part of: ctan (0x1p+0 + 0x2.fp+4 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (-0x1.fp-16385 - 0x1.0000000000000000000000000001p0 i)":
+Test "Real part of: ctan (0x8p+1020 + 0x1p+0 i)":
+double: 1
+idouble: 1
+Test "Imaginary part of: ctan (0x8p+1020 + 0x1p+0 i)":
+ildouble: 2
+ldouble: 2
+Test "Real part of: ctan (0x8p+124 + 0x1p+0 i)":
+ildouble: 2
+ldouble: 2
+Test "Imaginary part of: ctan (0x8p+124 + 0x1p+0 i)":
+double: 1
+idouble: 1
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (-0x1.fp-16385 - 0x1.0000000000000002p0 i)":
+Test "Real part of: ctan (0x8p+16380 + 0x1p+0 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (-0x1.fp-16385 - 1.0 i)":
+Test "Imaginary part of: ctan (0x8p+16380 + 0x1p+0 i)":
+ildouble: 2
+ldouble: 2
+Test "Real part of: ctan (0xcp-4 + 0x1.4p+0 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (-0x1.fp-16385 - 1.5 i)":
+Test "Imaginary part of: ctan (0xcp-4 + 0x1.4p+0 i)":
+double: 1
+idouble: 1
+ildouble: 2
+ldouble: 2
+Test "Real part of: ctan (0xf.ffffffffffff8p+1020 + 0x1p+0 i)":
+double: 1
+idouble: 1
+Test "Imaginary part of: ctan (0xf.ffffffffffff8p+1020 + 0x1p+0 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casin (-0x1.fp-30 + 1.0 i)":
+Test "Real part of: ctan (0xf.ffffffffffffbffffffffffffcp+1020 + 0x1p+0 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (-0x1.fp-30 + 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
+Test "Imaginary part of: ctan (0xf.ffffffffffffbffffffffffffcp+1020 + 0x1p+0 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casin (-0x1.fp-30 - 1.0 i)":
+Test "Real part of: ctan (0xf.fffffp+124 + 0x1p+0 i)":
+double: 1
+idouble: 1
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (-0x1.fp-30 - 1.0 i)":
+Test "Imaginary part of: ctan (0xf.fffffp+124 + 0x1p+0 i)":
 double: 1
 float: 1
 idouble: 1
 ifloat: 1
+ildouble: 2
+ldouble: 2
+
+# ctan_downward
+Test "Real part of: ctan_downward (-0x2p+0 - 0x3p+0 i)":
+double: 3
+idouble: 3
+ildouble: 4
+ldouble: 4
+Test "Imaginary part of: ctan_downward (-0x2p+0 - 0x3p+0 i)":
+double: 2
+idouble: 2
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (-0x1p-105 + 0.5 i)":
+Test "Real part of: ctan_downward (0x1.921fb4p+0 + +0 i)":
 float: 1
 ifloat: 1
-Test "Imaginary part of: casin (-0x1p-105 + 0x0.ffffffffffffffffffffffffffcp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x1p-105 - 0.5 i)":
+ildouble: 2
+ldouble: 2
+Test "Real part of: ctan_downward (0x1.921fb4p+0 + 0x4p-1076 i)":
+ildouble: 2
+ldouble: 2
+Test "Imaginary part of: ctan_downward (0x1.921fb4p+0 + 0x4p-1076 i)":
+ildouble: 3
+ldouble: 3
+Test "Real part of: ctan_downward (0x1.921fb4p+0 + 0x8p-152 i)":
 float: 1
 ifloat: 1
-Test "Imaginary part of: casin (-0x1p-105 - 0x0.ffffffffffffffffffffffffffcp0 i)":
+ildouble: 2
+ldouble: 2
+Test "Imaginary part of: ctan_downward (0x1.921fb4p+0 + 0x8p-152 i)":
+double: 1
+idouble: 1
+ildouble: 3
+ldouble: 3
+Test "Real part of: ctan_downward (0x1.921fb4p+0 + 0x8p-16448 i)":
+ildouble: 2
+ldouble: 2
+Test "Real part of: ctan_downward (0x1.921fb54442d1846ap+0 + +0 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (-0x1p-112 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: casin (-0x1p-112 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Real part of: casin (-0x1p-113 + 0x1.0000000000000000000000000001p0 i)":
+Test "Real part of: ctan_downward (0x1.921fb54442d1846ap+0 + 0x4p-1076 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (-0x1p-113 + 0x1.0000000000000000000000000001p0 i)":
+Test "Imaginary part of: ctan_downward (0x1.921fb54442d1846ap+0 + 0x4p-1076 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casin (-0x1p-113 - 0x1.0000000000000000000000000001p0 i)":
+Test "Real part of: ctan_downward (0x1.921fb54442d1846ap+0 + 0x8p-152 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (-0x1p-113 - 0x1.0000000000000000000000000001p0 i)":
+Test "Imaginary part of: ctan_downward (0x1.921fb54442d1846ap+0 + 0x8p-152 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casin (-0x1p-23 + 0.5 i)":
+Test "Real part of: ctan_downward (0x1.921fb54442d1846ap+0 + 0x8p-16448 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: ctan_downward (0x1.921fb54442d1846ap+0 + 0x8p-16448 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: ctan_downward (0x1.921fb54442d18p+0 + +0 i)":
 double: 1
-float: 1
 idouble: 1
-ifloat: 1
+ildouble: 4
+ldouble: 4
+Test "Real part of: ctan_downward (0x1.921fb54442d18p+0 + 0x4p-1076 i)":
+double: 1
+idouble: 1
+ildouble: 4
+ldouble: 4
+Test "Imaginary part of: ctan_downward (0x1.921fb54442d18p+0 + 0x4p-1076 i)":
+ildouble: 3
+ldouble: 3
+Test "Real part of: ctan_downward (0x1.921fb54442d18p+0 + 0x8p-152 i)":
+double: 1
+idouble: 1
+ildouble: 4
+ldouble: 4
+Test "Imaginary part of: ctan_downward (0x1.921fb54442d18p+0 + 0x8p-152 i)":
+ildouble: 3
+ldouble: 3
+Test "Real part of: ctan_downward (0x1.921fb54442d18p+0 + 0x8p-16448 i)":
+ildouble: 4
+ldouble: 4
+Test "Imaginary part of: ctan_downward (0x1.921fb54442d18p+0 + 0x8p-16448 i)":
+ildouble: 3
+ldouble: 3
+Test "Real part of: ctan_downward (0x1.921fb54442d19p+0 + +0 i)":
 ildouble: 2
 ldouble: 2
-Test "Imaginary part of: casin (-0x1p-23 + 0.5 i)":
-float: 1
-ifloat: 1
+Test "Real part of: ctan_downward (0x1.921fb54442d19p+0 + 0x4p-1076 i)":
 ildouble: 2
 ldouble: 2
-Test "Imaginary part of: casin (-0x1p-23 + 0x0.ffffffp0 i)":
+Test "Imaginary part of: ctan_downward (0x1.921fb54442d19p+0 + 0x4p-1076 i)":
+ildouble: 4
+ldouble: 4
+Test "Real part of: ctan_downward (0x1.921fb54442d19p+0 + 0x8p-152 i)":
+ildouble: 2
+ldouble: 2
+Test "Imaginary part of: ctan_downward (0x1.921fb54442d19p+0 + 0x8p-152 i)":
+ildouble: 4
+ldouble: 4
+Test "Real part of: ctan_downward (0x1.921fb54442d19p+0 + 0x8p-16448 i)":
+ildouble: 2
+ldouble: 2
+Test "Imaginary part of: ctan_downward (0x1.921fb54442d19p+0 + 0x8p-16448 i)":
+ildouble: 4
+ldouble: 4
+Test "Real part of: ctan_downward (0x1.921fb6p+0 + +0 i)":
 double: 1
 idouble: 1
-Test "Real part of: casin (-0x1p-23 + 0x1.000002p0 i)":
+ildouble: 2
+ldouble: 2
+Test "Real part of: ctan_downward (0x1.921fb6p+0 + 0x4p-1076 i)":
 double: 1
-float: 1
 idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (-0x1p-23 - 0.5 i)":
+ildouble: 2
+ldouble: 2
+Test "Imaginary part of: ctan_downward (0x1.921fb6p+0 + 0x4p-1076 i)":
+ildouble: 5
+ldouble: 5
+Test "Real part of: ctan_downward (0x1.921fb6p+0 + 0x8p-152 i)":
 double: 1
-float: 1
 idouble: 1
-ifloat: 1
 ildouble: 2
 ldouble: 2
-Test "Imaginary part of: casin (-0x1p-23 - 0.5 i)":
+Test "Imaginary part of: ctan_downward (0x1.921fb6p+0 + 0x8p-152 i)":
+double: 1
 float: 1
+idouble: 1
 ifloat: 1
+ildouble: 5
+ldouble: 5
+Test "Real part of: ctan_downward (0x1.921fb6p+0 + 0x8p-16448 i)":
 ildouble: 2
 ldouble: 2
-Test "Imaginary part of: casin (-0x1p-23 - 0x0.ffffffp0 i)":
-double: 1
-idouble: 1
-Test "Real part of: casin (-0x1p-23 - 0x1.000002p0 i)":
+Test "Real part of: ctan_downward (0x1p+0 + 0x1.6dp+8 i)":
+ildouble: 2
+ldouble: 2
+Test "Real part of: ctan_downward (0x1p+0 + 0x2.dp+4 i)":
 double: 1
 float: 1
 idouble: 1
 ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "Real part of: casin (-0x1p-52 + 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x1p-52 + 0.5 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (-0x1p-52 + 0x1.0000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (-0x1p-52 - 0.5 i)":
+Test "Real part of: ctan_downward (0x8p+1020 + 0x1p+0 i)":
+double: 6
+idouble: 6
+ildouble: 3
+ldouble: 3
+Test "Imaginary part of: ctan_downward (0x8p+1020 + 0x1p+0 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (-0x1p-52 - 0.5 i)":
+Test "Real part of: ctan_downward (0x8p+124 + 0x1p+0 i)":
+double: 4
+float: 3
+idouble: 4
+ifloat: 3
+ildouble: 2
+ldouble: 2
+Test "Imaginary part of: ctan_downward (0x8p+124 + 0x1p+0 i)":
+double: 2
 float: 1
+idouble: 2
 ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "Real part of: casin (-0x1p-52 - 0x1.0000000000001p0 i)":
+Test "Real part of: ctan_downward (0x8p+16380 + 0x1p+0 i)":
+ildouble: 2
+ldouble: 2
+Test "Imaginary part of: ctan_downward (0x8p+16380 + 0x1p+0 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (-0x1p-63 + 0.5 i)":
+Test "Real part of: ctan_downward (0xcp-4 + 0x1.4p+0 i)":
 float: 1
 ifloat: 1
-Test "Imaginary part of: casin (-0x1p-63 + 0x0.ffffffffffffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (-0x1p-63 + 0x1.0000000000000002p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x1p-63 + 0x1.0000000000000002p0 i)":
+ildouble: 2
+ldouble: 2
+Test "Real part of: ctan_downward (0xf.ffffffffffff8p+1020 + 0x1p+0 i)":
+double: 3
+idouble: 3
+ildouble: 4
+ldouble: 4
+Test "Real part of: ctan_downward (0xf.ffffffffffffbffffffffffffcp+1020 + 0x1p+0 i)":
+ildouble: 2
+ldouble: 2
+Test "Imaginary part of: ctan_downward (0xf.ffffffffffffbffffffffffffcp+1020 + 0x1p+0 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (-0x1p-63 - 0.5 i)":
+Test "Real part of: ctan_downward (0xf.fffffp+124 + 0x1p+0 i)":
+double: 5
+float: 5
+idouble: 5
+ifloat: 5
+ildouble: 3
+ldouble: 3
+Test "Imaginary part of: ctan_downward (0xf.fffffp+124 + 0x1p+0 i)":
+double: 1
+idouble: 1
+
+# ctan_tonearest
+Test "Real part of: ctan_tonearest (-0x2p+0 - 0x3p+0 i)":
 float: 1
 ifloat: 1
-Test "Imaginary part of: casin (-0x1p-63 - 0x0.ffffffffffffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (-0x1p-63 - 0x1.0000000000000002p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x1p-63 - 0x1.0000000000000002p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x1p500 + 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x1p500 - 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x1p5000 + 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x1p5000 - 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (-1.0 + 0.25 i)":
+Test "Imaginary part of: ctan_tonearest (-0x2p+0 - 0x3p+0 i)":
 double: 1
 idouble: 1
 ildouble: 1
 ldouble: 1
-Test "Real part of: casin (-1.0 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: casin (-1.0 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: casin (-1.0 + 0x1.fp-10 i)":
+Test "Real part of: ctan_tonearest (0x1.921fb4p+0 + +0 i)":
+double: 1
 float: 1
+idouble: 1
 ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "Real part of: casin (-1.0 + 0x1.fp-129 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-1.0 + 0x1.fp-30 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-1.0 + 0x1p500 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-1.0 + 0x1p5000 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (-1.0 - 0.25 i)":
+Test "Real part of: ctan_tonearest (0x1.921fb4p+0 + 0x4p-1076 i)":
 double: 1
 idouble: 1
 ildouble: 1
 ldouble: 1
-Test "Real part of: casin (-1.0 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: casin (-1.0 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: casin (-1.0 - 0x1.fp-10 i)":
+Test "Imaginary part of: ctan_tonearest (0x1.921fb4p+0 + 0x4p-1076 i)":
+double: 1
+idouble: 1
+Test "Real part of: ctan_tonearest (0x1.921fb4p+0 + 0x8p-152 i)":
+double: 1
 float: 1
+idouble: 1
 ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "Real part of: casin (-1.0 - 0x1.fp-129 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-1.0 - 0x1.fp-30 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-1.0 - 0x1p500 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-1.0 - 0x1p5000 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0.0 + 0x0.ffffffffffffffffffffffffffcp0 i)":
+Test "Imaginary part of: ctan_tonearest (0x1.921fb4p+0 + 0x8p-152 i)":
+double: 1
+idouble: 1
+Test "Real part of: ctan_tonearest (0x1.921fb4p+0 + 0x8p-16448 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (0.0 + 0x0.ffffffffffffffffp0 i)":
+Test "Imaginary part of: ctan_tonearest (0x1.921fb54442d1846ap+0 + 0x4p-1076 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (0.0 + 0x1.0000000000000000000000000001p0 i)":
+Test "Imaginary part of: ctan_tonearest (0x1.921fb54442d1846ap+0 + 0x8p-152 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (0.0 + 0x1.0000000000000002p0 i)":
+Test "Imaginary part of: ctan_tonearest (0x1.921fb54442d1846ap+0 + 0x8p-16448 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (0.0 + 0x1.0000000000001p0 i)":
+Test "Real part of: ctan_tonearest (0x1.921fb54442d18p+0 + +0 i)":
+ildouble: 3
+ldouble: 3
+Test "Real part of: ctan_tonearest (0x1.921fb54442d18p+0 + 0x4p-1076 i)":
+ildouble: 3
+ldouble: 3
+Test "Imaginary part of: ctan_tonearest (0x1.921fb54442d18p+0 + 0x4p-1076 i)":
+ildouble: 3
+ldouble: 3
+Test "Real part of: ctan_tonearest (0x1.921fb54442d18p+0 + 0x8p-152 i)":
+ildouble: 3
+ldouble: 3
+Test "Imaginary part of: ctan_tonearest (0x1.921fb54442d18p+0 + 0x8p-152 i)":
+ildouble: 3
+ldouble: 3
+Test "Real part of: ctan_tonearest (0x1.921fb54442d18p+0 + 0x8p-16448 i)":
+ildouble: 3
+ldouble: 3
+Test "Imaginary part of: ctan_tonearest (0x1.921fb54442d18p+0 + 0x8p-16448 i)":
+ildouble: 3
+ldouble: 3
+Test "Real part of: ctan_tonearest (0x1.921fb54442d19p+0 + +0 i)":
+double: 1
+idouble: 1
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (0.0 - 0x0.ffffffffffffffffffffffffffcp0 i)":
+Test "Real part of: ctan_tonearest (0x1.921fb54442d19p+0 + 0x4p-1076 i)":
+double: 1
+idouble: 1
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (0.0 - 0x0.ffffffffffffffffp0 i)":
+Test "Imaginary part of: ctan_tonearest (0x1.921fb54442d19p+0 + 0x4p-1076 i)":
+double: 2
+idouble: 2
+Test "Real part of: ctan_tonearest (0x1.921fb54442d19p+0 + 0x8p-152 i)":
+double: 1
+idouble: 1
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (0.0 - 0x1.0000000000000000000000000001p0 i)":
+Test "Imaginary part of: ctan_tonearest (0x1.921fb54442d19p+0 + 0x8p-152 i)":
+double: 2
+idouble: 2
+Test "Real part of: ctan_tonearest (0x1.921fb54442d19p+0 + 0x8p-16448 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (0.0 - 0x1.0000000000000002p0 i)":
+Test "Real part of: ctan_tonearest (0x1.921fb6p+0 + +0 i)":
+float: 1
+ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (0.0 - 0x1.0000000000001p0 i)":
+Test "Real part of: ctan_tonearest (0x1.921fb6p+0 + 0x4p-1076 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (0.25 + 1.0 i)":
+Test "Imaginary part of: ctan_tonearest (0x1.921fb6p+0 + 0x4p-1076 i)":
+ildouble: 2
+ldouble: 2
+Test "Real part of: ctan_tonearest (0x1.921fb6p+0 + 0x8p-152 i)":
 float: 1
 ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (0.25 - 1.0 i)":
+Test "Imaginary part of: ctan_tonearest (0x1.921fb6p+0 + 0x8p-152 i)":
 float: 1
 ifloat: 1
+ildouble: 2
+ldouble: 2
+Test "Real part of: ctan_tonearest (0x1.921fb6p+0 + 0x8p-16448 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (0.5 + 0x1.fp-129 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: casin (0.5 + 0x1p-105 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (0.5 + 0x1p-112 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0.5 + 0x1p-112 i)":
-double: 1
-idouble: 1
+Test "Real part of: ctan_tonearest (0x1p+0 + 0x1.63p+8 i)":
+ildouble: 2
+ldouble: 2
+Test "Real part of: ctan_tonearest (0x1p+0 + 0x1.6dp+8 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casin (0.5 + 0x1p-23 i)":
+Test "Real part of: ctan_tonearest (0x1p+0 + 0x2.dp+4 i)":
+ildouble: 2
+ldouble: 2
+Test "Real part of: ctan_tonearest (0x1p+0 + 0x2.fp+4 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (0.5 + 0x1p-23 i)":
+Test "Real part of: ctan_tonearest (0x8p+1020 + 0x1p+0 i)":
 double: 1
 idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0.5 + 0x1p-63 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (0.5 + 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0.5 + 1.0 i)":
+Test "Imaginary part of: ctan_tonearest (0x8p+1020 + 0x1p+0 i)":
+ildouble: 2
+ldouble: 2
+Test "Real part of: ctan_tonearest (0x8p+124 + 0x1p+0 i)":
+ildouble: 2
+ldouble: 2
+Test "Imaginary part of: ctan_tonearest (0x8p+124 + 0x1p+0 i)":
 double: 1
 idouble: 1
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (0.5 - 0x1.fp-129 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: casin (0.5 - 0x1p-105 i)":
-double: 1
-idouble: 1
+Test "Real part of: ctan_tonearest (0x8p+16380 + 0x1p+0 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casin (0.5 - 0x1p-112 i)":
+Test "Imaginary part of: ctan_tonearest (0x8p+16380 + 0x1p+0 i)":
+ildouble: 2
+ldouble: 2
+Test "Real part of: ctan_tonearest (0xcp-4 + 0x1.4p+0 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (0.5 - 0x1p-112 i)":
+Test "Imaginary part of: ctan_tonearest (0xcp-4 + 0x1.4p+0 i)":
 double: 1
 idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (0.5 - 0x1p-23 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0.5 - 0x1p-23 i)":
+ildouble: 2
+ldouble: 2
+Test "Real part of: ctan_tonearest (0xf.ffffffffffff8p+1020 + 0x1p+0 i)":
 double: 1
 idouble: 1
+Test "Imaginary part of: ctan_tonearest (0xf.ffffffffffff8p+1020 + 0x1p+0 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (0.5 - 0x1p-63 i)":
+Test "Real part of: ctan_tonearest (0xf.ffffffffffffbffffffffffffcp+1020 + 0x1p+0 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casin (0.5 - 1.0 i)":
+Test "Imaginary part of: ctan_tonearest (0xf.ffffffffffffbffffffffffffcp+1020 + 0x1p+0 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (0.5 - 1.0 i)":
+Test "Real part of: ctan_tonearest (0xf.fffffp+124 + 0x1p+0 i)":
 double: 1
 idouble: 1
 ildouble: 1
 ldouble: 1
-Test "Real part of: casin (0.75 + 1.25 i)":
+Test "Imaginary part of: ctan_tonearest (0xf.fffffp+124 + 0x1p+0 i)":
 double: 1
 float: 1
 idouble: 1
 ifloat: 1
-Test "Real part of: casin (0x0.fffffffffffff8p0 + 0.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (0x0.fffffffffffff8p0 + 0x1.fp-1025 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x0.fffffffffffff8p0 + 0x1p-52 i)":
+ildouble: 2
+ldouble: 2
+
+# ctan_towardzero
+Test "Real part of: ctan_towardzero (-0x2p+0 - 0x3p+0 i)":
+double: 5
+float: 3
+idouble: 5
+ifloat: 3
+ildouble: 4
+ldouble: 4
+Test "Imaginary part of: ctan_towardzero (-0x2p+0 - 0x3p+0 i)":
 double: 1
 idouble: 1
-Test "Real part of: casin (0x0.fffffffffffff8p0 - 0.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (0x0.fffffffffffff8p0 - 0x1.fp-1025 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (0x0.fffffffffffff8p0 - 0x1p-52 i)":
+Test "Imaginary part of: ctan_towardzero (-0xc.35p+12 - 0xc.35p+12 i)":
 double: 1
+float: 1
 idouble: 1
-Test "Real part of: casin (0x0.ffffffffffffffffffffffffffcp0 + 0x1p-105 i)":
+ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (0x0.ffffffffffffffffffffffffffcp0 + 0x1p-105 i)":
+Test "Real part of: ctan_towardzero (0x1.921fb4p+0 + +0 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: ctan_towardzero (0x1.921fb4p+0 + 0x4p-1076 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casin (0x0.ffffffffffffffffffffffffffcp0 - 0x1p-105 i)":
+Test "Real part of: ctan_towardzero (0x1.921fb4p+0 + 0x8p-152 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: ctan_towardzero (0x1.921fb4p+0 + 0x8p-152 i)":
+double: 1
+float: 2
+idouble: 1
+ifloat: 2
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (0x0.ffffffffffffffffffffffffffcp0 - 0x1p-105 i)":
+Test "Real part of: ctan_towardzero (0x1.921fb54442d1846ap+0 + +0 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casin (0x0.ffffffffffffffffffffffffffff8p0 + 0x1p-112 i)":
+Test "Real part of: ctan_towardzero (0x1.921fb54442d1846ap+0 + 0x4p-1076 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casin (0x0.ffffffffffffffffffffffffffff8p0 - 0x1p-112 i)":
+Test "Imaginary part of: ctan_towardzero (0x1.921fb54442d1846ap+0 + 0x4p-1076 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casin (0x0.ffffffffffffffffp0 + 0.0 i)":
+Test "Real part of: ctan_towardzero (0x1.921fb54442d1846ap+0 + 0x8p-152 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casin (0x0.ffffffffffffffffp0 + 0x1.fp-16385 i)":
+Test "Imaginary part of: ctan_towardzero (0x1.921fb54442d1846ap+0 + 0x8p-152 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (0x0.ffffffffffffffffp0 + 0x1p-63 i)":
+Test "Real part of: ctan_towardzero (0x1.921fb54442d1846ap+0 + 0x8p-16448 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casin (0x0.ffffffffffffffffp0 - 0.0 i)":
+Test "Imaginary part of: ctan_towardzero (0x1.921fb54442d1846ap+0 + 0x8p-16448 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casin (0x0.ffffffffffffffffp0 - 0x1.fp-16385 i)":
+Test "Real part of: ctan_towardzero (0x1.921fb54442d18p+0 + +0 i)":
+double: 1
+idouble: 1
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (0x0.ffffffffffffffffp0 - 0x1p-63 i)":
+Test "Real part of: ctan_towardzero (0x1.921fb54442d18p+0 + 0x4p-1076 i)":
+double: 1
+idouble: 1
 ildouble: 1
 ldouble: 1
-Test "Real part of: casin (0x0.ffffffp0 + 0x1p-23 i)":
+Test "Imaginary part of: ctan_towardzero (0x1.921fb54442d18p+0 + 0x4p-1076 i)":
+ildouble: 2
+ldouble: 2
+Test "Real part of: ctan_towardzero (0x1.921fb54442d18p+0 + 0x8p-152 i)":
+double: 1
+idouble: 1
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (0x0.ffffffp0 + 0x1p-23 i)":
-float: 2
-ifloat: 2
-Test "Real part of: casin (0x0.ffffffp0 - 0x1p-23 i)":
+Test "Imaginary part of: ctan_towardzero (0x1.921fb54442d18p+0 + 0x8p-152 i)":
+ildouble: 2
+ldouble: 2
+Test "Real part of: ctan_towardzero (0x1.921fb54442d18p+0 + 0x8p-16448 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (0x0.ffffffp0 - 0x1p-23 i)":
-float: 2
-ifloat: 2
-Test "Imaginary part of: casin (0x1.0000000000000000000000000001p0 + 0.0 i)":
+Test "Imaginary part of: ctan_towardzero (0x1.921fb54442d18p+0 + 0x8p-16448 i)":
+ildouble: 2
+ldouble: 2
+Test "Real part of: ctan_towardzero (0x1.921fb54442d19p+0 + +0 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (0x1.0000000000000000000000000001p0 + 0x1.fp-16385 i)":
+Test "Real part of: ctan_towardzero (0x1.921fb54442d19p+0 + 0x4p-1076 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (0x1.0000000000000000000000000001p0 + 0x1p-113 i)":
+Test "Imaginary part of: ctan_towardzero (0x1.921fb54442d19p+0 + 0x4p-1076 i)":
+ildouble: 4
+ldouble: 4
+Test "Real part of: ctan_towardzero (0x1.921fb54442d19p+0 + 0x8p-152 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (0x1.0000000000000000000000000001p0 - 0.0 i)":
+Test "Imaginary part of: ctan_towardzero (0x1.921fb54442d19p+0 + 0x8p-152 i)":
+ildouble: 4
+ldouble: 4
+Test "Real part of: ctan_towardzero (0x1.921fb54442d19p+0 + 0x8p-16448 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (0x1.0000000000000000000000000001p0 - 0x1.fp-16385 i)":
+Test "Imaginary part of: ctan_towardzero (0x1.921fb54442d19p+0 + 0x8p-16448 i)":
+ildouble: 4
+ldouble: 4
+Test "Real part of: ctan_towardzero (0x1.921fb6p+0 + +0 i)":
+float: 1
+ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (0x1.0000000000000000000000000001p0 - 0x1p-113 i)":
+Test "Real part of: ctan_towardzero (0x1.921fb6p+0 + 0x4p-1076 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (0x1.000002p0 + 0x1p-23 i)":
+Test "Imaginary part of: ctan_towardzero (0x1.921fb6p+0 + 0x4p-1076 i)":
+ildouble: 5
+ldouble: 5
+Test "Real part of: ctan_towardzero (0x1.921fb6p+0 + 0x8p-152 i)":
 float: 1
 ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (0x1.000002p0 - 0x1p-23 i)":
+Test "Imaginary part of: ctan_towardzero (0x1.921fb6p+0 + 0x8p-152 i)":
+double: 1
 float: 1
+idouble: 1
 ifloat: 1
+ildouble: 5
+ldouble: 5
+Test "Real part of: ctan_towardzero (0x1.921fb6p+0 + 0x8p-16448 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casin (0x1.fp-10 + 1.0 i)":
+Test "Real part of: ctan_towardzero (0x1p+0 + 0x1.6dp+8 i)":
+ildouble: 2
+ldouble: 2
+Test "Real part of: ctan_towardzero (0x1p+0 + 0x2.dp+4 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: ctan_towardzero (0x8p+1020 + 0x1p+0 i)":
+double: 5
+idouble: 5
+ildouble: 2
+ldouble: 2
+Test "Imaginary part of: ctan_towardzero (0x8p+1020 + 0x1p+0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: ctan_towardzero (0x8p+124 + 0x1p+0 i)":
+double: 4
+float: 3
+idouble: 4
+ifloat: 3
+ildouble: 2
+ldouble: 2
+Test "Imaginary part of: ctan_towardzero (0x8p+124 + 0x1p+0 i)":
+double: 2
 float: 1
+idouble: 2
 ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (0x1.fp-10 + 1.0 i)":
+Test "Real part of: ctan_towardzero (0x8p+16380 + 0x1p+0 i)":
+ildouble: 2
+ldouble: 2
+Test "Imaginary part of: ctan_towardzero (0x8p+16380 + 0x1p+0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: ctan_towardzero (0xc.35p+12 - 0xc.35p+12 i)":
 double: 1
+float: 1
 idouble: 1
-Test "Real part of: casin (0x1.fp-10 - 1.0 i)":
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: ctan_towardzero (0xcp-4 + 0x1.4p+0 i)":
 float: 1
 ifloat: 1
+ildouble: 2
+ldouble: 2
+Test "Real part of: ctan_towardzero (0xf.ffffffffffff8p+1020 + 0x1p+0 i)":
+double: 2
+idouble: 2
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (0x1.fp-10 - 1.0 i)":
+Test "Real part of: ctan_towardzero (0xf.ffffffffffffbffffffffffffcp+1020 + 0x1p+0 i)":
+ildouble: 2
+ldouble: 2
+Test "Imaginary part of: ctan_towardzero (0xf.ffffffffffffbffffffffffffcp+1020 + 0x1p+0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: ctan_towardzero (0xf.fffffp+124 + 0x1p+0 i)":
+double: 4
+float: 2
+idouble: 4
+ifloat: 2
+ildouble: 2
+ldouble: 2
+Test "Imaginary part of: ctan_towardzero (0xf.fffffp+124 + 0x1p+0 i)":
 double: 1
 idouble: 1
-Test "Imaginary part of: casin (0x1.fp-100 + 1.0 i)":
+
+# ctan_upward
+Test "Real part of: ctan_upward (-0x2p+0 - 0x3p+0 i)":
+double: 2
+float: 3
+idouble: 2
+ifloat: 3
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: ctan_upward (-0x2p+0 - 0x3p+0 i)":
 double: 1
 float: 1
 idouble: 1
 ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (0x1.fp-100 - 1.0 i)":
+Test "Imaginary part of: ctan_upward (-0xc.35p+12 + 0xc.35p+12 i)":
 double: 1
 float: 1
 idouble: 1
 ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (0x1.fp-1000 + 1.0 i)":
+Test "Imaginary part of: ctan_upward (-0xc.35p+12 - 0xc.35p+12 i)":
 double: 1
+float: 1
 idouble: 1
+ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (0x1.fp-1000 - 1.0 i)":
-double: 1
-idouble: 1
+Test "Real part of: ctan_upward (0x1.921fb4p+0 + +0 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: ctan_upward (0x1.921fb4p+0 + 0x4p-1076 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (0x1.fp-10000 + 1.0 i)":
+Test "Real part of: ctan_upward (0x1.921fb4p+0 + 0x8p-152 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: ctan_upward (0x1.921fb4p+0 + 0x8p-152 i)":
+double: 2
+float: 1
+idouble: 2
+ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (0x1.fp-10000 - 1.0 i)":
+Test "Real part of: ctan_upward (0x1.921fb54442d1846ap+0 + +0 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (0x1.fp-1025 + 0.5 i)":
+Test "Real part of: ctan_upward (0x1.921fb54442d1846ap+0 + 0x4p-1076 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casin (0x1.fp-1025 + 0x0.fffffffffffff8p0 i)":
+Test "Real part of: ctan_upward (0x1.921fb54442d1846ap+0 + 0x8p-152 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (0x1.fp-1025 + 0x0.ffffffffffffffffffffffffffcp0 i)":
+Test "Real part of: ctan_upward (0x1.921fb54442d1846ap+0 + 0x8p-16448 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (0x1.fp-1025 + 0x1.0000000000001p0 i)":
+Test "Imaginary part of: ctan_upward (0x1.921fb54442d1846ap+0 + 0x8p-16448 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (0x1.fp-1025 + 1.0 i)":
+Test "Real part of: ctan_upward (0x1.921fb54442d18p+0 + +0 i)":
 double: 1
 idouble: 1
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (0x1.fp-1025 + 1.5 i)":
+Test "Real part of: ctan_upward (0x1.921fb54442d18p+0 + 0x4p-1076 i)":
 double: 1
 idouble: 1
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (0x1.fp-1025 - 0.5 i)":
+Test "Imaginary part of: ctan_upward (0x1.921fb54442d18p+0 + 0x4p-1076 i)":
+double: 1
+idouble: 1
+ildouble: 2
+ldouble: 2
+Test "Real part of: ctan_upward (0x1.921fb54442d18p+0 + 0x8p-152 i)":
+double: 1
+idouble: 1
 ildouble: 1
 ldouble: 1
-Test "Real part of: casin (0x1.fp-1025 - 0x0.fffffffffffff8p0 i)":
+Test "Imaginary part of: ctan_upward (0x1.921fb54442d18p+0 + 0x8p-152 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (0x1.fp-1025 - 0x0.ffffffffffffffffffffffffffcp0 i)":
+Test "Real part of: ctan_upward (0x1.921fb54442d18p+0 + 0x8p-16448 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (0x1.fp-1025 - 0x1.0000000000001p0 i)":
+Test "Imaginary part of: ctan_upward (0x1.921fb54442d18p+0 + 0x8p-16448 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (0x1.fp-1025 - 1.0 i)":
+Test "Real part of: ctan_upward (0x1.921fb54442d19p+0 + +0 i)":
+double: 1
+idouble: 1
+ildouble: 2
+ldouble: 2
+Test "Real part of: ctan_upward (0x1.921fb54442d19p+0 + 0x4p-1076 i)":
 double: 1
 idouble: 1
+ildouble: 2
+ldouble: 2
+Test "Imaginary part of: ctan_upward (0x1.921fb54442d19p+0 + 0x4p-1076 i)":
+double: 2
+idouble: 2
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (0x1.fp-1025 - 1.5 i)":
+Test "Real part of: ctan_upward (0x1.921fb54442d19p+0 + 0x8p-152 i)":
 double: 1
 idouble: 1
+ildouble: 4
+ldouble: 4
+Test "Imaginary part of: ctan_upward (0x1.921fb54442d19p+0 + 0x8p-152 i)":
+ildouble: 3
+ldouble: 3
+Test "Real part of: ctan_upward (0x1.921fb54442d19p+0 + 0x8p-16448 i)":
+ildouble: 2
+ldouble: 2
+Test "Imaginary part of: ctan_upward (0x1.921fb54442d19p+0 + 0x8p-16448 i)":
+ildouble: 3
+ldouble: 3
+Test "Real part of: ctan_upward (0x1.921fb6p+0 + +0 i)":
+double: 2
+float: 1
+idouble: 2
+ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (0x1.fp-129 + 0.5 i)":
+Test "Real part of: ctan_upward (0x1.921fb6p+0 + 0x4p-1076 i)":
+double: 2
+idouble: 2
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: ctan_upward (0x1.921fb6p+0 + 0x4p-1076 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: ctan_upward (0x1.921fb6p+0 + 0x8p-152 i)":
+double: 2
 float: 1
+idouble: 2
 ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (0x1.fp-129 + 1.0 i)":
+Test "Imaginary part of: ctan_upward (0x1.921fb6p+0 + 0x8p-152 i)":
+double: 1
+float: 3
+idouble: 1
+ifloat: 3
+ildouble: 1
+ldouble: 1
+Test "Real part of: ctan_upward (0x1.921fb6p+0 + 0x8p-16448 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: ctan_upward (0x1p+0 + 0x1.63ap+12 i)":
 double: 1
 float: 1
 idouble: 1
 ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (0x1.fp-129 + 1.5 i)":
+Test "Imaginary part of: ctan_upward (0x1p+0 + 0x1.63p+12 i)":
 double: 1
+float: 1
 idouble: 1
+ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (0x1.fp-129 - 0.5 i)":
+Test "Real part of: ctan_upward (0x1p+0 + 0x1.63p+8 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: ctan_upward (0x1p+0 + 0x1.63p+8 i)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+ildouble: 2
+ldouble: 2
+Test "Real part of: ctan_upward (0x1p+0 + 0x1.6dp+8 i)":
+ildouble: 2
+ldouble: 2
+Test "Imaginary part of: ctan_upward (0x1p+0 + 0x1.6dp+8 i)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+ildouble: 2
+ldouble: 2
+Test "Real part of: ctan_upward (0x1p+0 + 0x2.dp+4 i)":
 float: 1
 ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (0x1.fp-129 - 1.0 i)":
+Test "Imaginary part of: ctan_upward (0x1p+0 + 0x2.dp+4 i)":
+double: 2
+float: 1
+idouble: 2
+ifloat: 1
+ildouble: 2
+ldouble: 2
+Test "Real part of: ctan_upward (0x1p+0 + 0x2.fp+4 i)":
+double: 1
+idouble: 1
+Test "Imaginary part of: ctan_upward (0x1p+0 + 0x2.fp+4 i)":
+double: 2
+float: 1
+idouble: 2
+ifloat: 1
+ildouble: 2
+ldouble: 2
+Test "Real part of: ctan_upward (0x8p+1020 + 0x1p+0 i)":
+double: 2
+idouble: 2
+ildouble: 5
+ldouble: 5
+Test "Imaginary part of: ctan_upward (0x8p+1020 + 0x1p+0 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: ctan_upward (0x8p+124 + 0x1p+0 i)":
+double: 2
+idouble: 2
+ildouble: 3
+ldouble: 3
+Test "Imaginary part of: ctan_upward (0x8p+124 + 0x1p+0 i)":
+double: 1
+idouble: 1
+Test "Real part of: ctan_upward (0x8p+16380 + 0x1p+0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: ctan_upward (0xc.35p+12 + 0xc.35p+12 i)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: ctan_upward (0xc.35p+12 - 0xc.35p+12 i)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: ctan_upward (0xcp-4 + 0x1.4p+0 i)":
+double: 2
+idouble: 2
+Test "Imaginary part of: ctan_upward (0xcp-4 + 0x1.4p+0 i)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: ctan_upward (0xf.ffffffffffff8p+1020 + 0x1p+0 i)":
+double: 1
+idouble: 1
+ildouble: 3
+ldouble: 3
+Test "Real part of: ctan_upward (0xf.ffffffffffffbffffffffffffcp+1020 + 0x1p+0 i)":
+ildouble: 2
+ldouble: 2
+Test "Real part of: ctan_upward (0xf.fffffp+124 + 0x1p+0 i)":
+double: 2
+float: 3
+idouble: 2
+ifloat: 3
+ildouble: 2
+ldouble: 2
+
+# ctanh
+Test "Imaginary part of: ctanh (+0 + 0x1.921fb4p+0 i)":
 double: 1
 float: 1
 idouble: 1
 ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (0x1.fp-129 - 1.5 i)":
+Test "Imaginary part of: ctanh (+0 + 0x1.921fb54442d18p+0 i)":
+ildouble: 3
+ldouble: 3
+Test "Imaginary part of: ctanh (+0 + 0x1.921fb54442d19p+0 i)":
 double: 1
 idouble: 1
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (0x1.fp-16385 + 0.5 i)":
+Test "Imaginary part of: ctanh (+0 + 0x1.921fb6p+0 i)":
+float: 1
+ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (0x1.fp-16385 + 0x0.ffffffffffffffffp0 i)":
+Test "Imaginary part of: ctanh (+0 + 0xc.90fdaa22168c234c4c6628b80dcp-4 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (0x1.fp-16385 + 0x1.0000000000000000000000000001p0 i)":
+Test "Imaginary part of: ctanh (+0 + 0xc.90fdaa22168c234p-4 i)":
+ildouble: 2
+ldouble: 2
+Test "Imaginary part of: ctanh (+0 + 0xc.90fdaa22168c8p-4 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (0x1.fp-16385 + 0x1.0000000000000002p0 i)":
+Test "Imaginary part of: ctanh (+0 + 0xc.90fdaa22168cp-4 i)":
+double: 1
+idouble: 1
+Test "Imaginary part of: ctanh (+0 + 0xc.90fdap-4 i)":
+double: 2
+float: 1
+idouble: 2
+ifloat: 1
+Test "Imaginary part of: ctanh (+0 + 0xc.90fdbp-4 i)":
+float: 1
+ifloat: 1
+Test "Real part of: ctanh (-0x2p+0 - 0x3p+0 i)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+Test "Imaginary part of: ctanh (-0x2p+0 - 0x3p+0 i)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+Test "Imaginary part of: ctanh (0x1.63p+8 + 0x1p+0 i)":
+ildouble: 2
+ldouble: 2
+Test "Imaginary part of: ctanh (0x1.6dp+8 + 0x1p+0 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (0x1.fp-16385 + 1.0 i)":
+Test "Real part of: ctanh (0x1p+0 + 0x8p+1020 i)":
+ildouble: 2
+ldouble: 2
+Test "Imaginary part of: ctanh (0x1p+0 + 0x8p+1020 i)":
+double: 1
+idouble: 1
+Test "Real part of: ctanh (0x1p+0 + 0x8p+124 i)":
+double: 1
+idouble: 1
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (0x1.fp-16385 + 1.5 i)":
+Test "Imaginary part of: ctanh (0x1p+0 + 0x8p+124 i)":
+ildouble: 2
+ldouble: 2
+Test "Real part of: ctanh (0x1p+0 + 0x8p+16380 i)":
+ildouble: 2
+ldouble: 2
+Test "Imaginary part of: ctanh (0x1p+0 + 0x8p+16380 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (0x1.fp-16385 - 0.5 i)":
+Test "Real part of: ctanh (0x1p+0 + 0xf.ffffffffffff8p+1020 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (0x1.fp-16385 - 0x0.ffffffffffffffffp0 i)":
+Test "Imaginary part of: ctanh (0x1p+0 + 0xf.ffffffffffff8p+1020 i)":
+double: 1
+idouble: 1
+Test "Real part of: ctanh (0x1p+0 + 0xf.ffffffffffffbffffffffffffcp+1020 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (0x1.fp-16385 - 0x1.0000000000000000000000000001p0 i)":
+Test "Imaginary part of: ctanh (0x1p+0 + 0xf.ffffffffffffbffffffffffffcp+1020 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (0x1.fp-16385 - 0x1.0000000000000002p0 i)":
+Test "Real part of: ctanh (0x1p+0 + 0xf.fffffp+124 i)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+ildouble: 2
+ldouble: 2
+Test "Imaginary part of: ctanh (0x1p+0 + 0xf.fffffp+124 i)":
+double: 1
+idouble: 1
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (0x1.fp-16385 - 1.0 i)":
+Test "Imaginary part of: ctanh (0x2.dp+4 + 0x1p+0 i)":
+ildouble: 2
+ldouble: 2
+Test "Imaginary part of: ctanh (0x2.fp+4 + 0x1p+0 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (0x1.fp-16385 - 1.5 i)":
+Test "Real part of: ctanh (0x4p-1076 + 0x1.921fb4p+0 i)":
+double: 1
+idouble: 1
+Test "Imaginary part of: ctanh (0x4p-1076 + 0x1.921fb4p+0 i)":
+double: 1
+idouble: 1
 ildouble: 1
 ldouble: 1
-Test "Real part of: casin (0x1.fp-30 + 1.0 i)":
+Test "Real part of: ctanh (0x4p-1076 + 0x1.921fb54442d1846ap+0 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (0x1.fp-30 + 1.0 i)":
+Test "Real part of: ctanh (0x4p-1076 + 0x1.921fb54442d18p+0 i)":
+ildouble: 3
+ldouble: 3
+Test "Imaginary part of: ctanh (0x4p-1076 + 0x1.921fb54442d18p+0 i)":
+ildouble: 3
+ldouble: 3
+Test "Real part of: ctanh (0x4p-1076 + 0x1.921fb54442d19p+0 i)":
+double: 2
+idouble: 2
+Test "Imaginary part of: ctanh (0x4p-1076 + 0x1.921fb54442d19p+0 i)":
 double: 1
-float: 1
 idouble: 1
-ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "Real part of: casin (0x1.fp-30 - 1.0 i)":
+Test "Real part of: ctanh (0x4p-1076 + 0x1.921fb6p+0 i)":
+ildouble: 2
+ldouble: 2
+Test "Imaginary part of: ctanh (0x4p-1076 + 0x1.921fb6p+0 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (0x1.fp-30 - 1.0 i)":
+Test "Real part of: ctanh (0x8p-152 + 0x1.921fb4p+0 i)":
+double: 1
+idouble: 1
+Test "Imaginary part of: ctanh (0x8p-152 + 0x1.921fb4p+0 i)":
 double: 1
 float: 1
 idouble: 1
 ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (0x1.fp1023 + 0x1.fp1023 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: casin (0x1.fp127 + 0x1.fp127 i)":
+Test "Real part of: ctanh (0x8p-152 + 0x1.921fb54442d1846ap+0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: ctanh (0x8p-152 + 0x1.921fb54442d18p+0 i)":
+ildouble: 3
+ldouble: 3
+Test "Imaginary part of: ctanh (0x8p-152 + 0x1.921fb54442d18p+0 i)":
+ildouble: 3
+ldouble: 3
+Test "Real part of: ctanh (0x8p-152 + 0x1.921fb54442d19p+0 i)":
+double: 2
+idouble: 2
+Test "Imaginary part of: ctanh (0x8p-152 + 0x1.921fb54442d19p+0 i)":
 double: 1
 idouble: 1
-Test "Imaginary part of: casin (0x1.fp16383 + 0x1.fp16383 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (0x1p-105 + 0.5 i)":
+Test "Real part of: ctanh (0x8p-152 + 0x1.921fb6p+0 i)":
 float: 1
 ifloat: 1
-Test "Imaginary part of: casin (0x1p-105 + 0x0.ffffffffffffffffffffffffffcp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x1p-105 - 0.5 i)":
+ildouble: 2
+ldouble: 2
+Test "Imaginary part of: ctanh (0x8p-152 + 0x1.921fb6p+0 i)":
 float: 1
 ifloat: 1
-Test "Imaginary part of: casin (0x1p-105 - 0x0.ffffffffffffffffffffffffffcp0 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (0x1p-112 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: casin (0x1p-112 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Real part of: casin (0x1p-113 + 0x1.0000000000000000000000000001p0 i)":
+Test "Imaginary part of: ctanh (0x8p-16448 + 0x1.921fb4p+0 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (0x1p-113 + 0x1.0000000000000000000000000001p0 i)":
+Test "Real part of: ctanh (0x8p-16448 + 0x1.921fb54442d1846ap+0 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casin (0x1p-113 - 0x1.0000000000000000000000000001p0 i)":
+Test "Real part of: ctanh (0x8p-16448 + 0x1.921fb54442d18p+0 i)":
+ildouble: 3
+ldouble: 3
+Test "Imaginary part of: ctanh (0x8p-16448 + 0x1.921fb54442d18p+0 i)":
+ildouble: 3
+ldouble: 3
+Test "Imaginary part of: ctanh (0x8p-16448 + 0x1.921fb54442d19p+0 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (0x1p-113 - 0x1.0000000000000000000000000001p0 i)":
+Test "Imaginary part of: ctanh (0x8p-16448 + 0x1.921fb6p+0 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casin (0x1p-23 + 0.5 i)":
+Test "Real part of: ctanh (0xcp-4 + 0x1.4p+0 i)":
 double: 1
 float: 1
 idouble: 1
 ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: casin (0x1p-23 + 0.5 i)":
+Test "Imaginary part of: ctanh (0xcp-4 + 0x1.4p+0 i)":
+float: 2
+ifloat: 2
+
+# ctanh_downward
+Test "Imaginary part of: ctanh_downward (+0 + 0x1.921fb4p+0 i)":
 float: 1
 ifloat: 1
 ildouble: 2
 ldouble: 2
-Test "Imaginary part of: casin (0x1p-23 + 0x0.ffffffp0 i)":
-double: 1
-idouble: 1
-Test "Real part of: casin (0x1p-23 + 0x1.000002p0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
+Test "Imaginary part of: ctanh_downward (+0 + 0x1.921fb54442d1846ap+0 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casin (0x1p-23 - 0.5 i)":
+Test "Imaginary part of: ctanh_downward (+0 + 0x1.921fb54442d18p+0 i)":
 double: 1
-float: 1
 idouble: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: casin (0x1p-23 - 0.5 i)":
-float: 1
-ifloat: 1
+ildouble: 4
+ldouble: 4
+Test "Imaginary part of: ctanh_downward (+0 + 0x1.921fb54442d19p+0 i)":
 ildouble: 2
 ldouble: 2
-Test "Imaginary part of: casin (0x1p-23 - 0x0.ffffffp0 i)":
-double: 1
-idouble: 1
-Test "Real part of: casin (0x1p-23 - 0x1.000002p0 i)":
+Test "Imaginary part of: ctanh_downward (+0 + 0x1.921fb6p+0 i)":
 double: 1
-float: 1
 idouble: 1
-ifloat: 1
+ildouble: 2
+ldouble: 2
+Test "Imaginary part of: ctanh_downward (+0 + 0xc.90fdaa22168c234c4c6628b80cp-4 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casin (0x1p-52 + 0.5 i)":
+Test "Imaginary part of: ctanh_downward (+0 + 0xc.90fdaa22168c234c4c6628b80dc8p-4 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (0x1p-52 + 0.5 i)":
-float: 1
-ifloat: 1
+Test "Imaginary part of: ctanh_downward (+0 + 0xc.90fdaa22168c234c4c6628b80dcp-4 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casin (0x1p-52 + 0x1.0000000000001p0 i)":
+Test "Imaginary part of: ctanh_downward (+0 + 0xc.90fdaa22168c234c4c6628b81p-4 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casin (0x1p-52 - 0.5 i)":
+Test "Imaginary part of: ctanh_downward (+0 + 0xc.90fdaa22168c234p-4 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (0x1p-52 - 0.5 i)":
+Test "Imaginary part of: ctanh_downward (+0 + 0xc.90fdaa22168c235p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: ctanh_downward (+0 + 0xc.90fdaa22168cp-4 i)":
+ildouble: 3
+ldouble: 3
+Test "Imaginary part of: ctanh_downward (+0 + 0xc.90fdap-4 i)":
+float: 1
+ifloat: 1
+Test "Real part of: ctanh_downward (-0x2p+0 - 0x3p+0 i)":
+double: 4
 float: 1
+idouble: 4
 ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "Real part of: casin (0x1p-52 - 0x1.0000000000001p0 i)":
+Test "Imaginary part of: ctanh_downward (-0x2p+0 - 0x3p+0 i)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (0x1p-63 + 0.5 i)":
+Test "Imaginary part of: ctanh_downward (0x1.6dp+8 + 0x1p+0 i)":
+ildouble: 2
+ldouble: 2
+Test "Real part of: ctanh_downward (0x1p+0 + 0x8p+1020 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: ctanh_downward (0x1p+0 + 0x8p+1020 i)":
+double: 6
+idouble: 6
+ildouble: 3
+ldouble: 3
+Test "Real part of: ctanh_downward (0x1p+0 + 0x8p+124 i)":
+double: 2
 float: 1
+idouble: 2
 ifloat: 1
-Test "Imaginary part of: casin (0x1p-63 + 0x0.ffffffffffffffffp0 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casin (0x1p-63 + 0x1.0000000000000002p0 i)":
+Test "Imaginary part of: ctanh_downward (0x1p+0 + 0x8p+124 i)":
+double: 4
+float: 3
+idouble: 4
+ifloat: 3
+ildouble: 2
+ldouble: 2
+Test "Real part of: ctanh_downward (0x1p+0 + 0x8p+16380 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (0x1p-63 + 0x1.0000000000000002p0 i)":
+Test "Imaginary part of: ctanh_downward (0x1p+0 + 0x8p+16380 i)":
+ildouble: 2
+ldouble: 2
+Test "Imaginary part of: ctanh_downward (0x1p+0 + 0xf.ffffffffffff8p+1020 i)":
+double: 3
+idouble: 3
+ildouble: 4
+ldouble: 4
+Test "Real part of: ctanh_downward (0x1p+0 + 0xf.ffffffffffffbffffffffffffcp+1020 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (0x1p-63 - 0.5 i)":
+Test "Imaginary part of: ctanh_downward (0x1p+0 + 0xf.ffffffffffffbffffffffffffcp+1020 i)":
+ildouble: 2
+ldouble: 2
+Test "Real part of: ctanh_downward (0x1p+0 + 0xf.fffffp+124 i)":
+double: 1
+idouble: 1
+Test "Imaginary part of: ctanh_downward (0x1p+0 + 0xf.fffffp+124 i)":
+double: 5
+float: 5
+idouble: 5
+ifloat: 5
+ildouble: 3
+ldouble: 3
+Test "Imaginary part of: ctanh_downward (0x2.dp+4 + 0x1p+0 i)":
+double: 1
 float: 1
+idouble: 1
 ifloat: 1
-Test "Imaginary part of: casin (0x1p-63 - 0x0.ffffffffffffffffp0 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casin (0x1p-63 - 0x1.0000000000000002p0 i)":
+Test "Real part of: ctanh_downward (0x4p-1076 + 0x1.921fb4p+0 i)":
+ildouble: 3
+ldouble: 3
+Test "Imaginary part of: ctanh_downward (0x4p-1076 + 0x1.921fb4p+0 i)":
+ildouble: 2
+ldouble: 2
+Test "Real part of: ctanh_downward (0x4p-1076 + 0x1.921fb54442d1846ap+0 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (0x1p-63 - 0x1.0000000000000002p0 i)":
+Test "Imaginary part of: ctanh_downward (0x4p-1076 + 0x1.921fb54442d1846ap+0 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (0x1p500 + 1.0 i)":
+Test "Real part of: ctanh_downward (0x4p-1076 + 0x1.921fb54442d18p+0 i)":
+ildouble: 3
+ldouble: 3
+Test "Imaginary part of: ctanh_downward (0x4p-1076 + 0x1.921fb54442d18p+0 i)":
+double: 1
+idouble: 1
+ildouble: 4
+ldouble: 4
+Test "Real part of: ctanh_downward (0x4p-1076 + 0x1.921fb54442d19p+0 i)":
+ildouble: 4
+ldouble: 4
+Test "Imaginary part of: ctanh_downward (0x4p-1076 + 0x1.921fb54442d19p+0 i)":
+ildouble: 2
+ldouble: 2
+Test "Real part of: ctanh_downward (0x4p-1076 + 0x1.921fb6p+0 i)":
+ildouble: 5
+ldouble: 5
+Test "Imaginary part of: ctanh_downward (0x4p-1076 + 0x1.921fb6p+0 i)":
+double: 1
+idouble: 1
+ildouble: 2
+ldouble: 2
+Test "Real part of: ctanh_downward (0x8p-152 + 0x1.921fb4p+0 i)":
+double: 1
+idouble: 1
+ildouble: 3
+ldouble: 3
+Test "Imaginary part of: ctanh_downward (0x8p-152 + 0x1.921fb4p+0 i)":
+float: 1
+ifloat: 1
+ildouble: 2
+ldouble: 2
+Test "Real part of: ctanh_downward (0x8p-152 + 0x1.921fb54442d1846ap+0 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (0x1p500 - 1.0 i)":
+Test "Imaginary part of: ctanh_downward (0x8p-152 + 0x1.921fb54442d1846ap+0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: ctanh_downward (0x8p-152 + 0x1.921fb54442d18p+0 i)":
+ildouble: 3
+ldouble: 3
+Test "Imaginary part of: ctanh_downward (0x8p-152 + 0x1.921fb54442d18p+0 i)":
+double: 1
+idouble: 1
+ildouble: 4
+ldouble: 4
+Test "Real part of: ctanh_downward (0x8p-152 + 0x1.921fb54442d19p+0 i)":
+ildouble: 4
+ldouble: 4
+Test "Imaginary part of: ctanh_downward (0x8p-152 + 0x1.921fb54442d19p+0 i)":
+ildouble: 2
+ldouble: 2
+Test "Real part of: ctanh_downward (0x8p-152 + 0x1.921fb6p+0 i)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+ildouble: 5
+ldouble: 5
+Test "Imaginary part of: ctanh_downward (0x8p-152 + 0x1.921fb6p+0 i)":
+double: 1
+idouble: 1
+ildouble: 2
+ldouble: 2
+Test "Imaginary part of: ctanh_downward (0x8p-16448 + 0x1.921fb4p+0 i)":
+ildouble: 2
+ldouble: 2
+Test "Real part of: ctanh_downward (0x8p-16448 + 0x1.921fb54442d1846ap+0 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (0x1p5000 + 1.0 i)":
+Test "Imaginary part of: ctanh_downward (0x8p-16448 + 0x1.921fb54442d1846ap+0 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (0x1p5000 - 1.0 i)":
+Test "Real part of: ctanh_downward (0x8p-16448 + 0x1.921fb54442d18p+0 i)":
+ildouble: 3
+ldouble: 3
+Test "Imaginary part of: ctanh_downward (0x8p-16448 + 0x1.921fb54442d18p+0 i)":
+ildouble: 4
+ldouble: 4
+Test "Real part of: ctanh_downward (0x8p-16448 + 0x1.921fb54442d19p+0 i)":
+ildouble: 4
+ldouble: 4
+Test "Imaginary part of: ctanh_downward (0x8p-16448 + 0x1.921fb54442d19p+0 i)":
+ildouble: 2
+ldouble: 2
+Test "Imaginary part of: ctanh_downward (0x8p-16448 + 0x1.921fb6p+0 i)":
+ildouble: 2
+ldouble: 2
+Test "Real part of: ctanh_downward (0xcp-4 + 0x1.4p+0 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casin (1.0 + 0.25 i)":
+Test "Imaginary part of: ctanh_downward (0xcp-4 + 0x1.4p+0 i)":
 double: 1
 idouble: 1
 ildouble: 1
 ldouble: 1
-Test "Real part of: casin (1.0 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: casin (1.0 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: casin (1.0 + 0x1.fp-10 i)":
+
+# ctanh_tonearest
+Test "Imaginary part of: ctanh_tonearest (+0 + 0x1.921fb4p+0 i)":
+double: 1
 float: 1
+idouble: 1
 ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "Real part of: casin (1.0 + 0x1.fp-129 i)":
+Test "Imaginary part of: ctanh_tonearest (+0 + 0x1.921fb54442d18p+0 i)":
+ildouble: 3
+ldouble: 3
+Test "Imaginary part of: ctanh_tonearest (+0 + 0x1.921fb54442d19p+0 i)":
+double: 1
+idouble: 1
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (1.0 + 0x1.fp-30 i)":
+Test "Imaginary part of: ctanh_tonearest (+0 + 0x1.921fb6p+0 i)":
+float: 1
+ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (1.0 + 0x1p500 i)":
+Test "Imaginary part of: ctanh_tonearest (+0 + 0xc.90fdaa22168c234c4c6628b80dcp-4 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (1.0 + 0x1p5000 i)":
+Test "Imaginary part of: ctanh_tonearest (+0 + 0xc.90fdaa22168c234p-4 i)":
+ildouble: 2
+ldouble: 2
+Test "Imaginary part of: ctanh_tonearest (+0 + 0xc.90fdaa22168c8p-4 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casin (1.0 - 0.25 i)":
+Test "Imaginary part of: ctanh_tonearest (+0 + 0xc.90fdaa22168cp-4 i)":
 double: 1
 idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (1.0 - 0.5 i)":
+Test "Imaginary part of: ctanh_tonearest (+0 + 0xc.90fdap-4 i)":
+double: 2
+float: 1
+idouble: 2
+ifloat: 1
+Test "Imaginary part of: ctanh_tonearest (+0 + 0xc.90fdbp-4 i)":
 float: 1
 ifloat: 1
-Test "Imaginary part of: casin (1.0 - 0.5 i)":
+Test "Real part of: ctanh_tonearest (-0x2p+0 - 0x3p+0 i)":
+double: 1
 float: 1
+idouble: 1
 ifloat: 1
-Test "Imaginary part of: casin (1.0 - 0x1.fp-10 i)":
+Test "Imaginary part of: ctanh_tonearest (-0x2p+0 - 0x3p+0 i)":
+double: 1
 float: 1
+idouble: 1
 ifloat: 1
+Test "Imaginary part of: ctanh_tonearest (0x1.63p+8 + 0x1p+0 i)":
+ildouble: 2
+ldouble: 2
+Test "Imaginary part of: ctanh_tonearest (0x1.6dp+8 + 0x1p+0 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casin (1.0 - 0x1.fp-129 i)":
+Test "Real part of: ctanh_tonearest (0x1p+0 + 0x8p+1020 i)":
+ildouble: 2
+ldouble: 2
+Test "Imaginary part of: ctanh_tonearest (0x1p+0 + 0x8p+1020 i)":
+double: 1
+idouble: 1
+Test "Real part of: ctanh_tonearest (0x1p+0 + 0x8p+124 i)":
+double: 1
+idouble: 1
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (1.0 - 0x1.fp-30 i)":
+Test "Imaginary part of: ctanh_tonearest (0x1p+0 + 0x8p+124 i)":
+ildouble: 2
+ldouble: 2
+Test "Real part of: ctanh_tonearest (0x1p+0 + 0x8p+16380 i)":
+ildouble: 2
+ldouble: 2
+Test "Imaginary part of: ctanh_tonearest (0x1p+0 + 0x8p+16380 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (1.0 - 0x1p500 i)":
+Test "Real part of: ctanh_tonearest (0x1p+0 + 0xf.ffffffffffff8p+1020 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casin (1.0 - 0x1p5000 i)":
+Test "Imaginary part of: ctanh_tonearest (0x1p+0 + 0xf.ffffffffffff8p+1020 i)":
+double: 1
+idouble: 1
+Test "Real part of: ctanh_tonearest (0x1p+0 + 0xf.ffffffffffffbffffffffffffcp+1020 i)":
 ildouble: 1
 ldouble: 1
-
-# casinh
-Test "Imaginary part of: casinh (-0.0 + 0x0.fffffffffffff8p0 i)":
+Test "Imaginary part of: ctanh_tonearest (0x1p+0 + 0xf.ffffffffffffbffffffffffffcp+1020 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casinh (-0.0 + 0x0.ffffffffffffffffp0 i)":
+Test "Real part of: ctanh_tonearest (0x1p+0 + 0xf.fffffp+124 i)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+ildouble: 2
+ldouble: 2
+Test "Imaginary part of: ctanh_tonearest (0x1p+0 + 0xf.fffffp+124 i)":
+double: 1
+idouble: 1
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (-0.0 + 0x1.0000000000000000000000000001p0 i)":
+Test "Imaginary part of: ctanh_tonearest (0x2.dp+4 + 0x1p+0 i)":
+ildouble: 2
+ldouble: 2
+Test "Imaginary part of: ctanh_tonearest (0x2.fp+4 + 0x1p+0 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casinh (-0.0 - 0x0.fffffffffffff8p0 i)":
+Test "Real part of: ctanh_tonearest (0x4p-1076 + 0x1.921fb4p+0 i)":
+double: 1
+idouble: 1
+Test "Imaginary part of: ctanh_tonearest (0x4p-1076 + 0x1.921fb4p+0 i)":
+double: 1
+idouble: 1
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casinh (-0.0 - 0x0.ffffffffffffffffp0 i)":
+Test "Real part of: ctanh_tonearest (0x4p-1076 + 0x1.921fb54442d1846ap+0 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (-0.0 - 0x1.0000000000000000000000000001p0 i)":
+Test "Real part of: ctanh_tonearest (0x4p-1076 + 0x1.921fb54442d18p+0 i)":
+ildouble: 3
+ldouble: 3
+Test "Imaginary part of: ctanh_tonearest (0x4p-1076 + 0x1.921fb54442d18p+0 i)":
+ildouble: 3
+ldouble: 3
+Test "Real part of: ctanh_tonearest (0x4p-1076 + 0x1.921fb54442d19p+0 i)":
+double: 2
+idouble: 2
+Test "Imaginary part of: ctanh_tonearest (0x4p-1076 + 0x1.921fb54442d19p+0 i)":
+double: 1
+idouble: 1
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casinh (-0.25 + 1.0 i)":
+Test "Real part of: ctanh_tonearest (0x4p-1076 + 0x1.921fb6p+0 i)":
+ildouble: 2
+ldouble: 2
+Test "Imaginary part of: ctanh_tonearest (0x4p-1076 + 0x1.921fb6p+0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: ctanh_tonearest (0x8p-152 + 0x1.921fb4p+0 i)":
+double: 1
+idouble: 1
+Test "Imaginary part of: ctanh_tonearest (0x8p-152 + 0x1.921fb4p+0 i)":
 double: 1
+float: 1
 idouble: 1
+ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casinh (-0.25 - 1.0 i)":
+Test "Real part of: ctanh_tonearest (0x8p-152 + 0x1.921fb54442d1846ap+0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: ctanh_tonearest (0x8p-152 + 0x1.921fb54442d18p+0 i)":
+ildouble: 3
+ldouble: 3
+Test "Imaginary part of: ctanh_tonearest (0x8p-152 + 0x1.921fb54442d18p+0 i)":
+ildouble: 3
+ldouble: 3
+Test "Real part of: ctanh_tonearest (0x8p-152 + 0x1.921fb54442d19p+0 i)":
+double: 2
+idouble: 2
+Test "Imaginary part of: ctanh_tonearest (0x8p-152 + 0x1.921fb54442d19p+0 i)":
 double: 1
 idouble: 1
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (-0.5 + +0 i)":
+Test "Real part of: ctanh_tonearest (0x8p-152 + 0x1.921fb6p+0 i)":
+float: 1
+ifloat: 1
+ildouble: 2
+ldouble: 2
+Test "Imaginary part of: ctanh_tonearest (0x8p-152 + 0x1.921fb6p+0 i)":
 float: 1
 ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (-0.5 + 0x1.fp-1025 i)":
+Test "Imaginary part of: ctanh_tonearest (0x8p-16448 + 0x1.921fb4p+0 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (-0.5 + 0x1.fp-129 i)":
-float: 1
-ifloat: 1
+Test "Real part of: ctanh_tonearest (0x8p-16448 + 0x1.921fb54442d1846ap+0 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (-0.5 + 0x1.fp-16385 i)":
+Test "Real part of: ctanh_tonearest (0x8p-16448 + 0x1.921fb54442d18p+0 i)":
+ildouble: 3
+ldouble: 3
+Test "Imaginary part of: ctanh_tonearest (0x8p-16448 + 0x1.921fb54442d18p+0 i)":
+ildouble: 3
+ldouble: 3
+Test "Imaginary part of: ctanh_tonearest (0x8p-16448 + 0x1.921fb54442d19p+0 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (-0.5 + 0x1p-105 i)":
-float: 1
-ifloat: 1
-Test "Real part of: casinh (-0.5 + 0x1p-112 i)":
-float: 1
-ifloat: 1
-Test "Real part of: casinh (-0.5 + 0x1p-23 i)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: casinh (-0.5 + 0x1p-23 i)":
+Test "Imaginary part of: ctanh_tonearest (0x8p-16448 + 0x1.921fb6p+0 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: ctanh_tonearest (0xcp-4 + 0x1.4p+0 i)":
 double: 1
 float: 1
 idouble: 1
 ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Real part of: casinh (-0.5 + 0x1p-52 i)":
+Test "Imaginary part of: ctanh_tonearest (0xcp-4 + 0x1.4p+0 i)":
+float: 2
+ifloat: 2
+
+# ctanh_towardzero
+Test "Imaginary part of: ctanh_towardzero (+0 + 0x1.921fb4p+0 i)":
 float: 1
 ifloat: 1
+Test "Imaginary part of: ctanh_towardzero (+0 + 0x1.921fb54442d1846ap+0 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casinh (-0.5 + 0x1p-52 i)":
+Test "Imaginary part of: ctanh_towardzero (+0 + 0x1.921fb54442d18p+0 i)":
+double: 1
+idouble: 1
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (-0.5 + 0x1p-63 i)":
-float: 1
-ifloat: 1
-Test "Real part of: casinh (-0.5 + 1.0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: casinh (-0.5 + 1.0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: casinh (-0.5 - 0 i)":
+Test "Imaginary part of: ctanh_towardzero (+0 + 0x1.921fb54442d19p+0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: ctanh_towardzero (+0 + 0x1.921fb6p+0 i)":
 float: 1
 ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (-0.5 - 0x1.fp-1025 i)":
+Test "Imaginary part of: ctanh_towardzero (+0 + 0xc.90fdaa22168c234c4c6628b80cp-4 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (-0.5 - 0x1.fp-129 i)":
-float: 1
-ifloat: 1
+Test "Imaginary part of: ctanh_towardzero (+0 + 0xc.90fdaa22168c234c4c6628b80dc8p-4 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (-0.5 - 0x1.fp-16385 i)":
+Test "Imaginary part of: ctanh_towardzero (+0 + 0xc.90fdaa22168c234c4c6628b80dcp-4 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (-0.5 - 0x1p-105 i)":
-float: 1
-ifloat: 1
-Test "Real part of: casinh (-0.5 - 0x1p-112 i)":
-float: 1
-ifloat: 1
-Test "Real part of: casinh (-0.5 - 0x1p-23 i)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: casinh (-0.5 - 0x1p-23 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Real part of: casinh (-0.5 - 0x1p-52 i)":
-float: 1
-ifloat: 1
+Test "Imaginary part of: ctanh_towardzero (+0 + 0xc.90fdaa22168c234c4c6628b81p-4 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casinh (-0.5 - 0x1p-52 i)":
+Test "Imaginary part of: ctanh_towardzero (+0 + 0xc.90fdaa22168c234p-4 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (-0.5 - 0x1p-63 i)":
-float: 1
-ifloat: 1
-Test "Real part of: casinh (-0.5 - 1.0 i)":
+Test "Imaginary part of: ctanh_towardzero (+0 + 0xc.90fdaa22168c235p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: ctanh_towardzero (+0 + 0xc.90fdaa22168cp-4 i)":
+ildouble: 3
+ldouble: 3
+Test "Real part of: ctanh_towardzero (-0x2p+0 - 0x3p+0 i)":
+double: 2
+idouble: 2
+Test "Imaginary part of: ctanh_towardzero (-0x2p+0 - 0x3p+0 i)":
+double: 1
 float: 1
+idouble: 1
 ifloat: 1
-Test "Imaginary part of: casinh (-0.5 - 1.0 i)":
+Test "Real part of: ctanh_towardzero (-0xc.35p+12 + 0xc.35p+12 i)":
+double: 1
 float: 1
+idouble: 1
 ifloat: 1
-Test "Imaginary part of: casinh (-0x0.fffffffffffff8p0 + 0x1.fp-1025 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casinh (-0x0.fffffffffffff8p0 - 0x1.fp-1025 i)":
+Test "Real part of: ctanh_towardzero (-0xc.35p+12 - 0xc.35p+12 i)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (-0x0.ffffffffffffffffffffffffffcp0 + 0.0 i)":
+Test "Imaginary part of: ctanh_towardzero (0x1.6dp+8 + 0x1p+0 i)":
+ildouble: 2
+ldouble: 2
+Test "Real part of: ctanh_towardzero (0x1p+0 + 0x8p+1020 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (-0x0.ffffffffffffffffffffffffffcp0 + 0x1.fp-1025 i)":
+Test "Imaginary part of: ctanh_towardzero (0x1p+0 + 0x8p+1020 i)":
+double: 5
+idouble: 5
+ildouble: 2
+ldouble: 2
+Test "Real part of: ctanh_towardzero (0x1p+0 + 0x8p+124 i)":
+double: 2
+float: 1
+idouble: 2
+ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (-0x0.ffffffffffffffffffffffffffcp0 + 0x1p-105 i)":
+Test "Imaginary part of: ctanh_towardzero (0x1p+0 + 0x8p+124 i)":
+double: 4
+float: 3
+idouble: 4
+ifloat: 3
+ildouble: 2
+ldouble: 2
+Test "Real part of: ctanh_towardzero (0x1p+0 + 0x8p+16380 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (-0x0.ffffffffffffffffffffffffffcp0 - 0.0 i)":
+Test "Imaginary part of: ctanh_towardzero (0x1p+0 + 0x8p+16380 i)":
+ildouble: 2
+ldouble: 2
+Test "Imaginary part of: ctanh_towardzero (0x1p+0 + 0xf.ffffffffffff8p+1020 i)":
+double: 2
+idouble: 2
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (-0x0.ffffffffffffffffffffffffffcp0 - 0x1.fp-1025 i)":
+Test "Real part of: ctanh_towardzero (0x1p+0 + 0xf.ffffffffffffbffffffffffffcp+1020 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (-0x0.ffffffffffffffffffffffffffcp0 - 0x1p-105 i)":
+Test "Imaginary part of: ctanh_towardzero (0x1p+0 + 0xf.ffffffffffffbffffffffffffcp+1020 i)":
+ildouble: 2
+ldouble: 2
+Test "Real part of: ctanh_towardzero (0x1p+0 + 0xf.fffffp+124 i)":
+double: 1
+idouble: 1
+Test "Imaginary part of: ctanh_towardzero (0x1p+0 + 0xf.fffffp+124 i)":
+double: 4
+float: 2
+idouble: 4
+ifloat: 2
+ildouble: 2
+ldouble: 2
+Test "Imaginary part of: ctanh_towardzero (0x2.dp+4 + 0x1p+0 i)":
+double: 1
+idouble: 1
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (-0x0.ffffffffffffffffp0 + 0.0 i)":
+Test "Real part of: ctanh_towardzero (0x4p-1076 + 0x1.921fb4p+0 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (-0x0.ffffffffffffffffp0 + 0x1.fp-16385 i)":
+Test "Real part of: ctanh_towardzero (0x4p-1076 + 0x1.921fb54442d1846ap+0 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (-0x0.ffffffffffffffffp0 + 0x1p-63 i)":
+Test "Imaginary part of: ctanh_towardzero (0x4p-1076 + 0x1.921fb54442d1846ap+0 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (-0x0.ffffffffffffffffp0 - 0.0 i)":
+Test "Real part of: ctanh_towardzero (0x4p-1076 + 0x1.921fb54442d18p+0 i)":
+ildouble: 2
+ldouble: 2
+Test "Imaginary part of: ctanh_towardzero (0x4p-1076 + 0x1.921fb54442d18p+0 i)":
+double: 1
+idouble: 1
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (-0x0.ffffffffffffffffp0 - 0x1.fp-16385 i)":
+Test "Real part of: ctanh_towardzero (0x4p-1076 + 0x1.921fb54442d19p+0 i)":
+ildouble: 4
+ldouble: 4
+Test "Imaginary part of: ctanh_towardzero (0x4p-1076 + 0x1.921fb54442d19p+0 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (-0x0.ffffffffffffffffp0 - 0x1p-63 i)":
+Test "Real part of: ctanh_towardzero (0x4p-1076 + 0x1.921fb6p+0 i)":
+ildouble: 5
+ldouble: 5
+Test "Imaginary part of: ctanh_towardzero (0x4p-1076 + 0x1.921fb6p+0 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (-0x0.ffffffp0 + 0x1p-23 i)":
-double: 1
-idouble: 1
-Test "Real part of: casinh (-0x0.ffffffp0 - 0x1p-23 i)":
+Test "Real part of: ctanh_towardzero (0x8p-152 + 0x1.921fb4p+0 i)":
 double: 1
+float: 2
 idouble: 1
-Test "Real part of: casinh (-0x1.0000000000000000000000000001p0 + 0.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x1.0000000000000000000000000001p0 + 0x1.fp-16385 i)":
+ifloat: 2
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (-0x1.0000000000000000000000000001p0 + 0x1p-113 i)":
+Test "Imaginary part of: ctanh_towardzero (0x8p-152 + 0x1.921fb4p+0 i)":
+float: 1
+ifloat: 1
+Test "Real part of: ctanh_towardzero (0x8p-152 + 0x1.921fb54442d1846ap+0 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casinh (-0x1.0000000000000000000000000001p0 + 0x1p-113 i)":
+Test "Imaginary part of: ctanh_towardzero (0x8p-152 + 0x1.921fb54442d1846ap+0 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (-0x1.0000000000000000000000000001p0 - 0.0 i)":
+Test "Real part of: ctanh_towardzero (0x8p-152 + 0x1.921fb54442d18p+0 i)":
+ildouble: 2
+ldouble: 2
+Test "Imaginary part of: ctanh_towardzero (0x8p-152 + 0x1.921fb54442d18p+0 i)":
+double: 1
+idouble: 1
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (-0x1.0000000000000000000000000001p0 - 0x1.fp-16385 i)":
+Test "Real part of: ctanh_towardzero (0x8p-152 + 0x1.921fb54442d19p+0 i)":
+ildouble: 4
+ldouble: 4
+Test "Imaginary part of: ctanh_towardzero (0x8p-152 + 0x1.921fb54442d19p+0 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (-0x1.0000000000000000000000000001p0 - 0x1p-113 i)":
+Test "Real part of: ctanh_towardzero (0x8p-152 + 0x1.921fb6p+0 i)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+ildouble: 5
+ldouble: 5
+Test "Imaginary part of: ctanh_towardzero (0x8p-152 + 0x1.921fb6p+0 i)":
+float: 1
+ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casinh (-0x1.0000000000000000000000000001p0 - 0x1p-113 i)":
+Test "Real part of: ctanh_towardzero (0x8p-16448 + 0x1.921fb54442d1846ap+0 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (-0x1.0000000000000002p0 + 0.0 i)":
+Test "Imaginary part of: ctanh_towardzero (0x8p-16448 + 0x1.921fb54442d1846ap+0 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (-0x1.0000000000000002p0 + 0x1.fp-16385 i)":
+Test "Real part of: ctanh_towardzero (0x8p-16448 + 0x1.921fb54442d18p+0 i)":
+ildouble: 2
+ldouble: 2
+Test "Imaginary part of: ctanh_towardzero (0x8p-16448 + 0x1.921fb54442d18p+0 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (-0x1.0000000000000002p0 + 0x1p-63 i)":
+Test "Real part of: ctanh_towardzero (0x8p-16448 + 0x1.921fb54442d19p+0 i)":
+ildouble: 4
+ldouble: 4
+Test "Imaginary part of: ctanh_towardzero (0x8p-16448 + 0x1.921fb54442d19p+0 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casinh (-0x1.0000000000000002p0 + 0x1p-63 i)":
+Test "Imaginary part of: ctanh_towardzero (0x8p-16448 + 0x1.921fb6p+0 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (-0x1.0000000000000002p0 - 0.0 i)":
+Test "Real part of: ctanh_towardzero (0xcp-4 + 0x1.4p+0 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (-0x1.0000000000000002p0 - 0x1.fp-16385 i)":
+Test "Imaginary part of: ctanh_towardzero (0xcp-4 + 0x1.4p+0 i)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (-0x1.0000000000000002p0 - 0x1p-63 i)":
+
+# ctanh_upward
+Test "Imaginary part of: ctanh_upward (+0 + 0x1.921fb4p+0 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: ctanh_upward (+0 + 0x1.921fb54442d1846ap+0 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casinh (-0x1.0000000000000002p0 - 0x1p-63 i)":
+Test "Imaginary part of: ctanh_upward (+0 + 0x1.921fb54442d18p+0 i)":
+double: 1
+idouble: 1
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (-0x1.0000000000001p0 + 0.0 i)":
+Test "Imaginary part of: ctanh_upward (+0 + 0x1.921fb54442d19p+0 i)":
+double: 1
+idouble: 1
+ildouble: 2
+ldouble: 2
+Test "Imaginary part of: ctanh_upward (+0 + 0x1.921fb6p+0 i)":
+double: 2
+float: 1
+idouble: 2
+ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (-0x1.0000000000001p0 + 0x1.fp-1025 i)":
+Test "Imaginary part of: ctanh_upward (+0 + 0xc.90fdaa22168c234c4c6628b80cp-4 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casinh (-0x1.0000000000001p0 + 0x1p-52 i)":
+Test "Imaginary part of: ctanh_upward (+0 + 0xc.90fdaa22168c234c4c6628b80dc8p-4 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (-0x1.0000000000001p0 - 0.0 i)":
+Test "Imaginary part of: ctanh_upward (+0 + 0xc.90fdaa22168c234c4c6628b81p-4 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (-0x1.0000000000001p0 - 0x1.fp-1025 i)":
+Test "Imaginary part of: ctanh_upward (+0 + 0xc.90fdaa22168c234p-4 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casinh (-0x1.0000000000001p0 - 0x1p-52 i)":
+Test "Imaginary part of: ctanh_upward (+0 + 0xc.90fdaa22168c235p-4 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casinh (-0x1.000002p0 + 0x1p-23 i)":
+Test "Imaginary part of: ctanh_upward (+0 + 0xc.90fdaa22168cp-4 i)":
+ildouble: 3
+ldouble: 3
+Test "Imaginary part of: ctanh_upward (+0 + 0xc.90fdap-4 i)":
 double: 1
 float: 1
 idouble: 1
 ifloat: 1
+Test "Imaginary part of: ctanh_upward (+0 + 0xc.90fdbp-4 i)":
+float: 1
+ifloat: 1
+Test "Real part of: ctanh_upward (-0x2p+0 - 0x3p+0 i)":
+double: 1
+float: 2
+idouble: 1
+ifloat: 2
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casinh (-0x1.000002p0 - 0x1p-23 i)":
+Test "Imaginary part of: ctanh_upward (-0x2p+0 - 0x3p+0 i)":
+double: 2
+float: 1
+idouble: 2
+ifloat: 1
+Test "Real part of: ctanh_upward (-0xc.35p+12 + 0xc.35p+12 i)":
 double: 1
 float: 1
 idouble: 1
 ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (-0x1.fp-10 + 1.0 i)":
+Test "Real part of: ctanh_upward (-0xc.35p+12 - 0xc.35p+12 i)":
+double: 1
 float: 1
+idouble: 1
 ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (-0x1.fp-10 - 1.0 i)":
+Test "Real part of: ctanh_upward (0x1.63ap+12 + 0x1p+0 i)":
+double: 1
 float: 1
+idouble: 1
 ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casinh (-0x1.fp-1025 + 0x0.fffffffffffff8p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (-0x1.fp-1025 - 0x0.fffffffffffff8p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x1.fp-129 + 0.5 i)":
+Test "Real part of: ctanh_upward (0x1.63p+12 + 0x1p+0 i)":
 double: 1
+float: 1
 idouble: 1
-Test "Imaginary part of: casinh (-0x1.fp-129 + 1.0 i)":
+ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (-0x1.fp-129 - 0.5 i)":
+Test "Real part of: ctanh_upward (0x1.63p+8 + 0x1p+0 i)":
 double: 1
+float: 1
 idouble: 1
-Test "Imaginary part of: casinh (-0x1.fp-129 - 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (-0x1.fp-16385 + 0x0.ffffffffffffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x1.fp-16385 + 0x1.0000000000000000000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (-0x1.fp-16385 - 0x0.ffffffffffffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x1.fp-16385 - 0x1.0000000000000000000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x1.fp-30 + 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x1.fp-30 - 1.0 i)":
+ifloat: 1
+ildouble: 2
+ldouble: 2
+Test "Imaginary part of: ctanh_upward (0x1.63p+8 + 0x1p+0 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (-0x1p-105 + 0.5 i)":
+Test "Real part of: ctanh_upward (0x1.6dp+8 + 0x1p+0 i)":
 double: 1
+float: 1
 idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x1p-105 + 0x0.ffffffffffffffffffffffffffcp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (-0x1p-105 + 0x0.ffffffffffffffffffffffffffcp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x1p-105 - 0.5 i)":
+ifloat: 1
+ildouble: 2
+ldouble: 2
+Test "Imaginary part of: ctanh_upward (0x1.6dp+8 + 0x1p+0 i)":
+ildouble: 2
+ldouble: 2
+Test "Real part of: ctanh_upward (0x1p+0 + 0x8p+1020 i)":
 double: 1
 idouble: 1
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (-0x1p-105 - 0x0.ffffffffffffffffffffffffffcp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (-0x1p-105 - 0x0.ffffffffffffffffffffffffffcp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x1p-112 + 0.5 i)":
+Test "Imaginary part of: ctanh_upward (0x1p+0 + 0x8p+1020 i)":
+double: 2
+idouble: 2
+ildouble: 5
+ldouble: 5
+Test "Real part of: ctanh_upward (0x1p+0 + 0x8p+124 i)":
 double: 1
 idouble: 1
+Test "Imaginary part of: ctanh_upward (0x1p+0 + 0x8p+124 i)":
+double: 2
+idouble: 2
+ildouble: 3
+ldouble: 3
+Test "Imaginary part of: ctanh_upward (0x1p+0 + 0x8p+16380 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casinh (-0x1p-112 + 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (-0x1p-112 + 0x0.ffffffffffffffffffffffffffff8p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x1p-112 - 0.5 i)":
+Test "Imaginary part of: ctanh_upward (0x1p+0 + 0xf.ffffffffffff8p+1020 i)":
 double: 1
 idouble: 1
+ildouble: 3
+ldouble: 3
+Test "Imaginary part of: ctanh_upward (0x1p+0 + 0xf.ffffffffffffbffffffffffffcp+1020 i)":
+ildouble: 2
+ldouble: 2
+Test "Imaginary part of: ctanh_upward (0x1p+0 + 0xf.fffffp+124 i)":
+double: 2
+float: 3
+idouble: 2
+ifloat: 3
+ildouble: 2
+ldouble: 2
+Test "Real part of: ctanh_upward (0x2.dp+4 + 0x1p+0 i)":
+double: 2
+float: 1
+idouble: 2
+ifloat: 1
+ildouble: 2
+ldouble: 2
+Test "Imaginary part of: ctanh_upward (0x2.dp+4 + 0x1p+0 i)":
+float: 1
+ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casinh (-0x1p-112 - 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (-0x1p-112 - 0x0.ffffffffffffffffffffffffffff8p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x1p-113 + 0x1.0000000000000000000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x1p-113 - 0x1.0000000000000000000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x1p-23 + 0.5 i)":
+Test "Real part of: ctanh_upward (0x2.fp+4 + 0x1p+0 i)":
+double: 2
+float: 1
+idouble: 2
+ifloat: 1
+ildouble: 2
+ldouble: 2
+Test "Imaginary part of: ctanh_upward (0x2.fp+4 + 0x1p+0 i)":
 double: 1
 idouble: 1
+Test "Real part of: ctanh_upward (0x4p-1076 + 0x1.921fb4p+0 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casinh (-0x1p-23 + 0.5 i)":
+Test "Imaginary part of: ctanh_upward (0x4p-1076 + 0x1.921fb54442d1846ap+0 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (-0x1p-23 + 0x0.ffffffp0 i)":
-float: 2
-ifloat: 2
-Test "Imaginary part of: casinh (-0x1p-23 + 0x0.ffffffp0 i)":
+Test "Real part of: ctanh_upward (0x4p-1076 + 0x1.921fb54442d18p+0 i)":
+double: 1
+idouble: 1
+ildouble: 2
+ldouble: 2
+Test "Imaginary part of: ctanh_upward (0x4p-1076 + 0x1.921fb54442d18p+0 i)":
+double: 1
+idouble: 1
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (-0x1p-23 + 0x1.000002p0 i)":
-float: 1
-ifloat: 1
+Test "Real part of: ctanh_upward (0x4p-1076 + 0x1.921fb54442d19p+0 i)":
+double: 2
+idouble: 2
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (-0x1p-23 - 0.5 i)":
+Test "Imaginary part of: ctanh_upward (0x4p-1076 + 0x1.921fb54442d19p+0 i)":
 double: 1
 idouble: 1
+ildouble: 2
+ldouble: 2
+Test "Real part of: ctanh_upward (0x4p-1076 + 0x1.921fb6p+0 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casinh (-0x1p-23 - 0.5 i)":
+Test "Imaginary part of: ctanh_upward (0x4p-1076 + 0x1.921fb6p+0 i)":
+double: 2
+idouble: 2
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (-0x1p-23 - 0x0.ffffffp0 i)":
-float: 2
-ifloat: 2
-Test "Imaginary part of: casinh (-0x1p-23 - 0x0.ffffffp0 i)":
+Test "Real part of: ctanh_upward (0x8p-152 + 0x1.921fb4p+0 i)":
+double: 2
+float: 1
+idouble: 2
+ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (-0x1p-23 - 0x1.000002p0 i)":
+Test "Imaginary part of: ctanh_upward (0x8p-152 + 0x1.921fb4p+0 i)":
 float: 1
 ifloat: 1
+Test "Imaginary part of: ctanh_upward (0x8p-152 + 0x1.921fb54442d1846ap+0 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (-0x1p-52 + 0x0.fffffffffffff8p0 i)":
-double: 1
-idouble: 1
-Test "Real part of: casinh (-0x1p-52 - 0x0.fffffffffffff8p0 i)":
+Test "Real part of: ctanh_upward (0x8p-152 + 0x1.921fb54442d18p+0 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: ctanh_upward (0x8p-152 + 0x1.921fb54442d18p+0 i)":
 double: 1
 idouble: 1
-Test "Real part of: casinh (-0x1p-63 + 0.5 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (-0x1p-63 + 0x0.ffffffffffffffffp0 i)":
+Test "Real part of: ctanh_upward (0x8p-152 + 0x1.921fb54442d19p+0 i)":
+ildouble: 3
+ldouble: 3
+Test "Imaginary part of: ctanh_upward (0x8p-152 + 0x1.921fb54442d19p+0 i)":
+double: 1
+idouble: 1
+ildouble: 4
+ldouble: 4
+Test "Real part of: ctanh_upward (0x8p-152 + 0x1.921fb6p+0 i)":
+double: 1
+float: 3
+idouble: 1
+ifloat: 3
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (-0x1p-63 - 0.5 i)":
+Test "Imaginary part of: ctanh_upward (0x8p-152 + 0x1.921fb6p+0 i)":
+double: 2
+float: 1
+idouble: 2
+ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (-0x1p-63 - 0x0.ffffffffffffffffp0 i)":
+Test "Real part of: ctanh_upward (0x8p-16448 + 0x1.921fb54442d1846ap+0 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (-0x1p500 + 1.0 i)":
+Test "Imaginary part of: ctanh_upward (0x8p-16448 + 0x1.921fb54442d1846ap+0 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (-0x1p500 - 1.0 i)":
+Test "Real part of: ctanh_upward (0x8p-16448 + 0x1.921fb54442d18p+0 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (-0x1p5000 + 1.0 i)":
+Test "Imaginary part of: ctanh_upward (0x8p-16448 + 0x1.921fb54442d18p+0 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (-0x1p5000 - 1.0 i)":
+Test "Real part of: ctanh_upward (0x8p-16448 + 0x1.921fb54442d19p+0 i)":
+ildouble: 3
+ldouble: 3
+Test "Imaginary part of: ctanh_upward (0x8p-16448 + 0x1.921fb54442d19p+0 i)":
+ildouble: 2
+ldouble: 2
+Test "Imaginary part of: ctanh_upward (0x8p-16448 + 0x1.921fb6p+0 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (-1.0 + +0 i)":
+Test "Real part of: ctanh_upward (0xc.35p+12 + 0xc.35p+12 i)":
 double: 1
 float: 1
 idouble: 1
 ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (-1.0 + 0.25 i)":
+Test "Real part of: ctanh_upward (0xc.35p+12 - 0xc.35p+12 i)":
+double: 1
 float: 1
+idouble: 1
 ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (-1.0 + 0.5 i)":
-double: 1
-idouble: 1
+Test "Imaginary part of: ctanh_upward (0xcp-4 + 0x1.4p+0 i)":
+float: 2
+ifloat: 2
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casinh (-1.0 + 0.5 i)":
+
+# erf
+Test "erf (-0x7.ffffffffffffcp-4)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (-1.0 + 0x1.fp-10 i)":
+Test "erf (0x1.4p+0)":
 double: 1
 idouble: 1
-Test "Imaginary part of: casinh (-1.0 + 0x1.fp-10 i)":
+
+# erfc
+Test "erfc (-0x8p-4)":
 float: 1
 ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (-1.0 + 0x1.fp-100 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
+Test "erfc (0x1.ap+4)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (-1.0 + 0x1.fp-1000 i)":
-double: 1
-idouble: 1
+Test "erfc (0x1.bp+4)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (-1.0 + 0x1.fp-10000 i)":
+Test "erfc (0x1.cp+4)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (-1.0 + 0x1.fp-1025 i)":
+Test "erfc (0x2p+0)":
 double: 1
 idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-1.0 + 0x1.fp-129 i)":
+Test "erfc (0x3.ee6078p+0)":
 double: 1
-float: 1
 idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-1.0 + 0x1.fp-16385 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-1.0 + 0x1.fp-30 i)":
+Test "erfc (0x4.2p+0)":
 double: 1
-float: 1
 idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (-1.0 + 0x1.fp-30 i)":
+Test "erfc (0x6.4p+4)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (-1.0 + 0x1p500 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-1.0 + 0x1p5000 i)":
+Test "erfc (0x6.a8p+4)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (-1.0 - 0 i)":
-double: 1
+Test "erfc (0x7.fe8008p+0)":
 float: 1
-idouble: 1
 ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (-1.0 - 0.25 i)":
+Test "erfc (0x7.fffd6p+0)":
 float: 1
 ifloat: 1
+Test "erfc (0x7.ffff2p+0)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (-1.0 - 0.5 i)":
+
+# exp10
+Test "exp10 (-0x1.31p+8)":
 double: 1
 idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (-1.0 - 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-1.0 - 0x1.fp-10 i)":
+Test "exp10 (-0x1p+0)":
 double: 1
 idouble: 1
-Test "Imaginary part of: casinh (-1.0 - 0x1.fp-10 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-1.0 - 0x1.fp-100 i)":
+Test "exp10 (-0x2.4p+4)":
 double: 1
-float: 1
 idouble: 1
-ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (-1.0 - 0x1.fp-1000 i)":
-double: 1
-idouble: 1
+Test "exp10 (0x1.344p+12)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (-1.0 - 0x1.fp-10000 i)":
+Test "exp10 (0x1.348e45573a1dd72cp+8)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (-1.0 - 0x1.fp-1025 i)":
-double: 1
-idouble: 1
+Test "exp10 (0x1.348e46p+8)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (-1.0 - 0x1.fp-129 i)":
+Test "exp10 (0x2.4p+4)":
 double: 1
-float: 1
 idouble: 1
-ifloat: 1
+Test "exp10 (0x3p+0)":
+double: 1
+idouble: 1
+
+# exp10_downward
+Test "exp10_downward (-0x1.31p+8)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (-1.0 - 0x1.fp-16385 i)":
+Test "exp10_downward (-0x1.344p+12)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (-1.0 - 0x1.fp-30 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
+Test "exp10_downward (-0x1p+0)":
+ildouble: 2
+ldouble: 2
+Test "exp10_downward (-0x2.4p+4)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casinh (-1.0 - 0x1.fp-30 i)":
+Test "exp10_downward (0x1.31p+8)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (-1.0 - 0x1p500 i)":
+Test "exp10_downward (0x1.344p+12)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (-1.0 - 0x1p5000 i)":
+Test "exp10_downward (0x1.348e44p+8)":
+ildouble: 2
+ldouble: 2
+Test "exp10_downward (0x1.348e45573a1dd72cp+8)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (-1.5 + +0 i)":
-double: 1
-idouble: 1
+Test "exp10_downward (0x1.348e45573a1ddp+8)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (-1.5 + 0x1.fp-1025 i)":
-double: 1
-idouble: 1
+Test "exp10_downward (0x1.348e45573a1dep+8)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (-1.5 + 0x1.fp-129 i)":
+Test "exp10_downward (0x2.4p+4)":
 double: 1
 idouble: 1
+ildouble: 2
+ldouble: 2
+Test "exp10_downward (0x3p+0)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (-1.5 + 0x1.fp-16385 i)":
+Test "exp10_downward (0xcp-4)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (-1.5 - 0 i)":
+
+# exp10_tonearest
+Test "exp10_tonearest (-0x1.31p+8)":
 double: 1
 idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-1.5 - 0x1.fp-1025 i)":
+Test "exp10_tonearest (-0x1p+0)":
 double: 1
 idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-1.5 - 0x1.fp-129 i)":
+Test "exp10_tonearest (-0x2.4p+4)":
 double: 1
 idouble: 1
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (-1.5 - 0x1.fp-16385 i)":
+Test "exp10_tonearest (0x1.344p+12)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casinh (0.0 + 0x0.fffffffffffff8p0 i)":
+Test "exp10_tonearest (0x1.348e45573a1dd72cp+8)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casinh (0.0 + 0x0.ffffffffffffffffp0 i)":
+Test "exp10_tonearest (0x1.348e46p+8)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (0.0 + 0x1.0000000000000000000000000001p0 i)":
+Test "exp10_tonearest (0x2.4p+4)":
+double: 1
+idouble: 1
+Test "exp10_tonearest (0x3p+0)":
+double: 1
+idouble: 1
+
+# exp10_towardzero
+Test "exp10_towardzero (-0x1.31p+8)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casinh (0.0 - 0x0.fffffffffffff8p0 i)":
+Test "exp10_towardzero (-0x1.344p+12)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casinh (0.0 - 0x0.ffffffffffffffffp0 i)":
+Test "exp10_towardzero (-0x1p+0)":
+ildouble: 2
+ldouble: 2
+Test "exp10_towardzero (-0x2.4p+4)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (0.0 - 0x1.0000000000000000000000000001p0 i)":
+Test "exp10_towardzero (0x1.31p+8)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casinh (0.25 + 1.0 i)":
-double: 1
-idouble: 1
+Test "exp10_towardzero (0x1.344p+12)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casinh (0.25 - 1.0 i)":
-double: 1
-idouble: 1
+Test "exp10_towardzero (0x1.348e44p+8)":
+ildouble: 2
+ldouble: 2
+Test "exp10_towardzero (0x1.348e45573a1dd72cp+8)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (0.5 + +0 i)":
-float: 1
-ifloat: 1
+Test "exp10_towardzero (0x1.348e45573a1ddp+8)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (0.5 + 0x1.fp-1025 i)":
+Test "exp10_towardzero (0x1.348e45573a1dep+8)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (0.5 + 0x1.fp-129 i)":
-float: 1
-ifloat: 1
+Test "exp10_towardzero (0x2.4p+4)":
+double: 1
+idouble: 1
+ildouble: 2
+ldouble: 2
+Test "exp10_towardzero (0x3p+0)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (0.5 + 0x1.fp-16385 i)":
+Test "exp10_towardzero (0xcp-4)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (0.5 + 0x1p-105 i)":
+
+# exp10_upward
+Test "exp10_upward (-0x1.31p+8)":
+ildouble: 1
+ldouble: 1
+Test "exp10_upward (-0x1.344p+12)":
 float: 1
 ifloat: 1
-Test "Real part of: casinh (0.5 + 0x1p-112 i)":
+Test "exp10_upward (-0x1.86ap+16)":
 float: 1
 ifloat: 1
-Test "Real part of: casinh (0.5 + 0x1p-23 i)":
+Test "exp10_upward (-0x2.4p+4)":
+ildouble: 1
+ldouble: 1
+Test "exp10_upward (-0xf.424p+16)":
 float: 1
 ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: casinh (0.5 + 0x1p-23 i)":
-double: 1
+Test "exp10_upward (-0xf.fffffp+124)":
 float: 1
-idouble: 1
 ifloat: 1
+Test "exp10_upward (0x1.31p+8)":
+ildouble: 1
+ldouble: 1
+Test "exp10_upward (0x1.344p+12)":
 ildouble: 2
 ldouble: 2
-Test "Real part of: casinh (0.5 + 0x1p-52 i)":
-float: 1
-ifloat: 1
+Test "exp10_upward (0x1.348e44p+8)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casinh (0.5 + 0x1p-52 i)":
+Test "exp10_upward (0x1.348e45573a1dd72cp+8)":
+ildouble: 2
+ldouble: 2
+Test "exp10_upward (0x1.348e45573a1ddp+8)":
+ildouble: 2
+ldouble: 2
+Test "exp10_upward (0x1.348e45573a1dep+8)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (0.5 + 0x1p-63 i)":
-float: 1
-ifloat: 1
-Test "Real part of: casinh (0.5 + 1.0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: casinh (0.5 + 1.0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: casinh (0.5 - 0 i)":
+Test "exp10_upward (0x1.348e46p+8)":
+ildouble: 2
+ldouble: 2
+Test "exp10_upward (0x2.4p+4)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "exp10_upward (0x3p+0)":
+double: 1
 float: 1
+idouble: 1
 ifloat: 1
+ildouble: 2
+ldouble: 2
+Test "exp10_upward (0xcp-4)":
+ildouble: 2
+ldouble: 2
+
+# exp2
+Test "exp2 (0x6.48p+4)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (0.5 - 0x1.fp-1025 i)":
+
+# exp_downward
+Test "exp_downward (0x2p+0)":
+double: 1
+idouble: 1
+Test "exp_downward (0x3p+0)":
+double: 1
+idouble: 1
+Test "exp_downward (0x5.8b9028p+4)":
+double: 1
+idouble: 1
+Test "exp_downward (0xcp-4)":
+double: 1
+idouble: 1
+
+# exp_towardzero
+Test "exp_towardzero (0x2p+0)":
+double: 1
+idouble: 1
+Test "exp_towardzero (0x3p+0)":
+double: 1
+idouble: 1
+Test "exp_towardzero (0x5.8b9028p+4)":
+double: 1
+idouble: 1
+Test "exp_towardzero (0xcp-4)":
+double: 1
+idouble: 1
+
+# exp_upward
+Test "exp_upward (-0x2.e870a4p+8)":
+double: 1
+idouble: 1
+Test "exp_upward (-0x2.e870a7e5e88c2p+8)":
+double: 1
+idouble: 1
+Test "exp_upward (-0x2.e870a7e5e88cp+8)":
+double: 1
+idouble: 1
+Test "exp_upward (-0x2.e870a8p+8)":
+double: 1
+idouble: 1
+Test "exp_upward (-0x2.ebe224p+8)":
+double: 1
+idouble: 1
+Test "exp_upward (-0x2.ebe227861639p+8)":
+double: 1
+idouble: 1
+Test "exp_upward (-0x2.ebe228p+8)":
+double: 1
+idouble: 1
+Test "exp_upward (-0x4.d2p+8)":
+double: 1
+idouble: 1
+Test "exp_upward (-0xf.ffffffffffff8p+1020)":
+double: 1
+idouble: 1
+Test "exp_upward (-0xf.fffffp+124)":
+double: 1
+idouble: 1
+Test "exp_upward (0x1p+0)":
+double: 1
+idouble: 1
+Test "exp_upward (0x2.c5cp+8)":
+double: 1
+idouble: 1
+Test "exp_upward (0x3.2p+4)":
+double: 1
+idouble: 1
+
+# expm1
+Test "expm1 (-0x1p+4)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (0.5 - 0x1.fp-129 i)":
-float: 1
-ifloat: 1
+Test "expm1 (-0x2.6p+4)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (0.5 - 0x1.fp-16385 i)":
+Test "expm1 (-0x2.cp+4)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (0.5 - 0x1p-105 i)":
-float: 1
-ifloat: 1
-Test "Real part of: casinh (0.5 - 0x1p-112 i)":
-float: 1
-ifloat: 1
-Test "Real part of: casinh (0.5 - 0x1p-23 i)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: casinh (0.5 - 0x1p-23 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Real part of: casinh (0.5 - 0x1p-52 i)":
-float: 1
-ifloat: 1
+Test "expm1 (-0x4.ep+4)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casinh (0.5 - 0x1p-52 i)":
+Test "expm1 (-0x4.fp+4)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (0.5 - 0x1p-63 i)":
-float: 1
-ifloat: 1
-Test "Real part of: casinh (0.5 - 1.0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: casinh (0.5 - 1.0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: casinh (0.75 + 1.25 i)":
-float: 1
-ifloat: 1
+Test "expm1 (-0x8p-32)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casinh (0.75 + 1.25 i)":
+Test "expm1 (0x1.f4p+8)":
+double: 1
+idouble: 1
+Test "expm1 (0x1p+0)":
 double: 1
 float: 1
 idouble: 1
 ifloat: 1
+Test "expm1 (0xcp-4)":
+double: 1
+idouble: 1
+
+# expm1_downward
+Test "expm1_downward (-0x1.1p+4)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casinh (0x0.fffffffffffff8p0 + 0x1.fp-1025 i)":
+Test "expm1_downward (-0x1p-100)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casinh (0x0.fffffffffffff8p0 - 0x1.fp-1025 i)":
+Test "expm1_downward (-0x1p-32)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (0x0.ffffffffffffffffffffffffffcp0 + 0.0 i)":
+Test "expm1_downward (-0x1p-64)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (0x0.ffffffffffffffffffffffffffcp0 + 0x1.fp-1025 i)":
+Test "expm1_downward (-0x2.4p+4)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (0x0.ffffffffffffffffffffffffffcp0 + 0x1p-105 i)":
+Test "expm1_downward (-0x2.dp+4)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (0x0.ffffffffffffffffffffffffffcp0 - 0.0 i)":
+Test "expm1_downward (-0x2.ep+4)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (0x0.ffffffffffffffffffffffffffcp0 - 0x1.fp-1025 i)":
+Test "expm1_downward (-0x4.bp+4)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (0x0.ffffffffffffffffffffffffffcp0 - 0x1p-105 i)":
+Test "expm1_downward (-0x4p-12)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (0x0.ffffffffffffffffp0 + 0.0 i)":
+Test "expm1_downward (0x1.f4p+8)":
+double: 1
+idouble: 1
+Test "expm1_downward (0x3.2p+4)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+Test "expm1_downward (0x7.fp+4)":
+double: 1
+idouble: 1
+
+# expm1_tonearest
+Test "expm1_tonearest (-0x1p+4)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (0x0.ffffffffffffffffp0 + 0x1.fp-16385 i)":
+Test "expm1_tonearest (-0x2.6p+4)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (0x0.ffffffffffffffffp0 + 0x1p-63 i)":
+Test "expm1_tonearest (-0x2.cp+4)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (0x0.ffffffffffffffffp0 - 0.0 i)":
+Test "expm1_tonearest (-0x4.ep+4)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (0x0.ffffffffffffffffp0 - 0x1.fp-16385 i)":
+Test "expm1_tonearest (-0x4.fp+4)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (0x0.ffffffffffffffffp0 - 0x1p-63 i)":
+Test "expm1_tonearest (-0x8p-32)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (0x0.ffffffp0 + 0x1p-23 i)":
+Test "expm1_tonearest (0x1.f4p+8)":
 double: 1
 idouble: 1
-Test "Real part of: casinh (0x0.ffffffp0 - 0x1p-23 i)":
+Test "expm1_tonearest (0x1p+0)":
 double: 1
+float: 1
 idouble: 1
-Test "Real part of: casinh (0x1.0000000000000000000000000001p0 + 0.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x1.0000000000000000000000000001p0 + 0x1.fp-16385 i)":
+ifloat: 1
+Test "expm1_tonearest (0xcp-4)":
+double: 1
+idouble: 1
+
+# expm1_towardzero
+Test "expm1_towardzero (-0x1.1p+4)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (0x1.0000000000000000000000000001p0 + 0x1p-113 i)":
+Test "expm1_towardzero (-0x1p-100)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casinh (0x1.0000000000000000000000000001p0 + 0x1p-113 i)":
+Test "expm1_towardzero (-0x1p-32)":
+float: 1
+ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (0x1.0000000000000000000000000001p0 - 0.0 i)":
+Test "expm1_towardzero (-0x1p-64)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (0x1.0000000000000000000000000001p0 - 0x1.fp-16385 i)":
+Test "expm1_towardzero (-0x2.4p+4)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (0x1.0000000000000000000000000001p0 - 0x1p-113 i)":
+Test "expm1_towardzero (-0x2.dp+4)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casinh (0x1.0000000000000000000000000001p0 - 0x1p-113 i)":
+Test "expm1_towardzero (-0x2.ep+4)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (0x1.0000000000000002p0 + 0.0 i)":
+Test "expm1_towardzero (-0x4.bp+4)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (0x1.0000000000000002p0 + 0x1.fp-16385 i)":
+Test "expm1_towardzero (-0x4.fp+4)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (0x1.0000000000000002p0 + 0x1p-63 i)":
+Test "expm1_towardzero (-0x4p-12)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casinh (0x1.0000000000000002p0 + 0x1p-63 i)":
+Test "expm1_towardzero (-0x4p-52)":
+float: 1
+ifloat: 1
+Test "expm1_towardzero (-0x8p-32)":
+float: 1
+ifloat: 1
+Test "expm1_towardzero (0x1.f4p+8)":
+double: 1
+idouble: 1
+Test "expm1_towardzero (0x3.2p+4)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+Test "expm1_towardzero (0x7.fp+4)":
+double: 1
+idouble: 1
+
+# expm1_upward
+Test "expm1_upward (-0x1.1p+4)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (0x1.0000000000000002p0 - 0.0 i)":
+Test "expm1_upward (-0x1p-100)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (0x1.0000000000000002p0 - 0x1.fp-16385 i)":
+Test "expm1_upward (-0x1p-32)":
+float: 1
+ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (0x1.0000000000000002p0 - 0x1p-63 i)":
+Test "expm1_upward (-0x1p-64)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casinh (0x1.0000000000000002p0 - 0x1p-63 i)":
+Test "expm1_upward (-0x2.4p+4)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (0x1.0000000000001p0 + 0.0 i)":
+Test "expm1_upward (-0x2.dp+4)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (0x1.0000000000001p0 + 0x1.fp-1025 i)":
+Test "expm1_upward (-0x2.ep+4)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casinh (0x1.0000000000001p0 + 0x1p-52 i)":
+Test "expm1_upward (-0x4.bp+4)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (0x1.0000000000001p0 - 0.0 i)":
+Test "expm1_upward (-0x4.fp+4)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (0x1.0000000000001p0 - 0x1.fp-1025 i)":
+Test "expm1_upward (-0x4p-12)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casinh (0x1.0000000000001p0 - 0x1p-52 i)":
+Test "expm1_upward (-0x4p-52)":
+float: 1
+ifloat: 1
+Test "expm1_upward (-0x8p-32)":
+float: 1
+ifloat: 1
+Test "expm1_upward (0x1p+0)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casinh (0x1.000002p0 + 0x1p-23 i)":
+Test "expm1_upward (0x1p-100)":
 double: 1
 float: 1
 idouble: 1
 ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (0x1.000002p0 - 0x1p-23 i)":
+Test "expm1_upward (0x1p-32)":
+float: 1
+ifloat: 1
+Test "expm1_upward (0x1p-64)":
 double: 1
 float: 1
 idouble: 1
 ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x1.fp-10 + 1.0 i)":
+Test "expm1_upward (0x4p-52)":
 float: 1
 ifloat: 1
+Test "expm1_upward (0x7.fp+4)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (0x1.fp-10 - 1.0 i)":
+Test "expm1_upward (0x8p-32)":
 float: 1
 ifloat: 1
+
+# gamma
+Test "gamma (-0x1p-20)":
+double: 1
+idouble: 1
+Test "gamma (-0x1p-40)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casinh (0x1.fp-1025 + 0x0.fffffffffffff8p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (0x1.fp-1025 - 0x0.fffffffffffff8p0 i)":
+Test "gamma (-0x1p-64)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (0x1.fp-129 + 0.5 i)":
+Test "gamma (-0x2p-16)":
 double: 1
+float: 1
 idouble: 1
-Test "Imaginary part of: casinh (0x1.fp-129 + 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x1.fp-129 - 0.5 i)":
+ifloat: 1
+Test "gamma (-0x4p-12)":
 double: 1
 idouble: 1
-Test "Imaginary part of: casinh (0x1.fp-129 - 1.0 i)":
+Test "gamma (-0x4p-32)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casinh (0x1.fp-16385 + 0x0.ffffffffffffffffp0 i)":
+Test "gamma (-0x8p-28)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (0x1.fp-16385 + 0x1.0000000000000000000000000001p0 i)":
+Test "gamma (-0x8p-4)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casinh (0x1.fp-16385 - 0x0.ffffffffffffffffp0 i)":
+Test "gamma (-0x8p-8)":
+double: 1
+idouble: 1
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (0x1.fp-16385 - 0x1.0000000000000000000000000001p0 i)":
+Test "gamma (0x1.3333333333333332p+0)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (0x1.fp-30 + 1.0 i)":
+Test "gamma (0x1.3333333333333333333333333333p+0)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (0x1.fp-30 - 1.0 i)":
+Test "gamma (0x1p-60)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (0x1.fp1023 + 0x1.fp1023 i)":
-double: 1
-idouble: 1
-Test "Real part of: casinh (0x1.fp127 + 0x1.fp127 i)":
-double: 1
-idouble: 1
-Test "Real part of: casinh (0x1.fp16383 + 0x1.fp16383 i)":
+Test "gamma (0x4p-12)":
+float: 1
+ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (0x1p-105 + 0.5 i)":
+Test "gamma (0x4p-32)":
 double: 1
 idouble: 1
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (0x1p-105 + 0x0.ffffffffffffffffffffffffffcp0 i)":
+Test "gamma (0x4p-72)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casinh (0x1p-105 + 0x0.ffffffffffffffffffffffffffcp0 i)":
+Test "gamma (0x8p-8)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (0x1p-105 - 0.5 i)":
-double: 1
-idouble: 1
+Test "gamma (0xb.3333333333333333333333333338p-4)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (0x1p-105 - 0x0.ffffffffffffffffffffffffffcp0 i)":
+Test "gamma (0xb.333333333333333p-4)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casinh (0x1p-105 - 0x0.ffffffffffffffffffffffffffcp0 i)":
+Test "gamma (0xb.3333333333338p-4)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (0x1p-112 + 0.5 i)":
+Test "gamma (0xb.333333333333p-4)":
 double: 1
 idouble: 1
+Test "gamma (0xb.33333p-4)":
+double: 1
+idouble: 1
+
+# hypot
+Test "hypot (-0xb.3333333333333333333333333338p-4, -0xc.66667p+0)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casinh (0x1p-112 + 0.5 i)":
+Test "hypot (-0xb.3333333333333333333333333338p-4, 0xc.66667p+0)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casinh (0x1p-112 + 0x0.ffffffffffffffffffffffffffff8p0 i)":
+Test "hypot (-0xb.333333333333333333333333333p-4, -0xc.66667p+0)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (0x1p-112 - 0.5 i)":
-double: 1
-idouble: 1
+Test "hypot (-0xb.333333333333333333333333333p-4, 0xc.66667p+0)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casinh (0x1p-112 - 0.5 i)":
+Test "hypot (-0xb.33333333333333333333333334p-4, -0xc.66667p+0)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casinh (0x1p-112 - 0x0.ffffffffffffffffffffffffffff8p0 i)":
+Test "hypot (-0xb.33333333333333333333333334p-4, 0xc.66667p+0)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (0x1p-113 + 0x1.0000000000000000000000000001p0 i)":
+Test "hypot (-0xb.3333333333333333333333333p-4, -0xc.66666666666666666666666664p+0)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (0x1p-113 - 0x1.0000000000000000000000000001p0 i)":
+Test "hypot (-0xb.3333333333333333333333333p-4, -0xc.666666666666666666666666666p+0)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (0x1p-23 + 0.5 i)":
-double: 1
-idouble: 1
+Test "hypot (-0xb.3333333333333333333333333p-4, 0xc.66666666666666666666666664p+0)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casinh (0x1p-23 + 0.5 i)":
+Test "hypot (-0xb.3333333333333333333333333p-4, 0xc.666666666666666666666666666p+0)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (0x1p-23 + 0x0.ffffffp0 i)":
-float: 2
-ifloat: 2
-Test "Imaginary part of: casinh (0x1p-23 + 0x0.ffffffp0 i)":
+Test "hypot (-0xb.333333333333333p-4, -0xc.66666666666666666666666664p+0)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (0x1p-23 + 0x1.000002p0 i)":
-float: 1
-ifloat: 1
+Test "hypot (-0xb.333333333333333p-4, -0xc.666666666666666666666666666p+0)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (0x1p-23 - 0.5 i)":
-double: 1
-idouble: 1
+Test "hypot (-0xb.333333333333333p-4, -0xc.66666666666666666666666668p+0)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casinh (0x1p-23 - 0.5 i)":
+Test "hypot (-0xb.333333333333333p-4, 0xc.66666666666666666666666664p+0)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (0x1p-23 - 0x0.ffffffp0 i)":
-float: 2
-ifloat: 2
-Test "Imaginary part of: casinh (0x1p-23 - 0x0.ffffffp0 i)":
+Test "hypot (-0xb.333333333333333p-4, 0xc.666666666666666666666666666p+0)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (0x1p-23 - 0x1.000002p0 i)":
-float: 1
-ifloat: 1
+Test "hypot (-0xb.333333333333333p-4, 0xc.66666666666666666666666668p+0)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (0x1p-52 + 0x0.fffffffffffff8p0 i)":
-double: 1
-idouble: 1
-Test "Real part of: casinh (0x1p-52 - 0x0.fffffffffffff8p0 i)":
-double: 1
-idouble: 1
-Test "Real part of: casinh (0x1p-63 + 0.5 i)":
+Test "hypot (-0xb.333333333333334p-4, -0xc.666666666666666p+0)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (0x1p-63 + 0x0.ffffffffffffffffp0 i)":
+Test "hypot (-0xb.333333333333334p-4, 0xc.666666666666666p+0)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (0x1p-63 - 0.5 i)":
+Test "hypot (-0xb.3333333333338p-4, -0xc.66666666666666666666666664p+0)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (0x1p-63 - 0x0.ffffffffffffffffp0 i)":
+Test "hypot (-0xb.3333333333338p-4, -0xc.666666666666666666666666666p+0)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (0x1p500 + 1.0 i)":
+Test "hypot (-0xb.3333333333338p-4, 0xc.66666666666666666666666664p+0)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (0x1p500 - 1.0 i)":
+Test "hypot (-0xb.3333333333338p-4, 0xc.666666666666666666666666666p+0)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (0x1p5000 + 1.0 i)":
+Test "hypot (-0xb.33333p-4, -0xc.66666666666666666666666664p+0)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (0x1p5000 - 1.0 i)":
+Test "hypot (-0xb.33333p-4, -0xc.666666666666666666666666666p+0)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (1.0 + +0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
+Test "hypot (-0xb.33333p-4, -0xc.66666666666666666666666668p+0)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (1.0 + 0.25 i)":
-float: 1
-ifloat: 1
+Test "hypot (-0xb.33333p-4, -0xc.666666666666667p+0)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (1.0 + 0.5 i)":
-double: 1
-idouble: 1
+Test "hypot (-0xb.33333p-4, 0xc.66666666666666666666666664p+0)":
+ildouble: 1
+ldouble: 1
+Test "hypot (-0xb.33333p-4, 0xc.666666666666666666666666666p+0)":
+ildouble: 1
+ldouble: 1
+Test "hypot (-0xb.33333p-4, 0xc.66666666666666666666666668p+0)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casinh (1.0 + 0.5 i)":
+Test "hypot (-0xb.33333p-4, 0xc.666666666666667p+0)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (1.0 + 0x1.fp-10 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: casinh (1.0 + 0x1.fp-10 i)":
-float: 1
-ifloat: 1
+Test "hypot (-0xb.33334p-4, -0xc.6666666666666666666666666668p+0)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (1.0 + 0x1.fp-100 i)":
+Test "hypot (-0xb.33334p-4, -0xc.6666666666668p+0)":
 double: 1
-float: 1
 idouble: 1
-ifloat: 1
+Test "hypot (-0xb.33334p-4, 0xc.6666666666666666666666666668p+0)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (1.0 + 0x1.fp-1000 i)":
+Test "hypot (-0xb.33334p-4, 0xc.6666666666668p+0)":
 double: 1
 idouble: 1
+Test "hypot (-0xc.66666666666666666666666664p+0, -0xb.3333333333333333333333333p-4)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (1.0 + 0x1.fp-10000 i)":
+Test "hypot (-0xc.66666666666666666666666664p+0, -0xb.333333333333333p-4)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (1.0 + 0x1.fp-1025 i)":
-double: 1
-idouble: 1
+Test "hypot (-0xc.66666666666666666666666664p+0, -0xb.3333333333338p-4)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (1.0 + 0x1.fp-129 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
+Test "hypot (-0xc.66666666666666666666666664p+0, -0xb.33333p-4)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (1.0 + 0x1.fp-16385 i)":
+Test "hypot (-0xc.66666666666666666666666664p+0, 0xb.3333333333333333333333333p-4)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (1.0 + 0x1.fp-30 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
+Test "hypot (-0xc.66666666666666666666666664p+0, 0xb.333333333333333p-4)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casinh (1.0 + 0x1.fp-30 i)":
+Test "hypot (-0xc.66666666666666666666666664p+0, 0xb.3333333333338p-4)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (1.0 + 0x1p500 i)":
+Test "hypot (-0xc.66666666666666666666666664p+0, 0xb.33333p-4)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (1.0 + 0x1p5000 i)":
+Test "hypot (-0xc.6666666666666666666666666668p+0, -0xb.33334p-4)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (1.0 - 0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
+Test "hypot (-0xc.6666666666666666666666666668p+0, 0xb.33334p-4)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (1.0 - 0.25 i)":
-float: 1
-ifloat: 1
+Test "hypot (-0xc.666666666666666666666666666p+0, -0xb.3333333333333333333333333p-4)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (1.0 - 0.5 i)":
-double: 1
-idouble: 1
+Test "hypot (-0xc.666666666666666666666666666p+0, -0xb.333333333333333p-4)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casinh (1.0 - 0.5 i)":
+Test "hypot (-0xc.666666666666666666666666666p+0, -0xb.3333333333338p-4)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (1.0 - 0x1.fp-10 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: casinh (1.0 - 0x1.fp-10 i)":
-float: 1
-ifloat: 1
+Test "hypot (-0xc.666666666666666666666666666p+0, -0xb.33333p-4)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (1.0 - 0x1.fp-100 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
+Test "hypot (-0xc.666666666666666666666666666p+0, 0xb.3333333333333333333333333p-4)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (1.0 - 0x1.fp-1000 i)":
-double: 1
-idouble: 1
+Test "hypot (-0xc.666666666666666666666666666p+0, 0xb.333333333333333p-4)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (1.0 - 0x1.fp-10000 i)":
+Test "hypot (-0xc.666666666666666666666666666p+0, 0xb.3333333333338p-4)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (1.0 - 0x1.fp-1025 i)":
-double: 1
-idouble: 1
+Test "hypot (-0xc.666666666666666666666666666p+0, 0xb.33333p-4)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (1.0 - 0x1.fp-129 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
+Test "hypot (-0xc.66666666666666666666666668p+0, -0xb.333333333333333p-4)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (1.0 - 0x1.fp-16385 i)":
+Test "hypot (-0xc.66666666666666666666666668p+0, -0xb.33333p-4)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (1.0 - 0x1.fp-30 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
+Test "hypot (-0xc.66666666666666666666666668p+0, 0xb.333333333333333p-4)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: casinh (1.0 - 0x1.fp-30 i)":
+Test "hypot (-0xc.66666666666666666666666668p+0, 0xb.33333p-4)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (1.0 - 0x1p500 i)":
+Test "hypot (-0xc.666666666666666p+0, -0xb.333333333333334p-4)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (1.0 - 0x1p5000 i)":
+Test "hypot (-0xc.666666666666666p+0, 0xb.333333333333334p-4)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (1.5 + +0 i)":
-double: 1
-idouble: 1
+Test "hypot (-0xc.666666666666667p+0, -0xb.33333p-4)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (1.5 + 0x1.fp-1025 i)":
-double: 1
-idouble: 1
+Test "hypot (-0xc.666666666666667p+0, 0xb.33333p-4)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (1.5 + 0x1.fp-129 i)":
+Test "hypot (-0xc.6666666666668p+0, -0xb.33334p-4)":
 double: 1
 idouble: 1
+Test "hypot (-0xc.6666666666668p+0, 0xb.33334p-4)":
+double: 1
+idouble: 1
+Test "hypot (-0xc.66667p+0, -0xb.3333333333333333333333333338p-4)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (1.5 + 0x1.fp-16385 i)":
+Test "hypot (-0xc.66667p+0, -0xb.333333333333333333333333333p-4)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (1.5 - 0 i)":
-double: 1
-idouble: 1
+Test "hypot (-0xc.66667p+0, -0xb.33333333333333333333333334p-4)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (1.5 - 0x1.fp-1025 i)":
-double: 1
-idouble: 1
+Test "hypot (-0xc.66667p+0, 0xb.3333333333333333333333333338p-4)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (1.5 - 0x1.fp-129 i)":
-double: 1
-idouble: 1
+Test "hypot (-0xc.66667p+0, 0xb.333333333333333333333333333p-4)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: casinh (1.5 - 0x1.fp-16385 i)":
+Test "hypot (-0xc.66667p+0, 0xb.33333333333333333333333334p-4)":
 ildouble: 1
 ldouble: 1
-
-# catan
-Test "Imaginary part of: catan (-0x0.fffffffffffff8p0 + 0x1p-27 i)":
-double: 1
-idouble: 1
-Test "Real part of: catan (-0x0.ffffffffffffffffffffffffffff8p0 + 0x1p-16382 i)":
+Test "hypot (0x1.23456789abcdef0123456789ab8p-500, 0x1.23456789abcdep-500)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: catan (-0x0.ffffffffffffffffffffffffffff8p0 + 0x1p-57 i)":
+Test "hypot (0x1.23456789abcdef02p-500, 0x1.23456789abcdfp-500)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: catan (-0x0.ffffffffffffffffffffffffffff8p0 - 0x1p-16382 i)":
+Test "hypot (0x1.23456789abcdefp-500, 0x1.23456789abcdfp-500)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: catan (-0x0.ffffffp0 + 0x1p-126 i)":
+Test "hypot (0x1.23456789abcdep-500, 0x1.23456789abcdef0123456789ab8p-500)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: catan (-0x0.ffffffp0 + 0x1p-13 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
+Test "hypot (0x1.23456789abcdfp-500, 0x1.23456789abcdef02p-500)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: catan (-0x0.ffffffp0 - 0x1p-126 i)":
+Test "hypot (0x1.23456789abcdfp-500, 0x1.23456789abcdefp-500)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: catan (-0x1.0000000000000000000000000001p0 + 0x1p-16382 i)":
+Test "hypot (0xb.3333333333333333333333333338p-4, -0xc.66667p+0)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: catan (-0x1.0000000000000000000000000001p0 - 0x1p-16382 i)":
+Test "hypot (0xb.3333333333333333333333333338p-4, 0xc.66667p+0)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: catan (-0x1.0000000000000000000000000001p0 - 0x1p-57 i)":
+Test "hypot (0xb.333333333333333333333333333p-4, -0xc.66667p+0)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: catan (-0x1.0000000000001p0 - 0x1p-27 i)":
-double: 1
-idouble: 1
-Test "Real part of: catan (-0x1.000002p0 + 0x1p-126 i)":
-float: 1
-ifloat: 1
+Test "hypot (0xb.333333333333333333333333333p-4, 0xc.66667p+0)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: catan (-0x1.000002p0 + 0x1p-13 i)":
-float: 1
-ifloat: 1
-Test "Real part of: catan (-0x1.000002p0 - 0x1p-126 i)":
-float: 1
-ifloat: 1
+Test "hypot (0xb.33333333333333333333333334p-4, -0xc.66667p+0)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: catan (-0x1.000002p0 - 0x1p-13 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: catan (-0x1.000002p0 - 0x1p-13 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: catan (-0x1.fp1023 + 0x1.fp1023 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: catan (-0x1.fp1023 - 0x1.fp1023 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: catan (-0x1.fp127 + 0x1.fp127 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: catan (-0x1.fp127 - 0x1.fp127 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: catan (-0x1.fp16383 + 0x1.fp16383 i)":
+Test "hypot (0xb.33333333333333333333333334p-4, 0xc.66667p+0)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: catan (-0x1.fp16383 - 0x1.fp16383 i)":
+Test "hypot (0xb.3333333333333333333333333p-4, -0xc.66666666666666666666666664p+0)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: catan (-0x1p-1020 + 1.0 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: catan (-0x1p-1020 - 1.0 i)":
-double: 1
-idouble: 1
-Test "Real part of: catan (-0x1p-13 + 0x1.000002p0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: catan (-0x1p-13 + 1.0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: catan (-0x1p-13 - 0x1.000002p0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: catan (-0x1p-13 - 0x1.000002p0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: catan (-0x1p-13 - 1.0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: catan (-0x1p-16380 + 1.0 i)":
+Test "hypot (0xb.3333333333333333333333333p-4, -0xc.666666666666666666666666666p+0)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: catan (-0x1p-16380 - 1.0 i)":
+Test "hypot (0xb.3333333333333333333333333p-4, 0xc.66666666666666666666666664p+0)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: catan (-0x1p-33 + 0x0.ffffffffffffffffp0 i)":
+Test "hypot (0xb.3333333333333333333333333p-4, 0xc.666666666666666666666666666p+0)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: catan (-0x1p-33 + 0x1.0000000000000002p0 i)":
+Test "hypot (0xb.333333333333333p-4, -0xc.66666666666666666666666664p+0)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: catan (-0x1p-33 - 0x0.ffffffffffffffffp0 i)":
+Test "hypot (0xb.333333333333333p-4, -0xc.666666666666666666666666666p+0)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: catan (-0x1p-33 - 0x1.0000000000000002p0 i)":
+Test "hypot (0xb.333333333333333p-4, -0xc.66666666666666666666666668p+0)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: catan (-0x1p-54 + 1.0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: catan (-0x1p-54 - 1.0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: catan (-0x1p-57 + 1.0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: catan (-0x1p-57 - 1.0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: catan (-1.0 + 0x1p-13 i)":
-float: 1
-ifloat: 1
+Test "hypot (0xb.333333333333333p-4, 0xc.66666666666666666666666664p+0)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: catan (-1.0 - 0x1p-13 i)":
-float: 1
-ifloat: 1
+Test "hypot (0xb.333333333333333p-4, 0xc.666666666666666666666666666p+0)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: catan (-2 - 3 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: catan (0.75 + 1.25 i)":
+Test "hypot (0xb.333333333333333p-4, 0xc.66666666666666666666666668p+0)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: catan (0x0.fffffffffffff8p0 + 0x1p-27 i)":
-double: 1
-idouble: 1
-Test "Real part of: catan (0x0.ffffffffffffffffffffffffffff8p0 + 0x1p-16382 i)":
+Test "hypot (0xb.333333333333334p-4, -0xc.666666666666666p+0)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: catan (0x0.ffffffffffffffffffffffffffff8p0 + 0x1p-57 i)":
+Test "hypot (0xb.333333333333334p-4, 0xc.666666666666666p+0)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: catan (0x0.ffffffffffffffffffffffffffff8p0 - 0x1p-16382 i)":
+Test "hypot (0xb.3333333333338p-4, -0xc.66666666666666666666666664p+0)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: catan (0x0.ffffffp0 + 0x1p-126 i)":
+Test "hypot (0xb.3333333333338p-4, -0xc.666666666666666666666666666p+0)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: catan (0x0.ffffffp0 + 0x1p-13 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
+Test "hypot (0xb.3333333333338p-4, 0xc.66666666666666666666666664p+0)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: catan (0x0.ffffffp0 - 0x1p-126 i)":
+Test "hypot (0xb.3333333333338p-4, 0xc.666666666666666666666666666p+0)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: catan (0x1.0000000000000000000000000001p0 + 0x1p-16382 i)":
+Test "hypot (0xb.33333p-4, -0xc.66666666666666666666666664p+0)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: catan (0x1.0000000000000000000000000001p0 - 0x1p-16382 i)":
+Test "hypot (0xb.33333p-4, -0xc.666666666666666666666666666p+0)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: catan (0x1.0000000000000000000000000001p0 - 0x1p-57 i)":
+Test "hypot (0xb.33333p-4, -0xc.66666666666666666666666668p+0)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: catan (0x1.0000000000001p0 - 0x1p-27 i)":
-double: 1
-idouble: 1
-Test "Real part of: catan (0x1.000002p0 + 0x1p-126 i)":
-float: 1
-ifloat: 1
+Test "hypot (0xb.33333p-4, -0xc.666666666666667p+0)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: catan (0x1.000002p0 + 0x1p-13 i)":
-float: 1
-ifloat: 1
-Test "Real part of: catan (0x1.000002p0 - 0x1p-126 i)":
-float: 1
-ifloat: 1
+Test "hypot (0xb.33333p-4, 0xc.66666666666666666666666664p+0)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: catan (0x1.000002p0 - 0x1p-13 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: catan (0x1.000002p0 - 0x1p-13 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: catan (0x1.fp1023 + 0x1.fp1023 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: catan (0x1.fp1023 - 0x1.fp1023 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: catan (0x1.fp127 + 0x1.fp127 i)":
+Test "hypot (0xb.33333p-4, 0xc.666666666666666666666666666p+0)":
+ildouble: 1
+ldouble: 1
+Test "hypot (0xb.33333p-4, 0xc.66666666666666666666666668p+0)":
+ildouble: 1
+ldouble: 1
+Test "hypot (0xb.33333p-4, 0xc.666666666666667p+0)":
+ildouble: 1
+ldouble: 1
+Test "hypot (0xb.33334p-4, -0xc.6666666666666666666666666668p+0)":
+ildouble: 1
+ldouble: 1
+Test "hypot (0xb.33334p-4, -0xc.6666666666668p+0)":
 double: 1
 idouble: 1
-Test "Imaginary part of: catan (0x1.fp127 - 0x1.fp127 i)":
+Test "hypot (0xb.33334p-4, 0xc.6666666666666666666666666668p+0)":
+ildouble: 1
+ldouble: 1
+Test "hypot (0xb.33334p-4, 0xc.6666666666668p+0)":
 double: 1
 idouble: 1
-Test "Imaginary part of: catan (0x1.fp16383 + 0x1.fp16383 i)":
+Test "hypot (0xc.66666666666666666666666664p+0, -0xb.3333333333333333333333333p-4)":
+ildouble: 1
+ldouble: 1
+Test "hypot (0xc.66666666666666666666666664p+0, -0xb.333333333333333p-4)":
+ildouble: 1
+ldouble: 1
+Test "hypot (0xc.66666666666666666666666664p+0, -0xb.3333333333338p-4)":
+ildouble: 1
+ldouble: 1
+Test "hypot (0xc.66666666666666666666666664p+0, -0xb.33333p-4)":
+ildouble: 1
+ldouble: 1
+Test "hypot (0xc.66666666666666666666666664p+0, 0xb.3333333333333333333333333p-4)":
+ildouble: 1
+ldouble: 1
+Test "hypot (0xc.66666666666666666666666664p+0, 0xb.333333333333333p-4)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: catan (0x1.fp16383 - 0x1.fp16383 i)":
+Test "hypot (0xc.66666666666666666666666664p+0, 0xb.3333333333338p-4)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: catan (0x1p-1020 + 1.0 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: catan (0x1p-1020 - 1.0 i)":
-double: 1
-idouble: 1
-Test "Real part of: catan (0x1p-13 + 0x1.000002p0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: catan (0x1p-13 + 1.0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: catan (0x1p-13 - 0x1.000002p0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: catan (0x1p-13 - 0x1.000002p0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: catan (0x1p-13 - 1.0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: catan (0x1p-16380 + 1.0 i)":
+Test "hypot (0xc.66666666666666666666666664p+0, 0xb.33333p-4)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: catan (0x1p-16380 - 1.0 i)":
+Test "hypot (0xc.6666666666666666666666666668p+0, -0xb.33334p-4)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: catan (0x1p-33 + 0x0.ffffffffffffffffp0 i)":
+Test "hypot (0xc.6666666666666666666666666668p+0, 0xb.33334p-4)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: catan (0x1p-33 + 0x1.0000000000000002p0 i)":
+Test "hypot (0xc.666666666666666666666666666p+0, -0xb.3333333333333333333333333p-4)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: catan (0x1p-33 - 0x0.ffffffffffffffffp0 i)":
+Test "hypot (0xc.666666666666666666666666666p+0, -0xb.333333333333333p-4)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: catan (0x1p-33 - 0x1.0000000000000002p0 i)":
+Test "hypot (0xc.666666666666666666666666666p+0, -0xb.3333333333338p-4)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: catan (0x1p-54 + 1.0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: catan (0x1p-54 - 1.0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: catan (0x1p-57 + 1.0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: catan (0x1p-57 - 1.0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: catan (1.0 + 0x1p-13 i)":
-float: 1
-ifloat: 1
+Test "hypot (0xc.666666666666666666666666666p+0, -0xb.33333p-4)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: catan (1.0 - 0x1p-13 i)":
-float: 1
-ifloat: 1
+Test "hypot (0xc.666666666666666666666666666p+0, 0xb.3333333333333333333333333p-4)":
 ildouble: 1
 ldouble: 1
-
-# catanh
-Test "Imaginary part of: catanh (-0x0.ffffffffffffffffp0 + 0x1p-33 i)":
+Test "hypot (0xc.666666666666666666666666666p+0, 0xb.333333333333333p-4)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: catanh (-0x0.ffffffffffffffffp0 - 0x1p-33 i)":
+Test "hypot (0xc.666666666666666666666666666p+0, 0xb.3333333333338p-4)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: catanh (-0x1.0000000000000002p0 + 0x1p-33 i)":
+Test "hypot (0xc.666666666666666666666666666p+0, 0xb.33333p-4)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: catanh (-0x1.0000000000000002p0 - 0x1p-33 i)":
+Test "hypot (0xc.66666666666666666666666668p+0, -0xb.333333333333333p-4)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: catanh (-0x1.000002p0 + 0x1p-13 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: catanh (-0x1.000002p0 + 0x1p-13 i)":
-float: 1
-ifloat: 1
-Test "Real part of: catanh (-0x1.000002p0 - 0x1p-13 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: catanh (-0x1.000002p0 - 0x1p-13 i)":
-float: 1
-ifloat: 1
-Test "Real part of: catanh (-0x1.fp1023 + 0x1.fp1023 i)":
-double: 1
-idouble: 1
-Test "Real part of: catanh (-0x1.fp1023 - 0x1.fp1023 i)":
-double: 1
-idouble: 1
-Test "Real part of: catanh (-0x1.fp127 + 0x1.fp127 i)":
+Test "hypot (0xc.66666666666666666666666668p+0, -0xb.33333p-4)":
+ildouble: 1
+ldouble: 1
+Test "hypot (0xc.66666666666666666666666668p+0, 0xb.333333333333333p-4)":
+ildouble: 1
+ldouble: 1
+Test "hypot (0xc.66666666666666666666666668p+0, 0xb.33333p-4)":
+ildouble: 1
+ldouble: 1
+Test "hypot (0xc.666666666666666p+0, -0xb.333333333333334p-4)":
+ildouble: 1
+ldouble: 1
+Test "hypot (0xc.666666666666666p+0, 0xb.333333333333334p-4)":
+ildouble: 1
+ldouble: 1
+Test "hypot (0xc.666666666666667p+0, -0xb.33333p-4)":
+ildouble: 1
+ldouble: 1
+Test "hypot (0xc.666666666666667p+0, 0xb.33333p-4)":
+ildouble: 1
+ldouble: 1
+Test "hypot (0xc.6666666666668p+0, -0xb.33334p-4)":
 double: 1
 idouble: 1
-Test "Real part of: catanh (-0x1.fp127 - 0x1.fp127 i)":
+Test "hypot (0xc.6666666666668p+0, 0xb.33334p-4)":
 double: 1
 idouble: 1
-Test "Real part of: catanh (-0x1.fp16383 + 0x1.fp16383 i)":
+Test "hypot (0xc.66667p+0, -0xb.3333333333333333333333333338p-4)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: catanh (-0x1.fp16383 - 0x1.fp16383 i)":
+Test "hypot (0xc.66667p+0, -0xb.333333333333333333333333333p-4)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: catanh (-0x1p-126 + 0x0.ffffffp0 i)":
+Test "hypot (0xc.66667p+0, -0xb.33333333333333333333333334p-4)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: catanh (-0x1p-126 + 0x1.000002p0 i)":
-float: 1
-ifloat: 1
+Test "hypot (0xc.66667p+0, 0xb.3333333333333333333333333338p-4)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: catanh (-0x1p-126 - 0x0.ffffffp0 i)":
+Test "hypot (0xc.66667p+0, 0xb.333333333333333333333333333p-4)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: catanh (-0x1p-126 - 0x1.000002p0 i)":
+Test "hypot (0xc.66667p+0, 0xb.33333333333333333333333334p-4)":
+ildouble: 1
+ldouble: 1
+
+# j0
+Test "j0 (-0x2.002000002p+592)":
+ildouble: 2
+ldouble: 2
+Test "j0 (-0x4p+0)":
+double: 1
 float: 1
+idouble: 1
 ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "Real part of: catanh (-0x1p-13 + 0x1.000002p0 i)":
+Test "j0 (-0xf.fffffp+124)":
+double: 2
+float: 2
+idouble: 2
+ifloat: 2
+ildouble: 2
+ldouble: 2
+Test "j0 (0x2p+0)":
+float: 2
+ifloat: 2
+ildouble: 2
+ldouble: 2
+Test "j0 (0x4p+0)":
 double: 1
-idouble: 1
-Test "Imaginary part of: catanh (-0x1p-13 + 0x1.000002p0 i)":
 float: 1
+idouble: 1
 ifloat: 1
-Test "Imaginary part of: catanh (-0x1p-13 + 1.0 i)":
+ildouble: 1
+ldouble: 1
+Test "j0 (0x4p+16380)":
+ildouble: 1
+ldouble: 1
+Test "j0 (0x8p+0)":
 float: 1
 ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "Real part of: catanh (-0x1p-13 - 0x1.000002p0 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: catanh (-0x1p-13 - 0x1.000002p0 i)":
+Test "j0 (0x8p+1020)":
+ildouble: 1
+ldouble: 1
+Test "j0 (0x8p+16380)":
+ildouble: 2
+ldouble: 2
+Test "j0 (0xap+0)":
+double: 2
 float: 1
+idouble: 2
 ifloat: 1
-Test "Imaginary part of: catanh (-0x1p-13 - 1.0 i)":
+ildouble: 2
+ldouble: 2
+Test "j0 (0xcp-4)":
 float: 1
 ifloat: 1
+Test "j0 (0xe.be71dp+104)":
+float: 2
+ifloat: 2
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: catanh (-0x1p-16382 + 0x0.ffffffffffffffffffffffffffff8p0 i)":
+Test "j0 (0xf.ffffffffffff8p+1020)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: catanh (-0x1p-16382 + 0x1.0000000000000000000000000001p0 i)":
+Test "j0 (0xf.ffffffffffffbffffffffffffcp+1020)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: catanh (-0x1p-16382 - 0x0.ffffffffffffffffffffffffffff8p0 i)":
+Test "j0 (0xf.fffffp+124)":
+double: 2
+float: 2
+idouble: 2
+ifloat: 2
+ildouble: 2
+ldouble: 2
+
+# j1
+Test "j1 (0x1.ff00000000002p+840)":
+double: 1
+idouble: 1
 ildouble: 1
 ldouble: 1
-Test "Real part of: catanh (-0x1p-16382 - 0x1.0000000000000000000000000001p0 i)":
+Test "j1 (0x1p+0)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: catanh (-0x1p-27 + 0x1.0000000000001p0 i)":
+Test "j1 (0x2p+0)":
 double: 1
 idouble: 1
-Test "Real part of: catanh (-0x1p-27 - 0x1.0000000000001p0 i)":
+Test "j1 (0x4.ffcp+72)":
 double: 1
 idouble: 1
-Test "Real part of: catanh (-0x1p-57 + 0x1.0000000000000000000000000001p0 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: catanh (-0x1p-57 - 0x1.0000000000000000000000000001p0 i)":
+Test "j1 (0x4p+16380)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: catanh (-1.0 + 0x1p-1020 i)":
+Test "j1 (0x8p+0)":
 double: 1
 idouble: 1
-Test "Imaginary part of: catanh (-1.0 + 0x1p-13 i)":
-float: 1
-ifloat: 1
-Test "Real part of: catanh (-1.0 + 0x1p-16380 i)":
+ildouble: 4
+ldouble: 4
+Test "j1 (0x8p+1020)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: catanh (-1.0 + 0x1p-54 i)":
+Test "j1 (0x8p+16380)":
+ildouble: 2
+ldouble: 2
+Test "j1 (0xap+0)":
+float: 2
+ifloat: 2
+ildouble: 2
+ldouble: 2
+Test "j1 (0xcp-4)":
+ildouble: 1
+ldouble: 1
+Test "j1 (0xf.ffffffffffff8p+1020)":
+double: 1
+idouble: 1
+Test "j1 (0xf.fffffp+124)":
+double: 1
 float: 1
+idouble: 1
 ifloat: 1
-Test "Real part of: catanh (-1.0 + 0x1p-57 i)":
+
+# jn
+Test "jn (0, -0x4p+0)":
+double: 1
 float: 1
+idouble: 1
 ifloat: 1
-Test "Real part of: catanh (-1.0 - 0x1p-1020 i)":
+ildouble: 1
+ldouble: 1
+Test "jn (0, 0x2p+0)":
+float: 2
+ifloat: 2
+ildouble: 2
+ldouble: 2
+Test "jn (0, 0x4p+0)":
 double: 1
+float: 1
 idouble: 1
-Test "Imaginary part of: catanh (-1.0 - 0x1p-13 i)":
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "jn (0, 0x8p+0)":
 float: 1
 ifloat: 1
-Test "Real part of: catanh (-1.0 - 0x1p-16380 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: catanh (-1.0 - 0x1p-54 i)":
+Test "jn (0, 0xap+0)":
+double: 2
 float: 1
+idouble: 2
 ifloat: 1
-Test "Real part of: catanh (-1.0 - 0x1p-57 i)":
+ildouble: 2
+ldouble: 2
+Test "jn (0, 0xcp-4)":
 float: 1
 ifloat: 1
-Test "Real part of: catanh (-2 - 3 i)":
+Test "jn (1, 0x1p+0)":
+ildouble: 1
+ldouble: 1
+Test "jn (1, 0x2p+0)":
+double: 1
+idouble: 1
+Test "jn (1, 0x8p+0)":
 double: 1
 idouble: 1
+ildouble: 4
+ldouble: 4
+Test "jn (1, 0xap+0)":
+float: 2
+ifloat: 2
+ildouble: 2
+ldouble: 2
+Test "jn (1, 0xcp-4)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: catanh (0.75 + 1.25 i)":
+Test "jn (10, -0x1p+0)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: catanh (0.75 + 1.25 i)":
+Test "jn (10, 0x1p+0)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: catanh (0x0.ffffffffffffffffp0 + 0x1p-33 i)":
+Test "jn (10, 0x2p+0)":
+double: 1
+float: 2
+idouble: 1
+ifloat: 2
+Test "jn (10, 0x2p-4)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "jn (10, 0xap+0)":
+double: 4
+float: 2
+idouble: 4
+ifloat: 2
+ildouble: 2
+ldouble: 2
+Test "jn (10, 0xcp-4)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "jn (2, 0x2.67a2a4p+0)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "jn (2, 0x2.67a2a5d2e36800fce3e16f10ca66p+0)":
+ildouble: 1
+ldouble: 1
+Test "jn (2, 0x2.67a2a5d2e36800fce3e16f10cap+0)":
+ildouble: 1
+ldouble: 1
+Test "jn (2, 0x2.67a2a5d2e36800fce3e16f10cbp+0)":
+ildouble: 3
+ldouble: 3
+Test "jn (2, 0x2.67a2a5d2e36800fcp+0)":
+ildouble: 4
+ldouble: 4
+Test "jn (2, 0x2.67a2a5d2e36801p+0)":
+ildouble: 3
+ldouble: 3
+Test "jn (2, 0x2.67a2a5d2e3682p+0)":
+double: 1
+idouble: 1
+Test "jn (2, 0x2.67a2a5d2e368p+0)":
+double: 2
+idouble: 2
+ildouble: 3
+ldouble: 3
+Test "jn (2, 0x2.67a2a8p+0)":
+double: 1
+float: 3
+idouble: 1
+ifloat: 3
+Test "jn (2, 0x8p+1020)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: catanh (0x0.ffffffffffffffffp0 - 0x1p-33 i)":
+Test "jn (2, 0x8p+124)":
+double: 1
+idouble: 1
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: catanh (0x1.0000000000000002p0 + 0x1p-33 i)":
+Test "jn (2, 0x8p+16380)":
+ildouble: 2
+ldouble: 2
+Test "jn (2, 0xf.fffb1p+96)":
+double: 2
+float: 2
+idouble: 2
+ifloat: 2
+Test "jn (2, 0xf.ffffffffffff8p+1020)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: catanh (0x1.0000000000000002p0 - 0x1p-33 i)":
+Test "jn (2, 0xf.ffffffffffffbffffffffffffcp+1020)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: catanh (0x1.000002p0 + 0x1p-13 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: catanh (0x1.000002p0 - 0x1p-13 i)":
-float: 1
-ifloat: 1
-Test "Real part of: catanh (0x1.fp1023 + 0x1.fp1023 i)":
-double: 1
-idouble: 1
-Test "Real part of: catanh (0x1.fp1023 - 0x1.fp1023 i)":
-double: 1
-idouble: 1
-Test "Real part of: catanh (0x1.fp127 + 0x1.fp127 i)":
-double: 1
-idouble: 1
-Test "Real part of: catanh (0x1.fp127 - 0x1.fp127 i)":
+Test "jn (2, 0xf.fffffp+124)":
+double: 2
+float: 2
+idouble: 2
+ifloat: 2
+ildouble: 2
+ldouble: 2
+Test "jn (3, 0x2.67a2a4p+0)":
 double: 1
+float: 2
 idouble: 1
-Test "Real part of: catanh (0x1.fp16383 + 0x1.fp16383 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: catanh (0x1.fp16383 - 0x1.fp16383 i)":
+ifloat: 2
+Test "jn (3, 0x2.67a2a5d2e36800fce3e16f10ca68p+0)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: catanh (0x1p-126 + 0x0.ffffffp0 i)":
+Test "jn (3, 0x2.67a2a5d2e36800fce3e16f10cap+0)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: catanh (0x1p-126 + 0x1.000002p0 i)":
-float: 1
-ifloat: 1
+Test "jn (3, 0x2.67a2a5d2e36800fce3e16f10cbp+0)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: catanh (0x1p-126 - 0x0.ffffffp0 i)":
+Test "jn (3, 0x2.67a2a5d2e36800fcp+0)":
+ildouble: 5
+ldouble: 5
+Test "jn (3, 0x2.67a2a5d2e36801p+0)":
+ildouble: 4
+ldouble: 4
+Test "jn (3, 0x2.67a2a5d2e3682p+0)":
+double: 1
+idouble: 1
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: catanh (0x1p-126 - 0x1.000002p0 i)":
-float: 1
-ifloat: 1
+Test "jn (3, 0x2.67a2a5d2e368p+0)":
+double: 3
+idouble: 3
 ildouble: 1
 ldouble: 1
-Test "Real part of: catanh (0x1p-13 + 0x0.ffffffp0 i)":
+Test "jn (3, 0x2.67a2a8p+0)":
 double: 1
-float: 1
+float: 3
 idouble: 1
-ifloat: 1
+ifloat: 3
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: catanh (0x1p-13 + 0x1.000002p0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: catanh (0x1p-13 + 1.0 i)":
+Test "jn (3, 0x2p+0)":
 float: 1
 ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: catanh (0x1p-13 - 0x0.ffffffp0 i)":
+Test "jn (3, 0x2p-4)":
 double: 1
 float: 1
 idouble: 1
 ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: catanh (0x1p-13 - 0x1.000002p0 i)":
+Test "jn (3, 0xap+0)":
+double: 3
+idouble: 3
+ildouble: 2
+ldouble: 2
+Test "jn (3, 0xcp-4)":
+double: 1
 float: 1
+idouble: 1
 ifloat: 1
-Test "Imaginary part of: catanh (0x1p-13 - 1.0 i)":
+Test "jn (4, 0x2.67a2a4p+0)":
 float: 1
 ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: catanh (0x1p-16382 + 0x0.ffffffffffffffffffffffffffff8p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: catanh (0x1p-16382 + 0x1.0000000000000000000000000001p0 i)":
+Test "jn (4, 0x2.67a2a5d2e36800fce3e16f10ca68p+0)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: catanh (0x1p-16382 - 0x0.ffffffffffffffffffffffffffff8p0 i)":
+Test "jn (4, 0x2.67a2a5d2e36800fce3e16f10cap+0)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: catanh (0x1p-16382 - 0x1.0000000000000000000000000001p0 i)":
+Test "jn (4, 0x2.67a2a5d2e36800fce3e16f10cbp+0)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: catanh (0x1p-27 + 0x0.fffffffffffff8p0 i)":
-double: 1
-idouble: 1
-Test "Real part of: catanh (0x1p-27 - 0x0.fffffffffffff8p0 i)":
+Test "jn (4, 0x2.67a2a5d2e36800fcp+0)":
+ildouble: 3
+ldouble: 3
+Test "jn (4, 0x2.67a2a5d2e36801p+0)":
+ildouble: 3
+ldouble: 3
+Test "jn (4, 0x2.67a2a5d2e3682p+0)":
 double: 1
 idouble: 1
-Test "Real part of: catanh (0x1p-57 + 0x0.ffffffffffffffffffffffffffff8p0 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: catanh (0x1p-57 - 0x0.ffffffffffffffffffffffffffff8p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: catanh (1.0 + 0x1p-1020 i)":
+Test "jn (4, 0x2.67a2a5d2e368p+0)":
 double: 1
 idouble: 1
-Test "Imaginary part of: catanh (1.0 + 0x1p-13 i)":
+Test "jn (4, 0x2.67a2a8p+0)":
 float: 1
 ifloat: 1
-Test "Real part of: catanh (1.0 + 0x1p-16380 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: catanh (1.0 + 0x1p-54 i)":
-float: 1
-ifloat: 1
-Test "Real part of: catanh (1.0 + 0x1p-57 i)":
+Test "jn (5, 0x2.67a2a4p+0)":
+double: 1
 float: 1
+idouble: 1
 ifloat: 1
-Test "Real part of: catanh (1.0 - 0x1p-1020 i)":
+ildouble: 2
+ldouble: 2
+Test "jn (5, 0x2.67a2a5d2e36800fce3e16f10cap+0)":
+ildouble: 3
+ldouble: 3
+Test "jn (5, 0x2.67a2a5d2e36800fce3e16f10cbp+0)":
+ildouble: 2
+ldouble: 2
+Test "jn (5, 0x2.67a2a5d2e36800fcp+0)":
+ildouble: 1
+ldouble: 1
+Test "jn (5, 0x2.67a2a5d2e36801p+0)":
+ildouble: 2
+ldouble: 2
+Test "jn (5, 0x2.67a2a5d2e3682p+0)":
 double: 1
 idouble: 1
-Test "Imaginary part of: catanh (1.0 - 0x1p-13 i)":
+ildouble: 3
+ldouble: 3
+Test "jn (5, 0x2.67a2a5d2e368p+0)":
+double: 2
+idouble: 2
+Test "jn (5, 0x2.67a2a8p+0)":
+float: 2
+ifloat: 2
+ildouble: 2
+ldouble: 2
+Test "jn (6, 0x2.67a2a4p+0)":
+double: 2
 float: 1
+idouble: 2
 ifloat: 1
-Test "Real part of: catanh (1.0 - 0x1p-16380 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: catanh (1.0 - 0x1p-54 i)":
-float: 1
-ifloat: 1
-Test "Real part of: catanh (1.0 - 0x1p-57 i)":
+Test "jn (6, 0x2.67a2a5d2e36800fce3e16f10ca66p+0)":
+ildouble: 2
+ldouble: 2
+Test "jn (6, 0x2.67a2a5d2e36800fce3e16f10cap+0)":
+ildouble: 2
+ldouble: 2
+Test "jn (6, 0x2.67a2a5d2e36800fce3e16f10cbp+0)":
+ildouble: 2
+ldouble: 2
+Test "jn (6, 0x2.67a2a5d2e36800fcp+0)":
+ildouble: 5
+ldouble: 5
+Test "jn (6, 0x2.67a2a5d2e36801p+0)":
+ildouble: 3
+ldouble: 3
+Test "jn (6, 0x2.67a2a5d2e3682p+0)":
+double: 2
+idouble: 2
+ildouble: 1
+ldouble: 1
+Test "jn (6, 0x2.67a2a5d2e368p+0)":
+double: 4
+idouble: 4
+ildouble: 3
+ldouble: 3
+Test "jn (6, 0x2.67a2a8p+0)":
+double: 2
+float: 3
+idouble: 2
+ifloat: 3
+ildouble: 1
+ldouble: 1
+Test "jn (7, 0x2.67a2a4p+0)":
+double: 2
 float: 1
+idouble: 2
 ifloat: 1
-
-# cbrt
-Test "cbrt (-0.001)":
 ildouble: 1
 ldouble: 1
-Test "cbrt (-27.0)":
-double: 1
-idouble: 1
-Test "cbrt (0.75)":
+Test "jn (7, 0x2.67a2a5d2e36800fce3e16f10ca68p+0)":
+ildouble: 1
+ldouble: 1
+Test "jn (7, 0x2.67a2a5d2e36800fce3e16f10cap+0)":
+ildouble: 1
+ldouble: 1
+Test "jn (7, 0x2.67a2a5d2e36800fce3e16f10cbp+0)":
+ildouble: 3
+ldouble: 3
+Test "jn (7, 0x2.67a2a5d2e36800fcp+0)":
+ildouble: 3
+ldouble: 3
+Test "jn (7, 0x2.67a2a5d2e36801p+0)":
+ildouble: 3
+ldouble: 3
+Test "jn (7, 0x2.67a2a5d2e3682p+0)":
+ildouble: 1
+ldouble: 1
+Test "jn (7, 0x2.67a2a5d2e368p+0)":
+double: 3
+idouble: 3
+ildouble: 2
+ldouble: 2
+Test "jn (7, 0x2.67a2a8p+0)":
+double: 2
+float: 3
+idouble: 2
+ifloat: 3
+Test "jn (8, 0x2.67a2a4p+0)":
+double: 2
+float: 2
+idouble: 2
+ifloat: 2
+ildouble: 2
+ldouble: 2
+Test "jn (8, 0x2.67a2a5d2e36800fce3e16f10ca66p+0)":
+ildouble: 3
+ldouble: 3
+Test "jn (8, 0x2.67a2a5d2e36800fce3e16f10ca68p+0)":
+ildouble: 4
+ldouble: 4
+Test "jn (8, 0x2.67a2a5d2e36800fce3e16f10cap+0)":
+ildouble: 2
+ldouble: 2
+Test "jn (8, 0x2.67a2a5d2e36800fce3e16f10cbp+0)":
+ildouble: 3
+ldouble: 3
+Test "jn (8, 0x2.67a2a5d2e36800fcp+0)":
+ildouble: 3
+ldouble: 3
+Test "jn (8, 0x2.67a2a5d2e36801p+0)":
+ildouble: 4
+ldouble: 4
+Test "jn (8, 0x2.67a2a5d2e3682p+0)":
 double: 1
 idouble: 1
-Test "cbrt (0.9921875)":
+Test "jn (8, 0x2.67a2a5d2e368p+0)":
+double: 3
+idouble: 3
+Test "jn (8, 0x2.67a2a8p+0)":
+double: 2
+float: 4
+idouble: 2
+ifloat: 4
+ildouble: 4
+ldouble: 4
+Test "jn (9, 0x2.67a2a4p+0)":
+double: 3
+float: 3
+idouble: 3
+ifloat: 3
+Test "jn (9, 0x2.67a2a5d2e36800fce3e16f10ca66p+0)":
+ildouble: 3
+ldouble: 3
+Test "jn (9, 0x2.67a2a5d2e36800fce3e16f10ca68p+0)":
+ildouble: 3
+ldouble: 3
+Test "jn (9, 0x2.67a2a5d2e36800fce3e16f10cbp+0)":
+ildouble: 2
+ldouble: 2
+Test "jn (9, 0x2.67a2a5d2e36800fcp+0)":
+ildouble: 7
+ldouble: 7
+Test "jn (9, 0x2.67a2a5d2e36801p+0)":
+ildouble: 2
+ldouble: 2
+Test "jn (9, 0x2.67a2a5d2e3682p+0)":
+double: 4
+idouble: 4
+ildouble: 3
+ldouble: 3
+Test "jn (9, 0x2.67a2a5d2e368p+0)":
 double: 1
 idouble: 1
+ildouble: 4
+ldouble: 4
+Test "jn (9, 0x2.67a2a8p+0)":
+double: 3
+float: 3
+idouble: 3
+ifloat: 3
 
-# ccos
-Test "Imaginary part of: ccos (-0.75 + 11357.25 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ccos (-0.75 + 710.5 i)":
+# lgamma
+Test "lgamma (-0x1p-20)":
 double: 1
 idouble: 1
+Test "lgamma (-0x1p-40)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: ccos (-0.75 + 89.5 i)":
+Test "lgamma (-0x1p-64)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: ccos (-0.75 + 89.5 i)":
+Test "lgamma (-0x2p-16)":
+double: 1
 float: 1
+idouble: 1
 ifloat: 1
+Test "lgamma (-0x4p-12)":
+double: 1
+idouble: 1
+Test "lgamma (-0x4p-32)":
+ildouble: 1
+ldouble: 1
+Test "lgamma (-0x8p-28)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: ccos (-0.75 - 11357.25 i)":
+Test "lgamma (-0x8p-4)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: ccos (-0.75 - 710.5 i)":
+Test "lgamma (-0x8p-8)":
 double: 1
 idouble: 1
 ildouble: 1
 ldouble: 1
-Test "Real part of: ccos (-0.75 - 89.5 i)":
+Test "lgamma (0x1.3333333333333332p+0)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: ccos (-0.75 - 89.5 i)":
-float: 1
-ifloat: 1
+Test "lgamma (0x1.3333333333333333333333333333p+0)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: ccos (-2 - 3 i)":
+Test "lgamma (0x1p-60)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: ccos (-2 - 3 i)":
+Test "lgamma (0x4p-12)":
 float: 1
 ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "Real part of: ccos (0.75 + 1.25 i)":
+Test "lgamma (0x4p-32)":
 double: 1
-float: 1
 idouble: 1
-ifloat: 1
-Test "Imaginary part of: ccos (0.75 + 1.25 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: ccos (0.75 + 11357.25 i)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: ccos (0.75 + 710.5 i)":
-double: 1
-idouble: 1
+Test "lgamma (0x4p-72)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: ccos (0.75 + 89.5 i)":
+Test "lgamma (0x8p-8)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: ccos (0.75 + 89.5 i)":
-float: 1
-ifloat: 1
+Test "lgamma (0xb.3333333333333333333333333338p-4)":
+ildouble: 1
+ldouble: 1
+Test "lgamma (0xb.333333333333333p-4)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: ccos (0.75 - 11357.25 i)":
+Test "lgamma (0xb.3333333333338p-4)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: ccos (0.75 - 710.5 i)":
+Test "lgamma (0xb.333333333333p-4)":
+double: 1
+idouble: 1
+Test "lgamma (0xb.33333p-4)":
 double: 1
 idouble: 1
+
+# log
+Test "log (0x2.b7e151628aed2a68p+0)":
+ildouble: 1
+ldouble: 1
+Test "log (0x2.b7e151628aed2a6abf7158809cf4p+0)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: ccos (0.75 - 89.5 i)":
+Test "log (0x2.b7e151628aed2p+0)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: ccos (0.75 - 89.5 i)":
+Test "log (0x2.b7e15p+0)":
 float: 1
 ifloat: 1
+Test "log (0x4p-1076)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: ccos (0x1p-1074 + 1440 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: ccos (0x1p-16434 + 22730 i)":
+Test "log (0x4p-16384)":
 ildouble: 1
 ldouble: 1
-
-# ccosh
-Test "Imaginary part of: ccosh (-11357.25 + 0.75 i)":
+Test "log (0x4p-16448)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: ccosh (-11357.25 - 0.75 i)":
+Test "log (0x4p-16496)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: ccosh (-2 - 3 i)":
-float: 1
-ifloat: 1
+Test "log (0x8p-152)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: ccosh (-2 - 3 i)":
-float: 1
-ifloat: 1
+
+# log10
+Test "log10 (0x1.999998p-4)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: ccosh (-710.5 + 0.75 i)":
-double: 1
-idouble: 1
+Test "log10 (0x1.999999999999ap-4)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: ccosh (-710.5 - 0.75 i)":
-double: 1
-idouble: 1
+Test "log10 (0x1.99999ap-4)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: ccosh (-89.5 + 0.75 i)":
+Test "log10 (0x2.b7e151628aed2a6cp+0)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: ccosh (-89.5 + 0.75 i)":
+Test "log10 (0x2.b7e154p+0)":
 float: 1
 ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "Real part of: ccosh (-89.5 - 0.75 i)":
+Test "log10 (0x4p-1024)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: ccosh (-89.5 - 0.75 i)":
-float: 1
-ifloat: 1
+Test "log10 (0x4p-16496)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: ccosh (0.75 + 1.25 i)":
+Test "log10 (0xcp-4)":
 double: 1
-float: 1
+float: 2
 idouble: 1
-ifloat: 1
-Test "Imaginary part of: ccosh (0.75 + 1.25 i)":
+ifloat: 2
+ildouble: 1
+ldouble: 1
+
+# log1p
+Test "log1p (-0x4p-4)":
 float: 1
 ifloat: 1
-Test "Imaginary part of: ccosh (11357.25 + 0.75 i)":
+Test "log1p (0x1.b7e151628aed2p+0)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: ccosh (11357.25 - 0.75 i)":
+Test "log1p (0x1.b7e15p+0)":
+float: 1
+ifloat: 1
+
+# log2
+Test "log2 (0x2.b7e151628aed2a6cp+0)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: ccosh (1440 + 0x1p-1074 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: ccosh (22730 + 0x1p-16434 i)":
+Test "log2 (0xcp-4)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: ccosh (710.5 + 0.75 i)":
-double: 1
-idouble: 1
+
+# pow
+Test "pow (0x1.0000000000000000000000000001p+0, 0x2.468acf13579bde02468acf1357p+124)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: ccosh (710.5 - 0.75 i)":
-double: 1
-idouble: 1
+Test "pow (0x1.0000000000000000000000000001p+0, 0x2.468acf13579bde04p+124)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: ccosh (89.5 + 0.75 i)":
+Test "pow (0x1.0000000000001p+0, -0x2.468adp+60)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: ccosh (89.5 + 0.75 i)":
+Test "pow (0x1.000002p+0, 0x1p+24)":
 float: 1
 ifloat: 1
+Test "pow (0xap+0, -0x1.342p+12)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: ccosh (89.5 - 0.75 i)":
+Test "pow (0xap+0, 0x1.341p+12)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: ccosh (89.5 - 0.75 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-# cexp
-Test "Imaginary part of: cexp (-10000 + 0x1p16383 i)":
+Test "pow (0xap+0, 0x1.342p+12)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cexp (-2.0 - 3.0 i)":
+Test "pow (0xap+0, 0x1.343p+12)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cexp (-2.0 - 3.0 i)":
-float: 1
-ifloat: 1
+Test "pow (0xap+0, 0x1.344p+12)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cexp (-720 + 0.75 i)":
+Test "pow (0xd.72cb2a95c7ef6cce81bf1e825ba8p+16380, 0xcp-4)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cexp (-95 + 0.75 i)":
-double: 1
-idouble: 1
-Test "Real part of: cexp (0.75 + 1.25 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cexp (0.75 + 1.25 i)":
+Test "pow (0xf.ffffffffffff8p-4, -0x4.8d159e26af37cp+60)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cexp (1440 + 0x1p-1074 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: cexp (22730 + 0x1p-16434 i)":
+Test "pow (0xf.fffffffffffffffffffffffffff8p-4, -0x4.8d1598p+124)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cexp (50 + 0x1p127 i)":
-double: 2
+Test "pow (0xf.fffffp-4, -0x1p+24)":
 float: 1
-idouble: 2
 ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cexp (50 + 0x1p127 i)":
-double: 1
-idouble: 1
-Test "Real part of: cexp (500 + 0x1p1023 i)":
+Test "pow (0xf.fffffp-4, 0x1p+24)":
+float: 1
+ifloat: 1
+
+# pow10
+Test "pow10 (-0x1.31p+8)":
 double: 1
 idouble: 1
-Test "Real part of: cexp (709.8125 + 0.75 i)":
+Test "pow10 (-0x1p+0)":
 double: 1
 idouble: 1
-Test "Imaginary part of: cexp (709.8125 + 0.75 i)":
+Test "pow10 (-0x2.4p+4)":
 double: 1
 idouble: 1
 ildouble: 1
 ldouble: 1
-Test "Real part of: cexp (88.75 + 0.75 i)":
-float: 1
-ifloat: 1
+Test "pow10 (0x1.344p+12)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: cexp (88.75 + 0.75 i)":
-float: 2
-ifloat: 2
+Test "pow10 (0x1.348e45573a1dd72cp+8)":
 ildouble: 1
 ldouble: 1
-
-# clog
-Test "Real part of: clog (-0x1.0000000123456p0 + 0x1.2345678p-1000 i)":
+Test "pow10 (0x1.348e46p+8)":
+ildouble: 1
+ldouble: 1
+Test "pow10 (0x2.4p+4)":
 double: 1
 idouble: 1
-Test "Real part of: clog (-0x1.0000000123456p0 + 0x1.2345678p-30 i)":
+Test "pow10 (0x3p+0)":
 double: 1
 idouble: 1
-Test "Imaginary part of: clog (-0x1.234566p-40 - 1.0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: clog (-0x1.fp+127 + 0x1p-149 i)":
-float: 1
-ifloat: 1
-Test "Real part of: clog (-0x1.fp+127 - 0x1p-149 i)":
+
+# pow_downward
+Test "pow_downward (1.5, 1.03125)":
 float: 1
 ifloat: 1
-Test "Real part of: clog (-0x1.fp+16383 + 0x1p-16445 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (-0x1.fp+16383 + 0x1p-16494 i)":
+
+# pow_tonearest
+Test "pow_tonearest (0x1.0000000000000000000000000001p+0, 0x2.468acf13579bde02468acf1357p+124)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: clog (-0x1.fp+16383 - 0x1p-16445 i)":
+Test "pow_tonearest (0x1.0000000000000000000000000001p+0, 0x2.468acf13579bde04p+124)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: clog (-0x1.fp+16383 - 0x1p-16494 i)":
+Test "pow_tonearest (0x1.0000000000001p+0, -0x2.468adp+60)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: clog (-0x1p-149 + 0x1.fp+127 i)":
+Test "pow_tonearest (0x1.000002p+0, 0x1p+24)":
 float: 1
 ifloat: 1
-Test "Imaginary part of: clog (-0x1p-149 + 0x1.fp+127 i)":
-float: 1
-ifloat: 1
-Test "Real part of: clog (-0x1p-149 - 0x1.fp+127 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: clog (-0x1p-149 - 0x1.fp+127 i)":
-float: 1
-ifloat: 1
-Test "Real part of: clog (-0x1p-16445 + 0x1.fp+16383 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (-0x1p-16445 - 0x1.fp+16383 i)":
+Test "pow_tonearest (0xap+0, -0x1.342p+12)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: clog (-0x1p-16494 + 0x1.fp+16383 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (-0x1p-16494 - 0x1.fp+16383 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x0.ffffffp0 + 0x0.ffffffp-100 i)":
-float: 1
-ifloat: 1
-Test "Real part of: clog (0x1.000566p0 + 0x1.234p-10 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: clog (0x1.000566p0 + 0x1.234p-10 i)":
+Test "pow_tonearest (0xap+0, 0x1.341p+12)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: clog (0x1.fp+127 + 0x1p-149 i)":
-float: 1
-ifloat: 1
-Test "Real part of: clog (0x1.fp+127 - 0x1p-149 i)":
-float: 1
-ifloat: 1
-Test "Real part of: clog (0x1.fp+16383 + 0x1.fp+16383 i)":
+Test "pow_tonearest (0xap+0, 0x1.342p+12)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: clog (0x1.fp+16383 + 0x1p-16445 i)":
+Test "pow_tonearest (0xap+0, 0x1.343p+12)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: clog (0x1.fp+16383 + 0x1p-16494 i)":
+Test "pow_tonearest (0xap+0, 0x1.344p+12)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: clog (0x1.fp+16383 - 0x1p-16445 i)":
+Test "pow_tonearest (0xd.72cb2a95c7ef6cce81bf1e825ba8p+16380, 0xcp-4)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: clog (0x1.fp+16383 - 0x1p-16494 i)":
+Test "pow_tonearest (0xf.ffffffffffff8p-4, -0x4.8d159e26af37cp+60)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: clog (0x10673dd0f2481p-51 + 0x7ef1d17cefbd2p-51 i)":
+Test "pow_tonearest (0xf.fffffffffffffffffffffffffff8p-4, -0x4.8d1598p+124)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: clog (0x1p-1074 + 0x1p-1074 i)":
-double: 1
-idouble: 1
-Test "Real part of: clog (0x1p-147 + 0x1p-147 i)":
+Test "pow_tonearest (0xf.fffffp-4, -0x1p+24)":
 float: 1
 ifloat: 1
-Test "Real part of: clog (0x1p-149 + 0x1.fp+127 i)":
+ildouble: 1
+ldouble: 1
+Test "pow_tonearest (0xf.fffffp-4, 0x1p+24)":
 float: 1
 ifloat: 1
-Test "Real part of: clog (0x1p-149 - 0x1.fp+127 i)":
+
+# pow_towardzero
+Test "pow_towardzero (1.5, 1.03125)":
 float: 1
 ifloat: 1
-Test "Real part of: clog (0x1p-16445 + 0x1.fp+16383 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x1p-16445 - 0x1.fp+16383 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x1p-16494 + 0x1.fp+16383 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x1p-16494 - 0x1.fp+16383 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x2818p-15 + 0x798fp-15 i)":
+
+# pow_upward
+Test "pow_upward (1.0625, 1.125)":
 float: 1
 ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: clog (0x298c62cb546588a7p-63 + 0x7911b1dfcc4ecdaep-63 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x2ede88p-23 + 0x771c3fp-23 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3f96469050f650869c2p-75 + 0x6f16b2c9c8b05988335p-75 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x55cb6d0c83af5p-55 + 0x7fe33c0c7c4e90p-55 i)":
+
+# sin
+Test "sin (-0x1.921fb4p+0)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: clog (0x5b06b680ea2ccp-52 + 0xef452b965da9fp-52 i)":
+Test "sin (-0x1.921fb54442d18p+0)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: clog (0x659feap-24 + 0xeaf6f9p-24 i)":
+Test "sin (-0x1.921fb54442d19p+0)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: clog (0x6771f22c64ed551b857c128b4cp-105 + 0x1f570e7a13cc3cf2f44fd793ea1p-105 i)":
+Test "sin (-0x8.60a91c16b9b28p-4)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: clog (0x6b10b4f3520217b6p-64 + 0xe8893cbb449253a1p-64 i)":
+Test "sin (-0x8.60a91c16b9b2c232dd99707ab3dp-4)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: clog (0x8ecbf810c4ae6p-52 + 0xd479468b09a37p-52 i)":
+Test "sin (0x1p+0)":
+float: 1
+ifloat: 1
+Test "sin (0x2.1e19e0c9bab24p+72)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: clog (0x9b57bp-20 + 0xcb7b4p-20 i)":
+Test "sin (0x2p+64)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: clog (0xdb85c467ee2aadd5f425fe0f4b8dp-114 + 0x3e83162a0f95f1dcbf97dddf410eap-114 i)":
+Test "sin (0x3.be735c19be9fffffffffffffffe8p+0)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: clog (0xfd95243681c055c2632286921092p-113 + 0x1bccabcd29ca2152860ec29e34ef7p-113 i)":
+Test "sin (0x3.be736p+0)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: clog (0xfe961079616p-45 + 0x1bc37e09e6d1p-45 i)":
+Test "sin (0x3.ec2a0250032a00000000000001p+0)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: clog (1.0 + 0x1.234566p-10 i)":
-float: 1
-ifloat: 1
-
-# clog10
-Test "Imaginary part of: clog10 (-0 + inf i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: clog10 (-0 - inf i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Real part of: clog10 (-0x1.0000000123456p0 + 0x1.2345678p-1000 i)":
-double: 2
-idouble: 2
+Test "sin (0x3.ec2a0250032a2p+0)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: clog10 (-0x1.0000000123456p0 + 0x1.2345678p-1000 i)":
-double: 1
-idouble: 1
-Test "Real part of: clog10 (-0x1.0000000123456p0 + 0x1.2345678p-30 i)":
-double: 2
-idouble: 2
+Test "sin (0x3.ec2a04p+0)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: clog10 (-0x1.0000000123456p0 + 0x1.2345678p-30 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog10 (-0x1.fp+1023 + 0x1p-1074 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog10 (-0x1.fp+1023 - 0x1p-1074 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog10 (-0x1.fp+127 + 0x1p-149 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: clog10 (-0x1.fp+127 - 0x1p-149 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: clog10 (-0x1p-1074 + 0x1.fp+1023 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog10 (-0x1p-1074 - 0x1.fp+1023 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog10 (-0x1p-149 + 0x1.fp+127 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog10 (-0x1p-149 - 0x1.fp+127 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog10 (-1.0 + 0x1.234566p-20 i)":
-double: 1
-idouble: 1
-Test "Real part of: clog10 (-2 - 3 i)":
+Test "sin (0x3.ec2ap+0)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: clog10 (-2 - 3 i)":
-double: 1
-idouble: 1
+Test "sin (0x3p+0)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: clog10 (-3 + inf i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: clog10 (-3 - inf i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: clog10 (-inf + 0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: clog10 (-inf + 1 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: clog10 (-inf + inf i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog10 (-inf - 0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: clog10 (-inf - 1 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: clog10 (0 + inf i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: clog10 (0 - inf i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: clog10 (0.75 + 1.25 i)":
+Test "sin (0x4.1237e153f7080000000000000004p+0)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: clog10 (0x0.fffffffffffff8p0 + 0x0.fffffffffffff8p-1000 i)":
-double: 1
-idouble: 1
-Test "Real part of: clog10 (0x0.ffffffp0 + 0x0.ffffffp-100 i)":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
+Test "sin (0x4.1237e153f7080008p+0)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: clog10 (0x1.00000000000000123456789abcp0 + 0x1.23456789p-1000 i)":
+Test "sin (0x4.c92d08p+0)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: clog10 (0x1.00000000000000123456789abcp0 + 0x1.23456789p-1000 i)":
+Test "sin (0x4.c92d0ffa4bf00000000000000088p+0)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: clog10 (0x1.00000000000000123456789abcp0 + 0x1.23456789p-60 i)":
+Test "sin (0x4.c92d0ffa4bf00008p+0)":
 ildouble: 1
-ldouble: 1
-Test "Real part of: clog10 (0x1.000566p0 + 0x1.234p-10 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: clog10 (0x1.000566p0 + 0x1.234p-10 i)":
-double: 1
-idouble: 1
-ildouble: 2
-ldouble: 2
-Test "Real part of: clog10 (0x1.000566p0 + 0x1.234p-100 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: clog10 (0x1.000566p0 + 0x1.234p-100 i)":
+ldouble: 1
+Test "sin (0x4.c92d0ffa4bf04p+0)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: clog10 (0x1.234566p-30 + 1.0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: clog10 (0x1.234566p-50 + 1.0 i)":
+Test "sin (0x4.c92d0ffa4bfp+0)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: clog10 (0x1.234566p-50 + 1.0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: clog10 (0x1.234566p-60 + 1.0 i)":
+Test "sin (0x5.fbec7477d4a84p+0)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: clog10 (0x1.234566p-60 + 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: clog10 (0x1.fffffep+127 + 0x1.fffffep+127 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Real part of: clog10 (0x1.fffffep+127 + 1.0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: clog10 (0x1.fffffffffffffp+1023 + 0x1.fffffffffffffp+1023 i)":
+Test "sin (0x5.fbec78p+0)":
+ildouble: 1
+ldouble: 1
+
+# sin_downward
+Test "sin_downward (-0x1.921fb4p+0)":
 double: 1
 idouble: 1
-Test "Real part of: clog10 (0x1.fp+16383 + 0x1.fp+16383 i)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: clog10 (0x1.fp+16383 + 0x1p+16383 i)":
+Test "sin_downward (-0x1.921fb54442d18p+0)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: clog10 (0x10673dd0f2481p-51 + 0x7ef1d17cefbd2p-51 i)":
-double: 1
-idouble: 1
+Test "sin_downward (-0x1.921fb54442d19p+0)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: clog10 (0x1367a310575591p-54 + 0x3cfcc0a0541f60p-54 i)":
+Test "sin_downward (-0x1.921fb6p+0)":
 double: 1
 idouble: 1
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: clog10 (0x1367a310575591p-54 + 0x3cfcc0a0541f60p-54 i)":
+Test "sin_downward (-0x2p+64)":
 double: 1
 idouble: 1
-Test "Real part of: clog10 (0x1415bcaf2105940d49a636e98ae59p-115 + 0x7e6a150adfcd1b0921d44b31f40f4p-115 i)":
+Test "sin_downward (-0x8.60a91c16b9b28p-4)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: clog10 (0x15cfbd1990d1ffp-53 + 0x176a3973e09a9ap-53 i)":
+Test "sin_downward (-0x8.60a91c16b9b2c232dd99707ab3dp-4)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: clog10 (0x164c74eea876p-45 + 0x16f393482f77p-45 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog10 (0x1a6p-10 + 0x3a5p-10 i)":
-double: 1
-idouble: 1
-Test "Real part of: clog10 (0x1df515eb171a808b9e400266p-95 + 0x7c71eb0cd4688dfe98581c77p-95 i)":
+Test "sin_downward (-0x8.60a91c16b9b2c232dd99707ab4p-4)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: clog10 (0x1df515eb171a808b9e400266p-95 + 0x7c71eb0cd4688dfe98581c77p-95 i)":
+Test "sin_downward (-0x8.60a91c16b9b2c232dd99707abp-4)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: clog10 (0x1p-1073 + 0x1p-1073 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog10 (0x1p-1074 + 0x1.fp+1023 i)":
-double: 1
-idouble: 1
-Test "Real part of: clog10 (0x1p-1074 + 0x1p-1074 i)":
+Test "sin_downward (-0x8.60a91c16b9b2c23p-4)":
+ildouble: 1
+ldouble: 1
+Test "sin_downward (-0x8.60a91c16b9b2c24p-4)":
+ildouble: 1
+ldouble: 1
+Test "sin_downward (-0x8.60a91c16b9b3p-4)":
 double: 1
 idouble: 1
-Test "Imaginary part of: clog10 (0x1p-1074 + 0x1p-1074 i)":
+ildouble: 1
+ldouble: 1
+Test "sin_downward (-0x8.60a91p-4)":
 double: 1
 idouble: 1
-Test "Imaginary part of: clog10 (0x1p-1074 - 0x1.fp+1023 i)":
+Test "sin_downward (-0x8.60a92p-4)":
 double: 1
 idouble: 1
-Test "Imaginary part of: clog10 (0x1p-147 + 0x1p-147 i)":
+ildouble: 1
+ldouble: 1
+Test "sin_downward (0x1.921fb54442d18468p+0)":
+ildouble: 1
+ldouble: 1
+Test "sin_downward (0x1.921fb54442d18469898cc517018p+0)":
+ildouble: 1
+ldouble: 1
+Test "sin_downward (0x1.921fb54442d18469898cc51701b8p+0)":
+ildouble: 1
+ldouble: 1
+Test "sin_downward (0x1.921fb54442d18469898cc51701b9p+0)":
+ildouble: 1
+ldouble: 1
+Test "sin_downward (0x1.921fb54442d18469898cc51702p+0)":
+ildouble: 1
+ldouble: 1
+Test "sin_downward (0x1.921fb54442d1846ap+0)":
+ildouble: 1
+ldouble: 1
+Test "sin_downward (0x1.921fb54442d18p+0)":
 double: 1
-float: 1
 idouble: 1
-ifloat: 1
-Test "Imaginary part of: clog10 (0x1p-149 + 0x1.fp+127 i)":
+Test "sin_downward (0x1.921fb54442d19p+0)":
 double: 1
-float: 1
 idouble: 1
-ifloat: 1
-Test "Imaginary part of: clog10 (0x1p-149 + 0x1p-149 i)":
-double: 1
+Test "sin_downward (0x1p+120)":
 float: 1
-idouble: 1
 ifloat: 1
-Test "Imaginary part of: clog10 (0x1p-149 - 0x1.fp+127 i)":
+Test "sin_downward (0x1p+28)":
 double: 1
 float: 1
 idouble: 1
 ifloat: 1
-Test "Imaginary part of: clog10 (0x1p-509 + 1.0 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog10 (0x1p-510 + 1.0 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog10 (0x1p-511 + 1.0 i)":
+Test "sin_downward (0x2.1e19e0c9bab24p+72)":
 double: 1
 idouble: 1
-Test "Imaginary part of: clog10 (0x1p-61 + 1.0 i)":
+ildouble: 1
+ldouble: 1
+Test "sin_downward (0x2.1e19e4p+72)":
+ildouble: 1
+ldouble: 1
+Test "sin_downward (0x2.1e19ep+72)":
+float: 2
+ifloat: 2
+Test "sin_downward (0x2.553534p+0)":
 double: 1
-float: 1
 idouble: 1
-ifloat: 1
-Test "Imaginary part of: clog10 (0x1p-62 + 1.0 i)":
+ildouble: 1
+ldouble: 1
+Test "sin_downward (0x2.5535376715bap+0)":
 double: 1
-float: 1
 idouble: 1
-ifloat: 1
-Test "Imaginary part of: clog10 (0x1p-63 + 1.0 i)":
+Test "sin_downward (0x2p+0)":
 double: 1
-float: 1
 idouble: 1
-ifloat: 1
-Test "Real part of: clog10 (0x2818p-15 + 0x798fp-15 i)":
+Test "sin_downward (0x3.be735c19be9fep+0)":
 double: 1
-float: 1
 idouble: 1
-ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: clog10 (0x2818p-15 + 0x798fp-15 i)":
-float: 1
-ifloat: 1
+Test "sin_downward (0x3.be735c19be9ffffcp+0)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: clog10 (0x2dd46725bp-35 + 0x7783a1284p-35 i)":
-double: 1
-idouble: 1
+Test "sin_downward (0x3.be735c19be9fffffffffffffffe8p+0)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: clog10 (0x2ede88p-23 + 0x771c3fp-23 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: clog10 (0x2ede88p-23 + 0x771c3fp-23 i)":
-double: 1
-idouble: 1
+Test "sin_downward (0x3.be735c19be9fffffffffffffffeap+0)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: clog10 (0x3f96469050f650869c2p-75 + 0x6f16b2c9c8b05988335p-75 i)":
+Test "sin_downward (0x3.be735c19be9fffffffffffffffp+0)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: clog10 (0x4447d7175p-35 + 0x6c445e00ap-35 i)":
+Test "sin_downward (0x3.be735cp+0)":
+ildouble: 1
+ldouble: 1
+Test "sin_downward (0x3.be736p+0)":
 double: 1
+float: 1
 idouble: 1
-Test "Real part of: clog10 (0x4d4ep-15 + 0x6605p-15 i)":
+ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "Real part of: clog10 (0x4d9c37e2b5cb4533p-63 + 0x65c98be2385a042ep-63 i)":
+Test "sin_downward (0x3.ec2a0250032a0000000000000072p+0)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: clog10 (0x55cb6d0c83af5p-55 + 0x7fe33c0c7c4e90p-55 i)":
+Test "sin_downward (0x3.ec2a0250032a00000000000001p+0)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: clog10 (0x5b06b680ea2ccp-52 + 0xef452b965da9fp-52 i)":
+Test "sin_downward (0x3.ec2a0250032a0004p+0)":
+ildouble: 1
+ldouble: 1
+Test "sin_downward (0x3.ec2a0250032a2p+0)":
 double: 1
 idouble: 1
 ildouble: 1
 ldouble: 1
-Test "Real part of: clog10 (0x602fd5037c4792efp-64 + 0xed3e2086dcca80b8p-64 i)":
+Test "sin_downward (0x3.ec2a0250032ap+0)":
+double: 1
+idouble: 1
 ildouble: 1
 ldouble: 1
-Test "Real part of: clog10 (0x6241ef0da53f539f02fad67dabp-106 + 0x3fb46641182f7efd9caa769dac0p-106 i)":
+Test "sin_downward (0x3.ec2a04p+0)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: clog10 (0x659feap-24 + 0xeaf6f9p-24 i)":
+Test "sin_downward (0x3.ec2ap+0)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: clog10 (0x659feap-24 + 0xeaf6f9p-24 i)":
+Test "sin_downward (0x3p+0)":
+float: 1
+ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: clog10 (0x6b10b4f3520217b6p-64 + 0xe8893cbb449253a1p-64 i)":
+Test "sin_downward (0x4.093385688a2d1508p-4)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: clog10 (0x9b57bp-20 + 0xcb7b4p-20 i)":
+Test "sin_downward (0x4.093385688a2d4p-4)":
+ildouble: 1
+ldouble: 1
+Test "sin_downward (0x4.093388p-4)":
 double: 1
 idouble: 1
+Test "sin_downward (0x4.1237e153f7080000000000000004p+0)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: clog10 (0xdb85c467ee2aadd5f425fe0f4b8dp-114 + 0x3e83162a0f95f1dcbf97dddf410eap-114 i)":
+Test "sin_downward (0x4.1237e153f70800000000000002p+0)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: clog10 (0xf2p-10 + 0x3e3p-10 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog10 (0xf2p-10 + 0x3e3p-10 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog10 (0xfd95243681c055c2632286921092p-113 + 0x1bccabcd29ca2152860ec29e34ef7p-113 i)":
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: clog10 (0xfe961079616p-45 + 0x1bc37e09e6d1p-45 i)":
-double: 1
-idouble: 1
+Test "sin_downward (0x4.1237e153f7080008p+0)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: clog10 (1.0 + 0x1.234566p-10 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog10 (3 + inf i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: clog10 (3 - inf i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: clog10 (inf + inf i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: clog10 (inf - inf i)":
+Test "sin_downward (0x4.1237e153f7084p+0)":
 double: 1
-float: 1
 idouble: 1
-ifloat: 1
-
-# cos
-Test "cos (0x1p+120)":
-float: 1
-ifloat: 1
-Test "cos (0x1p+127)":
-float: 1
-ifloat: 1
-Test "cos (M_PI_6l * 2.0)":
+Test "sin_downward (0x4.1237e153f708p+0)":
 double: 1
 idouble: 1
-Test "cos (M_PI_6l * 4.0)":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
 ildouble: 1
 ldouble: 1
-
-# cos_downward
-Test "cos_downward (1)":
-float: 1
-ifloat: 1
-Test "cos_downward (10)":
+Test "sin_downward (0x4.1237e8p+0)":
 ildouble: 1
 ldouble: 1
-Test "cos_downward (2)":
+Test "sin_downward (0x4.1237ep+0)":
 float: 1
 ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "cos_downward (3)":
+Test "sin_downward (0x4.c92d08p+0)":
+double: 1
 float: 1
+idouble: 1
 ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "cos_downward (4)":
-float: 1
-ifloat: 1
-Test "cos_downward (5)":
-float: 1
-ifloat: 1
+Test "sin_downward (0x4.c92d0ffa4bf00000000000000088p+0)":
 ildouble: 1
 ldouble: 1
-Test "cos_downward (6)":
+Test "sin_downward (0x4.c92d0ffa4bf000000000000002p+0)":
 ildouble: 1
 ldouble: 1
-Test "cos_downward (7)":
-float: 1
-ifloat: 1
+Test "sin_downward (0x4.c92d0ffa4bf00008p+0)":
 ildouble: 1
 ldouble: 1
-Test "cos_downward (8)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-
-# cos_tonearest
-Test "cos_tonearest (7)":
-float: 1
-ifloat: 1
-
-# cos_towardzero
-Test "cos_towardzero (10)":
+Test "sin_downward (0x4.c92d0ffa4bf04p+0)":
 ildouble: 1
 ldouble: 1
-Test "cos_towardzero (2)":
-float: 1
-ifloat: 1
+Test "sin_downward (0x4.c92d0ffa4bfp+0)":
 ildouble: 1
 ldouble: 1
-Test "cos_towardzero (3)":
+Test "sin_downward (0x4.c92d1p+0)":
+double: 1
 float: 1
+idouble: 1
 ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "cos_towardzero (5)":
-float: 1
-ifloat: 1
+Test "sin_downward (0x4p+0)":
+double: 1
+idouble: 1
 ildouble: 1
 ldouble: 1
-Test "cos_towardzero (6)":
+Test "sin_downward (0x4p+48)":
+double: 1
+idouble: 1
+Test "sin_downward (0x5.fbec7477d4a8000000000000009cp+0)":
 ildouble: 1
 ldouble: 1
-Test "cos_towardzero (7)":
-float: 1
-ifloat: 1
+Test "sin_downward (0x5.fbec7477d4a84p+0)":
+double: 1
+idouble: 1
 ildouble: 1
 ldouble: 1
-Test "cos_towardzero (8)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-
-# cos_upward
-Test "cos_upward (1)":
+Test "sin_downward (0x5.fbec7477d4a8p+0)":
+double: 1
+idouble: 1
+Test "sin_downward (0x5.fbec78p+0)":
+double: 1
+idouble: 1
 ildouble: 1
 ldouble: 1
-Test "cos_upward (10)":
-float: 1
-ifloat: 1
-Test "cos_upward (4)":
+Test "sin_downward (0x5.fbec7p+0)":
 ildouble: 1
 ldouble: 1
-Test "cos_upward (6)":
-float: 1
-ifloat: 1
-Test "cos_upward (7)":
+Test "sin_downward (0x5p+0)":
+double: 1
 float: 1
+idouble: 1
 ifloat: 1
-Test "cos_upward (9)":
-float: 2
-ifloat: 2
 ildouble: 1
 ldouble: 1
-
-# cosh_downward
-Test "cosh_downward (22)":
-float: 1
-ifloat: 1
+Test "sin_downward (0x6p+0)":
+double: 1
+idouble: 1
 ildouble: 1
 ldouble: 1
-Test "cosh_downward (23)":
+Test "sin_downward (0x8p+0)":
+double: 1
+idouble: 1
+Test "sin_downward (0x8p+1020)":
+double: 1
+idouble: 1
+Test "sin_downward (0x9p+0)":
+double: 1
 float: 1
+idouble: 1
 ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "cosh_downward (24)":
+Test "sin_downward (0xap+0)":
+double: 1
 float: 1
+idouble: 1
 ifloat: 1
+Test "sin_downward (0xc.d4966d92d1708p-4)":
+double: 1
+idouble: 1
+Test "sin_downward (0xc.d4966p-4)":
+double: 1
+idouble: 1
+Test "sin_downward (0xf.ffffcp+124)":
+double: 1
+idouble: 1
+Test "sin_downward (0xf.ffffffffffff8p+1020)":
+double: 1
+idouble: 1
 ildouble: 1
 ldouble: 1
-
-# cosh_tonearest
-Test "cosh_tonearest (22)":
+Test "sin_downward (0xf.fffffp+124)":
+double: 1
+idouble: 1
 ildouble: 1
 ldouble: 1
 
-# cosh_towardzero
-Test "cosh_towardzero (22)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "cosh_towardzero (23)":
-float: 1
-ifloat: 1
+# sin_tonearest
+Test "sin_tonearest (-0x1.921fb4p+0)":
 ildouble: 1
 ldouble: 1
-Test "cosh_towardzero (24)":
-float: 1
-ifloat: 1
+Test "sin_tonearest (-0x1.921fb54442d18p+0)":
 ildouble: 1
 ldouble: 1
-
-# cosh_upward
-Test "cosh_upward (22)":
+Test "sin_tonearest (-0x1.921fb54442d19p+0)":
 ildouble: 1
 ldouble: 1
-Test "cosh_upward (23)":
+Test "sin_tonearest (-0x8.60a91c16b9b28p-4)":
 ildouble: 1
 ldouble: 1
-Test "cosh_upward (24)":
+Test "sin_tonearest (-0x8.60a91c16b9b2c232dd99707ab3dp-4)":
 ildouble: 1
 ldouble: 1
-
-# cpow
-Test "Real part of: cpow (0.75 + 1.25 i, 0.0 + 1.0 i)":
+Test "sin_tonearest (0x1p+0)":
 float: 1
 ifloat: 1
-Test "Imaginary part of: cpow (0.75 + 1.25 i, 0.0 + 1.0 i)":
+Test "sin_tonearest (0x2.1e19e0c9bab24p+72)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cpow (0.75 + 1.25 i, 0.75 + 1.25 i)":
-double: 1
-float: 4
-idouble: 1
-ifloat: 4
-ildouble: 4
-ldouble: 4
-Test "Real part of: cpow (0.75 + 1.25 i, 1.0 + 0.0 i)":
+Test "sin_tonearest (0x2p+64)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: cpow (0.75 + 1.25 i, 1.0 + 1.0 i)":
-double: 2
-float: 3
-idouble: 2
-ifloat: 3
-ildouble: 2
-ldouble: 2
-Test "Real part of: cpow (2 + 0 i, 10 + 0 i)":
-ildouble: 2
-ldouble: 2
-Test "Real part of: cpow (2 + 3 i, 4 + 0 i)":
-double: 1
-float: 4
-idouble: 1
-ifloat: 4
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: cpow (2 + 3 i, 4 + 0 i)":
-float: 2
-ifloat: 2
-
-# csin
-Test "Real part of: csin (-0.75 + 11357.25 i)":
+Test "sin_tonearest (0x3.be735c19be9fffffffffffffffe8p+0)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: csin (-0.75 + 710.5 i)":
-double: 1
-idouble: 1
+Test "sin_tonearest (0x3.be736p+0)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: csin (-0.75 + 89.5 i)":
-float: 1
-ifloat: 1
+Test "sin_tonearest (0x3.ec2a0250032a00000000000001p+0)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: csin (-0.75 + 89.5 i)":
+Test "sin_tonearest (0x3.ec2a0250032a2p+0)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: csin (-0.75 - 11357.25 i)":
+Test "sin_tonearest (0x3.ec2a04p+0)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: csin (-0.75 - 710.5 i)":
-double: 1
-idouble: 1
+Test "sin_tonearest (0x3.ec2ap+0)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: csin (-0.75 - 89.5 i)":
-float: 1
-ifloat: 1
+Test "sin_tonearest (0x3p+0)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: csin (-0.75 - 89.5 i)":
+Test "sin_tonearest (0x4.1237e153f7080000000000000004p+0)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: csin (-2 - 3 i)":
+Test "sin_tonearest (0x4.1237e153f7080008p+0)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: csin (0.75 + 1.25 i)":
+Test "sin_tonearest (0x4.c92d08p+0)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: csin (0.75 + 11357.25 i)":
+Test "sin_tonearest (0x4.c92d0ffa4bf00000000000000088p+0)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: csin (0.75 + 710.5 i)":
-double: 1
-idouble: 1
+Test "sin_tonearest (0x4.c92d0ffa4bf00008p+0)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: csin (0.75 + 89.5 i)":
-float: 1
-ifloat: 1
+Test "sin_tonearest (0x4.c92d0ffa4bf04p+0)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: csin (0.75 + 89.5 i)":
+Test "sin_tonearest (0x4.c92d0ffa4bfp+0)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: csin (0.75 - 11357.25 i)":
+Test "sin_tonearest (0x5.fbec7477d4a84p+0)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: csin (0.75 - 710.5 i)":
-double: 1
-idouble: 1
+Test "sin_tonearest (0x5.fbec78p+0)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: csin (0.75 - 89.5 i)":
-float: 1
-ifloat: 1
+
+# sin_towardzero
+Test "sin_towardzero (-0x1.921fb54442d18468p+0)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: csin (0.75 - 89.5 i)":
+Test "sin_towardzero (-0x1.921fb54442d18469898cc517018p+0)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: csin (0x1p-1074 + 1440 i)":
-double: 1
-idouble: 1
-Test "Real part of: csin (0x1p-16434 + 22730 i)":
+Test "sin_towardzero (-0x1.921fb54442d18469898cc51701b8p+0)":
 ildouble: 1
 ldouble: 1
-
-# csinh
-Test "Imaginary part of: csinh (-11357.25 + 0.75 i)":
+Test "sin_towardzero (-0x1.921fb54442d18469898cc51701b9p+0)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: csinh (-11357.25 - 0.75 i)":
+Test "sin_towardzero (-0x1.921fb54442d18469898cc51702p+0)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: csinh (-2 - 3 i)":
+Test "sin_towardzero (-0x1.921fb54442d1846ap+0)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: csinh (-2 - 3 i)":
+Test "sin_towardzero (-0x1.921fb54442d18p+0)":
 double: 1
 idouble: 1
-Test "Imaginary part of: csinh (-710.5 + 0.75 i)":
+Test "sin_towardzero (-0x1.921fb54442d19p+0)":
 double: 1
 idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: csinh (-710.5 - 0.75 i)":
+Test "sin_towardzero (-0x2p+64)":
 double: 1
 idouble: 1
 ildouble: 1
 ldouble: 1
-Test "Real part of: csinh (-89.5 + 0.75 i)":
+Test "sin_towardzero (-0x8.60a91c16b9b2c232dd99707ab3d8p-4)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: csinh (-89.5 + 0.75 i)":
-float: 1
-ifloat: 1
+Test "sin_towardzero (-0x8.60a91p-4)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: csinh (-89.5 - 0.75 i)":
+Test "sin_towardzero (0x1.921fb54442d18468p+0)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: csinh (-89.5 - 0.75 i)":
-float: 1
-ifloat: 1
+Test "sin_towardzero (0x1.921fb54442d18469898cc517018p+0)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: csinh (0.75 + 1.25 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: csinh (0.75 + 1.25 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: csinh (11357.25 + 0.75 i)":
+Test "sin_towardzero (0x1.921fb54442d18469898cc51701b8p+0)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: csinh (11357.25 - 0.75 i)":
+Test "sin_towardzero (0x1.921fb54442d18469898cc51701b9p+0)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: csinh (1440 + 0x1p-1074 i)":
+Test "sin_towardzero (0x1.921fb54442d18469898cc51702p+0)":
+ildouble: 1
+ldouble: 1
+Test "sin_towardzero (0x1.921fb54442d1846ap+0)":
+ildouble: 1
+ldouble: 1
+Test "sin_towardzero (0x1.921fb54442d18p+0)":
 double: 1
 idouble: 1
-Test "Imaginary part of: csinh (22730 + 0x1p-16434 i)":
+Test "sin_towardzero (0x1.921fb54442d19p+0)":
+double: 1
+idouble: 1
+Test "sin_towardzero (0x1p+0)":
+float: 1
+ifloat: 1
+Test "sin_towardzero (0x1p+28)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: csinh (710.5 + 0.75 i)":
+Test "sin_towardzero (0x2.1e19e4p+72)":
 double: 1
 idouble: 1
+Test "sin_towardzero (0x2.1e19ep+72)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: csinh (710.5 - 0.75 i)":
+Test "sin_towardzero (0x2.553534p+0)":
+double: 1
+idouble: 1
+Test "sin_towardzero (0x2.5535376715bap+0)":
+double: 1
+idouble: 1
+Test "sin_towardzero (0x2p+0)":
+double: 1
+idouble: 1
+Test "sin_towardzero (0x2p+64)":
 double: 1
 idouble: 1
 ildouble: 1
 ldouble: 1
-Test "Real part of: csinh (89.5 + 0.75 i)":
+Test "sin_towardzero (0x3.be735c19beap+0)":
+double: 1
+idouble: 1
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: csinh (89.5 + 0.75 i)":
+Test "sin_towardzero (0x3.be735cp+0)":
+double: 1
 float: 1
+idouble: 1
 ifloat: 1
+Test "sin_towardzero (0x3.ec2a0250032a000000000000007p+0)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: csinh (89.5 - 0.75 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: csinh (89.5 - 0.75 i)":
+Test "sin_towardzero (0x3.ec2a04p+0)":
+double: 1
 float: 1
+idouble: 1
 ifloat: 1
+Test "sin_towardzero (0x3p+0)":
 ildouble: 1
 ldouble: 1
-
-# csqrt
-Test "Real part of: csqrt (-0x1.0000000000000000000000000001p-16382 - 0x1.0000000000000000000000000001p-16382 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: csqrt (-0x1.0000000000000002p-16382 - 0x1.0000000000000002p-16382 i)":
+Test "sin_towardzero (0x4.093385688a2d1508p-4)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: csqrt (-0x1.0000000000000002p-16382 - 0x1.0000000000000002p-16382 i)":
+Test "sin_towardzero (0x4.093385688a2d4p-4)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: csqrt (-0x1.0000000000001p-1022 - 0x1.0000000000001p-1022 i)":
+Test "sin_towardzero (0x4.093388p-4)":
+double: 1
+idouble: 1
+Test "sin_towardzero (0x4.1237e153f7084p+0)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: csqrt (-0x1.000002p-126 - 0x1.000002p-126 i)":
+Test "sin_towardzero (0x4.1237e8p+0)":
 double: 1
 idouble: 1
-Test "Real part of: csqrt (-2 + 3 i)":
-float: 1
-ifloat: 1
+Test "sin_towardzero (0x4.1237ep+0)":
+double: 1
+idouble: 1
+Test "sin_towardzero (0x4.c92d0ffa4bf0000000000000008cp+0)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: csqrt (-2 - 3 i)":
-float: 1
-ifloat: 1
+Test "sin_towardzero (0x4.c92d0ffa4bf04p+0)":
+double: 1
+idouble: 1
+Test "sin_towardzero (0x4.c92d0ffa4bfp+0)":
+double: 1
+idouble: 1
+Test "sin_towardzero (0x4p+48)":
+double: 1
+idouble: 1
+Test "sin_towardzero (0x5.fbec7477d4a80000000000000098p+0)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: csqrt (0.75 + 1.25 i)":
+Test "sin_towardzero (0x5.fbec7477d4a800000000000002p+0)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: csqrt (0x1.0000000000000000000000000001p-16382 + 0x1.0000000000000000000000000001p-16382 i)":
+Test "sin_towardzero (0x5.fbec7477d4a80008p+0)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: csqrt (0x1.0000000000000002p-16382 + 0x1.0000000000000002p-16382 i)":
+Test "sin_towardzero (0x5.fbec7477d4a8p+0)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: csqrt (0x1.0000000000000002p-16382 + 0x1.0000000000000002p-16382 i)":
+Test "sin_towardzero (0x5.fbec7p+0)":
+double: 1
+idouble: 1
+Test "sin_towardzero (0x8p+0)":
+double: 1
+idouble: 1
+Test "sin_towardzero (0x8p+1020)":
+double: 1
+idouble: 1
+Test "sin_towardzero (0x9p+0)":
+double: 1
+idouble: 1
+Test "sin_towardzero (0xap+0)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: csqrt (0x1.0000000000001p-1022 + 0x1.0000000000001p-1022 i)":
+Test "sin_towardzero (0xb.fa09ap+100)":
+double: 1
+idouble: 1
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: csqrt (0x1.000002p-126 + 0x1.000002p-126 i)":
+Test "sin_towardzero (0xc.d4966d92d1708p-4)":
+double: 1
+idouble: 1
+Test "sin_towardzero (0xc.d4966p-4)":
 double: 1
 idouble: 1
-Test "Imaginary part of: csqrt (0x1.fffffep+127 + 1.0 i)":
+Test "sin_towardzero (0xc.d4967p-4)":
+float: 1
+ifloat: 1
+Test "sin_towardzero (0xe.ef3afp-4)":
 float: 1
 ifloat: 1
-Test "Real part of: csqrt (0x1.fffffffffffffp+1023 + 0x1.fffffffffffffp+1023 i)":
+Test "sin_towardzero (0xf.ffffcp+124)":
 double: 1
 idouble: 1
-Test "Imaginary part of: csqrt (0x1.fffffffffffffp+1023 + 0x1.fffffffffffffp+1023 i)":
+Test "sin_towardzero (0xf.ffffffffffff8p+1020)":
 double: 1
 idouble: 1
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: csqrt (0x1.fffffffffffffp+1023 + 0x1p+1023 i)":
-double: 1
-idouble: 1
+Test "sin_towardzero (0xf.ffffffffffffbffffffffffffcp+1020)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: csqrt (0x1.fp+16383 + 0x1.fp+16383 i)":
+
+# sin_upward
+Test "sin_upward (-0x1.921fb4p+0)":
+float: 1
+ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: csqrt (0x1.fp+16383 + 0x1.fp+16383 i)":
+Test "sin_upward (-0x1.921fb54442d18468p+0)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: csqrt (0x1.fp+16383 + 0x1p+16383 i)":
+Test "sin_upward (-0x1.921fb54442d18469898cc517018p+0)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: csqrt (0x1p-16440 + 0x1p-16441 i)":
+Test "sin_upward (-0x1.921fb54442d18469898cc51701b8p+0)":
 ildouble: 1
 ldouble: 1
-
-# ctan
-Test "Real part of: ctan (-2 - 3 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: ctan (-2 - 3 i)":
-double: 1
-idouble: 1
+Test "sin_upward (-0x1.921fb54442d18469898cc51701b9p+0)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: ctan (0.75 + 1.25 i)":
+Test "sin_upward (-0x1.921fb54442d18469898cc51702p+0)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: ctan (0.75 + 1.25 i)":
-double: 1
-idouble: 1
-ildouble: 2
-ldouble: 2
-Test "Real part of: ctan (0x1p1023 + 1 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: ctan (0x1p1023 + 1 i)":
-ildouble: 2
-ldouble: 2
-Test "Real part of: ctan (0x1p127 + 1 i)":
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: ctan (0x1p127 + 1 i)":
+Test "sin_upward (-0x1.921fb54442d1846ap+0)":
+ildouble: 1
+ldouble: 1
+Test "sin_upward (-0x1.921fb54442d18p+0)":
 double: 1
 idouble: 1
 ildouble: 1
 ldouble: 1
-Test "Real part of: ctan (0x1p16383 + 1 i)":
+Test "sin_upward (-0x1.921fb54442d19p+0)":
+double: 1
+idouble: 1
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: ctan (0x1p16383 + 1 i)":
-ildouble: 2
-ldouble: 2
-Test "Real part of: ctan (0x3.243f6cp-1 + 0 i)":
+Test "sin_upward (-0x1.921fb6p+0)":
 float: 1
 ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "Real part of: ctan (1 + 355 i)":
-ildouble: 2
-ldouble: 2
-Test "Real part of: ctan (1 + 365 i)":
+Test "sin_upward (-0x2p+64)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: ctan (1 + 45 i)":
-ildouble: 2
-ldouble: 2
-Test "Real part of: ctan (1 + 47 i)":
+Test "sin_upward (-0x8.60a91c16b9b28p-4)":
 ildouble: 1
 ldouble: 1
-
-# ctan_downward
-Test "Real part of: ctan_downward (0x1.921fb54442d1846ap+0 + 0x1p-16445 i)":
-ildouble: 2
-ldouble: 2
-Test "Real part of: ctan_downward (0x1.921fb54442d18p+0 + 0x1p-1074 i)":
-ildouble: 4
-ldouble: 4
-Test "Imaginary part of: ctan_downward (0x1.921fb54442d18p+0 + 0x1p-1074 i)":
+Test "sin_upward (-0x8.60a91c16b9b2c232dd99707ab3d8p-4)":
 ildouble: 3
 ldouble: 3
-Test "Real part of: ctan_downward (0x1.921fb6p+0 + 0x1p-149 i)":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: ctan_downward (0x1.921fb6p+0 + 0x1p-149 i)":
-float: 1
-ifloat: 1
-ildouble: 5
-ldouble: 5
-
-# ctan_tonearest
-Test "Imaginary part of: ctan_tonearest (0x1.921fb54442d1846ap+0 + 0x1p-16445 i)":
+Test "sin_upward (-0x8.60a91c16b9b2c232dd99707ab3dp-4)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: ctan_tonearest (0x1.921fb54442d18p+0 + 0x1p-1074 i)":
-ildouble: 3
-ldouble: 3
-Test "Imaginary part of: ctan_tonearest (0x1.921fb54442d18p+0 + 0x1p-1074 i)":
-ildouble: 3
-ldouble: 3
-Test "Real part of: ctan_tonearest (0x1.921fb6p+0 + 0x1p-149 i)":
-float: 1
-ifloat: 1
+Test "sin_upward (-0x8.60a91c16b9b2c232dd99707ab4p-4)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: ctan_tonearest (0x1.921fb6p+0 + 0x1p-149 i)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-
-# ctan_towardzero
-Test "Real part of: ctan_towardzero (0x1.921fb54442d1846ap+0 + 0x1p-16445 i)":
+Test "sin_upward (-0x8.60a91c16b9b2c232dd99707abp-4)":
+ildouble: 1
+ldouble: 1
+Test "sin_upward (-0x8.60a91c16b9b2c23p-4)":
+ildouble: 1
+ldouble: 1
+Test "sin_upward (-0x8.60a91c16b9b2c24p-4)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: ctan_towardzero (0x1.921fb54442d18p+0 + 0x1p-1074 i)":
+Test "sin_upward (-0x8.60a91c16b9b3p-4)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: ctan_towardzero (0x1.921fb54442d18p+0 + 0x1p-1074 i)":
+Test "sin_upward (-0x8.60a91p-4)":
 ildouble: 2
 ldouble: 2
-Test "Real part of: ctan_towardzero (0x1.921fb6p+0 + 0x1p-149 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: ctan_towardzero (0x1.921fb6p+0 + 0x1p-149 i)":
-float: 1
-ifloat: 1
-ildouble: 5
-ldouble: 5
-
-# ctan_upward
-Test "Real part of: ctan_upward (0x1.921fb54442d1846ap+0 + 0x1p-16445 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctan_upward (0x1.921fb54442d1846ap+0 + 0x1p-16445 i)":
+Test "sin_upward (-0x8.60a92p-4)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: ctan_upward (0x1.921fb54442d18p+0 + 0x1p-1074 i)":
+Test "sin_upward (0x1.921fb4p+0)":
 double: 1
 idouble: 1
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: ctan_upward (0x1.921fb54442d18p+0 + 0x1p-1074 i)":
-ildouble: 3
-ldouble: 3
-Test "Real part of: ctan_upward (0x1.921fb6p+0 + 0x1p-149 i)":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: ctan_upward (0x1.921fb6p+0 + 0x1p-149 i)":
+Test "sin_upward (0x1.921fb6p+0)":
 double: 1
-float: 2
 idouble: 1
-ifloat: 2
-
-# ctanh
-Test "Real part of: ctanh (-2 - 3 i)":
+Test "sin_upward (0x1p+0)":
 double: 1
-float: 1
 idouble: 1
-ifloat: 1
-Test "Imaginary part of: ctanh (-2 - 3 i)":
+Test "sin_upward (0x1p+120)":
 double: 1
 float: 1
 idouble: 1
 ifloat: 1
-Test "Imaginary part of: ctanh (0 + 0x3.243f6cp-1 i)":
+Test "sin_upward (0x1p+28)":
 float: 1
 ifloat: 1
+ildouble: 2
+ldouble: 2
+Test "sin_upward (0x2.1e19e0c9bab24p+72)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: ctanh (0 + pi/4 i)":
+Test "sin_upward (0x2.1e19e4p+72)":
 double: 1
-float: 1
 idouble: 1
-ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "Real part of: ctanh (0.75 + 1.25 i)":
+Test "sin_upward (0x2.1e19ep+72)":
 double: 1
 float: 1
 idouble: 1
 ifloat: 1
-Test "Imaginary part of: ctanh (0.75 + 1.25 i)":
-float: 2
-ifloat: 2
-Test "Real part of: ctanh (1 + 0x1p1023 i)":
 ildouble: 2
 ldouble: 2
-Test "Imaginary part of: ctanh (1 + 0x1p1023 i)":
+Test "sin_upward (0x2.5535376715b9ep+0)":
+double: 1
+idouble: 1
+Test "sin_upward (0x2.553538p+0)":
 double: 1
 idouble: 1
-Test "Real part of: ctanh (1 + 0x1p127 i)":
+Test "sin_upward (0x2p+0)":
+float: 1
+ifloat: 1
+Test "sin_upward (0x2p+64)":
 double: 1
 idouble: 1
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: ctanh (1 + 0x1p127 i)":
-ildouble: 2
-ldouble: 2
-Test "Real part of: ctanh (1 + 0x1p16383 i)":
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: ctanh (1 + 0x1p16383 i)":
+Test "sin_upward (0x3.be735c19be9fep+0)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: ctanh (355 + 1 i)":
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: ctanh (365 + 1 i)":
+Test "sin_upward (0x3.be735c19be9ffffcp+0)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: ctanh (45 + 1 i)":
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: ctanh (47 + 1 i)":
+Test "sin_upward (0x3.be735c19be9fffffffffffffffe8p+0)":
 ildouble: 1
 ldouble: 1
-
-# ctanh_downward
-Test "Real part of: ctanh_downward (0x1p-1074 + 0x1.921fb54442d18p+0 i)":
-ildouble: 3
-ldouble: 3
-Test "Imaginary part of: ctanh_downward (0x1p-1074 + 0x1.921fb54442d18p+0 i)":
-ildouble: 4
-ldouble: 4
-Test "Real part of: ctanh_downward (0x1p-149 + 0x1.921fb6p+0 i)":
-float: 1
-ifloat: 1
-ildouble: 5
-ldouble: 5
-Test "Imaginary part of: ctanh_downward (0x1p-149 + 0x1.921fb6p+0 i)":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: ctanh_downward (0x1p-16445 + 0x1.921fb54442d1846ap+0 i)":
+Test "sin_upward (0x3.be735c19be9fffffffffffffffeap+0)":
+ildouble: 1
+ldouble: 1
+Test "sin_upward (0x3.be735c19be9fffffffffffffffp+0)":
+ildouble: 1
+ldouble: 1
+Test "sin_upward (0x3.be735c19beap+0)":
+double: 1
+idouble: 1
 ildouble: 2
 ldouble: 2
-
-# ctanh_tonearest
-Test "Real part of: ctanh_tonearest (0x1p-1074 + 0x1.921fb54442d18p+0 i)":
-ildouble: 3
-ldouble: 3
-Test "Imaginary part of: ctanh_tonearest (0x1p-1074 + 0x1.921fb54442d18p+0 i)":
-ildouble: 3
-ldouble: 3
-Test "Real part of: ctanh_tonearest (0x1p-149 + 0x1.921fb6p+0 i)":
+Test "sin_upward (0x3.be735cp+0)":
+double: 1
 float: 1
+idouble: 1
 ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: ctanh_tonearest (0x1p-149 + 0x1.921fb6p+0 i)":
+ildouble: 1
+ldouble: 1
+Test "sin_upward (0x3.be736p+0)":
 float: 1
 ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "Real part of: ctanh_tonearest (0x1p-16445 + 0x1.921fb54442d1846ap+0 i)":
+Test "sin_upward (0x3.ec2a0250032a0000000000000072p+0)":
 ildouble: 1
 ldouble: 1
-
-# ctanh_towardzero
-Test "Real part of: ctanh_towardzero (0x1p-1074 + 0x1.921fb54442d18p+0 i)":
+Test "sin_upward (0x3.ec2a0250032a000000000000007p+0)":
 ildouble: 2
 ldouble: 2
-Test "Imaginary part of: ctanh_towardzero (0x1p-1074 + 0x1.921fb54442d18p+0 i)":
+Test "sin_upward (0x3.ec2a0250032a00000000000001p+0)":
 ildouble: 1
 ldouble: 1
-Test "Real part of: ctanh_towardzero (0x1p-149 + 0x1.921fb6p+0 i)":
-float: 1
-ifloat: 1
-ildouble: 5
-ldouble: 5
-Test "Imaginary part of: ctanh_towardzero (0x1p-149 + 0x1.921fb6p+0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: ctanh_towardzero (0x1p-16445 + 0x1.921fb54442d1846ap+0 i)":
+Test "sin_upward (0x3.ec2a0250032a0004p+0)":
 ildouble: 1
 ldouble: 1
-
-# ctanh_upward
-Test "Real part of: ctanh_upward (0x1p-1074 + 0x1.921fb54442d18p+0 i)":
-ildouble: 3
-ldouble: 3
-Test "Imaginary part of: ctanh_upward (0x1p-1074 + 0x1.921fb54442d18p+0 i)":
-double: 1
-idouble: 1
-ildouble: 2
-ldouble: 2
-Test "Real part of: ctanh_upward (0x1p-149 + 0x1.921fb6p+0 i)":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-Test "Imaginary part of: ctanh_upward (0x1p-149 + 0x1.921fb6p+0 i)":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Real part of: ctanh_upward (0x1p-16445 + 0x1.921fb54442d1846ap+0 i)":
+Test "sin_upward (0x3.ec2a0250032a2p+0)":
 ildouble: 1
 ldouble: 1
-Test "Imaginary part of: ctanh_upward (0x1p-16445 + 0x1.921fb54442d1846ap+0 i)":
+Test "sin_upward (0x3.ec2a0250032ap+0)":
 ildouble: 1
 ldouble: 1
-
-# erf
-Test "erf (1.25)":
-double: 1
-idouble: 1
-
-# erfc
-Test "erfc (0x1.f7303cp+1)":
+Test "sin_upward (0x3.ec2a04p+0)":
 double: 1
-idouble: 1
-Test "erfc (0x1.ffa002p+2)":
 float: 1
+idouble: 1
 ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "erfc (0x1.ffffc8p+2)":
-ildouble: 1
-ldouble: 1
-Test "erfc (2.0)":
-double: 1
-idouble: 1
-Test "erfc (27.0)":
+Test "sin_upward (0x3.ec2ap+0)":
 ildouble: 1
 ldouble: 1
-Test "erfc (4.125)":
+Test "sin_upward (0x3p+0)":
 double: 1
+float: 1
 idouble: 1
-
-# exp10
-Test "exp10 (-1)":
+ifloat: 1
+ildouble: 2
+ldouble: 2
+Test "sin_upward (0x4.093385688a2d4p-4)":
 double: 1
 idouble: 1
-Test "exp10 (-305)":
+Test "sin_upward (0x4.093385688a2dp-4)":
 double: 1
 idouble: 1
-Test "exp10 (-36)":
+Test "sin_upward (0x4.09338p-4)":
 double: 1
 idouble: 1
+Test "sin_upward (0x4.1237e153f7080000000000000004p+0)":
 ildouble: 1
 ldouble: 1
-Test "exp10 (3)":
-double: 1
-idouble: 1
-Test "exp10 (36)":
-double: 1
-idouble: 1
-Test "exp10 (4932)":
+Test "sin_upward (0x4.1237e153f70800000000000002p+0)":
 ildouble: 1
 ldouble: 1
-
-# exp2
-Test "exp2 (100.5)":
+Test "sin_upward (0x4.1237e153f7080008p+0)":
 ildouble: 1
 ldouble: 1
-
-# exp_downward
-Test "exp_downward (2)":
-float: 1
-ifloat: 1
+Test "sin_upward (0x4.1237e153f7084p+0)":
+ildouble: 2
+ldouble: 2
+Test "sin_upward (0x4.1237e153f708p+0)":
 ildouble: 1
 ldouble: 1
-Test "exp_downward (3)":
-float: 1
-ifloat: 1
+Test "sin_upward (0x4.1237e8p+0)":
+double: 1
+float: 2
+idouble: 1
+ifloat: 2
 ildouble: 1
 ldouble: 1
-
-# exp_towardzero
-Test "exp_towardzero (2)":
+Test "sin_upward (0x4.1237ep+0)":
+double: 1
 float: 1
+idouble: 1
 ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "exp_towardzero (3)":
+Test "sin_upward (0x4.c92d08p+0)":
 float: 1
 ifloat: 1
 ildouble: 1
 ldouble: 1
-
-# exp_upward
-Test "exp_upward (1)":
-float: 1
-ifloat: 1
+Test "sin_upward (0x4.c92d0ffa4bf00000000000000088p+0)":
 ildouble: 1
 ldouble: 1
-
-# expm1
-Test "expm1 (-79.0)":
+Test "sin_upward (0x4.c92d0ffa4bf0000000000000008cp+0)":
+ildouble: 2
+ldouble: 2
+Test "sin_upward (0x4.c92d0ffa4bf000000000000002p+0)":
 ildouble: 1
 ldouble: 1
-Test "expm1 (0.75)":
-double: 1
-idouble: 1
-Test "expm1 (1)":
+Test "sin_upward (0x4.c92d0ffa4bf00008p+0)":
+ildouble: 1
+ldouble: 1
+Test "sin_upward (0x4.c92d0ffa4bf04p+0)":
 double: 1
-float: 1
 idouble: 1
-ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "expm1 (500.0)":
+Test "sin_upward (0x4.c92d0ffa4bfp+0)":
 double: 1
 idouble: 1
-
-# gamma
-Test "gamma (-0.5)":
 ildouble: 1
 ldouble: 1
-Test "gamma (0.7)":
-double: 1
+Test "sin_upward (0x4.c92d1p+0)":
 float: 1
-idouble: 1
 ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "gamma (1.2)":
-double: 1
+Test "sin_upward (0x4p+0)":
 float: 2
-idouble: 1
 ifloat: 2
 ildouble: 1
 ldouble: 1
-
-# hypot
-Test "hypot (-0.7, -12.4)":
-float: 1
-ifloat: 1
-Test "hypot (-0.7, 12.4)":
-float: 1
-ifloat: 1
-Test "hypot (-12.4, -0.7)":
+Test "sin_upward (0x4p+48)":
 float: 1
 ifloat: 1
-Test "hypot (-12.4, 0.7)":
+ildouble: 1
+ldouble: 1
+Test "sin_upward (0x5.fbec7477d4a80000000000000098p+0)":
+ildouble: 2
+ldouble: 2
+Test "sin_upward (0x5.fbec7477d4a8000000000000009cp+0)":
+ildouble: 1
+ldouble: 1
+Test "sin_upward (0x5.fbec7477d4a800000000000002p+0)":
+ildouble: 2
+ldouble: 2
+Test "sin_upward (0x5.fbec7477d4a80008p+0)":
+ildouble: 2
+ldouble: 2
+Test "sin_upward (0x5.fbec7477d4a84p+0)":
+ildouble: 1
+ldouble: 1
+Test "sin_upward (0x5.fbec7477d4a8p+0)":
+ildouble: 2
+ldouble: 2
+Test "sin_upward (0x5.fbec78p+0)":
+ildouble: 1
+ldouble: 1
+Test "sin_upward (0x5.fbec7p+0)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "sin_upward (0x5p+0)":
 float: 1
 ifloat: 1
-Test "hypot (0.7, -12.4)":
+ildouble: 1
+ldouble: 1
+Test "sin_upward (0x6p+0)":
+ildouble: 1
+ldouble: 1
+Test "sin_upward (0x7p+0)":
+double: 1
 float: 1
+idouble: 1
 ifloat: 1
-Test "hypot (0.7, 12.4)":
+Test "sin_upward (0x8.60a91c16b9b3p-4)":
+double: 1
+idouble: 1
+Test "sin_upward (0x8.60a91p-4)":
+double: 1
+idouble: 1
+Test "sin_upward (0x8.60a92p-4)":
+double: 1
+idouble: 1
+Test "sin_upward (0x8p+0)":
 float: 1
 ifloat: 1
-Test "hypot (12.4, -0.7)":
+Test "sin_upward (0x8p+124)":
+double: 1
+idouble: 1
+Test "sin_upward (0x9p+0)":
 float: 1
 ifloat: 1
-Test "hypot (12.4, 0.7)":
+Test "sin_upward (0xap+0)":
 float: 1
 ifloat: 1
-
-# j0
-Test "j0 (-0x1.001000001p+593)":
+ildouble: 2
+ldouble: 2
+Test "sin_upward (0xb.fa09ap+100)":
+double: 1
+idouble: 1
 ildouble: 1
 ldouble: 1
-Test "j0 (-4.0)":
+Test "sin_upward (0xc.d4966d92d171p-4)":
 double: 1
-float: 1
 idouble: 1
-ifloat: 1
-Test "j0 (0.75)":
+Test "sin_upward (0xc.d4967p-4)":
+double: 1
+idouble: 1
+Test "sin_upward (0xcp-4)":
+double: 1
+idouble: 1
+Test "sin_upward (0xe.ef3af1b5d8008p-4)":
+double: 1
+idouble: 1
+Test "sin_upward (0xe.ef3af1b5d8p-4)":
+double: 1
+idouble: 1
+Test "sin_upward (0xe.ef3afp-4)":
+double: 1
+idouble: 1
+Test "sin_upward (0xe.ef3bp-4)":
+double: 1
+idouble: 1
+Test "sin_upward (0xf.ffffcp+124)":
+ildouble: 1
+ldouble: 1
+Test "sin_upward (0xf.ffffffffffff8p+1020)":
+ildouble: 2
+ldouble: 2
+Test "sin_upward (0xf.ffffffffffffbffffffffffffcp+1020)":
+ildouble: 2
+ldouble: 2
+Test "sin_upward (0xf.fffffp+124)":
+ildouble: 1
+ldouble: 1
+
+# sincos
+Test "sincos (0x1.0c1522p+0) extra output 1":
 float: 1
 ifloat: 1
-Test "j0 (0x1.d7ce3ap+107)":
-float: 2
-ifloat: 2
+Test "sincos (0x1.921fb54442d1846ap+0) extra output 2":
 ildouble: 1
 ldouble: 1
-Test "j0 (0x1p1023)":
+Test "sincos (0x1.921fb54442d18p+0) extra output 2":
 ildouble: 1
 ldouble: 1
-Test "j0 (0x1p16383)":
-ildouble: 2
-ldouble: 2
-Test "j0 (10.0)":
-double: 2
+Test "sincos (0x1p+120) extra output 2":
 float: 1
-idouble: 2
 ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "j0 (2.0)":
-float: 2
-ifloat: 2
-ildouble: 2
-ldouble: 2
-Test "j0 (4.0)":
-double: 1
+ildouble: 1
+ldouble: 1
+Test "sincos (0x1p+28) extra output 2":
+ildouble: 1
+ldouble: 1
+Test "sincos (0x2.1e19e0c9bab24p+72) extra output 1":
+ildouble: 1
+ldouble: 1
+Test "sincos (0x2p+64) extra output 1":
+ildouble: 1
+ldouble: 1
+Test "sincos (0x8.60a92p-4) extra output 2":
 float: 1
-idouble: 1
 ifloat: 1
-Test "j0 (8.0)":
+Test "sincos (0x8p+124) extra output 2":
 float: 1
 ifloat: 1
+Test "sincos (0xc.d4967p-4) extra output 2":
+float: 1
+ifloat: 1
+Test "sincos (0xf.ffffffffffff8p+1020) extra output 2":
 ildouble: 1
 ldouble: 1
-
-# j1
-Test "j1 (-1.0)":
-ildouble: 1
-ldouble: 1
-Test "j1 (0.75)":
+Test "sincos (0xf.ffffffffffffbffffffffffffcp+1020) extra output 2":
 ildouble: 1
 ldouble: 1
-Test "j1 (0x1.3ffp+74)":
+
+# sinh_downward
+Test "sinh_downward (0x1.6p+4)":
 double: 1
 idouble: 1
 ildouble: 1
 ldouble: 1
-Test "j1 (0x1.ff00000000002p+840)":
+Test "sinh_downward (0x1.7p+4)":
 double: 1
 idouble: 1
 ildouble: 1
 ldouble: 1
-Test "j1 (0x1p1023)":
-ildouble: 1
-ldouble: 1
-Test "j1 (0x1p16382)":
+Test "sinh_downward (0x1.8p+4)":
 ildouble: 1
 ldouble: 1
-Test "j1 (0x1p16383)":
-ildouble: 2
-ldouble: 2
-Test "j1 (1.0)":
+Test "sinh_downward (0xcp-4)":
 ildouble: 1
 ldouble: 1
-Test "j1 (10.0)":
-float: 2
-ifloat: 2
-ildouble: 2
-ldouble: 2
-Test "j1 (2.0)":
+
+# sinh_towardzero
+Test "sinh_towardzero (0x1.6p+4)":
 double: 1
 idouble: 1
-Test "j1 (8.0)":
+ildouble: 1
+ldouble: 1
+Test "sinh_towardzero (0x1.7p+4)":
 double: 1
 idouble: 1
-ildouble: 4
-ldouble: 4
+ildouble: 1
+ldouble: 1
+Test "sinh_towardzero (0xcp-4)":
+ildouble: 1
+ldouble: 1
 
-# jn
-Test "jn (0, -4.0)":
+# sinh_upward
+Test "sinh_upward (0x1.7p+4)":
+ildouble: 1
+ldouble: 1
+Test "sinh_upward (0x1.8p+4)":
 double: 1
-float: 1
 idouble: 1
-ifloat: 1
-Test "jn (0, 0.75)":
-float: 1
-ifloat: 1
-Test "jn (0, 10.0)":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "jn (0, 2.0)":
-float: 2
-ifloat: 2
-ildouble: 2
-ldouble: 2
-Test "jn (0, 4.0)":
+Test "sinh_upward (0x8p-32)":
 double: 1
 float: 1
 idouble: 1
 ifloat: 1
-Test "jn (0, 8.0)":
-float: 1
-ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "jn (1, -1.0)":
+Test "sinh_upward (0xcp-4)":
 ildouble: 1
 ldouble: 1
-Test "jn (1, 0.75)":
+
+# tan
+Test "tan (-0xc.90fdcp-4)":
 ildouble: 1
 ldouble: 1
-Test "jn (1, 1.0)":
+Test "tan (-0xc.90fdp-4)":
 ildouble: 1
 ldouble: 1
-Test "jn (1, 10.0)":
-float: 2
-ifloat: 2
-ildouble: 2
-ldouble: 2
-Test "jn (1, 2.0)":
-double: 1
-idouble: 1
-Test "jn (1, 8.0)":
+Test "tan (-0xc.90fp-4)":
+ildouble: 1
+ldouble: 1
+Test "tan (0x3p+0)":
+ildouble: 1
+ldouble: 1
+Test "tan (0x6p+0)":
+ildouble: 1
+ldouble: 1
+
+# tan_downward
+Test "tan_downward (-0x2p+64)":
 double: 1
 idouble: 1
-ildouble: 4
-ldouble: 4
-Test "jn (10, -1.0)":
+Test "tan_downward (-0xc.908p-4)":
+float: 2
+ifloat: 2
 ildouble: 1
 ldouble: 1
-Test "jn (10, 0.125)":
+Test "tan_downward (-0xc.90cp-4)":
+float: 1
+ifloat: 1
+Test "tan_downward (-0xc.90ep-4)":
 double: 1
 float: 1
 idouble: 1
 ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "jn (10, 0.75)":
+Test "tan_downward (-0xc.90f8p-4)":
 double: 1
 float: 1
 idouble: 1
 ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "jn (10, 1.0)":
-ildouble: 1
-ldouble: 1
-Test "jn (10, 10.0)":
-double: 4
-float: 3
-idouble: 4
-ifloat: 3
-ildouble: 2
-ldouble: 2
-Test "jn (10, 2.0)":
+Test "tan_downward (-0xc.90fcp-4)":
+float: 1
+ifloat: 1
+Test "tan_downward (-0xc.90fd8p-4)":
 double: 1
-float: 2
-idouble: 1
-ifloat: 2
-Test "jn (2, 0x1.ffff62p+99)":
-double: 2
-float: 2
-idouble: 2
-ifloat: 2
-Test "jn (2, 2.4048255576957729)":
-double: 2
 float: 1
-idouble: 2
+idouble: 1
 ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "jn (3, 0.125)":
+Test "tan_downward (-0xc.90fdap-4)":
 double: 1
 float: 1
 idouble: 1
 ifloat: 1
-Test "jn (3, 0.75)":
+Test "tan_downward (-0xc.90fdbp-4)":
 double: 1
 float: 1
 idouble: 1
 ifloat: 1
-Test "jn (3, 10.0)":
-double: 3
+Test "tan_downward (-0xc.90fdcp-4)":
+double: 1
 float: 1
-idouble: 3
+idouble: 1
 ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "jn (3, 2.0)":
+Test "tan_downward (-0xc.90fdp-4)":
 float: 1
 ifloat: 1
-Test "jn (3, 2.4048255576957729)":
-double: 3
-idouble: 3
 ildouble: 1
 ldouble: 1
-Test "jn (4, 2.4048255576957729)":
+Test "tan_downward (-0xc.90fep-4)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+Test "tan_downward (-0xc.90fp-4)":
 double: 1
+float: 1
 idouble: 1
+ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "jn (5, 2.4048255576957729)":
-double: 3
+Test "tan_downward (-0xc.91p-4)":
+double: 1
 float: 1
-idouble: 3
+idouble: 1
 ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "jn (6, 2.4048255576957729)":
-double: 4
-float: 3
-idouble: 4
-ifloat: 3
-ildouble: 5
-ldouble: 5
-Test "jn (7, 2.4048255576957729)":
-double: 3
-float: 5
-idouble: 3
-ifloat: 5
-ildouble: 3
-ldouble: 3
-Test "jn (8, 2.4048255576957729)":
-double: 3
-float: 2
-idouble: 3
-ifloat: 2
-ildouble: 8
-ldouble: 8
-Test "jn (9, 2.4048255576957729)":
+ildouble: 1
+ldouble: 1
+Test "tan_downward (-0xc.92p-4)":
 double: 1
-float: 2
 idouble: 1
-ifloat: 2
-ildouble: 3
-ldouble: 3
-
-# lgamma
-Test "lgamma (-0.5)":
+Test "tan_downward (-0xc.98p-4)":
 ildouble: 1
 ldouble: 1
-Test "lgamma (0.7)":
+Test "tan_downward (-0xc.9p-4)":
 double: 1
 float: 1
 idouble: 1
 ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "lgamma (1.2)":
+Test "tan_downward (-0xc.ap-4)":
 double: 1
-float: 2
 idouble: 1
-ifloat: 2
 ildouble: 1
 ldouble: 1
-
-# log10
-Test "log10 (0.75)":
+Test "tan_downward (0x1p+0)":
+double: 1
+idouble: 1
+Test "tan_downward (0x2.1e19e0c9bab24p+72)":
 double: 1
-float: 2
 idouble: 1
-ifloat: 2
-Test "log10 (e)":
-float: 1
-ifloat: 1
 ildouble: 1
 ldouble: 1
-
-# log1p
-Test "log1p (-0.25)":
-float: 1
-ifloat: 1
-
-# log2
-Test "log2 (0.75)":
+Test "tan_downward (0x2.1e19ep+72)":
 ildouble: 1
 ldouble: 1
-
-# pow
-Test "pow (0x0.fffffffffffff8p0, -0x1.23456789abcdfp62)":
+Test "tan_downward (0x2p+0)":
+double: 1
+idouble: 1
 ildouble: 1
 ldouble: 1
-Test "pow (0x0.ffffffp0, -0x1p24)":
-float: 1
-ifloat: 1
+Test "tan_downward (0x2p+64)":
 ildouble: 1
 ldouble: 1
-Test "pow (0x0.ffffffp0, 0x1p24)":
-float: 1
-ifloat: 1
-Test "pow (0x1.000002p0, 0x1p24)":
+Test "tan_downward (0x3p+0)":
+double: 1
+idouble: 1
+Test "tan_downward (0x4p+0)":
 float: 1
 ifloat: 1
-Test "pow (10.0, -4930.0)":
 ildouble: 1
 ldouble: 1
-Test "pow (10.0, 4929.0)":
-ildouble: 1
-ldouble: 1
-Test "pow (10.0, 4930.0)":
+Test "tan_downward (0x6p+0)":
+double: 1
+idouble: 1
+Test "tan_downward (0x7p+0)":
+double: 1
+idouble: 1
 ildouble: 1
 ldouble: 1
-Test "pow (10.0, 4931.0)":
+Test "tan_downward (0x8p+0)":
 ildouble: 1
 ldouble: 1
-Test "pow (10.0, 4932.0)":
+Test "tan_downward (0x8p+1020)":
+double: 1
+idouble: 1
 ildouble: 1
 ldouble: 1
-Test "pow (1e4932, 0.75)":
+Test "tan_downward (0x8p+16380)":
 ildouble: 1
 ldouble: 1
-
-# pow10
-Test "pow10 (-1)":
+Test "tan_downward (0xc.908p-4)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+Test "tan_downward (0xc.90cp-4)":
 double: 1
 idouble: 1
-Test "pow10 (-305)":
+Test "tan_downward (0xc.90fcp-4)":
 double: 1
 idouble: 1
-Test "pow10 (-36)":
+Test "tan_downward (0xc.90fdaa22168c8p-4)":
 double: 1
 idouble: 1
+Test "tan_downward (0xc.90fdbp-4)":
 ildouble: 1
 ldouble: 1
-Test "pow10 (3)":
-double: 1
-idouble: 1
-Test "pow10 (36)":
+Test "tan_downward (0xc.90fdcp-4)":
+ildouble: 1
+ldouble: 1
+Test "tan_downward (0xc.90fdp-4)":
 double: 1
 idouble: 1
-Test "pow10 (4932)":
+Test "tan_downward (0xc.90fep-4)":
 ildouble: 1
 ldouble: 1
-
-# pow_downward
-Test "pow_downward (1.5, 1.03125)":
-float: 1
-ifloat: 1
-
-# pow_towardzero
-Test "pow_towardzero (1.5, 1.03125)":
+Test "tan_downward (0xc.91p-4)":
+ildouble: 1
+ldouble: 1
+Test "tan_downward (0xc.92p-4)":
 float: 1
 ifloat: 1
-
-# pow_upward
-Test "pow_upward (1.0625, 1.125)":
+ildouble: 1
+ldouble: 1
+Test "tan_downward (0xc.94p-4)":
+double: 1
 float: 1
+idouble: 1
 ifloat: 1
 ildouble: 1
 ldouble: 1
-
-# sin_downward
-Test "sin_downward (10)":
+Test "tan_downward (0xc.98p-4)":
+double: 1
 float: 1
+idouble: 1
 ifloat: 1
-Test "sin_downward (2)":
 ildouble: 1
 ldouble: 1
-Test "sin_downward (3)":
+Test "tan_downward (0xc.ap-4)":
 float: 1
 ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "sin_downward (4)":
+Test "tan_downward (0xcp-4)":
+double: 1
+idouble: 1
+Test "tan_downward (0xf.fffffp+124)":
 ildouble: 1
 ldouble: 1
-Test "sin_downward (5)":
-float: 1
-ifloat: 1
+
+# tan_tonearest
+Test "tan_tonearest (-0xc.90fdcp-4)":
 ildouble: 1
 ldouble: 1
-Test "sin_downward (6)":
-float: 1
-ifloat: 1
-Test "sin_downward (8)":
+Test "tan_tonearest (-0xc.90fdp-4)":
 ildouble: 1
 ldouble: 1
-Test "sin_downward (9)":
+Test "tan_tonearest (-0xc.90fp-4)":
 ildouble: 1
 ldouble: 1
-
-# sin_tonearest
-Test "sin_tonearest (1)":
-float: 1
-ifloat: 1
-Test "sin_tonearest (3)":
+Test "tan_tonearest (0x3p+0)":
+ildouble: 1
+ldouble: 1
+Test "tan_tonearest (0x6p+0)":
 ildouble: 1
 ldouble: 1
 
-# sin_towardzero
-Test "sin_towardzero (1)":
-float: 1
-ifloat: 1
-Test "sin_towardzero (10)":
+# tan_towardzero
+Test "tan_towardzero (-0x2p+64)":
+double: 1
+idouble: 1
+Test "tan_towardzero (-0xc.908p-4)":
+double: 1
 float: 1
+idouble: 1
 ifloat: 1
-Test "sin_towardzero (2)":
+Test "tan_towardzero (-0xc.90cp-4)":
+double: 1
+idouble: 1
 ildouble: 1
 ldouble: 1
-Test "sin_towardzero (3)":
+Test "tan_towardzero (-0xc.90f8p-4)":
 ildouble: 1
 ldouble: 1
-Test "sin_towardzero (4)":
-float: 1
-ifloat: 1
+Test "tan_towardzero (-0xc.90fcp-4)":
+double: 1
+idouble: 1
 ildouble: 1
 ldouble: 1
-Test "sin_towardzero (5)":
-float: 1
-ifloat: 1
+Test "tan_towardzero (-0xc.90fd8p-4)":
 ildouble: 1
 ldouble: 1
-Test "sin_towardzero (8)":
+Test "tan_towardzero (-0xc.90fdap-4)":
 ildouble: 1
 ldouble: 1
-Test "sin_towardzero (9)":
-float: 1
-ifloat: 1
+Test "tan_towardzero (-0xc.90fdp-4)":
+double: 1
+idouble: 1
+Test "tan_towardzero (-0xc.91p-4)":
 ildouble: 1
 ldouble: 1
-
-# sin_upward
-Test "sin_upward (1)":
+Test "tan_towardzero (-0xc.94p-4)":
+double: 1
+idouble: 1
+Test "tan_towardzero (-0xc.98p-4)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "tan_towardzero (-0xc.ap-4)":
+ildouble: 1
+ldouble: 1
+Test "tan_towardzero (0x1p+0)":
+double: 1
 float: 1
+idouble: 1
 ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "sin_upward (10)":
+Test "tan_towardzero (0x2.1e19e0c9bab24p+72)":
+ildouble: 1
+ldouble: 1
+Test "tan_towardzero (0x2.1e19e4p+72)":
+double: 1
+idouble: 1
+Test "tan_towardzero (0x2.1e19ep+72)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "tan_towardzero (0x2p+0)":
 ildouble: 1
 ldouble: 1
-Test "sin_upward (2)":
-float: 2
-ifloat: 2
-Test "sin_upward (3)":
+Test "tan_towardzero (0x2p+64)":
+double: 1
+idouble: 1
 ildouble: 1
 ldouble: 1
-Test "sin_upward (4)":
-float: 1
-ifloat: 1
-Test "sin_upward (6)":
+Test "tan_towardzero (0x5p+0)":
+double: 1
+idouble: 1
+Test "tan_towardzero (0x7p+0)":
+double: 1
+idouble: 1
 ildouble: 1
 ldouble: 1
-Test "sin_upward (7)":
+Test "tan_towardzero (0x8p+0)":
+double: 1
+idouble: 1
 ildouble: 1
 ldouble: 1
-Test "sin_upward (9)":
-float: 1
-ifloat: 1
-
-# sincos
-Test "sincos (0x1p+120) extra output 2":
-float: 1
-ifloat: 1
-Test "sincos (0x1p+127) extra output 2":
+Test "tan_towardzero (0x8p+16380)":
+ildouble: 1
+ldouble: 1
+Test "tan_towardzero (0x9p+0)":
+double: 1
 float: 1
+idouble: 1
 ifloat: 1
-Test "sincos (M_PI_6l*2.0) extra output 1":
+Test "tan_towardzero (0xc.908p-4)":
 double: 1
 float: 1
 idouble: 1
 ifloat: 1
-Test "sincos (M_PI_6l*2.0) extra output 2":
+Test "tan_towardzero (0xc.90cp-4)":
+double: 1
+idouble: 1
+Test "tan_towardzero (0xc.90fcp-4)":
+double: 1
+idouble: 1
+Test "tan_towardzero (0xc.90fdaa22168c8p-4)":
+double: 1
+idouble: 1
+Test "tan_towardzero (0xc.90fdp-4)":
+double: 1
+idouble: 1
+Test "tan_towardzero (0xc.94p-4)":
+double: 1
+idouble: 1
+Test "tan_towardzero (0xc.98p-4)":
+double: 1
+idouble: 1
+Test "tan_towardzero (0xcp-4)":
+double: 1
+idouble: 1
+Test "tan_towardzero (0xf.ffffffffffff8p+1020)":
+double: 1
+idouble: 1
+Test "tan_towardzero (0xf.fffffp+124)":
 double: 1
 idouble: 1
-Test "sincos (pi/6) extra output 2":
-float: 1
-ifloat: 1
 
-# sinh_downward
-Test "sinh_downward (22)":
-float: 1
-ifloat: 1
+# tan_upward
+Test "tan_upward (-0xc.908p-4)":
+double: 1
+idouble: 1
 ildouble: 1
 ldouble: 1
-Test "sinh_downward (23)":
+Test "tan_upward (-0xc.90cp-4)":
+double: 1
 float: 1
+idouble: 1
 ifloat: 1
 ildouble: 2
 ldouble: 2
-Test "sinh_downward (24)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-# sinh_towardzero
-Test "sinh_towardzero (22)":
+Test "tan_upward (-0xc.90ep-4)":
 float: 1
 ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "sinh_towardzero (23)":
+Test "tan_upward (-0xc.90f8p-4)":
 float: 1
 ifloat: 1
 ildouble: 2
 ldouble: 2
-Test "sinh_towardzero (24)":
+Test "tan_upward (-0xc.90fcp-4)":
+double: 1
 float: 1
+idouble: 1
 ifloat: 1
-
-# sinh_upward
-Test "sinh_upward (22)":
-ildouble: 1
-ldouble: 1
-Test "sinh_upward (23)":
-ildouble: 1
-ldouble: 1
-Test "sinh_upward (24)":
-ildouble: 1
-ldouble: 1
-
-# tan_downward
-Test "tan_downward (1)":
+ildouble: 2
+ldouble: 2
+Test "tan_upward (-0xc.90fd8p-4)":
 float: 1
 ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "tan_downward (10)":
+ildouble: 2
+ldouble: 2
+Test "tan_upward (-0xc.90fdap-4)":
 float: 1
 ifloat: 1
-Test "tan_downward (2)":
+ildouble: 2
+ldouble: 2
+Test "tan_upward (-0xc.90fdbp-4)":
 float: 1
 ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "tan_downward (6)":
+Test "tan_upward (-0xc.90fdcp-4)":
 float: 1
 ifloat: 1
-Test "tan_downward (8)":
+Test "tan_upward (-0xc.90fdp-4)":
+double: 1
 float: 1
+idouble: 1
 ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "tan_downward (9)":
-float: 1
-ifloat: 1
-
-# tan_towardzero
-Test "tan_towardzero (10)":
+Test "tan_upward (-0xc.90fep-4)":
 float: 1
 ifloat: 1
-Test "tan_towardzero (3)":
+Test "tan_upward (-0xc.90fp-4)":
 float: 1
 ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "tan_towardzero (4)":
+Test "tan_upward (-0xc.91p-4)":
 float: 1
 ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "tan_towardzero (5)":
+Test "tan_upward (-0xc.94p-4)":
+double: 1
+idouble: 1
+Test "tan_upward (-0xc.98p-4)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "tan_upward (-0xc.9p-4)":
 float: 1
 ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "tan_towardzero (6)":
+Test "tan_upward (-0xc.ap-4)":
 ildouble: 1
 ldouble: 1
-Test "tan_towardzero (9)":
+Test "tan_upward (0x1p+0)":
 float: 1
 ifloat: 1
+Test "tan_upward (0x2.1e19e4p+72)":
+double: 1
+idouble: 1
+Test "tan_upward (0x2.1e19ep+72)":
+double: 1
+idouble: 1
 ildouble: 1
 ldouble: 1
-
-# tan_upward
-Test "tan_upward (1)":
-float: 1
-ifloat: 1
-Test "tan_upward (10)":
-float: 1
-ifloat: 1
+Test "tan_upward (0x2p+64)":
+double: 1
+idouble: 1
 ildouble: 1
 ldouble: 1
-Test "tan_upward (2)":
+Test "tan_upward (0x4p+0)":
+double: 1
+idouble: 1
 ildouble: 1
 ldouble: 1
-Test "tan_upward (3)":
+Test "tan_upward (0x5p+0)":
+double: 1
+idouble: 1
+Test "tan_upward (0x7p+0)":
 float: 1
 ifloat: 1
+Test "tan_upward (0x8p+0)":
+double: 1
+idouble: 1
 ildouble: 1
 ldouble: 1
-Test "tan_upward (4)":
-ildouble: 1
-ldouble: 1
-Test "tan_upward (5)":
+Test "tan_upward (0x9p+0)":
+double: 1
+idouble: 1
+Test "tan_upward (0xap+0)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+Test "tan_upward (0xc.908p-4)":
 float: 1
 ifloat: 1
+Test "tan_upward (0xc.90ep-4)":
+double: 1
+idouble: 1
+Test "tan_upward (0xc.90f8p-4)":
+double: 1
+idouble: 1
+Test "tan_upward (0xc.90fd8p-4)":
+double: 1
+idouble: 1
+Test "tan_upward (0xc.90fdap-4)":
+double: 1
+idouble: 1
+Test "tan_upward (0xc.90fdbp-4)":
+double: 1
+idouble: 1
 ildouble: 1
 ldouble: 1
-Test "tan_upward (6)":
+Test "tan_upward (0xc.90fdcp-4)":
+double: 1
+idouble: 1
 ildouble: 1
 ldouble: 1
-Test "tan_upward (9)":
+Test "tan_upward (0xc.90fep-4)":
+double: 1
+idouble: 1
 ildouble: 1
 ldouble: 1
-
-# tanh
-Test "tanh (-0.75)":
+Test "tan_upward (0xc.90fp-4)":
+double: 1
+idouble: 1
+Test "tan_upward (0xc.91p-4)":
+double: 1
+idouble: 1
 ildouble: 1
 ldouble: 1
-Test "tanh (-1.0)":
+Test "tan_upward (0xc.92p-4)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "tanh (0.75)":
+Test "tan_upward (0xc.94p-4)":
+float: 1
+ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "tanh (1.0)":
+Test "tan_upward (0xc.98p-4)":
+float: 1
+ifloat: 1
 ildouble: 1
 ldouble: 1
-
-# tgamma
-Test "tgamma (-0.5)":
+Test "tan_upward (0xc.9p-4)":
 double: 1
-float: 1
 idouble: 1
-ifloat: 1
-Test "tgamma (-0x0.fffffffffffff8p0)":
+Test "tan_upward (0xc.ap-4)":
 double: 1
+float: 1
 idouble: 1
-Test "tgamma (-0x0.ffffffffffffffffffffffffffff8p0)":
+ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "tgamma (-0x0.ffffffp0)":
+Test "tan_upward (0xcp-4)":
 float: 1
 ifloat: 1
+Test "tan_upward (0xf.ffffffffffff8p+1020)":
+double: 1
+idouble: 1
+Test "tan_upward (0xf.fffffp+124)":
+double: 1
+idouble: 1
 ildouble: 1
 ldouble: 1
-Test "tgamma (-0x1.0000000000000002p0)":
+
+# tanh
+Test "tanh (-0x1p+0)":
 ildouble: 1
 ldouble: 1
-Test "tgamma (-0x1.0000000000001p0)":
+Test "tanh (-0xcp-4)":
 ildouble: 1
 ldouble: 1
-Test "tgamma (-0x1.000002p0)":
-double: 2
-idouble: 2
-Test "tgamma (-0x1.0a32a2p+5)":
-float: 2
-ifloat: 2
-ildouble: 2
-ldouble: 2
-Test "tgamma (-0x1.5800000080001p+7)":
+Test "tanh (0x1p+0)":
+ildouble: 1
+ldouble: 1
+Test "tanh (0xcp-4)":
 ildouble: 1
 ldouble: 1
-Test "tgamma (-0x1.fffffffffffffffep0)":
+
+# tgamma
+Test "tgamma (-0x1.0000000000000002p+0)":
 ildouble: 1
 ldouble: 1
-Test "tgamma (-0x1.fffffffffffffp0)":
+Test "tgamma (-0x1.0000000000001p+0)":
 ildouble: 1
 ldouble: 1
-Test "tgamma (-0x13.ffffep0)":
+Test "tgamma (-0x1.000002p+0)":
+double: 2
+idouble: 2
+Test "tgamma (-0x1.3ffffep+4)":
 float: 2
 ifloat: 2
 ildouble: 1
 ldouble: 1
-Test "tgamma (-0x13.ffffffffffffffep0)":
+Test "tgamma (-0x1.3ffffffffffffffep+4)":
 ildouble: 1
 ldouble: 1
-Test "tgamma (-0x13.fffffffffffffffffffffffff8p0)":
+Test "tgamma (-0x1.3fffffffffffffffffffffffff8p+4)":
 ildouble: 1
 ldouble: 1
-Test "tgamma (-0x13.ffffffffffffp0)":
+Test "tgamma (-0x1.3ffffffffffffp+4)":
 ildouble: 2
 ldouble: 2
-Test "tgamma (-0x14.000000000000000000000000001p0)":
+Test "tgamma (-0x1.4000000000000000000000000001p+4)":
 ildouble: 1
 ldouble: 1
-Test "tgamma (-0x14.000000000001p0)":
+Test "tgamma (-0x1.4000000000001p+4)":
 double: 1
 idouble: 1
 ildouble: 1
 ldouble: 1
-Test "tgamma (-0x14.00002p0)":
+Test "tgamma (-0x1.400002p+4)":
 float: 1
 ifloat: 1
 ildouble: 4
 ldouble: 4
-Test "tgamma (-0x1d.ffffep0)":
+Test "tgamma (-0x1.dffffep+4)":
 double: 1
 float: 1
 idouble: 1
 ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "tgamma (-0x1d.fffffffffffffffffffffffff8p0)":
+Test "tgamma (-0x1.dfffffffffffffffffffffffff8p+4)":
 ildouble: 1
 ldouble: 1
-Test "tgamma (-0x1d.ffffffffffffp0)":
+Test "tgamma (-0x1.dffffffffffffp+4)":
 ildouble: 1
 ldouble: 1
-Test "tgamma (-0x1e.000000000000000000000000001p0)":
-ildouble: 2
-ldouble: 2
-Test "tgamma (-0x1e.00000000000000000000000008p0)":
+Test "tgamma (-0x1.e000000000000000000000000001p+4)":
+ildouble: 3
+ldouble: 3
+Test "tgamma (-0x1.e00000000000000000000000008p+4)":
 ildouble: 1
 ldouble: 1
-Test "tgamma (-0x1e.000000000000002p0)":
+Test "tgamma (-0x1.e000000000000002p+4)":
 ildouble: 1
 ldouble: 1
-Test "tgamma (-0x1e.000000000001p0)":
+Test "tgamma (-0x1.e000000000001p+4)":
 double: 3
 idouble: 3
-Test "tgamma (-0x1e.00002p0)":
+Test "tgamma (-0x1.e00002p+4)":
 double: 1
 float: 1
 idouble: 1
 ifloat: 1
+ildouble: 2
+ldouble: 2
+Test "tgamma (-0x1.f3ffffffffffffffffffffffff8p+8)":
 ildouble: 1
 ldouble: 1
-Test "tgamma (-0x1f3.ffffffffffffffffffffffffffp0)":
+Test "tgamma (-0x1.f3ffffffffffffffffffffffffffp+8)":
 ildouble: 1
 ldouble: 1
-Test "tgamma (-0x1p-24)":
+Test "tgamma (-0x1.f3fffffffffffp+8)":
+ildouble: 2
+ldouble: 2
+Test "tgamma (-0x1.f40000000000000000000000008p+8)":
 ildouble: 1
 ldouble: 1
-Test "tgamma (-0x2.0000000000000000000000000002p0)":
+Test "tgamma (-0x1.f40002p+8)":
 ildouble: 1
 ldouble: 1
-Test "tgamma (-0x2.0000000000002p0)":
-double: 1
-idouble: 1
+Test "tgamma (-0x1.fffffffffffffffep+0)":
 ildouble: 1
 ldouble: 1
-Test "tgamma (-0x2.000004p0)":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
+Test "tgamma (-0x1.fffffffffffffp+0)":
+ildouble: 1
+ldouble: 1
+Test "tgamma (-0x2.0000000000000000000000000002p+0)":
+ildouble: 1
+ldouble: 1
+Test "tgamma (-0x2.00000000000000000000000001p+0)":
 ildouble: 1
 ldouble: 1
-Test "tgamma (-0x2.fffffcp0)":
+Test "tgamma (-0x2.0000000000002p+0)":
 double: 1
-float: 1
 idouble: 1
+Test "tgamma (-0x2.000004p+0)":
+double: 2
+float: 1
+idouble: 2
 ifloat: 1
-Test "tgamma (-0x2.ffffffffffffep0)":
 ildouble: 1
 ldouble: 1
-Test "tgamma (-0x27.fffffffffffep0)":
+Test "tgamma (-0x2.146544p+4)":
+float: 2
+ifloat: 2
+ildouble: 2
+ldouble: 2
+Test "tgamma (-0x2.7fffffffffffep+4)":
 double: 1
 idouble: 1
 ildouble: 1
 ldouble: 1
-Test "tgamma (-0x27.ffffffffffffffcp0)":
+Test "tgamma (-0x2.7ffffffffffffffcp+4)":
 ildouble: 1
 ldouble: 1
-Test "tgamma (-0x27.ffffffffffffffffffffffffffep0)":
+Test "tgamma (-0x2.7ffffffffffffffffffffffffffep+4)":
 ildouble: 2
 ldouble: 2
-Test "tgamma (-0x27.fffffffffffffffffffffffffp0)":
+Test "tgamma (-0x2.7fffffffffffffffffffffffffp+4)":
+ildouble: 1
+ldouble: 1
+Test "tgamma (-0x2.8000000000000000000000000002p+4)":
 ildouble: 1
 ldouble: 1
-Test "tgamma (-0x28.0000000000000000000000001p0)":
+Test "tgamma (-0x2.80000000000000000000000001p+4)":
 ildouble: 1
 ldouble: 1
-Test "tgamma (-0x28.000000000002p0)":
+Test "tgamma (-0x2.8000000000002p+4)":
 double: 1
 idouble: 1
 ildouble: 1
 ldouble: 1
-Test "tgamma (-0x28.00004p0)":
+Test "tgamma (-0x2.800004p+4)":
 double: 2
 idouble: 2
 ildouble: 2
 ldouble: 2
-Test "tgamma (-0x28.ffffffffffffffcp0)":
+Test "tgamma (-0x2.8fffffffffffep+4)":
 ildouble: 1
 ldouble: 1
-Test "tgamma (-0x28.ffffffffffffffffffffffffffep0)":
+Test "tgamma (-0x2.8ffffffffffffffcp+4)":
 ildouble: 1
 ldouble: 1
-Test "tgamma (-0x28.fffffffffffffffffffffffffp0)":
+Test "tgamma (-0x2.8ffffffffffffffffffffffffffep+4)":
 ildouble: 1
 ldouble: 1
-Test "tgamma (-0x29.000000000000000000000000002p0)":
+Test "tgamma (-0x2.8p+0)":
+double: 1
+float: 2
+idouble: 1
+ifloat: 2
+Test "tgamma (-0x2.9000000000000000000000000002p+4)":
 ildouble: 1
 ldouble: 1
-Test "tgamma (-0x29.0000000000000000000000001p0)":
+Test "tgamma (-0x2.90000000000000000000000001p+4)":
 ildouble: 2
 ldouble: 2
-Test "tgamma (-0x29.00004p0)":
+Test "tgamma (-0x2.900004p+4)":
 double: 1
 idouble: 1
-Test "tgamma (-0x29.ffffcp0)":
+Test "tgamma (-0x2.9ffffcp+4)":
 double: 1
 idouble: 1
-Test "tgamma (-0x29.fffffffffffep0)":
+Test "tgamma (-0x2.9fffffffffffep+4)":
+ildouble: 1
+ldouble: 1
+Test "tgamma (-0x2.9ffffffffffffffcp+4)":
+ildouble: 1
+ldouble: 1
+Test "tgamma (-0x2.9ffffffffffffffffffffffffffep+4)":
+ildouble: 1
+ldouble: 1
+Test "tgamma (-0x2.9fffffffffffffffffffffffffp+4)":
+ildouble: 1
+ldouble: 1
+Test "tgamma (-0x2.a000000000000000000000000002p+4)":
+ildouble: 1
+ldouble: 1
+Test "tgamma (-0x2.a000000000000004p+4)":
+ildouble: 1
+ldouble: 1
+Test "tgamma (-0x2.a000000000002p+4)":
 ildouble: 1
 ldouble: 1
-Test "tgamma (-0x29.ffffffffffffffcp0)":
+Test "tgamma (-0x2.a00004p+4)":
 ildouble: 1
 ldouble: 1
-Test "tgamma (-0x29.ffffffffffffffffffffffffffep0)":
+Test "tgamma (-0x2.edfffcp+8)":
 ildouble: 1
 ldouble: 1
-Test "tgamma (-0x29.fffffffffffffffffffffffffp0)":
+Test "tgamma (-0x2.edffffffffffep+8)":
 ildouble: 1
 ldouble: 1
-Test "tgamma (-0x2a.000000000000000000000000002p0)":
+Test "tgamma (-0x2.edfffffffffffffffffffffffffep+8)":
 ildouble: 1
 ldouble: 1
-Test "tgamma (-0x2a.0000000000000000000000001p0)":
+Test "tgamma (-0x2.ee00000000000000000000000002p+8)":
 ildouble: 1
 ldouble: 1
-Test "tgamma (-0x2a.000000000000004p0)":
+Test "tgamma (-0x2.ee00000000000004p+8)":
+ildouble: 2
+ldouble: 2
+Test "tgamma (-0x2.ee00000000002p+8)":
 ildouble: 1
 ldouble: 1
-Test "tgamma (-0x2a.000000000002p0)":
+Test "tgamma (-0x2.ee0004p+8)":
 ildouble: 1
 ldouble: 1
-Test "tgamma (-0x2ed.fffffffffffffffffffffffffep0)":
+Test "tgamma (-0x2.fffffcp+0)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+Test "tgamma (-0x2.ffffffffffffep+0)":
 ildouble: 1
 ldouble: 1
-Test "tgamma (-0x2ee.00000000000004p0)":
+Test "tgamma (-0x2.fffffffffffffffffffffffffffep+0)":
 ildouble: 1
 ldouble: 1
-Test "tgamma (-0x3.00000000000000000000000001p0)":
+Test "tgamma (-0x3.00000000000000000000000001p+0)":
 ildouble: 1
 ldouble: 1
-Test "tgamma (-0x3.000004p0)":
+Test "tgamma (-0x3.000004p+0)":
 double: 2
 float: 1
 idouble: 2
 ifloat: 1
-Test "tgamma (-0x3.fffffcp0)":
+Test "tgamma (-0x3.1ffffcp+4)":
+double: 1
+idouble: 1
+ildouble: 2
+ldouble: 2
+Test "tgamma (-0x3.1fffffffffffep+4)":
+double: 3
+idouble: 3
+ildouble: 2
+ldouble: 2
+Test "tgamma (-0x3.1ffffffffffffffcp+4)":
+ildouble: 1
+ldouble: 1
+Test "tgamma (-0x3.1ffffffffffffffffffffffffffep+4)":
+ildouble: 1
+ldouble: 1
+Test "tgamma (-0x3.1fffffffffffffffffffffffffp+4)":
+ildouble: 2
+ldouble: 2
+Test "tgamma (-0x3.2000000000000000000000000002p+4)":
+ildouble: 1
+ldouble: 1
+Test "tgamma (-0x3.2000000000000004p+4)":
+ildouble: 1
+ldouble: 1
+Test "tgamma (-0x3.200004p+4)":
+ildouble: 1
+ldouble: 1
+Test "tgamma (-0x3.8p+0)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "tgamma (-0x3.e7fffffffffffffcp+8)":
+ildouble: 1
+ldouble: 1
+Test "tgamma (-0x3.e7fffffffffffffffffffffffffep+8)":
+ildouble: 1
+ldouble: 1
+Test "tgamma (-0x3.e7ffffffffffffffffffffffffp+8)":
+ildouble: 2
+ldouble: 2
+Test "tgamma (-0x3.e800000000000000000000000002p+8)":
+ildouble: 2
+ldouble: 2
+Test "tgamma (-0x3.e8000000000000000000000001p+8)":
+ildouble: 2
+ldouble: 2
+Test "tgamma (-0x3.e800000000000004p+8)":
+ildouble: 2
+ldouble: 2
+Test "tgamma (-0x3.e800000000002p+8)":
+ildouble: 1
+ldouble: 1
+Test "tgamma (-0x3.e80004p+8)":
+ildouble: 2
+ldouble: 2
+Test "tgamma (-0x3.fffffcp+0)":
 double: 1
 float: 1
 idouble: 1
 ifloat: 1
-Test "tgamma (-0x3.ffffffffffffep0)":
+Test "tgamma (-0x3.ffffffffffffep+0)":
 double: 2
 idouble: 2
-Test "tgamma (-0x3.fffffffffffffffcp0)":
+Test "tgamma (-0x3.fffffffffffffffcp+0)":
 ildouble: 1
 ldouble: 1
-Test "tgamma (-0x3.fffffffffffffffffffffffffffep0)":
-ildouble: 2
-ldouble: 2
-Test "tgamma (-0x31.fffffffffffep0)":
-double: 3
-idouble: 3
+Test "tgamma (-0x3.fffffffffffffffffffffffffffep+0)":
 ildouble: 2
 ldouble: 2
-Test "tgamma (-0x31.ffffffffffffffcp0)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x31.ffffffffffffffffffffffffffep0)":
+Test "tgamma (-0x4.000008p+0)":
+float: 1
+ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "tgamma (-0x31.fffffffffffffffffffffffffp0)":
-ildouble: 2
-ldouble: 2
-Test "tgamma (-0x32.000000000000000000000000002p0)":
+Test "tgamma (-0x4.8p+0)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "tgamma (-0x32.0000000000000000000000001p0)":
+Test "tgamma (-0x4.e1fffffffffffffffffffffffep+8)":
 ildouble: 1
 ldouble: 1
-Test "tgamma (-0x32.000000000000004p0)":
+Test "tgamma (-0x4.e2000000000000000000000002p+8)":
 ildouble: 1
 ldouble: 1
-Test "tgamma (-0x3e7.fffffffffffffcp0)":
+Test "tgamma (-0x4.e200000000000008p+8)":
 ildouble: 1
 ldouble: 1
-Test "tgamma (-0x3e7.fffffffffffffffffffffffffep0)":
+Test "tgamma (-0x4.e200000000004p+8)":
 ildouble: 1
 ldouble: 1
-Test "tgamma (-0x3e8.00000000000000000000000002p0)":
+Test "tgamma (-0x4.e20008p+8)":
 ildouble: 2
 ldouble: 2
-Test "tgamma (-0x3e8.00000000000004p0)":
+Test "tgamma (-0x4.fffff8p+0)":
+double: 1
+idouble: 1
+Test "tgamma (-0x4.ffffffffffffcp+0)":
+double: 1
+idouble: 1
+Test "tgamma (-0x4.fffffffffffffff8p+0)":
 ildouble: 1
 ldouble: 1
-Test "tgamma (-0x4.0000000000004p0)":
+Test "tgamma (-0x4.fffffffffffffffffffffffffep+0)":
 ildouble: 1
 ldouble: 1
-Test "tgamma (-0x4.000008p0)":
-float: 1
-ifloat: 1
+Test "tgamma (-0x4.fffffffffffffffffffffffffffcp+0)":
+ildouble: 1
+ldouble: 1
+Test "tgamma (-0x5.0000000000000008p+0)":
+ildouble: 1
+ldouble: 1
+Test "tgamma (-0x5.0000000000004p+0)":
 ildouble: 1
 ldouble: 1
-Test "tgamma (-0x4.fffff8p0)":
+Test "tgamma (-0x5.000008p+0)":
 double: 1
+float: 1
 idouble: 1
-Test "tgamma (-0x4.ffffffffffffcp0)":
+ifloat: 1
+Test "tgamma (-0x5.8p+0)":
 double: 1
 idouble: 1
+Test "tgamma (-0x5.dbfffffffffffff8p+8)":
 ildouble: 1
 ldouble: 1
-Test "tgamma (-0x4.fffffffffffffffffffffffffep0)":
+Test "tgamma (-0x5.dbfffffffffffffffffffffffffcp+8)":
 ildouble: 1
 ldouble: 1
-Test "tgamma (-0x4.fffffffffffffffffffffffffffcp0)":
+Test "tgamma (-0x5.dc00000000000000000000000004p+8)":
+ildouble: 2
+ldouble: 2
+Test "tgamma (-0x5.dc000000000000000000000002p+8)":
 ildouble: 1
 ldouble: 1
-Test "tgamma (-0x5.0000000000000008p0)":
+Test "tgamma (-0x5.dc00000000004p+8)":
 ildouble: 1
 ldouble: 1
-Test "tgamma (-0x5.0000000000004p0)":
+Test "tgamma (-0x5.dc0008p+8)":
 ildouble: 1
 ldouble: 1
-Test "tgamma (-0x5.000008p0)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "tgamma (-0x5.fffff8p0)":
+Test "tgamma (-0x5.fffff8p+0)":
 ildouble: 1
 ldouble: 1
-Test "tgamma (-0x5.ffffffffffffcp0)":
+Test "tgamma (-0x5.ffffffffffffcp+0)":
 double: 1
 idouble: 1
 ildouble: 1
 ldouble: 1
-Test "tgamma (-0x5.fffffffffffffff8p0)":
+Test "tgamma (-0x5.fffffffffffffff8p+0)":
 ildouble: 2
 ldouble: 2
-Test "tgamma (-0x5.fffffffffffffffffffffffffep0)":
+Test "tgamma (-0x5.fffffffffffffffffffffffffep+0)":
 ildouble: 1
 ldouble: 1
-Test "tgamma (-0x5.fffffffffffffffffffffffffffcp0)":
+Test "tgamma (-0x5.fffffffffffffffffffffffffffcp+0)":
 ildouble: 1
 ldouble: 1
-Test "tgamma (-0x5db.fffffffffffff8p0)":
+Test "tgamma (-0x6.0000000000000000000000000004p+0)":
 ildouble: 1
 ldouble: 1
-Test "tgamma (-0x5db.fffffffffffffffffffffffffcp0)":
+Test "tgamma (-0x6.00000000000000000000000002p+0)":
 ildouble: 1
 ldouble: 1
-Test "tgamma (-0x5dc.00000000000000000000000004p0)":
+Test "tgamma (-0x6.000008p+0)":
+float: 2
+ifloat: 2
 ildouble: 2
 ldouble: 2
-Test "tgamma (-0x6.0000000000000000000000000004p0)":
+Test "tgamma (-0x6.3ffff8p+4)":
 ildouble: 1
 ldouble: 1
-Test "tgamma (-0x6.00000000000000000000000002p0)":
+Test "tgamma (-0x6.3fffffffffffcp+4)":
+double: 2
+idouble: 2
+Test "tgamma (-0x6.3ffffffffffffff8p+4)":
+ildouble: 2
+ldouble: 2
+Test "tgamma (-0x6.3ffffffffffffffffffffffffep+4)":
+ildouble: 2
+ldouble: 2
+Test "tgamma (-0x6.4000000000000000000000000004p+4)":
 ildouble: 1
 ldouble: 1
-Test "tgamma (-0x6.0000000000004p0)":
+Test "tgamma (-0x6.40000000000000000000000002p+4)":
 ildouble: 1
 ldouble: 1
-Test "tgamma (-0x6.000008p0)":
-float: 2
-ifloat: 2
+Test "tgamma (-0x6.4000000000004p+4)":
+double: 1
+idouble: 1
 ildouble: 2
 ldouble: 2
-Test "tgamma (-0x6.fffff8p0)":
-double: 2
+Test "tgamma (-0x6.400008p+4)":
+double: 1
+idouble: 1
+ildouble: 2
+ldouble: 2
+Test "tgamma (-0x6.8p+0)":
 float: 1
-idouble: 2
 ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "tgamma (-0x6.ffffffffffffcp0)":
-double: 4
-idouble: 4
+Test "tgamma (-0x6.d5fff8p+8)":
 ildouble: 1
 ldouble: 1
-Test "tgamma (-0x6.fffffffffffffff8p0)":
+Test "tgamma (-0x6.d5ffffffffffcp+8)":
 ildouble: 1
 ldouble: 1
-Test "tgamma (-0x6.fffffffffffffffffffffffffffcp0)":
+Test "tgamma (-0x6.d5fffffffffffff8p+8)":
 ildouble: 1
 ldouble: 1
-Test "tgamma (-0x63.fffffffffffcp0)":
-double: 2
-idouble: 2
-Test "tgamma (-0x63.ffffffffffffff8p0)":
-ildouble: 2
-ldouble: 2
-Test "tgamma (-0x63.ffffffffffffffffffffffffep0)":
-ildouble: 2
-ldouble: 2
-Test "tgamma (-0x64.000000000000000000000000004p0)":
-ildouble: 2
-ldouble: 2
-Test "tgamma (-0x64.0000000000000000000000002p0)":
+Test "tgamma (-0x6.d5fffffffffffffffffffffffep+8)":
 ildouble: 1
 ldouble: 1
-Test "tgamma (-0x64.000000000004p0)":
-double: 1
-idouble: 1
+Test "tgamma (-0x6.d600000000000000000000000004p+8)":
+ildouble: 1
+ldouble: 1
+Test "tgamma (-0x6.d6000000000000000000000002p+8)":
+ildouble: 2
+ldouble: 2
+Test "tgamma (-0x6.d600000000000008p+8)":
 ildouble: 1
 ldouble: 1
-Test "tgamma (-0x6d5.fffffffffffff8p0)":
+Test "tgamma (-0x6.d600000000004p+8)":
 ildouble: 1
 ldouble: 1
-Test "tgamma (-0x6d6.00000000000000000000000004p0)":
+Test "tgamma (-0x6.e2fffffffffffffffffffffffep+8)":
+ildouble: 2
+ldouble: 2
+Test "tgamma (-0x6.e300000000000000000000000004p+8)":
+ildouble: 2
+ldouble: 2
+Test "tgamma (-0x6.e3000000000000000000000002p+8)":
 ildouble: 1
 ldouble: 1
-Test "tgamma (-0x6e3.00000000000000000000000004p0)":
+Test "tgamma (-0x6.fffff8p+0)":
+double: 2
+float: 1
+idouble: 2
+ifloat: 1
+Test "tgamma (-0x6.ffffffffffffcp+0)":
+double: 4
+idouble: 4
+Test "tgamma (-0x6.fffffffffffffff8p+0)":
 ildouble: 2
 ldouble: 2
-Test "tgamma (-0x7.0000000000000008p0)":
+Test "tgamma (-0x6.fffffffffffffffffffffffffffcp+0)":
+ildouble: 1
+ldouble: 1
+Test "tgamma (-0x7.0000000000000008p+0)":
 ildouble: 1
 ldouble: 1
-Test "tgamma (-0x7.0000000000004p0)":
+Test "tgamma (-0x7.0000000000004p+0)":
 double: 3
 idouble: 3
-Test "tgamma (-0x7.000008p0)":
+Test "tgamma (-0x7.000008p+0)":
 double: 1
 float: 1
 idouble: 1
 ifloat: 1
-Test "tgamma (-0x7.fffff8p0)":
+Test "tgamma (-0x7.8p+0)":
+double: 2
+float: 1
+idouble: 2
+ifloat: 1
+Test "tgamma (-0x7.fffff8p+0)":
 double: 3
 float: 1
 idouble: 3
 ifloat: 1
-Test "tgamma (-0x7.ffffffffffffcp0)":
+Test "tgamma (-0x7.ffffffffffffcp+0)":
 double: 3
 idouble: 3
-Test "tgamma (-0x7.fffffffffffffff8p0)":
+Test "tgamma (-0x7.fffffffffffffff8p+0)":
 ildouble: 1
 ldouble: 1
-Test "tgamma (-0x7.fffffffffffffffffffffffffep0)":
+Test "tgamma (-0x7.fffffffffffffffffffffffffep+0)":
 ildouble: 1
 ldouble: 1
-Test "tgamma (-0x7.fffffffffffffffffffffffffffcp0)":
+Test "tgamma (-0x7.fffffffffffffffffffffffffffcp+0)":
 ildouble: 1
 ldouble: 1
-Test "tgamma (-0x8.0000000000000000000000000008p0)":
+Test "tgamma (-0x8.0000000000000000000000000008p+0)":
 ildouble: 1
 ldouble: 1
-Test "tgamma (-0x8.00000000000000000000000004p0)":
+Test "tgamma (-0x8.00000000000000000000000004p+0)":
 ildouble: 1
 ldouble: 1
-Test "tgamma (-0x8.0000000000008p0)":
+Test "tgamma (-0x8.0000000000008p+0)":
 ildouble: 1
 ldouble: 1
-Test "tgamma (-0x8.00001p0)":
+Test "tgamma (-0x8.00001p+0)":
 double: 2
 idouble: 2
 ildouble: 1
 ldouble: 1
-Test "tgamma (-0x9.ffffffffffff8p0)":
+Test "tgamma (-0x8.8p+0)":
 double: 1
+float: 1
 idouble: 1
-Test "tgamma (-0x9.fffffffffffffffffffffffffff8p0)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x9.fffffp0)":
+ifloat: 1
+Test "tgamma (-0x8p-4)":
+double: 1
 float: 1
+idouble: 1
 ifloat: 1
-Test "tgamma (-0x95.ffffffffffffffp0)":
+Test "tgamma (-0x9.5ffffffffffffffp+4)":
 ildouble: 1
 ldouble: 1
-Test "tgamma (-0x96.000000000000000000000000008p0)":
+Test "tgamma (-0x9.5ffffp+4)":
 ildouble: 1
 ldouble: 1
-Test "tgamma (-0x96.0000000000000000000000004p0)":
+Test "tgamma (-0x9.60000000000000000000000004p+4)":
 ildouble: 1
 ldouble: 1
-Test "tgamma (-0x96.00000000000001p0)":
+Test "tgamma (-0x9.600000000000001p+4)":
 ildouble: 2
 ldouble: 2
-Test "tgamma (-0x96.000000000008p0)":
+Test "tgamma (-0x9.6000000000008p+4)":
+double: 1
+idouble: 1
+Test "tgamma (-0x9.60001p+4)":
+double: 1
+idouble: 1
+Test "tgamma (-0x9.8p+0)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+Test "tgamma (-0x9.ffffffffffff8p+0)":
+double: 1
+idouble: 1
+Test "tgamma (-0x9.fffffffffffffffffffffffffff8p+0)":
+ildouble: 1
+ldouble: 1
+Test "tgamma (-0x9.fffffp+0)":
+float: 1
+ifloat: 1
+Test "tgamma (-0xa.00001p+0)":
 double: 1
 idouble: 1
-Test "tgamma (-0xa.0000000000008p0)":
 ildouble: 1
 ldouble: 1
-Test "tgamma (-0xa.00001p0)":
+Test "tgamma (-0xa.c000000400008p+4)":
+ildouble: 1
+ldouble: 1
+Test "tgamma (-0xa.c0001p+4)":
 double: 1
 idouble: 1
 ildouble: 1
 ldouble: 1
-Test "tgamma (-0xb4.ffffffffffffffffffffffffcp0)":
+Test "tgamma (-0xb.4ffffffffffffffffffffffffcp+4)":
+ildouble: 1
+ldouble: 1
+Test "tgamma (-0xb.4ffffffffffffffffffffffffff8p+4)":
+ildouble: 1
+ldouble: 1
+Test "tgamma (-0xb.4ffffffffffffffp+4)":
+ildouble: 2
+ldouble: 2
+Test "tgamma (-0xb.50000000000000000000000004p+4)":
 ildouble: 1
 ldouble: 1
-Test "tgamma (-0xb4.ffffffffffffffp0)":
+Test "tgamma (-0xb.500000000000001p+4)":
+ildouble: 2
+ldouble: 2
+Test "tgamma (-0xb.5000000000008p+4)":
 ildouble: 1
 ldouble: 1
-Test "tgamma (-0xb5.0000000000000000000000004p0)":
+Test "tgamma (-0xb.5ffffffffffffffffffffffffff8p+4)":
 ildouble: 1
 ldouble: 1
-Test "tgamma (-0xb5.00000000000001p0)":
+Test "tgamma (-0xb.5ffffp+4)":
 ildouble: 2
 ldouble: 2
-Test "tgamma (-0xb5.000000000008p0)":
+Test "tgamma (-0xb.60000000000000000000000004p+4)":
 ildouble: 1
 ldouble: 1
-Test "tgamma (-0xb5.ffffffffffffffffffffffffff8p0)":
+Test "tgamma (-0xb.600000000000001p+4)":
 ildouble: 1
 ldouble: 1
-Test "tgamma (-0xb6.00000000000001p0)":
+Test "tgamma (-0xb.6000000000008p+4)":
 ildouble: 1
 ldouble: 1
-Test "tgamma (-0xb6.000000000008p0)":
+Test "tgamma (-0xb.6fffffffffff8p+4)":
 ildouble: 1
 ldouble: 1
-Test "tgamma (-0xb6.fffffffffff8p0)":
+Test "tgamma (-0xb.6ffffffffffffffffffffffffcp+4)":
 ildouble: 1
 ldouble: 1
-Test "tgamma (-0xb6.ffffffffffffffffffffffffff8p0)":
+Test "tgamma (-0xb.6ffffffffffffffffffffffffff8p+4)":
 ildouble: 3
 ldouble: 3
-Test "tgamma (-0xb7.000000000000000000000000008p0)":
+Test "tgamma (-0xb.7000000000000000000000000008p+4)":
 ildouble: 1
 ldouble: 1
-Test "tgamma (-0xb7.00000000000001p0)":
+Test "tgamma (-0xb.700000000000001p+4)":
 ildouble: 2
 ldouble: 2
-Test "tgamma (-0xb7.000000000008p0)":
+Test "tgamma (-0xb.7000000000008p+4)":
 ildouble: 1
 ldouble: 1
-Test "tgamma (-0xb7.ffffffffffffffffffffffffcp0)":
+Test "tgamma (-0xb.70001p+4)":
 ildouble: 1
 ldouble: 1
-Test "tgamma (-0xb7.ffffffffffffffffffffffffff8p0)":
+Test "tgamma (-0xb.7ffffffffffffffffffffffffcp+4)":
 ildouble: 1
 ldouble: 1
-Test "tgamma (-0xb8.00000000000001p0)":
+Test "tgamma (-0xb.7ffffffffffffffffffffffffff8p+4)":
 ildouble: 1
 ldouble: 1
-Test "tgamma (-0xbb.ffffffffffffffffffffffffcp0)":
+Test "tgamma (-0xb.800000000000001p+4)":
+ildouble: 2
+ldouble: 2
+Test "tgamma (-0xb.bfffffffffff8p+4)":
+ildouble: 2
+ldouble: 2
+Test "tgamma (-0xb.bffffffffffffffffffffffffcp+4)":
 ildouble: 3
 ldouble: 3
-Test "tgamma (-0xbb.ffffffffffffffffffffffffff8p0)":
+Test "tgamma (-0xb.bffffffffffffffffffffffffff8p+4)":
 ildouble: 4
 ldouble: 4
-Test "tgamma (-0xbc.000000000000000000000000008p0)":
+Test "tgamma (-0xb.bffffp+4)":
+ildouble: 1
+ldouble: 1
+Test "tgamma (-0xb.c000000000000000000000000008p+4)":
 ildouble: 1
 ldouble: 1
-Test "tgamma (-0xbc.0000000000000000000000004p0)":
+Test "tgamma (-0xb.c0000000000000000000000004p+4)":
+ildouble: 2
+ldouble: 2
+Test "tgamma (-0xb.c00000000000001p+4)":
+ildouble: 2
+ldouble: 2
+Test "tgamma (-0xb.c000000000008p+4)":
 ildouble: 2
 ldouble: 2
-Test "tgamma (-0xbc.00000000000001p0)":
+Test "tgamma (-0xb.c0001p+4)":
+ildouble: 1
+ldouble: 1
+Test "tgamma (-0xb.cfffffffffff8p+4)":
 ildouble: 2
 ldouble: 2
-Test "tgamma (-0xbc.ffffffffffffffp0)":
+Test "tgamma (-0xb.cffffffffffffffffffffffffcp+4)":
+ildouble: 1
+ldouble: 1
+Test "tgamma (-0xb.cffffffffffffffffffffffffff8p+4)":
+ildouble: 1
+ldouble: 1
+Test "tgamma (-0xb.cffffffffffffffp+4)":
+ildouble: 1
+ldouble: 1
+Test "tgamma (-0xb.cffffp+4)":
+ildouble: 1
+ldouble: 1
+Test "tgamma (-0xb.d000000000000000000000000008p+4)":
 ildouble: 1
 ldouble: 1
-Test "tgamma (-0xbd.000000000000000000000000008p0)":
+Test "tgamma (-0xb.d00000000000001p+4)":
+ildouble: 2
+ldouble: 2
+Test "tgamma (-0xb.dfffffffffff8p+4)":
 ildouble: 1
 ldouble: 1
-Test "tgamma (-0xbd.00000000000001p0)":
+Test "tgamma (-0xb.dffffffffffffffp+4)":
 ildouble: 2
 ldouble: 2
-Test "tgamma (-0xbd.ffffffffffffffp0)":
+Test "tgamma (-0xb.dffffp+4)":
+ildouble: 1
+ldouble: 1
+Test "tgamma (-0xb.e000000000000000000000000008p+4)":
+ildouble: 1
+ldouble: 1
+Test "tgamma (-0xb.e000000000008p+4)":
 ildouble: 2
 ldouble: 2
-Test "tgamma (-0xbe.000000000000000000000000008p0)":
+Test "tgamma (-0xb.e0001p+4)":
+ildouble: 1
+ldouble: 1
+Test "tgamma (-0xb.efffffffffff8p+4)":
 ildouble: 1
 ldouble: 1
-Test "tgamma (-0xbe.0000000000000000000000004p0)":
+Test "tgamma (-0xb.effffffffffffffffffffffffff8p+4)":
 ildouble: 1
 ldouble: 1
-Test "tgamma (-0xbe.ffffffffffffffffffffffffcp0)":
+Test "tgamma (-0xb.effffffffffffffp+4)":
 ildouble: 1
 ldouble: 1
-Test "tgamma (-0xbe.ffffffffffffffp0)":
+Test "tgamma (-0xb.f000000000000000000000000008p+4)":
 ildouble: 1
 ldouble: 1
-Test "tgamma (-0xbf.000000000000000000000000008p0)":
+Test "tgamma (-0xb.f0000000000000000000000004p+4)":
 ildouble: 1
 ldouble: 1
-Test "tgamma (-0xbf.0000000000000000000000004p0)":
+Test "tgamma (-0xb.f00000000000001p+4)":
 ildouble: 1
 ldouble: 1
-Test "tgamma (-0xbf.00000000000001p0)":
+Test "tgamma (-0xb.f0001p+4)":
 ildouble: 1
 ldouble: 1
-Test "tgamma (-0xf9.ffffffffffffffp0)":
+Test "tgamma (-0xf.9fffffffffff8p+4)":
+ildouble: 2
+ldouble: 2
+Test "tgamma (-0xf.9ffffffffffffffp+4)":
 ildouble: 1
 ldouble: 1
-Test "tgamma (-0xfa.000000000000000000000000008p0)":
+Test "tgamma (-0xf.9ffffp+4)":
+ildouble: 2
+ldouble: 2
+Test "tgamma (-0xf.a000000000000000000000000008p+4)":
 ildouble: 1
 ldouble: 1
-Test "tgamma (-2.5)":
+Test "tgamma (-0xf.a0000000000000000000000004p+4)":
+ildouble: 2
+ldouble: 2
+Test "tgamma (-0xf.a000000000008p+4)":
+ildouble: 2
+ldouble: 2
+Test "tgamma (-0xf.a0001p+4)":
+ildouble: 3
+ldouble: 3
+Test "tgamma (-0xf.ffffffffffff8p-4)":
 double: 1
-float: 2
 idouble: 1
-ifloat: 2
+Test "tgamma (-0xf.fffffffffffffffffffffffffff8p-4)":
 ildouble: 1
 ldouble: 1
-Test "tgamma (-3.5)":
-double: 1
+Test "tgamma (-0xf.fffffp-4)":
 float: 1
-idouble: 1
 ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "tgamma (-4.5)":
+Test "tgamma (0x1.28p+4)":
 double: 1
 float: 1
 idouble: 1
 ifloat: 1
-Test "tgamma (-5.5)":
-double: 1
-idouble: 1
-Test "tgamma (-6.5)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "tgamma (-7.5)":
+Test "tgamma (0x1.38p+4)":
 double: 2
-float: 1
 idouble: 2
-ifloat: 1
-Test "tgamma (-8.5)":
+ildouble: 1
+ldouble: 1
+Test "tgamma (0x1.78p+4)":
 double: 1
 float: 1
 idouble: 1
 ifloat: 1
-Test "tgamma (-9.5)":
+Test "tgamma (0x1.d8p+4)":
 double: 1
 float: 1
 idouble: 1
 ifloat: 1
-Test "tgamma (0.5)":
-float: 1
-ifloat: 1
-Test "tgamma (0.7)":
-double: 1
+Test "tgamma (0x1.e8p+4)":
 float: 1
-idouble: 1
 ifloat: 1
-Test "tgamma (0x1.fffffep0)":
+Test "tgamma (0x1.fffffep+0)":
 float: 1
 ifloat: 1
-Test "tgamma (0x1.fffffffffffffffep0)":
+Test "tgamma (0x1.fffffffffffffffep+0)":
 ildouble: 1
 ldouble: 1
-Test "tgamma (0x1.ffffffffffffffffffffffffffffp0)":
+Test "tgamma (0x1.ffffffffffffffffffffffffffffp+0)":
 ildouble: 1
 ldouble: 1
-Test "tgamma (0x1.fffffffffffffp0)":
+Test "tgamma (0x1.fffffffffffffp+0)":
 double: 1
 idouble: 1
 ildouble: 1
 ldouble: 1
-Test "tgamma (0x1p-113)":
+Test "tgamma (0x1p-24)":
+float: 1
+ifloat: 1
+Test "tgamma (0x2.08p+4)":
 ildouble: 1
 ldouble: 1
-Test "tgamma (0x1p-24)":
+Test "tgamma (0x2.18p+4)":
 float: 1
 ifloat: 1
-Test "tgamma (0x1p-53)":
+ildouble: 1
+ldouble: 1
+Test "tgamma (0x2.28p+4)":
 double: 1
+float: 2
 idouble: 1
+ifloat: 2
 Test "tgamma (0x2.30a43cp+4)":
 double: 1
 float: 2
@@ -8811,483 +17308,556 @@ idouble: 1
 ifloat: 2
 ildouble: 2
 ldouble: 2
-Test "tgamma (0x2.fffffcp0)":
+Test "tgamma (0x2.8p+0)":
+float: 2
+ifloat: 2
+Test "tgamma (0x2.fffffcp+0)":
 float: 3
 ifloat: 3
-Test "tgamma (0x2.ffffffffffffep0)":
+Test "tgamma (0x2.ffffffffffffep+0)":
+ildouble: 1
+ldouble: 1
+Test "tgamma (0x3.0000000000002p+0)":
 ildouble: 1
 ldouble: 1
-Test "tgamma (0x3.0000000000002p0)":
+Test "tgamma (0x3.8p+0)":
+float: 2
+ifloat: 2
 ildouble: 1
 ldouble: 1
-Test "tgamma (0x3.fffffcp0)":
+Test "tgamma (0x3.fffffcp+0)":
 float: 1
 ifloat: 1
-Test "tgamma (0x3.ffffffffffffep0)":
+Test "tgamma (0x3.ffffffffffffep+0)":
 double: 1
 idouble: 1
 ildouble: 1
 ldouble: 1
-Test "tgamma (0x3.fffffffffffffffcp0)":
+Test "tgamma (0x3.fffffffffffffffcp+0)":
 ildouble: 1
 ldouble: 1
-Test "tgamma (0x3.fffffffffffffffffffffffffffep0)":
+Test "tgamma (0x3.fffffffffffffffffffffffffffep+0)":
 ildouble: 1
 ldouble: 1
-Test "tgamma (0x4.0000000000000000000000000004p0)":
+Test "tgamma (0x3p+0)":
+float: 1
+ifloat: 1
+Test "tgamma (0x4.0000000000000000000000000004p+0)":
 ildouble: 1
 ldouble: 1
-Test "tgamma (0x4.0000000000004p0)":
+Test "tgamma (0x4.0000000000004p+0)":
 double: 1
 idouble: 1
-Test "tgamma (0x4.000008p0)":
+Test "tgamma (0x4.000008p+0)":
 ildouble: 1
 ldouble: 1
-Test "tgamma (0x4.ffffffffffffcp0)":
+Test "tgamma (0x4.8p+0)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+Test "tgamma (0x4.ffffffffffffcp+0)":
 double: 1
 idouble: 1
-Test "tgamma (0x4.fffffffffffffffffffffffffep0)":
+Test "tgamma (0x4.fffffffffffffffffffffffffep+0)":
 ildouble: 1
 ldouble: 1
-Test "tgamma (0x4.fffffffffffffffffffffffffffcp0)":
+Test "tgamma (0x4.fffffffffffffffffffffffffffcp+0)":
 ildouble: 1
 ldouble: 1
-Test "tgamma (0x5.0000000000000000000000000004p0)":
+Test "tgamma (0x4p+0)":
+float: 1
+ifloat: 1
+Test "tgamma (0x5.0000000000000000000000000004p+0)":
 ildouble: 1
 ldouble: 1
-Test "tgamma (0x5.0000000000004p0)":
+Test "tgamma (0x5.0000000000004p+0)":
 double: 1
 idouble: 1
-Test "tgamma (0x5.000008p0)":
+Test "tgamma (0x5.000008p+0)":
 float: 2
 ifloat: 2
-Test "tgamma (0x5.fffff8p0)":
+Test "tgamma (0x5.fffff8p+0)":
 double: 1
 float: 1
 idouble: 1
 ifloat: 1
-Test "tgamma (0x5.ffffffffffffcp0)":
+Test "tgamma (0x5.ffffffffffffcp+0)":
 ildouble: 1
 ldouble: 1
-Test "tgamma (0x5.fffffffffffffff8p0)":
+Test "tgamma (0x5.fffffffffffffff8p+0)":
 ildouble: 1
 ldouble: 1
-Test "tgamma (0x5.fffffffffffffffffffffffffep0)":
+Test "tgamma (0x5.fffffffffffffffffffffffffep+0)":
 ildouble: 1
 ldouble: 1
-Test "tgamma (0x6.0000000000000000000000000004p0)":
+Test "tgamma (0x6.0000000000000000000000000004p+0)":
 ildouble: 1
 ldouble: 1
-Test "tgamma (0x6.0000000000000008p0)":
+Test "tgamma (0x6.0000000000000008p+0)":
 ildouble: 1
 ldouble: 1
-Test "tgamma (0x6.0000000000004p0)":
+Test "tgamma (0x6.0000000000004p+0)":
 double: 1
 idouble: 1
-Test "tgamma (0x6.000008p0)":
+Test "tgamma (0x6.000008p+0)":
 float: 2
 ifloat: 2
 ildouble: 1
 ldouble: 1
-Test "tgamma (0x6.fffff8p0)":
+Test "tgamma (0x6.8p+0)":
+float: 1
+ifloat: 1
+Test "tgamma (0x6.db8c603359a94p+8)":
+ildouble: 1
+ldouble: 1
+Test "tgamma (0x6.fffff8p+0)":
 double: 1
 idouble: 1
 ildouble: 1
 ldouble: 1
-Test "tgamma (0x6.ffffffffffffcp0)":
+Test "tgamma (0x6.ffffffffffffcp+0)":
 double: 4
 idouble: 4
-Test "tgamma (0x6.fffffffffffffff8p0)":
+Test "tgamma (0x6.fffffffffffffff8p+0)":
 ildouble: 1
 ldouble: 1
-Test "tgamma (0x7.0000000000000000000000000004p0)":
+Test "tgamma (0x6p+0)":
+float: 1
+ifloat: 1
+Test "tgamma (0x7.0000000000000000000000000004p+0)":
 ildouble: 1
 ldouble: 1
-Test "tgamma (0x7.0000000000000008p0)":
+Test "tgamma (0x7.0000000000000008p+0)":
 ildouble: 1
 ldouble: 1
-Test "tgamma (0x7.0000000000004p0)":
+Test "tgamma (0x7.0000000000004p+0)":
 double: 4
 idouble: 4
-Test "tgamma (0x7.000008p0)":
+Test "tgamma (0x7.000008p+0)":
 double: 1
 float: 1
 idouble: 1
 ifloat: 1
-Test "tgamma (0x7.fffff8p0)":
+Test "tgamma (0x7.8p+0)":
 double: 2
 float: 1
 idouble: 2
 ifloat: 1
-Test "tgamma (0x7.ffffffffffffcp0)":
+Test "tgamma (0x7.fffff8p+0)":
 double: 2
+float: 1
 idouble: 2
-ildouble: 1
-ldouble: 1
-Test "tgamma (0x7.fffffffffffffffffffffffffffcp0)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (0x8.0000000000000000000000000008p0)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (0x8.0000000000008p0)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (0x8.00001p0)":
+ifloat: 1
+Test "tgamma (0x7.ffffffffffffcp+0)":
 double: 2
 idouble: 2
-Test "tgamma (0xa.b9fd72b0fb238p+4)":
-double: 1
-idouble: 1
 ildouble: 1
 ldouble: 1
-Test "tgamma (0xa.b9fd72b0fb23a9ddbf0d3804f8p+4)":
-ildouble: 2
-ldouble: 2
-Test "tgamma (10)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "tgamma (18.5)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "tgamma (19.5)":
-double: 2
-idouble: 2
+Test "tgamma (0x7.fffffffffffffffffffffffffffcp+0)":
 ildouble: 1
 ldouble: 1
-Test "tgamma (2.5)":
-float: 2
-ifloat: 2
-Test "tgamma (23.5)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "tgamma (29.5)":
+Test "tgamma (0x7p+0)":
 double: 1
-float: 1
 idouble: 1
-ifloat: 1
-Test "tgamma (3)":
-float: 1
-ifloat: 1
-Test "tgamma (3.5)":
-float: 2
-ifloat: 2
-ildouble: 1
-ldouble: 1
-Test "tgamma (30.5)":
-float: 1
-ifloat: 1
-Test "tgamma (32.5)":
+Test "tgamma (0x8.0000000000000000000000000008p+0)":
 ildouble: 1
 ldouble: 1
-Test "tgamma (33.5)":
-float: 1
-ifloat: 1
+Test "tgamma (0x8.0000000000008p+0)":
 ildouble: 1
 ldouble: 1
-Test "tgamma (34.5)":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-Test "tgamma (4)":
-float: 1
-ifloat: 1
-Test "tgamma (4.5)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "tgamma (6)":
-float: 1
-ifloat: 1
-Test "tgamma (6.5)":
+Test "tgamma (0x8.00001p+0)":
+double: 2
+idouble: 2
+Test "tgamma (0x8.8p+0)":
+double: 1
 float: 1
+idouble: 1
 ifloat: 1
-Test "tgamma (7)":
+Test "tgamma (0x8p+0)":
 double: 1
 idouble: 1
-Test "tgamma (7.5)":
-double: 2
+Test "tgamma (0x8p-116)":
+ildouble: 1
+ldouble: 1
+Test "tgamma (0x8p-4)":
 float: 1
-idouble: 2
 ifloat: 1
-Test "tgamma (8)":
+Test "tgamma (0x8p-56)":
 double: 1
 idouble: 1
-Test "tgamma (8.5)":
+Test "tgamma (0x9.8p+0)":
 double: 1
-float: 1
 idouble: 1
-ifloat: 1
-Test "tgamma (9)":
+ildouble: 1
+ldouble: 1
+Test "tgamma (0x9p+0)":
 double: 1
 idouble: 1
-Test "tgamma (9.5)":
+Test "tgamma (0xa.b9fd72b0fb238p+4)":
 double: 1
 idouble: 1
 ildouble: 1
 ldouble: 1
-
-# y0
-Test "y0 (0x1.3ffp+74)":
-double: 1
-idouble: 1
+Test "tgamma (0xa.b9fd72b0fb23a9ddbf0d3804f8p+4)":
+ildouble: 2
+ldouble: 2
+Test "tgamma (0xa.b9fd72b0fb23a9dp+4)":
 ildouble: 1
 ldouble: 1
-Test "y0 (0x1.ff00000000002p+840)":
-double: 1
-idouble: 1
+Test "tgamma (0xa.b9fd72b0fb23a9ep+4)":
 ildouble: 1
 ldouble: 1
-Test "y0 (0x1p-10)":
+Test "tgamma (0xa.b9fd7p+4)":
+double: 2
+idouble: 2
+Test "tgamma (0xap+0)":
 double: 1
+float: 1
 idouble: 1
+ifloat: 1
+Test "tgamma (0xb.3333333333333333333333333338p-4)":
+ildouble: 1
+ldouble: 1
+Test "tgamma (0xb.3333333333338p-4)":
 ildouble: 1
 ldouble: 1
-Test "y0 (0x1p-110)":
+
+# y0
+Test "y0 (0x1.8p+0)":
+double: 2
+float: 1
+idouble: 2
+ifloat: 1
+Test "y0 (0x1.ff00000000002p+840)":
 double: 1
 idouble: 1
 ildouble: 1
 ldouble: 1
-Test "y0 (0x1p-20)":
+Test "y0 (0x1p+0)":
+double: 2
 float: 1
+idouble: 2
 ifloat: 1
-Test "y0 (0x1p-30)":
+Test "y0 (0x1p-100)":
+ildouble: 1
+ldouble: 1
+Test "y0 (0x1p-20)":
 float: 1
 ifloat: 1
-ildouble: 2
-ldouble: 2
+ildouble: 1
+ldouble: 1
 Test "y0 (0x1p-40)":
 double: 1
 float: 1
 idouble: 1
 ifloat: 1
-Test "y0 (0x1p-50)":
-float: 1
-ifloat: 1
 Test "y0 (0x1p-60)":
 ildouble: 1
 ldouble: 1
-Test "y0 (0x1p-70)":
-double: 1
-idouble: 1
 Test "y0 (0x1p-80)":
 double: 1
 float: 1
 idouble: 1
 ifloat: 1
-Test "y0 (0x1p1023)":
+Test "y0 (0x4.ffcp+72)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "y0 (0x4p+16380)":
+ildouble: 1
+ldouble: 1
+Test "y0 (0x4p-112)":
+double: 1
+idouble: 1
 ildouble: 1
 ldouble: 1
-Test "y0 (0x1p16382)":
+Test "y0 (0x4p-12)":
+double: 1
+idouble: 1
 ildouble: 1
 ldouble: 1
-Test "y0 (0x1p16383)":
+Test "y0 (0x4p-32)":
+float: 1
+ifloat: 1
 ildouble: 2
 ldouble: 2
-Test "y0 (1.0)":
-double: 2
+Test "y0 (0x4p-52)":
 float: 1
-idouble: 2
 ifloat: 1
-Test "y0 (1.5)":
-double: 2
+Test "y0 (0x4p-72)":
+double: 1
+idouble: 1
+Test "y0 (0x8p+0)":
+double: 1
 float: 1
-idouble: 2
+idouble: 1
 ifloat: 1
-Test "y0 (10.0)":
+ildouble: 3
+ldouble: 3
+Test "y0 (0x8p+1020)":
+ildouble: 1
+ldouble: 1
+Test "y0 (0x8p+16380)":
+ildouble: 2
+ldouble: 2
+Test "y0 (0xap+0)":
 float: 1
 ifloat: 1
 ildouble: 3
 ldouble: 3
-Test "y0 (8.0)":
+Test "y0 (0xf.ffffffffffff8p+1020)":
+double: 1
+idouble: 1
+Test "y0 (0xf.fffffp+124)":
 double: 1
 float: 1
 idouble: 1
 ifloat: 1
-ildouble: 3
-ldouble: 3
 
 # y1
-Test "y1 (0.125)":
-double: 1
-idouble: 1
-Test "y1 (0.75)":
+Test "y1 (0x1.8p+0)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "y1 (0x1p-100)":
+ildouble: 1
+ldouble: 1
+Test "y1 (0x1p-20)":
+ildouble: 1
+ldouble: 1
+Test "y1 (0x1p-80)":
 ildouble: 1
 ldouble: 1
-Test "y1 (0x1.001000001p+593)":
+Test "y1 (0x2.002000002p+592)":
 ildouble: 1
 ldouble: 1
-Test "y1 (0x1.27e204p+99)":
+Test "y1 (0x2p+0)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+ildouble: 2
+ldouble: 2
+Test "y1 (0x2p-4)":
 double: 1
 idouble: 1
-Test "y1 (0x1p-10)":
+Test "y1 (0x4p-112)":
+ildouble: 1
+ldouble: 1
+Test "y1 (0x4p-12)":
 double: 1
 idouble: 1
 ildouble: 1
 ldouble: 1
-Test "y1 (0x1p-30)":
+Test "y1 (0x4p-32)":
+ildouble: 1
+ldouble: 1
+Test "y1 (0x4p-72)":
+ildouble: 1
+ldouble: 1
+Test "y1 (0x4p-92)":
+ildouble: 1
+ldouble: 1
+Test "y1 (0x8p+0)":
+double: 1
+float: 2
+idouble: 1
+ifloat: 2
 ildouble: 1
 ldouble: 1
-Test "y1 (0x1p1023)":
+Test "y1 (0x8p+1020)":
 ildouble: 1
 ldouble: 1
-Test "y1 (0x1p16383)":
+Test "y1 (0x8p+16380)":
 ildouble: 2
 ldouble: 2
-Test "y1 (1.5)":
-float: 1
-ifloat: 1
+Test "y1 (0x9.3f102p+96)":
+double: 1
+idouble: 1
 ildouble: 1
 ldouble: 1
-Test "y1 (10.0)":
+Test "y1 (0xap+0)":
 double: 3
 float: 1
 idouble: 3
 ifloat: 1
-Test "y1 (2.0)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
+Test "y1 (0xf.ffffffffffff8p+1020)":
+ildouble: 1
+ldouble: 1
+Test "y1 (0xf.ffffffffffffbffffffffffffcp+1020)":
 ildouble: 1
 ldouble: 1
-Test "y1 (8.0)":
+Test "y1 (0xf.fffffp+124)":
+double: 2
+float: 2
+idouble: 2
+ifloat: 2
+ildouble: 2
+ldouble: 2
+
+# yn
+Test "yn (-10, 0x1p+0)":
 double: 1
 float: 2
 idouble: 1
 ifloat: 2
 ildouble: 1
 ldouble: 1
-
-# yn
-Test "yn (0, 1.0)":
+Test "yn (0, 0x1.8p+0)":
 double: 2
 float: 1
 idouble: 2
 ifloat: 1
-Test "yn (0, 1.5)":
+Test "yn (0, 0x1p+0)":
 double: 2
 float: 1
 idouble: 2
 ifloat: 1
-Test "yn (0, 10.0)":
+Test "yn (0, 0x8p+0)":
+double: 1
 float: 1
+idouble: 1
 ifloat: 1
 ildouble: 3
 ldouble: 3
-Test "yn (0, 8.0)":
-double: 1
+Test "yn (0, 0xap+0)":
 float: 1
-idouble: 1
 ifloat: 1
 ildouble: 3
 ldouble: 3
-Test "yn (1, 0.125)":
-double: 1
-idouble: 1
-Test "yn (1, 0.75)":
-ildouble: 1
-ldouble: 1
-Test "yn (1, 1.5)":
+Test "yn (1, 0x1.8p+0)":
 float: 1
 ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "yn (1, 10.0)":
-double: 3
-float: 1
-idouble: 3
-ifloat: 1
-Test "yn (1, 2.0)":
+Test "yn (1, 0x2p+0)":
 double: 1
 float: 1
 idouble: 1
 ifloat: 1
+ildouble: 2
+ldouble: 2
+Test "yn (1, 0x2p-4)":
+double: 1
+idouble: 1
+Test "yn (1, 0x8p+0)":
+double: 1
+float: 2
+idouble: 1
+ifloat: 2
 ildouble: 1
 ldouble: 1
-Test "yn (1, 8.0)":
+Test "yn (1, 0xap+0)":
+double: 3
+float: 1
+idouble: 3
+ifloat: 1
+Test "yn (10, 0x1p+0)":
 double: 1
 float: 2
 idouble: 1
 ifloat: 2
 ildouble: 1
 ldouble: 1
-Test "yn (10, 0.125)":
+Test "yn (10, 0x2p+0)":
+double: 2
+float: 1
+idouble: 2
+ifloat: 1
+ildouble: 2
+ldouble: 2
+Test "yn (10, 0x2p-4)":
 double: 1
 idouble: 1
 ildouble: 2
 ldouble: 2
-Test "yn (10, 0.75)":
+Test "yn (10, 0xap+0)":
 double: 1
 float: 1
 idouble: 1
 ifloat: 1
-ildouble: 5
-ldouble: 5
-Test "yn (10, 1.0)":
+ildouble: 3
+ldouble: 3
+Test "yn (10, 0xcp-4)":
 double: 1
+float: 1
 idouble: 1
+ifloat: 1
+ildouble: 4
+ldouble: 4
+Test "yn (2, 0x8p+1020)":
 ildouble: 1
 ldouble: 1
-Test "yn (10, 10.0)":
+Test "yn (2, 0x8p+124)":
 double: 1
 float: 1
 idouble: 1
 ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "yn (2, 0x8p+16380)":
 ildouble: 2
 ldouble: 2
-Test "yn (10, 2.0)":
-double: 2
-idouble: 2
-ildouble: 2
-ldouble: 2
-Test "yn (3, 0.125)":
+Test "yn (2, 0xf.fffb1p+96)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "yn (2, 0xf.ffffffffffff8p+1020)":
 double: 1
 idouble: 1
-Test "yn (3, 0.75)":
+ildouble: 1
+ldouble: 1
+Test "yn (2, 0xf.fffffp+124)":
 double: 1
 float: 1
 idouble: 1
 ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "yn (3, 10.0)":
+Test "yn (3, 0x2p+0)":
+double: 1
+idouble: 1
+Test "yn (3, 0x2p-4)":
+double: 1
+idouble: 1
+Test "yn (3, 0xap+0)":
 double: 1
 float: 1
 idouble: 1
 ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "yn (3, 2.0)":
+Test "yn (3, 0xcp-4)":
 double: 1
 idouble: 1
+ildouble: 2
+ldouble: 2
 
 # Maximal error of functions:
 Function: "acos_downward":
-double: 1
 float: 1
-idouble: 1
 ifloat: 1
 ildouble: 1
 ldouble: 1
 
 Function: "acos_towardzero":
-double: 1
 float: 1
-idouble: 1
 ifloat: 1
 ildouble: 1
 ldouble: 1
 
 Function: "acos_upward":
+double: 1
+idouble: 1
+
+Function: "acosh":
+double: 1
+idouble: 1
+ldouble: 1
+
+Function: "asin":
 ildouble: 1
 ldouble: 1
 
@@ -9299,13 +17869,28 @@ ifloat: 1
 ildouble: 1
 ldouble: 1
 
+Function: "asin_tonearest":
+ildouble: 1
+ldouble: 1
+
 Function: "asin_towardzero":
 double: 1
 float: 1
 idouble: 1
 ifloat: 1
+ildouble: 1
+ldouble: 1
 
 Function: "asin_upward":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+ildouble: 2
+ldouble: 2
+
+Function: "asinh":
+double: 1
 float: 1
 ifloat: 1
 ildouble: 1
@@ -9320,6 +17905,8 @@ ldouble: 1
 Function: "atanh":
 float: 1
 ifloat: 1
+ildouble: 1
+ldouble: 1
 
 Function: Real part of "cacos":
 double: 1
@@ -9415,7 +18002,9 @@ ldouble: 1
 
 Function: "cbrt":
 double: 1
+float: 1
 idouble: 1
+ifloat: 1
 ildouble: 1
 ldouble: 1
 
@@ -9498,54 +18087,80 @@ ildouble: 2
 ldouble: 2
 
 Function: "cos":
-double: 2
 float: 1
-idouble: 2
 ifloat: 1
 ildouble: 1
 ldouble: 1
 
 Function: "cos_downward":
-float: 1
-ifloat: 1
+double: 1
+float: 2
+idouble: 1
+ifloat: 2
 ildouble: 2
 ldouble: 2
 
 Function: "cos_tonearest":
 float: 1
 ifloat: 1
+ildouble: 1
+ldouble: 1
 
 Function: "cos_towardzero":
+double: 1
 float: 1
+idouble: 1
 ifloat: 1
-ildouble: 2
-ldouble: 2
+ildouble: 1
+ldouble: 1
 
 Function: "cos_upward":
+double: 1
 float: 2
+idouble: 1
 ifloat: 2
+ildouble: 2
+ldouble: 2
+
+Function: "cosh":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
 ildouble: 1
 ldouble: 1
 
 Function: "cosh_downward":
+double: 1
 float: 1
+idouble: 1
 ifloat: 1
 ildouble: 1
-ldouble: 1
+ldouble: 2
 
 Function: "cosh_tonearest":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
 ildouble: 1
 ldouble: 1
 
 Function: "cosh_towardzero":
+double: 1
 float: 1
+idouble: 1
 ifloat: 1
 ildouble: 1
-ldouble: 1
+ldouble: 2
 
 Function: "cosh_upward":
+double: 1
+float: 2
+idouble: 1
+ifloat: 2
 ildouble: 1
-ldouble: 1
+ldouble: 3
 
 Function: Real part of "cpow":
 double: 2
@@ -9608,142 +18223,166 @@ double: 1
 float: 1
 idouble: 1
 ifloat: 1
-ildouble: 2
-ldouble: 2
+ildouble: 3
+ldouble: 3
 
 Function: Imaginary part of "ctan":
-double: 1
-idouble: 1
-ildouble: 2
-ldouble: 2
-
-Function: Real part of "ctan_downward":
 double: 2
 float: 1
 idouble: 2
 ifloat: 1
+ildouble: 3
+ldouble: 3
+
+Function: Real part of "ctan_downward":
+double: 6
+float: 5
+idouble: 6
+ifloat: 5
 ildouble: 4
 ldouble: 4
 
 Function: Imaginary part of "ctan_downward":
+double: 2
 float: 1
+idouble: 2
 ifloat: 1
 ildouble: 5
 ldouble: 5
 
 Function: Real part of "ctan_tonearest":
+double: 1
 float: 1
+idouble: 1
 ifloat: 1
 ildouble: 3
 ldouble: 3
 
 Function: Imaginary part of "ctan_tonearest":
+double: 2
 float: 1
+idouble: 2
 ifloat: 1
 ildouble: 3
 ldouble: 3
 
 Function: Real part of "ctan_towardzero":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
+double: 5
+float: 3
+idouble: 5
+ifloat: 3
+ildouble: 4
+ldouble: 4
 
 Function: Imaginary part of "ctan_towardzero":
-float: 1
-ifloat: 1
+double: 2
+float: 2
+idouble: 2
+ifloat: 2
 ildouble: 5
 ldouble: 5
 
 Function: Real part of "ctan_upward":
 double: 2
-float: 1
+float: 3
 idouble: 2
-ifloat: 1
-ildouble: 2
-ldouble: 2
+ifloat: 3
+ildouble: 5
+ldouble: 5
 
 Function: Imaginary part of "ctan_upward":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
+double: 2
+float: 3
+idouble: 2
+ifloat: 3
 ildouble: 3
 ldouble: 3
 
 Function: Real part of "ctanh":
-double: 1
+double: 2
 float: 1
-idouble: 1
+idouble: 2
 ifloat: 1
-ildouble: 2
-ldouble: 2
+ildouble: 3
+ldouble: 3
 
 Function: Imaginary part of "ctanh":
-double: 1
+double: 2
 float: 2
-idouble: 1
+idouble: 2
 ifloat: 2
-ildouble: 2
-ldouble: 2
+ildouble: 3
+ldouble: 3
 
 Function: Real part of "ctanh_downward":
+double: 4
 float: 1
+idouble: 4
 ifloat: 1
 ildouble: 5
 ldouble: 5
 
 Function: Imaginary part of "ctanh_downward":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
+double: 6
+float: 5
+idouble: 6
+ifloat: 5
 ildouble: 4
 ldouble: 4
 
 Function: Real part of "ctanh_tonearest":
+double: 2
 float: 1
+idouble: 2
 ifloat: 1
 ildouble: 3
 ldouble: 3
 
 Function: Imaginary part of "ctanh_tonearest":
-float: 1
-ifloat: 1
+double: 2
+float: 2
+idouble: 2
+ifloat: 2
 ildouble: 3
 ldouble: 3
 
 Function: Real part of "ctanh_towardzero":
-float: 1
-ifloat: 1
+double: 2
+float: 2
+idouble: 2
+ifloat: 2
 ildouble: 5
 ldouble: 5
 
 Function: Imaginary part of "ctanh_towardzero":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
+double: 5
+float: 3
+idouble: 5
+ifloat: 3
+ildouble: 3
+ldouble: 3
 
 Function: Real part of "ctanh_upward":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
+double: 2
+float: 3
+idouble: 2
+ifloat: 3
 ildouble: 3
 ldouble: 3
 
 Function: Imaginary part of "ctanh_upward":
 double: 2
-float: 1
+float: 3
 idouble: 2
-ifloat: 1
-ildouble: 2
-ldouble: 2
+ifloat: 3
+ildouble: 5
+ldouble: 5
 
 Function: "erf":
 double: 1
 idouble: 1
+ildouble: 1
+ldouble: 1
 
 Function: "erfc":
 double: 1
@@ -9759,29 +18398,73 @@ idouble: 1
 ildouble: 1
 ldouble: 1
 
+Function: "exp10_downward":
+double: 1
+idouble: 1
+ildouble: 2
+ldouble: 2
+
+Function: "exp10_tonearest":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+
+Function: "exp10_towardzero":
+double: 1
+idouble: 1
+ildouble: 2
+ldouble: 2
+
+Function: "exp10_upward":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+ildouble: 2
+ldouble: 2
+
 Function: "exp2":
 ildouble: 1
 ldouble: 1
 
 Function: "exp_downward":
+double: 1
+idouble: 1
+
+Function: "exp_towardzero":
+double: 1
+idouble: 1
+
+Function: "exp_upward":
+double: 1
+idouble: 1
+
+Function: "expm1":
+double: 1
 float: 1
+idouble: 1
 ifloat: 1
 ildouble: 1
 ldouble: 1
 
-Function: "exp_towardzero":
+Function: "expm1_downward":
+double: 1
 float: 1
+idouble: 1
 ifloat: 1
 ildouble: 1
 ldouble: 1
 
-Function: "exp_upward":
+Function: "expm1_tonearest":
+double: 1
 float: 1
+idouble: 1
 ifloat: 1
 ildouble: 1
 ldouble: 1
 
-Function: "expm1":
+Function: "expm1_towardzero":
 double: 1
 float: 1
 idouble: 1
@@ -9789,17 +18472,27 @@ ifloat: 1
 ildouble: 1
 ldouble: 1
 
-Function: "gamma":
+Function: "expm1_upward":
 double: 1
-float: 2
+float: 1
 idouble: 1
-ifloat: 2
+ifloat: 1
 ildouble: 1
 ldouble: 1
 
-Function: "hypot":
+Function: "gamma":
+double: 1
 float: 1
+idouble: 1
 ifloat: 1
+ildouble: 1
+ldouble: 1
+
+Function: "hypot":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
 
 Function: "j0":
 double: 2
@@ -9819,17 +18512,23 @@ ldouble: 4
 
 Function: "jn":
 double: 4
-float: 5
+float: 4
 idouble: 4
-ifloat: 5
-ildouble: 8
-ldouble: 8
+ifloat: 4
+ildouble: 7
+ldouble: 7
 
 Function: "lgamma":
 double: 1
-float: 2
+float: 1
 idouble: 1
-ifloat: 2
+ifloat: 1
+ildouble: 1
+ldouble: 1
+
+Function: "log":
+float: 1
+ifloat: 1
 ildouble: 1
 ldouble: 1
 
@@ -9867,6 +18566,12 @@ Function: "pow_downward":
 float: 1
 ifloat: 1
 
+Function: "pow_tonearest":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+
 Function: "pow_towardzero":
 float: 1
 ifloat: 1
@@ -9877,12 +18582,20 @@ ifloat: 1
 ildouble: 1
 ldouble: 1
 
-Function: "sin_downward":
+Function: "sin":
 float: 1
 ifloat: 1
 ildouble: 1
 ldouble: 1
 
+Function: "sin_downward":
+double: 1
+float: 2
+idouble: 1
+ifloat: 2
+ildouble: 1
+ldouble: 1
+
 Function: "sin_tonearest":
 float: 1
 ifloat: 1
@@ -9890,62 +18603,78 @@ ildouble: 1
 ldouble: 1
 
 Function: "sin_towardzero":
+double: 1
 float: 1
+idouble: 1
 ifloat: 1
 ildouble: 1
 ldouble: 1
 
 Function: "sin_upward":
+double: 1
 float: 2
+idouble: 1
 ifloat: 2
-ildouble: 1
-ldouble: 1
+ildouble: 3
+ldouble: 3
 
 Function: "sincos":
-double: 1
 float: 1
-idouble: 1
 ifloat: 1
 ildouble: 1
 ldouble: 1
 
 Function: "sinh_downward":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
 
 Function: "sinh_towardzero":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
 
 Function: "sinh_upward":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
 ildouble: 1
 ldouble: 1
 
 Function: "tan":
+ildouble: 1
+ldouble: 1
+
+Function: "tan_downward":
 double: 1
+float: 2
 idouble: 1
+ifloat: 2
+ildouble: 1
+ldouble: 1
 
-Function: "tan_downward":
-float: 1
-ifloat: 1
+Function: "tan_tonearest":
 ildouble: 1
 ldouble: 1
 
 Function: "tan_towardzero":
+double: 1
 float: 1
+idouble: 1
 ifloat: 1
 ildouble: 1
 ldouble: 1
 
 Function: "tan_upward":
+double: 1
 float: 1
+idouble: 1
 ifloat: 1
-ildouble: 1
-ldouble: 1
+ildouble: 2
+ldouble: 2
 
 Function: "tanh":
 ildouble: 1
@@ -9980,7 +18709,7 @@ double: 3
 float: 2
 idouble: 3
 ifloat: 2
-ildouble: 5
-ldouble: 5
+ildouble: 4
+ldouble: 4
 
 # end of automatic generation
--
1.8.4.2