
(/VERSIONCHECK 2) 

(DEFUN |FRAC;coerce;S$;1| (|d| $) (CONS |d| (|spadConstant| $ 9))) 

(DEFUN |FRAC;zero?;$B;2| (|x| $) (SPADCALL (QCAR |x|) (QREFELT $ 12))) 

(DEFUN |FRAC;retract;$S;3| (|x| $)
  (COND
    ((SPADCALL (QCDR |x|) (|spadConstant| $ 9) (QREFELT $ 14))
     (QCAR |x|))
    ('T (|error| "Denominator not equal to 1")))) 

(DEFUN |FRAC;retractIfCan;$U;4| (|x| $)
  (COND
    ((SPADCALL (QCDR |x|) (|spadConstant| $ 9) (QREFELT $ 14))
     (CONS 0 (QCAR |x|)))
    ('T (CONS 1 "failed")))) 

(DEFUN |FRAC;retract;$S;5| (|x| $)
  (PROG (|a|)
    (RETURN
      (SEQ (LETT |a| (SPADCALL (QCAR |x|) (QCDR |x|) (QREFELT $ 19))
                 |FRAC;retract;$S;5|)
           (EXIT (COND
                   ((QEQCAR |a| 1)
                    (|error| "Denominator not equal to 1"))
                   ('T (QCDR |a|)))))))) 

(DEFUN |FRAC;retractIfCan;$U;6| (|x| $)
  (SPADCALL (QCAR |x|) (QCDR |x|) (QREFELT $ 19))) 

(DEFUN |FRAC;retract;$S;7| (|x| $)
  (PROG (|a|)
    (RETURN
      (SEQ (LETT |a| (SPADCALL (QCAR |x|) (QCDR |x|) (QREFELT $ 19))
                 |FRAC;retract;$S;7|)
           (EXIT (COND
                   ((QEQCAR |a| 1)
                    (|error| "Denominator not equal to 1"))
                   ('T (QCDR |a|)))))))) 

(DEFUN |FRAC;retractIfCan;$U;8| (|x| $)
  (SPADCALL (QCAR |x|) (QCDR |x|) (QREFELT $ 19))) 

(DEFUN |FRAC;wholePart;$S;9| (|x| $)
  (COND
    ((SPADCALL (QCDR |x|) (|spadConstant| $ 9) (QREFELT $ 14))
     (QCAR |x|))
    ('T (SPADCALL (QCAR |x|) (QCDR |x|) (QREFELT $ 20))))) 

(DEFUN |FRAC;floor;$S;10| (|x| $)
  (COND
    ((SPADCALL (QCDR |x|) (|spadConstant| $ 9) (QREFELT $ 14))
     (QCAR |x|))
    ((SPADCALL |x| (|spadConstant| $ 22) (QREFELT $ 24))
     (SPADCALL (SPADCALL (SPADCALL |x| (QREFELT $ 25)) (QREFELT $ 26))
         (QREFELT $ 27)))
    ('T (SPADCALL |x| (QREFELT $ 21))))) 

(DEFUN |FRAC;ceiling;$S;11| (|x| $)
  (COND
    ((SPADCALL (QCDR |x|) (|spadConstant| $ 9) (QREFELT $ 14))
     (QCAR |x|))
    ((SPADCALL |x| (|spadConstant| $ 22) (QREFELT $ 24))
     (SPADCALL (SPADCALL (SPADCALL |x| (QREFELT $ 25)) (QREFELT $ 28))
         (QREFELT $ 27)))
    ('T
     (SPADCALL (|spadConstant| $ 9) (SPADCALL |x| (QREFELT $ 21))
         (QREFELT $ 29))))) 

(DEFUN |FRAC;writeOMFrac| (|dev| |x| $)
  (SEQ (SPADCALL |dev| (QREFELT $ 32))
       (SPADCALL |dev| "nums1" "rational" (QREFELT $ 34))
       (SPADCALL |dev| (QCAR |x|) 'NIL (QREFELT $ 35))
       (SPADCALL |dev| (QCDR |x|) 'NIL (QREFELT $ 35))
       (EXIT (SPADCALL |dev| (QREFELT $ 36))))) 

(DEFUN |FRAC;OMwrite;$S;13| (|x| $)
  (PROG (|sp| |dev| |s|)
    (RETURN
      (SEQ (LETT |s| "" . #0=(|FRAC;OMwrite;$S;13|))
           (LETT |sp| (OM-STRINGTOSTRINGPTR |s|) . #0#)
           (LETT |dev|
                 (SPADCALL |sp| (SPADCALL (QREFELT $ 38))
                     (QREFELT $ 39)) . #0#)
           (SPADCALL |dev| (QREFELT $ 40))
           (|FRAC;writeOMFrac| |dev| |x| $)
           (SPADCALL |dev| (QREFELT $ 41))
           (SPADCALL |dev| (QREFELT $ 42))
           (LETT |s| (OM-STRINGPTRTOSTRING |sp|) . #0#) (EXIT |s|))))) 

(DEFUN |FRAC;OMwrite;$BS;14| (|x| |wholeObj| $)
  (PROG (|sp| |dev| |s|)
    (RETURN
      (SEQ (LETT |s| "" . #0=(|FRAC;OMwrite;$BS;14|))
           (LETT |sp| (OM-STRINGTOSTRINGPTR |s|) . #0#)
           (LETT |dev|
                 (SPADCALL |sp| (SPADCALL (QREFELT $ 38))
                     (QREFELT $ 39)) . #0#)
           (COND (|wholeObj| (SPADCALL |dev| (QREFELT $ 40))))
           (|FRAC;writeOMFrac| |dev| |x| $)
           (COND (|wholeObj| (SPADCALL |dev| (QREFELT $ 41))))
           (SPADCALL |dev| (QREFELT $ 42))
           (LETT |s| (OM-STRINGPTRTOSTRING |sp|) . #0#) (EXIT |s|))))) 

(DEFUN |FRAC;OMwrite;Omd$V;15| (|dev| |x| $)
  (SEQ (SPADCALL |dev| (QREFELT $ 40)) (|FRAC;writeOMFrac| |dev| |x| $)
       (EXIT (SPADCALL |dev| (QREFELT $ 41))))) 

(DEFUN |FRAC;OMwrite;Omd$BV;16| (|dev| |x| |wholeObj| $)
  (SEQ (COND (|wholeObj| (SPADCALL |dev| (QREFELT $ 40))))
       (|FRAC;writeOMFrac| |dev| |x| $)
       (EXIT (COND (|wholeObj| (SPADCALL |dev| (QREFELT $ 41))))))) 

(DEFUN |FRAC;normalize| (|x| $)
  (PROG (|uca|)
    (RETURN
      (SEQ (COND
             ((SPADCALL (QCAR |x|) (QREFELT $ 12))
              (|spadConstant| $ 22))
             ((SPADCALL (QCDR |x|) (|spadConstant| $ 9) (QREFELT $ 14))
              |x|)
             ('T
              (SEQ (LETT |uca| (SPADCALL (QCDR |x|) (QREFELT $ 48))
                         |FRAC;normalize|)
                   (EXIT (COND
                           ((SPADCALL
                                (PROGN
                                  (RPLACD |x| (QVELT |uca| 1))
                                  (QCDR |x|))
                                (QREFELT $ 12))
                            (|error| "division by zero"))
                           ('T
                            (SEQ (PROGN
                                   (RPLACA |x|
                                    (SPADCALL (QCAR |x|)
                                     (QVELT |uca| 2) (QREFELT $ 49)))
                                   (QCAR |x|))
                                 (EXIT |x|)))))))))))) 

(DEFUN |FRAC;recip;$U;18| (|x| $)
  (COND
    ((SPADCALL (QCAR |x|) (QREFELT $ 12)) (CONS 1 "failed"))
    ('T (CONS 0 (|FRAC;normalize| (CONS (QCDR |x|) (QCAR |x|)) $))))) 

(DEFUN |FRAC;cancelGcd| (|x| $)
  (PROG (|d| |xn| |xd|)
    (RETURN
      (SEQ (COND
             ((SPADCALL (QCDR |x|) (|spadConstant| $ 9) (QREFELT $ 14))
              (QCDR |x|))
             ('T
              (SEQ (LETT |d|
                         (SPADCALL (QCAR |x|) (QCDR |x|)
                             (QREFELT $ 51))
                         . #0=(|FRAC;cancelGcd|))
                   (LETT |xn|
                         (SPADCALL (QCAR |x|) |d| (QREFELT $ 19)) . #0#)
                   (EXIT (COND
                           ((QEQCAR |xn| 1)
                            (|error| "gcd not gcd in QF cancelGcd (numerator)"))
                           ('T
                            (SEQ (LETT |xd|
                                       (SPADCALL (QCDR |x|) |d|
                                        (QREFELT $ 19)) . #0#)
                                 (EXIT (COND
                                         ((QEQCAR |xd| 1)
                                          (|error|
                                           "gcd not gcd in QF cancelGcd (denominator)"))
                                         ('T
                                          (SEQ
                                           (PROGN
                                             (RPLACA |x| (QCDR |xn|))
                                             (QCAR |x|))
                                           (PROGN
                                             (RPLACD |x| (QCDR |xd|))
                                             (QCDR |x|))
                                           (EXIT |d|)))))))))))))))) 

(DEFUN |FRAC;/;2S$;20| (|nn| |dd| $)
  (PROG (|z|)
    (RETURN
      (SEQ (COND
             ((SPADCALL |dd| (QREFELT $ 12))
              (|error| "division by zero"))
             ('T
              (SEQ (|FRAC;cancelGcd|
                       (LETT |z| (CONS |nn| |dd|) |FRAC;/;2S$;20|) $)
                   (EXIT (|FRAC;normalize| |z| $))))))))) 

(DEFUN |FRAC;+;3$;21| (|x| |y| $)
  (PROG (|z| |d| |g|)
    (RETURN
      (SEQ (COND
             ((SPADCALL |y| (QREFELT $ 13)) |x|)
             ((SPADCALL |x| (QREFELT $ 13)) |y|)
             ('T
              (SEQ (LETT |z| (CONS (QCDR |x|) (QCDR |y|))
                         . #0=(|FRAC;+;3$;21|))
                   (LETT |d| (|FRAC;cancelGcd| |z| $) . #0#)
                   (LETT |g|
                         (CONS (SPADCALL
                                   (SPADCALL (QCDR |z|) (QCAR |x|)
                                    (QREFELT $ 49))
                                   (SPADCALL (QCAR |z|) (QCAR |y|)
                                    (QREFELT $ 49))
                                   (QREFELT $ 29))
                               |d|) . #0#)
                   (|FRAC;cancelGcd| |g| $)
                   (PROGN
                     (RPLACD |g|
                             (SPADCALL
                                 (SPADCALL (QCDR |g|) (QCAR |z|)
                                     (QREFELT $ 49))
                                 (QCDR |z|) (QREFELT $ 49)))
                     (QCDR |g|))
                   (EXIT (|FRAC;normalize| |g| $))))))))) 

(DEFUN |FRAC;-;3$;22| (|x| |y| $)
  (PROG (|z| |d| |g|)
    (RETURN
      (SEQ (COND
             ((SPADCALL |y| (QREFELT $ 13)) |x|)
             ('T
              (SEQ (LETT |z| (CONS (QCDR |x|) (QCDR |y|))
                         . #0=(|FRAC;-;3$;22|))
                   (LETT |d| (|FRAC;cancelGcd| |z| $) . #0#)
                   (LETT |g|
                         (CONS (SPADCALL
                                   (SPADCALL (QCDR |z|) (QCAR |x|)
                                    (QREFELT $ 49))
                                   (SPADCALL (QCAR |z|) (QCAR |y|)
                                    (QREFELT $ 49))
                                   (QREFELT $ 54))
                               |d|) . #0#)
                   (|FRAC;cancelGcd| |g| $)
                   (PROGN
                     (RPLACD |g|
                             (SPADCALL
                                 (SPADCALL (QCDR |g|) (QCAR |z|)
                                     (QREFELT $ 49))
                                 (QCDR |z|) (QREFELT $ 49)))
                     (QCDR |g|))
                   (EXIT (|FRAC;normalize| |g| $))))))))) 

(DEFUN |FRAC;*;3$;23| (|x| |y| $)
  (PROG (|#G35| |#G36|)
    (RETURN
      (SEQ (COND
             ((OR (SPADCALL |x| (QREFELT $ 13))
                  (SPADCALL |y| (QREFELT $ 13)))
              (|spadConstant| $ 22))
             ('T
              (COND
                ((SPADCALL |x| (|spadConstant| $ 8) (QREFELT $ 56))
                 |y|)
                ((SPADCALL |y| (|spadConstant| $ 8) (QREFELT $ 56))
                 |x|)
                ('T
                 (SEQ (PROGN
                        (LETT |#G35| (CONS (QCAR |x|) (QCDR |y|))
                              . #0=(|FRAC;*;3$;23|))
                        (LETT |#G36|
                              (CONS (QCAR |y|) (QCDR |x|)) . #0#)
                        (LETT |x| |#G35| . #0#)
                        (LETT |y| |#G36| . #0#))
                      (|FRAC;cancelGcd| |x| $) (|FRAC;cancelGcd| |y| $)
                      (EXIT (|FRAC;normalize|
                                (CONS (SPADCALL (QCAR |x|) (QCAR |y|)
                                       (QREFELT $ 49))
                                      (SPADCALL (QCDR |x|) (QCDR |y|)
                                       (QREFELT $ 49)))
                                $))))))))))) 

(DEFUN |FRAC;*;I2$;24| (|n| |x| $)
  (PROG (|y|)
    (RETURN
      (SEQ (LETT |y| (CONS (SPADCALL |n| (QREFELT $ 59)) (QCDR |x|))
                 |FRAC;*;I2$;24|)
           (|FRAC;cancelGcd| |y| $)
           (EXIT (|FRAC;normalize|
                     (CONS (SPADCALL (QCAR |x|) (QCAR |y|)
                               (QREFELT $ 49))
                           (QCDR |y|))
                     $)))))) 

(DEFUN |FRAC;*;S2$;25| (|nn| |x| $)
  (PROG (|y|)
    (RETURN
      (SEQ (LETT |y| (CONS |nn| (QCDR |x|)) |FRAC;*;S2$;25|)
           (|FRAC;cancelGcd| |y| $)
           (EXIT (|FRAC;normalize|
                     (CONS (SPADCALL (QCAR |x|) (QCAR |y|)
                               (QREFELT $ 49))
                           (QCDR |y|))
                     $)))))) 

(DEFUN |FRAC;differentiate;$M$;26| (|x| |deriv| $)
  (PROG (|y| |#G43| |#G44| |d|)
    (RETURN
      (SEQ (LETT |y| (CONS (SPADCALL (QCDR |x|) |deriv|) (QCDR |x|))
                 . #0=(|FRAC;differentiate;$M$;26|))
           (LETT |d| (|FRAC;cancelGcd| |y| $) . #0#)
           (PROGN
             (RPLACA |y|
                     (SPADCALL
                         (SPADCALL (SPADCALL (QCAR |x|) |deriv|)
                             (QCDR |y|) (QREFELT $ 49))
                         (SPADCALL (QCAR |x|) (QCAR |y|)
                             (QREFELT $ 49))
                         (QREFELT $ 54)))
             (QCAR |y|))
           (PROGN
             (LETT |#G43| (QCDR |y|) . #0#)
             (LETT |#G44| |d| . #0#)
             (LETT |d| |#G43| . #0#)
             (PROGN (RPLACD |y| |#G44|) (QCDR |y|)))
           (|FRAC;cancelGcd| |y| $)
           (PROGN
             (RPLACD |y|
                     (SPADCALL (SPADCALL (QCDR |y|) |d| (QREFELT $ 49))
                         |d| (QREFELT $ 49)))
             (QCDR |y|))
           (EXIT (|FRAC;normalize| |y| $)))))) 

(DEFUN |FRAC;=;2$B;27| (|x| |y| $)
  (COND
    ((SPADCALL (QCAR |x|) (QCAR |y|) (QREFELT $ 14))
     (SPADCALL (QCDR |x|) (QCDR |y|) (QREFELT $ 14)))
    ('T 'NIL))) 

(DEFUN |FRAC;one?;$B;28| (|x| $)
  (COND
    ((SPADCALL (QCAR |x|) (|spadConstant| $ 9) (QREFELT $ 14))
     (SPADCALL (QCDR |x|) (|spadConstant| $ 9) (QREFELT $ 14)))
    ('T 'NIL))) 

(DEFUN |FRAC;/;2S$;29| (|nn| |dd| $)
  (COND
    ((SPADCALL |dd| (QREFELT $ 12)) (|error| "division by zero"))
    ('T (CONS |nn| |dd|)))) 

(DEFUN |FRAC;recip;$U;30| (|x| $)
  (COND
    ((SPADCALL (QCAR |x|) (QREFELT $ 12)) (CONS 1 "failed"))
    ('T (CONS 0 (CONS (QCDR |x|) (QCAR |x|)))))) 

(DEFUN |FRAC;retract;$F;31| (|x| $)
  (SPADCALL (SPADCALL |x| (QREFELT $ 15)) (QREFELT $ 66))) 

(DEFUN |FRAC;retractIfCan;$U;32| (|x| $)
  (PROG (|u|)
    (RETURN
      (SEQ (LETT |u| (SPADCALL |x| (QREFELT $ 17))
                 |FRAC;retractIfCan;$U;32|)
           (EXIT (COND
                   ((QEQCAR |u| 1) (CONS 1 "failed"))
                   ('T (SPADCALL (QCDR |u|) (QREFELT $ 69))))))))) 

(DEFUN |FRAC;retract;$F;33| (|x| $)
  (SPADCALL (SPADCALL (SPADCALL |x| (QREFELT $ 71)) (QREFELT $ 72))
      (SPADCALL (SPADCALL |x| (QREFELT $ 73)) (QREFELT $ 72))
      (QREFELT $ 74))) 

(DEFUN |FRAC;retractIfCan;$U;34| (|x| $)
  (PROG (|n| |d|)
    (RETURN
      (SEQ (LETT |n|
                 (SPADCALL (SPADCALL |x| (QREFELT $ 71))
                     (QREFELT $ 76))
                 . #0=(|FRAC;retractIfCan;$U;34|))
           (EXIT (COND
                   ((QEQCAR |n| 1) (CONS 1 "failed"))
                   (#1='T
                    (SEQ (LETT |d|
                               (SPADCALL (SPADCALL |x| (QREFELT $ 73))
                                   (QREFELT $ 76)) . #0#)
                         (EXIT (COND
                                 ((QEQCAR |d| 1) (CONS 1 "failed"))
                                 (#1#
                                  (CONS 0
                                        (SPADCALL (QCDR |n|) (QCDR |d|)
                                         (QREFELT $ 74)))))))))))))) 

(DEFUN |FRAC;gcdPolynomial;3Sup;35| (|pp| |qq| $)
  (PROG (#0=#:G2008 #1=#:G1997 #2=#:G1995 #3=#:G1996 |denpp| |ppD| |u|
            #4=#:G2009 #5=#:G2001 #6=#:G1999 #7=#:G2000 |denqq| |qqD|
            |g| |lc|)
    (RETURN
      (SEQ (COND
             ((SPADCALL |pp| (QREFELT $ 78)) |qq|)
             ((SPADCALL |qq| (QREFELT $ 78)) |pp|)
             ((OR (ZEROP (SPADCALL |pp| (QREFELT $ 80)))
                  (ZEROP (SPADCALL |qq| (QREFELT $ 80))))
              (|spadConstant| $ 81))
             ('T
              (SEQ (LETT |denpp|
                         (PROGN
                           (LETT #3# NIL
                                 . #8=(|FRAC;gcdPolynomial;3Sup;35|))
                           (SEQ (LETT |u| NIL . #8#)
                                (LETT #0#
                                      (SPADCALL |pp| (QREFELT $ 83)) . #8#)
                                G190
                                (COND
                                  ((OR (ATOM #0#)
                                    (PROGN
                                      (LETT |u| (CAR #0#) . #8#)
                                      NIL))
                                   #9=(GO G191)))
                                (SEQ (EXIT
                                      (PROGN
                                        (LETT #1#
                                         (SPADCALL |u| (QREFELT $ 73)) . #8#)
                                        (COND
                                          (#3#
                                           (LETT #2#
                                            (SPADCALL #2# #1#
                                             (QREFELT $ 84)) . #8#))
                                          ('T
                                           (PROGN
                                             (LETT #2# #1# . #8#)
                                             (LETT #3# 'T . #8#)))))))
                                (LETT #0# (CDR #0#) . #8#)
                                #10=(GO G190) G191 (EXIT NIL))
                           (COND (#3# #2#) ('T (|spadConstant| $ 9)))) . #8#)
                   (LETT |ppD|
                         (SPADCALL
                             (CONS #'|FRAC;gcdPolynomial;3Sup;35!0|
                                   (VECTOR $ |denpp|))
                             |pp| (QREFELT $ 89)) . #8#)
                   (LETT |denqq|
                         (PROGN
                           (LETT #7# NIL . #8#)
                           (SEQ (LETT |u| NIL . #8#)
                                (LETT #4#
                                      (SPADCALL |qq| (QREFELT $ 83)) . #8#)
                                G190
                                (COND
                                  ((OR (ATOM #4#)
                                    (PROGN
                                      (LETT |u| (CAR #4#) . #8#)
                                      NIL))
                                   #9#))
                                (SEQ (EXIT
                                      (PROGN
                                        (LETT #5#
                                         (SPADCALL |u| (QREFELT $ 73)) . #8#)
                                        (COND
                                          (#7#
                                           (LETT #6#
                                            (SPADCALL #6# #5#
                                             (QREFELT $ 84)) . #8#))
                                          ('T
                                           (PROGN
                                             (LETT #6# #5# . #8#)
                                             (LETT #7# 'T . #8#)))))))
                                (LETT #4# (CDR #4#) . #8#) #10# G191
                                (EXIT NIL))
                           (COND (#7# #6#) ('T (|spadConstant| $ 9)))) . #8#)
                   (LETT |qqD|
                         (SPADCALL
                             (CONS #'|FRAC;gcdPolynomial;3Sup;35!1|
                                   (VECTOR $ |denqq|))
                             |qq| (QREFELT $ 89)) . #8#)
                   (LETT |g|
                         (SPADCALL |ppD| |qqD| (QREFELT $ 91)) . #8#)
                   (EXIT (COND
                           ((ZEROP (SPADCALL |g| (QREFELT $ 92)))
                            (|spadConstant| $ 81))
                           ('T
                            (SEQ (LETT |lc|
                                       (SPADCALL |g| (QREFELT $ 93)) . #8#)
                                 (EXIT (COND
                                         ((SPADCALL |lc|
                                           (|spadConstant| $ 9)
                                           (QREFELT $ 14))
                                          (SPADCALL
                                           (CONS
                                            #'|FRAC;gcdPolynomial;3Sup;35!2|
                                            $)
                                           |g| (QREFELT $ 96)))
                                         ('T
                                          (SPADCALL
                                           (CONS
                                            #'|FRAC;gcdPolynomial;3Sup;35!3|
                                            (VECTOR $ |lc|))
                                           |g| (QREFELT $ 96)))))))))))))))) 

(DEFUN |FRAC;gcdPolynomial;3Sup;35!3| (|#1| $$)
  (SPADCALL |#1| (QREFELT $$ 1) (QREFELT (QREFELT $$ 0) 52))) 

(DEFUN |FRAC;gcdPolynomial;3Sup;35!2| (|#1| $)
  (SPADCALL |#1| (QREFELT $ 10))) 

(DEFUN |FRAC;gcdPolynomial;3Sup;35!1| (|#1| $$)
  (PROG ($)
    (LETT $ (QREFELT $$ 0) |FRAC;gcdPolynomial;3Sup;35|)
    (RETURN
      (PROGN
        (SPADCALL (SPADCALL |#1| (QREFELT $$ 1) (QREFELT $ 85))
            (QREFELT $ 15)))))) 

(DEFUN |FRAC;gcdPolynomial;3Sup;35!0| (|#1| $$)
  (PROG ($)
    (LETT $ (QREFELT $$ 0) |FRAC;gcdPolynomial;3Sup;35|)
    (RETURN
      (PROGN
        (SPADCALL (SPADCALL |#1| (QREFELT $$ 1) (QREFELT $ 85))
            (QREFELT $ 15)))))) 

(DEFUN |FRAC;charthRoot;$U;36| (|x| $)
  (PROG (|n| |d|)
    (RETURN
      (SEQ (LETT |n| (SPADCALL (QCAR |x|) (QREFELT $ 98))
                 . #0=(|FRAC;charthRoot;$U;36|))
           (EXIT (COND
                   ((QEQCAR |n| 1) (CONS 1 "failed"))
                   (#1='T
                    (SEQ (LETT |d|
                               (SPADCALL (QCDR |x|) (QREFELT $ 98)) . #0#)
                         (EXIT (COND
                                 ((QEQCAR |d| 1) (CONS 1 "failed"))
                                 (#1#
                                  (CONS 0
                                        (SPADCALL (QCDR |n|) (QCDR |d|)
                                         (QREFELT $ 52)))))))))))))) 

(DEFUN |FRAC;charthRoot;$U;37| (|x| $)
  (PROG (#0=#:G2033 |ans|)
    (RETURN
      (SEQ (LETT |ans|
                 (SPADCALL
                     (SPADCALL (QCAR |x|)
                         (SPADCALL (QCDR |x|)
                             (PROG1 (LETT #0#
                                     (- (SPADCALL (QREFELT $ 100)) 1)
                                     . #1=(|FRAC;charthRoot;$U;37|))
                               (|check-subtype| (>= #0# 0)
                                   '(|NonNegativeInteger|) #0#))
                             (QREFELT $ 101))
                         (QREFELT $ 49))
                     (QREFELT $ 98)) . #1#)
           (EXIT (COND
                   ((QEQCAR |ans| 1) (CONS 1 "failed"))
                   ('T
                    (CONS 0
                          (SPADCALL (QCDR |ans|) (QCDR |x|)
                              (QREFELT $ 52)))))))))) 

(DEFUN |FRAC;charthRoot;$U;38| (|x| $)
  (PROG (#0=#:G2052 |ans|)
    (RETURN
      (SEQ (LETT |ans|
                 (SPADCALL
                     (SPADCALL (QCAR |x|)
                         (SPADCALL (QCDR |x|)
                             (PROG1 (LETT #0#
                                     (- (SPADCALL (QREFELT $ 100)) 1)
                                     . #1=(|FRAC;charthRoot;$U;38|))
                               (|check-subtype| (>= #0# 0)
                                   '(|NonNegativeInteger|) #0#))
                             (QREFELT $ 101))
                         (QREFELT $ 49))
                     (QREFELT $ 98)) . #1#)
           (EXIT (COND
                   ((QEQCAR |ans| 1) (CONS 1 "failed"))
                   ('T
                    (CONS 0
                          (SPADCALL (QCDR |ans|) (QCDR |x|)
                              (QREFELT $ 52)))))))))) 

(DEFUN |FRAC;clear| (|l| $)
  (PROG (#0=#:G2067 #1=#:G2060 #2=#:G2058 #3=#:G2059 |d| #4=#:G2068 |x|
            #5=#:G2069 #6=#:G2062)
    (RETURN
      (SEQ (LETT |d|
                 (PROGN
                   (LETT #3# NIL . #7=(|FRAC;clear|))
                   (SEQ (LETT |x| NIL . #7#) (LETT #0# |l| . #7#) G190
                        (COND
                          ((OR (ATOM #0#)
                               (PROGN (LETT |x| (CAR #0#) . #7#) NIL))
                           #8=(GO G191)))
                        (SEQ (EXIT (PROGN
                                     (LETT #1# (QCDR |x|) . #7#)
                                     (COND
                                       (#3#
                                        (LETT #2#
                                         (SPADCALL #2# #1#
                                          (QREFELT $ 84)) . #7#))
                                       ('T
                                        (PROGN
                                          (LETT #2# #1# . #7#)
                                          (LETT #3# 'T . #7#)))))))
                        (LETT #0# (CDR #0#) . #7#) #9=(GO G190) G191
                        (EXIT NIL))
                   (COND (#3# #2#) ('T (|spadConstant| $ 9)))) . #7#)
           (EXIT (PROGN
                   (LETT #4# NIL . #7#)
                   (SEQ (LETT |x| NIL . #7#) (LETT #5# |l| . #7#) G190
                        (COND
                          ((OR (ATOM #5#)
                               (PROGN (LETT |x| (CAR #5#) . #7#) NIL))
                           #8#))
                        (SEQ (EXIT (LETT #4#
                                    (CONS
                                     (SPADCALL (QCAR |x|)
                                      (PROG2
                                       (LETT #6#
                                        (SPADCALL |d| (QCDR |x|)
                                         (QREFELT $ 19)) . #7#)
                                       (QCDR #6#)
                                        (|check-union| (QEQCAR #6# 0)
                                         (QREFELT $ 6) #6#))
                                      (QREFELT $ 49))
                                     #4#) . #7#)))
                        (LETT #5# (CDR #5#) . #7#) #9# G191
                        (EXIT (NREVERSE0 #4#))))))))) 

(DEFUN |FRAC;conditionP;MU;40| (|mat| $)
  (PROG (#0=#:G2085 |l| #1=#:G2086 |matD| |ansD| |ansDD| #2=#:G2087
            #3=#:G2088 |i| #4=#:G2089)
    (RETURN
      (SEQ (LETT |matD|
                 (SPADCALL
                     (PROGN
                       (LETT #0# NIL . #5=(|FRAC;conditionP;MU;40|))
                       (SEQ (LETT |l| NIL . #5#)
                            (LETT #1#
                                  (SPADCALL |mat| (QREFELT $ 104)) . #5#)
                            G190
                            (COND
                              ((OR (ATOM #1#)
                                   (PROGN
                                     (LETT |l| (CAR #1#) . #5#)
                                     NIL))
                               #6=(GO G191)))
                            (SEQ (EXIT (LETT #0#
                                        (CONS (|FRAC;clear| |l| $) #0#) . #5#)))
                            (LETT #1# (CDR #1#) . #5#) #7=(GO G190)
                            G191 (EXIT (NREVERSE0 #0#))))
                     (QREFELT $ 107)) . #5#)
           (LETT |ansD| (SPADCALL |matD| (QREFELT $ 110)) . #5#)
           (EXIT (COND
                   ((QEQCAR |ansD| 1) (CONS 1 "failed"))
                   ('T
                    (SEQ (LETT |ansDD| (QCDR |ansD|) . #5#)
                         (EXIT (CONS 0
                                     (PRIMVEC2ARR
                                      (PROGN
                                        (LETT #2#
                                         (GETREFV #8=(QVSIZE |ansDD|)) . #5#)
                                        (SEQ (LETT #3# 0 . #5#)
                                         (LETT |i| 1 . #5#)
                                         (LETT #4# #8# . #5#) G190
                                         (COND
                                           ((QSGREATERP |i| #4#) #6#))
                                         (SEQ
                                          (EXIT
                                           (SETELT #2# #3#
                                            (SPADCALL
                                             (SPADCALL |ansDD| |i|
                                              (QREFELT $ 112))
                                             (QREFELT $ 10)))))
                                         (LETT |i|
                                          (PROG1 (QSADD1 |i|)
                                            (LETT #3#
                                             (QSADD1 #3#) . #5#)) . #5#)
                                         #7# G191 (EXIT NIL))
                                        #2#)))))))))))) 

(DEFUN |FRAC;factorPolynomial;SupF;41| (|pp| $)
  (PROG (|u| #0=#:G2116 #1=#:G2092 #2=#:G2090 #3=#:G2091 |denpp| |ppD|
             |ff| #4=#:G2117 |w| #5=#:G2118 |lc| |den1| |lfact|)
    (RETURN
      (SEQ (COND
             ((SPADCALL |pp| (QREFELT $ 78)) (|spadConstant| $ 115))
             ('T
              (SEQ (LETT |denpp|
                         (PROGN
                           (LETT #3# NIL
                                 . #6=(|FRAC;factorPolynomial;SupF;41|))
                           (SEQ (LETT |u| NIL . #6#)
                                (LETT #0#
                                      (SPADCALL |pp| (QREFELT $ 83)) . #6#)
                                G190
                                (COND
                                  ((OR (ATOM #0#)
                                    (PROGN
                                      (LETT |u| (CAR #0#) . #6#)
                                      NIL))
                                   #7=(GO G191)))
                                (SEQ (EXIT
                                      (PROGN
                                        (LETT #1#
                                         (SPADCALL |u| (QREFELT $ 73)) . #6#)
                                        (COND
                                          (#3#
                                           (LETT #2#
                                            (SPADCALL #2# #1#
                                             (QREFELT $ 84)) . #6#))
                                          ('T
                                           (PROGN
                                             (LETT #2# #1# . #6#)
                                             (LETT #3# 'T . #6#)))))))
                                (LETT #0# (CDR #0#) . #6#) #8=(GO G190)
                                G191 (EXIT NIL))
                           (COND (#3# #2#) ('T (|spadConstant| $ 9)))) . #6#)
                   (LETT |ppD|
                         (SPADCALL
                             (CONS #'|FRAC;factorPolynomial;SupF;41!0|
                                   (VECTOR $ |denpp|))
                             |pp| (QREFELT $ 89)) . #6#)
                   (LETT |ff| (SPADCALL |ppD| (QREFELT $ 117)) . #6#)
                   (LETT |den1|
                         (SPADCALL |denpp| (QREFELT $ 10)) . #6#)
                   (LETT |lfact|
                         (PROGN
                           (LETT #4# NIL . #6#)
                           (SEQ (LETT |w| NIL . #6#)
                                (LETT #5#
                                      (SPADCALL |ff| (QREFELT $ 122)) . #6#)
                                G190
                                (COND
                                  ((OR (ATOM #5#)
                                    (PROGN
                                      (LETT |w| (CAR #5#) . #6#)
                                      NIL))
                                   #7#))
                                (SEQ (EXIT
                                      (LETT #4#
                                       (CONS
                                        (VECTOR (QVELT |w| 0)
                                         (COND
                                           ((SPADCALL
                                             (SPADCALL (QVELT |w| 1)
                                              (QREFELT $ 93))
                                             (|spadConstant| $ 9)
                                             (QREFELT $ 14))
                                            (SPADCALL
                                             (CONS
                                              #'|FRAC;factorPolynomial;SupF;41!1|
                                              $)
                                             (QVELT |w| 1)
                                             (QREFELT $ 96)))
                                           ('T
                                            (SEQ
                                             (LETT |lc|
                                              (SPADCALL
                                               (SPADCALL (QVELT |w| 1)
                                                (QREFELT $ 93))
                                               (QREFELT $ 10)) . #6#)
                                             (LETT |den1|
                                              (SPADCALL |den1|
                                               (SPADCALL |lc|
                                                (QVELT |w| 2)
                                                (QREFELT $ 123))
                                               (QREFELT $ 124)) . #6#)
                                             (EXIT
                                              (SPADCALL
                                               (CONS
                                                #'|FRAC;factorPolynomial;SupF;41!2|
                                                (VECTOR |lc| $))
                                               (QVELT |w| 1)
                                               (QREFELT $ 96))))))
                                         (QVELT |w| 2))
                                        #4#) . #6#)))
                                (LETT #5# (CDR #5#) . #6#) #8# G191
                                (EXIT (NREVERSE0 #4#)))) . #6#)
                   (EXIT (SPADCALL
                             (SPADCALL
                                 (CONS #'|FRAC;factorPolynomial;SupF;41!3|
                                       (VECTOR |den1| $))
                                 (SPADCALL |ff| (QREFELT $ 125))
                                 (QREFELT $ 96))
                             |lfact| (QREFELT $ 128)))))))))) 

(DEFUN |FRAC;factorPolynomial;SupF;41!3| (|#1| $$)
  (PROG ($)
    (LETT $ (QREFELT $$ 1) |FRAC;factorPolynomial;SupF;41|)
    (RETURN
      (PROGN
        (SPADCALL (SPADCALL |#1| (QREFELT $ 10)) (QREFELT $$ 0)
            (QREFELT $ 124)))))) 

(DEFUN |FRAC;factorPolynomial;SupF;41!2| (|#1| $$)
  (PROG ($)
    (LETT $ (QREFELT $$ 1) |FRAC;factorPolynomial;SupF;41|)
    (RETURN
      (PROGN
        (SPADCALL (SPADCALL |#1| (QREFELT $ 10)) (QREFELT $$ 0)
            (QREFELT $ 124)))))) 

(DEFUN |FRAC;factorPolynomial;SupF;41!1| (|#1| $)
  (SPADCALL |#1| (QREFELT $ 10))) 

(DEFUN |FRAC;factorPolynomial;SupF;41!0| (|#1| $$)
  (PROG ($)
    (LETT $ (QREFELT $$ 0) |FRAC;factorPolynomial;SupF;41|)
    (RETURN
      (PROGN
        (SPADCALL (SPADCALL |#1| (QREFELT $$ 1) (QREFELT $ 85))
            (QREFELT $ 15)))))) 

(DEFUN |FRAC;factorSquareFreePolynomial;SupF;42| (|pp| $)
  (PROG (|lcpp| |u| #0=#:G2137 #1=#:G2123 #2=#:G2121 #3=#:G2122 |denpp|
                |ppD| |ff| #4=#:G2138 |w| #5=#:G2139 |lc| |den1|
                |lfact|)
    (RETURN
      (SEQ (COND
             ((SPADCALL |pp| (QREFELT $ 78)) (|spadConstant| $ 115))
             ((EQL (SPADCALL |pp| (QREFELT $ 80)) 0)
              (SPADCALL |pp| NIL (QREFELT $ 128)))
             ('T
              (SEQ (LETT |lcpp| (SPADCALL |pp| (QREFELT $ 130))
                         . #6=(|FRAC;factorSquareFreePolynomial;SupF;42|))
                   (LETT |pp|
                         (SPADCALL |pp| |lcpp| (QREFELT $ 131)) . #6#)
                   (LETT |denpp|
                         (PROGN
                           (LETT #3# NIL . #6#)
                           (SEQ (LETT |u| NIL . #6#)
                                (LETT #0#
                                      (SPADCALL |pp| (QREFELT $ 83)) . #6#)
                                G190
                                (COND
                                  ((OR (ATOM #0#)
                                    (PROGN
                                      (LETT |u| (CAR #0#) . #6#)
                                      NIL))
                                   #7=(GO G191)))
                                (SEQ (EXIT
                                      (PROGN
                                        (LETT #1#
                                         (SPADCALL |u| (QREFELT $ 73)) . #6#)
                                        (COND
                                          (#3#
                                           (LETT #2#
                                            (SPADCALL #2# #1#
                                             (QREFELT $ 84)) . #6#))
                                          ('T
                                           (PROGN
                                             (LETT #2# #1# . #6#)
                                             (LETT #3# 'T . #6#)))))))
                                (LETT #0# (CDR #0#) . #6#) #8=(GO G190)
                                G191 (EXIT NIL))
                           (COND (#3# #2#) ('T (|spadConstant| $ 9)))) . #6#)
                   (LETT |ppD|
                         (SPADCALL
                             (CONS #'|FRAC;factorSquareFreePolynomial;SupF;42!0|
                                   (VECTOR $ |denpp|))
                             |pp| (QREFELT $ 89)) . #6#)
                   (LETT |ff| (SPADCALL |ppD| (QREFELT $ 132)) . #6#)
                   (LETT |den1|
                         (SPADCALL (SPADCALL |denpp| (QREFELT $ 10))
                             |lcpp| (QREFELT $ 124)) . #6#)
                   (LETT |lfact|
                         (PROGN
                           (LETT #4# NIL . #6#)
                           (SEQ (LETT |w| NIL . #6#)
                                (LETT #5#
                                      (SPADCALL |ff| (QREFELT $ 122)) . #6#)
                                G190
                                (COND
                                  ((OR (ATOM #5#)
                                    (PROGN
                                      (LETT |w| (CAR #5#) . #6#)
                                      NIL))
                                   #7#))
                                (SEQ (EXIT
                                      (LETT #4#
                                       (CONS
                                        (VECTOR (QVELT |w| 0)
                                         (COND
                                           ((SPADCALL
                                             (SPADCALL (QVELT |w| 1)
                                              (QREFELT $ 93))
                                             (|spadConstant| $ 9)
                                             (QREFELT $ 14))
                                            (SPADCALL
                                             (CONS
                                              #'|FRAC;factorSquareFreePolynomial;SupF;42!1|
                                              $)
                                             (QVELT |w| 1)
                                             (QREFELT $ 96)))
                                           ('T
                                            (SEQ
                                             (LETT |lc|
                                              (SPADCALL
                                               (SPADCALL (QVELT |w| 1)
                                                (QREFELT $ 93))
                                               (QREFELT $ 10)) . #6#)
                                             (LETT |den1|
                                              (SPADCALL |den1|
                                               (SPADCALL |lc|
                                                (QVELT |w| 2)
                                                (QREFELT $ 123))
                                               (QREFELT $ 124)) . #6#)
                                             (EXIT
                                              (SPADCALL
                                               (CONS
                                                #'|FRAC;factorSquareFreePolynomial;SupF;42!2|
                                                (VECTOR |lc| $))
                                               (QVELT |w| 1)
                                               (QREFELT $ 96))))))
                                         (QVELT |w| 2))
                                        #4#) . #6#)))
                                (LETT #5# (CDR #5#) . #6#) #8# G191
                                (EXIT (NREVERSE0 #4#)))) . #6#)
                   (EXIT (SPADCALL
                             (SPADCALL
                                 (CONS #'|FRAC;factorSquareFreePolynomial;SupF;42!3|
                                       (VECTOR |den1| $))
                                 (SPADCALL |ff| (QREFELT $ 125))
                                 (QREFELT $ 96))
                             |lfact| (QREFELT $ 128)))))))))) 

(DEFUN |FRAC;factorSquareFreePolynomial;SupF;42!3| (|#1| $$)
  (PROG ($)
    (LETT $ (QREFELT $$ 1) |FRAC;factorSquareFreePolynomial;SupF;42|)
    (RETURN
      (PROGN
        (SPADCALL (SPADCALL |#1| (QREFELT $ 10)) (QREFELT $$ 0)
            (QREFELT $ 124)))))) 

(DEFUN |FRAC;factorSquareFreePolynomial;SupF;42!2| (|#1| $$)
  (PROG ($)
    (LETT $ (QREFELT $$ 1) |FRAC;factorSquareFreePolynomial;SupF;42|)
    (RETURN
      (PROGN
        (SPADCALL (SPADCALL |#1| (QREFELT $ 10)) (QREFELT $$ 0)
            (QREFELT $ 124)))))) 

(DEFUN |FRAC;factorSquareFreePolynomial;SupF;42!1| (|#1| $)
  (SPADCALL |#1| (QREFELT $ 10))) 

(DEFUN |FRAC;factorSquareFreePolynomial;SupF;42!0| (|#1| $$)
  (PROG ($)
    (LETT $ (QREFELT $$ 0) |FRAC;factorSquareFreePolynomial;SupF;42|)
    (RETURN
      (PROGN
        (SPADCALL (SPADCALL |#1| (QREFELT $$ 1) (QREFELT $ 85))
            (QREFELT $ 15)))))) 

(DEFUN |Fraction| (#0=#:G2165)
  (PROG ()
    (RETURN
      (PROG (#1=#:G2166)
        (RETURN
          (COND
            ((LETT #1#
                   (|lassocShiftWithFunction| (LIST (|devaluate| #0#))
                       (HGET |$ConstructorCache| '|Fraction|)
                       '|domainEqualList|)
                   . #2=(|Fraction|))
             (|CDRwithIncrement| #1#))
            ('T
             (UNWIND-PROTECT
               (PROG1 (|Fraction;| #0#) (LETT #1# T . #2#))
               (COND
                 ((NOT #1#) (HREM |$ConstructorCache| '|Fraction|))))))))))) 

(DEFUN |Fraction;| (|#1|)
  (PROG (DV$1 |dv$| $ #0=#:G2164 #1=#:G2163 #2=#:G2162 #3=#:G2161
              #4=#:G2160 #5=#:G2159 #6=#:G2158 |pv$|)
    (RETURN
      (PROGN
        (LETT DV$1 (|devaluate| |#1|) . #7=(|Fraction|))
        (LETT |dv$| (LIST '|Fraction| DV$1) . #7#)
        (LETT $ (GETREFV 165) . #7#)
        (QSETREFV $ 0 |dv$|)
        (QSETREFV $ 3
            (LETT |pv$|
                  (|buildPredVector| 0 0
                      (LIST (|HasCategory| |#1|
                                '(|PolynomialFactorizationExplicit|))
                            (|HasCategory| |#1|
                                '(|RetractableTo| (|Symbol|)))
                            (|HasCategory| |#1|
                                '(|CharacteristicNonZero|))
                            (|HasCategory| |#1|
                                '(|CharacteristicZero|))
                            (|HasCategory| |#1| '(|RealConstant|))
                            (|HasCategory| |#1|
                                '(|OrderedIntegralDomain|))
                            (|HasCategory| |#1| '(|StepThrough|))
                            (|HasCategory| |#1|
                                '(|PatternMatchable| (|Float|)))
                            (|HasCategory| |#1|
                                '(|ConvertibleTo|
                                     (|Pattern| (|Float|))))
                            (|HasCategory| |#1|
                                '(|PartialDifferentialRing| (|Symbol|)))
                            (|HasCategory| |#1| '(|DifferentialRing|))
                            (|HasCategory| |#1|
                                (LIST '|InnerEvalable| '(|Symbol|)
                                      (|devaluate| |#1|)))
                            (|HasCategory| |#1|
                                (LIST '|Evalable| (|devaluate| |#1|)))
                            (|HasCategory| |#1|
                                (LIST '|Eltable| (|devaluate| |#1|)
                                      (|devaluate| |#1|)))
                            (AND (|HasCategory| |#1| '(|Canonical|))
                                 (|HasCategory| |#1| '(|GcdDomain|))
                                 (|HasCategory| |#1|
                                     '(|canonicalUnitNormal|)))
                            (|HasCategory| |#1| '(|EuclideanDomain|))
                            (LETT #0#
                                  (|HasCategory| |#1|
                                      '(|IntegerNumberSystem|)) . #7#)
                            (AND #0#
                                 (|HasCategory| |#1| '(|OpenMath|)))
                            (LETT #1#
                                  (|HasCategory| |#1|
                                      '(|ConvertibleTo| (|InputForm|))) . #7#)
                            (OR (AND #0#
                                     (|HasCategory| |#1| '(|OpenMath|)))
                                #1#)
                            (LETT #2#
                                  (|HasCategory| |#1| '(|OrderedSet|)) . #7#)
                            (OR (|HasCategory| |#1|
                                    '(|OrderedIntegralDomain|))
                                #2#)
                            (LETT #3#
                                  (|HasCategory| |#1|
                                      '(|RetractableTo| (|Integer|))) . #7#)
                            (OR (AND #0#
                                     (|HasCategory| |#1| '(|OpenMath|)))
                                #3#)
                            (LETT #4#
                                  (|HasCategory| |#1|
                                      '(|PatternMatchable| (|Integer|))) . #7#)
                            (OR (AND #0#
                                     (|HasCategory| |#1| '(|OpenMath|)))
                                #4#)
                            (LETT #5#
                                  (|HasCategory| |#1|
                                      '(|ConvertibleTo|
                                        (|Pattern| (|Integer|)))) . #7#)
                            (OR #5#
                                (AND #0#
                                     (|HasCategory| |#1| '(|OpenMath|))))
                            (LETT #6#
                                  (|HasCategory| |#1|
                                      '(|LinearlyExplicitRingOver|
                                        (|Integer|))) . #7#)
                            (OR #6#
                                (AND #0#
                                     (|HasCategory| |#1| '(|OpenMath|)))))) . #7#))
        (|haddProp| |$ConstructorCache| '|Fraction| (LIST DV$1)
            (CONS 1 $))
        (|stuffDomainSlots| $)
        (QSETREFV $ 6 |#1|)
        (AND (|HasCategory| $ '(|CharacteristicNonZero|))
             (|HasCategory| |#1| '(|PolynomialFactorizationExplicit|))
             (|augmentPredVector| $ 1073741824))
        (AND (OR (AND (|HasCategory| $ '(|CharacteristicNonZero|))
                      (|HasCategory| |#1|
                          '(|PolynomialFactorizationExplicit|)))
                 (|HasCategory| |#1| '(|CharacteristicNonZero|)))
             (|augmentPredVector| $ 2147483648))
        (QSETREFV $ 7 (|Record| (|:| |num| |#1|) (|:| |den| |#1|)))
        (COND
          ((|HasCategory| |#1| '(|GcdDomain|))
           (COND
             ((|HasCategory| |#1| '(|canonicalUnitNormal|))
              (PROGN
                (QSETREFV $ 15
                    (CONS (|dispatchFunction| |FRAC;retract;$S;3|) $))
                (QSETREFV $ 17
                    (CONS (|dispatchFunction| |FRAC;retractIfCan;$U;4|)
                          $))))
             ('T
              (PROGN
                (QSETREFV $ 15
                    (CONS (|dispatchFunction| |FRAC;retract;$S;5|) $))
                (QSETREFV $ 17
                    (CONS (|dispatchFunction| |FRAC;retractIfCan;$U;6|)
                          $))))))
          ('T
           (PROGN
             (QSETREFV $ 15
                 (CONS (|dispatchFunction| |FRAC;retract;$S;7|) $))
             (QSETREFV $ 17
                 (CONS (|dispatchFunction| |FRAC;retractIfCan;$U;8|) $)))))
        (COND
          ((|testBitVector| |pv$| 16)
           (QSETREFV $ 21
               (CONS (|dispatchFunction| |FRAC;wholePart;$S;9|) $))))
        (COND
          ((|testBitVector| |pv$| 17)
           (PROGN
             (QSETREFV $ 28
                 (CONS (|dispatchFunction| |FRAC;floor;$S;10|) $))
             (QSETREFV $ 26
                 (CONS (|dispatchFunction| |FRAC;ceiling;$S;11|) $))
             (COND
               ((|HasCategory| |#1| '(|OpenMath|))
                (PROGN
                  (QSETREFV $ 43
                      (CONS (|dispatchFunction| |FRAC;OMwrite;$S;13|)
                            $))
                  (QSETREFV $ 44
                      (CONS (|dispatchFunction| |FRAC;OMwrite;$BS;14|)
                            $))
                  (QSETREFV $ 45
                      (CONS (|dispatchFunction|
                                |FRAC;OMwrite;Omd$V;15|)
                            $))
                  (QSETREFV $ 46
                      (CONS (|dispatchFunction|
                                |FRAC;OMwrite;Omd$BV;16|)
                            $))))))))
        (COND
          ((|HasCategory| |#1| '(|GcdDomain|))
           (PROGN
             (QSETREFV $ 50
                 (CONS (|dispatchFunction| |FRAC;recip;$U;18|) $))
             (QSETREFV $ 52
                 (CONS (|dispatchFunction| |FRAC;/;2S$;20|) $))
             (QSETREFV $ 53
                 (CONS (|dispatchFunction| |FRAC;+;3$;21|) $))
             (QSETREFV $ 55
                 (CONS (|dispatchFunction| |FRAC;-;3$;22|) $))
             (QSETREFV $ 57
                 (CONS (|dispatchFunction| |FRAC;*;3$;23|) $))
             (QSETREFV $ 60
                 (CONS (|dispatchFunction| |FRAC;*;I2$;24|) $))
             (QSETREFV $ 61
                 (CONS (|dispatchFunction| |FRAC;*;S2$;25|) $))
             (QSETREFV $ 63
                 (CONS (|dispatchFunction| |FRAC;differentiate;$M$;26|)
                       $))
             (COND
               ((|HasCategory| |#1| '(|canonicalUnitNormal|))
                (PROGN
                  (QSETREFV $ 56
                      (CONS (|dispatchFunction| |FRAC;=;2$B;27|) $))
                  (QSETREFV $ 64
                      (CONS (|dispatchFunction| |FRAC;one?;$B;28|) $)))))))
          ('T
           (PROGN
             (QSETREFV $ 52
                 (CONS (|dispatchFunction| |FRAC;/;2S$;29|) $))
             (QSETREFV $ 50
                 (CONS (|dispatchFunction| |FRAC;recip;$U;30|) $)))))
        (COND
          ((|HasCategory| |#1|
               '(|RetractableTo| (|Fraction| (|Integer|))))
           (PROGN
             (QSETREFV $ 67
                 (CONS (|dispatchFunction| |FRAC;retract;$F;31|) $))
             (QSETREFV $ 70
                 (CONS (|dispatchFunction| |FRAC;retractIfCan;$U;32|)
                       $))))
          ((|testBitVector| |pv$| 23)
           (PROGN
             (QSETREFV $ 67
                 (CONS (|dispatchFunction| |FRAC;retract;$F;33|) $))
             (QSETREFV $ 70
                 (CONS (|dispatchFunction| |FRAC;retractIfCan;$U;34|)
                       $)))))
        (COND
          ((|HasCategory| |#1| '(|GcdDomain|))
           (QSETREFV $ 97
               (CONS (|dispatchFunction| |FRAC;gcdPolynomial;3Sup;35|)
                     $))))
        (COND
          ((|testBitVector| |pv$| 1)
           (PROGN
             (COND
               ((|testBitVector| |pv$| 3)
                (PROGN
                  (COND
                    ((|HasCategory| |#1| '(|canonicalUnitNormal|))
                     (COND
                       ((|HasCategory| |#1| '(|GcdDomain|))
                        (QSETREFV $ 99
                            (CONS (|dispatchFunction|
                                      |FRAC;charthRoot;$U;36|)
                                  $)))
                       ('T
                        (QSETREFV $ 99
                            (CONS (|dispatchFunction|
                                      |FRAC;charthRoot;$U;37|)
                                  $)))))
                    ('T
                     (QSETREFV $ 99
                         (CONS (|dispatchFunction|
                                   |FRAC;charthRoot;$U;38|)
                               $))))
                  NIL
                  NIL
                  (QSETREFV $ 113
                      (CONS (|dispatchFunction|
                                |FRAC;conditionP;MU;40|)
                            $)))))
             (QSETREFV $ 129
                 (CONS (|dispatchFunction|
                           |FRAC;factorPolynomial;SupF;41|)
                       $))
             (QSETREFV $ 133
                 (CONS (|dispatchFunction|
                           |FRAC;factorSquareFreePolynomial;SupF;42|)
                       $)))))
        $)))) 

(MAKEPROP '|Fraction| '|infovec|
    (LIST '#(NIL NIL NIL NIL NIL (|LocalAlgebra| 6 6 6) (|local| |#1|)
             '|Rep| (0 . |One|) (4 . |One|) |FRAC;coerce;S$;1|
             (|Boolean|) (8 . |zero?|) |FRAC;zero?;$B;2| (13 . =)
             (19 . |retract|) (|Union| 6 '"failed")
             (24 . |retractIfCan|) (|Union| $ '"failed") (29 . |exquo|)
             (35 . |quo|) (41 . |wholePart|) (46 . |Zero|)
             (50 . |Zero|) (54 . <) (60 . -) (65 . |ceiling|) (70 . -)
             (75 . |floor|) (80 . +) (|Void|) (|OpenMathDevice|)
             (86 . |OMputApp|) (|String|) (91 . |OMputSymbol|)
             (98 . |OMwrite|) (105 . |OMputEndApp|)
             (|OpenMathEncoding|) (110 . |OMencodingXML|)
             (114 . |OMopenString|) (120 . |OMputObject|)
             (125 . |OMputEndObject|) (130 . |OMclose|)
             (135 . |OMwrite|) (140 . |OMwrite|) (146 . |OMwrite|)
             (152 . |OMwrite|)
             (|Record| (|:| |unit| $) (|:| |canonical| $)
                 (|:| |associate| $))
             (159 . |unitNormal|) (164 . *) (170 . |recip|)
             (175 . |gcd|) (181 . /) (187 . +) (193 . -) (199 . -)
             (205 . =) (211 . *) (|Integer|) (217 . |coerce|) (222 . *)
             (228 . *) (|Mapping| 6 6) (234 . |differentiate|)
             (240 . |one?|) (|Fraction| 58) (245 . |retract|)
             (250 . |retract|) (|Union| 65 '"failed")
             (255 . |retractIfCan|) (260 . |retractIfCan|)
             (265 . |numer|) (270 . |retract|) (275 . |denom|)
             (280 . /) (|Union| 58 '"failed") (286 . |retractIfCan|)
             (|SparseUnivariatePolynomial| $$) (291 . |zero?|)
             (|NonNegativeInteger|) (296 . |degree|) (301 . |One|)
             (|List| $$) (305 . |coefficients|) (310 . |lcm|) (316 . *)
             (|SparseUnivariatePolynomial| 6) (|Mapping| 6 $$)
             (|UnivariatePolynomialCategoryFunctions2| $$ 77 6 86)
             (322 . |map|) (|SparseUnivariatePolynomial| $)
             (328 . |gcdPolynomial|) (334 . |degree|)
             (339 . |leadingCoefficient|) (|Mapping| $$ 6)
             (|UnivariatePolynomialCategoryFunctions2| 6 86 $$ 77)
             (344 . |map|) (350 . |gcdPolynomial|) (356 . |charthRoot|)
             (361 . |charthRoot|) (366 . |characteristic|) (370 . **)
             (|List| 82) (|Matrix| $$) (376 . |listOfLists|)
             (|List| 139) (|Matrix| 6) (381 . |matrix|)
             (|Union| 143 '"failed") (|Matrix| $) (386 . |conditionP|)
             (|Vector| 6) (391 . |elt|) (397 . |conditionP|)
             (|Factored| 77) (402 . |Zero|) (|Factored| 90)
             (406 . |factorPolynomial|)
             (|Union| '"nil" '"sqfr" '"irred" '"prime")
             (|Record| (|:| |flg| 118) (|:| |fctr| 86) (|:| |xpnt| 58))
             (|List| 119) (|Factored| 86) (411 . |factorList|)
             (416 . **) (422 . /) (428 . |unit|)
             (|Record| (|:| |flg| 118) (|:| |fctr| 77) (|:| |xpnt| 58))
             (|List| 126) (433 . |makeFR|) (439 . |factorPolynomial|)
             (444 . |leadingCoefficient|) (449 . /)
             (455 . |factorSquareFreePolynomial|)
             (460 . |factorSquareFreePolynomial|) (|InputForm|)
             (|Pattern| 150) (|Pattern| 58) (|List| 138) (|Equation| 6)
             (|List| 6) (|Symbol|) (|List| 140)
             (|Record| (|:| |mat| 144) (|:| |vec| (|Vector| 58)))
             (|Vector| $) (|Matrix| 58) (|List| 79)
             (|PatternMatchResult| 150 $) (|PatternMatchResult| 58 $)
             (|Union| 149 '"failed") (|List| 90) (|Float|)
             (|DoubleFloat|) (|Union| 140 '"failed")
             (|Record| (|:| |mat| 106) (|:| |vec| 111)) (|Factored| $)
             (|Union| 156 '"failed") (|List| $)
             (|Record| (|:| |coef1| $) (|:| |coef2| $)
                 (|:| |generator| $))
             (|Record| (|:| |coef1| $) (|:| |coef2| $))
             (|Union| 158 '"failed")
             (|Record| (|:| |quotient| $) (|:| |remainder| $))
             (|Record| (|:| |coef| 156) (|:| |generator| $))
             (|PositiveInteger|) (|SingleInteger|) (|OutputForm|))
          '#(~= 465 |zero?| 471 |wholePart| 476 |unitNormal| 481
             |unitCanonical| 486 |unit?| 491 |subtractIfCan| 496
             |squareFreePolynomial| 502 |squareFreePart| 507
             |squareFree| 512 |solveLinearPolynomialEquation| 517
             |sizeLess?| 523 |sign| 529 |sample| 534 |retractIfCan| 538
             |retract| 558 |rem| 578 |reducedSystem| 584 |recip| 606
             |random| 611 |quo| 615 |principalIdeal| 621 |prime?| 626
             |positive?| 631 |patternMatch| 636 |one?| 650 |numerator|
             655 |numer| 660 |nextItem| 665 |negative?| 670
             |multiEuclidean| 675 |min| 681 |max| 687 |map| 693 |lcm|
             699 |latex| 710 |inv| 715 |init| 720 |hash| 724
             |gcdPolynomial| 729 |gcd| 735 |fractionPart| 746 |floor|
             751 |factorSquareFreePolynomial| 756 |factorPolynomial|
             761 |factor| 766 |extendedEuclidean| 771 |exquo| 784
             |expressIdealMember| 790 |eval| 796 |euclideanSize| 836
             |elt| 841 |divide| 847 |differentiate| 853 |denominator|
             903 |denom| 908 |convert| 913 |conditionP| 938 |coerce|
             943 |charthRoot| 973 |characteristic| 978 |ceiling| 982
             |associates?| 987 |abs| 993 ^ 998 |Zero| 1016 |One| 1020
             |OMwrite| 1024 D 1048 >= 1098 > 1104 = 1110 <= 1116 < 1122
             / 1128 - 1140 + 1151 ** 1157 * 1175)
          'NIL
          (CONS (|makeByteWordVec2| 30
                    '(0 0 0 1 0 0 0 6 0 0 0 0 0 0 0 0 0 0 0 0 0 3 4 6
                      30 10 11 0 0 0 0 0 0 0 0 0 0 0 6 0 6 0 0 6 0 0 0
                      0 6 0 0 0 22 7 8 26 0 0 5 13 0 0 0 0 0 0 0 0 0 2
                      20 5 5 24 24 9 28 12 13 14 15 18))
                (CONS '#(|QuotientFieldCategory&| |Field&|
                         |EuclideanDomain&|
                         |PolynomialFactorizationExplicit&| NIL
                         |UniqueFactorizationDomain&| |GcdDomain&| NIL
                         |DivisionRing&| |IntegralDomain&|
                         |FullyLinearlyExplicitRingOver&|
                         |DifferentialExtension&| |Algebra&| |Algebra&|
                         |Algebra&| NIL |Module&| |Module&| NIL NIL
                         |Module&| NIL NIL |OrderedRing&| NIL
                         |PartialDifferentialRing&| |DifferentialRing&|
                         NIL NIL NIL |Ring&| NIL NIL NIL NIL NIL NIL
                         NIL NIL |AbelianGroup&| NIL NIL NIL NIL NIL
                         |AbelianMonoid&| |Monoid&| NIL NIL
                         |FullyEvalableOver&| |SemiGroup&|
                         |AbelianSemiGroup&| |OrderedSet&| NIL NIL NIL
                         NIL |SetCategory&| NIL |Evalable&| NIL
                         |RetractableTo&| NIL NIL NIL NIL NIL
                         |BasicType&| NIL |RetractableTo&| NIL NIL NIL
                         |RetractableTo&| |RetractableTo&| NIL NIL
                         |InnerEvalable&| |InnerEvalable&| NIL NIL NIL)
                      (CONS '#((|QuotientFieldCategory| 6) (|Field|)
                               (|EuclideanDomain|)
                               (|PolynomialFactorizationExplicit|)
                               (|PrincipalIdealDomain|)
                               (|UniqueFactorizationDomain|)
                               (|GcdDomain|) (|OrderedIntegralDomain|)
                               (|DivisionRing|) (|IntegralDomain|)
                               (|FullyLinearlyExplicitRingOver| 6)
                               (|DifferentialExtension| 6)
                               (|Algebra| 6) (|Algebra| 65)
                               (|Algebra| $$)
                               (|LinearlyExplicitRingOver| 6)
                               (|Module| 6) (|Module| 65)
                               (|EntireRing|) (|CommutativeRing|)
                               (|Module| $$) (|CharacteristicNonZero|)
                               (|CharacteristicZero|) (|OrderedRing|)
                               (|LinearlyExplicitRingOver| 58)
                               (|PartialDifferentialRing| 140)
                               (|DifferentialRing|) (|BiModule| 6 6)
                               (|BiModule| 65 65) (|BiModule| $$ $$)
                               (|Ring|) (|RightModule| 6)
                               (|LeftModule| 6) (|RightModule| 65)
                               (|LeftModule| 65) (|LeftModule| $$)
                               (|Rng|) (|RightModule| $$)
                               (|OrderedAbelianGroup|) (|AbelianGroup|)
                               (|OrderedCancellationAbelianMonoid|)
                               (|CancellationAbelianMonoid|)
                               (|SemiRing|) (|OrderedAbelianMonoid|)
                               (|FullyPatternMatchable| 6)
                               (|AbelianMonoid|) (|Monoid|) (|SemiRng|)
                               (|OrderedAbelianSemiGroup|)
                               (|FullyEvalableOver| 6) (|SemiGroup|)
                               (|AbelianSemiGroup|) (|OrderedSet|)
                               (|StepThrough|) (|PatternMatchable| 150)
                               (|PatternMatchable| 58)
                               (|Patternable| 6) (|SetCategory|)
                               (|RealConstant|) (|Evalable| 6) (|Type|)
                               (|RetractableTo| 6) (|canonicalsClosed|)
                               (|canonicalUnitNormal|)
                               (|noZeroDivisors|) (|CommutativeStar|)
                               (|unitsKnown|) (|BasicType|)
                               (|CoercibleTo| 164)
                               (|RetractableTo| 140)
                               (|ConvertibleTo| 134)
                               (|ConvertibleTo| 151)
                               (|ConvertibleTo| 150)
                               (|RetractableTo| 65)
                               (|RetractableTo| 58)
                               (|ConvertibleTo| 135)
                               (|ConvertibleTo| 136)
                               (|InnerEvalable| 140 6)
                               (|InnerEvalable| 6 6) (|Eltable| 6 $$)
                               (|Canonical|) (|OpenMath|))
                            (|makeByteWordVec2| 164
                                '(0 0 0 8 0 6 0 9 1 6 11 0 12 2 6 11 0
                                  0 14 1 0 6 0 15 1 0 16 0 17 2 6 18 0
                                  0 19 2 6 0 0 0 20 1 0 6 0 21 0 0 0 22
                                  0 6 0 23 2 0 11 0 0 24 1 0 0 0 25 1 0
                                  6 0 26 1 6 0 0 27 1 0 6 0 28 2 6 0 0
                                  0 29 1 31 30 0 32 3 31 30 0 33 33 34
                                  3 6 30 31 0 11 35 1 31 30 0 36 0 37 0
                                  38 2 31 0 33 37 39 1 31 30 0 40 1 31
                                  30 0 41 1 31 30 0 42 1 0 33 0 43 2 0
                                  33 0 11 44 2 0 30 31 0 45 3 0 30 31 0
                                  11 46 1 6 47 0 48 2 6 0 0 0 49 1 0 18
                                  0 50 2 6 0 0 0 51 2 0 0 6 6 52 2 0 0
                                  0 0 53 2 6 0 0 0 54 2 0 0 0 0 55 2 0
                                  11 0 0 56 2 0 0 0 0 57 1 6 0 58 59 2
                                  0 0 58 0 60 2 0 0 6 0 61 2 0 0 0 62
                                  63 1 0 11 0 64 1 6 65 0 66 1 0 65 0
                                  67 1 6 68 0 69 1 0 68 0 70 1 0 6 0 71
                                  1 6 58 0 72 1 0 6 0 73 2 65 0 58 58
                                  74 1 6 75 0 76 1 77 11 0 78 1 77 79 0
                                  80 0 77 0 81 1 77 82 0 83 2 6 0 0 0
                                  84 2 0 0 0 6 85 2 88 86 87 77 89 2 6
                                  90 90 90 91 1 86 79 0 92 1 86 6 0 93
                                  2 95 77 94 86 96 2 0 90 90 90 97 1 6
                                  18 0 98 1 0 18 0 99 0 0 79 100 2 6 0
                                  0 79 101 1 103 102 0 104 1 106 0 105
                                  107 1 6 108 109 110 2 111 6 0 58 112
                                  1 0 108 109 113 0 114 0 115 1 6 116
                                  90 117 1 121 120 0 122 2 0 0 0 58 123
                                  2 0 0 0 0 124 1 121 86 0 125 2 114 0
                                  77 127 128 1 0 116 90 129 1 77 2 0
                                  130 2 77 0 0 2 131 1 6 116 90 132 1 0
                                  116 90 133 2 0 11 0 0 1 1 0 11 0 13 1
                                  16 6 0 21 1 0 47 0 1 1 0 0 0 1 1 0 11
                                  0 1 2 0 18 0 0 1 1 1 116 90 1 1 0 0 0
                                  1 1 0 154 0 1 2 1 148 149 90 1 2 0 11
                                  0 0 1 1 6 58 0 1 0 0 0 1 1 23 75 0 1
                                  1 23 68 0 70 1 2 152 0 1 1 0 16 0 17
                                  1 23 58 0 1 1 23 65 0 67 1 2 140 0 1
                                  1 0 6 0 15 2 0 0 0 0 1 2 29 142 109
                                  143 1 1 29 144 109 1 2 0 153 109 143
                                  1 1 0 106 109 1 1 0 18 0 50 0 17 0 1
                                  2 0 0 0 0 1 1 0 161 156 1 1 0 11 0 1
                                  1 6 11 0 1 3 8 146 0 135 146 1 3 25
                                  147 0 136 147 1 1 0 11 0 64 1 0 0 0 1
                                  1 0 6 0 71 1 7 18 0 1 1 6 11 0 1 2 0
                                  155 156 0 1 2 21 0 0 0 1 2 21 0 0 0 1
                                  2 0 0 62 0 1 1 0 0 156 1 2 0 0 0 0 1
                                  1 0 33 0 1 1 0 0 0 1 0 7 0 1 1 0 163
                                  0 1 2 0 90 90 90 97 1 0 0 156 1 2 0 0
                                  0 0 1 1 16 0 0 1 1 17 6 0 28 1 1 116
                                  90 133 1 1 116 90 129 1 0 154 0 1 2 0
                                  157 0 0 1 3 0 159 0 0 0 1 2 0 18 0 0
                                  1 2 0 155 156 0 1 2 13 0 0 137 1 3 13
                                  0 0 6 6 1 2 13 0 0 138 1 3 13 0 0 139
                                  139 1 3 12 0 0 140 6 1 3 12 0 0 141
                                  139 1 1 0 79 0 1 2 14 0 0 6 1 2 0 160
                                  0 0 1 2 11 0 0 79 1 1 11 0 0 1 3 10 0
                                  0 141 145 1 2 10 0 0 141 1 3 10 0 0
                                  140 79 1 2 10 0 0 140 1 2 0 0 0 62 63
                                  3 0 0 0 62 79 1 1 0 0 0 1 1 0 6 0 73
                                  1 19 134 0 1 1 9 135 0 1 1 27 136 0 1
                                  1 5 150 0 1 1 5 151 0 1 1 31 108 109
                                  113 1 2 0 140 1 1 0 0 6 10 1 0 0 65 1
                                  1 0 0 58 1 1 0 0 0 1 1 0 164 0 1 1 32
                                  18 0 99 0 0 79 100 1 17 6 0 26 2 0 11
                                  0 0 1 1 6 0 0 1 2 0 0 0 58 1 2 0 0 0
                                  79 1 2 0 0 0 162 1 0 0 0 22 0 0 0 8 3
                                  18 30 31 0 11 46 2 18 33 0 11 44 2 18
                                  30 31 0 45 1 18 33 0 43 2 11 0 0 79 1
                                  1 11 0 0 1 3 10 0 0 141 145 1 2 10 0
                                  0 141 1 3 10 0 0 140 79 1 2 10 0 0
                                  140 1 2 0 0 0 62 1 3 0 0 0 62 79 1 2
                                  21 11 0 0 1 2 21 11 0 0 1 2 0 11 0 0
                                  56 2 21 11 0 0 1 2 21 11 0 0 24 2 0 0
                                  6 6 52 2 0 0 0 0 124 2 0 0 0 0 55 1 0
                                  0 0 25 2 0 0 0 0 53 2 0 0 0 58 123 2
                                  0 0 0 79 1 2 0 0 0 162 1 2 0 0 6 0 61
                                  2 0 0 0 6 85 2 0 0 65 0 1 2 0 0 0 65
                                  1 2 0 0 0 0 57 2 0 0 58 0 60 2 0 0 79
                                  0 1 2 0 0 162 0 1)))))
          '|lookupComplete|)) 
