`DOUBLE PRECISION` declaration should no longer be used. Should do:

INTEGER, PARAMETER :: real64 = SELECTED_REAL_KIND(15, 307)
REAL(KIND=real64) :: ang_distance

See, for example:
http://gcc.gnu.org/onlinedocs/gcc-4.7.2/gfortran/SELECTED_005fREAL_005fKIND.html#SELECTED_005fREAL_005fKIND

(Although it doesn't matter as a demo, it is still best that we stick with best practices in our documentation.)