Boost is a major drag when you want to compile anything, as the huge number of headers slows down the compilation considerably.
In this issue, we want to remove one dependency, namely boost::math. It should only be referenced in a handful of special files (special_functions.cpp, maybe something like special_constants.cpp), everything else should reference a forward from the corresponding header files.
Measure the effect of this cleanup on compile times!
Added an own helper function to get value of pi only. Everything else was strongly localized. The effect on compile times was negligible (~ 1%)
Diff: