about summary refs log tree commit diff
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2015-10-01 17:15:54 +0000
committerJoseph Myers <joseph@codesourcery.com>2015-10-01 17:15:54 +0000
commit4b84e2471b5f0c9197073395eb77843c6f23e790 (patch)
tree46351643320a86d5bfcdd04a89175e5934ecb65c
parente27fcd027cbdc2f13bf440177c0434eb9ec3dd28 (diff)
downloadglibc-4b84e2471b5f0c9197073395eb77843c6f23e790.tar.gz
glibc-4b84e2471b5f0c9197073395eb77843c6f23e790.tar.xz
glibc-4b84e2471b5f0c9197073395eb77843c6f23e790.zip
Fix ldbl-128 / ldbl-128ibm lgamma overflow handling (bug 16347, bug 19046).
The ldbl-128 / ldbl-128ibm implementation of lgamma has problems with
its handling of large arguments.  It has an overflow threshold that is
correct only for ldbl-128, despite being used for both types - with
diagnostic control macros as a temporary measure to disable warnings
about that constant overflowing for ldbl-128ibm - and it has a
calculation that's roughly x * log(x) - x, resulting in overflows for
arguments that are roughly at most a factor 1/log(threshold) below the
overflow threshold.

This patch fixes both issues, using an overflow threshold appropriate
for the type in question and adding another case for large arguments
that avoids the possible intermediate overflow.

