Quote:
Originally Posted by a1call
Are there any values that you know of, that yield false but are in fact prime?
That shouldn't be too difficult to check given the limited number of known MPs.

The Mersenne exponents through 44497 check out. There are no false positives through 23209. I'm using this PARI code which should be somewhat more efficient than the GP above.
Code:
#include <pari/pari.h>
/* For use in gp:
GP;install("testMersenne","lU","testMersenne","./filename.gp.so");
*/
long
testMersenne(ulong p)
{
if (p < 4) return p > 1;
pari_sp av = avma;
GEN n = subiu(int2u(p), 1);
pari_sp btop = avma;
GEN a = utoipos(4);
ulong k;
long ret;
for (k = 2; k <= p; ++k) {
a = remii(shifti(addii(sqri(a), a), 1), n);
if (gc_needed(btop, 1))
a = gerepileuptoint(btop, a);
}
ret = absequaliu(a, 4);
avma = av;
return ret;
}