SUB update(x,v,w2,gamma,omega,t,dt,dt2) DECLARE DEF f ! external function LET a = f(x,v,t,w2,gamma,omega) LET vmid = v + a*dt2 LET xmid = x + v*dt2 LET tmid = t + dt2 LET amid = f(xmid,vmid,tmid,w2,gamma,omega) LET v = v + amid*dt LET x = x + vmid*dt LET t = tmid + dt2 END SUB DEF f(x,v,t,w2,gamma,omega) LET f = -w2*x - gamma*v + cos(omega*t) END DEF