http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55022
--- Comment #12 from Dominique d'Humieres <dominiq at lps dot ens.fr> 2013-02-07 15:11:23 UTC --- If I replace the loop DO i = Spx , Epx vn1 = U(i,Apy)*NX1(i) + V(i,Apy)*NY1(i) P(i,Apy) = P(i,Apy)/DEXP(GMA*vn1/AS1(i)) U(i,Apy) = 0.0 V(i,Apy) = 0.0 T(i,Apy) = TWX_0 RHO(i,Apy) = P(i,Apy)*R_0 AS1(i) = A_0 E(i,Apy) = E_0 U1(i,Apy) = RHO(i,Apy) U2(i,Apy) = 0.0 U3(i,Apy) = 0.0 U4(i,Apy) = RHO(i,Apy)*E_0 ENDDO with DO i = Spx , Epx vn1 = GMA*(U(i,Apy)*NX1(i) + V(i,Apy)*NY1(i))/AS1(i) P(i,Apy) = P(i,Apy)/DEXP(vn1) RHO(i,Apy) = P(i,Apy)*R_0 AS1(i) = A_0 E(i,Apy) = E_0 U1(i,Apy) = RHO(i,Apy) U4(i,Apy) = RHO(i,Apy)*E_0 ENDDO U(Spx:Epx,Apy) = 0.0 V(Spx:Epx,Apy) = 0.0 T(Spx:Epx,Apy) = TWX_0 U2(Spx:Epx,Apy) = 0.0 U3(Spx:Epx,Apy) = 0.0 Then the test does not abort with NaNs, but the result seems wrong: 1729 0.40924060378447885 1737 0.41934356330600248 compared to 1729 0.40411964185599653 1737 0.41528583240265665