From owner-freebsd-numerics@FreeBSD.ORG Wed Aug 15 16:45:36 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 53E2A106566C for ; Wed, 15 Aug 2012 16:45:36 +0000 (UTC) (envelope-from sgk@troutmask.apl.washington.edu) Received: from troutmask.apl.washington.edu (troutmask.apl.washington.edu [128.95.76.21]) by mx1.freebsd.org (Postfix) with ESMTP id 2B8C58FC08 for ; Wed, 15 Aug 2012 16:45:36 +0000 (UTC) Received: from troutmask.apl.washington.edu (localhost.apl.washington.edu [127.0.0.1]) by troutmask.apl.washington.edu (8.14.5/8.14.5) with ESMTP id q7FGjUf9075935; Wed, 15 Aug 2012 09:45:30 -0700 (PDT) (envelope-from sgk@troutmask.apl.washington.edu) Received: (from sgk@localhost) by troutmask.apl.washington.edu (8.14.5/8.14.5/Submit) id q7FGjT6x075934; Wed, 15 Aug 2012 09:45:29 -0700 (PDT) (envelope-from sgk) Date: Wed, 15 Aug 2012 09:45:29 -0700 From: Steve Kargl To: Stephen Montgomery-Smith Message-ID: <20120815164529.GA75763@troutmask.apl.washington.edu> References: <20120809025220.N4114@besplex.bde.org> <5027F07E.9060409@missouri.edu> <20120814003614.H3692@besplex.bde.org> <50295887.2010608@missouri.edu> <20120814055931.Q4897@besplex.bde.org> <50297468.20902@missouri.edu> <20120814173931.V934@besplex.bde.org> <502A820C.6060804@missouri.edu> <20120816010912.Q1751@besplex.bde.org> <502BC71D.4080401@missouri.edu> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <502BC71D.4080401@missouri.edu> User-Agent: Mutt/1.4.2.3i Cc: freebsd-numerics@freebsd.org, Bruce Evans 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: Wed, 15 Aug 2012 16:45:36 -0000 On Wed, Aug 15, 2012 at 10:58:21AM -0500, Stephen Montgomery-Smith wrote: > On 08/15/12 10:19, Bruce Evans wrote: > > >Though sin() doesn't lose precision at large or not so large zeros, Bessel > >functions probably do. I think no one knows where many of their zeros > >near DBL_MAX are, since they are not evenly spaced like multiples of pi > >are, so every one needs an individual calculation. pari become incredibly > >slow at just finding them after the first few hundred, at least using the > >following perhaps too simple script: > > > > for (i = 0, 999, print(solve(x=i*Pi, (i+1)*Pi, besselj(0,x)))) > > > > > > >This gets slower and slower as i increases and takes about 1 second > >per zero starting at i = 900. But after pari takes a few minutes to > >generate 1000 zeros, FreeBSD libm j0 and j0f pass checks of them all > >in 1.5 msec. The check is that there is a sign change on each side > >of the supposed zero. So FreeBSD j0 and j0f get at least 1 bit right > >(the sign bit) for the first 1000 zeros. > > There are asymptotic formulas for the Bessel Functions for large x. So > surely one could get very accurate formulas for the large roots. Well, there is http://dlmf.nist.gov/10.21 and in particular, http://dlmf.nist.gov/10.21#vi -- Steve