simplify ripple-carry logic