aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2015-05-01 22:17:19 +0000
committerJoseph Myers <joseph@codesourcery.com>2015-05-01 22:17:19 +0000
commit038e4be99c48fac8dbe8b772ff673837eb22431d (patch)
treef88bd3f6eb014b405732e897932c5029f3e1c4a3
parenta0d31f36aa7f6101b53f3b36214ac119f678a275 (diff)
downloadglibc-038e4be99c48fac8dbe8b772ff673837eb22431d.zip
glibc-038e4be99c48fac8dbe8b772ff673837eb22431d.tar.gz
glibc-038e4be99c48fac8dbe8b772ff673837eb22431d.tar.bz2
Add more tests of lgamma.
This patch adds some randomly-generated tests of lgamma that are observed to increase ulps on x86_64. Tested for x86_64 and x86 and ulps updated accordingly. * math/auto-libm-test-in: Add more tests of lgamma. * math/auto-libm-test-out: Regenerated. * sysdeps/i386/fpu/libm-test-ulps: Update. * sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
-rw-r--r--ChangeLog5
-rw-r--r--math/auto-libm-test-in8
-rw-r--r--math/auto-libm-test-out219
-rw-r--r--sysdeps/i386/fpu/libm-test-ulps32
-rw-r--r--sysdeps/x86_64/fpu/libm-test-ulps88
5 files changed, 292 insertions, 60 deletions
diff --git a/ChangeLog b/ChangeLog
index dc248f7..77ce468 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,10 @@
2015-05-01 Joseph Myers <joseph@codesourcery.com>
+ * math/auto-libm-test-in: Add more tests of lgamma.
+ * math/auto-libm-test-out: Regenerated.
+ * sysdeps/i386/fpu/libm-test-ulps: Update.
+ * sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
+
* math/auto-libm-test-in: Add more tests of log, log10, log2 and
log1p.
* math/auto-libm-test-out: Regenerated.
diff --git a/math/auto-libm-test-in b/math/auto-libm-test-in
index 7a8a67b..caf3c93 100644
--- a/math/auto-libm-test-in
+++ b/math/auto-libm-test-in
@@ -1759,6 +1759,14 @@ lgamma -0x1p-16445
lgamma 0x1p-16494
lgamma -0x1p-16494
+lgamma 0x8.8d2d5p+0
+lgamma 0x1.6a324ap+52
+lgamma 0x9.62f59p+0
+lgamma 0xa.d55d6b4d78e28p+0
+lgamma 0x8.d6315p+0
+lgamma 0xb.2e679p+0
+lgamma 0xb.01191p+0
+
log 1
log e
log 1/e
diff --git a/math/auto-libm-test-out b/math/auto-libm-test-out
index 8b6e148..a99be4a 100644
--- a/math/auto-libm-test-out
+++ b/math/auto-libm-test-out
@@ -137577,6 +137577,225 @@ lgamma -0x1p-16494
= lgamma tonearest ldbl-128 -0x4p-16496L : 0x2.ca8c50440f005913a49acbd2c4e8p+12L -1 : inexact-ok
= lgamma towardzero ldbl-128 -0x4p-16496L : 0x2.ca8c50440f005913a49acbd2c4e6p+12L -1 : inexact-ok
= lgamma upward ldbl-128 -0x4p-16496L : 0x2.ca8c50440f005913a49acbd2c4e8p+12L -1 : inexact-ok
+lgamma 0x8.8d2d5p+0
+= lgamma downward flt-32 0x8.8d2d5p+0f : 0x9.a8106p+0f 1 : inexact-ok
+= lgamma tonearest flt-32 0x8.8d2d5p+0f : 0x9.a8106p+0f 1 : inexact-ok
+= lgamma towardzero flt-32 0x8.8d2d5p+0f : 0x9.a8106p+0f 1 : inexact-ok
+= lgamma upward flt-32 0x8.8d2d5p+0f : 0x9.a8107p+0f 1 : inexact-ok
+= lgamma downward dbl-64 0x8.8d2d5p+0 : 0x9.a81063e7978p+0 1 : inexact-ok
+= lgamma tonearest dbl-64 0x8.8d2d5p+0 : 0x9.a81063e7978p+0 1 : inexact-ok
+= lgamma towardzero dbl-64 0x8.8d2d5p+0 : 0x9.a81063e7978p+0 1 : inexact-ok
+= lgamma upward dbl-64 0x8.8d2d5p+0 : 0x9.a81063e797808p+0 1 : inexact-ok
+= lgamma downward ldbl-96-intel 0x8.8d2d5p+0L : 0x9.a81063e79780374p+0L 1 : inexact-ok
+= lgamma tonearest ldbl-96-intel 0x8.8d2d5p+0L : 0x9.a81063e79780375p+0L 1 : inexact-ok
+= lgamma towardzero ldbl-96-intel 0x8.8d2d5p+0L : 0x9.a81063e79780374p+0L 1 : inexact-ok
+= lgamma upward ldbl-96-intel 0x8.8d2d5p+0L : 0x9.a81063e79780375p+0L 1 : inexact-ok
+= lgamma downward ldbl-96-m68k 0x8.8d2d5p+0L : 0x9.a81063e79780374p+0L 1 : inexact-ok
+= lgamma tonearest ldbl-96-m68k 0x8.8d2d5p+0L : 0x9.a81063e79780375p+0L 1 : inexact-ok
+= lgamma towardzero ldbl-96-m68k 0x8.8d2d5p+0L : 0x9.a81063e79780374p+0L 1 : inexact-ok
+= lgamma upward ldbl-96-m68k 0x8.8d2d5p+0L : 0x9.a81063e79780375p+0L 1 : inexact-ok
+= lgamma downward ldbl-128 0x8.8d2d5p+0L : 0x9.a81063e797803748580495bd2f48p+0L 1 : inexact-ok
+= lgamma tonearest ldbl-128 0x8.8d2d5p+0L : 0x9.a81063e797803748580495bd2f48p+0L 1 : inexact-ok
+= lgamma towardzero ldbl-128 0x8.8d2d5p+0L : 0x9.a81063e797803748580495bd2f48p+0L 1 : inexact-ok
+= lgamma upward ldbl-128 0x8.8d2d5p+0L : 0x9.a81063e797803748580495bd2f5p+0L 1 : inexact-ok
+= lgamma downward ldbl-128ibm 0x8.8d2d5p+0L : 0x9.a81063e797803748580495bd2cp+0L 1 : inexact-ok
+= lgamma tonearest ldbl-128ibm 0x8.8d2d5p+0L : 0x9.a81063e797803748580495bd3p+0L 1 : inexact-ok
+= lgamma towardzero ldbl-128ibm 0x8.8d2d5p+0L : 0x9.a81063e797803748580495bd2cp+0L 1 : inexact-ok
+= lgamma upward ldbl-128ibm 0x8.8d2d5p+0L : 0x9.a81063e797803748580495bd3p+0L 1 : inexact-ok
+lgamma 0x1.6a324ap+52
+= lgamma downward flt-32 0x1.6a324ap+52f : 0x3.2125f4p+56f 1 : inexact-ok
+= lgamma tonearest flt-32 0x1.6a324ap+52f : 0x3.2125f4p+56f 1 : inexact-ok
+= lgamma towardzero flt-32 0x1.6a324ap+52f : 0x3.2125f4p+56f 1 : inexact-ok
+= lgamma upward flt-32 0x1.6a324ap+52f : 0x3.2125f8p+56f 1 : inexact-ok
+= lgamma downward dbl-64 0x1.6a324ap+52 : 0x3.2125f40f9a1bep+56 1 : inexact-ok
+= lgamma tonearest dbl-64 0x1.6a324ap+52 : 0x3.2125f40f9a1bep+56 1 : inexact-ok
+= lgamma towardzero dbl-64 0x1.6a324ap+52 : 0x3.2125f40f9a1bep+56 1 : inexact-ok
+= lgamma upward dbl-64 0x1.6a324ap+52 : 0x3.2125f40f9a1cp+56 1 : inexact-ok
+= lgamma downward ldbl-96-intel 0x1.6a324ap+52L : 0x3.2125f40f9a1bebap+56L 1 : inexact-ok
+= lgamma tonearest ldbl-96-intel 0x1.6a324ap+52L : 0x3.2125f40f9a1beba4p+56L 1 : inexact-ok
+= lgamma towardzero ldbl-96-intel 0x1.6a324ap+52L : 0x3.2125f40f9a1bebap+56L 1 : inexact-ok
+= lgamma upward ldbl-96-intel 0x1.6a324ap+52L : 0x3.2125f40f9a1beba4p+56L 1 : inexact-ok
+= lgamma downward ldbl-96-m68k 0x1.6a324ap+52L : 0x3.2125f40f9a1bebap+56L 1 : inexact-ok
+= lgamma tonearest ldbl-96-m68k 0x1.6a324ap+52L : 0x3.2125f40f9a1beba4p+56L 1 : inexact-ok
+= lgamma towardzero ldbl-96-m68k 0x1.6a324ap+52L : 0x3.2125f40f9a1bebap+56L 1 : inexact-ok
+= lgamma upward ldbl-96-m68k 0x1.6a324ap+52L : 0x3.2125f40f9a1beba4p+56L 1 : inexact-ok
+= lgamma downward ldbl-128 0x1.6a324ap+52L : 0x3.2125f40f9a1beba2b9f1959dbd96p+56L 1 : inexact-ok
+= lgamma tonearest ldbl-128 0x1.6a324ap+52L : 0x3.2125f40f9a1beba2b9f1959dbd98p+56L 1 : inexact-ok
+= lgamma towardzero ldbl-128 0x1.6a324ap+52L : 0x3.2125f40f9a1beba2b9f1959dbd96p+56L 1 : inexact-ok
+= lgamma upward ldbl-128 0x1.6a324ap+52L : 0x3.2125f40f9a1beba2b9f1959dbd98p+56L 1 : inexact-ok
+= lgamma downward ldbl-128ibm 0x1.6a324ap+52L : 0x3.2125f40f9a1beba2b9f1959dbdp+56L 1 : inexact-ok
+= lgamma tonearest ldbl-128ibm 0x1.6a324ap+52L : 0x3.2125f40f9a1beba2b9f1959dbep+56L 1 : inexact-ok
+= lgamma towardzero ldbl-128ibm 0x1.6a324ap+52L : 0x3.2125f40f9a1beba2b9f1959dbdp+56L 1 : inexact-ok
+= lgamma upward ldbl-128ibm 0x1.6a324ap+52L : 0x3.2125f40f9a1beba2b9f1959dbep+56L 1 : inexact-ok
+lgamma 0x9.62f59p+0
+= lgamma downward flt-32 0x9.62f59p+0f : 0xb.70d43p+0f 1 : inexact-ok
+= lgamma tonearest flt-32 0x9.62f59p+0f : 0xb.70d43p+0f 1 : inexact-ok
+= lgamma towardzero flt-32 0x9.62f59p+0f : 0xb.70d43p+0f 1 : inexact-ok
+= lgamma upward flt-32 0x9.62f59p+0f : 0xb.70d44p+0f 1 : inexact-ok
+= lgamma downward dbl-64 0x9.62f59p+0 : 0xb.70d4369f5b4cp+0 1 : inexact-ok
+= lgamma tonearest dbl-64 0x9.62f59p+0 : 0xb.70d4369f5b4c8p+0 1 : inexact-ok
+= lgamma towardzero dbl-64 0x9.62f59p+0 : 0xb.70d4369f5b4cp+0 1 : inexact-ok
+= lgamma upward dbl-64 0x9.62f59p+0 : 0xb.70d4369f5b4c8p+0 1 : inexact-ok
+= lgamma downward ldbl-96-intel 0x9.62f59p+0L : 0xb.70d4369f5b4c557p+0L 1 : inexact-ok
+= lgamma tonearest ldbl-96-intel 0x9.62f59p+0L : 0xb.70d4369f5b4c557p+0L 1 : inexact-ok
+= lgamma towardzero ldbl-96-intel 0x9.62f59p+0L : 0xb.70d4369f5b4c557p+0L 1 : inexact-ok
+= lgamma upward ldbl-96-intel 0x9.62f59p+0L : 0xb.70d4369f5b4c558p+0L 1 : inexact-ok
+= lgamma downward ldbl-96-m68k 0x9.62f59p+0L : 0xb.70d4369f5b4c557p+0L 1 : inexact-ok
+= lgamma tonearest ldbl-96-m68k 0x9.62f59p+0L : 0xb.70d4369f5b4c557p+0L 1 : inexact-ok
+= lgamma towardzero ldbl-96-m68k 0x9.62f59p+0L : 0xb.70d4369f5b4c557p+0L 1 : inexact-ok
+= lgamma upward ldbl-96-m68k 0x9.62f59p+0L : 0xb.70d4369f5b4c558p+0L 1 : inexact-ok
+= lgamma downward ldbl-128 0x9.62f59p+0L : 0xb.70d4369f5b4c5572c84c32a2219p+0L 1 : inexact-ok
+= lgamma tonearest ldbl-128 0x9.62f59p+0L : 0xb.70d4369f5b4c5572c84c32a22198p+0L 1 : inexact-ok
+= lgamma towardzero ldbl-128 0x9.62f59p+0L : 0xb.70d4369f5b4c5572c84c32a2219p+0L 1 : inexact-ok
+= lgamma upward ldbl-128 0x9.62f59p+0L : 0xb.70d4369f5b4c5572c84c32a22198p+0L 1 : inexact-ok
+= lgamma downward ldbl-128ibm 0x9.62f59p+0L : 0xb.70d4369f5b4c5572c84c32a22p+0L 1 : inexact-ok
+= lgamma tonearest ldbl-128ibm 0x9.62f59p+0L : 0xb.70d4369f5b4c5572c84c32a22p+0L 1 : inexact-ok
+= lgamma towardzero ldbl-128ibm 0x9.62f59p+0L : 0xb.70d4369f5b4c5572c84c32a22p+0L 1 : inexact-ok
+= lgamma upward ldbl-128ibm 0x9.62f59p+0L : 0xb.70d4369f5b4c5572c84c32a224p+0L 1 : inexact-ok
+lgamma 0xa.d55d6b4d78e28p+0
+= lgamma downward flt-32 0xa.d55d7p+0f : 0xe.b6cd6p+0f 1 : inexact-ok
+= lgamma tonearest flt-32 0xa.d55d7p+0f : 0xe.b6cd6p+0f 1 : inexact-ok
+= lgamma towardzero flt-32 0xa.d55d7p+0f : 0xe.b6cd6p+0f 1 : inexact-ok
+= lgamma upward flt-32 0xa.d55d7p+0f : 0xe.b6cd7p+0f 1 : inexact-ok
+= lgamma downward dbl-64 0xa.d55d7p+0 : 0xe.b6cd62d45ad4p+0 1 : inexact-ok
+= lgamma tonearest dbl-64 0xa.d55d7p+0 : 0xe.b6cd62d45ad4p+0 1 : inexact-ok
+= lgamma towardzero dbl-64 0xa.d55d7p+0 : 0xe.b6cd62d45ad4p+0 1 : inexact-ok
+= lgamma upward dbl-64 0xa.d55d7p+0 : 0xe.b6cd62d45ad48p+0 1 : inexact-ok
+= lgamma downward ldbl-96-intel 0xa.d55d7p+0L : 0xe.b6cd62d45ad40ddp+0L 1 : inexact-ok
+= lgamma tonearest ldbl-96-intel 0xa.d55d7p+0L : 0xe.b6cd62d45ad40ddp+0L 1 : inexact-ok
+= lgamma towardzero ldbl-96-intel 0xa.d55d7p+0L : 0xe.b6cd62d45ad40ddp+0L 1 : inexact-ok
+= lgamma upward ldbl-96-intel 0xa.d55d7p+0L : 0xe.b6cd62d45ad40dep+0L 1 : inexact-ok
+= lgamma downward ldbl-96-m68k 0xa.d55d7p+0L : 0xe.b6cd62d45ad40ddp+0L 1 : inexact-ok
+= lgamma tonearest ldbl-96-m68k 0xa.d55d7p+0L : 0xe.b6cd62d45ad40ddp+0L 1 : inexact-ok
+= lgamma towardzero ldbl-96-m68k 0xa.d55d7p+0L : 0xe.b6cd62d45ad40ddp+0L 1 : inexact-ok
+= lgamma upward ldbl-96-m68k 0xa.d55d7p+0L : 0xe.b6cd62d45ad40dep+0L 1 : inexact-ok
+= lgamma downward ldbl-128 0xa.d55d7p+0L : 0xe.b6cd62d45ad40dd2814b1697eb68p+0L 1 : inexact-ok
+= lgamma tonearest ldbl-128 0xa.d55d7p+0L : 0xe.b6cd62d45ad40dd2814b1697eb7p+0L 1 : inexact-ok
+= lgamma towardzero ldbl-128 0xa.d55d7p+0L : 0xe.b6cd62d45ad40dd2814b1697eb68p+0L 1 : inexact-ok
+= lgamma upward ldbl-128 0xa.d55d7p+0L : 0xe.b6cd62d45ad40dd2814b1697eb7p+0L 1 : inexact-ok
+= lgamma downward ldbl-128ibm 0xa.d55d7p+0L : 0xe.b6cd62d45ad40dd2814b1697e8p+0L 1 : inexact-ok
+= lgamma tonearest ldbl-128ibm 0xa.d55d7p+0L : 0xe.b6cd62d45ad40dd2814b1697ecp+0L 1 : inexact-ok
+= lgamma towardzero ldbl-128ibm 0xa.d55d7p+0L : 0xe.b6cd62d45ad40dd2814b1697e8p+0L 1 : inexact-ok
+= lgamma upward ldbl-128ibm 0xa.d55d7p+0L : 0xe.b6cd62d45ad40dd2814b1697ecp+0L 1 : inexact-ok
+= lgamma downward flt-32 0xa.d55d6p+0f : 0xe.b6cd3p+0f 1 : inexact-ok
+= lgamma tonearest flt-32 0xa.d55d6p+0f : 0xe.b6cd4p+0f 1 : inexact-ok
+= lgamma towardzero flt-32 0xa.d55d6p+0f : 0xe.b6cd3p+0f 1 : inexact-ok
+= lgamma upward flt-32 0xa.d55d6p+0f : 0xe.b6cd4p+0f 1 : inexact-ok
+= lgamma downward dbl-64 0xa.d55d6p+0 : 0xe.b6cd3d7503bep+0 1 : inexact-ok
+= lgamma tonearest dbl-64 0xa.d55d6p+0 : 0xe.b6cd3d7503be8p+0 1 : inexact-ok
+= lgamma towardzero dbl-64 0xa.d55d6p+0 : 0xe.b6cd3d7503bep+0 1 : inexact-ok
+= lgamma upward dbl-64 0xa.d55d6p+0 : 0xe.b6cd3d7503be8p+0 1 : inexact-ok
+= lgamma downward ldbl-96-intel 0xa.d55d6p+0L : 0xe.b6cd3d7503be73bp+0L 1 : inexact-ok
+= lgamma tonearest ldbl-96-intel 0xa.d55d6p+0L : 0xe.b6cd3d7503be73bp+0L 1 : inexact-ok
+= lgamma towardzero ldbl-96-intel 0xa.d55d6p+0L : 0xe.b6cd3d7503be73bp+0L 1 : inexact-ok
+= lgamma upward ldbl-96-intel 0xa.d55d6p+0L : 0xe.b6cd3d7503be73cp+0L 1 : inexact-ok
+= lgamma downward ldbl-96-m68k 0xa.d55d6p+0L : 0xe.b6cd3d7503be73bp+0L 1 : inexact-ok
+= lgamma tonearest ldbl-96-m68k 0xa.d55d6p+0L : 0xe.b6cd3d7503be73bp+0L 1 : inexact-ok
+= lgamma towardzero ldbl-96-m68k 0xa.d55d6p+0L : 0xe.b6cd3d7503be73bp+0L 1 : inexact-ok
+= lgamma upward ldbl-96-m68k 0xa.d55d6p+0L : 0xe.b6cd3d7503be73cp+0L 1 : inexact-ok
+= lgamma downward ldbl-128 0xa.d55d6p+0L : 0xe.b6cd3d7503be73b09b5064553898p+0L 1 : inexact-ok
+= lgamma tonearest ldbl-128 0xa.d55d6p+0L : 0xe.b6cd3d7503be73b09b5064553898p+0L 1 : inexact-ok
+= lgamma towardzero ldbl-128 0xa.d55d6p+0L : 0xe.b6cd3d7503be73b09b5064553898p+0L 1 : inexact-ok
+= lgamma upward ldbl-128 0xa.d55d6p+0L : 0xe.b6cd3d7503be73b09b50645538ap+0L 1 : inexact-ok
+= lgamma downward ldbl-128ibm 0xa.d55d6p+0L : 0xe.b6cd3d7503be73b09b50645538p+0L 1 : inexact-ok
+= lgamma tonearest ldbl-128ibm 0xa.d55d6p+0L : 0xe.b6cd3d7503be73b09b50645538p+0L 1 : inexact-ok
+= lgamma towardzero ldbl-128ibm 0xa.d55d6p+0L : 0xe.b6cd3d7503be73b09b50645538p+0L 1 : inexact-ok
+= lgamma upward ldbl-128ibm 0xa.d55d6p+0L : 0xe.b6cd3d7503be73b09b5064553cp+0L 1 : inexact-ok
+= lgamma downward dbl-64 0xa.d55d6b4d78e28p+0 : 0xe.b6cd57db84c98p+0 1 : inexact-ok
+= lgamma tonearest dbl-64 0xa.d55d6b4d78e28p+0 : 0xe.b6cd57db84cap+0 1 : inexact-ok
+= lgamma towardzero dbl-64 0xa.d55d6b4d78e28p+0 : 0xe.b6cd57db84c98p+0 1 : inexact-ok
+= lgamma upward dbl-64 0xa.d55d6b4d78e28p+0 : 0xe.b6cd57db84cap+0 1 : inexact-ok
+= lgamma downward ldbl-96-intel 0xa.d55d6b4d78e28p+0L : 0xe.b6cd57db84c9ef4p+0L 1 : inexact-ok
+= lgamma tonearest ldbl-96-intel 0xa.d55d6b4d78e28p+0L : 0xe.b6cd57db84c9ef4p+0L 1 : inexact-ok
+= lgamma towardzero ldbl-96-intel 0xa.d55d6b4d78e28p+0L : 0xe.b6cd57db84c9ef4p+0L 1 : inexact-ok
+= lgamma upward ldbl-96-intel 0xa.d55d6b4d78e28p+0L : 0xe.b6cd57db84c9ef5p+0L 1 : inexact-ok
+= lgamma downward ldbl-96-m68k 0xa.d55d6b4d78e28p+0L : 0xe.b6cd57db84c9ef4p+0L 1 : inexact-ok
+= lgamma tonearest ldbl-96-m68k 0xa.d55d6b4d78e28p+0L : 0xe.b6cd57db84c9ef4p+0L 1 : inexact-ok
+= lgamma towardzero ldbl-96-m68k 0xa.d55d6b4d78e28p+0L : 0xe.b6cd57db84c9ef4p+0L 1 : inexact-ok
+= lgamma upward ldbl-96-m68k 0xa.d55d6b4d78e28p+0L : 0xe.b6cd57db84c9ef5p+0L 1 : inexact-ok
+= lgamma downward ldbl-128 0xa.d55d6b4d78e28p+0L : 0xe.b6cd57db84c9ef437a5fd131a98p+0L 1 : inexact-ok
+= lgamma tonearest ldbl-128 0xa.d55d6b4d78e28p+0L : 0xe.b6cd57db84c9ef437a5fd131a98p+0L 1 : inexact-ok
+= lgamma towardzero ldbl-128 0xa.d55d6b4d78e28p+0L : 0xe.b6cd57db84c9ef437a5fd131a98p+0L 1 : inexact-ok
+= lgamma upward ldbl-128 0xa.d55d6b4d78e28p+0L : 0xe.b6cd57db84c9ef437a5fd131a988p+0L 1 : inexact-ok
+= lgamma downward ldbl-128ibm 0xa.d55d6b4d78e28p+0L : 0xe.b6cd57db84c9ef437a5fd131a8p+0L 1 : inexact-ok
+= lgamma tonearest ldbl-128ibm 0xa.d55d6b4d78e28p+0L : 0xe.b6cd57db84c9ef437a5fd131a8p+0L 1 : inexact-ok
+= lgamma towardzero ldbl-128ibm 0xa.d55d6b4d78e28p+0L : 0xe.b6cd57db84c9ef437a5fd131a8p+0L 1 : inexact-ok
+= lgamma upward ldbl-128ibm 0xa.d55d6b4d78e28p+0L : 0xe.b6cd57db84c9ef437a5fd131acp+0L 1 : inexact-ok
+lgamma 0x8.d6315p+0
+= lgamma downward flt-32 0x8.d6315p+0f : 0xa.41affp+0f 1 : inexact-ok
+= lgamma tonearest flt-32 0x8.d6315p+0f : 0xa.41bp+0f 1 : inexact-ok
+= lgamma towardzero flt-32 0x8.d6315p+0f : 0xa.41affp+0f 1 : inexact-ok
+= lgamma upward flt-32 0x8.d6315p+0f : 0xa.41bp+0f 1 : inexact-ok
+= lgamma downward dbl-64 0x8.d6315p+0 : 0xa.41afffa8a98e8p+0 1 : inexact-ok
+= lgamma tonearest dbl-64 0x8.d6315p+0 : 0xa.41afffa8a98e8p+0 1 : inexact-ok
+= lgamma towardzero dbl-64 0x8.d6315p+0 : 0xa.41afffa8a98e8p+0 1 : inexact-ok
+= lgamma upward dbl-64 0x8.d6315p+0 : 0xa.41afffa8a98fp+0 1 : inexact-ok
+= lgamma downward ldbl-96-intel 0x8.d6315p+0L : 0xa.41afffa8a98e845p+0L 1 : inexact-ok
+= lgamma tonearest ldbl-96-intel 0x8.d6315p+0L : 0xa.41afffa8a98e845p+0L 1 : inexact-ok
+= lgamma towardzero ldbl-96-intel 0x8.d6315p+0L : 0xa.41afffa8a98e845p+0L 1 : inexact-ok
+= lgamma upward ldbl-96-intel 0x8.d6315p+0L : 0xa.41afffa8a98e846p+0L 1 : inexact-ok
+= lgamma downward ldbl-96-m68k 0x8.d6315p+0L : 0xa.41afffa8a98e845p+0L 1 : inexact-ok
+= lgamma tonearest ldbl-96-m68k 0x8.d6315p+0L : 0xa.41afffa8a98e845p+0L 1 : inexact-ok
+= lgamma towardzero ldbl-96-m68k 0x8.d6315p+0L : 0xa.41afffa8a98e845p+0L 1 : inexact-ok
+= lgamma upward ldbl-96-m68k 0x8.d6315p+0L : 0xa.41afffa8a98e846p+0L 1 : inexact-ok
+= lgamma downward ldbl-128 0x8.d6315p+0L : 0xa.41afffa8a98e8455472818ee093p+0L 1 : inexact-ok
+= lgamma tonearest ldbl-128 0x8.d6315p+0L : 0xa.41afffa8a98e8455472818ee0938p+0L 1 : inexact-ok
+= lgamma towardzero ldbl-128 0x8.d6315p+0L : 0xa.41afffa8a98e8455472818ee093p+0L 1 : inexact-ok
+= lgamma upward ldbl-128 0x8.d6315p+0L : 0xa.41afffa8a98e8455472818ee0938p+0L 1 : inexact-ok
+= lgamma downward ldbl-128ibm 0x8.d6315p+0L : 0xa.41afffa8a98e8455472818ee08p+0L 1 : inexact-ok
+= lgamma tonearest ldbl-128ibm 0x8.d6315p+0L : 0xa.41afffa8a98e8455472818ee08p+0L 1 : inexact-ok
+= lgamma towardzero ldbl-128ibm 0x8.d6315p+0L : 0xa.41afffa8a98e8455472818ee08p+0L 1 : inexact-ok
+= lgamma upward ldbl-128ibm 0x8.d6315p+0L : 0xa.41afffa8a98e8455472818ee0cp+0L 1 : inexact-ok
+lgamma 0xb.2e679p+0
+= lgamma downward flt-32 0xb.2e679p+0f : 0xf.88427p+0f 1 : inexact-ok
+= lgamma tonearest flt-32 0xb.2e679p+0f : 0xf.88427p+0f 1 : inexact-ok
+= lgamma towardzero flt-32 0xb.2e679p+0f : 0xf.88427p+0f 1 : inexact-ok
+= lgamma upward flt-32 0xb.2e679p+0f : 0xf.88428p+0f 1 : inexact-ok
+= lgamma downward dbl-64 0xb.2e679p+0 : 0xf.8842748a38e78p+0 1 : inexact-ok
+= lgamma tonearest dbl-64 0xb.2e679p+0 : 0xf.8842748a38e78p+0 1 : inexact-ok
+= lgamma towardzero dbl-64 0xb.2e679p+0 : 0xf.8842748a38e78p+0 1 : inexact-ok
+= lgamma upward dbl-64 0xb.2e679p+0 : 0xf.8842748a38e8p+0 1 : inexact-ok
+= lgamma downward ldbl-96-intel 0xb.2e679p+0L : 0xf.8842748a38e7a7p+0L 1 : inexact-ok
+= lgamma tonearest ldbl-96-intel 0xb.2e679p+0L : 0xf.8842748a38e7a7p+0L 1 : inexact-ok
+= lgamma towardzero ldbl-96-intel 0xb.2e679p+0L : 0xf.8842748a38e7a7p+0L 1 : inexact-ok
+= lgamma upward ldbl-96-intel 0xb.2e679p+0L : 0xf.8842748a38e7a71p+0L 1 : inexact-ok
+= lgamma downward ldbl-96-m68k 0xb.2e679p+0L : 0xf.8842748a38e7a7p+0L 1 : inexact-ok
+= lgamma tonearest ldbl-96-m68k 0xb.2e679p+0L : 0xf.8842748a38e7a7p+0L 1 : inexact-ok
+= lgamma towardzero ldbl-96-m68k 0xb.2e679p+0L : 0xf.8842748a38e7a7p+0L 1 : inexact-ok
+= lgamma upward ldbl-96-m68k 0xb.2e679p+0L : 0xf.8842748a38e7a71p+0L 1 : inexact-ok
+= lgamma downward ldbl-128 0xb.2e679p+0L : 0xf.8842748a38e7a706e0144479dfc8p+0L 1 : inexact-ok
+= lgamma tonearest ldbl-128 0xb.2e679p+0L : 0xf.8842748a38e7a706e0144479dfc8p+0L 1 : inexact-ok
+= lgamma towardzero ldbl-128 0xb.2e679p+0L : 0xf.8842748a38e7a706e0144479dfc8p+0L 1 : inexact-ok
+= lgamma upward ldbl-128 0xb.2e679p+0L : 0xf.8842748a38e7a706e0144479dfdp+0L 1 : inexact-ok
+= lgamma downward ldbl-128ibm 0xb.2e679p+0L : 0xf.8842748a38e7a706e0144479dcp+0L 1 : inexact-ok
+= lgamma tonearest ldbl-128ibm 0xb.2e679p+0L : 0xf.8842748a38e7a706e0144479ep+0L 1 : inexact-ok
+= lgamma towardzero ldbl-128ibm 0xb.2e679p+0L : 0xf.8842748a38e7a706e0144479dcp+0L 1 : inexact-ok
+= lgamma upward ldbl-128ibm 0xb.2e679p+0L : 0xf.8842748a38e7a706e0144479ep+0L 1 : inexact-ok
+lgamma 0xb.01191p+0
+= lgamma downward flt-32 0xb.01191p+0f : 0xf.1d4fdp+0f 1 : inexact-ok
+= lgamma tonearest flt-32 0xb.01191p+0f : 0xf.1d4fdp+0f 1 : inexact-ok
+= lgamma towardzero flt-32 0xb.01191p+0f : 0xf.1d4fdp+0f 1 : inexact-ok
+= lgamma upward flt-32 0xb.01191p+0f : 0xf.1d4fep+0f 1 : inexact-ok
+= lgamma downward dbl-64 0xb.01191p+0 : 0xf.1d4fd446695dp+0 1 : inexact-ok
+= lgamma tonearest dbl-64 0xb.01191p+0 : 0xf.1d4fd446695d8p+0 1 : inexact-ok
+= lgamma towardzero dbl-64 0xb.01191p+0 : 0xf.1d4fd446695dp+0 1 : inexact-ok
+= lgamma upward dbl-64 0xb.01191p+0 : 0xf.1d4fd446695d8p+0 1 : inexact-ok
+= lgamma downward ldbl-96-intel 0xb.01191p+0L : 0xf.1d4fd446695d45fp+0L 1 : inexact-ok
+= lgamma tonearest ldbl-96-intel 0xb.01191p+0L : 0xf.1d4fd446695d45fp+0L 1 : inexact-ok
+= lgamma towardzero ldbl-96-intel 0xb.01191p+0L : 0xf.1d4fd446695d45fp+0L 1 : inexact-ok
+= lgamma upward ldbl-96-intel 0xb.01191p+0L : 0xf.1d4fd446695d46p+0L 1 : inexact-ok
+= lgamma downward ldbl-96-m68k 0xb.01191p+0L : 0xf.1d4fd446695d45fp+0L 1 : inexact-ok
+= lgamma tonearest ldbl-96-m68k 0xb.01191p+0L : 0xf.1d4fd446695d45fp+0L 1 : inexact-ok
+= lgamma towardzero ldbl-96-m68k 0xb.01191p+0L : 0xf.1d4fd446695d45fp+0L 1 : inexact-ok
+= lgamma upward ldbl-96-m68k 0xb.01191p+0L : 0xf.1d4fd446695d46p+0L 1 : inexact-ok
+= lgamma downward ldbl-128 0xb.01191p+0L : 0xf.1d4fd446695d45f71085f9be186p+0L 1 : inexact-ok
+= lgamma tonearest ldbl-128 0xb.01191p+0L : 0xf.1d4fd446695d45f71085f9be1868p+0L 1 : inexact-ok
+= lgamma towardzero ldbl-128 0xb.01191p+0L : 0xf.1d4fd446695d45f71085f9be186p+0L 1 : inexact-ok
+= lgamma upward ldbl-128 0xb.01191p+0L : 0xf.1d4fd446695d45f71085f9be1868p+0L 1 : inexact-ok
+= lgamma downward ldbl-128ibm 0xb.01191p+0L : 0xf.1d4fd446695d45f71085f9be18p+0L 1 : inexact-ok
+= lgamma tonearest ldbl-128ibm 0xb.01191p+0L : 0xf.1d4fd446695d45f71085f9be18p+0L 1 : inexact-ok
+= lgamma towardzero ldbl-128ibm 0xb.01191p+0L : 0xf.1d4fd446695d45f71085f9be18p+0L 1 : inexact-ok
+= lgamma upward ldbl-128ibm 0xb.01191p+0L : 0xf.1d4fd446695d45f71085f9be1cp+0L 1 : inexact-ok
log 1
= log downward flt-32 0x1p+0f : 0x0p+0f : inexact-ok
= log tonearest flt-32 0x1p+0f : 0x0p+0f : inexact-ok
diff --git a/sysdeps/i386/fpu/libm-test-ulps b/sysdeps/i386/fpu/libm-test-ulps
index ae64aae..b13b574 100644
--- a/sysdeps/i386/fpu/libm-test-ulps
+++ b/sysdeps/i386/fpu/libm-test-ulps
@@ -1438,32 +1438,32 @@ double: 1
float: 1
idouble: 1
ifloat: 1
-ildouble: 1
-ldouble: 1
+ildouble: 2
+ldouble: 2
Function: "gamma_downward":
double: 2
float: 2
idouble: 2
ifloat: 2
-ildouble: 3
-ldouble: 3
+ildouble: 5
+ldouble: 5
Function: "gamma_towardzero":
double: 2
float: 2
idouble: 2
ifloat: 2
-ildouble: 2
-ldouble: 2
+ildouble: 5
+ldouble: 5
Function: "gamma_upward":
double: 2
float: 3
idouble: 2
ifloat: 3
-ildouble: 2
-ldouble: 2
+ildouble: 4
+ldouble: 4
Function: "hypot":
ildouble: 1
@@ -1564,32 +1564,32 @@ double: 1
float: 1
idouble: 1
ifloat: 1
-ildouble: 1
-ldouble: 1
+ildouble: 2
+ldouble: 2
Function: "lgamma_downward":
double: 2
float: 2
idouble: 2
ifloat: 2
-ildouble: 3
-ldouble: 3
+ildouble: 5
+ldouble: 5
Function: "lgamma_towardzero":
double: 2
float: 2
idouble: 2
ifloat: 2
-ildouble: 2
-ldouble: 2
+ildouble: 5
+ldouble: 5
Function: "lgamma_upward":
double: 2
float: 3
idouble: 2
ifloat: 3
-ildouble: 2
-ldouble: 2
+ildouble: 4
+ldouble: 4
Function: "log":
ildouble: 1
diff --git a/sysdeps/x86_64/fpu/libm-test-ulps b/sysdeps/x86_64/fpu/libm-test-ulps
index f0ece1e..3b342d6 100644
--- a/sysdeps/x86_64/fpu/libm-test-ulps
+++ b/sysdeps/x86_64/fpu/libm-test-ulps
@@ -1536,36 +1536,36 @@ ildouble: 4
ldouble: 4
Function: "gamma":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: "gamma_downward":
double: 2
-float: 1
+float: 2
idouble: 2
-ifloat: 1
-ildouble: 3
-ldouble: 3
-
-Function: "gamma_towardzero":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
+ifloat: 2
ildouble: 2
ldouble: 2
+Function: "gamma_downward":
+double: 4
+float: 3
+idouble: 4
+ifloat: 3
+ildouble: 5
+ldouble: 5
+
+Function: "gamma_towardzero":
+double: 4
+float: 3
+idouble: 4
+ifloat: 3
+ildouble: 5
+ldouble: 5
+
Function: "gamma_upward":
-double: 1
+double: 3
float: 3
-idouble: 1
+idouble: 3
ifloat: 3
-ildouble: 2
-ldouble: 2
+ildouble: 4
+ldouble: 4
Function: "hypot":
double: 1
@@ -1664,36 +1664,36 @@ ildouble: 4
ldouble: 4
Function: "lgamma":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: "lgamma_downward":
double: 2
-float: 1
+float: 2
idouble: 2
-ifloat: 1
-ildouble: 3
-ldouble: 3
-
-Function: "lgamma_towardzero":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
+ifloat: 2
ildouble: 2
ldouble: 2
+Function: "lgamma_downward":
+double: 4
+float: 3
+idouble: 4
+ifloat: 3
+ildouble: 5
+ldouble: 5
+
+Function: "lgamma_towardzero":
+double: 4
+float: 3
+idouble: 4
+ifloat: 3
+ildouble: 5
+ldouble: 5
+
Function: "lgamma_upward":
-double: 1
+double: 3
float: 3
-idouble: 1
+idouble: 3
ifloat: 3
-ildouble: 2
-ldouble: 2
+ildouble: 4
+ldouble: 4
Function: "log":
float: 1