Add more libm-test coverage of [a-c]* real functions.

Various libm functions have inadequate test coverage in libm-test.inc
/ auto-libm-test-in - failing to cover all the usual special cases
(infinities, NaNs, zero, large and small finite values, subnormals) as
well as a reasonable range of ordinary inputs and, where appropriate,
inputs close to the thresholds for underflow and overflow.

This patch improves test coverage for real functions [a-c]* (with the
expectation of adding more coverage for other functions later).

Tested x86_64 and x86 and ulps updated accordingly (and eight glibc
bugs and one C11 DR filed for issues found in the process).

	* math/auto-libm-test-in: Add more tests of acos, acosh, asin,
	asinh, atan, atan2, atanh, cbrt, cos and cosh.
	* math/auto-libm-test-out: Regenerated.
	* math/libm-test.inc (acosh_test_data): Add more tests.
	(atanh_test_data): Likewise.
	(ceil_test_data): Likewise.
	(copysign_test_data): Likewise.
	* sysdeps/i386/fpu/libm-test-ulps: Update.
	* sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
This commit is contained in:
Joseph Myers 2013-12-20 21:03:39 +00:00
parent 6165840fea
commit 31e3a40588
6 changed files with 13700 additions and 11 deletions

View File

@ -1,5 +1,15 @@
2013-12-20 Joseph Myers <joseph@codesourcery.com> 2013-12-20 Joseph Myers <joseph@codesourcery.com>
* math/auto-libm-test-in: Add more tests of acos, acosh, asin,
asinh, atan, atan2, atanh, cbrt, cos and cosh.
* math/auto-libm-test-out: Regenerated.
* math/libm-test.inc (acosh_test_data): Add more tests.
(atanh_test_data): Likewise.
(ceil_test_data): Likewise.
(copysign_test_data): Likewise.
* sysdeps/i386/fpu/libm-test-ulps: Update.
* sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
* timezone/checktab.awk: Update from tzcode 2013i. * timezone/checktab.awk: Update from tzcode 2013i.
* timezone/private.h: Likewise. * timezone/private.h: Likewise.
* timezone/scheck.c: Likewise. * timezone/scheck.c: Likewise.

View File

@ -33,9 +33,17 @@ acos 0x0.ffffffffffffp0
acos -0x0.ffffffffffffp0 acos -0x0.ffffffffffffp0
acos 0x0.ffffffffffffffffp0 acos 0x0.ffffffffffffffffp0
acos -0x0.ffffffffffffffffp0 acos -0x0.ffffffffffffffffp0
acos min
acos -min
acos min_subnorm
acos -min_subnorm
acosh 1 acosh 1
acosh 1.625
acosh 7 acosh 7
acosh 100
acosh 1e5
acosh max no-test-inline
asin 0 asin 0
asin -0 asin -0
@ -52,10 +60,27 @@ asin 0x0.ffffffffffffp0
asin -0x0.ffffffffffffp0 asin -0x0.ffffffffffffp0
asin 0x0.ffffffffffffffffp0 asin 0x0.ffffffffffffffffp0
asin -0x0.ffffffffffffffffp0 asin -0x0.ffffffffffffffffp0
# Bug 16351: underflow exception may be missing.
asin min missing-underflow
asin -min missing-underflow
asin min_subnorm missing-underflow
asin -min_subnorm missing-underflow
asinh 0 asinh 0
asinh -0 asinh -0
asinh 0.75 asinh 0.75
asinh 1
asinh 10
asinh 100
asinh 1e6
asinh 0x1p100
# Bug 16350: underflow exception may be missing.
asinh min missing-underflow
asinh -min missing-underflow
asinh min_subnorm missing-underflow
asinh -min_subnorm missing-underflow
asinh max no-test-inline
asinh -max no-test-inline
atan 0 atan 0
atan -0 atan -0
@ -64,10 +89,18 @@ atan -max
atan 1 atan 1
atan -1 atan -1
atan 0.75 atan 0.75
atan 0x1p-5
atan 2.5
atan 10
atan 1e6
# Bug 15319: underflow exception may be missing. # Bug 15319: underflow exception may be missing.
atan 0x1p-100 missing-underflow atan 0x1p-100 missing-underflow
atan 0x1p-600 missing-underflow atan 0x1p-600 missing-underflow
atan 0x1p-10000 missing-underflow atan 0x1p-10000 missing-underflow
atan min missing-underflow
atan -min missing-underflow
atan min_subnorm missing-underflow
atan -min_subnorm missing-underflow
# atan2 (0,x) == 0 for x > 0. # atan2 (0,x) == 0 for x > 0.
atan2 0 1 atan2 0 1
@ -90,8 +123,17 @@ atan2 -1 0
# atan2 (y,-0) == -pi/2 for y < 0. # atan2 (y,-0) == -pi/2 for y < 0.
atan2 -1 -0 atan2 -1 -0
atan2 max max atan2 max max
atan2 max -max
atan2 -max max
atan2 -max -max
atan2 max min atan2 max min
atan2 -max -min atan2 -max -min
atan2 -max min
atan2 max -min
atan2 max min_subnorm
atan2 -max -min_subnorm
atan2 -max min_subnorm
atan2 max -min_subnorm
atan2 0.75 1 atan2 0.75 1
atan2 -0.75 1.0 atan2 -0.75 1.0
atan2 0.75 -1.0 atan2 0.75 -1.0
@ -100,10 +142,43 @@ atan2 0.390625 .00029
atan2 1.390625 0.9296875 atan2 1.390625 0.9296875
atan2 -0.00756827042671106339 -.001792735857538728036 atan2 -0.00756827042671106339 -.001792735857538728036
atan2 0x1.00000000000001p0 0x1.00000000000001p0 atan2 0x1.00000000000001p0 0x1.00000000000001p0
atan2 min min
atan2 min -min
atan2 -min min
atan2 -min -min
atan2 min_subnorm min_subnorm
atan2 min_subnorm -min_subnorm
atan2 -min_subnorm min_subnorm
atan2 -min_subnorm -min_subnorm
atan2 1 -max
atan2 -1 -max
atan2 min -max
atan2 -min -max
atan2 min_subnorm -max
atan2 -min_subnorm -max
# Bug 15319: underflow exception may be missing.
# Bug 16349: errno setting may be missing.
atan2 1 max missing-underflow
atan2 -1 max missing-underflow
atan2 min max missing-underflow missing-errno
atan2 -min max missing-underflow missing-errno
atan2 min_subnorm max missing-underflow missing-errno
atan2 -min_subnorm max missing-underflow missing-errno
atanh 0 atanh 0
atanh -0 atanh -0
atanh 0.75 atanh 0.75
atanh -0.75
atanh 0.25
atanh 0x1p-5
atanh 0x1p-10
atanh 0x1.2345p-20
# Bug 16352: underflow exception may be missing.
# Bug 16357: spurious underflow may occur.
atanh min missing-underflow spurious-underflow:ldbl-96-intel:x86
atanh -min missing-underflow spurious-underflow:ldbl-96-intel:x86
atanh min_subnorm missing-underflow
atanh -min_subnorm missing-underflow
# cabs (x,y) == cabs (y,x). # cabs (x,y) == cabs (y,x).
cabs 0.75 12.390625 cabs 0.75 12.390625
@ -154,6 +229,13 @@ cbrt 0.9921875
cbrt 0.75 cbrt 0.75
cbrt 0x1p16383 cbrt 0x1p16383
cbrt 0x1p-16383 cbrt 0x1p-16383
cbrt 1e5
cbrt max
cbrt -max
cbrt min
cbrt -min
cbrt min_subnorm
cbrt -min_subnorm
ccos 0.0 0.0 ccos 0.0 0.0
ccos -0 0.0 ccos -0 0.0
@ -402,6 +484,12 @@ cos 7
cos 8 cos 8
cos 9 cos 9
cos 10 cos 10
cos max
cos -max
cos min
cos -min
cos min_subnorm
cos -min_subnorm
cosh 0 cosh 0
cosh -0 cosh -0
@ -411,6 +499,39 @@ cosh -709.8893558127259666434838436543941497802734375
cosh 22 cosh 22
cosh 23 cosh 23
cosh 24 cosh 24
cosh 0x1p-5
cosh 0x1p-20
cosh -1
cosh 50
cosh max no-test-inline
cosh -max no-test-inline
# Bug 16354: spurious underflow may occur.
cosh min spurious-underflow
cosh -min spurious-underflow
cosh min_subnorm spurious-underflow
cosh -min_subnorm spurious-underflow
# Test values either side of overflow for each floating-point format.
cosh 0x5.96a7ep+4
cosh 0x5.96a7e8p+4
cosh -0x5.96a7ep+4
cosh -0x5.96a7e8p+4
cosh 0x2.c679d1f73f0fap+8
cosh 0x2.c679d1f73f0fcp+8
cosh -0x2.c679d1f73f0fap+8
cosh -0x2.c679d1f73f0fcp+8
# Bug 16356: bad results from expl (and so coshl) in round-upward mode.
cosh 0x2.c679d1f73f0fb624d358b213a7p+8 xfail-rounding:ldbl-96-intel:x86 xfail-rounding:ldbl-96-intel:x86_64
cosh 0x2.c679d1f73f0fb624d358b213a8p+8 xfail-rounding:ldbl-96-intel:x86 xfail-rounding:ldbl-96-intel:x86_64
cosh -0x2.c679d1f73f0fb624d358b213a7p+8 xfail-rounding:ldbl-96-intel:x86 xfail-rounding:ldbl-96-intel:x86_64
cosh -0x2.c679d1f73f0fb624d358b213a8p+8 xfail-rounding:ldbl-96-intel:x86 xfail-rounding:ldbl-96-intel:x86_64
cosh 0x2.c5d37700c6bb03a4p+12 no-test-inline
cosh 0x2.c5d37700c6bb03a8p+12 no-test-inline
cosh -0x2.c5d37700c6bb03a4p+12 no-test-inline
cosh -0x2.c5d37700c6bb03a8p+12 no-test-inline
cosh 0x2.c5d37700c6bb03a6c24b6c9b494cp+12 no-test-inline
cosh 0x2.c5d37700c6bb03a6c24b6c9b494ep+12 no-test-inline
cosh -0x2.c5d37700c6bb03a6c24b6c9b494cp+12 no-test-inline
cosh -0x2.c5d37700c6bb03a6c24b6c9b494ep+12 no-test-inline
cpow 1 0 0 0 cpow 1 0 0 0
cpow 2 0 10 0 cpow 2 0 10 0

