
(/VERSIONCHECK 2) 

(DEFUN |FSERIES;One;$;1| ($)
  (LIST (CONS (SPADCALL (|spadConstant| $ 12) (QREFELT $ 14))
              (|spadConstant| $ 15)))) 

(DEFUN |FSERIES;coerce;Fc$;2| (|e| $)
  (PROG (#0=#:G1832)
    (RETURN
      (SEQ (EXIT (SEQ (COND
                        ((SPADCALL |e| (QREFELT $ 18))
                         (COND
                           ((SPADCALL (SPADCALL |e| (QREFELT $ 19))
                                (QREFELT $ 20))
                            (EXIT (|spadConstant| $ 10))))))
                      (COND
                        ((SPADCALL (SPADCALL |e| (QREFELT $ 19))
                             (|spadConstant| $ 12) (QREFELT $ 21))
                         (COND
                           ((NULL (SPADCALL |e| (QREFELT $ 18)))
                            (LETT |e|
                                  (SPADCALL
                                      (SPADCALL
                                       (SPADCALL |e| (QREFELT $ 19))
                                       (QREFELT $ 22))
                                      (QREFELT $ 14))
                                  . #1=(|FSERIES;coerce;Fc$;2|)))
                           ('T
                            (PROGN
                              (LETT #0#
                                    (LIST
                                     (CONS
                                      (SPADCALL
                                       (SPADCALL
                                        (SPADCALL |e| (QREFELT $ 19))
                                        (QREFELT $ 22))
                                       (QREFELT $ 23))
                                      (SPADCALL (|spadConstant| $ 15)
                                       (QREFELT $ 24)))) . #1#)
                              (GO #0#))))))
                      (EXIT (LIST (CONS |e| (|spadConstant| $ 15))))))
           #0# (EXIT #0#))))) 

(DEFUN |FSERIES;multiply| (|t1| |t2| $)
  (PROG (|r| |s1| |s2| |sum| |diff|)
    (RETURN
      (SEQ (LETT |r|
                 (SPADCALL
                     (SPADCALL (QCDR |t1|) (QCDR |t2|) (QREFELT $ 26))
                     (SPADCALL 1 2 (QREFELT $ 29)) (QREFELT $ 30))
                 . #0=(|FSERIES;multiply|))
           (LETT |s1| (SPADCALL (QCAR |t1|) (QREFELT $ 19)) . #0#)
           (LETT |s2| (SPADCALL (QCAR |t2|) (QREFELT $ 19)) . #0#)
           (LETT |sum| (SPADCALL |s1| |s2| (QREFELT $ 31)) . #0#)
           (LETT |diff| (SPADCALL |s1| |s2| (QREFELT $ 32)) . #0#)
           (EXIT (COND
                   ((SPADCALL (QCAR |t1|) (QREFELT $ 18))
                    (COND
                      ((SPADCALL (QCAR |t2|) (QREFELT $ 18))
                       (SPADCALL (SPADCALL |diff| |r| (QREFELT $ 33))
                           (SPADCALL |sum|
                               (SPADCALL |r| (QREFELT $ 24))
                               (QREFELT $ 33))
                           (QREFELT $ 34)))
                      ('T
                       (SPADCALL (SPADCALL |sum| |r| (QREFELT $ 35))
                           (SPADCALL |diff| |r| (QREFELT $ 35))
                           (QREFELT $ 34)))))
                   ((SPADCALL (QCAR |t2|) (QREFELT $ 18))
                    (SPADCALL (SPADCALL |sum| |r| (QREFELT $ 35))
                        (SPADCALL |diff| |r| (QREFELT $ 35))
                        (QREFELT $ 34)))
                   ('T
                    (SPADCALL (SPADCALL |diff| |r| (QREFELT $ 33))
                        (SPADCALL |sum| |r| (QREFELT $ 33))
                        (QREFELT $ 34))))))))) 

(DEFUN |FSERIES;*;3$;4| (|x1| |x2| $)
  (PROG (|t1| #0=#:G1844 |t2| #1=#:G1845 #2=#:G1842 #3=#:G1840
              #4=#:G1841 #5=#:G1839 #6=#:G1837 #7=#:G1838)
    (RETURN
      (SEQ (COND
             ((OR (NULL |x1|) (NULL |x2|)) (|spadConstant| $ 10))
             ('T
              (PROGN
                (LETT #7# NIL . #8=(|FSERIES;*;3$;4|))
                (SEQ (LETT |t1| NIL . #8#) (LETT #0# |x1| . #8#) G190
                     (COND
                       ((OR (ATOM #0#)
                            (PROGN (LETT |t1| (CAR #0#) . #8#) NIL))
                        #9=(GO G191)))
                     (SEQ (EXIT (PROGN
                                  (LETT #5#
                                        (PROGN
                                          (LETT #4# NIL . #8#)
                                          (SEQ (LETT |t2| NIL . #8#)
                                           (LETT #1# |x2| . #8#) G190
                                           (COND
                                             ((OR (ATOM #1#)
                                               (PROGN
                                                 (LETT |t2|
                                                  (CAR #1#) . #8#)
                                                 NIL))
                                              #9#))
                                           (SEQ
                                            (EXIT
                                             (PROGN
                                               (LETT #2#
                                                (|FSERIES;multiply|
                                                 |t1| |t2| $) . #8#)
                                               (COND
                                                 (#4#
                                                  (LETT #3#
                                                   (SPADCALL #3# #2#
                                                    (QREFELT $ 34)) . #8#))
                                                 ('T
                                                  (PROGN
                                                    (LETT #3#
                                                     #2# . #8#)
                                                    (LETT #4# 'T . #8#)))))))
                                           (LETT #1# (CDR #1#) . #8#)
                                           #10=(GO G190) G191
                                           (EXIT NIL))
                                          (COND
                                            (#4# #3#)
                                            ('T (|spadConstant| $ 10)))) . #8#)
                                  (COND
                                    (#7#
                                     (LETT #6#
                                      (SPADCALL #6# #5# (QREFELT $ 34)) . #8#))
                                    ('T
                                     (PROGN
                                       (LETT #6# #5# . #8#)
                                       (LETT #7# 'T . #8#)))))))
                     (LETT #0# (CDR #0#) . #8#) #10# G191 (EXIT NIL))
                (COND (#7# #6#) ('T (|spadConstant| $ 10)))))))))) 

(DEFUN |FSERIES;makeCos;ER$;5| (|a| |r| $)
  (COND
    ((SPADCALL |a| (|spadConstant| $ 12) (QREFELT $ 21))
     (LIST (CONS (SPADCALL (SPADCALL |a| (QREFELT $ 22))
                     (QREFELT $ 14))
                 |r|)))
    ('T (LIST (CONS (SPADCALL |a| (QREFELT $ 14)) |r|))))) 

(DEFUN |FSERIES;makeSin;ER$;6| (|a| |r| $)
  (COND
    ((SPADCALL |a| (QREFELT $ 20)) NIL)
    ((SPADCALL |a| (|spadConstant| $ 12) (QREFELT $ 21))
     (LIST (CONS (SPADCALL (SPADCALL |a| (QREFELT $ 22))
                     (QREFELT $ 23))
                 (SPADCALL |r| (QREFELT $ 24)))))
    ('T (LIST (CONS (SPADCALL |a| (QREFELT $ 23)) |r|))))) 

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

(DEFUN |FourierSeries;| (|#1| |#2|)
  (PROG (DV$1 DV$2 |dv$| $ |pv$|)
    (RETURN
      (PROGN
        (LETT DV$1 (|devaluate| |#1|) . #0=(|FourierSeries|))
        (LETT DV$2 (|devaluate| |#2|) . #0#)
        (LETT |dv$| (LIST '|FourierSeries| DV$1 DV$2) . #0#)
        (LETT $ (GETREFV 43) . #0#)
        (QSETREFV $ 0 |dv$|)
        (QSETREFV $ 3
            (LETT |pv$|
                  (|buildPredVector| 0 0
                      (LIST (AND (|HasCategory| |#1| '(|Canonical|))
                                 (|HasCategory| |#2| '(|Canonical|))))) . #0#))
        (|haddProp| |$ConstructorCache| '|FourierSeries|
            (LIST DV$1 DV$2) (CONS 1 $))
        (|stuffDomainSlots| $)
        (QSETREFV $ 6 |#1|)
        (QSETREFV $ 7 |#2|)
        (QSETREFV $ 8
            (|Record| (|:| |k| (|FourierComponent| |#2|))
                (|:| |c| |#1|)))
        (QSETREFV $ 9 (|List| (QREFELT $ 8)))
        $)))) 

(MAKEPROP '|FourierSeries| '|infovec|
    (LIST '#(NIL NIL NIL NIL NIL (|FreeModule| 6 13) (|local| |#1|)
             (|local| |#2|) '|Term| '|Rep| (0 . |Zero|) (4 . |Zero|)
             (8 . |Zero|) (|FourierComponent| 7) (12 . |cos|)
             (17 . |One|)
             (CONS IDENTITY
                   (FUNCALL (|dispatchFunction| |FSERIES;One;$;1|) $))
             (|Boolean|) (21 . |sin?|) (26 . |argument|) (31 . |zero?|)
             (36 . <) (42 . -) (47 . |sin|) (52 . -)
             |FSERIES;coerce;Fc$;2| (57 . *) (|Integer|)
             (|Fraction| 27) (63 . /) (69 . *) (75 . +) (81 . -)
             |FSERIES;makeCos;ER$;5| (87 . +) |FSERIES;makeSin;ER$;6|
             |FSERIES;*;3$;4| (|Union| $ '"failed")
             (|NonNegativeInteger|) (|PositiveInteger|) (|String|)
             (|OutputForm|) (|SingleInteger|))
          '#(~= 93 |zero?| 99 |subtractIfCan| 104 |sample| 110 |recip|
             114 |one?| 119 |makeSin| 124 |makeCos| 130 |latex| 136
             |hash| 141 |coerce| 146 |characteristic| 166 ^ 170 |Zero|
             182 |One| 186 = 190 - 196 + 207 ** 213 * 225)
          'NIL
          (CONS (|makeByteWordVec2| 1
                    '(0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1))
                (CONS '#(|Algebra&| |Module&| |Ring&| NIL NIL NIL NIL
                         NIL |AbelianGroup&| NIL NIL |AbelianMonoid&|
                         |Monoid&| NIL |SemiGroup&| |AbelianSemiGroup&|
                         |SetCategory&| NIL |BasicType&| NIL NIL)
                      (CONS '#((|Algebra| 6) (|Module| 6) (|Ring|)
                               (|BiModule| 6 6) (|Rng|)
                               (|RightModule| 6) (|LeftModule| 6)
                               (|LeftModule| $$) (|AbelianGroup|)
                               (|CancellationAbelianMonoid|)
                               (|SemiRing|) (|AbelianMonoid|)
                               (|Monoid|) (|SemiRng|) (|SemiGroup|)
                               (|AbelianSemiGroup|) (|SetCategory|)
                               (|unitsKnown|) (|BasicType|)
                               (|CoercibleTo| 41) (|Canonical|))
                            (|makeByteWordVec2| 42
                                '(0 0 0 10 0 6 0 11 0 7 0 12 1 13 0 7
                                  14 0 6 0 15 1 13 17 0 18 1 13 7 0 19
                                  1 7 17 0 20 2 7 17 0 0 21 1 7 0 0 22
                                  1 13 0 7 23 1 6 0 0 24 2 6 0 0 0 26 2
                                  28 0 27 27 29 2 6 0 0 28 30 2 7 0 0 0
                                  31 2 7 0 0 0 32 2 0 0 0 0 34 2 0 17 0
                                  0 1 1 0 17 0 1 2 0 37 0 0 1 0 0 0 1 1
                                  0 37 0 1 1 0 17 0 1 2 0 0 7 6 35 2 0
                                  0 7 6 33 1 0 40 0 1 1 0 42 0 1 1 0 0
                                  13 25 1 0 0 6 1 1 0 0 27 1 1 0 41 0 1
                                  0 0 38 1 2 0 0 0 38 1 2 0 0 0 39 1 0
                                  0 0 10 0 0 0 16 2 0 17 0 0 1 1 0 0 0
                                  1 2 0 0 0 0 1 2 0 0 0 0 34 2 0 0 0 38
                                  1 2 0 0 0 39 1 2 0 0 6 0 1 2 0 0 0 6
                                  1 2 0 0 27 0 1 2 0 0 0 0 36 2 0 0 38
                                  0 1 2 0 0 39 0 1)))))
          '|lookupComplete|)) 
