
(/VERSIONCHECK 2) 

(DEFUN |INFORM;Zero;$;1| ($) (SPADCALL 0 (QREFELT $ 8))) 

(DEFUN |INFORM;One;$;2| ($) (SPADCALL 1 (QREFELT $ 8))) 

(PUT '|INFORM;convert;$Se;3| '|SPADreplace| '(XLAM (|x|) |x|)) 

(DEFUN |INFORM;convert;$Se;3| (|x| $) |x|) 

(PUT '|INFORM;convert;Se$;4| '|SPADreplace| '(XLAM (|x|) |x|)) 

(DEFUN |INFORM;convert;Se$;4| (|x| $) |x|) 

(DEFUN |INFORM;conv| (|ll| $) (SPADCALL |ll| (QREFELT $ 14))) 

(DEFUN |INFORM;lambda;$L$;6| (|f| |l| $)
  (|INFORM;conv|
   (LIST (SPADCALL (SPADCALL "+->" (QREFELT $ 17)) (QREFELT $ 18))
         (|INFORM;tuplify| |l| $) |f|)
   $)) 

(DEFUN |INFORM;interpret;$A;7| (|x| $)
  (PROG (|v|)
    (RETURN
     (SEQ (LETT |v| (|interpret| |x|) |INFORM;interpret;$A;7|)
          (EXIT (|mkObj| (|unwrap| (|objVal| |v|)) (|objMode| |v|))))))) 

(DEFUN |INFORM;convert;Df$;8| (|x| $)
  (COND ((ZEROP |x|) (|spadConstant| $ 9)) ((= |x| 1.0) (|spadConstant| $ 10))
        ('T (SPADCALL |x| (QREFELT $ 24))))) 

(DEFUN |INFORM;flatten;2$;9| (|s| $)
  (PROG (#1=#:G1853 |u| #2=#:G1852 #3=#:G1851 #4=#:G1850 |l2| |n| #5=#:G1849
         |l| |x| #6=#:G1848 |sy|)
    (RETURN
     (SEQ
      (COND
       ((OR (SPADCALL |s| (QREFELT $ 27))
            (SPADCALL (ELT $ 27) (SPADCALL |s| (QREFELT $ 28)) (QREFELT $ 31)))
        |s|)
       ('T
        (SEQ (LETT |sy| (SPADCALL (QREFELT $ 32)) . #7=(|INFORM;flatten;2$;9|))
             (LETT |n| 0 . #7#)
             (LETT |l2|
                   (PROGN
                    (LETT #6# NIL . #7#)
                    (SEQ (LETT |x| NIL . #7#)
                         (LETT #5#
                               (SPADCALL
                                (LETT |l| (SPADCALL |s| (QREFELT $ 28)) . #7#)
                                (QREFELT $ 33))
                               . #7#)
                         G190
                         (COND
                          ((OR (ATOM #5#)
                               (PROGN (LETT |x| (CAR #5#) . #7#) NIL))
                           #8=(GO G191)))
                         (SEQ
                          (EXIT
                           (LETT #6#
                                 (CONS
                                  (|INFORM;flatten0| |x| |sy|
                                   (LETT |n| (+ |n| 1) . #7#) $)
                                  #6#)
                                 . #7#)))
                         (LETT #5# (CDR #5#) . #7#) #9=(GO G190) G191
                         (EXIT (NREVERSE0 #6#))))
                   . #7#)
             (EXIT
              (|INFORM;conv|
               (SPADCALL (SPADCALL 'SEQ (QREFELT $ 18))
                         (SPADCALL
                          (SPADCALL
                           (PROGN
                            (LETT #4# NIL . #7#)
                            (SEQ (LETT |u| NIL . #7#) (LETT #3# |l2| . #7#)
                                 G190
                                 (COND
                                  ((OR (ATOM #3#)
                                       (PROGN (LETT |u| (CAR #3#) . #7#) NIL))
                                   #8#))
                                 (SEQ
                                  (EXIT
                                   (LETT #4# (CONS (QCAR |u|) #4#) . #7#)))
                                 (LETT #3# (CDR #3#) . #7#) #9# G191
                                 (EXIT (NREVERSE0 #4#))))
                           (QREFELT $ 34))
                          (|INFORM;conv|
                           (LIST (SPADCALL '|exit| (QREFELT $ 18))
                                 (|spadConstant| $ 10)
                                 (|INFORM;conv|
                                  (SPADCALL (SPADCALL |l| (QREFELT $ 35))
                                            (PROGN
                                             (LETT #2# NIL . #7#)
                                             (SEQ (LETT |u| NIL . #7#)
                                                  (LETT #1# |l2| . #7#) G190
                                                  (COND
                                                   ((OR (ATOM #1#)
                                                        (PROGN
                                                         (LETT |u| (CAR #1#)
                                                               . #7#)
                                                         NIL))
                                                    #8#))
                                                  (SEQ
                                                   (EXIT
                                                    (LETT #2#
                                                          (CONS (QCDR |u|) #2#)
                                                          . #7#)))
                                                  (LETT #1# (CDR #1#) . #7#)
                                                  #9# G191
                                                  (EXIT (NREVERSE0 #2#))))
                                            (QREFELT $ 36))
                                  $))
                           $)
                          (QREFELT $ 37))
                         (QREFELT $ 36))
               $))))))))) 

(DEFUN |INFORM;flatten0| (|s| |sy| |n| $)
  (PROG (#1=#:G1866 |u| #2=#:G1865 #3=#:G1864 #4=#:G1863 |l2| #5=#:G1862 |l|
         |x| #6=#:G1861 |a|)
    (RETURN
     (SEQ
      (COND
       ((SPADCALL |s| (QREFELT $ 27)) (CONS (SPADCALL (QREFELT $ 39)) |s|))
       ('T
        (SEQ
         (LETT |a|
               (SPADCALL
                (SPADCALL
                 (STRCONC (SPADCALL |sy| (QREFELT $ 40)) (STRINGIMAGE |n|))
                 (QREFELT $ 17))
                (QREFELT $ 18))
               . #7=(|INFORM;flatten0|))
         (LETT |l2|
               (PROGN
                (LETT #6# NIL . #7#)
                (SEQ (LETT |x| NIL . #7#)
                     (LETT #5#
                           (SPADCALL
                            (LETT |l| (SPADCALL |s| (QREFELT $ 28)) . #7#)
                            (QREFELT $ 33))
                           . #7#)
                     G190
                     (COND
                      ((OR (ATOM #5#) (PROGN (LETT |x| (CAR #5#) . #7#) NIL))
                       #8=(GO G191)))
                     (SEQ
                      (EXIT
                       (LETT #6#
                             (CONS
                              (|INFORM;flatten0| |x| |sy|
                               (LETT |n| (+ |n| 1) . #7#) $)
                              #6#)
                             . #7#)))
                     (LETT #5# (CDR #5#) . #7#) #9=(GO G190) G191
                     (EXIT (NREVERSE0 #6#))))
               . #7#)
         (EXIT
          (CONS
           (SPADCALL
            (SPADCALL
             (PROGN
              (LETT #4# NIL . #7#)
              (SEQ (LETT |u| NIL . #7#) (LETT #3# |l2| . #7#) G190
                   (COND
                    ((OR (ATOM #3#) (PROGN (LETT |u| (CAR #3#) . #7#) NIL))
                     #8#))
                   (SEQ (EXIT (LETT #4# (CONS (QCAR |u|) #4#) . #7#)))
                   (LETT #3# (CDR #3#) . #7#) #9# G191 (EXIT (NREVERSE0 #4#))))
             (QREFELT $ 34))
            (|INFORM;conv|
             (LIST (SPADCALL 'LET (QREFELT $ 18)) |a|
                   (|INFORM;conv|
                    (SPADCALL (SPADCALL |l| (QREFELT $ 35))
                              (PROGN
                               (LETT #2# NIL . #7#)
                               (SEQ (LETT |u| NIL . #7#) (LETT #1# |l2| . #7#)
                                    G190
                                    (COND
                                     ((OR (ATOM #1#)
                                          (PROGN
                                           (LETT |u| (CAR #1#) . #7#)
                                           NIL))
                                      #8#))
                                    (SEQ
                                     (EXIT
                                      (LETT #2# (CONS (QCDR |u|) #2#) . #7#)))
                                    (LETT #1# (CDR #1#) . #7#) #9# G191
                                    (EXIT (NREVERSE0 #2#))))
                              (QREFELT $ 36))
                    $))
             $)
            (QREFELT $ 37))
           |a|))))))))) 

(DEFUN |INFORM;strsym| (|s| $)
  (COND ((SPADCALL |s| (QREFELT $ 41)) (SPADCALL |s| (QREFELT $ 42)))
        ((SPADCALL |s| (QREFELT $ 43))
         (SPADCALL (SPADCALL |s| (QREFELT $ 44)) (QREFELT $ 40)))
        ('T (|error| "strsym: form is neither a string or symbol")))) 

(DEFUN |INFORM;unparse;$S;12| (|x| $)
  (PROG (#1=#:G1874 |a| #2=#:G1873 |s|)
    (RETURN
     (SEQ
      (COND
       ((SPADCALL
         (LETT |s| (|unparseInputForm| |x|) . #3=(|INFORM;unparse;$S;12|))
         (QREFELT $ 27))
        (|INFORM;strsym| |s| $))
       ('T
        (SPADCALL
         (PROGN
          (LETT #2# NIL . #3#)
          (SEQ (LETT |a| NIL . #3#)
               (LETT #1# (SPADCALL |s| (QREFELT $ 28)) . #3#) G190
               (COND
                ((OR (ATOM #1#) (PROGN (LETT |a| (CAR #1#) . #3#) NIL))
                 (GO G191)))
               (SEQ (EXIT (LETT #2# (CONS (|INFORM;strsym| |a| $) #2#) . #3#)))
               (LETT #1# (CDR #1#) . #3#) (GO G190) G191
               (EXIT (NREVERSE0 #2#))))
         (QREFELT $ 45)))))))) 

(PUT '|INFORM;parse;S$;13| '|SPADreplace| '|ncParseFromString|) 

(DEFUN |INFORM;parse;S$;13| (|s| $) (|ncParseFromString| |s|)) 

(DEFUN |INFORM;declare;LS;14| (|signature| $)
  (PROG (|name|)
    (RETURN
     (SEQ
      (|declare| (LETT |name| (SPADCALL (QREFELT $ 32)) |INFORM;declare;LS;14|)
                 |signature|)
      (EXIT |name|))))) 

(DEFUN |INFORM;compile;SLS;15| (|name| |types| $)
  (SPADCALL
   (SPADCALL
    (SPADCALL
     (SPADCALL
      (|selectLocalMms| (|INFORM;mkProperOp| |name| $)
                        (SPADCALL |name| (QREFELT $ 18)) |types|
                        (SPADCALL (QREFELT $ 39)))
      (QREFELT $ 49))
     (QREFELT $ 50))
    (QREFELT $ 49))
   (QREFELT $ 44))) 

(DEFUN |INFORM;mkProperOp| (|name| $)
  (PROG (|op| |nme|)
    (RETURN
     (SEQ
      (LETT |op|
            (|mkAtree|
             (LETT |nme| (SPADCALL |name| (QREFELT $ 18))
                   . #1=(|INFORM;mkProperOp|)))
            . #1#)
      (|transferPropsToNode| |nme| |op|)
      (EXIT (SPADCALL |op| (QREFELT $ 52))))))) 

(DEFUN |INFORM;binary;$L$;17| (|op| |args| $)
  (PROG (|n|)
    (RETURN
     (SEQ (LETT |n| (SPADCALL |args| (QREFELT $ 54)) |INFORM;binary;$L$;17|)
          (EXIT
           (COND ((< |n| 2) (|error| "Need at least 2 arguments"))
                 ((EQL |n| 2)
                  (SPADCALL
                   (LIST |op| (SPADCALL |args| (QREFELT $ 35))
                         (SPADCALL |args| (QREFELT $ 55)))
                   (QREFELT $ 52)))
                 ('T
                  (SPADCALL
                   (LIST |op| (SPADCALL |args| (QREFELT $ 35))
                         (SPADCALL |op| (SPADCALL |args| (QREFELT $ 33))
                                   (QREFELT $ 56)))
                   (QREFELT $ 52))))))))) 

(DEFUN |INFORM;tuplify| (|l| $)
  (PROG (#1=#:G1887 |x| #2=#:G1886)
    (RETURN
     (SEQ
      (COND ((NULL (CDR |l|)) (SPADCALL (|SPADfirst| |l|) (QREFELT $ 18)))
            ('T
             (|INFORM;conv|
              (SPADCALL (SPADCALL '|Tuple| (QREFELT $ 18))
                        (PROGN
                         (LETT #2# NIL . #3=(|INFORM;tuplify|))
                         (SEQ (LETT |x| NIL . #3#) (LETT #1# |l| . #3#) G190
                              (COND
                               ((OR (ATOM #1#)
                                    (PROGN (LETT |x| (CAR #1#) . #3#) NIL))
                                (GO G191)))
                              (SEQ
                               (EXIT
                                (LETT #2#
                                      (CONS (SPADCALL |x| (QREFELT $ 18)) #2#)
                                      . #3#)))
                              (LETT #1# (CDR #1#) . #3#) (GO G190) G191
                              (EXIT (NREVERSE0 #2#))))
                        (QREFELT $ 36))
              $))))))) 

(DEFUN |INFORM;function;$LS$;19| (|f| |l| |name| $)
  (PROG (#1=#:G1892 |x| #2=#:G1891 |nn|)
    (RETURN
     (SEQ
      (LETT |nn|
            (SPADCALL
             (SPADCALL (+ 1 (LENGTH |l|))
                       (SPADCALL (SPADCALL (QREFELT $ 39)) (QREFELT $ 52))
                       (QREFELT $ 57))
             (QREFELT $ 52))
            . #3=(|INFORM;function;$LS$;19|))
      (EXIT
       (|INFORM;conv|
        (LIST (SPADCALL 'DEF (QREFELT $ 18))
              (|INFORM;conv|
               (SPADCALL (SPADCALL |name| (QREFELT $ 18))
                         (PROGN
                          (LETT #2# NIL . #3#)
                          (SEQ (LETT |x| NIL . #3#) (LETT #1# |l| . #3#) G190
                               (COND
                                ((OR (ATOM #1#)
                                     (PROGN (LETT |x| (CAR #1#) . #3#) NIL))
                                 (GO G191)))
                               (SEQ
                                (EXIT
                                 (LETT #2#
                                       (CONS (SPADCALL |x| (QREFELT $ 18)) #2#)
                                       . #3#)))
                               (LETT #1# (CDR #1#) . #3#) (GO G190) G191
                               (EXIT (NREVERSE0 #2#))))
                         (QREFELT $ 58))
               $)
              |nn| |nn| |f|)
        $)))))) 

(DEFUN |INFORM;+;3$;20| (|s1| |s2| $)
  (COND ((SPADCALL |s1| (|spadConstant| $ 9) (QREFELT $ 60)) |s2|)
        ((SPADCALL |s2| (|spadConstant| $ 9) (QREFELT $ 60)) |s1|)
        ('T
         (|INFORM;conv|
          (LIST (SPADCALL (SPADCALL "+" (QREFELT $ 17)) (QREFELT $ 18)) |s1|
                |s2|)
          $)))) 

(DEFUN |INFORM;*;3$;21| (|s1| |s2| $)
  (COND
   ((OR (SPADCALL |s1| (|spadConstant| $ 9) (QREFELT $ 60))
        (SPADCALL |s2| (|spadConstant| $ 9) (QREFELT $ 60)))
    (|spadConstant| $ 9))
   ('T
    (COND ((SPADCALL |s1| (|spadConstant| $ 10) (QREFELT $ 60)) |s2|)
          ((SPADCALL |s2| (|spadConstant| $ 10) (QREFELT $ 60)) |s1|)
          ('T
           (|INFORM;conv|
            (LIST (SPADCALL (SPADCALL "*" (QREFELT $ 17)) (QREFELT $ 18)) |s1|
                  |s2|)
            $)))))) 

(DEFUN |INFORM;^;$I$;22| (|s1| |n| $)
  (SEQ
   (COND
    ((SPADCALL |s1| (|spadConstant| $ 9) (QREFELT $ 60))
     (COND ((< 0 |n|) (EXIT (|spadConstant| $ 9))))))
   (COND
    ((OR (SPADCALL |s1| (|spadConstant| $ 10) (QREFELT $ 60)) (ZEROP |n|))
     (EXIT (|spadConstant| $ 10))))
   (EXIT
    (COND ((EQL |n| 1) |s1|)
          ('T
           (|INFORM;conv|
            (LIST (SPADCALL (SPADCALL "^" (QREFELT $ 17)) (QREFELT $ 18)) |s1|
                  (SPADCALL |n| (QREFELT $ 8)))
            $)))))) 

(DEFUN |INFORM;^;$Nni$;23| (|s1| |n| $) (SPADCALL |s1| |n| (QREFELT $ 63))) 

(DEFUN |INFORM;/;3$;24| (|s1| |s2| $)
  (COND ((SPADCALL |s2| (|spadConstant| $ 10) (QREFELT $ 60)) |s1|)
        ('T
         (|INFORM;conv|
          (LIST (SPADCALL (SPADCALL "/" (QREFELT $ 17)) (QREFELT $ 18)) |s1|
                |s2|)
          $)))) 

(DEFUN |InputForm| #1=()
  (PROG #1#
    (RETURN
     (PROG (#2=#:G1902)
       (RETURN
        (COND
         ((LETT #2# (HGET |$ConstructorCache| '|InputForm|) . #3=(|InputForm|))
          (|CDRwithIncrement| (CDAR #2#)))
         ('T
          (UNWIND-PROTECT
              (PROG1
                  (CDDAR
                   (HPUT |$ConstructorCache| '|InputForm|
                         (LIST (CONS NIL (CONS 1 (|InputForm;|))))))
                (LETT #2# T . #3#))
            (COND ((NOT #2#) (HREM |$ConstructorCache| '|InputForm|))))))))))) 

(DEFUN |InputForm;| ()
  (PROG (|dv$| $ |pv$|)
    (RETURN
     (PROGN
      (LETT |dv$| '(|InputForm|) . #1=(|InputForm|))
      (LETT $ (GETREFV 69) . #1#)
      (QSETREFV $ 0 |dv$|)
      (QSETREFV $ 3 (LETT |pv$| (|buildPredVector| 0 0 NIL) . #1#))
      (|haddProp| |$ConstructorCache| '|InputForm| NIL (CONS 1 $))
      (|stuffDomainSlots| $)
      (QSETREFV $ 6 (|SExpression|))
      $)))) 

(MAKEPROP '|InputForm| '|infovec|
          (LIST
           '#(NIL NIL NIL NIL NIL (|SExpression|) '|Rep| (|Integer|)
              (0 . |convert|)
              (CONS IDENTITY
                    (FUNCALL (|dispatchFunction| |INFORM;Zero;$;1|) $))
              (CONS IDENTITY (FUNCALL (|dispatchFunction| |INFORM;One;$;2|) $))
              |INFORM;convert;$Se;3| |INFORM;convert;Se$;4| (|List| $)
              (5 . |convert|) (|String|) (|Symbol|) (10 . |coerce|)
              (15 . |convert|) (|List| 16) |INFORM;lambda;$L$;6| (|Any|)
              |INFORM;interpret;$A;7| (|DoubleFloat|) (20 . |convert|)
              |INFORM;convert;Df$;8| (|Boolean|) (25 . |atom?|)
              (30 . |destruct|) (|Mapping| 26 $$) (|List| $$) (35 . |every?|)
              (41 . |new|) (45 . |rest|) (50 . |concat|) (55 . |first|)
              (60 . |concat|) (66 . |concat|) |INFORM;flatten;2$;9|
              (72 . |nil|) (76 . |string|) (81 . |string?|) (86 . |string|)
              (91 . |symbol?|) (96 . |symbol|) (101 . |concat|)
              |INFORM;unparse;$S;12| |INFORM;parse;S$;13|
              |INFORM;declare;LS;14| (106 . |car|) (111 . |cdr|)
              |INFORM;compile;SLS;15| (116 . |convert|) (|NonNegativeInteger|)
              (121 . |#|) (126 . |last|) |INFORM;binary;$L$;17| (131 . |new|)
              (137 . |cons|) |INFORM;function;$LS$;19| (143 . =)
              |INFORM;+;3$;20| |INFORM;*;3$;21| |INFORM;^;$I$;22|
              |INFORM;^;$Nni$;23| |INFORM;/;3$;24| (|List| 7) (|OutputForm|)
              (|SingleInteger|))
           '#(|unparse| 149 |symbol?| 154 |symbol| 159 |string?| 164 |string|
              169 |parse| 174 |lambda| 179 |interpret| 185 |function| 190
              |flatten| 197 |destruct| 202 |declare| 207 |convert| 212
              |compile| 242 |cdr| 248 |car| 253 |binary| 258 |atom?| 264 ^ 269
              |Zero| 281 |One| 285 = 289 / 295 + 301 * 307)
           'NIL
           (CONS (|makeByteWordVec2| 1 '(0 0 0 0 0))
                 (CONS '#(NIL |SetCategory&| |BasicType&| NIL NIL)
                       (CONS
                        '#((|SExpressionCategory| 15 16 7 23 67)
                           (|SetCategory|) (|BasicType|) (|ConvertibleTo| 5)
                           (|CoercibleTo| 67))
                        (|makeByteWordVec2| 65
                                            '(1 0 0 7 8 1 5 0 13 14 1 16 0 15
                                              17 1 0 0 16 18 1 6 0 23 24 1 0 26
                                              0 27 1 0 13 0 28 2 30 26 29 0 31
                                              0 16 0 32 1 30 0 0 33 1 30 0 13
                                              34 1 30 2 0 35 2 30 0 2 0 36 2 30
                                              0 0 2 37 0 30 0 39 1 16 15 0 40 1
                                              0 26 0 41 1 0 15 0 42 1 0 26 0 43
                                              1 0 16 0 44 1 15 0 13 45 1 0 0 0
                                              49 1 0 0 0 50 1 0 0 13 52 1 30 53
                                              0 54 1 30 2 0 55 2 30 0 53 2 57 2
                                              30 0 2 0 58 2 0 26 0 0 60 1 0 15
                                              0 46 1 0 26 0 43 1 0 16 0 44 1 0
                                              26 0 41 1 0 15 0 42 1 0 0 15 47 2
                                              0 0 0 19 20 1 0 21 0 22 3 0 0 0
                                              19 16 59 1 0 0 0 38 1 0 13 0 28 1
                                              0 16 13 48 1 0 0 5 12 1 0 5 0 11
                                              1 0 0 23 25 1 0 0 16 18 1 0 0 7 8
                                              1 0 0 13 52 2 0 16 16 13 51 1 0 0
                                              0 50 1 0 0 0 49 2 0 0 0 13 56 1 0
                                              26 0 27 2 0 0 0 53 64 2 0 0 0 7
                                              63 0 0 0 9 0 0 0 10 2 0 26 0 0 60
                                              2 0 0 0 0 65 2 0 0 0 0 61 2 0 0 0
                                              0 62)))))
           '|lookupIncomplete|)) 

(MAKEPROP '|InputForm| 'NILADIC T) 
