Bug#210613: libc6.1: generic atan gives wrong results for some operands on alpha
At Fri, 12 Sep 2003 15:27:02 +0200,
Vincent Lefevre wrote:
> On an alpha machine, I get:
>
> $ ./testatan 0.062510113344606447
> x = 0.062510113344606447 (mant: 4504328370650513/2^53, exp: -3)
> atan(x) = 0.0081052752446468968 (mant: 4672373065155465/2^53, exp: -6)
>
> $ ./testatan 1.016527294692847
> x = 1.016527294692847 (mant: 4578031945590644/2^53, exp: 1)
> atan(x) = 0.081995669833819521 (mant: 5908410689753341/2^53, exp: -3)
>
> $ ./testatan 1.9966212994203429
> x = 1.9966212994203429 (mant: 8991982940069452/2^53, exp: 1)
> atan(x) = 1.797589501402598e-132 (mant: 5746301358148411/2^53, exp: -437)
>
> Note: these are hard-to-round cases, i.e. atan(x) is very close to
> the middle of two consecutive representable numbers.
Yes, I confirmed this bug, and it's fixed in the current upstream cvs...
Regards,
-- gotom
Reply to: