X(i+1) = X(i) + q Y(i) 2**(-i),
where q = sgn(Y(i)).
But nobody noticed that the production of Y(i) to q i.e. to sgn(Y(i)
is always positive value. And when we shift it to i bits to the right
the errors because of ignoring of shifted out right-most bits are always
negative. So all the errors have the same sign and they
are accumulated. For compensation it adding of mean of these errors with the
opposite sign decrease the total error. We used that approach while
developing of microcalculators "Electronica-S3-15" and "Electronica MK-41" in
1974 year. Who are interested in the details of that I can recommend
to read many my papers reviewed in "Computer and Control Abstr."(Baikov).