SUBROUTINE MIDPNT(FUNC,A,B,S,N) IF (N.EQ.1) THEN S=(B-A)*FUNC(0.5*(A+B)) IT=1 ELSE TNM=IT DEL=(B-A)/(3.*TNM) DDEL=DEL+DEL X=A+0.5*DEL SUM=0. DO 11 J=1,IT SUM=SUM+FUNC(X) X=X+DDEL SUM=SUM+FUNC(X) X=X+DEL 11 CONTINUE S=(S+(B-A)*SUM/TNM)/3. IT=3*IT ENDIF RETURN END