dead code in lgamma_r[f]?
sgk at troutmask.apl.washington.edu
Sun Dec 8 18:59:42 UTC 2013
On Sun, Dec 08, 2013 at 10:33:39AM -0800, Steve Kargl wrote:
> fdlibm's lgammaf_r does not appear to have an issue near 1 or 2.
> Starting at the lower bound of each interval and using nextafterf
> to scan up to the upper bound, I'm seeing
> % make testf && ./testf
> Interval: Time ULP Value
> [4.7683716e-07, 2.0000000e+00): 0.04590 0.98491 1.231645e+00
> [2.0000000e+00, 8.0000000e+00): 0.08754 0.82825 4.012439e+00
> [8.0000000e+00, 2.8823038e+17): 0.05841 1.43789 8.942273e+06
> [2.8823038e+17, 2.6584560e+36): 0.05095 0.50000 1.491249e+23
> where the reference value is from lgamma_r. The different
> intervals test specific branches in lgammaf_r. The upper
> bound of 2.6584560e36 is 0x1p121. Time is the average value
> for all calls in the interval in usec/call.
Correction. The timing is for 1 million calls uniformly
distributed over the interval.
More information about the freebsd-numerics