実際VS2005ぐらいに演算の順番が決まってなくて実装依存だった
それでコードを書いてた
それがVS2007には演算順序が2005と変わってた
GCCでも別の順で計算された

どうしたらいいかわからんから多分ここに聞きにきたら未定義動作だからどうしようもない
実装依存で仕方がないと返答あり