I have been using standard, non-adaptive symplectic integrators in my work for many years. This kind of integrator requires the user to provide a time-step $\Delta t$, which is kept fixed during propagation, such that the number of iterations is given by $t_f/\Delta t$, where $t_f$ is the desired final time. On the other hand, in adaptive-step Runge-Kutta methods the step-size is tuned throughout integration, becoming smaller e.g near singularities and larger in continuous terrain.
The number of iterations required by an explicit adaptive-step method such as Dormand and Prince's, when compared to a 6th order symplectic integrator such as Blanes and Moan's, is thousands of times smaller in my applications. The energy drift is minuscule and essentially negligible in my case, as I'm only interested in moderate-time dynamics. However, I have to code all my integrators by hand, because I need to compute not only the trajectories but also several objects that need to be calculated at run time. One of them is the area encircled by the trajectory and the straight line connecting its initial and final points. Unfortunately, because of the big jumps in the adaptive-step propagation, my area comes out terrible: While my points and energies have a relative error of $\mathcal{O}(10^{-10})$, my areas are $\mathcal{O}(10^{-2})$. Since this area is really the most important quantity in my work, this completely prohibits me of using adaptive steps, rendering me very sad indeed.
While taking a look to see why I could get near-machine precision in points and energies but not in areas, I noticed this is because the intermediate steps used in my adaptive-step algorithm go completely nuts: The final point makes sense, but all the intermediate ones are just crazy. I am not an expert in Runge-Kutta methods, so I don't know the correct terminology, but is there an adaptive-step algorithm that has well-behaved enough intermediate steps to provide me with an area that has the same accuracy as my trajectories?