条件分岐という重し

ひっくり返す関数が悪い訳ではなかったようだ。
とにかく条件分岐のコストが高過ぎるのが原因らしい。
一生懸命最適化したつもりの関数も全く速くならなかったが、関数内の条件分岐を削っただけで5倍速くなった。
枝刈りはどうしても条件分岐を使わない訳にはいかないのだが、スコアの更新やその他の部分でなんとか条件分岐を使わずにすむように考えることにする。