%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /usr/local/share/emacs/27.2/lisp/calc/
Upload File :
Create Path :
Current File : //usr/local/share/emacs/27.2/lisp/calc/calc-alg.elc

;ELC
;;; Compiled
;;; in Emacs version 27.2
;;; with all optimizations.

;;; This file uses dynamic docstrings, first added in Emacs 19.29.

;;; This file does not contain utf-8 non-ASCII characters,
;;; and so can be loaded in Emacs versions earlier than 23.

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


(byte-code "\300\301!\210\300\302!\207" [require calc-ext calc-macs] 2)
#@12 

(fn ARG)
(defalias 'calc-alg-evaluate #[257 "\300\301\302\303\304\305!\306\"\307$`\"\207" [calc-do make-byte-code 0 "	\303>?\205	\304\305\300!\210\306\307\310\311\307!#*\207" vconcat vector [calc-simplify-mode math-simplify-only (none num) nil calc-modify-simplify-mode calc-enter-result 1 "dsmp" calc-top] 5] 8 (#$ . 480) "p"])
#@12 

(fn ARG)
(defalias 'calc-modify-simplify-mode #[257 "\301!\302U\203
\303\202\301!\304Y\203\305\211\306W\205!C\211\207" [calc-simplify-mode math-abs 2 alg 3 ext 0] 3 (#$ . 823)])
(defalias 'calc-simplify #[0 "\300\301`\"\207" [calc-do #[0 "\301\302!\303 \203\304\305\306!!)\262\307 \203!\304\305\310!!)\262\311>?\205)\312\302\313\314!#)\207" [calc-simplify-mode calc-top-n 1 calc-is-inverse nil math-normalize math-trig-rewrite calc-is-hyperbolic math-hyperbolic-trig-rewrite (none num) calc-enter-result "simp" math-simplify] 6]] 3 nil nil])
(defalias 'calc-simplify-extended #[0 "\300\301`\"\207" [calc-do #[0 "\301>?\205\302\303\304\305\306\303!!#)\207" [calc-simplify-mode (none num) calc-enter-result 1 "esmp" math-simplify-extended calc-top-n] 6]] 3 nil nil])
#@12 

(fn ARG)
(defalias 'calc-expand-formula #[257 "\300\301\302\303\304\305!\306\"\307$`\"\207" [calc-do make-byte-code 0 "	\304>?\205	\305\306\300!\210\307\310\311\300\312V\203!\313\314\310!)\202-\314\310!\315!\206+\211\262#*\207" vconcat vector [calc-simplify-mode math-simplify-only math-expand-formulas (none num) nil calc-modify-simplify-mode calc-enter-result 1 "expf" 0 t calc-top-n math-expand-formula] 6] 8 (#$ . 1627) "p"])
#@12 

(fn ARG)
(defalias 'calc-factor #[257 "\300\301\302\303\304\305!\306\"\307$`\"\207" [calc-do make-byte-code 0 "\301\302\303 \203\304\202\f\305\300#\207" vconcat vector [calc-unary-op "fctr" calc-is-hyperbolic calcFunc-factors calcFunc-factor] 4] 8 (#$ . 2077) "P"])
#@10 

(fn N)
(defalias 'calc-expand #[257 "\300\301\302\303\304\305!\306\"\307$`\"\207" [calc-do make-byte-code 0 "\301\302\303\304\305\306\302!D\300\205\307\300!C\"#\207" vconcat vector [calc-enter-result 1 "expa" append calcFunc-expand calc-top-n prefix-numeric-value] 7] 8 (#$ . 2356) "P"])
#@13 

(fn EXPR)
(defalias 'calcFunc-powerexpand #[257 "\300\301\302\"!\207" [math-normalize math-map-tree math-powerexpand] 5 (#$ . 2656)])
#@13 

(fn EXPR)
(defalias 'math-powerexpand #[257 "\211\242\300=\203f\3018\211\250\2034\211\302V\2034\303A@A@W\203/\304\"\262T\262\202\266\202\202e\211\250\203d\211\302W\203d\305\306A@\305\"\306A@\305\"V\203_\304\"\262S\262\202L\266\202\202e\207\207" [^ 2 0 1 math-mul -1 math-pow] 8 (#$ . 2799)])
(defalias 'calc-powerexpand #[0 "\300\301`\"\207" [calc-do #[0 "\300\301\302\303\304\301!!#\207" [calc-enter-result 1 "pexp" calcFunc-powerexpand calc-top-n] 6]] 3 nil nil])
#@22 

(fn &optional VAR)
(defalias 'calc-collect #[256 "\300\301\302\303\304\305!\306\"\307$`\"\207" [calc-do make-byte-code 0 "\300\301\232\204\300\302\232\204\300\204\303\304\305\306\307\304!B#\207\310\300!\211\242\311=\203+\311\312A@\"\210\303\313\305\306\314\313!E#\207" vconcat vector ["" "$" calc-enter-result 2 "clct" calcFunc-collect calc-top-list-n math-read-expr error "Bad format in expression: %s" 1 calc-top-n] 7] 8 (#$ . 3305) "sCollect terms involving: "])
#@12 

(fn ARG)
(defalias 'calc-apart #[257 "\300\301\302\303\304\305!\306\"\307$`\"\207" [calc-do make-byte-code 0 "\301\302\303\300#\207" vconcat vector [calc-unary-op "aprt" calcFunc-apart] 4] 8 (#$ . 3790) "P"])
#@12 

(fn ARG)
(defalias 'calc-normalize-rat #[257 "\300\301\302\303\304\305!\306\"\307$`\"\207" [calc-do make-byte-code 0 "\301\302\303\300#\207" vconcat vector [calc-unary-op "nrat" calcFunc-nrat] 4] 8 (#$ . 4009) "P"])
#@12 

(fn ARG)
(defalias 'calc-poly-gcd #[257 "\300\301\302\303\304\305!\306\"\307$`\"\207" [calc-do make-byte-code 0 "\301\302\303\300#\207" vconcat vector [calc-binary-op "pgcd" calcFunc-pgcd] 4] 8 (#$ . 4235) "P"])
#@12 

(fn ARG)
(defalias 'calc-poly-div #[257 "\300\301\302\303\304\305!\306\"\307$`\"\207" [calc-do make-byte-code 0 "\302\303\304\305\300#\210	\205J\300?\205J\306\307!\210\310	\311\"\210	\211:\2035\211@\312=\203/\211A@\313=\2028\314!\2028\211\313=\262\204G\315\316\317	\313\"\"\202J\315\320!)\207" vconcat vector [calc-poly-div-remainder nil calc-binary-op "pdiv" calcFunc-pdiv calc-clear-command-flag clear-message calc-record "prem" float 0 math-zerop message "(Remainder was %s)" math-format-flat-expr "(No remainder)"] 5] 8 (#$ . 4457) "P"])
#@12 

(fn ARG)
(defalias 'calc-poly-rem #[257 "\300\301\302\303\304\305!\306\"\307$`\"\207" [calc-do make-byte-code 0 "\301\302\303\300#\207" vconcat vector [calc-binary-op "prem" calcFunc-prem] 4] 8 (#$ . 5020) "P"])
#@12 

(fn ARG)
(defalias 'calc-poly-div-rem #[257 "\300\301\302\303\304\305!\306\"\307$`\"\207" [calc-do make-byte-code 0 "\301 \203\302\303\304\300#\207\302\303\305\300#\207" vconcat vector [calc-is-hyperbolic calc-binary-op "pdvr" calcFunc-pdivide calcFunc-pdivrem] 4] 8 (#$ . 5242) "P"])
#@34 

(fn &optional OLDNAME NEWNAME)
(defalias 'calc-substitute #[512 "\211C\300\301\302\303\304\305\"\306\"\307$`\"\207" [calc-do make-byte-code 0 "\302\211\303\302\300\304\232\204\300\305\232\204\300\204)\306\303!\262\306\307!\262\306\310!\262\310\262\202\252\301\242\204<\311\303!\210\301\312\313\300\314Q\300\"\240\210\301\242\304\232\204O\301\242\305\232\204O\301\242\204_\306\303!\262\306\307!\262\307\262\202\203\301\242;\203l\315\301\242!\202n\301\242\262\242\316=\203~\316\317A@\"\210\306\303!\262\300;\203\216\315\300!\202\217\300\262\242\316=\203\237\316\317A@\"\210\320\"\204\252\316\321!\210\322\323\324##\207" vconcat vector [nil 1 "" "$" calc-top-n 2 3 calc-unread-command read-string "Substitute old: " ", new: " math-read-expr error "Bad format in expression: %s" math-expr-contains "No occurrences found" calc-enter-result "sbst" math-expr-subst] 11] 11 (#$ . 5539) "sSubstitute old: "])
#@13 

(fn NAME)
(defalias 'calc-has-rules #[257 "\300!\262\211:\205\211@\301>\205\211\207" [calc-var-value (vec calcFunc-assign calcFunc-condition)] 3 (#$ . 6491)])
(defalias 'math-recompile-eval-rules #[0 "\303\304!\205	\305\306!\307\236\310\304!\211\207" [math-eval-rules-cache math-eval-rules-cache-other math-eval-rules-cache-tag calc-has-rules var-EvalRules math-compile-rewrites (var EvalRules var-EvalRules) nil calc-var-value] 2])
#@13 

(fn EXPR)
(defalias 'math-expand-formula #[257 "\211:\205.\211@9\205.\211@\301N\204\211@\302N\205.\303\304@A\")\211\242@=?\205,\211\262\207" [math-expand-formulas calc-user-defn math-expandable t apply] 4 (#$ . 6943)])
#@12 

(fn A B)
(defalias 'math-beforep #[514 "\211:?\206\211@\300>\262\203C\211\211:?\206\211@\300>\262\203C\301\"\211\302=\206B\211\303=\205B\232?\205B\242\304>G\242\305>GV\207\211\306\232\203K\307\207\310\267\202U\311\207\307\207\211\312\232\203]\311\207\211:?\206h\211@\300>\262\203\226\211\242\313=\203\224\314!\203\224\315\3168\"\204\222\3168\301\"\303U\266\202\205\225\311\207\311\207\211\211:?\206\241\211@\300>\262\203\276\242\313=\205\275\314!\205\343\315\3168\"\205\275\311\207@\313=\203J\211@\313=\203J\314!\203J\314!\203J\301\3168\3168\"\211\317\267\202\356\311\202I\307\202IA@\320>\203A@\321>\203\311\202IA@\322>\203A@\323>\203\307\202I\301\3248\3248\"\211\262\302=\203*\311\202I\211\325=\2034\307\202IA@\326>\203HA@\327>\203H\311\202I\307\207\211:?\206U\211@\330>\262?\211:?\206c\211@\330>\262?=\204v\211:?\206u\211@\330>\207@\331=\203\233\211@\331=\203\214A@A@\231\207\211\211:?\206\227\211@\332>\262?\207\211@\331=\203\256\211:?\206\255\211@\332>\207@@=\203\336A\262\211A\211\262\203\316\203\316@@\232\204\266\211\205\343?\206\335\315@@\"\207@@\231\207" [(frac float) math-compare -1 0 (nil frac float) (nil frac float) (neg (var inf var-inf)) nil #s(hash-table size 2 test equal rehash-size 1.5 rehash-threshold 0.8125 purecopy t data ((neg (var inf var-inf)) 81 (var inf var-inf) 83)) t (var inf var-inf) intv math-intv-constp math-beforep 2 #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (-1 230 1 234)) (2 3) (0 1) (0 1) (2 3) 3 1 (0 2) (1 3) (frac float cplx polar hms date sdev intv mod) var (frac float cplx polar)] 7 (#$ . 7181)])
#@10 

(fn A)
(defalias 'math-simplify-extended #[257 "\301\302!)\207" [math-living-dangerously t math-simplify] 3 (#$ . 8899)])
(byte-code "\300\301\302\303#\210\304\305\301\"\207" [put math-simplify-extended byte-optimizer byte-compile-inline-expand defalias calcFunc-esimplify] 4)
#@73 Rewrite trigonometric functions in terms of sines and cosines.

(fn FN)
(defalias 'math-trig-rewrite #[257 "\211:\204\207\211\242\300=\203\301\302\303\304A!BE\207\211\242\305=\203(\301\302\306\304A!BE\207\211\242\307=\203<\304A!\301\306B\303BE\207\211\242\310=\203P\304A!\301\303B\306BE\207\311\304\"\207" [calcFunc-sec / 1 calcFunc-cos math-trig-rewrite calcFunc-csc calcFunc-sin calcFunc-tan calcFunc-cot mapcar] 6 (#$ . 9186)])
#@68 Rewrite hyperbolic functions in terms of sinhs and coshs.

(fn FN)
(defalias 'math-hyperbolic-trig-rewrite #[257 "\211:\204\207\211\242\300=\203\301\302\303\304A!BE\207\211\242\305=\203(\301\302\306\304A!BE\207\211\242\307=\203<\304A!\301\306B\303BE\207\211\242\310=\203P\304A!\301\303B\306BE\207\311\304\"\207" [calcFunc-sech / 1 calcFunc-cosh math-hyperbolic-trig-rewrite calcFunc-csch calcFunc-sinh calcFunc-tanh calcFunc-coth mapcar] 6 (#$ . 9639)])
#@14 

(fn INPUT)
(defalias 'calc-input-angle-units #[257 "\300\301\"\203	\302\207\300\303\"\203\304\207\300\305\"\203\306\207\307\207" [math-expr-contains (var deg var-deg) deg (var rad var-rad) rad (var hms var-hms) hms nil] 4 (#$ . 10115)])
#@17 

(fn TOP-EXPR)
(defalias 'math-simplify #[257 "\306\307!\203\310\202\f	:\311\312\313!\205\314\n\205!\312\315!\205!\316\205,\312\317!\205,\320\f\2057\312\321!\2057\322$\323
\203l\324\325!!\262\326\325!\262\211\203h\327@\330#\262\211A\262\202T\210\202\252	\331>?\205t	\325!\262?\205\236\211\203\224\327@\"\262\211A\262\202\202\324!\211\262\232?\262\203\251\211\262\202u)+\266\207" [calc-angle-mode calc-simplify-mode math-living-dangerously math-simplifying-units math-integrating math-top-only t calc-input-angle-units rad append calc-has-rules var-AlgSimpRules ((var AlgSimpRules var-AlgSimpRules)) var-ExtSimpRules ((var ExtSimpRules var-ExtSimpRules)) var-UnitSimpRules ((var UnitSimpRules var-UnitSimpRules)) var-IntegSimpRules ((var IntegSimpRules var-IntegSimpRules)) nil math-simplify-step math-normalize (nil) math-rewrite (neg (var inf var-inf)) (none num) math-simplifying math-normalize-error] 11 (#$ . 10368)])
(defalias 'calcFunc-simplify 'math-simplify)
#@10 

(fn A)
(defalias 'math-simplify-step #[257 "\211\211:?\206\211@\301>\262\203\207\204\211@\302>\203 \211\202(\211@\303\304A\"B\211@9\203R\211@\305N\211\203Q\211\203Q\211@!\206B\211\262\232\203Q\211A\262\2026\210\211\207" [math-top-only (frac float cplx polar hms date mod var) (calcFunc-quote calcFunc-condition calcFunc-evalto) mapcar math-simplify-step math-simplify] 5 (#$ . 11403)])
#@210 Define the simplification code for functions FUNCS.
Code can refer to the expression to simplify via lexical variable `expr'
and should return the simplified expression to use (or nil).

(fn FUNCS &rest CODE)
(defalias 'math-defsimplify '(macro . #[385 "\300\301\302\303\304\305\306!\307\"\310\311%9\203C\202\"B\207" [progn mapcar make-byte-code 257 "\301\302D\303\304\305\302D\306BB\307\310\311\312\300BBDDEF\207" vconcat vector [put quote 'math-simplify nconc get ('math-simplify) list function lambda (expr)] 11 "\n\n(fn FUNC)"] 10 (#$ . 11820)]))
(byte-code "\300\301\302\303#\304\301\305\306#\210\304\307\310\307\310N\311C\244#\210\304\312\310\312\310N\313C\244#\210\304\314\310\314\310N\315C\244#\210\304\316\310\316\310N\317C\244#\207" [function-put math-defsimplify lisp-indent-function 1 put edebug-form-spec (sexp body) + math-simplify #[257 "\211A@\242\300>\203W\301A@8\211:?\206\211@\302>\262\203W\3018\211:?\206*\211@\302>\262\204W\3018@AA\301A@8\240\210\211A@@\240\210A@AA\240\210A@\240\266\202\223\211@\303=\203\223\211A@\211:?\206k\211@\302>\262\203\223\3018\211:?\206}\211@\302>\262\204\223\3018AAA@\240\210A\240\266\211\304\211A@\211\262\242\305>\203\323\306\3018\3018@\307=@\307=\310%\211\262\203\313AA\240\210\303\240\210AA\311\240\210A@\262\202\226\306\3018\304@\307=\310%\211\262\203\366AA\240\210\303\240\210A\311\240\210\207" [#1=(+ -) 2 #2=(frac float cplx polar) + nil #3=(+ -) math-combine-sum - t 0] 10 "\n\n(fn EXPR)"] - #[257 "\211A@\242\300>\203W\301A@8\211:?\206\211@\302>\262\203W\3018\211:?\206*\211@\302>\262\204W\3018@AA\301A@8\240\210\211A@@\240\210A@AA\240\210A@\240\266\202\223\211@\303=\203\223\211A@\211:?\206k\211@\302>\262\203\223\3018\211:?\206}\211@\302>\262\204\223\3018AAA@\240\210A\240\266\211\304\211A@\211\262\242\305>\203\323\306\3018\3018@\307=@\307=\310%\211\262\203\313AA\240\210\303\240\210AA\311\240\210A@\262\202\226\306\3018\304@\307=\310%\211\262\203\366AA\240\210\303\240\210A\311\240\210\207" [#1# 2 #2# + nil #3# math-combine-sum - t 0] 10 "\n\n(fn EXPR)"] * #[257 "\3008\242\301=\203A\302\3008A@A@\"\203o\303A@\304\"\204*\303\3008A@\304\"\203o\211A@A\3008A@\240\210\3008A\240\266\202o\302\3008A@\"\203o\303A@\304\"\204^\303\3008\304\"\203o\3008AAA@\240\210A\240\266\211\305\211\304\303A@!A@\211:?\206\205\211@\306=\262\203\255\307\3008!\211\262\203\255AA\310\3008\"\240\210A\311A@\"\240\210\3008\211\262\242\301=\203\355\203\355\312A@A@\305\211\304%\211\262\203\331A\240\210A\313\240\210\211\206\343\303A@\304\"\262\3008\262\202\255\312A@\305\211\304%\211\262\203\f\203\fA\240\210AA\313\240\210A@\242\306=\2036A@A@\314>\2036\315\311\3008A@A@\"\300A@8\"\2027\207" [2 * math-beforep math-known-scalarp t nil frac math-common-constant-factor math-cancel-common-factor math-mul math-combine-prod 1 (1 -1) math-div] 12 "\n\n(fn EXPR)"] / #[257 "\300!\207" [math-simplify-divide] 3 "\n\n(fn EXPR)"]] 6)
#@13 

(fn EXPR)
(defalias 'math-simplify-divide #[257 "\211A\302@\303=\204\3048\211:?\206\211@\305>\262?\205\"\306\3048!\302\211\203\351@\303=\204BA@\211:?\206<\211@\305>\262?\205H\306A@!\262\242\307=\203\254A@\310=\203\254\204\254\242\311=\203zA@\242\312=\203z\313\3048A@\"\203\351A\314\3048A@\"\240\210AA\315\3048\"\240\210\316!\203\351@\236\211\262\203\351A@\240\210\202\351\203\351\317\"\211\262\310=\204\351A\315A@\"\240\210AA\315\3048\"\240\210\316!\203\351@\236\211\262\203\351A@\240\210@\242\303=\203>\320\3048\321\"\203>A@A\262@\211\262\242\322=\203*\320\3048\321\"\203\"\323AAA\302\321$\210AA\262\202\323AA\302\321$\210\321\262A@AA\262@\211\262\242\322=\203f\320\3048\321\"\203^\323AAA\321$\210AA\262\202>\323AA\321$\210)\207" [calc-tweak-eqn-table math--simplify-divide-expr nil / 2 (frac float) math-common-constant-factor frac 1 calcFunc-eq var math-expr-contains math-mul math-cancel-common-factor math-negp math-frac-gcd math-known-scalarp t * math-simplify-divisor] 11 (#$ . 14915)])
#@26 

(fn NP DP NOVER DOVER)
(defalias 'math-simplify-divisor #[1028 "@\242\304=\203&\305@A$\210\306@A@\307\"\205\241\305@AA?$\207@\304=\204[\310@!\211\311>\206E@\312>\203D\211\313=\206E	\262\204[@\211:?\206V\211@\314>\262\205\241\315\307\306@!@\211\262\242\316=\203\224\203\224\317	A\"\210\211\206\212\306A@\307\"\262AA\262\202h\205\236\317		\"*\266\205\207" [math--simplify-divide-expr math-living-dangerously math-simplify-divisor-dover math-simplify-divisor-nover / math-simplify-divisor math-known-scalarp t math-possible-signs (1 4) (calcFunc-eq calcFunc-neq) 5 (frac float cplx polar) nil * math-simplify-one-divisor] 12 (#$ . 16037)])
#@14 

(fn NP DP)
(defalias 'math-simplify-one-divisor #[514 "\304@@	\305%\306\203A\n@\307>\204,\310@!\203,\n@\236\211\262\203,\nA@\240\210\2038\311\312\"\2029\240\210\312\240\202v	\205v?\205v\n@\313=\205v@\242\314=\205v\315@A@!\205v\316@\314@A@D\"\240\210\211@A@\240\207" [math-simplify-divisor-nover math-simplify-divisor-dover math--simplify-divide-expr calc-tweak-eqn-table math-combine-prod t nil (/ calcFunc-eq calcFunc-neq) math-known-negp math-div 1 / calcFunc-sqrt Math-integerp math-mul] 9 (#$ . 16734)])
#@13 

(fn EXPR)
(defalias 'math-common-constant-factor #[257 "\211\211:?\206\211@\300>\262\203D\211\211:?\206\211@\301=\262\203+\211\302>?\205C\303!\207\304!\211\262\211:?\206;\211@\301=\262\205C\305!\207\211@\306>\203l\305A@!\305\3078!\205k\211\205k\310\"\211\262\311=?\205k\207\211@\312>\203y\305A@!\207\211@\313=\205\230\305A@!\206\230\314\3078!\205\230\301\311\303\3078!E\207" [(frac float) frac (0 1 -1) math-abs math-to-simple-fraction math-common-constant-factor (+ - cplx sdev) 2 math-frac-gcd 1 (* polar) / Math-integerp] 6 (#$ . 17283)])
#@17 

(fn EXPR VAL)
(defalias 'math-cancel-common-factor #[514 "\242\300>\203A\301A@\"\240\210AA\301\3028\"\240\210\207\242\303=\2031\304\301A@\"\3028\"\207\305\"\207" [(+ - cplx sdev) math-cancel-common-factor 2 * math-mul math-div] 6 (#$ . 17868)])
#@12 

(fn A B)
(defalias 'math-frac-gcd #[514 "\211:\203\211@\300=\203\211A@\301=\202\302!\202\211\301=\262\203$\207\211\211:\203?\211@\300=\2039\211A@\301=\202B\302!\202B\211\301=\262\203I\207\303!\203Z\303!\203Z\304\"\207\303!\203f\305\306E\262\303!\203r\305\306E\262\307\304A@A@\"\304\3108\3108\"\"\207" [float 0 math-zerop Math-integerp math-gcd frac 1 math-make-frac 2] 8 (#$ . 18138)])
(byte-code "\300\301\302\301\302N\303C\244#\210\300\304\302\304\302N\305C\244#\210\300\306\302\306\302N\307C\244#\210\300\310\302\310\302N\311C\244#\210\300\312\302\312\302N\313C\244#\210\300\314\302\314\302N\315C\244#\210\300\316\302\316\302N\317C\244#\207" [put % math-simplify #[257 "\3018\211:?\206
\211@\302>\262\205\3018\211:\2037\211@\303>\2031\211A@\211\250\205,\211\304V\262\202:\305!\202:\211\304V\262\205\306A@!\307\203{\310@!\204`@\3018\311\"\312U\266\202\204{\313\314\315A@\3018\"\316@\3018\"E\3018E\206\203\327\317A@\320\"\204\327\321A@!\203\327\321\3018!\203\327\322A@\3018\"\211\262\203\327\317\320\"\204\327\323\313\314\315\324A@\"\3018\"\325\324@\")E\324\3018\"EE\206\317\3018\320\"\205\326\203\360\315A@\3018\"\202\363A@!\205\203\316@\320\"\202\304\266\202\207" [calc-prefer-frac 2 (frac float) (frac float) 0 math-posp math-is-linear nil math-negp math-compare -1 % + math-mul math-mod math-equal-int 1 math-num-integerp calcFunc-gcd * math-div t math-known-integerp] 11 "\n\n(fn EXPR)"] calcFunc-eq #[257 "\211G\300U\205\n\301!\207" [3 math-simplify-ineq] 3 "\n\n(fn EXPR)"] calcFunc-neq #[257 "\211G\300U\205\n\301!\207" [3 math-simplify-ineq] 3 "\n\n(fn EXPR)"] calcFunc-lt #[257 "\211G\300U\205\n\301!\207" [3 math-simplify-ineq] 3 "\n\n(fn EXPR)"] calcFunc-gt #[257 "\211G\300U\205\n\301!\207" [3 math-simplify-ineq] 3 "\n\n(fn EXPR)"] calcFunc-leq #[257 "\211G\300U\205\n\301!\207" [3 math-simplify-ineq] 3 "\n\n(fn EXPR)"] calcFunc-geq #[257 "\211G\300U\205\n\301!\207" [3 math-simplify-ineq] 3 "\n\n(fn EXPR)"]] 5)
#@13 

(fn EXPR)
(defalias 'math-simplify-ineq #[257 "\211A\300@\211\262\242\301>\203#\302AAAA@\303=\300$\210\211A\262\202\302AA\300A=$\210\304!\210\305\303AB!@\306=\203U\211\307=\203K\310\202\335\211\311>\203\334\312\202\335@\313=\203p\211\307=\203f\312\202\335\211\314>\203\334\310\202\335@\315=\203\213\211\310=\203\201\310\202\335\211\316>\203\334\312\202\335@\317=\203\246\211\320=\203\234\310\202\335\211\321>\203\334\312\202\335@\322=\203\301\211\320=\203\267\312\202\335\211\323>\203\334\310\202\335@\324=\203\334\211\310=\203\322\312\202\335\211\325>\203\334\310\202\335\262\207" [nil (+ -) math-simplify-add-term - math-simplify-divide math-possible-signs calcFunc-eq 2 1 (1 4 5) 0 calcFunc-neq (1 4 5) calcFunc-lt (2 4 6) calcFunc-gt 4 (1 2 3) calcFunc-leq (1 2 3) calcFunc-geq (2 4 6)] 9 (#$ . 20209)])
#@27 

(fn NP DP MINUS LPLAIN)
(defalias 'math-simplify-add-term #[1028 "@\211\242\300=\262\206\312\301\302\211\211@\262@\211\262\242\303>\203\201\302\262\304\3058@\306=\301%\211\262\203z\204C\307!=\203_\203P\310!\202Q\211\262\240\210AA\311\240\210\202z\311\240\210AA@\306=\203t\310!\202u\211\262\240\210A\262\202\304\301\211%\211\262\205\310\204\240\204\272\307!=\203\272\203\255\310!\202\256\211\262\240\210\311\240\202\310\311\240\210\310!\211\262\240\266\204\207" [vec t nil (+ -) math-combine-sum 2 + math-looks-negp math-neg 0] 14 (#$ . 21079)])
(byte-code "\300\301\302\301\302N\303C\244#\210\300\304\302\304\302N\305C\244#\210\300\306\302\306\302N\307C\244#\210\300\310\302\310\302N\311C\244#\207" [put calcFunc-sin math-simplify #[257 "\211A@\242\301=\203\211A@A@\206\314\302A@!\203%\303\304\303A@!D!\206\314\305=\203C\306A@\307\"\211\205>\310@A@\311\312$\262\206\314\313=\203`\314A@!\211\205[\310@A@\315\312$\262\206\314\211A@\242\316=\203x\317\320\321\322A@A@!\"D\206\314\211A@\242\323=\203\230\324A@A@\317\325\321\322A@A@!\"D\"\206\314\326A@!\211\205\312\211@\250\205\312\211@A@\327\330\304\330SED\331DE\330\331\330SED\304DEE\266\202\262\207" [calc-angle-mode calcFunc-arcsin math-looks-negp math-neg calcFunc-sin rad math-linear-in (var pi var-pi) math-known-sin 120 0 deg math-integer-plus (frac 2 3) calcFunc-arccos calcFunc-sqrt math-sub 1 math-sqr calcFunc-arctan math-div math-add math-should-expand-trig + * calcFunc-cos] 11 "\n\n(fn EXPR)"] calcFunc-cos #[257 "\211A@\242\301=\203\211A@A@\206\306\302A@!\203#\303\304A@!D\206\306\305=\203A\306A@\307\"\211\205<\310@A@\311\312$\262\206\306\313=\203^\314A@!\211\205Y\310@A@\315\312$\262\206\306\211A@\242\316=\203v\317\320\321\322A@A@!\"D\206\306\211A@\242\323=\203\222\324\321\317\325\321\322A@A@!\"D\"\206\306\326A@!\211\205\304\211@\250\205\304\211@A@\327\330\303\330SED\303DE\330\331\330SED\331DEE\266\202\262\207" [calc-angle-mode calcFunc-arccos math-looks-negp calcFunc-cos math-neg rad math-linear-in (var pi var-pi) math-known-sin 120 300 deg math-integer-plus (frac 2 3) calcFunc-arcsin calcFunc-sqrt math-sub 1 math-sqr calcFunc-arctan math-div math-add math-should-expand-trig - * calcFunc-sin] 11 "\n\n(fn EXPR)"] calcFunc-sec #[257 "\301A@!\203\302\303A@!D\206\246\304=\203:\305A@\306\"\211\2055\307@A@\310\311$\211\2053\312\313\"\262\262\206\246\314=\203a\315A@!\211\205\\\307@A@\316\311$\211\205Z\312\313\"\262\262\206\246\211A@\242\317=\203}\312\313\320\321\313\322A@A@!\"D\"\206\246\211A@\242\323=\203\221\312\313A@A@\"\206\246\211A@\242\324=\205\246\320\325\313\322A@A@!\"D\207" [calc-angle-mode math-looks-negp calcFunc-sec math-neg rad math-linear-in (var pi var-pi) math-known-sin 120 300 math-div 1 deg math-integer-plus (frac 2 3) calcFunc-arcsin calcFunc-sqrt math-sub math-sqr calcFunc-arccos calcFunc-arctan math-add] 8 "\n\n(fn EXPR)"] calcFunc-csc #[257 "\301A@!\203\302\303\302A@!D!\206\257\304=\203<\305A@\306\"\211\2057\307@A@\310\311$\211\2055\312\313\"\262\262\206\257\314=\203c\315A@!\211\205^\307@A@\316\311$\211\205\\\312\313\"\262\262\206\257\211A@\242\317=\203w\312\313A@A@\"\206\257\211A@\242\320=\203\223\312\313\321\322\313\323A@A@!\"D\"\206\257\211A@\242\324=\205\257\312\321\325\313\323A@A@!\"DA@A@\"\207" [calc-angle-mode math-looks-negp math-neg calcFunc-csc rad math-linear-in (var pi var-pi) math-known-sin 120 0 math-div 1 deg math-integer-plus (frac 2 3) calcFunc-arcsin calcFunc-arccos calcFunc-sqrt math-sub math-sqr calcFunc-arctan math-add] 8 "\n\n(fn EXPR)"]] 5)
#@31 

(fn X &optional HYPERBOLIC)
(defalias 'math-should-expand-trig #[513 "\302!\205D\211\205D\211@\250\203\211@\303V\204\211@\304\232\205D	\204C\211A@\242\203/\305\2020\306>\204C\211A@\242\307=\205D\310=\205D\211\207" [math-living-dangerously math-integrating math-is-multiple 1 (frac 1 2) (calcFunc-arcsinh calcFunc-arccosh calcFunc-arctanh) (calcFunc-arcsin calcFunc-arccos calcFunc-arctan) calcFunc-ln exp] 5 (#$ . 24805)])
#@23 

(fn PLUS N MUL OFF)
(defalias 'math-known-sin #[1028 "\301\"\262\302!\205f\303\304\305!\"\306\"\211\262\205f\307Y\2033\310\307Z\311\312$\211\262\205f\313!\207\314V\203>\307Z\262\315!\203S\204N\316>\205f\317\236A\207\320\267\202e\321\322D!\207\321\323D!\207\324\207" [calc-symbolic-mode math-mul math-num-integerp math-mod math-add math-trunc 240 120 math-known-sin 1 0 math-neg 60 math-zerop (0 20 60) ((0 . 0) (10 / (calcFunc-sqrt (- 2 (calcFunc-sqrt 3))) 2) (12 / (- (calcFunc-sqrt 5) 1) 4) (15 / (calcFunc-sqrt (- 2 (calcFunc-sqrt 2))) 2) (20 / 1 2) (24 * (^ (/ 1 2) (/ 3 2)) (calcFunc-sqrt (- 5 (calcFunc-sqrt 5)))) (30 / (calcFunc-sqrt 2) 2) (36 / (+ (calcFunc-sqrt 5) 1) 4) (40 / (calcFunc-sqrt 3) 2) (45 / (calcFunc-sqrt (+ 2 (calcFunc-sqrt 2))) 2) (48 * (^ (/ 1 2) (/ 3 2)) (calcFunc-sqrt (+ 5 (calcFunc-sqrt 5)))) (50 / (calcFunc-sqrt (+ 2 (calcFunc-sqrt 3))) 2) (60 . 1)) #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (0 89 60 95)) math-normalize calcFunc-sin calcFunc-cos nil] 9 (#$ . 25253)])
(byte-code "\300\301\302\301\302N\303C\244#\210\300\304\302\304\302N\305C\244#\207" [put calcFunc-tan math-simplify #[257 "\211A@\242\301=\203\211A@A@\206\315\302A@!\203%\303\304\303A@!D!\206\315\305=\203B\306A@\307\"\211\205=\310@A@\311#\262\206\315\312=\203^\313A@!\211\205Y\310@A@\314#\262\206\315\211A@\242\315=\203~\316A@A@\317\320\321\322A@A@!\"D\"\206\315\211A@\242\323=\203\235\316\317\320\321\322A@A@!\"DA@A@\"\206\315\324A@!\211\205\313\211@\325\232\203\277\316\320\321\326A@D\"\327A@D\"\202\313\316\327A@D\326A@D\"\262\207" [calc-angle-mode calcFunc-arctan math-looks-negp math-neg calcFunc-tan rad math-linear-in (var pi var-pi) math-known-tan 120 deg math-integer-plus (frac 2 3) calcFunc-arcsin math-div calcFunc-sqrt math-sub 1 math-sqr calcFunc-arccos math-should-expand-trig (frac 1 2) calcFunc-cos calcFunc-sin] 8 "\n\n(fn EXPR)"] calcFunc-cot #[257 "\301A@!\203\302\303\302A@!D!\206\261\304=\203;\305A@\306\"\211\2056\307@A@\310#\211\2054\311\312\"\262\262\206\261\313=\203a\314A@!\211\205\\\307@A@\315#\211\205Z\311\312\"\262\262\206\261\211A@\242\316=\203\200\311\317\320\312\321A@A@!\"DA@A@\"\206\261\211A@\242\322=\203\240\311A@A@\317\320\312\321A@A@!\"D\"\206\261\211A@\242\323=\205\261\311\312A@A@\"\207" [calc-angle-mode math-looks-negp math-neg calcFunc-cot rad math-linear-in (var pi var-pi) math-known-tan 120 math-div 1 deg math-integer-plus (frac 2 3) calcFunc-arcsin calcFunc-sqrt math-sub math-sqr calcFunc-arccos calcFunc-arctan] 8 "\n\n(fn EXPR)"]] 5)
#@19 

(fn PLUS N MUL)
(defalias 'math-known-tan #[771 "\301\"\262\302!\205[\303\304!\305\"\211\262\205[\306V\203/\307\305Z\310#\211\262\205[\311!\207\312!\203D\204?\313>\205[\314\236A\207\315\267\202Z\316\317D!\207\316\320\321\317DE!\207\322\207" [calc-symbolic-mode math-mul math-num-integerp math-mod math-trunc 120 60 math-known-tan 1 math-neg math-zerop (0 30 60) ((0 . 0) (10 - 2 (calcFunc-sqrt 3)) (12 calcFunc-sqrt (- 1 (* (/ 2 5) (calcFunc-sqrt 5)))) (15 - (calcFunc-sqrt 2) 1) (20 / (calcFunc-sqrt 3) 3) (24 calcFunc-sqrt (- 5 (* 2 (calcFunc-sqrt 5)))) (30 . 1) (36 calcFunc-sqrt (+ 1 (* (/ 2 5) (calcFunc-sqrt 5)))) (40 calcFunc-sqrt 3) (45 + (calcFunc-sqrt 2) 1) (48 calcFunc-sqrt (+ 5 (* 2 (calcFunc-sqrt 5)))) (50 + 2 (calcFunc-sqrt 3)) (60 var uinf var-uinf)) #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (0 74 60 80)) math-normalize calcFunc-tan / -1 nil] 8 (#$ . 27902)])
(byte-code "\300\301\302\301\302N\303C\244#\210\300\304\302\304\302N\305C\244#\210\300\306\302\306\302N\307C\244#\210\300\310\302\310\302N\311C\244#\210\300\312\302\312\302N\313C\244#\210\300\314\302\314\302N\315C\244#\210\300\316\302\316\302N\317C\244#\210\300\320\302\320\302N\321C\244#\210\300\322\302\322\302N\323C\244#\210\300\324\302\324\302N\325C\244#\210\300\326\302\326\302N\327C\244#\210\300\330\302\330\302N\331C\244#\210\300\332\302\332\302N\333C\244#\207" [put calcFunc-sinh math-simplify #[257 "\211A@\242\301=\203\211A@A@\206\240\302A@!\203%\303\304\303A@!D!\206\240\211A@\242\305=\203A\203A\306\307\310A@A@!\311\"D\206\240\211A@\242\312=\203e\203e\313A@A@\306\307\311\310A@A@!\"D\"\206\240\314A@\315\"\211\205\236\211@\250\205\236\211@A@\311V\205\234\316\317\304\317SED\320DE\317\320\317SED\304DEE\266\202\262\207" [math-living-dangerously calcFunc-arcsinh math-looks-negp math-neg calcFunc-sinh calcFunc-arccosh calcFunc-sqrt math-sub math-sqr 1 calcFunc-arctanh math-div math-should-expand-trig t + * calcFunc-cosh] 11 "\n\n(fn EXPR)"] calcFunc-cosh #[257 "\211A@\242\301=\203\211A@A@\206\232\302A@!\203#\303\304A@!D\206\232\211A@\242\305=\203?\203?\306\307\310A@A@!\311\"D\206\232\211A@\242\312=\203_\203_\313\311\306\314\311\310A@A@!\"D\"\206\232\315A@\316\"\211\205\230\211@\250\205\230\211@A@\311V\205\226\317\320\303\320SED\303DE\320\321\320SED\321DEE\266\202\262\207" [math-living-dangerously calcFunc-arccosh math-looks-negp calcFunc-cosh math-neg calcFunc-arcsinh calcFunc-sqrt math-add math-sqr 1 calcFunc-arctanh math-div math-sub math-should-expand-trig t + * calcFunc-sinh] 11 "\n\n(fn EXPR)"] calcFunc-tanh #[257 "\211A@\242\301=\203\211A@A@\206\234\302A@!\203%\303\304\303A@!D!\206\234\211A@\242\305=\203H\203H\306A@A@\307\310\311A@A@!\312\"D\"\206\234\211A@\242\313=\203k\203k\306\307\314\311A@A@!\312\"DA@A@\"\206\234\315A@\316\"\211\205\232\211@\317\232\203\216\306\314\320A@D\312\"\321A@D\"\202\232\306\321A@D\320A@D\"\262\207" [math-living-dangerously calcFunc-arctanh math-looks-negp math-neg calcFunc-tanh calcFunc-arcsinh math-div calcFunc-sqrt math-add math-sqr 1 calcFunc-arccosh math-sub math-should-expand-trig t (frac 1 2) calcFunc-cosh calcFunc-sinh] 7 "\n\n(fn EXPR)"] calcFunc-sech #[257 "\301A@!\203\302\303A@!D\206d\211A@\242\304=\2031\2031\305\306\307\310\311A@A@!\306\"D\"\206d\211A@\242\312=\203K\203K\305\306A@A@\"\203K\306\207\211A@\242\313=\205d\205d\307\314\306\311A@A@!\"D\207" [math-living-dangerously math-looks-negp calcFunc-sech math-neg calcFunc-arcsinh math-div 1 calcFunc-sqrt math-add math-sqr calcFunc-arccosh calcFunc-arctanh math-sub] 7 "\n\n(fn EXPR)"] calcFunc-csch #[257 "\301A@!\203\302\303\302A@!D!\206k\211A@\242\304=\203,\203,\305\306A@A@\"\206k\211A@\242\307=\203K\203K\305\306\310\311\312A@A@!\306\"D\"\206k\211A@\242\313=\205k\205k\305\310\311\306\312A@A@!\"DA@A@\"\207" [math-living-dangerously math-looks-negp math-neg calcFunc-csch calcFunc-arcsinh math-div 1 calcFunc-arccosh calcFunc-sqrt math-sub math-sqr calcFunc-arctanh] 7 "\n\n(fn EXPR)"] calcFunc-coth #[257 "\301A@!\203\302\303\302A@!D!\206o\211A@\242\304=\2037\2037\305\306\307\310A@A@!\311\"DA@A@\"\206o\211A@\242\312=\203Z\203Z\305A@A@\306\313\310A@A@!\311\"D\"\206o\211A@\242\314=\205o\205o\305\311A@A@\"\207" [math-living-dangerously math-looks-negp math-neg calcFunc-coth calcFunc-arcsinh math-div calcFunc-sqrt math-add math-sqr 1 calcFunc-arccosh math-sub calcFunc-arctanh] 7 "\n\n(fn EXPR)"] calcFunc-arcsin #[257 "\301A@!\203\302\303\302A@!D!\206_\211A@\304=\203\"\305\306!\206_\211A@\307\232\2033\310\311\306!\312\"\206_\203H\211A@\242\313=\203H\211A@A@\206_\205_\211A@\242\314=\205_\315\305\306!A@A@\"\207" [math-living-dangerously math-looks-negp math-neg calcFunc-arcsin 1 math-quarter-circle t (frac 1 2) math-div math-half-circle 6 calcFunc-sin calcFunc-cos math-sub] 5 "\n\n(fn EXPR)"] calcFunc-arccos #[257 "\211A@\301=\203\302\303!\206m\211A@\304=\203\305\303!\206m\211A@\306\232\203-\307\305\303!\310\"\206m\211A@\311\232\203A\307\312\305\303!\313\"\310\"\206m\203V\211A@\242\314=\203V\211A@A@\206m\205m\211A@\242\315=\205m\316\302\303!A@A@\"\207" [math-living-dangerously 0 math-quarter-circle t -1 math-half-circle (frac 1 2) math-div 3 (frac -1 2) math-mul 2 calcFunc-cos calcFunc-sin math-sub] 5 "\n\n(fn EXPR)"] calcFunc-arctan #[257 "\301A@!\203\302\303\302A@!D!\2067\211A@\304=\203%\305\306\307!\310\"\2067\2057\211A@\242\311=\2057\211A@A@\207" [math-living-dangerously math-looks-negp math-neg calcFunc-arctan 1 math-div math-half-circle t 4 calcFunc-tan] 5 "\n\n(fn EXPR)"] calcFunc-arcsinh #[257 "\301A@!\203\302\303\302A@!D!\2060\211A@\242\304=\2050\204+\305A@A@!\2050\211A@A@\207" [math-living-dangerously math-looks-negp math-neg calcFunc-arcsinh calcFunc-sinh math-known-realp] 5 "\n\n(fn EXPR)"] calcFunc-arccosh #[257 "\211A@\242\301=\205\204\302A@A@!\205\211A@A@\207" [math-living-dangerously calcFunc-cosh math-known-realp] 3 "\n\n(fn EXPR)"] calcFunc-arctanh #[257 "\301A@!\203\302\303\302A@!D!\2060\211A@\242\304=\2050\204+\305A@A@!\2050\211A@A@\207" [math-living-dangerously math-looks-negp math-neg calcFunc-arctanh calcFunc-tanh math-known-realp] 5 "\n\n(fn EXPR)"] calcFunc-sqrt #[257 "\300!\207" [math-simplify-sqrt] 3 "\n\n(fn EXPR)"]] 5)
#@13 

(fn EXPR)
(defalias 'math-simplify-sqrt #[257 "\211A@\242\301=\203!\302\303\304A@A@\305A@8\"D\305A@8\"\206\211\306A@!\2031\307A@!\2026\310A@!\211\205T\211\311=?\205T\304\312\303D!\312\303\313A@\"D!\"\262\206\211\205\211\211A@\242\314=\203\277\315A@A@\311\"\203\277\305A@8\242\316=\203\277\315\305\211A@88\305\"\203\277\305A@8A@\242\317=\203\244\320\305A@8A@A@D\206\211\305A@8A@\242\320=\203\277\317\305A@8A@A@D\206\211\211A@\242\314=\203\315\305A@8\311\"\203\211A@A@\242\316=\203\315\305A@A@8\305\"\203\211A@A@A@\242\321=\203\322A@A@A@A@D\206\211\211A@\242\323=\203\231\211A@A@\305A@8\315\311\"\203.\211\262A@A@\211\262\2045\315\311\"\205\224\242\316=\205\224\315\3058\305\"\205\224A@\242\322=\203X\321A@A@D\206\224A@\242\324=\203k\325A@A@D\206\224A@\242\326=\203\201\327\311\320A@A@DE\206\224A@\242\330=\205\224\327\311\317A@A@DE\266\202\206\211\211A@\242\316=\203\264\316A@A@\302\305A@8\305\"E\206\211\211A@\242\303=\203\313\316A@A@\302\311\331\"E\206\211\211A@\242\332>\203\352\211A@@\303A@A@D\303\305A@8DE\206\211\211A@\242\333>\205\211\334A@!?\205\211\335\336A@!!\211\211\242\337=\262\205\207\211G\305V\204\305A@8\311V\205\207\311\211\211\340\211A\211\262\203m@A@\262\305@8\262\211\311V\203N\304\341\305\245\"\"\262\211\305\246\262\211\342V\203#\242\343>\203d\344\"\262\202#\304\"\262\202#\311=\205v\345>?\205\205\304\303\304\"D\"\266\205\262\207" [math-living-dangerously frac math-div calcFunc-sqrt math-mul 2 math-objectp math-squared-factor math-common-constant-factor 1 math-normalize math-cancel-common-factor - math-equal-int ^ calcFunc-sin calcFunc-cos calcFunc-cosh calcFunc-sinh + calcFunc-csch calcFunc-coth calcFunc-tan / calcFunc-cot 4 (* /) (+ -) math-any-floats calcFunc-factors calcFunc-expand vec nil math-pow 0 (+ -) math-mul-thru (1 -1)] 13 (#$ . 34314)])
#@10 

(fn X)
(defalias 'math-squared-factor #[257 "\300!\2053\301\302\303\2030\304@\"\211\262A\305=\203)\211@\262\306@\"\262\202	A\262\202	\266\203\207" [Math-integerp (4 9 25 49 121 169 289 361 529 841) 1 nil math-idivmod 0 math-mul] 7 (#$ . 36238)])
(byte-code "\300\301\302\301\302N\303C\244#\207" [put calcFunc-exp math-simplify #[257 "\300A@!\207" [math-simplify-exp] 3 "\n\n(fn EXPR)"]] 5)
#@10 

(fn X)
(defalias 'math-simplify-exp #[257 "\211\242\302=\203
\211A@\206\271\203{\211\242\303=\203*\304A@\305\304\306A@!\307\"D\"\206\271\211\242\310=\203C\304A@\305\311\306A@!\307\"D\"\206\271\211\242\312=\203_\313\305\304\307A@\"D\305\311\307A@\"D\"\206\271\314\315\"\211\205v\211@\250\205v\316\317A@D@E\262\206\271	\205\271\320!\205\271\321!\322\323\"\324\211\205\267\325@A@\326\327$\211\262\205\267\325@A@\326\330$\211\262\205\267\331\332\333EE\266\204\207" [math-living-dangerously calc-symbolic-mode calcFunc-ln calcFunc-arcsinh math-add calcFunc-sqrt math-sqr 1 calcFunc-arccosh math-sub calcFunc-arctanh math-div math-should-expand-trig exp ^ calcFunc-exp math-known-imagp calcFunc-im math-linear-in (var pi var-pi) nil math-known-sin 120 0 300 + * (var i var-i)] 10 (#$ . 36654)])
(byte-code "\300\301\302\301\302N\303C\244#\210\300\304\302\304\302N\305C\244#\210\300\306\302\306\302N\307C\244#\210\300\310\302\310\302N\311C\244#\210\300\312\302\312\302N\313C\244#\207" [put calcFunc-ln math-simplify #[257 "\211A@\242\302=\203\204\303A@A@!\203\211A@A@\206\224\211A@\242\304=\203H\211A@A@\305\232\203H\204@\303\306A@8!\203H\306A@8\206\224	\203a\307A@!\203a\310\311\312A@!D\313\"\206\224	\205\224\314A@!\205\224\315A@!\316!\211\317>\203\204\310\311D\320\"\206\222\211\321>\205\222\322\311\312!D\323\"\266\202\207" [math-living-dangerously calc-symbolic-mode calcFunc-exp math-known-realp ^ (var e var-e) 2 math-known-negp math-add calcFunc-ln math-neg (* (var pi var-pi) (var i var-i)) math-known-imagp calcFunc-im math-possible-signs (4 6) (/ (* (var pi var-pi) (var i var-i)) 2) (1 3) math-sub (/ (* (var pi var-pi) (var i var-i)) 2)] 7 "\n\n(fn EXPR)"] ^ #[257 "\203_\211A@\242\302=\203!\302A@A@\303\3048\304A@8\"E\206\370\211A@\242\305=\203:\302A@A@\306\3048\304\"E\206\370\211A@\242\307>\203_\211A@@\302A@A@\3048E\302\304A@8\3048EE\206\370\310A@\311\"\203y\3048\242\312=\203y\3048A@\206\370\211A@\313\232\203\211\314\3048!\206\370\211A@\242\315=\203\245	\204\245\315\303A@A@\3048\"D\206\370\211A@\316\232\203\344\317 \203\344\320\3048!\203\344\321\322\3048!\323\"\211\324\267\202\336\325\202\337A@\202\337\326\202\337\327A@!\202\337\330\262\206\370	\203A\3048\250\203A\3048\304Y\203A\211A@\242\331=\203\303\332A@\3048\304Z\"\333\325\334\335A@A@D!\"\"\206\370\211A@\242\336=\203A\303\332A@\3048\304Z\"\337\325\334\340A@A@D!\"\"\206\370\3048\242\341=\203\334\211A@\211:?\206W\211@\341=\262\203\334\211A@\211:\203\201\211@\342>\203{\211A@\211\250\205v\211\343V\262\202\204\344!\202\204\211\343V\262\203\334\3048\345\232\203\231\305A@D\202\331\346\3048!\211\211:\203\271\211@\347=\203\263\211A@\343=\202\274\350!\202\274\211\343=\262?\205\327\351\302A@E\302A@\333\3048\"EE\262\206\370\352\3048!\304=\205\370\353!\211\205\366\302\303\3048\304\"E\262\207" [math-living-dangerously math-integrating ^ math-mul 2 calcFunc-sqrt math-div (* /) math-equal-int 10 calcFunc-log10 (var e var-e) math-simplify-exp calcFunc-exp (var i var-i) math-imaginary-i math-num-integerp math-mod math-trunc 4 #s(hash-table size 4 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (0 200 1 204 2 210 3 214)) 1 -1 math-neg nil calcFunc-cos math-pow math-sub math-sqr calcFunc-sin calcFunc-cosh math-add calcFunc-sinh frac (frac float) 0 math-posp (frac 1 2) math-floor float math-zerop * math-quarter-integer math-simplify-sqrt] 9 "\n\n(fn EXPR)"] calcFunc-log10 #[257 "\211A@\242\301=\205'\302A@A@\303\"\205'\204\"\304\305A@8!\205'\305A@8\207" [math-living-dangerously ^ math-equal-int 10 math-known-realp 2] 4 "\n\n(fn EXPR)"] calcFunc-erf #[257 "\300A@!\203\301\302\301A@!D!\206&\211A@\242\303=\205&\303\302A@A@DD\207" [math-looks-negp math-neg calcFunc-erf calcFunc-conj] 5 "\n\n(fn EXPR)"] calcFunc-erfc #[257 "\300A@!\203\301\302\303\304A@!D\"\206'\211A@\242\305=\205'\305\303A@A@DD\207" [math-looks-negp math-sub 2 calcFunc-erfc math-neg calcFunc-conj] 6 "\n\n(fn EXPR)"]] 5)
#@35 

(fn EXPR TERM &optional ALWAYS)
(defalias 'math-linear-in #[770 "\301\"\203\302\303\304#\211A\205\211)\207\211\205\305D\207" [calc-prefer-frac math-expr-contains t math-is-polynomial 1 0] 7 (#$ . 40742)])
#@18 

(fn EXPR TERM)
(defalias 'math-multiple-of #[514 "\300\"\211\205\301@!\205\211A@\207" [math-linear-in math-zerop] 5 (#$ . 40967)])
#@13 

(fn EXPR)
(defalias 'math-integer-plus #[257 "\300!\203\n\301D\207\211@\302>\2030\300A@!\2030\211@\303=\203&\3048\202+\305\3048!A@D\207\211@\306>\203V\300\3048!\203V\211A@@\303=\203O\3048\202T\305\3048!D\207\307\207" [Math-integerp 0 (+ -) + 2 math-neg (+ -) nil] 5 (#$ . 41113)])
#@30 

(fn EXPR &optional ALWAYS)
(defalias 'math-is-linear #[513 "\300\211\242\301=\203GA@\211:?\206\211@\302>\262\203(A@\262\3038\262\202\215\3038\211:?\2065\211@\302>\262\203\215\3038\262A@\262\202\215\242\304=\203\215A@\211:?\206[\211@\302>\262\203oA@\262\305\3038!\262\202\215\3038\211:?\206|\211@\302>\262\203\215\305\3038!\262A@\262\306\"\262\203\251@\206\236\307A@\206\245E\202\260\211\205\260\310B\207" [nil + (frac float cplx polar hms date sdev intv mod) 2 - math-neg math-is-multiple 1 0] 7 (#$ . 41421)])
#@30 

(fn EXPR &optional ALWAYS)
(defalias 'math-is-multiple #[513 "\242\300=\203#A@\211:?\206\211@\301>\262\203\273A@\3028D\202\270\242\303=\203\254A@\211:?\2067\211@\301>\262\203R\304A@\305\"\204RA@\306\305\3028\"D\202\270\3028\211:?\206_\211@\301>\262\203q\306\305\3028\"A@D\202\270\307A@!\211\203\213\211@\306\302A@8\3028\"D\202\247\307\3028!\262\211\205\247\306\305@\"\306A@\302\21188\"D\262\202\270\242\310=\203\273\311A@D\206\334\211:?\206\306\211@\312>\262\203\325\211\305=\205\334\305D\207\211\205\334\305D\207" [* (frac float cplx polar hms date sdev intv mod) 2 / math-equal-int 1 math-div math-is-multiple neg -1 (frac float cplx polar hms date sdev intv mod vec)] 9 (#$ . 41994)])
#@27 

(fn EXPR &optional VAR)
(defalias 'calcFunc-lin #[513 "\211\203\300\301#\211\204\302\303\"\210\304@A@F\207\305\301\"\211\204(\302\303\"\210\304B\207" [math-linear-in t math-reject-arg "Linear term expected" vec math-is-linear] 7 (#$ . 42745)])
#@27 

(fn EXPR &optional VAR)
(defalias 'calcFunc-linnt #[513 "\211\203\300\"\211\204\301\302\"\210\303@A@F\207\304!\211\204&\301\302\"\210\303B\207" [math-linear-in math-reject-arg "Linear term expected" vec math-is-linear] 7 (#$ . 43011)])
#@27 

(fn EXPR &optional VAR)
(defalias 'calcFunc-islin #[513 "\211:?\206\211@\300>\262\203\211\204\301\207\302\"\210\303\207" [(frac float cplx polar hms date sdev intv mod vec) 0 calcFunc-lin 1] 5 (#$ . 43269)])
#@27 

(fn EXPR &optional VAR)
(defalias 'calcFunc-islinnt #[513 "\211:?\206\211@\300>\262\203\301\207\302\"\210\303\207" [(frac float cplx polar hms date sdev intv mod vec) 0 calcFunc-linnt 1] 5 (#$ . 43495)])
#@19 

(fn EXPR THING)
(defalias 'math-expr-contains-count #[514 "\232\203\300\207\211:?\206\211@\301>\262\203\302\207\303A\211\262\2033\211\304@\"\206-\303\\\262\202\211\303V\205:\211\207" [1 (frac float cplx polar hms date mod var) nil 0 math-expr-contains-count] 7 (#$ . 43715)])
#@19 

(fn EXPR THING)
(defalias 'math-expr-contains #[514 "\232\203\300\207\211:?\206\211@\301>\262\203\302\207A\211\262\203*\303@\"\203\207" [1 (frac float cplx polar hms date mod var) nil math-expr-contains] 5 (#$ . 44019)])
#@19 

(fn EXPR THING)
(defalias 'math-expr-depends #[514 "\211\211:?\206\211@\300>\262\203\211\242\301=\205-\302\"\207\211A\211\262\203,\303@\"\203\211\207" [(frac float cplx polar hms date mod var) var math-expr-contains math-expr-depends] 5 (#$ . 44266)])
#@21 

(fn EXPR OLD NEW)
(defalias 'math-expr-subst #[771 "\302!*\207" [math-expr-subst-new math-expr-subst-old math-expr-subst-rec] 5 (#$ . 44540)])
(defalias 'calcFunc-subst 'math-expr-subst)
#@13 

(fn EXPR)
(defalias 'math-expr-subst-rec #[257 "\211\232\203	\207\211\211:?\206\211@\302>\262\203\207\211@\303>\203B\211G\304U\2036\211A@\232\2035\305	C\"\207\207\211@A@\306\3048!E\207\211@\307\306A\"B\207" [math-expr-subst-old math-expr-subst-new (frac float cplx polar hms date mod var) (calcFunc-deriv calcFunc-tderiv) 2 append math-expr-subst-rec mapcar] 6 (#$ . 44740)])
#@13 

(fn EXPR)
(defalias 'math-expr-weight #[257 "\211\211:?\206\211@\300>\262\203\301\207\301A\211\262\203&\211\302@!\\\262\202\211\207" [(frac float cplx polar hms date mod var) 1 math-expr-weight] 5 (#$ . 45140)])
#@13 

(fn EXPR)
(defalias 'math-expr-height #[257 "\211\211:?\206\211@\300>\262\203\301\207\301A\211\262\203&\211\302@!]\262\202\211T\207" [(frac float cplx polar hms date mod var) 0 math-expr-height] 5 (#$ . 45372)])
#@18 

(fn EXPR BASE)
(defalias 'calcFunc-collect #[514 "\300\301\302$\211A\203\303\304\305\"\"\202\211@\207" [math-is-polynomial 50 t math-build-polynomial-expr mapcar math-normalize] 7 (#$ . 45604)])
#@40 

(fn EXPR VAR &optional DEGREE LOOSE)
(defalias 'math-is-polynomial #[1026 "\211\203\211\305=\203\202\306\202\211\307\f\"\203*\211GTX\205+\211,\207" [math-poly-base-variable math-var math-is-poly-loose math-is-poly-degree math-poly-neg-powers gen (var XXX XXX) math-is-poly-rec] 7 (#$ . 45815)])
#@20 

(fn EXPR NEGPOW)
(defalias 'math-is-poly-rec #[514 "\306\232\204\242\307=\2035\310\211\232\204 \3118\262\211A@\262	\310=\204\213\312\310\"\211@\242\313=\203e\211@A@\211:\203P\211@\314=\203J\211A@\315=\202S\316!\202S\211\315=\262\203e\311@8\317A@\320\"D\262	\203q	A@\232\202v\211A@\211\205\207\232\204\205	\310=\205\207\211@\262\262:\203\255\321!\262\242\322=\203\255\n\203\255\211\232\203\255\323\n\3118\"\n\324>\204\271\317\n\"\262\250\2050\310U\203\320\211\232\203\320\315\310D\2020\325!\203\211\232\203\342\315\310D\202\346\326\327\"\310C\205\203\373GS_X\205\310Y\203\330\"\262S\262\202\373\211\266\203\2020\2050\326\327\"\2050\331[\"\fB\211\2050\307EC\266\202\202_\211:?\206@\211@\332>\262\203JC\202_@\333>\203~\326A@\"\211\205y\326\3118\"\211\205w\334\310@\335=\203u\310\202v\336$\262\262\202_@\337=\203\221\340\341\326A@\"\"\202_@\342=\203\307\326A@\"\211\205\302\326\3118\"\211\205\300\203\274GG\\\311ZX\205\300\330\"\262\262\202_@\343=\203.\344\3118\"\203\356\203b\326\3118\327\"\203b\3118\fB\211\203b\3118\211:\203\211@\314=\203\211A@\315=\202\316!\202\211\315=\262\204b\326A@\"\340\345\346\347\350\351	!\352\"\353\354%\"\262\202_@\355=\203G\356\232\203G\326\307A@E\"\202_@\357=\203^\n\203^\326\307A@\360E\"\202_\327\206w\344\"\203m
\205w@\361=?\205wC!\207" [math-var math-poly-mult-powers math-poly-frac-powers math-is-poly-degree math-poly-neg-powers math-is-poly-loose math-poly-simplify ^ 1 2 math-is-multiple cplx float 0 math-zerop math-mul (var i var-i) math-to-simple-fraction frac calcFunc-lcm (1 nil) natnump math-is-poly-rec nil math-poly-mul math-pow (frac float cplx polar hms date sdev intv mod) (+ -) math-poly-mix + -1 neg mapcar math-neg * / math-poly-depends make-byte-code 257 "\301\302\3008\"\207" vconcat vector [math-div 2] 5 "\n\n(fn X)" calcFunc-exp (var e var-e) calcFunc-sqrt (frac 1 2) vec] 11 (#$ . 46139)])
#@17 

(fn EXPR VAR)
(defalias 'math-polynomial-p #[514 "\232\203\300\207\211:?\206\211@\301>\262\203\302\207@\303>\203<\304A@\"\305\205;\304\3068\"\211\262\205;]\207@\307=\203^\304A@\"\305\205]\304\3068\"\211\262\205]\\\207@\310=\203l\304A@\"\207@\311=\203\203\312\3068\"\204\203\304A@\"\207@\313=\203\242\314\3068!\203\242\304A@\"\211\205\241\211\3068_\207\312\"\203\253\305\207\302\207" [1 (frac float cplx polar hms date mod var) 0 (+ -) math-polynomial-p nil 2 * neg / math-poly-depends ^ natnump] 7 (#$ . 48188)])
#@17 

(fn EXPR VAR)
(defalias 'math-poly-depends #[514 "\203	\301\"\207\302\"\207" [math-poly-base-variable math-expr-contains math-expr-depends] 5 (#$ . 48765)])
#@107 Find the variable (or sub-expression) which is the base of polynomial expr.

(fn TOP-EXPR &optional PRED)
(defalias 'math-polynomial-base #[513 "\211\206\302\303\304\305\306!\307\"\310\311%\312\313!)\206!\314\313!))\207" [math-poly-base-pred math-poly-base-const-ok make-byte-code 257 "\301\300\"\207" vconcat vector [math-polynomial-p] 4 "\n\n(fn BASE)" nil math-polynomial-base-rec t] 8 (#$ . 48937)])
#@17 

(fn MPB-EXPR)
(defalias 'math-polynomial-base-rec #[257 "\211\211:?\206\211@\302>\262?\205d\211@\303>\203(\304A@!\206d\304\3058!\206d\211@\306>\2037\304A@!\206d\211@\307=\203F\304A@!\206d\211@\310=\203S\304\311!\206d\204]\312!\205d	!\205d\211\207" [math-poly-base-const-ok math-poly-base-pred (frac float cplx polar hms date sdev intv mod vec) (+ - *) math-polynomial-base-rec 2 (/ neg) ^ calcFunc-exp (var e var-e) math-expr-contains-vars] 4 (#$ . 49358)])
#@60 Return non-nil if expr refers to any variables.

(fn EXPR)
(defalias 'math-expr-contains-vars #[257 "\211\242\300=\206(\211\211:?\206\211@\301>\262?\205(\211A\211\262\203'\302@!\203\211\207" [var (frac float cplx polar hms date mod var) math-expr-contains-vars] 4 (#$ . 49847)])
#@152 Simplify a polynomial in list form by stripping off high-end zeros.
This always leaves the constant part, i.e., nil->nil and non-nil->non-nil.

(fn P)
(defalias 'math-poly-simplify #[257 "\211\205i\211GS8\211:\203#\211@\300=\203\211A@\301=\202&\302!\202&\211\301=\262\203h\303!\211A\203f\211GS8\211:\203R\211@\300=\203L\211A@\301=\202U\302!\202U\211\301=\262\203f\211G\304Z\233\305\241\210\202.\211\207\211\207" [float 0 math-zerop copy-sequence 2 nil] 5 (#$ . 50143)])
#@18 

(fn A AC B BC)
(defalias 'math-poly-mix #[1028 "\204\205%\300\301@\206\302\"\301@\206\302\"\"\303AA$B\207" [math-add math-mul 0 math-poly-mix] 10 (#$ . 50641)])
#@10 

(fn A)
(defalias 'math-poly-zerop #[257 "\211?\206,\211A?\205,\211@\211:\203'\211@\300=\203!\211A@\301=\202*\302!\202*\211\301=\262\207" [float 0 math-zerop] 4 (#$ . 50827)])
#@50 Multiply two polynomials in list form.

(fn A B)
(defalias 'math-poly-mul #[514 "\205\211\205\300@\301A\302B\"\303$\207" [math-poly-mix math-poly-mul 0 1] 9 (#$ . 51018)])
#@57 Build an expression from a polynomial list.

(fn P VAR)
(defalias 'math-build-polynomial-expr #[514 "\203\207\211\211:?\206\211@\301>\262\2038\302T\303!\211@A\211\262\2033\304@\305\"\"\262\202\262)!\207\303!\211GS\305@\306\"\"A\211\262\203\206S\262\307@!\204F\310@!\203d\311\202e\312\305\310@!\203w\313@!\202y@\306\"\"E\262\202F\207\314\207" [calc-internal-prec (frac float cplx polar) math-normalize reverse math-add math-mul math-pow math-zerop math-looks-negp - + math-neg 0] 12 (#$ . 51206)])
#@10 

(fn F)
(defalias 'math-to-simple-fraction #[257 "\211\242\300=\203@\3018\302Y\203\303A@\3018\"\206A\211A@\250\203@\211A@\304V\203@\211A@\305W\203@\306A@\303\307\3018[\"\"\206A\211\207" [float 2 0 math-scale-int -1000 1000 math-make-frac 1] 7 (#$ . 51757)])
(provide 'calc-alg)

Zerion Mini Shell 1.0