From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 23779 invoked by alias); 1 Oct 2007 17:43:13 -0000 Received: (qmail 23524 invoked by uid 48); 1 Oct 2007 17:43:01 -0000 Date: Mon, 01 Oct 2007 17:43:00 -0000 Message-ID: <20071001174301.23523.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug middle-end/33611] [4.1/4.2/4.3 regression] Optimizations generate incorrect code In-Reply-To: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "macracan at yahoo dot com" Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org X-SW-Source: 2007-10/txt/msg00055.txt.bz2 ------- Comment #4 from macracan at yahoo dot com 2007-10-01 17:43 ------- (In reply to comment #3) > For once a real floating point bug. In this code > double p = 0.422244 * f[a.e]; > if (f[0] < p) > > with a.e=1, f[1]=0.285433, we should calculate p=0.285433. Since > f[0]=0.0461109, we shouldn't enter the if-clause, but we do when Sorry, but this isn't quite accurate; the math is off, and the code _should_ enter the if branch the first time around, just not the second time around. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33611