Complex arg-trig functions
Bruce Evans
brde at optusnet.com.au
Sun Sep 23 01:18:14 UTC 2012
On Sat, 22 Sep 2012, Stephen Montgomery-Smith wrote:
> On 09/22/2012 05:25 PM, Stephen Montgomery-Smith wrote:
>> On 09/22/2012 04:47 PM, Bruce Evans wrote:
>>> On Sat, 22 Sep 2012, Stephen Montgomery-Smith wrote:
>>>
>>>> 2. In my accuracy tests for casin(h), I have never seen the double or
>>>> long double have an error greater than 4 ULP. But for the float case
>>>> I have seen 4.15 ULP.
>>>
>>> I haven't seen any larger than 3.4. What is the worst case you found?
> ...
> Here is an error of about 4.15 ULP
>
> 171886645 acosh 0.504775 4.15104 1.0684067010879516602
> -0.049668960273265838623 0.389377 -0.124716 0.389377 -0.124716
Even y+1 is inaccurate for this arg. (do_hard_work() has several of
these.)
On i386, the error is only 2.15 ulps. But changing all 1's to 1.0's and
all sqrtf()'s to sqrt()s in do_hard_work() made no difference, so it
must be other extra calculations that help on i386.
Bruce
More information about the freebsd-numerics
mailing list