I have a second order differential equation of the form (theta is a function of time):
[itex] \theta ''=F\left(\theta ,\theta '\right) [/itex]

Turning them to two first order equations I get:
[itex] \begin{cases} \theta '\:=\omega \\ \omega '=F\left(\theta ,\omega \right) \end{cases} [/itex]

And here's the algorithm which I need to know whether it's correct or not:

It does give me a solution that is really close to first order approximation but the thing is, when I look at the phase space, first order approximation conserves energy better because curves are closer to being closed (the equation is non dissipative), so I'm wondering why is that. Second order approximation is supposed to be better.