What I did was to make constants called SQRT_6_EPSILON, etc, and then make your suggested optimizations to float also to double and long double. I also wrote my own atanhl function so that your inexact optimizations could be applied to long double as well as double and float.