Compile-time evaluation and correct unary minus precedence