dead code in lgamma_r[f]?

Steve Kargl 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.

-- 
Steve


More information about the freebsd-numerics mailing list