物凄くどうでもいいけど
(left+right)/2
よりは
left+(right-left)/2
と書くべきだよね。

これによる影響が出るのが普通じゃないケースだから本当にどうでもいいんだけど。