  ***   Warning: new stack size = 50000000 (47.684 Mbytes).
? test(2,20)
[a^2 + a + 1, a^19 + a^18 + a^17 + a^15 + a^14 + a^13 + a^12 + a^8 + a^7 + a
^6 + a^4 + a^2 + 1, 0, a + 1, 0, 0, 0, 0, a^19 + a^16 + a^15 + a^11 + a^8 + 
a^5 + a^4 + a^3 + a^2 + a, a, a^2, a^12 + a^9 + a^6 + a^4 + a^3 + a^2 + a, a
^18 + a^17 + a^16 + a^14 + a^13 + a^12 + a^11 + a^10 + a^9 + a^8 + a^7 + a^4
 + a^3 + a^2 + 1, a^18 + a^17 + a^16 + a^14 + a^13 + a^12 + a^11 + a^10 + a^
9 + a^8 + a^7 + a^4 + a^3 + a^2 + 1, a^16 + a^12 + a^9 + a^6 + a^4 + a^3 + a
^2 + a + 1, 0, Mod(1, 2), Mod(0, 2), Mod(1, 2)*x^20 + Mod(1, 2)*x^17 + Mod(1
, 2)*x^16 + Mod(1, 2)*x^12 + Mod(1, 2)*x^9 + Mod(1, 2)*x^6 + Mod(1, 2)*x^5 +
 Mod(1, 2)*x^4 + Mod(1, 2)*x^3 + Mod(1, 2)*x^2 + Mod(1, 2), Mod(1, 2)*x^20 +
 Mod(1, 2)*x^17 + Mod(1, 2)*x^16 + Mod(1, 2)*x^12 + Mod(1, 2)*x^9 + Mod(1, 2
)*x^6 + Mod(1, 2)*x^5 + Mod(1, 2)*x^4 + Mod(1, 2)*x^3 + Mod(1, 2)*x^2 + Mod(
1, 2), [a, a^2, a^4, a^8, a^16, a^16 + a^12 + a^9 + a^6 + a^4 + a^3 + a^2, a
^16 + a^12 + a^9 + a^6 + a^4 + a^3 + a + 1, a^16 + a^12 + a^9 + a^6 + a^3 + 
a^2 + a, a^16 + a^12 + a^9 + a^8 + a^6 + a^4 + a^3 + a^2 + a + 1, a^12 + a^9
 + a^6 + a^4 + a^3 + a^2 + a, a + 1, a^2 + 1, a^4 + 1, a^8 + 1, a^16 + 1, a^
16 + a^12 + a^9 + a^6 + a^4 + a^3 + a^2 + 1, a^16 + a^12 + a^9 + a^6 + a^4 +
 a^3 + a, a^16 + a^12 + a^9 + a^6 + a^3 + a^2 + a + 1, a^16 + a^12 + a^9 + a
^8 + a^6 + a^4 + a^3 + a^2 + a]~, [x^3 + (a^17 + a^16 + a^10 + a^7 + a^3), 1
; x^3 + (a^17 + a^16 + a^10 + a^7 + a^3 + a), 1], 0, a/x, 1, a^18 + a^16 + a
^13 + a^12 + a^9 + a^8 + a^7 + a^5 + a^4 + a^2, 1048575, a, [x + (a^18 + a^1
6 + a^13 + a^9 + a^8 + a^7 + a^6 + a^4 + a^2 + a), 1; x + (a^18 + a^16 + a^1
3 + a^9 + a^8 + a^7 + a^6 + a^4 + a^2 + a + 1), 1], [a^18 + a^16 + a^13 + a^
9 + a^8 + a^7 + a^6 + a^4 + a^2 + a, a^18 + a^16 + a^13 + a^9 + a^8 + a^7 + 
a^6 + a^4 + a^2 + a + 1]~]
? test(7,7)
[a^2 + 3*a + 1, a^6 + 2*a^4 + 5*a^3 + 2*a^2 + 5*a + 1, 3*a + 3, a + 3, 5*a^6
 + 3*a^4 + 4*a^3 + 3*a^2 + 4*a, 2*a + 2, 2*a + 2, 4*a + 4, 6*a^6 + 6*a^5 + 5
*a^4 + 2, 6*a, a^2, 3*a^6 + 5*a^5 + 3*a^3 + a^2 + 2*a + 6, 4*a^2 + 4*a + 4, 
4*a^2 + 4*a + 4, 4, 3*a^6 + 3*a^5 + 5*a^4 + 2*a^3 + 3*a^2 + a + 4, Mod(1, 7)
, Mod(6, 7), Mod(1, 7)*x^7 + Mod(1, 7)*x^6 + Mod(2, 7)*x^5 + Mod(5, 7)*x + M
od(1, 7), Mod(1, 7)*x^7 + Mod(1, 7)*x^6 + Mod(2, 7)*x^5 + Mod(5, 7)*x + Mod(
1, 7), [a, 6*a^6 + 5*a^5 + 2*a + 6, 5*a^6 + 6*a^5 + 2*a^3 + 4*a^2 + 3*a + 5,
 3*a^6 + 5*a^2 + 5, 6*a^6 + 2*a^5 + 5*a^4 + 5*a^3 + 5*a^2 + a + 5, 2*a^6 + 5
*a^2 + 6, 6*a^6 + a^5 + 2*a^4 + 2*a^2]~, [x^2 + (a^6 + 6*a^5 + 4*a^4 + 5*a^3
 + 4)*x + 4, 1; x^2 + (2*a^6 + 5*a^5 + a^4 + 3*a^3 + 1)*x + 2, 1; x^2 + (4*a
^6 + 3*a^5 + 2*a^4 + 6*a^3 + 2)*x + 1, 1], [0, 0, 0, a, 1, 0, 2*a, 4, 6*a^2,
 a, 4, 6*a^3 + 2, a^6 + 4*a^5 + 4*a^4 + 6*a^2 + a + 4, 0, 0, 0, 0, 0, 0], a/
x, (x + a)/(x + 6*a), 2*a^6 + 2*a^5 + 5*a^4 + 3*a^3 + 4*a + 3, 274514, a, [x
 + (2*a^6 + 6*a^5 + 5*a^2 + 2*a + 1), 1; x + (5*a^6 + a^5 + 2*a^2 + 5*a), 1]
, [2*a^6 + 6*a^5 + 5*a^2 + 2*a, 5*a^6 + a^5 + 2*a^2 + 5*a + 6]~]
? test(precprime(2^32),3)
[a^2 + 3*a + 1, 3435973833*a^2 + 3435973833, 2863311528*a + 2863311528, a + 
3435973833, 3579139409*a^2 + 2863311528, 3579139410*a + 3579139410, 1024*a +
 1024, 859832319*a + 859832319, 4294967290*a^2 + 4294967290*a + 4, 429496729
0*a, a^2, 3885163399*a^2 + 2553150559*a + 523234686, a^2 + a + 1, a^2 + a + 
1, 1, 4264202413*a^2 + 356078407*a + 3929909005, Mod(25, 4294967291), Mod(42
94967290, 4294967291), Mod(1, 4294967291)*x^3 + Mod(1, 4294967291)*x^2 + Mod
(4294967287, 4294967291)*x + Mod(1, 4294967291), Mod(1, 4294967291)*x^3 + Mo
d(1, 4294967291)*x^2 + Mod(4294967287, 4294967291)*x + Mod(1, 4294967291), [
a, a^2 + a + 4294967288, 4294967290*a^2 + 4294967289*a + 2]~, [x + (34444702
3*a^2 + 1616586690*a + 252460086), 1; x + (3340051543*a^2 + 1627577691*a + 2
021233148), 1; x^2 + (954915748*a^2 + 2667389600*a + 2273734143)*x + (816322
992*a^2 + 830924795*a + 1995175223), 1; x^2 + (3950520268*a^2 + 2678380601*a
 + 4042507205)*x + (1642837480*a^2 + 2548350348*a + 1670376662), 1], [0, 0, 
0, a, 1, 0, 2*a, 4, 4294967290*a^2, 4294967243*a, 4294966427, 64*a^2 + 42949
67035*a + 4294966923, 3618892287*a^2 + 1482857269*a + 1021597254, 0, 0, 0, 0
, 0, 0], a/x, (x + a)/(x + 4294967290*a), 3219540619*a^2 + 1467235354*a + 23
11182475, 36893488070109691946, a, [x + (1365670490*a^2 + 3373566631*a + 408
3593885), 1; x + (2929296801*a^2 + 921400660*a + 211373407), 1], [1365670490
*a^2 + 3373566631*a + 4083593884, 2929296801*a^2 + 921400660*a + 211373406]~
]
? test(nextprime(2^32),3)
[a^2 + 3*a + 1, a^2 + 4294967310, 1431655771*a + 1431655771, a + 3435973849,
 3579139425*a^2 + 1431655772, 715827886*a + 715827886, 1024*a + 1024, 114504
4996*a + 1145044996, a^2 + a + 4294967309, 4294967310*a, a^2, 264190711*a^2 
+ 2629464558*a + 2494776416, 2086193154*a^2 + 2086193154*a + 2086193154, 220
8774156*a^2 + 2208774156*a + 2208774156, 2086193154, 996804783*a^2 + 2908221
018*a + 1206110100, Mod(13, 4294967311), Mod(4294967310, 4294967311), Mod(1,
 4294967311)*x^3 + Mod(1, 4294967311)*x^2 + Mod(4294967309, 4294967311)*x + 
Mod(4294967310, 4294967311), Mod(1, 4294967311)*x^3 + Mod(1, 4294967311)*x^2
 + Mod(4294967309, 4294967311)*x + Mod(4294967310, 4294967311), [a, a^2 + 42
94967309, 4294967310*a^2 + 4294967310*a + 1]~, [x^2 + (2086193155*a^2 + 1225
81001)*x + 2086193154, 1; x^2 + (2208774157*a^2 + 4172386308)*x + 2208774156
, 1; x^2 + (4294967310*a^2 + 2)*x + 1, 1], [0, 0, 0, a, 1, 0, 2*a, 4, 429496
7310*a^2, 4294967263*a, 4294966447, 64*a^2 + 4294967183*a + 4294966815, 1484
088443*a^2 + 1141114953*a + 4283364322, 0, 0, 0, 0, 0, 0], a/x, (x + a)/(x +
 4294967310*a), 4204026293*a^2 + 2068287144*a + 232863018, 61489147356178460
11, a, [x + (268392743*a^2 + 2459390605*a + 1304316255), 1; x + (4026574568*
a^2 + 1835576706*a + 2990651057), 1], [268392743*a^2 + 2459390605*a + 130431
6254, 4026574568*a^2 + 1835576706*a + 2990651056]~]
? test2(p)=ffgen(x*Mod(1,p));g=ffprimroot(ffgen((x+1)*Mod(1,p)),&o);print([g
,o]);fflog(g^17,g,o);
? test2(2)
[1, [1, matrix(0,2)]]
1
? test2(3)
[2, [2, Mat([2, 1])]]
1
? test2(46744073709551653)
[2, [46744073709551652, [2, 2; 3, 1; 7, 1; 37, 1; 1036513, 1; 14510113, 1]]]
  ***   at top-level: test2(46744073709551
  ***                 ^--------------------
  ***   in function test2: ...d(1,p)),&o);print([g,o]);fflog(g^17,g,o)
  ***                                                  ^---------------
  *** fflog: gen_Shanks_log: supplied order (= 2) is incorrect.
