gettime; allocatemem(20*10^6) v=[321,520,577,840,904,1009,1129,1229,1297,1509,1901,1937,2305,2920,3281,2^15-199]; for(i=1, #v, print(v[i]": "quadhilbert(v[i]))) { v = [ [y^2-145,1], [y^2-229,1], [y^2-401,1], [y^2-577,1], [y^2-761,1], [y^3-y^2-17*y-16,1], [y^3-14*y-7,1], [y^3-y^2-16*y+22,1], [y^3-36*y-45,1], [y^3-21*y-35,1], /* tougher: */ [y^3-12*y-1,1], [y^3-y^2-17*y-16,1], [y^3-y^2-30*y-27,1], [y^3-14*y-7,1], [y^3-y^2-16*y+22,1], [y^3-y^2-30*y+71,1], [y^3-y^2-16*y-6,1], [y^3-36*y-45,1], [y^3-12*y-1,[5,y+1]], [y^3-y^2-37*y+64,1], [y^3-y^2-9*y+8,1], [y^3-21*y-35,1], [y^3-y^2-16*y+8,1], [y^3-y^2-4*y-1,7], [y^3-12*y-1,[5,y+1]], [y^3-y^2-7*y+6,[29,y-13]] ]; } allocatemem(20*10^6) do(w) = { local(pol, mod, bnf, bnr, relpol); pol = w[1]; mod = w[2]; bnf = bnfinit(pol); if (type(mod) == "t_VEC", mod = idealhnf(bnf, mod[1], mod[2])); bnr = bnrinit(bnf, mod, 1); bnrstark(bnr, 0); } for(i = 1, #v, print(v[i]": "do(v[i]))); print("Total time spent: ",gettime);