(DECLAIM (FTYPE (FUNCTION (|%Thing| |%Shell|) |%Boolean|) |AF;belong?;BoB;1|))
(DECLAIM (FTYPE (FUNCTION ((|%List| *) |%Shell|) |%Thing|) |AF;dalg|))
(DECLAIM
(FTYPE (FUNCTION (|%Thing| |%Thing| |%Shell|) |%Thing|) |AF;rootOf;SupSF;3|))
(DECLAIM (FTYPE (FUNCTION ((|%List| *) |%Thing| |%Shell|) |%Thing|) |AF;dvalg|))
(DECLAIM (FTYPE (FUNCTION ((|%List| *) |%Shell|) |%Thing|) |AF;ialg|))
(DECLAIM (FTYPE (FUNCTION (|%Thing| |%Shell|) |%Thing|) |AF;operator;2Bo;6|))
(DECLAIM
(FTYPE (FUNCTION (|%Thing| |%Thing| |%Shell|) |%Thing|) |AF;inrootof;Sup2F;7|))
(DECLAIM
(FTYPE (FUNCTION (|%Thing| |%Shell|) (|%Pair| |%Short| |%Thing|)) |AF;UP2R|))
(DECLAIM
(FTYPE (FUNCTION (|%Thing| |%Thing| |%Shell|) |%Thing|) |AF;inrootof;Sup2F;9|))
(DECLAIM (FTYPE (FUNCTION ((|%List| *) |%Shell|) |%Thing|) |AF;lzero|))
(DECLAIM (FTYPE (FUNCTION ((|%List| *) |%Shell|) |%Thing|) |AF;droot;LOf;11|))
(DECLAIM (FTYPE (FUNCTION ((|%List| *) |%Shell|) |%Thing|) |AF;dvroot|))
(DECLAIM
(FTYPE (FUNCTION (|%Thing| |%Thing| |%Shell|) |%Thing|) |AF;**;FFF;13|))
(DECLAIM
(FTYPE (FUNCTION (|%Thing| |%Integer| |%Shell|) |%Thing|) |AF;hackroot|))
(DECLAIM (FTYPE (FUNCTION ((|%List| *) |%Shell|) |%Thing|) |AF;inroot|))
(DECLAIM
(FTYPE
(FUNCTION (|%Thing| |%Integer| |%Boolean| |%Boolean| |%Shell|) |%Thing|)
|AF;inroot0|))
(DECLAIM
(FTYPE (FUNCTION (|%Thing| |%Integer| |%Shell|) |%Thing|) |AF;iroot;RIF;17|))
(DECLAIM
(FTYPE (FUNCTION (|%Thing| |%Integer| |%Shell|) |%Thing|) |AF;iroot;RIF;18|))
(DECLAIM
(FTYPE (FUNCTION (|%Thing| |%Integer| |%Shell|) |%Thing|) |AF;iroot;RIF;19|))
(DECLAIM
(FTYPE (FUNCTION (|%Thing| |%Integer| |%Shell|) |%Thing|) |AF;iroot;RIF;20|))
(DECLAIM (FTYPE (FUNCTION (|%Thing| |%Integer| |%Shell|) |%Thing|) |AF;iroot0|))
(DECLAIM
(FTYPE (FUNCTION (|%Thing| |%Shell|) |%Thing|) |AF;definingPolynomial;2F;22|))
(DECLAIM (FTYPE (FUNCTION (|%Thing| |%Shell|) |%Thing|) |AF;minPoly;KSup;23|))
(DECLAIM (FTYPE (FUNCTION ((|%List| *) |%Shell|) |%Thing|) |AF;droot;LOf;24|))
(DECLAIM (FTYPE (FUNCTION (|%Thing| |%Shell|) |%Thing|) |AF;minPoly;KSup;25|))
(DEFUN |AF;belong?;BoB;1| (|op| $) (SPADCALL |op| '|%alg| (|shellEntry| $ 16)))
(DEFUN |AF;dalg| (|l| $)
(SPADCALL (SPADCALL |l| (|shellEntry| $ 19)) (|shellEntry| $ 21)))
(DEFUN |AF;rootOf;SupSF;3| (|p| |x| $)
(PROG (|n| |f|)
(RETURN
(LET ((|k| (SPADCALL |x| (|shellEntry| $ 23)))
(|r| (SPADCALL |p| (|shellEntry| $ 26))))
(COND
((EQL (CAR |r|) 1)
(SPADCALL |p| (SPADCALL |k| (|shellEntry| $ 28)) (|shellEntry| $ 29)))
(T
(PROGN
(LETT |f| (SPADCALL (CDR |r|) |k| (|shellEntry| $ 32))
. #1=(|AF;rootOf;SupSF;3|))
(LETT |n| (SPADCALL |f| (|shellEntry| $ 34)) . #1#)
(COND
((PLUSP
(SPADCALL (SPADCALL |f| (|shellEntry| $ 35)) (|shellEntry| $ 37)))
(|error| "roofOf: variable appears in denom"))
(T
(SPADCALL |n| (SPADCALL |k| (|shellEntry| $ 28))
(|shellEntry| $ 29)))))))))))
(DEFUN |AF;dvalg| (|l| |x| $)
(LET ((|p|
(SPADCALL
(SPADCALL (|SPADfirst| |l|)
(SPADCALL (SPADCALL |l| (|shellEntry| $ 19))
(|shellEntry| $ 41))
(|shellEntry| $ 32))
(|shellEntry| $ 34)))
(|alpha| (SPADCALL (|shellEntry| $ 12) |l| (|shellEntry| $ 43))))
(SPADCALL
(SPADCALL
(SPADCALL
(SPADCALL (CONS #'|AF;dvalg!0| (VECTOR $ |x|)) |p| (|shellEntry| $ 47))
|alpha| (|shellEntry| $ 48))
(SPADCALL (SPADCALL |p| (|shellEntry| $ 49)) |alpha| (|shellEntry| $ 48))
(|shellEntry| $ 50))
(|shellEntry| $ 51))))
(DEFUN |AF;dvalg!0| (|#1| $$)
(SPADCALL |#1| (SVREF $$ 1) (|shellEntry| (SVREF $$ 0) 44)))
(DEFUN |AF;ialg| (|l| $)
(PROG (|f| |x|)
(RETURN
(LET ((|p| (|SPADfirst| |l|)))
(PROGN
(LETT |f|
(SPADCALL |p|
(SPADCALL
(LETT |x| (SPADCALL |l| (|shellEntry| $ 19))
. #1=(|AF;ialg|))
(|shellEntry| $ 41))
(|shellEntry| $ 32))
. #1#)
(COND
((PLUSP
(SPADCALL (SPADCALL |f| (|shellEntry| $ 35)) (|shellEntry| $ 37)))
(|error| "roofOf: variable appears in denom"))
(T
(SPADCALL (SPADCALL |f| (|shellEntry| $ 34)) |x|
(|shellEntry| $ 29)))))))))
(DEFUN |AF;operator;2Bo;6| (|op| $)
(COND ((SPADCALL |op| '|rootOf| (|shellEntry| $ 52)) (|shellEntry| $ 12))
((SPADCALL |op| '|nthRoot| (|shellEntry| $ 52)) (|shellEntry| $ 13))
(T (|error| "Unknown operator"))))
(DEFUN |AF;inrootof;Sup2F;7| (|q| |x| $)
(PROG (#1=#:G590 |r| |rx|)
(RETURN
(COND ((SPADCALL |q| (|shellEntry| $ 54)) (|spadConstant| $ 55))
(T
(LET ((|d| (SPADCALL |q| (|shellEntry| $ 37))))
(COND ((NOT (PLUSP |d|)) (|error| "rootOf: constant polynomial"))
((EQL |d| 1)
(SPADCALL
(SPADCALL
(SPADCALL (SPADCALL |q| (|shellEntry| $ 60))
(|shellEntry| $ 61))
(SPADCALL |q| (|shellEntry| $ 61)) (|shellEntry| $ 50))
(|shellEntry| $ 51)))
(T
(SEQ
(EXIT
(SEQ
(LETT |rx| (SPADCALL |x| (|shellEntry| $ 63))
. #2=(|AF;inrootof;Sup2F;7|))
(COND
((ZEROP (CAR |rx|))
(PROGN
(LETT |r| (|AF;UP2R| |q| $) . #2#)
(COND
((ZEROP (CAR |r|))
(PROGN
(LETT #1#
(SPADCALL
(SPADCALL (CDR |r|) (CDR |rx|)
(|shellEntry| $ 64))
(|shellEntry| $ 65))
. #2#)
(GO #1#)))))))
(EXIT
(SPADCALL (|shellEntry| $ 12)
(LIST (SPADCALL |q| |x| (|shellEntry| $ 48))
|x|)
(|shellEntry| $ 43)))))
#1# (EXIT #1#))))))))))
(DEFUN |AF;UP2R| (|p| $)
(PROG (|r|)
(RETURN
(LET ((|ans| (|spadConstant| $ 67)))
(SEQ
(LOOP
(COND
((NOT (SPADCALL |p| (|spadConstant| $ 68) (|shellEntry| $ 69)))
(RETURN NIL))
(T
(SEQ
(LETT |r|
(SPADCALL (SPADCALL |p| (|shellEntry| $ 61))
(|shellEntry| $ 71))
|AF;UP2R|)
(EXIT
(COND
((EQL (CAR |r|) 1) (RETURN-FROM |AF;UP2R| (CONS 1 "failed")))
(T
(PROGN
(SETQ |ans|
(SPADCALL |ans|
(SPADCALL (CDR |r|)
(SPADCALL |p| (|shellEntry| $ 37))
(|shellEntry| $ 72))
(|shellEntry| $ 73)))
(SETQ |p| (SPADCALL |p| (|shellEntry| $ 60)))))))))))
(EXIT (CONS 0 |ans|)))))))
(DEFUN |AF;inrootof;Sup2F;9| (|q| |x| $)
(COND ((SPADCALL |q| (|shellEntry| $ 54)) (|spadConstant| $ 55))
(T
(LET ((|d| (SPADCALL |q| (|shellEntry| $ 37))))
(COND ((NOT (PLUSP |d|)) (|error| "rootOf: constant polynomial"))
((EQL |d| 1)
(SPADCALL
(SPADCALL
(SPADCALL (SPADCALL |q| (|shellEntry| $ 60))
(|shellEntry| $ 61))
(SPADCALL |q| (|shellEntry| $ 61)) (|shellEntry| $ 50))
(|shellEntry| $ 51)))
(T
(SPADCALL (|shellEntry| $ 12)
(LIST (SPADCALL |q| |x| (|shellEntry| $ 48)) |x|)
(|shellEntry| $ 43))))))))
(DEFUN |AF;lzero| (|l| $) (|spadConstant| $ 55))
(DEFUN |AF;droot;LOf;11| (|l| $)
(LET ((|x| (SPADCALL (|SPADfirst| |l|) (|shellEntry| $ 21)))
(|n| (SPADCALL (SPADCALL |l| (|shellEntry| $ 19)) (|shellEntry| $ 82))))
(COND ((EQL |n| 2) (SPADCALL |x| (|shellEntry| $ 84)))
(T
(SPADCALL |x| (SPADCALL |n| (|shellEntry| $ 85))
(|shellEntry| $ 86))))))
(DEFUN |AF;dvroot| (|l| $)
(LET ((|n| (SPADCALL (SPADCALL |l| (|shellEntry| $ 19)) (|shellEntry| $ 82))))
(SPADCALL
(SPADCALL (|SPADfirst| |l|) (SPADCALL (- 1 |n|) |n| (|shellEntry| $ 95))
(|shellEntry| $ 96))
(SPADCALL |n| (|shellEntry| $ 97)) (|shellEntry| $ 50))))
(DEFUN |AF;**;FFF;13| (|x| |q| $)
(LET ((|qr|
(MULTIPLE-VALUE-CALL #'CONS
(TRUNCATE (SPADCALL |q| (|shellEntry| $ 98))
(SPADCALL |q| (|shellEntry| $ 99))))))
(SPADCALL (SPADCALL |x| (CAR |qr|) (|shellEntry| $ 102))
(SPADCALL
(|AF;inroot|
(LIST |x|
(SPADCALL (SPADCALL |q| (|shellEntry| $ 99))
(|shellEntry| $ 97)))
$)
(CDR |qr|) (|shellEntry| $ 102))
(|shellEntry| $ 103))))
(DEFUN |AF;hackroot| (|x| |n| $)
(PROG (#1=#:G644 |rx| |dx|)
(RETURN
(COND
((OR (EQL |n| 1)
(SPADCALL |x| (|spadConstant| $ 89) (|shellEntry| $ 104)))
|x|)
(T
(SEQ
(EXIT
(SEQ
(LETT |dx| (SPADCALL |x| (|shellEntry| $ 106)) . #2=(|AF;hackroot|))
(COND
((NOT (SPADCALL |dx| (|shellEntry| $ 107)))
(PROGN
(LETT |rx| (SPADCALL |dx| (|shellEntry| $ 109)) . #2#)
(COND
((AND (ZEROP (CAR |rx|)) (PLUSP (CDR |rx|)))
(PROGN
(LETT #1#
(SPADCALL
(|AF;hackroot|
(SPADCALL (SPADCALL |x| (|shellEntry| $ 111))
(|shellEntry| $ 112))
|n| $)
(|AF;hackroot| (SPADCALL (CDR |rx|) (|shellEntry| $ 97))
|n| $)
(|shellEntry| $ 50))
. #2#)
(GO #1#)))))))
(COND
((AND
(SPADCALL |x| (SPADCALL (|spadConstant| $ 89) (|shellEntry| $ 51))
(|shellEntry| $ 104))
(EQL |n| 4))
(EXIT
(SPADCALL
(SPADCALL
(SPADCALL (SPADCALL (|spadConstant| $ 89) (|shellEntry| $ 51))
(SPADCALL (|spadConstant| $ 113)
(SPADCALL 2 (|shellEntry| $ 114))
(|shellEntry| $ 115))
(|shellEntry| $ 96))
(|spadConstant| $ 89) (|shellEntry| $ 116))
(SPADCALL (SPADCALL 2 (|shellEntry| $ 97))
(SPADCALL (|spadConstant| $ 113)
(SPADCALL 2 (|shellEntry| $ 114))
(|shellEntry| $ 115))
(|shellEntry| $ 96))
(|shellEntry| $ 50)))))
(EXIT
(SPADCALL (|shellEntry| $ 13)
(LIST |x| (SPADCALL |n| (|shellEntry| $ 97)))
(|shellEntry| $ 43)))))
#1# (EXIT #1#)))))))
(DEFUN |AF;inroot| (|l| $)
(PROG (|pr| |u| |r| |x|)
(RETURN
(LET ((|n|
(SPADCALL (SPADCALL |l| (|shellEntry| $ 19)) (|shellEntry| $ 82))))
(COND ((ZEROP |n|) (|error| "root: exponent = 0"))
(T
(SEQ (LETT |x| (|SPADfirst| |l|) . #1=(|AF;inroot|))
(COND ((SPADCALL |x| (|shellEntry| $ 118)) (EXIT |x|)))
(COND ((EQL |n| 1) (EXIT |x|)))
(LETT |r| (SPADCALL |x| (|shellEntry| $ 71)) . #1#)
(EXIT
(COND
((ZEROP (CAR |r|))
(SPADCALL (CDR |r|) |n| (|shellEntry| $ 120)))
(T
(SEQ (LETT |u| (SPADCALL |x| (|shellEntry| $ 123)) . #1#)
(EXIT
(COND
((ZEROP (CAR |u|))
(SEQ (LETT |pr| (CDR |u|) . #1#)
(COND
((AND
(SPADCALL (CAR |pr|) (|shellEntry| $ 13)
(|shellEntry| $ 124))
(EQL
(LIST-LENGTH
(SPADCALL (CAR |pr|)
(|shellEntry| $ 125)))
2))
(EXIT
(SPADCALL
(|SPADfirst|
(SPADCALL (CAR |pr|)
(|shellEntry| $ 125)))
(SPADCALL (CDR |pr|)
(* |n|
(SPADCALL
(SPADCALL
(SPADCALL (CAR |pr|)
(|shellEntry| $
125))
(|shellEntry| $ 19))
(|shellEntry| $ 82)))
(|shellEntry| $ 95))
(|shellEntry| $ 96)))))
(EXIT (|AF;inroot0| |x| |n| NIL NIL $))))
(T (|AF;inroot0| |x| |n| NIL NIL $)))))))))))))))
(DEFUN |AF;inroot0| (|x| |n| |num?| |den?| $)
(PROG (|rec|)
(RETURN
(LET ((|rn|
(COND (|num?| (CONS 1 "failed"))
(T
(SPADCALL (SPADCALL |x| (|shellEntry| $ 111))
(|shellEntry| $ 109)))))
(|rd|
(COND (|den?| (CONS 1 "failed"))
(T
(SPADCALL (SPADCALL |x| (|shellEntry| $ 106))
(|shellEntry| $ 109))))))
(SEQ
(COND
((AND (ZEROP (CAR |rn|)) (ZEROP (CAR |rd|)))
(EXIT
(PROGN
(LETT |rec|
(SPADCALL
(SPADCALL (CDR |rn|) (CDR |rd|) (|shellEntry| $ 95))
(COND ((NOT (MINUSP |n|)) |n|)
(T (|moanRetract| |n| '(|NonNegativeInteger|))))
(|shellEntry| $ 132))
. #1=(|AF;inroot0|))
(SPADCALL (SVREF |rec| 1)
(|AF;hackroot| (SVREF |rec| 2) (SVREF |rec| 0) $)
(|shellEntry| $ 103))))))
(EXIT
(COND
((ZEROP (CAR |rn|))
(PROGN
(LETT |rec|
(SPADCALL (SPADCALL (CDR |rn|) (|shellEntry| $ 114))
(COND ((NOT (MINUSP |n|)) |n|)
(T
(|moanRetract| |n|
'(|NonNegativeInteger|))))
(|shellEntry| $ 132))
. #1#)
(SPADCALL (SVREF |rec| 1)
(|AF;inroot0|
(SPADCALL
(SPADCALL (SVREF |rec| 2)
(LET ((#2=#:G726
(SPADCALL |n| (SVREF |rec| 0)
(|shellEntry| $ 134))))
(COND ((ZEROP (CAR #2#)) (CDR #2#))
(T
(|moanRetract| #2# '(|Integer|)))))
(|shellEntry| $ 102))
(SPADCALL (SPADCALL |x| (|shellEntry| $ 106))
(|shellEntry| $ 112))
(|shellEntry| $ 50))
|n| T |den?| $)
(|shellEntry| $ 103))))
((ZEROP (CAR |rd|))
(PROGN
(LETT |rec|
(SPADCALL (SPADCALL (CDR |rd|) (|shellEntry| $ 114))
(COND ((NOT (MINUSP |n|)) |n|)
(T
(|moanRetract| |n|
'(|NonNegativeInteger|))))
(|shellEntry| $ 132))
. #1#)
(SPADCALL
(|AF;inroot0|
(SPADCALL
(SPADCALL (SPADCALL |x| (|shellEntry| $ 111))
(|shellEntry| $ 112))
(SPADCALL (SVREF |rec| 2)
(LET ((#3=#:G727
(SPADCALL |n| (SVREF |rec| 0)
(|shellEntry| $ 134))))
(COND ((ZEROP (CAR #3#)) (CDR #3#))
(T (|moanRetract| #3# '(|Integer|)))))
(|shellEntry| $ 102))
(|shellEntry| $ 50))
|n| |num?| T $)
(SVREF |rec| 1) (|shellEntry| $ 50))))
(T (|AF;hackroot| |x| |n| $)))))))))
(DEFUN |AF;iroot;RIF;17| (|r| |n| $)
(SPADCALL (SPADCALL |r| |n| (|shellEntry| $ 136)) (|shellEntry| $ 65)))
(DEFUN |AF;iroot;RIF;18| (|r| |n| $)
(SPADCALL (SPADCALL |r| |n| (|shellEntry| $ 136)) (|shellEntry| $ 65)))
(DEFUN |AF;iroot;RIF;19| (|r| |n| $)
(COND
((OR (ODDP |n|)
(NOT (SPADCALL |r| (|spadConstant| $ 56) (|shellEntry| $ 138))))
(SPADCALL (SPADCALL |r| |n| (|shellEntry| $ 136)) (|shellEntry| $ 65)))
(T (|AF;iroot0| |r| |n| $))))
(DEFUN |AF;iroot;RIF;20| (|r| |n| $) (|AF;iroot0| |r| |n| $))
(DEFUN |AF;iroot0| (|r| |n| $)
(LET ((|rec|
(SPADCALL |r|
(COND ((NOT (MINUSP |n|)) |n|)
(T (|moanRetract| |n| '(|NonNegativeInteger|))))
(|shellEntry| $ 139))))
(SPADCALL (SVREF |rec| 1) (|AF;hackroot| (SVREF |rec| 2) (SVREF |rec| 0) $)
(|shellEntry| $ 103))))
(DEFUN |AF;definingPolynomial;2F;22| (|x| $)
(PROG (|k|)
(RETURN
(LET ((|r| (SPADCALL |x| (|shellEntry| $ 141))))
(COND
((ZEROP (CAR |r|))
(PROGN
(LETT |k| (CDR |r|) |AF;definingPolynomial;2F;22|)
(COND
((SPADCALL |k| (|shellEntry| $ 12) (|shellEntry| $ 124))
(|SPADfirst| (SPADCALL |k| (|shellEntry| $ 125))))
((SPADCALL |k| (|shellEntry| $ 13) (|shellEntry| $ 124))
(SPADCALL
(SPADCALL (|shellEntry| $ 80)
(SPADCALL
(SPADCALL (SPADCALL |k| (|shellEntry| $ 125))
(|shellEntry| $ 19))
(|shellEntry| $ 82))
(|shellEntry| $ 102))
(|SPADfirst| (SPADCALL |k| (|shellEntry| $ 125)))
(|shellEntry| $ 142)))
(T (SPADCALL (|shellEntry| $ 80) |x| (|shellEntry| $ 142))))))
(T (SPADCALL (|shellEntry| $ 80) |x| (|shellEntry| $ 142))))))))
(DEFUN |AF;minPoly;KSup;23| (|k| $)
(COND
((SPADCALL |k| (|shellEntry| $ 12) (|shellEntry| $ 124))
(SPADCALL
(SPADCALL (|SPADfirst| (SPADCALL |k| (|shellEntry| $ 125)))
(SPADCALL
(SPADCALL (SPADCALL |k| (|shellEntry| $ 125))
(|shellEntry| $ 19))
(|shellEntry| $ 41))
(|shellEntry| $ 32))
(|shellEntry| $ 34)))
((SPADCALL |k| (|shellEntry| $ 13) (|shellEntry| $ 124))
(SPADCALL
(SPADCALL (|spadConstant| $ 89)
(LET ((#1=#:G756
(SPADCALL
(SPADCALL (SPADCALL |k| (|shellEntry| $ 125))
(|shellEntry| $ 19))
(|shellEntry| $ 82))))
(COND ((NOT (MINUSP #1#)) #1#)
(T (|moanRetract| #1# '(|NonNegativeInteger|)))))
(|shellEntry| $ 144))
(SPADCALL (|SPADfirst| (SPADCALL |k| (|shellEntry| $ 125)))
(|shellEntry| $ 145))
(|shellEntry| $ 146)))
(T
(SPADCALL (SPADCALL (|spadConstant| $ 89) 1 (|shellEntry| $ 144))
(SPADCALL (SPADCALL |k| (|shellEntry| $ 28))
(|shellEntry| $ 145))
(|shellEntry| $ 146)))))
(DEFUN |AF;droot;LOf;24| (|l| $)
(LET ((|x| (SPADCALL (|SPADfirst| |l|) (|shellEntry| $ 21)))
(|n| (SPADCALL |l| (|shellEntry| $ 19))))
(COND
((SPADCALL |n| (SPADCALL 2 (|shellEntry| $ 97)) (|shellEntry| $ 104))
(SPADCALL |x| (|shellEntry| $ 84)))
(T
(SPADCALL |x| (SPADCALL |n| (|shellEntry| $ 21)) (|shellEntry| $ 86))))))
(DEFUN |AF;minPoly;KSup;25| (|k| $)
(COND
((SPADCALL |k| (|shellEntry| $ 12) (|shellEntry| $ 124))
(SPADCALL
(SPADCALL (|SPADfirst| (SPADCALL |k| (|shellEntry| $ 125)))
(SPADCALL
(SPADCALL (SPADCALL |k| (|shellEntry| $ 125))
(|shellEntry| $ 19))
(|shellEntry| $ 41))
(|shellEntry| $ 32))
(|shellEntry| $ 34)))
(T
(SPADCALL (SPADCALL (|spadConstant| $ 89) 1 (|shellEntry| $ 144))
(SPADCALL (SPADCALL |k| (|shellEntry| $ 28))
(|shellEntry| $ 145))
(|shellEntry| $ 146)))))
(DEFUN |AlgebraicFunction| (|#1| |#2|)
(DECLARE (SPECIAL |$ConstructorCache|))
(LET ((#1=#:G762
(|lassocShiftWithFunction|
(LIST (|devaluate| |#1|) (|devaluate| |#2|))
(|tableValue| |$ConstructorCache| '|AlgebraicFunction|)
#'|domainEqualList|)))
(COND (#1# (|CDRwithIncrement| #1#))
(T
(UNWIND-PROTECT
(PROG1 (|AlgebraicFunction;| |#1| |#2|) (SETQ #1# T))
(COND
((NOT #1#)
(|tableRemove!| |$ConstructorCache| '|AlgebraicFunction|))))))))
(DEFUN |AlgebraicFunction;| (|#1| |#2|)
(DECLARE (SPECIAL |$ConstructorCache|))
(LET* ((|dv$1| (|devaluate| |#1|))
(|dv$2| (|devaluate| |#2|))
(|dv$| (LIST '|AlgebraicFunction| |dv$1| |dv$2|))
($ (|newShell| 151))
(|pv$|
(|buildPredVector| 0 0
(LIST
(|HasCategory| |#1|
'(|RetractableTo| (|Integer|)))))))
(PROGN
(SETF (|shellEntry| $ 0) |dv$|)
(SETF (|shellEntry| $ 3) |pv$|)
(|haddProp| |$ConstructorCache| '|AlgebraicFunction| (LIST |dv$1| |dv$2|)
(CONS 1 $))
(|stuffDomainSlots| $)
(SETF (|shellEntry| $ 6) |#1|)
(SETF (|shellEntry| $ 7) |#2|)
(SETF (|shellEntry| $ 12) (SPADCALL '|rootOf| (|shellEntry| $ 11)))
(SETF (|shellEntry| $ 13) (SPADCALL '|nthRoot| (|shellEntry| $ 11)))
(COND
((|HasCategory| |#1| '(|AlgebraicallyClosedField|))
(SETF (|shellEntry| $ 29) (CONS #'|AF;inrootof;Sup2F;7| $)))
(T (SETF (|shellEntry| $ 29) (CONS #'|AF;inrootof;Sup2F;9| $))))
(SPADCALL (|shellEntry| $ 12) (CONS #'|AF;ialg| $) (|shellEntry| $ 76))
(SPADCALL (|shellEntry| $ 12) '|%specialDiff| (CONS #'|AF;dvalg| $)
(|shellEntry| $ 78))
(SPADCALL (|shellEntry| $ 12) '|%specialDisp| (CONS #'|AF;dalg| $)
(|shellEntry| $ 78))
(COND
((|testBitVector| |pv$| 1)
(PROGN
(SETF (|shellEntry| $ 80) (SPADCALL '|%%var| (|shellEntry| $ 79)))
(SETF (|shellEntry| $ 87) (CONS #'|AF;droot;LOf;11| $))
(SETF (|shellEntry| $ 96) (CONS #'|AF;**;FFF;13| $))
(COND
((|HasCategory| |#1| '(|AlgebraicallyClosedField|))
(SETF (|shellEntry| $ 120) (CONS #'|AF;iroot;RIF;17| $)))
((|HasCategory| |#1| '(|RadicalCategory|))
(COND
((|HasSignature| |#1| (LIST '|imaginary| (LIST (|devaluate| |#1|))))
(SETF (|shellEntry| $ 120) (CONS #'|AF;iroot;RIF;18| $)))
(T (SETF (|shellEntry| $ 120) (CONS #'|AF;iroot;RIF;19| $)))))
(T (SETF (|shellEntry| $ 120) (CONS #'|AF;iroot;RIF;20| $))))
(SETF (|shellEntry| $ 143) (CONS #'|AF;definingPolynomial;2F;22| $))
(SETF (|shellEntry| $ 148) (CONS #'|AF;minPoly;KSup;23| $))
(SPADCALL (|shellEntry| $ 13) (CONS #'|AF;inroot| $)
(|shellEntry| $ 76))
(SPADCALL (|shellEntry| $ 13)
(LIST (CONS #'|AF;dvroot| $) (CONS #'|AF;lzero| $))
(|shellEntry| $ 150))))
(T
(PROGN
(SETF (|shellEntry| $ 87) (CONS #'|AF;droot;LOf;24| $))
(SETF (|shellEntry| $ 148) (CONS #'|AF;minPoly;KSup;25| $)))))
(SPADCALL (|shellEntry| $ 13) '|%specialDisp| (|shellEntry| $ 87)
(|shellEntry| $ 78))
$)))
(MAKEPROP '|AlgebraicFunction| '|infovec|
(LIST
'#(NIL NIL NIL NIL NIL NIL (|local| |#1|) (|local| |#2|)
(|CommonOperators|) (|BasicOperator|) (|Symbol|) (0 . |operator|)
'|opalg| '|oproot| (|Boolean|) (|Identifier|) (5 . |has?|)
|AF;belong?;BoB;1| (|List| 7) (11 . |second|) (|OutputForm|)
(16 . |coerce|) (|Kernel| 7) (21 . |kernel|)
(|SparseUnivariatePolynomial| 7) (|Union| 7 '"failed")
(26 . |retractIfCan|) (|Kernel| $) (31 . |coerce|)
(36 . |inrootof|) (|SparseUnivariatePolynomial| $)
(|Fraction| 30) (42 . |univariate|) (|Fraction| 24)
(48 . |numer|) (53 . |denom|) (|NonNegativeInteger|)
(58 . |degree|) (63 . |positive?|) |AF;rootOf;SupSF;3|
(68 . |first|) (73 . |retract|) (|List| $) (78 . |kernel|)
(84 . |differentiate|) (90 . |differentiate|) (|Mapping| 7 7)
(96 . |map|) (102 . |elt|) (108 . |differentiate|) (113 . /)
(119 . -) (124 . |is?|) |AF;operator;2Bo;6| (130 . |monomial?|)
(135 . |Zero|) (139 . |Zero|) (143 . |Zero|) (147 . <=)
(153 . |one?|) (158 . |reductum|) (163 . |leadingCoefficient|)
(|Union| 10 '#1="failed") (168 . |retractIfCan|) (173 . |rootOf|)
(179 . |coerce|) (|SparseUnivariatePolynomial| 6) (184 . |Zero|)
(188 . |Zero|) (192 . ~=) (|Union| 6 '#1#) (198 . |retractIfCan|)
(203 . |monomial|) (209 . +) (|BasicOperatorFunctions1| 7)
(|Mapping| 7 18) (215 . |evaluate|) (|None|)
(221 . |setProperty|) (228 . |coerce|) '|dumvar| (|Integer|)
(233 . |retract|) (238 . =) (244 . |root|) (249 . |coerce|)
(254 . |root|) (260 . |droot|) (265 . |One|) (269 . |One|)
(|SparseMultivariatePolynomial| 6 22) (273 . |One|) (277 . |One|)
(281 . -) (|Fraction| 81) (287 . /) (293 . **) (299 . |coerce|)
(304 . |numer|) (309 . |denom|)
(|Record| (|:| |quotient| $) (|:| |remainder| $))
(314 . |divide|) (320 . **) (326 . *) (332 . =)
(|SparseMultivariatePolynomial| 6 27) (338 . |denom|)
(343 . |one?|) (|Union| 81 '"failed") (348 . |retractIfCan|)
(353 . |positive?|) (358 . |numer|) (363 . |coerce|)
(368 . |One|) (372 . |coerce|) (377 . /) (383 . +)
(389 . |zero?|) (394 . |one?|) (399 . |one?|) (404 . |iroot|)
(|Record| (|:| |var| 27) (|:| |exponent| 81))
(|Union| 121 '"failed") (410 . |isExpt|) (415 . |is?|)
(421 . |argument|) (426 . |#|) (431 . *) (437 . |false|)
(|IndexedExponents| 22) (|PolynomialRoots| 129 22 6 90 7)
(|Record| (|:| |exponent| 36) (|:| |coef| 7) (|:| |radicand| 7))
(441 . |qroot|) (|Union| $ '"failed") (447 . |exquo|)
(453 . |true|) (457 . |nthRoot|) (463 . |odd?|) (468 . |before?|)
(474 . |rroot|) (|Union| 27 '#1#) (480 . |retractIfCan|)
(485 . -) (491 . |definingPolynomial|) (496 . |monomial|)
(502 . |coerce|) (507 . -) (513 . |One|) (517 . |minPoly|)
(|List| 75) (522 . |derivative|))
'#(|rootOf| 528 |operator| 534 |minPoly| 539 |iroot| 544 |inrootof|
550 |droot| 556 |definingPolynomial| 561 |belong?| 566 ** 571)
'NIL
(CONS (|makeByteWordVec2| 1 'NIL)
(CONS '#()
(CONS '#()
(|makeByteWordVec2| 150
'(1 8 9 10 11 2 9 14 0 15 16 1
18 7 0 19 1 7 20 0 21 1 22 0
10 23 1 24 25 0 26 1 7 0 27
28 2 0 7 24 7 29 2 7 31 0 27
32 1 33 24 0 34 1 33 24 0 35
1 24 36 0 37 1 36 14 0 38 1
18 7 0 40 1 7 27 0 41 2 7 0
9 42 43 2 7 0 0 10 44 2 24 0
0 10 45 2 24 0 46 0 47 2 24
7 0 7 48 1 24 0 0 49 2 7 0 0
0 50 1 7 0 0 51 2 9 14 0 10
52 1 24 14 0 54 0 7 0 55 0 6
0 56 0 36 0 57 2 36 14 0 0
58 1 36 14 0 59 1 24 0 0 60
1 24 7 0 61 1 7 62 0 63 2 6
0 30 10 64 1 7 0 6 65 0 66 0
67 0 24 0 68 2 24 14 0 0 69
1 7 70 0 71 2 66 0 6 36 72 2
66 0 0 0 73 2 74 9 9 75 76 3
9 0 0 15 77 78 1 7 0 10 79 1
7 81 0 82 2 81 14 0 0 83 1
20 0 0 84 1 81 20 0 85 2 20
0 0 0 86 1 0 20 18 87 0 6 0
88 0 7 0 89 0 90 0 91 0 81 0
92 2 81 0 0 0 93 2 94 0 81
81 95 2 0 7 7 94 96 1 7 0 81
97 1 94 81 0 98 1 94 81 0 99
2 81 100 0 0 101 2 7 0 0 81
102 2 7 0 0 0 103 2 7 14 0 0
104 1 7 105 0 106 1 90 14 0
107 1 90 108 0 109 1 81 14 0
110 1 7 105 0 111 1 7 0 105
112 0 94 0 113 1 94 0 81 114
2 94 0 0 0 115 2 7 0 0 0 116
1 81 14 0 117 1 7 14 0 118 1
81 14 0 119 2 0 7 6 81 120 1
7 122 0 123 2 22 14 0 9 124
1 22 18 0 125 1 18 36 0 126
2 81 0 81 0 127 0 14 0 128 2
130 131 94 36 132 2 81 133 0
0 134 0 14 0 135 2 6 0 0 81
136 1 81 14 0 137 2 6 14 0 0
138 2 130 131 6 36 139 1 7
140 0 141 2 7 0 0 0 142 1 0
7 7 143 2 24 0 7 36 144 1 24
0 7 145 2 24 0 0 0 146 0 36
0 147 1 0 24 22 148 2 74 9 9
149 150 2 0 7 24 10 39 1 0 9
9 53 1 1 24 22 148 2 1 7 6
81 120 2 0 7 24 7 29 1 0 20
18 87 1 1 7 7 143 1 0 14 9
17 2 1 7 7 94 96)))))
'|lookupComplete|))
(SETF (|dbTemplate| (|constructorDB| '|AlgebraicFunction|))
#(NIL NIL NIL NIL NIL NIL (|local| |#1|) (|local| |#2|)
(|CommonOperators|) (|BasicOperator|) (|Symbol|) (0 . |operator|)
'|opalg| '|oproot| (|Boolean|) (|Identifier|) (5 . |has?|)
|AF;belong?;BoB;1| (|List| 7) (11 . |second|) (|OutputForm|)
(16 . |coerce|) (|Kernel| 7) (21 . |kernel|)
(|SparseUnivariatePolynomial| 7) (|Union| 7 '"failed")
(26 . |retractIfCan|) (|Kernel| $) (31 . |coerce|) (36 . |inrootof|)
(|SparseUnivariatePolynomial| $) (|Fraction| 30) (42 . |univariate|)
(|Fraction| 24) (48 . |numer|) (53 . |denom|) (|NonNegativeInteger|)
(58 . |degree|) (63 . |positive?|) |AF;rootOf;SupSF;3| (68 . |first|)
(73 . |retract|) (|List| $) (78 . |kernel|) (84 . |differentiate|)
(90 . |differentiate|) (|Mapping| 7 7) (96 . |map|) (102 . |elt|)
(108 . |differentiate|) (113 . /) (119 . -) (124 . |is?|)
|AF;operator;2Bo;6| (130 . |monomial?|) (135 . |Zero|) (139 . |Zero|)
(143 . |Zero|) (147 . <=) (153 . |one?|) (158 . |reductum|)
(163 . |leadingCoefficient|) (|Union| 10 '#1="failed")
(168 . |retractIfCan|) (173 . |rootOf|) (179 . |coerce|)
(|SparseUnivariatePolynomial| 6) (184 . |Zero|) (188 . |Zero|)
(192 . ~=) (|Union| 6 '#1#) (198 . |retractIfCan|) (203 . |monomial|)
(209 . +) (|BasicOperatorFunctions1| 7) (|Mapping| 7 18)
(215 . |evaluate|) (|None|) (221 . |setProperty|) (228 . |coerce|)
'|dumvar| (|Integer|) (233 . |retract|) (238 . =) (244 . |root|)
(249 . |coerce|) (254 . |root|) (260 . |droot|) (265 . |One|)
(269 . |One|) (|SparseMultivariatePolynomial| 6 22) (273 . |One|)
(277 . |One|) (281 . -) (|Fraction| 81) (287 . /) (293 . **)
(299 . |coerce|) (304 . |numer|) (309 . |denom|)
(|Record| (|:| |quotient| $) (|:| |remainder| $)) (314 . |divide|)
(320 . **) (326 . *) (332 . =) (|SparseMultivariatePolynomial| 6 27)
(338 . |denom|) (343 . |one?|) (|Union| 81 '"failed")
(348 . |retractIfCan|) (353 . |positive?|) (358 . |numer|)
(363 . |coerce|) (368 . |One|) (372 . |coerce|) (377 . /) (383 . +)
(389 . |zero?|) (394 . |one?|) (399 . |one?|) (404 . |iroot|)
(|Record| (|:| |var| 27) (|:| |exponent| 81)) (|Union| 121 '"failed")
(410 . |isExpt|) (415 . |is?|) (421 . |argument|) (426 . |#|)
(431 . *) (437 . |false|) (|IndexedExponents| 22)
(|PolynomialRoots| 129 22 6 90 7)
(|Record| (|:| |exponent| 36) (|:| |coef| 7) (|:| |radicand| 7))
(441 . |qroot|) (|Union| $ '"failed") (447 . |exquo|) (453 . |true|)
(457 . |nthRoot|) (463 . |odd?|) (468 . |before?|) (474 . |rroot|)
(|Union| 27 '#1#) (480 . |retractIfCan|) (485 . -)
(491 . |definingPolynomial|) (496 . |monomial|) (502 . |coerce|)
(507 . -) (513 . |One|) (517 . |minPoly|) (|List| 75)
(522 . |derivative|)))
(SETF (|dbLookupFunction| (|constructorDB| '|AlgebraicFunction|))
'|lookupComplete|)
(SETF (|dbConstructorForm| (|constructorDB| '|AlgebraicFunction|))
'(|AlgebraicFunction| R F))
(SETF (|dbConstructorKind| (|constructorDB| '|AlgebraicFunction|)) '|package|)
(SETF (|dbConstructorModemap| (|constructorDB| '|AlgebraicFunction|))
'(((|AlgebraicFunction| |#1| |#2|)
(CATEGORY |package|
(SIGNATURE |rootOf|
(|#2| (|SparseUnivariatePolynomial| |#2|) (|Symbol|)))
(SIGNATURE |operator| ((|BasicOperator|) (|BasicOperator|)))
(SIGNATURE |belong?| ((|Boolean|) (|BasicOperator|)))
(SIGNATURE |inrootof|
(|#2| (|SparseUnivariatePolynomial| |#2|) |#2|))
(SIGNATURE |droot| ((|OutputForm|) (|List| |#2|)))
(IF (|has| |#1| (|RetractableTo| (|Integer|)))
(PROGN
(SIGNATURE ** (|#2| |#2| (|Fraction| (|Integer|))))
(SIGNATURE |minPoly|
((|SparseUnivariatePolynomial| |#2|) (|Kernel| |#2|)))
(SIGNATURE |definingPolynomial| (|#2| |#2|))
(SIGNATURE |iroot| (|#2| |#1| (|Integer|))))
|%noBranch|))
(|IntegralDomain|) (|FunctionSpace| |#1|))
(T |AlgebraicFunction|)))
(SETF (|dbDualSignature| (|constructorDB| '|AlgebraicFunction|)) '(NIL T T))
(SETF (|dbSourceFile| (|constructorDB| '|AlgebraicFunction|)) '"algfunc.spad")
(SETF (|dbModemaps| (|constructorDB| '|AlgebraicFunction|))
'((|iroot| (*1 *2 *3 *4)
(AND (|isDomain| *4 (|Integer|))
(|ofCategory| *2 (|FunctionSpace| *3))
(|isDomain| *1 (|AlgebraicFunction| *3 *2))
(|ofCategory| *3 (|RetractableTo| *4))
(|ofCategory| *3 (|IntegralDomain|))))
(|definingPolynomial| (*1 *2 *2)
(AND (|ofCategory| *3 (|RetractableTo| (|Integer|)))
(|ofCategory| *3 (|IntegralDomain|))
(|isDomain| *1 (|AlgebraicFunction| *3 *2))
(|ofCategory| *2 (|FunctionSpace| *3))))
(|minPoly| (*1 *2 *3)
(AND (|isDomain| *3 (|Kernel| *5))
(|ofCategory| *5 (|FunctionSpace| *4))
(|ofCategory| *4 (|RetractableTo| (|Integer|)))
(|ofCategory| *4 (|IntegralDomain|))
(|isDomain| *2 (|SparseUnivariatePolynomial| *5))
(|isDomain| *1 (|AlgebraicFunction| *4 *5))))
(** (*1 *2 *2 *3)
(AND (|isDomain| *3 (|Fraction| (|Integer|)))
(|ofCategory| *4 (|RetractableTo| (|Integer|)))
(|ofCategory| *4 (|IntegralDomain|))
(|isDomain| *1 (|AlgebraicFunction| *4 *2))
(|ofCategory| *2 (|FunctionSpace| *4))))
(|droot| (*1 *2 *3)
(AND (|isDomain| *3 (|List| *5))
(|ofCategory| *5 (|FunctionSpace| *4))
(|ofCategory| *4 (|IntegralDomain|))
(|isDomain| *2 (|OutputForm|))
(|isDomain| *1 (|AlgebraicFunction| *4 *5))))
(|inrootof| (*1 *2 *3 *2)
(AND (|isDomain| *3 (|SparseUnivariatePolynomial| *2))
(|ofCategory| *2 (|FunctionSpace| *4))
(|ofCategory| *4 (|IntegralDomain|))
(|isDomain| *1 (|AlgebraicFunction| *4 *2))))
(|belong?| (*1 *2 *3)
(AND (|isDomain| *3 (|BasicOperator|))
(|ofCategory| *4 (|IntegralDomain|))
(|isDomain| *2 (|Boolean|))
(|isDomain| *1 (|AlgebraicFunction| *4 *5))
(|ofCategory| *5 (|FunctionSpace| *4))))
(|operator| (*1 *2 *2)
(AND (|isDomain| *2 (|BasicOperator|))
(|ofCategory| *3 (|IntegralDomain|))
(|isDomain| *1 (|AlgebraicFunction| *3 *4))
(|ofCategory| *4 (|FunctionSpace| *3))))
(|rootOf| (*1 *2 *3 *4)
(AND (|isDomain| *3 (|SparseUnivariatePolynomial| *2))
(|isDomain| *4 (|Symbol|))
(|ofCategory| *2 (|FunctionSpace| *5))
(|isDomain| *1 (|AlgebraicFunction| *5 *2))
(|ofCategory| *5 (|IntegralDomain|))))))
(SETF (|dbOperations| (|constructorDB| '|AlgebraicFunction|))
'((|rootOf|
((|#2| (|SparseUnivariatePolynomial| |#2|) (|Symbol|)) 39 T ELT))
(|operator| (((|BasicOperator|) (|BasicOperator|)) 53 T ELT))
(|minPoly|
(((|SparseUnivariatePolynomial| |#2|) (|Kernel| |#2|)) 148
(|has| |#1| (|RetractableTo| (|Integer|))) ELT))
(|iroot|
((|#2| |#1| (|Integer|)) 120
(|has| |#1| (|RetractableTo| (|Integer|))) ELT))
(|inrootof|
((|#2| (|SparseUnivariatePolynomial| |#2|) |#2|) 29 T ELT))
(|droot| (((|OutputForm|) (|List| |#2|)) 87 T ELT))
(|definingPolynomial|
((|#2| |#2|) 143 (|has| |#1| (|RetractableTo| (|Integer|))) ELT))
(|belong?| (((|Boolean|) (|BasicOperator|)) 17 T ELT))
(**
((|#2| |#2| (|Fraction| (|Integer|))) 96
(|has| |#1| (|RetractableTo| (|Integer|))) ELT))))
(SETF (|dbOperationTable| (|constructorDB| '|AlgebraicFunction|))
#(|rootOf| 528 |operator| 534 |minPoly| 539 |iroot| 544 |inrootof| 550
|droot| 556 |definingPolynomial| 561 |belong?| 566 ** 571))
(SETF (|dbCapsuleDefinitions| (|constructorDB| '|AlgebraicFunction|))
'((|AF;minPoly;KSup;25|
#1=((|SparseUnivariatePolynomial| F) (|Kernel| F)))
(|AF;droot;LOf;24| #2=((|OutputForm|) (|List| F)))
(|AF;minPoly;KSup;23| #1#) (|AF;definingPolynomial;2F;22| (F F))
(|AF;iroot;RIF;20| #3=(F R (|Integer|))) (|AF;iroot;RIF;19| #3#)
(|AF;iroot;RIF;18| #3#) (|AF;iroot;RIF;17| #3#)
(|AF;**;FFF;13| (F F (|Fraction| (|Integer|))))
(|AF;droot;LOf;11| #2#)
(|AF;inrootof;Sup2F;9| #4=(F (|SparseUnivariatePolynomial| F) F))
(|AF;inrootof;Sup2F;7| #4#)
(|AF;operator;2Bo;6| ((|BasicOperator|) (|BasicOperator|)))
(|AF;rootOf;SupSF;3| (F (|SparseUnivariatePolynomial| F) (|Symbol|)))
(|AF;belong?;BoB;1| ((|Boolean|) (|BasicOperator|)))))
(SETF (|dbPredicates| (|constructorDB| '|AlgebraicFunction|))
'((|HasCategory| |#1| '(|RetractableTo| (|Integer|)))))
(SETF (|dbAbbreviation| (|constructorDB| '|AlgebraicFunction|)) 'AF)