Issue was caused by the precision issues which made sdivm by 1 under it's actual value. We can try to do some eps magic, but from the tests on laptop and desktop doing integer division is not slower than using floats here.