
(/VERSIONCHECK 2) 

(DEFUN |RECLOS;relativeApprox;2$F;1| (|nbe| |prec| $)
  (PROG (|appr|)
    (RETURN
     (SEQ
      (COND ((QEQCAR |nbe| 0) (SPADCALL |nbe| (QREFELT $ 14)))
            ('T
             (SEQ
              (LETT |appr|
                    (SPADCALL (QVELT (QCDR |nbe|) 1) (QVELT (QCDR |nbe|) 0)
                              |prec| (QREFELT $ 17))
                    |RECLOS;relativeApprox;2$F;1|)
              (EXIT (SPADCALL |appr| |prec| (QREFELT $ 18)))))))))) 

(DEFUN |RECLOS;approximate;2$F;2| (|nbe| |prec| $)
  (PROG (|appr|)
    (RETURN
     (SEQ
      (COND
       ((SPADCALL (SPADCALL |nbe| (QREFELT $ 19)) |prec| (QREFELT $ 21))
        (|spadConstant| $ 22))
       ((QEQCAR |nbe| 0) (SPADCALL |nbe| (QREFELT $ 14)))
       ('T
        (SEQ
         (LETT |appr|
               (SPADCALL (QVELT (QCDR |nbe|) 1) (QVELT (QCDR |nbe|) 0) |prec|
                         (QREFELT $ 23))
               |RECLOS;approximate;2$F;2|)
         (EXIT (SPADCALL |appr| |prec| (QREFELT $ 24)))))))))) 

