128-bit lehmer with 8-bit lookup.  improved from the mpz version and tested to not overflow