Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 27 Jul 2012 14:40:08 GMT
From:      Stephen Montgomery-Smith <stephen@missouri.edu>
To:        freebsd-bugs@FreeBSD.org
Subject:   Re: bin/170206: complex arcsinh, log, etc.
Message-ID:  <201207271440.q6REe8L6061939@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
The following reply was made to PR bin/170206; it has been noted by GNATS.

From: Stephen Montgomery-Smith <stephen@missouri.edu>
To: Bruce Evans <brde@optusnet.com.au>
Cc: Stephen Montgomery-Smith <stephen@freebsd.org>,
        FreeBSD-gnats-submit@freebsd.org, freebsd-bugs@freebsd.org
Subject: Re: bin/170206: complex arcsinh, log, etc.
Date: Fri, 27 Jul 2012 09:39:55 -0500

 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.
 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201207271440.q6REe8L6061939>