? test2(precprime(1<<32))
[2, [4294967290, [2, 1; 5, 1; 19, 1; 22605091, 1]]]
17
? do(f,p,T)=centerlift(lift(polrootsff(f,p,T)));
? do(x^3+x^2+x-1,3,t^3+t^2+t-1)
[t, t^2 + 1, -t^2 - t + 1]~
? t=ffgen(ffinit(3,3),'t);do((x^3+x^2+x-1)*t^0,t.p,t.mod)
[t, t^2 + 1, -t^2 - t + 1]~
? polrootsff(x^4+1,2,y^2+y+1)
[Mod(Mod(1, 2), Mod(1, 2)*y^2 + Mod(1, 2)*y + Mod(1, 2))]~
? t=ffgen(ffinit(7,4));fflog(t^6,t^2)
  ***   at top-level: t=ffgen(ffinit(7,4));fflog(t^6,t^2)
  ***                                      ^--------------
  *** fflog: gen_Shanks_log: supplied order (= 5) is incorrect.
? t=ffgen(ffinit(2,64))^((2^64-1)\5);1/t
x^58 + x^57 + x^56 + x^52 + x^51 + x^49 + x^46 + x^45 + x^42 + x^39 + x^36 +
 x^35 + x^32 + x^30 + x^29 + x^25 + x^23 + x^22 + x^21 + x^20 + x^19 + x^12 
+ x^8 + x^7 + x^6 + x^2
? t=ffgen(('t^2+'t+1)*Mod(1,2));
? factorff(x^12+t*x^10+x^6+(t+1)*x^2+1)

[x + 1 6]

[x + t 6]

? polrootsff(x^2-x-ffgen((v^2+1)*Mod(1,3)))
[]~
? print("Total time spent: ",gettime);
Total time spent: 1176
