
(/VERSIONCHECK 2) 

(DEFUN |FFFGF;multiplyRows!| (|v| M $)
  (PROG (|j| |i| |n|)
    (RETURN
     (SEQ (LETT |n| (QVSIZE |v|) . #1=(|FFFGF;multiplyRows!|))
          (SEQ (LETT |i| 1 . #1#) G190 (COND ((QSGREATERP |i| |n|) (GO G191)))
               (SEQ
                (EXIT
                 (SEQ (LETT |j| 1 . #1#) G190
                      (COND ((QSGREATERP |j| |n|) (GO G191)))
                      (SEQ
                       (EXIT
                        (SPADCALL M |i| |j|
                                  (SPADCALL (SPADCALL |v| |i| (QREFELT $ 11))
                                            (SPADCALL M |i| |j| (QREFELT $ 14))
                                            (QREFELT $ 15))
                                  (QREFELT $ 16))))
                      (LETT |j| (QSADD1 |j|) . #1#) (GO G190) G191
                      (EXIT NIL))))
               (LETT |i| (QSADD1 |i|) . #1#) (GO G190) G191 (EXIT NIL))
          (EXIT M))))) 

(DEFUN |FFFGF;generalInterpolation;LMVLM;2| (C |coeffAction| |f| |eta| $)
  (PROG (M |c| |i| |den| |g| |n|)
    (RETURN
     (SEQ (LETT |n| (QVSIZE |f|) . #1=(|FFFGF;generalInterpolation;LMVLM;2|))
          (LETT |g| (MAKEARR1 |n| (|spadConstant| $ 18)) . #1#)
          (LETT |den| (MAKEARR1 |n| (|spadConstant| $ 17)) . #1#)
          (SEQ (LETT |i| 1 . #1#) G190 (COND ((QSGREATERP |i| |n|) (GO G191)))
               (SEQ
                (LETT |c|
                      (SPADCALL (SPADCALL |f| |i| (QREFELT $ 20))
                                (QREFELT $ 22))
                      . #1#)
                (SPADCALL |den| |i| (SPADCALL |c| (QREFELT $ 24))
                          (QREFELT $ 25))
                (EXIT
                 (SPADCALL |g| |i|
                           (SPADCALL
                            (CONS #'|FFFGF;generalInterpolation;LMVLM;2!0|
                                  (VECTOR $ |i| |den|))
                            (SPADCALL |f| |i| (QREFELT $ 20)) (QREFELT $ 31))
                           (QREFELT $ 33))))
               (LETT |i| (QSADD1 |i|) . #1#) (GO G190) G191 (EXIT NIL))
          (LETT M (SPADCALL C |coeffAction| |g| |eta| (QREFELT $ 38)) . #1#)
          (EXIT (|FFFGF;multiplyRows!| |den| M $)))))) 

(DEFUN |FFFGF;generalInterpolation;LMVLM;2!0| (|x| $$)
  (PROG (|den| |i| $)
    (LETT |den| (QREFELT $$ 2) . #1=(|FFFGF;generalInterpolation;LMVLM;2|))
    (LETT |i| (QREFELT $$ 1) . #1#)
    (LETT $ (QREFELT $$ 0) . #1#)
    (RETURN
     (PROGN
      (SPADCALL
       (SPADCALL |x| (SPADCALL |den| |i| (QREFELT $ 11)) (QREFELT $ 27))
       (QREFELT $ 28)))))) 

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

(DEFUN |FractionFreeFastGaussianFractions;| (|#1| |#2| |#3|)
  (PROG (|pv$| $ |dv$| DV$3 DV$2 DV$1)
    (RETURN
     (PROGN
      (LETT DV$1 (|devaluate| |#1|) . #1=(|FractionFreeFastGaussianFractions|))
      (LETT DV$2 (|devaluate| |#2|) . #1#)
      (LETT DV$3 (|devaluate| |#3|) . #1#)
      (LETT |dv$| (LIST '|FractionFreeFastGaussianFractions| DV$1 DV$2 DV$3)
            . #1#)
      (LETT $ (GETREFV 40) . #1#)
      (QSETREFV $ 0 |dv$|)
      (QSETREFV $ 3 (LETT |pv$| (|buildPredVector| 0 0 NIL) . #1#))
      (|haddProp| |$ConstructorCache| '|FractionFreeFastGaussianFractions|
                  (LIST DV$1 DV$2 DV$3) (CONS 1 $))
      (|stuffDomainSlots| $)
      (QSETREFV $ 6 |#1|)
      (QSETREFV $ 7 |#2|)
      (QSETREFV $ 8 |#3|)
      (SETF |pv$| (QREFELT $ 3))
      $)))) 

(MAKEPROP '|FractionFreeFastGaussianFractions| '|infovec|
          (LIST
           '#(NIL NIL NIL NIL NIL NIL (|local| |#1|) (|local| |#2|)
              (|local| |#3|) (|Integer|) (|Vector| 6) (0 . |elt|)
              (|SparseUnivariatePolynomial| 6) (|Matrix| 12) (6 . |elt|)
              (13 . *) (19 . |setelt|) (27 . |Zero|) (31 . |Zero|) (|Vector| 8)
              (35 . |elt|) (|List| 26) (41 . |coefficients|)
              (|CommonDenominator| 6 26 21) (46 . |commonDenominator|)
              (51 . |setelt|) (|Fraction| 6) (58 . *) (64 . |retract|)
              (|Mapping| 6 26)
              (|FiniteAbelianMonoidRingFunctions2| (|NonNegativeInteger|) 26 8
                                                   6 7)
              (69 . |map|) (|Vector| 7) (75 . |setelt|) (|List| 6)
              (|Mapping| 6 (|NonNegativeInteger|) (|NonNegativeInteger|) 7)
              (|List| (|NonNegativeInteger|)) (|FractionFreeFastGaussian| 6 7)
              (82 . |generalInterpolation|)
              |FFFGF;generalInterpolation;LMVLM;2|)
           '#(|generalInterpolation| 90) 'NIL
           (CONS (|makeByteWordVec2| 1 'NIL)
                 (CONS '#()
                       (CONS '#()
                             (|makeByteWordVec2| 39
                                                 '(2 10 6 0 9 11 3 13 12 0 9 9
                                                   14 2 12 0 6 0 15 4 13 12 0 9
                                                   9 12 16 0 6 0 17 0 7 0 18 2
                                                   19 8 0 9 20 1 8 21 0 22 1 23
                                                   6 21 24 3 10 6 0 9 6 25 2 26
                                                   0 0 6 27 1 26 6 0 28 2 30 7
                                                   29 8 31 3 32 7 0 9 7 33 4 37
                                                   13 34 35 32 36 38 4 0 13 34
                                                   35 19 36 39)))))
           '|lookupComplete|)) 