File diff suppressed because it is too large Load Diff

View File

@ -1727,6 +1727,13 @@ static const struct test_f_f_data acosh_test_data[] =
TEST_f_f (acosh, qnan_value, qnan_value, NO_INEXACT_EXCEPTION), TEST_f_f (acosh, qnan_value, qnan_value, NO_INEXACT_EXCEPTION),
/* x < 1: */ /* x < 1: */
TEST_f_f (acosh, 0.75L, qnan_value, INVALID_EXCEPTION|ERRNO_EDOM),
TEST_f_f (acosh, min_value, qnan_value, INVALID_EXCEPTION|ERRNO_EDOM),
TEST_f_f (acosh, min_subnorm_value, qnan_value, INVALID_EXCEPTION|ERRNO_EDOM),
TEST_f_f (acosh, plus_zero, qnan_value, INVALID_EXCEPTION|ERRNO_EDOM),
TEST_f_f (acosh, minus_zero, qnan_value, INVALID_EXCEPTION|ERRNO_EDOM),
TEST_f_f (acosh, -min_subnorm_value, qnan_value, INVALID_EXCEPTION|ERRNO_EDOM),
TEST_f_f (acosh, -min_value, qnan_value, INVALID_EXCEPTION|ERRNO_EDOM),
TEST_f_f (acosh, -1.125L, qnan_value, INVALID_EXCEPTION|ERRNO_EDOM), TEST_f_f (acosh, -1.125L, qnan_value, INVALID_EXCEPTION|ERRNO_EDOM),
TEST_f_f (acosh, -max_value, qnan_value, INVALID_EXCEPTION|ERRNO_EDOM), TEST_f_f (acosh, -max_value, qnan_value, INVALID_EXCEPTION|ERRNO_EDOM),
@ -1866,6 +1873,8 @@ static const struct test_f_f_data atanh_test_data[] =
TEST_f_f (atanh, -1.125L, qnan_value, INVALID_EXCEPTION|ERRNO_EDOM), TEST_f_f (atanh, -1.125L, qnan_value, INVALID_EXCEPTION|ERRNO_EDOM),
TEST_f_f (atanh, max_value, qnan_value, INVALID_EXCEPTION|ERRNO_EDOM), TEST_f_f (atanh, max_value, qnan_value, INVALID_EXCEPTION|ERRNO_EDOM),
TEST_f_f (atanh, -max_value, qnan_value, INVALID_EXCEPTION|ERRNO_EDOM), TEST_f_f (atanh, -max_value, qnan_value, INVALID_EXCEPTION|ERRNO_EDOM),
TEST_f_f (atanh, plus_infty, qnan_value, INVALID_EXCEPTION|ERRNO_EDOM),
TEST_f_f (atanh, minus_infty, qnan_value, INVALID_EXCEPTION|ERRNO_EDOM),
AUTO_TESTS_f_f (atanh, tonearest), AUTO_TESTS_f_f (atanh, tonearest),
}; };
@ -5915,12 +5924,18 @@ static const struct test_f_f_data ceil_test_data[] =
/* Bug 15479: spurious "inexact" exception may occur. */ /* Bug 15479: spurious "inexact" exception may occur. */
TEST_f_f (ceil, M_PIl, 4.0), TEST_f_f (ceil, M_PIl, 4.0),
TEST_f_f (ceil, -M_PIl, -3.0), TEST_f_f (ceil, -M_PIl, -3.0),
TEST_f_f (ceil, min_subnorm_value, 1.0),
TEST_f_f (ceil, min_value, 1.0),
TEST_f_f (ceil, 0.1, 1.0), TEST_f_f (ceil, 0.1, 1.0),
TEST_f_f (ceil, 0.25, 1.0), TEST_f_f (ceil, 0.25, 1.0),
TEST_f_f (ceil, 0.625, 1.0), TEST_f_f (ceil, 0.625, 1.0),
TEST_f_f (ceil, max_value, max_value),
TEST_f_f (ceil, -min_subnorm_value, minus_zero),
TEST_f_f (ceil, -min_value, minus_zero),
TEST_f_f (ceil, -0.1, minus_zero), TEST_f_f (ceil, -0.1, minus_zero),
TEST_f_f (ceil, -0.25, minus_zero), TEST_f_f (ceil, -0.25, minus_zero),
TEST_f_f (ceil, -0.625, minus_zero), TEST_f_f (ceil, -0.625, minus_zero),
TEST_f_f (ceil, -max_value, -max_value),
#ifdef TEST_LDOUBLE #ifdef TEST_LDOUBLE
/* The result can only be represented in long double. */ /* The result can only be represented in long double. */
@ -6403,6 +6418,21 @@ static const struct test_ff_f_data copysign_test_data[] =
TEST_ff_f (copysign, qnan_value, minus_zero, -qnan_value, NO_INEXACT_EXCEPTION|TEST_NAN_SIGN), TEST_ff_f (copysign, qnan_value, minus_zero, -qnan_value, NO_INEXACT_EXCEPTION|TEST_NAN_SIGN),
TEST_ff_f (copysign, -qnan_value, 0, qnan_value, NO_INEXACT_EXCEPTION|TEST_NAN_SIGN), TEST_ff_f (copysign, -qnan_value, 0, qnan_value, NO_INEXACT_EXCEPTION|TEST_NAN_SIGN),
TEST_ff_f (copysign, -qnan_value, minus_zero, -qnan_value, NO_INEXACT_EXCEPTION|TEST_NAN_SIGN), TEST_ff_f (copysign, -qnan_value, minus_zero, -qnan_value, NO_INEXACT_EXCEPTION|TEST_NAN_SIGN),
TEST_ff_f (copysign, min_value, min_subnorm_value, min_value, NO_INEXACT_EXCEPTION),
TEST_ff_f (copysign, min_value, -min_subnorm_value, -min_value, NO_INEXACT_EXCEPTION),
TEST_ff_f (copysign, -min_value, min_subnorm_value, min_value, NO_INEXACT_EXCEPTION),
TEST_ff_f (copysign, -min_value, -min_subnorm_value, -min_value, NO_INEXACT_EXCEPTION),
TEST_ff_f (copysign, min_subnorm_value, max_value, min_subnorm_value, NO_INEXACT_EXCEPTION),
TEST_ff_f (copysign, min_subnorm_value, -max_value, -min_subnorm_value, NO_INEXACT_EXCEPTION),
TEST_ff_f (copysign, -min_subnorm_value, max_value, min_subnorm_value, NO_INEXACT_EXCEPTION),
TEST_ff_f (copysign, -min_subnorm_value, -max_value, -min_subnorm_value, NO_INEXACT_EXCEPTION),
TEST_ff_f (copysign, max_value, min_value, max_value, NO_INEXACT_EXCEPTION),
TEST_ff_f (copysign, max_value, -min_value, -max_value, NO_INEXACT_EXCEPTION),
TEST_ff_f (copysign, -max_value, min_value, max_value, NO_INEXACT_EXCEPTION),
TEST_ff_f (copysign, -max_value, -min_value, -max_value, NO_INEXACT_EXCEPTION),
}; };
static void static void

View File

