forces execution of Changelog make rule
simplifies code

printf does not need the `l` in `%lf`. The type is double anyways.
moves functions to allow inlining