Fix proposal for issue 1

Small negative differences were causing an infinite loop.
Because the rounded value was 0, but when checking for negativity
we used the original negative value.