/guava/android/guava/src/com/google/common/math/LongMath.java
if ( nBits + nBits < Long.SIZE - 1) {
if ( numeratorBits + nBits < Long.SIZE - 1 ) {
int nBits = LongMath.log2(n, RoundingMode.CEILING); long result = 1; long numerator = n--; long denominator = 1; int numeratorBits = nBits; for (int i = 2; i <= k; i++, n--) { <extra_id_0> numerator *= n; denominator *= i; numeratorBits += nBits; } else { result = multiplyFraction(result, numerator, denominator); numerator = n;