http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57749
--- Comment #2 from Vittorio Zecca <zeccav at gmail dot com> --- I believe -O0 is the default optimization level, so it is important. Of course the code I sent you is a fragment from a much larger program, kind of c**x with c complex and x real. It is not possible to make x into an integer. When x is zero and y is real, x**y is singular for y<=0, right? Also, I do not understand why I get SIGFPE on either zero or invalid -ffpe-trap suboption, but this is a lesser issue.