afterとbeforeが同一だったら0除算発生しないか?
めちゃくちゃなのはその処理だと思うぞ・