summary refs log tree commit diff
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2015-05-01 23:15:07 +0000
committerJoseph Myers <joseph@codesourcery.com>2015-05-01 23:15:07 +0000
commit51e15247c39b0483499079ba6617c8eb666941d3 (patch)
tree3b5aed7999d96d801f2c42370f80dedd51e95a55
parent5ffb9a53d7d8dec873b272d162ba4f84452a3d03 (diff)
downloadglibc-51e15247c39b0483499079ba6617c8eb666941d3.tar.gz
glibc-51e15247c39b0483499079ba6617c8eb666941d3.tar.xz
glibc-51e15247c39b0483499079ba6617c8eb666941d3.zip
Add more tests of tgamma.
This patch adds some randomly-generated tests of tgamma that are
observed to increase ulps on x86_64.

Tested for x86_64 and x86 and ulps updated accordingly.

	* math/auto-libm-test-in: Add more tests of tgamma.
	* math/auto-libm-test-out: Regenerated.
	* sysdeps/i386/fpu/libm-test-ulps: Update.
	* sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
-rw-r--r--ChangeLog5
-rw-r--r--math/auto-libm-test-in4
-rw-r--r--math/auto-libm-test-out199
-rw-r--r--sysdeps/i386/fpu/libm-test-ulps12
-rw-r--r--sysdeps/x86_64/fpu/libm-test-ulps12
5 files changed, 220 insertions, 12 deletions
diff --git a/ChangeLog b/ChangeLog
index a8ff1171b1..5f6c02b62e 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 tgamma.
+	* 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 tanh.
 	* math/auto-libm-test-out: Regenerated.
 	* sysdeps/i386/fpu/libm-test-ulps: Update.
diff --git a/math/auto-libm-test-in b/math/auto-libm-test-in
index 64000ffbb7..89fcc17160 100644
--- a/math/auto-libm-test-in
+++ b/math/auto-libm-test-in
@@ -2870,6 +2870,10 @@ tgamma 0x6.db8c603359a971081bc4a2e9dfd4p+8
 tgamma 1e3
 tgamma -100000.5
 
+tgamma -0x3.06644cp+0
+tgamma -0x6.fe4636e0c5064p+0
+tgamma -0x7.a13d7a2945cd5718p+0
+
 y0 0.125
 y0 0.75
 y0 1.0
diff --git a/math/auto-libm-test-out b/math/auto-libm-test-out
index aff7559c76..b13ac2feef 100644
--- a/math/auto-libm-test-out
+++ b/math/auto-libm-test-out
@@ -209899,6 +209899,205 @@ tgamma -100000.5
 = tgamma tonearest ldbl-128ibm -0x1.86a08p+16L : -0x0p+0L : inexact-ok underflow errno-erange
 = tgamma towardzero ldbl-128ibm -0x1.86a08p+16L : -0x0p+0L : inexact-ok underflow errno-erange
 = tgamma upward ldbl-128ibm -0x1.86a08p+16L : -0x0p+0L : inexact-ok underflow errno-erange
