>>796
残念、まだ理解できてないよ。

答えは >778 にある。
> "*(long long*)&f = i" は double 型のオブジェクトに long long 型の参照を通してアクセスしているので
> 未定義動作になる。結果は「最適化で削除してしまう」に限らず、何でもアリだよ。

これ以上は規格見てからしゃべってくれ。