To fix to the solve((a^2+1)*x^2 + a*x + a,x) bug, I suggest the patch
-------------start patch-----------------------
*** solve.lisp Mon Oct 15 06:38:42 2001
--- solve_crusty.lisp Mon Oct 15 07:57:04 2001
***************
*** 787,791 ****
(SOLVE3 (FULLRATSIMP `((MQUOTIENT) ,B ,A))
(TIMES 2. MULT)))
! (T (SETQ DISCRIM (SIMPNRT DISCRIM 2.))
(SOLVE3 (FULLRATSIMP `((MQUOTIENT) ((MPLUS) ,B ,DISCRIM) ,A))
MULT)
--- 787,791 ----
(SOLVE3 (FULLRATSIMP `((MQUOTIENT) ,B ,A))
(TIMES 2. MULT)))
! (T (SETQ DISCRIM (ratf (SIMPNRT DISCRIM 2.)))
(SOLVE3 (FULLRATSIMP `((MQUOTIENT) ((MPLUS) ,B ,DISCRIM) ,A))
MULT)
-------------end patch-----------------------
I appended a ratf call that follows simpnrt; make test runs okay with
this patch. Let me know if you have trouble with my diff file.
solve has another simpnrt function call; maybe it needs a similar change.
I don't know.
Barton