@ -121,9 +121,28 @@ ildouble: 1
ldouble: 1 ldouble: 1
# asin_downward # asin_downward
Test "asin_downward (-0x4p-1024)":
double: 1
idouble: 1
Test "asin_downward (-0x4p-1076)":
double: 1
idouble: 1
Test "asin_downward (-0x4p-128)":
double: 1
float: 1
idouble: 1
ifloat: 1
Test "asin_downward (-0x8p-152)":
double: 1
float: 1
idouble: 1
ifloat: 1
Test "asin_downward (-0x8p-4)": Test "asin_downward (-0x8p-4)":
ildouble: 1 ildouble: 1
ldouble: 1 ldouble: 1
Test "asin_downward (-0x8p-972)":
double: 1
idouble: 1
Test "asin_downward (-0xf.fffffff8p-4)": Test "asin_downward (-0xf.fffffff8p-4)":
ildouble: 1 ildouble: 1
ldouble: 1 ldouble: 1
@ -159,6 +178,44 @@ double: 1
float: 1 float: 1
idouble: 1 idouble: 1
ifloat: 1 ifloat: 1
Test "asin_towardzero (-0x2p-16384)":
ildouble: 1
ldouble: 1
Test "asin_towardzero (-0x4p-1024)":
double: 1
idouble: 1
ildouble: 1
ldouble: 1
Test "asin_towardzero (-0x4p-1076)":
double: 1
idouble: 1
ildouble: 1
ldouble: 1
Test "asin_towardzero (-0x4p-128)":
double: 1
float: 1
idouble: 1
ifloat: 1
ildouble: 1
ldouble: 1
Test "asin_towardzero (-0x4p-16384)":
ildouble: 1
ldouble: 1
Test "asin_towardzero (-0x8p-152)":
double: 1
float: 1
idouble: 1
ifloat: 1
ildouble: 1
ldouble: 1
Test "asin_towardzero (-0x8p-16448)":
ildouble: 1
ldouble: 1
Test "asin_towardzero (-0x8p-972)":
double: 1
idouble: 1
ildouble: 1
ldouble: 1
Test "asin_towardzero (-1.0)": Test "asin_towardzero (-1.0)":
float: 1 float: 1
ifloat: 1 ifloat: 1
@ -181,6 +238,34 @@ double: 1
float: 1 float: 1
idouble: 1 idouble: 1
ifloat: 1 ifloat: 1
Test "asin_upward (-0x2p-16384)":
ildouble: 1
ldouble: 1
Test "asin_upward (-0x4p-1024)":
ildouble: 1
ldouble: 1
Test "asin_upward (-0x4p-1076)":
ildouble: 1
ldouble: 1
Test "asin_upward (-0x4p-128)":
float: 1
ifloat: 1
ildouble: 1
ldouble: 1
Test "asin_upward (-0x4p-16384)":
ildouble: 1
ldouble: 1
Test "asin_upward (-0x8p-152)":
float: 1
ifloat: 1
ildouble: 1
ldouble: 1
Test "asin_upward (-0x8p-16448)":
ildouble: 1
ldouble: 1
Test "asin_upward (-0x8p-972)":
ildouble: 1
ldouble: 1
Test "asin_upward (-0xf.fffffff8p-4)": Test "asin_upward (-0xf.fffffff8p-4)":
ildouble: 1 ildouble: 1
ldouble: 1 ldouble: 1
@ -201,13 +286,58 @@ float: 1
ifloat: 1 ifloat: 1
ildouble: 1 ildouble: 1
ldouble: 1 ldouble: 1
Test "asin_upward (0x2p-16384)":
ildouble: 1
ldouble: 1
Test "asin_upward (0x4p-1024)":
double: 1
idouble: 1
ildouble: 1
ldouble: 1
Test "asin_upward (0x4p-1076)":
double: 1
idouble: 1
ildouble: 1
ldouble: 1
Test "asin_upward (0x4p-128)":
double: 1
float: 1
idouble: 1
ifloat: 1
ildouble: 1
ldouble: 1
Test "asin_upward (0x4p-16384)":
ildouble: 1
ldouble: 1
Test "asin_upward (0x8p-152)":
double: 1
float: 1
idouble: 1
ifloat: 1
ildouble: 1
ldouble: 1
Test "asin_upward (0x8p-16448)":
ildouble: 1
ldouble: 1
Test "asin_upward (0x8p-4)": Test "asin_upward (0x8p-4)":
ildouble: 1 ildouble: 1
ldouble: 1 ldouble: 1
Test "asin_upward (0x8p-972)":
double: 1
idouble: 1
ildouble: 1
ldouble: 1
Test "asin_upward (1.0)": Test "asin_upward (1.0)":
double: 1 double: 1
idouble: 1 idouble: 1
# asinh
Test "asinh (0x1p+100)":
ldouble: 1
Test "asinh (0xf.424p+16)":
ildouble: 1
ldouble: 1
# atan2 # atan2
Test "atan2 (-0x1.effe81f852716ffep-8, -0x7.57d1de0e5124664p-12)": Test "atan2 (-0x1.effe81f852716ffep-8, -0x7.57d1de0e5124664p-12)":
ildouble: 1 ildouble: 1
@ -217,9 +347,18 @@ ildouble: 1
ldouble: 1 ldouble: 1
# atanh # atanh
Test "atanh (-0xcp-4)":
ildouble: 2
ldouble: 1
Test "atanh (0.75)": Test "atanh (0.75)":
ildouble: 2 ildouble: 2
ldouble: 1 ldouble: 1
Test "atanh (0x4p-12)":
ildouble: 1
Test "atanh (0x4p-4)":
ldouble: 1
Test "atanh (0x8p-8)":
ildouble: 1
Test "atanh (0xcp-4)": Test "atanh (0xcp-4)":
ildouble: 2 ildouble: 2
ldouble: 1 ldouble: 1
@ -4206,15 +4345,26 @@ ldouble: 1
Test "cbrt (-0x4.18937p-12)": Test "cbrt (-0x4.18937p-12)":
ildouble: 1 ildouble: 1
ldouble: 1 ldouble: 1
Test "cbrt (-0xf.fffffffffffffffp+16380)":
ildouble: 1
ldouble: 1
Test "cbrt (-27.0)": Test "cbrt (-27.0)":
ildouble: 1 ildouble: 1
ldouble: 1 ldouble: 1
Test "cbrt (0.75)": Test "cbrt (0.75)":
ildouble: 1 ildouble: 1
ldouble: 1 ldouble: 1
Test "cbrt (0x1.86ap+16)":
double: 1
idouble: 1
ildouble: 1
ldouble: 1
Test "cbrt (0xcp-4)": Test "cbrt (0xcp-4)":
ildouble: 1 ildouble: 1
ldouble: 1 ldouble: 1
Test "cbrt (0xf.fffffffffffffffp+16380)":
ildouble: 1
ldouble: 1
# ccos # ccos
Test "Real part of: ccos (-0.75 + 710.5 i)": Test "Real part of: ccos (-0.75 + 710.5 i)":
@ -6274,6 +6424,48 @@ idouble: 2
ifloat: 1 ifloat: 1
# cos_downward # cos_downward
Test "cos_downward (-0x2p-16384)":
ildouble: 1
ldouble: 1
Test "cos_downward (-0x4p-1024)":
double: 1
idouble: 1
ildouble: 1
ldouble: 1
Test "cos_downward (-0x4p-1076)":
double: 1
idouble: 1
ildouble: 1
ldouble: 1
Test "cos_downward (-0x4p-128)":
double: 1
idouble: 1
ildouble: 1
ldouble: 1
Test "cos_downward (-0x4p-16384)":
ildouble: 1
ldouble: 1
Test "cos_downward (-0x8p-152)":
double: 1
idouble: 1
ildouble: 1
ldouble: 1
Test "cos_downward (-0x8p-16448)":
ildouble: 1
ldouble: 1
Test "cos_downward (-0x8p-972)":
double: 1
idouble: 1
ildouble: 1
ldouble: 1
Test "cos_downward (-0xf.ffffffffffff8p+1020)":
double: 1
idouble: 1
ildouble: 1
ldouble: 1
Test "cos_downward (-0xf.fffffp+124)":
double: 1
idouble: 1
Test "cos_downward (0x1.000000cf4a2a2p+0)": Test "cos_downward (0x1.000000cf4a2a2p+0)":
double: 1 double: 1
idouble: 1 idouble: 1
@ -6367,6 +6559,9 @@ idouble: 1
Test "cos_downward (0x2p+0)": Test "cos_downward (0x2p+0)":
ildouble: 1 ildouble: 1
ldouble: 1 ldouble: 1
Test "cos_downward (0x2p-16384)":
ildouble: 1
ldouble: 1
Test "cos_downward (0x3p+0)": Test "cos_downward (0x3p+0)":
double: 1 double: 1
idouble: 1 idouble: 1
@ -6378,12 +6573,43 @@ ldouble: 1
Test "cos_downward (0x4p+48)": Test "cos_downward (0x4p+48)":
double: 1 double: 1
idouble: 1 idouble: 1
Test "cos_downward (0x4p-1024)":
double: 1
idouble: 1
ildouble: 1
ldouble: 1
Test "cos_downward (0x4p-1076)":
double: 1
idouble: 1
ildouble: 1
ldouble: 1
Test "cos_downward (0x4p-128)":
double: 1
idouble: 1
ildouble: 1
ldouble: 1
Test "cos_downward (0x4p-16384)":
ildouble: 1
ldouble: 1
Test "cos_downward (0x8p+0)": Test "cos_downward (0x8p+0)":
ildouble: 2 ildouble: 2
ldouble: 2 ldouble: 2
Test "cos_downward (0x8p+1020)": Test "cos_downward (0x8p+1020)":
ildouble: 1 ildouble: 1
ldouble: 1 ldouble: 1
Test "cos_downward (0x8p-152)":
double: 1
idouble: 1
ildouble: 1
ldouble: 1
Test "cos_downward (0x8p-16448)":
ildouble: 1
ldouble: 1
Test "cos_downward (0x8p-972)":
double: 1
idouble: 1
ildouble: 1
ldouble: 1
Test "cos_downward (0x9p+0)": Test "cos_downward (0x9p+0)":
double: 1 double: 1
idouble: 1 idouble: 1
@ -6416,6 +6642,9 @@ double: 1
idouble: 1 idouble: 1
ildouble: 1 ildouble: 1
ldouble: 1 ldouble: 1
Test "cos_downward (0xf.fffffffffffffffp+16380)":
ildouble: 1
ldouble: 1
Test "cos_downward (0xf.fffffp+124)": Test "cos_downward (0xf.fffffp+124)":
double: 1 double: 1
idouble: 1 idouble: 1
@ -6457,6 +6686,43 @@ ildouble: 1
ldouble: 1 ldouble: 1
# cos_towardzero # cos_towardzero
Test "cos_towardzero (-0x2p-16384)":
ildouble: 1
ldouble: 1
Test "cos_towardzero (-0x4p-1024)":
double: 1
idouble: 1
ildouble: 1
ldouble: 1
Test "cos_towardzero (-0x4p-1076)":
double: 1
idouble: 1
ildouble: 1
ldouble: 1
Test "cos_towardzero (-0x4p-128)":
double: 1
idouble: 1
ildouble: 1
ldouble: 1
Test "cos_towardzero (-0x4p-16384)":
ildouble: 1
ldouble: 1
Test "cos_towardzero (-0x8p-152)":
double: 1
idouble: 1
ildouble: 1
ldouble: 1
Test "cos_towardzero (-0x8p-16448)":
ildouble: 1
ldouble: 1
Test "cos_towardzero (-0x8p-972)":
double: 1
idouble: 1
ildouble: 1
ldouble: 1
Test "cos_towardzero (-0xf.fffffp+124)":
double: 1
idouble: 1
Test "cos_towardzero (0x1.000000cf4a2a2p+0)": Test "cos_towardzero (0x1.000000cf4a2a2p+0)":
double: 1 double: 1
idouble: 1 idouble: 1
@ -6516,12 +6782,33 @@ idouble: 1
Test "cos_towardzero (0x2p+0)": Test "cos_towardzero (0x2p+0)":
double: 1 double: 1
idouble: 1 idouble: 1
Test "cos_towardzero (0x2p-16384)":
ildouble: 1
ldouble: 1
Test "cos_towardzero (0x4p+0)": Test "cos_towardzero (0x4p+0)":
double: 1 double: 1
idouble: 1 idouble: 1
Test "cos_towardzero (0x4p+48)": Test "cos_towardzero (0x4p+48)":
double: 1 double: 1
idouble: 1 idouble: 1
Test "cos_towardzero (0x4p-1024)":
double: 1
idouble: 1
ildouble: 1
ldouble: 1
Test "cos_towardzero (0x4p-1076)":
double: 1
idouble: 1
ildouble: 1
ldouble: 1
Test "cos_towardzero (0x4p-128)":
double: 1
idouble: 1
ildouble: 1
ldouble: 1
Test "cos_towardzero (0x4p-16384)":
ildouble: 1
ldouble: 1
Test "cos_towardzero (0x8p+0)": Test "cos_towardzero (0x8p+0)":
double: 1 double: 1
idouble: 1 idouble: 1
@ -6530,6 +6817,19 @@ ldouble: 1
Test "cos_towardzero (0x8p+1020)": Test "cos_towardzero (0x8p+1020)":
double: 1 double: 1
idouble: 1 idouble: 1
Test "cos_towardzero (0x8p-152)":
double: 1
idouble: 1
ildouble: 1
ldouble: 1
Test "cos_towardzero (0x8p-16448)":
ildouble: 1
ldouble: 1
Test "cos_towardzero (0x8p-972)":
double: 1
idouble: 1
ildouble: 1
ldouble: 1
Test "cos_towardzero (0xa.217bap+12)": Test "cos_towardzero (0xa.217bap+12)":
ildouble: 1 ildouble: 1
ldouble: 1 ldouble: 1
@ -6584,6 +6884,12 @@ ldouble: 1
Test "cos_upward (-0x2p+64)": Test "cos_upward (-0x2p+64)":
double: 1 double: 1
idouble: 1 idouble: 1
Test "cos_upward (-0xf.ffffffffffff8p+1020)":
ildouble: 1
ldouble: 1
Test "cos_upward (-0xf.fffffffffffffffp+16380)":
ildouble: 1
ldouble: 1
Test "cos_upward (0x1.000004p+0)": Test "cos_upward (0x1.000004p+0)":
double: 1 double: 1
idouble: 1 idouble: 1
@ -6714,6 +7020,9 @@ idouble: 1
Test "cos_upward (0xf.ffffffffffff8p+1020)": Test "cos_upward (0xf.ffffffffffff8p+1020)":
ildouble: 1 ildouble: 1
ldouble: 1 ldouble: 1
Test "cos_upward (0xf.fffffffffffffffp+16380)":
ildouble: 2
ldouble: 2
Test "cos_upward (1)": Test "cos_upward (1)":
float: 1 float: 1
ifloat: 1 ifloat: 1
@ -6744,21 +7053,72 @@ ildouble: 1
ldouble: 1 ldouble: 1
# cosh # cosh
Test "cosh (-0x1p+0)":
ldouble: 1
Test "cosh (-0x2.c5d374p+12)":
ldouble: 2
Test "cosh (-0x2.c5d37700c6bbp+12)":
ldouble: 1
Test "cosh (-0x2.c5e3acp+8)": Test "cosh (-0x2.c5e3acp+8)":
ildouble: 1 ildouble: 1
Test "cosh (-0x2.c5e3bp+8)": Test "cosh (-0x2.c5e3bp+8)":
ildouble: 1 ildouble: 1
Test "cosh (-0x2.c679d1f73f0fap+8)":
ildouble: 1
Test "cosh (-0x2.c679d1f73f0fb624p+8)":
ildouble: 1
Test "cosh (-0x2.c679d1f73f0fb628p+8)":
ildouble: 1
Test "cosh (-0x2.c679d1f73f0fcp+8)":
ildouble: 1
Test "cosh (-0x2.c679dp+8)":
ildouble: 1
Test "cosh (0x1.6p+4)": Test "cosh (0x1.6p+4)":
ldouble: 1 ldouble: 1
Test "cosh (0x2.c5d374p+12)":
ldouble: 2
Test "cosh (0x2.c5d37700c6bbp+12)":
ldouble: 1
# cosh_downward # cosh_downward
Test "cosh_downward (-0x1p+0)":
ldouble: 1
Test "cosh_downward (-0x2.c5d374p+12)":
ldouble: 1
Test "cosh_downward (-0x2.c5d37700c6bb03a4p+12)":
ldouble: 3
Test "cosh_downward (-0x2.c5d37700c6bbp+12)":
ldouble: 2
Test "cosh_downward (-0x2.c5e3acd2922a6p+8)": Test "cosh_downward (-0x2.c5e3acd2922a6p+8)":
ildouble: 1 ildouble: 1
Test "cosh_downward (-0x2.c5e3bp+8)": Test "cosh_downward (-0x2.c5e3bp+8)":
ildouble: 1 ildouble: 1
Test "cosh_downward (-0x2.c679d1f73f0fap+8)":
ildouble: 2
Test "cosh_downward (-0x2.c679d1f73f0fcp+8)":
ildouble: 1
Test "cosh_downward (-0x2.c679dp+8)":
double: 1
ildouble: 1
Test "cosh_downward (-0x5.96a7ep+4)":
double: 1
ildouble: 2
ldouble: 1
Test "cosh_downward (0x1.6p+4)": Test "cosh_downward (0x1.6p+4)":
ildouble: 1 ildouble: 1
ldouble: 2 ldouble: 2
Test "cosh_downward (0x2.c5d374p+12)":
ldouble: 1
Test "cosh_downward (0x2.c5d37700c6bb03a4p+12)":
ldouble: 3
Test "cosh_downward (0x2.c5d37700c6bbp+12)":
ldouble: 2
Test "cosh_downward (0x2.c679dp+8)":
double: 1
Test "cosh_downward (0x5.96a7ep+4)":
double: 1
ildouble: 1
ldouble: 1
Test "cosh_downward (22)": Test "cosh_downward (22)":
double: 1 double: 1
float: 1 float: 1
@ -6780,21 +7140,68 @@ ildouble: 1
ldouble: 1 ldouble: 1
# cosh_tonearest # cosh_tonearest
Test "cosh_tonearest (-0x1p+0)":
ldouble: 1
Test "cosh_tonearest (-0x2.c5d374p+12)":
ldouble: 2
Test "cosh_tonearest (-0x2.c5d37700c6bbp+12)":
ldouble: 1
Test "cosh_tonearest (-0x2.c5e3acp+8)": Test "cosh_tonearest (-0x2.c5e3acp+8)":
ildouble: 1 ildouble: 1
Test "cosh_tonearest (-0x2.c5e3bp+8)": Test "cosh_tonearest (-0x2.c5e3bp+8)":
ildouble: 1 ildouble: 1
Test "cosh_tonearest (-0x2.c679d1f73f0fap+8)":
ildouble: 1
Test "cosh_tonearest (-0x2.c679d1f73f0fb624p+8)":
ildouble: 1
Test "cosh_tonearest (-0x2.c679d1f73f0fb628p+8)":
ildouble: 1
Test "cosh_tonearest (-0x2.c679d1f73f0fcp+8)":
ildouble: 1
Test "cosh_tonearest (-0x2.c679dp+8)":
ildouble: 1
Test "cosh_tonearest (0x1.6p+4)": Test "cosh_tonearest (0x1.6p+4)":
ldouble: 1 ldouble: 1
Test "cosh_tonearest (0x2.c5d374p+12)":
ldouble: 2
Test "cosh_tonearest (0x2.c5d37700c6bbp+12)":
ldouble: 1
Test "cosh_tonearest (22)": Test "cosh_tonearest (22)":
ldouble: 1 ldouble: 1
# cosh_towardzero # cosh_towardzero
Test "cosh_towardzero (-0x1p+0)":
ildouble: 1
ldouble: 1
Test "cosh_towardzero (-0x2.c5d374p+12)":
ldouble: 1
Test "cosh_towardzero (-0x2.c5d37700c6bb03a4p+12)":
ldouble: 3
Test "cosh_towardzero (-0x2.c5d37700c6bbp+12)":
ldouble: 2
Test "cosh_towardzero (-0x2.c5e3acd2922a6p+8)": Test "cosh_towardzero (-0x2.c5e3acd2922a6p+8)":
ildouble: 1 ildouble: 1
Test "cosh_towardzero (-0x2.c679dp+8)":
double: 1
ildouble: 1
Test "cosh_towardzero (-0x5.96a7ep+4)":
double: 1
ldouble: 1
Test "cosh_towardzero (0x1.6p+4)": Test "cosh_towardzero (0x1.6p+4)":
ildouble: 1 ildouble: 1
ldouble: 2 ldouble: 2
Test "cosh_towardzero (0x2.c5d374p+12)":
ldouble: 1
Test "cosh_towardzero (0x2.c5d37700c6bb03a4p+12)":
ldouble: 3
Test "cosh_towardzero (0x2.c5d37700c6bbp+12)":
ldouble: 2
Test "cosh_towardzero (0x2.c679dp+8)":
double: 1
Test "cosh_towardzero (0x5.96a7ep+4)":
double: 1
ildouble: 1
ldouble: 1
Test "cosh_towardzero (22)": Test "cosh_towardzero (22)":
double: 1 double: 1
float: 1 float: 1
@ -6816,6 +7223,12 @@ ildouble: 1
ldouble: 1 ldouble: 1
# cosh_upward # cosh_upward
Test "cosh_upward (-0x2.c5d374p+12)":
ldouble: 2
Test "cosh_upward (-0x2.c5d37700c6bb03a4p+12)":
ldouble: 3
Test "cosh_upward (-0x2.c5d37700c6bbp+12)":
ldouble: 3
Test "cosh_upward (-0x2.c5e3acd2922a6p+8)": Test "cosh_upward (-0x2.c5e3acd2922a6p+8)":
double: 1 double: 1
ildouble: 1 ildouble: 1
@ -6824,6 +7237,36 @@ Test "cosh_upward (-0x2.c5e3acp+8)":
ildouble: 1 ildouble: 1
Test "cosh_upward (-0x2.c5e3bp+8)": Test "cosh_upward (-0x2.c5e3bp+8)":
ildouble: 1 ildouble: 1
Test "cosh_upward (-0x2.c679d1f73f0fap+8)":
double: 1
ildouble: 1
Test "cosh_upward (-0x2.c679d1f73f0fcp+8)":
ildouble: 1
Test "cosh_upward (-0x2p-16384)":
ildouble: 1
Test "cosh_upward (-0x4p-1024)":
idouble: 1
ildouble: 1
Test "cosh_upward (-0x4p-1076)":
idouble: 1
ildouble: 1
Test "cosh_upward (-0x4p-128)":
idouble: 1
ifloat: 1
ildouble: 1
Test "cosh_upward (-0x4p-16384)":
ildouble: 1
Test "cosh_upward (-0x5.96a7ep+4)":
ildouble: 1
Test "cosh_upward (-0x8p-152)":
idouble: 1
ifloat: 1
ildouble: 1
Test "cosh_upward (-0x8p-16448)":
ildouble: 1
Test "cosh_upward (-0x8p-972)":
idouble: 1
ildouble: 1
Test "cosh_upward (0x1.6p+4)": Test "cosh_upward (0x1.6p+4)":
ildouble: 1 ildouble: 1
ldouble: 1 ldouble: 1
@ -6832,6 +7275,12 @@ ildouble: 2
ldouble: 1 ldouble: 1
Test "cosh_upward (0x1.8p+4)": Test "cosh_upward (0x1.8p+4)":
ildouble: 1 ildouble: 1
Test "cosh_upward (0x2.c5d374p+12)":
ldouble: 2
Test "cosh_upward (0x2.c5d37700c6bb03a4p+12)":
ldouble: 3
Test "cosh_upward (0x2.c5d37700c6bbp+12)":
ldouble: 3
Test "cosh_upward (0x2.c5e3acd2922a6p+8)": Test "cosh_upward (0x2.c5e3acd2922a6p+8)":
double: 1 double: 1
ildouble: 2 ildouble: 2
@ -6840,6 +7289,21 @@ Test "cosh_upward (0x2.c5e3acp+8)":
ildouble: 1 ildouble: 1
Test "cosh_upward (0x2.c5e3bp+8)": Test "cosh_upward (0x2.c5e3bp+8)":
ildouble: 1 ildouble: 1
Test "cosh_upward (0x2.c679d1f73f0fap+8)":
double: 1
ildouble: 1
Test "cosh_upward (0x2.c679d1f73f0fcp+8)":
ildouble: 1
Test "cosh_upward (0x2.c679d4p+8)":
ildouble: 1
Test "cosh_upward (0x2.c679dp+8)":
ildouble: 1
Test "cosh_upward (0x3.2p+4)":
ildouble: 1
Test "cosh_upward (0x5.96a7e8p+4)":
ildouble: 1
Test "cosh_upward (0x5.96a7ep+4)":
ildouble: 1
Test "cosh_upward (22)": Test "cosh_upward (22)":
ildouble: 2 ildouble: 2
ldouble: 1 ldouble: 1
@ -13805,6 +14269,10 @@ ifloat: 1
ildouble: 1 ildouble: 1
ldouble: 1 ldouble: 1
Function: "asinh":
ildouble: 1
ldouble: 1
Function: "atan2": Function: "atan2":
ildouble: 1 ildouble: 1
ldouble: 1 ldouble: 1
@ -13894,6 +14362,8 @@ ildouble: 1
ldouble: 1 ldouble: 1
Function: "cbrt": Function: "cbrt":
double: 1
idouble: 1
ildouble: 1 ildouble: 1
ldouble: 1 ldouble: 1
@ -14011,19 +14481,19 @@ ldouble: 2
Function: "cosh": Function: "cosh":
ildouble: 1 ildouble: 1
ldouble: 1 ldouble: 2
Function: "cosh_downward": Function: "cosh_downward":
double: 1 double: 1
float: 1 float: 1
idouble: 1 idouble: 1
ifloat: 1 ifloat: 1
ildouble: 1 ildouble: 2
ldouble: 2 ldouble: 3
Function: "cosh_tonearest": Function: "cosh_tonearest":
ildouble: 1 ildouble: 1
ldouble: 1 ldouble: 2
Function: "cosh_towardzero": Function: "cosh_towardzero":
double: 1 double: 1
@ -14031,13 +14501,14 @@ float: 1
idouble: 1 idouble: 1
ifloat: 1 ifloat: 1
ildouble: 1 ildouble: 1
ldouble: 2 ldouble: 3
Function: "cosh_upward": Function: "cosh_upward":
double: 1 double: 1
idouble: 1 idouble: 1
ifloat: 1
ildouble: 2 ildouble: 2
ldouble: 1 ldouble: 3
Function: Real part of "cpow": Function: Real part of "cpow":
double: 2 double: 2

