>>167
gccだと最適化の程度によって答えが変わる罠。

冗談はさておき、小数の方が2の負のべき乗になっていないために
演算精度の関係で積が(1に極近い)1未満になっていると思われ。
最適化を強くすると事前に積を求めてしまうのでイミディエイトの1になってしまう。

というわけで、キャストのときは精度に注意しましょう。