The bug happens around 21.9 million PR
Hmm, that's a strange number for a computer to get unhappy.
Using float instead of int, IEEE 754 32-bit base-2 floating-point variable has a maximum value of (2 − 2^−23) × 2^127 ≈ 3.4028235 × 10^38 and 16-bit floating point or integers too small, even combination methods wouldn't cap out at that number.
Ahh the fun of trying to reverse engineer a system as a user.