The file SHARE1;QQ FASL contains a function QUANC8 which can take either 3 or 4 arguments. The 3 arg version computes the integral of the function specified as the first argument over the interval from lo to hi as in QUANC8('function name,lo,hi). The function name should be quoted. The 4 arg version will compute the integral of the function or expression (first arg) with respect to the variable (second arg) over the interval from lo to hi as in QUANC8(,x,lo,hi). The method used is the Newton-Cotes 8th order polynomial quadrature, and the routine is adaptive. It will thus spend time dividing the interval only when necessary to achieve the error conditions specified by the global variables QUANC8_RELERR (default value=1.0e-4) and QUANC8_ABSERR (default value=1.0e-8) which give the relative error test |integral(function)-computed value|< quanc8_relerr*|integral(function)| and the absolute error test |integral(function)-computed value|.0 and an error message (such as division by 0) when a singular point is hit in the interval. You will have to find the singularity and eliminate it before QUANC8 will get an answer. Functions which have very large derivatives may throw the error estimate way off and cause the wrong points to be used, and a wrong answer returned. Try romberg(exp(-.002*x^2)*cos(x)^2,x,0.,100.); with the default tolerance, and quanc8(exp(-.002*x^2)*cos(x)^2,x,0.,100.); with quanc8_relerr=1.e-7 and 1.e-8. The last result is consistent with romberg while the previous one is off by a factor of 2! This is due to the bad behavior of the derivatives near x=10.0 which cause the adaptive routine to have trouble. If you use quanc8('f,a,c)+quanc8('f,c,b) where a