
(/VERSIONCHECK 2) 

(DEFUN |EXPRSOL;replaceDiffs;FBoSF;1| (|expr| |op| |sy| $)
  (PROG (|lk| |k| #0=#:G33779 |arg| |args| |differentiand|)
    (RETURN
      (SEQ (LETT |lk| (SPADCALL |expr| (QREFELT $ 19))
                 . #1=(|EXPRSOL;replaceDiffs;FBoSF;1|))
           (SEQ (LETT |k| NIL . #1#) (LETT #0# |lk| . #1#) G190
                (COND
                  ((OR (ATOM #0#)
                       (PROGN (LETT |k| (CAR #0#) . #1#) NIL))
                   (GO G191)))
                (SEQ (COND
                       ((SPADCALL |k| |op| (QREFELT $ 22))
                        (SEQ (LETT |arg|
                                   (|SPADfirst|
                                    (SPADCALL |k| (QREFELT $ 24))) . #1#)
                             (EXIT (COND
                                     ((SPADCALL |arg|
                                       (SPADCALL |sy| (QREFELT $ 25))
                                       (QREFELT $ 26))
                                      (LETT |expr|
                                       (SPADCALL |expr| (LIST |k|)
                                        (LIST
                                         (SPADCALL
                                          (SPADCALL |op|
                                           (QREFELT $ 27))
                                          (QREFELT $ 25)))
                                        (QREFELT $ 29)) . #1#))
                                     ('T
                                      (LETT |expr|
                                       (SPADCALL |expr| (LIST |k|)
                                        (LIST
                                         (SPADCALL (QREFELT $ 15)
                                          (LIST
                                           (SPADCALL
                                            (SPADCALL |op|
                                             (QREFELT $ 27))
                                            (QREFELT $ 25))
                                           (SPADCALL |arg| |op| |sy|
                                            (QREFELT $ 30)))
                                          (QREFELT $ 31)))
                                        (QREFELT $ 29)) . #1#)))))))
                     (EXIT (COND
                             ((SPADCALL |k| '|%diff| (QREFELT $ 32))
                              (SEQ (LETT |args|
                                    (SPADCALL |k| (QREFELT $ 24)) . #1#)
                                   (LETT |differentiand|
                                    (SPADCALL
                                     (SPADCALL
                                      (SPADCALL |args| 1
                                       (QREFELT $ 36))
                                      (SPADCALL
                                       (SPADCALL |args| 2
                                        (QREFELT $ 36))
                                       (SPADCALL |args| 3
                                        (QREFELT $ 36))
                                       (QREFELT $ 38))
                                      (QREFELT $ 40))
                                     |op| |sy| (QREFELT $ 30)) . #1#)
                                   (EXIT
                                    (LETT |expr|
                                     (SPADCALL |expr| (LIST |k|)
                                      (LIST
                                       (SPADCALL (QREFELT $ 16)
                                        |differentiand| (QREFELT $ 41)))
                                      (QREFELT $ 29)) . #1#)))))))
                (LETT #0# (CDR #0#) . #1#) (GO G190) G191 (EXIT NIL))
           (EXIT |expr|))))) 

(DEFUN |EXPRSOL;seriesSolve;FBoSLUTSF;2| (|expr| |op| |sy| |l| $)
  (PROG (|ex| |f|)
    (RETURN
      (SEQ (LETT |ex| (SPADCALL |expr| |op| |sy| (QREFELT $ 30))
                 . #0=(|EXPRSOL;seriesSolve;FBoSLUTSF;2|))
           (LETT |f|
                 (SPADCALL |ex| (SPADCALL |op| (QREFELT $ 27)) |sy|
                     (QREFELT $ 44)) . #0#)
           (EXIT (SPADCALL
                     (CONS #'|EXPRSOL;seriesSolve;FBoSLUTSF;2!0|
                           (VECTOR |f| $))
                     |l| (QREFELT $ 52))))))) 

(DEFUN |EXPRSOL;seriesSolve;FBoSLUTSF;2!0| (|#1| $$)
  (PROG ($)
    (LETT $ (QREFELT $$ 1) |EXPRSOL;seriesSolve;FBoSLUTSF;2|)
    (RETURN
      (PROGN
        (SPADCALL |#1|
            (SPADCALL (|spadConstant| $ 46) (|spadConstant| $ 48)
                (QREFELT $ 49))
            (QREFELT $$ 0)))))) 

(DEFUN |ExpressionSolve| (&REST #0=#:G33784)
  (PROG ()
    (RETURN
      (PROG (#1=#:G33785)
        (RETURN
          (COND
            ((LETT #1#
                   (|lassocShiftWithFunction| (|devaluateList| #0#)
                       (HGET |$ConstructorCache| '|ExpressionSolve|)
                       '|domainEqualList|)
                   . #2=(|ExpressionSolve|))
             (|CDRwithIncrement| #1#))
            ('T
             (UNWIND-PROTECT
               (PROG1 (APPLY (|function| |ExpressionSolve;|) #0#)
                 (LETT #1# T . #2#))
               (COND
                 ((NOT #1#)
                  (HREM |$ConstructorCache| '|ExpressionSolve|))))))))))) 

(DEFUN |ExpressionSolve;| (|#1| |#2| |#3| |#4|)
  (PROG (DV$1 DV$2 DV$3 DV$4 |dv$| $ |pv$|)
    (RETURN
      (PROGN
        (LETT DV$1 (|devaluate| |#1|) . #0=(|ExpressionSolve|))
        (LETT DV$2 (|devaluate| |#2|) . #0#)
        (LETT DV$3 (|devaluate| |#3|) . #0#)
        (LETT DV$4 (|devaluate| |#4|) . #0#)
        (LETT |dv$|
              (LIST '|ExpressionSolve| DV$1 DV$2 DV$3 DV$4) . #0#)
        (LETT $ (GETREFV 54) . #0#)
        (QSETREFV $ 0 |dv$|)
        (QSETREFV $ 3 (LETT |pv$| (|buildPredVector| 0 0 NIL) . #0#))
        (|haddProp| |$ConstructorCache| '|ExpressionSolve|
            (LIST DV$1 DV$2 DV$3 DV$4) (CONS 1 $))
        (|stuffDomainSlots| $)
        (QSETREFV $ 6 |#1|)
        (QSETREFV $ 7 |#2|)
        (QSETREFV $ 8 |#3|)
        (QSETREFV $ 9 |#4|)
        (QSETREFV $ 15
            (SPADCALL (SPADCALL "elt" (QREFELT $ 12)) (QREFELT $ 14)))
        (QSETREFV $ 16
            (SPADCALL (SPADCALL "D" (QREFELT $ 12)) (QREFELT $ 14)))
        (QSETREFV $ 17
            (SPADCALL (SPADCALL "coerce" (QREFELT $ 12))
                (QREFELT $ 14)))
        $)))) 

(MAKEPROP '|ExpressionSolve| '|infovec|
    (LIST '#(NIL NIL NIL NIL NIL NIL (|local| |#1|) (|local| |#2|)
             (|local| |#3|) (|local| |#4|) (|String|) (|Symbol|)
             (0 . |coerce|) (|BasicOperator|) (5 . |operator|) '|opelt|
             '|opdiff| '|opcoerce| (|List| (|Kernel| $))
             (10 . |kernels|) (|Boolean|) (|Kernel| 7) (15 . |is?|)
             (|List| 7) (21 . |argument|) (26 . |coerce|) (31 . =)
             (37 . |name|) (|List| $) (42 . |subst|)
             |EXPRSOL;replaceDiffs;FBoSF;1| (49 . |elt|) (55 . |is?|)
             (61 . |One|) (65 . |One|) (|Integer|) (69 . |elt|)
             (|Equation| 7) (75 . =) (|Equation| $) (81 . |subst|)
             (87 . |elt|) (|Mapping| 9 9 9)
             (|MakeBinaryCompiledFunction| 7 9 9 9)
             (93 . |compiledFunction|)
             (|SparseUnivariatePolynomialExpressions| 7) (100 . |One|)
             (|NonNegativeInteger|) (104 . |One|) (108 . |monomial|)
             (|Mapping| 9 9) (|TaylorSolve| 7 8 9)
             (114 . |seriesSolve|) |EXPRSOL;seriesSolve;FBoSLUTSF;2|)
          '#(|seriesSolve| 120 |replaceDiffs| 128) 'NIL
          (CONS (|makeByteWordVec2| 1 'NIL)
                (CONS '#()
                      (CONS '#()
                            (|makeByteWordVec2| 53
                                '(1 11 0 10 12 1 13 0 11 14 1 7 18 0 19
                                  2 21 20 0 13 22 1 21 23 0 24 1 7 0 11
                                  25 2 7 20 0 0 26 1 13 11 0 27 3 7 0 0
                                  18 28 29 2 7 0 13 28 31 2 21 20 0 11
                                  32 0 6 0 33 0 7 0 34 2 23 7 0 35 36 2
                                  37 0 7 7 38 2 7 0 0 39 40 2 7 0 13 0
                                  41 3 43 42 7 11 11 44 0 45 0 46 0 47
                                  0 48 2 9 0 45 47 49 2 51 8 50 23 52 4
                                  0 8 7 13 11 23 53 3 0 7 7 13 11 30)))))
          '|lookupComplete|)) 
