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: [PATCH] Update sparc ULPs.


On Sun, 23 Sep 2012, David Miller wrote:

> >> The expression "0x1p-16378L + 1.0L" should underflow, right?
> > 
> > No.  The result is in the normal range (equal to 1.0L in round-to-nearest 
> > mode), so no underflow.
> 
> Hmmm, even considering the implicit bit, we can't fit both bits at the
> same time.
> 
> The result here is "tiny" and there is a loss of precision.

The result, 1.0L, is not tiny.  (Nor is either operand, 0x1p-16378L or 
1.0L.)

Are you sure you've identified the correct expression as being the one 
that is underflowing?  On looking at the code, I'd think that "z = x * x;" 
(where at this point x stores the argument, xm1) is a much more likely 
underflow location.

-- 
Joseph S. Myers
joseph@codesourcery.com


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