SUBROUTINE bcuint(y,y1,y2,y12,x1l,x1u,x2l,x2u,x1,x2,ansy,ansy1, *ansy2) REAL ansy,ansy1,ansy2,x1,x1l,x1u,x2,x2l,x2u,y(4),y1(4),y12(4), *y2(4) CU USES bcucof INTEGER i REAL t,u,c(4,4) call bcucof(y,y1,y2,y12,x1u-x1l,x2u-x2l,c) if(x1u.eq.x1l.or.x2u.eq.x2l)pause 'bad input in bcuint' t=(x1-x1l)/(x1u-x1l) u=(x2-x2l)/(x2u-x2l) ansy=0. ansy2=0. ansy1=0. do 11 i=4,1,-1 ansy=t*ansy+((c(i,4)*u+c(i,3))*u+c(i,2))*u+c(i,1) ansy2=t*ansy2+(3.*c(i,4)*u+2.*c(i,3))*u+c(i,2) ansy1=u*ansy1+(3.*c(4,i)*t+2.*c(3,i))*t+c(2,i) 11 continue ansy1=ansy1/(x1u-x1l) ansy2=ansy2/(x2u-x2l) return END C (C) Copr. 1986-92 Numerical Recipes Software .