add inputs to auto-libm-test-in yielding larger errors

Message ID mw7dpruwfe.fsf@tomate.loria.fr
State New
Headers show
Series
  • add inputs to auto-libm-test-in yielding larger errors
Related show

Commit Message

Paul Zimmermann Dec. 9, 2020, 10:05 a.m.
Hi,

this is the same patch as https://sourceware.org/pipermail/libc-alpha/2020-November/120063.html (approved by Joseph), but without an ill-formed header, so
that git-pw can (hopefully) accept it.

Paul
---
 math/auto-libm-test-in            | 16 +++++++
 math/auto-libm-test-out-asinh     | 69 +++++++++++++++++++++++++++++++
 math/auto-libm-test-out-cbrt      | 69 +++++++++++++++++++++++++++++++
 math/auto-libm-test-out-cosh      | 69 +++++++++++++++++++++++++++++++
 math/auto-libm-test-out-erfc      | 69 +++++++++++++++++++++++++++++++
 math/auto-libm-test-out-exp       | 69 +++++++++++++++++++++++++++++++
 math/auto-libm-test-out-log       | 69 +++++++++++++++++++++++++++++++
 math/auto-libm-test-out-sinh      | 69 +++++++++++++++++++++++++++++++
 math/auto-libm-test-out-tgamma    | 69 +++++++++++++++++++++++++++++++
 sysdeps/x86_64/fpu/libm-test-ulps | 24 ++++++-----
 10 files changed, 581 insertions(+), 11 deletions(-)

-- 
2.29.2

Patch

diff --git a/math/auto-libm-test-in b/math/auto-libm-test-in
index 5d488a8711..c614baa810 100644
--- a/math/auto-libm-test-in
+++ b/math/auto-libm-test-in
@@ -373,6 +373,8 @@  asinh 0x1p-500
 asinh 0x1p-5000
 # the next value generates larger error bounds on x86_64 (binary32)
 asinh 0xf.96c69p-8
+# the next value generates larger error bounds on x86_64 (binary64)
+asinh 0x1.023cfeab10a13p-2
 asinh min
 asinh -min
 asinh min_subnorm
@@ -3863,6 +3865,8 @@  cbrt 0x1.bd0098p-104
 cbrt -0x3.300d34p+0
 cbrt 0x6.247f5p-4
 cbrt -0x3.48648028cb464p+0
+# the next value generates larger error bounds on x86_64 (binary64)
+cbrt -0x1.7cec1dab41272p-230
 cbrt max xfail:ibm128-libgcc
 cbrt -max xfail:ibm128-libgcc
 cbrt min
@@ -4488,6 +4492,8 @@  cosh -0x2.c5d37700c6bb03a6c24b6c9b494cp+12
 cosh -0x2.c5d37700c6bb03a6c24b6c9b494ep+12
 # the next value generates larger error bounds on x86_64 (binary32)
 cosh 0x5.8bfe6p+4
+# the next value generates larger error bounds on x86_64 (binary64)
+cosh 0x1.633c457f1e66bp+9
 
 cpow 1 0 0 0 ignore-zero-inf-sign
 cpow 2 0 10 0 ignore-zero-inf-sign
@@ -5020,6 +5026,8 @@  erfc 0x2.56af04p+0
 erfc 0x2.b7f8cb76737d2af98dead7c4c5eep+0
 erfc 0x2.dfb9b4p+0
 erfc 0x1.e33c9ep+0
+# the next value generates larger error bounds on x86_64 (binary64)
+erfc 0x1.3ffcbf39febb4p+0
 
 exp 0
 exp -0
@@ -5106,6 +5114,8 @@  exp 0xd.89746a799ac4eedp+0
 exp -0x6.58b64p-4
 # the next value generates larger error bounds on x86_64 (binary32)
 exp 0x1.fefe02p-16
+# the next value generates larger error bounds on x86_64 (binary64)
+exp -0x1.0c4af1ad4ee36p+9
 
 exp10 0
 exp10 -0
@@ -6424,6 +6434,8 @@  log 0x1.0b5c1ep+36
 log 0x2.1b17c2887e938p+928
 log 0x1.929d9cp+0
 log 0x1.770072p+0
+# the next value generates larger error bounds on x86_64 (binary64)
+log 0x1.d405118796bd8p-1
 
 log10 1
 log10 0.1
@@ -7340,6 +7352,8 @@  sinh 0x2.c5d37700c6bb03a4p+12
 sinh 0x2.c5d37700c6bb03a8p+12
 sinh 0x2.c5d37700c6bb03a6c24b6c9b494cp+12
 sinh 0x2.c5d37700c6bb03a6c24b6c9b494ep+12
+# the next value generates larger error bounds on x86_64 (binary64)
+sinh -0x1.633c62890fa14p+9
 
 sub 0 0
 sub 0 -0
@@ -8183,6 +8197,8 @@  tgamma -0x6.ce9158p+0
 tgamma -0xd.cbf53d0e7d06p+0
 # the next value generates larger error bounds on x86_64 (binary32)
 tgamma -0x3.0aa534p+0
+# the next value generates larger error bounds on x86_64 (binary64)
+tgamma -0x1.62b8c36c7180bp+4
 
 y0 0.125
 y0 0.75
diff --git a/math/auto-libm-test-out-asinh b/math/auto-libm-test-out-asinh
index 648fe066cb..85efa466f4 100644
--- a/math/auto-libm-test-out-asinh
+++ b/math/auto-libm-test-out-asinh
@@ -2531,6 +2531,75 @@  asinh 0xf.96c69p-8
 = asinh tonearest ibm128 0xf.96c69p-8 : 0xf.94503821fcc6aead1cad28d494p-8 : inexact-ok
 = asinh towardzero ibm128 0xf.96c69p-8 : 0xf.94503821fcc6aead1cad28d49p-8 : inexact-ok
 = asinh upward ibm128 0xf.96c69p-8 : 0xf.94503821fcc6aead1cad28d494p-8 : inexact-ok
+asinh 0x1.023cfeab10a13p-2
+= asinh downward binary32 0x4.08f4p-4 : 0x3.fe4e6p-4 : inexact-ok
+= asinh tonearest binary32 0x4.08f4p-4 : 0x3.fe4e64p-4 : inexact-ok
+= asinh towardzero binary32 0x4.08f4p-4 : 0x3.fe4e6p-4 : inexact-ok
+= asinh upward binary32 0x4.08f4p-4 : 0x3.fe4e64p-4 : inexact-ok
+= asinh downward binary64 0x4.08f4p-4 : 0x3.fe4e62c525da4p-4 : inexact-ok
+= asinh tonearest binary64 0x4.08f4p-4 : 0x3.fe4e62c525da6p-4 : inexact-ok
+= asinh towardzero binary64 0x4.08f4p-4 : 0x3.fe4e62c525da4p-4 : inexact-ok
+= asinh upward binary64 0x4.08f4p-4 : 0x3.fe4e62c525da6p-4 : inexact-ok
+= asinh downward intel96 0x4.08f4p-4 : 0x3.fe4e62c525da5878p-4 : inexact-ok
+= asinh tonearest intel96 0x4.08f4p-4 : 0x3.fe4e62c525da587cp-4 : inexact-ok
+= asinh towardzero intel96 0x4.08f4p-4 : 0x3.fe4e62c525da5878p-4 : inexact-ok
+= asinh upward intel96 0x4.08f4p-4 : 0x3.fe4e62c525da587cp-4 : inexact-ok
+= asinh downward m68k96 0x4.08f4p-4 : 0x3.fe4e62c525da5878p-4 : inexact-ok
+= asinh tonearest m68k96 0x4.08f4p-4 : 0x3.fe4e62c525da587cp-4 : inexact-ok
+= asinh towardzero m68k96 0x4.08f4p-4 : 0x3.fe4e62c525da5878p-4 : inexact-ok
+= asinh upward m68k96 0x4.08f4p-4 : 0x3.fe4e62c525da587cp-4 : inexact-ok
+= asinh downward binary128 0x4.08f4p-4 : 0x3.fe4e62c525da587ab7dc0384ede8p-4 : inexact-ok
+= asinh tonearest binary128 0x4.08f4p-4 : 0x3.fe4e62c525da587ab7dc0384edeap-4 : inexact-ok
+= asinh towardzero binary128 0x4.08f4p-4 : 0x3.fe4e62c525da587ab7dc0384ede8p-4 : inexact-ok
+= asinh upward binary128 0x4.08f4p-4 : 0x3.fe4e62c525da587ab7dc0384edeap-4 : inexact-ok
+= asinh downward ibm128 0x4.08f4p-4 : 0x3.fe4e62c525da587ab7dc0384edp-4 : inexact-ok
+= asinh tonearest ibm128 0x4.08f4p-4 : 0x3.fe4e62c525da587ab7dc0384eep-4 : inexact-ok
+= asinh towardzero ibm128 0x4.08f4p-4 : 0x3.fe4e62c525da587ab7dc0384edp-4 : inexact-ok
+= asinh upward ibm128 0x4.08f4p-4 : 0x3.fe4e62c525da587ab7dc0384eep-4 : inexact-ok
+= asinh downward binary32 0x4.08f3f8p-4 : 0x3.fe4e58p-4 : inexact-ok
+= asinh tonearest binary32 0x4.08f3f8p-4 : 0x3.fe4e5cp-4 : inexact-ok
+= asinh towardzero binary32 0x4.08f3f8p-4 : 0x3.fe4e58p-4 : inexact-ok
+= asinh upward binary32 0x4.08f3f8p-4 : 0x3.fe4e5cp-4 : inexact-ok
+= asinh downward binary64 0x4.08f3f8p-4 : 0x3.fe4e5b035250ep-4 : inexact-ok
+= asinh tonearest binary64 0x4.08f3f8p-4 : 0x3.fe4e5b035251p-4 : inexact-ok
+= asinh towardzero binary64 0x4.08f3f8p-4 : 0x3.fe4e5b035250ep-4 : inexact-ok
+= asinh upward binary64 0x4.08f3f8p-4 : 0x3.fe4e5b035251p-4 : inexact-ok
+= asinh downward intel96 0x4.08f3f8p-4 : 0x3.fe4e5b035250f72p-4 : inexact-ok
+= asinh tonearest intel96 0x4.08f3f8p-4 : 0x3.fe4e5b035250f72p-4 : inexact-ok
+= asinh towardzero intel96 0x4.08f3f8p-4 : 0x3.fe4e5b035250f72p-4 : inexact-ok
+= asinh upward intel96 0x4.08f3f8p-4 : 0x3.fe4e5b035250f724p-4 : inexact-ok
+= asinh downward m68k96 0x4.08f3f8p-4 : 0x3.fe4e5b035250f72p-4 : inexact-ok
+= asinh tonearest m68k96 0x4.08f3f8p-4 : 0x3.fe4e5b035250f72p-4 : inexact-ok
+= asinh towardzero m68k96 0x4.08f3f8p-4 : 0x3.fe4e5b035250f72p-4 : inexact-ok
+= asinh upward m68k96 0x4.08f3f8p-4 : 0x3.fe4e5b035250f724p-4 : inexact-ok
+= asinh downward binary128 0x4.08f3f8p-4 : 0x3.fe4e5b035250f72070a4b6fdf4c4p-4 : inexact-ok
+= asinh tonearest binary128 0x4.08f3f8p-4 : 0x3.fe4e5b035250f72070a4b6fdf4c6p-4 : inexact-ok
+= asinh towardzero binary128 0x4.08f3f8p-4 : 0x3.fe4e5b035250f72070a4b6fdf4c4p-4 : inexact-ok
+= asinh upward binary128 0x4.08f3f8p-4 : 0x3.fe4e5b035250f72070a4b6fdf4c6p-4 : inexact-ok
+= asinh downward ibm128 0x4.08f3f8p-4 : 0x3.fe4e5b035250f72070a4b6fdf4p-4 : inexact-ok
+= asinh tonearest ibm128 0x4.08f3f8p-4 : 0x3.fe4e5b035250f72070a4b6fdf5p-4 : inexact-ok
+= asinh towardzero ibm128 0x4.08f3f8p-4 : 0x3.fe4e5b035250f72070a4b6fdf4p-4 : inexact-ok
+= asinh upward ibm128 0x4.08f3f8p-4 : 0x3.fe4e5b035250f72070a4b6fdf5p-4 : inexact-ok
+= asinh downward binary64 0x4.08f3faac4284cp-4 : 0x3.fe4e5d9acef72p-4 : inexact-ok
+= asinh tonearest binary64 0x4.08f3faac4284cp-4 : 0x3.fe4e5d9acef74p-4 : inexact-ok
+= asinh towardzero binary64 0x4.08f3faac4284cp-4 : 0x3.fe4e5d9acef72p-4 : inexact-ok
+= asinh upward binary64 0x4.08f3faac4284cp-4 : 0x3.fe4e5d9acef74p-4 : inexact-ok
+= asinh downward intel96 0x4.08f3faac4284cp-4 : 0x3.fe4e5d9acef73cdp-4 : inexact-ok
+= asinh tonearest intel96 0x4.08f3faac4284cp-4 : 0x3.fe4e5d9acef73cdp-4 : inexact-ok
+= asinh towardzero intel96 0x4.08f3faac4284cp-4 : 0x3.fe4e5d9acef73cdp-4 : inexact-ok
+= asinh upward intel96 0x4.08f3faac4284cp-4 : 0x3.fe4e5d9acef73cd4p-4 : inexact-ok
+= asinh downward m68k96 0x4.08f3faac4284cp-4 : 0x3.fe4e5d9acef73cdp-4 : inexact-ok
+= asinh tonearest m68k96 0x4.08f3faac4284cp-4 : 0x3.fe4e5d9acef73cdp-4 : inexact-ok
+= asinh towardzero m68k96 0x4.08f3faac4284cp-4 : 0x3.fe4e5d9acef73cdp-4 : inexact-ok
+= asinh upward m68k96 0x4.08f3faac4284cp-4 : 0x3.fe4e5d9acef73cd4p-4 : inexact-ok
+= asinh downward binary128 0x4.08f3faac4284cp-4 : 0x3.fe4e5d9acef73cd0062bafd4f43ep-4 : inexact-ok
+= asinh tonearest binary128 0x4.08f3faac4284cp-4 : 0x3.fe4e5d9acef73cd0062bafd4f44p-4 : inexact-ok
+= asinh towardzero binary128 0x4.08f3faac4284cp-4 : 0x3.fe4e5d9acef73cd0062bafd4f43ep-4 : inexact-ok
+= asinh upward binary128 0x4.08f3faac4284cp-4 : 0x3.fe4e5d9acef73cd0062bafd4f44p-4 : inexact-ok
+= asinh downward ibm128 0x4.08f3faac4284cp-4 : 0x3.fe4e5d9acef73cd0062bafd4f4p-4 : inexact-ok
+= asinh tonearest ibm128 0x4.08f3faac4284cp-4 : 0x3.fe4e5d9acef73cd0062bafd4f4p-4 : inexact-ok
+= asinh towardzero ibm128 0x4.08f3faac4284cp-4 : 0x3.fe4e5d9acef73cd0062bafd4f4p-4 : inexact-ok
+= asinh upward ibm128 0x4.08f3faac4284cp-4 : 0x3.fe4e5d9acef73cd0062bafd4f5p-4 : inexact-ok
 asinh min
 = asinh downward binary32 0x4p-128 : 0x3.fffff8p-128 : inexact-ok underflow-ok errno-erange-ok
 = asinh tonearest binary32 0x4p-128 : 0x4p-128 : inexact-ok underflow-ok errno-erange-ok
