
(/VERSIONCHECK 2) 

(DEFUN |GOPT;maxLevel;I$;1| (|d| $)
  (CONS (SPADCALL "maxLevel" (QREFELT $ 9))
        (SPADCALL |d| (QREFELT $ 13)))) 

(DEFUN |GOPT;maxDerivative;I$;2| (|d| $)
  (CONS (SPADCALL "maxDerivative" (QREFELT $ 9))
        (SPADCALL |d| (QREFELT $ 13)))) 

(DEFUN |GOPT;maxShift;I$;3| (|d| $) (SPADCALL |d| (QREFELT $ 15))) 

(DEFUN |GOPT;maxDegree;I$;4| (|d| $)
  (CONS (SPADCALL "maxDegree" (QREFELT $ 9))
        (SPADCALL |d| (QREFELT $ 13)))) 

(DEFUN |GOPT;allDegrees;B$;5| (|d| $)
  (CONS (SPADCALL "allDegrees" (QREFELT $ 9))
        (SPADCALL |d| (QREFELT $ 20)))) 

(DEFUN |GOPT;maxPower;I$;6| (|d| $)
  (CONS (SPADCALL "maxPower" (QREFELT $ 9))
        (SPADCALL |d| (QREFELT $ 13)))) 

(DEFUN |GOPT;safety;Nni$;7| (|d| $)
  (CONS (SPADCALL "safety" (QREFELT $ 9))
        (SPADCALL |d| (QREFELT $ 13)))) 

(DEFUN |GOPT;homogeneous;B$;8| (|d| $)
  (CONS (SPADCALL "homogeneous" (QREFELT $ 9))
        (SPADCALL |d| (QREFELT $ 20)))) 

(DEFUN |GOPT;debug;B$;9| (|d| $)
  (CONS (SPADCALL "debug" (QREFELT $ 9)) (SPADCALL |d| (QREFELT $ 20)))) 

(DEFUN |GOPT;one;B$;10| (|d| $)
  (CONS (SPADCALL "one" (QREFELT $ 9)) (SPADCALL |d| (QREFELT $ 20)))) 

(DEFUN |GOPT;functionName;S$;11| (|d| $)
  (CONS (SPADCALL "functionName" (QREFELT $ 9))
        (SPADCALL |d| (QREFELT $ 29)))) 

(DEFUN |GOPT;variableName;S$;12| (|d| $)
  (CONS (SPADCALL "variableName" (QREFELT $ 9))
        (SPADCALL |d| (QREFELT $ 29)))) 

(DEFUN |GOPT;indexName;S$;13| (|d| $)
  (CONS (SPADCALL "indexName" (QREFELT $ 9))
        (SPADCALL |d| (QREFELT $ 29)))) 

(DEFUN |GOPT;displayAsGF;B$;14| (|d| $)
  (CONS (SPADCALL "displayAsGF" (QREFELT $ 9))
        (SPADCALL |d| (QREFELT $ 20)))) 

(DEFUN |GOPT;coerce;$Of;15| (|x| $)
  (SPADCALL (SPADCALL (QCAR |x|) (QREFELT $ 35))
            (SPADCALL (QCDR |x|) (QREFELT $ 36)) (QREFELT $ 37))) 

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

