------- Comment #3 from pinskia at gcc dot gnu dot org 2007-03-12 05:33 ------- The problem here is obvious, in the Fortran case, there is a temp array being created while in the C case, there is not. Also in the optimized C case, the multiplication of the complex numbers is incorrect unless you add -ffast-math. Actually I think in both C cases it is incorrect. Can someone try with -ffast-math for both the C and Fortran cases?
complex * complex is not a simple cross product in FP world. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31139