View File

@ -112,6 +112,21 @@ ldouble: 1
Test "acos_upward (-0x1p+0)": Test "acos_upward (-0x1p+0)":
double: 1 double: 1
idouble: 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 (0.5)": Test "acos_upward (0.5)":
ildouble: 1 ildouble: 1
ldouble: 1 ldouble: 1
@ -127,6 +142,21 @@ idouble: 1
Test "acos_upward (0x1.70ef56p-56)": Test "acos_upward (0x1.70ef56p-56)":
double: 1 double: 1
idouble: 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 (0xcp-4)": Test "acos_upward (0xcp-4)":
ildouble: 1 ildouble: 1
ldouble: 1 ldouble: 1
@ -134,6 +164,14 @@ Test "acos_upward (0xf.fffffffffffffffp-4)":
ildouble: 1 ildouble: 1
ldouble: 1 ldouble: 1
# acosh
Test "acosh (0x6.4p+4)":
double: 1
idouble: 1
Test "acosh (0xf.ffffffffffff8p+1020)":
double: 1
idouble: 1
# asin_downward # asin_downward
Test "asin_downward (-0.5)": Test "asin_downward (-0.5)":
double: 1 double: 1
@ -187,9 +225,47 @@ ldouble: 1
Test "asin_towardzero (-0.5)": Test "asin_towardzero (-0.5)":
double: 1 double: 1
idouble: 1 idouble: 1
Test "asin_towardzero (-0x2p-16384)":
ildouble: 1
ldouble: 1
Test "asin_towardzero (-0x4p-1024)":
double: 1
idouble: 1
ildouble: 1
ldouble: 1
Test "asin_towardzero (-0x4p-1076)":
double: 1
idouble: 1
ildouble: 1
ldouble: 1
Test "asin_towardzero (-0x4p-128)":
double: 1
float: 1
idouble: 1
ifloat: 1
ildouble: 1
ldouble: 1
Test "asin_towardzero (-0x4p-16384)":
ildouble: 1
ldouble: 1
Test "asin_towardzero (-0x8p-152)":
double: 1
float: 1
idouble: 1
ifloat: 1
ildouble: 1
ldouble: 1
Test "asin_towardzero (-0x8p-16448)":
ildouble: 1
ldouble: 1
Test "asin_towardzero (-0x8p-4)": Test "asin_towardzero (-0x8p-4)":
float: 1 float: 1
ifloat: 1 ifloat: 1
Test "asin_towardzero (-0x8p-972)":
double: 1
idouble: 1
ildouble: 1
ldouble: 1
Test "asin_towardzero (-1.0)": Test "asin_towardzero (-1.0)":
float: 1 float: 1
ifloat: 1 ifloat: 1
@ -208,11 +284,49 @@ ildouble: 1
ldouble: 1 ldouble: 1
# asin_upward # asin_upward
Test "asin_upward (-0x2p-16384)":
ildouble: 1
ldouble: 1
Test "asin_upward (-0x4p-1024)":
double: 1
idouble: 1
ildouble: 1
ldouble: 1
Test "asin_upward (-0x4p-1076)":
double: 1
idouble: 1
ildouble: 1
ldouble: 1
Test "asin_upward (-0x4p-128)":
double: 1
float: 1
idouble: 1
ifloat: 1
ildouble: 1
ldouble: 1
Test "asin_upward (-0x4p-16384)":
ildouble: 1
ldouble: 1
Test "asin_upward (-0x8p-152)":
double: 1
float: 1
idouble: 1
ifloat: 1
ildouble: 1
ldouble: 1
Test "asin_upward (-0x8p-16448)":
ildouble: 1
ldouble: 1
Test "asin_upward (-0x8p-4)": Test "asin_upward (-0x8p-4)":
double: 1 double: 1
float: 1 float: 1
idouble: 1 idouble: 1
ifloat: 1 ifloat: 1
Test "asin_upward (-0x8p-972)":
double: 1
idouble: 1
ildouble: 1
ldouble: 1
Test "asin_upward (-0xf.fffffff8p-4)": Test "asin_upward (-0xf.fffffff8p-4)":
double: 1 double: 1
idouble: 1 idouble: 1
@ -246,9 +360,64 @@ ldouble: 1
Test "asin_upward (0x1p+0)": Test "asin_upward (0x1p+0)":
double: 1 double: 1
idouble: 1 idouble: 1
Test "asin_upward (0x2p-16384)":
ildouble: 1
ldouble: 1
Test "asin_upward (0x4p-1024)":
double: 1
idouble: 1
ildouble: 1
ldouble: 1
Test "asin_upward (0x4p-1076)":
double: 1
idouble: 1
ildouble: 1
ldouble: 1
Test "asin_upward (0x4p-128)":
double: 1
float: 1
idouble: 1
ifloat: 1
ildouble: 1
ldouble: 1
Test "asin_upward (0x4p-16384)":
ildouble: 1
ldouble: 1
Test "asin_upward (0x8p-152)":
double: 1
float: 1
idouble: 1
ifloat: 1
ildouble: 1
ldouble: 1
Test "asin_upward (0x8p-16448)":
ildouble: 1
ldouble: 1
Test "asin_upward (0x8p-4)": Test "asin_upward (0x8p-4)":
ildouble: 1 ildouble: 1
ldouble: 1 ldouble: 1
Test "asin_upward (0x8p-972)":
double: 1
idouble: 1
ildouble: 1
ldouble: 1
# asinh
Test "asinh (-0xf.ffffffffffff8p+1020)":
double: 1
idouble: 1
Test "asinh (0x1p+100)":
ildouble: 1
ldouble: 1
Test "asinh (0xap+0)":
float: 1
ifloat: 1
Test "asinh (0xf.424p+16)":
ildouble: 1
ldouble: 1
Test "asinh (0xf.ffffffffffff8p+1020)":
double: 1
idouble: 1
# atan2 # atan2
Test "atan2 (-0.75, -1.0)": Test "atan2 (-0.75, -1.0)":
@ -269,6 +438,9 @@ ifloat: 1
Test "atan2 (-0xf.fffffp+124, -0x4p-128)": Test "atan2 (-0xf.fffffp+124, -0x4p-128)":
float: 1 float: 1
ifloat: 1 ifloat: 1
Test "atan2 (-0xf.fffffp+124, -0x8p-152)":
float: 1
ifloat: 1
Test "atan2 (-max_value, -min_value)": Test "atan2 (-max_value, -min_value)":
float: 1 float: 1
ifloat: 1 ifloat: 1
@ -281,16 +453,30 @@ ifloat: 1
Test "atan2 (0xcp-4, -0x1p+0)": Test "atan2 (0xcp-4, -0x1p+0)":
float: 1 float: 1
ifloat: 1 ifloat: 1
Test "atan2 (0xf.fffffp+124, -0x4p-128)":
float: 1
ifloat: 1
Test "atan2 (0xf.fffffp+124, -0x8p-152)":
float: 1
ifloat: 1
Test "atan2 (1.390625, 0.9296875)": Test "atan2 (1.390625, 0.9296875)":
float: 1 float: 1
ifloat: 1 ifloat: 1
# atanh # atanh
Test "atanh (-0xcp-4)":
float: 1
ifloat: 1
ildouble: 1
ldouble: 1
Test "atanh (0.75)": Test "atanh (0.75)":
float: 1 float: 1
ifloat: 1 ifloat: 1
ildouble: 1 ildouble: 1
ldouble: 1 ldouble: 1
Test "atanh (0x4p-4)":
ildouble: 1
ldouble: 1
Test "atanh (0xcp-4)": Test "atanh (0xcp-4)":
float: 1 float: 1
ifloat: 1 ifloat: 1
@ -7148,6 +7334,48 @@ idouble: 2
ifloat: 1 ifloat: 1
# cos_downward # cos_downward
Test "cos_downward (-0x2p-16384)":
ildouble: 1
ldouble: 1
Test "cos_downward (-0x4p-1024)":
double: 1
idouble: 1
ildouble: 1
ldouble: 1
Test "cos_downward (-0x4p-1076)":
double: 1
idouble: 1
ildouble: 1
ldouble: 1
Test "cos_downward (-0x4p-128)":
double: 1
idouble: 1
ildouble: 1
ldouble: 1
Test "cos_downward (-0x4p-16384)":
ildouble: 1
ldouble: 1
Test "cos_downward (-0x8p-152)":
double: 1
idouble: 1
ildouble: 1
ldouble: 1
Test "cos_downward (-0x8p-16448)":
ildouble: 1
ldouble: 1
Test "cos_downward (-0x8p-972)":
double: 1
idouble: 1
ildouble: 1
ldouble: 1
Test "cos_downward (-0xf.ffffffffffff8p+1020)":
double: 1
idouble: 1
ildouble: 1
ldouble: 1
Test "cos_downward (-0xf.fffffp+124)":
double: 1
idouble: 1
Test "cos_downward (0x1.000000cf4a2a2p+0)": Test "cos_downward (0x1.000000cf4a2a2p+0)":
double: 1 double: 1
idouble: 1 idouble: 1
@ -7241,6 +7469,9 @@ idouble: 1
Test "cos_downward (0x2p+0)": Test "cos_downward (0x2p+0)":
ildouble: 1 ildouble: 1
ldouble: 1 ldouble: 1
Test "cos_downward (0x2p-16384)":
ildouble: 1
ldouble: 1
Test "cos_downward (0x3p+0)": Test "cos_downward (0x3p+0)":
double: 1 double: 1
idouble: 1 idouble: 1
@ -7252,12 +7483,43 @@ ldouble: 1
Test "cos_downward (0x4p+48)": Test "cos_downward (0x4p+48)":
double: 1 double: 1
idouble: 1 idouble: 1
Test "cos_downward (0x4p-1024)":
double: 1
idouble: 1
ildouble: 1
ldouble: 1
Test "cos_downward (0x4p-1076)":
double: 1
idouble: 1
ildouble: 1
ldouble: 1
Test "cos_downward (0x4p-128)":
double: 1
idouble: 1
ildouble: 1
ldouble: 1
Test "cos_downward (0x4p-16384)":
ildouble: 1
ldouble: 1
Test "cos_downward (0x8p+0)": Test "cos_downward (0x8p+0)":
ildouble: 2 ildouble: 2
ldouble: 2 ldouble: 2
Test "cos_downward (0x8p+1020)": Test "cos_downward (0x8p+1020)":
ildouble: 1 ildouble: 1
ldouble: 1 ldouble: 1
Test "cos_downward (0x8p-152)":
double: 1
idouble: 1
ildouble: 1
ldouble: 1
Test "cos_downward (0x8p-16448)":
ildouble: 1
ldouble: 1
Test "cos_downward (0x8p-972)":
double: 1
idouble: 1
ildouble: 1
ldouble: 1
Test "cos_downward (0x9p+0)": Test "cos_downward (0x9p+0)":
double: 1 double: 1
idouble: 1 idouble: 1
@ -7290,6 +7552,9 @@ double: 1
idouble: 1 idouble: 1
ildouble: 1 ildouble: 1
ldouble: 1 ldouble: 1
Test "cos_downward (0xf.fffffffffffffffp+16380)":
ildouble: 1
ldouble: 1
Test "cos_downward (0xf.fffffp+124)": Test "cos_downward (0xf.fffffp+124)":
double: 1 double: 1
idouble: 1 idouble: 1
@ -7331,6 +7596,43 @@ ildouble: 1
ldouble: 1 ldouble: 1
# cos_towardzero # cos_towardzero
Test "cos_towardzero (-0x2p-16384)":
ildouble: 1
ldouble: 1
Test "cos_towardzero (-0x4p-1024)":
double: 1
idouble: 1
ildouble: 1
ldouble: 1
Test "cos_towardzero (-0x4p-1076)":
double: 1
idouble: 1
ildouble: 1
ldouble: 1
Test "cos_towardzero (-0x4p-128)":
double: 1
idouble: 1
ildouble: 1
ldouble: 1
Test "cos_towardzero (-0x4p-16384)":
ildouble: 1
ldouble: 1
Test "cos_towardzero (-0x8p-152)":
double: 1
idouble: 1
ildouble: 1
ldouble: 1
Test "cos_towardzero (-0x8p-16448)":
ildouble: 1
ldouble: 1
Test "cos_towardzero (-0x8p-972)":
double: 1
idouble: 1
ildouble: 1
ldouble: 1
Test "cos_towardzero (-0xf.fffffp+124)":
double: 1
idouble: 1
Test "cos_towardzero (0x1.000000cf4a2a2p+0)": Test "cos_towardzero (0x1.000000cf4a2a2p+0)":
double: 1 double: 1
idouble: 1 idouble: 1
@ -7390,12 +7692,33 @@ idouble: 1
Test "cos_towardzero (0x2p+0)": Test "cos_towardzero (0x2p+0)":
double: 1 double: 1
idouble: 1 idouble: 1
Test "cos_towardzero (0x2p-16384)":
ildouble: 1
ldouble: 1
Test "cos_towardzero (0x4p+0)": Test "cos_towardzero (0x4p+0)":
double: 1 double: 1
idouble: 1 idouble: 1
Test "cos_towardzero (0x4p+48)": Test "cos_towardzero (0x4p+48)":
double: 1 double: 1
idouble: 1 idouble: 1
Test "cos_towardzero (0x4p-1024)":
double: 1
idouble: 1
ildouble: 1
ldouble: 1
Test "cos_towardzero (0x4p-1076)":
double: 1
idouble: 1
ildouble: 1
ldouble: 1
Test "cos_towardzero (0x4p-128)":
double: 1
idouble: 1
ildouble: 1
ldouble: 1
Test "cos_towardzero (0x4p-16384)":
ildouble: 1
ldouble: 1
Test "cos_towardzero (0x8p+0)": Test "cos_towardzero (0x8p+0)":
double: 1 double: 1
idouble: 1 idouble: 1
@ -7404,6 +7727,19 @@ ldouble: 1
Test "cos_towardzero (0x8p+1020)": Test "cos_towardzero (0x8p+1020)":
double: 1 double: 1
idouble: 1 idouble: 1
Test "cos_towardzero (0x8p-152)":
double: 1
idouble: 1
ildouble: 1
ldouble: 1
Test "cos_towardzero (0x8p-16448)":
ildouble: 1
ldouble: 1
Test "cos_towardzero (0x8p-972)":
double: 1
idouble: 1
ildouble: 1
ldouble: 1
Test "cos_towardzero (0xa.217bap+12)": Test "cos_towardzero (0xa.217bap+12)":
ildouble: 1 ildouble: 1
ldouble: 1 ldouble: 1
@ -7458,6 +7794,12 @@ ldouble: 1
Test "cos_upward (-0x2p+64)": Test "cos_upward (-0x2p+64)":
double: 1 double: 1
idouble: 1 idouble: 1
Test "cos_upward (-0xf.ffffffffffff8p+1020)":
ildouble: 1
ldouble: 1
Test "cos_upward (-0xf.fffffffffffffffp+16380)":
ildouble: 1
ldouble: 1
Test "cos_upward (0x1.000004p+0)": Test "cos_upward (0x1.000004p+0)":
double: 1 double: 1
idouble: 1 idouble: 1
@ -7588,6 +7930,9 @@ idouble: 1
Test "cos_upward (0xf.ffffffffffff8p+1020)": Test "cos_upward (0xf.ffffffffffff8p+1020)":
ildouble: 1 ildouble: 1
ldouble: 1 ldouble: 1
Test "cos_upward (0xf.fffffffffffffffp+16380)":
ildouble: 2
ldouble: 2
Test "cos_upward (1)": Test "cos_upward (1)":
float: 1 float: 1
ifloat: 1 ifloat: 1
@ -7618,20 +7963,59 @@ ildouble: 1
ldouble: 1 ldouble: 1
# cosh # cosh
Test "cosh (-0x1p+0)":
float: 1
ifloat: 1
ildouble: 1
ldouble: 1
Test "cosh (-0x2.c5d374p+12)":
ldouble: 2
Test "cosh (-0x2.c5d37700c6bbp+12)":
ldouble: 1
Test "cosh (-0x2.c5e3acp+8)": Test "cosh (-0x2.c5e3acp+8)":
double: 1 double: 1
idouble: 1 idouble: 1
Test "cosh (-0x2.c679dp+8)":
double: 1
idouble: 1
Test "cosh (0x1.6p+4)": Test "cosh (0x1.6p+4)":
ildouble: 1 ildouble: 1
ldouble: 1 ldouble: 1
Test "cosh (0x2.c5d374p+12)":
ldouble: 2
Test "cosh (0x2.c5d37700c6bbp+12)":
ldouble: 1
Test "cosh (0x2.c5e3acp+8)": Test "cosh (0x2.c5e3acp+8)":
double: 1 double: 1
idouble: 1 idouble: 1
Test "cosh (0x2.c679dp+8)":
double: 1
idouble: 1
# cosh_downward # cosh_downward
Test "cosh_downward (-0x1p+0)":
ildouble: 1
ldouble: 1
Test "cosh_downward (-0x2.c5d374p+12)":
ldouble: 1
Test "cosh_downward (-0x2.c5d37700c6bb03a4p+12)":
ldouble: 3
Test "cosh_downward (-0x2.c5d37700c6bbp+12)":
ldouble: 2
Test "cosh_downward (-0x2.c5e3bp+8)": Test "cosh_downward (-0x2.c5e3bp+8)":
double: 1 double: 1
idouble: 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
ildouble: 1
ldouble: 1
Test "cosh_downward (0x1.6p+4)": Test "cosh_downward (0x1.6p+4)":
double: 1 double: 1
idouble: 1 idouble: 1
@ -7640,9 +8024,26 @@ ldouble: 2
Test "cosh_downward (0x1.7p+4)": Test "cosh_downward (0x1.7p+4)":
double: 1 double: 1
idouble: 1 idouble: 1
Test "cosh_downward (0x2.c5d374p+12)":
ldouble: 1
Test "cosh_downward (0x2.c5d37700c6bb03a4p+12)":
ldouble: 3
Test "cosh_downward (0x2.c5d37700c6bbp+12)":
ldouble: 2
Test "cosh_downward (0x2.c5e3bp+8)": Test "cosh_downward (0x2.c5e3bp+8)":
double: 1 double: 1
idouble: 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
ildouble: 1
ldouble: 1
Test "cosh_downward (22)": Test "cosh_downward (22)":
float: 1 float: 1
ifloat: 1 ifloat: 1
@ -7660,23 +8061,62 @@ ildouble: 1
ldouble: 1 ldouble: 1
# cosh_tonearest # cosh_tonearest
Test "cosh_tonearest (-0x1p+0)":
float: 1
ifloat: 1
ildouble: 1
ldouble: 1
Test "cosh_tonearest (-0x2.c5d374p+12)":
ldouble: 2
Test "cosh_tonearest (-0x2.c5d37700c6bbp+12)":
ldouble: 1
Test "cosh_tonearest (-0x2.c5e3acp+8)": Test "cosh_tonearest (-0x2.c5e3acp+8)":
double: 1 double: 1
idouble: 1 idouble: 1
Test "cosh_tonearest (-0x2.c679dp+8)":
double: 1
idouble: 1
Test "cosh_tonearest (0x1.6p+4)": Test "cosh_tonearest (0x1.6p+4)":
ildouble: 1 ildouble: 1
ldouble: 1 ldouble: 1
Test "cosh_tonearest (0x2.c5d374p+12)":
ldouble: 2
Test "cosh_tonearest (0x2.c5d37700c6bbp+12)":
ldouble: 1
Test "cosh_tonearest (0x2.c5e3acp+8)": Test "cosh_tonearest (0x2.c5e3acp+8)":
double: 1 double: 1
idouble: 1 idouble: 1
Test "cosh_tonearest (0x2.c679dp+8)":
double: 1
idouble: 1
Test "cosh_tonearest (22)": Test "cosh_tonearest (22)":
ildouble: 1 ildouble: 1
ldouble: 1 ldouble: 1
# cosh_towardzero # cosh_towardzero
Test "cosh_towardzero (-0x1p+0)":
ildouble: 1
ldouble: 1
Test "cosh_towardzero (-0x2.c5d374p+12)":
ldouble: 1
Test "cosh_towardzero (-0x2.c5d37700c6bb03a4p+12)":
ldouble: 3
Test "cosh_towardzero (-0x2.c5d37700c6bbp+12)":
ldouble: 2
Test "cosh_towardzero (-0x2.c5e3bp+8)": Test "cosh_towardzero (-0x2.c5e3bp+8)":
double: 1 double: 1
idouble: 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
ildouble: 1
ldouble: 1
Test "cosh_towardzero (0x1.6p+4)": Test "cosh_towardzero (0x1.6p+4)":
double: 1 double: 1
idouble: 1 idouble: 1
@ -7685,9 +8125,26 @@ ldouble: 2
Test "cosh_towardzero (0x1.7p+4)": Test "cosh_towardzero (0x1.7p+4)":
double: 1 double: 1
idouble: 1 idouble: 1
Test "cosh_towardzero (0x2.c5d374p+12)":
ldouble: 1
Test "cosh_towardzero (0x2.c5d37700c6bb03a4p+12)":
ldouble: 3
Test "cosh_towardzero (0x2.c5d37700c6bbp+12)":
ldouble: 2
Test "cosh_towardzero (0x2.c5e3bp+8)": Test "cosh_towardzero (0x2.c5e3bp+8)":
double: 1 double: 1
idouble: 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
ildouble: 1
ldouble: 1
Test "cosh_towardzero (22)": Test "cosh_towardzero (22)":
float: 1 float: 1
ifloat: 1 ifloat: 1
@ -7705,12 +8162,35 @@ ildouble: 1
ldouble: 1 ldouble: 1
# cosh_upward # cosh_upward
Test "cosh_upward (-0x1p+0)":
float: 1
ifloat: 1
Test "cosh_upward (-0x2.c5d374p+12)":
ldouble: 2
Test "cosh_upward (-0x2.c5d37700c6bb03a4p+12)":
ldouble: 3
Test "cosh_upward (-0x2.c5d37700c6bbp+12)":
ldouble: 3
Test "cosh_upward (-0x2.c5e3acd2922a6p+8)": Test "cosh_upward (-0x2.c5e3acd2922a6p+8)":
ildouble: 1 ildouble: 1
ldouble: 1 ldouble: 1
Test "cosh_upward (-0x2.c5e3bp+8)": Test "cosh_upward (-0x2.c5e3bp+8)":
double: 1 double: 1
idouble: 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 (-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)": Test "cosh_upward (0x1.6p+4)":
ildouble: 1 ildouble: 1
ldouble: 1 ldouble: 1
@ -7720,12 +8200,35 @@ ldouble: 1
Test "cosh_upward (0x1.8p+4)": Test "cosh_upward (0x1.8p+4)":
double: 1 double: 1
idouble: 1 idouble: 1
Test "cosh_upward (0x2.c5d374p+12)":
ldouble: 2
Test "cosh_upward (0x2.c5d37700c6bb03a4p+12)":
ldouble: 3
Test "cosh_upward (0x2.c5d37700c6bbp+12)":
ldouble: 3
Test "cosh_upward (0x2.c5e3acd2922a6p+8)": Test "cosh_upward (0x2.c5e3acd2922a6p+8)":
ildouble: 1 ildouble: 1
ldouble: 1 ldouble: 1
Test "cosh_upward (0x2.c5e3bp+8)": Test "cosh_upward (0x2.c5e3bp+8)":
double: 1 double: 1
idouble: 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
Test "cosh_upward (22)": Test "cosh_upward (22)":
ildouble: 1 ildouble: 1
ldouble: 1 ldouble: 1
@ -15346,6 +15849,10 @@ idouble: 1
ildouble: 1 ildouble: 1
ldouble: 1 ldouble: 1
Function: "acosh":
double: 1
idouble: 1
Function: "asin_downward": Function: "asin_downward":
double: 1 double: 1
float: 1 float: 1
@ -15370,6 +15877,14 @@ ifloat: 1
ildouble: 1 ildouble: 1
ldouble: 1 ldouble: 1
Function: "asinh":
double: 1
float: 1
idouble: 1
ifloat: 1
ildouble: 1
ldouble: 1
Function: "atan2": Function: "atan2":
float: 1 float: 1
ifloat: 1 ifloat: 1
@ -15592,9 +16107,11 @@ ldouble: 2
Function: "cosh": Function: "cosh":
double: 1 double: 1
float: 1
idouble: 1 idouble: 1
ifloat: 1
ildouble: 1 ildouble: 1
ldouble: 1 ldouble: 2
Function: "cosh_downward": Function: "cosh_downward":
double: 1 double: 1
@ -15602,13 +16119,15 @@ float: 1
idouble: 1 idouble: 1
ifloat: 1 ifloat: 1
ildouble: 2 ildouble: 2
ldouble: 2 ldouble: 3
Function: "cosh_tonearest": Function: "cosh_tonearest":
double: 1 double: 1
float: 1
idouble: 1 idouble: 1
ifloat: 1
ildouble: 1 ildouble: 1
ldouble: 1 ldouble: 2
Function: "cosh_towardzero": Function: "cosh_towardzero":
double: 1 double: 1
@ -15616,13 +16135,15 @@ float: 1
idouble: 1 idouble: 1
ifloat: 1 ifloat: 1
ildouble: 2 ildouble: 2
ldouble: 2 ldouble: 3
Function: "cosh_upward": Function: "cosh_upward":
double: 1 double: 1
float: 2
idouble: 1 idouble: 1
ifloat: 2
ildouble: 1 ildouble: 1
ldouble: 1 ldouble: 3
Function: Real part of "cpow": Function: Real part of "cpow":
double: 2 double: 2