Euclidean Algorithm/Least Absolute Remainder

Algorithm
The Euclidean algorithm is a method for finding the greatest common divisor (GCD) of two integers $a$ and $b$.

Let $a, b \in \Z$ and $a \ne 0 \lor b \ne 0$.

The steps are:
 * $(1): \quad$ Start with $\tuple {a, b}$ such that $\size a \ge \size b$. If $b = 0$ then the task is complete and the GCD is $a$.
 * $(2): \quad$ If $b \ne 0$ then you take the least absolute residue $r$ such that:
 * $a = q b + r: -\dfrac b 2 < r \le \dfrac b 2$
 * $(3): \quad$ Set $a \gets b, b \gets r$ (and thus $\size a \ge \size b$ again).
 * $(4): \quad$ Repeat these steps until $b = 0$.

Thus the GCD of $a$ and $b$ is the value of the variable $a$ after the termination of the algorithm.