aboutsummaryrefslogtreecommitdiff
path: root/math
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2017-02-17 18:42:37 +0000
committerJoseph Myers <joseph@codesourcery.com>2017-02-17 18:42:37 +0000
commit2c51dfd05d75275b9a2d7be27e5b9544fe3c303f (patch)
treefa117e0f766d2200a6c72dec614a7282e6bfe1a1 /math
parentfa2a3dd7a38df17dcf5f3d151141daa840904dce (diff)
downloadglibc-2c51dfd05d75275b9a2d7be27e5b9544fe3c303f.tar.xz
glibc-2c51dfd05d75275b9a2d7be27e5b9544fe3c303f.zip
Move tests of catan, catanh to auto-libm-test-*.
This patch moves tests of catan and catanh with finite inputs (other than the divide-by-zero cases producing an exact infinity) to using the auto-libm-test machinery. Each of auto-libm-test-out-catan and auto-libm-test-out-catanh takes about three seconds to generate on my system (so in fact it wasn't necessary after all to defer the move to auto-libm-test-* until the output files were split up by function). Tested for x86_64 and x86 and ulps updated accordingly. * math/auto-libm-test-in: Add tests of catan and catanh. * math/auto-libm-test-out-catan: New generated file. * math/auto-libm-test-out-catanh: Likewise. * math/libm-test-catan.inc (catan_test_data): Use AUTO_TESTS_c_c. Move tests with finite inputs, except divide-by-zero cases, to auto-libm-test-in. * math/libm-test-catanh.inc (catanh_test_data): Likewise. * math/Makefile (libm-test-funcs-auto): Add catan and catanh. (libm-test-funcs-noauto): Remove catan and catanh. * sysdeps/i386/fpu/libm-test-ulps: Update. * sysdeps/i386/i686/fpu/multiarch/libm-test-ulps: Likewise. * sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
Diffstat (limited to 'math')
-rw-r--r--math/Makefile34
-rw-r--r--math/auto-libm-test-in836
-rw-r--r--math/auto-libm-test-out-catan37758
-rw-r--r--math/auto-libm-test-out-catanh37758
-rw-r--r--math/libm-test-catan.inc447
-rw-r--r--math/libm-test-catanh.inc447
6 files changed, 76371 insertions, 909 deletions
diff --git a/math/Makefile b/math/Makefile
index 6ce76507bf..1941abcafd 100644
--- a/math/Makefile
+++ b/math/Makefile
@@ -213,23 +213,23 @@ $(objpfx)libm-test-ulps.h: $(ulps-file) gen-libm-test.pl
$(PERL) gen-libm-test.pl -u $< -H $@
libm-test-funcs-auto = acos acosh asin asinh atan atan2 atanh cabs cacos \
- cacosh carg casin casinh cbrt ccos ccosh cexp clog \
- clog10 cos cosh cpow csin csinh csqrt ctan ctanh erf \
- erfc exp exp10 exp2 expm1 fma hypot j0 j1 jn lgamma \
- log log10 log1p log2 pow sin sincos sinh sqrt tan tanh \
- tgamma y0 y1 yn
-libm-test-funcs-noauto = canonicalize catan catanh \
- ceil cimag conj copysign cproj creal fabs fdim floor \
- fmax fmaxmag fmin fminmag fmod fpclassify frexp \
- fromfp fromfpx getpayload ilogb iscanonical iseqsig \
- isfinite isgreater isgreaterequal isinf isless \
- islessequal islessgreater isnan isnormal issignaling \
- issubnormal isunordered iszero llogb llrint llround \
- logb lrint lround modf nearbyint nextafter nextdown \
- nexttoward nextup remainder remquo rint round \
- roundeven scalb scalbln scalbn setpayload \
- setpayloadsig signbit significand totalorder \
- totalordermag trunc ufromfp ufromfpx
+ cacosh carg casin casinh catan catanh cbrt ccos ccosh \
+ cexp clog clog10 cos cosh cpow csin csinh csqrt ctan \
+ ctanh erf erfc exp exp10 exp2 expm1 fma hypot j0 j1 jn \
+ lgamma log log10 log1p log2 pow sin sincos sinh sqrt \
+ tan tanh tgamma y0 y1 yn
+libm-test-funcs-noauto = canonicalize ceil cimag conj copysign cproj creal \
+ fabs fdim floor fmax fmaxmag fmin fminmag fmod \
+ fpclassify frexp fromfp fromfpx getpayload ilogb \
+ iscanonical iseqsig isfinite isgreater \
+ isgreaterequal isinf isless islessequal \
+ islessgreater isnan isnormal issignaling issubnormal \
+ isunordered iszero llogb llrint llround logb lrint \
+ lround modf nearbyint nextafter nextdown nexttoward \
+ nextup remainder remquo rint round roundeven scalb \
+ scalbln scalbn setpayload setpayloadsig signbit \
+ significand totalorder totalordermag trunc ufromfp \
+ ufromfpx
libm-test-funcs-all = $(libm-test-funcs-auto) $(libm-test-funcs-noauto)
libm-test-c-auto = $(foreach f,$(libm-test-funcs-auto),libm-test-$(f).c)
libm-test-c-noauto = $(foreach f,$(libm-test-funcs-noauto),libm-test-$(f).c)
diff --git a/math/auto-libm-test-in b/math/auto-libm-test-in
index 063fdd5d0f..c8267aa822 100644
--- a/math/auto-libm-test-in
+++ b/math/auto-libm-test-in
@@ -2906,6 +2906,842 @@ casinh -0x1p-112 -0.0
casinh 0.75 1.25
casinh -2 -3
+catan 0 0
+catan -0 0
+catan 0 -0
+catan -0 -0
+
+catan 1.0 0
+catan 1.0 -0
+catan -1.0 0
+catan -1.0 -0
+
+catan 0x1p50 0.0
+catan 0x1p50 -0.0
+catan -0x1p50 0.0
+catan -0x1p50 -0.0
+catan 0.0 0x1p50
+catan -0.0 0x1p50
+catan 0.0 -0x1p50
+catan -0.0 -0x1p50
+catan 0x1p500 0.0
+catan 0x1p500 -0.0
+catan -0x1p500 0.0
+catan -0x1p500 -0.0
+catan 0.0 0x1p500
+catan -0.0 0x1p500
+catan 0.0 -0x1p500
+catan -0.0 -0x1p500
+catan 0x1p5000 0.0
+catan 0x1p5000 -0.0
+catan -0x1p5000 0.0
+catan -0x1p5000 -0.0
+catan 0.0 0x1p5000
+catan -0.0 0x1p5000
+catan 0.0 -0x1p5000
+catan -0.0 -0x1p5000
+catan 0x1p63 0.5
+catan 0x1p63 -0.5
+catan -0x1p63 0.5
+catan -0x1p63 -0.5
+catan 0.5 0x1p63
+catan -0.5 0x1p63
+catan 0.5 -0x1p63
+catan -0.5 -0x1p63
+catan 0x1p511 0.5
+catan 0x1p511 -0.5
+catan -0x1p511 0.5
+catan -0x1p511 -0.5
+catan 0.5 0x1p511
+catan -0.5 0x1p511
+catan 0.5 -0x1p511
+catan -0.5 -0x1p511
+catan 0x1p8191 0.5
+catan 0x1p8191 -0.5
+catan -0x1p8191 0.5
+catan -0x1p8191 -0.5
+catan 0.5 0x1p8191
+catan -0.5 0x1p8191
+catan 0.5 -0x1p8191
+catan -0.5 -0x1p8191
+catan 0x1p100 0.0
+catan 0x1p100 -0.0
+catan -0x1p100 0.0
+catan -0x1p100 -0.0
+catan 0.0 0x1p100
+catan -0.0 0x1p100
+catan 0.0 -0x1p100
+catan -0.0 -0x1p100
+catan 0x1.fp127 0.0
+catan 0x1.fp127 -0.0
+catan -0x1.fp127 0.0
+catan -0x1.fp127 -0.0
+catan 0.0 0x1.fp127
+catan -0.0 0x1.fp127
+catan 0.0 -0x1.fp127
+catan -0.0 -0x1.fp127
+catan 0x1.fp127 0x1.fp127
+catan 0x1.fp127 -0x1.fp127
+catan -0x1.fp127 0x1.fp127
+catan -0x1.fp127 -0x1.fp127
+catan 0x1p900 0.0
+catan 0x1p900 -0.0
+catan -0x1p900 0.0
+catan -0x1p900 -0.0
+catan 0.0 0x1p900
+catan -0.0 0x1p900
+catan 0.0 -0x1p900
+catan -0.0 -0x1p900
+catan 0x1.fp1023 0.0
+catan 0x1.fp1023 -0.0
+catan -0x1.fp1023 0.0
+catan -0x1.fp1023 -0.0
+catan 0.0 0x1.fp1023
+catan -0.0 0x1.fp1023
+catan 0.0 -0x1.fp1023
+catan -0.0 -0x1.fp1023
+catan 0x1.fp1023 0x1.fp1023
+catan 0x1.fp1023 -0x1.fp1023
+catan -0x1.fp1023 0x1.fp1023
+catan -0x1.fp1023 -0x1.fp1023
+catan 0x1p10000 0.0
+catan 0x1p10000 -0.0
+catan -0x1p10000 0.0
+catan -0x1p10000 -0.0
+catan 0.0 0x1p10000
+catan -0.0 0x1p10000
+catan 0.0 -0x1p10000
+catan -0.0 -0x1p10000
+catan 0x1.fp16383 0.0
+catan 0x1.fp16383 -0.0
+catan -0x1.fp16383 0.0
+catan -0x1.fp16383 -0.0
+catan 0.0 0x1.fp16383
+catan -0.0 0x1.fp16383
+catan 0.0 -0x1.fp16383
+catan -0.0 -0x1.fp16383
+catan 0x1.fp16383 0x1.fp16383
+catan 0x1.fp16383 -0x1.fp16383
+catan -0x1.fp16383 0x1.fp16383
+catan -0x1.fp16383 -0x1.fp16383
+catan 0x1p-13 1.0
+catan 0x1p-13 -1.0
+catan -0x1p-13 1.0
+catan -0x1p-13 -1.0
+catan 1.0 0x1p-13
+catan -1.0 0x1p-13
+catan 1.0 -0x1p-13
+catan -1.0 -0x1p-13
+catan 0x1p-27 1.0
+catan 0x1p-27 -1.0
+catan -0x1p-27 1.0
+catan -0x1p-27 -1.0
+catan 1.0 0x1p-27
+catan -1.0 0x1p-27
+catan 1.0 -0x1p-27
+catan -1.0 -0x1p-27
+catan 0x1p-33 1.0
+catan 0x1p-33 -1.0
+catan -0x1p-33 1.0
+catan -0x1p-33 -1.0
+catan 1.0 0x1p-33
+catan -1.0 0x1p-33
+catan 1.0 -0x1p-33
+catan -1.0 -0x1p-33
+catan 0x1p-54 1.0
+catan 0x1p-54 -1.0
+catan -0x1p-54 1.0
+catan -0x1p-54 -1.0
+catan 1.0 0x1p-54
+catan -1.0 0x1p-54
+catan 1.0 -0x1p-54
+catan -1.0 -0x1p-54
+catan 0x1p-57 1.0
+catan 0x1p-57 -1.0
+catan -0x1p-57 1.0
+catan -0x1p-57 -1.0
+catan 1.0 0x1p-57
+catan -1.0 0x1p-57
+catan 1.0 -0x1p-57
+catan -1.0 -0x1p-57
+catan 0x1p-13 0x1.000002p0
+catan 0x1p-13 -0x1.000002p0
+catan -0x1p-13 0x1.000002p0
+catan -0x1p-13 -0x1.000002p0
+catan 0x1.000002p0 0x1p-13
+catan -0x1.000002p0 0x1p-13
+catan 0x1.000002p0 -0x1p-13
+catan -0x1.000002p0 -0x1p-13
+catan 0x1p-13 0x0.ffffffp0
+catan 0x1p-13 -0x0.ffffffp0
+catan -0x1p-13 0x0.ffffffp0
+catan -0x1p-13 -0x0.ffffffp0
+catan 0x0.ffffffp0 0x1p-13
+catan -0x0.ffffffp0 0x1p-13
+catan 0x0.ffffffp0 -0x1p-13
+catan -0x0.ffffffp0 -0x1p-13
+catan 0x1p-27 0x1.0000000000001p0
+catan 0x1p-27 -0x1.0000000000001p0
+catan -0x1p-27 0x1.0000000000001p0
+catan -0x1p-27 -0x1.0000000000001p0
+catan 0x1.0000000000001p0 0x1p-27
+catan -0x1.0000000000001p0 0x1p-27
+catan 0x1.0000000000001p0 -0x1p-27
+catan -0x1.0000000000001p0 -0x1p-27
+catan 0x1p-27 0x0.fffffffffffff8p0
+catan 0x1p-27 -0x0.fffffffffffff8p0
+catan -0x1p-27 0x0.fffffffffffff8p0
+catan -0x1p-27 -0x0.fffffffffffff8p0
+catan 0x0.fffffffffffff8p0 0x1p-27
+catan -0x0.fffffffffffff8p0 0x1p-27
+catan 0x0.fffffffffffff8p0 -0x1p-27
+catan -0x0.fffffffffffff8p0 -0x1p-27
+catan 0x1p-33 0x1.0000000000000002p0
+catan 0x1p-33 -0x1.0000000000000002p0
+catan -0x1p-33 0x1.0000000000000002p0
+catan -0x1p-33 -0x1.0000000000000002p0
+catan 0x1.0000000000000002p0 0x1p-33
+catan -0x1.0000000000000002p0 0x1p-33
+catan 0x1.0000000000000002p0 -0x1p-33
+catan -0x1.0000000000000002p0 -0x1p-33
+catan 0x1p-33 0x0.ffffffffffffffffp0
+catan 0x1p-33 -0x0.ffffffffffffffffp0
+catan -0x1p-33 0x0.ffffffffffffffffp0
+catan -0x1p-33 -0x0.ffffffffffffffffp0
+catan 0x0.ffffffffffffffffp0 0x1p-33
+catan -0x0.ffffffffffffffffp0 0x1p-33
+catan 0x0.ffffffffffffffffp0 -0x1p-33
+catan -0x0.ffffffffffffffffp0 -0x1p-33
+catan 0x1p-54 0x1.000000000000000000000000008p0
+catan 0x1p-54 -0x1.000000000000000000000000008p0
+catan -0x1p-54 0x1.000000000000000000000000008p0
+catan -0x1p-54 -0x1.000000000000000000000000008p0
+catan 0x1.000000000000000000000000008p0 0x1p-54
+catan -0x1.000000000000000000000000008p0 0x1p-54
+catan 0x1.000000000000000000000000008p0 -0x1p-54
+catan -0x1.000000000000000000000000008p0 -0x1p-54
+catan 0x1p-54 0x0.ffffffffffffffffffffffffffcp0
+catan 0x1p-54 -0x0.ffffffffffffffffffffffffffcp0
+catan -0x1p-54 0x0.ffffffffffffffffffffffffffcp0
+catan -0x1p-54 -0x0.ffffffffffffffffffffffffffcp0
+catan 0x0.ffffffffffffffffffffffffffcp0 0x1p-54
+catan -0x0.ffffffffffffffffffffffffffcp0 0x1p-54
+catan 0x0.ffffffffffffffffffffffffffcp0 -0x1p-54
+catan -0x0.ffffffffffffffffffffffffffcp0 -0x1p-54
+catan 0x1p-57 0x1.0000000000000000000000000001p0
+catan 0x1p-57 -0x1.0000000000000000000000000001p0
+catan -0x1p-57 0x1.0000000000000000000000000001p0
+catan -0x1p-57 -0x1.0000000000000000000000000001p0
+catan 0x1.0000000000000000000000000001p0 0x1p-57
+catan -0x1.0000000000000000000000000001p0 0x1p-57
+catan 0x1.0000000000000000000000000001p0 -0x1p-57
+catan -0x1.0000000000000000000000000001p0 -0x1p-57
+catan 0x1p-57 0x0.ffffffffffffffffffffffffffff8p0
+catan 0x1p-57 -0x0.ffffffffffffffffffffffffffff8p0
+catan -0x1p-57 0x0.ffffffffffffffffffffffffffff8p0
+catan -0x1p-57 -0x0.ffffffffffffffffffffffffffff8p0
+catan 0x0.ffffffffffffffffffffffffffff8p0 0x1p-57
+catan -0x0.ffffffffffffffffffffffffffff8p0 0x1p-57
+catan 0x0.ffffffffffffffffffffffffffff8p0 -0x1p-57
+catan -0x0.ffffffffffffffffffffffffffff8p0 -0x1p-57
+catan 1.0 0x1p-64
+catan 1.0 -0x1p-64
+catan -1.0 0x1p-64
+catan -1.0 -0x1p-64
+catan 0x1p-64 1.0
+catan -0x1p-64 1.0
+catan 0x1p-64 -1.0
+catan -0x1p-64 -1.0
+catan 1.0 0x1.3p-73
+catan 1.0 -0x1.3p-73
+catan -1.0 0x1.3p-73
+catan -1.0 -0x1.3p-73
+catan 0x1.3p-73 1.0
+catan -0x1.3p-73 1.0
+catan 0x1.3p-73 -1.0
+catan -0x1.3p-73 -1.0
+catan 1.0 0x1p-124
+catan 1.0 -0x1p-124
+catan -1.0 0x1p-124
+catan -1.0 -0x1p-124
+catan 0x1p-124 1.0
+catan -0x1p-124 1.0
+catan 0x1p-124 -1.0
+catan -0x1p-124 -1.0
+catan 0x1.000002p0 0x1p-126
+catan 0x1.000002p0 -0x1p-126
+catan -0x1.000002p0 0x1p-126
+catan -0x1.000002p0 -0x1p-126
+catan 0x1p-126 0x1.000002p0
+catan -0x1p-126 0x1.000002p0
+catan 0x1p-126 -0x1.000002p0
+catan -0x1p-126 -0x1.000002p0
+catan 0x0.ffffffp0 0x1p-126
+catan 0x0.ffffffp0 -0x1p-126
+catan -0x0.ffffffp0 0x1p-126
+catan -0x0.ffffffp0 -0x1p-126
+catan 0x1p-126 0x0.ffffffp0
+catan -0x1p-126 0x0.ffffffp0
+catan 0x1p-126 -0x0.ffffffp0
+catan -0x1p-126 -0x0.ffffffp0
+catan 1.0 0x1p-512
+catan 1.0 -0x1p-512
+catan -1.0 0x1p-512
+catan -1.0 -0x1p-512
+catan 0x1p-512 1.0
+catan -0x1p-512 1.0
+catan 0x1p-512 -1.0
+catan -0x1p-512 -1.0
+catan 1.0 0x1.3p-536
+catan 1.0 -0x1.3p-536
+catan -1.0 0x1.3p-536
+catan -1.0 -0x1.3p-536
+catan 0x1.3p-536 1.0
+catan -0x1.3p-536 1.0
+catan 0x1.3p-536 -1.0
+catan -0x1.3p-536 -1.0
+catan 1.0 0x1p-1020
+catan 1.0 -0x1p-1020
+catan -1.0 0x1p-1020
+catan -1.0 -0x1p-1020
+catan 0x1p-1020 1.0
+catan -0x1p-1020 1.0
+catan 0x1p-1020 -1.0
+catan -0x1p-1020 -1.0
+catan 0x1.0000000000001p0 0x1p-1022
+catan 0x1.0000000000001p0 -0x1p-1022
+catan -0x1.0000000000001p0 0x1p-1022
+catan -0x1.0000000000001p0 -0x1p-1022
+catan 0x1p-1022 0x1.0000000000001p0
+catan -0x1p-1022 0x1.0000000000001p0
+catan 0x1p-1022 -0x1.0000000000001p0
+catan -0x1p-1022 -0x1.0000000000001p0
+catan 0x0.fffffffffffff8p0 0x1p-1022
+catan 0x0.fffffffffffff8p0 -0x1p-1022
+catan -0x0.fffffffffffff8p0 0x1p-1022
+catan -0x0.fffffffffffff8p0 -0x1p-1022
+catan 0x1p-1022 0x0.fffffffffffff8p0
+catan -0x1p-1022 0x0.fffffffffffff8p0
+catan 0x1p-1022 -0x0.fffffffffffff8p0
+catan -0x1p-1022 -0x0.fffffffffffff8p0
+catan 0x1.0000000000000002p0 0x1p-1022
+catan 0x1.0000000000000002p0 -0x1p-1022
+catan -0x1.0000000000000002p0 0x1p-1022
+catan -0x1.0000000000000002p0 -0x1p-1022
+catan 0x1p-1022 0x1.0000000000000002p0
+catan -0x1p-1022 0x1.0000000000000002p0
+catan 0x1p-1022 -0x1.0000000000000002p0
+catan -0x1p-1022 -0x1.0000000000000002p0
+catan 0x0.ffffffffffffffffp0 0x1p-1022
+catan 0x0.ffffffffffffffffp0 -0x1p-1022
+catan -0x0.ffffffffffffffffp0 0x1p-1022
+catan -0x0.ffffffffffffffffp0 -0x1p-1022
+catan 0x1p-1022 0x0.ffffffffffffffffp0
+catan -0x1p-1022 0x0.ffffffffffffffffp0
+catan 0x1p-1022 -0x0.ffffffffffffffffp0
+catan -0x1p-1022 -0x0.ffffffffffffffffp0
+catan 0x1.000000000000000000000000008p0 0x1p-1022
+catan 0x1.000000000000000000000000008p0 -0x1p-1022
+catan -0x1.000000000000000000000000008p0 0x1p-1022
+catan -0x1.000000000000000000000000008p0 -0x1p-1022
+catan 0x1p-1022 0x1.000000000000000000000000008p0
+catan -0x1p-1022 0x1.000000000000000000000000008p0
+catan 0x1p-1022 -0x1.000000000000000000000000008p0
+catan -0x1p-1022 -0x1.000000000000000000000000008p0
+catan 0x0.ffffffffffffffffffffffffffcp0 0x1p-1022
+catan 0x0.ffffffffffffffffffffffffffcp0 -0x1p-1022
+catan -0x0.ffffffffffffffffffffffffffcp0 0x1p-1022
+catan -0x0.ffffffffffffffffffffffffffcp0 -0x1p-1022
+catan 0x1p-1022 0x0.ffffffffffffffffffffffffffcp0
+catan -0x1p-1022 0x0.ffffffffffffffffffffffffffcp0
+catan 0x1p-1022 -0x0.ffffffffffffffffffffffffffcp0
+catan -0x1p-1022 -0x0.ffffffffffffffffffffffffffcp0
+catan 1.0 0x1p-8192
+catan 1.0 -0x1p-8192
+catan -1.0 0x1p-8192
+catan -1.0 -0x1p-8192
+catan 0x1p-8192 1.0
+catan -0x1p-8192 1.0
+catan 0x1p-8192 -1.0
+catan -0x1p-8192 -1.0
+catan 1.0 0x1.3p-8221
+catan 1.0 -0x1.3p-8221
+catan -1.0 0x1.3p-8221
+catan -1.0 -0x1.3p-8221
+catan 0x1.3p-8221 1.0
+catan -0x1.3p-8221 1.0
+catan 0x1.3p-8221 -1.0
+catan -0x1.3p-8221 -1.0
+catan 1.0 0x1.3p-8246
+catan 1.0 -0x1.3p-8246
+catan -1.0 0x1.3p-8246
+catan -1.0 -0x1.3p-8246
+catan 0x1.3p-8246 1.0
+catan -0x1.3p-8246 1.0
+catan 0x1.3p-8246 -1.0
+catan -0x1.3p-8246 -1.0
+catan 1.0 0x1p-16380
+catan 1.0 -0x1p-16380
+catan -1.0 0x1p-16380
+catan -1.0 -0x1p-16380
+catan 0x1p-16380 1.0
+catan -0x1p-16380 1.0
+catan 0x1p-16380 -1.0
+catan -0x1p-16380 -1.0
+catan 0x1.0000000000000002p0 0x1p-16382
+catan 0x1.0000000000000002p0 -0x1p-16382
+catan -0x1.0000000000000002p0 0x1p-16382
+catan -0x1.0000000000000002p0 -0x1p-16382
+catan 0x1p-16382 0x1.0000000000000002p0
+catan -0x1p-16382 0x1.0000000000000002p0
+catan 0x1p-16382 -0x1.0000000000000002p0
+catan -0x1p-16382 -0x1.0000000000000002p0
+catan 0x0.ffffffffffffffffp0 0x1p-16382
+catan 0x0.ffffffffffffffffp0 -0x1p-16382
+catan -0x0.ffffffffffffffffp0 0x1p-16382
+catan -0x0.ffffffffffffffffp0 -0x1p-16382
+catan 0x1p-16382 0x0.ffffffffffffffffp0
+catan -0x1p-16382 0x0.ffffffffffffffffp0
+catan 0x1p-16382 -0x0.ffffffffffffffffp0
+catan -0x1p-16382 -0x0.ffffffffffffffffp0
+catan 0x1.0000000000000000000000000001p0 0x1p-16382
+catan 0x1.0000000000000000000000000001p0 -0x1p-16382
+catan -0x1.0000000000000000000000000001p0 0x1p-16382
+catan -0x1.0000000000000000000000000001p0 -0x1p-16382
+catan 0x1p-16382 0x1.0000000000000000000000000001p0
+catan -0x1p-16382 0x1.0000000000000000000000000001p0
+catan 0x1p-16382 -0x1.0000000000000000000000000001p0
+catan -0x1p-16382 -0x1.0000000000000000000000000001p0
+catan 0x0.ffffffffffffffffffffffffffff8p0 0x1p-16382
+catan 0x0.ffffffffffffffffffffffffffff8p0 -0x1p-16382
+catan -0x0.ffffffffffffffffffffffffffff8p0 0x1p-16382
+catan -0x0.ffffffffffffffffffffffffffff8p0 -0x1p-16382
+catan 0x1p-16382 0x0.ffffffffffffffffffffffffffff8p0
+catan -0x1p-16382 0x0.ffffffffffffffffffffffffffff8p0
+catan 0x1p-16382 -0x0.ffffffffffffffffffffffffffff8p0
+catan -0x1p-16382 -0x0.ffffffffffffffffffffffffffff8p0
+
+catan 0.75 1.25
+catan -2 -3
+
+catanh 0 0
+catanh -0 0
+catanh 0 -0
+catanh -0 -0
+
+catanh 0 1.0
+catanh -0 1.0
+catanh 0 -1.0
+catanh -0 -1.0
+
+catanh 0x1p50 0.0
+catanh 0x1p50 -0.0
+catanh -0x1p50 0.0
+catanh -0x1p50 -0.0
+catanh 0.0 0x1p50
+catanh -0.0 0x1p50
+catanh 0.0 -0x1p50
+catanh -0.0 -0x1p50
+catanh 0x1p500 0.0
+catanh 0x1p500 -0.0
+catanh -0x1p500 0.0
+catanh -0x1p500 -0.0
+catanh 0.0 0x1p500
+catanh -0.0 0x1p500
+catanh 0.0 -0x1p500
+catanh -0.0 -0x1p500
+catanh 0x1p5000 0.0
+catanh 0x1p5000 -0.0
+catanh -0x1p5000 0.0
+catanh -0x1p5000 -0.0
+catanh 0.0 0x1p5000
+catanh -0.0 0x1p5000
+catanh 0.0 -0x1p5000
+catanh -0.0 -0x1p5000
+catanh 0x1p63 0.5
+catanh 0x1p63 -0.5
+catanh -0x1p63 0.5
+catanh -0x1p63 -0.5
+catanh 0.5 0x1p63
+catanh -0.5 0x1p63
+catanh 0.5 -0x1p63
+catanh -0.5 -0x1p63
+catanh 0x1p511 0.5
+catanh 0x1p511 -0.5
+catanh -0x1p511 0.5
+catanh -0x1p511 -0.5
+catanh 0.5 0x1p511
+catanh -0.5 0x1p511
+catanh 0.5 -0x1p511
+catanh -0.5 -0x1p511
+catanh 0x1p8191 0.5
+catanh 0x1p8191 -0.5
+catanh -0x1p8191 0.5
+catanh -0x1p8191 -0.5
+catanh 0.5 0x1p8191
+catanh -0.5 0x1p8191
+catanh 0.5 -0x1p8191
+catanh -0.5 -0x1p8191
+catanh 0x1p100 0.0
+catanh 0x1p100 -0.0
+catanh -0x1p100 0.0
+catanh -0x1p100 -0.0
+catanh 0.0 0x1p100
+catanh -0.0 0x1p100
+catanh 0.0 -0x1p100
+catanh -0.0 -0x1p100
+catanh 0x1.fp127 0.0
+catanh 0x1.fp127 -0.0
+catanh -0x1.fp127 0.0
+catanh -0x1.fp127 -0.0
+catanh 0.0 0x1.fp127
+catanh -0.0 0x1.fp127
+catanh 0.0 -0x1.fp127
+catanh -0.0 -0x1.fp127
+catanh 0x1.fp127 0x1.fp127
+catanh 0x1.fp127 -0x1.fp127
+catanh -0x1.fp127 0x1.fp127
+catanh -0x1.fp127 -0x1.fp127
+catanh 0x1p900 0.0
+catanh 0x1p900 -0.0
+catanh -0x1p900 0.0
+catanh -0x1p900 -0.0
+catanh 0.0 0x1p900
+catanh -0.0 0x1p900
+catanh 0.0 -0x1p900
+catanh -0.0 -0x1p900
+catanh 0x1.fp1023 0.0
+catanh 0x1.fp1023 -0.0
+catanh -0x1.fp1023 0.0
+catanh -0x1.fp1023 -0.0
+catanh 0.0 0x1.fp1023
+catanh -0.0 0x1.fp1023
+catanh 0.0 -0x1.fp1023
+catanh -0.0 -0x1.fp1023
+catanh 0x1.fp1023 0x1.fp1023
+catanh 0x1.fp1023 -0x1.fp1023
+catanh -0x1.fp1023 0x1.fp1023
+catanh -0x1.fp1023 -0x1.fp1023
+catanh 0x1p10000 0.0
+catanh 0x1p10000 -0.0
+catanh -0x1p10000 0.0
+catanh -0x1p10000 -0.0
+catanh 0.0 0x1p10000
+catanh -0.0 0x1p10000
+catanh 0.0 -0x1p10000
+catanh -0.0 -0x1p10000
+catanh 0x1.fp16383 0.0
+catanh 0x1.fp16383 -0.0
+catanh -0x1.fp16383 0.0
+catanh -0x1.fp16383 -0.0
+catanh 0.0 0x1.fp16383
+catanh -0.0 0x1.fp16383
+catanh 0.0 -0x1.fp16383
+catanh -0.0 -0x1.fp16383
+catanh 0x1.fp16383 0x1.fp16383
+catanh 0x1.fp16383 -0x1.fp16383
+catanh -0x1.fp16383 0x1.fp16383
+catanh -0x1.fp16383 -0x1.fp16383
+catanh 0x1p-13 1.0
+catanh 0x1p-13 -1.0
+catanh -0x1p-13 1.0
+catanh -0x1p-13 -1.0
+catanh 1.0 0x1p-13
+catanh -1.0 0x1p-13
+catanh 1.0 -0x1p-13
+catanh -1.0 -0x1p-13
+catanh 0x1p-27 1.0
+catanh 0x1p-27 -1.0
+catanh -0x1p-27 1.0
+catanh -0x1p-27 -1.0
+catanh 1.0 0x1p-27
+catanh -1.0 0x1p-27
+catanh 1.0 -0x1p-27
+catanh -1.0 -0x1p-27
+catanh 0x1p-33 1.0
+catanh 0x1p-33 -1.0
+catanh -0x1p-33 1.0
+catanh -0x1p-33 -1.0
+catanh 1.0 0x1p-33
+catanh -1.0 0x1p-33
+catanh 1.0 -0x1p-33
+catanh -1.0 -0x1p-33
+catanh 0x1p-54 1.0
+catanh 0x1p-54 -1.0
+catanh -0x1p-54 1.0
+catanh -0x1p-54 -1.0
+catanh 1.0 0x1p-54
+catanh -1.0 0x1p-54
+catanh 1.0 -0x1p-54
+catanh -1.0 -0x1p-54
+catanh 0x1p-57 1.0
+catanh 0x1p-57 -1.0
+catanh -0x1p-57 1.0
+catanh -0x1p-57 -1.0
+catanh 1.0 0x1p-57
+catanh -1.0 0x1p-57
+catanh 1.0 -0x1p-57
+catanh -1.0 -0x1p-57
+catanh 0x1p-13 0x1.000002p0
+catanh 0x1p-13 -0x1.000002p0
+catanh -0x1p-13 0x1.000002p0
+catanh -0x1p-13 -0x1.000002p0
+catanh 0x1.000002p0 0x1p-13
+catanh -0x1.000002p0 0x1p-13
+catanh 0x1.000002p0 -0x1p-13
+catanh -0x1.000002p0 -0x1p-13
+catanh 0x1p-13 0x0.ffffffp0
+catanh 0x1p-13 -0x0.ffffffp0
+catanh -0x1p-13 0x0.ffffffp0
+catanh -0x1p-13 -0x0.ffffffp0
+catanh 0x0.ffffffp0 0x1p-13
+catanh -0x0.ffffffp0 0x1p-13
+catanh 0x0.ffffffp0 -0x1p-13
+catanh -0x0.ffffffp0 -0x1p-13
+catanh 0x1p-27 0x1.0000000000001p0
+catanh 0x1p-27 -0x1.0000000000001p0
+catanh -0x1p-27 0x1.0000000000001p0
+catanh -0x1p-27 -0x1.0000000000001p0
+catanh 0x1.0000000000001p0 0x1p-27
+catanh -0x1.0000000000001p0 0x1p-27
+catanh 0x1.0000000000001p0 -0x1p-27
+catanh -0x1.0000000000001p0 -0x1p-27
+catanh 0x1p-27 0x0.fffffffffffff8p0
+catanh 0x1p-27 -0x0.fffffffffffff8p0
+catanh -0x1p-27 0x0.fffffffffffff8p0
+catanh -0x1p-27 -0x0.fffffffffffff8p0
+catanh 0x0.fffffffffffff8p0 0x1p-27
+catanh -0x0.fffffffffffff8p0 0x1p-27
+catanh 0x0.fffffffffffff8p0 -0x1p-27
+catanh -0x0.fffffffffffff8p0 -0x1p-27
+catanh 0x1p-33 0x1.0000000000000002p0
+catanh 0x1p-33 -0x1.0000000000000002p0
+catanh -0x1p-33 0x1.0000000000000002p0
+catanh -0x1p-33 -0x1.0000000000000002p0
+catanh 0x1.0000000000000002p0 0x1p-33
+catanh -0x1.0000000000000002p0 0x1p-33
+catanh 0x1.0000000000000002p0 -0x1p-33
+catanh -0x1.0000000000000002p0 -0x1p-33
+catanh 0x1p-33 0x0.ffffffffffffffffp0
+catanh 0x1p-33 -0x0.ffffffffffffffffp0
+catanh -0x1p-33 0x0.ffffffffffffffffp0
+catanh -0x1p-33 -0x0.ffffffffffffffffp0
+catanh 0x0.ffffffffffffffffp0 0x1p-33
+catanh -0x0.ffffffffffffffffp0 0x1p-33
+catanh 0x0.ffffffffffffffffp0 -0x1p-33
+catanh -0x0.ffffffffffffffffp0 -0x1p-33
+catanh 0x1p-54 0x1.000000000000000000000000008p0
+catanh 0x1p-54 -0x1.000000000000000000000000008p0
+catanh -0x1p-54 0x1.000000000000000000000000008p0
+catanh -0x1p-54 -0x1.000000000000000000000000008p0
+catanh 0x1.000000000000000000000000008p0 0x1p-54
+catanh -0x1.000000000000000000000000008p0 0x1p-54
+catanh 0x1.000000000000000000000000008p0 -0x1p-54
+catanh -0x1.000000000000000000000000008p0 -0x1p-54</