PNG  IHDRX cHRMz&u0`:pQ<bKGD pHYsodtIME MeqIDATxw]Wug^Qd˶ 6`!N:!@xI~)%7%@Bh&`lnjVF29gΨ4E$|>cɚ{gk= %,a KX%,a KX%,a KX%,a KX%,a KX%,a KX%, b` ǟzeאfp]<!SJmɤY޲ڿ,%c ~ع9VH.!Ͳz&QynֺTkRR.BLHi٪:l;@(!MԴ=žI,:o&N'Kù\vRmJ雵֫AWic H@" !: Cé||]k-Ha oݜ:y F())u]aG7*JV@J415p=sZH!=!DRʯvɱh~V\}v/GKY$n]"X"}t@ xS76^[bw4dsce)2dU0 CkMa-U5tvLƀ~mlMwfGE/-]7XAƟ`׮g ewxwC4\[~7@O-Q( a*XGƒ{ ՟}$_y3tĐƤatgvێi|K=uVyrŲlLӪuܿzwk$m87k( `múcE)"@rK( z4$D; 2kW=Xb$V[Ru819קR~qloѱDyįݎ*mxw]y5e4K@ЃI0A D@"BDk_)N\8͜9dz"fK0zɿvM /.:2O{ Nb=M=7>??Zuo32 DLD@D| &+֎C #B8ַ`bOb $D#ͮҪtx]%`ES`Ru[=¾!@Od37LJ0!OIR4m]GZRJu$‡c=%~s@6SKy?CeIh:[vR@Lh | (BhAMy=݃  G"'wzn޺~8ԽSh ~T*A:xR[ܹ?X[uKL_=fDȊ؂p0}7=D$Ekq!/t.*2ʼnDbŞ}DijYaȲ(""6HA;:LzxQ‘(SQQ}*PL*fc\s `/d'QXW, e`#kPGZuŞuO{{wm[&NBTiiI0bukcA9<4@SӊH*؎4U/'2U5.(9JuDfrޱtycU%j(:RUbArLֺN)udA':uGQN"-"Is.*+k@ `Ojs@yU/ H:l;@yyTn}_yw!VkRJ4P)~y#)r,D =ě"Q]ci'%HI4ZL0"MJy 8A{ aN<8D"1#IJi >XjX֔#@>-{vN!8tRݻ^)N_╗FJEk]CT՟ YP:_|H1@ CBk]yKYp|og?*dGvzنzӴzjֺNkC~AbZƷ`.H)=!QͷVTT(| u78y֮}|[8-Vjp%2JPk[}ԉaH8Wpqhwr:vWª<}l77_~{s۴V+RCģ%WRZ\AqHifɤL36: #F:p]Bq/z{0CU6ݳEv_^k7'>sq*+kH%a`0ԣisqにtү04gVgW΂iJiS'3w.w}l6MC2uԯ|>JF5`fV5m`Y**Db1FKNttu]4ccsQNnex/87+}xaUW9y>ͯ骵G{䩓Գ3+vU}~jJ.NFRD7<aJDB1#ҳgSb,+CS?/ VG J?|?,2#M9}B)MiE+G`-wo߫V`fio(}S^4e~V4bHOYb"b#E)dda:'?}׮4繏`{7Z"uny-?ǹ;0MKx{:_pÚmFמ:F " .LFQLG)Q8qN q¯¯3wOvxDb\. BKD9_NN &L:4D{mm o^tֽ:q!ƥ}K+<"m78N< ywsard5+вz~mnG)=}lYݧNj'QJS{S :UYS-952?&O-:W}(!6Mk4+>A>j+i|<<|;ر^߉=HE|V#F)Emm#}/"y GII웻Jі94+v뾧xu~5C95~ūH>c@덉pʃ1/4-A2G%7>m;–Y,cyyaln" ?ƻ!ʪ<{~h~i y.zZB̃/,雋SiC/JFMmBH&&FAbϓO^tubbb_hZ{_QZ-sύodFgO(6]TJA˯#`۶ɟ( %$&+V'~hiYy>922 Wp74Zkq+Ovn錄c>8~GqܲcWꂎz@"1A.}T)uiW4="jJ2W7mU/N0gcqܗOO}?9/wìXžΏ0 >֩(V^Rh32!Hj5`;O28؇2#ݕf3 ?sJd8NJ@7O0 b־?lldщ̡&|9C.8RTWwxWy46ah嘦mh٤&l zCy!PY?: CJyв]dm4ǜҐR޻RլhX{FƯanшQI@x' ao(kUUuxW_Ñ줮[w8 FRJ(8˼)_mQ _!RJhm=!cVmm ?sFOnll6Qk}alY}; "baӌ~M0w,Ggw2W:G/k2%R,_=u`WU R.9T"v,<\Ik޽/2110Ӿxc0gyC&Ny޽JҢrV6N ``یeA16"J³+Rj*;BϜkZPJaÍ<Jyw:NP8/D$ 011z֊Ⱳ3ι֘k1V_"h!JPIΣ'ɜ* aEAd:ݺ>y<}Lp&PlRfTb1]o .2EW\ͮ]38؋rTJsǏP@芎sF\> P^+dYJLbJ C-xϐn> ι$nj,;Ǖa FU *择|h ~izť3ᤓ`K'-f tL7JK+vf2)V'-sFuB4i+m+@My=O҈0"|Yxoj,3]:cо3 $#uŘ%Y"y죯LebqtҢVzq¼X)~>4L׶m~[1_k?kxֺQ`\ |ٛY4Ѯr!)N9{56(iNq}O()Em]=F&u?$HypWUeB\k]JɩSع9 Zqg4ZĊo oMcjZBU]B\TUd34ݝ~:7ڶSUsB0Z3srx 7`:5xcx !qZA!;%͚7&P H<WL!džOb5kF)xor^aujƍ7 Ǡ8/p^(L>ὴ-B,{ۇWzֺ^k]3\EE@7>lYBȝR.oHnXO/}sB|.i@ɥDB4tcm,@ӣgdtJ!lH$_vN166L__'Z)y&kH;:,Y7=J 9cG) V\hjiE;gya~%ks_nC~Er er)muuMg2;֫R)Md) ,¶ 2-wr#F7<-BBn~_(o=KO㭇[Xv eN_SMgSҐ BS헃D%g_N:/pe -wkG*9yYSZS.9cREL !k}<4_Xs#FmҶ:7R$i,fi!~' # !6/S6y@kZkZcX)%5V4P]VGYq%H1!;e1MV<!ϐHO021Dp= HMs~~a)ަu7G^];git!Frl]H/L$=AeUvZE4P\.,xi {-~p?2b#amXAHq)MWǾI_r`S Hz&|{ +ʖ_= (YS(_g0a03M`I&'9vl?MM+m~}*xT۲(fY*V4x@29s{DaY"toGNTO+xCAO~4Ϳ;p`Ѫ:>Ҵ7K 3}+0 387x\)a"/E>qpWB=1 ¨"MP(\xp߫́A3+J] n[ʼnӼaTbZUWb={~2ooKױӰp(CS\S筐R*JغV&&"FA}J>G֐p1ٸbk7 ŘH$JoN <8s^yk_[;gy-;߉DV{c B yce% aJhDȶ 2IdйIB/^n0tNtџdcKj4϶v~- CBcgqx9= PJ) dMsjpYB] GD4RDWX +h{y`,3ꊕ$`zj*N^TP4L:Iz9~6s) Ga:?y*J~?OrMwP\](21sZUD ?ܟQ5Q%ggW6QdO+\@ ̪X'GxN @'4=ˋ+*VwN ne_|(/BDfj5(Dq<*tNt1х!MV.C0 32b#?n0pzj#!38}޴o1KovCJ`8ŗ_"]] rDUy޲@ Ȗ-;xџ'^Y`zEd?0„ DAL18IS]VGq\4o !swV7ˣι%4FѮ~}6)OgS[~Q vcYbL!wG3 7띸*E Pql8=jT\꘿I(z<[6OrR8ºC~ډ]=rNl[g|v TMTղb-o}OrP^Q]<98S¤!k)G(Vkwyqyr޽Nv`N/e p/~NAOk \I:G6]4+K;j$R:Mi #*[AȚT,ʰ,;N{HZTGMoּy) ]%dHء9Պ䠬|<45,\=[bƟ8QXeB3- &dҩ^{>/86bXmZ]]yޚN[(WAHL$YAgDKp=5GHjU&99v簪C0vygln*P)9^͞}lMuiH!̍#DoRBn9l@ xA/_v=ȺT{7Yt2N"4!YN`ae >Q<XMydEB`VU}u]嫇.%e^ánE87Mu\t`cP=AD/G)sI"@MP;)]%fH9'FNsj1pVhY&9=0pfuJ&gޤx+k:!r˭wkl03׼Ku C &ѓYt{.O.zҏ z}/tf_wEp2gvX)GN#I ݭ߽v/ .& и(ZF{e"=V!{zW`, ]+LGz"(UJp|j( #V4, 8B 0 9OkRrlɱl94)'VH9=9W|>PS['G(*I1==C<5"Pg+x'K5EMd؞Af8lG ?D FtoB[je?{k3zQ vZ;%Ɠ,]E>KZ+T/ EJxOZ1i #T<@ I}q9/t'zi(EMqw`mYkU6;[t4DPeckeM;H}_g pMww}k6#H㶏+b8雡Sxp)&C $@'b,fPߑt$RbJ'vznuS ~8='72_`{q纶|Q)Xk}cPz9p7O:'|G~8wx(a 0QCko|0ASD>Ip=4Q, d|F8RcU"/KM opKle M3#i0c%<7׿p&pZq[TR"BpqauIp$ 8~Ĩ!8Սx\ւdT>>Z40ks7 z2IQ}ItԀ<-%S⍤};zIb$I 5K}Q͙D8UguWE$Jh )cu4N tZl+[]M4k8֦Zeq֮M7uIqG 1==tLtR,ƜSrHYt&QP윯Lg' I,3@P'}'R˪e/%-Auv·ñ\> vDJzlӾNv5:|K/Jb6KI9)Zh*ZAi`?S {aiVDԲuy5W7pWeQJk֤#5&V<̺@/GH?^τZL|IJNvI:'P=Ϛt"¨=cud S Q.Ki0 !cJy;LJR;G{BJy޺[^8fK6)=yʊ+(k|&xQ2`L?Ȓ2@Mf 0C`6-%pKpm')c$׻K5[J*U[/#hH!6acB JA _|uMvDyk y)6OPYjœ50VT K}cǻP[ $:]4MEA.y)|B)cf-A?(e|lɉ#P9V)[9t.EiQPDѠ3ϴ;E:+Օ t ȥ~|_N2,ZJLt4! %ա]u {+=p.GhNcŞQI?Nd'yeh n7zi1DB)1S | S#ًZs2|Ɛy$F SxeX{7Vl.Src3E℃Q>b6G ўYCmtկ~=K0f(=LrAS GN'ɹ9<\!a`)֕y[uՍ[09` 9 +57ts6}b4{oqd+J5fa/,97J#6yν99mRWxJyѡyu_TJc`~W>l^q#Ts#2"nD1%fS)FU w{ܯ R{ ˎ󅃏џDsZSQS;LV;7 Od1&1n$ N /.q3~eNɪ]E#oM~}v֯FڦwyZ=<<>Xo稯lfMFV6p02|*=tV!c~]fa5Y^Q_WN|Vs 0ҘދU97OI'N2'8N֭fgg-}V%y]U4 峧p*91#9U kCac_AFңĪy뚇Y_AiuYyTTYЗ-(!JFLt›17uTozc. S;7A&&<ԋ5y;Ro+:' *eYJkWR[@F %SHWP 72k4 qLd'J "zB6{AC0ƁA6U.'F3:Ȅ(9ΜL;D]m8ڥ9}dU "v!;*13Rg^fJyShyy5auA?ɩGHRjo^]׽S)Fm\toy 4WQS@mE#%5ʈfFYDX ~D5Ϡ9tE9So_aU4?Ѽm%&c{n>.KW1Tlb}:j uGi(JgcYj0qn+>) %\!4{LaJso d||u//P_y7iRJ߬nHOy) l+@$($VFIQ9%EeKʈU. ia&FY̒mZ=)+qqoQn >L!qCiDB;Y<%} OgBxB!ØuG)WG9y(Ą{_yesuZmZZey'Wg#C~1Cev@0D $a@˲(.._GimA:uyw֬%;@!JkQVM_Ow:P.s\)ot- ˹"`B,e CRtaEUP<0'}r3[>?G8xU~Nqu;Wm8\RIkբ^5@k+5(By'L&'gBJ3ݶ!/㮻w҅ yqPWUg<e"Qy*167΃sJ\oz]T*UQ<\FԎ`HaNmڜ6DysCask8wP8y9``GJ9lF\G g's Nn͵MLN֪u$| /|7=]O)6s !ĴAKh]q_ap $HH'\1jB^s\|- W1:=6lJBqjY^LsPk""`]w)󭃈,(HC ?䔨Y$Sʣ{4Z+0NvQkhol6C.婧/u]FwiVjZka&%6\F*Ny#8O,22+|Db~d ~Çwc N:FuuCe&oZ(l;@ee-+Wn`44AMK➝2BRՈt7g*1gph9N) *"TF*R(#'88pm=}X]u[i7bEc|\~EMn}P瘊J)K.0i1M6=7'_\kaZ(Th{K*GJyytw"IO-PWJk)..axӝ47"89Cc7ĐBiZx 7m!fy|ϿF9CbȩV 9V-՛^pV̌ɄS#Bv4-@]Vxt-Z, &ֺ*diؠ2^VXbs֔Ìl.jQ]Y[47gj=幽ex)A0ip׳ W2[ᎇhuE^~q흙L} #-b۸oFJ_QP3r6jr+"nfzRJTUqoaۍ /$d8Mx'ݓ= OՃ| )$2mcM*cЙj}f };n YG w0Ia!1Q.oYfr]DyISaP}"dIӗթO67jqR ҊƐƈaɤGG|h;t]䗖oSv|iZqX)oalv;۩meEJ\!8=$4QU4Xo&VEĊ YS^E#d,yX_> ۘ-e\ "Wa6uLĜZi`aD9.% w~mB(02G[6y.773a7 /=o7D)$Z 66 $bY^\CuP. (x'"J60׿Y:Oi;F{w佩b+\Yi`TDWa~|VH)8q/=9!g߆2Y)?ND)%?Ǐ`k/sn:;O299yB=a[Ng 3˲N}vLNy;*?x?~L&=xyӴ~}q{qE*IQ^^ͧvü{Huu=R|>JyUlZV, B~/YF!Y\u_ݼF{_C)LD]m {H 0ihhadd nUkf3oٺCvE\)QJi+֥@tDJkB$1!Đr0XQ|q?d2) Ӣ_}qv-< FŊ߫%roppVBwü~JidY4:}L6M7f٬F "?71<2#?Jyy4뷢<_a7_=Q E=S1И/9{+93֮E{ǂw{))?maÆm(uLE#lïZ  ~d];+]h j?!|$F}*"4(v'8s<ŏUkm7^7no1w2ؗ}TrͿEk>p'8OB7d7R(A 9.*Mi^ͳ; eeUwS+C)uO@ =Sy]` }l8^ZzRXj[^iUɺ$tj))<sbDJfg=Pk_{xaKo1:-uyG0M ԃ\0Lvuy'ȱc2Ji AdyVgVh!{]/&}}ċJ#%d !+87<;qN޼Nفl|1N:8ya  8}k¾+-$4FiZYÔXk*I&'@iI99)HSh4+2G:tGhS^繿 Kتm0 вDk}֚+QT4;sC}rՅE,8CX-e~>G&'9xpW,%Fh,Ry56Y–hW-(v_,? ; qrBk4-V7HQ;ˇ^Gv1JVV%,ik;D_W!))+BoS4QsTM;gt+ndS-~:11Sgv!0qRVh!"Ȋ(̦Yl.]PQWgٳE'`%W1{ndΗBk|Ž7ʒR~,lnoa&:ü$ 3<a[CBݮwt"o\ePJ=Hz"_c^Z.#ˆ*x z̝grY]tdkP*:97YľXyBkD4N.C_[;F9`8& !AMO c `@BA& Ost\-\NX+Xp < !bj3C&QL+*&kAQ=04}cC!9~820G'PC9xa!w&bo_1 Sw"ܱ V )Yl3+ס2KoXOx]"`^WOy :3GO0g;%Yv㐫(R/r (s } u B &FeYZh0y> =2<Ϟc/ -u= c&׭,.0"g"7 6T!vl#sc>{u/Oh Bᾈ)۴74]x7 gMӒ"d]U)}" v4co[ ɡs 5Gg=XR14?5A}D "b{0$L .\4y{_fe:kVS\\O]c^W52LSBDM! C3Dhr̦RtArx4&agaN3Cf<Ԉp4~ B'"1@.b_/xQ} _߃҉/gٓ2Qkqp0շpZ2fԫYz< 4L.Cyυι1t@鎫Fe sYfsF}^ V}N<_`p)alٶ "(XEAVZ<)2},:Ir*#m_YӼ R%a||EƼIJ,,+f"96r/}0jE/)s)cjW#w'Sʯ5<66lj$a~3Kʛy 2:cZ:Yh))+a߭K::N,Q F'qB]={.]h85C9cr=}*rk?vwV렵ٸW Rs%}rNAkDv|uFLBkWY YkX מ|)1!$#3%y?pF<@<Rr0}: }\J [5FRxY<9"SQdE(Q*Qʻ)q1E0B_O24[U'],lOb ]~WjHޏTQ5Syu wq)xnw8~)c 쫬gٲߠ H% k5dƝk> kEj,0% b"vi2Wس_CuK)K{n|>t{P1򨾜j>'kEkƗBg*H%'_aY6Bn!TL&ɌOb{c`'d^{t\i^[uɐ[}q0lM˕G:‚4kb祔c^:?bpg… +37stH:0}en6x˟%/<]BL&* 5&fK9Mq)/iyqtA%kUe[ڛKN]Ě^,"`/ s[EQQm?|XJ߅92m]G.E΃ח U*Cn.j_)Tѧj̿30ڇ!A0=͜ar I3$C^-9#|pk!)?7.x9 @OO;WƝZBFU keZ75F6Tc6"ZȚs2y/1 ʵ:u4xa`C>6Rb/Yм)^=+~uRd`/|_8xbB0?Ft||Z\##|K 0>>zxv8۴吅q 8ĥ)"6>~\8:qM}#͚'ĉ#p\׶ l#bA?)|g g9|8jP(cr,BwV (WliVxxᡁ@0Okn;ɥh$_ckCgriv}>=wGzβ KkBɛ[˪ !J)h&k2%07δt}!d<9;I&0wV/ v 0<H}L&8ob%Hi|޶o&h1L|u֦y~󛱢8fٲUsւ)0oiFx2}X[zVYr_;N(w]_4B@OanC?gĦx>мgx>ΛToZoOMp>40>V Oy V9iq!4 LN,ˢu{jsz]|"R޻&'ƚ{53ўFu(<٪9:΋]B;)B>1::8;~)Yt|0(pw2N%&X,URBK)3\zz&}ax4;ǟ(tLNg{N|Ǽ\G#C9g$^\}p?556]/RP.90 k,U8/u776s ʪ_01چ|\N 0VV*3H鴃J7iI!wG_^ypl}r*jɤSR 5QN@ iZ#1ٰy;_\3\BQQ x:WJv츟ٯ$"@6 S#qe딇(/P( Dy~TOϻ<4:-+F`0||;Xl-"uw$Цi󼕝mKʩorz"mϺ$F:~E'ҐvD\y?Rr8_He@ e~O,T.(ފR*cY^m|cVR[8 JҡSm!ΆԨb)RHG{?MpqrmN>߶Y)\p,d#xۆWY*,l6]v0h15M˙MS8+EdI='LBJIH7_9{Caз*Lq,dt >+~ّeʏ?xԕ4bBAŚjﵫ!'\Ը$WNvKO}ӽmSşذqsOy?\[,d@'73'j%kOe`1.g2"e =YIzS2|zŐƄa\U,dP;jhhhaxǶ?КZ՚.q SE+XrbOu%\GتX(H,N^~]JyEZQKceTQ]VGYqnah;y$cQahT&QPZ*iZ8UQQM.qo/T\7X"u?Mttl2Xq(IoW{R^ ux*SYJ! 4S.Jy~ BROS[V|žKNɛP(L6V^|cR7i7nZW1Fd@ Ara{詑|(T*dN]Ko?s=@ |_EvF]׍kR)eBJc" MUUbY6`~V޴dJKß&~'d3i WWWWWW
Current Directory: /usr/share/emacs/24.3/lisp/calc
Viewing File: /usr/share/emacs/24.3/lisp/calc/calc-alg.elc
;ELC ;;; Compiled by mockbuild@buildfarm01-new.corp.cloudlinux.com on Tue Nov 11 12:55:44 2025 ;;; from file /builddir/build/BUILD/emacs-24.3/lisp/calc/calc-alg.el ;;; in Emacs version 24.3.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-alg-evaluate #[(arg) "\300\301`\"\207" [calc-do #[nil "\303>?\205\304\305\n!\210\306\307\310\311\307!#*\207" [calc-simplify-mode math-simplify-only arg (none num) nil calc-modify-simplify-mode calc-enter-result 1 "dsmp" calc-top] 5]] 3 nil "p"]) (defalias 'calc-modify-simplify-mode #[(arg) "\302!\303U\203 \304\202\302!\305Y\203\306\307W\205! C\211\207" [arg calc-simplify-mode math-abs 2 alg 3 ext 0] 2]) (defalias 'calc-simplify #[nil "\300\301`\"\207" [calc-do #[nil "\302\303!\304 \203\305\306\307!!)\310 \203 \305\306\311!!) \312>?\205( \313\303\314\315!#*\207" [top 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] 5]] 3 nil nil]) (defalias 'calc-simplify-extended #[nil "\300\301`\"\207" [calc-do #[nil "\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]) (defalias 'calc-expand-formula #[(arg) "\300\301`\"\207" [calc-do #[nil "\305>?\205\306\307\n!\210\310\311\312\n\313V\203!\314\315\311!)\202-\315\311!\316\f!\206,\f)#*\207" [calc-simplify-mode math-simplify-only arg math-expand-formulas top (none num) nil calc-modify-simplify-mode calc-enter-result 1 "expf" 0 t calc-top-n math-expand-formula] 5]] 3 nil "p"]) (defalias 'calc-factor #[(arg) "\300\301`\"\207" [calc-do #[nil "\301\302\303 \203 \304\202\f\305#\207" [arg calc-unary-op "fctr" calc-is-hyperbolic calcFunc-factors calcFunc-factor] 4]] 3 nil "P"]) (defalias 'calc-expand #[(n) "\300\301`\"\207" [calc-do #[nil "\301\302\303\304\305\306\302!D\205\307!C\"#\207" [n calc-enter-result 1 "expa" append calcFunc-expand calc-top-n prefix-numeric-value] 7]] 3 nil "P"]) (defalias 'calcFunc-powerexpand #[(expr) "\301\302\303\"!\207" [expr math-normalize math-map-tree math-powerexpand] 4]) (defalias 'math-powerexpand #[(expr) "\242\305=\203l\3068\211\250\2037 \307V\2037\310A@A@\211 W\2032\311\n \"\fT\211\202!\n+\202j \250\203i \307W\203i\312\313A@\312\"\313A@\312\"\211 V\203d\311 \n\"\fS\211\202S\n+\202j)\207\207" [expr n prod a i ^ 2 0 1 math-mul -1 math-pow] 6]) (defalias 'calc-powerexpand #[nil "\300\301`\"\207" [calc-do #[nil "\300\301\302\303\304\301!!#\207" [calc-enter-result 1 "pexp" calcFunc-powerexpand calc-top-n] 6]] 3 nil nil]) (defalias 'calc-collect #[(&optional var) "\300\301`\"\207" [calc-do #[nil "\301\232\204\302\232\204\204\303\304\305\306\307\304!B#\207\310!\211\242\311=\203,\311\312A@\"\210\303\313\305\306\314\313!E#)\207" [var "" "$" 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]] 3 nil "sCollect terms involving: "]) (defalias 'calc-apart #[(arg) "\300\301`\"\207" [calc-do #[nil "\301\302\303#\207" [arg calc-unary-op "aprt" calcFunc-apart] 4]] 3 nil "P"]) (defalias 'calc-normalize-rat #[(arg) "\300\301`\"\207" [calc-do #[nil "\301\302\303#\207" [arg calc-unary-op "nrat" calcFunc-nrat] 4]] 3 nil "P"]) (defalias 'calc-poly-gcd #[(arg) "\300\301`\"\207" [calc-do #[nil "\301\302\303#\207" [arg calc-binary-op "pgcd" calcFunc-pgcd] 4]] 3 nil "P"]) (defalias 'calc-poly-div #[(arg) "\300\301`\"\207" [calc-do #[nil "\303\304\305\306 #\210\205R ?\205R\307\310!\210\311\312\"\210\211:\203>\n@\313>?\205A\n@\314=\2038\nA@\315=\202A\316\n!\202A\n\315=)\204O\317\320\321\315\"\"\202R\317\322!)\207" [calc-poly-div-remainder arg a nil calc-binary-op "pdiv" calcFunc-pdiv calc-clear-command-flag clear-message calc-record "prem" (bigpos bigneg) float 0 math-zerop message "(Remainder was %s)" math-format-flat-expr "(No remainder)"] 6]] 3 nil "P"]) (defalias 'calc-poly-rem #[(arg) "\300\301`\"\207" [calc-do #[nil "\301\302\303#\207" [arg calc-binary-op "prem" calcFunc-prem] 4]] 3 nil "P"]) (defalias 'calc-poly-div-rem #[(arg) "\300\301`\"\207" [calc-do #[nil "\301 \203 \302\303\304#\207\302\303\305#\207" [arg calc-is-hyperbolic calc-binary-op "pdvr" calcFunc-pdivide calcFunc-pdivrem] 4]] 3 nil "P"]) (defalias 'calc-substitute #[(&optional oldname newname) "\300\301`\"\207" [calc-do #[nil "\306\211\307\306\f\310\232\204\f\311\232\204\f\204)\312\307!\312\313!\312\314!\314\202\233 \2049\315\307!\210\316\317\f\320Q\f\" \310\232\204I \311\232\204I \204V\312\307!\312\313!\313\202u ;\203a\321 !\202b \211\242\322=\203q\322\323\nA@\"\210\312\307!\f;\203\200\321\f!\202\201\f\211\242\322=\203\220\322\323 A@\"\210\324 \"\204\233\322\325!\210\326 \327\330 \n##,\207" [expr num new old oldname newname 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] 8]] 3 nil "sSubstitute old: "]) (defalias 'calc-has-rules #[(name) "\301!\211:\205@\302>\205\207" [name calc-var-value (vec calcFunc-assign calcFunc-condition)] 3]) (defalias 'math-recompile-eval-rules #[nil "\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]) (defalias 'math-expand-formula #[(expr) ":\205.@9\205.@\303N\204@\304N\205.\305\306@A\")\211\242@=?\205-\n)\207" [expr math-expand-formulas res calc-user-defn math-expandable t apply] 4]) (defalias 'math-beforep #[(a b) "\211:?\206\f@\303>)\203E \211:?\206@\303>)\203E\304 \"\211\305=\206C\n\306=\205C \232?\205C\242\307>G \242\310>GV)\207 \311\232\203M\312\207\313\232\203U\314\207\315\232\203]\312\207 \316\232\203e\314\207\211:?\206q@\303>)\203\237 \242\317=\203\235\320 !\203\235\321\322 8\"\204\233\322 8\304 \"\306U*\205\236\314\207\314\207 \211:?\206\253@\303>)\203\307\242\317=\205\306\320!\205\375\321\3228 \"\205\306\314\207@\317=\203Z @\317=\203Z\320!\203Z\320 !\203Z\304\3228\322 8\"\211\305=\203\364\314\202X\n\323=\203\376\312\202XA@\324>\203 A@\325>\203\314\202XA@\326>\203& A@\327>\203&\312\202X\304\3308\330 8\"\211\305=\2039\314\202X\n\323=\203C\312\202XA@\331>\203W A@\332>\203W\314\202X\312)\207\211:?\206f@\333>)? \211:?\206t@\333>)?=\204\210\211:?\206\206@\333>)\207@\334=\203\261 @\334=\203\242\335A@!\335 A@!\231\207 \211:?\206\256@\336>)?\207 @\334=\203\306\211:?\206\304@\336>)\207@ @=\203\364A A\211\203\344\203\344@ @\232\204\316 \205\375?\206\363\321@ @\"\207\335@!\335 @!\231\207" [a b comp (bigpos bigneg frac float) math-compare -1 0 (bigneg nil bigpos frac float) (bigneg nil bigpos frac float) (neg (var inf var-inf)) nil (neg (var inf var-inf)) t (var inf var-inf) (var inf var-inf) intv math-intv-constp math-beforep 2 1 (2 3) (0 1) (0 1) (2 3) 3 (0 2) (1 3) (bigpos bigneg frac float cplx polar hms date sdev intv mod) var symbol-name (bigpos bigneg frac float cplx polar)] 5]) (defalias 'math-simplify-extended #[(a) "\302\303 !)\207" [math-living-dangerously a t math-simplify] 2]) (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) #@64 Rewrite trigonometric functions in terms of sines and cosines. (defalias 'math-trig-rewrite #[(fn) ":\204\207\242\302=\203\303\304\305\306A!BE\207\242\307=\203)\303\304\310\306A!BE\207\242\311=\203?\306A!\303\310 B\305 BE)\207\242\312=\203U\306A!\303\305 B\310 BE)\207\313\306\"\207" [fn newfn calcFunc-sec / 1 calcFunc-cos math-trig-rewrite calcFunc-csc calcFunc-sin calcFunc-tan calcFunc-cot mapcar] 5 (#$ . 8009)]) #@59 Rewrite hyperbolic functions in terms of sinhs and coshs. (defalias 'math-hyperbolic-trig-rewrite #[(fn) ":\204\207\242\302=\203\303\304\305\306A!BE\207\242\307=\203)\303\304\310\306A!BE\207\242\311=\203?\306A!\303\310 B\305 BE)\207\242\312=\203U\306A!\303\305 B\310 BE)\207\313\306\"\207" [fn newfn calcFunc-sech / 1 calcFunc-cosh math-hyperbolic-trig-rewrite calcFunc-csch calcFunc-sinh calcFunc-tanh calcFunc-coth mapcar] 5 (#$ . 8453)]) (defalias 'math-simplify #[(top-expr) "\306:\307\310\311!\205 \312 \205\310\313!\205\314\n\205!\310\315!\205!\316 \205,\310\317!\205,\320$\321\203f \322\323!!\324\323\f!\203b\325@\326#A\211\204O)\202\246\327>?\205n \323!?\205\233\203\222\325\f@\"A\211\204\202\322\f!\211\232?)\203\245\f\202o),\207" [calc-simplify-mode math-living-dangerously math-simplifying-units math-integrating res simp-rules t 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-top-only math-simplifying r top-expr math-normalize-error] 9]) (defalias 'calcFunc-simplify 'math-simplify) (defalias 'math-simplify-step #[(a) "\211:?\206\f@\304>)\203\207 \204@\305>\203!\202)@\306\307A\"B\211@9\203T\n@\310N\211\203S \203S @\n!\206E\n\211\232\203S A\211\204=)\n)\207" [a math-top-only aa handler (bigpos bigneg frac float cplx polar hms date mod var) (calcFunc-quote calcFunc-condition calcFunc-evalto) mapcar math-simplify-step math-simplify] 5]) (defalias 'math-defsimplify '(macro . #[(funcs &rest code) "\301\302\3039\203 C\202\"B\207" [funcs progn mapcar #[(func) "\302\303D\304\305\306\303D\307BB\310\311\312\313 BBDDEF\207" [func code put quote 'math-simplify nconc get ('math-simplify) list function lambda (math-simplify-expr)] 10]] 4])) (byte-code "\300\301\302\303#\210\300\304\305\304\305N\306C\244#\210\300\307\305\307\305N\310C\244#\207" [put math-defsimplify lisp-indent-hook 1 + math-simplify #[#1=(math-simplify-expr) "\300 \207" [math-simplify-plus] 1] - #[#1# "\300 \207" [math-simplify-plus] 1]] 5) (defalias 'math-simplify-plus #[nil "A@\242\306>\203Y\307A@8\211:?\206 @\310>)\203Y\3078\211:?\206+ @\310>)\204Y\3078@AA\307A@8\240\210\211A@@\240\210A@AA \240\210A@\n\240\210*\202\226@\311=\203\226A@\211:?\206n @\310>)\203\226\3078\211:?\206\200 @\310>)\204\226\3078AAA@\240\210A \240\210)\312\211\211A@\211\242\313>\203\330\314\307 8\3078 @\315=@\315=\316%\211\203\316AA\f\240\210\311\240\210 AA\317\240\210A@\211\202\236\314 \3078\312@\315=\316%\211\203\371AA\f\240\210\311\240\210A\317\240\210+\207" [math-simplify-expr a op x temp aaa (+ -) 2 (bigpos bigneg frac float cplx polar) + nil (+ -) math-combine-sum - t 0 aa] 7]) (byte-code "\300\301\302\301\302N\303C\244#\207" [put * math-simplify #[(math-simplify-expr) "\300 \207" [math-simplify-times] 1]] 5) (defalias 'math-simplify-times #[nil "\3068\242\307=\203B\310\3068A@A@\"\203q\311A@\312\"\204*\311\3068A@\312\"\203qA@A\3068A@\240\210\3068A \240\210)\202q\310\3068A@\"\203q\311A@\312\"\204_\311\3068\312\"\203q\3068AAA@\240\210A \240\210)\313\211\312\311A@!A@\211:?\206\220@\314>)\203\263\315\3068!\211\203\263AA\316\3068\f\"\240\210A\317A@\f\"\240\210\3068\211\242\307=\203\361 \203\361\320A@ A@\313\211\312%\211\203\335A\f\240\210 A\321\240\210\n\206\347\311 A@\312\"\3068\202\263\320 A@\313\211\312%\211\203 \203A\f\240\210AA\321\240\210A@\242\322=\2036A@A@\323>\2036\324\317\3068A@A@\"\306A@8\"\2027-\207" [math-simplify-expr x scalar safe temp aaa 2 * math-beforep math-known-scalarp t nil (bigpos bigneg frac) math-common-constant-factor math-cancel-common-factor math-mul math-combine-prod 1 frac (1 -1) math-div aa a] 7]) (byte-code "\300\301\302\301\302N\303C\244#\207" [put / math-simplify #[(math-simplify-expr) "\300 \207" [math-simplify-divide] 1]] 5) (defalias 'math-simplify-divide #[nil "A\306@\307=\204\3108\211:?\206 @\311>)?\205\"\312\3108!\306\211\f\203\346@\307=\204HA@\211:?\206C @\311>)?\205M\312A@!\f\242\313=\203\254\fA@\314=\203\254 \204\254\242\315=\203|A@\242\316=\203|\317\3108A@\"\203\346A\320\310\f8A@\"\240\210AA\321\3108\f\"\240\210\322\f!\203\346@\236\211\203\346\nA@\240\210\202\346 \203\346\323 \f\"\211\314=\204\346A\321A@ \"\240\210AA\321\3108 \"\240\210\322 !\203\346@\236\211\203\346\nA@\240\210@\242\307=\2037\324\3108\325\"\2037A@A\211@\211\242\326=\203$\324\310 8\325\"\203\327 AAA\306\325$\210 AA\211\202\377\327AA\306\325$\210\325A@AA@\211\242\326=\203^\324\310 8\325\"\203U\327 AAA \325$\210 AA\211\2029\327AA \325$\210-\207" [math-simplify-expr a op n nn nover nil / 2 (bigpos bigneg 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 np calc-tweak-eqn-table] 6]) (defalias 'math-simplify-divisor #[(np dp math-simplify-divisor-nover math-simplify-divisor-dover) "@\242\306=\203&\307 @A\n $\210\310@A@\311\"\205\226\307 @AA\n ?$\207\f@\306=\204R\312 @!\211\313>\206G\f@\314>\203E \315=\206G)\204R\316 @!\205\226\317\311\310 @!@\211\242\320=\203\214\203\214\321 A\"\210\206\201\310A@\311\"AA\211\202_\205\225\321 \"+\207" [dp np math-simplify-divisor-nover math-simplify-divisor-dover math-simplify-expr signs / math-simplify-divisor math-known-scalarp t math-possible-signs (1 4) (calcFunc-eq calcFunc-neq) 5 math-numberp nil * math-simplify-one-divisor math-living-dangerously scalar safe d] 6]) (defalias 'math-simplify-one-divisor #[(np dp) "\306@ @\n \307%\310\211\203F@\311>\2041\312 @!\2031@\236\211\2031\fA@\240\210\n\203=\313\314 \"\202> \240\210 \314\240\202\207 \205\207\n?\205\207@\315=\205\207 @\242\316=\205\207 @A@\211:?\206p@\317>)\205\207\320@\316 @A@D\"\240\210 \211@A@\240*\207" [np dp math-simplify-divisor-nover math-simplify-divisor-dover op temp math-combine-prod t nil (/ calcFunc-eq calcFunc-neq) math-known-negp math-div 1 / calcFunc-sqrt (bigpos bigneg) math-mul math-simplify-expr calc-tweak-eqn-table a] 7]) (defalias 'math-common-constant-factor #[(expr) "\211:?\206\f @\304>)\2039\211:?\206 @\305>)\203+\306>?\2058\307!\207\310\311!\211!\2058\312!\207@\313>\203c\312A@!\312\3148!\211\205a\n\205a\315 \n\"\211\316=?\205a *\207@\317>\203p\312A@!\207@\320=\205\231\312A@!\206\231\3148\211:?\206\215 @\321>)\205\231\322\316\307\3148!E\207" [expr a f2 f1 (bigpos bigneg frac float) (bigpos bigneg frac) (0 1 -1) math-abs math-ratp math-to-simple-fraction math-common-constant-factor (+ - cplx sdev) 2 math-frac-gcd 1 (* polar) / (bigpos bigneg) frac] 6]) (defalias 'math-cancel-common-factor #[(expr val) "\242\302>\203A\303A@ \"\240\210AA\303\3048 \"\240\210\207\242\305=\2031\306\303A@ \"\3048\"\207\307 \"\207" [expr val (+ - cplx sdev) math-cancel-common-factor 2 * math-mul math-div] 4]) (defalias 'math-frac-gcd #[(a b) "\211:\203$@\302>?\205'@\303=\203A@\304=\202'\305!\202'\304=)\203- \207 \211:\203Q@\302>?\205T@\303=\203KA@\304=\202T\305!\202T\304=)\203Z\207\211:?\206f@\306>)\203 \211:?\206v@\306>)\203\307 \"\207\211:?\206\213@\306>)\203\224\310\311E \211:?\206\240@\306>)\203\251\310 \311E\312\307A@ A@\"\307\3138\313 8\"\"\207" [a b (bigpos bigneg) float 0 math-zerop (bigpos bigneg) math-gcd frac 1 math-make-frac 2] 7]) (byte-code "\300\301\302\301\302N\303C\244#\207" [put % math-simplify #[(math-simplify-expr) "\300 \207" [math-simplify-mod] 1]] 5) (defalias 'math-simplify-mod #[nil "\3068\211:?\206 @\307>)\205\3068\211:\203N @\310=\206Q @\311=?\205Q @\312>\203H A@\211:\203A @\310=\202D \313V)\202Q\314 !\202Q \313V)\205\315A@!\316\211\211\211\203\230\317 @!\204 @\3068\320 \"\321U*\204\230\322\323\324 A@\306 8\"\325 @\3068\"E\3068E\206 \203\355\326 A@\327\"\204\355\330 A@!\203\355\330\3068!\203\355\331 A@\3068\"\211\203\355\326\f\327\"\204\355\332\f\322\323\324\333 A@\f\"\306 8\"\334\333 @\f\")E\333\3068\f\"EE\206\326\3068\327\"\205\335 \203\324 A@\306 8\"\202 A@!\205 \203\325 @\327\"\202\313,\207" [math-simplify-expr a t3 t2 t1 lin 2 (bigpos bigneg frac float) bigpos bigneg (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 b calc-prefer-frac] 9]) (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#\207" [put calcFunc-eq math-simplify #[#1=(math-simplify-expr) "G\301U\205 \302 \207" [math-simplify-expr 3 math-simplify-ineq] 2] calcFunc-neq #[#1# "G\301U\205 \302 \207" [math-simplify-expr 3 math-simplify-ineq] 2] calcFunc-lt #[#1# "G\301U\205 \302 \207" [math-simplify-expr 3 math-simplify-ineq] 2] calcFunc-gt #[#1# "G\301U\205 \302 \207" [math-simplify-expr 3 math-simplify-ineq] 2] calcFunc-leq #[#1# "G\301U\205 \302 \207" [math-simplify-expr 3 math-simplify-ineq] 2] calcFunc-geq #[#1# "G\301U\205 \302 \207" [math-simplify-expr 3 math-simplify-ineq] 2]] 5) (defalias 'math-simplify-ineq #[nil "A\304\211@\211\242\305>\203$\306 AAAA @\307=\304$\210 A\211\202\306\nAA\304\nA=$\210\310 \210\311\307AB!@\312=\203U \313=\203K\314\202\335 \315>\203\334\316\202\335@\317=\203p \313=\203f\316\202\335 \320>\203\334\314\202\335@\321=\203\213 \314=\203\201\314\202\335 \322>\203\334\316\202\335@\323=\203\246 \324=\203\234\314\202\335 \325>\203\334\316\202\335@\326=\203\301 \324=\203\267\316\202\335 \327>\203\334\314\202\335@\330=\203\334 \314=\203\322\316\202\335 \331>\203\334\314\202\335+\207" [math-simplify-expr n np signs 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)] 7]) (defalias 'math-simplify-add-term #[(np dp minus lplain) "\306@!\206\277\307\310\211\211\211@@\211\242\311>\203{\310\312\f\313 8 @\314=\307%\211\203t\204A\315 !=\203[\203M\316 !\202N \211\240\210 AA\317\240\210\202t\317\240\210 AA @\314=\203o\316 !\202p \211\240\210 A\202\312\f \307\211%\211\205\276\204\232 \204\262\315 !=\203\262\203\246\316 !\202\247 \211\240\210\317\240\202\276\317\240\210\316 !\211\240-\207" [np temp dd d n rplain math-vectorp t nil (+ -) math-combine-sum 2 + math-looks-negp math-neg 0 dp minus lplain] 6]) (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 #[#1=(math-simplify-expr) "A@\242\305=\203A@A@\206\312\306A@!\203%\307\310\307A@!D!\206\312 \311=\203C\312A@\313\"\211\205?\314\n@\nA@\315\316$)\206\312 \317=\203`\320A@!\211\205\\\314\n@\nA@\321\316$)\206\312A@\242\322=\203x\323\324\325\326A@A@!\"D\206\312A@\242\327=\203\227\330A@A@\323\331\325\326A@A@!\"D\"\206\312\332A@!\211\205\311 @\250\205\311 @ A@\333\334\310\334\nS\fED\335\fDE\334\335\334\nS\fED\310\fDEE*)\207" [math-simplify-expr calc-angle-mode n m a 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] 8] calcFunc-cos #[#1# "A@\242\305=\203A@A@\206\304\306A@!\203#\307\310A@!D\206\304 \311=\203A\312A@\313\"\211\205=\314\n@\nA@\315\316$)\206\304 \317=\203^\320A@!\211\205Z\314\n@\nA@\321\316$)\206\304A@\242\322=\203v\323\324\325\326A@A@!\"D\206\304A@\242\327=\203\221\330\325\323\331\325\326A@A@!\"D\"\206\304\332A@!\211\205\303 @\250\205\303 @ A@\333\334\307\334\nS\fED\307\fDE\334\335\334\nS\fED\335\fDEE*)\207" [math-simplify-expr calc-angle-mode n m a 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] 8] calcFunc-sec #[#1# "\303A@!\203\304\305A@!D\206\227 \306=\2033\307A@\310\"\211\205/\311\312\313\n@\nA@\314\315$\")\206\227 \316=\203S\317A@!\211\205O\311\312\313\n@\nA@\320\315$\")\206\227A@\242\321=\203n\311\312\322\323\312\324A@A@!\"D\"\206\227A@\242\325=\203\202\311\312A@A@\"\206\227A@\242\326=\205\227\322\327\312\324A@A@!\"D\207" [math-simplify-expr calc-angle-mode n math-looks-negp calcFunc-sec math-neg rad math-linear-in (var pi var-pi) math-div 1 math-known-sin 120 300 deg math-integer-plus (frac 2 3) calcFunc-arcsin calcFunc-sqrt math-sub math-sqr calcFunc-arccos calcFunc-arctan math-add] 8] calcFunc-csc #[#1# "\303A@!\203\304\305\304A@!D!\206\240 \306=\2035\307A@\310\"\211\2051\311\312\313\n@\nA@\314\315$\")\206\240 \316=\203U\317A@!\211\205Q\311\312\313\n@\nA@\320\315$\")\206\240A@\242\321=\203i\311\312A@A@\"\206\240A@\242\322=\203\204\311\312\323\324\312\325A@A@!\"D\"\206\240A@\242\326=\205\240\311\323\327\312\325A@A@!\"DA@A@\"\207" [math-simplify-expr calc-angle-mode n math-looks-negp math-neg calcFunc-csc rad math-linear-in (var pi var-pi) math-div 1 math-known-sin 120 0 deg math-integer-plus (frac 2 3) calcFunc-arcsin calcFunc-arccos calcFunc-sqrt math-sub math-sqr calcFunc-arctan math-add] 8]] 5) (defalias 'math-should-expand-trig #[(x &optional hyperbolic) "\305!\n\205E \205E @\250\203 @\306V\204 @\307\232\205E \204D A@\242\f\2030\310\2021\311>\204D A@\242\312=\205E\f\313=\205E )\207" [x m math-living-dangerously math-integrating hyperbolic math-is-multiple 1 (frac 1 2) (calcFunc-arcsinh calcFunc-arccosh calcFunc-arctanh) (calcFunc-arcsin calcFunc-arccos calcFunc-arctan) calcFunc-ln exp] 2]) (defalias 'math-known-sin #[(plus n mul off) "\305 \"\306!\205h\307\310\311!\n\"\312\"\211\205h\313Y\2030\314 \313Z\315\316$\211\205h\317!\207\320V\203:\313Z\321 !\203O\f\204J\322>\205h\323\236A\207\316=\203[\324\325 D!\207\320=\203g\324\326 D!\207\327\207" [n mul off plus 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)) math-normalize calcFunc-sin calcFunc-cos nil] 5]) (byte-code "\300\301\302\301\302N\303C\244#\210\300\304\302\304\302N\305C\244#\207" [put calcFunc-tan math-simplify #[#1=(math-simplify-expr) "A@\242\304=\203A@A@\206\314\305A@!\203%\306\307\306A@!D!\206\314 \310=\203B\311A@\312\"\211\205>\313\n@\nA@\314#)\206\314 \315=\203^\316A@!\211\205Z\313\n@\nA@\317#)\206\314A@\242\320=\203}\321A@A@\322\323\324\325A@A@!\"D\"\206\314A@\242\326=\203\234\321\322\323\324\325A@A@!\"DA@A@\"\206\314\327A@!\211\205\313 @\330\232\203\277\321\323\324\331 A@D\"\332 A@D\"\202\313\321\332A@D\331A@D\")\207" [math-simplify-expr calc-angle-mode n m 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] calcFunc-cot #[#1# "\303A@!\203\304\305\304A@!D!\206\242 \306=\2034\307A@\310\"\211\2050\311\312\313\n@\nA@\314#\")\206\242 \315=\203S\316A@!\211\205O\311\312\313\n@\nA@\317#\")\206\242A@\242\320=\203r\311\321\322\312\323A@A@!\"DA@A@\"\206\242A@\242\324=\203\221\311A@A@\321\322\312\323A@A@!\"D\"\206\242A@\242\325=\205\242\311\312A@A@\"\207" [math-simplify-expr calc-angle-mode n math-looks-negp math-neg calcFunc-cot rad math-linear-in (var pi var-pi) math-div 1 math-known-tan 120 deg math-integer-plus (frac 2 3) calcFunc-arcsin calcFunc-sqrt math-sub math-sqr calcFunc-arccos calcFunc-arctan] 8]] 5) (defalias 'math-known-tan #[(plus n mul) "\304 \"\305!\205]\306\307!\310\"\211\205]\311V\203,\312\n\310Z\313#\211\205]\314!\207\315\n!\203A \204<\316>\205]\317\236A\207\320=\203M\321\322\nD!\207\311=\203\\\321\323\324\322\nDE!\207\325\207" [n mul plus 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)) 0 math-normalize calcFunc-tan / -1 nil] 5]) (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 #[#1=(math-simplify-expr) "A@\242\305=\203A@A@\206\236\306A@!\203%\307\310\307A@!D!\206\236A@\242\311=\203A \203A\312\313\314A@A@!\315\"D\206\236A@\242\316=\203d \203d\317A@A@\312\313\315\314A@A@!\"D\"\206\236\320A@\321\"\211\205\235\n@\250\205\235\n@\nA@\211\315V\205\234\322\323\310\323\fS ED\324 DE\323\324\323\fS ED\310 DEE*)\207" [math-simplify-expr math-living-dangerously m a n 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] 8] calcFunc-cosh #[#1# "A@\242\305=\203A@A@\206\230\306A@!\203#\307\310A@!D\206\230A@\242\311=\203? \203?\312\313\314A@A@!\315\"D\206\230A@\242\316=\203^ \203^\317\315\312\320\315\314A@A@!\"D\"\206\230\321A@\322\"\211\205\227\n@\250\205\227\n@\nA@\211\315V\205\226\323\324\307\324\fS ED\307 DE\324\325\324\fS ED\325 DEE*)\207" [math-simplify-expr math-living-dangerously m a n 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] 8] calcFunc-tanh #[#1# "A@\242\303=\203A@A@\206\234\304A@!\203%\305\306\305A@!D!\206\234A@\242\307=\203H \203H\310A@A@\311\312\313A@A@!\314\"D\"\206\234A@\242\315=\203k \203k\310\311\316\313A@A@!\314\"DA@A@\"\206\234\317A@\320\"\211\205\233\n@\321\232\203\217\310\316\322\nA@D\314\"\323\nA@D\"\202\233\310\323A@D\322A@D\")\207" [math-simplify-expr math-living-dangerously m 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] calcFunc-sech #[#1# "\302A@!\203\303\304A@!D\206dA@\242\305=\2031 \2031\306\307\310\311\312A@A@!\307\"D\"\206dA@\242\313=\203K \203K\306\307A@A@\"\203K\307\207A@\242\314=\205d \205d\310\315\307\312A@A@!\"D\207" [math-simplify-expr 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] 6] calcFunc-csch #[#1# "\302A@!\203\303\304\303A@!D!\206kA@\242\305=\203, \203,\306\307A@A@\"\206kA@\242\310=\203K \203K\306\307\311\312\313A@A@!\307\"D\"\206kA@\242\314=\205k \205k\306\311\312\307\313A@A@!\"DA@A@\"\207" [math-simplify-expr 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] 6] calcFunc-coth #[#1# "\302A@!\203\303\304\303A@!D!\206oA@\242\305=\2037 \2037\306\307\310\311A@A@!\312\"DA@A@\"\206oA@\242\313=\203Z \203Z\306A@A@\307\314\311A@A@!\312\"D\"\206oA@\242\315=\205o \205o\306\312A@A@\"\207" [math-simplify-expr 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] 6] calcFunc-arcsin #[#1# "\302A@!\203\303\304\303A@!D!\206_A@\305=\203\"\306\307!\206_A@\310\232\2033\311\312\307!\313\"\206_ \203HA@\242\314=\203HA@A@\206_ \205_A@\242\315=\205_\316\306\307!A@A@\"\207" [math-simplify-expr 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] 4] calcFunc-arccos #[#1# "A@\302=\203\303\304!\206mA@\305=\203\306\304!\206mA@\307\232\203-\310\306\304!\311\"\206mA@\312\232\203A\310\313\306\304!\314\"\311\"\206m \203VA@\242\315=\203VA@A@\206m \205mA@\242\316=\205m\317\303\304!A@A@\"\207" [math-simplify-expr 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] 4] calcFunc-arctan #[#1# "\302A@!\203\303\304\303A@!D!\2067A@\305=\203%\306\307\310!\311\"\2067 \2057A@\242\312=\2057A@A@\207" [math-simplify-expr math-living-dangerously math-looks-negp math-neg calcFunc-arctan 1 math-div math-half-circle t 4 calcFunc-tan] 4] calcFunc-arcsinh #[#1# "\302A@!\203\303\304\303A@!D!\2060A@\242\305=\2050 \204+\306A@A@!\2050A@A@\207" [math-simplify-expr math-living-dangerously math-looks-negp math-neg calcFunc-arcsinh calcFunc-sinh math-known-realp] 4] calcFunc-arccosh #[#1# "A@\242\302=\205 \204\303A@A@!\205A@A@\207" [math-simplify-expr math-living-dangerously calcFunc-cosh math-known-realp] 2] calcFunc-arctanh #[#1# "\302A@!\203\303\304\303A@!D!\2060A@\242\305=\2050 \204+\306A@A@!\2050A@A@\207" [math-simplify-expr math-living-dangerously math-looks-negp math-neg calcFunc-arctanh calcFunc-tanh math-known-realp] 4] calcFunc-sqrt #[#1# "\300 \207" [math-simplify-sqrt] 1]] 5) (defalias 'math-simplify-sqrt #[nil "A@\242\306=\203!\307\310\311A@A@\312A@8\"D\312A@8\"\206\220\313A@!\2031\314A@!\2026\315A@!\211\205S \316=?\205S\311\317\310 D!\317\310\320A@ \"D!\")\206\220\n\205\220A@\242\321=\203\275\322A@A@\316\"\203\275\312A@8\242\323=\203\275\322\312\211A@88\312\"\203\275\312A@8A@\242\324=\203\242\325\312A@8A@A@D\206\220\312A@8A@\242\325=\203\275\324\312A@8A@A@D\206\220A@\242\321=\203\322\312A@8\316\"\203A@A@\242\323=\203\322\312A@A@8\312\"\203A@A@A@\242\326=\203\327A@A@A@A@D\206\220A@\242\330=\203\226A@A@\312A@8\322\f\316\"\203, A@A@\211\2043\322 \316\"\205\222\f\242\323=\205\222\322\312\f8\312\"\205\222\fA@\242\327=\203V\326\fA@A@D\206\222\fA@\242\331=\203i\332\fA@A@D\206\222\fA@\242\333=\203\334\316\325\fA@A@DE\206\222\fA@\242\335=\205\222\334\316\324\fA@A@DE*\206\220A@\242\323=\203\261\323A@A@\307\312A@8\312\"E\206\220A@\242\310=\203\310\323A@A@\307\316\336\"E\206\220A@\242\337>\203\347A@@\310A@A@D\310\312A@8DE\206\220A@\242\340>\205\220\341A@!?\205\220\342\343A@!!\344 !\205\217 G\312V\204\312 A@8\316V\205\217\316\211\211\345\211+,-. A\211\203s @A@\312 @8\211+\316V\203Q\311.\346 +\312\245\"\".+\312\246++\347V\203& \242\350>\203i\351, \",\202&\311- \"-\202&.\316=\205~-\352>?\205\216\311.\310\311,-\"D\"-)\207" [math-simplify-expr fac math-living-dangerously b a f 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 math-vectorp nil math-pow 0 (+ -) math-mul-thru (1 -1) pow sums rest out] 8]) (defalias 'math-squared-factor #[(x) "\211:?\206\f @\305>)\205<\306\307\310\f\203:\311\f@\"\211A\312=\2033\n@\313 \f@\"\202\fA\211\204 +\207" [x a res fac prsqr (bigpos bigneg) (4 9 25 49 121 169 289 361 529 841) 1 nil math-idivmod 0 math-mul] 4]) (byte-code "\300\301\302\301\302N\303C\244#\207" [put calcFunc-exp math-simplify #[(math-simplify-expr) "\301A@!\207" [math-simplify-expr math-simplify-exp] 2]] 5) (defalias 'math-simplify-exp #[(x) "\242\306=\203 A@\206\300 \203{\242\307=\203*\310A@\311\310\312A@!\313\"D\"\206\300\242\314=\203C\310A@\311\315\312A@!\313\"D\"\206\300\242\316=\203_\317\311\310\313A@\"D\311\315\313A@\"D\"\206\300\320\321\"\211\205w\n@\250\205w\322\323\nA@D\n@E)\206\300 \205\300\324!\205\300\325!\326\f\327\"\330\211 ! \205\277\331 @ A@\332\333$\211 \205\277\331 @ A@\332\334$\211!\205\277\335!\336 \337EE,\207" [x math-living-dangerously m calc-symbolic-mode ip n 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) s c] 7]) (byte-code "\300\301\302\301\302N\303C\244#\210\300\304\302\304\302N\305C\244#\207" [put calcFunc-ln math-simplify #[#1=(math-simplify-expr) "A@\242\305=\203 \204\306A@A@!\203A@A@\206\225A@\242\307=\203HA@A@\310\232\203H \204@\306\311A@8!\203H\311A@8\206\225\n\203a\312A@!\203a\313\314\315A@!D\316\"\206\225\n\205\225\317A@!\205\225\320A@!\321 !\211\322>\203\206\313\314 D\323\"\206\224\f\324>\205\224\325\314\315 !D\326\"*\207" [math-simplify-expr math-living-dangerously calc-symbolic-mode ip ips 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)] 5] ^ #[#1# "\300 \207" [math-simplify-pow] 1]] 5) (defalias 'math-simplify-pow #[nil "\203_ A@\242\306=\203!\306 A@A@\307\310 8\310 A@8\"E\206! A@\242\311=\203:\306 A@A@\312\310 8\310\"E\206! A@\242\313>\203_ A@@\306 A@A@\310 8E\306\310 A@8\310 8EE\206!\314 A@\315\"\203y\310 8\242\316=\203y\310 8A@\206! A@\317\232\203\211\320\310 8!\206! A@\242\321=\203\245\n\204\245\321\307 A@A@\310 8\"D\206! A@\322\232\203\362\323 \203\362\324\310 8!\203\362\325\326\310 8!\327\"\211\330=\203\315\331\202\356 \331=\203\331 A@\202\356 \310=\203\343\332\202\356 \333=\205\356\334 A@!)\206!\n\203M\310 8\250\203M\310 8\310Y\203M A@\242\335=\203)\307\336 A@\310 8\310Z\"\337\331\340\341 A@A@D!\"\"\206! A@\242\342=\203M\307\336 A@\310 8\310Z\"\343\331\340\344 A@A@D!\"\"\206!\310 8\242\345=\203 A@\211:?\206d\f@\346>)\203 A@\211:\203\244\f@\347=\206\247\f@\350=?\205\247\f@\351>\203\236\fA@\211:\203\227\f@\347=\202\232\f\330V)\202\247\352\f!\202\247\f\330V)\203\310 8\353\232\203\273\311 A@D\202\354\310 8!\211\211:\203\345\f@\355>?\205\350\f@\356=\203\337\fA@\330=\202\350\357\f!\202\350\f\330=)?\205\360\306 A@ E\306 A@\337\310 8 \"EE)\206!\361\310 8!\310=\205!\362 \2113\205 \3063\307\310 8\310\"E)\207" [math-living-dangerously math-simplify-expr math-integrating x a flr ^ 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 0 1 -1 3 math-neg calcFunc-cos math-pow math-sub math-sqr calcFunc-sin calcFunc-cosh math-add calcFunc-sinh frac (bigpos bigneg frac) bigpos bigneg (frac float) math-posp (frac 1 2) math-floor (bigpos bigneg) float math-zerop * math-quarter-integer math-simplify-sqrt temp] 8]) (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#\207" [put calcFunc-log10 math-simplify #[#1=(math-simplify-expr) "A@\242\302=\205'\303A@A@\304\"\205' \204\"\305\306A@8!\205'\306A@8\207" [math-simplify-expr math-living-dangerously ^ math-equal-int 10 math-known-realp 2] 3] calcFunc-erf #[#1# "\301A@!\203\302\303\302A@!D!\206&A@\242\304=\205&\304\303A@A@DD\207" [math-simplify-expr math-looks-negp math-neg calcFunc-erf calcFunc-conj] 4] calcFunc-erfc #[#1# "\301A@!\203\302\303\304\305A@!D\"\206'A@\242\306=\205'\306\304A@A@DD\207" [math-simplify-expr math-looks-negp math-sub 2 calcFunc-erfc math-neg calcFunc-conj] 5]] 5) (defalias 'math-linear-in #[(expr term &optional always) "\305 \"\203\306\307 \310#\211A\205 *\207\f\205\311D\207" [expr term calc-prefer-frac p always math-expr-contains t math-is-polynomial 1 0] 5]) (defalias 'math-multiple-of #[(expr term) "\303 \"\211\205\304\n@!\205\nA@)\207" [expr term p math-linear-in math-zerop] 4]) (defalias 'math-integer-plus #[(expr) "\211:?\206\f @\302>)\203\303D\207@\304>\203DA@\211:?\206) @\302>)\203D@\305=\203:\3068\202?\307\3068!A@D\207@\310>\203t\3068\211:?\206Y @\302>)\203tA@@\305=\203m\3068\202r\307\3068!D\207\311\207" [expr a (bigpos bigneg) 0 (+ -) + 2 math-neg (+ -) nil] 5]) (defalias 'math-is-linear #[(expr &optional always) "\305\211\n\242\306=\203E\nA@\211:?\206 @\307>)\203(\nA@\310\n8\202\207\310\n8\211:?\2066 @\307>)\203\207\310\n8\nA@\202\207\n\242\311=\203\207\nA@\211:?\206Z @\307>)\203k\nA@\312\310\n8!\202\207\310\n8\211:?\206y @\307>)\203\207\312\310\n8!\nA@\313\n\f\" \203\242 @\206\227\314A@\206\236\nE\202\251\205\251\315B*\207" [coef offset expr a always nil + (bigpos bigneg frac float cplx polar hms date sdev intv mod) 2 - math-neg math-is-multiple 1 0] 4]) (defalias 'math-is-multiple #[(expr &optional always) "\242\304=\203#A@\211:?\206 @\305>)\203\270A@\3068D\202\265\242\307=\203\251A@\211:?\2068 @\305>)\203R\310A@\311\"\204RA@\312\311\3068\"D\202\265\3068\211:?\206` @\305>)\203q\312\311\3068\"A@D\202\265\313A@!\211\203\213\n@\312\306A@8\3068\"D\202\245\313\3068!\211\205\245\312\311\n@\"\312A@\306\21188\"D)\202\265\242\314=\203\270\315A@D\206\331\211:?\206\304 @\316>)\203\322 \311=\205\331\311D\207 \205\331\311D\207" [expr a res always * (bigpos bigneg frac float cplx polar hms date sdev intv mod) 2 / math-equal-int 1 math-div math-is-multiple neg -1 (bigpos bigneg frac float cplx polar hms date sdev intv mod vec)] 7]) (defalias 'calcFunc-lin #[(expr &optional var) "\203\303 \304#\211\204\305 \306\"\210\307\n@\nA@F)\207\310 \304\"\211\204+\305 \306\"\210\307\n)B\207" [var expr res math-linear-in t math-reject-arg "Linear term expected" vec math-is-linear] 5]) (defalias 'calcFunc-linnt #[(expr &optional var) "\203\303 \"\211\204\304 \305\"\210\306\n@\nA@F)\207\307 !\211\204)\304 \305\"\210\306\n)B\207" [var expr res math-linear-in math-reject-arg "Linear term expected" vec math-is-linear] 5]) (defalias 'calcFunc-islin #[(expr &optional var) "\211:?\206\f @\303>)\203\n\204\304\207\305\n\"\210\306\207" [expr a var (bigpos bigneg frac float cplx polar hms date sdev intv mod vec) 0 calcFunc-lin 1] 4]) (defalias 'calcFunc-islinnt #[(expr &optional var) "\211:?\206\f @\303>)\203\304\207\305\n\"\210\306\207" [expr a var (bigpos bigneg frac float cplx polar hms date sdev intv mod vec) 0 calcFunc-linnt 1] 4]) (defalias 'math-expr-contains-count #[(expr thing) " \232\203\304\207\211:?\206\n@\305>)\203\306\207\307A\211\2032 \310@ \"\206-\307\\\202 \307V\2059 )\207" [expr thing a num 1 (bigpos bigneg frac float cplx polar hms date mod var) nil 0 math-expr-contains-count] 5]) (defalias 'math-expr-contains #[(expr thing) " \232\203\303\207\211:?\206\n@\304>)\203\305\207A\211\203)\306@ \"\203\207" [expr thing a 1 (bigpos bigneg frac float cplx polar hms date mod var) nil math-expr-contains] 4]) (defalias 'math-expr-depends #[(expr thing) "\211:?\206\f @\303>)\203\242\304=\205,\305\n\"\207A\211\203+\306\n@\"\203\207" [thing a expr (bigpos bigneg frac float cplx polar hms date mod var) var math-expr-contains math-expr-depends] 4]) (defalias 'math-expr-subst #[(expr math-expr-subst-old math-expr-subst-new) "\301!\207" [expr math-expr-subst-rec] 2]) (defalias 'calcFunc-subst 'math-expr-subst) (defalias 'math-expr-subst-rec #[(expr) " \232\203\n\207\211:?\206 @\304>)\203\207@\305>\203DG\306U\2038A@ \232\2036\307\nC\"\207\207@A@\310\3068!E\207@\311\310A\"B\207" [expr math-expr-subst-old math-expr-subst-new a (bigpos bigneg frac float cplx polar hms date mod var) (calcFunc-deriv calcFunc-tderiv) 2 append math-expr-subst-rec mapcar] 6]) (defalias 'math-expr-weight #[(expr) "\211:?\206\f @\303>)\203\304\207\304A\211\203%\n\305@!\\\202\n)\207" [expr a w (bigpos bigneg frac float cplx polar hms date mod var) 1 math-expr-weight] 4]) (defalias 'math-expr-height #[(expr) "\211:?\206\f @\303>)\203\304\207\304A\211\203%\n\305@!]\202\nT)\207" [expr a h (bigpos bigneg frac float cplx polar hms date mod var) 0 math-expr-height] 4]) (defalias 'calcFunc-collect #[(expr base) "\303 \304\305$\211A\203\306\307\310\n\" \"\202\n@)\207" [expr base p math-is-polynomial 50 t math-build-polynomial-expr mapcar math-normalize] 6]) (defalias 'math-is-polynomial #[(expr math-var &optional math-is-poly-degree math-is-poly-loose) "\203\306=\203 \202\307\202\n\310 \f\" \203' G TX\205( *\207" [math-is-poly-loose math-var math-poly-base-variable expr math-poly-neg-powers poly gen (var XXX XXX) math-is-poly-rec math-is-poly-degree] 3]) (defalias 'math-is-poly-rec #[(expr negpow) "\306 \232\204\242\307=\203O\310 \232\204 \3118A@ \310=\204\221\312\n\310\"\211@\242\313=\203m\f@A@\211:\203Z @\314>?\205] @\315=\203T A@\316=\202]\317 !\202] \316=)\203m\311\f@8\320\fA@\321\"D \203y \fA@\232\202~\fA@\211\205\217 \232\204\215 \310=\205\217\f@)\n:\203\265\322\n!\211\242\323=\203\265,\203\265 \232\203\265\324,\311\n8\",,\325>\204\302\320\n,\"\n\250\205K\n\310U\203\331 \232\203\331\316\310D\202K\326\n!\203, \232\203\353\316\310D\202\357\327\330\"\n\310C-.\211/\205(0\203/GS._0X\205(.\310Y\203&\331-/\"-.S\211.\202-+\202K1\205K\327\330\"\205K\332\n[\"2B\2112\205K\307\nEC*\202\216\211:?\206[ @\333>)\203dC\202\216@\334>\203\235\327A@1\"\211/\205\231\327\31181\"\2113\205\230\335/\3103@\336=\203\226\310\202\227\337$))\202\216@\340=\203\261\341\342\327A@1\"\"\202\216@\343=\203\361\327A@1\"\211/\205\355\327\31181\"\2113\205\3540\203\346/G3G\\\311Z0X\205\354\331/3\"))\202\216@\344=\203Z\345\3118 \"\2031\203\221\327\3118\330\"\203\221\31182B\2112\203\221\3118\211:\203A @\314>?\205D @\315=\203; A@\316=\202D\317 !\202D \316=)\204\221\327A@1\"/\341\346/\")\202\216@\347=\203t \350\232\203t\327\307 A@E1\"\202\216@\351=\203\215,\203\215\327\307A@\352E1\"\202\216\330\206\247\345 \"\203\2354\205\247@\353=?\205\247C!\207" [expr math-var pow math-poly-mult-powers m a math-poly-simplify ^ 1 2 math-is-multiple cplx (bigpos bigneg) 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 (bigpos bigneg frac float cplx polar hms date sdev intv mod) (+ -) math-poly-mix + -1 neg mapcar math-neg * / math-poly-depends #[(x) "\302\303 8\"\207" [x expr math-div 2] 4] calcFunc-exp (var e var-e) calcFunc-sqrt (frac 1 2) vec math-poly-frac-powers accum n p1 math-is-poly-degree negpow math-poly-neg-powers p2 math-is-poly-loose] 8]) (defalias 'math-polynomial-p #[(expr var) " \232\203\305\207\211:?\206\n@\306>)\203\307\207@\310>\203>\311A@ \"\312\211\205<\311\3138 \"\211\205<\f ]*\207@\314=\203b\311A@ \"\312\211\205`\311\3138 \"\211\205`\f \\*\207@\315=\203p\311A@ \"\207@\316=\203\207\317\3138 \"\204\207\311A@ \"\207@\320=\203\250\321\3138!\203\250\311A@ \"\211\205\246\f\3138_)\207\317 \"\203\261\312\207\307\207" [expr var a p2 p1 1 (bigpos bigneg frac float cplx polar hms date mod var) 0 (+ -) math-polynomial-p nil 2 * neg / math-poly-depends ^ natnump] 4]) (defalias 'math-poly-depends #[(expr var) "\203 \303 \"\207\304 \n\"\207" [math-poly-base-variable expr var math-expr-contains math-expr-depends] 3]) (defalias 'math-polynomial-base #[(math-poly-base-top-expr &optional math-poly-base-pred) "\204\303\304\305\n!)\206\306\305\n!)\207" [math-poly-base-pred math-poly-base-const-ok math-poly-base-top-expr #[(base) "\302 \"\207" [math-poly-base-top-expr base math-polynomial-p] 3] nil math-polynomial-base-rec t] 2]) (defalias 'math-polynomial-base-rec #[(mpb-expr) "\211:?\206\f @\304>)?\205d@\305>\203(\306A@!\206d\306\3078!\206d@\310>\2037\306A@!\206d@\311=\203F\306A@!\206d@\312=\203S\306\313!\206d\n\204]\314!\205d !\205d\207" [mpb-expr a math-poly-base-const-ok math-poly-base-pred (bigpos bigneg 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]) (defalias 'math-expr-contains-vars #[(expr) "\242\302=\206'\211:?\206 @\303>)?\205'A\211\203&\304@!\203\207" [expr a var (bigpos bigneg frac float cplx polar hms date mod var) math-expr-contains-vars] 3]) (defalias 'math-poly-simplify #[(p) "\205{GS8\211:\203, @\303>?\205/ @\304=\203& A@\305=\202/\306 !\202/ \305=)\203z\307!\nA\203w\nGS\n8\211:\203d @\303>?\205g @\304=\203^ A@\305=\202g\306 !\202g \305=)\203w\nG\310Z\n\233\311\241\210\2027\n)\207\207" [p a pp (bigpos bigneg) float 0 math-zerop copy-sequence 2 nil] 3]) (defalias 'math-poly-mix #[(a ac b bc) "\204 \205%\304\305@\206\306\n\"\305 @\206\306 \"\"\307A\n A $B\207" [a b ac bc math-add math-mul 0 math-poly-mix] 6]) (defalias 'math-poly-zerop #[(a) "?\2064A?\2054@\211:\2030@\301>?\2053@\302=\203*A@\303=\2023\304!\2023\303=)\207" [a (bigpos bigneg) float 0 math-zerop] 3]) (defalias 'math-poly-mul #[(a b) "\205 \205\302 @\303A\304 B\"\305$\207" [a b math-poly-mix math-poly-mul 0 1] 7]) (defalias 'math-build-polynomial-expr #[(p var) "\203\213 \211:?\206\n@\306>)\2036\307 T\310!\211@\fA\211\2032\311\f@\312 \"\"\202 +!\207\310!\211GS\312\f@\313 \"\"\314\fA\211\203\210S\315\f@!\204L\316\f@!\203j\317\202k\320 \312\316\f@!\203{\321\f@!\202}\f@\313 \"\"E\202L ,\207\322\207" [p var a calc-internal-prec rp accum (bigpos bigneg frac float cplx polar) math-normalize reverse math-add math-mul math-pow nil math-zerop math-looks-negp - + math-neg 0 n term] 8]) (defalias 'math-to-simple-fraction #[(f) "\242\301=\203@\3028\303Y\203\304A@\3028\"\206AA@\250\203@A@\305V\203@A@\306W\203@\307A@\304\310\3028[\"\"\206A\207" [f float 2 0 math-scale-int -1000 1000 math-make-frac 1] 6]) (provide 'calc-alg)