64.9%
while exp > zero() {
if exp.is_odd() { acc = (acc * &base) % modulus }
if exp > one() { base = (&base * &base) % modulus }
exp = exp >> 1;
}
if exp.is_odd() { acc = (acc * &base) % modulus }
temp = (acc * &base) % modulus; if exp.is_odd() { acc = temp }
, I believe