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