
(/VERSIONCHECK 2) 

(DEFUN |FCOMP;sin;E$;1| (|e| $) (CONS 'T |e|)) 

(DEFUN |FCOMP;cos;E$;2| (|e| $) (CONS 'NIL |e|)) 

(PUT '|FCOMP;sin?;$B;3| '|SPADreplace| 'QCAR) 

(DEFUN |FCOMP;sin?;$B;3| (|x| $) (QCAR |x|)) 

(PUT '|FCOMP;argument;$E;4| '|SPADreplace| 'QCDR) 

(DEFUN |FCOMP;argument;$E;4| (|x| $) (QCDR |x|)) 

(DEFUN |FCOMP;coerce;$Of;5| (|x| $)
  (SPADCALL (COND ((QCAR |x|) "sin") ('T "cos"))
      (SPADCALL (SPADCALL (QCDR |x|) (QREFELT $ 14)) (QREFELT $ 15))
      (QREFELT $ 16))) 

(DEFUN |FCOMP;<;2$B;6| (|x| |y| $)
  (COND
    ((SPADCALL (QCDR |x|) (QCDR |y|) (QREFELT $ 18)) 'T)
    ((OR (SPADCALL (QCDR |y|) (QCDR |x|) (QREFELT $ 18)) (QCAR |x|))
     'NIL)
    ('T (QCAR |y|)))) 

(DEFUN |FourierComponent| (#0=#:G1832)
  (PROG ()
    (RETURN
      (PROG (#1=#:G1833)
        (RETURN
          (COND
            ((LETT #1#
                   (|lassocShiftWithFunction| (LIST (|devaluate| #0#))
                       (HGET |$ConstructorCache| '|FourierComponent|)
                       '|domainEqualList|)
                   . #2=(|FourierComponent|))
             (|CDRwithIncrement| #1#))
            ('T
             (UNWIND-PROTECT
               (PROG1 (|FourierComponent;| #0#) (LETT #1# T . #2#))
               (COND
                 ((NOT #1#)
                  (HREM |$ConstructorCache| '|FourierComponent|))))))))))) 

(DEFUN |FourierComponent;| (|#1|)
  (PROG (DV$1 |dv$| $ |pv$|)
    (RETURN
      (PROGN
        (LETT DV$1 (|devaluate| |#1|) . #0=(|FourierComponent|))
        (LETT |dv$| (LIST '|FourierComponent| DV$1) . #0#)
        (LETT $ (GETREFV 22) . #0#)
        (QSETREFV $ 0 |dv$|)
        (QSETREFV $ 3 (LETT |pv$| (|buildPredVector| 0 0 NIL) . #0#))
        (|haddProp| |$ConstructorCache| '|FourierComponent| (LIST DV$1)
            (CONS 1 $))
        (|stuffDomainSlots| $)
        (QSETREFV $ 6 |#1|)
        (QSETREFV $ 7
            (|Record| (|:| |SinIfTrue| (|Boolean|)) (|:| |arg| |#1|)))
        $)))) 

(MAKEPROP '|FourierComponent| '|infovec|
    (LIST '#(NIL NIL NIL NIL NIL NIL (|local| |#1|) '|Rep|
             |FCOMP;sin;E$;1| |FCOMP;cos;E$;2| (|Boolean|)
             |FCOMP;sin?;$B;3| |FCOMP;argument;$E;4| (|OutputForm|)
             (0 . |coerce|) (5 . |bracket|) (10 . |hconcat|)
             |FCOMP;coerce;$Of;5| (16 . <) |FCOMP;<;2$B;6| (|String|)
             (|SingleInteger|))
          '#(~= 22 |sin?| 28 |sin| 33 |min| 38 |max| 44 |latex| 50
             |hash| 55 |cos| 60 |coerce| 65 |argument| 70 >= 75 > 81 =
             87 <= 93 < 99)
          'NIL
          (CONS (|makeByteWordVec2| 1 '(0 0 0 0))
                (CONS '#(|OrderedSet&| |SetCategory&| |BasicType&| NIL)
                      (CONS '#((|OrderedSet|) (|SetCategory|)
                               (|BasicType|) (|CoercibleTo| 13))
                            (|makeByteWordVec2| 21
                                '(1 6 13 0 14 1 13 0 0 15 2 13 0 0 0 16
                                  2 6 10 0 0 18 2 0 10 0 0 1 1 0 10 0
                                  11 1 0 0 6 8 2 0 0 0 0 1 2 0 0 0 0 1
                                  1 0 20 0 1 1 0 21 0 1 1 0 0 6 9 1 0
                                  13 0 17 1 0 6 0 12 2 0 10 0 0 1 2 0
                                  10 0 0 1 2 0 10 0 0 1 2 0 10 0 0 1 2
                                  0 10 0 0 19)))))
          '|lookupComplete|)) 
