Fix x86/x86_64 expl/exp10l spurious underflows (bug 16348)

Andreas Jaeger aj@suse.com
Thu Mar 27 18:30:00 GMT 2014


On 03/27/2014 05:51 PM, Joseph S. Myers wrote:
> This patch fixes bug 16348, spurious underflows from x86/x86_64 expl
> on arguments close to 0.  These implementations effectively use expm1
> (on the fractional part of the argument) internally, so resulting in
> spurious underflows when the result is very close to 1.  For arguments
> small enough that the round-to-nearest correct result is 1, this patch
> uses 1+x instead.
> 
> These implementations are also used for exp10l and so the patch fixes
> similar issues there (the 0x1p-67 threshold being small enough to be
> correct for exp10l as well as expl).  But because of spurious
> underflows in other exp10 implementations (bug 16560), the tests
> aren't added for exp10 at this point - they can be added when the
> other exp10 parts of that bug are fixed.

Thanks,
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



More information about the Libc-alpha mailing list