From owner-freebsd-bugs@FreeBSD.ORG Wed Nov 10 13:21:01 2010 Return-Path: Delivered-To: freebsd-bugs@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B4B641065679 for ; Wed, 10 Nov 2010 13:21:01 +0000 (UTC) (envelope-from brde@optusnet.com.au) Received: from mail03.syd.optusnet.com.au (mail03.syd.optusnet.com.au [211.29.132.184]) by mx1.freebsd.org (Postfix) with ESMTP id 355648FC1D for ; Wed, 10 Nov 2010 13:21:01 +0000 (UTC) Received: from c122-107-121-73.carlnfd1.nsw.optusnet.com.au (c122-107-121-73.carlnfd1.nsw.optusnet.com.au [122.107.121.73]) by mail03.syd.optusnet.com.au (8.13.1/8.13.1) with ESMTP id oAADKtrj019885 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Thu, 11 Nov 2010 00:20:58 +1100 Date: Thu, 11 Nov 2010 00:20:55 +1100 (EST) From: Bruce Evans X-X-Sender: bde@besplex.bde.org To: Bruce Evans In-Reply-To: <20101110225059.M1461@besplex.bde.org> Message-ID: <20101111001705.Q1801@besplex.bde.org> References: <201011092010.oA9KABNt076837@freefall.freebsd.org> <20101110225059.M1461@besplex.bde.org> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Cc: Ulrich =?utf-8?B?U3DDtnJsZWlu?= , freebsd-bugs@FreeBSD.org Subject: Re: bin/144306: [libm] [patch] Nasty bug in jn(3) X-BeenThere: freebsd-bugs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 10 Nov 2010 13:21:01 -0000 On Wed, 10 Nov 2010, Bruce Evans wrote: > [...unrelated] Just noticed a minor bug in the float version: from the PR: % diff --git a/lib/msun/src/e_jnf.c b/lib/msun/src/e_jnf.c % index 3bbf7b7..d045bb05 100644 % --- a/lib/msun/src/e_jnf.c % +++ b/lib/msun/src/e_jnf.c % @@ -152,7 +152,12 @@ __ieee754_jnf(int n, float x) % } % } % } % - b = (t*__ieee754_j0f(x)/b); % + z = __ieee754_j0f(x); % + w = __ieee754_j1f(x); % + if (fabs(z) >= fabs(w)) This should use fabsf(). % + b = (t*z/b); % + else % + b = (t*w/a); % } % } % if(sgn==1) return -b; else return b; % Bruce