https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107294

mjr19 at cam dot ac.uk changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |mjr19 at cam dot ac.uk

--- Comment #5 from mjr19 at cam dot ac.uk ---
But 10.1.5.2.4 says "once the interpretation of a numeric intrinsic operation
is established, the processor may evaluate any mathematically equivalent
expression, provided that the integrity of parentheses is not violated."

As cmplx(r)*z and cmplx(r*real(z),r*aimag(z)) are mathematically equivalent, is
a Fortran compiler not permitted to make this optimisation (unless conforming
to F90 or F95, for 10.1.5.2.4 was first introduced in F2003)?

Furthermore, Fortran does not define how complex multiplication is to be
performed, so relying on the precise details result when multiplying signed
zeros or NaNs may be unwise.

Reply via email to