diff --git a/math/auto-libm-test-out-cbrt b/math/auto-libm-test-out-cbrt
index 3a5dfe35e9..90f1b913b6 100644
--- a/math/auto-libm-test-out-cbrt
+++ b/math/auto-libm-test-out-cbrt
@@ -946,6 +946,75 @@  cbrt -0x3.48648028cb464p+0
 = cbrt tonearest ibm128 -0x3.48648028cb464p+0 : -0x1.7c7862db462ecf3cf63a9a1d7f8p+0 : inexact-ok
 = cbrt towardzero ibm128 -0x3.48648028cb464p+0 : -0x1.7c7862db462ecf3cf63a9a1d7fp+0 : inexact-ok
 = cbrt upward ibm128 -0x3.48648028cb464p+0 : -0x1.7c7862db462ecf3cf63a9a1d7fp+0 : inexact-ok
+cbrt -0x1.7cec1dab41272p-230
+= cbrt downward binary32 -0x0p+0 : -0x0p+0 : inexact-ok
+= cbrt tonearest binary32 -0x0p+0 : -0x0p+0 : inexact-ok
+= cbrt towardzero binary32 -0x0p+0 : -0x0p+0 : inexact-ok
+= cbrt upward binary32 -0x0p+0 : -0x0p+0 : inexact-ok
+= cbrt downward binary64 -0x0p+0 : -0x0p+0 : inexact-ok
+= cbrt tonearest binary64 -0x0p+0 : -0x0p+0 : inexact-ok
+= cbrt towardzero binary64 -0x0p+0 : -0x0p+0 : inexact-ok
+= cbrt upward binary64 -0x0p+0 : -0x0p+0 : inexact-ok
+= cbrt downward intel96 -0x0p+0 : -0x0p+0 : inexact-ok
+= cbrt tonearest intel96 -0x0p+0 : -0x0p+0 : inexact-ok
+= cbrt towardzero intel96 -0x0p+0 : -0x0p+0 : inexact-ok
+= cbrt upward intel96 -0x0p+0 : -0x0p+0 : inexact-ok
+= cbrt downward m68k96 -0x0p+0 : -0x0p+0 : inexact-ok
+= cbrt tonearest m68k96 -0x0p+0 : -0x0p+0 : inexact-ok
+= cbrt towardzero m68k96 -0x0p+0 : -0x0p+0 : inexact-ok
+= cbrt upward m68k96 -0x0p+0 : -0x0p+0 : inexact-ok
+= cbrt downward binary128 -0x0p+0 : -0x0p+0 : inexact-ok
+= cbrt tonearest binary128 -0x0p+0 : -0x0p+0 : inexact-ok
+= cbrt towardzero binary128 -0x0p+0 : -0x0p+0 : inexact-ok
+= cbrt upward binary128 -0x0p+0 : -0x0p+0 : inexact-ok
+= cbrt downward ibm128 -0x0p+0 : -0x0p+0 : inexact-ok
+= cbrt tonearest ibm128 -0x0p+0 : -0x0p+0 : inexact-ok
+= cbrt towardzero ibm128 -0x0p+0 : -0x0p+0 : inexact-ok
+= cbrt upward ibm128 -0x0p+0 : -0x0p+0 : inexact-ok
+= cbrt downward binary32 -0x8p-152 : -0x5.0a28cp-52 : inexact-ok
+= cbrt tonearest binary32 -0x8p-152 : -0x5.0a28cp-52 : inexact-ok
+= cbrt towardzero binary32 -0x8p-152 : -0x5.0a28b8p-52 : inexact-ok
+= cbrt upward binary32 -0x8p-152 : -0x5.0a28b8p-52 : inexact-ok
+= cbrt downward binary64 -0x8p-152 : -0x5.0a28be635ca2cp-52 : inexact-ok
+= cbrt tonearest binary64 -0x8p-152 : -0x5.0a28be635ca2cp-52 : inexact-ok
+= cbrt towardzero binary64 -0x8p-152 : -0x5.0a28be635ca28p-52 : inexact-ok
+= cbrt upward binary64 -0x8p-152 : -0x5.0a28be635ca28p-52 : inexact-ok
+= cbrt downward intel96 -0x8p-152 : -0x5.0a28be635ca2b89p-52 : inexact-ok
+= cbrt tonearest intel96 -0x8p-152 : -0x5.0a28be635ca2b888p-52 : inexact-ok
+= cbrt towardzero intel96 -0x8p-152 : -0x5.0a28be635ca2b888p-52 : inexact-ok
+= cbrt upward intel96 -0x8p-152 : -0x5.0a28be635ca2b888p-52 : inexact-ok
+= cbrt downward m68k96 -0x8p-152 : -0x5.0a28be635ca2b89p-52 : inexact-ok
+= cbrt tonearest m68k96 -0x8p-152 : -0x5.0a28be635ca2b888p-52 : inexact-ok
+= cbrt towardzero m68k96 -0x8p-152 : -0x5.0a28be635ca2b888p-52 : inexact-ok
+= cbrt upward m68k96 -0x8p-152 : -0x5.0a28be635ca2b888p-52 : inexact-ok
+= cbrt downward binary128 -0x8p-152 : -0x5.0a28be635ca2b888f76adc56f898p-52 : inexact-ok
+= cbrt tonearest binary128 -0x8p-152 : -0x5.0a28be635ca2b888f76adc56f894p-52 : inexact-ok
+= cbrt towardzero binary128 -0x8p-152 : -0x5.0a28be635ca2b888f76adc56f894p-52 : inexact-ok
+= cbrt upward binary128 -0x8p-152 : -0x5.0a28be635ca2b888f76adc56f894p-52 : inexact-ok
+= cbrt downward ibm128 -0x8p-152 : -0x5.0a28be635ca2b888f76adc56fap-52 : inexact-ok
+= cbrt tonearest ibm128 -0x8p-152 : -0x5.0a28be635ca2b888f76adc56f8p-52 : inexact-ok
+= cbrt towardzero ibm128 -0x8p-152 : -0x5.0a28be635ca2b888f76adc56f8p-52 : inexact-ok
+= cbrt upward ibm128 -0x8p-152 : -0x5.0a28be635ca2b888f76adc56f8p-52 : inexact-ok
+= cbrt downward binary64 -0x5.f3b076ad049c8p-232 : -0xb.81d0965bf918p-80 : inexact-ok
+= cbrt tonearest binary64 -0x5.f3b076ad049c8p-232 : -0xb.81d0965bf918p-80 : inexact-ok
+= cbrt towardzero binary64 -0x5.f3b076ad049c8p-232 : -0xb.81d0965bf9178p-80 : inexact-ok
+= cbrt upward binary64 -0x5.f3b076ad049c8p-232 : -0xb.81d0965bf9178p-80 : inexact-ok
+= cbrt downward intel96 -0x5.f3b076ad049c8p-232 : -0xb.81d0965bf917c9ep-80 : inexact-ok
+= cbrt tonearest intel96 -0x5.f3b076ad049c8p-232 : -0xb.81d0965bf917c9ep-80 : inexact-ok
+= cbrt towardzero intel96 -0x5.f3b076ad049c8p-232 : -0xb.81d0965bf917c9dp-80 : inexact-ok
+= cbrt upward intel96 -0x5.f3b076ad049c8p-232 : -0xb.81d0965bf917c9dp-80 : inexact-ok
+= cbrt downward m68k96 -0x5.f3b076ad049c8p-232 : -0xb.81d0965bf917c9ep-80 : inexact-ok
+= cbrt tonearest m68k96 -0x5.f3b076ad049c8p-232 : -0xb.81d0965bf917c9ep-80 : inexact-ok
+= cbrt towardzero m68k96 -0x5.f3b076ad049c8p-232 : -0xb.81d0965bf917c9dp-80 : inexact-ok
+= cbrt upward m68k96 -0x5.f3b076ad049c8p-232 : -0xb.81d0965bf917c9dp-80 : inexact-ok
+= cbrt downward binary128 -0x5.f3b076ad049c8p-232 : -0xb.81d0965bf917c9dad6c6858ba3d8p-80 : inexact-ok
+= cbrt tonearest binary128 -0x5.f3b076ad049c8p-232 : -0xb.81d0965bf917c9dad6c6858ba3d8p-80 : inexact-ok
+= cbrt towardzero binary128 -0x5.f3b076ad049c8p-232 : -0xb.81d0965bf917c9dad6c6858ba3dp-80 : inexact-ok
+= cbrt upward binary128 -0x5.f3b076ad049c8p-232 : -0xb.81d0965bf917c9dad6c6858ba3dp-80 : inexact-ok
+= cbrt downward ibm128 -0x5.f3b076ad049c8p-232 : -0xb.81d0965bf917c9dad6c6858ba4p-80 : inexact-ok
+= cbrt tonearest ibm128 -0x5.f3b076ad049c8p-232 : -0xb.81d0965bf917c9dad6c6858ba4p-80 : inexact-ok
+= cbrt towardzero ibm128 -0x5.f3b076ad049c8p-232 : -0xb.81d0965bf917c9dad6c6858bap-80 : inexact-ok
+= cbrt upward ibm128 -0x5.f3b076ad049c8p-232 : -0xb.81d0965bf917c9dad6c6858bap-80 : inexact-ok
 cbrt max xfail:ibm128-libgcc
 = cbrt downward binary32 0xf.fffffp+124 : 0x6.597fap+40 : xfail:ibm128-libgcc inexact-ok
 = cbrt tonearest binary32 0xf.fffffp+124 : 0x6.597fa8p+40 : xfail:ibm128-libgcc inexact-ok
