LIB "tst.lib"; tst_init(); ring R = 0, (a1, a2, a3, a4, a5, a6, b1, b2, b3, b4, b5, b6, c1, c2, c3, c4, c5, c6), (lp); matrix d1[15][15]; matrix d2[15][15]; matrix d3[15][15]; d1 = a6, a5, a4, a3, a2, a1, 0, 0, 0, 0, 0, 0, 0, 0, 0 , 0, 0, a6, 0, a5, a4, 0, a3, a2, a1, 0, 0, 0, 0, 0 , 0, a6, 0, a5, a4, 0, a3, a2, a1, 0, 0, 0, 0, 0, 0 , 0, 0, 0, a6, 0, 0, a5, a4, 0, 0, a3, a2, a1, 0, 0 , 0, 0, 0, 0, a6, 0, 0, a5, a4, 0, 0, a3, a2, a1, 0 , 0, 0, 0, 0, 0, a6, 0, 0, a5, a4, 0, 0, a3, a2, a1 , 0, 0, 0, b6, 0, 0, b5, b4, 0, 0, b3, b2, b1, 0, 0 , 0, 0, 0, 0, b6, 0, 0, b5, b4, 0, 0, b3, b2, b1, 0 , 0, b6, 0, b5, b4, 0, b3, b2, b1, 0, 0, 0, 0, 0, 0 , 0, 0, b6, 0, b5, b4, 0, b3, b2, b1, 0, 0, 0, 0, 0 , 0, 0, 0, 0, 0, b6, 0, 0, b5, b4, 0, 0, b3, b2, b1 , 0, 0, 0, 0, 0, c6, 0, 0, c5, c4, 0, 0, c3, c2, c1 , 0, 0, c6, 0, c5, c4, 0, c3, c2, c1, 0, 0, 0, 0, 0 , 0, c6, 0, c5, c4, 0, c3, c2, c1, 0, 0, 0, 0, 0, 0 , 0, 0, 0, 0, c6, 0, 0, c5, c4, 0, 0, c3, c2, c1, 0 ; d2 = b6, b5, b4, b3, b2, b1, 0, 0, 0, 0, 0, 0, 0, 0, 0 , 0, 0, b6, 0, b5, b4, 0, b3, b2, b1, 0, 0, 0, 0, 0 , 0, b6, 0, b5, b4, 0, b3, b2, b1, 0, 0, 0, 0, 0, 0 , 0, 0, 0, b6, 0, 0, b5, b4, 0, 0, b3, b2, b1, 0, 0 , 0, 0, 0, 0, b6, 0, 0, b5, b4, 0, 0, b3, b2, b1, 0 , 0, 0, 0, 0, 0, b6, 0, 0, b5, b4, 0, 0, b3, b2, b1 , 0, 0, 0, c6, 0, 0, c5, c4, 0, 0, c3, c2, c1, 0, 0 , 0, 0, 0, 0, c6, 0, 0, c5, c4, 0, 0, c3, c2, c1, 0 , 0, c6, 0, c5, c4, 0, c3, c2, c1, 0, 0, 0, 0, 0, 0 , 0, 0, c6, 0, c5, c4, 0, c3, c2, c1, 0, 0, 0, 0, 0 , 0, 0, 0, 0, 0, c6, 0, 0, c5, c4, 0, 0, c3, c2, c1 , 0, 0, 0, 0, 0, a6, 0, 0, a5, a4, 0, 0, a3, a2, a1 , 0, 0, a6, 0, a5, a4, 0, a3, a2, a1, 0, 0, 0, 0, 0 , 0, a6, 0, a5, a4, 0, a3, a2, a1, 0, 0, 0, 0, 0, 0 , 0, 0, 0, 0, a6, 0, 0, a5, a4, 0, 0, a3, a2, a1, 0 ; d3 = c6, c5, c4, c3, c2, c1, 0, 0, 0, 0, 0, 0, 0, 0, 0 , 0, 0, c6, 0, c5, c4, 0, c3, c2, c1, 0, 0, 0, 0, 0 , 0, c6, 0, c5, c4, 0, c3, c2, c1, 0, 0, 0, 0, 0, 0 , 0, 0, 0, c6, 0, 0, c5, c4, 0, 0, c3, c2, c1, 0, 0 , 0, 0, 0, 0, c6, 0, 0, c5, c4, 0, 0, c3, c2, c1, 0 , 0, 0, 0, 0, 0, c6, 0, 0, c5, c4, 0, 0, c3, c2, c1 , 0, 0, 0, a6, 0, 0, a5, a4, 0, 0, a3, a2, a1, 0, 0 , 0, 0, 0, 0, a6, 0, 0, a5, a4, 0, 0, a3, a2, a1, 0 , 0, a6, 0, a5, a4, 0, a3, a2, a1, 0, 0, 0, 0, 0, 0 , 0, 0, a6, 0, a5, a4, 0, a3, a2, a1, 0, 0, 0, 0, 0 , 0, 0, 0, 0, 0, a6, 0, 0, a5, a4, 0, 0, a3, a2, a1 , 0, 0, 0, 0, 0, b6, 0, 0, b5, b4, 0, 0, b3, b2, b1 , 0, 0, b6, 0, b5, b4, 0, b3, b2, b1, 0, 0, 0, 0, 0 , 0, b6, 0, b5, b4, 0, b3, b2, b1, 0, 0, 0, 0, 0, 0 , 0, 0, 0, 0, b6, 0, 0, b5, b4, 0, 0, b3, b2, b1, 0 ; int t1, t2, t3; poly det1, det2, det3; map check = R, 2..nvars(R)+1; tst_InitTimer(); det1 = det(d1); t1 = tst_StopTimer(); tst_OutTimer(t1, "O1_1"); size(det1); lead(det1); det(check(d1)) == check(det1); tst_InitTimer(); det2 = det(d2); t2 = tst_StopTimer(); tst_OutTimer(t2, "O1_2"); size(det2); lead(det2); det(check(d2)) == check(det2); tst_InitTimer(); det3 = det(d3); t3 = tst_StopTimer(); tst_OutTimer(t3, "O1_3"); size(det3); lead(det3); det(check(d3)) == check(det3); tst_OutTimer((t1 + t2 + t3) / 3, "O1"); tst_InitTimer(); poly g; /* no chance -- memory and time gcd(det1, gcd(det2, det3)); */ tst_OutTimer(100000, "O2: Killed"); kill R, t1, t2, t3; tst_status(1);$