diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/ChangeLog | 3 | ||||
-rw-r--r-- | src/algebra/fspace.spad.pamphlet | 1018 | ||||
-rw-r--r-- | src/algebra/sf.spad.pamphlet | 1555 | ||||
-rw-r--r-- | src/algebra/si.spad.pamphlet | 788 |
4 files changed, 2296 insertions, 1068 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index f3c433a9..6d714548 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,6 +1,9 @@ 2008-03-13 Gabriel Dos Reis <gdr@cs.tamu.edu> * algebra/catdef.spad.pamphlet: Update cached Lisp translation. + * algebra/sf.spad.pamphlet: Likewise. + * algebra/si.spad.pamphlet: Likewise. + * algebra/fspace.spad.pamphlet: Likewise. 2008-03-10 Gabriel Dos Reis <gdr@cs.tamu.edu> diff --git a/src/algebra/fspace.spad.pamphlet b/src/algebra/fspace.spad.pamphlet index b1bd6454..902aa197 100644 --- a/src/algebra/fspace.spad.pamphlet +++ b/src/algebra/fspace.spad.pamphlet @@ -334,15 +334,160 @@ Note that this code is not included in the generated catdef.spad file. <<ES.lsp BOOTSTRAP>>= -(|/VERSIONCHECK| 2) - -(SETQ |ExpressionSpace;AL| (QUOTE NIL)) - -(DEFUN |ExpressionSpace| NIL (LET (#:G82344) (COND (|ExpressionSpace;AL|) (T (SETQ |ExpressionSpace;AL| (|ExpressionSpace;|)))))) - -(DEFUN |ExpressionSpace;| NIL (PROG (#1=#:G82342) (RETURN (PROG1 (LETT #1# (|sublisV| (PAIR (QUOTE (#2=#:G82340 #3=#:G82341)) (LIST (QUOTE (|Kernel| |$|)) (QUOTE (|Kernel| |$|)))) (|Join| (|OrderedSet|) (|RetractableTo| (QUOTE #2#)) (|InnerEvalable| (QUOTE #3#) (QUOTE |$|)) (|Evalable| (QUOTE |$|)) (|mkCategory| (QUOTE |domain|) (QUOTE (((|elt| (|$| (|BasicOperator|) |$|)) T) ((|elt| (|$| (|BasicOperator|) |$| |$|)) T) ((|elt| (|$| (|BasicOperator|) |$| |$| |$|)) T) ((|elt| (|$| (|BasicOperator|) |$| |$| |$| |$|)) T) ((|elt| (|$| (|BasicOperator|) (|List| |$|))) T) ((|subst| (|$| |$| (|Equation| |$|))) T) ((|subst| (|$| |$| (|List| (|Equation| |$|)))) T) ((|subst| (|$| |$| (|List| (|Kernel| |$|)) (|List| |$|))) T) ((|box| (|$| |$|)) T) ((|box| (|$| (|List| |$|))) T) ((|paren| (|$| |$|)) T) ((|paren| (|$| (|List| |$|))) T) ((|distribute| (|$| |$|)) T) ((|distribute| (|$| |$| |$|)) T) ((|height| ((|NonNegativeInteger|) |$|)) T) ((|mainKernel| ((|Union| (|Kernel| |$|) "failed") |$|)) T) ((|kernels| ((|List| (|Kernel| |$|)) |$|)) T) ((|tower| ((|List| (|Kernel| |$|)) |$|)) T) ((|operators| ((|List| (|BasicOperator|)) |$|)) T) ((|operator| ((|BasicOperator|) (|BasicOperator|))) T) ((|belong?| ((|Boolean|) (|BasicOperator|))) T) ((|is?| ((|Boolean|) |$| (|BasicOperator|))) T) ((|is?| ((|Boolean|) |$| (|Symbol|))) T) ((|kernel| (|$| (|BasicOperator|) |$|)) T) ((|kernel| (|$| (|BasicOperator|) (|List| |$|))) T) ((|map| (|$| (|Mapping| |$| |$|) (|Kernel| |$|))) T) ((|freeOf?| ((|Boolean|) |$| |$|)) T) ((|freeOf?| ((|Boolean|) |$| (|Symbol|))) T) ((|eval| (|$| |$| (|List| (|Symbol|)) (|List| (|Mapping| |$| |$|)))) T) ((|eval| (|$| |$| (|List| (|Symbol|)) (|List| (|Mapping| |$| (|List| |$|))))) T) ((|eval| (|$| |$| (|Symbol|) (|Mapping| |$| (|List| |$|)))) T) ((|eval| (|$| |$| (|Symbol|) (|Mapping| |$| |$|))) T) ((|eval| (|$| |$| (|List| (|BasicOperator|)) (|List| (|Mapping| |$| |$|)))) T) ((|eval| (|$| |$| (|List| (|BasicOperator|)) (|List| (|Mapping| |$| (|List| |$|))))) T) ((|eval| (|$| |$| (|BasicOperator|) (|Mapping| |$| (|List| |$|)))) T) ((|eval| (|$| |$| (|BasicOperator|) (|Mapping| |$| |$|))) T) ((|minPoly| ((|SparseUnivariatePolynomial| |$|) (|Kernel| |$|))) (|has| |$| (|Ring|))) ((|definingPolynomial| (|$| |$|)) (|has| |$| (|Ring|))) ((|even?| ((|Boolean|) |$|)) (|has| |$| (|RetractableTo| (|Integer|)))) ((|odd?| ((|Boolean|) |$|)) (|has| |$| (|RetractableTo| (|Integer|)))))) NIL (QUOTE ((|Boolean|) (|SparseUnivariatePolynomial| |$|) (|Kernel| |$|) (|BasicOperator|) (|List| (|BasicOperator|)) (|List| (|Mapping| |$| (|List| |$|))) (|List| (|Mapping| |$| |$|)) (|Symbol|) (|List| (|Symbol|)) (|List| |$|) (|List| (|Kernel| |$|)) (|NonNegativeInteger|) (|List| (|Equation| |$|)) (|Equation| |$|))) NIL))) |ExpressionSpace|) (SETELT #1# 0 (QUOTE (|ExpressionSpace|))))))) - -(MAKEPROP (QUOTE |ExpressionSpace|) (QUOTE NILADIC) T) +(/VERSIONCHECK 2) + +(DEFPARAMETER |ExpressionSpace;AL| 'NIL) + +(DEFUN |ExpressionSpace| () + (LET (#:G1400) + (COND + (|ExpressionSpace;AL|) + (T (SETQ |ExpressionSpace;AL| (|ExpressionSpace;|)))))) + +(DEFUN |ExpressionSpace;| () + (PROG (#0=#:G1398) + (RETURN + (PROG1 (LETT #0# + (|sublisV| + (PAIR '(#1=#:G1396 #2=#:G1397) + (LIST '(|Kernel| $) '(|Kernel| $))) + (|Join| (|OrderedSet|) (|RetractableTo| '#1#) + (|InnerEvalable| '#2# '$) + (|Evalable| '$) + (|mkCategory| '|domain| + '(((|elt| ($ (|BasicOperator|) $)) + T) + ((|elt| ($ (|BasicOperator|) $ $)) + T) + ((|elt| + ($ (|BasicOperator|) $ $ $)) + T) + ((|elt| + ($ (|BasicOperator|) $ $ $ $)) + T) + ((|elt| + ($ (|BasicOperator|) (|List| $))) + T) + ((|subst| ($ $ (|Equation| $))) T) + ((|subst| + ($ $ (|List| (|Equation| $)))) + T) + ((|subst| + ($ $ (|List| (|Kernel| $)) + (|List| $))) + T) + ((|box| ($ $)) T) + ((|box| ($ (|List| $))) T) + ((|paren| ($ $)) T) + ((|paren| ($ (|List| $))) T) + ((|distribute| ($ $)) T) + ((|distribute| ($ $ $)) T) + ((|height| + ((|NonNegativeInteger|) $)) + T) + ((|mainKernel| + ((|Union| (|Kernel| $) "failed") + $)) + T) + ((|kernels| + ((|List| (|Kernel| $)) $)) + T) + ((|tower| + ((|List| (|Kernel| $)) $)) + T) + ((|operators| + ((|List| (|BasicOperator|)) $)) + T) + ((|operator| + ((|BasicOperator|) + (|BasicOperator|))) + T) + ((|belong?| + ((|Boolean|) (|BasicOperator|))) + T) + ((|is?| + ((|Boolean|) $ + (|BasicOperator|))) + T) + ((|is?| + ((|Boolean|) $ (|Symbol|))) + T) + ((|kernel| + ($ (|BasicOperator|) $)) + T) + ((|kernel| + ($ (|BasicOperator|) (|List| $))) + T) + ((|map| + ($ (|Mapping| $ $) (|Kernel| $))) + T) + ((|freeOf?| ((|Boolean|) $ $)) T) + ((|freeOf?| + ((|Boolean|) $ (|Symbol|))) + T) + ((|eval| + ($ $ (|List| (|Symbol|)) + (|List| (|Mapping| $ $)))) + T) + ((|eval| + ($ $ (|List| (|Symbol|)) + (|List| + (|Mapping| $ (|List| $))))) + T) + ((|eval| + ($ $ (|Symbol|) + (|Mapping| $ (|List| $)))) + T) + ((|eval| + ($ $ (|Symbol|) (|Mapping| $ $))) + T) + ((|eval| + ($ $ (|List| (|BasicOperator|)) + (|List| (|Mapping| $ $)))) + T) + ((|eval| + ($ $ (|List| (|BasicOperator|)) + (|List| + (|Mapping| $ (|List| $))))) + T) + ((|eval| + ($ $ (|BasicOperator|) + (|Mapping| $ (|List| $)))) + T) + ((|eval| + ($ $ (|BasicOperator|) + (|Mapping| $ $))) + T) + ((|minPoly| + ((|SparseUnivariatePolynomial| + $) + (|Kernel| $))) + (|has| $ (|Ring|))) + ((|definingPolynomial| ($ $)) + (|has| $ (|Ring|))) + ((|even?| ((|Boolean|) $)) + (|has| $ + (|RetractableTo| (|Integer|)))) + ((|odd?| ((|Boolean|) $)) + (|has| $ + (|RetractableTo| (|Integer|))))) + NIL + '((|Boolean|) + (|SparseUnivariatePolynomial| $) + (|Kernel| $) (|BasicOperator|) + (|List| (|BasicOperator|)) + (|List| (|Mapping| $ (|List| $))) + (|List| (|Mapping| $ $)) + (|Symbol|) (|List| (|Symbol|)) + (|List| $) (|List| (|Kernel| $)) + (|NonNegativeInteger|) + (|List| (|Equation| $)) + (|Equation| $)) + NIL))) + |ExpressionSpace|) + (SETELT #0# 0 '(|ExpressionSpace|)))))) + +(MAKEPROP '|ExpressionSpace| 'NILADIC T) @ \section{ES-.lsp BOOTSTRAP} {\bf ES-} depends on {\bf ES}. We need to break this cycle to build @@ -355,109 +500,758 @@ Note that this code is not included in the generated catdef.spad file. <<ES-.lsp BOOTSTRAP>>= -(|/VERSIONCHECK| 2) - -(DEFUN |ES-;box;2S;1| (|x| |$|) (SPADCALL (LIST |x|) (QREFELT |$| 16))) - -(DEFUN |ES-;paren;2S;2| (|x| |$|) (SPADCALL (LIST |x|) (QREFELT |$| 18))) - -(DEFUN |ES-;belong?;BoB;3| (|op| |$|) (COND ((SPADCALL |op| (QREFELT |$| 13) (QREFELT |$| 21)) (QUOTE T)) ((QUOTE T) (SPADCALL |op| (QREFELT |$| 14) (QREFELT |$| 21))))) - -(DEFUN |ES-;listk| (|f| |$|) (SPADCALL (|ES-;allKernels| |f| |$|) (QREFELT |$| 25))) - -(DEFUN |ES-;tower;SL;5| (|f| |$|) (SPADCALL (|ES-;listk| |f| |$|) (QREFELT |$| 26))) - -(DEFUN |ES-;allk| (|l| |$|) (PROG (#1=#:G82361 |f| #2=#:G82362) (RETURN (SEQ (SPADCALL (ELT |$| 30) (PROGN (LETT #1# NIL |ES-;allk|) (SEQ (LETT |f| NIL |ES-;allk|) (LETT #2# |l| |ES-;allk|) G190 (COND ((OR (ATOM #2#) (PROGN (LETT |f| (CAR #2#) |ES-;allk|) NIL)) (GO G191))) (SEQ (EXIT (LETT #1# (CONS (|ES-;allKernels| |f| |$|) #1#) |ES-;allk|))) (LETT #2# (CDR #2#) |ES-;allk|) (GO G190) G191 (EXIT (NREVERSE0 #1#)))) (SPADCALL NIL (QREFELT |$| 29)) (QREFELT |$| 33)))))) - -(DEFUN |ES-;operators;SL;7| (|f| |$|) (PROG (#1=#:G82365 |k| #2=#:G82366) (RETURN (SEQ (PROGN (LETT #1# NIL |ES-;operators;SL;7|) (SEQ (LETT |k| NIL |ES-;operators;SL;7|) (LETT #2# (|ES-;listk| |f| |$|) |ES-;operators;SL;7|) G190 (COND ((OR (ATOM #2#) (PROGN (LETT |k| (CAR #2#) |ES-;operators;SL;7|) NIL)) (GO G191))) (SEQ (EXIT (LETT #1# (CONS (SPADCALL |k| (QREFELT |$| 35)) #1#) |ES-;operators;SL;7|))) (LETT #2# (CDR #2#) |ES-;operators;SL;7|) (GO G190) G191 (EXIT (NREVERSE0 #1#)))))))) - -(DEFUN |ES-;height;SNni;8| (|f| |$|) (PROG (#1=#:G82371 |k| #2=#:G82372) (RETURN (SEQ (SPADCALL (ELT |$| 41) (PROGN (LETT #1# NIL |ES-;height;SNni;8|) (SEQ (LETT |k| NIL |ES-;height;SNni;8|) (LETT #2# (SPADCALL |f| (QREFELT |$| 38)) |ES-;height;SNni;8|) G190 (COND ((OR (ATOM #2#) (PROGN (LETT |k| (CAR #2#) |ES-;height;SNni;8|) NIL)) (GO G191))) (SEQ (EXIT (LETT #1# (CONS (SPADCALL |k| (QREFELT |$| 40)) #1#) |ES-;height;SNni;8|))) (LETT #2# (CDR #2#) |ES-;height;SNni;8|) (GO G190) G191 (EXIT (NREVERSE0 #1#)))) 0 (QREFELT |$| 44)))))) - -(DEFUN |ES-;freeOf?;SSB;9| (|x| |s| |$|) (PROG (#1=#:G82377 |k| #2=#:G82378) (RETURN (SEQ (COND ((SPADCALL |s| (PROGN (LETT #1# NIL |ES-;freeOf?;SSB;9|) (SEQ (LETT |k| NIL |ES-;freeOf?;SSB;9|) (LETT #2# (|ES-;listk| |x| |$|) |ES-;freeOf?;SSB;9|) G190 (COND ((OR (ATOM #2#) (PROGN (LETT |k| (CAR #2#) |ES-;freeOf?;SSB;9|) NIL)) (GO G191))) (SEQ (EXIT (LETT #1# (CONS (SPADCALL |k| (QREFELT |$| 46)) #1#) |ES-;freeOf?;SSB;9|))) (LETT #2# (CDR #2#) |ES-;freeOf?;SSB;9|) (GO G190) G191 (EXIT (NREVERSE0 #1#)))) (QREFELT |$| 48)) (QUOTE NIL)) ((QUOTE T) (QUOTE T))))))) - -(DEFUN |ES-;distribute;2S;10| (|x| |$|) (PROG (#1=#:G82381 |k| #2=#:G82382) (RETURN (SEQ (|ES-;unwrap| (PROGN (LETT #1# NIL |ES-;distribute;2S;10|) (SEQ (LETT |k| NIL |ES-;distribute;2S;10|) (LETT #2# (|ES-;listk| |x| |$|) |ES-;distribute;2S;10|) G190 (COND ((OR (ATOM #2#) (PROGN (LETT |k| (CAR #2#) |ES-;distribute;2S;10|) NIL)) (GO G191))) (SEQ (EXIT (COND ((SPADCALL |k| (QREFELT |$| 13) (QREFELT |$| 50)) (LETT #1# (CONS |k| #1#) |ES-;distribute;2S;10|))))) (LETT #2# (CDR #2#) |ES-;distribute;2S;10|) (GO G190) G191 (EXIT (NREVERSE0 #1#)))) |x| |$|))))) - -(DEFUN |ES-;box;LS;11| (|l| |$|) (SPADCALL (QREFELT |$| 14) |l| (QREFELT |$| 52))) - -(DEFUN |ES-;paren;LS;12| (|l| |$|) (SPADCALL (QREFELT |$| 13) |l| (QREFELT |$| 52))) - -(DEFUN |ES-;freeOf?;2SB;13| (|x| |k| |$|) (COND ((SPADCALL (SPADCALL |k| (QREFELT |$| 56)) (|ES-;listk| |x| |$|) (QREFELT |$| 57)) (QUOTE NIL)) ((QUOTE T) (QUOTE T)))) - -(DEFUN |ES-;kernel;Bo2S;14| (|op| |arg| |$|) (SPADCALL |op| (LIST |arg|) (QREFELT |$| 59))) - -(DEFUN |ES-;elt;Bo2S;15| (|op| |x| |$|) (SPADCALL |op| (LIST |x|) (QREFELT |$| 52))) - -(DEFUN |ES-;elt;Bo3S;16| (|op| |x| |y| |$|) (SPADCALL |op| (LIST |x| |y|) (QREFELT |$| 52))) - -(DEFUN |ES-;elt;Bo4S;17| (|op| |x| |y| |z| |$|) (SPADCALL |op| (LIST |x| |y| |z|) (QREFELT |$| 52))) - -(DEFUN |ES-;elt;Bo5S;18| (|op| |x| |y| |z| |t| |$|) (SPADCALL |op| (LIST |x| |y| |z| |t|) (QREFELT |$| 52))) - -(DEFUN |ES-;eval;SSMS;19| (|x| |s| |f| |$|) (SPADCALL |x| (LIST |s|) (LIST |f|) (QREFELT |$| 67))) - -(DEFUN |ES-;eval;SBoMS;20| (|x| |s| |f| |$|) (SPADCALL |x| (LIST (SPADCALL |s| (QREFELT |$| 69))) (LIST |f|) (QREFELT |$| 67))) - -(DEFUN |ES-;eval;SSMS;21| (|x| |s| |f| |$|) (SPADCALL |x| (LIST |s|) (LIST (CONS (FUNCTION |ES-;eval;SSMS;21!0|) (VECTOR |f| |$|))) (QREFELT |$| 67))) - -(DEFUN |ES-;eval;SSMS;21!0| (|#1| |$$|) (SPADCALL (SPADCALL |#1| (QREFELT (QREFELT |$$| 1) 72)) (QREFELT |$$| 0))) - -(DEFUN |ES-;eval;SBoMS;22| (|x| |s| |f| |$|) (SPADCALL |x| (LIST |s|) (LIST (CONS (FUNCTION |ES-;eval;SBoMS;22!0|) (VECTOR |f| |$|))) (QREFELT |$| 75))) - -(DEFUN |ES-;eval;SBoMS;22!0| (|#1| |$$|) (SPADCALL (SPADCALL |#1| (QREFELT (QREFELT |$$| 1) 72)) (QREFELT |$$| 0))) - -(DEFUN |ES-;subst;SES;23| (|x| |e| |$|) (SPADCALL |x| (LIST |e|) (QREFELT |$| 78))) - -(DEFUN |ES-;eval;SLLS;24| (|x| |ls| |lf| |$|) (PROG (#1=#:G82403 |f| #2=#:G82404) (RETURN (SEQ (SPADCALL |x| |ls| (PROGN (LETT #1# NIL |ES-;eval;SLLS;24|) (SEQ (LETT |f| NIL |ES-;eval;SLLS;24|) (LETT #2# |lf| |ES-;eval;SLLS;24|) G190 (COND ((OR (ATOM #2#) (PROGN (LETT |f| (CAR #2#) |ES-;eval;SLLS;24|) NIL)) (GO G191))) (SEQ (EXIT (LETT #1# (CONS (CONS (FUNCTION |ES-;eval;SLLS;24!0|) (VECTOR |f| |$|)) #1#) |ES-;eval;SLLS;24|))) (LETT #2# (CDR #2#) |ES-;eval;SLLS;24|) (GO G190) G191 (EXIT (NREVERSE0 #1#)))) (QREFELT |$| 75)))))) - -(DEFUN |ES-;eval;SLLS;24!0| (|#1| |$$|) (SPADCALL (SPADCALL |#1| (QREFELT (QREFELT |$$| 1) 72)) (QREFELT |$$| 0))) - -(DEFUN |ES-;eval;SLLS;25| (|x| |ls| |lf| |$|) (PROG (#1=#:G82407 |f| #2=#:G82408) (RETURN (SEQ (SPADCALL |x| |ls| (PROGN (LETT #1# NIL |ES-;eval;SLLS;25|) (SEQ (LETT |f| NIL |ES-;eval;SLLS;25|) (LETT #2# |lf| |ES-;eval;SLLS;25|) G190 (COND ((OR (ATOM #2#) (PROGN (LETT |f| (CAR #2#) |ES-;eval;SLLS;25|) NIL)) (GO G191))) (SEQ (EXIT (LETT #1# (CONS (CONS (FUNCTION |ES-;eval;SLLS;25!0|) (VECTOR |f| |$|)) #1#) |ES-;eval;SLLS;25|))) (LETT #2# (CDR #2#) |ES-;eval;SLLS;25|) (GO G190) G191 (EXIT (NREVERSE0 #1#)))) (QREFELT |$| 67)))))) - -(DEFUN |ES-;eval;SLLS;25!0| (|#1| |$$|) (SPADCALL (SPADCALL |#1| (QREFELT (QREFELT |$$| 1) 72)) (QREFELT |$$| 0))) - -(DEFUN |ES-;eval;SLLS;26| (|x| |ls| |lf| |$|) (PROG (#1=#:G82412 |s| #2=#:G82413) (RETURN (SEQ (SPADCALL |x| (PROGN (LETT #1# NIL |ES-;eval;SLLS;26|) (SEQ (LETT |s| NIL |ES-;eval;SLLS;26|) (LETT #2# |ls| |ES-;eval;SLLS;26|) G190 (COND ((OR (ATOM #2#) (PROGN (LETT |s| (CAR #2#) |ES-;eval;SLLS;26|) NIL)) (GO G191))) (SEQ (EXIT (LETT #1# (CONS (SPADCALL |s| (QREFELT |$| 69)) #1#) |ES-;eval;SLLS;26|))) (LETT #2# (CDR #2#) |ES-;eval;SLLS;26|) (GO G190) G191 (EXIT (NREVERSE0 #1#)))) |lf| (QREFELT |$| 67)))))) - -(DEFUN |ES-;map;MKS;27| (|fn| |k| |$|) (PROG (#1=#:G82428 |x| #2=#:G82429 |l|) (RETURN (SEQ (COND ((SPADCALL (LETT |l| (PROGN (LETT #1# NIL |ES-;map;MKS;27|) (SEQ (LETT |x| NIL |ES-;map;MKS;27|) (LETT #2# (SPADCALL |k| (QREFELT |$| 85)) |ES-;map;MKS;27|) G190 (COND ((OR (ATOM #2#) (PROGN (LETT |x| (CAR #2#) |ES-;map;MKS;27|) NIL)) (GO G191))) (SEQ (EXIT (LETT #1# (CONS (SPADCALL |x| |fn|) #1#) |ES-;map;MKS;27|))) (LETT #2# (CDR #2#) |ES-;map;MKS;27|) (GO G190) G191 (EXIT (NREVERSE0 #1#)))) |ES-;map;MKS;27|) (SPADCALL |k| (QREFELT |$| 85)) (QREFELT |$| 86)) (SPADCALL |k| (QREFELT |$| 87))) ((QUOTE T) (SPADCALL (SPADCALL |k| (QREFELT |$| 35)) |l| (QREFELT |$| 52)))))))) - -(DEFUN |ES-;operator;2Bo;28| (|op| |$|) (COND ((SPADCALL |op| (SPADCALL "%paren" (QREFELT |$| 9)) (QREFELT |$| 89)) (QREFELT |$| 13)) ((SPADCALL |op| (SPADCALL "%box" (QREFELT |$| 9)) (QREFELT |$| 89)) (QREFELT |$| 14)) ((QUOTE T) (|error| "Unknown operator")))) - -(DEFUN |ES-;mainKernel;SU;29| (|x| |$|) (PROG (|l| |kk| #1=#:G82445 |n| |k|) (RETURN (SEQ (COND ((NULL (LETT |l| (SPADCALL |x| (QREFELT |$| 38)) |ES-;mainKernel;SU;29|)) (CONS 1 "failed")) ((QUOTE T) (SEQ (LETT |n| (SPADCALL (LETT |k| (|SPADfirst| |l|) |ES-;mainKernel;SU;29|) (QREFELT |$| 40)) |ES-;mainKernel;SU;29|) (SEQ (LETT |kk| NIL |ES-;mainKernel;SU;29|) (LETT #1# (CDR |l|) |ES-;mainKernel;SU;29|) G190 (COND ((OR (ATOM #1#) (PROGN (LETT |kk| (CAR #1#) |ES-;mainKernel;SU;29|) NIL)) (GO G191))) (SEQ (EXIT (COND ((|<| |n| (SPADCALL |kk| (QREFELT |$| 40))) (SEQ (LETT |n| (SPADCALL |kk| (QREFELT |$| 40)) |ES-;mainKernel;SU;29|) (EXIT (LETT |k| |kk| |ES-;mainKernel;SU;29|))))))) (LETT #1# (CDR #1#) |ES-;mainKernel;SU;29|) (GO G190) G191 (EXIT NIL)) (EXIT (CONS 0 |k|))))))))) - -(DEFUN |ES-;allKernels| (|f| |$|) (PROG (|l| |k| #1=#:G82458 |u| |s0| |n| |arg| |t| |s|) (RETURN (SEQ (LETT |s| (SPADCALL (LETT |l| (SPADCALL |f| (QREFELT |$| 38)) |ES-;allKernels|) (QREFELT |$| 29)) |ES-;allKernels|) (SEQ (LETT |k| NIL |ES-;allKernels|) (LETT #1# |l| |ES-;allKernels|) G190 (COND ((OR (ATOM #1#) (PROGN (LETT |k| (CAR #1#) |ES-;allKernels|) NIL)) (GO G191))) (SEQ (LETT |t| (SEQ (LETT |u| (SPADCALL (SPADCALL |k| (QREFELT |$| 35)) "%dummyVar" (QREFELT |$| 94)) |ES-;allKernels|) (EXIT (COND ((QEQCAR |u| 0) (SEQ (LETT |arg| (SPADCALL |k| (QREFELT |$| 85)) |ES-;allKernels|) (LETT |s0| (SPADCALL (SPADCALL (SPADCALL |arg| (QREFELT |$| 95)) (QREFELT |$| 56)) (|ES-;allKernels| (|SPADfirst| |arg|) |$|) (QREFELT |$| 96)) |ES-;allKernels|) (LETT |arg| (CDR (CDR |arg|)) |ES-;allKernels|) (LETT |n| (QCDR |u|) |ES-;allKernels|) (COND ((|<| 1 |n|) (LETT |arg| (CDR |arg|) |ES-;allKernels|))) (EXIT (SPADCALL |s0| (|ES-;allk| |arg| |$|) (QREFELT |$| 30))))) ((QUOTE T) (|ES-;allk| (SPADCALL |k| (QREFELT |$| 85)) |$|))))) |ES-;allKernels|) (EXIT (LETT |s| (SPADCALL |s| |t| (QREFELT |$| 30)) |ES-;allKernels|))) (LETT #1# (CDR #1#) |ES-;allKernels|) (GO G190) G191 (EXIT NIL)) (EXIT |s|))))) - -(DEFUN |ES-;kernel;BoLS;31| (|op| |args| |$|) (COND ((NULL (SPADCALL |op| (QREFELT |$| 97))) (|error| "Unknown operator")) ((QUOTE T) (|ES-;okkernel| |op| |args| |$|)))) - -(DEFUN |ES-;okkernel| (|op| |l| |$|) (PROG (#1=#:G82465 |f| #2=#:G82466) (RETURN (SEQ (SPADCALL (SPADCALL |op| |l| (|+| 1 (SPADCALL (ELT |$| 41) (PROGN (LETT #1# NIL |ES-;okkernel|) (SEQ (LETT |f| NIL |ES-;okkernel|) (LETT #2# |l| |ES-;okkernel|) G190 (COND ((OR (ATOM #2#) (PROGN (LETT |f| (CAR #2#) |ES-;okkernel|) NIL)) (GO G191))) (SEQ (EXIT (LETT #1# (CONS (SPADCALL |f| (QREFELT |$| 99)) #1#) |ES-;okkernel|))) (LETT #2# (CDR #2#) |ES-;okkernel|) (GO G190) G191 (EXIT (NREVERSE0 #1#)))) 0 (QREFELT |$| 44))) (QREFELT |$| 100)) (QREFELT |$| 87)))))) - -(DEFUN |ES-;elt;BoLS;33| (|op| |args| |$|) (PROG (|u| #1=#:G82482 |v|) (RETURN (SEQ (EXIT (COND ((NULL (SPADCALL |op| (QREFELT |$| 97))) (|error| "Unknown operator")) ((QUOTE T) (SEQ (SEQ (LETT |u| (SPADCALL |op| (QREFELT |$| 102)) |ES-;elt;BoLS;33|) (EXIT (COND ((QEQCAR |u| 0) (COND ((NULL (EQL (LENGTH |args|) (QCDR |u|))) (PROGN (LETT #1# (|error| "Wrong number of arguments") |ES-;elt;BoLS;33|) (GO #1#)))))))) (LETT |v| (SPADCALL |op| |args| (QREFELT |$| 105)) |ES-;elt;BoLS;33|) (EXIT (COND ((QEQCAR |v| 0) (QCDR |v|)) ((QUOTE T) (|ES-;okkernel| |op| |args| |$|)))))))) #1# (EXIT #1#))))) - -(DEFUN |ES-;retract;SK;34| (|f| |$|) (PROG (|k|) (RETURN (SEQ (LETT |k| (SPADCALL |f| (QREFELT |$| 107)) |ES-;retract;SK;34|) (EXIT (COND ((OR (QEQCAR |k| 1) (NULL (SPADCALL (SPADCALL (QCDR |k|) (QREFELT |$| 87)) |f| (QREFELT |$| 108)))) (|error| "not a kernel")) ((QUOTE T) (QCDR |k|)))))))) - -(DEFUN |ES-;retractIfCan;SU;35| (|f| |$|) (PROG (|k|) (RETURN (SEQ (LETT |k| (SPADCALL |f| (QREFELT |$| 107)) |ES-;retractIfCan;SU;35|) (EXIT (COND ((OR (QEQCAR |k| 1) (NULL (SPADCALL (SPADCALL (QCDR |k|) (QREFELT |$| 87)) |f| (QREFELT |$| 108)))) (CONS 1 "failed")) ((QUOTE T) |k|))))))) - -(DEFUN |ES-;is?;SSB;36| (|f| |s| |$|) (PROG (|k|) (RETURN (SEQ (LETT |k| (SPADCALL |f| (QREFELT |$| 111)) |ES-;is?;SSB;36|) (EXIT (COND ((QEQCAR |k| 1) (QUOTE NIL)) ((QUOTE T) (SPADCALL (QCDR |k|) |s| (QREFELT |$| 112))))))))) - -(DEFUN |ES-;is?;SBoB;37| (|f| |op| |$|) (PROG (|k|) (RETURN (SEQ (LETT |k| (SPADCALL |f| (QREFELT |$| 111)) |ES-;is?;SBoB;37|) (EXIT (COND ((QEQCAR |k| 1) (QUOTE NIL)) ((QUOTE T) (SPADCALL (QCDR |k|) |op| (QREFELT |$| 50))))))))) - -(DEFUN |ES-;unwrap| (|l| |x| |$|) (PROG (|k| #1=#:G82507) (RETURN (SEQ (SEQ (LETT |k| NIL |ES-;unwrap|) (LETT #1# (NREVERSE |l|) |ES-;unwrap|) G190 (COND ((OR (ATOM #1#) (PROGN (LETT |k| (CAR #1#) |ES-;unwrap|) NIL)) (GO G191))) (SEQ (EXIT (LETT |x| (SPADCALL |x| |k| (|SPADfirst| (SPADCALL |k| (QREFELT |$| 85))) (QREFELT |$| 115)) |ES-;unwrap|))) (LETT #1# (CDR #1#) |ES-;unwrap|) (GO G190) G191 (EXIT NIL)) (EXIT |x|))))) - -(DEFUN |ES-;distribute;3S;39| (|x| |y| |$|) (PROG (|ky| #1=#:G82512 |k| #2=#:G82513) (RETURN (SEQ (LETT |ky| (SPADCALL |y| (QREFELT |$| 56)) |ES-;distribute;3S;39|) (EXIT (|ES-;unwrap| (PROGN (LETT #1# NIL |ES-;distribute;3S;39|) (SEQ (LETT |k| NIL |ES-;distribute;3S;39|) (LETT #2# (|ES-;listk| |x| |$|) |ES-;distribute;3S;39|) G190 (COND ((OR (ATOM #2#) (PROGN (LETT |k| (CAR #2#) |ES-;distribute;3S;39|) NIL)) (GO G191))) (SEQ (EXIT (COND ((COND ((SPADCALL |k| (SPADCALL "%paren" (QREFELT |$| 9)) (QREFELT |$| 112)) (SPADCALL |ky| (|ES-;listk| (SPADCALL |k| (QREFELT |$| 87)) |$|) (QREFELT |$| 57))) ((QUOTE T) (QUOTE NIL))) (LETT #1# (CONS |k| #1#) |ES-;distribute;3S;39|))))) (LETT #2# (CDR #2#) |ES-;distribute;3S;39|) (GO G190) G191 (EXIT (NREVERSE0 #1#)))) |x| |$|)))))) - -(DEFUN |ES-;eval;SLS;40| (|f| |leq| |$|) (PROG (|rec|) (RETURN (SEQ (LETT |rec| (|ES-;mkKerLists| |leq| |$|) |ES-;eval;SLS;40|) (EXIT (SPADCALL |f| (QCAR |rec|) (QCDR |rec|) (QREFELT |$| 117))))))) - -(DEFUN |ES-;subst;SLS;41| (|f| |leq| |$|) (PROG (|rec|) (RETURN (SEQ (LETT |rec| (|ES-;mkKerLists| |leq| |$|) |ES-;subst;SLS;41|) (EXIT (SPADCALL |f| (QCAR |rec|) (QCDR |rec|) (QREFELT |$| 119))))))) - -(DEFUN |ES-;mkKerLists| (|leq| |$|) (PROG (|eq| #1=#:G82530 |k| |lk| |lv|) (RETURN (SEQ (LETT |lk| NIL |ES-;mkKerLists|) (LETT |lv| NIL |ES-;mkKerLists|) (SEQ (LETT |eq| NIL |ES-;mkKerLists|) (LETT #1# |leq| |ES-;mkKerLists|) G190 (COND ((OR (ATOM #1#) (PROGN (LETT |eq| (CAR #1#) |ES-;mkKerLists|) NIL)) (GO G191))) (SEQ (LETT |k| (SPADCALL (SPADCALL |eq| (QREFELT |$| 122)) (QREFELT |$| 111)) |ES-;mkKerLists|) (EXIT (COND ((QEQCAR |k| 1) (|error| "left hand side must be a single kernel")) ((NULL (SPADCALL (QCDR |k|) |lk| (QREFELT |$| 57))) (SEQ (LETT |lk| (CONS (QCDR |k|) |lk|) |ES-;mkKerLists|) (EXIT (LETT |lv| (CONS (SPADCALL |eq| (QREFELT |$| 123)) |lv|) |ES-;mkKerLists|))))))) (LETT #1# (CDR #1#) |ES-;mkKerLists|) (GO G190) G191 (EXIT NIL)) (EXIT (CONS |lk| |lv|)))))) - -(DEFUN |ES-;even?;SB;43| (|x| |$|) (|ES-;intpred?| |x| (ELT |$| 125) |$|)) - -(DEFUN |ES-;odd?;SB;44| (|x| |$|) (|ES-;intpred?| |x| (ELT |$| 127) |$|)) - -(DEFUN |ES-;intpred?| (|x| |pred?| |$|) (PROG (|u|) (RETURN (SEQ (LETT |u| (SPADCALL |x| (QREFELT |$| 130)) |ES-;intpred?|) (EXIT (COND ((QEQCAR |u| 0) (SPADCALL (QCDR |u|) |pred?|)) ((QUOTE T) (QUOTE NIL)))))))) - -(DEFUN |ExpressionSpace&| (|#1|) (PROG (|DV$1| |dv$| |$| |pv$|) (RETURN (PROGN (LETT |DV$1| (|devaluate| |#1|) . #1=(|ExpressionSpace&|)) (LETT |dv$| (LIST (QUOTE |ExpressionSpace&|) |DV$1|) . #1#) (LETT |$| (GETREFV 131) . #1#) (QSETREFV |$| 0 |dv$|) (QSETREFV |$| 3 (LETT |pv$| (|buildPredVector| 0 0 (LIST (|HasCategory| |#1| (QUOTE (|RetractableTo| (|Integer|)))) (|HasCategory| |#1| (QUOTE (|Ring|))))) . #1#)) (|stuffDomainSlots| |$|) (QSETREFV |$| 6 |#1|) (QSETREFV |$| 13 (SPADCALL (SPADCALL "%paren" (QREFELT |$| 9)) (QREFELT |$| 12))) (QSETREFV |$| 14 (SPADCALL (SPADCALL "%box" (QREFELT |$| 9)) (QREFELT |$| 12))) (COND ((|testBitVector| |pv$| 1) (PROGN (QSETREFV |$| 126 (CONS (|dispatchFunction| |ES-;even?;SB;43|) |$|)) (QSETREFV |$| 128 (CONS (|dispatchFunction| |ES-;odd?;SB;44|) |$|))))) |$|)))) - -(MAKEPROP (QUOTE |ExpressionSpace&|) (QUOTE |infovec|) (LIST (QUOTE #(NIL NIL NIL NIL NIL NIL (|local| |#1|) (|String|) (|Symbol|) (0 . |coerce|) (|BasicOperator|) (|CommonOperators|) (5 . |operator|) (QUOTE |oppren|) (QUOTE |opbox|) (|List| |$|) (10 . |box|) |ES-;box;2S;1| (15 . |paren|) |ES-;paren;2S;2| (|Boolean|) (20 . |=|) |ES-;belong?;BoB;3| (|List| 34) (|Set| 34) (26 . |parts|) (31 . |sort!|) (|List| 55) |ES-;tower;SL;5| (36 . |brace|) (41 . |union|) (|Mapping| 24 24 24) (|List| 24) (47 . |reduce|) (|Kernel| 6) (54 . |operator|) (|List| 10) |ES-;operators;SL;7| (59 . |kernels|) (|NonNegativeInteger|) (64 . |height|) (69 . |max|) (|Mapping| 39 39 39) (|List| 39) (75 . |reduce|) |ES-;height;SNni;8| (82 . |name|) (|List| 8) (87 . |member?|) |ES-;freeOf?;SSB;9| (93 . |is?|) |ES-;distribute;2S;10| (99 . |elt|) |ES-;box;LS;11| |ES-;paren;LS;12| (|Kernel| |$|) (105 . |retract|) (110 . |member?|) |ES-;freeOf?;2SB;13| (116 . |kernel|) |ES-;kernel;Bo2S;14| |ES-;elt;Bo2S;15| |ES-;elt;Bo3S;16| |ES-;elt;Bo4S;17| |ES-;elt;Bo5S;18| (|Mapping| |$| 15) (|List| 65) (122 . |eval|) |ES-;eval;SSMS;19| (129 . |name|) |ES-;eval;SBoMS;20| (|List| 6) (134 . |first|) (|Mapping| |$| |$|) |ES-;eval;SSMS;21| (139 . |eval|) |ES-;eval;SBoMS;22| (|List| 79) (146 . |subst|) (|Equation| |$|) |ES-;subst;SES;23| (|List| 73) |ES-;eval;SLLS;24| |ES-;eval;SLLS;25| |ES-;eval;SLLS;26| (152 . |argument|) (157 . |=|) (163 . |coerce|) |ES-;map;MKS;27| (168 . |is?|) |ES-;operator;2Bo;28| (|Union| 55 (QUOTE "failed")) |ES-;mainKernel;SU;29| (|Union| (|None|) (QUOTE "failed")) (174 . |property|) (180 . |second|) (185 . |remove!|) (191 . |belong?|) |ES-;kernel;BoLS;31| (196 . |height|) (201 . |kernel|) (|Union| 39 (QUOTE "failed")) (208 . |arity|) (|Union| 6 (QUOTE "failed")) (|BasicOperatorFunctions1| 6) (213 . |evaluate|) |ES-;elt;BoLS;33| (219 . |mainKernel|) (224 . |=|) |ES-;retract;SK;34| |ES-;retractIfCan;SU;35| (230 . |retractIfCan|) (235 . |is?|) |ES-;is?;SSB;36| |ES-;is?;SBoB;37| (241 . |eval|) |ES-;distribute;3S;39| (248 . |eval|) |ES-;eval;SLS;40| (255 . |subst|) |ES-;subst;SLS;41| (|Equation| 6) (262 . |lhs|) (267 . |rhs|) (|Integer|) (272 . |even?|) (277 . |even?|) (282 . |odd?|) (287 . |odd?|) (|Union| 124 (QUOTE "failed")) (292 . |retractIfCan|))) (QUOTE #(|tower| 297 |subst| 302 |retractIfCan| 314 |retract| 319 |paren| 324 |operators| 334 |operator| 339 |odd?| 344 |map| 349 |mainKernel| 355 |kernel| 360 |is?| 372 |height| 384 |freeOf?| 389 |even?| 401 |eval| 406 |elt| 461 |distribute| 497 |box| 508 |belong?| 518)) (QUOTE NIL) (CONS (|makeByteWordVec2| 1 (QUOTE NIL)) (CONS (QUOTE #()) (CONS (QUOTE #()) (|makeByteWordVec2| 130 (QUOTE (1 8 0 7 9 1 11 10 8 12 1 6 0 15 16 1 6 0 15 18 2 10 20 0 0 21 1 24 23 0 25 1 23 0 0 26 1 24 0 23 29 2 24 0 0 0 30 3 32 24 31 0 24 33 1 34 10 0 35 1 6 27 0 38 1 34 39 0 40 2 39 0 0 0 41 3 43 39 42 0 39 44 1 34 8 0 46 2 47 20 8 0 48 2 34 20 0 10 50 2 6 0 10 15 52 1 6 55 0 56 2 23 20 34 0 57 2 6 0 10 15 59 3 6 0 0 47 66 67 1 10 8 0 69 1 71 6 0 72 3 6 0 0 36 66 75 2 6 0 0 77 78 1 34 71 0 85 2 71 20 0 0 86 1 6 0 55 87 2 10 20 0 8 89 2 10 93 0 7 94 1 71 6 0 95 2 24 0 34 0 96 1 6 20 10 97 1 6 39 0 99 3 34 0 10 71 39 100 1 10 101 0 102 2 104 103 10 71 105 1 6 91 0 107 2 6 20 0 0 108 1 6 91 0 111 2 34 20 0 8 112 3 6 0 0 55 0 115 3 6 0 0 27 15 117 3 6 0 0 27 15 119 1 121 6 0 122 1 121 6 0 123 1 124 20 0 125 1 0 20 0 126 1 124 20 0 127 1 0 20 0 128 1 6 129 0 130 1 0 27 0 28 2 0 0 0 77 120 2 0 0 0 79 80 1 0 91 0 110 1 0 55 0 109 1 0 0 0 19 1 0 0 15 54 1 0 36 0 37 1 0 10 10 90 1 0 20 0 128 2 0 0 73 55 88 1 0 91 0 92 2 0 0 10 15 98 2 0 0 10 0 60 2 0 20 0 8 113 2 0 20 0 10 114 1 0 39 0 45 2 0 20 0 8 49 2 0 20 0 0 58 1 0 20 0 126 3 0 0 0 10 73 76 3 0 0 0 36 66 84 3 0 0 0 10 65 70 3 0 0 0 36 81 82 3 0 0 0 8 65 68 3 0 0 0 8 73 74 3 0 0 0 47 81 83 2 0 0 0 77 118 2 0 0 10 15 106 5 0 0 10 0 0 0 0 64 3 0 0 10 0 0 62 4 0 0 10 0 0 0 63 2 0 0 10 0 61 2 0 0 0 0 116 1 0 0 0 51 1 0 0 15 53 1 0 0 0 17 1 0 20 10 22)))))) (QUOTE |lookupComplete|))) +(/VERSIONCHECK 2) + +(DEFUN |ES-;box;2S;1| (|x| $) (SPADCALL (LIST |x|) (QREFELT $ 16))) + +(DEFUN |ES-;paren;2S;2| (|x| $) (SPADCALL (LIST |x|) (QREFELT $ 18))) + +(DEFUN |ES-;belong?;BoB;3| (|op| $) + (COND + ((SPADCALL |op| (QREFELT $ 13) (QREFELT $ 21)) 'T) + ('T (SPADCALL |op| (QREFELT $ 14) (QREFELT $ 21))))) + +(DEFUN |ES-;listk| (|f| $) + (SPADCALL (|ES-;allKernels| |f| $) (QREFELT $ 25))) + +(DEFUN |ES-;tower;SL;5| (|f| $) + (SPADCALL (|ES-;listk| |f| $) (QREFELT $ 26))) + +(DEFUN |ES-;allk| (|l| $) + (PROG (#0=#:G1410 |f| #1=#:G1411) + (RETURN + (SEQ (SPADCALL (ELT $ 30) + (PROGN + (LETT #0# NIL |ES-;allk|) + (SEQ (LETT |f| NIL |ES-;allk|) + (LETT #1# |l| |ES-;allk|) G190 + (COND + ((OR (ATOM #1#) + (PROGN + (LETT |f| (CAR #1#) |ES-;allk|) + NIL)) + (GO G191))) + (SEQ (EXIT (LETT #0# + (CONS (|ES-;allKernels| |f| $) + #0#) + |ES-;allk|))) + (LETT #1# (CDR #1#) |ES-;allk|) (GO G190) G191 + (EXIT (NREVERSE0 #0#)))) + (SPADCALL NIL (QREFELT $ 29)) (QREFELT $ 33)))))) + +(DEFUN |ES-;operators;SL;7| (|f| $) + (PROG (#0=#:G1414 |k| #1=#:G1415) + (RETURN + (SEQ (PROGN + (LETT #0# NIL |ES-;operators;SL;7|) + (SEQ (LETT |k| NIL |ES-;operators;SL;7|) + (LETT #1# (|ES-;listk| |f| $) |ES-;operators;SL;7|) + G190 + (COND + ((OR (ATOM #1#) + (PROGN + (LETT |k| (CAR #1#) |ES-;operators;SL;7|) + NIL)) + (GO G191))) + (SEQ (EXIT (LETT #0# + (CONS (SPADCALL |k| (QREFELT $ 35)) + #0#) + |ES-;operators;SL;7|))) + (LETT #1# (CDR #1#) |ES-;operators;SL;7|) (GO G190) + G191 (EXIT (NREVERSE0 #0#)))))))) + +(DEFUN |ES-;height;SNni;8| (|f| $) + (PROG (#0=#:G1420 |k| #1=#:G1421) + (RETURN + (SEQ (SPADCALL (ELT $ 41) + (PROGN + (LETT #0# NIL |ES-;height;SNni;8|) + (SEQ (LETT |k| NIL |ES-;height;SNni;8|) + (LETT #1# (SPADCALL |f| (QREFELT $ 38)) + |ES-;height;SNni;8|) + G190 + (COND + ((OR (ATOM #1#) + (PROGN + (LETT |k| (CAR #1#) |ES-;height;SNni;8|) + NIL)) + (GO G191))) + (SEQ (EXIT (LETT #0# + (CONS + (SPADCALL |k| (QREFELT $ 40)) + #0#) + |ES-;height;SNni;8|))) + (LETT #1# (CDR #1#) |ES-;height;SNni;8|) + (GO G190) G191 (EXIT (NREVERSE0 #0#)))) + 0 (QREFELT $ 44)))))) + +(DEFUN |ES-;freeOf?;SSB;9| (|x| |s| $) + (PROG (#0=#:G1425 |k| #1=#:G1426) + (RETURN + (SEQ (SPADCALL + (SPADCALL |s| + (PROGN + (LETT #0# NIL |ES-;freeOf?;SSB;9|) + (SEQ (LETT |k| NIL |ES-;freeOf?;SSB;9|) + (LETT #1# (|ES-;listk| |x| $) + |ES-;freeOf?;SSB;9|) + G190 + (COND + ((OR (ATOM #1#) + (PROGN + (LETT |k| (CAR #1#) + |ES-;freeOf?;SSB;9|) + NIL)) + (GO G191))) + (SEQ (EXIT (LETT #0# + (CONS + (SPADCALL |k| (QREFELT $ 46)) + #0#) + |ES-;freeOf?;SSB;9|))) + (LETT #1# (CDR #1#) |ES-;freeOf?;SSB;9|) + (GO G190) G191 (EXIT (NREVERSE0 #0#)))) + (QREFELT $ 48)) + (QREFELT $ 49)))))) + +(DEFUN |ES-;distribute;2S;10| (|x| $) + (PROG (#0=#:G1429 |k| #1=#:G1430) + (RETURN + (SEQ (|ES-;unwrap| + (PROGN + (LETT #0# NIL |ES-;distribute;2S;10|) + (SEQ (LETT |k| NIL |ES-;distribute;2S;10|) + (LETT #1# (|ES-;listk| |x| $) + |ES-;distribute;2S;10|) + G190 + (COND + ((OR (ATOM #1#) + (PROGN + (LETT |k| (CAR #1#) + |ES-;distribute;2S;10|) + NIL)) + (GO G191))) + (SEQ (EXIT (COND + ((SPADCALL |k| (QREFELT $ 13) + (QREFELT $ 51)) + (LETT #0# (CONS |k| #0#) + |ES-;distribute;2S;10|))))) + (LETT #1# (CDR #1#) |ES-;distribute;2S;10|) + (GO G190) G191 (EXIT (NREVERSE0 #0#)))) + |x| $))))) + +(DEFUN |ES-;box;LS;11| (|l| $) + (SPADCALL (QREFELT $ 14) |l| (QREFELT $ 53))) + +(DEFUN |ES-;paren;LS;12| (|l| $) + (SPADCALL (QREFELT $ 13) |l| (QREFELT $ 53))) + +(DEFUN |ES-;freeOf?;2SB;13| (|x| |k| $) + (SPADCALL (SPADCALL (SPADCALL |k| (QREFELT $ 57)) (|ES-;listk| |x| $) + (QREFELT $ 58)) + (QREFELT $ 49))) + +(DEFUN |ES-;kernel;Bo2S;14| (|op| |arg| $) + (SPADCALL |op| (LIST |arg|) (QREFELT $ 60))) + +(DEFUN |ES-;elt;Bo2S;15| (|op| |x| $) + (SPADCALL |op| (LIST |x|) (QREFELT $ 53))) + +(DEFUN |ES-;elt;Bo3S;16| (|op| |x| |y| $) + (SPADCALL |op| (LIST |x| |y|) (QREFELT $ 53))) + +(DEFUN |ES-;elt;Bo4S;17| (|op| |x| |y| |z| $) + (SPADCALL |op| (LIST |x| |y| |z|) (QREFELT $ 53))) + +(DEFUN |ES-;elt;Bo5S;18| (|op| |x| |y| |z| |t| $) + (SPADCALL |op| (LIST |x| |y| |z| |t|) (QREFELT $ 53))) + +(DEFUN |ES-;eval;SSMS;19| (|x| |s| |f| $) + (SPADCALL |x| (LIST |s|) (LIST |f|) (QREFELT $ 68))) + +(DEFUN |ES-;eval;SBoMS;20| (|x| |s| |f| $) + (SPADCALL |x| (LIST (SPADCALL |s| (QREFELT $ 70))) (LIST |f|) + (QREFELT $ 68))) + +(DEFUN |ES-;eval;SSMS;21| (|x| |s| |f| $) + (SPADCALL |x| (LIST |s|) + (LIST (CONS #'|ES-;eval;SSMS;21!0| (VECTOR |f| $))) + (QREFELT $ 68))) + +(DEFUN |ES-;eval;SSMS;21!0| (|#1| $$) + (SPADCALL (SPADCALL |#1| (QREFELT (QREFELT $$ 1) 73)) (QREFELT $$ 0))) + +(DEFUN |ES-;eval;SBoMS;22| (|x| |s| |f| $) + (SPADCALL |x| (LIST |s|) + (LIST (CONS #'|ES-;eval;SBoMS;22!0| (VECTOR |f| $))) + (QREFELT $ 76))) + +(DEFUN |ES-;eval;SBoMS;22!0| (|#1| $$) + (SPADCALL (SPADCALL |#1| (QREFELT (QREFELT $$ 1) 73)) (QREFELT $$ 0))) + +(DEFUN |ES-;subst;SES;23| (|x| |e| $) + (SPADCALL |x| (LIST |e|) (QREFELT $ 79))) + +(DEFUN |ES-;eval;SLLS;24| (|x| |ls| |lf| $) + (PROG (#0=#:G1450 |f| #1=#:G1451) + (RETURN + (SEQ (SPADCALL |x| |ls| + (PROGN + (LETT #0# NIL |ES-;eval;SLLS;24|) + (SEQ (LETT |f| NIL |ES-;eval;SLLS;24|) + (LETT #1# |lf| |ES-;eval;SLLS;24|) G190 + (COND + ((OR (ATOM #1#) + (PROGN + (LETT |f| (CAR #1#) |ES-;eval;SLLS;24|) + NIL)) + (GO G191))) + (SEQ (EXIT (LETT #0# + (CONS + (CONS #'|ES-;eval;SLLS;24!0| + (VECTOR |f| $)) + #0#) + |ES-;eval;SLLS;24|))) + (LETT #1# (CDR #1#) |ES-;eval;SLLS;24|) (GO G190) + G191 (EXIT (NREVERSE0 #0#)))) + (QREFELT $ 76)))))) + +(DEFUN |ES-;eval;SLLS;24!0| (|#1| $$) + (SPADCALL (SPADCALL |#1| (QREFELT (QREFELT $$ 1) 73)) (QREFELT $$ 0))) + +(DEFUN |ES-;eval;SLLS;25| (|x| |ls| |lf| $) + (PROG (#0=#:G1454 |f| #1=#:G1455) + (RETURN + (SEQ (SPADCALL |x| |ls| + (PROGN + (LETT #0# NIL |ES-;eval;SLLS;25|) + (SEQ (LETT |f| NIL |ES-;eval;SLLS;25|) + (LETT #1# |lf| |ES-;eval;SLLS;25|) G190 + (COND + ((OR (ATOM #1#) + (PROGN + (LETT |f| (CAR #1#) |ES-;eval;SLLS;25|) + NIL)) + (GO G191))) + (SEQ (EXIT (LETT #0# + (CONS + (CONS #'|ES-;eval;SLLS;25!0| + (VECTOR |f| $)) + #0#) + |ES-;eval;SLLS;25|))) + (LETT #1# (CDR #1#) |ES-;eval;SLLS;25|) (GO G190) + G191 (EXIT (NREVERSE0 #0#)))) + (QREFELT $ 68)))))) + +(DEFUN |ES-;eval;SLLS;25!0| (|#1| $$) + (SPADCALL (SPADCALL |#1| (QREFELT (QREFELT $$ 1) 73)) (QREFELT $$ 0))) + +(DEFUN |ES-;eval;SLLS;26| (|x| |ls| |lf| $) + (PROG (#0=#:G1459 |s| #1=#:G1460) + (RETURN + (SEQ (SPADCALL |x| + (PROGN + (LETT #0# NIL |ES-;eval;SLLS;26|) + (SEQ (LETT |s| NIL |ES-;eval;SLLS;26|) + (LETT #1# |ls| |ES-;eval;SLLS;26|) G190 + (COND + ((OR (ATOM #1#) + (PROGN + (LETT |s| (CAR #1#) |ES-;eval;SLLS;26|) + NIL)) + (GO G191))) + (SEQ (EXIT (LETT #0# + (CONS + (SPADCALL |s| (QREFELT $ 70)) + #0#) + |ES-;eval;SLLS;26|))) + (LETT #1# (CDR #1#) |ES-;eval;SLLS;26|) (GO G190) + G191 (EXIT (NREVERSE0 #0#)))) + |lf| (QREFELT $ 68)))))) + +(DEFUN |ES-;map;MKS;27| (|fn| |k| $) + (PROG (#0=#:G1475 |x| #1=#:G1476 |l|) + (RETURN + (SEQ (COND + ((SPADCALL + (LETT |l| + (PROGN + (LETT #0# NIL |ES-;map;MKS;27|) + (SEQ (LETT |x| NIL |ES-;map;MKS;27|) + (LETT #1# (SPADCALL |k| (QREFELT $ 86)) + |ES-;map;MKS;27|) + G190 + (COND + ((OR (ATOM #1#) + (PROGN + (LETT |x| (CAR #1#) + |ES-;map;MKS;27|) + NIL)) + (GO G191))) + (SEQ (EXIT + (LETT #0# + (CONS (SPADCALL |x| |fn|) #0#) + |ES-;map;MKS;27|))) + (LETT #1# (CDR #1#) |ES-;map;MKS;27|) + (GO G190) G191 (EXIT (NREVERSE0 #0#)))) + |ES-;map;MKS;27|) + (SPADCALL |k| (QREFELT $ 86)) (QREFELT $ 87)) + (SPADCALL |k| (QREFELT $ 88))) + ('T + (SPADCALL (SPADCALL |k| (QREFELT $ 35)) |l| + (QREFELT $ 53)))))))) + +(DEFUN |ES-;operator;2Bo;28| (|op| $) + (COND + ((SPADCALL |op| (SPADCALL "%paren" (QREFELT $ 9)) (QREFELT $ 90)) + (QREFELT $ 13)) + ((SPADCALL |op| (SPADCALL "%box" (QREFELT $ 9)) (QREFELT $ 90)) + (QREFELT $ 14)) + ('T (|error| "Unknown operator")))) + +(DEFUN |ES-;mainKernel;SU;29| (|x| $) + (PROG (|l| |kk| #0=#:G1492 |n| |k|) + (RETURN + (SEQ (COND + ((NULL (LETT |l| (SPADCALL |x| (QREFELT $ 38)) + |ES-;mainKernel;SU;29|)) + (CONS 1 "failed")) + ('T + (SEQ (LETT |n| + (SPADCALL + (LETT |k| (|SPADfirst| |l|) + |ES-;mainKernel;SU;29|) + (QREFELT $ 40)) + |ES-;mainKernel;SU;29|) + (SEQ (LETT |kk| NIL |ES-;mainKernel;SU;29|) + (LETT #0# (CDR |l|) |ES-;mainKernel;SU;29|) + G190 + (COND + ((OR (ATOM #0#) + (PROGN + (LETT |kk| (CAR #0#) + |ES-;mainKernel;SU;29|) + NIL)) + (GO G191))) + (SEQ (EXIT (COND + ((< |n| + (SPADCALL |kk| (QREFELT $ 40))) + (SEQ + (LETT |n| + (SPADCALL |kk| (QREFELT $ 40)) + |ES-;mainKernel;SU;29|) + (EXIT + (LETT |k| |kk| + |ES-;mainKernel;SU;29|))))))) + (LETT #0# (CDR #0#) |ES-;mainKernel;SU;29|) + (GO G190) G191 (EXIT NIL)) + (EXIT (CONS 0 |k|))))))))) + +(DEFUN |ES-;allKernels| (|f| $) + (PROG (|l| |k| #0=#:G1505 |u| |s0| |n| |arg| |t| |s|) + (RETURN + (SEQ (LETT |s| + (SPADCALL + (LETT |l| (SPADCALL |f| (QREFELT $ 38)) + |ES-;allKernels|) + (QREFELT $ 29)) + |ES-;allKernels|) + (SEQ (LETT |k| NIL |ES-;allKernels|) + (LETT #0# |l| |ES-;allKernels|) G190 + (COND + ((OR (ATOM #0#) + (PROGN + (LETT |k| (CAR #0#) |ES-;allKernels|) + NIL)) + (GO G191))) + (SEQ (LETT |t| + (SEQ (LETT |u| + (SPADCALL + (SPADCALL |k| (QREFELT $ 35)) + "%dummyVar" (QREFELT $ 95)) + |ES-;allKernels|) + (EXIT (COND + ((QEQCAR |u| 0) + (SEQ + (LETT |arg| + (SPADCALL |k| + (QREFELT $ 86)) + |ES-;allKernels|) + (LETT |s0| + (SPADCALL + (SPADCALL + (SPADCALL |arg| + (QREFELT $ 96)) + (QREFELT $ 57)) + (|ES-;allKernels| + (|SPADfirst| |arg|) $) + (QREFELT $ 97)) + |ES-;allKernels|) + (LETT |arg| (CDR (CDR |arg|)) + |ES-;allKernels|) + (LETT |n| (QCDR |u|) + |ES-;allKernels|) + (COND + ((< 1 |n|) + (LETT |arg| (CDR |arg|) + |ES-;allKernels|))) + (EXIT + (SPADCALL |s0| + (|ES-;allk| |arg| $) + (QREFELT $ 30))))) + ('T + (|ES-;allk| + (SPADCALL |k| (QREFELT $ 86)) + $))))) + |ES-;allKernels|) + (EXIT (LETT |s| (SPADCALL |s| |t| (QREFELT $ 30)) + |ES-;allKernels|))) + (LETT #0# (CDR #0#) |ES-;allKernels|) (GO G190) G191 + (EXIT NIL)) + (EXIT |s|))))) + +(DEFUN |ES-;kernel;BoLS;31| (|op| |args| $) + (COND + ((NULL (SPADCALL |op| (QREFELT $ 98))) + (|error| "Unknown operator")) + ('T (|ES-;okkernel| |op| |args| $)))) + +(DEFUN |ES-;okkernel| (|op| |l| $) + (PROG (#0=#:G1512 |f| #1=#:G1513) + (RETURN + (SEQ (SPADCALL + (SPADCALL |op| |l| + (+ 1 + (SPADCALL (ELT $ 41) + (PROGN + (LETT #0# NIL |ES-;okkernel|) + (SEQ (LETT |f| NIL |ES-;okkernel|) + (LETT #1# |l| |ES-;okkernel|) G190 + (COND + ((OR (ATOM #1#) + (PROGN + (LETT |f| (CAR #1#) + |ES-;okkernel|) + NIL)) + (GO G191))) + (SEQ (EXIT + (LETT #0# + (CONS + (SPADCALL |f| (QREFELT $ 100)) + #0#) + |ES-;okkernel|))) + (LETT #1# (CDR #1#) |ES-;okkernel|) + (GO G190) G191 (EXIT (NREVERSE0 #0#)))) + 0 (QREFELT $ 44))) + (QREFELT $ 101)) + (QREFELT $ 88)))))) + +(DEFUN |ES-;elt;BoLS;33| (|op| |args| $) + (PROG (|u| #0=#:G1529 |v|) + (RETURN + (SEQ (EXIT (COND + ((NULL (SPADCALL |op| (QREFELT $ 98))) + (|error| "Unknown operator")) + ('T + (SEQ (SEQ (LETT |u| (SPADCALL |op| (QREFELT $ 103)) + |ES-;elt;BoLS;33|) + (EXIT (COND + ((QEQCAR |u| 0) + (COND + ((NULL + (EQL (LENGTH |args|) + (QCDR |u|))) + (PROGN + (LETT #0# + (|error| + "Wrong number of arguments") + |ES-;elt;BoLS;33|) + (GO #0#)))))))) + (LETT |v| + (SPADCALL |op| |args| (QREFELT $ 106)) + |ES-;elt;BoLS;33|) + (EXIT (COND + ((QEQCAR |v| 0) (QCDR |v|)) + ('T (|ES-;okkernel| |op| |args| $)))))))) + #0# (EXIT #0#))))) + +(DEFUN |ES-;retract;SK;34| (|f| $) + (PROG (|k|) + (RETURN + (SEQ (LETT |k| (SPADCALL |f| (QREFELT $ 108)) + |ES-;retract;SK;34|) + (EXIT (COND + ((OR (QEQCAR |k| 1) + (NULL (SPADCALL + (SPADCALL (QCDR |k|) (QREFELT $ 88)) + |f| (QREFELT $ 109)))) + (|error| "not a kernel")) + ('T (QCDR |k|)))))))) + +(DEFUN |ES-;retractIfCan;SU;35| (|f| $) + (PROG (|k|) + (RETURN + (SEQ (LETT |k| (SPADCALL |f| (QREFELT $ 108)) + |ES-;retractIfCan;SU;35|) + (EXIT (COND + ((OR (QEQCAR |k| 1) + (NULL (SPADCALL + (SPADCALL (QCDR |k|) (QREFELT $ 88)) + |f| (QREFELT $ 109)))) + (CONS 1 "failed")) + ('T |k|))))))) + +(DEFUN |ES-;is?;SSB;36| (|f| |s| $) + (PROG (|k|) + (RETURN + (SEQ (LETT |k| (SPADCALL |f| (QREFELT $ 112)) |ES-;is?;SSB;36|) + (EXIT (COND + ((QEQCAR |k| 1) 'NIL) + ('T (SPADCALL (QCDR |k|) |s| (QREFELT $ 113))))))))) + +(DEFUN |ES-;is?;SBoB;37| (|f| |op| $) + (PROG (|k|) + (RETURN + (SEQ (LETT |k| (SPADCALL |f| (QREFELT $ 112)) |ES-;is?;SBoB;37|) + (EXIT (COND + ((QEQCAR |k| 1) 'NIL) + ('T (SPADCALL (QCDR |k|) |op| (QREFELT $ 51))))))))) + +(DEFUN |ES-;unwrap| (|l| |x| $) + (PROG (|k| #0=#:G1554) + (RETURN + (SEQ (SEQ (LETT |k| NIL |ES-;unwrap|) + (LETT #0# (NREVERSE |l|) |ES-;unwrap|) G190 + (COND + ((OR (ATOM #0#) + (PROGN (LETT |k| (CAR #0#) |ES-;unwrap|) NIL)) + (GO G191))) + (SEQ (EXIT (LETT |x| + (SPADCALL |x| |k| + (|SPADfirst| + (SPADCALL |k| (QREFELT $ 86))) + (QREFELT $ 116)) + |ES-;unwrap|))) + (LETT #0# (CDR #0#) |ES-;unwrap|) (GO G190) G191 + (EXIT NIL)) + (EXIT |x|))))) + +(DEFUN |ES-;distribute;3S;39| (|x| |y| $) + (PROG (|ky| #0=#:G1559 |k| #1=#:G1560) + (RETURN + (SEQ (LETT |ky| (SPADCALL |y| (QREFELT $ 57)) + |ES-;distribute;3S;39|) + (EXIT (|ES-;unwrap| + (PROGN + (LETT #0# NIL |ES-;distribute;3S;39|) + (SEQ (LETT |k| NIL |ES-;distribute;3S;39|) + (LETT #1# (|ES-;listk| |x| $) + |ES-;distribute;3S;39|) + G190 + (COND + ((OR (ATOM #1#) + (PROGN + (LETT |k| (CAR #1#) + |ES-;distribute;3S;39|) + NIL)) + (GO G191))) + (SEQ (EXIT (COND + ((COND + ((SPADCALL |k| + (SPADCALL "%paren" + (QREFELT $ 9)) + (QREFELT $ 113)) + (SPADCALL |ky| + (|ES-;listk| + (SPADCALL |k| + (QREFELT $ 88)) + $) + (QREFELT $ 58))) + ('T 'NIL)) + (LETT #0# (CONS |k| #0#) + |ES-;distribute;3S;39|))))) + (LETT #1# (CDR #1#) |ES-;distribute;3S;39|) + (GO G190) G191 (EXIT (NREVERSE0 #0#)))) + |x| $)))))) + +(DEFUN |ES-;eval;SLS;40| (|f| |leq| $) + (PROG (|rec|) + (RETURN + (SEQ (LETT |rec| (|ES-;mkKerLists| |leq| $) |ES-;eval;SLS;40|) + (EXIT (SPADCALL |f| (QCAR |rec|) (QCDR |rec|) + (QREFELT $ 118))))))) + +(DEFUN |ES-;subst;SLS;41| (|f| |leq| $) + (PROG (|rec|) + (RETURN + (SEQ (LETT |rec| (|ES-;mkKerLists| |leq| $) |ES-;subst;SLS;41|) + (EXIT (SPADCALL |f| (QCAR |rec|) (QCDR |rec|) + (QREFELT $ 120))))))) + +(DEFUN |ES-;mkKerLists| (|leq| $) + (PROG (|eq| #0=#:G1577 |k| |lk| |lv|) + (RETURN + (SEQ (LETT |lk| NIL |ES-;mkKerLists|) + (LETT |lv| NIL |ES-;mkKerLists|) + (SEQ (LETT |eq| NIL |ES-;mkKerLists|) + (LETT #0# |leq| |ES-;mkKerLists|) G190 + (COND + ((OR (ATOM #0#) + (PROGN + (LETT |eq| (CAR #0#) |ES-;mkKerLists|) + NIL)) + (GO G191))) + (SEQ (LETT |k| + (SPADCALL (SPADCALL |eq| (QREFELT $ 123)) + (QREFELT $ 112)) + |ES-;mkKerLists|) + (EXIT (COND + ((QEQCAR |k| 1) + (|error| "left hand side must be a single kernel")) + ((NULL (SPADCALL (QCDR |k|) |lk| + (QREFELT $ 58))) + (SEQ (LETT |lk| (CONS (QCDR |k|) |lk|) + |ES-;mkKerLists|) + (EXIT + (LETT |lv| + (CONS + (SPADCALL |eq| (QREFELT $ 124)) + |lv|) + |ES-;mkKerLists|))))))) + (LETT #0# (CDR #0#) |ES-;mkKerLists|) (GO G190) G191 + (EXIT NIL)) + (EXIT (CONS |lk| |lv|)))))) + +(DEFUN |ES-;even?;SB;43| (|x| $) (|ES-;intpred?| |x| (ELT $ 126) $)) + +(DEFUN |ES-;odd?;SB;44| (|x| $) (|ES-;intpred?| |x| (ELT $ 128) $)) + +(DEFUN |ES-;intpred?| (|x| |pred?| $) + (PROG (|u|) + (RETURN + (SEQ (LETT |u| (SPADCALL |x| (QREFELT $ 131)) |ES-;intpred?|) + (EXIT (COND + ((QEQCAR |u| 0) (SPADCALL (QCDR |u|) |pred?|)) + ('T 'NIL))))))) + +(DEFUN |ExpressionSpace&| (|#1|) + (PROG (|dv$1| |dv$| $ |pv$|) + (RETURN + (PROGN + (LETT |dv$1| (|devaluate| |#1|) . #0=(|ExpressionSpace&|)) + (LETT |dv$| (LIST '|ExpressionSpace&| |dv$1|) . #0#) + (LETT $ (GETREFV 132) . #0#) + (QSETREFV $ 0 |dv$|) + (QSETREFV $ 3 + (LETT |pv$| + (|buildPredVector| 0 0 + (LIST (|HasCategory| |#1| + '(|RetractableTo| (|Integer|))) + (|HasCategory| |#1| '(|Ring|)))) . #0#)) + (|stuffDomainSlots| $) + (QSETREFV $ 6 |#1|) + (QSETREFV $ 13 + (SPADCALL (SPADCALL "%paren" (QREFELT $ 9)) (QREFELT $ 12))) + (QSETREFV $ 14 + (SPADCALL (SPADCALL "%box" (QREFELT $ 9)) (QREFELT $ 12))) + (COND + ((|testBitVector| |pv$| 1) + (PROGN + (QSETREFV $ 127 + (CONS (|dispatchFunction| |ES-;even?;SB;43|) $)) + (QSETREFV $ 129 + (CONS (|dispatchFunction| |ES-;odd?;SB;44|) $))))) + $)))) + +(MAKEPROP '|ExpressionSpace&| '|infovec| + (LIST '#(NIL NIL NIL NIL NIL NIL (|local| |#1|) (|String|) + (|Symbol|) (0 . |coerce|) (|BasicOperator|) + (|CommonOperators|) (5 . |operator|) '|oppren| '|opbox| + (|List| $) (10 . |box|) |ES-;box;2S;1| (15 . |paren|) + |ES-;paren;2S;2| (|Boolean|) (20 . =) |ES-;belong?;BoB;3| + (|List| 34) (|Set| 34) (26 . |parts|) (31 . |sort!|) + (|List| 56) |ES-;tower;SL;5| (36 . |brace|) (41 . |union|) + (|Mapping| 24 24 24) (|List| 24) (47 . |reduce|) + (|Kernel| 6) (54 . |operator|) (|List| 10) + |ES-;operators;SL;7| (59 . |kernels|) + (|NonNegativeInteger|) (64 . |height|) (69 . |max|) + (|Mapping| 39 39 39) (|List| 39) (75 . |reduce|) + |ES-;height;SNni;8| (82 . |name|) (|List| 8) + (87 . |member?|) (93 . |not|) |ES-;freeOf?;SSB;9| + (98 . |is?|) |ES-;distribute;2S;10| (104 . |elt|) + |ES-;box;LS;11| |ES-;paren;LS;12| (|Kernel| $) + (110 . |retract|) (115 . |member?|) |ES-;freeOf?;2SB;13| + (121 . |kernel|) |ES-;kernel;Bo2S;14| |ES-;elt;Bo2S;15| + |ES-;elt;Bo3S;16| |ES-;elt;Bo4S;17| |ES-;elt;Bo5S;18| + (|Mapping| $ 15) (|List| 66) (127 . |eval|) + |ES-;eval;SSMS;19| (134 . |name|) |ES-;eval;SBoMS;20| + (|List| 6) (139 . |first|) (|Mapping| $ $) + |ES-;eval;SSMS;21| (144 . |eval|) |ES-;eval;SBoMS;22| + (|List| 80) (151 . |subst|) (|Equation| $) + |ES-;subst;SES;23| (|List| 74) |ES-;eval;SLLS;24| + |ES-;eval;SLLS;25| |ES-;eval;SLLS;26| (157 . |argument|) + (162 . =) (168 . |coerce|) |ES-;map;MKS;27| (173 . |is?|) + |ES-;operator;2Bo;28| (|Union| 56 '"failed") + |ES-;mainKernel;SU;29| (|Union| (|None|) '"failed") + (179 . |property|) (185 . |second|) (190 . |remove!|) + (196 . |belong?|) |ES-;kernel;BoLS;31| (201 . |height|) + (206 . |kernel|) (|Union| 39 '"failed") (213 . |arity|) + (|Union| 6 '"failed") (|BasicOperatorFunctions1| 6) + (218 . |evaluate|) |ES-;elt;BoLS;33| (224 . |mainKernel|) + (229 . =) |ES-;retract;SK;34| |ES-;retractIfCan;SU;35| + (235 . |retractIfCan|) (240 . |is?|) |ES-;is?;SSB;36| + |ES-;is?;SBoB;37| (246 . |eval|) |ES-;distribute;3S;39| + (253 . |eval|) |ES-;eval;SLS;40| (260 . |subst|) + |ES-;subst;SLS;41| (|Equation| 6) (267 . |lhs|) + (272 . |rhs|) (|Integer|) (277 . |even?|) (282 . |even?|) + (287 . |odd?|) (292 . |odd?|) (|Union| 125 '"failed") + (297 . |retractIfCan|)) + '#(|tower| 302 |subst| 307 |retractIfCan| 319 |retract| 324 + |paren| 329 |operators| 339 |operator| 344 |odd?| 349 + |map| 354 |mainKernel| 360 |kernel| 365 |is?| 377 |height| + 389 |freeOf?| 394 |even?| 406 |eval| 411 |elt| 466 + |distribute| 502 |box| 513 |belong?| 523) + 'NIL + (CONS (|makeByteWordVec2| 1 'NIL) + (CONS '#() + (CONS '#() + (|makeByteWordVec2| 131 + '(1 8 0 7 9 1 11 10 8 12 1 6 0 15 16 1 + 6 0 15 18 2 10 20 0 0 21 1 24 23 0 25 + 1 23 0 0 26 1 24 0 23 29 2 24 0 0 0 + 30 3 32 24 31 0 24 33 1 34 10 0 35 1 + 6 27 0 38 1 34 39 0 40 2 39 0 0 0 41 + 3 43 39 42 0 39 44 1 34 8 0 46 2 47 + 20 8 0 48 1 20 0 0 49 2 34 20 0 10 51 + 2 6 0 10 15 53 1 6 56 0 57 2 23 20 34 + 0 58 2 6 0 10 15 60 3 6 0 0 47 67 68 + 1 10 8 0 70 1 72 6 0 73 3 6 0 0 36 67 + 76 2 6 0 0 78 79 1 34 72 0 86 2 72 20 + 0 0 87 1 6 0 56 88 2 10 20 0 8 90 2 + 10 94 0 7 95 1 72 6 0 96 2 24 0 34 0 + 97 1 6 20 10 98 1 6 39 0 100 3 34 0 + 10 72 39 101 1 10 102 0 103 2 105 104 + 10 72 106 1 6 92 0 108 2 6 20 0 0 109 + 1 6 92 0 112 2 34 20 0 8 113 3 6 0 0 + 56 0 116 3 6 0 0 27 15 118 3 6 0 0 27 + 15 120 1 122 6 0 123 1 122 6 0 124 1 + 125 20 0 126 1 0 20 0 127 1 125 20 0 + 128 1 0 20 0 129 1 6 130 0 131 1 0 27 + 0 28 2 0 0 0 78 121 2 0 0 0 80 81 1 0 + 92 0 111 1 0 56 0 110 1 0 0 0 19 1 0 + 0 15 55 1 0 36 0 37 1 0 10 10 91 1 0 + 20 0 129 2 0 0 74 56 89 1 0 92 0 93 2 + 0 0 10 15 99 2 0 0 10 0 61 2 0 20 0 8 + 114 2 0 20 0 10 115 1 0 39 0 45 2 0 + 20 0 8 50 2 0 20 0 0 59 1 0 20 0 127 + 3 0 0 0 10 74 77 3 0 0 0 36 67 85 3 0 + 0 0 10 66 71 3 0 0 0 36 82 83 3 0 0 0 + 8 66 69 3 0 0 0 8 74 75 3 0 0 0 47 82 + 84 2 0 0 0 78 119 2 0 0 10 15 107 5 0 + 0 10 0 0 0 0 65 3 0 0 10 0 0 63 4 0 0 + 10 0 0 0 64 2 0 0 10 0 62 2 0 0 0 0 + 117 1 0 0 0 52 1 0 0 15 54 1 0 0 0 17 + 1 0 20 10 22))))) + '|lookupComplete|)) @ \section{package ES1 ExpressionSpaceFunctions1} <<package ES1 ExpressionSpaceFunctions1>>= diff --git a/src/algebra/sf.spad.pamphlet b/src/algebra/sf.spad.pamphlet index 5ceed4b8..70dc7023 100644 --- a/src/algebra/sf.spad.pamphlet +++ b/src/algebra/sf.spad.pamphlet @@ -129,58 +129,47 @@ Note that this code is not included in the generated catdef.spad file. <<RNS.lsp BOOTSTRAP>>= -(|/VERSIONCHECK| 2) +(/VERSIONCHECK 2) -(SETQ |RealNumberSystem;AL| (QUOTE NIL)) +(DEFPARAMETER |RealNumberSystem;AL| 'NIL) -(DEFUN |RealNumberSystem| NIL - (LET (#:G105478) - (COND +(DEFUN |RealNumberSystem| () + (LET (#:G1396) + (COND (|RealNumberSystem;AL|) (T (SETQ |RealNumberSystem;AL| (|RealNumberSystem;|)))))) -(DEFUN |RealNumberSystem;| NIL - (PROG (#1=#:G105476) - (RETURN - (PROG1 - (LETT #1# - (|sublisV| - (PAIR - (QUOTE (#2=#:G105472 #3=#:G105473 #4=#:G105474 #5=#:G105475)) - (LIST - (QUOTE (|Integer|)) - (QUOTE (|Fraction| (|Integer|))) - (QUOTE (|Pattern| (|Float|))) - (QUOTE (|Float|)))) - (|Join| - (|Field|) - (|OrderedRing|) - (|RealConstant|) - (|RetractableTo| (QUOTE #2#)) - (|RetractableTo| (QUOTE #3#)) - (|RadicalCategory|) - (|ConvertibleTo| (QUOTE #4#)) - (|PatternMatchable| (QUOTE #5#)) - (|CharacteristicZero|) - (|mkCategory| - (QUOTE |domain|) - (QUOTE ( - ((|norm| (|$| |$|)) T) - ((|ceiling| (|$| |$|)) T) - ((|floor| (|$| |$|)) T) - ((|wholePart| ((|Integer|) |$|)) T) - ((|fractionPart| (|$| |$|)) T) - ((|truncate| (|$| |$|)) T) - ((|round| (|$| |$|)) T) - ((|abs| (|$| |$|)) T))) - NIL - (QUOTE ((|Integer|))) - NIL))) - |RealNumberSystem|) - (SETELT #1# 0 (QUOTE (|RealNumberSystem|))))))) - -(MAKEPROP (QUOTE |RealNumberSystem|) (QUOTE NILADIC) T) - +(DEFUN |RealNumberSystem;| () + (PROG (#0=#:G1394) + (RETURN + (PROG1 (LETT #0# + (|sublisV| + (PAIR '(#1=#:G1390 #2=#:G1391 #3=#:G1392 + #4=#:G1393) + (LIST '(|Integer|) + '(|Fraction| (|Integer|)) + '(|Pattern| (|Float|)) '(|Float|))) + (|Join| (|Field|) (|OrderedRing|) + (|RealConstant|) (|RetractableTo| '#1#) + (|RetractableTo| '#2#) + (|RadicalCategory|) + (|ConvertibleTo| '#3#) + (|PatternMatchable| '#4#) + (|CharacteristicZero|) + (|mkCategory| '|domain| + '(((|norm| ($ $)) T) + ((|ceiling| ($ $)) T) + ((|floor| ($ $)) T) + ((|wholePart| ((|Integer|) $)) T) + ((|fractionPart| ($ $)) T) + ((|truncate| ($ $)) T) + ((|round| ($ $)) T) + ((|abs| ($ $)) T)) + NIL '((|Integer|)) NIL))) + |RealNumberSystem|) + (SETELT #0# 0 '(|RealNumberSystem|)))))) + +(MAKEPROP '|RealNumberSystem| 'NILADIC T) @ \section{RNS-.lsp BOOTSTRAP} {\bf RNS-} depends {\bf RNS}. @@ -194,205 +183,149 @@ Note that this code is not included in the generated catdef.spad file. <<RNS-.lsp BOOTSTRAP>>= -(|/VERSIONCHECK| 2) - -(PUT - (QUOTE |RNS-;characteristic;Nni;1|) - (QUOTE |SPADreplace|) - (QUOTE (XLAM NIL 0))) - -(DEFUN |RNS-;characteristic;Nni;1| (|$|) 0) - -(DEFUN |RNS-;fractionPart;2S;2| (|x| |$|) - (SPADCALL |x| (SPADCALL |x| (QREFELT |$| 9)) (QREFELT |$| 10))) - -(DEFUN |RNS-;truncate;2S;3| (|x| |$|) - (COND - ((SPADCALL |x| (QREFELT |$| 13)) - (SPADCALL - (SPADCALL - (SPADCALL |x| (QREFELT |$| 14)) - (QREFELT |$| 15)) - (QREFELT |$| 14))) - ((QUOTE T) (SPADCALL |x| (QREFELT |$| 15))))) - -(DEFUN |RNS-;round;2S;4| (|x| |$|) - (COND - ((SPADCALL |x| (QREFELT |$| 13)) - (SPADCALL - (SPADCALL |x| - (SPADCALL - (|spadConstant| |$| 17) - (SPADCALL 2 (QREFELT |$| 19)) - (QREFELT |$| 20)) - (QREFELT |$| 10)) - (QREFELT |$| 9))) - ((QUOTE T) - (SPADCALL - (SPADCALL |x| - (SPADCALL - (|spadConstant| |$| 17) - (SPADCALL 2 (QREFELT |$| 19)) - (QREFELT |$| 20)) - (QREFELT |$| 21)) - (QREFELT |$| 9))))) - -(DEFUN |RNS-;norm;2S;5| (|x| |$|) - (SPADCALL |x| (QREFELT |$| 23))) - -(DEFUN |RNS-;coerce;FS;6| (|x| |$|) - (SPADCALL - (SPADCALL - (SPADCALL |x| (QREFELT |$| 26)) - (QREFELT |$| 19)) - (SPADCALL - (SPADCALL |x| (QREFELT |$| 27)) - (QREFELT |$| 19)) - (QREFELT |$| 20))) - -(DEFUN |RNS-;convert;SP;7| (|x| |$|) - (SPADCALL (SPADCALL |x| (QREFELT |$| 30)) (QREFELT |$| 32))) - -(DEFUN |RNS-;floor;2S;8| (|x| |$|) - (PROG (|x1|) - (RETURN - (SEQ - (LETT |x1| - (SPADCALL (SPADCALL |x| (QREFELT |$| 34)) (QREFELT |$| 19)) - |RNS-;floor;2S;8|) - (EXIT - (COND - ((SPADCALL |x| |x1| (QREFELT |$| 35)) |x|) - ((SPADCALL |x| (|spadConstant| |$| 36) (QREFELT |$| 37)) - (SPADCALL |x1| (|spadConstant| |$| 17) (QREFELT |$| 10))) - ((QUOTE T) |x1|))))))) - -(DEFUN |RNS-;ceiling;2S;9| (|x| |$|) - (PROG (|x1|) - (RETURN - (SEQ - (LETT |x1| - (SPADCALL (SPADCALL |x| (QREFELT |$| 34)) (QREFELT |$| 19)) - |RNS-;ceiling;2S;9|) - (EXIT - (COND - ((SPADCALL |x| |x1| (QREFELT |$| 35)) |x|) - ((SPADCALL |x| (|spadConstant| |$| 36) (QREFELT |$| 37)) |x1|) - ((QUOTE T) - (SPADCALL |x1| (|spadConstant| |$| 17) (QREFELT |$| 21))))))))) - -(DEFUN |RNS-;patternMatch;SP2Pmr;10| (|x| |p| |l| |$|) - (PROG (|r|) - (RETURN - (SEQ - (COND - ((SPADCALL |p| (QREFELT |$| 40)) - (SPADCALL |p| |x| |l| (QREFELT |$| 42))) - ((SPADCALL |p| (QREFELT |$| 43)) - (SEQ - (LETT |r| - (SPADCALL |p| (QREFELT |$| 45)) - |RNS-;patternMatch;SP2Pmr;10|) - (EXIT - (COND - ((QEQCAR |r| 0) - (COND - ((SPADCALL - (SPADCALL |x| (QREFELT |$| 30)) - (QCDR |r|) - (QREFELT |$| 46)) - |l|) - ((QUOTE T) (SPADCALL (QREFELT |$| 47))))) - ((QUOTE T) (SPADCALL (QREFELT |$| 47))))))) - ((QUOTE T) (SPADCALL (QREFELT |$| 47)))))))) - -(DEFUN |RealNumberSystem&| (|#1|) - (PROG (|DV$1| |dv$| |$| |pv$|) - (RETURN - (PROGN - (LETT |DV$1| (|devaluate| |#1|) . #1=(|RealNumberSystem&|)) - (LETT |dv$| (LIST (QUOTE |RealNumberSystem&|) |DV$1|) . #1#) - (LETT |$| (GETREFV 52) . #1#) - (QSETREFV |$| 0 |dv$|) - (QSETREFV |$| 3 (LETT |pv$| (|buildPredVector| 0 0 NIL) . #1#)) - (|stuffDomainSlots| |$|) - (QSETREFV |$| 6 |#1|) - |$|)))) - -(MAKEPROP - (QUOTE |RealNumberSystem&|) - (QUOTE |infovec|) - (LIST - (QUOTE - #(NIL NIL NIL NIL NIL NIL - (|local| |#1|) - (|NonNegativeInteger|) - |RNS-;characteristic;Nni;1| - (0 . |truncate|) - (5 . |-|) - |RNS-;fractionPart;2S;2| - (|Boolean|) - (11 . |negative?|) - (16 . |-|) - (21 . |floor|) - |RNS-;truncate;2S;3| - (26 . |One|) - (|Integer|) - (30 . |coerce|) - (35 . |/|) - (41 . |+|) - |RNS-;round;2S;4| - (47 . |abs|) - |RNS-;norm;2S;5| - (|Fraction| 18) - (52 . |numer|) - (57 . |denom|) - |RNS-;coerce;FS;6| - (|Float|) - (62 . |convert|) - (|Pattern| 29) - (67 . |coerce|) - |RNS-;convert;SP;7| - (72 . |wholePart|) - (77 . |=|) - (83 . |Zero|) - (87 . |<|) - |RNS-;floor;2S;8| - |RNS-;ceiling;2S;9| - (93 . |generic?|) - (|PatternMatchResult| 29 6) - (98 . |addMatch|) - (105 . |constant?|) - (|Union| 29 (QUOTE "failed")) - (110 . |retractIfCan|) - (115 . |=|) - (121 . |failed|) - (|PatternMatchResult| 29 |$|) - |RNS-;patternMatch;SP2Pmr;10| - (|DoubleFloat|) - (|OutputForm|))) - (QUOTE - #(|truncate| 125 |round| 130 |patternMatch| 135 |norm| 142 - |fractionPart| 147 |floor| 152 |convert| 157 |coerce| 162 - |characteristic| 172 |ceiling| 176)) - (QUOTE NIL) - (CONS - (|makeByteWordVec2| 1 (QUOTE NIL)) - (CONS - (QUOTE #()) - (CONS - (QUOTE #()) - (|makeByteWordVec2| 49 - (QUOTE - (1 6 0 0 9 2 6 0 0 0 10 1 6 12 0 13 1 6 0 0 14 1 6 0 0 15 0 6 0 - 17 1 6 0 18 19 2 6 0 0 0 20 2 6 0 0 0 21 1 6 0 0 23 1 25 18 0 - 26 1 25 18 0 27 1 6 29 0 30 1 31 0 29 32 1 6 18 0 34 2 6 12 0 - 0 35 0 6 0 36 2 6 12 0 0 37 1 31 12 0 40 3 41 0 31 6 0 42 1 31 - 12 0 43 1 31 44 0 45 2 29 12 0 0 46 0 41 0 47 1 0 0 0 16 1 0 0 - 0 22 3 0 48 0 31 48 49 1 0 0 0 24 1 0 0 0 11 1 0 0 0 38 1 0 31 - 0 33 1 0 0 25 28 1 0 0 25 28 0 0 7 8 1 0 0 0 39)))))) - (QUOTE |lookupComplete|))) - +(/VERSIONCHECK 2) + +(PUT '|RNS-;characteristic;Nni;1| '|SPADreplace| '(XLAM NIL 0)) + +(DEFUN |RNS-;characteristic;Nni;1| ($) 0) + +(DEFUN |RNS-;fractionPart;2S;2| (|x| $) + (SPADCALL |x| (SPADCALL |x| (QREFELT $ 9)) (QREFELT $ 10))) + +(DEFUN |RNS-;truncate;2S;3| (|x| $) + (COND + ((SPADCALL |x| (QREFELT $ 13)) + (SPADCALL (SPADCALL (SPADCALL |x| (QREFELT $ 14)) (QREFELT $ 15)) + (QREFELT $ 14))) + ('T (SPADCALL |x| (QREFELT $ 15))))) + +(DEFUN |RNS-;round;2S;4| (|x| $) + (COND + ((SPADCALL |x| (QREFELT $ 13)) + (SPADCALL + (SPADCALL |x| + (SPADCALL (|spadConstant| $ 17) + (SPADCALL 2 (QREFELT $ 19)) (QREFELT $ 20)) + (QREFELT $ 10)) + (QREFELT $ 9))) + ('T + (SPADCALL + (SPADCALL |x| + (SPADCALL (|spadConstant| $ 17) + (SPADCALL 2 (QREFELT $ 19)) (QREFELT $ 20)) + (QREFELT $ 21)) + (QREFELT $ 9))))) + +(DEFUN |RNS-;norm;2S;5| (|x| $) (SPADCALL |x| (QREFELT $ 23))) + +(DEFUN |RNS-;coerce;FS;6| (|x| $) + (SPADCALL (SPADCALL (SPADCALL |x| (QREFELT $ 26)) (QREFELT $ 19)) + (SPADCALL (SPADCALL |x| (QREFELT $ 27)) (QREFELT $ 19)) + (QREFELT $ 20))) + +(DEFUN |RNS-;convert;SP;7| (|x| $) + (SPADCALL (SPADCALL |x| (QREFELT $ 30)) (QREFELT $ 32))) + +(DEFUN |RNS-;floor;2S;8| (|x| $) + (PROG (|x1|) + (RETURN + (SEQ (LETT |x1| + (SPADCALL (SPADCALL |x| (QREFELT $ 34)) + (QREFELT $ 19)) + |RNS-;floor;2S;8|) + (EXIT (COND + ((SPADCALL |x| |x1| (QREFELT $ 35)) |x|) + ((SPADCALL |x| (|spadConstant| $ 36) (QREFELT $ 37)) + (SPADCALL |x1| (|spadConstant| $ 17) + (QREFELT $ 10))) + ('T |x1|))))))) + +(DEFUN |RNS-;ceiling;2S;9| (|x| $) + (PROG (|x1|) + (RETURN + (SEQ (LETT |x1| + (SPADCALL (SPADCALL |x| (QREFELT $ 34)) + (QREFELT $ 19)) + |RNS-;ceiling;2S;9|) + (EXIT (COND + ((SPADCALL |x| |x1| (QREFELT $ 35)) |x|) + ((SPADCALL |x| (|spadConstant| $ 36) (QREFELT $ 37)) + |x1|) + ('T + (SPADCALL |x1| (|spadConstant| $ 17) + (QREFELT $ 21))))))))) + +(DEFUN |RNS-;patternMatch;SP2Pmr;10| (|x| |p| |l| $) + (PROG (|r|) + (RETURN + (SEQ (COND + ((SPADCALL |p| (QREFELT $ 40)) + (SPADCALL |p| |x| |l| (QREFELT $ 42))) + ((SPADCALL |p| (QREFELT $ 43)) + (SEQ (LETT |r| (SPADCALL |p| (QREFELT $ 45)) + |RNS-;patternMatch;SP2Pmr;10|) + (EXIT (COND + ((QEQCAR |r| 0) + (COND + ((SPADCALL (SPADCALL |x| (QREFELT $ 30)) + (QCDR |r|) (QREFELT $ 46)) + |l|) + ('T (SPADCALL (QREFELT $ 47))))) + ('T (SPADCALL (QREFELT $ 47))))))) + ('T (SPADCALL (QREFELT $ 47)))))))) + +(DEFUN |RealNumberSystem&| (|#1|) + (PROG (|dv$1| |dv$| $ |pv$|) + (RETURN + (PROGN + (LETT |dv$1| (|devaluate| |#1|) . #0=(|RealNumberSystem&|)) + (LETT |dv$| (LIST '|RealNumberSystem&| |dv$1|) . #0#) + (LETT $ (GETREFV 52) . #0#) + (QSETREFV $ 0 |dv$|) + (QSETREFV $ 3 (LETT |pv$| (|buildPredVector| 0 0 NIL) . #0#)) + (|stuffDomainSlots| $) + (QSETREFV $ 6 |#1|) + $)))) + +(MAKEPROP '|RealNumberSystem&| '|infovec| + (LIST '#(NIL NIL NIL NIL NIL NIL (|local| |#1|) + (|NonNegativeInteger|) |RNS-;characteristic;Nni;1| + (0 . |truncate|) (5 . -) |RNS-;fractionPart;2S;2| + (|Boolean|) (11 . |negative?|) (16 . -) (21 . |floor|) + |RNS-;truncate;2S;3| (26 . |One|) (|Integer|) + (30 . |coerce|) (35 . /) (41 . +) |RNS-;round;2S;4| + (47 . |abs|) |RNS-;norm;2S;5| (|Fraction| 18) + (52 . |numer|) (57 . |denom|) |RNS-;coerce;FS;6| (|Float|) + (62 . |convert|) (|Pattern| 29) (67 . |coerce|) + |RNS-;convert;SP;7| (72 . |wholePart|) (77 . =) + (83 . |Zero|) (87 . <) |RNS-;floor;2S;8| + |RNS-;ceiling;2S;9| (93 . |generic?|) + (|PatternMatchResult| 29 6) (98 . |addMatch|) + (105 . |constant?|) (|Union| 29 '"failed") + (110 . |retractIfCan|) (115 . =) (121 . |failed|) + (|PatternMatchResult| 29 $) |RNS-;patternMatch;SP2Pmr;10| + (|DoubleFloat|) (|OutputForm|)) + '#(|truncate| 125 |round| 130 |patternMatch| 135 |norm| 142 + |fractionPart| 147 |floor| 152 |convert| 157 |coerce| 162 + |characteristic| 172 |ceiling| 176) + 'NIL + (CONS (|makeByteWordVec2| 1 'NIL) + (CONS '#() + (CONS '#() + (|makeByteWordVec2| 49 + '(1 6 0 0 9 2 6 0 0 0 10 1 6 12 0 13 1 + 6 0 0 14 1 6 0 0 15 0 6 0 17 1 6 0 18 + 19 2 6 0 0 0 20 2 6 0 0 0 21 1 6 0 0 + 23 1 25 18 0 26 1 25 18 0 27 1 6 29 0 + 30 1 31 0 29 32 1 6 18 0 34 2 6 12 0 + 0 35 0 6 0 36 2 6 12 0 0 37 1 31 12 0 + 40 3 41 0 31 6 0 42 1 31 12 0 43 1 31 + 44 0 45 2 29 12 0 0 46 0 41 0 47 1 0 + 0 0 16 1 0 0 0 22 3 0 48 0 31 48 49 1 + 0 0 0 24 1 0 0 0 11 1 0 0 0 38 1 0 31 + 0 33 1 0 0 25 28 1 0 0 25 28 0 0 7 8 + 1 0 0 0 39))))) + '|lookupComplete|)) @ \section{category FPS FloatingPointSystem} <<category FPS FloatingPointSystem>>= @@ -490,61 +423,86 @@ Note that this code is not included in the generated catdef.spad file. <<FPS.lsp BOOTSTRAP>>= -(|/VERSIONCHECK| 2) +(/VERSIONCHECK 2) -(SETQ |FloatingPointSystem;AL| (QUOTE NIL)) +(DEFPARAMETER |FloatingPointSystem;AL| 'NIL) -(DEFUN |FloatingPointSystem| NIL - (LET (#:G105645) - (COND - (|FloatingPointSystem;AL|) +(DEFUN |FloatingPointSystem| () + (LET (#:G1387) + (COND + (|FloatingPointSystem;AL|) (T (SETQ |FloatingPointSystem;AL| (|FloatingPointSystem;|)))))) -(DEFUN |FloatingPointSystem;| NIL - (PROG (#1=#:G105643) - (RETURN - (PROG1 - (LETT #1# - (|Join| - (|RealNumberSystem|) - (|mkCategory| - (QUOTE |domain|) - (QUOTE ( - ((|float| (|$| (|Integer|) (|Integer|))) T) - ((|float| (|$| (|Integer|) (|Integer|) (|PositiveInteger|))) T) - ((|order| ((|Integer|) |$|)) T) - ((|base| ((|PositiveInteger|))) T) - ((|exponent| ((|Integer|) |$|)) T) - ((|mantissa| ((|Integer|) |$|)) T) - ((|bits| ((|PositiveInteger|))) T) - ((|digits| ((|PositiveInteger|))) T) - ((|precision| ((|PositiveInteger|))) T) - ((|bits| ((|PositiveInteger|) (|PositiveInteger|))) - (|has| |$| (ATTRIBUTE |arbitraryPrecision|))) - ((|digits| ((|PositiveInteger|) (|PositiveInteger|))) - (|has| |$| (ATTRIBUTE |arbitraryPrecision|))) - ((|precision| ((|PositiveInteger|) (|PositiveInteger|))) - (|has| |$| (ATTRIBUTE |arbitraryPrecision|))) - ((|increasePrecision| ((|PositiveInteger|) (|Integer|))) - (|has| |$| (ATTRIBUTE |arbitraryPrecision|))) - ((|decreasePrecision| ((|PositiveInteger|) (|Integer|))) - (|has| |$| (ATTRIBUTE |arbitraryPrecision|))) - ((|min| (|$|)) - (AND - (|not| (|has| |$| (ATTRIBUTE |arbitraryPrecision|))) - (|not| (|has| |$| (ATTRIBUTE |arbitraryExponent|))))) - ((|max| (|$|)) - (AND - (|not| (|has| |$| (ATTRIBUTE |arbitraryPrecision|))) - (|not| (|has| |$| (ATTRIBUTE |arbitraryExponent|))))))) - (QUOTE ((|approximate| T))) - (QUOTE ((|PositiveInteger|) (|Integer|))) - NIL)) - |FloatingPointSystem|) - (SETELT #1# 0 (QUOTE (|FloatingPointSystem|))))))) - -(MAKEPROP (QUOTE |FloatingPointSystem|) (QUOTE NILADIC) T) - +(DEFUN |FloatingPointSystem;| () + (PROG (#0=#:G1385) + (RETURN + (PROG1 (LETT #0# + (|Join| (|RealNumberSystem|) + (|mkCategory| '|domain| + '(((|float| ($ (|Integer|) (|Integer|))) + T) + ((|float| ($ (|Integer|) (|Integer|) + (|PositiveInteger|))) + T) + ((|order| ((|Integer|) $)) T) + ((|base| ((|PositiveInteger|))) T) + ((|exponent| ((|Integer|) $)) T) + ((|mantissa| ((|Integer|) $)) T) + ((|bits| ((|PositiveInteger|))) T) + ((|digits| ((|PositiveInteger|))) T) + ((|precision| ((|PositiveInteger|))) + T) + ((|bits| ((|PositiveInteger|) + (|PositiveInteger|))) + (|has| $ + (ATTRIBUTE + |arbitraryPrecision|))) + ((|digits| + ((|PositiveInteger|) + (|PositiveInteger|))) + (|has| $ + (ATTRIBUTE + |arbitraryPrecision|))) + ((|precision| + ((|PositiveInteger|) + (|PositiveInteger|))) + (|has| $ + (ATTRIBUTE + |arbitraryPrecision|))) + ((|increasePrecision| + ((|PositiveInteger|) (|Integer|))) + (|has| $ + (ATTRIBUTE + |arbitraryPrecision|))) + ((|decreasePrecision| + ((|PositiveInteger|) (|Integer|))) + (|has| $ + (ATTRIBUTE + |arbitraryPrecision|))) + ((|min| ($)) + (AND (|not| + (|has| $ + (ATTRIBUTE + |arbitraryPrecision|))) + (|not| + (|has| $ + (ATTRIBUTE + |arbitraryExponent|))))) + ((|max| ($)) + (AND (|not| + (|has| $ + (ATTRIBUTE + |arbitraryPrecision|))) + (|not| + (|has| $ + (ATTRIBUTE + |arbitraryExponent|)))))) + '((|approximate| T)) + '((|PositiveInteger|) (|Integer|)) NIL)) + |FloatingPointSystem|) + (SETELT #0# 0 '(|FloatingPointSystem|)))))) + +(MAKEPROP '|FloatingPointSystem| 'NILADIC T) @ \section{FPS-.lsp BOOTSTRAP} {\bf FPS-} depends {\bf FPS}. @@ -558,74 +516,55 @@ Note that this code is not included in the generated catdef.spad file. <<FPS-.lsp BOOTSTRAP>>= -(|/VERSIONCHECK| 2) - -(DEFUN |FPS-;float;2IS;1| (|ma| |ex| |$|) - (SPADCALL |ma| |ex| (SPADCALL (QREFELT |$| 8)) (QREFELT |$| 10))) - -(DEFUN |FPS-;digits;Pi;2| (|$|) - (PROG (#1=#:G105654) - (RETURN - (PROG1 - (LETT #1# - (MAX 1 - (QUOTIENT2 - (SPADCALL 4004 - (|-| (SPADCALL (QREFELT |$| 13)) 1) - (QREFELT |$| 14)) - 13301)) - |FPS-;digits;Pi;2|) - (|check-subtype| (|>| #1# 0) (QUOTE (|PositiveInteger|)) #1#))))) - -(DEFUN |FloatingPointSystem&| (|#1|) - (PROG (|DV$1| |dv$| |$| |pv$|) - (RETURN - (PROGN - (LETT |DV$1| (|devaluate| |#1|) . #1=(|FloatingPointSystem&|)) - (LETT |dv$| (LIST (QUOTE |FloatingPointSystem&|) |DV$1|) . #1#) - (LETT |$| (GETREFV 17) . #1#) - (QSETREFV |$| 0 |dv$|) - (QSETREFV |$| 3 - (LETT |pv$| - (|buildPredVector| 0 0 - (LIST - (|HasAttribute| |#1| (QUOTE |arbitraryExponent|)) - (|HasAttribute| |#1| (QUOTE |arbitraryPrecision|)))) . #1#)) - (|stuffDomainSlots| |$|) - (QSETREFV |$| 6 |#1|) - |$|)))) - -(MAKEPROP - (QUOTE |FloatingPointSystem&|) - (QUOTE |infovec|) - (LIST - (QUOTE - #(NIL NIL NIL NIL NIL NIL - (|local| |#1|) - (|PositiveInteger|) - (0 . |base|) - (|Integer|) - (4 . |float|) - |FPS-;float;2IS;1| - (11 . |One|) - (15 . |bits|) - (19 . |*|) - (25 . |max|) - |FPS-;digits;Pi;2|)) - (QUOTE #(|float| 29 |digits| 35)) - (QUOTE NIL) - (CONS - (|makeByteWordVec2| 1 (QUOTE NIL)) - (CONS - (QUOTE #()) - (CONS - (QUOTE #()) - (|makeByteWordVec2| 16 - (QUOTE - (0 6 7 8 3 6 0 9 9 7 10 0 6 0 12 0 6 7 13 2 9 0 7 0 14 0 6 0 15 - 2 0 0 9 9 11 0 0 7 16)))))) - (QUOTE |lookupComplete|))) - +(/VERSIONCHECK 2) + +(DEFUN |FPS-;float;2IS;1| (|ma| |ex| $) + (SPADCALL |ma| |ex| (SPADCALL (QREFELT $ 8)) (QREFELT $ 10))) + +(DEFUN |FPS-;digits;Pi;2| ($) + (PROG (#0=#:G1389) + (RETURN + (PROG1 (LETT #0# + (MAX 1 + (QUOTIENT2 + (SPADCALL 4004 + (- (SPADCALL (QREFELT $ 13)) 1) + (QREFELT $ 14)) + 13301)) + |FPS-;digits;Pi;2|) + (|check-subtype| (> #0# 0) '(|PositiveInteger|) #0#))))) + +(DEFUN |FloatingPointSystem&| (|#1|) + (PROG (|dv$1| |dv$| $ |pv$|) + (RETURN + (PROGN + (LETT |dv$1| (|devaluate| |#1|) . #0=(|FloatingPointSystem&|)) + (LETT |dv$| (LIST '|FloatingPointSystem&| |dv$1|) . #0#) + (LETT $ (GETREFV 17) . #0#) + (QSETREFV $ 0 |dv$|) + (QSETREFV $ 3 + (LETT |pv$| + (|buildPredVector| 0 0 + (LIST (|HasAttribute| |#1| '|arbitraryExponent|) + (|HasAttribute| |#1| '|arbitraryPrecision|))) . #0#)) + (|stuffDomainSlots| $) + (QSETREFV $ 6 |#1|) + $)))) + +(MAKEPROP '|FloatingPointSystem&| '|infovec| + (LIST '#(NIL NIL NIL NIL NIL NIL (|local| |#1|) (|PositiveInteger|) + (0 . |base|) (|Integer|) (4 . |float|) |FPS-;float;2IS;1| + (11 . |One|) (15 . |bits|) (19 . *) (25 . |max|) + |FPS-;digits;Pi;2|) + '#(|float| 29 |digits| 35) 'NIL + (CONS (|makeByteWordVec2| 1 'NIL) + (CONS '#() + (CONS '#() + (|makeByteWordVec2| 16 + '(0 6 7 8 3 6 0 9 9 7 10 0 6 0 12 0 6 7 + 13 2 9 0 7 0 14 0 6 0 15 2 0 0 9 9 11 + 0 0 7 16))))) + '|lookupComplete|)) @ \section{domain DFLOAT DoubleFloat} Greg Vanuxem has added some functionality to allow the user to modify @@ -1085,273 +1024,861 @@ Note that this code is not included in the generated catdef.spad file. <<DFLOAT.lsp BOOTSTRAP>>= -(|/VERSIONCHECK| 2) - -(DEFUN |DFLOAT;OMwrite;$S;1| (|x| |$|) (PROG (|sp| |dev| |s|) (RETURN (SEQ (LETT |s| "" |DFLOAT;OMwrite;$S;1|) (LETT |sp| (|OM-STRINGTOSTRINGPTR| |s|) |DFLOAT;OMwrite;$S;1|) (LETT |dev| (SPADCALL |sp| (SPADCALL (QREFELT |$| 7)) (QREFELT |$| 10)) |DFLOAT;OMwrite;$S;1|) (SPADCALL |dev| (QREFELT |$| 12)) (SPADCALL |dev| |x| (QREFELT |$| 14)) (SPADCALL |dev| (QREFELT |$| 15)) (SPADCALL |dev| (QREFELT |$| 16)) (LETT |s| (|OM-STRINGPTRTOSTRING| |sp|) |DFLOAT;OMwrite;$S;1|) (EXIT |s|))))) - -(DEFUN |DFLOAT;OMwrite;$BS;2| (|x| |wholeObj| |$|) (PROG (|sp| |dev| |s|) (RETURN (SEQ (LETT |s| "" |DFLOAT;OMwrite;$BS;2|) (LETT |sp| (|OM-STRINGTOSTRINGPTR| |s|) |DFLOAT;OMwrite;$BS;2|) (LETT |dev| (SPADCALL |sp| (SPADCALL (QREFELT |$| 7)) (QREFELT |$| 10)) |DFLOAT;OMwrite;$BS;2|) (COND (|wholeObj| (SPADCALL |dev| (QREFELT |$| 12)))) (SPADCALL |dev| |x| (QREFELT |$| 14)) (COND (|wholeObj| (SPADCALL |dev| (QREFELT |$| 15)))) (SPADCALL |dev| (QREFELT |$| 16)) (LETT |s| (|OM-STRINGPTRTOSTRING| |sp|) |DFLOAT;OMwrite;$BS;2|) (EXIT |s|))))) - -(DEFUN |DFLOAT;OMwrite;Omd$V;3| (|dev| |x| |$|) (SEQ (SPADCALL |dev| (QREFELT |$| 12)) (SPADCALL |dev| |x| (QREFELT |$| 14)) (EXIT (SPADCALL |dev| (QREFELT |$| 15))))) - -(DEFUN |DFLOAT;OMwrite;Omd$BV;4| (|dev| |x| |wholeObj| |$|) (SEQ (COND (|wholeObj| (SPADCALL |dev| (QREFELT |$| 12)))) (SPADCALL |dev| |x| (QREFELT |$| 14)) (EXIT (COND (|wholeObj| (SPADCALL |dev| (QREFELT |$| 15))))))) - -(PUT (QUOTE |DFLOAT;checkComplex|) (QUOTE |SPADreplace|) (QUOTE |C-TO-R|)) - -(DEFUN |DFLOAT;checkComplex| (|x| |$|) (|C-TO-R| |x|)) - -(PUT (QUOTE |DFLOAT;base;Pi;6|) (QUOTE |SPADreplace|) (QUOTE (XLAM NIL (|FLOAT-RADIX| 0.0)))) - -(DEFUN |DFLOAT;base;Pi;6| (|$|) (|FLOAT-RADIX| 0.0)) - -(DEFUN |DFLOAT;mantissa;$I;7| (|x| |$|) (QCAR (|DFLOAT;manexp| |x| |$|))) - -(DEFUN |DFLOAT;exponent;$I;8| (|x| |$|) (QCDR (|DFLOAT;manexp| |x| |$|))) - -(PUT (QUOTE |DFLOAT;precision;Pi;9|) (QUOTE |SPADreplace|) (QUOTE (XLAM NIL (|FLOAT-DIGITS| 0.0)))) - -(DEFUN |DFLOAT;precision;Pi;9| (|$|) (|FLOAT-DIGITS| 0.0)) - -(DEFUN |DFLOAT;bits;Pi;10| (|$|) (PROG (#1=#:G105705) (RETURN (COND ((EQL (|FLOAT-RADIX| 0.0) 2) (|FLOAT-DIGITS| 0.0)) ((EQL (|FLOAT-RADIX| 0.0) 16) (|*| 4 (|FLOAT-DIGITS| 0.0))) ((QUOTE T) (PROG1 (LETT #1# (FIX (SPADCALL (|FLOAT-DIGITS| 0.0) (SPADCALL (FLOAT (|FLOAT-RADIX| 0.0) |MOST-POSITIVE-LONG-FLOAT|) (QREFELT |$| 28)) (QREFELT |$| 29))) |DFLOAT;bits;Pi;10|) (|check-subtype| (|>| #1# 0) (QUOTE (|PositiveInteger|)) #1#))))))) - -(PUT (QUOTE |DFLOAT;max;$;11|) (QUOTE |SPADreplace|) (QUOTE (XLAM NIL |MOST-POSITIVE-LONG-FLOAT|))) - -(DEFUN |DFLOAT;max;$;11| (|$|) |MOST-POSITIVE-LONG-FLOAT|) +(/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 (|sp| |dev| |s|) + (RETURN + (SEQ (LETT |s| "" |DFLOAT;OMwrite;$S;2|) + (LETT |sp| (OM-STRINGTOSTRINGPTR |s|) |DFLOAT;OMwrite;$S;2|) + (LETT |dev| + (SPADCALL |sp| (SPADCALL (QREFELT $ 10)) + (QREFELT $ 12)) + |DFLOAT;OMwrite;$S;2|) + (SPADCALL |dev| (QREFELT $ 14)) + (SPADCALL |dev| |x| (QREFELT $ 16)) + (SPADCALL |dev| (QREFELT $ 17)) + (SPADCALL |dev| (QREFELT $ 18)) + (LETT |s| (OM-STRINGPTRTOSTRING |sp|) |DFLOAT;OMwrite;$S;2|) + (EXIT |s|))))) -(PUT (QUOTE |DFLOAT;min;$;12|) (QUOTE |SPADreplace|) (QUOTE (XLAM NIL |MOST-NEGATIVE-LONG-FLOAT|))) +(DEFUN |DFLOAT;OMwrite;$BS;3| (|x| |wholeObj| $) + (PROG (|sp| |dev| |s|) + (RETURN + (SEQ (LETT |s| "" |DFLOAT;OMwrite;$BS;3|) + (LETT |sp| (OM-STRINGTOSTRINGPTR |s|) + |DFLOAT;OMwrite;$BS;3|) + (LETT |dev| + (SPADCALL |sp| (SPADCALL (QREFELT $ 10)) + (QREFELT $ 12)) + |DFLOAT;OMwrite;$BS;3|) + (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|) + |DFLOAT;OMwrite;$BS;3|) + (EXIT |s|))))) -(DEFUN |DFLOAT;min;$;12| (|$|) |MOST-NEGATIVE-LONG-FLOAT|) +(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;order;$I;13| (|a| |$|) (|-| (|+| (|FLOAT-DIGITS| 0.0) (SPADCALL |a| (QREFELT |$| 26))) 1)) +(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 (QUOTE |DFLOAT;Zero;$;14|) (QUOTE |SPADreplace|) (QUOTE (XLAM NIL (FLOAT 0 |MOST-POSITIVE-LONG-FLOAT|)))) +(PUT '|DFLOAT;checkComplex| '|SPADreplace| 'C-TO-R) -(DEFUN |DFLOAT;Zero;$;14| (|$|) (FLOAT 0 |MOST-POSITIVE-LONG-FLOAT|)) +(DEFUN |DFLOAT;checkComplex| (|x| $) (C-TO-R |x|)) -(PUT (QUOTE |DFLOAT;One;$;15|) (QUOTE |SPADreplace|) (QUOTE (XLAM NIL (FLOAT 1 |MOST-POSITIVE-LONG-FLOAT|)))) +(PUT '|DFLOAT;base;Pi;7| '|SPADreplace| '(XLAM NIL (FLOAT-RADIX 0.0))) -(DEFUN |DFLOAT;One;$;15| (|$|) (FLOAT 1 |MOST-POSITIVE-LONG-FLOAT|)) +(DEFUN |DFLOAT;base;Pi;7| ($) (FLOAT-RADIX 0.0)) -(DEFUN |DFLOAT;exp1;$;16| (|$|) (|/| (FLOAT 534625820200 |MOST-POSITIVE-LONG-FLOAT|) (FLOAT 196677847971 |MOST-POSITIVE-LONG-FLOAT|))) +(DEFUN |DFLOAT;mantissa;$I;8| (|x| $) (QCAR (|DFLOAT;manexp| |x| $))) -(PUT (QUOTE |DFLOAT;pi;$;17|) (QUOTE |SPADreplace|) (QUOTE (XLAM NIL PI))) +(DEFUN |DFLOAT;exponent;$I;9| (|x| $) (QCDR (|DFLOAT;manexp| |x| $))) -(DEFUN |DFLOAT;pi;$;17| (|$|) PI) +(PUT '|DFLOAT;precision;Pi;10| '|SPADreplace| + '(XLAM NIL (FLOAT-DIGITS 0.0))) -(DEFUN |DFLOAT;coerce;$Of;18| (|x| |$|) (SPADCALL |x| (QREFELT |$| 39))) +(DEFUN |DFLOAT;precision;Pi;10| ($) (FLOAT-DIGITS 0.0)) -(DEFUN |DFLOAT;convert;$If;19| (|x| |$|) (SPADCALL |x| (QREFELT |$| 42))) +(DEFUN |DFLOAT;bits;Pi;11| ($) + (PROG (#0=#:G1412) + (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 #0# + (FIX (SPADCALL (FLOAT-DIGITS 0.0) + (SPADCALL + (FLOAT (FLOAT-RADIX 0.0) + MOST-POSITIVE-LONG-FLOAT) + (QREFELT $ 30)) + (QREFELT $ 31))) + |DFLOAT;bits;Pi;11|) + (|check-subtype| (> #0# 0) '(|PositiveInteger|) #0#))))))) -(PUT (QUOTE |DFLOAT;<;2$B;20|) (QUOTE |SPADreplace|) (QUOTE |<|)) +(PUT '|DFLOAT;max;$;12| '|SPADreplace| + '(XLAM NIL MOST-POSITIVE-LONG-FLOAT)) -(DEFUN |DFLOAT;<;2$B;20| (|x| |y| |$|) (|<| |x| |y|)) +(DEFUN |DFLOAT;max;$;12| ($) MOST-POSITIVE-LONG-FLOAT) -(PUT (QUOTE |DFLOAT;-;2$;21|) (QUOTE |SPADreplace|) (QUOTE |-|)) +(PUT '|DFLOAT;min;$;13| '|SPADreplace| + '(XLAM NIL MOST-NEGATIVE-LONG-FLOAT)) -(DEFUN |DFLOAT;-;2$;21| (|x| |$|) (|-| |x|)) +(DEFUN |DFLOAT;min;$;13| ($) MOST-NEGATIVE-LONG-FLOAT) -(PUT (QUOTE |DFLOAT;+;3$;22|) (QUOTE |SPADreplace|) (QUOTE |+|)) +(DEFUN |DFLOAT;order;$I;14| (|a| $) + (- (+ (FLOAT-DIGITS 0.0) (SPADCALL |a| (QREFELT $ 28))) 1)) -(DEFUN |DFLOAT;+;3$;22| (|x| |y| |$|) (|+| |x| |y|)) +(PUT '|DFLOAT;Zero;$;15| '|SPADreplace| + '(XLAM NIL (FLOAT 0 MOST-POSITIVE-LONG-FLOAT))) -(PUT (QUOTE |DFLOAT;-;3$;23|) (QUOTE |SPADreplace|) (QUOTE |-|)) +(DEFUN |DFLOAT;Zero;$;15| ($) (FLOAT 0 MOST-POSITIVE-LONG-FLOAT)) -(DEFUN |DFLOAT;-;3$;23| (|x| |y| |$|) (|-| |x| |y|)) +(PUT '|DFLOAT;One;$;16| '|SPADreplace| + '(XLAM NIL (FLOAT 1 MOST-POSITIVE-LONG-FLOAT))) -(PUT (QUOTE |DFLOAT;*;3$;24|) (QUOTE |SPADreplace|) (QUOTE |*|)) +(DEFUN |DFLOAT;One;$;16| ($) (FLOAT 1 MOST-POSITIVE-LONG-FLOAT)) -(DEFUN |DFLOAT;*;3$;24| (|x| |y| |$|) (|*| |x| |y|)) +(DEFUN |DFLOAT;exp1;$;17| ($) + (/ (FLOAT 534625820200 MOST-POSITIVE-LONG-FLOAT) + (FLOAT 196677847971 MOST-POSITIVE-LONG-FLOAT))) -(PUT (QUOTE |DFLOAT;*;I2$;25|) (QUOTE |SPADreplace|) (QUOTE |*|)) +(PUT '|DFLOAT;pi;$;18| '|SPADreplace| '(XLAM NIL PI)) -(DEFUN |DFLOAT;*;I2$;25| (|i| |x| |$|) (|*| |i| |x|)) +(DEFUN |DFLOAT;pi;$;18| ($) PI) -(PUT (QUOTE |DFLOAT;max;3$;26|) (QUOTE |SPADreplace|) (QUOTE MAX)) +(DEFUN |DFLOAT;coerce;$Of;19| (|x| $) + (SPADCALL (FORMAT NIL (QREFELT $ 6) |x|) (QREFELT $ 41))) -(DEFUN |DFLOAT;max;3$;26| (|x| |y| |$|) (MAX |x| |y|)) +(DEFUN |DFLOAT;convert;$If;20| (|x| $) (SPADCALL |x| (QREFELT $ 44))) -(PUT (QUOTE |DFLOAT;min;3$;27|) (QUOTE |SPADreplace|) (QUOTE MIN)) +(PUT '|DFLOAT;<;2$B;21| '|SPADreplace| '<) -(DEFUN |DFLOAT;min;3$;27| (|x| |y| |$|) (MIN |x| |y|)) +(DEFUN |DFLOAT;<;2$B;21| (|x| |y| $) (< |x| |y|)) -(PUT (QUOTE |DFLOAT;=;2$B;28|) (QUOTE |SPADreplace|) (QUOTE |=|)) +(PUT '|DFLOAT;-;2$;22| '|SPADreplace| '-) -(DEFUN |DFLOAT;=;2$B;28| (|x| |y| |$|) (|=| |x| |y|)) +(DEFUN |DFLOAT;-;2$;22| (|x| $) (- |x|)) -(PUT (QUOTE |DFLOAT;/;$I$;29|) (QUOTE |SPADreplace|) (QUOTE |/|)) +(PUT '|DFLOAT;+;3$;23| '|SPADreplace| '+) -(DEFUN |DFLOAT;/;$I$;29| (|x| |i| |$|) (|/| |x| |i|)) +(DEFUN |DFLOAT;+;3$;23| (|x| |y| $) (+ |x| |y|)) -(DEFUN |DFLOAT;sqrt;2$;30| (|x| |$|) (|DFLOAT;checkComplex| (SQRT |x|) |$|)) +(PUT '|DFLOAT;-;3$;24| '|SPADreplace| '-) -(DEFUN |DFLOAT;log10;2$;31| (|x| |$|) (|DFLOAT;checkComplex| (|log| |x|) |$|)) +(DEFUN |DFLOAT;-;3$;24| (|x| |y| $) (- |x| |y|)) -(PUT (QUOTE |DFLOAT;**;$I$;32|) (QUOTE |SPADreplace|) (QUOTE EXPT)) +(PUT '|DFLOAT;*;3$;25| '|SPADreplace| '*) -(DEFUN |DFLOAT;**;$I$;32| (|x| |i| |$|) (EXPT |x| |i|)) +(DEFUN |DFLOAT;*;3$;25| (|x| |y| $) (* |x| |y|)) -(DEFUN |DFLOAT;**;3$;33| (|x| |y| |$|) (|DFLOAT;checkComplex| (EXPT |x| |y|) |$|)) +(PUT '|DFLOAT;*;I2$;26| '|SPADreplace| '*) -(PUT (QUOTE |DFLOAT;coerce;I$;34|) (QUOTE |SPADreplace|) (QUOTE (XLAM (|i|) (FLOAT |i| |MOST-POSITIVE-LONG-FLOAT|)))) +(DEFUN |DFLOAT;*;I2$;26| (|i| |x| $) (* |i| |x|)) -(DEFUN |DFLOAT;coerce;I$;34| (|i| |$|) (FLOAT |i| |MOST-POSITIVE-LONG-FLOAT|)) +(PUT '|DFLOAT;max;3$;27| '|SPADreplace| 'MAX) -(PUT (QUOTE |DFLOAT;exp;2$;35|) (QUOTE |SPADreplace|) (QUOTE EXP)) +(DEFUN |DFLOAT;max;3$;27| (|x| |y| $) (MAX |x| |y|)) -(DEFUN |DFLOAT;exp;2$;35| (|x| |$|) (EXP |x|)) +(PUT '|DFLOAT;min;3$;28| '|SPADreplace| 'MIN) -(DEFUN |DFLOAT;log;2$;36| (|x| |$|) (|DFLOAT;checkComplex| (LN |x|) |$|)) +(DEFUN |DFLOAT;min;3$;28| (|x| |y| $) (MIN |x| |y|)) -(DEFUN |DFLOAT;log2;2$;37| (|x| |$|) (|DFLOAT;checkComplex| (LOG2 |x|) |$|)) +(PUT '|DFLOAT;=;2$B;29| '|SPADreplace| '=) -(PUT (QUOTE |DFLOAT;sin;2$;38|) (QUOTE |SPADreplace|) (QUOTE SIN)) +(DEFUN |DFLOAT;=;2$B;29| (|x| |y| $) (= |x| |y|)) -(DEFUN |DFLOAT;sin;2$;38| (|x| |$|) (SIN |x|)) +(PUT '|DFLOAT;/;$I$;30| '|SPADreplace| '/) -(PUT (QUOTE |DFLOAT;cos;2$;39|) (QUOTE |SPADreplace|) (QUOTE COS)) +(DEFUN |DFLOAT;/;$I$;30| (|x| |i| $) (/ |x| |i|)) -(DEFUN |DFLOAT;cos;2$;39| (|x| |$|) (COS |x|)) +(DEFUN |DFLOAT;sqrt;2$;31| (|x| $) + (|DFLOAT;checkComplex| (SQRT |x|) $)) -(PUT (QUOTE |DFLOAT;tan;2$;40|) (QUOTE |SPADreplace|) (QUOTE TAN)) +(DEFUN |DFLOAT;log10;2$;32| (|x| $) + (|DFLOAT;checkComplex| (|log| |x|) $)) -(DEFUN |DFLOAT;tan;2$;40| (|x| |$|) (TAN |x|)) +(PUT '|DFLOAT;**;$I$;33| '|SPADreplace| 'EXPT) -(PUT (QUOTE |DFLOAT;cot;2$;41|) (QUOTE |SPADreplace|) (QUOTE COT)) +(DEFUN |DFLOAT;**;$I$;33| (|x| |i| $) (EXPT |x| |i|)) -(DEFUN |DFLOAT;cot;2$;41| (|x| |$|) (COT |x|)) +(DEFUN |DFLOAT;**;3$;34| (|x| |y| $) + (|DFLOAT;checkComplex| (EXPT |x| |y|) $)) -(PUT (QUOTE |DFLOAT;sec;2$;42|) (QUOTE |SPADreplace|) (QUOTE SEC)) +(PUT '|DFLOAT;coerce;I$;35| '|SPADreplace| + '(XLAM (|i|) (FLOAT |i| MOST-POSITIVE-LONG-FLOAT))) -(DEFUN |DFLOAT;sec;2$;42| (|x| |$|) (SEC |x|)) +(DEFUN |DFLOAT;coerce;I$;35| (|i| $) + (FLOAT |i| MOST-POSITIVE-LONG-FLOAT)) -(PUT (QUOTE |DFLOAT;csc;2$;43|) (QUOTE |SPADreplace|) (QUOTE CSC)) +(PUT '|DFLOAT;exp;2$;36| '|SPADreplace| 'EXP) -(DEFUN |DFLOAT;csc;2$;43| (|x| |$|) (CSC |x|)) +(DEFUN |DFLOAT;exp;2$;36| (|x| $) (EXP |x|)) -(DEFUN |DFLOAT;asin;2$;44| (|x| |$|) (|DFLOAT;checkComplex| (ASIN |x|) |$|)) +(DEFUN |DFLOAT;log;2$;37| (|x| $) (|DFLOAT;checkComplex| (LN |x|) $)) -(DEFUN |DFLOAT;acos;2$;45| (|x| |$|) (|DFLOAT;checkComplex| (ACOS |x|) |$|)) +(DEFUN |DFLOAT;log2;2$;38| (|x| $) + (|DFLOAT;checkComplex| (LOG2 |x|) $)) -(PUT (QUOTE |DFLOAT;atan;2$;46|) (QUOTE |SPADreplace|) (QUOTE ATAN)) +(PUT '|DFLOAT;sin;2$;39| '|SPADreplace| 'SIN) -(DEFUN |DFLOAT;atan;2$;46| (|x| |$|) (ATAN |x|)) +(DEFUN |DFLOAT;sin;2$;39| (|x| $) (SIN |x|)) -(DEFUN |DFLOAT;acsc;2$;47| (|x| |$|) (|DFLOAT;checkComplex| (ACSC |x|) |$|)) +(PUT '|DFLOAT;cos;2$;40| '|SPADreplace| 'COS) -(PUT (QUOTE |DFLOAT;acot;2$;48|) (QUOTE |SPADreplace|) (QUOTE ACOT)) +(DEFUN |DFLOAT;cos;2$;40| (|x| $) (COS |x|)) -(DEFUN |DFLOAT;acot;2$;48| (|x| |$|) (ACOT |x|)) +(PUT '|DFLOAT;tan;2$;41| '|SPADreplace| 'TAN) -(DEFUN |DFLOAT;asec;2$;49| (|x| |$|) (|DFLOAT;checkComplex| (ASEC |x|) |$|)) +(DEFUN |DFLOAT;tan;2$;41| (|x| $) (TAN |x|)) -(PUT (QUOTE |DFLOAT;sinh;2$;50|) (QUOTE |SPADreplace|) (QUOTE SINH)) +(PUT '|DFLOAT;cot;2$;42| '|SPADreplace| 'COT) -(DEFUN |DFLOAT;sinh;2$;50| (|x| |$|) (SINH |x|)) +(DEFUN |DFLOAT;cot;2$;42| (|x| $) (COT |x|)) -(PUT (QUOTE |DFLOAT;cosh;2$;51|) (QUOTE |SPADreplace|) (QUOTE COSH)) +(PUT '|DFLOAT;sec;2$;43| '|SPADreplace| 'SEC) -(DEFUN |DFLOAT;cosh;2$;51| (|x| |$|) (COSH |x|)) +(DEFUN |DFLOAT;sec;2$;43| (|x| $) (SEC |x|)) -(PUT (QUOTE |DFLOAT;tanh;2$;52|) (QUOTE |SPADreplace|) (QUOTE TANH)) +(PUT '|DFLOAT;csc;2$;44| '|SPADreplace| 'CSC) -(DEFUN |DFLOAT;tanh;2$;52| (|x| |$|) (TANH |x|)) +(DEFUN |DFLOAT;csc;2$;44| (|x| $) (CSC |x|)) -(PUT (QUOTE |DFLOAT;csch;2$;53|) (QUOTE |SPADreplace|) (QUOTE CSCH)) +(DEFUN |DFLOAT;asin;2$;45| (|x| $) + (|DFLOAT;checkComplex| (ASIN |x|) $)) -(DEFUN |DFLOAT;csch;2$;53| (|x| |$|) (CSCH |x|)) +(DEFUN |DFLOAT;acos;2$;46| (|x| $) + (|DFLOAT;checkComplex| (ACOS |x|) $)) -(PUT (QUOTE |DFLOAT;coth;2$;54|) (QUOTE |SPADreplace|) (QUOTE COTH)) +(PUT '|DFLOAT;atan;2$;47| '|SPADreplace| 'ATAN) -(DEFUN |DFLOAT;coth;2$;54| (|x| |$|) (COTH |x|)) +(DEFUN |DFLOAT;atan;2$;47| (|x| $) (ATAN |x|)) -(PUT (QUOTE |DFLOAT;sech;2$;55|) (QUOTE |SPADreplace|) (QUOTE SECH)) +(DEFUN |DFLOAT;acsc;2$;48| (|x| $) + (|DFLOAT;checkComplex| (ACSC |x|) $)) -(DEFUN |DFLOAT;sech;2$;55| (|x| |$|) (SECH |x|)) +(PUT '|DFLOAT;acot;2$;49| '|SPADreplace| 'ACOT) -(PUT (QUOTE |DFLOAT;asinh;2$;56|) (QUOTE |SPADreplace|) (QUOTE ASINH)) +(DEFUN |DFLOAT;acot;2$;49| (|x| $) (ACOT |x|)) -(DEFUN |DFLOAT;asinh;2$;56| (|x| |$|) (ASINH |x|)) +(DEFUN |DFLOAT;asec;2$;50| (|x| $) + (|DFLOAT;checkComplex| (ASEC |x|) $)) -(DEFUN |DFLOAT;acosh;2$;57| (|x| |$|) (|DFLOAT;checkComplex| (ACOSH |x|) |$|)) +(PUT '|DFLOAT;sinh;2$;51| '|SPADreplace| 'SINH) -(DEFUN |DFLOAT;atanh;2$;58| (|x| |$|) (|DFLOAT;checkComplex| (ATANH |x|) |$|)) +(DEFUN |DFLOAT;sinh;2$;51| (|x| $) (SINH |x|)) -(PUT (QUOTE |DFLOAT;acsch;2$;59|) (QUOTE |SPADreplace|) (QUOTE ACSCH)) +(PUT '|DFLOAT;cosh;2$;52| '|SPADreplace| 'COSH) -(DEFUN |DFLOAT;acsch;2$;59| (|x| |$|) (ACSCH |x|)) +(DEFUN |DFLOAT;cosh;2$;52| (|x| $) (COSH |x|)) -(DEFUN |DFLOAT;acoth;2$;60| (|x| |$|) (|DFLOAT;checkComplex| (ACOTH |x|) |$|)) +(PUT '|DFLOAT;tanh;2$;53| '|SPADreplace| 'TANH) -(DEFUN |DFLOAT;asech;2$;61| (|x| |$|) (|DFLOAT;checkComplex| (ASECH |x|) |$|)) +(DEFUN |DFLOAT;tanh;2$;53| (|x| $) (TANH |x|)) -(PUT (QUOTE |DFLOAT;/;3$;62|) (QUOTE |SPADreplace|) (QUOTE |/|)) +(PUT '|DFLOAT;csch;2$;54| '|SPADreplace| 'CSCH) -(DEFUN |DFLOAT;/;3$;62| (|x| |y| |$|) (|/| |x| |y|)) +(DEFUN |DFLOAT;csch;2$;54| (|x| $) (CSCH |x|)) -(PUT (QUOTE |DFLOAT;negative?;$B;63|) (QUOTE |SPADreplace|) (QUOTE MINUSP)) +(PUT '|DFLOAT;coth;2$;55| '|SPADreplace| 'COTH) -(DEFUN |DFLOAT;negative?;$B;63| (|x| |$|) (MINUSP |x|)) +(DEFUN |DFLOAT;coth;2$;55| (|x| $) (COTH |x|)) -(PUT (QUOTE |DFLOAT;zero?;$B;64|) (QUOTE |SPADreplace|) (QUOTE ZEROP)) +(PUT '|DFLOAT;sech;2$;56| '|SPADreplace| 'SECH) -(DEFUN |DFLOAT;zero?;$B;64| (|x| |$|) (ZEROP |x|)) +(DEFUN |DFLOAT;sech;2$;56| (|x| $) (SECH |x|)) -(PUT (QUOTE |DFLOAT;hash;$I;65|) (QUOTE |SPADreplace|) (QUOTE HASHEQ)) +(PUT '|DFLOAT;asinh;2$;57| '|SPADreplace| 'ASINH) -(DEFUN |DFLOAT;hash;$I;65| (|x| |$|) (HASHEQ |x|)) +(DEFUN |DFLOAT;asinh;2$;57| (|x| $) (ASINH |x|)) -(DEFUN |DFLOAT;recip;$U;66| (|x| |$|) (COND ((ZEROP |x|) (CONS 1 "failed")) ((QUOTE T) (CONS 0 (|/| 1.0 |x|))))) +(DEFUN |DFLOAT;acosh;2$;58| (|x| $) + (|DFLOAT;checkComplex| (ACOSH |x|) $)) -(PUT (QUOTE |DFLOAT;differentiate;2$;67|) (QUOTE |SPADreplace|) (QUOTE (XLAM (|x|) 0.0))) +(DEFUN |DFLOAT;atanh;2$;59| (|x| $) + (|DFLOAT;checkComplex| (ATANH |x|) $)) -(DEFUN |DFLOAT;differentiate;2$;67| (|x| |$|) 0.0) +(PUT '|DFLOAT;acsch;2$;60| '|SPADreplace| 'ACSCH) -(DEFUN |DFLOAT;Gamma;2$;68| (|x| |$|) (SPADCALL |x| (QREFELT |$| 93))) +(DEFUN |DFLOAT;acsch;2$;60| (|x| $) (ACSCH |x|)) -(DEFUN |DFLOAT;Beta;3$;69| (|x| |y| |$|) (SPADCALL |x| |y| (QREFELT |$| 95))) +(DEFUN |DFLOAT;acoth;2$;61| (|x| $) + (|DFLOAT;checkComplex| (ACOTH |x|) $)) -(PUT (QUOTE |DFLOAT;wholePart;$I;70|) (QUOTE |SPADreplace|) (QUOTE FIX)) +(DEFUN |DFLOAT;asech;2$;62| (|x| $) + (|DFLOAT;checkComplex| (ASECH |x|) $)) -(DEFUN |DFLOAT;wholePart;$I;70| (|x| |$|) (FIX |x|)) +(PUT '|DFLOAT;/;3$;63| '|SPADreplace| '/) -(DEFUN |DFLOAT;float;2IPi$;71| (|ma| |ex| |b| |$|) (|*| |ma| (EXPT (FLOAT |b| |MOST-POSITIVE-LONG-FLOAT|) |ex|))) +(DEFUN |DFLOAT;/;3$;63| (|x| |y| $) (/ |x| |y|)) -(PUT (QUOTE |DFLOAT;convert;2$;72|) (QUOTE |SPADreplace|) (QUOTE (XLAM (|x|) |x|))) +(PUT '|DFLOAT;negative?;$B;64| '|SPADreplace| 'MINUSP) -(DEFUN |DFLOAT;convert;2$;72| (|x| |$|) |x|) +(DEFUN |DFLOAT;negative?;$B;64| (|x| $) (MINUSP |x|)) -(DEFUN |DFLOAT;convert;$F;73| (|x| |$|) (SPADCALL |x| (QREFELT |$| 101))) +(PUT '|DFLOAT;zero?;$B;65| '|SPADreplace| 'ZEROP) -(DEFUN |DFLOAT;rationalApproximation;$NniF;74| (|x| |d| |$|) (SPADCALL |x| |d| 10 (QREFELT |$| 105))) +(DEFUN |DFLOAT;zero?;$B;65| (|x| $) (ZEROP |x|)) -(DEFUN |DFLOAT;atan;3$;75| (|x| |y| |$|) (PROG (|theta|) (RETURN (SEQ (COND ((|=| |x| 0.0) (COND ((|<| 0.0 |y|) (|/| PI 2)) ((|<| |y| 0.0) (|-| (|/| PI 2))) ((QUOTE T) 0.0))) ((QUOTE T) (SEQ (LETT |theta| (ATAN (|FLOAT-SIGN| 1.0 (|/| |y| |x|))) |DFLOAT;atan;3$;75|) (COND ((|<| |x| 0.0) (LETT |theta| (|-| PI |theta|) |DFLOAT;atan;3$;75|))) (COND ((|<| |y| 0.0) (LETT |theta| (|-| |theta|) |DFLOAT;atan;3$;75|))) (EXIT |theta|)))))))) +(PUT '|DFLOAT;hash;$I;66| '|SPADreplace| 'HASHEQ) -(DEFUN |DFLOAT;retract;$F;76| (|x| |$|) (PROG (#1=#:G105780) (RETURN (SPADCALL |x| (PROG1 (LETT #1# (|-| (|FLOAT-DIGITS| 0.0) 1) |DFLOAT;retract;$F;76|) (|check-subtype| (|>=| #1# 0) (QUOTE (|NonNegativeInteger|)) #1#)) (|FLOAT-RADIX| 0.0) (QREFELT |$| 105))))) +(DEFUN |DFLOAT;hash;$I;66| (|x| $) (HASHEQ |x|)) -(DEFUN |DFLOAT;retractIfCan;$U;77| (|x| |$|) (PROG (#1=#:G105785) (RETURN (CONS 0 (SPADCALL |x| (PROG1 (LETT #1# (|-| (|FLOAT-DIGITS| 0.0) 1) |DFLOAT;retractIfCan;$U;77|) (|check-subtype| (|>=| #1# 0) (QUOTE (|NonNegativeInteger|)) #1#)) (|FLOAT-RADIX| 0.0) (QREFELT |$| 105)))))) +(DEFUN |DFLOAT;recip;$U;67| (|x| $) + (COND ((ZEROP |x|) (CONS 1 "failed")) ('T (CONS 0 (/ 1.0 |x|))))) -(DEFUN |DFLOAT;retract;$I;78| (|x| |$|) (PROG (|n|) (RETURN (SEQ (LETT |n| (FIX |x|) |DFLOAT;retract;$I;78|) (EXIT (COND ((|=| |x| (FLOAT |n| |MOST-POSITIVE-LONG-FLOAT|)) |n|) ((QUOTE T) (|error| "Not an integer")))))))) +(PUT '|DFLOAT;differentiate;2$;68| '|SPADreplace| '(XLAM (|x|) 0.0)) -(DEFUN |DFLOAT;retractIfCan;$U;79| (|x| |$|) (PROG (|n|) (RETURN (SEQ (LETT |n| (FIX |x|) |DFLOAT;retractIfCan;$U;79|) (EXIT (COND ((|=| |x| (FLOAT |n| |MOST-POSITIVE-LONG-FLOAT|)) (CONS 0 |n|)) ((QUOTE T) (CONS 1 "failed")))))))) +(DEFUN |DFLOAT;differentiate;2$;68| (|x| $) 0.0) -(DEFUN |DFLOAT;sign;$I;80| (|x| |$|) (SPADCALL (|FLOAT-SIGN| |x| 1.0) (QREFELT |$| 111))) +(DEFUN |DFLOAT;Gamma;2$;69| (|x| $) (SPADCALL |x| (QREFELT $ 95))) -(PUT (QUOTE |DFLOAT;abs;2$;81|) (QUOTE |SPADreplace|) (QUOTE (XLAM (|x|) (|FLOAT-SIGN| 1.0 |x|)))) +(DEFUN |DFLOAT;Beta;3$;70| (|x| |y| $) + (SPADCALL |x| |y| (QREFELT $ 97))) -(DEFUN |DFLOAT;abs;2$;81| (|x| |$|) (|FLOAT-SIGN| 1.0 |x|)) +(PUT '|DFLOAT;wholePart;$I;71| '|SPADreplace| 'FIX) -(DEFUN |DFLOAT;manexp| (|x| |$|) (PROG (|s| #1=#:G105806 |me| |two53|) (RETURN (SEQ (EXIT (COND ((ZEROP |x|) (CONS 0 0)) ((QUOTE T) (SEQ (LETT |s| (SPADCALL |x| (QREFELT |$| 114)) |DFLOAT;manexp|) (LETT |x| (|FLOAT-SIGN| 1.0 |x|) |DFLOAT;manexp|) (COND ((|<| |MOST-POSITIVE-LONG-FLOAT| |x|) (PROGN (LETT #1# (CONS (|+| (|*| |s| (SPADCALL |MOST-POSITIVE-LONG-FLOAT| (QREFELT |$| 25))) 1) (SPADCALL |MOST-POSITIVE-LONG-FLOAT| (QREFELT |$| 26))) |DFLOAT;manexp|) (GO #1#)))) (LETT |me| (MANEXP |x|) |DFLOAT;manexp|) (LETT |two53| (EXPT (|FLOAT-RADIX| 0.0) (|FLOAT-DIGITS| 0.0)) |DFLOAT;manexp|) (EXIT (CONS (|*| |s| (FIX (|*| |two53| (QCAR |me|)))) (|-| (QCDR |me|) (|FLOAT-DIGITS| 0.0)))))))) #1# (EXIT #1#))))) +(DEFUN |DFLOAT;wholePart;$I;71| (|x| $) (FIX |x|)) -(DEFUN |DFLOAT;rationalApproximation;$2NniF;83| (|f| |d| |b| |$|) (PROG (|#G102| |nu| |ex| BASE #1=#:G105809 |de| |tol| |#G103| |q| |r| |p2| |q2| #2=#:G105827 |#G104| |#G105| |p0| |p1| |#G106| |#G107| |q0| |q1| |#G108| |#G109| |s| |t| #3=#:G105825) (RETURN (SEQ (EXIT (SEQ (PROGN (LETT |#G102| (|DFLOAT;manexp| |f| |$|) |DFLOAT;rationalApproximation;$2NniF;83|) (LETT |nu| (QCAR |#G102|) |DFLOAT;rationalApproximation;$2NniF;83|) (LETT |ex| (QCDR |#G102|) |DFLOAT;rationalApproximation;$2NniF;83|) |#G102|) (LETT BASE (|FLOAT-RADIX| 0.0) |DFLOAT;rationalApproximation;$2NniF;83|) (EXIT (COND ((|<| |ex| 0) (SEQ (LETT |de| (EXPT BASE (PROG1 (LETT #1# (|-| |ex|) |DFLOAT;rationalApproximation;$2NniF;83|) (|check-subtype| (|>=| #1# 0) (QUOTE (|NonNegativeInteger|)) #1#))) |DFLOAT;rationalApproximation;$2NniF;83|) (EXIT (COND ((|<| |b| 2) (|error| "base must be > 1")) ((QUOTE T) (SEQ (LETT |tol| (EXPT |b| |d|) |DFLOAT;rationalApproximation;$2NniF;83|) (LETT |s| |nu| |DFLOAT;rationalApproximation;$2NniF;83|) (LETT |t| |de| |DFLOAT;rationalApproximation;$2NniF;83|) (LETT |p0| 0 |DFLOAT;rationalApproximation;$2NniF;83|) (LETT |p1| 1 |DFLOAT;rationalApproximation;$2NniF;83|) (LETT |q0| 1 |DFLOAT;rationalApproximation;$2NniF;83|) (LETT |q1| 0 |DFLOAT;rationalApproximation;$2NniF;83|) (EXIT (SEQ G190 NIL (SEQ (PROGN (LETT |#G103| (DIVIDE2 |s| |t|) |DFLOAT;rationalApproximation;$2NniF;83|) (LETT |q| (QCAR |#G103|) |DFLOAT;rationalApproximation;$2NniF;83|) (LETT |r| (QCDR |#G103|) |DFLOAT;rationalApproximation;$2NniF;83|) |#G103|) (LETT |p2| (|+| (|*| |q| |p1|) |p0|) |DFLOAT;rationalApproximation;$2NniF;83|) (LETT |q2| (|+| (|*| |q| |q1|) |q0|) |DFLOAT;rationalApproximation;$2NniF;83|) (COND ((OR (EQL |r| 0) (|<| (SPADCALL |tol| (ABS (|-| (|*| |nu| |q2|) (|*| |de| |p2|))) (QREFELT |$| 118)) (|*| |de| (ABS |p2|)))) (EXIT (PROGN (LETT #2# (SPADCALL |p2| |q2| (QREFELT |$| 117)) |DFLOAT;rationalApproximation;$2NniF;83|) (GO #2#))))) (PROGN (LETT |#G104| |p1| |DFLOAT;rationalApproximation;$2NniF;83|) (LETT |#G105| |p2| |DFLOAT;rationalApproximation;$2NniF;83|) (LETT |p0| |#G104| |DFLOAT;rationalApproximation;$2NniF;83|) (LETT |p1| |#G105| |DFLOAT;rationalApproximation;$2NniF;83|)) (PROGN (LETT |#G106| |q1| |DFLOAT;rationalApproximation;$2NniF;83|) (LETT |#G107| |q2| |DFLOAT;rationalApproximation;$2NniF;83|) (LETT |q0| |#G106| |DFLOAT;rationalApproximation;$2NniF;83|) (LETT |q1| |#G107| |DFLOAT;rationalApproximation;$2NniF;83|)) (EXIT (PROGN (LETT |#G108| |t| |DFLOAT;rationalApproximation;$2NniF;83|) (LETT |#G109| |r| |DFLOAT;rationalApproximation;$2NniF;83|) (LETT |s| |#G108| |DFLOAT;rationalApproximation;$2NniF;83|) (LETT |t| |#G109| |DFLOAT;rationalApproximation;$2NniF;83|)))) NIL (GO G190) G191 (EXIT NIL))))))))) ((QUOTE T) (SPADCALL (|*| |nu| (EXPT BASE (PROG1 (LETT #3# |ex| |DFLOAT;rationalApproximation;$2NniF;83|) (|check-subtype| (|>=| #3# 0) (QUOTE (|NonNegativeInteger|)) #3#)))) (QREFELT |$| 119))))))) #2# (EXIT #2#))))) +(DEFUN |DFLOAT;float;2IPi$;72| (|ma| |ex| |b| $) + (* |ma| (EXPT (FLOAT |b| MOST-POSITIVE-LONG-FLOAT) |ex|))) -(DEFUN |DFLOAT;**;$F$;84| (|x| |r| |$|) (PROG (|n| |d| #1=#:G105837) (RETURN (SEQ (EXIT (COND ((ZEROP |x|) (COND ((SPADCALL |r| (QREFELT |$| 120)) (|error| "0**0 is undefined")) ((SPADCALL |r| (QREFELT |$| 121)) (|error| "division by 0")) ((QUOTE T) 0.0))) ((OR (SPADCALL |r| (QREFELT |$| 120)) (SPADCALL |x| (QREFELT |$| 122))) 1.0) ((QUOTE T) (COND ((SPADCALL |r| (QREFELT |$| 123)) |x|) ((QUOTE T) (SEQ (LETT |n| (SPADCALL |r| (QREFELT |$| 124)) |DFLOAT;**;$F$;84|) (LETT |d| (SPADCALL |r| (QREFELT |$| 125)) |DFLOAT;**;$F$;84|) (EXIT (COND ((MINUSP |x|) (COND ((ODDP |d|) (COND ((ODDP |n|) (PROGN (LETT #1# (|-| (SPADCALL (|-| |x|) |r| (QREFELT |$| 126))) |DFLOAT;**;$F$;84|) (GO #1#))) ((QUOTE T) (PROGN (LETT #1# (SPADCALL (|-| |x|) |r| (QREFELT |$| 126)) |DFLOAT;**;$F$;84|) (GO #1#))))) ((QUOTE T) (|error| "negative root")))) ((EQL |d| 2) (EXPT (SPADCALL |x| (QREFELT |$| 54)) |n|)) ((QUOTE T) (SPADCALL |x| (|/| (FLOAT |n| |MOST-POSITIVE-LONG-FLOAT|) (FLOAT |d| |MOST-POSITIVE-LONG-FLOAT|)) (QREFELT |$| 57))))))))))) #1# (EXIT #1#))))) +(PUT '|DFLOAT;convert;$Df;73| '|SPADreplace| '(XLAM (|x|) |x|)) -(DEFUN |DoubleFloat| NIL (PROG NIL (RETURN (PROG (#1=#:G105850) (RETURN (COND ((LETT #1# (HGET |$ConstructorCache| (QUOTE |DoubleFloat|)) |DoubleFloat|) (|CDRwithIncrement| (CDAR #1#))) ((QUOTE T) (|UNWIND-PROTECT| (PROG1 (CDDAR (HPUT |$ConstructorCache| (QUOTE |DoubleFloat|) (LIST (CONS NIL (CONS 1 (|DoubleFloat;|)))))) (LETT #1# T |DoubleFloat|)) (COND ((NOT #1#) (HREM |$ConstructorCache| (QUOTE |DoubleFloat|)))))))))))) +(DEFUN |DFLOAT;convert;$Df;73| (|x| $) |x|) -(DEFUN |DoubleFloat;| NIL (PROG (|dv$| |$| |pv$|) (RETURN (PROGN (LETT |dv$| (QUOTE (|DoubleFloat|)) . #1=(|DoubleFloat|)) (LETT |$| (GETREFV 140) . #1#) (QSETREFV |$| 0 |dv$|) (QSETREFV |$| 3 (LETT |pv$| (|buildPredVector| 0 0 NIL) . #1#)) (|haddProp| |$ConstructorCache| (QUOTE |DoubleFloat|) NIL (CONS 1 |$|)) (|stuffDomainSlots| |$|) |$|)))) +(DEFUN |DFLOAT;convert;$F;74| (|x| $) (SPADCALL |x| (QREFELT $ 103))) -(MAKEPROP (QUOTE |DoubleFloat|) (QUOTE |infovec|) (LIST (QUOTE #(NIL NIL NIL NIL NIL NIL (|OpenMathEncoding|) (0 . |OMencodingXML|) (|String|) (|OpenMathDevice|) (4 . |OMopenString|) (|Void|) (10 . |OMputObject|) (|DoubleFloat|) (15 . |OMputFloat|) (21 . |OMputEndObject|) (26 . |OMclose|) |DFLOAT;OMwrite;$S;1| (|Boolean|) |DFLOAT;OMwrite;$BS;2| |DFLOAT;OMwrite;Omd$V;3| |DFLOAT;OMwrite;Omd$BV;4| (|PositiveInteger|) |DFLOAT;base;Pi;6| (|Integer|) |DFLOAT;mantissa;$I;7| |DFLOAT;exponent;$I;8| |DFLOAT;precision;Pi;9| |DFLOAT;log2;2$;37| (31 . |*|) |DFLOAT;bits;Pi;10| |DFLOAT;max;$;11| |DFLOAT;min;$;12| |DFLOAT;order;$I;13| (CONS IDENTITY (FUNCALL (|dispatchFunction| |DFLOAT;Zero;$;14|) |$|)) (CONS IDENTITY (FUNCALL (|dispatchFunction| |DFLOAT;One;$;15|) |$|)) |DFLOAT;exp1;$;16| |DFLOAT;pi;$;17| (|OutputForm|) (37 . |outputForm|) |DFLOAT;coerce;$Of;18| (|InputForm|) (42 . |convert|) |DFLOAT;convert;$If;19| |DFLOAT;<;2$B;20| |DFLOAT;-;2$;21| |DFLOAT;+;3$;22| |DFLOAT;-;3$;23| |DFLOAT;*;3$;24| |DFLOAT;*;I2$;25| |DFLOAT;max;3$;26| |DFLOAT;min;3$;27| |DFLOAT;=;2$B;28| |DFLOAT;/;$I$;29| |DFLOAT;sqrt;2$;30| |DFLOAT;log10;2$;31| |DFLOAT;**;$I$;32| |DFLOAT;**;3$;33| |DFLOAT;coerce;I$;34| |DFLOAT;exp;2$;35| |DFLOAT;log;2$;36| |DFLOAT;sin;2$;38| |DFLOAT;cos;2$;39| |DFLOAT;tan;2$;40| |DFLOAT;cot;2$;41| |DFLOAT;sec;2$;42| |DFLOAT;csc;2$;43| |DFLOAT;asin;2$;44| |DFLOAT;acos;2$;45| |DFLOAT;atan;2$;46| |DFLOAT;acsc;2$;47| |DFLOAT;acot;2$;48| |DFLOAT;asec;2$;49| |DFLOAT;sinh;2$;50| |DFLOAT;cosh;2$;51| |DFLOAT;tanh;2$;52| |DFLOAT;csch;2$;53| |DFLOAT;coth;2$;54| |DFLOAT;sech;2$;55| |DFLOAT;asinh;2$;56| |DFLOAT;acosh;2$;57| |DFLOAT;atanh;2$;58| |DFLOAT;acsch;2$;59| |DFLOAT;acoth;2$;60| |DFLOAT;asech;2$;61| |DFLOAT;/;3$;62| |DFLOAT;negative?;$B;63| |DFLOAT;zero?;$B;64| |DFLOAT;hash;$I;65| (|Union| |$| (QUOTE "failed")) |DFLOAT;recip;$U;66| |DFLOAT;differentiate;2$;67| (|DoubleFloatSpecialFunctions|) (47 . |Gamma|) |DFLOAT;Gamma;2$;68| (52 . |Beta|) |DFLOAT;Beta;3$;69| |DFLOAT;wholePart;$I;70| |DFLOAT;float;2IPi$;71| |DFLOAT;convert;2$;72| (|Float|) (58 . |convert|) |DFLOAT;convert;$F;73| (|Fraction| 24) (|NonNegativeInteger|) |DFLOAT;rationalApproximation;$2NniF;83| |DFLOAT;rationalApproximation;$NniF;74| |DFLOAT;atan;3$;75| |DFLOAT;retract;$F;76| (|Union| 103 (QUOTE "failed")) |DFLOAT;retractIfCan;$U;77| |DFLOAT;retract;$I;78| (|Union| 24 (QUOTE "failed")) |DFLOAT;retractIfCan;$U;79| |DFLOAT;sign;$I;80| |DFLOAT;abs;2$;81| (63 . |Zero|) (67 . |/|) (73 . |*|) (79 . |coerce|) (84 . |zero?|) (89 . |negative?|) (94 . |one?|) (99 . |one?|) (104 . |numer|) (109 . |denom|) |DFLOAT;**;$F$;84| (|Pattern| 100) (|PatternMatchResult| 100 |$|) (|Factored| |$|) (|Union| 131 (QUOTE "failed")) (|List| |$|) (|Record| (|:| |coef1| |$|) (|:| |coef2| |$|) (|:| |generator| |$|)) (|Record| (|:| |coef1| |$|) (|:| |coef2| |$|)) (|Union| 133 (QUOTE "failed")) (|Record| (|:| |quotient| |$|) (|:| |remainder| |$|)) (|Record| (|:| |coef| 131) (|:| |generator| |$|)) (|SparseUnivariatePolynomial| |$|) (|Record| (|:| |unit| |$|) (|:| |canonical| |$|) (|:| |associate| |$|)) (|SingleInteger|))) (QUOTE #(|~=| 114 |zero?| 120 |wholePart| 125 |unitNormal| 130 |unitCanonical| 135 |unit?| 140 |truncate| 145 |tanh| 150 |tan| 155 |subtractIfCan| 160 |squareFreePart| 166 |squareFree| 171 |sqrt| 176 |sizeLess?| 181 |sinh| 187 |sin| 192 |sign| 197 |sech| 202 |sec| 207 |sample| 212 |round| 216 |retractIfCan| 221 |retract| 231 |rem| 241 |recip| 247 |rationalApproximation| 252 |quo| 265 |principalIdeal| 271 |prime?| 276 |precision| 281 |positive?| 285 |pi| 290 |patternMatch| 294 |order| 301 |one?| 306 |nthRoot| 311 |norm| 317 |negative?| 322 |multiEuclidean| 327 |min| 333 |max| 343 |mantissa| 353 |log2| 358 |log10| 363 |log| 368 |lcm| 373 |latex| 384 |inv| 389 |hash| 394 |gcdPolynomial| 404 |gcd| 410 |fractionPart| 421 |floor| 426 |float| 431 |factor| 444 |extendedEuclidean| 449 |exquo| 462 |expressIdealMember| 468 |exponent| 474 |exp1| 479 |exp| 483 |euclideanSize| 488 |divide| 493 |digits| 499 |differentiate| 503 |csch| 514 |csc| 519 |coth| 524 |cot| 529 |cosh| 534 |cos| 539 |convert| 544 |coerce| 564 |characteristic| 594 |ceiling| 598 |bits| 603 |base| 607 |atanh| 611 |atan| 616 |associates?| 627 |asinh| 633 |asin| 638 |asech| 643 |asec| 648 |acsch| 653 |acsc| 658 |acoth| 663 |acot| 668 |acosh| 673 |acos| 678 |abs| 683 |^| 688 |Zero| 706 |One| 710 |OMwrite| 714 |Gamma| 738 D 743 |Beta| 754 |>=| 760 |>| 766 |=| 772 |<=| 778 |<| 784 |/| 790 |-| 802 |+| 813 |**| 819 |*| 849)) (QUOTE ((|approximate| . 0) (|canonicalsClosed| . 0) (|canonicalUnitNormal| . 0) (|noZeroDivisors| . 0) ((|commutative| "*") . 0) (|rightUnitary| . 0) (|leftUnitary| . 0) (|unitsKnown| . 0))) (CONS (|makeByteWordVec2| 1 (QUOTE (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 (QUOTE #(|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 |AbelianMonoid&| |Monoid&| NIL |OrderedSet&| |AbelianSemiGroup&| |SemiGroup&| |TranscendentalFunctionCategory&| NIL |SetCategory&| NIL |ElementaryFunctionCategory&| NIL |HyperbolicFunctionCategory&| |ArcTrigonometricFunctionCategory&| |TrigonometricFunctionCategory&| NIL NIL |RadicalCategory&| |RetractableTo&| |RetractableTo&| NIL NIL |BasicType&| NIL)) (CONS (QUOTE #((|FloatingPointSystem|) (|RealNumberSystem|) (|Field|) (|EuclideanDomain|) (|PrincipalIdealDomain|) (|UniqueFactorizationDomain|) (|GcdDomain|) (|DivisionRing|) (|IntegralDomain|) (|Algebra| 103) (|Algebra| |$$|) (|DifferentialRing|) (|CharacteristicZero|) (|OrderedRing|) (|Module| 103) (|EntireRing|) (|CommutativeRing|) (|Module| |$$|) (|OrderedAbelianGroup|) (|BiModule| 103 103) (|BiModule| |$$| |$$|) (|Ring|) (|OrderedCancellationAbelianMonoid|) (|RightModule| 103) (|LeftModule| 103) (|LeftModule| |$$|) (|Rng|) (|RightModule| |$$|) (|OrderedAbelianMonoid|) (|AbelianGroup|) (|OrderedAbelianSemiGroup|) (|CancellationAbelianMonoid|) (|AbelianMonoid|) (|Monoid|) (|PatternMatchable| 100) (|OrderedSet|) (|AbelianSemiGroup|) (|SemiGroup|) (|TranscendentalFunctionCategory|) (|RealConstant|) (|SetCategory|) (|ConvertibleTo| 41) (|ElementaryFunctionCategory|) (|ArcHyperbolicFunctionCategory|) (|HyperbolicFunctionCategory|) (|ArcTrigonometricFunctionCategory|) (|TrigonometricFunctionCategory|) (|OpenMath|) (|ConvertibleTo| 127) (|RadicalCategory|) (|RetractableTo| 103) (|RetractableTo| 24) (|ConvertibleTo| 100) (|ConvertibleTo| 13) (|BasicType|) (|CoercibleTo| 38))) (|makeByteWordVec2| 139 (QUOTE (0 6 0 7 2 9 0 8 6 10 1 9 11 0 12 2 9 11 0 13 14 1 9 11 0 15 1 9 11 0 16 2 0 0 22 0 29 1 38 0 13 39 1 41 0 13 42 1 92 13 13 93 2 92 13 13 13 95 1 100 0 13 101 0 103 0 116 2 103 0 24 24 117 2 24 0 104 0 118 1 103 0 24 119 1 103 18 0 120 1 103 18 0 121 1 0 18 0 122 1 103 18 0 123 1 103 24 0 124 1 103 24 0 125 2 0 18 0 0 1 1 0 18 0 87 1 0 24 0 97 1 0 138 0 1 1 0 0 0 1 1 0 18 0 1 1 0 0 0 1 1 0 0 0 75 1 0 0 0 63 2 0 89 0 0 1 1 0 0 0 1 1 0 129 0 1 1 0 0 0 54 2 0 18 0 0 1 1 0 0 0 73 1 0 0 0 61 1 0 24 0 114 1 0 0 0 78 1 0 0 0 65 0 0 0 1 1 0 0 0 1 1 0 109 0 110 1 0 112 0 113 1 0 103 0 108 1 0 24 0 111 2 0 0 0 0 1 1 0 89 0 90 2 0 103 0 104 106 3 0 103 0 104 104 105 2 0 0 0 0 1 1 0 136 131 1 1 0 18 0 1 0 0 22 27 1 0 18 0 1 0 0 0 37 3 0 128 0 127 128 1 1 0 24 0 33 1 0 18 0 122 2 0 0 0 24 1 1 0 0 0 1 1 0 18 0 86 2 0 130 131 0 1 0 0 0 32 2 0 0 0 0 51 0 0 0 31 2 0 0 0 0 50 1 0 24 0 25 1 0 0 0 28 1 0 0 0 55 1 0 0 0 60 1 0 0 131 1 2 0 0 0 0 1 1 0 8 0 1 1 0 0 0 1 1 0 24 0 88 1 0 139 0 1 2 0 137 137 137 1 1 0 0 131 1 2 0 0 0 0 1 1 0 0 0 1 1 0 0 0 1 3 0 0 24 24 22 98 2 0 0 24 24 1 1 0 129 0 1 2 0 132 0 0 1 3 0 134 0 0 0 1 2 0 89 0 0 1 2 0 130 131 0 1 1 0 24 0 26 0 0 0 36 1 0 0 0 59 1 0 104 0 1 2 0 135 0 0 1 0 0 22 1 1 0 0 0 91 2 0 0 0 104 1 1 0 0 0 76 1 0 0 0 66 1 0 0 0 77 1 0 0 0 64 1 0 0 0 74 1 0 0 0 62 1 0 41 0 43 1 0 127 0 1 1 0 13 0 99 1 0 100 0 102 1 0 0 103 1 1 0 0 24 58 1 0 0 103 1 1 0 0 24 58 1 0 0 0 1 1 0 38 0 40 0 0 104 1 1 0 0 0 1 0 0 22 30 0 0 22 23 1 0 0 0 81 2 0 0 0 0 107 1 0 0 0 69 2 0 18 0 0 1 1 0 0 0 79 1 0 0 0 67 1 0 0 0 84 1 0 0 0 72 1 0 0 0 82 1 0 0 0 70 1 0 0 0 83 1 0 0 0 71 1 0 0 0 80 1 0 0 0 68 1 0 0 0 115 2 0 0 0 24 1 2 0 0 0 104 1 2 0 0 0 22 1 0 0 0 34 0 0 0 35 2 0 11 9 0 20 3 0 11 9 0 18 21 1 0 8 0 17 2 0 8 0 18 19 1 0 0 0 94 1 0 0 0 1 2 0 0 0 104 1 2 0 0 0 0 96 2 0 18 0 0 1 2 0 18 0 0 1 2 0 18 0 0 52 2 0 18 0 0 1 2 0 18 0 0 44 2 0 0 0 24 53 2 0 0 0 0 85 2 0 0 0 0 47 1 0 0 0 45 2 0 0 0 0 46 2 0 0 0 0 57 2 0 0 0 103 126 2 0 0 0 24 56 2 0 0 0 104 1 2 0 0 0 22 1 2 0 0 0 103 1 2 0 0 103 0 1 2 0 0 0 0 48 2 0 0 24 0 49 2 0 0 104 0 1 2 0 0 22 0 29)))))) (QUOTE |lookupComplete|))) +(DEFUN |DFLOAT;rationalApproximation;$NniF;75| (|x| |d| $) + (SPADCALL |x| |d| 10 (QREFELT $ 107))) -(MAKEPROP (QUOTE |DoubleFloat|) (QUOTE NILADIC) T) +(DEFUN |DFLOAT;atan;3$;76| (|x| |y| $) + (PROG (|theta|) + (RETURN + (SEQ (COND + ((= |x| 0.0) + (COND + ((< 0.0 |y|) (/ PI 2)) + ((< |y| 0.0) (- (/ PI 2))) + ('T 0.0))) + ('T + (SEQ (LETT |theta| (ATAN (FLOAT-SIGN 1.0 (/ |y| |x|))) + |DFLOAT;atan;3$;76|) + (COND + ((< |x| 0.0) + (LETT |theta| (- PI |theta|) |DFLOAT;atan;3$;76|))) + (COND + ((< |y| 0.0) + (LETT |theta| (- |theta|) |DFLOAT;atan;3$;76|))) + (EXIT |theta|)))))))) + +(DEFUN |DFLOAT;retract;$F;77| (|x| $) + (PROG (#0=#:G1487) + (RETURN + (SPADCALL |x| + (PROG1 (LETT #0# (- (FLOAT-DIGITS 0.0) 1) + |DFLOAT;retract;$F;77|) + (|check-subtype| (>= #0# 0) '(|NonNegativeInteger|) #0#)) + (FLOAT-RADIX 0.0) (QREFELT $ 107))))) + +(DEFUN |DFLOAT;retractIfCan;$U;78| (|x| $) + (PROG (#0=#:G1492) + (RETURN + (CONS 0 + (SPADCALL |x| + (PROG1 (LETT #0# (- (FLOAT-DIGITS 0.0) 1) + |DFLOAT;retractIfCan;$U;78|) + (|check-subtype| (>= #0# 0) '(|NonNegativeInteger|) + #0#)) + (FLOAT-RADIX 0.0) (QREFELT $ 107)))))) + +(DEFUN |DFLOAT;retract;$I;79| (|x| $) + (PROG (|n|) + (RETURN + (SEQ (LETT |n| (FIX |x|) |DFLOAT;retract;$I;79|) + (EXIT (COND + ((= |x| (FLOAT |n| MOST-POSITIVE-LONG-FLOAT)) |n|) + ('T (|error| "Not an integer")))))))) + +(DEFUN |DFLOAT;retractIfCan;$U;80| (|x| $) + (PROG (|n|) + (RETURN + (SEQ (LETT |n| (FIX |x|) |DFLOAT;retractIfCan;$U;80|) + (EXIT (COND + ((= |x| (FLOAT |n| MOST-POSITIVE-LONG-FLOAT)) + (CONS 0 |n|)) + ('T (CONS 1 "failed")))))))) + +(DEFUN |DFLOAT;sign;$I;81| (|x| $) + (SPADCALL (FLOAT-SIGN |x| 1.0) (QREFELT $ 113))) + +(PUT '|DFLOAT;abs;2$;82| '|SPADreplace| + '(XLAM (|x|) (FLOAT-SIGN 1.0 |x|))) + +(DEFUN |DFLOAT;abs;2$;82| (|x| $) (FLOAT-SIGN 1.0 |x|)) + +(DEFUN |DFLOAT;manexp| (|x| $) + (PROG (|s| #0=#:G1513 |me| |two53|) + (RETURN + (SEQ (EXIT (COND + ((ZEROP |x|) (CONS 0 0)) + ('T + (SEQ (LETT |s| (SPADCALL |x| (QREFELT $ 116)) + |DFLOAT;manexp|) + (LETT |x| (FLOAT-SIGN 1.0 |x|) + |DFLOAT;manexp|) + (COND + ((< MOST-POSITIVE-LONG-FLOAT |x|) + (PROGN + (LETT #0# + (CONS + (+ + (* |s| + (SPADCALL + MOST-POSITIVE-LONG-FLOAT + (QREFELT $ 27))) + 1) + (SPADCALL MOST-POSITIVE-LONG-FLOAT + (QREFELT $ 28))) + |DFLOAT;manexp|) + (GO #0#)))) + (LETT |me| (MANEXP |x|) |DFLOAT;manexp|) + (LETT |two53| + (EXPT (FLOAT-RADIX 0.0) + (FLOAT-DIGITS 0.0)) + |DFLOAT;manexp|) + (EXIT (CONS (* |s| + (FIX (* |two53| (QCAR |me|)))) + (- (QCDR |me|) (FLOAT-DIGITS 0.0)))))))) + #0# (EXIT #0#))))) + +(DEFUN |DFLOAT;rationalApproximation;$2NniF;84| (|f| |d| |b| $) + (PROG (|#G103| |nu| |ex| BASE #0=#:G1516 |de| |tol| |#G104| |q| |r| + |p2| |q2| #1=#:G1534 |#G105| |#G106| |p0| |p1| |#G107| + |#G108| |q0| |q1| |#G109| |#G110| |s| |t| #2=#:G1532) + (RETURN + (SEQ (EXIT (SEQ (PROGN + (LETT |#G103| (|DFLOAT;manexp| |f| $) + |DFLOAT;rationalApproximation;$2NniF;84|) + (LETT |nu| (QCAR |#G103|) + |DFLOAT;rationalApproximation;$2NniF;84|) + (LETT |ex| (QCDR |#G103|) + |DFLOAT;rationalApproximation;$2NniF;84|) + |#G103|) + (LETT BASE (FLOAT-RADIX 0.0) + |DFLOAT;rationalApproximation;$2NniF;84|) + (EXIT (COND + ((< |ex| 0) + (SEQ (LETT |de| + (EXPT BASE + (PROG1 + (LETT #0# (- |ex|) + |DFLOAT;rationalApproximation;$2NniF;84|) + (|check-subtype| (>= #0# 0) + '(|NonNegativeInteger|) #0#))) + |DFLOAT;rationalApproximation;$2NniF;84|) + (EXIT + (COND + ((< |b| 2) + (|error| "base must be > 1")) + ('T + (SEQ + (LETT |tol| (EXPT |b| |d|) + |DFLOAT;rationalApproximation;$2NniF;84|) + (LETT |s| |nu| + |DFLOAT;rationalApproximation;$2NniF;84|) + (LETT |t| |de| + |DFLOAT;rationalApproximation;$2NniF;84|) + (LETT |p0| 0 + |DFLOAT;rationalApproximation;$2NniF;84|) + (LETT |p1| 1 + |DFLOAT;rationalApproximation;$2NniF;84|) + (LETT |q0| 1 + |DFLOAT;rationalApproximation;$2NniF;84|) + (LETT |q1| 0 + |DFLOAT;rationalApproximation;$2NniF;84|) + (EXIT + (SEQ G190 NIL + (SEQ + (PROGN + (LETT |#G104| + (DIVIDE2 |s| |t|) + |DFLOAT;rationalApproximation;$2NniF;84|) + (LETT |q| (QCAR |#G104|) + |DFLOAT;rationalApproximation;$2NniF;84|) + (LETT |r| (QCDR |#G104|) + |DFLOAT;rationalApproximation;$2NniF;84|) + |#G104|) + (LETT |p2| + (+ (* |q| |p1|) |p0|) + |DFLOAT;rationalApproximation;$2NniF;84|) + (LETT |q2| + (+ (* |q| |q1|) |q0|) + |DFLOAT;rationalApproximation;$2NniF;84|) + (COND + ((OR (EQL |r| 0) + (< + (SPADCALL |tol| + (ABS + (- (* |nu| |q2|) + (* |de| |p2|))) + (QREFELT $ 120)) + (* |de| (ABS |p2|)))) + (EXIT + (PROGN + (LETT #1# + (SPADCALL |p2| |q2| + (QREFELT $ 119)) + |DFLOAT;rationalApproximation;$2NniF;84|) + (GO #1#))))) + (PROGN + (LETT |#G105| |p1| + |DFLOAT;rationalApproximation;$2NniF;84|) + (LETT |#G106| |p2| + |DFLOAT;rationalApproximation;$2NniF;84|) + (LETT |p0| |#G105| + |DFLOAT;rationalApproximation;$2NniF;84|) + (LETT |p1| |#G106| + |DFLOAT;rationalApproximation;$2NniF;84|)) + (PROGN + (LETT |#G107| |q1| + |DFLOAT;rationalApproximation;$2NniF;84|) + (LETT |#G108| |q2| + |DFLOAT;rationalApproximation;$2NniF;84|) + (LETT |q0| |#G107| + |DFLOAT;rationalApproximation;$2NniF;84|) + (LETT |q1| |#G108| + |DFLOAT;rationalApproximation;$2NniF;84|)) + (EXIT + (PROGN + (LETT |#G109| |t| + |DFLOAT;rationalApproximation;$2NniF;84|) + (LETT |#G110| |r| + |DFLOAT;rationalApproximation;$2NniF;84|) + (LETT |s| |#G109| + |DFLOAT;rationalApproximation;$2NniF;84|) + (LETT |t| |#G110| + |DFLOAT;rationalApproximation;$2NniF;84|)))) + NIL (GO G190) G191 + (EXIT NIL))))))))) + ('T + (SPADCALL + (* |nu| + (EXPT BASE + (PROG1 + (LETT #2# |ex| + |DFLOAT;rationalApproximation;$2NniF;84|) + (|check-subtype| (>= #2# 0) + '(|NonNegativeInteger|) #2#)))) + (QREFELT $ 121))))))) + #1# (EXIT #1#))))) + +(DEFUN |DFLOAT;**;$F$;85| (|x| |r| $) + (PROG (|n| |d| #0=#:G1543) + (RETURN + (SEQ (EXIT (COND + ((ZEROP |x|) + (COND + ((SPADCALL |r| (QREFELT $ 122)) + (|error| "0**0 is undefined")) + ((SPADCALL |r| (QREFELT $ 123)) + (|error| "division by 0")) + ('T 0.0))) + ((OR (SPADCALL |r| (QREFELT $ 122)) (= |x| 1.0)) + 1.0) + ('T + (COND + ((SPADCALL |r| (|spadConstant| $ 124) + (QREFELT $ 125)) + |x|) + ('T + (SEQ (LETT |n| (SPADCALL |r| (QREFELT $ 126)) + |DFLOAT;**;$F$;85|) + (LETT |d| (SPADCALL |r| (QREFELT $ 127)) + |DFLOAT;**;$F$;85|) + (EXIT (COND + ((MINUSP |x|) + (COND + ((ODDP |d|) + (COND + ((ODDP |n|) + (PROGN + (LETT #0# + (- + (SPADCALL (- |x|) |r| + (QREFELT $ 128))) + |DFLOAT;**;$F$;85|) + (GO #0#))) + ('T + (PROGN + (LETT #0# + (SPADCALL (- |x|) |r| + (QREFELT $ 128)) + |DFLOAT;**;$F$;85|) + (GO #0#))))) + ('T (|error| "negative root")))) + ((EQL |d| 2) + (EXPT + (SPADCALL |x| (QREFELT $ 56)) + |n|)) + ('T + (SPADCALL |x| + (/ + (FLOAT |n| + MOST-POSITIVE-LONG-FLOAT) + (FLOAT |d| + MOST-POSITIVE-LONG-FLOAT)) + (QREFELT $ 59))))))))))) + #0# (EXIT #0#))))) + +(DEFUN |DoubleFloat| () + (PROG () + (RETURN + (PROG (#0=#:G1556) + (RETURN + (COND + ((LETT #0# (HGET |$ConstructorCache| '|DoubleFloat|) + |DoubleFloat|) + (|CDRwithIncrement| (CDAR #0#))) + ('T + (UNWIND-PROTECT + (PROG1 (CDDAR (HPUT |$ConstructorCache| '|DoubleFloat| + (LIST + (CONS NIL + (CONS 1 (|DoubleFloat;|)))))) + (LETT #0# T |DoubleFloat|)) + (COND + ((NOT #0#) (HREM |$ConstructorCache| '|DoubleFloat|))))))))))) + +(DEFUN |DoubleFloat;| () + (PROG (|dv$| $ |pv$|) + (RETURN + (PROGN + (LETT |dv$| '(|DoubleFloat|) . #0=(|DoubleFloat|)) + (LETT $ (GETREFV 142) . #0#) + (QSETREFV $ 0 |dv$|) + (QSETREFV $ 3 (LETT |pv$| (|buildPredVector| 0 0 NIL) . #0#)) + (|haddProp| |$ConstructorCache| '|DoubleFloat| NIL (CONS 1 $)) + (|stuffDomainSlots| $) + (QSETREFV $ 6 "~G") + $)))) + +(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 . |outputForm|) |DFLOAT;coerce;$Of;19| (|InputForm|) + (42 . |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|) (47 . |Gamma|) + |DFLOAT;Gamma;2$;69| (52 . |Beta|) |DFLOAT;Beta;3$;70| + |DFLOAT;wholePart;$I;71| |DFLOAT;float;2IPi$;72| + |DFLOAT;convert;$Df;73| (|Float|) (58 . |convert|) + |DFLOAT;convert;$F;74| (|Fraction| 26) + (|NonNegativeInteger|) + |DFLOAT;rationalApproximation;$2NniF;84| + |DFLOAT;rationalApproximation;$NniF;75| + |DFLOAT;atan;3$;76| |DFLOAT;retract;$F;77| + (|Union| 105 '"failed") |DFLOAT;retractIfCan;$U;78| + |DFLOAT;retract;$I;79| (|Union| 26 '"failed") + |DFLOAT;retractIfCan;$U;80| |DFLOAT;sign;$I;81| + |DFLOAT;abs;2$;82| (63 . |Zero|) (67 . /) (73 . *) + (79 . |coerce|) (84 . |zero?|) (89 . |negative?|) + (94 . |One|) (98 . =) (104 . |numer|) (109 . |denom|) + |DFLOAT;**;$F$;85| (|PatternMatchResult| 102 $) + (|Pattern| 102) (|Factored| $) (|Union| 133 '"failed") + (|List| $) + (|Record| (|:| |coef1| $) (|:| |coef2| $) + (|:| |generator| $)) + (|Record| (|:| |coef1| $) (|:| |coef2| $)) + (|Union| 135 '"failed") + (|Record| (|:| |quotient| $) (|:| |remainder| $)) + (|Record| (|:| |coef| 133) (|:| |generator| $)) + (|SparseUnivariatePolynomial| $) + (|Record| (|:| |unit| $) (|:| |canonical| $) + (|:| |associate| $)) + (|SingleInteger|)) + '#(~= 114 |zero?| 120 |wholePart| 125 |unitNormal| 130 + |unitCanonical| 135 |unit?| 140 |truncate| 145 |tanh| 150 + |tan| 155 |subtractIfCan| 160 |squareFreePart| 166 + |squareFree| 171 |sqrt| 176 |sizeLess?| 181 |sinh| 187 + |sin| 192 |sign| 197 |sech| 202 |sec| 207 |sample| 212 + |round| 216 |retractIfCan| 221 |retract| 231 |rem| 241 + |recip| 247 |rationalApproximation| 252 |quo| 265 + |principalIdeal| 271 |prime?| 276 |precision| 281 + |positive?| 285 |pi| 290 |patternMatch| 294 |order| 301 + |one?| 306 |nthRoot| 311 |norm| 317 |negative?| 322 + |multiEuclidean| 327 |min| 333 |max| 343 |mantissa| 353 + |log2| 358 |log10| 363 |log| 368 |lcm| 373 |latex| 384 + |inv| 389 |hash| 394 |gcdPolynomial| 404 |gcd| 410 + |fractionPart| 421 |floor| 426 |float| 431 |factor| 444 + |extendedEuclidean| 449 |exquo| 462 |expressIdealMember| + 468 |exponent| 474 |exp1| 479 |exp| 483 |euclideanSize| + 488 |doubleFloatFormat| 493 |divide| 498 |digits| 504 + |differentiate| 508 |csch| 519 |csc| 524 |coth| 529 |cot| + 534 |cosh| 539 |cos| 544 |convert| 549 |coerce| 569 + |characteristic| 599 |ceiling| 603 |bits| 608 |base| 612 + |atanh| 616 |atan| 621 |associates?| 632 |asinh| 638 + |asin| 643 |asech| 648 |asec| 653 |acsch| 658 |acsc| 663 + |acoth| 668 |acot| 673 |acosh| 678 |acos| 683 |abs| 688 ^ + 693 |Zero| 711 |One| 715 |OMwrite| 719 |Gamma| 743 D 748 + |Beta| 759 >= 765 > 771 = 777 <= 783 < 789 / 795 - 807 + + 818 ** 824 * 854) + '((|approximate| . 0) (|canonicalsClosed| . 0) + (|canonicalUnitNormal| . 0) (|noZeroDivisors| . 0) + ((|commutative| "*") . 0) (|rightUnitary| . 0) + (|leftUnitary| . 0) (|unitsKnown| . 0)) + (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)) + (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 |AbelianMonoid&| + |Monoid&| NIL |OrderedSet&| + |AbelianSemiGroup&| |SemiGroup&| + |TranscendentalFunctionCategory&| NIL + |SetCategory&| NIL + |ElementaryFunctionCategory&| NIL + |HyperbolicFunctionCategory&| + |ArcTrigonometricFunctionCategory&| + |TrigonometricFunctionCategory&| NIL NIL + |RadicalCategory&| |RetractableTo&| + |RetractableTo&| NIL NIL |BasicType&| NIL) + (CONS '#((|FloatingPointSystem|) + (|RealNumberSystem|) (|Field|) + (|EuclideanDomain|) + (|PrincipalIdealDomain|) + (|UniqueFactorizationDomain|) + (|GcdDomain|) (|DivisionRing|) + (|IntegralDomain|) (|Algebra| 105) + (|Algebra| $$) (|DifferentialRing|) + (|CharacteristicZero|) (|OrderedRing|) + (|Module| 105) (|EntireRing|) + (|CommutativeRing|) (|Module| $$) + (|OrderedAbelianGroup|) + (|BiModule| 105 105) (|BiModule| $$ $$) + (|Ring|) + (|OrderedCancellationAbelianMonoid|) + (|RightModule| 105) (|LeftModule| 105) + (|LeftModule| $$) (|Rng|) + (|RightModule| $$) + (|OrderedAbelianMonoid|) + (|AbelianGroup|) + (|OrderedAbelianSemiGroup|) + (|CancellationAbelianMonoid|) + (|AbelianMonoid|) (|Monoid|) + (|PatternMatchable| 102) (|OrderedSet|) + (|AbelianSemiGroup|) (|SemiGroup|) + (|TranscendentalFunctionCategory|) + (|RealConstant|) (|SetCategory|) + (|ConvertibleTo| 43) + (|ElementaryFunctionCategory|) + (|ArcHyperbolicFunctionCategory|) + (|HyperbolicFunctionCategory|) + (|ArcTrigonometricFunctionCategory|) + (|TrigonometricFunctionCategory|) + (|OpenMath|) (|ConvertibleTo| 130) + (|RadicalCategory|) + (|RetractableTo| 105) + (|RetractableTo| 26) + (|ConvertibleTo| 102) + (|ConvertibleTo| 15) (|BasicType|) + (|CoercibleTo| 40)) + (|makeByteWordVec2| 141 + '(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 15 41 1 43 0 + 15 44 1 94 15 15 95 2 94 15 15 15 97 + 1 102 0 15 103 0 105 0 118 2 105 0 26 + 26 119 2 26 0 106 0 120 1 105 0 26 + 121 1 105 20 0 122 1 105 20 0 123 0 + 105 0 124 2 105 20 0 0 125 1 105 26 0 + 126 1 105 26 0 127 2 0 20 0 0 1 1 0 + 20 0 89 1 0 26 0 99 1 0 140 0 1 1 0 0 + 0 1 1 0 20 0 1 1 0 0 0 1 1 0 0 0 77 1 + 0 0 0 65 2 0 91 0 0 1 1 0 0 0 1 1 0 + 131 0 1 1 0 0 0 56 2 0 20 0 0 1 1 0 0 + 0 75 1 0 0 0 63 1 0 26 0 116 1 0 0 0 + 80 1 0 0 0 67 0 0 0 1 1 0 0 0 1 1 0 + 111 0 112 1 0 114 0 115 1 0 105 0 110 + 1 0 26 0 113 2 0 0 0 0 1 1 0 91 0 92 + 2 0 105 0 106 108 3 0 105 0 106 106 + 107 2 0 0 0 0 1 1 0 138 133 1 1 0 20 + 0 1 0 0 24 29 1 0 20 0 1 0 0 0 39 3 0 + 129 0 130 129 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 88 + 2 0 132 133 0 1 0 0 0 34 2 0 0 0 0 53 + 0 0 0 33 2 0 0 0 0 52 1 0 26 0 27 1 0 + 0 0 30 1 0 0 0 57 1 0 0 0 62 1 0 0 + 133 1 2 0 0 0 0 1 1 0 7 0 1 1 0 0 0 1 + 1 0 26 0 90 1 0 141 0 1 2 0 139 139 + 139 1 1 0 0 133 1 2 0 0 0 0 1 1 0 0 0 + 1 1 0 0 0 1 3 0 0 26 26 24 100 2 0 0 + 26 26 1 1 0 131 0 1 2 0 134 0 0 1 3 0 + 136 0 0 0 1 2 0 91 0 0 1 2 0 132 133 + 0 1 1 0 26 0 28 0 0 0 38 1 0 0 0 61 1 + 0 106 0 1 1 0 7 7 8 2 0 137 0 0 1 0 0 + 24 1 1 0 0 0 93 2 0 0 0 106 1 1 0 0 0 + 78 1 0 0 0 68 1 0 0 0 79 1 0 0 0 66 1 + 0 0 0 76 1 0 0 0 64 1 0 43 0 45 1 0 + 130 0 1 1 0 102 0 104 1 0 15 0 101 1 + 0 0 105 1 1 0 0 26 60 1 0 0 105 1 1 0 + 0 26 60 1 0 0 0 1 1 0 40 0 42 0 0 106 + 1 1 0 0 0 1 0 0 24 32 0 0 24 25 1 0 0 + 0 83 2 0 0 0 0 109 1 0 0 0 71 2 0 20 + 0 0 1 1 0 0 0 81 1 0 0 0 69 1 0 0 0 + 86 1 0 0 0 74 1 0 0 0 84 1 0 0 0 72 1 + 0 0 0 85 1 0 0 0 73 1 0 0 0 82 1 0 0 + 0 70 1 0 0 0 117 2 0 0 0 26 1 2 0 0 0 + 106 1 2 0 0 0 24 1 0 0 0 36 0 0 0 37 + 3 0 13 11 0 20 23 2 0 7 0 20 21 2 0 + 13 11 0 22 1 0 7 0 19 1 0 0 0 96 1 0 + 0 0 1 2 0 0 0 106 1 2 0 0 0 0 98 2 0 + 20 0 0 1 2 0 20 0 0 1 2 0 20 0 0 54 2 + 0 20 0 0 1 2 0 20 0 0 46 2 0 0 0 26 + 55 2 0 0 0 0 87 2 0 0 0 0 49 1 0 0 0 + 47 2 0 0 0 0 48 2 0 0 0 0 59 2 0 0 0 + 105 128 2 0 0 0 26 58 2 0 0 0 106 1 2 + 0 0 0 24 1 2 0 0 0 105 1 2 0 0 105 0 + 1 2 0 0 0 0 50 2 0 0 26 0 51 2 0 0 + 106 0 1 2 0 0 24 0 31))))) + '|lookupComplete|)) + +(MAKEPROP '|DoubleFloat| 'NILADIC T) @ \section{License} <<license>>= diff --git a/src/algebra/si.spad.pamphlet b/src/algebra/si.spad.pamphlet index b7be18aa..657586f6 100644 --- a/src/algebra/si.spad.pamphlet +++ b/src/algebra/si.spad.pamphlet @@ -172,78 +172,78 @@ This is eventually forcibly replaced by a recompiled version. (/VERSIONCHECK 2) -(SETQ |IntegerNumberSystem;AL| (QUOTE NIL)) +(DEFPARAMETER |IntegerNumberSystem;AL| 'NIL) -(DEFUN |IntegerNumberSystem| NIL - (LET (#:G1068) - (COND +(DEFUN |IntegerNumberSystem| () + (LET (#:G1403) + (COND (|IntegerNumberSystem;AL|) (T (SETQ |IntegerNumberSystem;AL| (|IntegerNumberSystem;|)))))) -(DEFUN |IntegerNumberSystem;| NIL (PROG (#0=#:G1066) - (RETURN - (PROG1 - (LETT #0# - (|sublisV| - (PAIR - (QUOTE (#1=#:G1060 #2=#:G1061 #3=#:G1062 - #4=#:G1063 #5=#:G1064 #6=#:G1065)) - (LIST - (QUOTE (|Integer|)) - (QUOTE (|Integer|)) - (QUOTE (|Integer|)) - (QUOTE (|InputForm|)) - (QUOTE (|Pattern| (|Integer|))) - (QUOTE (|Integer|)))) - (|Join| - (|UniqueFactorizationDomain|) - (|EuclideanDomain|) - (|OrderedIntegralDomain|) - (|DifferentialRing|) - (|ConvertibleTo| (QUOTE #1#)) - (|RetractableTo| (QUOTE #2#)) - (|LinearlyExplicitRingOver| (QUOTE #3#)) - (|ConvertibleTo| (QUOTE #4#)) - (|ConvertibleTo| (QUOTE #5#)) - (|PatternMatchable| (QUOTE #6#)) - (|CombinatorialFunctionCategory|) - (|RealConstant|) - (|CharacteristicZero|) - (|StepThrough|) - (|mkCategory| - (QUOTE |domain|) - (QUOTE ( - ((|odd?| ((|Boolean|) $)) T) - ((|even?| ((|Boolean|) $)) T) - ((|base| ($)) T) - ((|length| ($ $)) T) - ((|shift| ($ $ $)) T) - ((|bit?| ((|Boolean|) $ $)) T) - ((|positiveRemainder| ($ $ $)) T) - ((|symmetricRemainder| ($ $ $)) T) - ((|rational?| ((|Boolean|) $)) T) - ((|rational| ((|Fraction| (|Integer|)) $)) T) - ((|rationalIfCan| - ((|Union| (|Fraction| (|Integer|)) "failed") $)) T) - ((|random| ($)) T) - ((|random| ($ $)) T) - ((|hash| ($ $)) T) - ((|copy| ($ $)) T) - ((|inc| ($ $)) T) - ((|dec| ($ $)) T) - ((|mask| ($ $)) T) - ((|addmod| ($ $ $ $)) T) - ((|submod| ($ $ $ $)) T) - ((|mulmod| ($ $ $ $)) T) - ((|powmod| ($ $ $ $)) T) - ((|invmod| ($ $ $)) T))) - (QUOTE ((|multiplicativeValuation| T) (|canonicalUnitNormal| T))) - (QUOTE ((|Fraction| (|Integer|)) (|Boolean|))) NIL))) - |IntegerNumberSystem|) - (SETELT #0# 0 (QUOTE (|IntegerNumberSystem|))))))) - -(MAKEPROP (QUOTE |IntegerNumberSystem|) (QUOTE NILADIC) T) - +(DEFUN |IntegerNumberSystem;| () + (PROG (#0=#:G1401) + (RETURN + (PROG1 (LETT #0# + (|sublisV| + (PAIR '(#1=#:G1395 #2=#:G1396 #3=#:G1397 + #4=#:G1398 #5=#:G1399 #6=#:G1400) + (LIST '(|Integer|) '(|Integer|) + '(|Integer|) '(|InputForm|) + '(|Pattern| (|Integer|)) + '(|Integer|))) + (|Join| (|UniqueFactorizationDomain|) + (|EuclideanDomain|) + (|OrderedIntegralDomain|) + (|DifferentialRing|) + (|ConvertibleTo| '#1#) + (|RetractableTo| '#2#) + (|LinearlyExplicitRingOver| '#3#) + (|ConvertibleTo| '#4#) + (|ConvertibleTo| '#5#) + (|PatternMatchable| '#6#) + (|CombinatorialFunctionCategory|) + (|RealConstant|) (|CharacteristicZero|) + (|StepThrough|) + (|mkCategory| '|domain| + '(((|odd?| ((|Boolean|) $)) T) + ((|even?| ((|Boolean|) $)) T) + ((|base| ($)) T) + ((|length| ($ $)) T) + ((|shift| ($ $ $)) T) + ((|bit?| ((|Boolean|) $ $)) T) + ((|positiveRemainder| ($ $ $)) T) + ((|symmetricRemainder| ($ $ $)) T) + ((|rational?| ((|Boolean|) $)) T) + ((|rational| + ((|Fraction| (|Integer|)) $)) + T) + ((|rationalIfCan| + ((|Union| + (|Fraction| (|Integer|)) + "failed") + $)) + T) + ((|random| ($)) T) + ((|random| ($ $)) T) + ((|hash| ($ $)) T) + ((|copy| ($ $)) T) + ((|inc| ($ $)) T) + ((|dec| ($ $)) T) + ((|mask| ($ $)) T) + ((|addmod| ($ $ $ $)) T) + ((|submod| ($ $ $ $)) T) + ((|mulmod| ($ $ $ $)) T) + ((|powmod| ($ $ $ $)) T) + ((|invmod| ($ $ $)) T)) + '((|multiplicativeValuation| T) + (|canonicalUnitNormal| T)) + '((|Fraction| (|Integer|)) + (|Boolean|)) + NIL))) + |IntegerNumberSystem|) + (SETELT #0# 0 '(|IntegerNumberSystem|)))))) + +(MAKEPROP '|IntegerNumberSystem| 'NILADIC T) @ \section{INS-.lsp BOOTSTRAP} {\bf INS-} depends on {\bf INS}. We need to break this cycle to build @@ -255,271 +255,225 @@ This is eventually forcibly replaced by a recompiled version. (/VERSIONCHECK 2) -(PUT - (QUOTE |INS-;characteristic;Nni;1|) - (QUOTE |SPADreplace|) - (QUOTE (XLAM NIL 0))) +(PUT '|INS-;characteristic;Nni;1| '|SPADreplace| '(XLAM NIL 0)) (DEFUN |INS-;characteristic;Nni;1| ($) 0) -(DEFUN |INS-;differentiate;2S;2| (|x| $) - (|spadConstant| $ 9)) +(DEFUN |INS-;differentiate;2S;2| (|x| $) (|spadConstant| $ 9)) -(DEFUN |INS-;even?;SB;3| (|x| $) - (COND - ((SPADCALL |x| (QREFELT $ 12)) (QUOTE NIL)) - ((QUOTE T) (QUOTE T)))) +(DEFUN |INS-;even?;SB;3| (|x| $) + (SPADCALL (SPADCALL |x| (QREFELT $ 12)) (QREFELT $ 13))) -(DEFUN |INS-;positive?;SB;4| (|x| $) - (SPADCALL (|spadConstant| $ 9) |x| (QREFELT $ 14))) +(DEFUN |INS-;positive?;SB;4| (|x| $) + (SPADCALL (|spadConstant| $ 9) |x| (QREFELT $ 15))) -(PUT - (QUOTE |INS-;copy;2S;5|) - (QUOTE |SPADreplace|) - (QUOTE (XLAM (|x|) |x|))) +(PUT '|INS-;copy;2S;5| '|SPADreplace| '(XLAM (|x|) |x|)) (DEFUN |INS-;copy;2S;5| (|x| $) |x|) -(DEFUN |INS-;bit?;2SB;6| (|x| |i| $) - (SPADCALL - (SPADCALL |x| - (SPADCALL |i| (QREFELT $ 17)) - (QREFELT $ 18)) - (QREFELT $ 12))) - -(DEFUN |INS-;mask;2S;7| (|n| $) - (SPADCALL - (SPADCALL (|spadConstant| $ 20) |n| (QREFELT $ 18)) - (QREFELT $ 21))) - -(PUT - (QUOTE |INS-;rational?;SB;8|) - (QUOTE |SPADreplace|) - (QUOTE (XLAM (|x|) (QUOTE T)))) - -(DEFUN |INS-;rational?;SB;8| (|x| $) - (QUOTE T)) - -(DEFUN |INS-;euclideanSize;SNni;9| (|x| $) - (PROG (#0=#:G1078 #1=#:G1079) - (RETURN - (COND - ((SPADCALL |x| (|spadConstant| $ 9) (QREFELT $ 24)) - (|error| "euclideanSize called on zero")) - ((SPADCALL |x| (|spadConstant| $ 9) (QREFELT $ 14)) - (PROG1 - (LETT #0# - (- (SPADCALL |x| (QREFELT $ 26))) - |INS-;euclideanSize;SNni;9|) - (|check-subtype| - (>= #0# 0) - (QUOTE (|NonNegativeInteger|)) - #0#))) - ((QUOTE T) - (PROG1 - (LETT #1# - (SPADCALL |x| (QREFELT $ 26)) - |INS-;euclideanSize;SNni;9|) - (|check-subtype| - (>= #1# 0) - (QUOTE (|NonNegativeInteger|)) - #1#))))))) - -(DEFUN |INS-;convert;SF;10| (|x| $) - (SPADCALL (SPADCALL |x| (QREFELT $ 26)) (QREFELT $ 29))) - -(DEFUN |INS-;convert;SDf;11| (|x| $) - (FLOAT (SPADCALL |x| (QREFELT $ 26)) MOST-POSITIVE-LONG-FLOAT)) - -(DEFUN |INS-;convert;SIf;12| (|x| $) - (SPADCALL (SPADCALL |x| (QREFELT $ 26)) (QREFELT $ 34))) - -(DEFUN |INS-;retract;SI;13| (|x| $) - (SPADCALL |x| (QREFELT $ 26))) - -(DEFUN |INS-;convert;SP;14| (|x| $) - (SPADCALL (SPADCALL |x| (QREFELT $ 26)) (QREFELT $ 38))) - -(DEFUN |INS-;factor;SF;15| (|x| $) - (SPADCALL |x| (QREFELT $ 42))) - -(DEFUN |INS-;squareFree;SF;16| (|x| $) - (SPADCALL |x| (QREFELT $ 45))) - -(DEFUN |INS-;prime?;SB;17| (|x| $) - (SPADCALL |x| (QREFELT $ 48))) - -(DEFUN |INS-;factorial;2S;18| (|x| $) - (SPADCALL |x| (QREFELT $ 51))) - -(DEFUN |INS-;binomial;3S;19| (|n| |m| $) - (SPADCALL |n| |m| (QREFELT $ 53))) - -(DEFUN |INS-;permutation;3S;20| (|n| |m| $) - (SPADCALL |n| |m| (QREFELT $ 55))) - -(DEFUN |INS-;retractIfCan;SU;21| (|x| $) - (CONS 0 (SPADCALL |x| (QREFELT $ 26)))) - -(DEFUN |INS-;init;S;22| ($) - (|spadConstant| $ 9)) - -(DEFUN |INS-;nextItem;SU;23| (|n| $) - (COND - ((SPADCALL |n| (QREFELT $ 60)) - (CONS 0 (|spadConstant| $ 20))) - ((SPADCALL (|spadConstant| $ 9) |n| (QREFELT $ 14)) - (CONS 0 (SPADCALL |n| (QREFELT $ 17)))) - ((QUOTE T) - (CONS 0 (SPADCALL (|spadConstant| $ 20) |n| (QREFELT $ 61)))))) - -(DEFUN |INS-;patternMatch;SP2Pmr;24| (|x| |p| |l| $) - (SPADCALL |x| |p| |l| (QREFELT $ 66))) - -(DEFUN |INS-;rational;SF;25| (|x| $) - (SPADCALL (SPADCALL |x| (QREFELT $ 26)) (QREFELT $ 70))) - -(DEFUN |INS-;rationalIfCan;SU;26| (|x| $) - (CONS 0 (SPADCALL (SPADCALL |x| (QREFELT $ 26)) (QREFELT $ 70)))) - -(DEFUN |INS-;symmetricRemainder;3S;27| (|x| |n| $) - (PROG (|r|) - (RETURN - (SEQ - (LETT |r| - (SPADCALL |x| |n| (QREFELT $ 74)) - |INS-;symmetricRemainder;3S;27|) - (EXIT - (COND - ((SPADCALL |r| (|spadConstant| $ 9) (QREFELT $ 24)) |r|) - ((QUOTE T) - (SEQ - (COND - ((SPADCALL |n| (|spadConstant| $ 9) (QREFELT $ 14)) - (LETT |n| - (SPADCALL |n| (QREFELT $ 17)) - |INS-;symmetricRemainder;3S;27|))) - (EXIT - (COND - ((SPADCALL (|spadConstant| $ 9) |r| (QREFELT $ 14)) - (COND - ((SPADCALL |n| - (SPADCALL 2 |r| (QREFELT $ 76)) - (QREFELT $ 14)) - (SPADCALL |r| |n| (QREFELT $ 61))) - ((QUOTE T) |r|))) - ((NULL - (SPADCALL - (|spadConstant| $ 9) - (SPADCALL - (SPADCALL 2 |r| (QREFELT $ 76)) - |n| - (QREFELT $ 77)) - (QREFELT $ 14))) - (SPADCALL |r| |n| (QREFELT $ 77))) - ((QUOTE T) |r|))))))))))) - -(DEFUN |INS-;invmod;3S;28| (|a| |b| $) - (PROG (|q| |r| |r1| |c| |c1| |d| |d1|) - (RETURN - (SEQ - (COND - ((SPADCALL |a| (QREFELT $ 79)) - (LETT |a| (SPADCALL |a| |b| (QREFELT $ 80)) |INS-;invmod;3S;28|))) - (LETT |c| |a| |INS-;invmod;3S;28|) - (LETT |c1| (|spadConstant| $ 20) |INS-;invmod;3S;28|) - (LETT |d| |b| |INS-;invmod;3S;28|) - (LETT |d1| (|spadConstant| $ 9) |INS-;invmod;3S;28|) - (SEQ G190 - (COND - ((NULL - (COND - ((SPADCALL |d| (QREFELT $ 60)) (QUOTE NIL)) - ((QUOTE T) (QUOTE T)))) - (GO G191))) - (SEQ - (LETT |q| (SPADCALL |c| |d| (QREFELT $ 81)) |INS-;invmod;3S;28|) - (LETT |r| - (SPADCALL |c| (SPADCALL |q| |d| (QREFELT $ 82)) (QREFELT $ 61)) - |INS-;invmod;3S;28|) - (LETT |r1| - (SPADCALL |c1| (SPADCALL |q| |d1| (QREFELT $ 82)) (QREFELT $ 61)) - |INS-;invmod;3S;28|) - (LETT |c| |d| |INS-;invmod;3S;28|) - (LETT |c1| |d1| |INS-;invmod;3S;28|) - (LETT |d| |r| |INS-;invmod;3S;28|) - (EXIT (LETT |d1| |r1| |INS-;invmod;3S;28|))) - NIL - (GO G190) - G191 - (EXIT NIL)) - (COND - ((NULL (SPADCALL |c| (QREFELT $ 83))) - (EXIT (|error| "inverse does not exist")))) - (EXIT - (COND - ((SPADCALL |c1| (QREFELT $ 79)) (SPADCALL |c1| |b| (QREFELT $ 77))) - ((QUOTE T) |c1|))))))) - -(DEFUN |INS-;powmod;4S;29| (|x| |n| |p| $) - (PROG (|y| #0=#:G1137 |z|) - (RETURN - (SEQ - (EXIT - (SEQ - (COND - ((SPADCALL |x| (QREFELT $ 79)) - (LETT |x| - (SPADCALL |x| |p| (QREFELT $ 80)) - |INS-;powmod;4S;29|))) - (EXIT - (COND - ((SPADCALL |x| (QREFELT $ 60)) (|spadConstant| $ 9)) - ((SPADCALL |n| (QREFELT $ 60)) (|spadConstant| $ 20)) - ((QUOTE T) - (SEQ - (LETT |y| (|spadConstant| $ 20) |INS-;powmod;4S;29|) - (LETT |z| |x| |INS-;powmod;4S;29|) - (EXIT - (SEQ G190 - NIL - (SEQ - (COND - ((SPADCALL |n| (QREFELT $ 12)) - (LETT |y| - (SPADCALL |y| |z| |p| (QREFELT $ 85)) +(DEFUN |INS-;bit?;2SB;6| (|x| |i| $) + (SPADCALL (SPADCALL |x| (SPADCALL |i| (QREFELT $ 18)) (QREFELT $ 19)) + (QREFELT $ 12))) + +(DEFUN |INS-;mask;2S;7| (|n| $) + (SPADCALL (SPADCALL (|spadConstant| $ 21) |n| (QREFELT $ 19)) + (QREFELT $ 22))) + +(PUT '|INS-;rational?;SB;8| '|SPADreplace| '(XLAM (|x|) 'T)) + +(DEFUN |INS-;rational?;SB;8| (|x| $) 'T) + +(DEFUN |INS-;euclideanSize;SNni;9| (|x| $) + (PROG (#0=#:G1412 #1=#:G1413) + (RETURN + (COND + ((SPADCALL |x| (|spadConstant| $ 9) (QREFELT $ 25)) + (|error| "euclideanSize called on zero")) + ((SPADCALL |x| (|spadConstant| $ 9) (QREFELT $ 15)) + (PROG1 (LETT #0# (- (SPADCALL |x| (QREFELT $ 27))) + |INS-;euclideanSize;SNni;9|) + (|check-subtype| (>= #0# 0) '(|NonNegativeInteger|) #0#))) + ('T + (PROG1 (LETT #1# (SPADCALL |x| (QREFELT $ 27)) + |INS-;euclideanSize;SNni;9|) + (|check-subtype| (>= #1# 0) '(|NonNegativeInteger|) #1#))))))) + +(DEFUN |INS-;convert;SF;10| (|x| $) + (SPADCALL (SPADCALL |x| (QREFELT $ 27)) (QREFELT $ 30))) + +(DEFUN |INS-;convert;SDf;11| (|x| $) + (FLOAT (SPADCALL |x| (QREFELT $ 27)) MOST-POSITIVE-LONG-FLOAT)) + +(DEFUN |INS-;convert;SIf;12| (|x| $) + (SPADCALL (SPADCALL |x| (QREFELT $ 27)) (QREFELT $ 35))) + +(DEFUN |INS-;retract;SI;13| (|x| $) (SPADCALL |x| (QREFELT $ 27))) + +(DEFUN |INS-;convert;SP;14| (|x| $) + (SPADCALL (SPADCALL |x| (QREFELT $ 27)) (QREFELT $ 39))) + +(DEFUN |INS-;factor;SF;15| (|x| $) (SPADCALL |x| (QREFELT $ 43))) + +(DEFUN |INS-;squareFree;SF;16| (|x| $) (SPADCALL |x| (QREFELT $ 46))) + +(DEFUN |INS-;prime?;SB;17| (|x| $) (SPADCALL |x| (QREFELT $ 49))) + +(DEFUN |INS-;factorial;2S;18| (|x| $) (SPADCALL |x| (QREFELT $ 52))) + +(DEFUN |INS-;binomial;3S;19| (|n| |m| $) + (SPADCALL |n| |m| (QREFELT $ 54))) + +(DEFUN |INS-;permutation;3S;20| (|n| |m| $) + (SPADCALL |n| |m| (QREFELT $ 56))) + +(DEFUN |INS-;retractIfCan;SU;21| (|x| $) + (CONS 0 (SPADCALL |x| (QREFELT $ 27)))) + +(DEFUN |INS-;init;S;22| ($) (|spadConstant| $ 9)) + +(DEFUN |INS-;nextItem;SU;23| (|n| $) + (COND + ((SPADCALL |n| (QREFELT $ 61)) (CONS 0 (|spadConstant| $ 21))) + ((SPADCALL (|spadConstant| $ 9) |n| (QREFELT $ 15)) + (CONS 0 (SPADCALL |n| (QREFELT $ 18)))) + ('T (CONS 0 (SPADCALL (|spadConstant| $ 21) |n| (QREFELT $ 62)))))) + +(DEFUN |INS-;patternMatch;SP2Pmr;24| (|x| |p| |l| $) + (SPADCALL |x| |p| |l| (QREFELT $ 67))) + +(DEFUN |INS-;rational;SF;25| (|x| $) + (SPADCALL (SPADCALL |x| (QREFELT $ 27)) (QREFELT $ 71))) + +(DEFUN |INS-;rationalIfCan;SU;26| (|x| $) + (CONS 0 (SPADCALL (SPADCALL |x| (QREFELT $ 27)) (QREFELT $ 71)))) + +(DEFUN |INS-;symmetricRemainder;3S;27| (|x| |n| $) + (PROG (|r|) + (RETURN + (SEQ (LETT |r| (SPADCALL |x| |n| (QREFELT $ 75)) + |INS-;symmetricRemainder;3S;27|) + (EXIT (COND + ((SPADCALL |r| (|spadConstant| $ 9) (QREFELT $ 25)) + |r|) + ('T + (SEQ (COND + ((SPADCALL |n| (|spadConstant| $ 9) + (QREFELT $ 15)) + (LETT |n| (SPADCALL |n| (QREFELT $ 18)) + |INS-;symmetricRemainder;3S;27|))) + (EXIT (COND + ((SPADCALL (|spadConstant| $ 9) |r| + (QREFELT $ 15)) + (COND + ((SPADCALL |n| + (SPADCALL 2 |r| (QREFELT $ 77)) + (QREFELT $ 15)) + (SPADCALL |r| |n| (QREFELT $ 62))) + ('T |r|))) + ((NULL (SPADCALL (|spadConstant| $ 9) + (SPADCALL + (SPADCALL 2 |r| + (QREFELT $ 77)) + |n| (QREFELT $ 78)) + (QREFELT $ 15))) + (SPADCALL |r| |n| (QREFELT $ 78))) + ('T |r|))))))))))) + +(DEFUN |INS-;invmod;3S;28| (|a| |b| $) + (PROG (|q| |r| |r1| |c| |c1| |d| |d1|) + (RETURN + (SEQ (COND + ((SPADCALL |a| (QREFELT $ 80)) + (LETT |a| (SPADCALL |a| |b| (QREFELT $ 81)) + |INS-;invmod;3S;28|))) + (LETT |c| |a| |INS-;invmod;3S;28|) + (LETT |c1| (|spadConstant| $ 21) |INS-;invmod;3S;28|) + (LETT |d| |b| |INS-;invmod;3S;28|) + (LETT |d1| (|spadConstant| $ 9) |INS-;invmod;3S;28|) + (SEQ G190 + (COND + ((NULL (SPADCALL (SPADCALL |d| (QREFELT $ 61)) + (QREFELT $ 13))) + (GO G191))) + (SEQ (LETT |q| (SPADCALL |c| |d| (QREFELT $ 82)) + |INS-;invmod;3S;28|) + (LETT |r| + (SPADCALL |c| + (SPADCALL |q| |d| (QREFELT $ 83)) + (QREFELT $ 62)) + |INS-;invmod;3S;28|) + (LETT |r1| + (SPADCALL |c1| + (SPADCALL |q| |d1| (QREFELT $ 83)) + (QREFELT $ 62)) + |INS-;invmod;3S;28|) + (LETT |c| |d| |INS-;invmod;3S;28|) + (LETT |c1| |d1| |INS-;invmod;3S;28|) + (LETT |d| |r| |INS-;invmod;3S;28|) + (EXIT (LETT |d1| |r1| |INS-;invmod;3S;28|))) + NIL (GO G190) G191 (EXIT NIL)) + (EXIT (COND + ((SPADCALL |c| (|spadConstant| $ 21) (QREFELT $ 25)) + (COND + ((SPADCALL |c1| (QREFELT $ 80)) + (SPADCALL |c1| |b| (QREFELT $ 78))) + ('T |c1|))) + ('T (|error| "inverse does not exist")))))))) + +(DEFUN |INS-;powmod;4S;29| (|x| |n| |p| $) + (PROG (|y| #0=#:G1470 |z|) + (RETURN + (SEQ (EXIT (SEQ (COND + ((SPADCALL |x| (QREFELT $ 80)) + (LETT |x| (SPADCALL |x| |p| (QREFELT $ 81)) |INS-;powmod;4S;29|))) - (EXIT - (COND - ((SPADCALL - (LETT |n| - (SPADCALL |n| - (SPADCALL - (|spadConstant| $ 20) - (QREFELT $ 17)) - (QREFELT $ 18)) - |INS-;powmod;4S;29|) - (QREFELT $ 60)) - (PROGN - (LETT #0# |y| |INS-;powmod;4S;29|) - (GO #0#))) - ((QUOTE T) - (LETT |z| - (SPADCALL |z| |z| |p| (QREFELT $ 85)) - |INS-;powmod;4S;29|))))) - NIL - (GO G190) - G191 - (EXIT NIL))))))))) - #0# - (EXIT #0#))))) - -(DEFUN |IntegerNumberSystem&| (|#1|) - (PROG (DV$1 |dv$| $ |pv$|) - (RETURN - (PROGN - (LETT DV$1 (|devaluate| |#1|) . #0=(|IntegerNumberSystem&|)) - (LETT |dv$| (LIST (QUOTE |IntegerNumberSystem&|) DV$1) . #0#) + (EXIT (COND + ((SPADCALL |x| (QREFELT $ 61)) + (|spadConstant| $ 9)) + ((SPADCALL |n| (QREFELT $ 61)) + (|spadConstant| $ 21)) + ('T + (SEQ (LETT |y| (|spadConstant| $ 21) + |INS-;powmod;4S;29|) + (LETT |z| |x| |INS-;powmod;4S;29|) + (EXIT + (SEQ G190 NIL + (SEQ + (COND + ((SPADCALL |n| (QREFELT $ 12)) + (LETT |y| + (SPADCALL |y| |z| |p| + (QREFELT $ 85)) + |INS-;powmod;4S;29|))) + (EXIT + (COND + ((SPADCALL + (LETT |n| + (SPADCALL |n| + (SPADCALL + (|spadConstant| $ 21) + (QREFELT $ 18)) + (QREFELT $ 19)) + |INS-;powmod;4S;29|) + (QREFELT $ 61)) + (PROGN + (LETT #0# |y| + |INS-;powmod;4S;29|) + (GO #0#))) + ('T + (LETT |z| + (SPADCALL |z| |z| |p| + (QREFELT $ 85)) + |INS-;powmod;4S;29|))))) + NIL (GO G190) G191 (EXIT NIL))))))))) + #0# (EXIT #0#))))) + +(DEFUN |IntegerNumberSystem&| (|#1|) + (PROG (|dv$1| |dv$| $ |pv$|) + (RETURN + (PROGN + (LETT |dv$1| (|devaluate| |#1|) . #0=(|IntegerNumberSystem&|)) + (LETT |dv$| (LIST '|IntegerNumberSystem&| |dv$1|) . #0#) (LETT $ (GETREFV 87) . #0#) (QSETREFV $ 0 |dv$|) (QSETREFV $ 3 (LETT |pv$| (|buildPredVector| 0 0 NIL) . #0#)) @@ -527,125 +481,75 @@ This is eventually forcibly replaced by a recompiled version. (QSETREFV $ 6 |#1|) $)))) -(MAKEPROP - (QUOTE |IntegerNumberSystem&|) - (QUOTE |infovec|) - (LIST - (QUOTE - #(NIL NIL NIL NIL NIL NIL - (|local| |#1|) - (|NonNegativeInteger|) - |INS-;characteristic;Nni;1| - (0 . |Zero|) - |INS-;differentiate;2S;2| - (|Boolean|) - (4 . |odd?|) - |INS-;even?;SB;3| - (9 . <) - |INS-;positive?;SB;4| - |INS-;copy;2S;5| - (15 . -) - (20 . |shift|) - |INS-;bit?;2SB;6| - (26 . |One|) - (30 . |dec|) - |INS-;mask;2S;7| - |INS-;rational?;SB;8| - (35 . =) - (|Integer|) - (41 . |convert|) - |INS-;euclideanSize;SNni;9| - (|Float|) - (46 . |coerce|) - |INS-;convert;SF;10| - (|DoubleFloat|) - |INS-;convert;SDf;11| - (|InputForm|) - (51 . |convert|) - |INS-;convert;SIf;12| - |INS-;retract;SI;13| - (|Pattern| 25) - (56 . |coerce|) - |INS-;convert;SP;14| - (|Factored| 6) - (|IntegerFactorizationPackage| 6) - (61 . |factor|) - (|Factored| $) - |INS-;factor;SF;15| - (66 . |squareFree|) - |INS-;squareFree;SF;16| - (|IntegerPrimesPackage| 6) - (71 . |prime?|) - |INS-;prime?;SB;17| - (|IntegerCombinatoricFunctions| 6) - (76 . |factorial|) - |INS-;factorial;2S;18| - (81 . |binomial|) - |INS-;binomial;3S;19| - (87 . |permutation|) - |INS-;permutation;3S;20| - (|Union| 25 (QUOTE "failed")) - |INS-;retractIfCan;SU;21| - |INS-;init;S;22| - (93 . |zero?|) - (98 . -) - (|Union| $ (QUOTE "failed")) - |INS-;nextItem;SU;23| - (|PatternMatchResult| 25 6) - (|PatternMatchIntegerNumberSystem| 6) - (104 . |patternMatch|) - (|PatternMatchResult| 25 $) - |INS-;patternMatch;SP2Pmr;24| - (|Fraction| 25) - (111 . |coerce|) - |INS-;rational;SF;25| - (|Union| 69 (QUOTE "failed")) - |INS-;rationalIfCan;SU;26| - (116 . |rem|) - (|PositiveInteger|) - (122 . *) - (128 . +) - |INS-;symmetricRemainder;3S;27| - (134 . |negative?|) - (139 . |positiveRemainder|) - (145 . |quo|) - (151 . *) - (157 . |one?|) - |INS-;invmod;3S;28| - (162 . |mulmod|) - |INS-;powmod;4S;29|)) - (QUOTE - #(|symmetricRemainder| 169 |squareFree| 175 |retractIfCan| 180 - |retract| 185 |rationalIfCan| 190 |rational?| 195 |rational| 200 - |prime?| 205 |powmod| 210 |positive?| 217 |permutation| 222 - |patternMatch| 228 |nextItem| 235 |mask| 240 |invmod| 245 |init| 251 - |factorial| 255 |factor| 260 |even?| 265 |euclideanSize| 270 - |differentiate| 275 |copy| 280 |convert| 285 |characteristic| 305 - |bit?| 309 |binomial| 315)) - (QUOTE NIL) - (CONS - (|makeByteWordVec2| 1 (QUOTE NIL)) - (CONS - (QUOTE #()) - (CONS - (QUOTE #()) - (|makeByteWordVec2| 86 - (QUOTE - (0 6 0 9 1 6 11 0 12 2 6 11 0 0 14 1 6 0 0 17 2 6 0 0 0 18 0 6 - 0 20 1 6 0 0 21 2 6 11 0 0 24 1 6 25 0 26 1 28 0 25 29 1 33 0 - 25 34 1 37 0 25 38 1 41 40 6 42 1 41 40 6 45 1 47 11 6 48 1 50 - 6 6 51 2 50 6 6 6 53 2 50 6 6 6 55 1 6 11 0 60 2 6 0 0 0 61 3 - 65 64 6 37 64 66 1 69 0 25 70 2 6 0 0 0 74 2 6 0 75 0 76 2 6 0 - 0 0 77 1 6 11 0 79 2 6 0 0 0 80 2 6 0 0 0 81 2 6 0 0 0 82 1 6 - 11 0 83 3 6 0 0 0 0 85 2 0 0 0 0 78 1 0 43 0 46 1 0 57 0 58 1 - 0 25 0 36 1 0 72 0 73 1 0 11 0 23 1 0 69 0 71 1 0 11 0 49 3 0 - 0 0 0 0 86 1 0 11 0 15 2 0 0 0 0 56 3 0 67 0 37 67 68 1 0 62 - 0 63 1 0 0 0 22 2 0 0 0 0 84 0 0 0 59 1 0 0 0 52 1 0 43 0 44 - 1 0 11 0 13 1 0 7 0 27 1 0 0 0 10 1 0 0 0 16 1 0 31 0 32 1 0 - 28 0 30 1 0 37 0 39 1 0 33 0 35 0 0 7 8 2 0 11 0 0 19 2 0 0 - 0 0 54)))))) - (QUOTE |lookupComplete|))) - +(MAKEPROP '|IntegerNumberSystem&| '|infovec| + (LIST '#(NIL NIL NIL NIL NIL NIL (|local| |#1|) + (|NonNegativeInteger|) |INS-;characteristic;Nni;1| + (0 . |Zero|) |INS-;differentiate;2S;2| (|Boolean|) + (4 . |odd?|) (9 . |not|) |INS-;even?;SB;3| (14 . <) + |INS-;positive?;SB;4| |INS-;copy;2S;5| (20 . -) + (25 . |shift|) |INS-;bit?;2SB;6| (31 . |One|) (35 . |dec|) + |INS-;mask;2S;7| |INS-;rational?;SB;8| (40 . =) + (|Integer|) (46 . |convert|) |INS-;euclideanSize;SNni;9| + (|Float|) (51 . |coerce|) |INS-;convert;SF;10| + (|DoubleFloat|) |INS-;convert;SDf;11| (|InputForm|) + (56 . |convert|) |INS-;convert;SIf;12| + |INS-;retract;SI;13| (|Pattern| 26) (61 . |coerce|) + |INS-;convert;SP;14| (|Factored| 6) + (|IntegerFactorizationPackage| 6) (66 . |factor|) + (|Factored| $) |INS-;factor;SF;15| (71 . |squareFree|) + |INS-;squareFree;SF;16| (|IntegerPrimesPackage| 6) + (76 . |prime?|) |INS-;prime?;SB;17| + (|IntegerCombinatoricFunctions| 6) (81 . |factorial|) + |INS-;factorial;2S;18| (86 . |binomial|) + |INS-;binomial;3S;19| (92 . |permutation|) + |INS-;permutation;3S;20| (|Union| 26 '"failed") + |INS-;retractIfCan;SU;21| |INS-;init;S;22| (98 . |zero?|) + (103 . -) (|Union| $ '"failed") |INS-;nextItem;SU;23| + (|PatternMatchResult| 26 6) + (|PatternMatchIntegerNumberSystem| 6) + (109 . |patternMatch|) (|PatternMatchResult| 26 $) + |INS-;patternMatch;SP2Pmr;24| (|Fraction| 26) + (116 . |coerce|) |INS-;rational;SF;25| + (|Union| 70 '"failed") |INS-;rationalIfCan;SU;26| + (121 . |rem|) (|PositiveInteger|) (127 . *) (133 . +) + |INS-;symmetricRemainder;3S;27| (139 . |negative?|) + (144 . |positiveRemainder|) (150 . |quo|) (156 . *) + |INS-;invmod;3S;28| (162 . |mulmod|) |INS-;powmod;4S;29|) + '#(|symmetricRemainder| 169 |squareFree| 175 |retractIfCan| + 180 |retract| 185 |rationalIfCan| 190 |rational?| 195 + |rational| 200 |prime?| 205 |powmod| 210 |positive?| 217 + |permutation| 222 |patternMatch| 228 |nextItem| 235 |mask| + 240 |invmod| 245 |init| 251 |factorial| 255 |factor| 260 + |even?| 265 |euclideanSize| 270 |differentiate| 275 |copy| + 280 |convert| 285 |characteristic| 305 |bit?| 309 + |binomial| 315) + 'NIL + (CONS (|makeByteWordVec2| 1 'NIL) + (CONS '#() + (CONS '#() + (|makeByteWordVec2| 86 + '(0 6 0 9 1 6 11 0 12 1 11 0 0 13 2 6 + 11 0 0 15 1 6 0 0 18 2 6 0 0 0 19 0 6 + 0 21 1 6 0 0 22 2 6 11 0 0 25 1 6 26 + 0 27 1 29 0 26 30 1 34 0 26 35 1 38 0 + 26 39 1 42 41 6 43 1 42 41 6 46 1 48 + 11 6 49 1 51 6 6 52 2 51 6 6 6 54 2 + 51 6 6 6 56 1 6 11 0 61 2 6 0 0 0 62 + 3 66 65 6 38 65 67 1 70 0 26 71 2 6 0 + 0 0 75 2 6 0 76 0 77 2 6 0 0 0 78 1 6 + 11 0 80 2 6 0 0 0 81 2 6 0 0 0 82 2 6 + 0 0 0 83 3 6 0 0 0 0 85 2 0 0 0 0 79 + 1 0 44 0 47 1 0 58 0 59 1 0 26 0 37 1 + 0 73 0 74 1 0 11 0 24 1 0 70 0 72 1 0 + 11 0 50 3 0 0 0 0 0 86 1 0 11 0 16 2 + 0 0 0 0 57 3 0 68 0 38 68 69 1 0 63 0 + 64 1 0 0 0 23 2 0 0 0 0 84 0 0 0 60 1 + 0 0 0 53 1 0 44 0 45 1 0 11 0 14 1 0 + 7 0 28 1 0 0 0 10 1 0 0 0 17 1 0 32 0 + 33 1 0 29 0 31 1 0 38 0 40 1 0 34 0 + 36 0 0 7 8 2 0 11 0 0 20 2 0 0 0 0 + 55))))) + '|lookupComplete|)) @ \section{domain SINT SingleInteger} The definition of {\bf one?} has been rewritten |