KeSqueer constant expressions да, только в C++0x, но простые функции компиллер уже давно оптимизирует не хуже constant expressions. Разница лишь в том, что результатом функции нельзя воспользоваться как компайлтаймовым значением. Так что с практической точки зрения все нормально.
Начиная с Visual Studio 2005 (Whole Program Optimization) это будет наверняка оптимизировано. Недавно, я смотрел код, который получается на выходе у Visual Studio 2005. Как говорят на английском: "put me to shame". Всё, что возможно, распланировано в регистры с минимальными доступами в память. Нет слов, классный оптимизатор!