In fact5 (defined in factor.lisp), I see a magic number in the condition
(> algcont 6). Changing this to ((> algcont 1066) allows factor to
finish. I wonder if the intent of (> algcont 6) was to keep factor from
running a long time. Maybe the whole test (> algcont xxx) could be
eliminated. If not, should the (return 'splitcase)) should be changed to
an error?
(%i5) load("C:/maximacvs/maxima/src/factor.lisp")$
(%i6)
156*x^7+4808*x^6-182041*x^5-1266489*x^4+43104271*x^3+29839285*x^2-2542327662*x+7826952672;
(%o6)
156*x^7+4808*x^6-182041*x^5-1266489*x^4+43104271*x^3+29839285*x^2-2542327662*x+7826952672
(%i7) factor(%);
(%o7) (x-16)*(x+14)*(x+49)*(2*x-11)*(2*x+21)*(3*x-49)*(13*x-63)
(%i8)
nextp(setq lchar1 (cdr lchar1))
(cond ((null lchar1)
(cond ((not (zerop lmin)) (go out))
(t (merror "Factor ran out of primes."))))
((> algcont 1066)
(cond ((ziredup minpoly*)(setq trl* tr)(setq modulus nil)
(return 'splitcase))
(t (merror "The minimal poly must be irreducible over the
integers.")))))
(go test)
Barton