(DEFUN |GOPT;option?;LSB;17| (|l| |s| $)
  (PROG (|x| #0=#:G8870 #1=#:G8869 #2=#:G8867)
    (RETURN
      (SEQ (EXIT (SEQ (SEQ (EXIT (SEQ (LETT |x| NIL
                                       . #3=(|GOPT;option?;LSB;17|))
                                      (LETT #0# |l| . #3#) G190
                                      (COND
                                        ((OR (ATOM #0#)
                                          (PROGN
                                            (LETT |x| (CAR #0#) . #3#)
                                            NIL))
                                         (GO G191)))
                                      (SEQ
                                       (EXIT
                                        (COND
                                          ((EQUAL (QCAR |x|) |s|)
                                           (PROGN
                                             (LETT #2#
                                              (PROGN
                                                (LETT #1# 'T . #3#)
                                                (GO #1#)) . #3#)
                                             (GO #2#))))))
                                      (LETT #0# (CDR #0#) . #3#)
                                      (GO G190) G191 (EXIT NIL)))
                           #2# (EXIT #2#))
                      (EXIT 'NIL)))
           #1# (EXIT #1#))))) 

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

(DEFUN |GOPT;checkOptions;LV;19| (|l| $)
  (PROG ()
    (RETURN
      (COND
        ((NULL (SPADCALL |l| (QREFELT $ 46)))
         (COND
           ((QEQCAR (SPADCALL
                        (CONS #'|GOPT;checkOptions;LV;19!0|
                              (VECTOR $ |l|))
                        (SPADCALL |l| (QREFELT $ 49)) (QREFELT $ 52))
                    1)
            (SPADCALL (SPADCALL |l| (QREFELT $ 49)) (QREFELT $ 54)))
           ('T (|error| "GuessOption: Option specified twice")))))))) 

(DEFUN |GOPT;checkOptions;LV;19!0| (|#1| $$)
  (PROG ($)
    (LETT $ (QREFELT $$ 0) |GOPT;checkOptions;LV;19|)
    (RETURN
      (PROGN
        (SPADCALL (QCAR (SPADCALL (QREFELT $$ 1) (QREFELT $ 47)))
            (QCAR |#1|) (QREFELT $ 48)))))) 

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

(DEFUN |GuessOption;| ()
  (PROG (|dv$| $ |pv$|)
    (RETURN
      (PROGN
        (LETT |dv$| '(|GuessOption|) . #0=(|GuessOption|))
        (LETT $ (GETREFV 56) . #0#)
        (QSETREFV $ 0 |dv$|)
        (QSETREFV $ 3 (LETT |pv$| (|buildPredVector| 0 0 NIL) . #0#))
        (|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| (|String|) (|Symbol|)
             (0 . |coerce|) (|Any|) (|Integer|) (|AnyFunctions1| 11)
             (5 . |coerce|) |GOPT;maxLevel;I$;1|
             |GOPT;maxDerivative;I$;2| |GOPT;maxShift;I$;3|
             |GOPT;maxDegree;I$;4| (|Boolean|) (|AnyFunctions1| 18)
             (10 . |coerce|) |GOPT;allDegrees;B$;5|
             |GOPT;maxPower;I$;6| (|NonNegativeInteger|)
             |GOPT;safety;Nni$;7| |GOPT;homogeneous;B$;8|
             |GOPT;debug;B$;9| |GOPT;one;B$;10| (|AnyFunctions1| 8)
             (15 . |coerce|) |GOPT;functionName;S$;11|
             |GOPT;variableName;S$;12| |GOPT;indexName;S$;13|
             |GOPT;displayAsGF;B$;14| (|OutputForm|) (20 . |coerce|)
             (25 . |coerce|) (30 . =) |GOPT;coerce;$Of;15| (36 . =)
             |GOPT;=;2$B;16| (|List| $) |GOPT;option?;LSB;17|
             (|Union| 10 '"failed") |GOPT;option;LSU;18| (|List| $$)
             (42 . |empty?|) (47 . |first|) (52 . =) (58 . |rest|)
             (|Union| $$ '"failed") (|Mapping| 18 $$) (63 . |find|)
             (|Void|) |GOPT;checkOptions;LV;19| (|SingleInteger|))
          '#(~= 69 |variableName| 75 |safety| 80 |option?| 85 |option|
             91 |one| 97 |maxShift| 102 |maxPower| 107 |maxLevel| 112
             |maxDerivative| 117 |maxDegree| 122 |latex| 127
             |indexName| 132 |homogeneous| 137 |hash| 142
             |functionName| 147 |displayAsGF| 152 |debug| 157 |coerce|
             162 |checkOptions| 167 |allDegrees| 172 = 177)
          'NIL
          (CONS (|makeByteWordVec2| 1 '(0 0 0))
                (CONS '#(|SetCategory&| |BasicType&| NIL)
                      (CONS '#((|SetCategory|) (|BasicType|)
                               (|CoercibleTo| 34))
                            (|makeByteWordVec2| 55
                                '(1 8 0 7 9 1 12 10 11 13 1 19 10 18 20
                                  1 28 10 8 29 1 8 34 0 35 1 10 34 0 36
                                  2 34 0 0 0 37 2 10 18 0 0 39 1 45 18
                                  0 46 1 45 2 0 47 2 8 18 0 0 48 1 45 0
                                  0 49 2 45 50 51 0 52 2 0 18 0 0 1 1 0
                                  0 8 31 1 0 0 23 24 2 0 18 41 8 42 2 0
                                  43 41 8 44 1 0 0 18 27 1 0 0 11 16 1
                                  0 0 11 22 1 0 0 11 14 1 0 0 11 15 1 0
                                  0 11 17 1 0 7 0 1 1 0 0 8 32 1 0 0 18
                                  25 1 0 55 0 1 1 0 0 8 30 1 0 0 18 33
                                  1 0 0 18 26 1 0 34 0 38 1 0 53 41 54
                                  1 0 0 18 21 2 0 18 0 0 40)))))
          '|lookupComplete|)) 

(MAKEPROP '|GuessOption| 'NILADIC T) 
