From owner-freebsd-numerics@FreeBSD.ORG Sun Aug 25 17:58:18 2013 Return-Path: Delivered-To: freebsd-numerics@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTP id 85E1E2A7 for ; Sun, 25 Aug 2013 17:58:18 +0000 (UTC) (envelope-from sgk@troutmask.apl.washington.edu) Received: from troutmask.apl.washington.edu (troutmask.apl.washington.edu [128.95.76.21]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 4ABF329B1 for ; Sun, 25 Aug 2013 17:58:18 +0000 (UTC) Received: from troutmask.apl.washington.edu (localhost.apl.washington.edu [127.0.0.1]) by troutmask.apl.washington.edu (8.14.7/8.14.7) with ESMTP id r7PHwHvO060609; Sun, 25 Aug 2013 10:58:17 -0700 (PDT) (envelope-from sgk@troutmask.apl.washington.edu) Received: (from sgk@localhost) by troutmask.apl.washington.edu (8.14.7/8.14.7/Submit) id r7PHwH61060608; Sun, 25 Aug 2013 10:58:17 -0700 (PDT) (envelope-from sgk) Date: Sun, 25 Aug 2013 10:58:17 -0700 From: Steve Kargl To: Bruce Evans Subject: Re: (2nd time) tweaks to erff() threshold values Message-ID: <20130825175817.GA60599@troutmask.apl.washington.edu> References: <20130822213315.GA6708@troutmask.apl.washington.edu> <20130823202257.Q1593@besplex.bde.org> <20130823165744.GA47369@troutmask.apl.washington.edu> <20130824202102.GA54981@troutmask.apl.washington.edu> <20130825023029.GA56772@troutmask.apl.washington.edu> <20130825171910.GA60396@troutmask.apl.washington.edu> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20130825171910.GA60396@troutmask.apl.washington.edu> User-Agent: Mutt/1.5.21 (2010-09-15) Cc: freebsd-numerics@FreeBSD.org X-BeenThere: freebsd-numerics@freebsd.org X-Mailman-Version: 2.1.14 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, 25 Aug 2013 17:58:18 -0000 On Sun, Aug 25, 2013 at 10:19:10AM -0700, Steve Kargl wrote: > > Note**2, I did not record a domain and range as my routine that > generates plots seems to give a really messed up result for > the range [-0.08, 0.06]. However, the error estimate from > solving the Remes matrix equation is err = 0x1.39c84809b7ed2p-38. Found the bug in the graphing routine. /* * Domain [0.84375, 1.25], range ~[-1.954e-10,1.940e-11]: * |(erf(x) - erx) - p(x)/q(x)| < 2**-36. */ > +pa0 = 1.35131621e-08F, /* 0x1.d04f08p-27 */ > +pa1 = 4.15107518e-01F, /* 0x1.a911f2p-2 */ > +pa2 = -1.63339108e-01F, /* -0x1.4e84bcp-3 */ > +pa3 = 1.12098485e-01F, /* 0x1.cb27c8p-4 */ > +qa1 = 6.06513679e-01F, /* 0x1.3688f6p-1 */ > +qa2 = 5.43227255e-01F, /* 0x1.1621e2p-1 */ > +qa3 = 1.74396917e-01F, /* 0x1.652a36p-3 */ > +qa4 = 5.88681065e-02F, /* 0x1.e23f5ep-5 */ Note, the range and 2**-36 estimate are from the results of the Remes algorithm run with 1024-bits of precision. The above coefficients were simply rounded to single precision, as I haven't investigated a better method for running, yet. -- Steve