/guava/android/guava/src/com/google/common/math/BigIntegerMath.java
int p = n - numeratorBits;
int p = n - i;
BigInteger accum = BigInteger.ONE; long numeratorAccum = n; long denominatorAccum = 1; int bits = LongMath.log2(n, CEILING); int numeratorBits = bits; for (int i = 1; i < k; i++) { <extra_id_0> int q = i + 1; if (numeratorBits + bits >= Long.SIZE - 1) { accum = accum .multiply(BigInteger.valueOf(numeratorAccum)) .divide(BigInteger.valueOf(denominatorAccum));