diff --git a/math/auto-libm-test-out-cosh b/math/auto-libm-test-out-cosh
index 6039a35e41..b2de615a8e 100644
--- a/math/auto-libm-test-out-cosh
+++ b/math/auto-libm-test-out-cosh
@@ -3410,3 +3410,72 @@  cosh 0x5.8bfe6p+4
 = cosh tonearest ibm128 0x5.8bfe6p+4 : 0x8.378d97e8a9838b8164de61b93cp+124 : inexact-ok
 = cosh towardzero ibm128 0x5.8bfe6p+4 : 0x8.378d97e8a9838b8164de61b938p+124 : inexact-ok
 = cosh upward ibm128 0x5.8bfe6p+4 : 0x8.378d97e8a9838b8164de61b93cp+124 : inexact-ok
+cosh 0x1.633c457f1e66bp+9
+= cosh downward binary32 0x2.c6788cp+8 : 0xf.fffffp+124 : inexact-ok overflow errno-erange-ok
+= cosh tonearest binary32 0x2.c6788cp+8 : plus_infty : inexact-ok overflow errno-erange
+= cosh towardzero binary32 0x2.c6788cp+8 : 0xf.fffffp+124 : inexact-ok overflow errno-erange-ok
+= cosh upward binary32 0x2.c6788cp+8 : plus_infty : inexact-ok overflow errno-erange
+= cosh downward binary64 0x2.c6788cp+8 : 0xf.ebad7efd1e06p+1020 : inexact-ok
+= cosh tonearest binary64 0x2.c6788cp+8 : 0xf.ebad7efd1e068p+1020 : inexact-ok
+= cosh towardzero binary64 0x2.c6788cp+8 : 0xf.ebad7efd1e06p+1020 : inexact-ok
+= cosh upward binary64 0x2.c6788cp+8 : 0xf.ebad7efd1e068p+1020 : inexact-ok
+= cosh downward intel96 0x2.c6788cp+8 : 0xf.ebad7efd1e065dfp+1020 : inexact-ok
+= cosh tonearest intel96 0x2.c6788cp+8 : 0xf.ebad7efd1e065ep+1020 : inexact-ok
+= cosh towardzero intel96 0x2.c6788cp+8 : 0xf.ebad7efd1e065dfp+1020 : inexact-ok
+= cosh upward intel96 0x2.c6788cp+8 : 0xf.ebad7efd1e065ep+1020 : inexact-ok
+= cosh downward m68k96 0x2.c6788cp+8 : 0xf.ebad7efd1e065dfp+1020 : inexact-ok
+= cosh tonearest m68k96 0x2.c6788cp+8 : 0xf.ebad7efd1e065ep+1020 : inexact-ok
+= cosh towardzero m68k96 0x2.c6788cp+8 : 0xf.ebad7efd1e065dfp+1020 : inexact-ok
+= cosh upward m68k96 0x2.c6788cp+8 : 0xf.ebad7efd1e065ep+1020 : inexact-ok
+= cosh downward binary128 0x2.c6788cp+8 : 0xf.ebad7efd1e065dfa4889d66d8e48p+1020 : inexact-ok
+= cosh tonearest binary128 0x2.c6788cp+8 : 0xf.ebad7efd1e065dfa4889d66d8e5p+1020 : inexact-ok
+= cosh towardzero binary128 0x2.c6788cp+8 : 0xf.ebad7efd1e065dfa4889d66d8e48p+1020 : inexact-ok
+= cosh upward binary128 0x2.c6788cp+8 : 0xf.ebad7efd1e065dfa4889d66d8e5p+1020 : inexact-ok
+= cosh downward ibm128 0x2.c6788cp+8 : 0xf.ebad7efd1e065dfa4889d66d8cp+1020 : inexact-ok
+= cosh tonearest ibm128 0x2.c6788cp+8 : 0xf.ebad7efd1e065dfa4889d66d9p+1020 : inexact-ok
+= cosh towardzero ibm128 0x2.c6788cp+8 : 0xf.ebad7efd1e065dfa4889d66d8cp+1020 : inexact-ok
+= cosh upward ibm128 0x2.c6788cp+8 : 0xf.ebad7efd1e065dfa4889d66d9p+1020 : inexact-ok
+= cosh downward binary32 0x2.c67888p+8 : 0xf.fffffp+124 : inexact-ok overflow errno-erange-ok
+= cosh tonearest binary32 0x2.c67888p+8 : plus_infty : inexact-ok overflow errno-erange
+= cosh towardzero binary32 0x2.c67888p+8 : 0xf.fffffp+124 : inexact-ok overflow errno-erange-ok
+= cosh upward binary32 0x2.c67888p+8 : plus_infty : inexact-ok overflow errno-erange
+= cosh downward binary64 0x2.c67888p+8 : 0xf.eb6dd0c67ed4p+1020 : inexact-ok
+= cosh tonearest binary64 0x2.c67888p+8 : 0xf.eb6dd0c67ed4p+1020 : inexact-ok
+= cosh towardzero binary64 0x2.c67888p+8 : 0xf.eb6dd0c67ed4p+1020 : inexact-ok
+= cosh upward binary64 0x2.c67888p+8 : 0xf.eb6dd0c67ed48p+1020 : inexact-ok
+= cosh downward intel96 0x2.c67888p+8 : 0xf.eb6dd0c67ed40c8p+1020 : inexact-ok
+= cosh tonearest intel96 0x2.c67888p+8 : 0xf.eb6dd0c67ed40c9p+1020 : inexact-ok
+= cosh towardzero intel96 0x2.c67888p+8 : 0xf.eb6dd0c67ed40c8p+1020 : inexact-ok
+= cosh upward intel96 0x2.c67888p+8 : 0xf.eb6dd0c67ed40c9p+1020 : inexact-ok
+= cosh downward m68k96 0x2.c67888p+8 : 0xf.eb6dd0c67ed40c8p+1020 : inexact-ok
+= cosh tonearest m68k96 0x2.c67888p+8 : 0xf.eb6dd0c67ed40c9p+1020 : inexact-ok
+= cosh towardzero m68k96 0x2.c67888p+8 : 0xf.eb6dd0c67ed40c8p+1020 : inexact-ok
+= cosh upward m68k96 0x2.c67888p+8 : 0xf.eb6dd0c67ed40c9p+1020 : inexact-ok
+= cosh downward binary128 0x2.c67888p+8 : 0xf.eb6dd0c67ed40c8e47a528f28b58p+1020 : inexact-ok
+= cosh tonearest binary128 0x2.c67888p+8 : 0xf.eb6dd0c67ed40c8e47a528f28b6p+1020 : inexact-ok
+= cosh towardzero binary128 0x2.c67888p+8 : 0xf.eb6dd0c67ed40c8e47a528f28b58p+1020 : inexact-ok
+= cosh upward binary128 0x2.c67888p+8 : 0xf.eb6dd0c67ed40c8e47a528f28b6p+1020 : inexact-ok
+= cosh downward ibm128 0x2.c67888p+8 : 0xf.eb6dd0c67ed40c8e47a528f288p+1020 : inexact-ok
+= cosh tonearest ibm128 0x2.c67888p+8 : 0xf.eb6dd0c67ed40c8e47a528f28cp+1020 : inexact-ok
+= cosh towardzero ibm128 0x2.c67888p+8 : 0xf.eb6dd0c67ed40c8e47a528f288p+1020 : inexact-ok
+= cosh upward ibm128 0x2.c67888p+8 : 0xf.eb6dd0c67ed40c8e47a528f28cp+1020 : inexact-ok
+= cosh downward binary64 0x2.c6788afe3ccd6p+8 : 0xf.eb9d77485863p+1020 : inexact-ok
+= cosh tonearest binary64 0x2.c6788afe3ccd6p+8 : 0xf.eb9d774858638p+1020 : inexact-ok
+= cosh towardzero binary64 0x2.c6788afe3ccd6p+8 : 0xf.eb9d77485863p+1020 : inexact-ok
+= cosh upward binary64 0x2.c6788afe3ccd6p+8 : 0xf.eb9d774858638p+1020 : inexact-ok
+= cosh downward intel96 0x2.c6788afe3ccd6p+8 : 0xf.eb9d7748586375cp+1020 : inexact-ok
+= cosh tonearest intel96 0x2.c6788afe3ccd6p+8 : 0xf.eb9d7748586375dp+1020 : inexact-ok
+= cosh towardzero intel96 0x2.c6788afe3ccd6p+8 : 0xf.eb9d7748586375cp+1020 : inexact-ok
+= cosh upward intel96 0x2.c6788afe3ccd6p+8 : 0xf.eb9d7748586375dp+1020 : inexact-ok
+= cosh downward m68k96 0x2.c6788afe3ccd6p+8 : 0xf.eb9d7748586375cp+1020 : inexact-ok
+= cosh tonearest m68k96 0x2.c6788afe3ccd6p+8 : 0xf.eb9d7748586375dp+1020 : inexact-ok
+= cosh towardzero m68k96 0x2.c6788afe3ccd6p+8 : 0xf.eb9d7748586375cp+1020 : inexact-ok
+= cosh upward m68k96 0x2.c6788afe3ccd6p+8 : 0xf.eb9d7748586375dp+1020 : inexact-ok
+= cosh downward binary128 0x2.c6788afe3ccd6p+8 : 0xf.eb9d7748586375cf28c2e4264d88p+1020 : inexact-ok
+= cosh tonearest binary128 0x2.c6788afe3ccd6p+8 : 0xf.eb9d7748586375cf28c2e4264d88p+1020 : inexact-ok
+= cosh towardzero binary128 0x2.c6788afe3ccd6p+8 : 0xf.eb9d7748586375cf28c2e4264d88p+1020 : inexact-ok
+= cosh upward binary128 0x2.c6788afe3ccd6p+8 : 0xf.eb9d7748586375cf28c2e4264d9p+1020 : inexact-ok
+= cosh downward ibm128 0x2.c6788afe3ccd6p+8 : 0xf.eb9d7748586375cf28c2e4264cp+1020 : inexact-ok
+= cosh tonearest ibm128 0x2.c6788afe3ccd6p+8 : 0xf.eb9d7748586375cf28c2e4264cp+1020 : inexact-ok
+= cosh towardzero ibm128 0x2.c6788afe3ccd6p+8 : 0xf.eb9d7748586375cf28c2e4264cp+1020 : inexact-ok
+= cosh upward ibm128 0x2.c6788afe3ccd6p+8 : 0xf.eb9d7748586375cf28c2e4265p+1020 : inexact-ok
diff --git a/math/auto-libm-test-out-erfc b/math/auto-libm-test-out-erfc
index 6a921febcb..60ac9ed740 100644
--- a/math/auto-libm-test-out-erfc
+++ b/math/auto-libm-test-out-erfc
@@ -4198,3 +4198,72 @@  erfc 0x1.e33c9ep+0
 = erfc tonearest ibm128 0x1.e33c9ep+0 : 0x1.f1cb04b622e6f4d5035449633b8p-8 : inexact-ok
 = erfc towardzero ibm128 0x1.e33c9ep+0 : 0x1.f1cb04b622e6f4d5035449633bp-8 : inexact-ok
 = erfc upward ibm128 0x1.e33c9ep+0 : 0x1.f1cb04b622e6f4d5035449633b8p-8 : inexact-ok
