I discovered this link in a blog post discussing the nuances of constant evaluation in Rust: https://www.ralfj.de/blog/2018/07/19/const.html . Turns out that the vagaries of floating point make it a bit of a hazard to do constant evaluation in any case where the correctness of your type system relies on constant calculations having the same result as runtime calculations. :)