forget_weight is only called when no carry appears. But it's not natural.
Maybe we need to call forget_weight at the first line of carry_up method.
From discussion in meeting in 2014-03-03, we asked @unnonouno to discuss the correctness of the idea with @beam2d.
I wrote a test for this issue, and confirmed unexpected behavior of forget_weight. I fixed it with the patch.
Fixed via #704.