
(/VERSIONCHECK 2) 

(DEFUN |DFLOAT;doubleFloatFormat;2S;1| (|s| $)
  (PROG (|ss|)
    (RETURN
     (SEQ (LETT |ss| (QREFELT $ 6) |DFLOAT;doubleFloatFormat;2S;1|)
          (SETELT $ 6 |s|) (EXIT |ss|))))) 

(DEFUN |DFLOAT;OMwrite;$S;2| (|x| $)
  (PROG (|s| |dev| |sp|)
    (RETURN
     (SEQ (LETT |s| "" . #1=(|DFLOAT;OMwrite;$S;2|))
          (LETT |sp| (OM-STRINGTOSTRINGPTR |s|) . #1#)
          (LETT |dev| (SPADCALL |sp| (SPADCALL (QREFELT $ 10)) (QREFELT $ 12))
                . #1#)
          (SPADCALL |dev| (QREFELT $ 14)) (SPADCALL |dev| |x| (QREFELT $ 16))
          (SPADCALL |dev| (QREFELT $ 17)) (SPADCALL |dev| (QREFELT $ 18))
          (LETT |s| (OM-STRINGPTRTOSTRING |sp|) . #1#) (EXIT |s|))))) 

(DEFUN |DFLOAT;OMwrite;$BS;3| (|x| |wholeObj| $)
  (PROG (|s| |dev| |sp|)
    (RETURN
     (SEQ (LETT |s| "" . #1=(|DFLOAT;OMwrite;$BS;3|))
          (LETT |sp| (OM-STRINGTOSTRINGPTR |s|) . #1#)
          (LETT |dev| (SPADCALL |sp| (SPADCALL (QREFELT $ 10)) (QREFELT $ 12))
                . #1#)
          (COND (|wholeObj| (SPADCALL |dev| (QREFELT $ 14))))
          (SPADCALL |dev| |x| (QREFELT $ 16))
          (COND (|wholeObj| (SPADCALL |dev| (QREFELT $ 17))))
          (SPADCALL |dev| (QREFELT $ 18))
          (LETT |s| (OM-STRINGPTRTOSTRING |sp|) . #1#) (EXIT |s|))))) 

(DEFUN |DFLOAT;OMwrite;Omd$V;4| (|dev| |x| $)
  (SEQ (SPADCALL |dev| (QREFELT $ 14)) (SPADCALL |dev| |x| (QREFELT $ 16))
       (EXIT (SPADCALL |dev| (QREFELT $ 17))))) 

(DEFUN |DFLOAT;OMwrite;Omd$BV;5| (|dev| |x| |wholeObj| $)
  (SEQ (COND (|wholeObj| (SPADCALL |dev| (QREFELT $ 14))))
       (SPADCALL |dev| |x| (QREFELT $ 16))
       (EXIT (COND (|wholeObj| (SPADCALL |dev| (QREFELT $ 17))))))) 

(PUT '|DFLOAT;checkComplex| '|SPADreplace| 'C-TO-R) 

(DEFUN |DFLOAT;checkComplex| (|x| $) (C-TO-R |x|)) 

(PUT '|DFLOAT;base;Pi;7| '|SPADreplace| '(XLAM NIL (FLOAT-RADIX 0.0))) 

(DEFUN |DFLOAT;base;Pi;7| ($) (FLOAT-RADIX 0.0)) 

(DEFUN |DFLOAT;mantissa;$I;8| (|x| $) (QCAR (|DFLOAT;manexp| |x| $))) 

(DEFUN |DFLOAT;exponent;$I;9| (|x| $) (QCDR (|DFLOAT;manexp| |x| $))) 

(PUT '|DFLOAT;precision;Pi;10| '|SPADreplace| '(XLAM NIL (FLOAT-DIGITS 0.0))) 

(DEFUN |DFLOAT;precision;Pi;10| ($) (FLOAT-DIGITS 0.0)) 

(DEFUN |DFLOAT;bits;Pi;11| ($)
  (PROG (#1=#:G1825)
    (RETURN
     (COND ((EQL (FLOAT-RADIX 0.0) 2) (FLOAT-DIGITS 0.0))
           ((EQL (FLOAT-RADIX 0.0) 16) (* 4 (FLOAT-DIGITS 0.0)))
           ('T
            (PROG1
                (LETT #1#
                      (TRUNCATE
                       (SPADCALL (FLOAT-DIGITS 0.0)
                                 (SPADCALL
                                  (FLOAT (FLOAT-RADIX 0.0)
                                         MOST-POSITIVE-DOUBLE-FLOAT)
                                  (QREFELT $ 30))
                                 (QREFELT $ 31)))
                      |DFLOAT;bits;Pi;11|)
              (|check-subtype| (> #1# 0) '(|PositiveInteger|) #1#))))))) 

(PUT '|DFLOAT;max;$;12| '|SPADreplace| '(XLAM NIL MOST-POSITIVE-DOUBLE-FLOAT)) 

(DEFUN |DFLOAT;max;$;12| ($) MOST-POSITIVE-DOUBLE-FLOAT) 

(PUT '|DFLOAT;min;$;13| '|SPADreplace| '(XLAM NIL MOST-NEGATIVE-DOUBLE-FLOAT)) 

(DEFUN |DFLOAT;min;$;13| ($) MOST-NEGATIVE-DOUBLE-FLOAT) 

(DEFUN |DFLOAT;order;$I;14| (|a| $)
  (- (+ (FLOAT-DIGITS 0.0) (SPADCALL |a| (QREFELT $ 28))) 1)) 

(PUT '|DFLOAT;Zero;$;15| '|SPADreplace|
     '(XLAM NIL (FLOAT 0 MOST-POSITIVE-DOUBLE-FLOAT))) 

(DEFUN |DFLOAT;Zero;$;15| ($) (FLOAT 0 MOST-POSITIVE-DOUBLE-FLOAT)) 

(PUT '|DFLOAT;One;$;16| '|SPADreplace|
     '(XLAM NIL (FLOAT 1 MOST-POSITIVE-DOUBLE-FLOAT))) 

(DEFUN |DFLOAT;One;$;16| ($) (FLOAT 1 MOST-POSITIVE-DOUBLE-FLOAT)) 

(DEFUN |DFLOAT;exp1;$;17| ($)
  (DIV-DF (FLOAT 534625820200 MOST-POSITIVE-DOUBLE-FLOAT)
          (FLOAT 196677847971 MOST-POSITIVE-DOUBLE-FLOAT))) 

(PUT '|DFLOAT;pi;$;18| '|SPADreplace|
     '(XLAM NIL (FLOAT PI MOST-POSITIVE-DOUBLE-FLOAT))) 

(DEFUN |DFLOAT;pi;$;18| ($) (FLOAT PI MOST-POSITIVE-DOUBLE-FLOAT)) 

(DEFUN |DFLOAT;coerce;$Of;19| (|x| $)
  (COND
   ((LESS-DF |x| 0.0)
    (SPADCALL
     (SPADCALL (FORMAT NIL (QREFELT $ 6) (MINUS-DF |x|)) (QREFELT $ 41))
     (QREFELT $ 42)))
   ('T (SPADCALL (FORMAT NIL (QREFELT $ 6) |x|) (QREFELT $ 41))))) 

(DEFUN |DFLOAT;convert;$If;20| (|x| $) (SPADCALL |x| (QREFELT $ 45))) 

(PUT '|DFLOAT;<;2$B;21| '|SPADreplace| 'LESS-DF) 

(DEFUN |DFLOAT;<;2$B;21| (|x| |y| $) (LESS-DF |x| |y|)) 

(PUT '|DFLOAT;-;2$;22| '|SPADreplace| 'MINUS-DF) 

(DEFUN |DFLOAT;-;2$;22| (|x| $) (MINUS-DF |x|)) 

(PUT '|DFLOAT;+;3$;23| '|SPADreplace| 'ADD-DF) 

(DEFUN |DFLOAT;+;3$;23| (|x| |y| $) (ADD-DF |x| |y|)) 

(PUT '|DFLOAT;-;3$;24| '|SPADreplace| 'SUB-DF) 

(DEFUN |DFLOAT;-;3$;24| (|x| |y| $) (SUB-DF |x| |y|)) 

(PUT '|DFLOAT;*;3$;25| '|SPADreplace| 'MUL-DF) 

(DEFUN |DFLOAT;*;3$;25| (|x| |y| $) (MUL-DF |x| |y|)) 

(PUT '|DFLOAT;*;I2$;26| '|SPADreplace| '(XLAM (|i| |x|) (MUL-DF-I |x| |i|))) 

(DEFUN |DFLOAT;*;I2$;26| (|i| |x| $) (MUL-DF-I |x| |i|)) 

(PUT '|DFLOAT;max;3$;27| '|SPADreplace| 'MAX-DF) 

(DEFUN |DFLOAT;max;3$;27| (|x| |y| $) (MAX-DF |x| |y|)) 

(PUT '|DFLOAT;min;3$;28| '|SPADreplace| 'MIN-DF) 

(DEFUN |DFLOAT;min;3$;28| (|x| |y| $) (MIN-DF |x| |y|)) 

(PUT '|DFLOAT;=;2$B;29| '|SPADreplace| 'EQL-DF) 

(DEFUN |DFLOAT;=;2$B;29| (|x| |y| $) (EQL-DF |x| |y|)) 

(PUT '|DFLOAT;/;$I$;30| '|SPADreplace| 'DIV-DF-I) 

(DEFUN |DFLOAT;/;$I$;30| (|x| |i| $) (DIV-DF-I |x| |i|)) 

(DEFUN |DFLOAT;sqrt;2$;31| (|x| $) (|DFLOAT;checkComplex| (SQRT-DF |x|) $)) 

(DEFUN |DFLOAT;log10;2$;32| (|x| $) (|DFLOAT;checkComplex| (LOG10 |x|) $)) 

(PUT '|DFLOAT;^;$I$;33| '|SPADreplace| 'EXPT-DF-I) 

(DEFUN |DFLOAT;^;$I$;33| (|x| |i| $) (EXPT-DF-I |x| |i|)) 

(DEFUN |DFLOAT;^;3$;34| (|x| |y| $)
  (|DFLOAT;checkComplex| (EXPT-DF-DF |x| |y|) $)) 

(PUT '|DFLOAT;coerce;I$;35| '|SPADreplace|
     '(XLAM (|i|) (FLOAT |i| MOST-POSITIVE-DOUBLE-FLOAT))) 

(DEFUN |DFLOAT;coerce;I$;35| (|i| $) (FLOAT |i| MOST-POSITIVE-DOUBLE-FLOAT)) 

(PUT '|DFLOAT;exp;2$;36| '|SPADreplace| 'EXP-DF) 

(DEFUN |DFLOAT;exp;2$;36| (|x| $) (EXP-DF |x|)) 

(DEFUN |DFLOAT;log;2$;37| (|x| $) (|DFLOAT;checkComplex| (LOG-DF |x|) $)) 

(DEFUN |DFLOAT;log2;2$;38| (|x| $) (|DFLOAT;checkComplex| (LOG2 |x|) $)) 

(PUT '|DFLOAT;sin;2$;39| '|SPADreplace| 'SIN-DF) 

(DEFUN |DFLOAT;sin;2$;39| (|x| $) (SIN-DF |x|)) 

(PUT '|DFLOAT;cos;2$;40| '|SPADreplace| 'COS-DF) 

(DEFUN |DFLOAT;cos;2$;40| (|x| $) (COS-DF |x|)) 

(PUT '|DFLOAT;tan;2$;41| '|SPADreplace| 'TAN-DF) 

(DEFUN |DFLOAT;tan;2$;41| (|x| $) (TAN-DF |x|)) 

(PUT '|DFLOAT;cot;2$;42| '|SPADreplace| 'COT) 

(DEFUN |DFLOAT;cot;2$;42| (|x| $) (COT |x|)) 

(PUT '|DFLOAT;sec;2$;43| '|SPADreplace| 'SEC) 

(DEFUN |DFLOAT;sec;2$;43| (|x| $) (SEC |x|)) 

(PUT '|DFLOAT;csc;2$;44| '|SPADreplace| 'CSC) 

(DEFUN |DFLOAT;csc;2$;44| (|x| $) (CSC |x|)) 

(DEFUN |DFLOAT;asin;2$;45| (|x| $) (|DFLOAT;checkComplex| (ASIN |x|) $)) 

(DEFUN |DFLOAT;acos;2$;46| (|x| $) (|DFLOAT;checkComplex| (ACOS |x|) $)) 

(PUT '|DFLOAT;atan;2$;47| '|SPADreplace| 'ATAN-DF) 

(DEFUN |DFLOAT;atan;2$;47| (|x| $) (ATAN-DF |x|)) 

(DEFUN |DFLOAT;acsc;2$;48| (|x| $) (|DFLOAT;checkComplex| (ACSC |x|) $)) 

(PUT '|DFLOAT;acot;2$;49| '|SPADreplace| 'ACOT) 

(DEFUN |DFLOAT;acot;2$;49| (|x| $) (ACOT |x|)) 

(DEFUN |DFLOAT;asec;2$;50| (|x| $) (|DFLOAT;checkComplex| (ASEC |x|) $)) 

(PUT '|DFLOAT;sinh;2$;51| '|SPADreplace| 'SINH-DF) 

(DEFUN |DFLOAT;sinh;2$;51| (|x| $) (SINH-DF |x|)) 

(PUT '|DFLOAT;cosh;2$;52| '|SPADreplace| 'COSH-DF) 

(DEFUN |DFLOAT;cosh;2$;52| (|x| $) (COSH-DF |x|)) 

(PUT '|DFLOAT;tanh;2$;53| '|SPADreplace| 'TANH-DF) 

(DEFUN |DFLOAT;tanh;2$;53| (|x| $) (TANH-DF |x|)) 

(PUT '|DFLOAT;csch;2$;54| '|SPADreplace| 'CSCH) 

(DEFUN |DFLOAT;csch;2$;54| (|x| $) (CSCH |x|)) 

(PUT '|DFLOAT;coth;2$;55| '|SPADreplace| 'COTH) 

(DEFUN |DFLOAT;coth;2$;55| (|x| $) (COTH |x|)) 

(PUT '|DFLOAT;sech;2$;56| '|SPADreplace| 'SECH) 

(DEFUN |DFLOAT;sech;2$;56| (|x| $) (SECH |x|)) 

(PUT '|DFLOAT;asinh;2$;57| '|SPADreplace| 'ASINH) 

(DEFUN |DFLOAT;asinh;2$;57| (|x| $) (ASINH |x|)) 

(DEFUN |DFLOAT;acosh;2$;58| (|x| $) (|DFLOAT;checkComplex| (ACOSH |x|) $)) 

(DEFUN |DFLOAT;atanh;2$;59| (|x| $) (|DFLOAT;checkComplex| (ATANH |x|) $)) 

(PUT '|DFLOAT;acsch;2$;60| '|SPADreplace| 'ACSCH) 

(DEFUN |DFLOAT;acsch;2$;60| (|x| $) (ACSCH |x|)) 

(DEFUN |DFLOAT;acoth;2$;61| (|x| $) (|DFLOAT;checkComplex| (ACOTH |x|) $)) 

(DEFUN |DFLOAT;asech;2$;62| (|x| $) (|DFLOAT;checkComplex| (ASECH |x|) $)) 

(PUT '|DFLOAT;/;3$;63| '|SPADreplace| 'DIV-DF) 

(DEFUN |DFLOAT;/;3$;63| (|x| |y| $) (DIV-DF |x| |y|)) 

(PUT '|DFLOAT;negative?;$B;64| '|SPADreplace| 'MINUSP-DF) 

(DEFUN |DFLOAT;negative?;$B;64| (|x| $) (MINUSP-DF |x|)) 

(PUT '|DFLOAT;zero?;$B;65| '|SPADreplace| 'ZEROP-DF) 

(DEFUN |DFLOAT;zero?;$B;65| (|x| $) (ZEROP-DF |x|)) 

(PUT '|DFLOAT;hash;$I;66| '|SPADreplace| 'HASHEQ) 

(DEFUN |DFLOAT;hash;$I;66| (|x| $) (HASHEQ |x|)) 

(DEFUN |DFLOAT;recip;$U;67| (|x| $)
  (COND ((ZEROP-DF |x|) (CONS 1 "failed")) ('T (CONS 0 (DIV-DF 1.0 |x|))))) 

(PUT '|DFLOAT;differentiate;2$;68| '|SPADreplace| '(XLAM (|x|) 0.0)) 

(DEFUN |DFLOAT;differentiate;2$;68| (|x| $) 0.0) 

(DEFUN |DFLOAT;airyAi;2$;69| (|x| $) (SPADCALL |x| (QREFELT $ 96))) 

(DEFUN |DFLOAT;airyBi;2$;70| (|x| $) (SPADCALL |x| (QREFELT $ 98))) 

(DEFUN |DFLOAT;besselI;3$;71| (|x| |y| $) (SPADCALL |x| |y| (QREFELT $ 100))) 

(DEFUN |DFLOAT;besselJ;3$;72| (|x| |y| $) (SPADCALL |x| |y| (QREFELT $ 102))) 

(DEFUN |DFLOAT;besselK;3$;73| (|x| |y| $) (SPADCALL |x| |y| (QREFELT $ 104))) 

(DEFUN |DFLOAT;besselY;3$;74| (|x| |y| $) (SPADCALL |x| |y| (QREFELT $ 106))) 

(DEFUN |DFLOAT;Beta;3$;75| (|x| |y| $) (SPADCALL |x| |y| (QREFELT $ 108))) 

(DEFUN |DFLOAT;digamma;2$;76| (|x| $) (SPADCALL |x| (QREFELT $ 110))) 

(DEFUN |DFLOAT;Gamma;2$;77| (|x| $) (SPADCALL |x| (QREFELT $ 112))) 

(DEFUN |DFLOAT;polygamma;3$;78| (|x| |y| $)
  (PROG (#1=#:G1911 |n|)
    (RETURN
     (SEQ
      (LETT |n| (SPADCALL |x| (QREFELT $ 115)) . #2=(|DFLOAT;polygamma;3$;78|))
      (EXIT
       (COND
        ((QEQCAR |n| 0)
         (COND
          ((< (QCDR |n|) 0)
           (|error|
            #3="polygamma: first argument should be a nonnegative integer"))
          (#4='T
           (SPADCALL
            (PROG1 (LETT #1# (QCDR |n|) . #2#)
              (|check-subtype| (>= #1# 0) '(|NonNegativeInteger|) #1#))
            |y| (QREFELT $ 117)))))
        (#4# (|error| #3#)))))))) 

(PUT '|DFLOAT;wholePart;$I;79| '|SPADreplace| 'TRUNCATE) 

(DEFUN |DFLOAT;wholePart;$I;79| (|x| $) (TRUNCATE |x|)) 

(DEFUN |DFLOAT;float;2IPi$;80| (|ma| |ex| |b| $)
  (MUL-DF-I (EXPT-DF-I (FLOAT |b| MOST-POSITIVE-DOUBLE-FLOAT) |ex|) |ma|)) 

(PUT '|DFLOAT;convert;2$;81| '|SPADreplace| '(XLAM (|x|) |x|)) 

(DEFUN |DFLOAT;convert;2$;81| (|x| $) |x|) 

(DEFUN |DFLOAT;convert;$F;82| (|x| $) (SPADCALL |x| (QREFELT $ 123))) 

(DEFUN |DFLOAT;rationalApproximation;$NniF;83| (|x| |d| $)
  (SPADCALL |x| |d| 10 (QREFELT $ 126))) 

(DEFUN |DFLOAT;atan;3$;84| (|x| |y| $)
  (PROG (|theta|)
    (RETURN
     (SEQ
      (COND
       ((EQL-DF |x| 0.0)
        (COND
         ((LESS-DF 0.0 |y|) (DIV-DF-I (FLOAT PI MOST-POSITIVE-DOUBLE-FLOAT) 2))
         ((LESS-DF |y| 0.0)
          (MINUS-DF (DIV-DF-I (FLOAT PI MOST-POSITIVE-DOUBLE-FLOAT) 2)))
         (#1='T 0.0)))
       (#1#
        (SEQ
         (LETT |theta| (ATAN-DF (FLOAT-SIGN 1.0 (DIV-DF |y| |x|)))
               . #2=(|DFLOAT;atan;3$;84|))
         (COND
          ((LESS-DF |x| 0.0)
           (LETT |theta| (SUB-DF (FLOAT PI MOST-POSITIVE-DOUBLE-FLOAT) |theta|)
                 . #2#)))
         (COND ((LESS-DF |y| 0.0) (LETT |theta| (MINUS-DF |theta|) . #2#)))
         (EXIT |theta|)))))))) 

(DEFUN |DFLOAT;retract;$F;85| (|x| $)
  (PROG (#1=#:G1923)
    (RETURN
     (SPADCALL |x|
               (PROG1
                   (LETT #1# (- (FLOAT-DIGITS 0.0) 1) |DFLOAT;retract;$F;85|)
                 (|check-subtype| (>= #1# 0) '(|NonNegativeInteger|) #1#))
               (FLOAT-RADIX 0.0) (QREFELT $ 126))))) 

(DEFUN |DFLOAT;retractIfCan;$U;86| (|x| $)
  (PROG (#1=#:G1928)
    (RETURN
     (CONS 0
           (SPADCALL |x|
                     (PROG1
                         (LETT #1# (- (FLOAT-DIGITS 0.0) 1)
                               |DFLOAT;retractIfCan;$U;86|)
                       (|check-subtype| (>= #1# 0) '(|NonNegativeInteger|)
                                        #1#))
                     (FLOAT-RADIX 0.0) (QREFELT $ 126)))))) 

(DEFUN |DFLOAT;retract;$I;87| (|x| $)
  (PROG (|n|)
    (RETURN
     (SEQ (LETT |n| (TRUNCATE |x|) |DFLOAT;retract;$I;87|)
          (EXIT
           (COND ((EQL-DF |x| (FLOAT |n| MOST-POSITIVE-DOUBLE-FLOAT)) |n|)
                 ('T (|error| "Not an integer")))))))) 

(DEFUN |DFLOAT;retractIfCan;$U;88| (|x| $)
  (PROG (|n|)
    (RETURN
     (SEQ (LETT |n| (TRUNCATE |x|) |DFLOAT;retractIfCan;$U;88|)
          (EXIT
           (COND
            ((EQL-DF |x| (FLOAT |n| MOST-POSITIVE-DOUBLE-FLOAT)) (CONS 0 |n|))
            ('T (CONS 1 "failed")))))))) 

(DEFUN |DFLOAT;sign;$I;89| (|x| $)
  (SPADCALL (FLOAT-SIGN |x| 1.0) (QREFELT $ 132))) 

(PUT '|DFLOAT;abs;2$;90| '|SPADreplace| '(XLAM (|x|) (FLOAT-SIGN 1.0 |x|))) 

(DEFUN |DFLOAT;abs;2$;90| (|x| $) (FLOAT-SIGN 1.0 |x|)) 

(DEFUN |DFLOAT;manexp| (|x| $)
  (PROG (|two53| |me| #1=#:G1946 |s|)
    (RETURN
     (SEQ
      (EXIT
       (COND ((ZEROP-DF |x|) (CONS 0 0))
             ('T
              (SEQ
               (LETT |s| (SPADCALL |x| (QREFELT $ 134)) . #2=(|DFLOAT;manexp|))
               (LETT |x| (FLOAT-SIGN 1.0 |x|) . #2#)
               (COND
                ((LESS-DF MOST-POSITIVE-DOUBLE-FLOAT |x|)
                 (PROGN
                  (LETT #1#
                        (CONS
                         (+
                          (* |s|
                             (SPADCALL MOST-POSITIVE-DOUBLE-FLOAT
                                       (QREFELT $ 27)))
                          1)
                         (SPADCALL MOST-POSITIVE-DOUBLE-FLOAT (QREFELT $ 28)))
                        . #2#)
                  (GO #1#))))
               (LETT |me| (MANEXP |x|) . #2#)
               (LETT |two53| (EXPT (FLOAT-RADIX 0.0) (FLOAT-DIGITS 0.0)) . #2#)
               (EXIT
                (CONS (* |s| (TRUNCATE (MUL-DF-I (QCAR |me|) |two53|)))
                      (- (QCDR |me|) (FLOAT-DIGITS 0.0))))))))
      #1# (EXIT #1#))))) 

(DEFUN |DFLOAT;rationalApproximation;$2NniF;92| (|f| |d| |b| $)
  (PROG (#1=#:G1965 |t| |s| |#G123| |#G122| |q1| |q0| |#G121| |#G120| |p1| |p0|
         |#G119| |#G118| #2=#:G1967 |q2| |p2| |r| |q| |#G117| |tol| |de|
         #3=#:G1949 BASE |ex| |nu| |#G116|)
    (RETURN
     (SEQ
      (EXIT
       (SEQ
        (PROGN
         (LETT |#G116| (|DFLOAT;manexp| |f| $)
               . #4=(|DFLOAT;rationalApproximation;$2NniF;92|))
         (LETT |nu| (QCAR |#G116|) . #4#)
         (LETT |ex| (QCDR |#G116|) . #4#)
         |#G116|)
        (LETT BASE (FLOAT-RADIX 0.0) . #4#)
        (EXIT
         (COND
          ((< |ex| 0)
           (SEQ
            (LETT |de|
                  (EXPT BASE
                        (PROG1 (LETT #3# (- |ex|) . #4#)
                          (|check-subtype| (>= #3# 0) '(|NonNegativeInteger|)
                                           #3#)))
                  . #4#)
            (EXIT
             (COND ((< |b| 2) (|error| "base must be > 1"))
                   (#5='T
                    (SEQ (LETT |tol| (EXPT |b| |d|) . #4#)
                         (LETT |s| |nu| . #4#) (LETT |t| |de| . #4#)
                         (LETT |p0| 0 . #4#) (LETT |p1| 1 . #4#)
                         (LETT |q0| 1 . #4#) (LETT |q1| 0 . #4#)
                         (EXIT
                          (SEQ G190 NIL
                               (SEQ
                                (PROGN
                                 (LETT |#G117| (DIVIDE2 |s| |t|) . #4#)
                                 (LETT |q| (QCAR |#G117|) . #4#)
                                 (LETT |r| (QCDR |#G117|) . #4#)
                                 |#G117|)
                                (LETT |p2| (+ (* |q| |p1|) |p0|) . #4#)
                                (LETT |q2| (+ (* |q| |q1|) |q0|) . #4#)
                                (COND
                                 ((OR (EQL |r| 0)
                                      (<
                                       (SPADCALL |tol|
                                                 (ABS
                                                  (- (* |nu| |q2|)
                                                     (* |de| |p2|)))
                                                 (QREFELT $ 138))
                                       (* |de| (ABS |p2|))))
                                  (EXIT
                                   (PROGN
                                    (LETT #2#
                                          (SPADCALL |p2| |q2| (QREFELT $ 137))
                                          . #4#)
                                    (GO #2#)))))
                                (PROGN
                                 (LETT |#G118| |p1| . #4#)
                                 (LETT |#G119| |p2| . #4#)
                                 (LETT |p0| |#G118| . #4#)
                                 (LETT |p1| |#G119| . #4#))
                                (PROGN
                                 (LETT |#G120| |q1| . #4#)
                                 (LETT |#G121| |q2| . #4#)
                                 (LETT |q0| |#G120| . #4#)
                                 (LETT |q1| |#G121| . #4#))
                                (EXIT
                                 (PROGN
                                  (LETT |#G122| |t| . #4#)
                                  (LETT |#G123| |r| . #4#)
                                  (LETT |s| |#G122| . #4#)
                                  (LETT |t| |#G123| . #4#))))
                               NIL (GO G190) G191 (EXIT NIL)))))))))
          (#5#
           (SPADCALL
            (* |nu|
               (EXPT BASE
                     (PROG1 (LETT #1# |ex| . #4#)
                       (|check-subtype| (>= #1# 0) '(|NonNegativeInteger|)
                                        #1#))))
            (QREFELT $ 139)))))))
      #2# (EXIT #2#))))) 

(DEFUN |DFLOAT;^;$F$;93| (|x| |r| $)
  (PROG (#1=#:G1976 |d| |n|)
    (RETURN
     (SEQ
      (EXIT
       (COND
        ((ZEROP-DF |x|)
         (COND ((SPADCALL |r| (QREFELT $ 140)) (|error| "0^0 is undefined"))
               ((SPADCALL |r| (QREFELT $ 141)) (|error| "division by 0"))
               (#2='T 0.0)))
        ((OR (SPADCALL |r| (QREFELT $ 140)) (EQL-DF |x| 1.0)) 1.0)
        ('T
         (COND ((SPADCALL |r| (|spadConstant| $ 142) (QREFELT $ 143)) |x|)
               (#2#
                (SEQ
                 (LETT |n| (SPADCALL |r| (QREFELT $ 144))
                       . #3=(|DFLOAT;^;$F$;93|))
                 (LETT |d| (SPADCALL |r| (QREFELT $ 145)) . #3#)
                 (EXIT
                  (COND
                   ((MINUSP-DF |x|)
                    (COND
                     ((ODDP |d|)
                      (COND
                       ((ODDP |n|)
                        (PROGN
                         (LETT #1#
                               (MINUS-DF
                                (SPADCALL (MINUS-DF |x|) |r| (QREFELT $ 146)))
                               . #3#)
                         (GO #1#)))
                       (#2#
                        (PROGN
                         (LETT #1#
                               (SPADCALL (MINUS-DF |x|) |r| (QREFELT $ 146))
                               . #3#)
                         (GO #1#)))))
                     (#2# (|error| "negative root"))))
                   ((EQL |d| 2) (EXPT-DF-I (SPADCALL |x| (QREFELT $ 57)) |n|))
                   (#2#
                    (SPADCALL |x|
                              (DIV-DF (FLOAT |n| MOST-POSITIVE-DOUBLE-FLOAT)
                                      (FLOAT |d| MOST-POSITIVE-DOUBLE-FLOAT))
                              (QREFELT $ 60)))))))))))
      #1# (EXIT #1#))))) 

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

(DEFUN |DoubleFloat;| ()
  (PROG (|dv$| $ |pv$|)
    (RETURN
     (PROGN
      (LETT |dv$| '(|DoubleFloat|) . #1=(|DoubleFloat|))
      (LETT $ (GETREFV 160) . #1#)
      (QSETREFV $ 0 |dv$|)
      (QSETREFV $ 3 (LETT |pv$| (|buildPredVector| 0 0 NIL) . #1#))
      (|haddProp| |$ConstructorCache| '|DoubleFloat| NIL (CONS 1 $))
      (|stuffDomainSlots| $)
      (AND (|HasCategory| $ '(|arbitraryPrecision|)) (|augmentPredVector| $ 1))
      (AND (|not| (|HasCategory| $ '(|arbitraryExponent|)))
           (|not| (|HasCategory| $ '(|arbitraryPrecision|)))
           (|augmentPredVector| $ 2))
      (QSETREFV $ 6 "~A")
      $)))) 

(MAKEPROP '|DoubleFloat| '|infovec|
          (LIST
           '#(NIL NIL NIL NIL NIL NIL '|format| (|String|)
              |DFLOAT;doubleFloatFormat;2S;1| (|OpenMathEncoding|)
              (0 . |OMencodingXML|) (|OpenMathDevice|) (4 . |OMopenString|)
              (|Void|) (10 . |OMputObject|) (|DoubleFloat|) (15 . |OMputFloat|)
              (21 . |OMputEndObject|) (26 . |OMclose|) |DFLOAT;OMwrite;$S;2|
              (|Boolean|) |DFLOAT;OMwrite;$BS;3| |DFLOAT;OMwrite;Omd$V;4|
              |DFLOAT;OMwrite;Omd$BV;5| (|PositiveInteger|) |DFLOAT;base;Pi;7|
              (|Integer|) |DFLOAT;mantissa;$I;8| |DFLOAT;exponent;$I;9|
              |DFLOAT;precision;Pi;10| |DFLOAT;log2;2$;38| (31 . *)
              |DFLOAT;bits;Pi;11| |DFLOAT;max;$;12| |DFLOAT;min;$;13|
              |DFLOAT;order;$I;14|
              (CONS IDENTITY
                    (FUNCALL (|dispatchFunction| |DFLOAT;Zero;$;15|) $))
              (CONS IDENTITY
                    (FUNCALL (|dispatchFunction| |DFLOAT;One;$;16|) $))
              |DFLOAT;exp1;$;17| |DFLOAT;pi;$;18| (|OutputForm|)
              (37 . |message|) (42 . -) |DFLOAT;coerce;$Of;19| (|InputForm|)
              (47 . |convert|) |DFLOAT;convert;$If;20| |DFLOAT;<;2$B;21|
              |DFLOAT;-;2$;22| |DFLOAT;+;3$;23| |DFLOAT;-;3$;24|
              |DFLOAT;*;3$;25| |DFLOAT;*;I2$;26| |DFLOAT;max;3$;27|
              |DFLOAT;min;3$;28| |DFLOAT;=;2$B;29| |DFLOAT;/;$I$;30|
              |DFLOAT;sqrt;2$;31| |DFLOAT;log10;2$;32| |DFLOAT;^;$I$;33|
              |DFLOAT;^;3$;34| |DFLOAT;coerce;I$;35| |DFLOAT;exp;2$;36|
              |DFLOAT;log;2$;37| |DFLOAT;sin;2$;39| |DFLOAT;cos;2$;40|
              |DFLOAT;tan;2$;41| |DFLOAT;cot;2$;42| |DFLOAT;sec;2$;43|
              |DFLOAT;csc;2$;44| |DFLOAT;asin;2$;45| |DFLOAT;acos;2$;46|
              |DFLOAT;atan;2$;47| |DFLOAT;acsc;2$;48| |DFLOAT;acot;2$;49|
              |DFLOAT;asec;2$;50| |DFLOAT;sinh;2$;51| |DFLOAT;cosh;2$;52|
              |DFLOAT;tanh;2$;53| |DFLOAT;csch;2$;54| |DFLOAT;coth;2$;55|
              |DFLOAT;sech;2$;56| |DFLOAT;asinh;2$;57| |DFLOAT;acosh;2$;58|
              |DFLOAT;atanh;2$;59| |DFLOAT;acsch;2$;60| |DFLOAT;acoth;2$;61|
              |DFLOAT;asech;2$;62| |DFLOAT;/;3$;63| |DFLOAT;negative?;$B;64|
              |DFLOAT;zero?;$B;65| |DFLOAT;hash;$I;66| (|Union| $ '"failed")
              |DFLOAT;recip;$U;67| |DFLOAT;differentiate;2$;68|
              (|DoubleFloatSpecialFunctions|) (52 . |airyAi|)
              |DFLOAT;airyAi;2$;69| (57 . |airyBi|) |DFLOAT;airyBi;2$;70|
              (62 . |besselI|) |DFLOAT;besselI;3$;71| (68 . |besselJ|)
              |DFLOAT;besselJ;3$;72| (74 . |besselK|) |DFLOAT;besselK;3$;73|
              (80 . |besselY|) |DFLOAT;besselY;3$;74| (86 . |Beta|)
              |DFLOAT;Beta;3$;75| (92 . |digamma|) |DFLOAT;digamma;2$;76|
              (97 . |Gamma|) |DFLOAT;Gamma;2$;77| (|Union| 26 '"failed")
              (102 . |retractIfCan|) (|NonNegativeInteger|) (107 . |polygamma|)
              |DFLOAT;polygamma;3$;78| |DFLOAT;wholePart;$I;79|
              |DFLOAT;float;2IPi$;80| |DFLOAT;convert;2$;81| (|Float|)
              (113 . |convert|) |DFLOAT;convert;$F;82| (|Fraction| 26)
              |DFLOAT;rationalApproximation;$2NniF;92|
              |DFLOAT;rationalApproximation;$NniF;83| |DFLOAT;atan;3$;84|
              |DFLOAT;retract;$F;85| (|Union| 125 '"failed")
              |DFLOAT;retractIfCan;$U;86| |DFLOAT;retract;$I;87|
              |DFLOAT;retractIfCan;$U;88| |DFLOAT;sign;$I;89|
              |DFLOAT;abs;2$;90| (118 . |Zero|) (122 . /) (128 . *)
              (134 . |coerce|) (139 . |zero?|) (144 . |negative?|)
              (149 . |One|) (153 . =) (159 . |numer|) (164 . |denom|)
              |DFLOAT;^;$F$;93| (|PatternMatchResult| 122 $) (|Pattern| 122)
              (|Factored| $) (|Union| 151 '#1="failed") (|List| $)
              (|Record| (|:| |coef1| $) (|:| |coef2| $)) (|Union| 152 '#1#)
              (|Record| (|:| |coef1| $) (|:| |coef2| $) (|:| |generator| $))
              (|Record| (|:| |quotient| $) (|:| |remainder| $))
              (|SparseUnivariatePolynomial| $)
              (|Record| (|:| |coef| 151) (|:| |generator| $))
              (|Record| (|:| |unit| $) (|:| |canonical| $) (|:| |associate| $))
              (|SingleInteger|))
           '#(~= 169 |zero?| 175 |wholePart| 180 |unitNormal| 185
              |unitCanonical| 190 |unit?| 195 |truncate| 200 |tanh| 205 |tan|
              210 |subtractIfCan| 215 |squareFreePart| 221 |squareFree| 226
              |sqrt| 231 |smaller?| 236 |sizeLess?| 242 |sinh| 248 |sin| 253
              |sign| 258 |sech| 263 |sec| 268 |sample| 273 |round| 277
              |retractIfCan| 282 |retract| 292 |rem| 302 |recip| 308
              |rationalApproximation| 313 |quo| 326 |principalIdeal| 332
              |prime?| 337 |precision| 342 |positive?| 351 |polygamma| 356 |pi|
              362 |patternMatch| 366 |order| 373 |one?| 378 |nthRoot| 383
              |norm| 389 |negative?| 394 |multiEuclidean| 399 |min| 405 |max|
              415 |mantissa| 425 |log2| 430 |log10| 435 |log| 440 |lcm| 445
              |latex| 456 |inv| 461 |increasePrecision| 466 |hash| 471
              |gcdPolynomial| 481 |gcd| 487 |fractionPart| 498 |floor| 503
              |float| 508 |factor| 521 |extendedEuclidean| 526 |exquo| 539
              |expressIdealMember| 545 |exponent| 551 |exp1| 556 |exp| 560
              |euclideanSize| 565 |doubleFloatFormat| 570 |divide| 575 |digits|
              581 |digamma| 590 |differentiate| 595 |decreasePrecision| 606
              |csch| 611 |csc| 616 |coth| 621 |cot| 626 |cosh| 631 |cos| 636
              |convert| 641 |coerce| 661 |characteristic| 691 |ceiling| 695
              |bits| 700 |besselY| 709 |besselK| 715 |besselJ| 721 |besselI|
              727 |base| 733 |atanh| 737 |atan| 742 |associates?| 753 |asinh|
              759 |asin| 764 |asech| 769 |asec| 774 |airyBi| 779 |airyAi| 784
              |acsch| 789 |acsc| 794 |acoth| 799 |acot| 804 |acosh| 809 |acos|
              814 |abs| 819 ^ 824 |Zero| 854 |One| 858 |OMwrite| 862 |Gamma|
              886 D 897 |Beta| 908 >= 914 > 920 = 926 <= 932 < 938 / 944 - 956
              + 967 * 973)
           'NIL
           (CONS
            (|makeByteWordVec2| 1
                                '(0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
                                  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
                                  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0))
            (CONS
             '#(|FloatingPointSystem&| |RealNumberSystem&| |Field&|
                |EuclideanDomain&| NIL |UniqueFactorizationDomain&|
                |GcdDomain&| |DivisionRing&| |IntegralDomain&| |Algebra&|
                |Algebra&| |DifferentialRing&| NIL |OrderedRing&| |Module&| NIL
                NIL |Module&| NIL NIL NIL |Ring&| NIL NIL NIL NIL NIL NIL NIL
                |AbelianGroup&| NIL NIL NIL |OrderedSet&| |AbelianMonoid&|
                |Monoid&| NIL NIL NIL |SemiGroup&| |AbelianSemiGroup&|
                |TranscendentalFunctionCategory&| NIL |SetCategory&| NIL NIL
                |ElementaryFunctionCategory&| NIL |HyperbolicFunctionCategory&|
                |ArcTrigonometricFunctionCategory&|
                |TrigonometricFunctionCategory&| NIL NIL NIL |RadicalCategory&|
                |RetractableTo&| |RetractableTo&| NIL NIL NIL NIL NIL NIL NIL
                |BasicType&| NIL)
             (CONS
              '#((|FloatingPointSystem|) (|RealNumberSystem|) (|Field|)
                 (|EuclideanDomain|) (|PrincipalIdealDomain|)
                 (|UniqueFactorizationDomain|) (|GcdDomain|) (|DivisionRing|)
                 (|IntegralDomain|) (|Algebra| 125) (|Algebra| $$)
                 (|DifferentialRing|) (|CharacteristicZero|) (|OrderedRing|)
                 (|Module| 125) (|EntireRing|) (|CommutativeRing|)
                 (|Module| $$) (|OrderedAbelianGroup|) (|BiModule| 125 125)
                 (|BiModule| $$ $$) (|Ring|)
                 (|OrderedCancellationAbelianMonoid|) (|RightModule| 125)
                 (|LeftModule| 125) (|LeftModule| $$) (|Rng|)
                 (|RightModule| $$) (|OrderedAbelianMonoid|) (|AbelianGroup|)
                 (|OrderedAbelianSemiGroup|) (|CancellationAbelianMonoid|)
                 (|SemiRing|) (|OrderedSet|) (|AbelianMonoid|) (|Monoid|)
                 (|SemiRng|) (|PatternMatchable| 122) (|Comparable|)
                 (|SemiGroup|) (|AbelianSemiGroup|)
                 (|TranscendentalFunctionCategory|) (|RealConstant|)
                 (|SetCategory|) (|ConvertibleTo| 44)
                 (|SpecialFunctionCategory|) (|ElementaryFunctionCategory|)
                 (|ArcHyperbolicFunctionCategory|)
                 (|HyperbolicFunctionCategory|)
                 (|ArcTrigonometricFunctionCategory|)
                 (|TrigonometricFunctionCategory|) (|OpenMath|) (|Approximate|)
                 (|ConvertibleTo| 148) (|RadicalCategory|)
                 (|RetractableTo| 125) (|RetractableTo| 26)
                 (|ConvertibleTo| 122) (|ConvertibleTo| 15)
                 (|canonicalsClosed|) (|canonicalUnitNormal|)
                 (|noZeroDivisors|) (|CommutativeStar|) (|unitsKnown|)
                 (|BasicType|) (|CoercibleTo| 40))
              (|makeByteWordVec2| 159
                                  '(0 9 0 10 2 11 0 7 9 12 1 11 13 0 14 2 11 13
                                    0 15 16 1 11 13 0 17 1 11 13 0 18 2 0 0 24
                                    0 31 1 40 0 7 41 1 40 0 0 42 1 44 0 15 45 1
                                    95 15 15 96 1 95 15 15 98 2 95 15 15 15 100
                                    2 95 15 15 15 102 2 95 15 15 15 104 2 95 15
                                    15 15 106 2 95 15 15 15 108 1 95 15 15 110
                                    1 95 15 15 112 1 15 114 0 115 2 95 15 116
                                    15 117 1 122 0 15 123 0 125 0 136 2 125 0
                                    26 26 137 2 26 0 116 0 138 1 125 0 26 139 1
                                    125 20 0 140 1 125 20 0 141 0 125 0 142 2
                                    125 20 0 0 143 1 125 26 0 144 1 125 26 0
                                    145 2 0 20 0 0 1 1 0 20 0 90 1 0 26 0 119 1
                                    0 158 0 1 1 0 0 0 1 1 0 20 0 1 1 0 0 0 1 1
                                    0 0 0 78 1 0 0 0 66 2 0 92 0 0 1 1 0 0 0 1
                                    1 0 149 0 1 1 0 0 0 57 2 0 20 0 0 1 2 0 20
                                    0 0 1 1 0 0 0 76 1 0 0 0 64 1 0 26 0 134 1
                                    0 0 0 81 1 0 0 0 68 0 0 0 1 1 0 0 0 1 1 0
                                    130 0 131 1 0 114 0 133 1 0 125 0 129 1 0
                                    26 0 132 2 0 0 0 0 1 1 0 92 0 93 2 0 125 0
                                    116 127 3 0 125 0 116 116 126 2 0 0 0 0 1 1
                                    0 157 151 1 1 0 20 0 1 1 1 24 24 1 0 0 24
                                    29 1 0 20 0 1 2 0 0 0 0 118 0 0 0 39 3 0
                                    147 0 148 147 1 1 0 26 0 35 1 0 20 0 1 2 0
                                    0 0 26 1 1 0 0 0 1 1 0 20 0 89 2 0 150 151
                                    0 1 0 2 0 34 2 0 0 0 0 54 0 2 0 33 2 0 0 0
                                    0 53 1 0 26 0 27 1 0 0 0 30 1 0 0 0 58 1 0
                                    0 0 63 1 0 0 151 1 2 0 0 0 0 1 1 0 7 0 1 1
                                    0 0 0 1 1 1 24 26 1 1 0 26 0 91 1 0 159 0 1
                                    2 0 156 156 156 1 1 0 0 151 1 2 0 0 0 0 1 1
                                    0 0 0 1 1 0 0 0 1 3 0 0 26 26 24 120 2 0 0
                                    26 26 1 1 0 149 0 1 3 0 153 0 0 0 1 2 0 154
                                    0 0 1 2 0 92 0 0 1 2 0 150 151 0 1 1 0 26 0
                                    28 0 0 0 38 1 0 0 0 62 1 0 116 0 1 1 0 7 7
                                    8 2 0 155 0 0 1 1 1 24 24 1 0 0 24 1 1 0 0
                                    0 111 1 0 0 0 94 2 0 0 0 116 1 1 1 24 26 1
                                    1 0 0 0 79 1 0 0 0 69 1 0 0 0 80 1 0 0 0 67
                                    1 0 0 0 77 1 0 0 0 65 1 0 44 0 46 1 0 148 0
                                    1 1 0 122 0 124 1 0 15 0 121 1 0 0 125 1 1
                                    0 0 26 61 1 0 0 125 1 1 0 0 0 1 1 0 0 26 61
                                    1 0 40 0 43 0 0 116 1 1 0 0 0 1 1 1 24 24 1
                                    0 0 24 32 2 0 0 0 0 107 2 0 0 0 0 105 2 0 0
                                    0 0 103 2 0 0 0 0 101 0 0 24 25 1 0 0 0 84
                                    2 0 0 0 0 128 1 0 0 0 72 2 0 20 0 0 1 1 0 0
                                    0 82 1 0 0 0 70 1 0 0 0 87 1 0 0 0 75 1 0 0
                                    0 99 1 0 0 0 97 1 0 0 0 85 1 0 0 0 73 1 0 0
                                    0 86 1 0 0 0 74 1 0 0 0 83 1 0 0 0 71 1 0 0
                                    0 135 2 0 0 0 0 60 2 0 0 0 125 146 2 0 0 0
                                    26 59 2 0 0 0 116 1 2 0 0 0 24 1 0 0 0 36 0
                                    0 0 37 2 0 13 11 0 22 3 0 13 11 0 20 23 2 0
                                    7 0 20 21 1 0 7 0 19 2 0 0 0 0 1 1 0 0 0
                                    113 1 0 0 0 1 2 0 0 0 116 1 2 0 0 0 0 109 2
                                    0 20 0 0 1 2 0 20 0 0 1 2 0 20 0 0 55 2 0
                                    20 0 0 1 2 0 20 0 0 47 2 0 0 0 26 56 2 0 0
                                    0 0 88 2 0 0 0 0 50 1 0 0 0 48 2 0 0 0 0 49
                                    2 0 0 0 125 1 2 0 0 125 0 1 2 0 0 0 0 51 2
                                    0 0 26 0 52 2 0 0 116 0 1 2 0 0 24 0
                                    31)))))
           '|lookupComplete|)) 

(MAKEPROP '|DoubleFloat| 'NILADIC T) 
