Vincent Lefevre wrote:

On 2005-05-24 09:04:11 +0200, Uros Bizjak wrote:
 I would like to point out that for applications that crunch data
from real world (no infinites or nans, where precision is not
critical) such as various simulations, -ffast-math is something that
can speed up application a lot.

But note that even when precision is not critical, you may get
consistency problems or annoying unintuitive side effects. For
instance, see

 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15134

where

float x = 30.0;
int main()
{
 if ( 90.0/x != 3.0)
   abort();
 return 0;
}

fails with -ffast-math (on x86). I would not recommend it, unless
the user knows all the consequences.

On the other hand, in general using != and == on floating point numbers is always dangerous if you do not know all the consequences. For example, on your above program if I use 30.1 and 90.3, the program fails without -ffast-math.

Chris

Reply via email to