------- Additional Comments From Thomas dot Koenig at online dot de 2005-03-12 09:45 ------- (In reply to comment #4) > (In reply to comment #3) > > > > - Why the casts to double? > > > Because that is required by the C standard. > > > > Isn't that covered by the as-if rule? I'm fairly > > sure the cast to double won't change the result of > > the "<" operator :-)
> No but the addition is done in double. Again, the as-if rule: If a and b are floats, the expression a+b < 0 should be the same for any a and b regardless wether they are done in float or double. The same is true, for float a,b and c, of c = a+b; It is _not_ true for exmperssions like c = a+b-a, of course. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20434