This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: Fix x86/x86_64 expm1 inaccuracy near 0 in directed rounding modes (bug 16293)
- From: Andreas Jaeger <aj at suse dot com>
- To: "Joseph S. Myers" <joseph at codesourcery dot com>, libc-alpha at sourceware dot org
- Date: Thu, 19 Dec 2013 09:32:07 +0100
- Subject: Re: Fix x86/x86_64 expm1 inaccuracy near 0 in directed rounding modes (bug 16293)
- Authentication-results: sourceware.org; auth=none
- References: <Pine dot LNX dot 4 dot 64 dot 1312190112220 dot 31737 at digraph dot polyomino dot org dot uk>
On 12/19/2013 02:14 AM, Joseph S. Myers wrote:
> Bug 16293 is inaccuracy of x86/x86_64 versions of expm1, near 0 in
> directed rounding modes, that arises from frndint rounding the
> exponent to 1 or -1 instead of 0, resulting in large cancellation
> error. This inaccuracy in turn affects other functions such as sinh
> that use expm1. This patch fixes the problem by setting
> round-to-nearest mode temporarily around the affected calls to
> frndint. I don't think this is needed for other uses of frndint, such
> as in exp itself, as only for expm1 is the cancellation error
> significant.
ok, thanks,
Andreas
--
Andreas Jaeger aj@{suse.com,opensuse.org} Twitter: 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