((|allroots|
((#1=(|List| S) #2=(|SparseUnivariatePolynomial| S) #3=(|Symbol|)
#4=(|Mapping| S (|SparseUnivariatePolynomial| S) (|Symbol|)))
(#5=(|Union| #6=(|SparseUnivariatePolynomial| S) "failed")
(|coerce| #6# #5#))
(#3# (|new| #3# #3#))
(#2# (|zero?| #7=(|Boolean|) #2#) (|reductum| #2# #2#) (|quo| #2# #2# #2#)
(|monomial| #2# S . #8=(#9=(|NonNegativeInteger|))) (|ground?| #7# #2#)
(|exquo| (|Union| #2# #10="failed") #2# #2#) (|elt| S #2# S)
(|coerce| #2# S) (|coefficient| S #2# . #11=(#9#)) (|Zero| #2#) (|One| #2#)
(- #2# #2# #2#))
((|PolynomialDecomposition| #6# S) (|leftFactor| #5# #6# #6#)
(|decompose| #12=(|List| #6#) #6#))
(#9# (|Zero| #9#) (|One| #9#) (> #13=(|Boolean|) #9# #9#))
(#1# (|reverse!| #1# #1#) (|nil| #1#) (|empty| #1#) (|concat| #1# S #1#)
(|append| #1# #1# #1#))
(#12# (|last| #6# #12#) (|#| (|NonNegativeInteger|) #12#))
(#7# (|not| #7# #7#))
(|locals| (|x| . #3#) (|q| . #2#) (|p1| . #2#) (|h| . #6#) (|groots| . #1#)
(|g| |SparseUnivariatePolynomial| S) (|decompList| . #12#) (|ans| . #1#)
(|alpha| . S) (#:G593 . #1#) (#:G592 . #1#) (#:G552 . #14=(|Boolean|))
(#:G551 . #13#) (#:G550 . #7#) (#:G549 . #7#) (#:G548 . #14#)
(#:G547 . #7#))
(|arguments| (|y| . #3#) (|p| . #2#) (|fn| . #4#))
(S (|zero?| . #15=(#14# S)) (|Zero| . #16=(S)) (|One| . #17=(S)))))
(|assign| ((S #18=(|Symbol|) S) (|arguments| (|x| . #18#) (|f| . S))))
(|binomialRoots|
(((|List| S) #19=(|SparseUnivariatePolynomial| S) #20=(|Symbol|)
#21=(|Mapping| S (|SparseUnivariatePolynomial| S) (|Symbol|)))
(#20# (|new| #20# #20#))
(#19# (|monomial| #19# S . #8#) (|degree| #9# #19#) (|One| #19#))
(#22=(|PositiveInteger|) (|One| #22#))
((|NumberTheoreticPolynomialFunctions| #23=(|SparseUnivariatePolynomial| S))
(|cyclotomic| #23# (|NonNegativeInteger|) #23#))
(#9# (|one?| #13# #9#) (|One| #9#)) (#24=(|Integer|) (- #24# #24# #24#))
(|locals| (|x| . #20#) (|n| . #9#) (|cyclo| . #23#) (|beta| . S)
(|alpha| . S) (#:G546 . #13#))
(|arguments| (|y| . #20#) (|p| . #19#) (|fn| . #21#))
(S (|One| . #17#) (** S S (|NonNegativeInteger|)) (* S S S))))
(|rootOf|
((S #25=(|Polynomial| S))
(#26=(|Polynomial| S) (|variables| #27=(|List| #28=(|Symbol|)) #26#)
(|univariate| (|SparseUnivariatePolynomial| S) #26#))
(#27# (|first| #28# #27#) (|empty?| #29=(|Boolean|) #27#))
(|locals| (|l| . #27#) (#:G541 . #29#)) (|arguments| (|p| . #25#))
(S (|rootOf| . #30=(S (|SparseUnivariatePolynomial| S) (|Symbol|)))))
((S #31=(|SparseUnivariatePolynomial| S)) (#18# (|new| #18#))
(|locals| (|x| . #18#)) (|arguments| (|p| . #31#)) (S (|rootOf| . #30#))))
(|rootsOf|
(((|List| S) #32=(|Polynomial| S))
(#33=(|Polynomial| S) (|variables| #27# #33#)
(|univariate| (|SparseUnivariatePolynomial| S) #33#))
(#27# (|first| #28# #27#) (|empty?| #29# #27#))
(|locals| (|l| . #27#) (#:G543 . #29#)) (|arguments| (|p| . #32#))
(S
(|rootsOf|
. #34=((|List| S) (|SparseUnivariatePolynomial| S) #35=(|Symbol|)))))
(((|List| S) #36=(|SparseUnivariatePolynomial| S) #37=(|Symbol|))
(|arguments| (|y| . #37#) (|p| . #36#)) (S (|rootOf| . #30#)))
(((|List| S) #38=(|SparseUnivariatePolynomial| S)) (#35# (|new| #35#))
(|arguments| (|p| . #38#)) (S (|rootsOf| . #34#))))
(|zeroOf|
((S #39=(|Polynomial| S))
(#40=(|Polynomial| S) (|variables| #27# #40#)
(|univariate| (|SparseUnivariatePolynomial| S) #40#))
(#27# (|first| #28# #27#) (|empty?| #29# #27#))
(|locals| (|l| . #27#) (#:G540 . #29#)) (|arguments| (|p| . #39#))
(S (|zeroOf| . #41=(S (|SparseUnivariatePolynomial| S) (|Symbol|)))))
((S #42=(|SparseUnivariatePolynomial| S) #43=(|Symbol|))
(#44=(|Union| S #45="failed") (|case| (|Boolean|) #44# #45#)
(|autoCoerce| S #44#))
(#46=(|SparseUnivariatePolynomial| S)
(|retractIfCan| #47=(|Union| S #10#) #46#) (|reductum| #46# #46#)
(|leadingCoefficient| S #46#) (|degree| #9# #46#)
(|coefficient| S #46# . #11#) (|Zero| #46#) (|One| #46#))
(#22# (|One| #22#)) (#9# (|zero?| #13# #9#) (|Zero| #9#) (= #13# #9# #9#))
(|locals| (|r| . #47#) (|d| . #9#) (|b| . S) (|a| . S) (#:G545 . #14#)
(#:G544 . #13#))
(|arguments| (|y| . #43#) (|p| . #42#))
(S (|zero?| . #15#) (|sqrt| S S) (|rootOf| . #30#)
(|nthRoot| S S (|Integer|)) (|Zero| . #16#) (|One| . #17#) (/ S S S)
(- S S) (** S S (|PositiveInteger|)) (* S (|PositiveInteger|) S)))
((S #48=(|SparseUnivariatePolynomial| S)) (#18# (|new| #18#))
(|locals| (|x| . #18#)) (|arguments| (|p| . #48#)) (S (|zeroOf| . #41#))))
(|zerosOf|
(((|List| S) #49=(|Polynomial| S))
(#50=(|Polynomial| S) (|variables| #27# #50#)
(|univariate| (|SparseUnivariatePolynomial| S) #50#))
(#27# (|first| #28# #27#) (|empty?| #29# #27#))
(|locals| (|l| . #27#) (#:G542 . #29#)) (|arguments| (|p| . #49#))
(S
(|zerosOf|
. #51=((|List| S) (|SparseUnivariatePolynomial| S) #52=(|Symbol|)))))
(((|List| S) #53=(|SparseUnivariatePolynomial| S) #54=(|Symbol|))
(|arguments| (|y| . #54#) (|p| . #53#)) (S (|zeroOf| . #41#)))
(((|List| S) #55=(|SparseUnivariatePolynomial| S)) (#52# (|new| #52#))
(|arguments| (|p| . #55#)) (S (|zerosOf| . #51#)))))