
(/VERSIONCHECK 2) 

(DEFUN |FELFUN;rabs;2F;1| (|r| $) (SPADCALL |r| (QREFELT $ 7))) 

(DEFUN |FELFUN;rabs;CF;2| (|r| $)
  (SPADCALL (SPADCALL |r| (QREFELT $ 10)) (QREFELT $ 11))) 

(DEFUN |FELFUN;landen1;FL;3| (|m1| $)
  (PROG (|res| |kn1| |kp|)
    (RETURN
     (SEQ (LETT |res| NIL . #1=(|FELFUN;landen1;FL;3|))
          (SEQ G190
               (COND
                ((NULL
                  (SPADCALL (SPADCALL |m1| (QREFELT $ 8))
                            (SPADCALL 25 -2 10 (QREFELT $ 15)) (QREFELT $ 17)))
                 (GO G191)))
               (SEQ (LETT |kp| (SPADCALL |m1| (QREFELT $ 18)) . #1#)
                    (LETT |kn1|
                          (SPADCALL (SPADCALL 2 |kp| (QREFELT $ 19))
                                    (SPADCALL (|spadConstant| $ 20) |kp|
                                              (QREFELT $ 21))
                                    (QREFELT $ 22))
                          . #1#)
                    (LETT |res|
                          (CONS
                           (SPADCALL (|spadConstant| $ 20) |kn1|
                                     (QREFELT $ 23))
                           |res|)
                          . #1#)
                    (EXIT
                     (LETT |m1|
                           (SPADCALL (SPADCALL 2 |kn1| (QREFELT $ 19))
                                     (SPADCALL |kn1| 2 (QREFELT $ 24))
                                     (QREFELT $ 23))
                           . #1#)))
               NIL (GO G190) G191 (EXIT NIL))
          (EXIT (CONS |m1| |res|)))))) 

(DEFUN |FELFUN;landen2;FLFL;4| (|m| |res| |eps| $)
  (PROG (|kn| |kp| #1=#:G1822 |am|)
    (RETURN
     (SEQ
      (SEQ
       (EXIT
        (SEQ G190 NIL
             (SEQ
              (LETT |am| (SPADCALL |m| (QREFELT $ 8))
                    . #2=(|FELFUN;landen2;FLFL;4|))
              (EXIT
               (COND
                ((SPADCALL |am| |eps| (QREFELT $ 17))
                 (SEQ
                  (LETT |kn|
                        (SPADCALL
                         (SPADCALL (|spadConstant| $ 20) 4 (QREFELT $ 27)) |m|
                         (QREFELT $ 28))
                        . #2#)
                  (LETT |res| (CONS |kn| |res|) . #2#)
                  (EXIT (PROGN (LETT #1# |$NoValue| . #2#) (GO #1#)))))
                ('T
                 (SEQ
                  (LETT |kp|
                        (SPADCALL
                         (SPADCALL (|spadConstant| $ 20) |m| (QREFELT $ 23))
                         (QREFELT $ 18))
                        . #2#)
                  (LETT |kn|
                        (SPADCALL
                         (SPADCALL (|spadConstant| $ 20) |kp| (QREFELT $ 23))
                         (SPADCALL (|spadConstant| $ 20) |kp| (QREFELT $ 21))
                         (QREFELT $ 22))
                        . #2#)
                  (LETT |res| (CONS |kn| |res|) . #2#)
                  (EXIT (LETT |m| (SPADCALL |kn| 2 (QREFELT $ 24)) . #2#)))))))
             NIL (GO G190) G191 (EXIT NIL)))
       #1# (EXIT #1#))
      (EXIT |res|))))) 

(DEFUN |FELFUN;landen;2FL;5| (|m| |eps| $)
  (PROG (|res| |m1|)
    (RETURN
     (SEQ (LETT |res| NIL . #1=(|FELFUN;landen;2FL;5|))
          (COND
           ((SPADCALL
             (SPADCALL
              (LETT |m1| (SPADCALL (|spadConstant| $ 20) |m| (QREFELT $ 23))
                    . #1#)
              (QREFELT $ 8))
             (SPADCALL 25 -2 10 (QREFELT $ 15)) (QREFELT $ 17))
            (SEQ (LETT |res| (SPADCALL |m1| (QREFELT $ 26)) . #1#)
                 (LETT |m|
                       (SPADCALL (|spadConstant| $ 20) (|SPADfirst| |res|)
                                 (QREFELT $ 23))
                       . #1#)
                 (EXIT (LETT |res| (CDR |res|) . #1#)))))
          (EXIT (SPADCALL |m| |res| |eps| (QREFELT $ 29))))))) 

(DEFUN |FELFUN;kprod;LF;6| (|ll| $)
  (PROG (#1=#:G1839 |k| #2=#:G1838)
    (RETURN
     (SEQ
      (SPADCALL (ELT $ 28)
                (PROGN
                 (LETT #2# NIL . #3=(|FELFUN;kprod;LF;6|))
                 (SEQ (LETT |k| NIL . #3#) (LETT #1# |ll| . #3#) G190
                      (COND
                       ((OR (ATOM #1#) (PROGN (LETT |k| (CAR #1#) . #3#) NIL))
                        (GO G191)))
                      (SEQ
                       (EXIT
                        (LETT #2#
                              (CONS
                               (SPADCALL (|spadConstant| $ 20) |k|
                                         (QREFELT $ 21))
                               #2#)
                              . #3#)))
                      (LETT #1# (CDR #1#) . #3#) (GO G190) G191
                      (EXIT (NREVERSE0 #2#))))
                (QREFELT $ 33)))))) 

(DEFUN |FELFUN;landen1;CL;7| (|m1| $)
  (PROG (|res| |kn1| |kp|)
    (RETURN
     (SEQ (LETT |res| NIL . #1=(|FELFUN;landen1;CL;7|))
          (SEQ G190
               (COND
                ((NULL
                  (SPADCALL (SPADCALL |m1| (QREFELT $ 12))
                            (SPADCALL 25 -2 10 (QREFELT $ 15)) (QREFELT $ 17)))
                 (GO G191)))
               (SEQ (LETT |kp| (SPADCALL |m1| (QREFELT $ 35)) . #1#)
                    (LETT |kn1|
                          (SPADCALL (SPADCALL 2 |kp| (QREFELT $ 36))
                                    (SPADCALL (|spadConstant| $ 30) |kp|
                                              (QREFELT $ 37))
                                    (QREFELT $ 38))
                          . #1#)
                    (LETT |res|
                          (CONS
                           (SPADCALL (|spadConstant| $ 30) |kn1|
                                     (QREFELT $ 39))
                           |res|)
                          . #1#)
                    (EXIT
                     (LETT |m1|
                           (SPADCALL (SPADCALL 2 |kn1| (QREFELT $ 36))
                                     (SPADCALL |kn1| 2 (QREFELT $ 40))
                                     (QREFELT $ 39))
                           . #1#)))
               NIL (GO G190) G191 (EXIT NIL))
          (EXIT (CONS |m1| |res|)))))) 

(DEFUN |FELFUN;landen2;CLFL;8| (|m| |res| |eps| $)
  (PROG (|kn| |kp| #1=#:G1850 |am|)
    (RETURN
     (SEQ
      (SEQ
       (EXIT
        (SEQ G190 NIL
             (SEQ
              (LETT |am| (SPADCALL |m| (QREFELT $ 12))
                    . #2=(|FELFUN;landen2;CLFL;8|))
              (EXIT
               (COND
                ((SPADCALL |am| |eps| (QREFELT $ 17))
                 (SEQ
                  (LETT |kn|
                        (SPADCALL
                         (SPADCALL (|spadConstant| $ 20) 4 (QREFELT $ 27)) |m|
                         (QREFELT $ 45))
                        . #2#)
                  (LETT |res| (CONS |kn| |res|) . #2#)
                  (EXIT (PROGN (LETT #1# |$NoValue| . #2#) (GO #1#)))))
                ('T
                 (SEQ
                  (LETT |kp|
                        (SPADCALL
                         (SPADCALL (|spadConstant| $ 30) |m| (QREFELT $ 39))
                         (QREFELT $ 35))
                        . #2#)
                  (LETT |kn|
                        (SPADCALL
                         (SPADCALL (|spadConstant| $ 30) |kp| (QREFELT $ 39))
                         (SPADCALL (|spadConstant| $ 30) |kp| (QREFELT $ 37))
                         (QREFELT $ 38))
                        . #2#)
                  (LETT |res| (CONS |kn| |res|) . #2#)
                  (EXIT (LETT |m| (SPADCALL |kn| 2 (QREFELT $ 40)) . #2#)))))))
             NIL (GO G190) G191 (EXIT NIL)))
       #1# (EXIT #1#))
      (EXIT |res|))))) 

(DEFUN |FELFUN;landen;CFL;9| (|m| |eps| $)
  (PROG (|res| |m1|)
    (RETURN
     (SEQ (LETT |res| NIL . #1=(|FELFUN;landen;CFL;9|))
          (COND
           ((SPADCALL
             (SPADCALL
              (LETT |m1| (SPADCALL (|spadConstant| $ 30) |m| (QREFELT $ 39))
                    . #1#)
              (QREFELT $ 12))
             (SPADCALL 25 -2 10 (QREFELT $ 15)) (QREFELT $ 17))
            (SEQ (LETT |res| (SPADCALL |m1| (QREFELT $ 42)) . #1#)
                 (LETT |m|
                       (SPADCALL (|spadConstant| $ 30) (|SPADfirst| |res|)
                                 (QREFELT $ 39))
                       . #1#)
                 (EXIT (LETT |res| (CDR |res|) . #1#)))))
          (EXIT (SPADCALL |m| |res| |eps| (QREFELT $ 46))))))) 

(DEFUN |FELFUN;kprod;LC;10| (|ll| $)
  (PROG (#1=#:G1863 |k| #2=#:G1862)
    (RETURN
     (SEQ
      (SPADCALL (ELT $ 48)
                (PROGN
                 (LETT #2# NIL . #3=(|FELFUN;kprod;LC;10|))
                 (SEQ (LETT |k| NIL . #3#) (LETT #1# |ll| . #3#) G190
                      (COND
                       ((OR (ATOM #1#) (PROGN (LETT |k| (CAR #1#) . #3#) NIL))
                        (GO G191)))
                      (SEQ
                       (EXIT
                        (LETT #2#
                              (CONS
                               (SPADCALL (|spadConstant| $ 30) |k|
                                         (QREFELT $ 37))
                               #2#)
                              . #3#)))
                      (LETT #1# (CDR #1#) . #3#) (GO G190) G191
                      (EXIT (NREVERSE0 #2#))))
                (QREFELT $ 50)))))) 

(DEFUN |FELFUN;pimod| (|z| $)
  (PROG (|nn| |pi2|)
    (RETURN
     (SEQ
      (LETT |pi2| (SPADCALL 2 (SPADCALL (QREFELT $ 52)) (QREFELT $ 19))
            . #1=(|FELFUN;pimod|))
      (LETT |nn|
            (SPADCALL
             (SPADCALL (SPADCALL |z| |pi2| (QREFELT $ 22)) (QREFELT $ 53))
             (QREFELT $ 54))
            . #1#)
      (EXIT
       (SPADCALL |z| (SPADCALL |nn| |pi2| (QREFELT $ 55)) (QREFELT $ 23))))))) 

(DEFUN |FELFUN;twotominusn| (|n| $)
  (COND ((EQL (SPADCALL (QREFELT $ 56)) 2) (SPADCALL 1 (- |n|) (QREFELT $ 57)))
        ('T (|error| "Only base 2 is supported")))) 

(DEFUN |FELFUN;ellipticK;2F;13| (|m| $)
  (PROG (|res| |ll| |eps| |prec| |obits|)
    (RETURN
     (SEQ
      (COND
       ((NULL (SPADCALL |m| (SPADCALL 1 0 10 (QREFELT $ 15)) (QREFELT $ 17)))
        (|error| "ellipticK : m >= 1.0"))
       ('T
        (SEQ
         (LETT |obits| (SPADCALL (QREFELT $ 59))
               . #1=(|FELFUN;ellipticK;2F;13|))
         (LETT |prec| (+ |obits| 20) . #1#)
         (LETT |eps| (|FELFUN;twotominusn| (QUOTIENT2 |prec| 2) $) . #1#)
         (LETT |ll| (SPADCALL |m| |eps| (QREFELT $ 31)) . #1#)
         (LETT |res|
               (SPADCALL
                (SPADCALL (SPADCALL (|spadConstant| $ 20) 2 (QREFELT $ 27))
                          (SPADCALL (QREFELT $ 52)) (QREFELT $ 28))
                (SPADCALL |ll| (QREFELT $ 34)) (QREFELT $ 28))
               . #1#)
         (SPADCALL |obits| (QREFELT $ 60)) (EXIT |res|)))))))) 

(DEFUN |FELFUN;ellipticK;2C;14| (|m| $)
  (PROG (|res| |ll| |eps| |prec| |obits|)
    (RETURN
     (SEQ
      (COND
       ((SPADCALL |m| (|spadConstant| $ 30) (QREFELT $ 62))
        (|error| "ellipticK : m = 1.0"))
       ('T
        (SEQ
         (LETT |obits| (SPADCALL (QREFELT $ 59))
               . #1=(|FELFUN;ellipticK;2C;14|))
         (LETT |prec| (+ |obits| 20) . #1#)
         (LETT |eps| (|FELFUN;twotominusn| (QUOTIENT2 |prec| 2) $) . #1#)
         (LETT |ll| (SPADCALL |m| |eps| (QREFELT $ 47)) . #1#)
         (LETT |res|
               (SPADCALL
                (SPADCALL (SPADCALL (|spadConstant| $ 20) 2 (QREFELT $ 27))
                          (SPADCALL (QREFELT $ 63)) (QREFELT $ 45))
                (SPADCALL |ll| (QREFELT $ 51)) (QREFELT $ 48))
               . #1#)
         (SPADCALL |obits| (QREFELT $ 60)) (EXIT |res|)))))))) 

(DEFUN |FELFUN;sn2| (|z| |ll| $)
  (PROG (|res| #1=#:G1875 |k|)
    (RETURN
     (SEQ (LETT |res| (SPADCALL |z| (QREFELT $ 65)) . #2=(|FELFUN;sn2|))
          (SEQ (LETT |k| NIL . #2#) (LETT #1# |ll| . #2#) G190
               (COND
                ((OR (ATOM #1#) (PROGN (LETT |k| (CAR #1#) . #2#) NIL))
                 (GO G191)))
               (SEQ
                (EXIT
                 (LETT |res|
                       (SPADCALL
                        (SPADCALL
                         (SPADCALL (|spadConstant| $ 20) |k| (QREFELT $ 21))
                         |res| (QREFELT $ 28))
                        (SPADCALL (|spadConstant| $ 20)
                                  (SPADCALL |k|
                                            (SPADCALL |res| 2 (QREFELT $ 24))
                                            (QREFELT $ 28))
                                  (QREFELT $ 21))
                        (QREFELT $ 22))
                       . #2#)))
               (LETT #1# (CDR #1#) . #2#) (GO G190) G191 (EXIT NIL))
          (EXIT |res|))))) 

(DEFUN |FELFUN;sin1| (|z| $)
  (PROG (|z1|)
    (RETURN
     (SEQ
      (COND
       ((OR (SPADCALL |z| (|spadConstant| $ 20) (QREFELT $ 17))
            (SPADCALL (SPADCALL 2 0 10 (QREFELT $ 15)) |z| (QREFELT $ 17)))
        (SPADCALL (|spadConstant| $ 20) (SPADCALL |z| (QREFELT $ 65))
                  (QREFELT $ 23)))
       ('T
        (SEQ
         (LETT |z1|
               (SPADCALL |z|
                         (SPADCALL (SPADCALL (QREFELT $ 52))
                                   (SPADCALL 2 0 10 (QREFELT $ 15))
                                   (QREFELT $ 22))
                         (QREFELT $ 23))
               . #1=(|FELFUN;sin1|))
         (LETT |z1| (SPADCALL |z1| 2 (QREFELT $ 27)) . #1#)
         (EXIT
          (SPADCALL 2
                    (SPADCALL (SPADCALL |z1| (QREFELT $ 65)) 2 (QREFELT $ 24))
                    (QREFELT $ 19)))))))))) 

(DEFUN |FELFUN;sn21| (|z| |ll| $)
  (PROG (|res| |kres| |res0| #1=#:G1883 |k|)
    (RETURN
     (SEQ (LETT |res| (|FELFUN;sin1| |z| $) . #2=(|FELFUN;sn21|))
          (SEQ (LETT |k| NIL . #2#) (LETT #1# |ll| . #2#) G190
               (COND
                ((OR (ATOM #1#) (PROGN (LETT |k| (CAR #1#) . #2#) NIL))
                 (GO G191)))
               (SEQ
                (LETT |res0|
                      (SPADCALL (|spadConstant| $ 20) |res| (QREFELT $ 23))
                      . #2#)
                (LETT |kres| (SPADCALL |k| |res| (QREFELT $ 28)) . #2#)
                (EXIT
                 (LETT |res|
                       (SPADCALL
                        (SPADCALL (SPADCALL |res| |kres| (QREFELT $ 23))
                                  (SPADCALL |kres| |res| (QREFELT $ 28))
                                  (QREFELT $ 21))
                        (SPADCALL (|spadConstant| $ 20)
                                  (SPADCALL |k|
                                            (SPADCALL |res0| 2 (QREFELT $ 24))
                                            (QREFELT $ 28))
                                  (QREFELT $ 21))
                        (QREFELT $ 22))
                       . #2#)))
               (LETT #1# (CDR #1#) . #2#) (GO G190) G191 (EXIT NIL))
          (EXIT |res|))))) 

(DEFUN |FELFUN;sn1| (|z| |m| |prec| $)
  (PROG (|z1| |kk| |ll| |res1| |res| |z0| |sign| |m1| |kp1| |kp| |eps|)
    (RETURN
     (SEQ
      (COND
       ((OR (SPADCALL (SPADCALL 8 -1 10 (QREFELT $ 15)) |m| (QREFELT $ 17))
            (SPADCALL |m|
                      (SPADCALL (SPADCALL 4 0 10 (QREFELT $ 15))
                                (QREFELT $ 66))
                      (QREFELT $ 17)))
        (SEQ (LETT |prec| (+ |prec| 20) . #1=(|FELFUN;sn1|))
             (EXIT (SPADCALL |prec| (QREFELT $ 60))))))
      (LETT |eps| (|FELFUN;twotominusn| (QUOTIENT2 |prec| 2) $) . #1#)
      (EXIT
       (COND
        ((SPADCALL |m|
                   (SPADCALL (SPADCALL 48 0 10 (QREFELT $ 15)) (QREFELT $ 66))
                   (QREFELT $ 17))
         (SEQ
          (LETT |kp|
                (SPADCALL (SPADCALL (|spadConstant| $ 20) |m| (QREFELT $ 23))
                          (QREFELT $ 18))
                . #1#)
          (LETT |kp1|
                (SPADCALL (SPADCALL 2 0 10 (QREFELT $ 15))
                          (SPADCALL (|spadConstant| $ 20) |kp| (QREFELT $ 21))
                          (QREFELT $ 22))
                . #1#)
          (LETT |m1|
                (SPADCALL (SPADCALL 2 |kp1| (QREFELT $ 19))
                          (SPADCALL |kp1| 2 (QREFELT $ 24)) (QREFELT $ 23))
                . #1#)
          (LETT |z| (SPADCALL |z| |kp1| (QREFELT $ 22)) . #1#)
          (COND
           ((SPADCALL |m1| (SPADCALL 25 -2 10 (QREFELT $ 15)) (QREFELT $ 17))
            (SEQ (LETT |ll| (SPADCALL |m1| (QREFELT $ 26)) . #1#)
                 (LETT |m|
                       (SPADCALL (|spadConstant| $ 20) (|SPADfirst| |ll|)
                                 (QREFELT $ 23))
                       . #1#)
                 (EXIT
                  (LETT |ll| (SPADCALL |m| (CDR |ll|) |eps| (QREFELT $ 29))
                        . #1#))))
           (#2='T
            (LETT |ll|
                  (SPADCALL
                   (SPADCALL (|spadConstant| $ 20) |m1| (QREFELT $ 23)) |eps|
                   (QREFELT $ 31))
                  . #1#)))
          (LETT |kk| (SPADCALL |ll| (QREFELT $ 34)) . #1#)
          (LETT |z1| (SPADCALL |z| |kk| (QREFELT $ 22)) . #1#)
          (LETT |z1| (|FELFUN;pimod| |z1| $) . #1#)
          (COND
           ((SPADCALL |z1| (|spadConstant| $ 58) (QREFELT $ 17))
            (SEQ
             (LETT |sign| (SPADCALL (|spadConstant| $ 20) (QREFELT $ 66))
                   . #1#)
             (EXIT (LETT |z1| (SPADCALL |z1| (QREFELT $ 66)) . #1#))))
           (#2# (LETT |sign| (|spadConstant| $ 20) . #1#)))
          (LETT |z0| (SPADCALL |z1| |kk| (QREFELT $ 28)) . #1#)
          (EXIT
           (COND
            ((SPADCALL |z0| (SPADCALL 5 -1 10 (QREFELT $ 15)) (QREFELT $ 17))
             (SEQ (LETT |res| (|FELFUN;sn2| |z1| |ll| $) . #1#)
                  (EXIT
                   (SPADCALL
                    (SPADCALL (SPADCALL |sign| |kp1| (QREFELT $ 28)) |res|
                              (QREFELT $ 28))
                    (SPADCALL (|spadConstant| $ 20)
                              (SPADCALL
                               (SPADCALL |kp1| (|spadConstant| $ 20)
                                         (QREFELT $ 23))
                               (SPADCALL |res| 2 (QREFELT $ 24))
                               (QREFELT $ 28))
                              (QREFELT $ 21))
                    (QREFELT $ 22)))))
            (#2#
             (SEQ (LETT |res1| (|FELFUN;sn21| |z1| |ll| $) . #1#)
                  (EXIT
                   (SPADCALL
                    (SPADCALL (SPADCALL |sign| |kp1| (QREFELT $ 28))
                              (SPADCALL (|spadConstant| $ 20) |res1|
                                        (QREFELT $ 23))
                              (QREFELT $ 28))
                    (SPADCALL |kp1|
                              (SPADCALL
                               (SPADCALL
                                (SPADCALL |kp1| (|spadConstant| $ 20)
                                          (QREFELT $ 23))
                                (SPADCALL |res1|
                                          (SPADCALL 2 0 10 (QREFELT $ 15))
                                          (QREFELT $ 23))
                                (QREFELT $ 28))
                               |res1| (QREFELT $ 28))
                              (QREFELT $ 21))
                    (QREFELT $ 22)))))))))
        (#2#
         (SEQ (LETT |ll| (SPADCALL |m| |eps| (QREFELT $ 31)) . #1#)
              (LETT |kk| (SPADCALL |ll| (QREFELT $ 34)) . #1#)
              (LETT |z1| (SPADCALL |z| |kk| (QREFELT $ 22)) . #1#)
              (EXIT (|FELFUN;sn2| |z1| |ll| $)))))))))) 

(DEFUN |FELFUN;cn1| (|z| |m| |prec| $)
  (PROG (|res0| |sgn| |nn| |z2| |pih| |z1| |kk| |ll| |eps|)
    (RETURN
     (SEQ
      (COND
       ((SPADCALL |z| (|spadConstant| $ 58) (QREFELT $ 17))
        (LETT |z| (SPADCALL |z| (QREFELT $ 66)) . #1=(|FELFUN;cn1|))))
      (LETT |prec| (* 2 |prec|) . #1#)
      (COND
       ((OR (SPADCALL (SPADCALL 8 -1 10 (QREFELT $ 15)) |m| (QREFELT $ 17))
            (SPADCALL |m|
                      (SPADCALL (SPADCALL 4 0 10 (QREFELT $ 15))
                                (QREFELT $ 66))
                      (QREFELT $ 17)))
        (LETT |prec| (+ |prec| 20) . #1#)))
      (SPADCALL |prec| (QREFELT $ 60))
      (LETT |eps| (|FELFUN;twotominusn| (QUOTIENT2 |prec| 2) $) . #1#)
      (LETT |ll| (SPADCALL |m| |eps| (QREFELT $ 31)) . #1#)
      (LETT |kk| (SPADCALL |ll| (QREFELT $ 34)) . #1#)
      (LETT |z1| (SPADCALL |z| |kk| (QREFELT $ 22)) . #1#)
      (LETT |pih|
            (SPADCALL (SPADCALL 5 -1 10 (QREFELT $ 15))
                      (SPADCALL (QREFELT $ 52)) (QREFELT $ 28))
            . #1#)
      (LETT |nn|
            (SPADCALL
             (SPADCALL (SPADCALL |z1| |pih| (QREFELT $ 22)) (QREFELT $ 53))
             (QREFELT $ 54))
            . #1#)
      (COND
       ((ODDP |nn|)
        (SEQ
         (LETT |z2|
               (SPADCALL |z1| (SPADCALL |nn| |pih| (QREFELT $ 55))
                         (QREFELT $ 23))
               . #1#)
         (LETT |nn| (QUOTIENT2 |nn| 2) . #1#)
         (LETT |sgn|
               (COND ((ODDP |nn|) (|spadConstant| $ 20))
                     (#2='T (SPADCALL (|spadConstant| $ 20) (QREFELT $ 66))))
               . #1#)
         (EXIT
          (LETT |sgn|
                (SPADCALL (SPADCALL |z2| (QREFELT $ 67)) |sgn| (QREFELT $ 55))
                . #1#))))
       (#2#
        (SEQ (LETT |nn| (QUOTIENT2 |nn| 2) . #1#)
             (EXIT
              (LETT |sgn|
                    (COND
                     ((ODDP |nn|)
                      (SPADCALL (|spadConstant| $ 20) (QREFELT $ 66)))
                     (#2# (|spadConstant| $ 20)))
                    . #1#)))))
      (LETT |res0| (|FELFUN;sn2| |z1| |ll| $) . #1#)
      (EXIT
       (SPADCALL |sgn|
                 (SPADCALL
                  (SPADCALL (|spadConstant| $ 20)
                            (SPADCALL |res0| 2 (QREFELT $ 24)) (QREFELT $ 23))
                  (QREFELT $ 18))
                 (QREFELT $ 28))))))) 

(DEFUN |FELFUN;dn1| (|z| |m| |prec| $)
  (PROG (|res0|)
    (RETURN
     (SEQ (LETT |prec| (* 2 |prec|) . #1=(|FELFUN;dn1|))
          (SPADCALL |prec| (QREFELT $ 60))
          (LETT |res0| (|FELFUN;sn1| |z| |m| |prec| $) . #1#)
          (EXIT
           (SPADCALL
            (SPADCALL (|spadConstant| $ 20)
                      (SPADCALL |m| (SPADCALL |res0| 2 (QREFELT $ 24))
                                (QREFELT $ 28))
                      (QREFELT $ 23))
            (QREFELT $ 18))))))) 

(DEFUN |FELFUN;jacobiSn;3F;21| (|z| |m| $)
  (PROG (|res| |k| |cc| |prec| |obits|)
    (RETURN
     (SEQ
      (LETT |obits| (SPADCALL (QREFELT $ 59)) . #1=(|FELFUN;jacobiSn;3F;21|))
      (LETT |prec| (+ |obits| 20) . #1#)
      (EXIT
       (COND
        ((SPADCALL |m| (SPADCALL 1 0 10 (QREFELT $ 15)) (QREFELT $ 68))
         (SEQ (SPADCALL |prec| (QREFELT $ 60))
              (LETT |res| (SPADCALL |z| (QREFELT $ 69)) . #1#)
              (SPADCALL |obits| (QREFELT $ 60)) (EXIT |res|)))
        (#2='T
         (SEQ (SPADCALL |prec| (QREFELT $ 60))
              (LETT |cc| (SPADCALL 1 0 10 (QREFELT $ 15)) . #1#)
              (COND
               ((SPADCALL (|spadConstant| $ 20) |m| (QREFELT $ 17))
                (SEQ
                 (LETT |m| (SPADCALL (|spadConstant| $ 20) |m| (QREFELT $ 22))
                       . #1#)
                 (LETT |k| (SPADCALL |m| (QREFELT $ 18)) . #1#)
                 (LETT |z| (SPADCALL |z| |k| (QREFELT $ 22)) . #1#)
                 (EXIT
                  (LETT |res|
                        (SPADCALL |k| (|FELFUN;sn1| |z| |m| |prec| $)
                                  (QREFELT $ 28))
                        . #1#))))
               (#2# (LETT |res| (|FELFUN;sn1| |z| |m| |prec| $) . #1#)))
              (SPADCALL |obits| (QREFELT $ 60)) (EXIT |res|))))))))) 

(DEFUN |FELFUN;jacobiCn;3F;22| (|z| |m| $)
  (PROG (|res| |k| |prec| |obits|)
    (RETURN
     (SEQ
      (LETT |obits| (SPADCALL (QREFELT $ 59)) . #1=(|FELFUN;jacobiCn;3F;22|))
      (LETT |prec| (+ |obits| 20) . #1#)
      (EXIT
       (COND
        ((SPADCALL |m| (SPADCALL 1 0 10 (QREFELT $ 15)) (QREFELT $ 68))
         (SEQ (SPADCALL |prec| (QREFELT $ 60))
              (LETT |res|
                    (SPADCALL (|spadConstant| $ 20)
                              (SPADCALL |z| (QREFELT $ 71)) (QREFELT $ 22))
                    . #1#)
              (SPADCALL |obits| (QREFELT $ 60)) (EXIT |res|)))
        (#2='T
         (SEQ (SPADCALL |prec| (QREFELT $ 60))
              (COND
               ((SPADCALL (|spadConstant| $ 20) |m| (QREFELT $ 17))
                (SEQ
                 (LETT |m| (SPADCALL (|spadConstant| $ 20) |m| (QREFELT $ 22))
                       . #1#)
                 (LETT |k| (SPADCALL |m| (QREFELT $ 18)) . #1#)
                 (LETT |z| (SPADCALL |z| |k| (QREFELT $ 22)) . #1#)
                 (EXIT (LETT |res| (|FELFUN;dn1| |z| |m| |prec| $) . #1#))))
               (#2# (LETT |res| (|FELFUN;cn1| |z| |m| |prec| $) . #1#)))
              (SPADCALL |obits| (QREFELT $ 60)) (EXIT |res|))))))))) 

(DEFUN |FELFUN;jacobiDn;3F;23| (|z| |m| $)
  (PROG (|res| |k| |prec| |obits|)
    (RETURN
     (SEQ
      (LETT |obits| (SPADCALL (QREFELT $ 59)) . #1=(|FELFUN;jacobiDn;3F;23|))
      (LETT |prec| (+ |obits| 20) . #1#)
      (EXIT
       (COND
        ((SPADCALL |m| (SPADCALL 1 0 10 (QREFELT $ 15)) (QREFELT $ 68))
         (SEQ (SPADCALL |prec| (QREFELT $ 60))
              (LETT |res|
                    (SPADCALL (|spadConstant| $ 20)
                              (SPADCALL |z| (QREFELT $ 71)) (QREFELT $ 22))
                    . #1#)
              (SPADCALL |obits| (QREFELT $ 60)) (EXIT |res|)))
        (#2='T
         (SEQ (SPADCALL |prec| (QREFELT $ 60))
              (COND
               ((SPADCALL (|spadConstant| $ 20) |m| (QREFELT $ 17))
                (SEQ
                 (LETT |m| (SPADCALL (|spadConstant| $ 20) |m| (QREFELT $ 22))
                       . #1#)
                 (LETT |k| (SPADCALL |m| (QREFELT $ 18)) . #1#)
                 (LETT |z| (SPADCALL |z| |k| (QREFELT $ 22)) . #1#)
                 (EXIT (LETT |res| (|FELFUN;cn1| |z| |m| |prec| $) . #1#))))
               (#2# (LETT |res| (|FELFUN;dn1| |z| |m| |prec| $) . #1#)))
              (SPADCALL |obits| (QREFELT $ 60)) (EXIT |res|))))))))) 

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

(DEFUN |FloatEllipticFunctions;| ()
  (PROG (|dv$| $ |pv$|)
    (RETURN
     (PROGN
      (LETT |dv$| '(|FloatEllipticFunctions|) . #1=(|FloatEllipticFunctions|))
      (LETT $ (GETREFV 74) . #1#)
      (QSETREFV $ 0 |dv$|)
      (QSETREFV $ 3 (LETT |pv$| (|buildPredVector| 0 0 NIL) . #1#))
      (|haddProp| |$ConstructorCache| '|FloatEllipticFunctions| NIL (CONS 1 $))
      (|stuffDomainSlots| $)
      (SETF |pv$| (QREFELT $ 3))
      $)))) 

(MAKEPROP '|FloatEllipticFunctions| '|infovec|
          (LIST
           '#(NIL NIL NIL NIL NIL NIL (|Float|) (0 . |abs|) |FELFUN;rabs;2F;1|
              (|Complex| 6) (5 . |abs|) (10 . |real|) |FELFUN;rabs;CF;2|
              (|Integer|) (|PositiveInteger|) (15 . |float|) (|Boolean|)
              (22 . <) (28 . |sqrt|) (33 . *) (39 . |One|) (43 . +) (49 . /)
              (55 . -) (61 . ^) (|List| 6) |FELFUN;landen1;FL;3| (67 . /)
              (73 . *) |FELFUN;landen2;FLFL;4| (79 . |One|)
              |FELFUN;landen;2FL;5| (|Mapping| 6 6 6) (83 . |reduce|)
              |FELFUN;kprod;LF;6| (89 . |sqrt|) (94 . *) (100 . +) (106 . /)
              (112 . -) (118 . ^) (|List| 9) |FELFUN;landen1;CL;7|
              (|Fraction| 13) (124 . /) (130 . *) |FELFUN;landen2;CLFL;8|
              |FELFUN;landen;CFL;9| (136 . *) (|Mapping| 9 9 9)
              (142 . |reduce|) |FELFUN;kprod;LC;10| (148 . |pi|)
              (152 . |round|) (157 . |retract|) (162 . *) (168 . |base|)
              (172 . |float|) (178 . |Zero|) (182 . |bits|) (186 . |bits|)
              |FELFUN;ellipticK;2F;13| (191 . =) (197 . |pi|)
              |FELFUN;ellipticK;2C;14| (201 . |sin|) (206 . -) (211 . |sign|)
              (216 . =) (222 . |tanh|) |FELFUN;jacobiSn;3F;21| (227 . |cosh|)
              |FELFUN;jacobiCn;3F;22| |FELFUN;jacobiDn;3F;23|)
           '#(|rabs| 232 |landen2| 242 |landen1| 256 |landen| 266 |kprod| 278
              |jacobiSn| 288 |jacobiDn| 294 |jacobiCn| 300 |ellipticK| 306)
           'NIL
           (CONS (|makeByteWordVec2| 1 'NIL)
                 (CONS '#()
                       (CONS '#()
                             (|makeByteWordVec2| 73
                                                 '(1 6 0 0 7 1 9 0 0 10 1 9 6 0
                                                   11 3 6 0 13 13 14 15 2 6 16
                                                   0 0 17 1 6 0 0 18 2 6 0 14 0
                                                   19 0 6 0 20 2 6 0 0 0 21 2 6
                                                   0 0 0 22 2 6 0 0 0 23 2 6 0
                                                   0 14 24 2 6 0 0 13 27 2 6 0
                                                   0 0 28 0 9 0 30 2 25 6 32 0
                                                   33 1 9 0 0 35 2 9 0 14 0 36
                                                   2 9 0 0 0 37 2 9 0 0 0 38 2
                                                   9 0 0 0 39 2 9 0 0 14 40 2
                                                   43 0 13 13 44 2 9 0 6 0 45 2
                                                   9 0 0 0 48 2 41 9 49 0 50 0
                                                   6 0 52 1 6 0 0 53 1 6 13 0
                                                   54 2 6 0 13 0 55 0 6 14 56 2
                                                   6 0 13 13 57 0 6 0 58 0 6 14
                                                   59 1 6 14 14 60 2 9 16 0 0
                                                   62 0 9 0 63 1 6 0 0 65 1 6 0
                                                   0 66 1 6 13 0 67 2 6 16 0 0
                                                   68 1 6 0 0 69 1 6 0 0 71 1 0
                                                   6 9 12 1 0 6 6 8 3 0 41 9 41
                                                   6 46 3 0 25 6 25 6 29 1 0 41
                                                   9 42 1 0 25 6 26 2 0 41 9 6
                                                   47 2 0 25 6 6 31 1 0 9 41 51
                                                   1 0 6 25 34 2 0 6 6 6 70 2 0
                                                   6 6 6 73 2 0 6 6 6 72 1 0 9
                                                   9 64 1 0 6 6 61)))))
           '|lookupComplete|)) 

(MAKEPROP '|FloatEllipticFunctions| 'NILADIC T) 
