А значит f(n-2) вычислится мгновенно. Что из описанного мной стандарт не гарантирует?
Вот этого он и не гарантирует. Попробуй где-нибудь найти обоснование этому выводу в Стандарте. Не найдёшь. Ты, конечно, можешь понаставить в коде барьеров на чтение/запись где-то там в атрибутах, но и тогда их соблюдение всё равно останется на совести реализации, Стандарт лишь предоставляет программисту Стандартный инструмент для этого.