+erfc 0x1.3ffcbf39febb4p+0
+= erfc downward binary32 0x1.3ffccp+0 : 0x1.3bd95ep-4 : inexact-ok
+= erfc tonearest binary32 0x1.3ffccp+0 : 0x1.3bd96p-4 : inexact-ok
+= erfc towardzero binary32 0x1.3ffccp+0 : 0x1.3bd95ep-4 : inexact-ok
+= erfc upward binary32 0x1.3ffccp+0 : 0x1.3bd96p-4 : inexact-ok
+= erfc downward binary64 0x1.3ffccp+0 : 0x1.3bd95ffe4e556p-4 : inexact-ok
+= erfc tonearest binary64 0x1.3ffccp+0 : 0x1.3bd95ffe4e556p-4 : inexact-ok
+= erfc towardzero binary64 0x1.3ffccp+0 : 0x1.3bd95ffe4e556p-4 : inexact-ok
+= erfc upward binary64 0x1.3ffccp+0 : 0x1.3bd95ffe4e557p-4 : inexact-ok
+= erfc downward intel96 0x1.3ffccp+0 : 0x1.3bd95ffe4e5561c4p-4 : inexact-ok
+= erfc tonearest intel96 0x1.3ffccp+0 : 0x1.3bd95ffe4e5561c6p-4 : inexact-ok
+= erfc towardzero intel96 0x1.3ffccp+0 : 0x1.3bd95ffe4e5561c4p-4 : inexact-ok
+= erfc upward intel96 0x1.3ffccp+0 : 0x1.3bd95ffe4e5561c6p-4 : inexact-ok
+= erfc downward m68k96 0x1.3ffccp+0 : 0x1.3bd95ffe4e5561c4p-4 : inexact-ok
+= erfc tonearest m68k96 0x1.3ffccp+0 : 0x1.3bd95ffe4e5561c6p-4 : inexact-ok
+= erfc towardzero m68k96 0x1.3ffccp+0 : 0x1.3bd95ffe4e5561c4p-4 : inexact-ok
+= erfc upward m68k96 0x1.3ffccp+0 : 0x1.3bd95ffe4e5561c6p-4 : inexact-ok
+= erfc downward binary128 0x1.3ffccp+0 : 0x1.3bd95ffe4e5561c5991cb64b6573p-4 : inexact-ok
+= erfc tonearest binary128 0x1.3ffccp+0 : 0x1.3bd95ffe4e5561c5991cb64b6573p-4 : inexact-ok
+= erfc towardzero binary128 0x1.3ffccp+0 : 0x1.3bd95ffe4e5561c5991cb64b6573p-4 : inexact-ok
+= erfc upward binary128 0x1.3ffccp+0 : 0x1.3bd95ffe4e5561c5991cb64b6574p-4 : inexact-ok
+= erfc downward ibm128 0x1.3ffccp+0 : 0x1.3bd95ffe4e5561c5991cb64b65p-4 : inexact-ok
+= erfc tonearest ibm128 0x1.3ffccp+0 : 0x1.3bd95ffe4e5561c5991cb64b658p-4 : inexact-ok
+= erfc towardzero ibm128 0x1.3ffccp+0 : 0x1.3bd95ffe4e5561c5991cb64b65p-4 : inexact-ok
+= erfc upward ibm128 0x1.3ffccp+0 : 0x1.3bd95ffe4e5561c5991cb64b658p-4 : inexact-ok
+= erfc downward binary32 0x1.3ffcbep+0 : 0x1.3bd966p-4 : inexact-ok
+= erfc tonearest binary32 0x1.3ffcbep+0 : 0x1.3bd968p-4 : inexact-ok
+= erfc towardzero binary32 0x1.3ffcbep+0 : 0x1.3bd966p-4 : inexact-ok
+= erfc upward binary32 0x1.3ffcbep+0 : 0x1.3bd968p-4 : inexact-ok
+= erfc downward binary64 0x1.3ffcbep+0 : 0x1.3bd9679020a68p-4 : inexact-ok
+= erfc tonearest binary64 0x1.3ffcbep+0 : 0x1.3bd9679020a68p-4 : inexact-ok
+= erfc towardzero binary64 0x1.3ffcbep+0 : 0x1.3bd9679020a68p-4 : inexact-ok
+= erfc upward binary64 0x1.3ffcbep+0 : 0x1.3bd9679020a69p-4 : inexact-ok
+= erfc downward intel96 0x1.3ffcbep+0 : 0x1.3bd9679020a687bep-4 : inexact-ok
+= erfc tonearest intel96 0x1.3ffcbep+0 : 0x1.3bd9679020a687cp-4 : inexact-ok
+= erfc towardzero intel96 0x1.3ffcbep+0 : 0x1.3bd9679020a687bep-4 : inexact-ok
+= erfc upward intel96 0x1.3ffcbep+0 : 0x1.3bd9679020a687cp-4 : inexact-ok
+= erfc downward m68k96 0x1.3ffcbep+0 : 0x1.3bd9679020a687bep-4 : inexact-ok
+= erfc tonearest m68k96 0x1.3ffcbep+0 : 0x1.3bd9679020a687cp-4 : inexact-ok
+= erfc towardzero m68k96 0x1.3ffcbep+0 : 0x1.3bd9679020a687bep-4 : inexact-ok
+= erfc upward m68k96 0x1.3ffcbep+0 : 0x1.3bd9679020a687cp-4 : inexact-ok
+= erfc downward binary128 0x1.3ffcbep+0 : 0x1.3bd9679020a687bf0ac713ffaf7ap-4 : inexact-ok
+= erfc tonearest binary128 0x1.3ffcbep+0 : 0x1.3bd9679020a687bf0ac713ffaf7bp-4 : inexact-ok
+= erfc towardzero binary128 0x1.3ffcbep+0 : 0x1.3bd9679020a687bf0ac713ffaf7ap-4 : inexact-ok
+= erfc upward binary128 0x1.3ffcbep+0 : 0x1.3bd9679020a687bf0ac713ffaf7bp-4 : inexact-ok
+= erfc downward ibm128 0x1.3ffcbep+0 : 0x1.3bd9679020a687bf0ac713ffafp-4 : inexact-ok
+= erfc tonearest ibm128 0x1.3ffcbep+0 : 0x1.3bd9679020a687bf0ac713ffaf8p-4 : inexact-ok
+= erfc towardzero ibm128 0x1.3ffcbep+0 : 0x1.3bd9679020a687bf0ac713ffafp-4 : inexact-ok
+= erfc upward ibm128 0x1.3ffcbep+0 : 0x1.3bd9679020a687bf0ac713ffaf8p-4 : inexact-ok
+= erfc downward binary64 0x1.3ffcbf39febb4p+0 : 0x1.3bd962ebb7736p-4 : inexact-ok
+= erfc tonearest binary64 0x1.3ffcbf39febb4p+0 : 0x1.3bd962ebb7736p-4 : inexact-ok
+= erfc towardzero binary64 0x1.3ffcbf39febb4p+0 : 0x1.3bd962ebb7736p-4 : inexact-ok
+= erfc upward binary64 0x1.3ffcbf39febb4p+0 : 0x1.3bd962ebb7737p-4 : inexact-ok
+= erfc downward intel96 0x1.3ffcbf39febb4p+0 : 0x1.3bd962ebb773644ap-4 : inexact-ok
+= erfc tonearest intel96 0x1.3ffcbf39febb4p+0 : 0x1.3bd962ebb773644cp-4 : inexact-ok
+= erfc towardzero intel96 0x1.3ffcbf39febb4p+0 : 0x1.3bd962ebb773644ap-4 : inexact-ok
+= erfc upward intel96 0x1.3ffcbf39febb4p+0 : 0x1.3bd962ebb773644cp-4 : inexact-ok
+= erfc downward m68k96 0x1.3ffcbf39febb4p+0 : 0x1.3bd962ebb773644ap-4 : inexact-ok
+= erfc tonearest m68k96 0x1.3ffcbf39febb4p+0 : 0x1.3bd962ebb773644cp-4 : inexact-ok
+= erfc towardzero m68k96 0x1.3ffcbf39febb4p+0 : 0x1.3bd962ebb773644ap-4 : inexact-ok
+= erfc upward m68k96 0x1.3ffcbf39febb4p+0 : 0x1.3bd962ebb773644cp-4 : inexact-ok
+= erfc downward binary128 0x1.3ffcbf39febb4p+0 : 0x1.3bd962ebb773644beafd5d55b35fp-4 : inexact-ok
+= erfc tonearest binary128 0x1.3ffcbf39febb4p+0 : 0x1.3bd962ebb773644beafd5d55b35fp-4 : inexact-ok
+= erfc towardzero binary128 0x1.3ffcbf39febb4p+0 : 0x1.3bd962ebb773644beafd5d55b35fp-4 : inexact-ok
+= erfc upward binary128 0x1.3ffcbf39febb4p+0 : 0x1.3bd962ebb773644beafd5d55b36p-4 : inexact-ok
+= erfc downward ibm128 0x1.3ffcbf39febb4p+0 : 0x1.3bd962ebb773644beafd5d55b3p-4 : inexact-ok
+= erfc tonearest ibm128 0x1.3ffcbf39febb4p+0 : 0x1.3bd962ebb773644beafd5d55b38p-4 : inexact-ok
+= erfc towardzero ibm128 0x1.3ffcbf39febb4p+0 : 0x1.3bd962ebb773644beafd5d55b3p-4 : inexact-ok
+= erfc upward ibm128 0x1.3ffcbf39febb4p+0 : 0x1.3bd962ebb773644beafd5d55b38p-4 : inexact-ok
diff --git a/math/auto-libm-test-out-exp b/math/auto-libm-test-out-exp
index 38d2c52ac7..a8b87a782f 100644
--- a/math/auto-libm-test-out-exp
+++ b/math/auto-libm-test-out-exp
@@ -4869,3 +4869,72 @@  exp 0x1.fefe02p-16
 = exp tonearest ibm128 0x1.fefe02p-16 : 0x1.0001fefffffdd953027f9648618p+0 : inexact-ok
 = exp towardzero ibm128 0x1.fefe02p-16 : 0x1.0001fefffffdd953027f964861p+0 : inexact-ok
 = exp upward ibm128 0x1.fefe02p-16 : 0x1.0001fefffffdd953027f9648618p+0 : inexact-ok
