------- Additional Comments From pinskia at gcc dot gnu dot org 2005-03-12 18:07 ------- (In reply to comment #5) > 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.
Well the real reason is creal/cimag returns double and not float. Use crealf/cimagf instead. Well yes this is a missed optimization, which should be filed separately. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20434