+tgamma -0x3.06644cp+0
+= tgamma downward flt-32 -0x3.06644cp+0f : 0x6.79a69p+0f : inexact-ok
+= tgamma tonearest flt-32 -0x3.06644cp+0f : 0x6.79a698p+0f : inexact-ok
+= tgamma towardzero flt-32 -0x3.06644cp+0f : 0x6.79a69p+0f : inexact-ok
+= tgamma upward flt-32 -0x3.06644cp+0f : 0x6.79a698p+0f : inexact-ok
+= tgamma downward dbl-64 -0x3.06644cp+0 : 0x6.79a69724dabd4p+0 : inexact-ok
+= tgamma tonearest dbl-64 -0x3.06644cp+0 : 0x6.79a69724dabd4p+0 : inexact-ok
+= tgamma towardzero dbl-64 -0x3.06644cp+0 : 0x6.79a69724dabd4p+0 : inexact-ok
+= tgamma upward dbl-64 -0x3.06644cp+0 : 0x6.79a69724dabd8p+0 : inexact-ok
+= tgamma downward ldbl-96-intel -0x3.06644cp+0L : 0x6.79a69724dabd5bb8p+0L : inexact-ok
+= tgamma tonearest ldbl-96-intel -0x3.06644cp+0L : 0x6.79a69724dabd5bb8p+0L : inexact-ok
+= tgamma towardzero ldbl-96-intel -0x3.06644cp+0L : 0x6.79a69724dabd5bb8p+0L : inexact-ok
+= tgamma upward ldbl-96-intel -0x3.06644cp+0L : 0x6.79a69724dabd5bcp+0L : inexact-ok
+= tgamma downward ldbl-96-m68k -0x3.06644cp+0L : 0x6.79a69724dabd5bb8p+0L : inexact-ok
+= tgamma tonearest ldbl-96-m68k -0x3.06644cp+0L : 0x6.79a69724dabd5bb8p+0L : inexact-ok
+= tgamma towardzero ldbl-96-m68k -0x3.06644cp+0L : 0x6.79a69724dabd5bb8p+0L : inexact-ok
+= tgamma upward ldbl-96-m68k -0x3.06644cp+0L : 0x6.79a69724dabd5bcp+0L : inexact-ok
+= tgamma downward ldbl-128 -0x3.06644cp+0L : 0x6.79a69724dabd5bb9060933f3879cp+0L : inexact-ok
+= tgamma tonearest ldbl-128 -0x3.06644cp+0L : 0x6.79a69724dabd5bb9060933f3879cp+0L : inexact-ok
+= tgamma towardzero ldbl-128 -0x3.06644cp+0L : 0x6.79a69724dabd5bb9060933f3879cp+0L : inexact-ok
+= tgamma upward ldbl-128 -0x3.06644cp+0L : 0x6.79a69724dabd5bb9060933f387ap+0L : inexact-ok
+= tgamma downward ldbl-128ibm -0x3.06644cp+0L : 0x6.79a69724dabd5bb9060933f386p+0L : inexact-ok
+= tgamma tonearest ldbl-128ibm -0x3.06644cp+0L : 0x6.79a69724dabd5bb9060933f388p+0L : inexact-ok
+= tgamma towardzero ldbl-128ibm -0x3.06644cp+0L : 0x6.79a69724dabd5bb9060933f386p+0L : inexact-ok
+= tgamma upward ldbl-128ibm -0x3.06644cp+0L : 0x6.79a69724dabd5bb9060933f388p+0L : inexact-ok
+tgamma -0x6.fe4636e0c5064p+0
+= tgamma downward flt-32 -0x6.fe463p+0f : -0x7.a358e8p-8f : inexact-ok
+= tgamma tonearest flt-32 -0x6.fe463p+0f : -0x7.a358ep-8f : inexact-ok
+= tgamma towardzero flt-32 -0x6.fe463p+0f : -0x7.a358ep-8f : inexact-ok
+= tgamma upward flt-32 -0x6.fe463p+0f : -0x7.a358ep-8f : inexact-ok
+= tgamma downward dbl-64 -0x6.fe463p+0 : -0x7.a358e3487d194p-8 : inexact-ok
+= tgamma tonearest dbl-64 -0x6.fe463p+0 : -0x7.a358e3487d19p-8 : inexact-ok
+= tgamma towardzero dbl-64 -0x6.fe463p+0 : -0x7.a358e3487d19p-8 : inexact-ok
+= tgamma upward dbl-64 -0x6.fe463p+0 : -0x7.a358e3487d19p-8 : inexact-ok
+= tgamma downward ldbl-96-intel -0x6.fe463p+0L : -0x7.a358e3487d191788p-8L : inexact-ok
+= tgamma tonearest ldbl-96-intel -0x6.fe463p+0L : -0x7.a358e3487d191788p-8L : inexact-ok
+= tgamma towardzero ldbl-96-intel -0x6.fe463p+0L : -0x7.a358e3487d19178p-8L : inexact-ok
+= tgamma upward ldbl-96-intel -0x6.fe463p+0L : -0x7.a358e3487d19178p-8L : inexact-ok
+= tgamma downward ldbl-96-m68k -0x6.fe463p+0L : -0x7.a358e3487d191788p-8L : inexact-ok
+= tgamma tonearest ldbl-96-m68k -0x6.fe463p+0L : -0x7.a358e3487d191788p-8L : inexact-ok
+= tgamma towardzero ldbl-96-m68k -0x6.fe463p+0L : -0x7.a358e3487d19178p-8L : inexact-ok
+= tgamma upward ldbl-96-m68k -0x6.fe463p+0L : -0x7.a358e3487d19178p-8L : inexact-ok
+= tgamma downward ldbl-128 -0x6.fe463p+0L : -0x7.a358e3487d1917861572978145fcp-8L : inexact-ok
+= tgamma tonearest ldbl-128 -0x6.fe463p+0L : -0x7.a358e3487d1917861572978145f8p-8L : inexact-ok
+= tgamma towardzero ldbl-128 -0x6.fe463p+0L : -0x7.a358e3487d1917861572978145f8p-8L : inexact-ok
+= tgamma upward ldbl-128 -0x6.fe463p+0L : -0x7.a358e3487d1917861572978145f8p-8L : inexact-ok
+= tgamma downward ldbl-128ibm -0x6.fe463p+0L : -0x7.a358e3487d1917861572978146p-8L : inexact-ok
+= tgamma tonearest ldbl-128ibm -0x6.fe463p+0L : -0x7.a358e3487d1917861572978146p-8L : inexact-ok
+= tgamma towardzero ldbl-128ibm -0x6.fe463p+0L : -0x7.a358e3487d1917861572978144p-8L : inexact-ok
+= tgamma upward ldbl-128ibm -0x6.fe463p+0L : -0x7.a358e3487d1917861572978144p-8L : inexact-ok
+= tgamma downward flt-32 -0x6.fe4638p+0f : -0x7.a37bdp-8f : inexact-ok
+= tgamma tonearest flt-32 -0x6.fe4638p+0f : -0x7.a37bdp-8f : inexact-ok
+= tgamma towardzero flt-32 -0x6.fe4638p+0f : -0x7.a37bc8p-8f : inexact-ok
+= tgamma upward flt-32 -0x6.fe4638p+0f : -0x7.a37bc8p-8f : inexact-ok
+= tgamma downward dbl-64 -0x6.fe4638p+0 : -0x7.a37bcf5d9826cp-8 : inexact-ok
+= tgamma tonearest dbl-64 -0x6.fe4638p+0 : -0x7.a37bcf5d98268p-8 : inexact-ok
+= tgamma towardzero dbl-64 -0x6.fe4638p+0 : -0x7.a37bcf5d98268p-8 : inexact-ok
+= tgamma upward dbl-64 -0x6.fe4638p+0 : -0x7.a37bcf5d98268p-8 : inexact-ok
+= tgamma downward ldbl-96-intel -0x6.fe4638p+0L : -0x7.a37bcf5d9826858p-8L : inexact-ok
+= tgamma tonearest ldbl-96-intel -0x6.fe4638p+0L : -0x7.a37bcf5d9826858p-8L : inexact-ok
+= tgamma towardzero ldbl-96-intel -0x6.fe4638p+0L : -0x7.a37bcf5d98268578p-8L : inexact-ok
+= tgamma upward ldbl-96-intel -0x6.fe4638p+0L : -0x7.a37bcf5d98268578p-8L : inexact-ok
+= tgamma downward ldbl-96-m68k -0x6.fe4638p+0L : -0x7.a37bcf5d9826858p-8L : inexact-ok
+= tgamma tonearest ldbl-96-m68k -0x6.fe4638p+0L : -0x7.a37bcf5d9826858p-8L : inexact-ok
+= tgamma towardzero ldbl-96-m68k -0x6.fe4638p+0L : -0x7.a37bcf5d98268578p-8L : inexact-ok
+= tgamma upward ldbl-96-m68k -0x6.fe4638p+0L : -0x7.a37bcf5d98268578p-8L : inexact-ok
+= tgamma downward ldbl-128 -0x6.fe4638p+0L : -0x7.a37bcf5d9826857da64dff936df8p-8L : inexact-ok
+= tgamma tonearest ldbl-128 -0x6.fe4638p+0L : -0x7.a37bcf5d9826857da64dff936df8p-8L : inexact-ok
+= tgamma towardzero ldbl-128 -0x6.fe4638p+0L : -0x7.a37bcf5d9826857da64dff936df4p-8L : inexact-ok
+= tgamma upward ldbl-128 -0x6.fe4638p+0L : -0x7.a37bcf5d9826857da64dff936df4p-8L : inexact-ok
+= tgamma downward ldbl-128ibm -0x6.fe4638p+0L : -0x7.a37bcf5d9826857da64dff936ep-8L : inexact-ok
+= tgamma tonearest ldbl-128ibm -0x6.fe4638p+0L : -0x7.a37bcf5d9826857da64dff936ep-8L : inexact-ok
+= tgamma towardzero ldbl-128ibm -0x6.fe4638p+0L : -0x7.a37bcf5d9826857da64dff936cp-8L : inexact-ok
+= tgamma upward ldbl-128ibm -0x6.fe4638p+0L : -0x7.a37bcf5d9826857da64dff936cp-8L : inexact-ok
+= tgamma downward dbl-64 -0x6.fe4636e0c5064p+0 : -0x7.a376e9732b0c4p-8 : inexact-ok
+= tgamma tonearest dbl-64 -0x6.fe4636e0c5064p+0 : -0x7.a376e9732b0c4p-8 : inexact-ok
+= tgamma towardzero dbl-64 -0x6.fe4636e0c5064p+0 : -0x7.a376e9732b0cp-8 : inexact-ok
+= tgamma upward dbl-64 -0x6.fe4636e0c5064p+0 : -0x7.a376e9732b0cp-8 : inexact-ok
+= tgamma downward ldbl-96-intel -0x6.fe4636e0c5064p+0L : -0x7.a376e9732b0c248p-8L : inexact-ok
+= tgamma tonearest ldbl-96-intel -0x6.fe4636e0c5064p+0L : -0x7.a376e9732b0c2478p-8L : inexact-ok
+= tgamma towardzero ldbl-96-intel -0x6.fe4636e0c5064p+0L : -0x7.a376e9732b0c2478p-8L : inexact-ok
+= tgamma upward ldbl-96-intel -0x6.fe4636e0c5064p+0L : -0x7.a376e9732b0c2478p-8L : inexact-ok
+= tgamma downward ldbl-96-m68k -0x6.fe4636e0c5064p+0L : -0x7.a376e9732b0c248p-8L : inexact-ok
+= tgamma tonearest ldbl-96-m68k -0x6.fe4636e0c5064p+0L : -0x7.a376e9732b0c2478p-8L : inexact-ok
+= tgamma towardzero ldbl-96-m68k -0x6.fe4636e0c5064p+0L : -0x7.a376e9732b0c2478p-8L : inexact-ok
+= tgamma upward ldbl-96-m68k -0x6.fe4636e0c5064p+0L : -0x7.a376e9732b0c2478p-8L : inexact-ok
+= tgamma downward ldbl-128 -0x6.fe4636e0c5064p+0L : -0x7.a376e9732b0c247adf787b0fbe4p-8L : inexact-ok
+= tgamma tonearest ldbl-128 -0x6.fe4636e0c5064p+0L : -0x7.a376e9732b0c247adf787b0fbe3cp-8L : inexact-ok
+= tgamma towardzero ldbl-128 -0x6.fe4636e0c5064p+0L : -0x7.a376e9732b0c247adf787b0fbe3cp-8L : inexact-ok
+= tgamma upward ldbl-128 -0x6.fe4636e0c5064p+0L : -0x7.a376e9732b0c247adf787b0fbe3cp-8L : inexact-ok
+= tgamma downward ldbl-128ibm -0x6.fe4636e0c5064p+0L : -0x7.a376e9732b0c247adf787b0fcp-8L : inexact-ok
+= tgamma tonearest ldbl-128ibm -0x6.fe4636e0c5064p+0L : -0x7.a376e9732b0c247adf787b0fbep-8L : inexact-ok
+= tgamma towardzero ldbl-128ibm -0x6.fe4636e0c5064p+0L : -0x7.a376e9732b0c247adf787b0fbep-8L : inexact-ok
+= tgamma upward ldbl-128ibm -0x6.fe4636e0c5064p+0L : -0x7.a376e9732b0c247adf787b0fbep-8L : inexact-ok
+tgamma -0x7.a13d7a2945cd5718p+0
+= tgamma downward flt-32 -0x7.a13d78p+0f : 0xc.2fa4cp-16f : inexact-ok
+= tgamma tonearest flt-32 -0x7.a13d78p+0f : 0xc.2fa4dp-16f : inexact-ok
+= tgamma towardzero flt-32 -0x7.a13d78p+0f : 0xc.2fa4cp-16f : inexact-ok
+= tgamma upward flt-32 -0x7.a13d78p+0f : 0xc.2fa4dp-16f : inexact-ok
+= tgamma downward dbl-64 -0x7.a13d78p+0 : 0xc.2fa4c8813bd48p-16 : inexact-ok
+= tgamma tonearest dbl-64 -0x7.a13d78p+0 : 0xc.2fa4c8813bd48p-16 : inexact-ok
+= tgamma towardzero dbl-64 -0x7.a13d78p+0 : 0xc.2fa4c8813bd48p-16 : inexact-ok
+= tgamma upward dbl-64 -0x7.a13d78p+0 : 0xc.2fa4c8813bd5p-16 : inexact-ok
+= tgamma downward ldbl-96-intel -0x7.a13d78p+0L : 0xc.2fa4c8813bd49bfp-16L : inexact-ok
+= tgamma tonearest ldbl-96-intel -0x7.a13d78p+0L : 0xc.2fa4c8813bd49bfp-16L : inexact-ok
+= tgamma towardzero ldbl-96-intel -0x7.a13d78p+0L : 0xc.2fa4c8813bd49bfp-16L : inexact-ok
+= tgamma upward ldbl-96-intel -0x7.a13d78p+0L : 0xc.2fa4c8813bd49cp-16L : inexact-ok
+= tgamma downward ldbl-96-m68k -0x7.a13d78p+0L : 0xc.2fa4c8813bd49bfp-16L : inexact-ok
+= tgamma tonearest ldbl-96-m68k -0x7.a13d78p+0L : 0xc.2fa4c8813bd49bfp-16L : inexact-ok
+= tgamma towardzero ldbl-96-m68k -0x7.a13d78p+0L : 0xc.2fa4c8813bd49bfp-16L : inexact-ok
+= tgamma upward ldbl-96-m68k -0x7.a13d78p+0L : 0xc.2fa4c8813bd49cp-16L : inexact-ok
+= tgamma downward ldbl-128 -0x7.a13d78p+0L : 0xc.2fa4c8813bd49bf3030484389ac8p-16L : inexact-ok
+= tgamma tonearest ldbl-128 -0x7.a13d78p+0L : 0xc.2fa4c8813bd49bf3030484389ac8p-16L : inexact-ok
+= tgamma towardzero ldbl-128 -0x7.a13d78p+0L : 0xc.2fa4c8813bd49bf3030484389ac8p-16L : inexact-ok
+= tgamma upward ldbl-128 -0x7.a13d78p+0L : 0xc.2fa4c8813bd49bf3030484389adp-16L : inexact-ok
+= tgamma downward ldbl-128ibm -0x7.a13d78p+0L : 0xc.2fa4c8813bd49bf30304843898p-16L : inexact-ok
+= tgamma tonearest ldbl-128ibm -0x7.a13d78p+0L : 0xc.2fa4c8813bd49bf3030484389cp-16L : inexact-ok
+= tgamma towardzero ldbl-128ibm -0x7.a13d78p+0L : 0xc.2fa4c8813bd49bf30304843898p-16L : inexact-ok
+= tgamma upward ldbl-128ibm -0x7.a13d78p+0L : 0xc.2fa4c8813bd49bf3030484389cp-16L : inexact-ok
+= tgamma downward flt-32 -0x7.a13d8p+0f : 0xc.2fa48p-16f : inexact-ok
+= tgamma tonearest flt-32 -0x7.a13d8p+0f : 0xc.2fa48p-16f : inexact-ok
+= tgamma towardzero flt-32 -0x7.a13d8p+0f : 0xc.2fa48p-16f : inexact-ok
+= tgamma upward flt-32 -0x7.a13d8p+0f : 0xc.2fa49p-16f : inexact-ok
+= tgamma downward dbl-64 -0x7.a13d8p+0 : 0xc.2fa480824477p-16 : inexact-ok
+= tgamma tonearest dbl-64 -0x7.a13d8p+0 : 0xc.2fa4808244778p-16 : inexact-ok
+= tgamma towardzero dbl-64 -0x7.a13d8p+0 : 0xc.2fa480824477p-16 : inexact-ok
+= tgamma upward dbl-64 -0x7.a13d8p+0 : 0xc.2fa4808244778p-16 : inexact-ok
+= tgamma downward ldbl-96-intel -0x7.a13d8p+0L : 0xc.2fa480824477724p-16L : inexact-ok
+= tgamma tonearest ldbl-96-intel -0x7.a13d8p+0L : 0xc.2fa480824477725p-16L : inexact-ok
+= tgamma towardzero ldbl-96-intel -0x7.a13d8p+0L : 0xc.2fa480824477724p-16L : inexact-ok
+= tgamma upward ldbl-96-intel -0x7.a13d8p+0L : 0xc.2fa480824477725p-16L : inexact-ok
+= tgamma downward ldbl-96-m68k -0x7.a13d8p+0L : 0xc.2fa480824477724p-16L : inexact-ok
+= tgamma tonearest ldbl-96-m68k -0x7.a13d8p+0L : 0xc.2fa480824477725p-16L : inexact-ok
+= tgamma towardzero ldbl-96-m68k -0x7.a13d8p+0L : 0xc.2fa480824477724p-16L : inexact-ok
+= tgamma upward ldbl-96-m68k -0x7.a13d8p+0L : 0xc.2fa480824477725p-16L : inexact-ok
+= tgamma downward ldbl-128 -0x7.a13d8p+0L : 0xc.2fa480824477724eff0deaa17e1p-16L : inexact-ok
+= tgamma tonearest ldbl-128 -0x7.a13d8p+0L : 0xc.2fa480824477724eff0deaa17e18p-16L : inexact-ok
+= tgamma towardzero ldbl-128 -0x7.a13d8p+0L : 0xc.2fa480824477724eff0deaa17e1p-16L : inexact-ok
+= tgamma upward ldbl-128 -0x7.a13d8p+0L : 0xc.2fa480824477724eff0deaa17e18p-16L : inexact-ok
+= tgamma downward ldbl-128ibm -0x7.a13d8p+0L : 0xc.2fa480824477724eff0deaa17cp-16L : inexact-ok
+= tgamma tonearest ldbl-128ibm -0x7.a13d8p+0L : 0xc.2fa480824477724eff0deaa18p-16L : inexact-ok
+= tgamma towardzero ldbl-128ibm -0x7.a13d8p+0L : 0xc.2fa480824477724eff0deaa17cp-16L : inexact-ok
+= tgamma upward ldbl-128ibm -0x7.a13d8p+0L : 0xc.2fa480824477724eff0deaa18p-16L : inexact-ok
+= tgamma downward dbl-64 -0x7.a13d7a2945cd4p+0 : 0xc.2fa4b50e0b76p-16 : inexact-ok
+= tgamma tonearest dbl-64 -0x7.a13d7a2945cd4p+0 : 0xc.2fa4b50e0b768p-16 : inexact-ok
+= tgamma towardzero dbl-64 -0x7.a13d7a2945cd4p+0 : 0xc.2fa4b50e0b76p-16 : inexact-ok
+= tgamma upward dbl-64 -0x7.a13d7a2945cd4p+0 : 0xc.2fa4b50e0b768p-16 : inexact-ok
+= tgamma downward ldbl-96-intel -0x7.a13d7a2945cd4p+0L : 0xc.2fa4b50e0b76494p-16L : inexact-ok
+= tgamma tonearest ldbl-96-intel -0x7.a13d7a2945cd4p+0L : 0xc.2fa4b50e0b76495p-16L : inexact-ok
+= tgamma towardzero ldbl-96-intel -0x7.a13d7a2945cd4p+0L : 0xc.2fa4b50e0b76494p-16L : inexact-ok
+= tgamma upward ldbl-96-intel -0x7.a13d7a2945cd4p+0L : 0xc.2fa4b50e0b76495p-16L : inexact-ok
+= tgamma downward ldbl-96-m68k -0x7.a13d7a2945cd4p+0L : 0xc.2fa4b50e0b76494p-16L : inexact-ok
+= tgamma tonearest ldbl-96-m68k -0x7.a13d7a2945cd4p+0L : 0xc.2fa4b50e0b76495p-16L : inexact-ok
+= tgamma towardzero ldbl-96-m68k -0x7.a13d7a2945cd4p+0L : 0xc.2fa4b50e0b76494p-16L : inexact-ok
+= tgamma upward ldbl-96-m68k -0x7.a13d7a2945cd4p+0L : 0xc.2fa4b50e0b76495p-16L : inexact-ok
+= tgamma downward ldbl-128 -0x7.a13d7a2945cd4p+0L : 0xc.2fa4b50e0b76494ea604fd52a4ep-16L : inexact-ok
+= tgamma tonearest ldbl-128 -0x7.a13d7a2945cd4p+0L : 0xc.2fa4b50e0b76494ea604fd52a4ep-16L : inexact-ok
+= tgamma towardzero ldbl-128 -0x7.a13d7a2945cd4p+0L : 0xc.2fa4b50e0b76494ea604fd52a4ep-16L : inexact-ok
+= tgamma upward ldbl-128 -0x7.a13d7a2945cd4p+0L : 0xc.2fa4b50e0b76494ea604fd52a4e8p-16L : inexact-ok
+= tgamma downward ldbl-128ibm -0x7.a13d7a2945cd4p+0L : 0xc.2fa4b50e0b76494ea604fd52a4p-16L : inexact-ok
+= tgamma tonearest ldbl-128ibm -0x7.a13d7a2945cd4p+0L : 0xc.2fa4b50e0b76494ea604fd52a4p-16L : inexact-ok
+= tgamma towardzero ldbl-128ibm -0x7.a13d7a2945cd4p+0L : 0xc.2fa4b50e0b76494ea604fd52a4p-16L : inexact-ok
+= tgamma upward ldbl-128ibm -0x7.a13d7a2945cd4p+0L : 0xc.2fa4b50e0b76494ea604fd52a8p-16L : inexact-ok
+= tgamma downward dbl-64 -0x7.a13d7a2945cd8p+0 : 0xc.2fa4b50e0b74p-16 : inexact-ok
+= tgamma tonearest dbl-64 -0x7.a13d7a2945cd8p+0 : 0xc.2fa4b50e0b74p-16 : inexact-ok
+= tgamma towardzero dbl-64 -0x7.a13d7a2945cd8p+0 : 0xc.2fa4b50e0b74p-16 : inexact-ok
+= tgamma upward dbl-64 -0x7.a13d7a2945cd8p+0 : 0xc.2fa4b50e0b748p-16 : inexact-ok
+= tgamma downward ldbl-96-intel -0x7.a13d7a2945cd8p+0L : 0xc.2fa4b50e0b74095p-16L : inexact-ok
+= tgamma tonearest ldbl-96-intel -0x7.a13d7a2945cd8p+0L : 0xc.2fa4b50e0b74095p-16L : inexact-ok
+= tgamma towardzero ldbl-96-intel -0x7.a13d7a2945cd8p+0L : 0xc.2fa4b50e0b74095p-16L : inexact-ok
+= tgamma upward ldbl-96-intel -0x7.a13d7a2945cd8p+0L : 0xc.2fa4b50e0b74096p-16L : inexact-ok
+= tgamma downward ldbl-96-m68k -0x7.a13d7a2945cd8p+0L : 0xc.2fa4b50e0b74095p-16L : inexact-ok
+= tgamma tonearest ldbl-96-m68k -0x7.a13d7a2945cd8p+0L : 0xc.2fa4b50e0b74095p-16L : inexact-ok
+= tgamma towardzero ldbl-96-m68k -0x7.a13d7a2945cd8p+0L : 0xc.2fa4b50e0b74095p-16L : inexact-ok
+= tgamma upward ldbl-96-m68k -0x7.a13d7a2945cd8p+0L : 0xc.2fa4b50e0b74096p-16L : inexact-ok
+= tgamma downward ldbl-128 -0x7.a13d7a2945cd8p+0L : 0xc.2fa4b50e0b740956a720831ccdf8p-16L : inexact-ok
+= tgamma tonearest ldbl-128 -0x7.a13d7a2945cd8p+0L : 0xc.2fa4b50e0b740956a720831ccdf8p-16L : inexact-ok
+= tgamma towardzero ldbl-128 -0x7.a13d7a2945cd8p+0L : 0xc.2fa4b50e0b740956a720831ccdf8p-16L : inexact-ok
+= tgamma upward ldbl-128 -0x7.a13d7a2945cd8p+0L : 0xc.2fa4b50e0b740956a720831ccep-16L : inexact-ok
+= tgamma downward ldbl-128ibm -0x7.a13d7a2945cd8p+0L : 0xc.2fa4b50e0b740956a720831cccp-16L : inexact-ok
+= tgamma tonearest ldbl-128ibm -0x7.a13d7a2945cd8p+0L : 0xc.2fa4b50e0b740956a720831cccp-16L : inexact-ok
+= tgamma towardzero ldbl-128ibm -0x7.a13d7a2945cd8p+0L : 0xc.2fa4b50e0b740956a720831cccp-16L : inexact-ok
+= tgamma upward ldbl-128ibm -0x7.a13d7a2945cd8p+0L : 0xc.2fa4b50e0b740956a720831cdp-16L : inexact-ok
+= tgamma downward ldbl-96-intel -0x7.a13d7a2945cd5718p+0L : 0xc.2fa4b50e0b75797p-16L : inexact-ok
+= tgamma tonearest ldbl-96-intel -0x7.a13d7a2945cd5718p+0L : 0xc.2fa4b50e0b75798p-16L : inexact-ok
+= tgamma towardzero ldbl-96-intel -0x7.a13d7a2945cd5718p+0L : 0xc.2fa4b50e0b75797p-16L : inexact-ok
+= tgamma upward ldbl-96-intel -0x7.a13d7a2945cd5718p+0L : 0xc.2fa4b50e0b75798p-16L : inexact-ok
+= tgamma downward ldbl-96-m68k -0x7.a13d7a2945cd5718p+0L : 0xc.2fa4b50e0b75797p-16L : inexact-ok
+= tgamma tonearest ldbl-96-m68k -0x7.a13d7a2945cd5718p+0L : 0xc.2fa4b50e0b75798p-16L : inexact-ok
+= tgamma towardzero ldbl-96-m68k -0x7.a13d7a2945cd5718p+0L : 0xc.2fa4b50e0b75797p-16L : inexact-ok
+= tgamma upward ldbl-96-m68k -0x7.a13d7a2945cd5718p+0L : 0xc.2fa4b50e0b75798p-16L : inexact-ok
+= tgamma downward ldbl-128 -0x7.a13d7a2945cd5718p+0L : 0xc.2fa4b50e0b757979896b4bb86698p-16L : inexact-ok
+= tgamma tonearest ldbl-128 -0x7.a13d7a2945cd5718p+0L : 0xc.2fa4b50e0b757979896b4bb86698p-16L : inexact-ok
+= tgamma towardzero ldbl-128 -0x7.a13d7a2945cd5718p+0L : 0xc.2fa4b50e0b757979896b4bb86698p-16L : inexact-ok
+= tgamma upward ldbl-128 -0x7.a13d7a2945cd5718p+0L : 0xc.2fa4b50e0b757979896b4bb866ap-16L : inexact-ok
+= tgamma downward ldbl-128ibm -0x7.a13d7a2945cd5718p+0L : 0xc.2fa4b50e0b757979896b4bb864p-16L : inexact-ok
+= tgamma tonearest ldbl-128ibm -0x7.a13d7a2945cd5718p+0L : 0xc.2fa4b50e0b757979896b4bb868p-16L : inexact-ok
+= tgamma towardzero ldbl-128ibm -0x7.a13d7a2945cd5718p+0L : 0xc.2fa4b50e0b757979896b4bb864p-16L : inexact-ok
+= tgamma upward ldbl-128ibm -0x7.a13d7a2945cd5718p+0L : 0xc.2fa4b50e0b757979896b4bb868p-16L : inexact-ok
 y0 0.125
 = y0 downward flt-32 0x2p-4f : -0x1.63c21ep+0f : inexact-ok
 = y0 tonearest flt-32 0x2p-4f : -0x1.63c21cp+0f : inexact-ok
