I just update the paper|code. It’s now orders-of-magnitude faster, which is explained in the paper.
Here the output. It only stopped because the software couldn’t process larger numbers.
➜ mps ./mpgs
Starting search for next Mp with known p = 3
5, 2, 31
Elapsed time = 00:00:00.000057178
Starting search for next Mp with known p = 5
7, 2, 127
Elapsed time = 00:00:00.000024556
Starting search for next Mp with known p = 7
13, 6, 8191
Elapsed time = 00:00:00.000020819
Starting search for next Mp with known p = 13
17, 4, 131071
Elapsed time = 00:00:00.000026760
Starting search for next Mp with known p = 17
19, 2, 524287
Elapsed time = 00:00:00.000022142
Starting search for next Mp with known p = 19
31, 12, 2147483647
Elapsed time = 00:00:00.000028463
Starting search for next Mp with known p = 31
61, 30, 2305843009213693951
Elapsed time = 00:00:00.000046226
Starting search for next Mp with known p = 61
89, 28, 618970019642690137449562111
Elapsed time = 00:00:00.000059962
Starting search for next Mp with known p = 89
107, 18, 162259276829213363391578010288127
Elapsed time = 00:00:00.000050865
Starting search for next Mp with known p = 107
127, 20, 170141183460469231731687303715884105727
Elapsed time = 00:00:00.000048701
Starting search for next Mp with known p = 127
521, 394, 6864797660130609714981900799081393217269435300143305409394463459185543183397656052122559640661454554977296311391480858037121987999716643812574028291115057151
Elapsed time = 00:00:00.002608888
Starting search for next Mp with known p = 521
607, 86, 531137992816767098689588206552468627329593117727031923199444138200403559860852242739162502265229285668889329486246501015346579337652707239409519978766587351943831270835393219031728127
Elapsed time = 00:00:00.002203116