/guava/android/guava/src/com/google/common/math/LongMath.java
res = mulMod( res, limit, m) ;
res = mulMod ( res, a, m ) ;
abstract long mulMod(long a, long b, long m); abstract long squareMod(long a, long m); private long powMod(long a, long p, long m) { long res = 1; for (; p != 0; p >>= 1) { if ((p & 1) != 0) { <extra_id_0> } a = squareMod(a, m); } return res; } private boolean testWitness(long base, long n) {