(DEFUN |RECLOS;newElementIfneeded| (|s| |o| $)
  (PROG (|res| |p|)
    (RETURN
     (SEQ
      (LETT |p| (SPADCALL |s| (QREFELT $ 25))
            . #1=(|RECLOS;newElementIfneeded|))
      (EXIT
       (COND
        ((EQL (SPADCALL |p| (QREFELT $ 27)) 1)
         (SPADCALL
          (SPADCALL (SPADCALL |p| 0 (QREFELT $ 30))
                    (SPADCALL |p| (QREFELT $ 31)) (QREFELT $ 32))
          (QREFELT $ 33)))
        ('T
         (SEQ
          (LETT |res|
                (VECTOR |s| (SPADCALL (|spadConstant| $ 34) 1 (QREFELT $ 36))
                        |o| (QREFELT $ 9))
                . #1#)
          (SETELT $ 9 (+ (QREFELT $ 9) 1)) (EXIT (CONS 1 |res|)))))))))) 

(DEFUN |RECLOS;algebraicOf;RoircOf$;4| (|s| |o| $)
  (PROG (|res| |pol|)
    (RETURN
     (SEQ
      (LETT |pol| (SPADCALL |s| (QREFELT $ 25))
            . #1=(|RECLOS;algebraicOf;RoircOf$;4|))
      (EXIT
       (COND
        ((EQL (SPADCALL |pol| (QREFELT $ 27)) 1)
         (SPADCALL
          (SPADCALL (SPADCALL |pol| 0 (QREFELT $ 30))
                    (SPADCALL |pol| (QREFELT $ 31)) (QREFELT $ 32))
          (QREFELT $ 33)))
        ('T
         (SEQ
          (LETT |res|
                (VECTOR |s| (SPADCALL (|spadConstant| $ 34) 1 (QREFELT $ 36))
                        |o| (QREFELT $ 9))
                . #1#)
          (SETELT $ 9 (+ (QREFELT $ 9) 1)) (EXIT (CONS 1 |res|)))))))))) 

(DEFUN |RECLOS;rename!;$Of$;5| (|x| |o| $)
  (SEQ (QSETVELT (QCDR |x|) 2 |o|) (EXIT |x|))) 

(DEFUN |RECLOS;rename;$Of$;6| (|x| |o| $)
  (CONS 1
        (VECTOR (QVELT (QCDR |x|) 0) (QVELT (QCDR |x|) 1) |o|
                (QVELT (QCDR |x|) 3)))) 

(DEFUN |RECLOS;rootOf;SupPiU;7| (|pol| |n| $)
  (PROG (|o| |r|)
    (RETURN
     (SEQ
      (COND ((EQL (SPADCALL |pol| (QREFELT $ 27)) 0) (CONS 1 "failed"))
            ((EQL (SPADCALL |pol| (QREFELT $ 27)) 1)
             (COND
              ((EQL |n| 1)
               (CONS 0
                     (SPADCALL
                      (SPADCALL (SPADCALL |pol| 0 (QREFELT $ 30))
                                (SPADCALL |pol| (QREFELT $ 31)) (QREFELT $ 32))
                      (QREFELT $ 33))))
              (#1='T (CONS 1 "failed"))))
            (#1#
             (SEQ
              (LETT |r| (SPADCALL |pol| |n| (QREFELT $ 44))
                    . #2=(|RECLOS;rootOf;SupPiU;7|))
              (EXIT
               (COND ((QEQCAR |r| 1) (CONS 1 "failed"))
                     (#1#
                      (SEQ
                       (LETT |o|
                             (SPADCALL (SPADCALL (QREFELT $ 12) (QREFELT $ 45))
                                       (SPADCALL (QREFELT $ 9) (QREFELT $ 46))
                                       (QREFELT $ 47))
                             . #2#)
                       (EXIT
                        (CONS 0
                              (SPADCALL (QCDR |r|) |o|
                                        (QREFELT $ 39))))))))))))))) 

(DEFUN |RECLOS;allRootsOf;SupL;8| (|pol| $)
  (PROG (|res| |o| #1=#:G744 |term| |liste|)
    (RETURN
     (SEQ
      (COND ((EQL (SPADCALL |pol| (QREFELT $ 27)) 0) NIL)
            ((EQL (SPADCALL |pol| (QREFELT $ 27)) 1)
             (LIST
              (SPADCALL
               (SPADCALL (SPADCALL |pol| 0 (QREFELT $ 30))
                         (SPADCALL |pol| (QREFELT $ 31)) (QREFELT $ 32))
               (QREFELT $ 33))))
            ('T
             (SEQ
              (LETT |liste| (SPADCALL |pol| (QREFELT $ 51))
                    . #2=(|RECLOS;allRootsOf;SupL;8|))
              (LETT |res| NIL . #2#)
              (SEQ (LETT |term| NIL . #2#) (LETT #1# |liste| . #2#) G190
                   (COND
                    ((OR (ATOM #1#) (PROGN (LETT |term| (CAR #1#) . #2#) NIL))
                     (GO G191)))
                   (SEQ
                    (LETT |o|
                          (SPADCALL (SPADCALL (QREFELT $ 12) (QREFELT $ 45))
                                    (SPADCALL (QREFELT $ 9) (QREFELT $ 46))
                                    (QREFELT $ 47))
                          . #2#)
                    (EXIT
                     (LETT |res|
                           (SPADCALL (SPADCALL |term| |o| (QREFELT $ 39)) |res|
                                     (QREFELT $ 53))
                           . #2#)))
                   (LETT #1# (CDR #1#) . #2#) (GO G190) G191 (EXIT NIL))
              (EXIT (SPADCALL |res| (QREFELT $ 54)))))))))) 

(DEFUN |RECLOS;coerce;2$;9| (|x| $)
  (COND ((QEQCAR |x| 0) |x|)
        ('T
         (CONS 1
               (VECTOR (QVELT (QCDR |x|) 0)
                       (SPADCALL (QVELT (QCDR |x|) 1)
                                 (SPADCALL (QVELT (QCDR |x|) 0) (QREFELT $ 25))
                                 (QREFELT $ 56))
                       (QVELT (QCDR |x|) 2) (QVELT (QCDR |x|) 3)))))) 

(DEFUN |RECLOS;positive?;$B;10| (|x| $)
  (COND ((QEQCAR |x| 0) (SPADCALL (QCDR |x|) (QREFELT $ 58)))
        ('T
         (SPADCALL (QVELT (QCDR |x|) 1) (QVELT (QCDR |x|) 0) (QREFELT $ 59))))) 

(DEFUN |RECLOS;negative?;$B;11| (|x| $)
  (COND ((QEQCAR |x| 0) (SPADCALL (QCDR |x|) (QREFELT $ 61)))
        ('T
         (SPADCALL (QVELT (QCDR |x|) 1) (QVELT (QCDR |x|) 0) (QREFELT $ 62))))) 

(DEFUN |RECLOS;abs;2$;12| (|x| $)
  (SPADCALL (SPADCALL |x| (QREFELT $ 65)) |x| (QREFELT $ 66))) 

(DEFUN |RECLOS;sign;$I;13| (|x| $)
  (COND ((QEQCAR |x| 0) (SPADCALL (QCDR |x|) (QREFELT $ 67)))
        ('T
         (SPADCALL (QVELT (QCDR |x|) 1) (QVELT (QCDR |x|) 0) (QREFELT $ 68))))) 

(DEFUN |RECLOS;<;2$B;14| (|x| |y| $)
  (SPADCALL (SPADCALL |y| |x| (QREFELT $ 69)) (QREFELT $ 60))) 

(DEFUN |RECLOS;=;2$B;15| (|x| |y| $)
  (SPADCALL (SPADCALL |x| |y| (QREFELT $ 69)) (QREFELT $ 70))) 

(DEFUN |RECLOS;mainCharacterization;$U;16| (|x| $)
  (COND ((QEQCAR |x| 0) (CONS 1 "failed")) ('T (CONS 0 (QVELT (QCDR |x|) 0))))) 

(DEFUN |RECLOS;mainDefiningPolynomial;$U;17| (|x| $)
  (COND ((QEQCAR |x| 0) (CONS 1 "failed"))
        ('T (CONS 0 (SPADCALL (QVELT (QCDR |x|) 0) (QREFELT $ 25)))))) 

(DEFUN |RECLOS;mainForm;$U;18| (|x| $)
  (COND ((QEQCAR |x| 0) (CONS 1 "failed")) ('T (CONS 0 (QVELT (QCDR |x|) 2))))) 

(DEFUN |RECLOS;mainValue;$U;19| (|x| $)
  (COND ((QEQCAR |x| 0) (CONS 1 "failed")) ('T (CONS 0 (QVELT (QCDR |x|) 1))))) 

(DEFUN |RECLOS;coerce;$Of;20| (|x| $)
  (PROG (|xx|)
    (RETURN
     (SEQ
      (COND ((QEQCAR |x| 0) (SPADCALL (QCDR |x|) (QREFELT $ 79)))
            ('T
             (SEQ
              (LETT |xx| (SPADCALL |x| (QREFELT $ 57)) |RECLOS;coerce;$Of;20|)
              (EXIT
               (SPADCALL (SPADCALL (QVELT (QCDR |xx|) 1) (QREFELT $ 80))
                         (QVELT (QCDR |x|) 2) (QREFELT $ 81)))))))))) 

(DEFUN |RECLOS;inv;2$;21| (|x| $)
  (PROG (|res|)
    (RETURN
     (SEQ (LETT |res| (SPADCALL |x| (QREFELT $ 83)) |RECLOS;inv;2$;21|)
          (EXIT
           (COND ((QEQCAR |res| 1) (|error| "Division by 0"))
                 ('T (QCDR |res|)))))))) 

(DEFUN |RECLOS;recip;$U;22| (|x| $)
  (PROG (|r|)
    (RETURN
     (SEQ
      (COND
       ((QEQCAR |x| 0)
        (SEQ
         (LETT |r| (SPADCALL (QCDR |x|) (QREFELT $ 85))
               . #1=(|RECLOS;recip;$U;22|))
         (EXIT
          (COND ((QEQCAR |r| 0) (CONS 0 (CONS 0 (QCDR |r|))))
                (#2='T (CONS 1 "failed"))))))
       (#2#
        (SEQ
         (LETT |r|
               (SPADCALL (QVELT (QCDR |x|) 1) (QVELT (QCDR |x|) 0)
                         (QREFELT $ 87))
               . #1#)
         (EXIT
          (COND ((QEQCAR |r| 1) (CONS 1 "failed"))
                (#2#
                 (CONS 0
                       (|RECLOS;lessAlgebraic|
                        (CONS 1
                              (VECTOR (QVELT (QCDR |x|) 0) (QCDR |r|)
                                      (QVELT (QCDR |x|) 2)
                                      (QVELT (QCDR |x|) 3)))
                        $)))))))))))) 

(DEFUN |RECLOS;*;I2$;23| (|n| |x| $)
  (PROG ()
    (RETURN
     (COND ((QEQCAR |x| 0) (CONS 0 (SPADCALL |n| (QCDR |x|) (QREFELT $ 88))))
           ((ZEROP |n|) (|spadConstant| $ 28)) ((EQL |n| 1) |x|)
           ('T
            (CONS 1
                  (VECTOR (QVELT (QCDR |x|) 0)
                          (SPADCALL (CONS #'|RECLOS;*;I2$;23!0| (VECTOR $ |n|))
                                    (QVELT (QCDR |x|) 1) (QREFELT $ 90))
                          (QVELT (QCDR |x|) 2) (QVELT (QCDR |x|) 3)))))))) 

(DEFUN |RECLOS;*;I2$;23!0| (|z| $$)
  (PROG (|n| $)
    (LETT |n| (QREFELT $$ 1) . #1=(|RECLOS;*;I2$;23|))
    (LETT $ (QREFELT $$ 0) . #1#)
    (RETURN (PROGN (SPADCALL |n| |z| (QREFELT $ 66)))))) 

(DEFUN |RECLOS;*;TheField2$;24| (|rn| |x| $)
  (PROG ()
    (RETURN
     (COND ((QEQCAR |x| 0) (CONS 0 (SPADCALL |rn| (QCDR |x|) (QREFELT $ 92))))
           ((SPADCALL |rn| (QREFELT $ 93)) (|spadConstant| $ 28))
           ((SPADCALL |rn| (QREFELT $ 94)) |x|)
           ('T
            (CONS 1
                  (VECTOR (QVELT (QCDR |x|) 0)
                          (SPADCALL
                           (CONS #'|RECLOS;*;TheField2$;24!0| (VECTOR $ |rn|))
                           (QVELT (QCDR |x|) 1) (QREFELT $ 90))
                          (QVELT (QCDR |x|) 2) (QVELT (QCDR |x|) 3)))))))) 

(DEFUN |RECLOS;*;TheField2$;24!0| (|z| $$)
  (PROG (|rn| $)
    (LETT |rn| (QREFELT $$ 1) . #1=(|RECLOS;*;TheField2$;24|))
    (LETT $ (QREFELT $$ 0) . #1#)
    (RETURN (PROGN (SPADCALL |rn| |z| (QREFELT $ 95)))))) 

(DEFUN |RECLOS;*;3$;25| (|x| |y| $)
  (PROG ()
    (RETURN
     (SEQ
      (COND
       ((QEQCAR |x| 0)
        (COND
         ((QEQCAR |y| 0)
          (EXIT (CONS 0 (SPADCALL (QCDR |x|) (QCDR |y|) (QREFELT $ 92))))))))
      (EXIT
       (COND ((QEQCAR |x| 0) (SPADCALL (QCDR |x|) |y| (QREFELT $ 95)))
             ((QEQCAR |y| 0) (SPADCALL (QCDR |y|) |x| (QREFELT $ 95)))
             (#1='T
              (COND
               ((< (QVELT (QCDR |x|) 3) (QVELT (QCDR |y|) 3))
                (CONS 1
                      (VECTOR (QVELT (QCDR |y|) 0)
                              (SPADCALL
                               (CONS #'|RECLOS;*;3$;25!0| (VECTOR $ |x|))
                               (QVELT (QCDR |y|) 1) (QREFELT $ 90))
                              (QVELT (QCDR |y|) 2) (QVELT (QCDR |y|) 3))))
               ((< (QVELT (QCDR |y|) 3) (QVELT (QCDR |x|) 3))
                (CONS 1
                      (VECTOR (QVELT (QCDR |x|) 0)
                              (SPADCALL
                               (CONS #'|RECLOS;*;3$;25!1| (VECTOR $ |y|))
                               (QVELT (QCDR |x|) 1) (QREFELT $ 90))
                              (QVELT (QCDR |x|) 2) (QVELT (QCDR |x|) 3))))
               (#1#
                (|RECLOS;lessAlgebraic|
                 (CONS 1
                       (VECTOR (QVELT (QCDR |x|) 0)
                               (SPADCALL
                                (SPADCALL (QVELT (QCDR |x|) 1)
                                          (QVELT (QCDR |y|) 1) (QREFELT $ 97))
                                (SPADCALL (QVELT (QCDR |x|) 0) (QREFELT $ 25))
                                (QREFELT $ 56))
                               (QVELT (QCDR |x|) 2) (QVELT (QCDR |x|) 3)))
                 $)))))))))) 

(DEFUN |RECLOS;*;3$;25!1| (|z| $$)
  (PROG (|y| $)
    (LETT |y| (QREFELT $$ 1) . #1=(|RECLOS;*;3$;25|))
    (LETT $ (QREFELT $$ 0) . #1#)
    (RETURN (PROGN (SPADCALL |z| |y| (QREFELT $ 96)))))) 

(DEFUN |RECLOS;*;3$;25!0| (|z| $$)
  (PROG (|x| $)
    (LETT |x| (QREFELT $$ 1) . #1=(|RECLOS;*;3$;25|))
    (LETT $ (QREFELT $$ 0) . #1#)
    (RETURN (PROGN (SPADCALL |x| |z| (QREFELT $ 96)))))) 

(DEFUN |RECLOS;nonNull| (|rep| $)
  (COND
   ((EQL (SPADCALL (QVELT |rep| 1) (QREFELT $ 27)) 0)
    (SPADCALL (QVELT |rep| 1) (QREFELT $ 31)))
   ((OR (EQL (SPADCALL (QVELT |rep| 1) (QREFELT $ 98)) 1)
        (NULL (SPADCALL (QVELT |rep| 1) (QVELT |rep| 0) (QREFELT $ 99))))
    (CONS 1 |rep|))
   ('T (|spadConstant| $ 28)))) 

(DEFUN |RECLOS;zero?;$B;27| (|x| $)
  (COND ((QEQCAR |x| 0) (SPADCALL (QCDR |x|) (QREFELT $ 93))) ('T 'NIL))) 

(DEFUN |RECLOS;+;3$;28| (|x| |y| $)
  (SEQ
   (COND
    ((QEQCAR |x| 0)
     (COND
      ((QEQCAR |y| 0)
       (EXIT (CONS 0 (SPADCALL (QCDR |x|) (QCDR |y|) (QREFELT $ 100))))))))
   (EXIT
    (COND
     ((QEQCAR |x| 0)
      (COND ((SPADCALL |x| (QREFELT $ 70)) |y|)
            (#1='T
             (|RECLOS;nonNull|
              (VECTOR (QVELT (QCDR |y|) 0)
                      (SPADCALL (SPADCALL |x| (QREFELT $ 101))
                                (QVELT (QCDR |y|) 1) (QREFELT $ 102))
                      (QVELT (QCDR |y|) 2) (QVELT (QCDR |y|) 3))
              $))))
     ((QEQCAR |y| 0)
      (COND ((SPADCALL |y| (QREFELT $ 70)) |x|)
            (#1#
             (|RECLOS;nonNull|
              (VECTOR (QVELT (QCDR |x|) 0)
                      (SPADCALL (QVELT (QCDR |x|) 1)
                                (SPADCALL |y| (QREFELT $ 101)) (QREFELT $ 102))
                      (QVELT (QCDR |x|) 2) (QVELT (QCDR |x|) 3))
              $))))
     (#1#
      (COND
       ((< (QVELT (QCDR |x|) 3) (QVELT (QCDR |y|) 3))
        (|RECLOS;nonNull|
         (VECTOR (QVELT (QCDR |y|) 0)
                 (SPADCALL (SPADCALL |x| (QREFELT $ 101)) (QVELT (QCDR |y|) 1)
                           (QREFELT $ 102))
                 (QVELT (QCDR |y|) 2) (QVELT (QCDR |y|) 3))
         $))
       ((< (QVELT (QCDR |y|) 3) (QVELT (QCDR |x|) 3))
        (|RECLOS;nonNull|
         (VECTOR (QVELT (QCDR |x|) 0)
                 (SPADCALL (QVELT (QCDR |x|) 1) (SPADCALL |y| (QREFELT $ 101))
                           (QREFELT $ 102))
                 (QVELT (QCDR |x|) 2) (QVELT (QCDR |x|) 3))
         $))
       (#1#
        (|RECLOS;nonNull|
         (VECTOR (QVELT (QCDR |x|) 0)
                 (SPADCALL (QVELT (QCDR |x|) 1) (QVELT (QCDR |y|) 1)
                           (QREFELT $ 102))
                 (QVELT (QCDR |x|) 2) (QVELT (QCDR |x|) 3))
         $)))))))) 

(DEFUN |RECLOS;-;2$;29| (|x| $)
  (COND ((QEQCAR |x| 0) (CONS 0 (SPADCALL (QCDR |x|) (QREFELT $ 104))))
        ('T
         (CONS 1
               (VECTOR (QVELT (QCDR |x|) 0)
                       (SPADCALL (QVELT (QCDR |x|) 1) (QREFELT $ 105))
                       (QVELT (QCDR |x|) 2) (QVELT (QCDR |x|) 3)))))) 

(DEFUN |RECLOS;retractIfCan;$U;30| (|x| $)
  (PROG (|res| |o|)
    (RETURN
     (SEQ
      (COND ((QEQCAR |x| 0) (CONS 0 (QCDR |x|)))
            (#1='T
             (SEQ
              (LETT |o| (QVELT (QCDR |x|) 3)
                    . #2=(|RECLOS;retractIfCan;$U;30|))
              (LETT |res| (|RECLOS;lessAlgebraic| |x| $) . #2#)
              (EXIT
               (COND ((QEQCAR |res| 0) (CONS 0 (QCDR |res|)))
                     ((EQL |o| (QVELT (QCDR |res|) 3)) (CONS 1 "failed"))
                     (#1# (SPADCALL |res| (QREFELT $ 107)))))))))))) 

(DEFUN |RECLOS;retract;$TheField;31| (|x| $)
  (PROG (|res| |o|)
    (RETURN
     (SEQ
      (COND ((QEQCAR |x| 0) (QCDR |x|))
            (#1='T
             (SEQ
              (LETT |o| (QVELT (QCDR |x|) 3)
                    . #2=(|RECLOS;retract;$TheField;31|))
              (LETT |res| (|RECLOS;lessAlgebraic| |x| $) . #2#)
              (EXIT
               (COND ((QEQCAR |res| 0) (QCDR |res|))
                     ((EQL |o| (QVELT (QCDR |res|) 3))
                      (|error| "Can't retract"))
                     (#1# (SPADCALL |res| (QREFELT $ 108)))))))))))) 

(DEFUN |RECLOS;lessAlgebraic| (|x| $)
  (PROG (|def|)
    (RETURN
     (SEQ
      (COND ((QEQCAR |x| 0) |x|)
            ((EQL (SPADCALL (QVELT (QCDR |x|) 1) (QREFELT $ 27)) 0)
             (SPADCALL (QVELT (QCDR |x|) 1) (QREFELT $ 31)))
            (#1='T
             (SEQ
              (LETT |def| (SPADCALL (QVELT (QCDR |x|) 0) (QREFELT $ 25))
                    |RECLOS;lessAlgebraic|)
              (EXIT
               (COND
                ((EQL (SPADCALL |def| (QREFELT $ 27)) 1)
                 (SPADCALL (QVELT (QCDR |x|) 1)
                           (SPADCALL
                            (SPADCALL (SPADCALL |def| 0 (QREFELT $ 30))
                                      (SPADCALL |def| (QREFELT $ 31))
                                      (QREFELT $ 32))
                            (QREFELT $ 33))
                           (QREFELT $ 109)))
                (#1# |x|)))))))))) 

(DEFUN |RECLOS;Zero;$;33| ($) (CONS 0 (|spadConstant| $ 29))) 

(DEFUN |RECLOS;One;$;34| ($) (CONS 0 (|spadConstant| $ 35))) 

(PUT '|RECLOS;coerce;TheField$;35| '|SPADreplace| '(XLAM (|rn|) (CONS 0 |rn|))) 

(DEFUN |RECLOS;coerce;TheField$;35| (|rn| $) (CONS 0 |rn|)) 

(DEFUN |RealClosure| (#1=#:G872)
  (PROG ()
    (RETURN
     (PROG (#2=#:G873)
       (RETURN
        (COND
         ((LETT #2#
                (|lassocShiftWithFunction| (LIST (|devaluate| #1#))
                                           (HGET |$ConstructorCache|
                                                 '|RealClosure|)
                                           '|domainEqualList|)
                . #3=(|RealClosure|))
          (|CDRwithIncrement| #2#))
         ('T
          (UNWIND-PROTECT (PROG1 (|RealClosure;| #1#) (LETT #2# T . #3#))
            (COND ((NOT #2#) (HREM |$ConstructorCache| '|RealClosure|))))))))))) 

(DEFUN |RealClosure;| (|#1|)
  (PROG (|pv$| #1=#:G871 $ |dv$| DV$1)
    (RETURN
     (PROGN
      (LETT DV$1 (|devaluate| |#1|) . #2=(|RealClosure|))
      (LETT |dv$| (LIST '|RealClosure| DV$1) . #2#)
      (LETT $ (GETREFV 128) . #2#)
      (QSETREFV $ 0 |dv$|)
      (QSETREFV $ 3
                (LETT |pv$|
                      (|buildPredVector| 0 0
                                         (LIST
                                          (|HasCategory| |#1|
                                                         '(|RetractableTo|
                                                           (|Fraction|
                                                            (|Integer|))))
                                          (|HasCategory| |#1|
                                                         '(|RetractableTo|
                                                           (|Integer|)))
                                          (LETT #1#
                                                (|HasCategory|
                                                 (|Fraction| (|Integer|))
                                                 '(|RetractableTo|
                                                   (|Integer|)))
                                                . #2#)
                                          (OR #1#
                                              (|HasCategory| |#1|
                                                             '(|RetractableTo|
                                                               (|Integer|))))
                                          (|HasCategory|
                                           (|Fraction| (|Integer|))
                                           '(|RetractableTo|
                                             (|Fraction| (|Integer|))))))
                      . #2#))
      (|haddProp| |$ConstructorCache| '|RealClosure| (LIST DV$1) (CONS 1 $))
      (|stuffDomainSlots| $)
      (QSETREFV $ 6 |#1|)
      (QSETREFV $ 7
                (|Record|
                 (|:| |seg|
                      (|RightOpenIntervalRootCharacterization| $
                                                               (|SparseUnivariatePolynomial|
                                                                $)))
                 (|:| |val| (|SparseUnivariatePolynomial| $))
                 (|:| |outForm| (|OutputForm|))
                 (|:| |order| (|PositiveInteger|))))
      (QSETREFV $ 8 (|Union| |#1| (QREFELT $ 7)))
      (QSETREFV $ 9 1)
      (QSETREFV $ 12 (SPADCALL (QREFELT $ 11)))
      $)))) 

(MAKEPROP '|RealClosure| '|infovec|
          (LIST
           '#(NIL NIL NIL NIL NIL NIL (|local| |#1|) '|Rec| '|Rep|
              '|orderOfCreation| (|Symbol|) (0 . |new|) '|instanceName|
              (|Fraction| 64) (4 . |retract|) (|SparseUnivariatePolynomial| $$)
              (|RightOpenIntervalRootCharacterization| $$ 15)
              (9 . |relativeApprox|) |RECLOS;relativeApprox;2$F;1|
              |RECLOS;abs;2$;12| (|Boolean|) |RECLOS;<;2$B;14| (16 . |Zero|)
              (20 . |approximate|) |RECLOS;approximate;2$F;2|
              (27 . |definingPolynomial|) (|NonNegativeInteger|)
              (32 . |degree|)
              (CONS IDENTITY
                    (FUNCALL (|dispatchFunction| |RECLOS;Zero;$;33|) $))
              (37 . |Zero|) (41 . |coefficient|) (47 . |leadingCoefficient|)
              (52 . /) |RECLOS;-;2$;29|
              (CONS IDENTITY
                    (FUNCALL (|dispatchFunction| |RECLOS;One;$;34|) $))
              (58 . |One|) (62 . |monomial|)
              (|RightOpenIntervalRootCharacterization| $ 48) (|OutputForm|)
              |RECLOS;algebraicOf;RoircOf$;4| |RECLOS;rename!;$Of$;5|
              |RECLOS;rename;$Of$;6| (|Union| $ '#1="failed")
              (|PositiveInteger|) (68 . |rootOf|) (74 . |coerce|)
              (79 . |coerce|) (84 . |hconcat|) (|SparseUnivariatePolynomial| $)
              |RECLOS;rootOf;SupPiU;7| (|List| $) (90 . |allRootsOf|)
              (|List| $$) (95 . |cons|) (101 . |reverse!|)
              |RECLOS;allRootsOf;SupL;8| (106 . |rem|) |RECLOS;coerce;2$;9|
              (112 . |positive?|) (117 . |positive?|) |RECLOS;positive?;$B;10|
              (123 . |negative?|) (128 . |negative?|) |RECLOS;negative?;$B;11|
              (|Integer|) |RECLOS;sign;$I;13| (134 . *) (140 . |sign|)
              (145 . |sign|) (151 . -) |RECLOS;zero?;$B;27| |RECLOS;=;2$B;15|
              (|Union| 37 '"failed") |RECLOS;mainCharacterization;$U;16|
              (|Union| 48 '#2="failed") |RECLOS;mainDefiningPolynomial;$U;17|
              (|Union| 38 '#2#) |RECLOS;mainForm;$U;18|
              |RECLOS;mainValue;$U;19| (157 . |coerce|) (162 . |univariate|)
              (167 . |outputForm|) |RECLOS;coerce;$Of;20| |RECLOS;recip;$U;22|
              |RECLOS;inv;2$;21| (173 . |recip|) (|Union| 15 '#1#)
              (178 . |recip|) (184 . *) (|Mapping| $$ $$) (190 . |map|)
              |RECLOS;*;I2$;23| (196 . *) (202 . |zero?|) (207 . |one?|)
              |RECLOS;*;TheField2$;24| |RECLOS;*;3$;25| (212 . *)
              (218 . |numberOfMonomials|) (223 . |zero?|) (229 . +)
              (235 . |coerce|) (240 . +) |RECLOS;+;3$;28| (246 . -) (251 . -)
              (|Union| 6 '#3="failed") |RECLOS;retractIfCan;$U;30|
              |RECLOS;retract;$TheField;31| (256 . |elt|)
              |RECLOS;coerce;TheField$;35| (|Union| 64 '#3#) (|Union| 13 '#3#)
              (|Polynomial| 64) (|Polynomial| $) (|Polynomial| 13)
              (|SparseUnivariatePolynomial| 64)
              (|SparseUnivariatePolynomial| 13)
              (|Record| (|:| |unit| $) (|:| |canonical| $) (|:| |associate| $))
              (|Record| (|:| |coef| 50) (|:| |generator| $))
              (|Union| 50 '"failed")
              (|Record| (|:| |quotient| $) (|:| |remainder| $))
              (|Record| (|:| |coef1| $) (|:| |coef2| $) (|:| |generator| $))
              (|Record| (|:| |coef1| $) (|:| |coef2| $))
              (|Union| 123 '"failed") (|Factored| $) (|String|)
              (|SingleInteger|))
           '#(~= 262 |zero?| 268 |unitNormal| 273 |unitCanonical| 278 |unit?|
              283 |subtractIfCan| 288 |squareFreePart| 294 |squareFree| 299
              |sqrt| 304 |smaller?| 325 |sizeLess?| 331 |sign| 337 |sample| 342
              |rootOf| 346 |retractIfCan| 359 |retract| 379 |rename!| 399
              |rename| 405 |rem| 411 |relativeApprox| 417 |recip| 423 |quo| 428
              |principalIdeal| 434 |prime?| 439 |positive?| 444 |one?| 449
              |nthRoot| 454 |negative?| 460 |multiEuclidean| 465 |min| 471
              |max| 477 |mainValue| 483 |mainForm| 488 |mainDefiningPolynomial|
              493 |mainCharacterization| 498 |lcm| 503 |latex| 514 |inv| 519
              |hash| 524 |gcdPolynomial| 529 |gcd| 535 |factor| 546
              |extendedEuclidean| 551 |exquo| 564 |expressIdealMember| 570
              |euclideanSize| 576 |divide| 581 |coerce| 587 |characteristic|
              627 |associates?| 631 |approximate| 637 |allRootsOf| 643
              |algebraicOf| 673 |abs| 679 ^ 684 |Zero| 708 |One| 712 >= 716 >
              722 = 728 <= 734 < 740 / 746 - 752 + 763 * 769)
           'NIL
           (CONS
            (|makeByteWordVec2| 4
                                '(0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
                                  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
                                  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4))
            (CONS
             '#(|RealClosedField&| |Field&| |EuclideanDomain&|
                |UniqueFactorizationDomain&| NIL |GcdDomain&| |DivisionRing&|
                |IntegralDomain&| |Algebra&| |Algebra&| |Algebra&| |Algebra&|
                NIL |Module&| |Module&| |Module&| NIL |Module&| NIL
                |OrderedRing&| NIL NIL NIL NIL |Ring&| NIL NIL NIL NIL NIL NIL
                NIL NIL NIL NIL NIL |AbelianGroup&| NIL NIL NIL NIL
                |AbelianMonoid&| |OrderedSet&| |Monoid&| NIL NIL |SemiGroup&|
                |AbelianSemiGroup&| |FullyRetractableTo&| |FullyRetractableTo&|
                |SetCategory&| |RetractableTo&| |RadicalCategory&|
                |RetractableTo&| NIL NIL NIL NIL NIL |BasicType&| NIL
                |RetractableTo&|)
             (CONS
              '#((|RealClosedField|) (|Field|) (|EuclideanDomain|)
                 (|UniqueFactorizationDomain|) (|PrincipalIdealDomain|)
                 (|GcdDomain|) (|DivisionRing|) (|IntegralDomain|)
                 (|Algebra| 6) (|Algebra| 64) (|Algebra| 13) (|Algebra| $$)
                 (|CharacteristicZero|) (|Module| 6) (|Module| 64)
                 (|Module| 13) (|EntireRing|) (|Module| $$) (|CommutativeRing|)
                 (|OrderedRing|) (|BiModule| 6 6) (|BiModule| 64 64)
                 (|BiModule| 13 13) (|BiModule| $$ $$) (|Ring|)
                 (|OrderedAbelianGroup|) (|RightModule| 6) (|LeftModule| 6)
                 (|RightModule| 64) (|LeftModule| 64) (|RightModule| 13)
                 (|LeftModule| 13) (|LeftModule| $$) (|Rng|) (|RightModule| $$)
                 (|OrderedCancellationAbelianMonoid|) (|AbelianGroup|)
                 (|OrderedAbelianMonoid|) (|CancellationAbelianMonoid|)
                 (|OrderedAbelianSemiGroup|) (|SemiRing|) (|AbelianMonoid|)
                 (|OrderedSet|) (|Monoid|) (|SemiRng|) (|Comparable|)
                 (|SemiGroup|) (|AbelianSemiGroup|) (|FullyRetractableTo| 6)
                 (|FullyRetractableTo| 13) (|SetCategory|) (|RetractableTo| 6)
                 (|RadicalCategory|) (|RetractableTo| 13) (|canonicalsClosed|)
                 (|canonicalUnitNormal|) (|noZeroDivisors|) (|CommutativeStar|)
                 (|unitsKnown|) (|BasicType|) (|CoercibleTo| 38)
                 (|RetractableTo| 64))
              (|makeByteWordVec2| 127
                                  '(0 10 0 11 1 0 13 0 14 3 16 2 15 0 2 17 0 13
                                    0 22 3 16 2 15 0 2 23 1 16 15 0 25 1 15 26
                                    0 27 0 6 0 29 2 15 2 0 26 30 1 15 2 0 31 2
                                    0 0 0 0 32 0 6 0 35 2 15 0 2 26 36 2 16 42
                                    15 43 44 1 10 38 0 45 1 43 38 0 46 2 38 0 0
                                    0 47 1 16 50 15 51 2 52 0 2 0 53 1 52 0 0
                                    54 2 15 0 0 0 56 1 6 20 0 58 2 16 20 15 0
                                    59 1 6 20 0 61 2 16 20 15 0 62 2 0 0 64 0
                                    66 1 6 64 0 67 2 16 64 15 0 68 2 0 0 0 0 69
                                    1 6 38 0 79 1 15 15 0 80 2 15 38 0 38 81 1
                                    6 42 0 85 2 16 86 15 0 87 2 6 0 64 0 88 2
                                    15 0 89 0 90 2 6 0 0 0 92 1 6 20 0 93 1 6
                                    20 0 94 2 15 0 0 0 97 1 15 26 0 98 2 16 20
                                    15 0 99 2 6 0 0 0 100 1 15 0 2 101 2 15 0 0
                                    0 102 1 6 0 0 104 1 15 0 0 105 2 15 2 0 2
                                    109 2 0 20 0 0 1 1 0 20 0 70 1 0 118 0 1 1
                                    0 0 0 1 1 0 20 0 1 2 0 42 0 0 1 1 0 0 0 1 1
                                    0 125 0 1 1 0 0 64 1 2 0 0 0 43 1 1 0 0 13
                                    1 1 0 0 0 1 2 0 20 0 0 1 2 0 20 0 0 1 1 0
                                    64 0 65 0 0 0 1 3 0 42 48 43 38 1 2 0 42 48
                                    43 49 1 4 111 0 1 1 5 112 0 1 1 0 106 0 107
                                    1 0 112 0 1 1 4 64 0 1 1 5 13 0 14 1 0 6 0
                                    108 1 0 13 0 14 2 0 0 0 38 40 2 0 0 0 38 41
                                    2 0 0 0 0 1 2 0 13 0 0 18 1 0 42 0 83 2 0 0
                                    0 0 1 1 0 119 50 1 1 0 20 0 1 1 0 20 0 60 1
                                    0 20 0 1 2 0 0 0 64 1 1 0 20 0 63 2 0 120
                                    50 0 1 2 0 0 0 0 1 2 0 0 0 0 1 1 0 74 0 78
                                    1 0 76 0 77 1 0 74 0 75 1 0 72 0 73 1 0 0
                                    50 1 2 0 0 0 0 1 1 0 126 0 1 1 0 0 0 84 1 0
                                    127 0 1 2 0 48 48 48 1 1 0 0 50 1 2 0 0 0 0
                                    1 1 0 125 0 1 2 0 122 0 0 1 3 0 124 0 0 0 1
                                    2 0 42 0 0 1 2 0 120 50 0 1 1 0 26 0 1 2 0
                                    121 0 0 1 1 0 0 6 110 1 0 0 13 1 1 0 0 64 1
                                    1 0 0 13 1 1 0 0 0 57 1 0 0 13 1 1 0 0 64 1
                                    1 0 38 0 82 0 0 26 1 2 0 20 0 0 1 2 0 13 0
                                    0 24 1 0 50 113 1 1 0 50 114 1 1 0 50 115 1
                                    1 0 50 116 1 1 0 50 48 55 1 0 50 117 1 2 0
                                    0 37 38 39 1 0 0 0 19 2 0 0 0 13 1 2 0 0 0
                                    64 1 2 0 0 0 26 1 2 0 0 0 43 1 0 0 0 28 0 0
                                    0 34 2 0 20 0 0 1 2 0 20 0 0 1 2 0 20 0 0
                                    71 2 0 20 0 0 1 2 0 20 0 0 21 2 0 0 0 0 32
                                    2 0 0 0 0 69 1 0 0 0 33 2 0 0 0 0 103 2 0 0
                                    0 6 1 2 0 0 6 0 95 2 0 0 13 0 1 2 0 0 0 13
                                    1 2 0 0 64 0 91 2 0 0 0 64 1 2 0 0 0 13 1 2
                                    0 0 13 0 1 2 0 0 64 0 91 2 0 0 0 0 96 2 0 0
                                    26 0 1 2 0 0 43 0 1)))))
           '|lookupComplete|)) 