Tested for x86_64, x86, mips64 and powerpc.

	[BZ #16347]
	[BZ #19046]
	* sysdeps/ieee754/ldbl-128/e_lgammal_r.c: Do not include
	<libc-internal.h>.
	(MAXLGM): Do not use diagnostic control macros.
	[LDBL_MANT_DIG == 106] (MAXLGM): Change value to overflow
	threshold for ldbl-128ibm.
	(__ieee754_lgammal_r): For large arguments, multiply by log - 1
	instead of multiplying by log then subtracting.
	* math/auto-libm-test-in: Add more tests of lgamma.
	* math/auto-libm-test-out: Regenerated.
-rw-r--r--ChangeLog12
-rw-r--r--NEWS16
-rw-r--r--math/auto-libm-test-in18
-rw-r--r--math/auto-libm-test-out642
-rw-r--r--sysdeps/ieee754/ldbl-128/e_lgammal_r.c13
5 files changed, 686 insertions, 15 deletions
diff --git a/ChangeLog b/ChangeLog
index 6da0652f4e..6e059497c3 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,17 @@
 2015-10-01  Joseph Myers  <joseph@codesourcery.com>
 
+	[BZ #16347]
+	[BZ #19046]
+	* sysdeps/ieee754/ldbl-128/e_lgammal_r.c: Do not include
+	<libc-internal.h>.
+	(MAXLGM): Do not use diagnostic control macros.
+	[LDBL_MANT_DIG == 106] (MAXLGM): Change value to overflow
+	threshold for ldbl-128ibm.
+	(__ieee754_lgammal_r): For large arguments, multiply by log - 1
+	instead of multiplying by log then subtracting.
+	* math/auto-libm-test-in: Add more tests of lgamma.
+	* math/auto-libm-test-out: Regenerated.
+
 	* math/libm-test.inc (TYPE_DECIMAL_DIG): New macro.
 	(TYPE_HEX_DIG): Likewise.
 	(print_float): Use TYPE_DECIMAL_DIG - 1 and TYPE_HEX_DIG - 1 as
diff --git a/NEWS b/NEWS
index 06df4b2b54..e8b59a4676 100644
--- a/NEWS
+++ b/NEWS
@@ -10,14 +10,14 @@ Version 2.23
 * The following bugs are resolved with this release:
 
   2542, 2543, 2558, 2898, 4404, 6803, 14341, 14912, 15367, 15384, 15786,
-  15918, 16141, 16296, 16415, 16517, 16519, 16520, 16521, 16620, 16734,
-  16973, 16985, 17118, 17243, 17244, 17250, 17441, 17787, 17886, 17887,
-  17905, 18084, 18086, 18240, 18265, 18370, 18421, 18480, 18525, 18595,
-  18610, 18618, 18647, 18661, 18674, 18675, 18681, 18757, 18778, 18781,
-  18787, 18789, 18790, 18795, 18796, 18803, 18820, 18823, 18824, 18825,
-  18857, 18863, 18870, 18872, 18873, 18875, 18887, 18921, 18951, 18952,
-  18956, 18961, 18966, 18967, 18969, 18970, 18977, 18980, 18981, 18985,
-  19003, 19016, 19032.
+  15918, 16141, 16296, 16347, 16415, 16517, 16519, 16520, 16521, 16620,
+  16734, 16973, 16985, 17118, 17243, 17244, 17250, 17441, 17787, 17886,
+  17887, 17905, 18084, 18086, 18240, 18265, 18370, 18421, 18480, 18525,
+  18595, 18610, 18618, 18647, 18661, 18674, 18675, 18681, 18757, 18778,
+  18781, 18787, 18789, 18790, 18795, 18796, 18803, 18820, 18823, 18824,
+  18825, 18857, 18863, 18870, 18872, 18873, 18875, 18887, 18921, 18951,
+  18952, 18956, 18961, 18966, 18967, 18969, 18970, 18977, 18980, 18981,
+  18985, 19003, 19016, 19032, 19046.
 
 * The obsolete header <regexp.h> has been removed.  Programs that require
   this header must be updated to use <regex.h> instead.
diff --git a/math/auto-libm-test-in b/math/auto-libm-test-in
index 25d6b9df16..3399be1a64 100644
--- a/math/auto-libm-test-in
+++ b/math/auto-libm-test-in
@@ -2505,6 +2505,24 @@ lgamma -0x1p-16445
 lgamma 0x1p-16494
 lgamma -0x1p-16494
 
+# Values +/- 10ulp from overflow threshold.  (Values very close to
+# overflow threshold produce results very close of that threshold,
+# where a result inaccurate by a few ulp could differ from the ideal
+# result in whether it overflows; +/- 10ulp is sufficient for overflow
+# or its absence to be unambiguous under glibc's accuracy standards).
+# This also means the ldbl-128ibm inputs are XFAILed for dbl-64 and
+# the ldbl-128 inputs for ldbl-96, as too close to the threshold.
+lgamma 0x3.12be0cp+120
+lgamma 0x3.12be6p+120
+lgamma 0x5.d53649e2d4674p+1012
+lgamma 0x5.d53649e2d46c8p+1012
+lgamma 0x5.d53649e2d469dbc1f01e99fd52p+1012 xfail:dbl-64
+lgamma 0x5.d53649e2d469dbc1f01e99fd7cp+1012 xfail:dbl-64
+lgamma 0x5.c6aa645fffef5f5p+16368
+lgamma 0x5.c6aa645fffef5ff8p+16368
+lgamma 0x5.c6aa645fffef5fa912b9b480f7acp+16368 xfail:ldbl-96-intel xfail:ldbl-96-m68k
+lgamma 0x5.c6aa645fffef5fa912b9b480f8p+16368 xfail:ldbl-96-intel xfail:ldbl-96-m68k
+
 lgamma -0x1.fa471547c2fe5p+1
 lgamma -0x1.9260dcp+1
 
diff --git a/math/auto-libm-test-out b/math/auto-libm-test-out
index 95fef39fff..07b1572426 100644
--- a/math/auto-libm-test-out
+++ b/math/auto-libm-test-out
@@ -183238,6 +183238,648 @@ 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 0x3.12be0cp+120
+= lgamma downward flt-32 0x3.12be0cp+120f : 0xf.ffff1p+124f 1 : inexact-ok
+= lgamma tonearest flt-32 0x3.12be0cp+120f : 0xf.ffff1p+124f 1 : inexact-ok
+= lgamma towardzero flt-32 0x3.12be0cp+120f : 0xf.ffff1p+124f 1 : inexact-ok
+= lgamma upward flt-32 0x3.12be0cp+120f : 0xf.ffff2p+124f 1 : inexact-ok
+= lgamma downward dbl-64 0x3.12be0cp+120 : 0xf.ffff142236928p+124 1 : inexact-ok
+= lgamma tonearest dbl-64 0x3.12be0cp+120 : 0xf.ffff142236928p+124 1 : inexact-ok
+= lgamma towardzero dbl-64 0x3.12be0cp+120 : 0xf.ffff142236928p+124 1 : inexact-ok
+= lgamma upward dbl-64 0x3.12be0cp+120 : 0xf.ffff14223693p+124 1 : inexact-ok
+= lgamma downward ldbl-96-intel 0x3.12be0cp+120L : 0xf.ffff14223692bc3p+124L 1 : inexact-ok
+= lgamma tonearest ldbl-96-intel 0x3.12be0cp+120L : 0xf.ffff14223692bc4p+124L 1 : inexact-ok
+= lgamma towardzero ldbl-96-intel 0x3.12be0cp+120L : 0xf.ffff14223692bc3p+124L 1 : inexact-ok
+= lgamma upward ldbl-96-intel 0x3.12be0cp+120L : 0xf.ffff14223692bc4p+124L 1 : inexact-ok
+= lgamma downward ldbl-96-m68k 0x3.12be0cp+120L : 0xf.ffff14223692bc3p+124L 1 : inexact-ok
+= lgamma tonearest ldbl-96-m68k 0x3.12be0cp+120L : 0xf.ffff14223692bc4p+124L 1 : inexact-ok
+= lgamma towardzero ldbl-96-m68k 0x3.12be0cp+120L : 0xf.ffff14223692bc3p+124L 1 : inexact-ok
+= lgamma upward ldbl-96-m68k 0x3.12be0cp+120L : 0xf.ffff14223692bc4p+124L 1 : inexact-ok
+= lgamma downward ldbl-128 0x3.12be0cp+120L : 0xf.ffff14223692bc3c374a35f59b5p+124L 1 : inexact-ok
+= lgamma tonearest ldbl-128 0x3.12be0cp+120L : 0xf.ffff14223692bc3c374a35f59b5p+124L 1 : inexact-ok
+= lgamma towardzero ldbl-128 0x3.12be0cp+120L : 0xf.ffff14223692bc3c374a35f59b5p+124L 1 : inexact-ok
+= lgamma upward ldbl-128 0x3.12be0cp+120L : 0xf.ffff14223692bc3c374a35f59b58p+124L 1 : inexact-ok
+= lgamma downward ldbl-128ibm 0x3.12be0cp+120L : 0xf.ffff14223692bc3c374a35f598p+124L 1 : inexact-ok
+= lgamma tonearest ldbl-128ibm 0x3.12be0cp+120L : 0xf.ffff14223692bc3c374a35f59cp+124L 1 : inexact-ok
+= lgamma towardzero ldbl-128ibm 0x3.12be0cp+120L : 0xf.ffff14223692bc3c374a35f598p+124L 1 : inexact-ok
+= lgamma upward ldbl-128ibm 0x3.12be0cp+120L : 0xf.ffff14223692bc3c374a35f59cp+124L 1 : inexact-ok
+lgamma 0x3.12be6p+120
+= lgamma downward flt-32 0x3.12be6p+120f : 0xf.fffffp+124f 1 : inexact-ok overflow errno-erange-ok
+= lgamma tonearest flt-32 0x3.12be6p+120f : plus_infty 1 : inexact-ok overflow errno-erange
+= lgamma towardzero flt-32 0x3.12be6p+120f : 0xf.fffffp+124f 1 : inexact-ok overflow errno-erange-ok
+= lgamma upward flt-32 0x3.12be6p+120f : plus_infty 1 : inexact-ok overflow errno-erange
+= lgamma downward dbl-64 0x3.12be6p+120 : 0x1.00000ceb5ee8ap+128 1 : inexact-ok
+= lgamma tonearest dbl-64 0x3.12be6p+120 : 0x1.00000ceb5ee8ap+128 1 : inexact-ok
+= lgamma towardzero dbl-64 0x3.12be6p+120 : 0x1.00000ceb5ee8ap+128 1 : inexact-ok
+= lgamma upward dbl-64 0x3.12be6p+120 : 0x1.00000ceb5ee8bp+128 1 : inexact-ok
+= lgamma downward ldbl-96-intel 0x3.12be6p+120L : 0x1.00000ceb5ee8a07p+128L 1 : inexact-ok
+= lgamma tonearest ldbl-96-intel 0x3.12be6p+120L : 0x1.00000ceb5ee8a07p+128L 1 : inexact-ok
+= lgamma towardzero ldbl-96-intel 0x3.12be6p+120L : 0x1.00000ceb5ee8a07p+128L 1 : inexact-ok
+= lgamma upward ldbl-96-intel 0x3.12be6p+120L : 0x1.00000ceb5ee8a072p+128L 1 : inexact-ok
+= lgamma downward ldbl-96-m68k 0x3.12be6p+120L : 0x1.00000ceb5ee8a07p+128L 1 : inexact-ok
+= lgamma tonearest ldbl-96-m68k 0x3.12be6p+120L : 0x1.00000ceb5ee8a07p+128L 1 : inexact-ok
+= lgamma towardzero ldbl-96-m68k 0x3.12be6p+120L : 0x1.00000ceb5ee8a07p+128L 1 : inexact-ok
+= lgamma upward ldbl-96-m68k 0x3.12be6p+120L : 0x1.00000ceb5ee8a072p+128L 1 : inexact-ok
+= lgamma downward ldbl-128 0x3.12be6p+120L : 0x1.00000ceb5ee8a070db2fe7db5d8fp+128L 1 : inexact-ok
+= lgamma tonearest ldbl-128 0x3.12be6p+120L : 0x1.00000ceb5ee8a070db2fe7db5d9p+128L 1 : inexact-ok
+= lgamma towardzero ldbl-128 0x3.12be6p+120L : 0x1.00000ceb5ee8a070db2fe7db5d8fp+128L 1 : inexact-ok
+= lgamma upward ldbl-128 0x3.12be6p+120L : 0x1.00000ceb5ee8a070db2fe7db5d9p+128L 1 : inexact-ok
+= lgamma downward ldbl-128ibm 0x3.12be6p+120L : 0x1.00000ceb5ee8a070db2fe7db5d8p+128L 1 : inexact-ok
+= lgamma tonearest ldbl-128ibm 0x3.12be6p+120L : 0x1.00000ceb5ee8a070db2fe7db5d8p+128L 1 : inexact-ok
+= lgamma towardzero ldbl-128ibm 0x3.12be6p+120L : 0x1.00000ceb5ee8a070db2fe7db5d8p+128L 1 : inexact-ok
+= lgamma upward ldbl-128ibm 0x3.12be6p+120L : 0x1.00000ceb5ee8a070db2fe7db5ep+128L 1 : inexact-ok
+lgamma 0x5.d53649e2d4674p+1012
+= lgamma downward flt-32 0xf.fffffp+124f : 0xf.fffffp+124f 1 : inexact-ok overflow errno-erange-ok
+= lgamma tonearest flt-32 0xf.fffffp+124f : plus_infty 1 : inexact-ok overflow errno-erange
+= lgamma towardzero flt-32 0xf.fffffp+124f : 0xf.fffffp+124f 1 : inexact-ok overflow errno-erange-ok
+= lgamma upward flt-32 0xf.fffffp+124f : plus_infty 1 : inexact-ok overflow errno-erange
+= lgamma downward dbl-64 0xf.fffffp+124 : 0x5.7b90ba32fdbcp+132 1 : inexact-ok
+= lgamma tonearest dbl-64 0xf.fffffp+124 : 0x5.7b90ba32fdbcp+132 1 : inexact-ok
+= lgamma towardzero dbl-64 0xf.fffffp+124 : 0x5.7b90ba32fdbcp+132 1 : inexact-ok
+= lgamma upward dbl-64 0xf.fffffp+124 : 0x5.7b90ba32fdbc4p+132 1 : inexact-ok
+= lgamma downward ldbl-96-intel 0xf.fffffp+124L : 0x5.7b90ba32fdbc16c8p+132L 1 : inexact-ok
+= lgamma tonearest ldbl-96-intel 0xf.fffffp+124L : 0x5.7b90ba32fdbc16dp+132L 1 : inexact-ok
+= lgamma towardzero ldbl-96-intel 0xf.fffffp+124L : 0x5.7b90ba32fdbc16c8p+132L 1 : inexact-ok
+= lgamma upward ldbl-96-intel 0xf.fffffp+124L : 0x5.7b90ba32fdbc16dp+132L 1 : inexact-ok
+= lgamma downward ldbl-96-m68k 0xf.fffffp+124L : 0x5.7b90ba32fdbc16c8p+132L 1 : inexact-ok
+= lgamma tonearest ldbl-96-m68k 0xf.fffffp+124L : 0x5.7b90ba32fdbc16dp+132L 1 : inexact-ok
+= lgamma towardzero ldbl-96-m68k 0xf.fffffp+124L : 0x5.7b90ba32fdbc16c8p+132L 1 : inexact-ok
+= lgamma upward ldbl-96-m68k 0xf.fffffp+124L : 0x5.7b90ba32fdbc16dp+132L 1 : inexact-ok
+= lgamma downward ldbl-128 0xf.fffffp+124L : 0x5.7b90ba32fdbc16cfd352e91badf8p+132L 1 : inexact-ok
+= lgamma tonearest ldbl-128 0xf.fffffp+124L : 0x5.7b90ba32fdbc16cfd352e91badfcp+132L 1 : inexact-ok
+= lgamma towardzero ldbl-128 0xf.fffffp+124L : 0x5.7b90ba32fdbc16cfd352e91badf8p+132L 1 : inexact-ok
+= lgamma upward ldbl-128 0xf.fffffp+124L : 0x5.7b90ba32fdbc16cfd352e91badfcp+132L 1 : inexact-ok
+= lgamma downward ldbl-128ibm 0xf.fffffp+124L : 0x5.7b90ba32fdbc16cfd352e91bacp+132L 1 : inexact-ok
+= lgamma tonearest ldbl-128ibm 0xf.fffffp+124L : 0x5.7b90ba32fdbc16cfd352e91baep+132L 1 : inexact-ok
+= lgamma towardzero ldbl-128ibm 0xf.fffffp+124L : 0x5.7b90ba32fdbc16cfd352e91bacp+132L 1 : inexact-ok
+= lgamma upward ldbl-128ibm 0xf.fffffp+124L : 0x5.7b90ba32fdbc16cfd352e91baep+132L 1 : inexact-ok
+= lgamma downward dbl-64 0x5.d53649e2d4674p+1012 : 0xf.fffffffffff88p+1020 1 : inexact-ok
+= lgamma tonearest dbl-64 0x5.d53649e2d4674p+1012 : 0xf.fffffffffff88p+1020 1 : inexact-ok
+= lgamma towardzero dbl-64 0x5.d53649e2d4674p+1012 : 0xf.fffffffffff88p+1020 1 : inexact-ok
+= lgamma upward dbl-64 0x5.d53649e2d4674p+1012 : 0xf.fffffffffff9p+1020 1 : inexact-ok
+= lgamma downward ldbl-96-intel 0x5.d53649e2d4674p+1012L : 0xf.fffffffffff895ap+1020L 1 : inexact-ok
+= lgamma tonearest ldbl-96-intel 0x5.d53649e2d4674p+1012L : 0xf.fffffffffff895bp+1020L 1 : inexact-ok
+= lgamma towardzero ldbl-96-intel 0x5.d53649e2d4674p+1012L : 0xf.fffffffffff895ap+1020L 1 : inexact-ok
+= lgamma upward ldbl-96-intel 0x5.d53649e2d4674p+1012L : 0xf.fffffffffff895bp+1020L 1 : inexact-ok
+= lgamma downward ldbl-96-m68k 0x5.d53649e2d4674p+1012L : 0xf.fffffffffff895ap+1020L 1 : inexact-ok
+= lgamma tonearest ldbl-96-m68k 0x5.d53649e2d4674p+1012L : 0xf.fffffffffff895bp+1020L 1 : inexact-ok
+= lgamma towardzero ldbl-96-m68k 0x5.d53649e2d4674p+1012L : 0xf.fffffffffff895ap+1020L 1 : inexact-ok
+= lgamma upward ldbl-96-m68k 0x5.d53649e2d4674p+1012L : 0xf.fffffffffff895bp+1020L 1 : inexact-ok
+= lgamma downward ldbl-128 0x5.d53649e2d4674p+1012L : 0xf.fffffffffff895ade04ea9c1c85p+1020L 1 : inexact-ok
+= lgamma tonearest ldbl-128 0x5.d53649e2d4674p+1012L : 0xf.fffffffffff895ade04ea9c1c858p+1020L 1 : inexact-ok
+= lgamma towardzero ldbl-128 0x5.d53649e2d4674p+1012L : 0xf.fffffffffff895ade04ea9c1c85p+1020L 1 : inexact-ok
+= lgamma upward ldbl-128 0x5.d53649e2d4674p+1012L : 0xf.fffffffffff895ade04ea9c1c858p+1020L 1 : inexact-ok
+= lgamma downward ldbl-128ibm 0x5.d53649e2d4674p+1012L : 0xf.fffffffffff895ade04ea9c1c8p+1020L 1 : inexact-ok
+= lgamma tonearest ldbl-128ibm 0x5.d53649e2d4674p+1012L : 0xf.fffffffffff895ade04ea9c1c8p+1020L 1 : inexact-ok
+= lgamma towardzero ldbl-128ibm 0x5.d53649e2d4674p+1012L : 0xf.fffffffffff895ade04ea9c1c8p+1020L 1 : inexact-ok
+= lgamma upward ldbl-128ibm 0x5.d53649e2d4674p+1012L : 0xf.fffffffffff895ade04ea9c1ccp+1020L 1 : inexact-ok
+lgamma 0x5.d53649e2d46c8p+1012
+= lgamma downward flt-32 0xf.fffffp+124f : 0xf.fffffp+124f 1 : inexact-ok overflow errno-erange-ok
+= lgamma tonearest flt-32 0xf.fffffp+124f : plus_infty 1 : inexact-ok overflow errno-erange
+= lgamma towardzero flt-32 0xf.fffffp+124f : 0xf.fffffp+124f 1 : inexact-ok overflow errno-erange-ok
+= lgamma upward flt-32 0xf.fffffp+124f : plus_infty 1 : inexact-ok overflow errno-erange
+= lgamma downward dbl-64 0xf.fffffp+124 : 0x5.7b90ba32fdbcp+132 1 : inexact-ok
+= lgamma tonearest dbl-64 0xf.fffffp+124 : 0x5.7b90ba32fdbcp+132 1 : inexact-ok
+= lgamma towardzero dbl-64 0xf.fffffp+124 : 0x5.7b90ba32fdbcp+132 1 : inexact-ok
+= lgamma upward dbl-64 0xf.fffffp+124 : 0x5.7b90ba32fdbc4p+132 1 : inexact-ok
+= lgamma downward ldbl-96-intel 0xf.fffffp+124L : 0x5.7b90ba32fdbc16c8p+132L 1 : inexact-ok
+= lgamma tonearest ldbl-96-intel 0xf.fffffp+124L : 0x5.7b90ba32fdbc16dp+132L 1 : inexact-ok
+= lgamma towardzero ldbl-96-intel 0xf.fffffp+124L : 0x5.7b90ba32fdbc16c8p+132L 1 : inexact-ok
+= lgamma upward ldbl-96-intel 0xf.fffffp+124L : 0x5.7b90ba32fdbc16dp+132L 1 : inexact-ok
+= lgamma downward ldbl-96-m68k 0xf.fffffp+124L : 0x5.7b90ba32fdbc16c8p+132L 1 : inexact-ok
+= lgamma tonearest ldbl-96-m68k 0xf.fffffp+124L : 0x5.7b90ba32fdbc16dp+132L 1 : inexact-ok
+= lgamma towardzero ldbl-96-m68k 0xf.fffffp+124L : 0x5.7b90ba32fdbc16c8p+132L 1 : inexact-ok
+= lgamma upward ldbl-96-m68k 0xf.fffffp+124L : 0x5.7b90ba32fdbc16dp+132L 1 : inexact-ok
+= lgamma downward ldbl-128 0xf.fffffp+124L : 0x5.7b90ba32fdbc16cfd352e91badf8p+132L 1 : inexact-ok
+= lgamma tonearest ldbl-128 0xf.fffffp+124L : 0x5.7b90ba32fdbc16cfd352e91badfcp+132L 1 : inexact-ok
+= lgamma towardzero ldbl-128 0xf.fffffp+124L : 0x5.7b90ba32fdbc16cfd352e91badf8p+132L 1 : inexact-ok
+= lgamma upward ldbl-128 0xf.fffffp+124L : 0x5.7b90ba32fdbc16cfd352e91badfcp+132L 1 : inexact-ok
+= lgamma downward ldbl-128ibm 0xf.fffffp+124L : 0x5.7b90ba32fdbc16cfd352e91bacp+132L 1 : inexact-ok
+= lgamma tonearest ldbl-128ibm 0xf.fffffp+124L : 0x5.7b90ba32fdbc16cfd352e91baep+132L 1 : inexact-ok
+= lgamma towardzero ldbl-128ibm 0xf.fffffp+124L : 0x5.7b90ba32fdbc16cfd352e91bacp+132L 1 : inexact-ok
+= lgamma upward ldbl-128ibm 0xf.fffffp+124L : 0x5.7b90ba32fdbc16cfd352e91baep+132L 1 : inexact-ok
+= lgamma downward dbl-64 0x5.d53649e2d46c8p+1012 : 0xf.ffffffffffff8p+1020 1 : inexact-ok overflow errno-erange-ok
+= lgamma tonearest dbl-64 0x5.d53649e2d46c8p+1012 : plus_infty 1 : inexact-ok overflow errno-erange
+= lgamma towardzero dbl-64 0x5.d53649e2d46c8p+1012 : 0xf.ffffffffffff8p+1020 1 : inexact-ok overflow errno-erange-ok
+= lgamma upward dbl-64 0x5.d53649e2d46c8p+1012 : plus_infty 1 : inexact-ok overflow errno-erange
+= lgamma downward ldbl-96-intel 0x5.d53649e2d46c8p+1012L : 0x1.000000000000701ap+1024L 1 : inexact-ok
+= lgamma tonearest ldbl-96-intel 0x5.d53649e2d46c8p+1012L : 0x1.000000000000701ap+1024L 1 : inexact-ok
+= lgamma towardzero ldbl-96-intel 0x5.d53649e2d46c8p+1012L : 0x1.000000000000701ap+1024L 1 : inexact-ok
+= lgamma upward ldbl-96-intel 0x5.d53649e2d46c8p+1012L : 0x1.000000000000701cp+1024L 1 : inexact-ok
+= lgamma downward ldbl-96-m68k 0x5.d53649e2d46c8p+1012L : 0x1.000000000000701ap+1024L 1 : inexact-ok
+= lgamma tonearest ldbl-96-m68k 0x5.d53649e2d46c8p+1012L : 0x1.000000000000701ap+1024L 1 : inexact-ok
+= lgamma towardzero ldbl-96-m68k 0x5.d53649e2d46c8p+1012L : 0x1.000000000000701ap+1024L 1 : inexact-ok
+= lgamma upward ldbl-96-m68k 0x5.d53649e2d46c8p+1012L : 0x1.000000000000701cp+1024L 1 : inexact-ok
+= lgamma downward ldbl-128 0x5.d53649e2d46c8p+1012L : 0x1.000000000000701a0eb2451958d2p+1024L 1 : inexact-ok
+= lgamma tonearest ldbl-128 0x5.d53649e2d46c8p+1012L : 0x1.000000000000701a0eb2451958d2p+1024L 1 : inexact-ok
+= lgamma towardzero ldbl-128 0x5.d53649e2d46c8p+1012L : 0x1.000000000000701a0eb2451958d2p+1024L 1 : inexact-ok
+= lgamma upward ldbl-128 0x5.d53649e2d46c8p+1012L : 0x1.000000000000701a0eb2451958d3p+1024L 1 : inexact-ok
+= lgamma downward ldbl-128ibm 0x5.d53649e2d46c8p+1012L : 0xf.ffffffffffffbffffffffffffcp+1020L 1 : inexact-ok overflow errno-erange-ok
+= lgamma tonearest ldbl-128ibm 0x5.d53649e2d46c8p+1012L : plus_infty 1 : inexact-ok overflow errno-erange
+= lgamma towardzero ldbl-128ibm 0x5.d53649e2d46c8p+1012L : 0xf.ffffffffffffbffffffffffffcp+1020L 1 : inexact-ok overflow errno-erange-ok
+= lgamma upward ldbl-128ibm 0x5.d53649e2d46c8p+1012L : plus_infty 1 : inexact-ok overflow errno-erange
+lgamma 0x5.d53649e2d469dbc1f01e99fd52p+1012 xfail:dbl-64
+= lgamma downward flt-32 0xf.fffffp+124f : 0xf.fffffp+124f 1 : xfail:dbl-64 inexact-ok overflow errno-erange-ok
+= lgamma tonearest flt-32 0xf.fffffp+124f : plus_infty 1 : xfail:dbl-64 inexact-ok overflow errno-erange
+= lgamma towardzero flt-32 0xf.fffffp+124f : 0xf.fffffp+124f 1 : xfail:dbl-64 inexact-ok overflow errno-erange-ok
+= lgamma upward flt-32 0xf.fffffp+124f : plus_infty 1 : xfail:dbl-64 inexact-ok overflow errno-erange
+= lgamma downward dbl-64 0xf.fffffp+124 : 0x5.7b90ba32fdbcp+132 1 : xfail:dbl-64 inexact-ok
+= lgamma tonearest dbl-64 0xf.fffffp+124 : 0x5.7b90ba32fdbcp+132 1 : xfail:dbl-64 inexact-ok
+= lgamma towardzero dbl-64 0xf.fffffp+124 : 0x5.7b90ba32fdbcp+132 1 : xfail:dbl-64 inexact-ok
+= lgamma upward dbl-64 0xf.fffffp+124 : 0x5.7b90ba32fdbc4p+132 1 : xfail:dbl-64 inexact-ok
+= lgamma downward ldbl-96-intel 0xf.fffffp+124L : 0x5.7b90ba32fdbc16c8p+132L 1 : xfail:dbl-64 inexact-ok
+= lgamma tonearest ldbl-96-intel 0xf.fffffp+124L : 0x5.7b90ba32fdbc16dp+132L 1 : xfail:dbl-64 inexact-ok
+= lgamma towardzero ldbl-96-intel 0xf.fffffp+124L : 0x5.7b90ba32fdbc16c8p+132L 1 : xfail:dbl-64 inexact-ok
+= lgamma upward ldbl-96-intel 0xf.fffffp+124L : 0x5.7b90ba32fdbc16dp+132L 1 : xfail:dbl-64 inexact-ok
+= lgamma downward ldbl-96-m68k 0xf.fffffp+124L : 0x5.7b90ba32fdbc16c8p+132L 1 : xfail:dbl-64 inexact-ok
+= lgamma tonearest ldbl-96-m68k 0xf.fffffp+124L : 0x5.7b90ba32fdbc16dp+132L 1 : xfail:dbl-64 inexact-ok
+= lgamma towardzero ldbl-96-m68k 0xf.fffffp+124L : 0x5.7b90ba32fdbc16c8p+132L 1 : xfail:dbl-64 inexact-ok
+= lgamma upward ldbl-96-m68k 0xf.fffffp+124L : 0x5.7b90ba32fdbc16dp+132L 1 : xfail:dbl-64 inexact-ok
+= lgamma downward ldbl-128 0xf.fffffp+124L : 0x5.7b90ba32fdbc16cfd352e91badf8p+132L 1 : xfail:dbl-64 inexact-ok
+= lgamma tonearest ldbl-128 0xf.fffffp+124L : 0x5.7b90ba32fdbc16cfd352e91badfcp+132L 1 : xfail:dbl-64 inexact-ok
+= lgamma towardzero ldbl-128 0xf.fffffp+124L : 0x5.7b90ba32fdbc16cfd352e91badf8p+132L 1 : xfail:dbl-64 inexact-ok
+= lgamma upward ldbl-128 0xf.fffffp+124L : 0x5.7b90ba32fdbc16cfd352e91badfcp+132L 1 : xfail:dbl-64 inexact-ok
+= lgamma downward ldbl-128ibm 0xf.fffffp+124L : 0x5.7b90ba32fdbc16cfd352e91bacp+132L 1 : xfail:dbl-64 inexact-ok
+= lgamma tonearest ldbl-128ibm 0xf.fffffp+124L : 0x5.7b90ba32fdbc16cfd352e91baep+132L 1 : xfail:dbl-64 inexact-ok
+= lgamma towardzero ldbl-128ibm 0xf.fffffp+124L : 0x5.7b90ba32fdbc16cfd352e91bacp+132L 1 : xfail:dbl-64 inexact-ok
+= lgamma upward ldbl-128ibm 0xf.fffffp+124L : 0x5.7b90ba32fdbc16cfd352e91baep+132L 1 : xfail:dbl-64 inexact-ok
+= lgamma downward dbl-64 0x5.d53649e2d46ap+1012 : 0xf.ffffffffffff8p+1020 1 : xfail:dbl-64 inexact-ok overflow errno-erange-ok
+= lgamma tonearest dbl-64 0x5.d53649e2d46ap+1012 : plus_infty 1 : xfail:dbl-64 inexact-ok overflow errno-erange
+= lgamma towardzero dbl-64 0x5.d53649e2d46ap+1012 : 0xf.ffffffffffff8p+1020 1 : xfail:dbl-64 inexact-ok overflow errno-erange-ok
+= lgamma upward dbl-64 0x5.d53649e2d46ap+1012 : plus_infty 1 : xfail:dbl-64 inexact-ok overflow errno-erange
+= lgamma downward ldbl-96-intel 0x5.d53649e2d46ap+1012L : 0x1.0000000000000238p+1024L 1 : xfail:dbl-64 inexact-ok
+= lgamma tonearest ldbl-96-intel 0x5.d53649e2d46ap+1012L : 0x1.0000000000000238p+1024L 1 : xfail:dbl-64 inexact-ok
+= lgamma towardzero ldbl-96-intel 0x5.d53649e2d46ap+1012L : 0x1.0000000000000238p+1024L 1 : xfail:dbl-64 inexact-ok
+= lgamma upward ldbl-96-intel 0x5.d53649e2d46ap+1012L : 0x1.000000000000023ap+1024L 1 : xfail:dbl-64 inexact-ok
+= lgamma downward ldbl-96-m68k 0x5.d53649e2d46ap+1012L : 0x1.0000000000000238p+1024L 1 : xfail:dbl-64 inexact-ok
+= lgamma tonearest ldbl-96-m68k 0x5.d53649e2d46ap+1012L : 0x1.0000000000000238p+1024L 1 : xfail:dbl-64 inexact-ok
+= lgamma towardzero ldbl-96-m68k 0x5.d53649e2d46ap+1012L : 0x1.0000000000000238p+1024L 1 : xfail:dbl-64 inexact-ok
+= lgamma upward ldbl-96-m68k 0x5.d53649e2d46ap+1012L : 0x1.000000000000023ap+1024L 1 : xfail:dbl-64 inexact-ok
+= lgamma downward ldbl-128 0x5.d53649e2d46ap+1012L : 0x1.0000000000000238eb5387b923bp+1024L 1 : xfail:dbl-64 inexact-ok
+= lgamma tonearest ldbl-128 0x5.d53649e2d46ap+1012L : 0x1.0000000000000238eb5387b923bp+1024L 1 : xfail:dbl-64 inexact-ok
+= lgamma towardzero ldbl-128 0x5.d53649e2d46ap+1012L : 0x1.0000000000000238eb5387b923bp+1024L 1 : xfail:dbl-64 inexact-ok
+= lgamma upward ldbl-128 0x5.d53649e2d46ap+1012L : 0x1.0000000000000238eb5387b923b1p+1024L 1 : xfail:dbl-64 inexact-ok
+= lgamma downward ldbl-128ibm 0x5.d53649e2d46ap+1012L : 0xf.ffffffffffffbffffffffffffcp+1020L 1 : xfail:dbl-64 inexact-ok overflow errno-erange-ok
+= lgamma tonearest ldbl-128ibm 0x5.d53649e2d46ap+1012L : plus_infty 1 : xfail:dbl-64 inexact-ok overflow errno-erange
+= lgamma towardzero ldbl-128ibm 0x5.d53649e2d46ap+1012L : 0xf.ffffffffffffbffffffffffffcp+1020L 1 : xfail:dbl-64 inexact-ok overflow errno-erange-ok
+= lgamma upward ldbl-128ibm 0x5.d53649e2d46ap+1012L : plus_infty 1 : xfail:dbl-64 inexact-ok overflow errno-erange
+= lgamma downward dbl-64 0x5.d53649e2d469cp+1012 : 0xf.ffffffffffffp+1020 1 : xfail:dbl-64 inexact-ok
+= lgamma tonearest dbl-64 0x5.d53649e2d469cp+1012 : 0xf.ffffffffffff8p+1020 1 : xfail:dbl-64 inexact-ok
+= lgamma towardzero dbl-64 0x5.d53649e2d469cp+1012 : 0xf.ffffffffffffp+1020 1 : xfail:dbl-64 inexact-ok
+= lgamma upward dbl-64 0x5.d53649e2d469cp+1012 : 0xf.ffffffffffff8p+1020 1 : xfail:dbl-64 inexact-ok
+= lgamma downward ldbl-96-intel 0x5.d53649e2d469cp+1012L : 0xf.ffffffffffff73cp+1020L 1 : xfail:dbl-64 inexact-ok
+= lgamma tonearest ldbl-96-intel 0x5.d53649e2d469cp+1012L : 0xf.ffffffffffff73cp+1020L 1 : xfail:dbl-64 inexact-ok
+= lgamma towardzero ldbl-96-intel 0x5.d53649e2d469cp+1012L : 0xf.ffffffffffff73cp+1020L 1 : xfail:dbl-64 inexact-ok
+= lgamma upward ldbl-96-intel 0x5.d53649e2d469cp+1012L : 0xf.ffffffffffff73dp+1020L 1 : xfail:dbl-64 inexact-ok
+= lgamma downward ldbl-96-m68k 0x5.d53649e2d469cp+1012L : 0xf.ffffffffffff73cp+1020L 1 : xfail:dbl-64 inexact-ok
+= lgamma tonearest ldbl-96-m68k 0x5.d53649e2d469cp+1012L : 0xf.ffffffffffff73cp+1020L 1 : xfail:dbl-64 inexact-ok
+= lgamma towardzero ldbl-96-m68k 0x5.d53649e2d469cp+1012L : 0xf.ffffffffffff73cp+1020L 1 : xfail:dbl-64 inexact-ok
+= lgamma upward ldbl-96-m68k 0x5.d53649e2d469cp+1012L : 0xf.ffffffffffff73dp+1020L 1 : xfail:dbl-64 inexact-ok
+= lgamma downward ldbl-128 0x5.d53649e2d469cp+1012L : 0xf.ffffffffffff73c0163a7fc5194p+1020L 1 : xfail:dbl-64 inexact-ok
+= lgamma tonearest ldbl-128 0x5.d53649e2d469cp+1012L : 0xf.ffffffffffff73c0163a7fc51948p+1020L 1 : xfail:dbl-64 inexact-ok
+= lgamma towardzero ldbl-128 0x5.d53649e2d469cp+1012L : 0xf.ffffffffffff73c0163a7fc5194p+1020L 1 : xfail:dbl-64 inexact-ok
+= lgamma upward ldbl-128 0x5.d53649e2d469cp+1012L : 0xf.ffffffffffff73c0163a7fc51948p+1020L 1 : xfail:dbl-64 inexact-ok
+= lgamma downward ldbl-128ibm 0x5.d53649e2d469cp+1012L : 0xf.ffffffffffff73c0163a7fc518p+1020L 1 : xfail:dbl-64 inexact-ok
+= lgamma tonearest ldbl-128ibm 0x5.d53649e2d469cp+1012L : 0xf.ffffffffffff73c0163a7fc518p+1020L 1 : xfail:dbl-64 inexact-ok
+= lgamma towardzero ldbl-128ibm 0x5.d53649e2d469cp+1012L : 0xf.ffffffffffff73c0163a7fc518p+1020L 1 : xfail:dbl-64 inexact-ok
+= lgamma upward ldbl-128ibm 0x5.d53649e2d469cp+1012L : 0xf.ffffffffffff73c0163a7fc51cp+1020L 1 : xfail:dbl-64 inexact-ok
+= lgamma downward ldbl-96-intel 0x5.d53649e2d469dbc8p+1012L : 0xf.ffffffffffffc01p+1020L 1 : xfail:dbl-64 inexact-ok
+= lgamma tonearest ldbl-96-intel 0x5.d53649e2d469dbc8p+1012L : 0xf.ffffffffffffc01p+1020L 1 : xfail:dbl-64 inexact-ok
+= lgamma towardzero ldbl-96-intel 0x5.d53649e2d469dbc8p+1012L : 0xf.ffffffffffffc01p+1020L 1 : xfail:dbl-64 inexact-ok
+= lgamma upward ldbl-96-intel 0x5.d53649e2d469dbc8p+1012L : 0xf.ffffffffffffc02p+1020L 1 : xfail:dbl-64 inexact-ok
+= lgamma downward ldbl-96-m68k 0x5.d53649e2d469dbc8p+1012L : 0xf.ffffffffffffc01p+1020L 1 : xfail:dbl-64 inexact-ok
+= lgamma tonearest ldbl-96-m68k 0x5.d53649e2d469dbc8p+1012L : 0xf.ffffffffffffc01p+1020L 1 : xfail:dbl-64 inexact-ok
+= lgamma towardzero ldbl-96-m68k 0x5.d53649e2d469dbc8p+1012L : 0xf.ffffffffffffc01p+1020L 1 : xfail:dbl-64 inexact-ok
+= lgamma upward ldbl-96-m68k 0x5.d53649e2d469dbc8p+1012L : 0xf.ffffffffffffc02p+1020L 1 : xfail:dbl-64 inexact-ok
+= lgamma downward ldbl-128 0x5.d53649e2d469dbc8p+1012L : 0xf.ffffffffffffc010a6fe7fb28488p+1020L 1 : xfail:dbl-64 inexact-ok
+= lgamma tonearest ldbl-128 0x5.d53649e2d469dbc8p+1012L : 0xf.ffffffffffffc010a6fe7fb2849p+1020L 1 : xfail:dbl-64 inexact-ok
+= lgamma towardzero ldbl-128 0x5.d53649e2d469dbc8p+1012L : 0xf.ffffffffffffc010a6fe7fb28488p+1020L 1 : xfail:dbl-64 inexact-ok
+= lgamma upward ldbl-128 0x5.d53649e2d469dbc8p+1012L : 0xf.ffffffffffffc010a6fe7fb2849p+1020L 1 : xfail:dbl-64 inexact-ok
+= lgamma downward ldbl-128ibm 0x5.d53649e2d469dbc8p+1012L : 0xf.ffffffffffffbffffffffffffcp+1020L 1 : xfail:dbl-64 inexact-ok overflow errno-erange-ok
+= lgamma tonearest ldbl-128ibm 0x5.d53649e2d469dbc8p+1012L : plus_infty 1 : xfail:dbl-64 inexact-ok overflow errno-erange
+= lgamma towardzero ldbl-128ibm 0x5.d53649e2d469dbc8p+1012L : 0xf.ffffffffffffbffffffffffffcp+1020L 1 : xfail:dbl-64 inexact-ok overflow errno-erange-ok
+= lgamma upward ldbl-128ibm 0x5.d53649e2d469dbc8p+1012L : plus_infty 1 : xfail:dbl-64 inexact-ok overflow errno-erange
+= lgamma downward ldbl-96-intel 0x5.d53649e2d469dbcp+1012L : 0xf.ffffffffffffbffp+1020L 1 : xfail:dbl-64 inexact-ok
+= lgamma tonearest ldbl-96-intel 0x5.d53649e2d469dbcp+1012L : 0xf.ffffffffffffcp+1020L 1 : xfail:dbl-64 inexact-ok
+= lgamma towardzero ldbl-96-intel 0x5.d53649e2d469dbcp+1012L : 0xf.ffffffffffffbffp+1020L 1 : xfail:dbl-64 inexact-ok
+= lgamma upward ldbl-96-intel 0x5.d53649e2d469dbcp+1012L : 0xf.ffffffffffffcp+1020L 1 : xfail:dbl-64 inexact-ok
+= lgamma downward ldbl-96-m68k 0x5.d53649e2d469dbcp+1012L : 0xf.ffffffffffffbffp+1020L 1 : xfail:dbl-64 inexact-ok
+= lgamma tonearest ldbl-96-m68k 0x5.d53649e2d469dbcp+1012L : 0xf.ffffffffffffcp+1020L 1 : xfail:dbl-64 inexact-ok
+= lgamma towardzero ldbl-96-m68k 0x5.d53649e2d469dbcp+1012L : 0xf.ffffffffffffbffp+1020L 1 : xfail:dbl-64 inexact-ok
+= lgamma upward ldbl-96-m68k 0x5.d53649e2d469dbcp+1012L : 0xf.ffffffffffffcp+1020L 1 : xfail:dbl-64 inexact-ok
+= lgamma downward ldbl-128 0x5.d53649e2d469dbcp+1012L : 0xf.ffffffffffffbffaad2a9ff30ae8p+1020L 1 : xfail:dbl-64 inexact-ok
+= lgamma tonearest ldbl-128 0x5.d53649e2d469dbcp+1012L : 0xf.ffffffffffffbffaad2a9ff30ae8p+1020L 1 : xfail:dbl-64 inexact-ok
+= lgamma towardzero ldbl-128 0x5.d53649e2d469dbcp+1012L : 0xf.ffffffffffffbffaad2a9ff30ae8p+1020L 1 : xfail:dbl-64 inexact-ok
+= lgamma upward ldbl-128 0x5.d53649e2d469dbcp+1012L : 0xf.ffffffffffffbffaad2a9ff30afp+1020L 1 : xfail:dbl-64 inexact-ok
+= lgamma downward ldbl-128ibm 0x5.d53649e2d469dbcp+1012L : 0xf.ffffffffffffbffaad2a9ff308p+1020L 1 : xfail:dbl-64 inexact-ok
+= lgamma tonearest ldbl-128ibm 0x5.d53649e2d469dbcp+1012L : 0xf.ffffffffffffbffaad2a9ff30cp+1020L 1 : xfail:dbl-64 inexact-ok
+= lgamma towardzero ldbl-128ibm 0x5.d53649e2d469dbcp+1012L : 0xf.ffffffffffffbffaad2a9ff308p+1020L 1 : xfail:dbl-64 inexact-ok
+= lgamma upward ldbl-128ibm 0x5.d53649e2d469dbcp+1012L : 0xf.ffffffffffffbffaad2a9ff30cp+1020L 1 : xfail:dbl-64 inexact-ok
+= lgamma downward ldbl-128 0x5.d53649e2d469dbc1f01e99fd52p+1012L : 0xf.ffffffffffffbfffffffffffc39p+1020L 1 : xfail:dbl-64 inexact-ok
+= lgamma tonearest ldbl-128 0x5.d53649e2d469dbc1f01e99fd52p+1012L : 0xf.ffffffffffffbfffffffffffc39p+1020L 1 : xfail:dbl-64 inexact-ok
+= lgamma towardzero ldbl-128 0x5.d53649e2d469dbc1f01e99fd52p+1012L : 0xf.ffffffffffffbfffffffffffc39p+1020L 1 : xfail:dbl-64 inexact-ok
+= lgamma upward ldbl-128 0x5.d53649e2d469dbc1f01e99fd52p+1012L : 0xf.ffffffffffffbfffffffffffc398p+1020L 1 : xfail:dbl-64 inexact-ok
+= lgamma downward ldbl-128ibm 0x5.d53649e2d469dbc1f01e99fd52p+1012L : 0xf.ffffffffffffbfffffffffffcp+1020L 1 : xfail:dbl-64 inexact-ok
+= lgamma tonearest ldbl-128ibm 0x5.d53649e2d469dbc1f01e99fd52p+1012L : 0xf.ffffffffffffbfffffffffffc4p+1020L 1 : xfail:dbl-64 inexact-ok
+= lgamma towardzero ldbl-128ibm 0x5.d53649e2d469dbc1f01e99fd52p+1012L : 0xf.ffffffffffffbfffffffffffcp+1020L 1 : xfail:dbl-64 inexact-ok
+= lgamma upward ldbl-128ibm 0x5.d53649e2d469dbc1f01e99fd52p+1012L : 0xf.ffffffffffffbfffffffffffc4p+1020L 1 : xfail:dbl-64 inexact-ok
+lgamma 0x5.d53649e2d469dbc1f01e99fd7cp+1012 xfail:dbl-64
+= lgamma downward flt-32 0xf.fffffp+124f : 0xf.fffffp+124f 1 : xfail:dbl-64 inexact-ok overflow errno-erange-ok
+= lgamma tonearest flt-32 0xf.fffffp+124f : plus_infty 1 : xfail:dbl-64 inexact-ok overflow errno-erange
+= lgamma towardzero flt-32 0xf.fffffp+124f : 0xf.fffffp+124f 1 : xfail:dbl-64 inexact-ok overflow errno-erange-ok
+= lgamma upward flt-32 0xf.fffffp+124f : plus_infty 1 : xfail:dbl-64 inexact-ok overflow errno-erange
+= lgamma downward dbl-64 0xf.fffffp+124 : 0x5.7b90ba32fdbcp+132 1 : xfail:dbl-64 inexact-ok
+= lgamma tonearest dbl-64 0xf.fffffp+124 : 0x5.7b90ba32fdbcp+132 1 : xfail:dbl-64 inexact-ok
+= lgamma towardzero dbl-64 0xf.fffffp+124 : 0x5.7b90ba32fdbcp+132 1 : xfail:dbl-64 inexact-ok
+= lgamma upward dbl-64 0xf.fffffp+124 : 0x5.7b90ba32fdbc4p+132 1 : xfail:dbl-64 inexact-ok
+= lgamma downward ldbl-96-intel 0xf.fffffp+124L : 0x5.7b90ba32fdbc16c8p+132L 1 : xfail:dbl-64 inexact-ok
+= lgamma tonearest ldbl-96-intel 0xf.fffffp+124L : 0x5.7b90ba32fdbc16dp+132L 1 : xfail:dbl-64 inexact-ok
+= lgamma towardzero ldbl-96-intel 0xf.fffffp+124L : 0x5.7b90ba32fdbc16c8p+132L 1 : xfail:dbl-64 inexact-ok
+= lgamma upward ldbl-96-intel 0xf.fffffp+124L : 0x5.7b90ba32fdbc16dp+132L 1 : xfail:dbl-64 inexact-ok
+= lgamma downward ldbl-96-m68k 0xf.fffffp+124L : 0x5.7b90ba32fdbc16c8p+132L 1 : xfail:dbl-64 inexact-ok
+= lgamma tonearest ldbl-96-m68k 0xf.fffffp+124L : 0x5.7b90ba32fdbc16dp+132L 1 : xfail:dbl-64 inexact-ok
+= lgamma towardzero ldbl-96-m68k 0xf.fffffp+124L : 0x5.7b90ba32fdbc16c8p+132L 1 : xfail:dbl-64 inexact-ok
+= lgamma upward ldbl-96-m68k 0xf.fffffp+124L : 0x5.7b90ba32fdbc16dp+132L 1 : xfail:dbl-64 inexact-ok
+= lgamma downward ldbl-128 0xf.fffffp+124L : 0x5.7b90ba32fdbc16cfd352e91badf8p+132L 1 : xfail:dbl-64 inexact-ok
+= lgamma tonearest ldbl-128 0xf.fffffp+124L : 0x5.7b90ba32fdbc16cfd352e91badfcp+132L 1 : xfail:dbl-64 inexact-ok
+= lgamma towardzero ldbl-128 0xf.fffffp+124L : 0x5.7b90ba32fdbc16cfd352e91badf8p+132L 1 : xfail:dbl-64 inexact-ok
+= lgamma upward ldbl-128 0xf.fffffp+124L : 0x5.7b90ba32fdbc16cfd352e91badfcp+132L 1 : xfail:dbl-64 inexact-ok
+= lgamma downward ldbl-128ibm 0xf.fffffp+124L : 0x5.7b90ba32fdbc16cfd352e91bacp+132L 1 : xfail:dbl-64 inexact-ok
+= lgamma tonearest ldbl-128ibm 0xf.fffffp+124L : 0x5.7b90ba32fdbc16cfd352e91baep+132L 1 : xfail:dbl-64 inexact-ok
+= lgamma towardzero ldbl-128ibm 0xf.fffffp+124L : 0x5.7b90ba32fdbc16cfd352e91bacp+132L 1 : xfail:dbl-64 inexact-ok
+= lgamma upward ldbl-128ibm 0xf.fffffp+124L : 0x5.7b90ba32fdbc16cfd352e91baep+132L 1 : xfail:dbl-64 inexact-ok
+= lgamma downward dbl-64 0x5.d53649e2d46ap+1012 : 0xf.ffffffffffff8p+1020 1 : xfail:dbl-64 inexact-ok overflow errno-erange-ok
+= lgamma tonearest dbl-64 0x5.d53649e2d46ap+1012 : plus_infty 1 : xfail:dbl-64 inexact-ok overflow errno-erange
+= lgamma towardzero dbl-64 0x5.d53649e2d46ap+1012 : 0xf.ffffffffffff8p+1020 1 : xfail:dbl-64 inexact-ok overflow errno-erange-ok
+= lgamma upward dbl-64 0x5.d53649e2d46ap+1012 : plus_infty 1 : xfail:dbl-64 inexact-ok overflow errno-erange
+= lgamma downward ldbl-96-intel 0x5.d53649e2d46ap+1012L : 0x1.0000000000000238p+1024L 1 : xfail:dbl-64 inexact-ok
+= lgamma tonearest ldbl-96-intel 0x5.d53649e2d46ap+1012L : 0x1.0000000000000238p+1024L 1 : xfail:dbl-64 inexact-ok
+= lgamma towardzero ldbl-96-intel 0x5.d53649e2d46ap+1012L : 0x1.0000000000000238p+1024L 1 : xfail:dbl-64 inexact-ok
+= lgamma upward ldbl-96-intel 0x5.d53649e2d46ap+1012L : 0x1.000000000000023ap+1024L 1 : xfail:dbl-64 inexact-ok
+= lgamma downward ldbl-96-m68k 0x5.d53649e2d46ap+1012L : 0x1.0000000000000238p+1024L 1 : xfail:dbl-64 inexact-ok
+= lgamma tonearest ldbl-96-m68k 0x5.d53649e2d46ap+1012L : 0x1.0000000000000238p+1024L 1 : xfail:dbl-64 inexact-ok
+= lgamma towardzero ldbl-96-m68k 0x5.d53649e2d46ap+1012L : 0x1.0000000000000238p+1024L 1 : xfail:dbl-64 inexact-ok
+= lgamma upward ldbl-96-m68k 0x5.d53649e2d46ap+1012L : 0x1.000000000000023ap+1024L 1 : xfail:dbl-64 inexact-ok
+= lgamma downward ldbl-128 0x5.d53649e2d46ap+1012L : 0x1.0000000000000238eb5387b923bp+1024L 1 : xfail:dbl-64 inexact-ok
+= lgamma tonearest ldbl-128 0x5.d53649e2d46ap+1012L : 0x1.0000000000000238eb5387b923bp+1024L 1 : xfail:dbl-64 inexact-ok
+= lgamma towardzero ldbl-128 0x5.d53649e2d46ap+1012L : 0x1.0000000000000238eb5387b923bp+1024L 1 : xfail:dbl-64 inexact-ok
+= lgamma upward ldbl-128 0x5.d53649e2d46ap+1012L : 0x1.0000000000000238eb5387b923b1p+1024L 1 : xfail:dbl-64 inexact-ok
+= lgamma downward ldbl-128ibm 0x5.d53649e2d46ap+1012L : 0xf.ffffffffffffbffffffffffffcp+1020L 1 : xfail:dbl-64 inexact-ok overflow errno-erange-ok
+= lgamma tonearest ldbl-128ibm 0x5.d53649e2d46ap+1012L : plus_infty 1 : xfail:dbl-64 inexact-ok overflow errno-erange
+= lgamma towardzero ldbl-128ibm 0x5.d53649e2d46ap+1012L : 0xf.ffffffffffffbffffffffffffcp+1020L 1 : xfail:dbl-64 inexact-ok overflow errno-erange-ok
+= lgamma upward ldbl-128ibm 0x5.d53649e2d46ap+1012L : plus_infty 1 : xfail:dbl-64 inexact-ok overflow errno-erange
+= lgamma downward dbl-64 0x5.d53649e2d469cp+1012 : 0xf.ffffffffffffp+1020 1 : xfail:dbl-64 inexact-ok
+= lgamma tonearest dbl-64 0x5.d53649e2d469cp+1012 : 0xf.ffffffffffff8p+1020 1 : xfail:dbl-64 inexact-ok
+= lgamma towardzero dbl-64 0x5.d53649e2d469cp+1012 : 0xf.ffffffffffffp+1020 1 : xfail:dbl-64 inexact-ok
+= lgamma upward dbl-64 0x5.d53649e2d469cp+1012 : 0xf.ffffffffffff8p+1020 1 : xfail:dbl-64 inexact-ok
+= lgamma downward ldbl-96-intel 0x5.d53649e2d469cp+1012L : 0xf.ffffffffffff73cp+1020L 1 : xfail:dbl-64 inexact-ok
+= lgamma tonearest ldbl-96-intel 0x5.d53649e2d469cp+1012L : 0xf.ffffffffffff73cp+1020L 1 : xfail:dbl-64 inexact-ok
+= lgamma towardzero ldbl-96-intel 0x5.d53649e2d469cp+1012L : 0xf.ffffffffffff73cp+1020L 1 : xfail:dbl-64 inexact-ok
+= lgamma upward ldbl-96-intel 0x5.d53649e2d469cp+1012L : 0xf.ffffffffffff73dp+1020L 1 : xfail:dbl-64 inexact-ok
+= lgamma downward ldbl-96-m68k 0x5.d53649e2d469cp+1012L : 0xf.ffffffffffff73cp+1020L 1 : xfail:dbl-64 inexact-ok
+= lgamma tonearest ldbl-96-m68k 0x5.d53649e2d469cp+1012L : 0xf.ffffffffffff73cp+1020L 1 : xfail:dbl-64 inexact-ok
+= lgamma towardzero ldbl-96-m68k 0x5.d53649e2d469cp+1012L : 0xf.ffffffffffff73cp+1020L 1 : xfail:dbl-64 inexact-ok
+= lgamma upward ldbl-96-m68k 0x5.d53649e2d469cp+1012L : 0xf.ffffffffffff73dp+1020L 1 : xfail:dbl-64 inexact-ok
+= lgamma downward ldbl-128 0x5.d53649e2d469cp+1012L : 0xf.ffffffffffff73c0163a7fc5194p+1020L 1 : xfail:dbl-64 inexact-ok
+= lgamma tonearest ldbl-128 0x5.d53649e2d469cp+1012L : 0xf.ffffffffffff73c0163a7fc51948p+1020L 1 : xfail:dbl-64 inexact-ok
+= lgamma towardzero ldbl-128 0x5.d53649e2d469cp+1012L : 0xf.ffffffffffff73c0163a7fc5194p+1020L 1 : xfail:dbl-64 inexact-ok
+= lgamma upward ldbl-128 0x5.d53649e2d469cp+1012L : 0xf.ffffffffffff73c0163a7fc51948p+1020L 1 : xfail:dbl-64 inexact-ok
+= lgamma downward ldbl-128ibm 0x5.d53649e2d469cp+1012L : 0xf.ffffffffffff73c0163a7fc518p+1020L 1 : xfail:dbl-64 inexact-ok
+= lgamma tonearest ldbl-128ibm 0x5.d53649e2d469cp+1012L : 0xf.ffffffffffff73c0163a7fc518p+1020L 1 : xfail:dbl-64 inexact-ok
+= lgamma towardzero ldbl-128ibm 0x5.d53649e2d469cp+1012L : 0xf.ffffffffffff73c0163a7fc518p+1020L 1 : xfail:dbl-64 inexact-ok
+= lgamma upward ldbl-128ibm 0x5.d53649e2d469cp+1012L : 0xf.ffffffffffff73c0163a7fc51cp+1020L 1 : xfail:dbl-64 inexact-ok
+= lgamma downward ldbl-96-intel 0x5.d53649e2d469dbc8p+1012L : 0xf.ffffffffffffc01p+1020L 1 : xfail:dbl-64 inexact-ok
+= lgamma tonearest ldbl-96-intel 0x5.d53649e2d469dbc8p+1012L : 0xf.ffffffffffffc01p+1020L 1 : xfail:dbl-64 inexact-ok
+= lgamma towardzero ldbl-96-intel 0x5.d53649e2d469dbc8p+1012L : 0xf.ffffffffffffc01p+1020L 1 : xfail:dbl-64 inexact-ok
+= lgamma upward ldbl-96-intel 0x5.d53649e2d469dbc8p+1012L : 0xf.ffffffffffffc02p+1020L 1 : xfail:dbl-64 inexact-ok
+= lgamma downward ldbl-96-m68k 0x5.d53649e2d469dbc8p+1012L : 0xf.ffffffffffffc01p+1020L 1 : xfail:dbl-64 inexact-ok
+= lgamma tonearest ldbl-96-m68k 0x5.d53649e2d469dbc8p+1012L : 0xf.ffffffffffffc01p+1020L 1 : xfail:dbl-64 inexact-ok
+= lgamma towardzero ldbl-96-m68k 0x5.d53649e2d469dbc8p+1012L : 0xf.ffffffffffffc01p+1020L 1 : xfail:dbl-64 inexact-ok
+= lgamma upward ldbl-96-m68k 0x5.d53649e2d469dbc8p+1012L : 0xf.ffffffffffffc02p+1020L 1 : xfail:dbl-64 inexact-ok
+= lgamma downward ldbl-128 0x5.d53649e2d469dbc8p+1012L : 0xf.ffffffffffffc010a6fe7fb28488p+1020L 1 : xfail:dbl-64 inexact-ok
+= lgamma tonearest ldbl-128 0x5.d53649e2d469dbc8p+1012L : 0xf.ffffffffffffc010a6fe7fb2849p+1020L 1 : xfail:dbl-64 inexact-ok
+= lgamma towardzero ldbl-128 0x5.d53649e2d469dbc8p+1012L : 0xf.ffffffffffffc010a6fe7fb28488p+1020L 1 : xfail:dbl-64 inexact-ok
+= lgamma upward ldbl-128 0x5.d53649e2d469dbc8p+1012L : 0xf.ffffffffffffc010a6fe7fb2849p+1020L 1 : xfail:dbl-64 inexact-ok
+= lgamma downward ldbl-128ibm 0x5.d53649e2d469dbc8p+1012L : 0xf.ffffffffffffbffffffffffffcp+1020L 1 : xfail:dbl-64 inexact-ok overflow errno-erange-ok
+= lgamma tonearest ldbl-128ibm 0x5.d53649e2d469dbc8p+1012L : plus_infty 1 : xfail:dbl-64 inexact-ok overflow errno-erange
+= lgamma towardzero ldbl-128ibm 0x5.d53649e2d469dbc8p+1012L : 0xf.ffffffffffffbffffffffffffcp+1020L 1 : xfail:dbl-64 inexact-ok overflow errno-erange-ok
+= lgamma upward ldbl-128ibm 0x5.d53649e2d469dbc8p+1012L : plus_infty 1 : xfail:dbl-64 inexact-ok overflow errno-erange
+= lgamma downward ldbl-96-intel 0x5.d53649e2d469dbcp+1012L : 0xf.ffffffffffffbffp+1020L 1 : xfail:dbl-64 inexact-ok
+= lgamma tonearest ldbl-96-intel 0x5.d53649e2d469dbcp+1012L : 0xf.ffffffffffffcp+1020L 1 : xfail:dbl-64 inexact-ok
+= lgamma towardzero ldbl-96-intel 0x5.d53649e2d469dbcp+1012L : 0xf.ffffffffffffbffp+1020L 1 : xfail:dbl-64 inexact-ok
+= lgamma upward ldbl-96-intel 0x5.d53649e2d469dbcp+1012L : 0xf.ffffffffffffcp+1020L 1 : xfail:dbl-64 inexact-ok
+= lgamma downward ldbl-96-m68k 0x5.d53649e2d469dbcp+1012L : 0xf.ffffffffffffbffp+1020L 1 : xfail:dbl-64 inexact-ok
+= lgamma tonearest ldbl-96-m68k 0x5.d53649e2d469dbcp+1012L : 0xf.ffffffffffffcp+1020L 1 : xfail:dbl-64 inexact-ok
+= lgamma towardzero ldbl-96-m68k 0x5.d53649e2d469dbcp+1012L : 0xf.ffffffffffffbffp+1020L 1 : xfail:dbl-64 inexact-ok
+= lgamma upward ldbl-96-m68k 0x5.d53649e2d469dbcp+1012L : 0xf.ffffffffffffcp+1020L 1 : xfail:dbl-64 inexact-ok
+= lgamma downward ldbl-128 0x5.d53649e2d469dbcp+1012L : 0xf.ffffffffffffbffaad2a9ff30ae8p+1020L 1 : xfail:dbl-64 inexact-ok
+= lgamma tonearest ldbl-128 0x5.d53649e2d469dbcp+1012L : 0xf.ffffffffffffbffaad2a9ff30ae8p+1020L 1 : xfail:dbl-64 inexact-ok
+= lgamma towardzero ldbl-128 0x5.d53649e2d469dbcp+1012L : 0xf.ffffffffffffbffaad2a9ff30ae8p+1020L 1 : xfail:dbl-64 inexact-ok
+= lgamma upward ldbl-128 0x5.d53649e2d469dbcp+1012L : 0xf.ffffffffffffbffaad2a9ff30afp+1020L 1 : xfail:dbl-64 inexact-ok
+= lgamma downward ldbl-128ibm 0x5.d53649e2d469dbcp+1012L : 0xf.ffffffffffffbffaad2a9ff308p+1020L 1 : xfail:dbl-64 inexact-ok
+= lgamma tonearest ldbl-128ibm 0x5.d53649e2d469dbcp+1012L : 0xf.ffffffffffffbffaad2a9ff30cp+1020L 1 : xfail:dbl-64 inexact-ok
+= lgamma towardzero ldbl-128ibm 0x5.d53649e2d469dbcp+1012L : 0xf.ffffffffffffbffaad2a9ff308p+1020L 1 : xfail:dbl-64 inexact-ok
+= lgamma upward ldbl-128ibm 0x5.d53649e2d469dbcp+1012L : 0xf.ffffffffffffbffaad2a9ff30cp+1020L 1 : xfail:dbl-64 inexact-ok
+= lgamma downward ldbl-128 0x5.d53649e2d469dbc1f01e99fd7cp+1012L : 0xf.ffffffffffffc0000000000036fp+1020L 1 : xfail:dbl-64 inexact-ok
+= lgamma tonearest ldbl-128 0x5.d53649e2d469dbc1f01e99fd7cp+1012L : 0xf.ffffffffffffc0000000000036fp+1020L 1 : xfail:dbl-64 inexact-ok
+= lgamma towardzero ldbl-128 0x5.d53649e2d469dbc1f01e99fd7cp+1012L : 0xf.ffffffffffffc0000000000036fp+1020L 1 : xfail:dbl-64 inexact-ok
+= lgamma upward ldbl-128 0x5.d53649e2d469dbc1f01e99fd7cp+1012L : 0xf.ffffffffffffc0000000000036f8p+1020L 1 : xfail:dbl-64 inexact-ok
+= lgamma downward ldbl-128ibm 0x5.d53649e2d469dbc1f01e99fd7cp+1012L : 0xf.ffffffffffffbffffffffffffcp+1020L 1 : xfail:dbl-64 inexact-ok overflow errno-erange-ok
+= lgamma tonearest ldbl-128ibm 0x5.d53649e2d469dbc1f01e99fd7cp+1012L : plus_infty 1 : xfail:dbl-64 inexact-ok overflow errno-erange
+= lgamma towardzero ldbl-128ibm 0x5.d53649e2d469dbc1f01e99fd7cp+1012L : 0xf.ffffffffffffbffffffffffffcp+1020L 1 : xfail:dbl-64 inexact-ok overflow errno-erange-ok
+= lgamma upward ldbl-128ibm 0x5.d53649e2d469dbc1f01e99fd7cp+1012L : plus_infty 1 : xfail:dbl-64 inexact-ok overflow errno-erange
+lgamma 0x5.c6aa645fffef5f5p+16368
+= lgamma downward flt-32 0xf.fffffp+124f : 0xf.fffffp+124f 1 : inexact-ok overflow errno-erange-ok
+= lgamma tonearest flt-32 0xf.fffffp+124f : plus_infty 1 : inexact-ok overflow errno-erange
+= lgamma towardzero flt-32 0xf.fffffp+124f : 0xf.fffffp+124f 1 : inexact-ok overflow errno-erange-ok
+= lgamma upward flt-32 0xf.fffffp+124f : plus_infty 1 : inexact-ok overflow errno-erange
+= lgamma downward dbl-64 0xf.fffffp+124 : 0x5.7b90ba32fdbcp+132 1 : inexact-ok
+= lgamma tonearest dbl-64 0xf.fffffp+124 : 0x5.7b90ba32fdbcp+132 1 : inexact-ok
+= lgamma towardzero dbl-64 0xf.fffffp+124 : 0x5.7b90ba32fdbcp+132 1 : inexact-ok
+= lgamma upward dbl-64 0xf.fffffp+124 : 0x5.7b90ba32fdbc4p+132 1 : inexact-ok
+= lgamma downward ldbl-96-intel 0xf.fffffp+124L : 0x5.7b90ba32fdbc16c8p+132L 1 : inexact-ok
+= lgamma tonearest ldbl-96-intel 0xf.fffffp+124L : 0x5.7b90ba32fdbc16dp+132L 1 : inexact-ok
+= lgamma towardzero ldbl-96-intel 0xf.fffffp+124L : 0x5.7b90ba32fdbc16c8p+132L 1 : inexact-ok
+= lgamma upward ldbl-96-intel 0xf.fffffp+124L : 0x5.7b90ba32fdbc16dp+132L 1 : inexact-ok
+= lgamma downward ldbl-96-m68k 0xf.fffffp+124L : 0x5.7b90ba32fdbc16c8p+132L 1 : inexact-ok
+= lgamma tonearest ldbl-96-m68k 0xf.fffffp+124L : 0x5.7b90ba32fdbc16dp+132L 1 : inexact-ok
+= lgamma towardzero ldbl-96-m68k 0xf.fffffp+124L : 0x5.7b90ba32fdbc16c8p+132L 1 : inexact-ok
+= lgamma upward ldbl-96-m68k 0xf.fffffp+124L : 0x5.7b90ba32fdbc16dp+132L 1 : inexact-ok
+= lgamma downward ldbl-128 0xf.fffffp+124L : 0x5.7b90ba32fdbc16cfd352e91badf8p+132L 1 : inexact-ok
+= lgamma tonearest ldbl-128 0xf.fffffp+124L : 0x5.7b90ba32fdbc16cfd352e91badfcp+132L 1 : inexact-ok
+= lgamma towardzero ldbl-128 0xf.fffffp+124L : 0x5.7b90ba32fdbc16cfd352e91badf8p+132L 1 : inexact-ok
+= lgamma upward ldbl-128 0xf.fffffp+124L : 0x5.7b90ba32fdbc16cfd352e91badfcp+132L 1 : inexact-ok
+= lgamma downward ldbl-128ibm 0xf.fffffp+124L : 0x5.7b90ba32fdbc16cfd352e91bacp+132L 1 : inexact-ok
+= lgamma tonearest ldbl-128ibm 0xf.fffffp+124L : 0x5.7b90ba32fdbc16cfd352e91baep+132L 1 : inexact-ok
+= lgamma towardzero ldbl-128ibm 0xf.fffffp+124L : 0x5.7b90ba32fdbc16cfd352e91bacp+132L 1 : inexact-ok
+= lgamma upward ldbl-128ibm 0xf.fffffp+124L : 0x5.7b90ba32fdbc16cfd352e91baep+132L 1 : inexact-ok
+= lgamma downward dbl-64 0xf.ffffffffffff8p+1020 : 0xf.ffffffffffff8p+1020 1 : inexact-ok overflow errno-erange-ok
+= lgamma tonearest dbl-64 0xf.ffffffffffff8p+1020 : plus_infty 1 : inexact-ok overflow errno-erange
+= lgamma towardzero dbl-64 0xf.ffffffffffff8p+1020 : 0xf.ffffffffffff8p+1020 1 : inexact-ok overflow errno-erange-ok
+= lgamma upward dbl-64 0xf.ffffffffffff8p+1020 : plus_infty 1 : inexact-ok overflow errno-erange
+= lgamma downward ldbl-96-intel 0xf.ffffffffffff8p+1020L : 0x2.c4c85fdf473dd08p+1032L 1 : inexact-ok
+= lgamma tonearest ldbl-96-intel 0xf.ffffffffffff8p+1020L : 0x2.c4c85fdf473dd08p+1032L 1 : inexact-ok
+= lgamma towardzero ldbl-96-intel 0xf.ffffffffffff8p+1020L : 0x2.c4c85fdf473dd08p+1032L 1 : inexact-ok
+= lgamma upward ldbl-96-intel 0xf.ffffffffffff8p+1020L : 0x2.c4c85fdf473dd084p+1032L 1 : inexact-ok
+= lgamma downward ldbl-96-m68k 0xf.ffffffffffff8p+1020L : 0x2.c4c85fdf473dd08p+1032L 1 : inexact-ok
+= lgamma tonearest ldbl-96-m68k 0xf.ffffffffffff8p+1020L : 0x2.c4c85fdf473dd08p+1032L 1 : inexact-ok
+= lgamma towardzero ldbl-96-m68k 0xf.ffffffffffff8p+1020L : 0x2.c4c85fdf473dd08p+1032L 1 : inexact-ok
+= lgamma upward ldbl-96-m68k 0xf.ffffffffffff8p+1020L : 0x2.c4c85fdf473dd084p+1032L 1 : inexact-ok
+= lgamma downward ldbl-128 0xf.ffffffffffff8p+1020L : 0x2.c4c85fdf473dd080e48fd4262096p+1032L 1 : inexact-ok
+= lgamma tonearest ldbl-128 0xf.ffffffffffff8p+1020L : 0x2.c4c85fdf473dd080e48fd4262096p+1032L 1 : inexact-ok
+= lgamma towardzero ldbl-128 0xf.ffffffffffff8p+1020L : 0x2.c4c85fdf473dd080e48fd4262096p+1032L 1 : inexact-ok
+= lgamma upward ldbl-128 0xf.ffffffffffff8p+1020L : 0x2.c4c85fdf473dd080e48fd4262098p+1032L 1 : inexact-ok
+= lgamma downward ldbl-128ibm 0xf.ffffffffffff8p+1020L : 0xf.ffffffffffffbffffffffffffcp+1020L 1 : inexact-ok overflow errno-erange-ok
+= lgamma tonearest ldbl-128ibm 0xf.ffffffffffff8p+1020L : plus_infty 1 : inexact-ok overflow errno-erange
+= lgamma towardzero ldbl-128ibm 0xf.ffffffffffff8p+1020L : 0xf.ffffffffffffbffffffffffffcp+1020L 1 : inexact-ok overflow errno-erange-ok
+= lgamma upward ldbl-128ibm 0xf.ffffffffffff8p+1020L : plus_infty 1 : inexact-ok overflow errno-erange
+= lgamma downward ldbl-96-intel 0x5.c6aa645fffef5f5p+16368L : 0xf.ffffffffffffffp+16380L 1 : inexact-ok
+= lgamma tonearest ldbl-96-intel 0x5.c6aa645fffef5f5p+16368L : 0xf.ffffffffffffff1p+16380L 1 : inexact-ok
+= lgamma towardzero ldbl-96-intel 0x5.c6aa645fffef5f5p+16368L : 0xf.ffffffffffffffp+16380L 1 : inexact-ok
+= lgamma upward ldbl-96-intel 0x5.c6aa645fffef5f5p+16368L : 0xf.ffffffffffffff1p+16380L 1 : inexact-ok
+= lgamma downward ldbl-96-m68k 0x5.c6aa645fffef5f5p+16368L : 0xf.ffffffffffffffp+16380L 1 : inexact-ok
+= lgamma tonearest ldbl-96-m68k 0x5.c6aa645fffef5f5p+16368L : 0xf.ffffffffffffff1p+16380L 1 : inexact-ok
+= lgamma towardzero ldbl-96-m68k 0x5.c6aa645fffef5f5p+16368L : 0xf.ffffffffffffffp+16380L 1 : inexact-ok
+= lgamma upward ldbl-96-m68k 0x5.c6aa645fffef5f5p+16368L : 0xf.ffffffffffffff1p+16380L 1 : inexact-ok
+= lgamma downward ldbl-128 0x5.c6aa645fffef5f5p+16368L : 0xf.ffffffffffffff093d65feafaa5p+16380L 1 : inexact-ok
+= lgamma tonearest ldbl-128 0x5.c6aa645fffef5f5p+16368L : 0xf.ffffffffffffff093d65feafaa5p+16380L 1 : inexact-ok
+= lgamma towardzero ldbl-128 0x5.c6aa645fffef5f5p+16368L : 0xf.ffffffffffffff093d65feafaa5p+16380L 1 : inexact-ok
+= lgamma upward ldbl-128 0x5.c6aa645fffef5f5p+16368L : 0xf.ffffffffffffff093d65feafaa58p+16380L 1 : inexact-ok
+= lgamma downward ldbl-128 0xf.ffffffffffffbffffffffffffcp+1020L : 0x2.c4c85fdf473ddb98060f5143177ep+1032L 1 : inexact-ok
+= lgamma tonearest ldbl-128 0xf.ffffffffffffbffffffffffffcp+1020L : 0x2.c4c85fdf473ddb98060f5143178p+1032L 1 : inexact-ok
+= lgamma towardzero ldbl-128 0xf.ffffffffffffbffffffffffffcp+1020L : 0x2.c4c85fdf473ddb98060f5143177ep+1032L 1 : inexact-ok
+= lgamma upward ldbl-128 0xf.ffffffffffffbffffffffffffcp+1020L : 0x2.c4c85fdf473ddb98060f5143178p+1032L 1 : inexact-ok
+= lgamma downward ldbl-128ibm 0xf.ffffffffffffbffffffffffffcp+1020L : 0xf.ffffffffffffbffffffffffffcp+1020L 1 : inexact-ok overflow errno-erange-ok
+= lgamma tonearest ldbl-128ibm 0xf.ffffffffffffbffffffffffffcp+1020L : plus_infty 1 : inexact-ok overflow errno-erange
+= lgamma towardzero ldbl-128ibm 0xf.ffffffffffffbffffffffffffcp+1020L : 0xf.ffffffffffffbffffffffffffcp+1020L 1 : inexact-ok overflow errno-erange-ok
+= lgamma upward ldbl-128ibm 0xf.ffffffffffffbffffffffffffcp+1020L : plus_infty 1 : inexact-ok overflow errno-erange
+lgamma 0x5.c6aa645fffef5ff8p+16368
+= lgamma downward flt-32 0xf.fffffp+124f : 0xf.fffffp+124f 1 : inexact-ok overflow errno-erange-ok
+= lgamma tonearest flt-32 0xf.fffffp+124f : plus_infty 1 : inexact-ok overflow errno-erange
+= lgamma towardzero flt-32 0xf.fffffp+124f : 0xf.fffffp+124f 1 : inexact-ok overflow errno-erange-ok
+= lgamma upward flt-32 0xf.fffffp+124f : plus_infty 1 : inexact-ok overflow errno-erange
+= lgamma downward dbl-64 0xf.fffffp+124 : 0x5.7b90ba32fdbcp+132 1 : inexact-ok
+= lgamma tonearest dbl-64 0xf.fffffp+124 : 0x5.7b90ba32fdbcp+132 1 : inexact-ok
+= lgamma towardzero dbl-64 0xf.fffffp+124 : 0x5.7b90ba32fdbcp+132 1 : inexact-ok
+= lgamma upward dbl-64 0xf.fffffp+124 : 0x5.7b90ba32fdbc4p+132 1 : inexact-ok
+= lgamma downward ldbl-96-intel 0xf.fffffp+124L : 0x5.7b90ba32fdbc16c8p+132L 1 : inexact-ok
+= lgamma tonearest ldbl-96-intel 0xf.fffffp+124L : 0x5.7b90ba32fdbc16dp+132L 1 : inexact-ok
+= lgamma towardzero ldbl-96-intel 0xf.fffffp+124L : 0x5.7b90ba32fdbc16c8p+132L 1 : inexact-ok
+= lgamma upward ldbl-96-intel 0xf.fffffp+124L : 0x5.7b90ba32fdbc16dp+132L 1 : inexact-ok
+= lgamma downward ldbl-96-m68k 0xf.fffffp+124L : 0x5.7b90ba32fdbc16c8p+132L 1 : inexact-ok
+= lgamma tonearest ldbl-96-m68k 0xf.fffffp+124L : 0x5.7b90ba32fdbc16dp+132L 1 : inexact-ok
+= lgamma towardzero ldbl-96-m68k 0xf.fffffp+124L : 0x5.7b90ba32fdbc16c8p+132L 1 : inexact-ok
+= lgamma upward ldbl-96-m68k 0xf.fffffp+124L : 0x5.7b90ba32fdbc16dp+132L 1 : inexact-ok
+= lgamma downward ldbl-128 0xf.fffffp+124L : 0x5.7b90ba32fdbc16cfd352e91badf8p+132L 1 : inexact-ok
+= lgamma tonearest ldbl-128 0xf.fffffp+124L : 0x5.7b90ba32fdbc16cfd352e91badfcp+132L 1 : inexact-ok
+= lgamma towardzero ldbl-128 0xf.fffffp+124L : 0x5.7b90ba32fdbc16cfd352e91badf8p+132L 1 : inexact-ok
+= lgamma upward ldbl-128 0xf.fffffp+124L : 0x5.7b90ba32fdbc16cfd352e91badfcp+132L 1 : inexact-ok
+= lgamma downward ldbl-128ibm 0xf.fffffp+124L : 0x5.7b90ba32fdbc16cfd352e91bacp+132L 1 : inexact-ok
+= lgamma tonearest ldbl-128ibm 0xf.fffffp+124L : 0x5.7b90ba32fdbc16cfd352e91baep+132L 1 : inexact-ok
+= lgamma towardzero ldbl-128ibm 0xf.fffffp+124L : 0x5.7b90ba32fdbc16cfd352e91bacp+132L 1 : inexact-ok
+= lgamma upward ldbl-128ibm 0xf.fffffp+124L : 0x5.7b90ba32fdbc16cfd352e91baep+132L 1 : inexact-ok
+= lgamma downward dbl-64 0xf.ffffffffffff8p+1020 : 0xf.ffffffffffff8p+1020 1 : inexact-ok overflow errno-erange-ok
+= lgamma tonearest dbl-64 0xf.ffffffffffff8p+1020 : plus_infty 1 : inexact-ok overflow errno-erange
+= lgamma towardzero dbl-64 0xf.ffffffffffff8p+1020 : 0xf.ffffffffffff8p+1020 1 : inexact-ok overflow errno-erange-ok
+= lgamma upward dbl-64 0xf.ffffffffffff8p+1020 : plus_infty 1 : inexact-ok overflow errno-erange
+= lgamma downward ldbl-96-intel 0xf.ffffffffffff8p+1020L : 0x2.c4c85fdf473dd08p+1032L 1 : inexact-ok
+= lgamma tonearest ldbl-96-intel 0xf.ffffffffffff8p+1020L : 0x2.c4c85fdf473dd08p+1032L 1 : inexact-ok
+= lgamma towardzero ldbl-96-intel 0xf.ffffffffffff8p+1020L : 0x2.c4c85fdf473dd08p+1032L 1 : inexact-ok
+= lgamma upward ldbl-96-intel 0xf.ffffffffffff8p+1020L : 0x2.c4c85fdf473dd084p+1032L 1 : inexact-ok
+= lgamma downward ldbl-96-m68k 0xf.ffffffffffff8p+1020L : 0x2.c4c85fdf473dd08p+1032L 1 : inexact-ok
+= lgamma tonearest ldbl-96-m68k 0xf.ffffffffffff8p+1020L : 0x2.c4c85fdf473dd08p+1032L 1 : inexact-ok
+= lgamma towardzero ldbl-96-m68k 0xf.ffffffffffff8p+1020L : 0x2.c4c85fdf473dd08p+1032L 1 : inexact-ok
+= lgamma upward ldbl-96-m68k 0xf.ffffffffffff8p+1020L : 0x2.c4c85fdf473dd084p+1032L 1 : inexact-ok
+= lgamma downward ldbl-128 0xf.ffffffffffff8p+1020L : 0x2.c4c85fdf473dd080e48fd4262096p+1032L 1 : inexact-ok
+= lgamma tonearest ldbl-128 0xf.ffffffffffff8p+1020L : 0x2.c4c85fdf473dd080e48fd4262096p+1032L 1 : inexact-ok
+= lgamma towardzero ldbl-128 0xf.ffffffffffff8p+1020L : 0x2.c4c85fdf473dd080e48fd4262096p+1032L 1 : inexact-ok
+= lgamma upward ldbl-128 0xf.ffffffffffff8p+1020L : 0x2.c4c85fdf473dd080e48fd4262098p+1032L 1 : inexact-ok
+= lgamma downward ldbl-128ibm 0xf.ffffffffffff8p+1020L : 0xf.ffffffffffffbffffffffffffcp+1020L 1 : inexact-ok overflow errno-erange-ok
+= lgamma tonearest ldbl-128ibm 0xf.ffffffffffff8p+1020L : plus_infty 1 : inexact-ok overflow errno-erange
+= lgamma towardzero ldbl-128ibm 0xf.ffffffffffff8p+1020L : 0xf.ffffffffffffbffffffffffffcp+1020L 1 : inexact-ok overflow errno-erange-ok
+= lgamma upward ldbl-128ibm 0xf.ffffffffffff8p+1020L : plus_infty 1 : inexact-ok overflow errno-erange
+= lgamma downward ldbl-96-intel 0x5.c6aa645fffef5ff8p+16368L : 0xf.fffffffffffffffp+16380L 1 : inexact-ok overflow errno-erange-ok
+= lgamma tonearest ldbl-96-intel 0x5.c6aa645fffef5ff8p+16368L : plus_infty 1 : inexact-ok overflow errno-erange
+= lgamma towardzero ldbl-96-intel 0x5.c6aa645fffef5ff8p+16368L : 0xf.fffffffffffffffp+16380L 1 : inexact-ok overflow errno-erange-ok
+= lgamma upward ldbl-96-intel 0x5.c6aa645fffef5ff8p+16368L : plus_infty 1 : inexact-ok overflow errno-erange
+= lgamma downward ldbl-96-m68k 0x5.c6aa645fffef5ff8p+16368L : 0xf.fffffffffffffffp+16380L 1 : inexact-ok overflow errno-erange-ok
+= lgamma tonearest ldbl-96-m68k 0x5.c6aa645fffef5ff8p+16368L : plus_infty 1 : inexact-ok overflow errno-erange
+= lgamma towardzero ldbl-96-m68k 0x5.c6aa645fffef5ff8p+16368L : 0xf.fffffffffffffffp+16380L 1 : inexact-ok overflow errno-erange-ok
+= lgamma upward ldbl-96-m68k 0x5.c6aa645fffef5ff8p+16368L : plus_infty 1 : inexact-ok overflow errno-erange
+= lgamma downward ldbl-128 0x5.c6aa645fffef5ff8p+16368L : 0xf.fffffffffffffffffffffffffff8p+16380L 1 : inexact-ok overflow errno-erange-ok
+= lgamma tonearest ldbl-128 0x5.c6aa645fffef5ff8p+16368L : plus_infty 1 : inexact-ok overflow errno-erange
+= lgamma towardzero ldbl-128 0x5.c6aa645fffef5ff8p+16368L : 0xf.fffffffffffffffffffffffffff8p+16380L 1 : inexact-ok overflow errno-erange-ok
+= lgamma upward ldbl-128 0x5.c6aa645fffef5ff8p+16368L : plus_infty 1 : inexact-ok overflow errno-erange
+= lgamma downward ldbl-128 0xf.ffffffffffffbffffffffffffcp+1020L : 0x2.c4c85fdf473ddb98060f5143177ep+1032L 1 : inexact-ok
+= lgamma tonearest ldbl-128 0xf.ffffffffffffbffffffffffffcp+1020L : 0x2.c4c85fdf473ddb98060f5143178p+1032L 1 : inexact-ok
+= lgamma towardzero ldbl-128 0xf.ffffffffffffbffffffffffffcp+1020L : 0x2.c4c85fdf473ddb98060f5143177ep+1032L 1 : inexact-ok
+= lgamma upward ldbl-128 0xf.ffffffffffffbffffffffffffcp+1020L : 0x2.c4c85fdf473ddb98060f5143178p+1032L 1 : inexact-ok
+= lgamma downward ldbl-128ibm 0xf.ffffffffffffbffffffffffffcp+1020L : 0xf.ffffffffffffbffffffffffffcp+1020L 1 : inexact-ok overflow errno-erange-ok
+= lgamma tonearest ldbl-128ibm 0xf.ffffffffffffbffffffffffffcp+1020L : plus_infty 1 : inexact-ok overflow errno-erange
+= lgamma towardzero ldbl-128ibm 0xf.ffffffffffffbffffffffffffcp+1020L : 0xf.ffffffffffffbffffffffffffcp+1020L 1 : inexact-ok overflow errno-erange-ok
+= lgamma upward ldbl-128ibm 0xf.ffffffffffffbffffffffffffcp+1020L : plus_infty 1 : inexact-ok overflow errno-erange
+lgamma 0x5.c6aa645fffef5fa912b9b480f7acp+16368 xfail:ldbl-96-intel xfail:ldbl-96-m68k
+= lgamma downward flt-32 0xf.fffffp+124f : 0xf.fffffp+124f 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok overflow errno-erange-ok
+= lgamma tonearest flt-32 0xf.fffffp+124f : plus_infty 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok overflow errno-erange
+= lgamma towardzero flt-32 0xf.fffffp+124f : 0xf.fffffp+124f 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok overflow errno-erange-ok
+= lgamma upward flt-32 0xf.fffffp+124f : plus_infty 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok overflow errno-erange
+= lgamma downward dbl-64 0xf.fffffp+124 : 0x5.7b90ba32fdbcp+132 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok
+= lgamma tonearest dbl-64 0xf.fffffp+124 : 0x5.7b90ba32fdbcp+132 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok
+= lgamma towardzero dbl-64 0xf.fffffp+124 : 0x5.7b90ba32fdbcp+132 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok
+= lgamma upward dbl-64 0xf.fffffp+124 : 0x5.7b90ba32fdbc4p+132 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok
+= lgamma downward ldbl-96-intel 0xf.fffffp+124L : 0x5.7b90ba32fdbc16c8p+132L 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok
+= lgamma tonearest ldbl-96-intel 0xf.fffffp+124L : 0x5.7b90ba32fdbc16dp+132L 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok
+= lgamma towardzero ldbl-96-intel 0xf.fffffp+124L : 0x5.7b90ba32fdbc16c8p+132L 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok
+= lgamma upward ldbl-96-intel 0xf.fffffp+124L : 0x5.7b90ba32fdbc16dp+132L 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok
+= lgamma downward ldbl-96-m68k 0xf.fffffp+124L : 0x5.7b90ba32fdbc16c8p+132L 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok
+= lgamma tonearest ldbl-96-m68k 0xf.fffffp+124L : 0x5.7b90ba32fdbc16dp+132L 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok
+= lgamma towardzero ldbl-96-m68k 0xf.fffffp+124L : 0x5.7b90ba32fdbc16c8p+132L 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok
+= lgamma upward ldbl-96-m68k 0xf.fffffp+124L : 0x5.7b90ba32fdbc16dp+132L 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok
+= lgamma downward ldbl-128 0xf.fffffp+124L : 0x5.7b90ba32fdbc16cfd352e91badf8p+132L 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok
+= lgamma tonearest ldbl-128 0xf.fffffp+124L : 0x5.7b90ba32fdbc16cfd352e91badfcp+132L 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok
+= lgamma towardzero ldbl-128 0xf.fffffp+124L : 0x5.7b90ba32fdbc16cfd352e91badf8p+132L 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok
+= lgamma upward ldbl-128 0xf.fffffp+124L : 0x5.7b90ba32fdbc16cfd352e91badfcp+132L 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok
+= lgamma downward ldbl-128ibm 0xf.fffffp+124L : 0x5.7b90ba32fdbc16cfd352e91bacp+132L 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok
+= lgamma tonearest ldbl-128ibm 0xf.fffffp+124L : 0x5.7b90ba32fdbc16cfd352e91baep+132L 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok
+= lgamma towardzero ldbl-128ibm 0xf.fffffp+124L : 0x5.7b90ba32fdbc16cfd352e91bacp+132L 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok
+= lgamma upward ldbl-128ibm 0xf.fffffp+124L : 0x5.7b90ba32fdbc16cfd352e91baep+132L 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok
+= lgamma downward dbl-64 0xf.ffffffffffff8p+1020 : 0xf.ffffffffffff8p+1020 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok overflow errno-erange-ok
+= lgamma tonearest dbl-64 0xf.ffffffffffff8p+1020 : plus_infty 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok overflow errno-erange
+= lgamma towardzero dbl-64 0xf.ffffffffffff8p+1020 : 0xf.ffffffffffff8p+1020 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok overflow errno-erange-ok
+= lgamma upward dbl-64 0xf.ffffffffffff8p+1020 : plus_infty 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok overflow errno-erange
+= lgamma downward ldbl-96-intel 0xf.ffffffffffff8p+1020L : 0x2.c4c85fdf473dd08p+1032L 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok
+= lgamma tonearest ldbl-96-intel 0xf.ffffffffffff8p+1020L : 0x2.c4c85fdf473dd08p+1032L 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok
+= lgamma towardzero ldbl-96-intel 0xf.ffffffffffff8p+1020L : 0x2.c4c85fdf473dd08p+1032L 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok
+= lgamma upward ldbl-96-intel 0xf.ffffffffffff8p+1020L : 0x2.c4c85fdf473dd084p+1032L 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok
+= lgamma downward ldbl-96-m68k 0xf.ffffffffffff8p+1020L : 0x2.c4c85fdf473dd08p+1032L 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok
+= lgamma tonearest ldbl-96-m68k 0xf.ffffffffffff8p+1020L : 0x2.c4c85fdf473dd08p+1032L 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok
+= lgamma towardzero ldbl-96-m68k 0xf.ffffffffffff8p+1020L : 0x2.c4c85fdf473dd08p+1032L 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok
+= lgamma upward ldbl-96-m68k 0xf.ffffffffffff8p+1020L : 0x2.c4c85fdf473dd084p+1032L 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok
+= lgamma downward ldbl-128 0xf.ffffffffffff8p+1020L : 0x2.c4c85fdf473dd080e48fd4262096p+1032L 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok
+= lgamma tonearest ldbl-128 0xf.ffffffffffff8p+1020L : 0x2.c4c85fdf473dd080e48fd4262096p+1032L 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok
+= lgamma towardzero ldbl-128 0xf.ffffffffffff8p+1020L : 0x2.c4c85fdf473dd080e48fd4262096p+1032L 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok
+= lgamma upward ldbl-128 0xf.ffffffffffff8p+1020L : 0x2.c4c85fdf473dd080e48fd4262098p+1032L 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok
+= lgamma downward ldbl-128ibm 0xf.ffffffffffff8p+1020L : 0xf.ffffffffffffbffffffffffffcp+1020L 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok overflow errno-erange-ok
+= lgamma tonearest ldbl-128ibm 0xf.ffffffffffff8p+1020L : plus_infty 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok overflow errno-erange
+= lgamma towardzero ldbl-128ibm 0xf.ffffffffffff8p+1020L : 0xf.ffffffffffffbffffffffffffcp+1020L 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok overflow errno-erange-ok
+= lgamma upward ldbl-128ibm 0xf.ffffffffffff8p+1020L : plus_infty 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok overflow errno-erange
+= lgamma downward ldbl-96-intel 0x5.c6aa645fffef5fbp+16368L : 0xf.fffffffffffffffp+16380L 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok overflow errno-erange-ok
+= lgamma tonearest ldbl-96-intel 0x5.c6aa645fffef5fbp+16368L : plus_infty 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok overflow errno-erange
+= lgamma towardzero ldbl-96-intel 0x5.c6aa645fffef5fbp+16368L : 0xf.fffffffffffffffp+16380L 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok overflow errno-erange-ok
+= lgamma upward ldbl-96-intel 0x5.c6aa645fffef5fbp+16368L : plus_infty 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok overflow errno-erange
+= lgamma downward ldbl-96-m68k 0x5.c6aa645fffef5fbp+16368L : 0xf.fffffffffffffffp+16380L 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok overflow errno-erange-ok
+= lgamma tonearest ldbl-96-m68k 0x5.c6aa645fffef5fbp+16368L : plus_infty 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok overflow errno-erange
+= lgamma towardzero ldbl-96-m68k 0x5.c6aa645fffef5fbp+16368L : 0xf.fffffffffffffffp+16380L 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok overflow errno-erange-ok
+= lgamma upward ldbl-96-m68k 0x5.c6aa645fffef5fbp+16368L : plus_infty 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok overflow errno-erange
+= lgamma downward ldbl-128 0x5.c6aa645fffef5fbp+16368L : 0xf.fffffffffffffffffffffffffff8p+16380L 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok overflow errno-erange-ok
+= lgamma tonearest ldbl-128 0x5.c6aa645fffef5fbp+16368L : plus_infty 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok overflow errno-erange
+= lgamma towardzero ldbl-128 0x5.c6aa645fffef5fbp+16368L : 0xf.fffffffffffffffffffffffffff8p+16380L 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok overflow errno-erange-ok
+= lgamma upward ldbl-128 0x5.c6aa645fffef5fbp+16368L : plus_infty 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok overflow errno-erange
+= lgamma downward ldbl-96-intel 0x5.c6aa645fffef5fa8p+16368L : 0xf.fffffffffffffffp+16380L 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok
+= lgamma tonearest ldbl-96-intel 0x5.c6aa645fffef5fa8p+16368L : plus_infty 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok overflow errno-erange
+= lgamma towardzero ldbl-96-intel 0x5.c6aa645fffef5fa8p+16368L : 0xf.fffffffffffffffp+16380L 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok
+= lgamma upward ldbl-96-intel 0x5.c6aa645fffef5fa8p+16368L : plus_infty 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok overflow errno-erange
+= lgamma downward ldbl-96-m68k 0x5.c6aa645fffef5fa8p+16368L : 0xf.fffffffffffffffp+16380L 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok
+= lgamma tonearest ldbl-96-m68k 0x5.c6aa645fffef5fa8p+16368L : plus_infty 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok overflow errno-erange
+= lgamma towardzero ldbl-96-m68k 0x5.c6aa645fffef5fa8p+16368L : 0xf.fffffffffffffffp+16380L 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok
+= lgamma upward ldbl-96-m68k 0x5.c6aa645fffef5fa8p+16368L : plus_infty 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok overflow errno-erange
+= lgamma downward ldbl-128 0x5.c6aa645fffef5fa8p+16368L : 0xf.fffffffffffffffd06ecf74e1a58p+16380L 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok
+= lgamma tonearest ldbl-128 0x5.c6aa645fffef5fa8p+16368L : 0xf.fffffffffffffffd06ecf74e1a6p+16380L 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok
+= lgamma towardzero ldbl-128 0x5.c6aa645fffef5fa8p+16368L : 0xf.fffffffffffffffd06ecf74e1a58p+16380L 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok
+= lgamma upward ldbl-128 0x5.c6aa645fffef5fa8p+16368L : 0xf.fffffffffffffffd06ecf74e1a6p+16380L 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok
+= lgamma downward ldbl-128 0x5.c6aa645fffef5fa912b9b480f7acp+16368L : 0xf.ffffffffffffffffffffffffff8p+16380L 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok
+= lgamma tonearest ldbl-128 0x5.c6aa645fffef5fa912b9b480f7acp+16368L : 0xf.ffffffffffffffffffffffffff8p+16380L 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok
+= lgamma towardzero ldbl-128 0x5.c6aa645fffef5fa912b9b480f7acp+16368L : 0xf.ffffffffffffffffffffffffff8p+16380L 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok
+= lgamma upward ldbl-128 0x5.c6aa645fffef5fa912b9b480f7acp+16368L : 0xf.ffffffffffffffffffffffffff88p+16380L 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok
+= lgamma downward ldbl-128 0xf.ffffffffffffbffffffffffffcp+1020L : 0x2.c4c85fdf473ddb98060f5143177ep+1032L 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok
+= lgamma tonearest ldbl-128 0xf.ffffffffffffbffffffffffffcp+1020L : 0x2.c4c85fdf473ddb98060f5143178p+1032L 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok
+= lgamma towardzero ldbl-128 0xf.ffffffffffffbffffffffffffcp+1020L : 0x2.c4c85fdf473ddb98060f5143177ep+1032L 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok
+= lgamma upward ldbl-128 0xf.ffffffffffffbffffffffffffcp+1020L : 0x2.c4c85fdf473ddb98060f5143178p+1032L 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok
+= lgamma downward ldbl-128ibm 0xf.ffffffffffffbffffffffffffcp+1020L : 0xf.ffffffffffffbffffffffffffcp+1020L 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok overflow errno-erange-ok
+= lgamma tonearest ldbl-128ibm 0xf.ffffffffffffbffffffffffffcp+1020L : plus_infty 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok overflow errno-erange
+= lgamma towardzero ldbl-128ibm 0xf.ffffffffffffbffffffffffffcp+1020L : 0xf.ffffffffffffbffffffffffffcp+1020L 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok overflow errno-erange-ok
+= lgamma upward ldbl-128ibm 0xf.ffffffffffffbffffffffffffcp+1020L : plus_infty 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok overflow errno-erange
+lgamma 0x5.c6aa645fffef5fa912b9b480f8p+16368 xfail:ldbl-96-intel xfail:ldbl-96-m68k
+= lgamma downward flt-32 0xf.fffffp+124f : 0xf.fffffp+124f 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok overflow errno-erange-ok
+= lgamma tonearest flt-32 0xf.fffffp+124f : plus_infty 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok overflow errno-erange
+= lgamma towardzero flt-32 0xf.fffffp+124f : 0xf.fffffp+124f 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok overflow errno-erange-ok
+= lgamma upward flt-32 0xf.fffffp+124f : plus_infty 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok overflow errno-erange
+= lgamma downward dbl-64 0xf.fffffp+124 : 0x5.7b90ba32fdbcp+132 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok
+= lgamma tonearest dbl-64 0xf.fffffp+124 : 0x5.7b90ba32fdbcp+132 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok
+= lgamma towardzero dbl-64 0xf.fffffp+124 : 0x5.7b90ba32fdbcp+132 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok
+= lgamma upward dbl-64 0xf.fffffp+124 : 0x5.7b90ba32fdbc4p+132 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok
+= lgamma downward ldbl-96-intel 0xf.fffffp+124L : 0x5.7b90ba32fdbc16c8p+132L 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok
+= lgamma tonearest ldbl-96-intel 0xf.fffffp+124L : 0x5.7b90ba32fdbc16dp+132L 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok
+= lgamma towardzero ldbl-96-intel 0xf.fffffp+124L : 0x5.7b90ba32fdbc16c8p+132L 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok
+= lgamma upward ldbl-96-intel 0xf.fffffp+124L : 0x5.7b90ba32fdbc16dp+132L 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok
+= lgamma downward ldbl-96-m68k 0xf.fffffp+124L : 0x5.7b90ba32fdbc16c8p+132L 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok
+= lgamma tonearest ldbl-96-m68k 0xf.fffffp+124L : 0x5.7b90ba32fdbc16dp+132L 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok
+= lgamma towardzero ldbl-96-m68k 0xf.fffffp+124L : 0x5.7b90ba32fdbc16c8p+132L 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok
+= lgamma upward ldbl-96-m68k 0xf.fffffp+124L : 0x5.7b90ba32fdbc16dp+132L 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok
+= lgamma downward ldbl-128 0xf.fffffp+124L : 0x5.7b90ba32fdbc16cfd352e91badf8p+132L 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok
+= lgamma tonearest ldbl-128 0xf.fffffp+124L : 0x5.7b90ba32fdbc16cfd352e91badfcp+132L 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok
+= lgamma towardzero ldbl-128 0xf.fffffp+124L : 0x5.7b90ba32fdbc16cfd352e91badf8p+132L 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok
+= lgamma upward ldbl-128 0xf.fffffp+124L : 0x5.7b90ba32fdbc16cfd352e91badfcp+132L 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok
+= lgamma downward ldbl-128ibm 0xf.fffffp+124L : 0x5.7b90ba32fdbc16cfd352e91bacp+132L 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok
+= lgamma tonearest ldbl-128ibm 0xf.fffffp+124L : 0x5.7b90ba32fdbc16cfd352e91baep+132L 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok
+= lgamma towardzero ldbl-128ibm 0xf.fffffp+124L : 0x5.7b90ba32fdbc16cfd352e91bacp+132L 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok
+= lgamma upward ldbl-128ibm 0xf.fffffp+124L : 0x5.7b90ba32fdbc16cfd352e91baep+132L 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok
+= lgamma downward dbl-64 0xf.ffffffffffff8p+1020 : 0xf.ffffffffffff8p+1020 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok overflow errno-erange-ok
+= lgamma tonearest dbl-64 0xf.ffffffffffff8p+1020 : plus_infty 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok overflow errno-erange
+= lgamma towardzero dbl-64 0xf.ffffffffffff8p+1020 : 0xf.ffffffffffff8p+1020 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok overflow errno-erange-ok
+= lgamma upward dbl-64 0xf.ffffffffffff8p+1020 : plus_infty 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok overflow errno-erange
+= lgamma downward ldbl-96-intel 0xf.ffffffffffff8p+1020L : 0x2.c4c85fdf473dd08p+1032L 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok
+= lgamma tonearest ldbl-96-intel 0xf.ffffffffffff8p+1020L : 0x2.c4c85fdf473dd08p+1032L 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok
+= lgamma towardzero ldbl-96-intel 0xf.ffffffffffff8p+1020L : 0x2.c4c85fdf473dd08p+1032L 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok
+= lgamma upward ldbl-96-intel 0xf.ffffffffffff8p+1020L : 0x2.c4c85fdf473dd084p+1032L 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok
+= lgamma downward ldbl-96-m68k 0xf.ffffffffffff8p+1020L : 0x2.c4c85fdf473dd08p+1032L 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok
+= lgamma tonearest ldbl-96-m68k 0xf.ffffffffffff8p+1020L : 0x2.c4c85fdf473dd08p+1032L 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok
+= lgamma towardzero ldbl-96-m68k 0xf.ffffffffffff8p+1020L : 0x2.c4c85fdf473dd08p+1032L 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok
+= lgamma upward ldbl-96-m68k 0xf.ffffffffffff8p+1020L : 0x2.c4c85fdf473dd084p+1032L 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok
+= lgamma downward ldbl-128 0xf.ffffffffffff8p+1020L : 0x2.c4c85fdf473dd080e48fd4262096p+1032L 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok
+= lgamma tonearest ldbl-128 0xf.ffffffffffff8p+1020L : 0x2.c4c85fdf473dd080e48fd4262096p+1032L 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok
+= lgamma towardzero ldbl-128 0xf.ffffffffffff8p+1020L : 0x2.c4c85fdf473dd080e48fd4262096p+1032L 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok
+= lgamma upward ldbl-128 0xf.ffffffffffff8p+1020L : 0x2.c4c85fdf473dd080e48fd4262098p+1032L 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok
+= lgamma downward ldbl-128ibm 0xf.ffffffffffff8p+1020L : 0xf.ffffffffffffbffffffffffffcp+1020L 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok overflow errno-erange-ok
+= lgamma tonearest ldbl-128ibm 0xf.ffffffffffff8p+1020L : plus_infty 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok overflow errno-erange
+= lgamma towardzero ldbl-128ibm 0xf.ffffffffffff8p+1020L : 0xf.ffffffffffffbffffffffffffcp+1020L 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok overflow errno-erange-ok
+= lgamma upward ldbl-128ibm 0xf.ffffffffffff8p+1020L : plus_infty 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok overflow errno-erange
+= lgamma downward ldbl-96-intel 0x5.c6aa645fffef5fbp+16368L : 0xf.fffffffffffffffp+16380L 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok overflow errno-erange-ok
+= lgamma tonearest ldbl-96-intel 0x5.c6aa645fffef5fbp+16368L : plus_infty 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok overflow errno-erange
+= lgamma towardzero ldbl-96-intel 0x5.c6aa645fffef5fbp+16368L : 0xf.fffffffffffffffp+16380L 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok overflow errno-erange-ok
+= lgamma upward ldbl-96-intel 0x5.c6aa645fffef5fbp+16368L : plus_infty 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok overflow errno-erange
+= lgamma downward ldbl-96-m68k 0x5.c6aa645fffef5fbp+16368L : 0xf.fffffffffffffffp+16380L 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok overflow errno-erange-ok
+= lgamma tonearest ldbl-96-m68k 0x5.c6aa645fffef5fbp+16368L : plus_infty 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok overflow errno-erange
+= lgamma towardzero ldbl-96-m68k 0x5.c6aa645fffef5fbp+16368L : 0xf.fffffffffffffffp+16380L 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok overflow errno-erange-ok
+= lgamma upward ldbl-96-m68k 0x5.c6aa645fffef5fbp+16368L : plus_infty 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok overflow errno-erange
+= lgamma downward ldbl-128 0x5.c6aa645fffef5fbp+16368L : 0xf.fffffffffffffffffffffffffff8p+16380L 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok overflow errno-erange-ok
+= lgamma tonearest ldbl-128 0x5.c6aa645fffef5fbp+16368L : plus_infty 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok overflow errno-erange
+= lgamma towardzero ldbl-128 0x5.c6aa645fffef5fbp+16368L : 0xf.fffffffffffffffffffffffffff8p+16380L 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok overflow errno-erange-ok
+= lgamma upward ldbl-128 0x5.c6aa645fffef5fbp+16368L : plus_infty 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok overflow errno-erange
+= lgamma downward ldbl-96-intel 0x5.c6aa645fffef5fa8p+16368L : 0xf.fffffffffffffffp+16380L 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok
+= lgamma tonearest ldbl-96-intel 0x5.c6aa645fffef5fa8p+16368L : plus_infty 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok overflow errno-erange
+= lgamma towardzero ldbl-96-intel 0x5.c6aa645fffef5fa8p+16368L : 0xf.fffffffffffffffp+16380L 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok
+= lgamma upward ldbl-96-intel 0x5.c6aa645fffef5fa8p+16368L : plus_infty 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok overflow errno-erange
+= lgamma downward ldbl-96-m68k 0x5.c6aa645fffef5fa8p+16368L : 0xf.fffffffffffffffp+16380L 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok
+= lgamma tonearest ldbl-96-m68k 0x5.c6aa645fffef5fa8p+16368L : plus_infty 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok overflow errno-erange
+= lgamma towardzero ldbl-96-m68k 0x5.c6aa645fffef5fa8p+16368L : 0xf.fffffffffffffffp+16380L 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok
+= lgamma upward ldbl-96-m68k 0x5.c6aa645fffef5fa8p+16368L : plus_infty 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok overflow errno-erange
+= lgamma downward ldbl-128 0x5.c6aa645fffef5fa8p+16368L : 0xf.fffffffffffffffd06ecf74e1a58p+16380L 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok
+= lgamma tonearest ldbl-128 0x5.c6aa645fffef5fa8p+16368L : 0xf.fffffffffffffffd06ecf74e1a6p+16380L 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok
+= lgamma towardzero ldbl-128 0x5.c6aa645fffef5fa8p+16368L : 0xf.fffffffffffffffd06ecf74e1a58p+16380L 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok
+= lgamma upward ldbl-128 0x5.c6aa645fffef5fa8p+16368L : 0xf.fffffffffffffffd06ecf74e1a6p+16380L 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok
+= lgamma downward ldbl-128 0x5.c6aa645fffef5fa912b9b480f8p+16368L : 0xf.fffffffffffffffffffffffffff8p+16380L 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok overflow errno-erange-ok
+= lgamma tonearest ldbl-128 0x5.c6aa645fffef5fa912b9b480f8p+16368L : plus_infty 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok overflow errno-erange
+= lgamma towardzero ldbl-128 0x5.c6aa645fffef5fa912b9b480f8p+16368L : 0xf.fffffffffffffffffffffffffff8p+16380L 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok overflow errno-erange-ok
+= lgamma upward ldbl-128 0x5.c6aa645fffef5fa912b9b480f8p+16368L : plus_infty 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok overflow errno-erange
+= lgamma downward ldbl-128 0xf.ffffffffffffbffffffffffffcp+1020L : 0x2.c4c85fdf473ddb98060f5143177ep+1032L 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok
+= lgamma tonearest ldbl-128 0xf.ffffffffffffbffffffffffffcp+1020L : 0x2.c4c85fdf473ddb98060f5143178p+1032L 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok
+= lgamma towardzero ldbl-128 0xf.ffffffffffffbffffffffffffcp+1020L : 0x2.c4c85fdf473ddb98060f5143177ep+1032L 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok
+= lgamma upward ldbl-128 0xf.ffffffffffffbffffffffffffcp+1020L : 0x2.c4c85fdf473ddb98060f5143178p+1032L 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok
+= lgamma downward ldbl-128ibm 0xf.ffffffffffffbffffffffffffcp+1020L : 0xf.ffffffffffffbffffffffffffcp+1020L 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok overflow errno-erange-ok
+= lgamma tonearest ldbl-128ibm 0xf.ffffffffffffbffffffffffffcp+1020L : plus_infty 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok overflow errno-erange
+= lgamma towardzero ldbl-128ibm 0xf.ffffffffffffbffffffffffffcp+1020L : 0xf.ffffffffffffbffffffffffffcp+1020L 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok overflow errno-erange-ok
+= lgamma upward ldbl-128ibm 0xf.ffffffffffffbffffffffffffcp+1020L : plus_infty 1 : xfail:ldbl-96-intel xfail:ldbl-96-m68k inexact-ok overflow errno-erange
 lgamma -0x1.fa471547c2fe5p+1
 = lgamma downward flt-32 -0x3.f48e28p+0f : -0x3.511bccp-20f 1 : inexact-ok
 = lgamma tonearest flt-32 -0x3.f48e28p+0f : -0x3.511bccp-20f 1 : inexact-ok
diff --git a/sysdeps/ieee754/ldbl-128/e_lgammal_r.c b/sysdeps/ieee754/ldbl-128/e_lgammal_r.c
index ab5a96eb11..5b513ea1df 100644
--- a/sysdeps/ieee754/ldbl-128/e_lgammal_r.c
+++ b/sysdeps/ieee754/ldbl-128/e_lgammal_r.c
@@ -70,17 +70,14 @@
 
 #include <math.h>
 #include <math_private.h>
-#include <libc-internal.h>
 #include <float.h>
 
-/* BZ#16347: ldbl-128ibm uses this file as is, however the MAXLGM
-   definition overflows for IBM long double.  This directive prevents the
-   overflow warnings until IBM long double version is fixed.  */
 static const long double PIL = 3.1415926535897932384626433832795028841972E0L;
-DIAG_PUSH_NEEDS_COMMENT;
-DIAG_IGNORE_NEEDS_COMMENT (4.6, "-Woverflow");
+#if LDBL_MANT_DIG == 106
+static const long double MAXLGM = 0x5.d53649e2d469dbc1f01e99fd66p+1012L;
+#else
 static const long double MAXLGM = 1.0485738685148938358098967157129705071571E4928L;
-DIAG_POP_NEEDS_COMMENT;
+#endif
 static const long double one = 1.0L;
 static const long double huge = LDBL_MAX;
 
@@ -1035,6 +1032,8 @@ __ieee754_lgammal_r (long double x, int *signgamp)
   if (x > MAXLGM)
     return (*signgamp * huge * huge);
 
+  if (x > 0x1p120L)
+    return x * (__logl (x) - 1.0L);
   q = ls2pi - x;
   q = (x - 0.5L) * __logl (x) + q;
   if (x > 1.0e18L)