bin/170206: complex arcsinh, log, etc.

Stephen Montgomery-Smith stephen at missouri.edu
Fri Jul 27 14:39:58 UTC 2012


On 07/27/2012 09:26 AM, Bruce Evans wrote:
> On Wed, 25 Jul 2012, Stephen Montgomery-Smith wrote:
>
>> This function seems to be able to compute clog with a worst case
>> relative error of 4 or 5 ULP.
>> ...
>
> I lost your previous reply about this after reading just the first part.
> Please resend if interested.
>
> First part recovered by vidcontrol:
>
> VC> > I'm still working on testing and fixing clog.  Haven't got near
> the more
> VC> > complex functions.
> VC> >
> VC> > For clog, the worst case that I've found so far has x^2+y^2-1 ~=
> 1e-47:
> VC> >
> VC> >      x =
> 0.999999999999999555910790149937383830547332763671875000000000
> VC> >      y =
> VC> > 0.0000000298023223876953091912775497878893005143652317201485857367516
> VC> >        (need high precision decimal or these rounded to 53 bits
> binary)
> VC> >      x^2+y^2-1 = 1.0947644252537633366591637369e-47
> VC> VC> That is exactly 2^(-156).  So maybe triple quad precision really
> is enough.
>
> Hmm.  But you need 53 more value bits after the 156.  Quadruple precision
> gives 3 to spare.  I didn't notice that this number was exactly a power
> of 2, but just added 15-17 for the value bits in decimal to 47 to get over
> 60.

I think one should be able to prove mathematically that if the number is 
as small as 1e-47, only the first one or two bits of the mantissa will 
be non-zero.  I think that if more than triple double precision is 
needed, it is only one or two more bits more than triple double precision.



More information about the freebsd-bugs mailing list