This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
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