Fix ctan, ctanh overflow (bug 11521)
Ryan S. Arnold
ryan.arnold@gmail.com
Wed Apr 25 15:57:00 GMT 2012
On Tue, Apr 24, 2012 at 2:44 PM, Ryan S. Arnold <ryan.arnold@gmail.com> wrote:
> On Tue, Apr 24, 2012 at 2:14 AM, Andreas Jaeger <aj@suse.com> wrote:
>>> 2012-04-17 Adhemerval Zanella <azanella@linux.vnet.ibm.com>
>>>
>>> [BZ #11521]
>>> * sysdeps/ieee754/ldbl-128ibm/s_ctanhl.c: Avoid internal overflow or
>>> cancellation in calculating denominator.
>>> * sysdeps/ieee754/ldbl-128ibm/s_ctanl.c: Likewise.
>>> * sysdeps/powerpc/fpu/libm-test-ulps: Update for ctan, ctanh fix.
>>
>> This looks fine to me but I'd like to have Ryan comment as well,
>
> I'm going to apply it and check the results before giving my Ack.
Adhemerval,
In the future, please make sure you include the symbol under which the
code was modified in the ChangeLog, e.g.,
* sysdeps/ieee754/ldbl-128ibm/s_ctanhl.c (__ctanhl): Avoid internal
overflow or cancellation in calculating denominator.
I still see four ulps errors. Here's one of them.
testing long double (without inline functions)
Failure: Test: Real part of: ctan (0x1p127 + 1 i) ==
0.2446359391192790896381501310437708987204 +
0.9101334047676183761532873794426475906201 i
Result:
is: 2.44635939119279089638e-01 0x1.f503afef8c6453a5fe3fp-3
should be: 2.44635939119279089638e-01 0x1.f503afef8c6453a5fe3fp-3
difference: 6.16297582203915472978e-33 0x1.00000000000000000000p-107
ulp : 2.0000
max.ulp : 0.0000
This is building glibc with gcc version 4.6.4 20120327
Ryan
More information about the Libc-alpha
mailing list