One thing that I didn't know, is that FBase=a=<some base> is honored by llr when set as Fermat base, that is no surprise.

But! -- what follows (i.e. L+F tests) is decoupled from the choice of a, so Lucas test happens to be all the same in all runs, so one is enough.

Code:

Starting probable prime test of (10^8177207-1)/9
Using AVX-512 FFT length 1600K, Pass1=1K, Pass2=1600, clm=1, 24 threads, a = 23
(10^8177207-1)/9 is base 23-Fermat PRP! (8177207 decimal digits) Time : 25493.017 sec.
Starting Lucas sequence
Using AVX-512 FFT length 1600K, Pass1=1K, Pass2=1600, clm=1, 24 threads, P = 6, Q = 2
_____________...and so on...___________
Using AVX-512 FFT length 1600K, Pass1=1K, Pass2=1600, clm=1, 16 threads, a = 5
10^8177207-1)/9 is base 5-Fermat PRP! (8177207 decimal digits) Time : 25663.426 sec.
Starting Lucas sequence
Using AVX-512 FFT length 1600K, Pass1=1K, Pass2=1600, clm=1, 16 threads, P = 6, Q = 2
_____________...and so on...___________
Starting probable prime test of (10^8177207-1)/9
Using AVX-512 FFT length 1600K, Pass1=1K, Pass2=1600, clm=1, 16 threads, a = 7
(10^8177207-1)/9 is base 7-Fermat PRP! (8177207 decimal digits) Time : 25609.258 sec.
Starting Lucas sequence
Using AVX-512 FFT length 1600K, Pass1=1K, Pass2=1600, clm=1, 16 threads, P = 6, Q = 2
_____________...and so on...___________
Starting probable prime test of (10^8177207-1)/9
Using AVX-512 FFT length 1600K, Pass1=1K, Pass2=1600, clm=1, 16 threads, a = 11
(10^8177207-1)/9 is base 11-Fermat PRP! (8177207 decimal digits) Time : 25643.544 sec.
Starting Lucas sequence
Using AVX-512 FFT length 1600K, Pass1=1K, Pass2=1600, clm=1, 16 threads, P = 6, Q = 2
_____________...and so on...

I'll try to (as Mike likes to say) ...

...options:

FBase=

PBase=

FermatBase=

LucasBaseP=

isLucasBaseQ=

genLucasBaseQ=

generalLucasBase=

genLucasBaseP=

...

Code:

sllr -oLucasBaseP=12 -oLucasPRPtest=1 -oBPSW=1 -d in
Starting Lucas sequence
Using FMA3 FFT length 1600K, Pass1=640, Pass2=2560, clm=1, 24 threads, P = 1, Q = 4 <<< looks like can be controlled

P = 1, Q = 4 is good: kronecker(-15,Rn) = -1

P = 6, Q = 2 is good: kronecker(28,Rn) = -1