>>104
floor()で切り捨てる前に、量子化誤差やpow()の誤差を取り除くために足したんだけど足りなかった。
IEEEのdoubleなら0.1足しちゃっていいみたい。実験結果はこれ。
http://ideone.com/7ts6i