The algorithm used by FreeBSD libm for tgammal severely reduces both its precision and domain. See msun/src/imprecise.c.
Well, it's taken me a few years, but I finally have fixed the theraven@freebsd.org's questionalble mapping of tgammal(x) to tgamma(x) on at least Intel 80-bit long double targets. Watch this space. Patches will be arriving shortly.
I have an interest in tgamma(3), so I'll take this for committing. Thanks, Steve!
Created attachment 230088 [details] diff for tgamma() This is the diff to tgamma(x) (the double function) that I did while reverse engineering the algorithms to write tgammal(x) (the long double function).
Created attachment 230089 [details] description of patch1.diff Here's a brief list of changes.
Created attachment 230101 [details] implementation of ld80 tgammal(x) This is the patch that implements ld80 tgammal(x). It should be applied after patch1.diff.
Created attachment 230102 [details] description for patch2.diff This is brief description of patch2.diff.
Patches accepted, thank you! https://reviews.freebsd.org/D33444