The commit message "Optimized performance of the GCD algorithm" piqued my interest. It's GCD, what's there to optimize?
I noticed the following code:
while (b !== 0) { if (a > b) { a -= b; } else { b -= a; } }
This uses repeated subtraction (a -= b) to implement division with remainder (a %= b); imagine a=1e12+1, b=2.Please don't do this in your code. If there is a built it instruction for division with remainder, don't reimplement it poorly in javascript.