fun integrate(f,a,b,e :real)= let fun int_iter(f,a,b,e,p:real)= if a>b then p else int_iter(f,a+e,b,e,p+e*(f(a)+f(a+e))/2.0) in int_iter(f,a,b,e,0.0) end;