+exp -0x1.0c4af1ad4ee36p+9
+= exp downward binary32 -0x2.1895ep+8 : 0x0p+0 : inexact-ok underflow errno-erange
+= exp tonearest binary32 -0x2.1895ep+8 : 0x0p+0 : inexact-ok underflow errno-erange
+= exp towardzero binary32 -0x2.1895ep+8 : 0x0p+0 : inexact-ok underflow errno-erange
+= exp upward binary32 -0x2.1895ep+8 : 0x8p-152 : inexact-ok underflow errno-erange-ok
+= exp downward binary64 -0x2.1895ep+8 : 0x3.a84ddaee8cc54p-776 : inexact-ok
+= exp tonearest binary64 -0x2.1895ep+8 : 0x3.a84ddaee8cc56p-776 : inexact-ok
+= exp towardzero binary64 -0x2.1895ep+8 : 0x3.a84ddaee8cc54p-776 : inexact-ok
+= exp upward binary64 -0x2.1895ep+8 : 0x3.a84ddaee8cc56p-776 : inexact-ok
+= exp downward intel96 -0x2.1895ep+8 : 0x3.a84ddaee8cc55658p-776 : inexact-ok
+= exp tonearest intel96 -0x2.1895ep+8 : 0x3.a84ddaee8cc5565cp-776 : inexact-ok
+= exp towardzero intel96 -0x2.1895ep+8 : 0x3.a84ddaee8cc55658p-776 : inexact-ok
+= exp upward intel96 -0x2.1895ep+8 : 0x3.a84ddaee8cc5565cp-776 : inexact-ok
+= exp downward m68k96 -0x2.1895ep+8 : 0x3.a84ddaee8cc55658p-776 : inexact-ok
+= exp tonearest m68k96 -0x2.1895ep+8 : 0x3.a84ddaee8cc5565cp-776 : inexact-ok
+= exp towardzero m68k96 -0x2.1895ep+8 : 0x3.a84ddaee8cc55658p-776 : inexact-ok
+= exp upward m68k96 -0x2.1895ep+8 : 0x3.a84ddaee8cc5565cp-776 : inexact-ok
+= exp downward binary128 -0x2.1895ep+8 : 0x3.a84ddaee8cc5565aff6debc74164p-776 : inexact-ok
+= exp tonearest binary128 -0x2.1895ep+8 : 0x3.a84ddaee8cc5565aff6debc74164p-776 : inexact-ok
+= exp towardzero binary128 -0x2.1895ep+8 : 0x3.a84ddaee8cc5565aff6debc74164p-776 : inexact-ok
+= exp upward binary128 -0x2.1895ep+8 : 0x3.a84ddaee8cc5565aff6debc74166p-776 : inexact-ok
+= exp downward ibm128 -0x2.1895ep+8 : 0x3.a84ddaee8cc5565aff6debc741p-776 : inexact-ok
+= exp tonearest ibm128 -0x2.1895ep+8 : 0x3.a84ddaee8cc5565aff6debc741p-776 : inexact-ok
+= exp towardzero ibm128 -0x2.1895ep+8 : 0x3.a84ddaee8cc5565aff6debc741p-776 : inexact-ok
+= exp upward ibm128 -0x2.1895ep+8 : 0x3.a84ddaee8cc5565aff6debc742p-776 : inexact-ok
+= exp downward binary32 -0x2.1895e4p+8 : 0x0p+0 : inexact-ok underflow errno-erange
+= exp tonearest binary32 -0x2.1895e4p+8 : 0x0p+0 : inexact-ok underflow errno-erange
+= exp towardzero binary32 -0x2.1895e4p+8 : 0x0p+0 : inexact-ok underflow errno-erange
+= exp upward binary32 -0x2.1895e4p+8 : 0x8p-152 : inexact-ok underflow errno-erange-ok
+= exp downward binary64 -0x2.1895e4p+8 : 0x3.a83f39d46352ep-776 : inexact-ok
+= exp tonearest binary64 -0x2.1895e4p+8 : 0x3.a83f39d46353p-776 : inexact-ok
+= exp towardzero binary64 -0x2.1895e4p+8 : 0x3.a83f39d46352ep-776 : inexact-ok
+= exp upward binary64 -0x2.1895e4p+8 : 0x3.a83f39d46353p-776 : inexact-ok
+= exp downward intel96 -0x2.1895e4p+8 : 0x3.a83f39d46352f7ap-776 : inexact-ok
+= exp tonearest intel96 -0x2.1895e4p+8 : 0x3.a83f39d46352f7a4p-776 : inexact-ok
+= exp towardzero intel96 -0x2.1895e4p+8 : 0x3.a83f39d46352f7ap-776 : inexact-ok
+= exp upward intel96 -0x2.1895e4p+8 : 0x3.a83f39d46352f7a4p-776 : inexact-ok
+= exp downward m68k96 -0x2.1895e4p+8 : 0x3.a83f39d46352f7ap-776 : inexact-ok
+= exp tonearest m68k96 -0x2.1895e4p+8 : 0x3.a83f39d46352f7a4p-776 : inexact-ok
+= exp towardzero m68k96 -0x2.1895e4p+8 : 0x3.a83f39d46352f7ap-776 : inexact-ok
+= exp upward m68k96 -0x2.1895e4p+8 : 0x3.a83f39d46352f7a4p-776 : inexact-ok
+= exp downward binary128 -0x2.1895e4p+8 : 0x3.a83f39d46352f7a29ab0ace8657ap-776 : inexact-ok
+= exp tonearest binary128 -0x2.1895e4p+8 : 0x3.a83f39d46352f7a29ab0ace8657ap-776 : inexact-ok
+= exp towardzero binary128 -0x2.1895e4p+8 : 0x3.a83f39d46352f7a29ab0ace8657ap-776 : inexact-ok
+= exp upward binary128 -0x2.1895e4p+8 : 0x3.a83f39d46352f7a29ab0ace8657cp-776 : inexact-ok
+= exp downward ibm128 -0x2.1895e4p+8 : 0x3.a83f39d46352f7a29ab0ace865p-776 : inexact-ok
+= exp tonearest ibm128 -0x2.1895e4p+8 : 0x3.a83f39d46352f7a29ab0ace865p-776 : inexact-ok
+= exp towardzero ibm128 -0x2.1895e4p+8 : 0x3.a83f39d46352f7a29ab0ace865p-776 : inexact-ok
+= exp upward ibm128 -0x2.1895e4p+8 : 0x3.a83f39d46352f7a29ab0ace866p-776 : inexact-ok
+= exp downward binary64 -0x2.1895e35a9dc6cp+8 : 0x3.a84196ad208cep-776 : inexact-ok
+= exp tonearest binary64 -0x2.1895e35a9dc6cp+8 : 0x3.a84196ad208cep-776 : inexact-ok
+= exp towardzero binary64 -0x2.1895e35a9dc6cp+8 : 0x3.a84196ad208cep-776 : inexact-ok
+= exp upward binary64 -0x2.1895e35a9dc6cp+8 : 0x3.a84196ad208dp-776 : inexact-ok
+= exp downward intel96 -0x2.1895e35a9dc6cp+8 : 0x3.a84196ad208cefbp-776 : inexact-ok
+= exp tonearest intel96 -0x2.1895e35a9dc6cp+8 : 0x3.a84196ad208cefb4p-776 : inexact-ok
+= exp towardzero intel96 -0x2.1895e35a9dc6cp+8 : 0x3.a84196ad208cefbp-776 : inexact-ok
+= exp upward intel96 -0x2.1895e35a9dc6cp+8 : 0x3.a84196ad208cefb4p-776 : inexact-ok
+= exp downward m68k96 -0x2.1895e35a9dc6cp+8 : 0x3.a84196ad208cefbp-776 : inexact-ok
+= exp tonearest m68k96 -0x2.1895e35a9dc6cp+8 : 0x3.a84196ad208cefb4p-776 : inexact-ok
+= exp towardzero m68k96 -0x2.1895e35a9dc6cp+8 : 0x3.a84196ad208cefbp-776 : inexact-ok
+= exp upward m68k96 -0x2.1895e35a9dc6cp+8 : 0x3.a84196ad208cefb4p-776 : inexact-ok
+= exp downward binary128 -0x2.1895e35a9dc6cp+8 : 0x3.a84196ad208cefb3b0c82f6b5b36p-776 : inexact-ok
+= exp tonearest binary128 -0x2.1895e35a9dc6cp+8 : 0x3.a84196ad208cefb3b0c82f6b5b38p-776 : inexact-ok
+= exp towardzero binary128 -0x2.1895e35a9dc6cp+8 : 0x3.a84196ad208cefb3b0c82f6b5b36p-776 : inexact-ok
+= exp upward binary128 -0x2.1895e35a9dc6cp+8 : 0x3.a84196ad208cefb3b0c82f6b5b38p-776 : inexact-ok
+= exp downward ibm128 -0x2.1895e35a9dc6cp+8 : 0x3.a84196ad208cefb3b0c82f6b5bp-776 : inexact-ok
+= exp tonearest ibm128 -0x2.1895e35a9dc6cp+8 : 0x3.a84196ad208cefb3b0c82f6b5bp-776 : inexact-ok
+= exp towardzero ibm128 -0x2.1895e35a9dc6cp+8 : 0x3.a84196ad208cefb3b0c82f6b5bp-776 : inexact-ok
+= exp upward ibm128 -0x2.1895e35a9dc6cp+8 : 0x3.a84196ad208cefb3b0c82f6b5cp-776 : inexact-ok
diff --git a/math/auto-libm-test-out-log b/math/auto-libm-test-out-log
index 5c6865404f..8693c4b22a 100644
--- a/math/auto-libm-test-out-log
+++ b/math/auto-libm-test-out-log
@@ -1573,3 +1573,72 @@  log 0x1.770072p+0
 = log tonearest ibm128 0x1.770072p+0 : 0x6.1ba943bb20434dc4abd932bca6p-4 : inexact-ok
 = log towardzero ibm128 0x1.770072p+0 : 0x6.1ba943bb20434dc4abd932bca6p-4 : inexact-ok
 = log upward ibm128 0x1.770072p+0 : 0x6.1ba943bb20434dc4abd932bca8p-4 : inexact-ok