diff --git a/sysdeps/i386/fpu/libm-test-ulps b/sysdeps/i386/fpu/libm-test-ulps
index 10e0ca6f3b..2eceadfcad 100644
--- a/sysdeps/i386/fpu/libm-test-ulps
+++ b/sysdeps/i386/fpu/libm-test-ulps
@@ -1854,12 +1854,12 @@ ildouble: 5
 ldouble: 4
 
 Function: "tgamma":
-double: 4
-float: 2
-idouble: 4
-ifloat: 2
-ildouble: 4
-ldouble: 4
+double: 6
+float: 4
+idouble: 6
+ifloat: 4
+ildouble: 6
+ldouble: 6
 
 Function: "y0":
 double: 1
diff --git a/sysdeps/x86_64/fpu/libm-test-ulps b/sysdeps/x86_64/fpu/libm-test-ulps
index 9fd710be24..97e279c53a 100644
--- a/sysdeps/x86_64/fpu/libm-test-ulps
+++ b/sysdeps/x86_64/fpu/libm-test-ulps
@@ -2014,12 +2014,12 @@ ildouble: 4
 ldouble: 4
 
 Function: "tgamma":
-double: 4
-float: 3
-idouble: 4
-ifloat: 3
-ildouble: 4
-ldouble: 4
+double: 9
+float: 4
+idouble: 9
+ifloat: 4
+ildouble: 6
+ldouble: 6
 
 Function: "y0":
 double: 2