I translated it from Fortran to C++. I cleaned it up a little bit, and
implemented a rudimentary command-line interface for setting some of the
parameters. You can find the C++ code at: http://www.av8n.com/computer/geometric-numerical-integration/
It can integrate one orbit of the Kepler problem in 15 milliseconds on
a several-years-old laptop, returning to the starting position and
velocity with an accuracy of one part in 10^15 or so ... which is not
too shabby. It can also handle many other tasks, and can easily be
extended.