C Double integral by two one dimensional subroutines C EXTERNAL G COMMON ERMAX, XX C ERMAX = 0.0 EPS = 1.E-4 EPS1 = 9.0/10.0 * EPS A1 = 0.0 B1 = 1.0 CALL Q1 (G,A1,B1,EPS1,RES1,ERR1,KF1,IFLAG1) C ERR = ERR1+(B1-A1)*ERMAX WRITE (*,*) RES1, ERR, KF1, IFLAG1 STOP END C C FUNCTION G(X) EXTERNAL F COMMON ERMAX, XX C XX = X EPS2 = 0.1 * 1.E-4 A2 = 0.0 B2 = 2.0 CALL Q2 (F,A2,B2,EPS2,RES2,ERR2,KF2,IFLAG2) C C Test IFLAG2 IF (IFLAG2.NE.0) * WRITE (*,*) 'ERROR IN Q2, IFLAG, KF2 = ', IFLAG2, KF2 C ERMAX = MAX (ERMAX,ERR2) G = RES2 RETURN END C C FUNCTION F(Y) COMMON ERMAX, X C F = EXP (-X*X*Y*Y) RETURN END