((|rootOf|
((S S #1=(|Symbol|))
(#2=(|SparseUnivariatePolynomial| S)
(|degree| #3=(|NonNegativeInteger|) #2#))
(#3# (|positive?| #4=(|Boolean|) #3#) (|Zero| #3#) (= #4# #3# #3#))
(#5=(|Kernel| S) (|kernel| #5# . #6=((|Symbol|))))
(#7=(|Fraction| #2#) (|numer| #2# #7#) (|denom| #2# #7#))
(|locals| (|n| . #2#) (|f| . #7#) (#:G547 . #4#) (#:G546 . #4#))
(|arguments| (|x| . #1#) (|p| . S))
(S (|univariate| . #8=(#7# S (|Kernel| S)))
(|rootOf| S (|SparseUnivariatePolynomial| S) . #9=(#10=(|Symbol|)))))
((S S)
(#11=(|List| #12=(|Symbol|)) (|first| #12# #11#)
(|empty?| #13=(|Boolean|) #11#))
(|locals| (|l| . #11#) (#:G540 . #13#)) (|arguments| (|p| . S))
(S (|variables| . #14=(#11# S)) (|rootOf| S S (|Symbol|)))))
(|rootsOf|
(((|List| S) #15=(|SparseUnivariatePolynomial| S) #16=(|Symbol|))
(#17=(|Union| S "failed") (|case| #18=(|Boolean|) #17# S)
(|autoCoerce| S #17#))
(#19=(|SparseUnivariatePolynomial| S)
(|retractIfCan| #20=(|Union| S . #21=("failed")) #19#))
((|AlgebraicallyClosedField&| S)
(|rootsOf| (|List| S) (|SparseUnivariatePolynomial| S)
. #22=(#23=(|Symbol|))))
(|locals| (|r| . #20#)) (|arguments| (|y| . #16#) (|p| . #15#))
(S (|rootsOf| . #24=((|List| S) S (|Symbol|)))))
((#25=(|List| S) S #26=(|Symbol|)) (#2# (|degree| #3# #2#))
(#3# (|positive?| #4# #3#) (|Zero| #3#) (= #4# #3# #3#))
(#25# (|empty| #25#)) (#27=(|Kernel| S) (|kernel| #27# . #6#))
(#7# (|numer| #2# #7#) (|denom| #2# #7#))
(|locals| (|n| . #2#) (|f| . #7#) (#:G551 . #4#) (#:G550 . #4#))
(|arguments| (|x| . #26#) (|p| . S))
(S (|univariate| . #8#)
(|rootsOf| (|List| S) (|SparseUnivariatePolynomial| S) . #28=(#10#))))
(((|List| S) S) (#11# (|first| #12# #11#) (|empty?| #13# #11#))
(|locals| (|l| . #11#) (#:G541 . #13#)) (|arguments| (|p| . S))
(S (|variables| . #14#) (|rootsOf| . #24#))))
(|zeroOf|
((S #29=(|SparseUnivariatePolynomial| S) #30=(|Symbol|))
(#31=(|Union| S "failed") (|case| #18# #31# S) (|autoCoerce| S #31#))
(#32=(|SparseUnivariatePolynomial| S)
(|retractIfCan| #33=(|Union| S . #21#) #32#))
((|AlgebraicallyClosedField&| S)
(|zeroOf| S (|SparseUnivariatePolynomial| S) #23#))
(|locals| (|r| . #33#)) (|arguments| (|y| . #30#) (|p| . #29#))
(S (|zeroOf| . #34=(S S (|Symbol|)))))
((S S #35=(|Symbol|)) (#2# (|degree| #3# #2#))
(#3# (|positive?| #4# #3#) (|Zero| #3#) (= #4# #3# #3#))
(#36=(|Kernel| S) (|kernel| #36# . #6#))
(#7# (|numer| #2# #7#) (|denom| #2# #7#))
(|locals| (|n| . #2#) (|f| . #7#) (#:G545 . #4#) (#:G544 . #4#))
(|arguments| (|x| . #35#) (|p| . S))
(S (|zeroOf| S (|SparseUnivariatePolynomial| S) . #9#)
(|univariate| . #8#)))
((S S) (#11# (|first| #12# #11#) (|empty?| #13# #11#))
(|locals| (|l| . #11#) (#:G542 . #13#)) (|arguments| (|p| . S))
(S (|zeroOf| . #34#) (|variables| . #14#))))
(|zerosOf|
(((|List| S) #37=(|SparseUnivariatePolynomial| S) #38=(|Symbol|))
(#39=(|Union| S "failed") (|case| #18# #39# S) (|autoCoerce| S #39#))
(#40=(|SparseUnivariatePolynomial| S)
(|retractIfCan| #41=(|Union| S . #21#) #40#))
((|AlgebraicallyClosedField&| S)
(|zerosOf| (|List| S) (|SparseUnivariatePolynomial| S) . #22#))
(|locals| (|r| . #41#)) (|arguments| (|y| . #38#) (|p| . #37#))
(S (|zerosOf| . #42=((|List| S) S (|Symbol|)))))
((#43=(|List| S) S #44=(|Symbol|)) (#2# (|degree| #3# #2#))
(#3# (|positive?| #4# #3#) (|Zero| #3#) (= #4# #3# #3#))
(#43# (|empty| #43#)) (#45=(|Kernel| S) (|kernel| #45# . #6#))
(#7# (|numer| #2# #7#) (|denom| #2# #7#))
(|locals| (|n| . #2#) (|f| . #7#) (#:G549 . #4#) (#:G548 . #4#))
(|arguments| (|x| . #44#) (|p| . S))
(S (|zerosOf| (|List| S) (|SparseUnivariatePolynomial| S) . #28#)
(|univariate| . #8#)))
(((|List| S) S) (#11# (|first| #12# #11#) (|empty?| #13# #11#))
(|locals| (|l| . #11#) (#:G543 . #13#)) (|arguments| (|p| . S))
(S (|zerosOf| . #42#) (|variables| . #14#)))))