Constant expressions are evaluated at compile time.
Compilation would suffer any eventual performance penalties.
This probably makes the compiler simpler - no need to implement different arithmetic for different types & no need to guess the types.
The dangerous bit is, that just extracting a variable from constant expressions might change the result slightly. That should not be a problem, unless you are depending on exact values.
The dangerous bit is, that just extracting a variable from constant expressions might change the result slightly. That should not be a problem, unless you are depending on exact values.