about summary refs log tree commit diff
diff options
context:
space:
mode:
-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 dc248f731b..77ce468046 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 7a8a67b941..caf3c93a0e 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 8b6e1483e9..a99be4a791 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 ae64aae026..b13b5742cb 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 f0ece1eaa2..3b342d69bb 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