From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 24234 invoked by alias); 11 Mar 2013 10:19:51 -0000 Received: (qmail 24150 invoked by uid 48); 11 Mar 2013 10:19:20 -0000 From: "siddhesh at redhat dot com" To: glibc-bugs@sourceware.org Subject: [Bug math/13932] x86_64 pow unexpectedly slow for some inputs Date: Mon, 11 Mar 2013 10:19:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: glibc X-Bugzilla-Component: math X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: siddhesh at redhat dot com X-Bugzilla-Status: NEW X-Bugzilla-Priority: P2 X-Bugzilla-Assigned-To: siddhesh at redhat dot com X-Bugzilla-Target-Milestone: --- X-Bugzilla-Changed-Fields: Message-ID: In-Reply-To: References: X-Bugzilla-URL: http://sourceware.org/bugzilla/ Auto-Submitted: auto-generated Content-Type: text/plain; charset="UTF-8" MIME-Version: 1.0 Mailing-List: contact glibc-bugs-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Post: List-Help: , Sender: glibc-bugs-owner@sourceware.org X-SW-Source: 2013-03/txt/msg00050.txt.bz2 http://sourceware.org/bugzilla/show_bug.cgi?id=13932 --- Comment #8 from Siddhesh Poyarekar 2013-03-11 10:19:19 UTC --- (In reply to comment #7) > Hi, thanks for your work. Personally, I would be interested to have a pow > version that is perhaps less precise but that does not have such nasty > corner-cases. A 4x improvement is nice, but given that the worst-case may be > 12,000x slower, it is not a definitive solution. > > There are some implementations on the net that perhaps could be used when > -ffast-math is given? > > http://jrfonseca.blogspot.be/2008/09/fast-sse2-pow-tables-or-polynomials.html > > http://www.dctsystems.co.uk/Software/power.html > > http://martin.ankerl.com/2012/01/25/optimized-approximative-pow-in-c-and-cpp/ > > I am no expert in IEEE floating-point arithmetic, so it may well be that those > implementations produce extremely bad approximations for some inputs. Is that > the case? They're all in a way subsets of what the fast phase of libm does, so we don't really need to reimplement libm to take advantage of those ideas. That said, there is indeed a strong case for fast and (for some inputs) imprecise computations of transcendentals. That probably won't be the default in glibc, but I won't rule out the possibility of having an alternate library or configuration, provided there is consensus in the glibc community for it. -- Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.