The old tgamma=exp(lgamma) implementation had high rounding error on large outputs, exceeding the 16ulp specification for approx. x>8 (hence the test failure in strict conformance mode).
Replace this with an implementation based on glibc's http://sources.debian.net/src/glibc/2.19-17/sysdeps/ieee754/flt-32/e_gammaf_r.c/
d2a4764 Make tgamma meet the accuracy standard.
backend/src/libocl/tmpl/ocl_math.tmpl.cl | 96 +++++++++++++++++++++++++++---
1 file changed, 89 insertions(+), 7 deletions(-)
Upstream: cgit.freedesktop.org