This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Fix casinh, casin inaccuracy from cancellation (bug 14994)


On 01/04/2013 02:39 AM, Joseph S. Myers wrote:
Bug 14994 is inaccuracy of casinh (and so of casin, which is
implemented to call casinh) for large arguments with negative real
part, because of cancellation in the formula clog (z + csqrt (1 +
z*z)) when the square root is close to -z instead of close to z.

This patch fixes this bug by reducing arguments to the first quadrant,
so that the square root is also in the first quadrant and no
cancellation occurs.  Reducing arguments to the first quadrant will
also help simplify fixes for other casinh bugs (overflows, underflows
and inaccuracy near the line segment from -i to i - the last of these
is bug 10357).

Tested x86_64 and x86 and ulps updated accordingly.

Thanks, this is fine,


Andreas
--
 Andreas Jaeger aj@{suse.com,opensuse.org} Twitter/Identica: jaegerandi
  SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
   GF: Jeff Hawn,Jennifer Guild,Felix Imendörffer,HRB16746 (AG Nürnberg)
    GPG fingerprint = 93A3 365E CE47 B889 DF7F  FED1 389A 563C C272 A126


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]