+log 0x1.d405118796bd8p-1
+= log downward binary32 0xe.a0289p-4 : -0x1.6fe0d2p-4 : inexact-ok
+= log tonearest binary32 0xe.a0289p-4 : -0x1.6fe0dp-4 : inexact-ok
+= log towardzero binary32 0xe.a0289p-4 : -0x1.6fe0dp-4 : inexact-ok
+= log upward binary32 0xe.a0289p-4 : -0x1.6fe0dp-4 : inexact-ok
+= log downward binary64 0xe.a0289p-4 : -0x1.6fe0d0a6311e4p-4 : inexact-ok
+= log tonearest binary64 0xe.a0289p-4 : -0x1.6fe0d0a6311e3p-4 : inexact-ok
+= log towardzero binary64 0xe.a0289p-4 : -0x1.6fe0d0a6311e3p-4 : inexact-ok
+= log upward binary64 0xe.a0289p-4 : -0x1.6fe0d0a6311e3p-4 : inexact-ok
+= log downward intel96 0xe.a0289p-4 : -0x1.6fe0d0a6311e31f2p-4 : inexact-ok
+= log tonearest intel96 0xe.a0289p-4 : -0x1.6fe0d0a6311e31f2p-4 : inexact-ok
+= log towardzero intel96 0xe.a0289p-4 : -0x1.6fe0d0a6311e31fp-4 : inexact-ok
+= log upward intel96 0xe.a0289p-4 : -0x1.6fe0d0a6311e31fp-4 : inexact-ok
+= log downward m68k96 0xe.a0289p-4 : -0x1.6fe0d0a6311e31f2p-4 : inexact-ok
+= log tonearest m68k96 0xe.a0289p-4 : -0x1.6fe0d0a6311e31f2p-4 : inexact-ok
+= log towardzero m68k96 0xe.a0289p-4 : -0x1.6fe0d0a6311e31fp-4 : inexact-ok
+= log upward m68k96 0xe.a0289p-4 : -0x1.6fe0d0a6311e31fp-4 : inexact-ok
+= log downward binary128 0xe.a0289p-4 : -0x1.6fe0d0a6311e31f19855212ae415p-4 : inexact-ok
+= log tonearest binary128 0xe.a0289p-4 : -0x1.6fe0d0a6311e31f19855212ae415p-4 : inexact-ok
+= log towardzero binary128 0xe.a0289p-4 : -0x1.6fe0d0a6311e31f19855212ae414p-4 : inexact-ok
+= log upward binary128 0xe.a0289p-4 : -0x1.6fe0d0a6311e31f19855212ae414p-4 : inexact-ok
+= log downward ibm128 0xe.a0289p-4 : -0x1.6fe0d0a6311e31f19855212ae48p-4 : inexact-ok
+= log tonearest ibm128 0xe.a0289p-4 : -0x1.6fe0d0a6311e31f19855212ae4p-4 : inexact-ok
+= log towardzero ibm128 0xe.a0289p-4 : -0x1.6fe0d0a6311e31f19855212ae4p-4 : inexact-ok
+= log upward ibm128 0xe.a0289p-4 : -0x1.6fe0d0a6311e31f19855212ae4p-4 : inexact-ok
+= log downward binary32 0xe.a0288p-4 : -0x1.6fe0e4p-4 : inexact-ok
+= log tonearest binary32 0xe.a0288p-4 : -0x1.6fe0e2p-4 : inexact-ok
+= log towardzero binary32 0xe.a0288p-4 : -0x1.6fe0e2p-4 : inexact-ok
+= log upward binary32 0xe.a0288p-4 : -0x1.6fe0e2p-4 : inexact-ok
+= log downward binary64 0xe.a0288p-4 : -0x1.6fe0e22718ad8p-4 : inexact-ok
+= log tonearest binary64 0xe.a0288p-4 : -0x1.6fe0e22718ad7p-4 : inexact-ok
+= log towardzero binary64 0xe.a0288p-4 : -0x1.6fe0e22718ad7p-4 : inexact-ok
+= log upward binary64 0xe.a0288p-4 : -0x1.6fe0e22718ad7p-4 : inexact-ok
+= log downward intel96 0xe.a0288p-4 : -0x1.6fe0e22718ad7752p-4 : inexact-ok
+= log tonearest intel96 0xe.a0288p-4 : -0x1.6fe0e22718ad7752p-4 : inexact-ok
+= log towardzero intel96 0xe.a0288p-4 : -0x1.6fe0e22718ad775p-4 : inexact-ok
+= log upward intel96 0xe.a0288p-4 : -0x1.6fe0e22718ad775p-4 : inexact-ok
+= log downward m68k96 0xe.a0288p-4 : -0x1.6fe0e22718ad7752p-4 : inexact-ok
+= log tonearest m68k96 0xe.a0288p-4 : -0x1.6fe0e22718ad7752p-4 : inexact-ok
+= log towardzero m68k96 0xe.a0288p-4 : -0x1.6fe0e22718ad775p-4 : inexact-ok
+= log upward m68k96 0xe.a0288p-4 : -0x1.6fe0e22718ad775p-4 : inexact-ok
+= log downward binary128 0xe.a0288p-4 : -0x1.6fe0e22718ad77516665df92f5dbp-4 : inexact-ok
+= log tonearest binary128 0xe.a0288p-4 : -0x1.6fe0e22718ad77516665df92f5dbp-4 : inexact-ok
+= log towardzero binary128 0xe.a0288p-4 : -0x1.6fe0e22718ad77516665df92f5dap-4 : inexact-ok
+= log upward binary128 0xe.a0288p-4 : -0x1.6fe0e22718ad77516665df92f5dap-4 : inexact-ok
+= log downward ibm128 0xe.a0288p-4 : -0x1.6fe0e22718ad77516665df92f6p-4 : inexact-ok
+= log tonearest ibm128 0xe.a0288p-4 : -0x1.6fe0e22718ad77516665df92f6p-4 : inexact-ok
+= log towardzero ibm128 0xe.a0288p-4 : -0x1.6fe0e22718ad77516665df92f58p-4 : inexact-ok
+= log upward ibm128 0xe.a0288p-4 : -0x1.6fe0e22718ad77516665df92f58p-4 : inexact-ok
+= log downward binary64 0xe.a0288c3cb5ecp-4 : -0x1.6fe0d4c400979p-4 : inexact-ok
+= log tonearest binary64 0xe.a0288c3cb5ecp-4 : -0x1.6fe0d4c400979p-4 : inexact-ok
+= log towardzero binary64 0xe.a0288c3cb5ecp-4 : -0x1.6fe0d4c400978p-4 : inexact-ok
+= log upward binary64 0xe.a0288c3cb5ecp-4 : -0x1.6fe0d4c400978p-4 : inexact-ok
+= log downward intel96 0xe.a0288c3cb5ecp-4 : -0x1.6fe0d4c40097884ep-4 : inexact-ok
+= log tonearest intel96 0xe.a0288c3cb5ecp-4 : -0x1.6fe0d4c40097884ep-4 : inexact-ok
+= log towardzero intel96 0xe.a0288c3cb5ecp-4 : -0x1.6fe0d4c40097884cp-4 : inexact-ok
+= log upward intel96 0xe.a0288c3cb5ecp-4 : -0x1.6fe0d4c40097884cp-4 : inexact-ok
+= log downward m68k96 0xe.a0288c3cb5ecp-4 : -0x1.6fe0d4c40097884ep-4 : inexact-ok
+= log tonearest m68k96 0xe.a0288c3cb5ecp-4 : -0x1.6fe0d4c40097884ep-4 : inexact-ok
+= log towardzero m68k96 0xe.a0288c3cb5ecp-4 : -0x1.6fe0d4c40097884cp-4 : inexact-ok
+= log upward m68k96 0xe.a0288c3cb5ecp-4 : -0x1.6fe0d4c40097884cp-4 : inexact-ok
+= log downward binary128 0xe.a0288c3cb5ecp-4 : -0x1.6fe0d4c40097884d86068c297d0cp-4 : inexact-ok
+= log tonearest binary128 0xe.a0288c3cb5ecp-4 : -0x1.6fe0d4c40097884d86068c297d0cp-4 : inexact-ok
+= log towardzero binary128 0xe.a0288c3cb5ecp-4 : -0x1.6fe0d4c40097884d86068c297d0bp-4 : inexact-ok
+= log upward binary128 0xe.a0288c3cb5ecp-4 : -0x1.6fe0d4c40097884d86068c297d0bp-4 : inexact-ok
+= log downward ibm128 0xe.a0288c3cb5ecp-4 : -0x1.6fe0d4c40097884d86068c297d8p-4 : inexact-ok
+= log tonearest ibm128 0xe.a0288c3cb5ecp-4 : -0x1.6fe0d4c40097884d86068c297dp-4 : inexact-ok
+= log towardzero ibm128 0xe.a0288c3cb5ecp-4 : -0x1.6fe0d4c40097884d86068c297dp-4 : inexact-ok
+= log upward ibm128 0xe.a0288c3cb5ecp-4 : -0x1.6fe0d4c40097884d86068c297dp-4 : inexact-ok
diff --git a/math/auto-libm-test-out-sinh b/math/auto-libm-test-out-sinh
index e78b02b360..c26a34c1c5 100644
--- a/math/auto-libm-test-out-sinh
+++ b/math/auto-libm-test-out-sinh
@@ -3507,3 +3507,72 @@  sinh 0x2.c5d37700c6bb03a6c24b6c9b494ep+12
 = sinh tonearest ibm128 0x2.c5d37700c6bb03a6c24b6c9b49p+12 : plus_infty : inexact-ok overflow errno-erange
 = sinh towardzero ibm128 0x2.c5d37700c6bb03a6c24b6c9b49p+12 : 0xf.ffffffffffffbffffffffffffcp+1020 : xfail:ibm128-libgcc inexact-ok overflow errno-erange-ok
 = sinh upward ibm128 0x2.c5d37700c6bb03a6c24b6c9b49p+12 : plus_infty : xfail:ibm128-libgcc inexact-ok overflow errno-erange
+sinh -0x1.633c62890fa14p+9
+= sinh downward binary32 -0x2.c678c4p+8 : minus_infty : inexact-ok overflow errno-erange
+= sinh tonearest binary32 -0x2.c678c4p+8 : minus_infty : inexact-ok overflow errno-erange
+= sinh towardzero binary32 -0x2.c678c4p+8 : -0xf.fffffp+124 : inexact-ok overflow errno-erange-ok
+= sinh upward binary32 -0x2.c678c4p+8 : -0xf.fffffp+124 : inexact-ok overflow errno-erange-ok
+= sinh downward binary64 -0x2.c678c4p+8 : -0xf.ef296e7b88b48p+1020 : inexact-ok
+= sinh tonearest binary64 -0x2.c678c4p+8 : -0xf.ef296e7b88b4p+1020 : inexact-ok
+= sinh towardzero binary64 -0x2.c678c4p+8 : -0xf.ef296e7b88b4p+1020 : inexact-ok
+= sinh upward binary64 -0x2.c678c4p+8 : -0xf.ef296e7b88b4p+1020 : inexact-ok
+= sinh downward intel96 -0x2.c678c4p+8 : -0xf.ef296e7b88b41f7p+1020 : inexact-ok
+= sinh tonearest intel96 -0x2.c678c4p+8 : -0xf.ef296e7b88b41f6p+1020 : inexact-ok
+= sinh towardzero intel96 -0x2.c678c4p+8 : -0xf.ef296e7b88b41f6p+1020 : inexact-ok
+= sinh upward intel96 -0x2.c678c4p+8 : -0xf.ef296e7b88b41f6p+1020 : inexact-ok
+= sinh downward m68k96 -0x2.c678c4p+8 : -0xf.ef296e7b88b41f7p+1020 : inexact-ok
+= sinh tonearest m68k96 -0x2.c678c4p+8 : -0xf.ef296e7b88b41f6p+1020 : inexact-ok
+= sinh towardzero m68k96 -0x2.c678c4p+8 : -0xf.ef296e7b88b41f6p+1020 : inexact-ok
+= sinh upward m68k96 -0x2.c678c4p+8 : -0xf.ef296e7b88b41f6p+1020 : inexact-ok
+= sinh downward binary128 -0x2.c678c4p+8 : -0xf.ef296e7b88b41f625301a966ffa8p+1020 : inexact-ok
+= sinh tonearest binary128 -0x2.c678c4p+8 : -0xf.ef296e7b88b41f625301a966ffap+1020 : inexact-ok
+= sinh towardzero binary128 -0x2.c678c4p+8 : -0xf.ef296e7b88b41f625301a966ffap+1020 : inexact-ok
+= sinh upward binary128 -0x2.c678c4p+8 : -0xf.ef296e7b88b41f625301a966ffap+1020 : inexact-ok
+= sinh downward ibm128 -0x2.c678c4p+8 : -0xf.ef296e7b88b41f625301a967p+1020 : inexact-ok
+= sinh tonearest ibm128 -0x2.c678c4p+8 : -0xf.ef296e7b88b41f625301a967p+1020 : inexact-ok
+= sinh towardzero ibm128 -0x2.c678c4p+8 : -0xf.ef296e7b88b41f625301a966fcp+1020 : inexact-ok
+= sinh upward ibm128 -0x2.c678c4p+8 : -0xf.ef296e7b88b41f625301a966fcp+1020 : inexact-ok
+= sinh downward binary32 -0x2.c678c8p+8 : minus_infty : inexact-ok overflow errno-erange
+= sinh tonearest binary32 -0x2.c678c8p+8 : minus_infty : inexact-ok overflow errno-erange
+= sinh towardzero binary32 -0x2.c678c8p+8 : -0xf.fffffp+124 : inexact-ok overflow errno-erange-ok
+= sinh upward binary32 -0x2.c678c8p+8 : -0xf.fffffp+124 : inexact-ok overflow errno-erange-ok
+= sinh downward binary64 -0x2.c678c8p+8 : -0xf.ef692ba0bc98p+1020 : inexact-ok
+= sinh tonearest binary64 -0x2.c678c8p+8 : -0xf.ef692ba0bc978p+1020 : inexact-ok
+= sinh towardzero binary64 -0x2.c678c8p+8 : -0xf.ef692ba0bc978p+1020 : inexact-ok
+= sinh upward binary64 -0x2.c678c8p+8 : -0xf.ef692ba0bc978p+1020 : inexact-ok
+= sinh downward intel96 -0x2.c678c8p+8 : -0xf.ef692ba0bc97addp+1020 : inexact-ok
+= sinh tonearest intel96 -0x2.c678c8p+8 : -0xf.ef692ba0bc97addp+1020 : inexact-ok
+= sinh towardzero intel96 -0x2.c678c8p+8 : -0xf.ef692ba0bc97adcp+1020 : inexact-ok
+= sinh upward intel96 -0x2.c678c8p+8 : -0xf.ef692ba0bc97adcp+1020 : inexact-ok
+= sinh downward m68k96 -0x2.c678c8p+8 : -0xf.ef692ba0bc97addp+1020 : inexact-ok
+= sinh tonearest m68k96 -0x2.c678c8p+8 : -0xf.ef692ba0bc97addp+1020 : inexact-ok
+= sinh towardzero m68k96 -0x2.c678c8p+8 : -0xf.ef692ba0bc97adcp+1020 : inexact-ok
+= sinh upward m68k96 -0x2.c678c8p+8 : -0xf.ef692ba0bc97adcp+1020 : inexact-ok
+= sinh downward binary128 -0x2.c678c8p+8 : -0xf.ef692ba0bc97adc852e8e105932p+1020 : inexact-ok
+= sinh tonearest binary128 -0x2.c678c8p+8 : -0xf.ef692ba0bc97adc852e8e105932p+1020 : inexact-ok
+= sinh towardzero binary128 -0x2.c678c8p+8 : -0xf.ef692ba0bc97adc852e8e1059318p+1020 : inexact-ok
+= sinh upward binary128 -0x2.c678c8p+8 : -0xf.ef692ba0bc97adc852e8e1059318p+1020 : inexact-ok
+= sinh downward ibm128 -0x2.c678c8p+8 : -0xf.ef692ba0bc97adc852e8e10594p+1020 : inexact-ok
+= sinh tonearest ibm128 -0x2.c678c8p+8 : -0xf.ef692ba0bc97adc852e8e10594p+1020 : inexact-ok
+= sinh towardzero ibm128 -0x2.c678c8p+8 : -0xf.ef692ba0bc97adc852e8e1059p+1020 : inexact-ok
+= sinh upward ibm128 -0x2.c678c8p+8 : -0xf.ef692ba0bc97adc852e8e1059p+1020 : inexact-ok
+= sinh downward binary64 -0x2.c678c5121f428p+8 : -0xf.ef3a7e711d2c8p+1020 : inexact-ok
+= sinh tonearest binary64 -0x2.c678c5121f428p+8 : -0xf.ef3a7e711d2c8p+1020 : inexact-ok
+= sinh towardzero binary64 -0x2.c678c5121f428p+8 : -0xf.ef3a7e711d2cp+1020 : inexact-ok
+= sinh upward binary64 -0x2.c678c5121f428p+8 : -0xf.ef3a7e711d2cp+1020 : inexact-ok
+= sinh downward intel96 -0x2.c678c5121f428p+8 : -0xf.ef3a7e711d2c75bp+1020 : inexact-ok
+= sinh tonearest intel96 -0x2.c678c5121f428p+8 : -0xf.ef3a7e711d2c75ap+1020 : inexact-ok
+= sinh towardzero intel96 -0x2.c678c5121f428p+8 : -0xf.ef3a7e711d2c75ap+1020 : inexact-ok
+= sinh upward intel96 -0x2.c678c5121f428p+8 : -0xf.ef3a7e711d2c75ap+1020 : inexact-ok
+= sinh downward m68k96 -0x2.c678c5121f428p+8 : -0xf.ef3a7e711d2c75bp+1020 : inexact-ok
+= sinh tonearest m68k96 -0x2.c678c5121f428p+8 : -0xf.ef3a7e711d2c75ap+1020 : inexact-ok
+= sinh towardzero m68k96 -0x2.c678c5121f428p+8 : -0xf.ef3a7e711d2c75ap+1020 : inexact-ok
+= sinh upward m68k96 -0x2.c678c5121f428p+8 : -0xf.ef3a7e711d2c75ap+1020 : inexact-ok
+= sinh downward binary128 -0x2.c678c5121f428p+8 : -0xf.ef3a7e711d2c75a66ea3ca1c4178p+1020 : inexact-ok
+= sinh tonearest binary128 -0x2.c678c5121f428p+8 : -0xf.ef3a7e711d2c75a66ea3ca1c417p+1020 : inexact-ok
+= sinh towardzero binary128 -0x2.c678c5121f428p+8 : -0xf.ef3a7e711d2c75a66ea3ca1c417p+1020 : inexact-ok
+= sinh upward binary128 -0x2.c678c5121f428p+8 : -0xf.ef3a7e711d2c75a66ea3ca1c417p+1020 : inexact-ok
+= sinh downward ibm128 -0x2.c678c5121f428p+8 : -0xf.ef3a7e711d2c75a66ea3ca1c44p+1020 : inexact-ok
+= sinh tonearest ibm128 -0x2.c678c5121f428p+8 : -0xf.ef3a7e711d2c75a66ea3ca1c4p+1020 : inexact-ok
+= sinh towardzero ibm128 -0x2.c678c5121f428p+8 : -0xf.ef3a7e711d2c75a66ea3ca1c4p+1020 : inexact-ok
+= sinh upward ibm128 -0x2.c678c5121f428p+8 : -0xf.ef3a7e711d2c75a66ea3ca1c4p+1020 : inexact-ok
diff --git a/math/auto-libm-test-out-tgamma b/math/auto-libm-test-out-tgamma
index a3f4f8efbe..032ad3a7d7 100644
--- a/math/auto-libm-test-out-tgamma
+++ b/math/auto-libm-test-out-tgamma
@@ -27328,3 +27328,72 @@  tgamma -0x3.0aa534p+0
 = tgamma tonearest ibm128 -0x3.0aa534p+0 : 0x3.d05efb28d49cc49b798cfd0f0ap+0 : inexact-ok
 = tgamma towardzero ibm128 -0x3.0aa534p+0 : 0x3.d05efb28d49cc49b798cfd0f0ap+0 : inexact-ok
 = tgamma upward ibm128 -0x3.0aa534p+0 : 0x3.d05efb28d49cc49b798cfd0f0bp+0 : inexact-ok
+tgamma -0x1.62b8c36c7180bp+4
+= tgamma downward binary32 -0x1.62b8c2p+4 : -0xf.3fc2bp-72 : inexact-ok
+= tgamma tonearest binary32 -0x1.62b8c2p+4 : -0xf.3fc2bp-72 : inexact-ok
+= tgamma towardzero binary32 -0x1.62b8c2p+4 : -0xf.3fc2ap-72 : inexact-ok
+= tgamma upward binary32 -0x1.62b8c2p+4 : -0xf.3fc2ap-72 : inexact-ok
+= tgamma downward binary64 -0x1.62b8c2p+4 : -0xf.3fc2acf5d8ap-72 : inexact-ok
+= tgamma tonearest binary64 -0x1.62b8c2p+4 : -0xf.3fc2acf5d8ap-72 : inexact-ok
+= tgamma towardzero binary64 -0x1.62b8c2p+4 : -0xf.3fc2acf5d89f8p-72 : inexact-ok
+= tgamma upward binary64 -0x1.62b8c2p+4 : -0xf.3fc2acf5d89f8p-72 : inexact-ok
+= tgamma downward intel96 -0x1.62b8c2p+4 : -0xf.3fc2acf5d89fd7ap-72 : inexact-ok
+= tgamma tonearest intel96 -0x1.62b8c2p+4 : -0xf.3fc2acf5d89fd7ap-72 : inexact-ok
+= tgamma towardzero intel96 -0x1.62b8c2p+4 : -0xf.3fc2acf5d89fd79p-72 : inexact-ok
+= tgamma upward intel96 -0x1.62b8c2p+4 : -0xf.3fc2acf5d89fd79p-72 : inexact-ok
+= tgamma downward m68k96 -0x1.62b8c2p+4 : -0xf.3fc2acf5d89fd7ap-72 : inexact-ok
+= tgamma tonearest m68k96 -0x1.62b8c2p+4 : -0xf.3fc2acf5d89fd7ap-72 : inexact-ok
+= tgamma towardzero m68k96 -0x1.62b8c2p+4 : -0xf.3fc2acf5d89fd79p-72 : inexact-ok
+= tgamma upward m68k96 -0x1.62b8c2p+4 : -0xf.3fc2acf5d89fd79p-72 : inexact-ok
+= tgamma downward binary128 -0x1.62b8c2p+4 : -0xf.3fc2acf5d89fd798f96647a0a238p-72 : inexact-ok
+= tgamma tonearest binary128 -0x1.62b8c2p+4 : -0xf.3fc2acf5d89fd798f96647a0a238p-72 : inexact-ok
+= tgamma towardzero binary128 -0x1.62b8c2p+4 : -0xf.3fc2acf5d89fd798f96647a0a23p-72 : inexact-ok
+= tgamma upward binary128 -0x1.62b8c2p+4 : -0xf.3fc2acf5d89fd798f96647a0a23p-72 : inexact-ok
+= tgamma downward ibm128 -0x1.62b8c2p+4 : -0xf.3fc2acf5d89fd798f96647a0a4p-72 : inexact-ok
+= tgamma tonearest ibm128 -0x1.62b8c2p+4 : -0xf.3fc2acf5d89fd798f96647a0a4p-72 : inexact-ok
+= tgamma towardzero ibm128 -0x1.62b8c2p+4 : -0xf.3fc2acf5d89fd798f96647a0ap-72 : inexact-ok
+= tgamma upward ibm128 -0x1.62b8c2p+4 : -0xf.3fc2acf5d89fd798f96647a0ap-72 : inexact-ok
+= tgamma downward binary32 -0x1.62b8c4p+4 : -0xf.3fb2ap-72 : inexact-ok
+= tgamma tonearest binary32 -0x1.62b8c4p+4 : -0xf.3fb2ap-72 : inexact-ok
+= tgamma towardzero binary32 -0x1.62b8c4p+4 : -0xf.3fb29p-72 : inexact-ok
+= tgamma upward binary32 -0x1.62b8c4p+4 : -0xf.3fb29p-72 : inexact-ok
+= tgamma downward binary64 -0x1.62b8c4p+4 : -0xf.3fb29bd00da8p-72 : inexact-ok
+= tgamma tonearest binary64 -0x1.62b8c4p+4 : -0xf.3fb29bd00da8p-72 : inexact-ok
+= tgamma towardzero binary64 -0x1.62b8c4p+4 : -0xf.3fb29bd00da78p-72 : inexact-ok
+= tgamma upward binary64 -0x1.62b8c4p+4 : -0xf.3fb29bd00da78p-72 : inexact-ok
+= tgamma downward intel96 -0x1.62b8c4p+4 : -0xf.3fb29bd00da7e59p-72 : inexact-ok
+= tgamma tonearest intel96 -0x1.62b8c4p+4 : -0xf.3fb29bd00da7e58p-72 : inexact-ok
+= tgamma towardzero intel96 -0x1.62b8c4p+4 : -0xf.3fb29bd00da7e58p-72 : inexact-ok
+= tgamma upward intel96 -0x1.62b8c4p+4 : -0xf.3fb29bd00da7e58p-72 : inexact-ok
+= tgamma downward m68k96 -0x1.62b8c4p+4 : -0xf.3fb29bd00da7e59p-72 : inexact-ok
+= tgamma tonearest m68k96 -0x1.62b8c4p+4 : -0xf.3fb29bd00da7e58p-72 : inexact-ok
+= tgamma towardzero m68k96 -0x1.62b8c4p+4 : -0xf.3fb29bd00da7e58p-72 : inexact-ok
+= tgamma upward m68k96 -0x1.62b8c4p+4 : -0xf.3fb29bd00da7e58p-72 : inexact-ok
+= tgamma downward binary128 -0x1.62b8c4p+4 : -0xf.3fb29bd00da7e586371692562ebp-72 : inexact-ok
+= tgamma tonearest binary128 -0x1.62b8c4p+4 : -0xf.3fb29bd00da7e586371692562ebp-72 : inexact-ok
+= tgamma towardzero binary128 -0x1.62b8c4p+4 : -0xf.3fb29bd00da7e586371692562ea8p-72 : inexact-ok
+= tgamma upward binary128 -0x1.62b8c4p+4 : -0xf.3fb29bd00da7e586371692562ea8p-72 : inexact-ok
+= tgamma downward ibm128 -0x1.62b8c4p+4 : -0xf.3fb29bd00da7e586371692563p-72 : inexact-ok
+= tgamma tonearest ibm128 -0x1.62b8c4p+4 : -0xf.3fb29bd00da7e586371692563p-72 : inexact-ok
+= tgamma towardzero ibm128 -0x1.62b8c4p+4 : -0xf.3fb29bd00da7e586371692562cp-72 : inexact-ok
+= tgamma upward ibm128 -0x1.62b8c4p+4 : -0xf.3fb29bd00da7e586371692562cp-72 : inexact-ok
+= tgamma downward binary64 -0x1.62b8c36c7180bp+4 : -0xf.3fb73d327d6bp-72 : inexact-ok
+= tgamma tonearest binary64 -0x1.62b8c36c7180bp+4 : -0xf.3fb73d327d6a8p-72 : inexact-ok
+= tgamma towardzero binary64 -0x1.62b8c36c7180bp+4 : -0xf.3fb73d327d6a8p-72 : inexact-ok
+= tgamma upward binary64 -0x1.62b8c36c7180bp+4 : -0xf.3fb73d327d6a8p-72 : inexact-ok
+= tgamma downward intel96 -0x1.62b8c36c7180bp+4 : -0xf.3fb73d327d6a802p-72 : inexact-ok
+= tgamma tonearest intel96 -0x1.62b8c36c7180bp+4 : -0xf.3fb73d327d6a802p-72 : inexact-ok
+= tgamma towardzero intel96 -0x1.62b8c36c7180bp+4 : -0xf.3fb73d327d6a801p-72 : inexact-ok
+= tgamma upward intel96 -0x1.62b8c36c7180bp+4 : -0xf.3fb73d327d6a801p-72 : inexact-ok
+= tgamma downward m68k96 -0x1.62b8c36c7180bp+4 : -0xf.3fb73d327d6a802p-72 : inexact-ok
+= tgamma tonearest m68k96 -0x1.62b8c36c7180bp+4 : -0xf.3fb73d327d6a802p-72 : inexact-ok
+= tgamma towardzero m68k96 -0x1.62b8c36c7180bp+4 : -0xf.3fb73d327d6a801p-72 : inexact-ok
+= tgamma upward m68k96 -0x1.62b8c36c7180bp+4 : -0xf.3fb73d327d6a801p-72 : inexact-ok
+= tgamma downward binary128 -0x1.62b8c36c7180bp+4 : -0xf.3fb73d327d6a801abb3039b10308p-72 : inexact-ok
+= tgamma tonearest binary128 -0x1.62b8c36c7180bp+4 : -0xf.3fb73d327d6a801abb3039b10308p-72 : inexact-ok
+= tgamma towardzero binary128 -0x1.62b8c36c7180bp+4 : -0xf.3fb73d327d6a801abb3039b103p-72 : inexact-ok
+= tgamma upward binary128 -0x1.62b8c36c7180bp+4 : -0xf.3fb73d327d6a801abb3039b103p-72 : inexact-ok
+= tgamma downward ibm128 -0x1.62b8c36c7180bp+4 : -0xf.3fb73d327d6a801abb3039b104p-72 : inexact-ok
+= tgamma tonearest ibm128 -0x1.62b8c36c7180bp+4 : -0xf.3fb73d327d6a801abb3039b104p-72 : inexact-ok
+= tgamma towardzero ibm128 -0x1.62b8c36c7180bp+4 : -0xf.3fb73d327d6a801abb3039b1p-72 : inexact-ok
+= tgamma upward ibm128 -0x1.62b8c36c7180bp+4 : -0xf.3fb73d327d6a801abb3039b1p-72 : inexact-ok
diff --git a/sysdeps/x86_64/fpu/libm-test-ulps b/sysdeps/x86_64/fpu/libm-test-ulps
index 57b90375a3..633d2ab8e4 100644
--- a/sysdeps/x86_64/fpu/libm-test-ulps
+++ b/sysdeps/x86_64/fpu/libm-test-ulps
@@ -72,7 +72,7 @@  float128: 2
 ldouble: 1
 
 Function: "asinh":
-double: 1
+double: 2
 float: 2
 float128: 3
 ldouble: 3
@@ -497,7 +497,7 @@  float128: 2
 ldouble: 1
 
 Function: "cbrt":
-double: 3
+double: 4
 float: 1
 float128: 1
 ldouble: 1
@@ -804,19 +804,19 @@  Function: "cos_vlen8_avx2":
 float: 1
 
 Function: "cosh":
-double: 1
+double: 2
 float: 2
 float128: 1
 ldouble: 2
 
 Function: "cosh_downward":
-double: 2
+double: 3
 float: 1
 float128: 2
 ldouble: 3
 
 Function: "cosh_towardzero":
-double: 2
+double: 3
 float: 1
 float128: 2
 ldouble: 2
@@ -1135,7 +1135,7 @@  float128: 2
 ldouble: 1
 
 Function: "erfc":
-double: 3
+double: 5
 float: 3
 float128: 2
 ldouble: 3
@@ -1159,6 +1159,7 @@  float128: 5
 ldouble: 5
 
 Function: "exp":
+double: 1
 float: 1
 float128: 1
 ldouble: 1
@@ -1407,6 +1408,7 @@  float128: 8
 ldouble: 6
 
 Function: "log":
+double: 1
 float: 1
 float128: 1
 ldouble: 1
@@ -1663,7 +1665,7 @@  float128: 3
 ldouble: 5
 
 Function: "sinh_towardzero":
-double: 2
+double: 3
 float: 2
 float128: 3
 ldouble: 4
@@ -1722,25 +1724,25 @@  float128: 3
 ldouble: 4
 
 Function: "tgamma":
-double: 5
+double: 9
 float: 8
 float128: 4
 ldouble: 5
 
 Function: "tgamma_downward":
-double: 5
+double: 8
 float: 7
 float128: 5
 ldouble: 5
 
 Function: "tgamma_towardzero":
-double: 5
+double: 9
 float: 7
 float128: 5
 ldouble: 5
 
 Function: "tgamma_upward":
-double: 5
+double: 9
 float: 8
 float128: 4
 ldouble: 5