mcdowella gave an excellent answer to this.
For an intuitive explanation, you can think of it this way,
if n> = m, n mod m <n / 2;
It can be shown as
if m <n / 2, then: n mod m <m <n / 2
if m> n / 2, then: n mod m = nm <n / 2
Thus, you halve the larger input, and in two calls, both arguments will be halved.
source share