;ELC ;;; Compiled ;;; in Emacs version 27.1 ;;; 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) (defalias 'calc-derivative #[(var num) "\300\301`\"\207" [calc-do #[nil "\305W\203\n\306\307!\210\310 \203\311\202\312\313\211\f\314\232\204%\f\315\232\2032\316\317\316!\317\320!\202J\321\f!\211\242\306=\203D\306\322\fA@\"\210\320\317\320!S\211\305Y\203[ \fE\202J\323\n\324 #+\207" [num expr n func var 0 error "Order of derivative must be positive" calc-is-hyperbolic calcFunc-tderiv calcFunc-deriv nil "" "$" 2 calc-top-n 1 math-read-expr "Bad format in expression: %s" calc-enter-result "derv"] 5]] 3 nil "sDifferentiate with respect to: \np"]) (defalias 'calc-integral #[(var &optional arg) "\203\302\303\304\305\306 \306\211&\207\307\310`\"\207" [arg var calc-tabular-command calcFunc-integ "Integration" "intg" nil calc-do #[nil "\301\232\204\f\302\232\203\303\304\305\306\307\304!\307\310!E#\207\311!\211\242\312=\203+\312\313A@\"\210\303\310\305\306\307\310!E#)\207" [var "" "$" calc-enter-result 2 "intg" calcFunc-integ calc-top-n 1 math-read-expr error "Bad format in expression: %s"] 8]] 8 nil "sIntegration variable: \nP"]) (defalias 'calc-num-integral #[(&optional varname lowname highname) "\303\304\305\306\307 \n&\207" [varname lowname highname calc-tabular-command calcFunc-ninteg "Integration" "nint" nil] 8 nil "sIntegration variable: "]) (defalias 'calc-summation #[(arg &optional varname lowname highname) "\304\305\306\307 \n &\207" [arg varname lowname highname calc-tabular-command calcFunc-sum "Summation" "sum"] 8 nil "P\nsSummation variable: "]) (defalias 'calc-alt-summation #[(arg &optional varname lowname highname) "\304\305\306\307 \n &\207" [arg varname lowname highname calc-tabular-command calcFunc-asum "Summation" "asum"] 8 nil "P\nsSummation variable: "]) (defalias 'calc-product #[(arg &optional varname lowname highname) "\304\305\306\307 \n &\207" [arg varname lowname highname calc-tabular-command calcFunc-prod "Index" "prod"] 8 nil "P\nsIndex variable: "]) (defalias 'calc-tabulate #[(arg &optional varname lowname highname) "\304\305\306\307 \n &\207" [arg varname lowname highname calc-tabular-command calcFunc-table "Index" "tabl"] 8 nil "P\nsIndex variable: "]) (defalias 'calc-tabular-command #[(func prompt prefix arg varname lowname highname) "\300\301`\"\207" [calc-do #[nil "\306\211\211\211\211\211\307\306:\203\307\202\310\311\232\2042\312\232\2042\204L\313\nT!\313\n\314\\!\313\n\315\\!\n\316\\\202G;\203Y\317!\202[\211\242\320=\203l\320\321A@\"\210\204|\322\323\324R!\311\232\204\212\312\232\203\235\313\nT!\313\n\314\\!\n\315\\\202G;\203\252\317!\202\254\211\242\320=\203\275\320\321A@\"\210 \204\321\322\323\324\325\260!  \311\232\204\337 \312\232\203\353\313\nT!\n\314\\\202G ;\203\370\317 !\202\372 \211\242\320=\203 \320\321 A@\"\210:\203G\322\323\324\325 \326\260!\211\311\232\204, \312\232\2035\313\307!\314\202G\317 !\211\242\320=\203G\320\321\fA@\"\210\f\204b:\203X\313\307!\202b\203b\327!\313 !\330 !\331\" \257\f\205{\fC\"#.\207" [expr num stepnum stepname step high nil 1 0 "" "$" calc-top-n 2 3 4 math-read-expr error "Bad format in expression: %s" read-string " variable: " ", from: " ", to: " ", step: " prefix-numeric-value calc-enter-result append low var arg varname lowname prompt highname prefix func] 10]] 3]) (defalias 'calc-solve-for #[(var) "\300\301`\"\207" [calc-do #[nil "\302 \203\303 \203\304\202\305\202\303 \203\306\202\307 \310\232\204) \311\232\2038\312\313\314\315\313!\315\316!E#\202l\317\320 \"\203O\317\321 \"\204O\322\323 \324Q!\202R\322 !\211\242\325=\203a\325\326 A@\"\210\312\316\314\315\316! E#))\207" [func var calc-is-inverse calc-is-hyperbolic calcFunc-ffinv calcFunc-finv calcFunc-fsolve calcFunc-solve "" "$" calc-enter-result 2 "solv" calc-top-n 1 string-match ",\\|[^ ] +[^ ]" "\\[" math-read-expr "[" "]" error "Bad format in expression: %s"] 8]] 3 nil "sVariable(s) to solve for: "]) (defalias 'calc-poly-roots #[(var) "\300\301`\"\207" [calc-do #[nil "\301\232\204\f\302\232\203\303\304\305\306\307\304!\307\310!E#\207\311\312\"\2030\311\313\"\2040\314\315\316Q!\2023\314!\211\242\317=\203B\317\320A@\"\210\303\310\305\306\307\310!E#)\207" [var "" "$" calc-enter-result 2 "prts" calcFunc-roots calc-top-n 1 string-match ",\\|[^ ] +[^ ]" "\\[" math-read-expr "[" "]" error "Bad format in expression: %s"] 8]] 3 nil "sVariable to solve for: "]) (defalias 'calc-taylor #[(var nterms) "\300\301`\"\207" [calc-do #[nil "\302!\211\242\303=\203\303\304A@\"\210\305\306\307\310\311\306!\312 !F#)\207" [var nterms math-read-expr error "Bad format in expression: %s" calc-enter-result 1 "tylr" calcFunc-taylor calc-top-n prefix-numeric-value] 9]] 3 nil "sTaylor expansion variable: \nNNumber of terms: "]) (defalias 'math-derivative #[(expr) " \232\203\306\207\211:?\206\211@\307>\262\204C@\310=\204C@\311=\203E\n\203C\312!\204C\313 \210\314\3158 \236\206=\fA@>\203E\316\207@\317=\203Y\320\321A@!\321\3158!\"\207@\322=\203m\323\321A@!\321\3158!\"\207@\324>\203\202@\321A@!\321\3158!E\207@\325=\203\221\326\321A@!!\207@\327=\203\257\320\330\3158\321A@!\"\330A@\321\3158!\"\"\207@\331=\203\324\323\332\321A@!\3158\"\332\330A@\321\3158!\"\333\3158!\"\"\207@\334=\203c\321A@!\321\3158!\211@\211:\203\211@\335=\203\377\211A@\316=\262\202\f\336!\262\202\f\211\316=\262\204'\330\3158\330\337\334A@\320\3158\340\"E!@\"\"@ \211:\203F\211@\335=\203>\211A@\316=\262\202K\336!\262\202K\211\316=\262\204\\\330\337\341A@D!\330 \"\"\320@ \"*\207@\342=\203p\321A@!\207@\343=\203|\344\321\"\207@\345>\203\223G\315U\203\223@\321A@!D\207@\346>\203\306G\347U\203\306\321A@!\211A\211:?\206\263\211@\350>\262\203\274\316\202\304@A\3158E)\207@9\2031G\315U\203@\321N\211B\205\321A@!\211C\211:\203\211@\335=\203\373\211A@\316=\262\202\336!\262\202\211\316=\262\203C\202\330BA@!C\"))\202.@\351N\211B\205-B!)\206iD\352=\204X\353!\211E\205T\352D\3542L\321!0)\206T\321E!)\206i\211:?\206c\211@\355>\262\204u@\311=\204u@9\204\214D\203\356\354\357\"\207\n\203\207\360\202\210\361 E\207\316\306\357FGHIHA\211H\203f\321H@!\211F\211:\203\307\211@\335=\203\277\211A@\316=\262\202\314\336!\262\202\314\211\316=\262\204^\362\363@!\364G\306V\203\343\365G!\202\344\366Q!G\315U\203\361\367\202G\347U\203\374\370\202G\371U\203\372\202G\373U\203\374\202G\375U\205\376JK\320I\330FKJNBJ\203>B\203>\377BA\"\206XD\203SK\201LN\204S\356\354\357\"\202XKAB)\"\"I*GTG\202\230I,\207" [expr math-deriv-var math-deriv-total math-decls-cache math-decls-all dv 1 (frac float cplx polar hms) sdev var math-const-var math-setup-declarations const 2 0 + math-add math-derivative - math-sub (calcFunc-eq calcFunc-neq calcFunc-lt calcFunc-gt calcFunc-leq calcFunc-geq) neg math-neg * math-mul / math-div math-sqr ^ float math-zerop math-normalize -1 calcFunc-ln % vec math-map-vec (calcFunc-conj calcFunc-re calcFunc-im) (calcFunc-subscr calcFunc-mrow calcFunc-mcol) 3 (frac float cplx polar) math-derivative-n pre-expand math-expand-formula math-deriv (frac float cplx polar hms date sdev intv mod vec) throw nil calcFunc-tderiv calcFunc-deriv intern symbol-name "'" int-to-string "" math-derivative-1 math-derivative-2 4 math-derivative-3 5 math-derivative-4 6 math-derivative-5 apply du d handler deriv math-deriv-symb exp derv n arg accum prop func calc-user-defn] 10]) (defalias 'calcFunc-deriv #[(expr math-deriv-var &optional deriv-value math-deriv-symb) "\305\3062\n\307 !0\211\242\310=\204\n\203\311\n!\n\205+ \203*\312\n\f #\202+\n*\207" [math-deriv-total expr res deriv-value math-deriv-var nil math-deriv math-derivative calcFunc-deriv math-normalize math-expr-subst] 5]) (defalias 'calcFunc-tderiv #[(expr math-deriv-var &optional deriv-value math-deriv-symb) "\305 \210\306\3072 \310 !0\211\242\311=\204\n\203\312\n!\n\205. \203-\313\n\f #\202.\n*\207" [math-deriv-total expr res deriv-value math-deriv-var math-setup-declarations t math-deriv math-derivative calcFunc-tderiv math-normalize math-expr-subst] 5]) (byte-code "\300\301\302\303#\210\300\304\302\305#\210\300\306\302\307#\210\300\310\302\311#\210\300\312\302\313#\210\300\314\302\315#\210\300\316\302\317#\210\300\320\321\322#\210\300\323\321\324#\210\300\325\302\326#\210\300\327\302\330#\210\300\331\302\332#\210\300\333\302\334#\210\300\335\302\336#\210\300\337\302\340#\210\300\341\302\342#\210\300\343\302\344#\210\300\345\302\346#\210\300\347\302\350#\210\300\351\302\352#\210\300\353\302\354#\210\300\355\302\356#\210\300\357\302\360#\210\300\361\302\362#\210\300\363\302\364#\210\300\365\302\366#\210\300\367\302\370#\210\300\371\302\372#\210\300\373\302\374#\210\300\375\321\376#\210\300\377\321\201@#\210\300\201A\321\201B#\210\300\201C\321\201D#\210\300\201E\321\201F#\210\300\201G\321\201H#\207" [put calcFunc-inv\' math-derivative-1 #[(u) "\301\302\303\304!\"!\207" [u math-neg math-div 1 math-sqr] 5] calcFunc-sqrt\' #[(u) "\301\302\303\304\305D\"\"\207" [u math-div 1 math-mul 2 calcFunc-sqrt] 6] calcFunc-deg\' #[(u) "\300\301\302 \"\207" [math-div-float (float 18 1) math-pi] 3] calcFunc-rad\' #[(u) "\300 \207" [math-pi-over-180] 1] calcFunc-ln\' #[(u) "\301\302\"\207" [u math-div 1] 3] calcFunc-log10\' #[(u) "\301\211\302\303\304!\"\"\207" [u math-div 1 math-normalize (calcFunc-ln 10)] 5] calcFunc-lnp1\' #[(u) "\301\302\303\302\"\"\207" [u math-div 1 math-add] 5] calcFunc-log\' math-derivative-2 #[(x b) "\211:\203\211@\303=\203\211A@\304=\262\202$\305!\262\202$\211\304=\262?\2056\306\307D!\310\311\312 \n\"\")\207" [b lnv x float 0 math-zerop math-normalize calcFunc-ln math-div 1 math-mul] 5] calcFunc-log\'2 #[(x b) "\303D\304\305\306\nE\307 \"\"!)\207" [b lnv x calcFunc-ln math-neg math-div calcFunc-log math-mul] 6] calcFunc-exp\' #[(u) "\301\302D!\207" [u math-normalize calcFunc-exp] 3] calcFunc-expm1\' #[(u) "\301\302D!\207" [u math-normalize calcFunc-expm1] 3] calcFunc-sin\' #[(u) "\301\302\303D!\304\"\207" [u math-to-radians-2 math-normalize calcFunc-cos t] 4] calcFunc-cos\' #[(u) "\301\302\303\304D!\305\"!\207" [u math-neg math-to-radians-2 math-normalize calcFunc-sin t] 5] calcFunc-tan\' #[(u) "\301\302\303\304D!!\305\"\207" [u math-to-radians-2 math-sqr math-normalize calcFunc-sec t] 5] calcFunc-sec\' #[(u) "\301\302\303\304D!\303\305D!\"\306\"\207" [u math-to-radians-2 math-mul math-normalize calcFunc-sec calcFunc-tan t] 6] calcFunc-csc\' #[(u) "\301\302\303\304\305D!\304\306D!\"\307\"!\207" [u math-neg math-to-radians-2 math-mul math-normalize calcFunc-csc calcFunc-cot t] 7] calcFunc-cot\' #[(u) "\301\302\303\304\305D!!\306\"!\207" [u math-neg math-to-radians-2 math-sqr math-normalize calcFunc-csc t] 6] calcFunc-arcsin\' #[(u) "\301\302\303\304\305\306\303\307!\"D!\"\310\"\207" [u math-from-radians-2 math-div 1 math-normalize calcFunc-sqrt math-sub math-sqr t] 9] calcFunc-arccos\' #[(u) "\301\302\303\304\305\306\307\310!\"D!\"\311\"\207" [u math-from-radians-2 math-div -1 math-normalize calcFunc-sqrt math-sub 1 math-sqr t] 9] calcFunc-arctan\' #[(u) "\301\302\303\304\303\305!\"\"\306\"\207" [u math-from-radians-2 math-div 1 math-add math-sqr t] 7] calcFunc-sinh\' #[(u) "\301\302D!\207" [u math-normalize calcFunc-cosh] 3] calcFunc-cosh\' #[(u) "\301\302D!\207" [u math-normalize calcFunc-sinh] 3] calcFunc-tanh\' #[(u) "\301\302\303D!!\207" [u math-sqr math-normalize calcFunc-sech] 4] calcFunc-sech\' #[(u) "\301\302\303\304D!\303\305D!\"!\207" [u math-neg math-mul math-normalize calcFunc-sech calcFunc-tanh] 6] calcFunc-csch\' #[(u) "\301\302\303\304D!\303\305D!\"!\207" [u math-neg math-mul math-normalize calcFunc-csch calcFunc-coth] 6] calcFunc-coth\' #[(u) "\301\302\303\304D!!!\207" [u math-neg math-sqr math-normalize calcFunc-csch] 5] calcFunc-arcsinh\' #[(u) "\301\302\303\304\305\306!\302\"D!\"\207" [u math-div 1 math-normalize calcFunc-sqrt math-add math-sqr] 7] calcFunc-arccosh\' #[(u) "\301\302\303\304\305\306!\307\"D!\"\207" [u math-div 1 math-normalize calcFunc-sqrt math-add math-sqr -1] 7] calcFunc-arctanh\' #[(u) "\301\302\303\302\304!\"\"\207" [u math-div 1 math-sub math-sqr] 6] calcFunc-bern\'2 #[(n x) "\302\303\304\305\" E\"\207" [n x math-mul calcFunc-bern math-add -1] 6] calcFunc-euler\'2 #[(n x) "\302\303\304\305\" E\"\207" [n x math-mul calcFunc-euler math-add -1] 6] calcFunc-gammag\'2 #[(a x) "\302 \303#\207" [a x math-deriv-gamma 1] 4] calcFunc-gammaG\'2 #[(a x) "\302 \303#\207" [a x math-deriv-gamma -1] 4] calcFunc-gammaP\'2 #[(a x) "\302 \303\304\305\306D!\"#\207" [a x math-deriv-gamma math-div 1 math-normalize calcFunc-gamma] 8] calcFunc-gammaQ\'2 #[(a x) "\302 \303\304\305\306D!\"#\207" [a x math-deriv-gamma math-div -1 math-normalize calcFunc-gamma] 8]] 4) (defalias 'math-deriv-gamma #[(a x scale) "\303\303\304 \305\n\306\"\"\307\310 !D\"\"\207" [scale x a math-mul math-pow math-add -1 calcFunc-exp math-neg] 8]) (byte-code "\300\301\302\303#\210\300\304\302\305#\207" [put calcFunc-betaB\' math-derivative-3 #[(x a b) "\303 \n\304$\207" [x a b math-deriv-beta 1] 5] calcFunc-betaI\' #[(x a b) "\303 \n\304\305\306 \nE\"$\207" [x a b math-deriv-beta math-div 1 calcFunc-beta] 9]] 4) (defalias 'math-deriv-beta #[(x a b scale) "\304\211\305\306 \307\"\"\305\310\311\"\306\n\307\"\"\" \"\207" [x a b scale math-mul math-pow math-add -1 math-sub 1] 8]) (byte-code "\300\301\302\303#\210\300\304\302\305#\210\300\306\307\310#\210\300\311\307\312#\210\300\313\314\315#\210\300\316\314\317#\210\300\320\314\321#\210\300\322\314\323#\210\300\324\314\325#\207" [put calcFunc-erf\' math-derivative-1 #[(x) "\302\303\304\305\306!D \203\307\202\310 \"\"\207" [x calc-symbolic-mode math-div 2 math-mul calcFunc-exp math-sqr (calcFunc-sqrt (var pi var-pi)) math-sqrt-pi] 6] calcFunc-erfc\' #[(x) "\302\303\304\305\306!D \203\307\202\310 \"\"\207" [x calc-symbolic-mode math-div -2 math-mul calcFunc-exp math-sqr (calcFunc-sqrt (var pi var-pi)) math-sqrt-pi] 6] calcFunc-besJ\'2 math-derivative-2 #[(v z) "\302\303\304\305\306\" E\304\305\307\" E\"\310\"\207" [v z math-div math-sub calcFunc-besJ math-add -1 1 2] 7] calcFunc-besY\'2 #[(v z) "\302\303\304\305\306\" E\304\305\307\" E\"\310\"\207" [v z math-div math-sub calcFunc-besY math-add -1 1 2] 7] calcFunc-sum math-derivative-n #[(expr) "\302\303AAB \"\203\304\305\306\"\207\307\310A@!AABB\207" [expr math-deriv-var math-expr-contains vec throw math-deriv nil calcFunc-sum math-derivative] 3] calcFunc-prod #[(expr) "\302\303AAB \"\203\304\305\306\"\207\307\310\311\312A@!A@\"AABB\"\207" [expr math-deriv-var math-expr-contains vec throw math-deriv nil math-mul calcFunc-sum math-div math-derivative] 6] calcFunc-integ #[(expr) "G\304U\203 \3058 \232\203A@\207\306\307\310A@!\3058E!\207G\311U\205s\312A@\3058\3048#\312A@\3058\3138#\314\315\316\n\310\3138!\"\316 \310\3048!\"\"\3058 \232\203^\317\202q\306\307\310A@!\3058\3048\3138\257!\"*\207" [expr math-deriv-var upper lower 3 2 math-normalize calcFunc-integ math-derivative 5 math-expr-subst 4 math-add math-sub math-mul 0] 9] calcFunc-if #[(expr) "G\301U\205\302A@\303\3048!\303\3058!F\207" [expr 4 calcFunc-if math-derivative 2 3] 6] calcFunc-subscr #[(expr) "G\301U\205\302A@\303\3048!E\207" [expr 3 calcFunc-subscr math-derivative 2] 5]] 4) (defvar math-integ-var '(var X ---)) (defvar math-integ-var-2 '(var Y ---)) (defvar math-integ-vars (list 'f math-integ-var math-integ-var-2)) (defvar math-integ-var-list (list math-integ-var)) (defvar math-integ-var-list-list (list math-integ-var-list)) (defalias 'math-tracing-integral '(macro . #[(&rest parts) "\301\302\303\302\304\305\306B\307BBBBBE\207" [parts and trace-buffer with-current-buffer (goto-char (point-max)) (and (bolp) (insert (make-string (- math-integral-limit math-integ-level) 32) (format "%2d " math-integ-depth) (make-string math-integ-level 32))) insert ((sit-for 0))] 8])) (defvar math-integral-cache nil) (defvar math-integral-cache-state nil) (defalias 'math-integral #[(expr &optional simplify same-as-above) "\306\n \"\fT\3074\203?r4q\210db\210n\2031\31056Z\311\"\312\313\f\"\3106\311\"\261\210\314\315\n\316\"\317\261\210\320\321!\210)\203\2674\203wr4q\210db\210n\203h\31056Z\311\"\312\313\f\"\3106\311\"\261\210\322\315A@\316\"\261\210\320\321!\210)A@:\203\202\323!\2104\203\267r4q\210db\210n\203\247\31056Z\311\"\312\313\f\"\3106\311\"\261\210\324\315A@\316\"\325\261\210\320\321!\210)\203\323A@\307=\204\323A@\250\203,A@6Y\204,\326\n!\203\336\327\202,\330\216\32778\331=\203\375\332\333!\210\312\334\335\n\321\"\"7\336\3377\"\210\203A9\203\340 !\202\341\240\210\202'\n9\203 \340 !\202!\341D\211 B:\342=\203\3164\203[r4q\210db\210n\203S\31056Z\311\"\312\313\f\"\3106\311\"\261\210\343c\210\320\321!\210)\344\n!\211\n\232\203\2304\203\222r4q\210db\210n\203\212\31056Z\311\"\312\313\f\"\3106\311\"\261\210\345c\210\320\321!\210)\346\n!\202\3124\203\305r4q\210db\210n\203\275\31056Z\311\"\312\313\f\"\3106\311\"\261\210\347c\210\320\321!\210)\350 \351\352#\202\346\n!\211\204:\351=\204\344\n!\211\n\232\2044\203r4q\210db\210n\203\f\31056Z\311\"\312\313\f\"\3106\311\"\261\210\353\354\261\210\320\321!\210)\350 \351\352#))8\331=\203+\336\3377\"\210)\355 A@!\203? A@\321H\202. A@\356>\203S A\357\240\210\360\361 E\202] A@:\205] A@4\203\226r4q\210db\210n\203\203\31056Z\311\"\312\313\f\"\3106\311\"\261\210\362\315\n\316\"\363\315 \316\"\325\261\210\320\321!\210) ,\207" [math-cur-record simp expr math-integral-cache math-integ-depth val assoc cancelled make-string 32 format "%2d " "Integrating " math-format-value 1000 "...\n" sit-for 0 "Found " math-replace-integral-parts " => " "\n" math-integral-contains-parts nil #[nil "A \206\n\204 \204\f\202\305\240\207" [math-cur-record val math-enable-subst math-any-substs math-integ-level cancelled] 2] lots calc-set-command-flag clear-message "Working... Integrating %s" math-format-flat-expr message "%s" vector busy yes "Simplifying..." math-simplify " no change\n" math-do-integral " simplified\n" math-integral no t "Trying again after " "simplification...\n" vectorp (parts parts2) parts2 var PARTS "Integral of " " is " trace-buffer math-integral-limit math-integ-level math-integ-msg calc-display-working-message same-as-above simplify] 7]) (defalias 'math-integral-contains-parts #[(expr) "\211:?\206 \211@\301>\262\203$\242\302=\2053A@\303=\2053\3048<\207A\211\2032\305@!\203$\207" [expr (frac float cplx polar hms date mod var) var PARTS 2 math-integral-contains-parts] 3]) (defalias 'math-replace-integral-parts #[(expr) "\211:?\206 \211@\302>\262\206bA\211\205b@:\203@@\303=\203Z@A@\304=\203\305@8:\203\305@8A@<\203R\305@8A@\240\210\306\307B!\210\202 A\310\240\210\202\306@!\210\202\207" [expr math-cur-record (frac float cplx polar hms date mod var) var PARTS 2 math-replace-integral-parts foo cancelled] 3]) #@58 Non-nil means that a linear substitution has been tried. (defvar math-linear-subst-tried t (#$ . 19695)) (defalias 'math-do-integral #[(expr) "\306\211\211\307 \f\"\204\310 \f\"\202\f \f\232\203#\311\312 !\313\"\202\f @\314=\203E\315 A@!\211\203\315\313 8!\211\203\316 \"\202\f @\317=\203g\315 A@!\211\203\315\313 8!\211\203\320 \"\202\f @\321=\203~\315 A@!\211\203\322 !\202\f @\323=\203\307 A@\f\"\204\241\315\313 8!\211\203\310 A@ \"\202\f\307\313 8\f\"\204\275\315 A@!\211\203\310 \313 8\"\202\f A@\242\324>\203\346\315 A@@\310 A@A@\313 8\"\310\313 A@8\313 8\"E\325\326#\202\f\313 8\242\327>\203\315\313 8@\310\313 8A@ A@\"\310\313\211 88 A@\"E\325\326#\202\f @\330=\2036\307 A@\f\"\204>\331 A@\332\"\204>\315\311\332\313 8\"!\211\203\310 A@ \"\202\f\307\313 8\f\"\204Z\315 A@!\211\203\311 \313 8\"\202\f A@\242\323=\203\212\307 A@A@\f\"\204\212\315\311\313 A@8\313 8\"!\211\203\310 A@A@\"\202\f A@\242\323=\203\272\307\313 A@8\f\"\204\272\315\311 A@A@\313 8\"!\211\203\310 \313 A@8\"\202\f\313 8\242\323=\203\352\307\313 8A@\f\"\204\352\315\311 A@\313\211 88\"!\211\203\311 \313 8A@\"\202\f\313 8\242\323=\203\307\313\211 88\f\"\204\315\311 A@\313 8A@\"!\211\203\311 \313\211 88\"\202\f\313 8\242\333=\203\315\310 A@\333\322\313 8A@!D\"!\202\f @\334=\203\307 A@\f\"\204y\335\313 8\f\332#\211\203d\311 \310 A@\336\337 A@D!\"\"\206\365\315\333\310\313 8\336\337 A@D!\"D\325\326#\202\f\307\313 8\f\"\204\313 8\250\203\244\313 8\340W\203\244\315\330\332\341 A@\313 8[\"E\306\326#\202\f\335 A@\f\332#\211\203\314\316\313 8\332\"\211\203\314\311\341 A@\"\310 A@\"\"\206\365\313 8\211:\203\363\211@\342>\203\353\211A@\211\250\205\346\211\340W\266\202\202\370\343!\262\202\370\211\340W\262\203\315\311\332\341 A@\322\313 8!\"\"\306\326#\206\365\335 \f\344#\211\203F\340\332@ \203@\316@\311\310 @\341\f \"\" \"\"@ A\211\203 T\202@*\206\365 G\313U\203| @9\203\265 @\315N\211\203\265 \203r @ A@!\211\204r A\211\204`\203\265\336!\202\262 G\345U\203\265 @9\203\265 @\346N\211\203\265 \203\253 @ A@\313 8\"\211\204\253 A\211\204\226\203\265\336!\206\365\347 \f\"\203\321\350 \f\"\211\203\321 \232\204\321\315 !\206\365A\203E\351K\352 \fE\306\211BCDE\353\216\351\354M\210\355D\356\332#C\351EM\210CD\232?\205A\357C\360\"\211B\2036BG\361>\205A\362\363BA\"F\364 F@\326\313F8\206-\365\fD\345F8%)\202A\357C\366\"?\205AC-\206\365\367\370\371 @!\"\203\330\371 @! \340\306\211GHIJ TIA\211I\203\224I@\f\232\203\205H\203\326G\202` H\202`\307I@\f\"\203`\326G\202`H\205\324G?\205\324H\332U\203\252\370\202\257\372\373H\"K\367K\374PJ\"\205\323\375\376J\340\211\224#\376J\340\224KG\\\"P! AB)-\206\365L\340V\203\345\377 !\206\365\201M !\211C\205\364\315C!)+\207" [math-t2 math-t1 math-linear-subst-tried expr math-integ-var n nil math-expr-contains math-mul math-div math-sqr 2 + math-integral math-add - math-sub neg math-neg * (+ -) yes t (+ -) / math-equal-int 1 calcFunc-exp ^ math-is-polynomial math-normalize calcFunc-ln 0 math-pow (frac float) math-negp 20 3 math-integral-2 math-ratpoly-p calcFunc-apart calcFunc-integ calcFunc-integtry #[nil "\301M\207" [math-old-integ calcFunc-integ] 2] math-sub-integration math-rewrite (var IntegRules var-IntegRules) math-expr-calls (calcFunc-integsubst) (3 4 5) mapcar #[(x) "\303\304 8\n#\207" [x part math-integ-var math-expr-subst 2] 4] math-integrate-by-substitution calcFunc-integfailed (calcFunc-integtry calcFunc-integfailed) string-match "'" symbol-name format "'%d" "\\('['0-9]*\\|$\\)" intern substring math-do-integral-methods accum math-has-rules part res input math-old-integ parts bad which p name prime math-integ-level math-expand-formula] 9]) (defalias 'math-sub-integration #[(expr &rest rest) "\203 \nW\203@ =\203\306\f!\2020\307 \f# \nU\204-\310 \311\"?\205/ )\2066\312\fD\207" [rest math-integ-level math-integral-limit math-integ-var expr math-old-integ math-integral apply math-expr-calls calcFunc-integ calcFunc-integfailed res] 4]) (defalias 'math-do-integral-methods #[(math-integ-expr) "\306\307 !\206t\310 !\206t\311 !\211\211\2032\f@@\312>\2032\f@A@ \232\2032\fA\211\204\f)\204P\313 !\203D\314 \315\"\206t\316 \317\320 \321\"D\"\206t \211\203n\f@@\322>\203n\f@A@ \232\203n\fA\211\204V\f)\204\214\313 !\203\200\314 \315\"\206t\316 \323\320 \321\"D\"\206t \306\"\f\203\274\f@ \232\204\265\f@@\324=\203\274\325\f@\211#A@ \321#\211\"\203\274\fA\211\204\225\f?\205\303\")\203q\"AA\203i\326\321\"8!\203\327\330\321\"8!!$\320\"A@\331\332$\"\"%\327\333\"@\334%!\"!&\316 \335\336\333\331$ \"%\"&\"D\"+\202n\327\321\"8!$\320\"A@\331\321$\"\"%\337\"@\334%!\"'\326'!\203Q\316 \340\336\333\331$ \"%\"\327\330'!!\"D\"\202e\316 \341\336\333\331$ \"%\"\327'!\"D\"+\202n\316 #\"\206t\314 !*\207" [math-integ-var-list-list rat-in math-so-far math-integ-expr p math-integ-var nil math-integ-try-linear-substitutions math-integ-try-substitutions math-expr-rational-in (calcFunc-sin calcFunc-cos calcFunc-tan calcFunc-sec calcFunc-csc calcFunc-cot) math-integ-parts-easy math-integ-try-parts t math-integrate-by-good-substitution calcFunc-tan math-div 2 (calcFunc-sinh calcFunc-cosh calcFunc-tanh calcFunc-sech calcFunc-csch calcFunc-coth calcFunc-exp) calcFunc-tanh calcFunc-sqrt math-is-polynomial math-guess-if-neg math-sqrt math-neg math-mul -2 math-add math-sqr calcFunc-arcsin math-div-thru math-sub calcFunc-arccosh calcFunc-arcsinh math-t1 math-t2 c d a aa] 9]) (defalias 'math-integ-parts-easy #[(expr) "\211:?\206 \211@\301>\262\203\302\207@\303>\203'\304A@!\205_\304\3058!\207@\306=\203<\304A@!\205_\307\3058!\207@\310=\203Q\311\3058!\205_\304A@!\207@\312=\203^\304A@!\207\302\207" [expr (frac float cplx polar hms date mod var) t (+ - *) math-integ-parts-easy 2 / math-atomic-factorp ^ natnump neg] 3]) (defalias 'math-integ-try-parts #[(expr &optional math-good-parts) "\306!\211\232?\205\307 !)\206\224@\310=\203S\311A@\n\"\206'\3128 \232\211\2037\313A@\3128\"\206O\313\3128A@\"\206O\f?\205O\313A@\3128\")\206\224@\314=\203}\315A@\n\"\203}\316\317\3128\"\313A@ \"\206y\313 A@\")\206\224@\320=\205\224\313\321A@\322\3128\317\"\"A@\"\207" [expr exp math-integ-var math-prev-parts-v first-bad recip calcFunc-expand math-integral * math-polynomial-p 2 math-integrate-by-parts / math-expr-contains math-div 1 ^ math-pow math-sub] 7]) (defalias 'math-integrate-by-parts #[(u vprime) "\204 \306 \n\"\203 \202 S\307\310\211#\211\311Y\205\310\312\216$A\313\240\210%\203_r%q\210db\210n\203K\314& Z\315\"\316\317'\"\314 \315\"\261\210\320\321 \322\"\323\321(\322\"\324\261\210\325\311!\210)\326(!\211\205\307\327 \n\310\307$\211\205\307 )\326\330 \f\"\331\")\211\205\307\332\330 \"\f\"\211\205\307$A@\313=\203\236\333\f!\202\307\334\335$E\310*\336\337\332 \f\"\311 \310$!)\211\242\340=\205\300\341\342\f8!?\205\305\f\211),\207" [math-good-parts u math-integ-var math-integ-level temp v math-polynomial-p t nil 0 #[nil "A\301\240\207" [math-cur-record busy] 2] parts make-string 32 format "%2d " "Integrating by parts, u = " math-format-value 1000 ", v' = " "\n" sit-for math-integral calcFunc-deriv math-mul yes math-sub calcFunc-expand var PARTS math-simplify-extended math-solve-for / math-zerop 2 math-doing-parts math-cur-record trace-buffer math-integral-limit math-integ-depth vprime math-prev-parts-v calc-next-why] 7]) (defalias 'math-integrate-by-substitution #[(expr u &optional user uinv uinvprime) "\306V\205\307Z\306]\310 \n \f %)\207" [math-integ-level expr u user uinv uinvprime 0 2 math-integrate-by-good-substitution] 6]) (defalias 'math-integrate-by-good-substitution #[(expr u &optional user uinv uinvprime) "\306\307\211 \203\310 \f #\202\307\311 \f\307$)\211\205\263\203Wrq\210db\210n\203H\312Z\313\"\314\315\"\312\313\"\261\210\316\317\320\"\321\261\210\322\323!\210)\324\f\307 ?$\211\203\325\310\211\211\326! \" #\f # \f#\327\"\211\204\253\"\206\214\324 \f ?$\211\205\263\325\330\310\211\211! #\f # \f# \"\327\"\211\205\263\331\310\f#!+\207" [temp deriv math-living-dangerously uinv math-integ-var math-integ-var-2 t nil math-expr-subst math-solve-for make-string 32 format "%2d " "Integrating by substitution, u = " math-format-value 1000 "\n" sit-for 0 calcFunc-deriv math-integral math-div yes math-mul math-simplify-extended calc-next-why u trace-buffer math-integral-limit math-integ-level math-integ-depth user expr uinvprime] 8]) (defalias 'math-integ-try-linear-substitutions #[(sub-expr) "\306 \211:?\206 \211@\307>\262?\205q @\310>\204] @\311=\203(\312 8\250\204]\313 \n\"\203]\314 A\211\203X\315 @\n\"\2031\316 @\f\"\2041 @C\fB\317 @\"\211\2031 )\206q\314 A\211\203o\320 @!\211\203_ )\207" [math-linear-subst-tried sub-expr math-integ-var res math-so-far math-integ-expr t (frac float cplx polar hms date mod var) (+ - * / neg) ^ 2 math-expr-contains nil math-linear-in assoc math-integrate-by-substitution math-integ-try-linear-substitutions] 3]) (defalias 'math-integ-try-substitutions #[(sub-expr &optional allow-rat) "\211:?\206 \211@\306>\262?\205\215\307 \"?\205\215\310\n\"\205\215@\311>\204;@\312=\2035\3138\250\204;\314\211\202> \315\203s\f=\204s\316\f\"\206\215@\312=\203s\3138\250\203s\3138\317W\203s\320\321A@\3138[\"\314\"\206\215\315C BA\211\203\213\320@ \"\211\203z )\207" [sub-expr math-so-far math-integ-var allow-rat math-integ-expr res (frac float cplx polar hms date mod var) assoc math-expr-contains (+ - * / neg) ^ 2 t nil math-integrate-by-substitution 0 math-integ-try-substitutions math-pow] 5]) (defalias 'math-expr-rational-in #[(expr) "\302\303 !\210\304\305\")\207" [math-expr-parts expr nil math-expr-rational-in-rec mapcar car] 3]) (defalias 'math-expr-rational-in-rec #[(expr) "\211:?\206 \211@\303>\262\203% \232\205z\304\n\"?\205zC\nB\211\207@\305>\204:@\306=\203L\3078\250\203L\310A@!\210\3078\205z\310\3078!\207@\306=\203e\311\3078!\307=\203e\310\312A@D!\207\304\n\"?\205z\313 \"\205zC\nB\211\207" [expr math-integ-var math-expr-parts (frac float cplx polar hms date mod var) assoc (+ - * / neg) ^ 2 math-expr-rational-in-rec math-quarter-integer calcFunc-sqrt math-expr-contains] 3]) (defalias 'math-expr-calls #[(expr funcs &optional arg-contains) ":\205X@ >\204$@\304=\2031 @\305=\2031\306\3078!\307=\2031\n\203/\310\n\"\205X\207\211:?\206<\211@\311>\262?\205X\312A\211\203V\313@ \n#\211\203D )\207" [expr funcs arg-contains res ^ calcFunc-sqrt math-quarter-integer 2 math-expr-contains (frac float cplx polar hms date mod var) nil math-expr-calls] 4]) (defalias 'math-fix-const-terms #[(expr except-vars) "\302 \"\204 \303\207\211:?\206\211@\304>\262\203\207@\305=\2031\306\307A@ \"\307\3108 \"\"\207@\311=\203G\312\307A@ \"\307\3108 \"\"\207\207" [expr except-vars math-expr-depends 0 (frac float cplx polar hms date mod var) + math-add math-fix-const-terms 2 - math-sub] 5]) (defalias 'calc-dump-integral-cache #[(&optional arg) "p\305\216 \306\307\310\311!!\210\312\311!q\210\313 \210 \203N @\f\204%\314\n!\210\315\n@\316\"\317\nA@9\203=\320\321\nA@!\322Q\202C\315\nA@\316\"\323\261\210 A\211\204eb,\207" [buf math-integral-cache math-cur-record p arg #[nil "q\207" [buf] 1] nil display-buffer get-buffer-create "*Integral Cache*" get-buffer erase-buffer math-replace-integral-parts math-format-flat-expr 0 " --> " "(" symbol-name ")" "\n"] 6 nil "P"]) (defalias 'math-try-integral #[(expr) "\306\307\310\311\211\211\312\313!\314\315\"\206G\2031\311\211\2031\314\315\"\206GV\205G\211\211\205G\314\315\".\207" [math-integral-limit math-has-rules calc-symbolic-mode calc-prefer-frac math-integrating math-cur-record 0 "Working...done" nil t calc-has-rules var-IntegRules math-integral yes math-integ-msg math-integ-depth math-integ-level expr math-any-substs math-enable-subst math-max-integral-limit] 10]) (defvar var-IntegLimit nil) (defalias 'calcFunc-integ #[(expr var &optional low high) "\242\306=\203\307\310A@ \n $\310\3118 \n $\"\207\242\312=\2034\313\310A@ \n $\310\3118 \n $\"\207\242\314=\203F\315\310A@ \n $!\207\242\316=\203d\317A@ \"\204d\320A@\310\3118 \n $\"\207\242\316=\203\202\317\3118 \"\204\202\320\310A@ \n $\3118\"\207\242\321=\203\254\317A@ \"\204\254\322A@\323\"\204\254\320A@\310\324\323\3118\" \n $\"\207\242\321=\203\312\317\3118 \"\204\312\324\310A@ \n $\3118\"\207\242\321=\203\374A@\242\316=\203\374\317A@A@ \"\204\374\320A@A@\310\324\311A@8\3118\" \n $\"\207\242\321=\203.A@\242\316=\203.\317\311A@8 \"\204.\320\311A@8\310\324A@A@\3118\" \n $\"\207\242\321=\203`\3118\242\316=\203`\317\3118A@ \"\204`\324\310\324A@\311\21188\" \n $\3118A@\"\207\242\321=\203\222\3118\242\316=\203\222\317\311\21188 \"\204\222\324\310\324A@\3118A@\" \n $\311\21188\"\207\242\325=\203\241\325\326\327A\"B\207\f \330\331!\330\332!F\21145\232\204\27245\3336)\3347!\203\3077\206\310\3358\3239\336 :#;\337\340!<=\341=?\205\344==\342>\333\211?@\333\211AB<\2035p\343 CD\344\216\345\262\203H\310\202I\320 \211:?\206T\211@\317>\262\203]\310\202^\320\n\203r\n\211:?\206m\211@\317>\262\203v\310\202w\320#\321\322\211+\323U\204\305 \324\232\204\305\325\326 \"\n\206\224\310\"\211\211:?\206\241\211@\317>\262\204\252\327 ! \211:\205\274\211@\330=\205\274\3238\320Y\262\203\305\331 ! \211:\203\352\211@\332>\203\342\211A@\211\250\205\335\211\320W\266\202\202\357\333!\262\202\357\211\320W\262\203\364\334 \250\203]\322, T\320-./\335\336 0\337#! \320Y\203L-T-/1\340\267\2026\341\f\335 !\"\202;\342\f\335 !\"\202;\335 !\fB\341\n\206C\310\" S\211\2021\203U\f\202Y\304\f\237B,\202\332\343 !\203k\344\345 \"\210\202\270\211\250\206\202\211:\205\202\211@\330=\205\202\3238\320Y\262\203\263 \211\250\206\236\211:\205\236\211@\330=\205\236\3238\320Y\262\203\253\344\346\n\"\210\202\270\344\346 \"\210\202\270\344\346\"\210\3471\206\277\350 0E\351\232\205\314 \352\232?\205\323 D\n\205\331\nC#+\207" [calc-low calc-high step expr vec count (neg (var inf var-inf)) (var inf var-inf) 1 math-infinitep math-scan-for-limits math-zerop math-reject-arg nonzerop + (frac float cplx polar hms date sdev intv mod) 0 (var inf var-inf) nil 2 (var inf var-inf) math-div math-sub math-simplify float math-trunc (frac float) math-negp -1 math-evaluate-expr math-expr-subst (var DUMMY var-DUMMY) #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (calcFunc-sum 292 calcFunc-prod 301)) math-add math-mul Math-integerp calc-record-why fixnump integerp append calcFunc-table (neg (var inf var-inf)) (var inf var-inf) known math-tabulate-initial math-working-step math-working-step-2 var-DUMMY math-var math-tabulate-function] 7]) (defalias 'math-scan-for-limits #[(x) "\211:?\206 \211@\306>\262\206\242@\307=\203\223A@\211\242\310=\262\203\223\311\3128 \"\203\223\313\314\3128\315 \313$\314\3128A@GS \313$\313 \203k \211:?\206U\211@\316>\262\203k\f\203k\f\211:?\206i\211@\316>\266\f \317\"\320U\266\202\203~ \f \321\322 !\"\323\324\f!\"\211,\207A\211\205\242\325@!\210\202\223\207" [x math-var calc-next-why low-val high-val temp (frac float cplx polar hms date mod var) calcFunc-subscr vec math-expr-contains 2 nil math-solve-for 1 (frac float) math-compare -1 math-max math-ceiling math-min math-floor math-scan-for-limits calc-low calc-high] 5]) (defvar math-disable-sums nil) (defalias 'calcFunc-sum #[(expr var &optional low high step) "\203\306 \210 \307\\\310\n \f  %)\f\311\312\f!*\207" [math-disable-sums calc-internal-prec expr var low high math-reject-arg 2 math-sum-rec t math-normalize step res] 6]) (defalias 'math-sum-rec #[(expr var &optional low high step) "\204\306\307\203 \204\310\311\211\211\312 9\"\2047\313 \314\315\316 \":\2060\310\"\310\"\"\202\354:\203\251\317:\310\"\204\251\320:!\203Y\321 9 \322:!%\202\354\323\315:\"!;\324;!\203\206\321\325\326 9\313:9\"#!9;\323\315 :\"!$\202\245\321\325\326 9\314\313:9\"\"#!9\327\323\315\316 \":\"!$)\202\354\330 \"\211\331>\203\307\f\327=\203\303\326 9#\202\354\327\202\354\332 9\333#\211\203\311\327<=\f\203\365\334=\310\335\203L\321 A@9 $\321\340 89 $\211\203L\341\f\342\"\203D\341 \343\"\204L @\f E\202\354 @\344=\203l\345 9\"\211\203l\313\f@\321\fA9 $\"\202\354 @\344=\203\242 A@\242\346>\203\242\321\347\313 A@A@\340 8\"\313\340 A@8\340 8\"\311 A@@\350=$9 $\202\354 @\344=\203\330\340 8\242\351>\203\330\321\347\313 A@\340 8A@\"\313 A@\340\211 88\"\311\340 8@\350=$9 $\202\354 @\352=\203\353 A@!\204\345 A@9\"\211\203\313\f@\321\315\fA\340 8\"9 $\"\202\354 @\352=\203.\345\340 89\"\211\203.\315\321\315 A@\fA\"9 $\f@\"\202\354 @\354=\203C\322\321 A@9 $!\202\354 @\355=\203\216\312 A@9\"\204\216\332\340 89\310#\211\203\216\356 A@\fA@\">\315\313\316\356>\314\310 \"\"\356>\"\"\356 A@\f@\"\"\316>\310\"\")\202\354\357 !\211\203\257\321\f9 $\211\203\257\341\f\360\"\204\257\361\f!\202\354 @\362>\203\305 @\363 A@9 $D\202\354 @\364=\205\354 G\365U\205\354\312\340 89\"?\205\354\364\363 A@9 $\340 8E\211\366\232\203\365\311\n\206\327?\367@\370 9 $*+\207" [low high val t2 t1 expr (neg (var inf var-inf)) (var inf var-inf) 1 nil math-expr-contains math-mul math-add math-div math-sub math-equal-int math-negp math-sum-rec math-neg math-simplify math-known-num-integerp math-normalize math-expr-subst 0 math-compare (0 1) math-is-polynomial 20 math-poly-mix math-sum-integer-power math-build-polynomial-expr (+ -) 2 math-expr-calls (calcFunc-sum) (calcFunc-sum) * math-sum-const-factors (+ -) math-add-or-sub - (+ -) / math-primp neg ^ math-pow math-to-exponentials (calcFunc-sum) math-to-exps (calcFunc-ln calcFunc-log10) calcFunc-prod calcFunc-log 3 (var nan var-nan) calcFunc-sum calcFunc-table var step lo n poly x math-tabulate-initial math-tabulate-function] 10]) (defalias 'calcFunc-asum #[(expr var low &optional high step no-mul-flag) "\204 \306\n\203k\307\n\306\"\204k\310\n!\203+\311\312\313 \"\314 \f \315\n!\316&\"\207\317\320 \n\"!\321 !\203O\314\322\323 \f\311\n\f\"#!\f \317\320\n\"!$\202i\314\322\323 \f\324\311\n\f\" \"#!\f\325\317\320\326 \"\n\"!$)\207\311\203u\306\202y\312\313 \"\327\311\312\313\f\" \"\f $\"\207" [high low step expr var lo 1 math-equal-int math-negp math-mul math-pow -1 calcFunc-asum math-neg t math-simplify math-div math-num-integerp math-normalize math-expr-subst math-add 0 math-sub calcFunc-sum no-mul-flag] 9]) (defalias 'math-sum-const-factors #[(expr var) "\306\211 \242\307=\203-\310 A@\f\"\203 A@\nB\202% A@ B\311 8\211\202\310 \f\"\203; \nB\202? B \205r @ A\211\203V\307 @ E\202F )\n@\206^\312\nA\211\203o\307\n@ E\202_ )B+\207" [expr p not-const const var temp nil * math-expr-contains 2 1] 5]) (defvar math-sum-int-pow-cache (list '(0 1))) (defalias 'math-sum-integer-power #[(pow) "\306G X\203f\307\211D\211 S8A\310\307\311\203M\312@\"\313 \"\fB\314\"TA\211\204& \315\316\313 \"\"\240\210\f\237C\244 T.\202 8*\207" [math-sum-int-pow-cache n calc-prefer-frac pow new lin t 0 2 nil math-div math-mul math-add math-sub 1 pp p sum q] 7]) (defalias 'math-to-exponentials #[(expr) ":\205\304G\306U\205\304A@ \203\307\202\310 \203!\311\202\"\312@\313=\2033\314\315\fE\202\303@\316=\203c \317=\204H\320\321\f E\322E\320\323\314\324\321\f\nEE\314\325\326\321\f\nEDEE\321\306\nEE\202\303@\327=\203\220 \317=\204x\320\321\f E\322E\320\330\314\331\321\f\nEE\314\332\326\321\f\nEDEE\306E\202\303@\333=\203\251\320\323\314\334\fE\314\335\326\fDEE\306E\202\303@\336=\203\302\320\330\314\337\fE\314\340\326\fDEE\306E\202\303\341+\207" [expr calc-symbolic-mode i pi x calc-angle-mode 2 (var pi var-pi) math-pi (var i var-i) (cplx 0 1) calcFunc-exp ^ (var e var-e) calcFunc-sin rad / * 180 - (var e var-e) (var e var-e) neg calcFunc-cos + (var e var-e) (var e var-e) calcFunc-sinh (var e var-e) (var e var-e) calcFunc-cosh (var e var-e) (var e var-e) nil] 9]) (defalias 'math-to-exps #[(expr) "\203 \207 \211:?\206\211@\302>\262\203! \303\232\203\304 \207 \207 @\305=\2036 A@\306\232\2036\307\310 8D\207 @\311\312 A\"B\207" [calc-symbolic-mode expr (frac float cplx polar hms date mod var) (var e var-e) math-e ^ (var e var-e) calcFunc-exp 2 mapcar math-to-exps] 4]) (defvar math-disable-prods nil) (defalias 'calcFunc-prod #[(expr var &optional low high step) "\203\306 \210 \307\\\310\n \f  %)\f\311\312\f!*\207" [math-disable-prods calc-internal-prec expr var low high math-reject-arg 2 math-prod-rec t math-normalize step res] 6]) (defalias 'math-prod-rec #[(expr var &optional low high step) "\204\306\307\203 \204\310\311\211\211\211\31278\"\2049\3137\314\315\316 \"9\2062\317\"\317\"\"\202#9\203\256\3209\317\"\204\256\3219!\203\\\32278 \3239!%\202#\324\3159\"!:\325:!\203\212\322\326\32778\33098\"#!8:\324\315 9\"!$\202\252\322\326\32778\314\33098\"\"#!8\331\324\315\316 \"9\"!$)\202#7@\332>\203\347\3227A@8 $\322\333788 $\211\203\347\334 \335\"\203\336\334\f\336\"\204\3477@ \fE\202#7@\337=\203 \312\333788\"\204 \313\3227A@8 $\33378\"\202#7@\337=\2033\3127A@8\"\2043\3137A@\340\333788 $\"\202#7@\341=\203M\326\342\3437A@8 \257D!\202#7@\344=\203n\330\313\345\314\316 \"\317\"\"\3227A@8 $\"\202#7@\346=\203\205\346\3407A@8 $D\202#\34778\317#\211\205#\320 A@\317\"\203\256\324\314 @\"!\324\314 @\"!\211\204\315\320 A@\345\"\203)\324\316 @ \"!\324\316 @\f\"!\211\203)\350!\204\331\350 !\203\335\331\202\321!\204\351\321 !\203\351!\204\365\351 !\203\352 !\203\377\331\202\330\313\345\314\211 \"\317\"\"\353\354\323!D\354\316\345 \"DE\"\202\353\354 D\354\316\317\"DE\202\320 A@\333\"\203L\324\314\330\333\" @\"!\324\314\330 \333\" @\"!\211\204o\320 A@\355\"\205\324\316 @\330 \333\"\"!\324\316 @\330\333\"\"!\211\205\356\f!\204\227\357\f!\203\203\360\f!\211\204\227\356 !\204\227\357 !\205\360 !\211\205\350\f!\204\243\350 !\203\247\331\202\361\f!\204\263\361 !\203\347\321\f!\204\277\321 !\203\331\352 !\203\311\331\202\353\362\323\f!D\362\316\355 \"DE\202\353\362 D\362\316\f\333\"DE\202\321 !\203\f\363\337\345\353\364\211\f E\333E\333EE\353\362\323\f!D\362\316\355 \"DEE\202\352\f!\205\353\362 D\362\316\f\333\"DE\211\205#\f\211\365\232\203,\311\n\206?\317;\343<\36678 $*,\207" [low high val t3 t2 t1 (neg (var inf var-inf)) (var inf var-inf) (var inf var-inf) nil math-expr-contains math-pow math-add math-div math-sub 1 math-equal-int math-negp math-prod-rec math-neg math-simplify math-known-num-integerp math-normalize math-expr-subst math-mul 0 (* /) 2 math-expr-calls (calcFunc-prod) (calcFunc-prod) ^ calcFunc-sum sqrt calcFunc-sqrt calcFunc-prod neg -1 calcFunc-exp math-is-polynomial math-zerop math-num-integerp math-posp / calcFunc-fact -2 math-integerp math-messy-integerp math-trunc math-evenp calcFunc-dfact * - (var nan var-nan) calcFunc-table expr var step lo math-tabulate-initial math-tabulate-function] 10]) (defvar math-solve-ranges nil) (defalias 'math-try-solve-for #[(math-solve-lhs math-solve-rhs &optional math-try-solve-sign no-poly) "\306\211\211 \f\232\203n @A\307=\203i\310\311B!D\306\211\211CDEF\203aF@\211C@D\310CECA\211C\203TE\312DC@#A\244E\2029EFA\211F\204,\313!,\202\357B\202\357 \211:?\206y\211@\314>\262\203\202\306\202\357 @\315=\203 A@\242\316 8\242=\203B\211:\203\265\211@\317=\203\255\211A@\320=\262\202\272\321!\262\202\272\211\320=\262\203 A@G\316U\203\316 8G\316U\203 A@@\322N\211\203\n\323!\211\203\324 \325\"\326=\203\327 !\211\203\330\331 A@A@\312 \316 8A@#\"\320\"\211\203\n\202\357 @\332=\203(\330 A@\333B! \205$ [#\202\357A\334=\2044\335 \206\357G\204\366\336 \f\337B$\211\203\366 A@AFF\nG\340U\203^\341\342 @\n#\202\316\nG\343U\203n\341\344 @\n#\202\316\nG\345U\203~\341\346 @\n#\202\316\nG\316U\203\217\341\347 @ \n$\202\316\nG\326U\203\253\350\316 8\326\"?\205\316\330\316 8\320\306\334$\202\316A\203\270\351 @\n\"\202\316H\203\301\306\202\316\330 @\352\353\n!\320\334#\306\334$)\211\203\356\316 8\326=\203\340\n\202\357\354\n\330\316 8\320\306\334$\"\202\357\355\356!\210\306\202\357\357 \306\"\2036\324 \n\"\326=\2036\330\360\331\204\361 !\203\362\n \"\202 \333\362\n \"!\363\331\313\312 \n\320#!B\" \f#\"!\320\"\202\357 @\364=\203p\365 A@\f\"\204V\330\316 8\331B A@\" #\202\357\365\316 8\f\"?\205\357\330 A@\331B\316 8\" #\202\357 @\366=\203\211\330\331 A@\316 8\"B G$\202\357 @\315=\203 A@\242\367=\203\242\316 8\242\370=\204\264 A@\242\370=\203\317\316 8\242\367=\203\317\330\331 A@ A@@\331\371\334!\316 8A@\"D\"B\"\202\357\365 A@\f\"\204\355\330\316 8\331 A@B\" \205\351 [#\202\357\365\316 8\f\"?\205\357\330 A@\372B\316 8\" #\202\357A\334=\203\335 \206\357 @\373=\2034\365\316 8\f\"\2044\330 A@\372B\374\316 8!\"\"\202\357 @\375=\203o\365\316 8\f\"\204S\330 A@\362\316 8B\"\"\202\357\365 A@\f\"?\205\357\330\316 8\362 A@\376\326B\"\"\"\202\357 G\316U\203\265 @9\203\265 @\322N\211\203\265\nB!\211\203\265 @\377N\330 A@\313 ! \205\261\n\205\261\n\250\203\255\n _\202\261\n \"#\202\357 @9\203\324 @\201IN\211\203\324\n B\"\211\203\324 \202\357\201J !\211\203\347\330\nB #\202\357\355\201K \"\210\306+\207" [math-t3 math-t2 math-t1 math-solve-lhs math-solve-var math-try-solve-sign nil all vec math-evaluate-expr math-expr-subst math-normalize (frac float cplx polar hms date mod var) - 2 float 0 math-zerop math-inverse (var SOLVEDUM SOLVEDUM) math-expr-contains-count (var SOLVEDUM SOLVEDUM) 1 math-solve-above-dummy math-try-solve-for math-sub neg math-neg t math-try-solve-prod math-decompose-poly 15 5 apply math-solve-quartic 4 math-solve-cubic 3 math-solve-quadratic math-solve-linear eql math-poly-all-roots math-poly-any-root reverse math-solve-prod calc-record-why "*Unable to find a symbolic solution" math-solve-find-root-term math-simplify math-evenp math-pow math-expand-power + math-expr-contains calcFunc-eq calcFunc-sin calcFunc-cos math-quarter-circle math-add % math-solve-get-int calcFunc-log math-div math-inverse-sign math-solve-sign math-solve-full math-solve-rhs p var newvec math-solve-ranges no-poly calc-symbolic-mode math-inverse-n math-expand-formula "*No inverse known"] 12]) (defalias 'math-try-solve-prod #[nil "@\306=\203v\307A@ \"\204\"\310\3118\312\nA@\"\313 A@\"#\207\307\3118 \"\204=\310A@\312\n\3118\"\313 \3118\"#\207\n\211:\203\\\211@\314=\203T\211A@\315=\262\202a\316!\262\202a\211\315=\262\2058\317\f\310\3118\315\")\310A@\315\"\"\207@\320=\203\310\307A@ \"\204\230\310\3118\312A@\n\"\313 A@\"#\207\307\3118 \"\204\263\310A@\321\n\3118\"\313 \3118\"#\207\310\322A@\321\3118\n\"\"\315\"\211\2058 \207@\323=\2037\307A@ \"\204\372\310\3118\324\325\326\nA@E!\312\321\311\321\327\330\331!\"\"\325\332A@D!\"\"\"\207\307\3118 \"?\2058\3118\250\203j\3118\311Y\203j\333\3118!\211\203j\n/0\334=\203J\335A@!\203J S\211\315Y\203A\336/D/\202/\337/!/\202` S\211\315Y\203`\337\325\336/D!!/\202J\310A@\325/!\"\207\340\3118!\203\203\310\323A@\341\3118!E\312\342\n\"\"\2070\334=\203\310\343\3118!\203\310\335A@!\203\310\325\344\n\3118E!\345\3118!\203\257\337 !\310A@ \205\306\346\3118!\205\306\313 \3118\"#\207\310A@\321\325\347\3118\211:?\206\334\211@\350>\262\203\376\312\321\351\330\352\3118\250\205\362\353\3118!\"\"\312\3118\311\"\"\202\312\321\311\321\354\330\355\3118\250\205\353\3118!\"\"\"\3118\"D!\325\344\n\3118E!\" \2055\346\3118!\2055\313 \3118\"#\207\356\207" [math-solve-lhs math-solve-var math-solve-rhs math-try-solve-sign math-solve-ranges math-t1 * math-expr-contains math-try-solve-for 2 math-div math-solve-sign float 0 math-zerop math-solve-prod / math-mul math-sub ^ math-add math-normalize calcFunc-log (var pi var-pi) math-solve-get-int (var i var-i) calcFunc-ln math-integer-log2 t math-known-realp calcFunc-sqrt math-solve-get-sign math-looks-negp math-neg 1 Math-integerp calcFunc-nroot math-evenp math-oddp calcFunc-exp (frac float) (var pi var-pi) (var i var-i) math-abs (var pi var-pi) (var i var-i) nil math-t2 math-solve-full] 15]) (defalias 'math-solve-prod #[(lsoln rsoln) "\204 \207 \204\f\207\n\303=\203\304\305A A\"B\207\n\203*\306\307\310\311!\312E F\207\207" [lsoln rsoln math-solve-full all vec append calcFunc-if calcFunc-gt math-solve-get-sign 1 0] 4]) (defalias 'math-solve-poly-funny-powers #[(sub-rhs) "\n\306\211\203'\307\f@ \206\310\"\311 \"\311 \"\fA\211\204\n*\2033\312 \"\306\311 \206;\310\313\314\310\")\"\315\316\317 !!\320#\211)\207" [math-solve-lhs math-t1 math-poly-neg-powers fac pp math-poly-mult-powers nil math-pow 1 math-mul math-sub t math-div math-is-polynomial math-simplify calcFunc-expand 50 math-solve-rhs sub-rhs calc-prefer-frac math-poly-frac-powers math-t2 math-solve-b] 6]) (defalias 'math-solve-crunch-poly #[(max-degree) "\306 \2037 @\211:\203&\211@\307=\203\211A@\306=\262\202+\310!\262\202+\211\306=\262\2037 AT\202 \205\337 GS\211\211\311V\203\313\f@\311U\203\313\n \246\306U\203\304 \306\312\313 \203\267 \203\267 \246\306U\203 @C\244 \202\252@\211:\203\240\211@\307=\203\230\211A@\306=\262\202\245\310!\262\202\245\211\306=\262\204\252\312AT\202a \203\303 \fAB , S\211\202B\314\f@\"\314\"D GSX*)\207" [count math-t1 degree scale math-t3 okay 0 float math-zerop 1 nil t math-mul new-t1 n p math-t2 max-degree] 5]) (defalias 'calcFunc-poly #[(expr var &optional degree) "\203\304!\204\305\306\"\210\202\307\310 \n\311$\211\2030 \312\232\203*\313C\2024\313 B\2024\305 \314\")\207" [degree expr var p natnump math-reject-arg fixnatnump 50 math-is-polynomial gen (0) vec "Expected a polynomial"] 6]) (defalias 'calcFunc-gpoly #[(expr var &optional degree) "\203\305!\204\306\307\"\210\202\310 \311 \312$\211\203'\313\fB\202+\306 \314\"*\207" [degree var math-poly-base-variable expr d natnump math-reject-arg fixnatnump 50 math-decompose-poly nil vec "Expected a polynomial"] 6]) (defalias 'math-decompose-poly #[(math-solve-lhs math-solve-var degree sub-rhs) "\206\306\307\211\211\310 \311\"\211\2054\312\n @\"\313 B\203*\312\n A@\"\2023\314\312\n A@\"\f\"E,\207" [sub-rhs math-t3 math-t2 math-t1 math-solve-rhs math-solve-lhs 1 nil math-polynomial-base #[(math-solve-b) "\306\307\310\311\f \232?\205q\f\242\312>\203\205q\313\310\314 \f\315#\211\205q \316\232\203T\n\317>\203T \310=\203T\203T\320@\"AB\211\202X\321!\205q\322!\205q\323\f\"\206q\323@\",\207" [math-poly-exp-base math-poly-frac-powers math-poly-mult-powers math-poly-neg-powers math-solve-b math-solve-lhs (1) nil 1 t (+ -) (1 0) math-is-polynomial 50 (1) (nil 1) math-sub math-solve-poly-funny-powers math-solve-crunch-poly math-expr-contains sub-rhs math-t3 math-t2 math-t1 math-solve-rhs degree math-solve-var] 4] math-pow vec math-div] 7]) (defalias 'math-solve-linear #[(var sign b a) "\304\305\306 !\n\"\307 \n\"\310$\207" [var b a sign math-try-solve-for math-div math-neg math-solve-sign t] 6]) (defalias 'math-solve-quadratic #[(var c b a) "\305\306 !\203*\307 \310\"\307\311\312\n!\313\314\315\311\316\n!\317\312 !\f\"\"D!!\"\f\")\202I\307\311\312 !\313\314\315\311\316 !\317\320\317\312 !\f\"\"\"D!!\"\317\310\f\"\"\321\322$\207" [var b halfb c a math-try-solve-for math-looks-evenp math-div 2 math-add math-neg math-solve-get-sign math-normalize calcFunc-sqrt math-sqr math-mul 4 nil t] 15]) (defalias 'math-solve-cubic #[(var d c b a) "\306 \"\306 \"\306 \"\307\n! \310\f\306 \311\"\"!\312\306\310\313\314\313 \n\"\"\313\315\313\n\f\"\"\"\316\"\"\"\317#!\211:\203\\\211@\320=\203T\211A@\321=\262\202a\322!\262\202a\211\321=\262\203z\323\324\312$\306\n\311\"\"\311\"\325\"!\317\326$\202\"\211:\203\232\211@\320=\203\222\211A@\321=\262\202\237\322!\262\202\237\211\321=\262\203\302\323\313\312$\306\n\311\"\"\312\307\312$\306\n\311\"\"!!\"\"\321\317\326$\202\313\314\327\306!\330\"D\"#\323$\310\331\313#\332\306\310\333\306\313\311\"\"\313!#\"\"D\313\314\313\312\334\335\334\311\"\"\336%!\"\"\"\311\"D\"!\306\n\311\"\"\317\326$.\207" [b a p c q d math-div math-sqr math-sub 3 math-add math-mul 2 9 27 nil float 0 math-zerop math-try-solve-for math-pow math-neg t calcFunc-sqrt -3 math-normalize calcFunc-cos calcFunc-arccos 1 math-solve-get-int math-half-circle r psqr aa bb m var calc-symbolic-mode] 18]) (defalias 'math-solve-quartic #[(var d c b a aa) "\306 \"\306\n \"\306 \"\306\f \"\307 \310!\306\311\"\312\211\313\314\211\315\311\315\n\f\"\"\315\f\"\"\310 !\"\314\315 \"\315\311\f\"\"\316\n!\317%* \320\314\n\" \"!\321!D\"\322\317!#\321\320\314\315\323\"\315\324\n\"\"!\211:\203\223\211@\325=\203\213\211A@\326=\262\202\230\327!\262\202\230\211\326=\262\203\261\315\324\315#\321\314\310 !\315\311\f\"\"D\"\"\202\324\314\315#\306\314\211\315\311\315\n\"\"\315\330 \"\"\315\"\"\315\311\"\"\"\"!\"\"D$\331\314\320\315#\306\"\324\"\"\322\306$\324\"!\"\306\311\"\"!.\312\332$\207" [a aa b c d var math-div math-try-solve-for math-sqr 4 nil math-solve-cubic math-sub math-mul math-neg 1 math-add calcFunc-sqrt math-solve-get-sign 3 2 float 0 math-zerop 8 math-normalize t asqr asqr4 calc-next-why math-solve-full math-solve-var y rsqr r sign1 de] 16]) (defvar math-symbolic-solve nil) (defvar math-int-coefs nil) (defalias 'math-poly-all-roots #[(var p &optional math-factoring) "\30628\307 GS\310 !\307\211./\307\21101\3072 \2113\203A3@\211:?\2063\211@\311=\262\203A3A\2113\204&3\203W4\204O \203\200\312\306\307\"\210\202\200 @\313\314\315 \"567\316\31757\"!/\320\321/\"2\320\322 B7\"A.+\f\323V\203T\307\211 \324 !8363\203\2733@\211:?\206\245\211@\325>\262\203\2633A\2113\202\225\312\306\307\"\210\202\223\f \203\304\326\202\305\323V\203N\3278\330\307#9\307\211:;\30739\242\331=\203\365\332\326989A@\"\203\365\3339!94\204\3779\nB9\211:?\206 \211@\325>\262\204\3349!9838@:3A\2113\203B3@;3:\240\210\335\3179:\";\":\2028A8\fS,\202\273\3108!,\f\336V\203\227\337\307\211\340<=>? G.GU\203t\310.!\341\314\f\326U\203\200\342\202\213\f\343U\203\212\344\202\213\345? #A\n\",\202\251\f\346V\203\251\320\347 @! A@\"\nB4\203\311\n\203\276\350\n@!\210\nA\211\204\2621.\237/E\2025\307\211@\n\203\f\n@<\205\333\340<A\351A!\203\356\327 A\313#A\341\352BA\307\313$\206\312\306\307\"A\"*\nA\211\204\323\322\237B \203\353!<\313=\2032\354\355\336 GS\336#E\2024*.\n0\207" [calc-symbolic-mode math-symbolic-solve roots p deg orig-p ouch nil reverse frac throw t apply math-lcm-denoms math-abs math-mul math-div (float 5 -2) vec 4 copy-sequence (frac float cplx polar) 2 math-poly-any-root (float 0 0) cplx math-nearly-zerop calcFunc-re math-evaluate-expr math-add 1 (var DUMMY var-DUMMY) all append math-solve-quadratic 3 math-solve-cubic math-solve-quartic 0 math-neg math-poly-integer-root math-floatp math-try-solve-for math-normalize calcFunc-subscr math-solve-get-int math-int-coefs math-int-scale math-double-roots math-int-factors math-int-threshold pp math-factoring scale calc-prefer-frac lead def-p x b c math-solve-full math-solve-ranges math-solve-sign math-solve-var res root var] 8]) (defalias 'math-lcm-denoms #[(&rest fracs) "\302 \203 @\242\303=\203\304\305 @8\" A\211\204)\207" [den fracs 1 frac calcFunc-lcm 2] 5]) (defalias 'math-poly-any-root #[(p x polish) "\306!\203\307 \310\311#\202\307 \311#\306\nA!\203 \n@\202D\312\nA\313\"\2033 \2043\307 \n@\314#\306\nA!\203?\n@\202D\315  # \203T\316\f!\203T\317\320\321\"\210\f*\207" [x p newt polish res math-symbolic-solve math-zerop math-poly-newton-root (cplx (float 123 -6) (float 1 -4)) 4 math-lessp (float 1 -3) 30 math-poly-laguerre-root math-floatp throw ouch nil] 4]) (defalias 'math-poly-newton-root #[(p x iters) "\306\211\n\f\306\211S\211\307V\203\240\310=\203)\311\312\f\"\210@\307A\211\203T\313\314\f\"\"\313\314\f\"@\"\2021\315!)\204\240\316\"\317\f \" \203\217\320 !\321\"\203\216\322\f!\211\203\213\307\202\215\306)) \307=\204\236\323 \320\f!\"\203\307\f\315\f!\203\253\324\202\263\316\320 !\320\f!\".B\207" [calc-prefer-frac calc-symbolic-mode math-int-coefs try-integer x dx nil 0 lots math-do-working "newton" math-add math-mul math-zerop math-div math-sub math-abs-approx math-lessp math-poly-integer-root math-nearly-zerop 1 b d iters p pp calc-display-working-message adx math-int-threshold iroot] 6]) (defalias 'math-poly-integer-root #[(x) "\306\307\310!! \"\205j\n\205j\311\312!\313!\314\f! \314 !!\306!\315 \316\"\"\203\201\317\320\321\f\"\"!\"\"#\n\211$@%\322&$A\211$\203f%&B&\323$@\321%#\"\"%\202F\324%!\205}&\237\325#!C'B'#,\202i\317\320\321\f\321\326\"\"\"!\"\"(\314\"!)\317\320\321\323 !\")\"!)\"*\n@+\nA\211$@,\322&\327*(\330 !E-\".\322/.\203\337\331.-\"-\332\211,+\202$A\211$\203+/+&B&\333,\321/(\"\"+\333$@\321/*\"\",\202\337\324,!\205g\324+!\205g\317(\326\"0.\204F\334&!*(\335 !EC-B-*(B'B'\323012\321\336\333\3140!*\"!\335 !\203b\316\202c\337\")\"). -\207" [x calc-internal-prec math-int-coefs calc-prefer-frac xre xim math-lessp calcFunc-xpon math-abs-approx t calcFunc-re calcFunc-im math-sqr calcFunc-scf -1 math-div math-round math-mul nil math-add math-zerop math-neg -2 assoc math-posp delq 0 math-sub reverse math-negp math-sqrt 1 xresq ximsq math-int-scale rnd icp rem newcoef math-int-factors rnd1 sqscale rnd0 rem1 rem0 math-double-roots found this aa math-symbolic-solve calc-symbolic-mode] 8]) (defalias 'math-poly-laguerre-root #[(p x polish) "\306\211\307 GS ?,\306\211-.\306\211/0\306\21112\3063\nT\211\310W\2044\3114\312\"\203\360\313 @!\3134! 567 @.\307\211/05A\2115\203\214\314\31540\"/\"0\314\3154/\".\"/\314\3154.\"5@\".\314\313.!\31567\"\"7\202M\316\3177\3208Z\"\313.!\"+\203\360\321/!\203\273\3210!\203\273\322\323.!\324\325\fE\"4\202\360\326/.\"9\3279!:\330:\315\331\3260.\"\"\";\332\315\fS\330\315\f;\":\"\"!<\3149<\"=\3309<\">\316\333=!\333>!\"\203\n>=\326\f=\"2\33042\"1,\203{\316\3132!\317\3134!\334\"\"\203{\335 1\336#?\337-\306,\321?A!\203O?@\21141\202z\316?A\340\"\203z\335 ?@\341#@\321@A!\203t@@\21141\202y?@4))41=\206\211\34241\".\204\360\3132!A14\306-\n\343X\206\324\316A3\"\206\324 \203\323\344\326\3134!A\"!B\345\346!\210\347B!\203\322\350B]8\3514!4))\306A3)\203\360 \204#\316\317\3134!8[\"3\"\204#\3524!\203\376\3534!\2064.\f\207" [calc-prefer-frac calc-symbolic-mode iters p m polish nil 0 50 math-reject-arg "*Laguerre's method failed to converge" math-abs-approx math-add math-mul math-lessp calcFunc-scf -2 math-zerop math-pow math-neg frac 1 math-div math-sqr math-sub 2 math-sqrt calcFunc-abssqr -3 math-poly-newton-root 7 t (float 1 -6) 20 math-nearly-equal 6 calcFunc-xpon calc-record-why "*Could not attain full precision" natnump 3 math-normalize math-floatp math-poly-integer-root try-newt tried-newt b d f x1 dx dxold x pp abx err calc-internal-prec g g2 h sq gp gm newt newt2 cdx digs] 8]) (defalias 'math-solve-above-dummy #[(x) "\211:?\206 \211@\302>\262?\2056A@\303\232\203\"G\304U\203\"\207\305A\211\2034\306@!\211\203$ )\207" [x res (frac float cplx polar hms date mod var) (var SOLVEDUM SOLVEDUM) 2 nil math-solve-above-dummy] 3]) (defalias 'math-solve-find-root-term #[(x neg) "\304!\203\f \211\207\242\305>\205.\306A@ \"\206.\306\3078@\310=\203, ?\202- \"\207" [x neg math-t3 math-t1 math-solve-find-root-in-prod (+ -) math-solve-find-root-term 2 -] 4]) (defalias 'math-solve-find-root-in-prod #[(x) ":\205p\303 \"\205p@\304=\203\305\211\206p@\306=\203I\307\3058!\310>\2030\305\211\206p\3058\242\311=\203I\305\21188\312=\203I\312\211\206p@\313>\205p\303A@ \"\204a\314\3058!\206p\303\3058 \"?\205p\314A@!\207" [x math-solve-var math-t2 math-expr-contains calcFunc-sqrt 2 ^ math-quarter-integer (1 2 3) frac 3 (* /) math-solve-find-root-in-prod] 3]) (defalias 'math-solve-system #[(exprs math-solve-vars math-solve-full) "\303\304\211\242\305=\262\203A\202C\" \211\242\305=\262\203$ A\202& C\306\307 \306#)\206:\310\307 \306#)\207" [exprs math-solve-vars math-solve-simplifying mapcar list vec nil math-solve-system-rec t] 5]) (defalias 'math-solve-system-rec #[(eqn-list var-list solns) "\203\316\306\211\203\313\n@\f \242\307=\211\203 A@ \203\277 @\306\211\306\203r@=\203B\206K\310@\311  $\211\203r@ \312=\203cA\202fC BA\211\2044\203}\306\211\202\264 \237\313\314\315\316 @\317\f!\"\"\316\n@\317!\"\306\314\320!\"\"#\203\246\"\202\257 \321\322 \"B\"B*#\211?+\203\277 A\211\204# +\204\313\nA\211\204\f *\207\323!\324\"! \312=\203\364\325\326\327!\203\354\314\330!\"\202\360\314\331\f\"B!!\207\326\327!\203\314\332!\"\202\314\333\f\"B!\207" [var-list math-solve-system-res v math-solve-system-vv eqn-list e nil calcFunc-elim math-solve-for 0 all math-solve-system-rec mapcar math-solve-system-subst delq copy-sequence #[(x) "@\301A!B\207" [x math-solve-system-subst] 3] apply append sort #[(x y) "@ @\n>>?\207" [x y math-solve-vars] 3] math-transpose math-normalize vec #[(x) "\301AB\207" [x vec] 2] #[(x) "\301B\207" [x vec] 2] #[(x) "\301B\207" [x calcFunc-eq] 2] car elim res2 eprev e2 math-solve-full solns s math-solve-simplifying] 8]) (defalias 'math-solve-system-subst #[(x) "\304 \203\n\305\306 @\"\244 A A\202\n*\207" [math-solve-system-res res2 accum x nil mapcar #[(r) "\203 \304\305 @\n #!\207\305 @\n #\207" [math-solve-simplifying x math-solve-system-vv r math-simplify math-expr-subst] 5]] 4]) (defalias 'math-get-from-counter #[(name) " \236\211\203\n\211AT\241\210\202\303B\211 B\nA)\207" [name calc-command-flags ctr 1] 3]) (defalias 'math-solve-get-sign #[(val) "\306!\211\242\307=\203(A@\211:?\206\211@\310>\262\203(\307A@\311\3128!E\207\242\313=\203JA@\242\314=\203J\315\314A@A@\316\312A@8\312\"E! \203\236\317\302!\203x\n\211\250\205]\211\320Y\262\203x \321=\204x\322\323\nD\"\324\n\325\"\326\302!\210\207\327\330\331\332!!P\303\333 !\333\334 P!E \321=\203\230\f\325\335E B\322\f\"*\207\336\337!\210\207" [val math-solve-full var-GenCount var var2 math-solve-ranges math-simplify * (frac float cplx polar) math-solve-get-sign 2 calcFunc-sqrt ^ math-normalize math-div calc-var-value 0 all math-mul calcFunc-as math-add 1 calc-refresh-evaltos "s" int-to-string math-get-from-counter solve-sign intern "var-" -1 calc-record-why "*Choosing positive solution"] 7]) (defalias 'math-solve-get-int #[(val &optional range first) "\203b\306\301!\203. \211\250\205\211\307Y\262\203.\310=\204.\311\n\312 D\"\313 \314\"\315\301!\210\207\316\317\320\321!!P\303\322 !\322\323 P!E \203\\\310=\203\\\f\324 \206T\307\"ABB\311\n\f\"*\207\325\326!\210\307\207" [math-solve-full var-GenCount val var var2 range calc-var-value 0 all math-mul calcFunc-an math-add 1 calc-refresh-evaltos "n" int-to-string math-get-from-counter solve-int intern "var-" calcFunc-index calc-record-why "*Choosing 0 for arbitrary integer in solution" first math-solve-ranges] 5]) (defalias 'math-solve-sign #[(sign expr) "\205\303 !\211\304\267\202\202[\202\305)\207" [sign expr s1 math-possible-signs #s(hash-table size 4 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (4 14 6 14 1 18 3 18)) nil] 3]) (defalias 'math-looks-evenp #[(expr) "\301!\203\n\302!\207@\303>\205\304A@!\207" [expr Math-integerp math-evenp (* /) math-looks-evenp] 2]) (defalias 'math-solve-for #[(lhs rhs math-solve-var math-solve-full &optional sign) "\306 \"\203\307\310\n\"\311 $\207\306\n \"\205j\312\fT \313\n# \314=\203f\315 !\203fG\316\317\316\320\321\"\"\211G\211W\203e\322\323U\203[\324\202c\325\326Z\"!\210*+!\207" [rhs math-solve-var lhs math-solve-full calc-internal-prec math-poly-base-variable math-expr-contains math-solve-for math-sub 0 math-normalize math-try-solve-for all math-known-realp nil delq mapcar #[(x) "\242\301>?\205 \207" [x (cplx polar)] 2] calc-record-why 1 "*All solutions were complex" format "*Omitted %d complex solutions" sign res new-len old-len] 7]) (defalias 'math-solve-eqn #[(expr var full) "\242\305>\203R\306\307AB\310 \n@\311=?\205\312%\211\205P\f\312=\203,@ E\202P\f\313=\203:@ E\202P@\311=\204E\314\315!\210@\316>\205P\311 E)\207\306\310 \n$\211\205a\317 E)\207" [expr var full res math-solve-sign (calcFunc-neq calcFunc-lt calcFunc-gt calcFunc-leq calcFunc-geq) math-solve-for - 0 calcFunc-neq 1 -1 calc-record-why "*Can't determine direction of inequality" (calcFunc-neq calcFunc-lt calcFunc-gt) calcFunc-eq] 8]) (defalias 'math-reject-solution #[(expr var func) "\304 \"\203\n@\305\232\204\306\307!\210  E\207" [expr var calc-next-why func math-expr-contains (* "Unable to find a symbolic solution") calc-record-why "*Unable to find a solution"] 3]) (defalias 'calcFunc-solve #[(expr var) "\211\242\302=\262\204 \211\242\302=\262\203\303 \304#\202!\305 \304#\206)\306 \307#\207" [expr var vec math-solve-system nil math-solve-eqn math-reject-solution calcFunc-solve] 4]) (defalias 'calcFunc-fsolve #[(expr var) "\211\242\302=\262\204 \211\242\302=\262\203\303 \304#\202!\305 \304#\206)\306 \307#\207" [expr var vec math-solve-system t math-solve-eqn math-reject-solution calcFunc-fsolve] 4]) (defalias 'calcFunc-roots #[(expr var) "\303 \211\242\304=\262\204\n\211\242\304=\262\203\305 \n\306#\202$\307 \310\n\306$\206,\311 \n\312#)\207" [math-solve-ranges expr var nil vec math-solve-system all math-solve-for 0 math-reject-solution calcFunc-roots] 5]) (defalias 'calcFunc-finv #[(expr var) "\304 \n\305$\211\203\306\307 \n#!\202\310\n\311#)\207" [expr math-integ-var var res math-solve-for nil math-normalize math-expr-subst math-reject-solution calcFunc-finv] 6]) (defalias 'calcFunc-ffinv #[(expr var) "\304 \n\305$\211\203\306\307 \n#!\202\310\n\311#)\207" [expr math-integ-var var res math-solve-for t math-normalize math-expr-subst math-reject-solution calcFunc-finv] 6]) (byte-code "\300\301\302\303#\210\300\301\304\305#\210\300\306\302\307#\210\300\310\302\311#\210\300\312\302\313#\210\300\314\302\315#\210\300\314\304\316#\210\300\317\302\320#\210\300\317\304\316#\210\300\321\302\322#\210\300\321\304\316#\210\300\323\302\324#\210\300\323\304\316#\210\300\325\302\326#\210\300\325\304\316#\210\300\327\302\330#\210\300\327\304\316#\210\300\331\302\332#\210\300\331\304\316#\210\300\333\302\334#\210\300\335\302\336#\210\300\337\302\340#\210\300\341\302\342#\210\300\343\302\344#\210\300\345\302\346#\210\300\347\302\350#\210\300\347\304\316#\210\300\351\302\352#\210\300\353\302\354#\210\300\353\304\316#\210\300\355\302\356#\210\300\355\304\316#\210\300\357\302\360#\210\300\361\302\362#\210\300\361\304\316#\207" [put calcFunc-inv math-inverse #[(x) "\301\302\"\207" [x math-div 1] 3] math-inverse-sign -1 calcFunc-sqrt #[(x) "\301!\207" [x math-sqr] 2] calcFunc-conj #[(x) "\301D\207" [x calcFunc-conj] 2] calcFunc-abs #[(x) "\301!\207" [x math-solve-get-sign] 2] calcFunc-deg #[(x) "\301D\207" [x calcFunc-rad] 2] 1 calcFunc-rad #[(x) "\301D\207" [x calcFunc-deg] 2] calcFunc-ln #[(x) "\301D\207" [x calcFunc-exp] 2] calcFunc-log10 #[(x) "\301D\207" [x calcFunc-exp10] 2] calcFunc-lnp1 #[(x) "\301D\207" [x calcFunc-expm1] 2] calcFunc-exp #[(x) "\301\302\303D!\304\305\304\306\307\310!\"\"\"\207" [x math-add math-normalize calcFunc-ln math-mul 2 (var pi var-pi) math-solve-get-int (var i var-i)] 8] calcFunc-expm1 #[(x) "\301\302\303D!\304\305\304\306\307\310!\"\"\"\207" [x math-add math-normalize calcFunc-lnp1 math-mul 2 (var pi var-pi) math-solve-get-int (var i var-i)] 8] calcFunc-sin #[(x) "\302\303!\304\305\306\307 D!\310\311\"\"\305\312\313!\"\")\207" [n x math-solve-get-int 1 math-add math-mul math-normalize calcFunc-arcsin math-pow -1 math-half-circle t] 6] calcFunc-cos #[(x) "\301\302\303\304D!!\305\306\307!!\"\207" [x math-add math-solve-get-sign math-normalize calcFunc-arccos math-solve-get-int math-full-circle t] 5] calcFunc-tan #[(x) "\301\302\303D!\304\305\306!!\"\207" [x math-add math-normalize calcFunc-arctan math-solve-get-int math-half-circle t] 5] calcFunc-arcsin #[(x) "\301\302D!\207" [x math-normalize calcFunc-sin] 3] calcFunc-arccos #[(x) "\301\302D!\207" [x math-normalize calcFunc-cos] 3] calcFunc-arctan #[(x) "\301\302D!\207" [x math-normalize calcFunc-tan] 3] calcFunc-sinh #[(x) "\302\303!\304\305\306\307 D!\310\311\"\"\305\312\313!\305\314\"\"\")\207" [n x math-solve-get-int 1 math-add math-mul math-normalize calcFunc-arcsinh math-pow -1 math-half-circle t (var i var-i)] 7] calcFunc-cosh #[(x) "\301\302\303\304D!!\305\306\307!\310\311!\"\"\207" [x math-add math-solve-get-sign math-normalize calcFunc-arccosh math-mul math-full-circle t math-solve-get-int (var i var-i)] 6] calcFunc-tanh #[(x) "\301\302\303D!\304\305\306!\307\310!\"\"\207" [x math-add math-normalize calcFunc-arctanh math-mul math-half-circle t math-solve-get-int (var i var-i)] 6] calcFunc-arcsinh #[(x) "\301\302D!\207" [x math-normalize calcFunc-sinh] 3] calcFunc-arccosh #[(x) "\301\302D!\207" [x math-normalize calcFunc-cosh] 3] calcFunc-arctanh #[(x) "\301\302D!\207" [x math-normalize calcFunc-tanh] 3]] 4) (defalias 'calcFunc-taylor #[(expr var num) "\306\242\307>\203\"@\310=\203\311\3128!\202\3128A@ \242\300=\203\236\313 \"\203\236\314\f!\203\236\315 \n#@\316=\203I\317AB\202J\306\320 T\211\fX\203\222\321 \322\323$\211\203\222\324 !\325\"\326\327\325\330\"\315 \n#\"\"\"\202V \205\232\331!-\206\243\332 \fF*\207" [var v x0 expr num fprime 0 (+ - calcFunc-eq) + math-neg 2 math-expr-contains natnump math-expr-subst calcFunc-eq - 1 calcFunc-deriv nil t math-simplify math-mul math-add math-div math-pow math-normalize calcFunc-taylor nfac n var2 accum] 9]) (provide 'calcalg2)