optimize the hell out of Rational::ScaleInteger