From owner-freebsd-numerics@FreeBSD.ORG Sun Sep 23 01:18:14 2012 Return-Path: Delivered-To: freebsd-numerics@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 04800106564A for ; Sun, 23 Sep 2012 01:18:14 +0000 (UTC) (envelope-from brde@optusnet.com.au) Received: from mail01.syd.optusnet.com.au (mail01.syd.optusnet.com.au [211.29.132.182]) by mx1.freebsd.org (Postfix) with ESMTP id 877828FC0A for ; Sun, 23 Sep 2012 01:18:13 +0000 (UTC) Received: from c122-106-157-84.carlnfd1.nsw.optusnet.com.au (c122-106-157-84.carlnfd1.nsw.optusnet.com.au [122.106.157.84]) by mail01.syd.optusnet.com.au (8.13.1/8.13.1) with ESMTP id q8N1IAKf025856 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Sun, 23 Sep 2012 11:18:11 +1000 Date: Sun, 23 Sep 2012 11:18:10 +1000 (EST) From: Bruce Evans X-X-Sender: bde@besplex.bde.org To: Stephen Montgomery-Smith In-Reply-To: <505E52EA.7090102@missouri.edu> Message-ID: <20120923105546.J2746@besplex.bde.org> References: <5017111E.6060003@missouri.edu> <20120917060116.G3825@besplex.bde.org> <50563C57.60806@missouri.edu> <20120918012459.V5094@besplex.bde.org> <5057A932.3000603@missouri.edu> <5057F24B.7020605@missouri.edu> <20120918162105.U991@besplex.bde.org> <20120918232850.N2144@besplex.bde.org> <20120919010613.T2493@besplex.bde.org> <505BD9B4.8020801@missouri.edu> <20120921172402.W945@besplex.bde.org> <20120921212525.W1732@besplex.bde.org> <505C7490.90600@missouri.edu> <20120922042112.E3044@besplex.bde.org> <505CBF14.70908@missouri.edu> <505CC11A.5030502@missouri.edu> <20120922081607.F3613@besplex.bde.org> <20120922091625.Y3828@besplex.b! de.org> <505D1037.8010202@missouri.edu> <20120922142349.X4599@besplex.bde.org> <20120923044814.S1465@besplex.bde.org> <505E2575.6030302@missouri.edu> <505E27CE.3060107@missouri.edu> <20120923073807.K2059@besplex.bde.org> <505E3AE6.2010006@missouri.edu> <505E52EA.7090102@missouri.edu> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Cc: freebsd-numerics@freebsd.org Subject: Re: Complex arg-trig functions X-BeenThere: freebsd-numerics@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Discussions of high quality implementation of libm functions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 23 Sep 2012 01:18:14 -0000 On Sat, 22 Sep 2012, Stephen Montgomery-Smith wrote: > On 09/22/2012 05:25 PM, Stephen Montgomery-Smith wrote: >> On 09/22/2012 04:47 PM, Bruce Evans wrote: >>> On Sat, 22 Sep 2012, Stephen Montgomery-Smith wrote: >>> >>>> 2. In my accuracy tests for casin(h), I have never seen the double or >>>> long double have an error greater than 4 ULP. But for the float case >>>> I have seen 4.15 ULP. >>> >>> I haven't seen any larger than 3.4. What is the worst case you found? > ... > Here is an error of about 4.15 ULP > > 171886645 acosh 0.504775 4.15104 1.0684067010879516602 > -0.049668960273265838623 0.389377 -0.124716 0.389377 -0.124716 Even y+1 is inaccurate for this arg. (do_hard_work() has several of these.) On i386, the error is only 2.15 ulps. But changing all 1's to 1.0's and all sqrtf()'s to sqrt()s in do_hard_work() made no difference, so it must be other extra calculations that help on i386. Bruce