default(parisize,"64M")
isprime(5368962301599408606279497323618896374219)
isprime(4309513411435775833571)
isprime(26959946667150639794667015087019630673557916260026308143510066298881)

p=10^6+3; q=10^6+33;
isprime(1+24*p*q, 1)
\\ isprime(1+232*p^2*q^3, 1) /* need N-1 + ECPP */

isprime([2,3,4])
isprime([2,3,4],1)
isprime([2,3,4],2)
isprime([2,3,4],3)
ispseudoprime([1,3,4,5],2)
\\isprime(2^3515+159, 2) 10 min
\\isprime(2^2000+841, 2) 1 min
\\isprime(2^1600+895, 2) 27s
isprime(2^1000+297, 2)
p=2^256+5721;
isprime(p)
addprimes([38430950967054905712282083,237470764391881188851670682297783,1029859]);
isprime(p,1)
setrand(1); c=primecert(p);apply(x->x[1],c)
primecertisvalid(c)
c[1][1]++; primecertisvalid(c)
c=primecert(p,1)
primecertisvalid(c)
c[2][4][1]++; primecertisvalid(c)

isprime(18446744073709551557, 3)
isprime(437256732647720373392867051041, 3)
isprime(10^472+69169)

\\ would trigger umr in 2.2.11: red_montgomery()
isprime(85070591730234615857870057863360474949);

stripgit(c) = strjoin(strsplit(c, "\n")[^6], "\n");
primecert(1)
primecert(2)
primecert(18446744073709551557);
primecert(18446744073709551629);
primecertisvalid(primecert(18446744073709551557))
primecertisvalid(primecert(18446744073709551629))
cert = [[100000000000000000000000000000000069, 546867911035452074, 2963504668391148, 0, [33871007718198692871763537900223244, 37634983931409678910567952612637528]], [33743830764501150277, -11610830419, 734208843, 0, [16662256621764551072, 717141744113721531]]];
primecertexport(cert)
primecertexport(cert,2)
print(stripgit(primecertexport(cert,1)))
setrand(1);
cert = primecert(104847485105117585996751891729845662843364912851385667939830682169316283979217507303783276087270751367988006094556790411454173939259895051951577787259);
print(stripgit(primecertexport(cert,1)))
print(primecertexport(cert,2))
primecertisvalid(primecert(16285004170961712447000975451705488808641461042245717587564868626116060638362995676584291019647333487131164585910692526519723394628478390124381641415798852319473605083279694798821564187404325769317838108581838244806431287065930206020985599594140650596158360451027455871094479408389113611410568437054557))
C=primecert(2^500+55,,250);#C
C2=primecert(C);#C2
primecertisvalid(C2)

\\ #2166
addprimes(275509565477848842604777623828011666349761);
isprime(polcyclo(712,2),1)

\\ Errors, keep at end of file
primecertexport([0],1)
primecertexport([],1)
