From owner-freebsd-numerics@FreeBSD.ORG Sun Aug 12 23:01:01 2012 Return-Path: Delivered-To: freebsd-numerics@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B06A0106566B for ; Sun, 12 Aug 2012 23:01:01 +0000 (UTC) (envelope-from peter@rulingia.com) Received: from vps.rulingia.com (host-122-100-2-194.octopus.com.au [122.100.2.194]) by mx1.freebsd.org (Postfix) with ESMTP id 442178FC15 for ; Sun, 12 Aug 2012 23:01:01 +0000 (UTC) Received: from server.rulingia.com (c220-239-249-137.belrs5.nsw.optusnet.com.au [220.239.249.137]) by vps.rulingia.com (8.14.5/8.14.5) with ESMTP id q7CN118J075578 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Mon, 13 Aug 2012 09:01:01 +1000 (EST) (envelope-from peter@rulingia.com) X-Bogosity: Ham, spamicity=0.000000 Received: from server.rulingia.com (localhost.rulingia.com [127.0.0.1]) by server.rulingia.com (8.14.5/8.14.5) with ESMTP id q7CN0sjW021056 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Mon, 13 Aug 2012 09:00:54 +1000 (EST) (envelope-from peter@server.rulingia.com) Received: (from peter@localhost) by server.rulingia.com (8.14.5/8.14.5/Submit) id q7CN0swK021055 for freebsd-numerics@freebsd.org; Mon, 13 Aug 2012 09:00:54 +1000 (EST) (envelope-from peter) Resent-From: Peter Jeremy Resent-Date: Mon, 13 Aug 2012 09:00:54 +1000 Resent-Message-ID: <20120812230054.GU20453@server.rulingia.com> Resent-To: freebsd-numerics@freebsd.org From: Peter Jeremy Mail-Followup-To: freebsd-numerics@freebsd.org To: Bruce Evans Message-ID: <20120722220031.GA7791@server.rulingia.com> References: <5004A5C7.1040405@missouri.edu> <5004DEA9.1050001@missouri.edu> <20120717040118.GA86840@troutmask.apl.washington.edu> <20120717042125.GF66913@server.rulingia.com> <20120717043848.GB87001@troutmask.apl.washington.edu> <20120717225328.GA86902@server.rulingia.com> <20120717232740.GA95026@troutmask.apl.washington.edu> <20120718001337.GA87817@server.rulingia.com> <20120718123627.D1575@besplex.bde.org> <20120722121219.GC73662@server.rulingia.com> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="TB36FDmn/VVEgNH/" Content-Disposition: inline In-Reply-To: <20120722121219.GC73662@server.rulingia.com> X-PGP-Key: http://www.rulingia.com/keys/peter.pgp User-Agent: Mutt/1.5.21 (2010-09-15) Cc: Diane Bruce , John Baldwin , David Chisnall , Stephen Montgomery-Smith , Bruce Evans , Steve Kargl , David Schultz , Warner Losh Subject: Re: Use of C99 extra long double math functions after r236148 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: , Date: Sun, 12 Aug 2012 23:01:01 -0000 X-Original-Date: Mon, 23 Jul 2012 08:00:31 +1000 X-List-Received-Date: Sun, 12 Aug 2012 23:01:01 -0000 --TB36FDmn/VVEgNH/ Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On 2012-Jul-22 22:12:19 +1000, Peter Jeremy wro= te: >A have simplified the default (NaN + I*NaN) return from catanh() to >the minimun to ensure that both real & imaginary parts return as NaN. >I've been doing some experiments on mixing NaNs using x87, SSE, SPARC64 >and ARM (last on Linux) and have come to the conclusion that there is >no standard behaviour: Given x & y as NaNs, (x+y) can return either >x or y, possibly with the sign bit from the other operand. depending >on the FPU. I've tried running my exception test program on Solaris/SPARC using SunStudio and it gives different results to FreeBSD/sparc64 in some cases so it looks like the FreeBSD/sparc64 exception handling code is also buggy. And, when the base gcc tries to shortcut floating point expressions and execute them at compile time, it also gets exception handling wrong in several cases (it'll correctly detect that a constant expression evaluates to Inf or NaN but, in many cases, the NaN it calculates is different to the x87 or SSE evaluation of the same arguments). --=20 Peter Jeremy --TB36FDmn/VVEgNH/ Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.19 (FreeBSD) iEYEARECAAYFAlAMd/8ACgkQ/opHv/APuIcS0gCgsrcNiDSYJUv7BJ1suNBzj19v YzUAoJwG8BJIx0RIXszST3Xr3/dsczIf =FwOq -----END PGP SIGNATURE----- --TB36FDmn/VVEgNH/--