
(/VERSIONCHECK 2) 

(DEFUN |GOPT;maxLevel;U$;1| (|d| $)
  (CONS '|maxLevel| (SPADCALL |d| (QREFELT $ 10)))) 

(DEFUN |GOPT;maxDerivative;U$;2| (|d| $)
  (CONS '|maxDerivative| (SPADCALL |d| (QREFELT $ 10)))) 

(DEFUN |GOPT;maxShift;U$;3| (|d| $) (SPADCALL |d| (QREFELT $ 12))) 

(DEFUN |GOPT;maxDegree;U$;4| (|d| $)
  (CONS '|maxDegree| (SPADCALL |d| (QREFELT $ 10)))) 

(DEFUN |GOPT;maxMixedDegree;Nni$;5| (|d| $)
  (CONS '|maxMixedDegree| (SPADCALL |d| (QREFELT $ 17)))) 

(DEFUN |GOPT;allDegrees;B$;6| (|d| $)
  (CONS '|allDegrees| (SPADCALL |d| (QREFELT $ 21)))) 

(DEFUN |GOPT;maxPower;U$;7| (|d| $)
  (CONS '|maxPower| (SPADCALL |d| (QREFELT $ 25)))) 

(DEFUN |GOPT;safety;Nni$;8| (|d| $)
  (CONS '|safety| (SPADCALL |d| (QREFELT $ 17)))) 

(DEFUN |GOPT;homogeneous;U$;9| (|d| $)
  (CONS '|homogeneous| (SPADCALL |d| (QREFELT $ 30)))) 

(DEFUN |GOPT;debug;B$;10| (|d| $) (CONS '|debug| (SPADCALL |d| (QREFELT $ 21)))) 

(DEFUN |GOPT;one;B$;11| (|d| $) (CONS '|one| (SPADCALL |d| (QREFELT $ 21)))) 

(DEFUN |GOPT;functionName;S$;12| (|d| $)
  (CONS '|functionName| (SPADCALL |d| (QREFELT $ 36)))) 

(DEFUN |GOPT;variableName;S$;13| (|d| $)
  (CONS '|variableName| (SPADCALL |d| (QREFELT $ 36)))) 

(DEFUN |GOPT;indexName;S$;14| (|d| $)
  (CONS '|indexName| (SPADCALL |d| (QREFELT $ 36)))) 

(DEFUN |GOPT;displayAsGF;B$;15| (|d| $)
  (CONS '|displayAsGF| (SPADCALL |d| (QREFELT $ 21)))) 

(DEFUN |GOPT;coerce;$Of;16| (|x| $)
  (SPADCALL (SPADCALL (QCAR |x|) (QREFELT $ 42))
            (SPADCALL (QCDR |x|) (QREFELT $ 43)) (QREFELT $ 44))) 

(DEFUN |GOPT;=;2$B;17| (|x| |y| $)
  (COND
   ((EQUAL (QCAR |x|) (QCAR |y|))
    (SPADCALL (QCDR |x|) (QCDR |y|) (QREFELT $ 46)))
   ('T 'NIL))) 

(DEFUN |GOPT;option?;LSB;18| (|l| |s| $)
  (PROG (#1=#:G843 #2=#:G845 #3=#:G846 |x|)
    (RETURN
     (SEQ
      (EXIT
       (SEQ
        (SEQ
         (EXIT
          (SEQ (LETT |x| NIL . #4=(|GOPT;option?;LSB;18|)) (LETT #3# |l| . #4#)
               G190
               (COND
                ((OR (ATOM #3#) (PROGN (LETT |x| (CAR #3#) . #4#) NIL))
                 (GO G191)))
               (SEQ
                (EXIT
                 (COND
                  ((EQUAL (QCAR |x|) |s|)
                   (PROGN
                    (LETT #1# (PROGN (LETT #2# 'T . #4#) (GO #2#)) . #4#)
                    (GO #1#))))))
               (LETT #3# (CDR #3#) . #4#) (GO G190) G191 (EXIT NIL)))
         #1# (EXIT #1#))
        (EXIT 'NIL)))
      #2# (EXIT #2#))))) 

(DEFUN |GOPT;option;LSU;19| (|l| |s| $)
  (PROG (#1=#:G852 #2=#:G857 #3=#:G858 |x|)
    (RETURN
     (SEQ
      (EXIT
       (SEQ
        (SEQ
         (EXIT
          (SEQ (LETT |x| NIL . #4=(|GOPT;option;LSU;19|)) (LETT #3# |l| . #4#)
               G190
               (COND
                ((OR (ATOM #3#) (PROGN (LETT |x| (CAR #3#) . #4#) NIL))
                 (GO G191)))
               (SEQ
                (EXIT
                 (COND
                  ((EQUAL (QCAR |x|) |s|)
                   (PROGN
                    (LETT #1#
                          (PROGN (LETT #2# (CONS 0 (QCDR |x|)) . #4#) (GO #2#))
                          . #4#)
                    (GO #1#))))))
               (LETT #3# (CDR #3#) . #4#) (GO G190) G191 (EXIT NIL)))
         #1# (EXIT #1#))
        (EXIT (CONS 1 "failed"))))
      #2# (EXIT #2#))))) 

(DEFUN |GOPT;checkOptions;LV;20| (|l| $)
  (PROG ()
    (RETURN
     (COND
      ((NULL (SPADCALL |l| (QREFELT $ 53)))
       (COND
        ((QEQCAR
          (SPADCALL (CONS #'|GOPT;checkOptions;LV;20!0| (VECTOR $ |l|))
                    (SPADCALL |l| (QREFELT $ 56)) (QREFELT $ 59))
          1)
         (SPADCALL (SPADCALL |l| (QREFELT $ 56)) (QREFELT $ 61)))
        ('T (|error| "GuessOption: Option specified twice")))))))) 

(DEFUN |GOPT;checkOptions;LV;20!0| (|z1| $$)
  (PROG (|l| $)
    (LETT |l| (QREFELT $$ 1) . #1=(|GOPT;checkOptions;LV;20|))
    (LETT $ (QREFELT $$ 0) . #1#)
    (RETURN
     (PROGN
      (SPADCALL (QCAR (SPADCALL |l| (QREFELT $ 54))) (QCAR |z1|)
                (QREFELT $ 55)))))) 

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

(DEFUN |GuessOption;| ()
  (PROG (|dv$| $ |pv$|)
    (RETURN
     (PROGN
      (LETT |dv$| '(|GuessOption|) . #1=(|GuessOption|))
      (LETT $ (GETREFV 64) . #1#)
      (QSETREFV $ 0 |dv$|)
      (QSETREFV $ 3 (LETT |pv$| (|buildPredVector| 0 0 NIL) . #1#))
      (|haddProp| |$ConstructorCache| '|GuessOption| NIL (CONS 1 $))
      (|stuffDomainSlots| $)
      (QSETREFV $ 6
                (|Record| (|:| |keyword| (|Symbol|)) (|:| |value| (|Any|))))
      $)))) 

(MAKEPROP '|GuessOption| '|infovec|
          (LIST
           '#(NIL NIL NIL NIL NIL NIL '|Rep| (|Any|) (|Union| 15 '"arbitrary")
              (|AnyFunctions1| 8) (0 . |coerce|) |GOPT;maxLevel;U$;1|
              |GOPT;maxDerivative;U$;2| |GOPT;maxShift;U$;3|
              |GOPT;maxDegree;U$;4| (|NonNegativeInteger|) (|AnyFunctions1| 15)
              (5 . |coerce|) |GOPT;maxMixedDegree;Nni$;5| (|Boolean|)
              (|AnyFunctions1| 19) (10 . |coerce|) |GOPT;allDegrees;B$;6|
              (|Union| (|PositiveInteger|) '"arbitrary") (|AnyFunctions1| 23)
              (15 . |coerce|) |GOPT;maxPower;U$;7| |GOPT;safety;Nni$;8|
              (|Union| (|PositiveInteger|) 19) (|AnyFunctions1| 28)
              (20 . |coerce|) |GOPT;homogeneous;U$;9| |GOPT;debug;B$;10|
              |GOPT;one;B$;11| (|Symbol|) (|AnyFunctions1| 34) (25 . |coerce|)
              |GOPT;functionName;S$;12| |GOPT;variableName;S$;13|
              |GOPT;indexName;S$;14| |GOPT;displayAsGF;B$;15| (|OutputForm|)
              (30 . |coerce|) (35 . |coerce|) (40 . =) |GOPT;coerce;$Of;16|
              (46 . =) |GOPT;=;2$B;17| (|List| $) |GOPT;option?;LSB;18|
              (|Union| 7 '"failed") |GOPT;option;LSU;19| (|List| $$)
              (52 . |empty?|) (57 . |first|) (62 . =) (68 . |rest|)
              (|Union| $$ '"failed") (|Mapping| 19 $$) (73 . |find|) (|Void|)
              |GOPT;checkOptions;LV;20| (|SingleInteger|) (|String|))
           '#(~= 79 |variableName| 85 |safety| 90 |option?| 95 |option| 101
              |one| 107 |maxShift| 112 |maxPower| 117 |maxMixedDegree| 122
              |maxLevel| 127 |maxDerivative| 132 |maxDegree| 137 |latex| 142
              |indexName| 147 |homogeneous| 152 |hash| 157 |functionName| 162
              |displayAsGF| 167 |debug| 172 |coerce| 177 |checkOptions| 182
              |allDegrees| 187 = 192)
           'NIL
           (CONS (|makeByteWordVec2| 1 '(0 0 0))
                 (CONS '#(|SetCategory&| |BasicType&| NIL)
                       (CONS
                        '#((|SetCategory|) (|BasicType|) (|CoercibleTo| 41))
                        (|makeByteWordVec2| 63
                                            '(1 9 7 8 10 1 16 7 15 17 1 20 7 19
                                              21 1 24 7 23 25 1 29 7 28 30 1 35
                                              7 34 36 1 34 41 0 42 1 7 41 0 43
                                              2 41 0 0 0 44 2 7 19 0 0 46 1 52
                                              19 0 53 1 52 2 0 54 2 34 19 0 0
                                              55 1 52 0 0 56 2 52 57 58 0 59 2
                                              0 19 0 0 1 1 0 0 34 38 1 0 0 15
                                              27 2 0 19 48 34 49 2 0 50 48 34
                                              51 1 0 0 19 33 1 0 0 8 13 1 0 0
                                              23 26 1 0 0 15 18 1 0 0 8 11 1 0
                                              0 8 12 1 0 0 8 14 1 0 63 0 1 1 0
                                              0 34 39 1 0 0 28 31 1 0 62 0 1 1
                                              0 0 34 37 1 0 0 19 40 1 0 0 19 32
                                              1 0 41 0 45 1 0 60 48 61 1 0 0 19
                                              22 2 0 19 0 0 47)))))
           '|lookupComplete|)) 

(MAKEPROP '|GuessOption| 'NILADIC T) 
