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
