home *** CD-ROM | disk | FTP | other *** search
/ Geek Gadgets 1 / ADE-1.bin / ade-dist / calc-2.02d-bin.lha / lib / emacs / site-lisp / calc-poly.elc < prev    next >
Emacs Compiled Lisp  |  1996-10-12  |  18.2 KB

open in: MacOS 8.1     |     Win98     |     DOS

view JSON data     |     view as text

This file was processed as: Emacs Compiled Lisp (other/emacsCompiledLisp).
This format is not currently supported by dexvert.

ConfidenceProgramDetectionMatch TypeSupport
1% dexvert Emacs Compiled Lisp (other/emacsCompiledLisp) magic Unsupported
1% dexvert Combustion 2 Particle Library (other/combustion2ParticleLibrary) ext Unsupported
100% file Emacs v18 byte-compiled Lisp data default
99% file data default
100% gt2 Kopftext: '(require (quote calc-ext)) default (weak)
100% xdgMime text/x-emacs-lisp default (weak)



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 0a 28 72 65 71 75 69 72 | 65 20 28 71 75 6f 74 65 |.(requir|e (quote|
|00000010| 20 63 61 6c 63 2d 65 78 | 74 29 29 0a 0a 28 64 65 | calc-ex|t))..(de|
|00000020| 66 75 6e 20 63 61 6c 63 | 2d 4e 65 65 64 2d 63 61 |fun calc|-Need-ca|
|00000030| 6c 63 2d 70 6f 6c 79 20 | 6e 69 6c 20 28 62 79 74 |lc-poly |nil (byt|
|00000040| 65 2d 63 6f 64 65 20 22 | c0 87 22 20 5b 6e 69 6c |e-code "|.." [nil|
|00000050| 5d 20 31 29 29 0a 0a 28 | 64 65 66 75 6e 20 63 61 |] 1))..(|defun ca|
|00000060| 6c 63 46 75 6e 63 2d 70 | 63 6f 6e 74 20 28 65 78 |lcFunc-p|cont (ex|
|00000070| 70 72 20 26 6f 70 74 69 | 6f 6e 61 6c 20 76 61 72 |pr &opti|onal var|
|00000080| 29 20 28 62 79 74 65 2d | 63 6f 64 65 20 22 08 3a |) (byte-|code ".:|
|00000090| 3f 86 0a 00 08 40 c7 3e | 83 78 00 08 3a 83 2f 00 |?....@.>|.x..:./.|
|000000a0| 08 40 c8 3e 3f 85 2c 00 | 08 40 c9 3d 83 29 00 ca |.@.>?.,.|.@.=.)..|
|000000b0| 08 38 cb 3d 82 2c 00 cc | 08 21 82 32 00 08 cb 3d |.8.=.,..|.!.2...=|
|000000c0| 83 39 00 ca 82 75 00 08 | 3a 85 4a 00 08 40 c9 3d |.9...u..|:.J..@.=|
|000000d0| 85 4a 00 cd 08 38 cb 59 | 83 53 00 ce 08 21 82 75 |.J...8.Y|.S...!.u|
|000000e0| 00 08 3a 3f 86 5d 00 08 | 40 cf 3e 83 64 00 08 82 |..:?.]..|@.>.d...|
|000000f0| 75 00 d0 08 09 5c 22 86 | 6d 00 09 3f 83 74 00 ca |u....\".|m..?.t..|
|00000100| 82 75 00 08 82 6b 01 08 | 40 d1 3d 83 90 00 d2 d3 |.u...k..|@.=.....|
|00000110| ca 08 38 09 5c 22 d3 cd | 08 38 09 5c 22 5c 22 82 |..8.\"..|.8.\"\".|
|00000120| 6b 01 08 40 d4 3d 83 a8 | 00 d5 d3 ca 08 38 09 5c |k..@.=..|.....8.\|
|00000130| 22 d3 cd 08 38 09 5c 22 | 5c 22 82 6b 01 08 40 d6 |"...8.\"|\".k..@.|
|00000140| 3d 85 c4 00 cd 08 38 3a | 83 bf 00 cd 08 38 40 d7 |=.....8:|.....8@.|
|00000150| 3d 82 c4 00 cd 08 38 cb | 59 83 d5 00 d8 d3 ca 08 |=.....8.|Y.......|
|00000160| 38 09 5c 22 cd 08 38 5c | 22 82 6b 01 08 40 d9 3e |8.\"..8\|".k..@.>|
|00000170| 83 e5 00 d3 ca 08 38 09 | 5c 22 82 6b 01 09 3a 83 |......8.|\".k..:.|
|00000180| 13 01 da 08 09 5c 22 1b | 0b 83 0e 01 0b 47 53 0b |.....\".|.....GS.|
|00000190| 38 db 0b 21 1d 1c dc 0c | 21 83 09 01 dd 0d 21 82 |8..!....|!.....!.|
|000001a0| 0a 01 0d 2a 82 0f 01 ca | 29 82 6b 01 08 40 de 3e |...*....|).k..@.>|
|000001b0| 83 62 01 d3 ca 08 38 09 | 5c 22 1d 0d ca 3d 83 2b |.b....8.|\"...=.+|
|000001c0| 01 ca 82 5e 01 d3 cd 08 | 38 09 5c 22 1e 06 df 0d |...^....|8.\"....|
|000001d0| 21 85 4b 01 08 40 e0 3d | 83 47 01 e1 0e 06 21 82 |!.K..@.=|.G....!.|
|000001e0| 4b 01 df 0e 06 21 83 58 | 01 dd e2 0d 0e 06 5c 22 |K....!.X|......\"|
|000001f0| 21 82 5d 01 e2 0d 0e 06 | 5c 22 29 29 82 6b 01 09 |!.].....|\")).k..|
|00000200| 83 6a 01 08 82 6b 01 ca | 87 22 20 5b 65 78 70 72 |.j...k..|." [expr|
|00000210| 20 76 61 72 20 74 20 70 | 20 6c 65 61 64 20 63 6f | var t p| lead co|
|00000220| 6e 74 20 63 32 20 28 62 | 69 67 70 6f 73 20 62 69 |nt c2 (b|igpos bi|
|00000230| 67 6e 65 67 20 66 72 61 | 63 20 66 6c 6f 61 74 20 |gneg fra|c float |
|00000240| 63 70 6c 78 20 70 6f 6c | 61 72 20 68 6d 73 20 64 |cplx pol|ar hms d|
|00000250| 61 74 65 20 6d 6f 64 20 | 76 61 72 29 20 28 62 69 |ate mod |var) (bi|
|00000260| 67 70 6f 73 20 62 69 67 | 6e 65 67 29 20 66 6c 6f |gpos big|neg) flo|
|00000270| 61 74 20 31 20 30 20 6d | 61 74 68 2d 7a 65 72 6f |at 1 0 m|ath-zero|
|00000280| 70 20 32 20 6d 61 74 68 | 2d 74 72 75 6e 63 20 28 |p 2 math|-trunc (|
|00000290| 62 69 67 70 6f 73 20 62 | 69 67 6e 65 67 20 66 72 |bigpos b|igneg fr|
|000002a0| 61 63 20 66 6c 6f 61 74 | 20 63 70 6c 78 20 70 6f |ac float| cplx po|
|000002b0| 6c 61 72 20 68 6d 73 20 | 64 61 74 65 20 73 64 65 |lar hms |date sde|
|000002c0| 76 20 69 6e 74 76 20 6d | 6f 64 29 20 65 71 75 61 |v intv m|od) equa|
|000002d0| 6c 20 2a 20 6d 61 74 68 | 2d 6d 75 6c 20 63 61 6c |l * math|-mul cal|
|000002e0| 63 46 75 6e 63 2d 70 63 | 6f 6e 74 20 2f 20 6d 61 |cFunc-pc|ont / ma|
|000002f0| 74 68 2d 64 69 76 20 5e | 20 62 69 67 70 6f 73 20 |th-div ^| bigpos |
|00000300| 6d 61 74 68 2d 70 6f 77 | 20 28 6e 65 67 20 70 6f |math-pow| (neg po|
|00000310| 6c 61 72 29 20 6d 61 74 | 68 2d 69 73 2d 70 6f 6c |lar) mat|h-is-pol|
|00000320| 79 6e 6f 6d 69 61 6c 20 | 6d 61 74 68 2d 70 6f 6c |ynomial |math-pol|
|00000330| 79 2d 67 63 64 2d 6c 69 | 73 74 20 6d 61 74 68 2d |y-gcd-li|st math-|
|00000340| 67 75 65 73 73 2d 69 66 | 2d 6e 65 67 20 6d 61 74 |guess-if|-neg mat|
|00000350| 68 2d 6e 65 67 20 28 2b | 20 2d 20 63 70 6c 78 20 |h-neg (+| - cplx |
|00000360| 73 64 65 76 29 20 6d 61 | 74 68 2d 6e 65 67 70 20 |sdev) ma|th-negp |
|00000370| 2d 20 6d 61 74 68 2d 70 | 6f 73 70 20 6d 61 74 68 |- math-p|osp math|
|00000380| 2d 70 6f 6c 79 2d 67 63 | 64 5d 20 32 36 29 29 0a |-poly-gc|d] 26)).|
|00000390| 0a 28 64 65 66 75 6e 20 | 63 61 6c 63 46 75 6e 63 |.(defun |calcFunc|
|000003a0| 2d 70 70 72 69 6d 20 28 | 65 78 70 72 20 26 6f 70 |-pprim (|expr &op|
|000003b0| 74 69 6f 6e 61 6c 20 76 | 61 72 29 20 28 62 79 74 |tional v|ar) (byt|
|000003c0| 65 2d 63 6f 64 65 20 22 | c3 09 0a 5c 22 18 c4 08 |e-code "|...\"...|
|000003d0| c5 5c 22 83 10 00 09 82 | 15 00 c6 09 08 0a 23 29 |.\".....|......#)|
|000003e0| 87 22 20 5b 63 6f 6e 74 | 20 65 78 70 72 20 76 61 |." [cont| expr va|
|000003f0| 72 20 63 61 6c 63 46 75 | 6e 63 2d 70 63 6f 6e 74 |r calcFu|nc-pcont|
|00000400| 20 6d 61 74 68 2d 65 71 | 75 61 6c 2d 69 6e 74 20 | math-eq|ual-int |
|00000410| 31 20 6d 61 74 68 2d 70 | 6f 6c 79 2d 64 69 76 2d |1 math-p|oly-div-|
|00000420| 65 78 61 63 74 5d 20 36 | 29 29 0a 0a 28 64 65 66 |exact] 6|))..(def|
|00000430| 75 6e 20 6d 61 74 68 2d | 64 69 76 2d 70 6f 6c 79 |un math-|div-poly|
|00000440| 2d 63 6f 6e 73 74 20 28 | 65 78 70 72 20 63 29 20 |-const (|expr c) |
|00000450| 28 62 79 74 65 2d 63 6f | 64 65 20 22 c3 08 21 c4 |(byte-co|de "..!.|
|00000460| 3e 83 1a 00 08 40 c5 c6 | 08 38 09 5c 22 c5 c7 08 |>....@..|.8.\"...|
|00000470| 38 09 5c 22 45 82 1e 00 | c8 08 09 5c 22 87 22 20 |8.\"E...|...\"." |
|00000480| 5b 65 78 70 72 20 63 20 | 74 20 63 61 72 2d 73 61 |[expr c |t car-sa|
|00000490| 66 65 20 28 2b 20 2d 29 | 20 6d 61 74 68 2d 64 69 |fe (+ -)| math-di|
|000004a0| 76 2d 70 6f 6c 79 2d 63 | 6f 6e 73 74 20 31 20 32 |v-poly-c|onst 1 2|
|000004b0| 20 6d 61 74 68 2d 64 69 | 76 5d 20 37 29 29 0a 0a | math-di|v] 7))..|
|000004c0| 28 64 65 66 75 6e 20 63 | 61 6c 63 46 75 6e 63 2d |(defun c|alcFunc-|
|000004d0| 70 64 65 67 20 28 65 78 | 70 72 20 26 6f 70 74 69 |pdeg (ex|pr &opti|
|000004e0| 6f 6e 61 6c 20 76 61 72 | 29 20 28 62 79 74 65 2d |onal var|) (byte-|
|000004f0| 63 6f 64 65 20 22 08 3a | 83 5c 22 00 08 40 c2 3e |code ".:|.\"..@.>|
|00000500| 3f 85 1f 00 08 40 c3 3d | 83 1c 00 c4 08 38 c5 3d |?....@.=|.....8.=|
|00000510| 82 1f 00 c6 08 21 82 25 | 00 08 c5 3d 83 2c 00 c7 |.....!.%|...=.,..|
|00000520| 82 41 00 09 83 3e 00 c8 | 08 09 5c 22 86 3b 00 c9 |.A...>..|..\".;..|
|00000530| 08 ca 5c 22 82 41 00 cb | 08 21 87 22 20 5b 65 78 |..\".A..|.!." [ex|
|00000540| 70 72 20 76 61 72 20 28 | 62 69 67 70 6f 73 20 62 |pr var (|bigpos b|
|00000550| 69 67 6e 65 67 29 20 66 | 6c 6f 61 74 20 31 20 30 |igneg) f|loat 1 0|
|00000560| 20 6d 61 74 68 2d 7a 65 | 72 6f 70 20 28 6e 65 67 | math-ze|rop (neg|
|00000570| 20 28 76 61 72 20 69 6e | 66 20 76 61 72 2d 69 6e | (var in|f var-in|
|00000580| 66 29 29 20 6d 61 74 68 | 2d 70 6f 6c 79 6e 6f 6d |f)) math|-polynom|
|00000590| 69 61 6c 2d 70 20 6d 61 | 74 68 2d 72 65 6a 65 63 |ial-p ma|th-rejec|
|000005a0| 74 2d 61 72 67 20 22 45 | 78 70 65 63 74 65 64 20 |t-arg "E|xpected |
|000005b0| 61 20 70 6f 6c 79 6e 6f | 6d 69 61 6c 22 20 6d 61 |a polyno|mial" ma|
|000005c0| 74 68 2d 70 6f 6c 79 2d | 64 65 67 72 65 65 5d 20 |th-poly-|degree] |
|000005d0| 35 29 29 0a 0a 28 64 65 | 66 75 6e 20 6d 61 74 68 |5))..(de|fun math|
|000005e0| 2d 70 6f 6c 79 2d 64 65 | 67 72 65 65 20 28 65 78 |-poly-de|gree (ex|
|000005f0| 70 72 29 20 28 62 79 74 | 65 2d 63 6f 64 65 20 22 |pr) (byt|e-code "|
|00000600| 08 3a 3f 86 0a 00 08 40 | c2 3e 83 1d 00 c3 08 21 |.:?....@|.>.....!|
|00000610| c4 3d 83 19 00 c5 82 1a | 00 c6 82 88 00 08 40 c7 |.=......|......@.|
|00000620| 3d 83 2c 00 c8 c5 08 38 | 21 82 88 00 08 40 c9 3d |=.,....8|!....@.=|
|00000630| 83 41 00 c8 c5 08 38 21 | c8 ca 08 38 21 5c 5c 82 |.A....8!|...8!\\.|
|00000640| 88 00 08 40 cb 3d 83 56 | 00 c8 c5 08 38 21 c8 ca |...@.=.V|....8!..|
|00000650| 08 38 21 5a 82 88 00 08 | 40 cc 3d 85 62 00 cd ca |.8!Z....|@.=.b...|
|00000660| 08 38 21 83 72 00 c9 c8 | c5 08 38 21 ca 08 38 5c |.8!.r...|..8!..8\|
|00000670| 22 82 88 00 08 40 ce 3e | 83 87 00 c8 c5 08 38 21 |"....@.>|......8!|
|00000680| c8 ca 08 38 21 5d 82 88 | 00 c5 87 22 20 5b 65 78 |...8!]..|..." [ex|
|00000690| 70 72 20 74 20 28 62 69 | 67 70 6f 73 20 62 69 67 |pr t (bi|gpos big|
|000006a0| 6e 65 67 20 66 72 61 63 | 20 66 6c 6f 61 74 20 63 |neg frac| float c|
|000006b0| 70 6c 78 20 70 6f 6c 61 | 72 20 68 6d 73 20 64 61 |plx pola|r hms da|
|000006c0| 74 65 20 6d 6f 64 20 76 | 61 72 29 20 63 61 72 2d |te mod v|ar) car-|
|000006d0| 73 61 66 65 20 76 61 72 | 20 31 20 30 20 6e 65 67 |safe var| 1 0 neg|
|000006e0| 20 6d 61 74 68 2d 70 6f | 6c 79 2d 64 65 67 72 65 | math-po|ly-degre|
|000006f0| 65 20 2a 20 32 20 2f 20 | 5e 20 6e 61 74 6e 75 6d |e * 2 / |^ natnum|
|00000700| 70 20 28 2b 20 2d 29 5d | 20 31 34 29 29 0a 0a 28 |p (+ -)]| 14))..(|
|00000710| 64 65 66 75 6e 20 63 61 | 6c 63 46 75 6e 63 2d 70 |defun ca|lcFunc-p|
|00000720| 6c 65 61 64 20 28 65 78 | 70 72 20 76 61 72 29 20 |lead (ex|pr var) |
|00000730| 28 62 79 74 65 2d 63 6f | 64 65 20 22 c4 08 21 c5 |(byte-co|de "..!.|
|00000740| 3d 83 19 00 c6 c7 c8 08 | 38 09 5c 22 c7 c9 08 38 |=.......|8.\"...8|
|00000750| 09 5c 22 5c 22 82 80 00 | c4 08 21 ca 3d 83 32 00 |.\"\"...|..!.=.2.|
|00000760| cb c7 c8 08 38 09 5c 22 | c7 c9 08 38 09 5c 22 5c |....8.\"|...8.\"\|
|00000770| 22 82 80 00 c4 08 21 cc | 3d 85 3f 00 cd c9 08 38 |".....!.|=.?....8|
|00000780| 21 83 50 00 ce c7 c8 08 | 38 09 5c 22 c9 08 38 5c |!.P.....|8.\"..8\|
|00000790| 22 82 80 00 08 3a 3f 86 | 5a 00 08 40 cf 3e 83 6c |"....:?.|Z..@.>.l|
|000007a0| 00 d0 08 09 5c 22 83 68 | 00 c8 82 69 00 08 82 80 |....\".h|...i....|
|000007b0| 00 d1 08 09 5c 22 1b 0b | 41 83 7e 00 0b 47 53 0b |....\"..|A.~..GS.|
|000007c0| 38 82 7f 00 c8 29 87 22 | 20 5b 65 78 70 72 20 76 |8....)."| [expr v|
|000007d0| 61 72 20 74 20 70 20 63 | 61 72 2d 73 61 66 65 20 |ar t p c|ar-safe |
|000007e0| 2a 20 6d 61 74 68 2d 6d | 75 6c 20 63 61 6c 63 46 |* math-m|ul calcF|
|000007f0| 75 6e 63 2d 70 6c 65 61 | 64 20 31 20 32 20 2f 20 |unc-plea|d 1 2 / |
|00000800| 6d 61 74 68 2d 64 69 76 | 20 5e 20 6d 61 74 68 2d |math-div| ^ math-|
|00000810| 6e 61 74 6e 75 6d 70 20 | 6d 61 74 68 2d 70 6f 77 |natnump |math-pow|
|00000820| 20 28 62 69 67 70 6f 73 | 20 62 69 67 6e 65 67 20 | (bigpos| bigneg |
|00000830| 66 72 61 63 20 66 6c 6f | 61 74 20 63 70 6c 78 20 |frac flo|at cplx |
|00000840| 70 6f 6c 61 72 20 68 6d | 73 20 64 61 74 65 20 6d |polar hm|s date m|
|00000850| 6f 64 20 76 61 72 29 20 | 65 71 75 61 6c 20 6d 61 |od var) |equal ma|
|00000860| 74 68 2d 69 73 2d 70 6f | 6c 79 6e 6f 6d 69 61 6c |th-is-po|lynomial|
|00000870| 5d 20 31 36 29 29 0a 0a | 28 73 65 74 71 20 6d 61 |] 16))..|(setq ma|
|00000880| 74 68 2d 70 6f 6c 79 2d | 6d 6f 64 75 6c 75 73 20 |th-poly-|modulus |
|00000890| 31 29 0a 0a 28 64 65 66 | 75 6e 20 63 61 6c 63 46 |1)..(def|un calcF|
|000008a0| 75 6e 63 2d 70 67 63 64 | 20 28 70 6e 20 70 64 29 |unc-pgcd| (pn pd)|
|000008b0| 20 28 62 79 74 65 2d 63 | 6f 64 65 20 22 c5 08 21 | (byte-c|ode "..!|
|000008c0| 85 0a 00 c6 08 c7 5c 22 | 88 c5 09 21 85 15 00 c6 |......\"|...!....|
|000008d0| 09 c7 5c 22 88 c3 c4 08 | 09 5c 22 1c 1a c8 08 09 |..\"....|.\".....|
|000008e0| 5c 22 2a 87 22 20 5b 70 | 6e 20 70 64 20 63 61 6c |\"*." [p|n pd cal|
|000008f0| 63 2d 70 72 65 66 65 72 | 2d 66 72 61 63 20 74 20 |c-prefer|-frac t |
|00000900| 6d 61 74 68 2d 70 6f 6c | 79 2d 6d 6f 64 75 6c 75 |math-pol|y-modulu|
|00000910| 73 20 6d 61 74 68 2d 61 | 6e 79 2d 66 6c 6f 61 74 |s math-a|ny-float|
|00000920| 73 20 6d 61 74 68 2d 72 | 65 6a 65 63 74 2d 61 72 |s math-r|eject-ar|
|00000930| 67 20 22 43 6f 65 66 66 | 69 63 69 65 6e 74 73 20 |g "Coeff|icients |
|00000940| 6d 75 73 74 20 62 65 20 | 72 61 74 69 6f 6e 61 6c |must be |rational|
|00000950| 22 20 6d 61 74 68 2d 70 | 6f 6c 79 2d 67 63 64 5d |" math-p|oly-gcd]|
|00000960| 20 38 29 29 0a 0a 28 64 | 65 66 75 6e 20 63 61 6c | 8))..(d|efun cal|
|00000970| 63 46 75 6e 63 2d 70 64 | 69 76 20 28 70 6e 20 70 |cFunc-pd|iv (pn p|
|00000980| 64 20 26 6f 70 74 69 6f | 6e 61 6c 20 62 61 73 65 |d &optio|nal base|
|00000990| 29 20 28 62 79 74 65 2d | 63 6f 64 65 20 22 c1 18 |) (byte-|code "..|
|000009a0| c2 0b 0c 5c 22 1a c8 0b | 0c 0e 06 23 1d 0d 41 89 |...\"...|...#..A.|
|000009b0| 16 07 88 0d 40 2b 87 22 | 20 5b 63 61 6c 63 2d 70 |....@+."| [calc-p|
|000009c0| 72 65 66 65 72 2d 66 72 | 61 63 20 74 20 6d 61 74 |refer-fr|ac t mat|
|000009d0| 68 2d 70 6f 6c 79 2d 6d | 6f 64 75 6c 75 73 20 70 |h-poly-m|odulus p|
|000009e0| 6e 20 70 64 20 72 65 73 | 20 62 61 73 65 20 63 61 |n pd res| base ca|
|000009f0| 6c 63 2d 70 6f 6c 79 2d | 64 69 76 2d 72 65 6d 61 |lc-poly-|div-rema|
|00000a00| 69 6e 64 65 72 20 6d 61 | 74 68 2d 70 6f 6c 79 2d |inder ma|th-poly-|
|00000a10| 64 69 76 5d 20 35 29 29 | 0a 0a 28 64 65 66 75 6e |div] 5))|..(defun|
|00000a20| 20 63 61 6c 63 46 75 6e | 63 2d 70 72 65 6d 20 28 | calcFun|c-prem (|
|00000a30| 70 6e 20 70 64 20 26 6f | 70 74 69 6f 6e 61 6c 20 |pn pd &o|ptional |
|00000a40| 62 61 73 65 29 20 28 62 | 79 74 65 2d 63 6f 64 65 |base) (b|yte-code|
|00000a50| 20 22 c1 c2 0b 0c 5c 22 | 1a 18 c6 0b 0c 0d 23 41 | "....\"|......#A|
|00000a60| 2a 87 22 20 5b 63 61 6c | 63 2d 70 72 65 66 65 72 |*." [cal|c-prefer|
|00000a70| 2d 66 72 61 63 20 74 20 | 6d 61 74 68 2d 70 6f 6c |-frac t |math-pol|
|00000a80| 79 2d 6d 6f 64 75 6c 75 | 73 20 70 6e 20 70 64 20 |y-modulu|s pn pd |
|00000a90| 62 61 73 65 20 6d 61 74 | 68 2d 70 6f 6c 79 2d 64 |base mat|h-poly-d|
|00000aa0| 69 76 5d 20 35 29 29 0a | 0a 28 64 65 66 75 6e 20 |iv] 5)).|.(defun |
|00000ab0| 63 61 6c 63 46 75 6e 63 | 2d 70 64 69 76 72 65 6d |calcFunc|-pdivrem|
|00000ac0| 20 28 70 6e 20 70 64 20 | 26 6f 70 74 69 6f 6e 61 | (pn pd |&optiona|
|00000ad0| 6c 20 62 61 73 65 29 20 | 28 62 79 74 65 2d 63 6f |l base) |(byte-co|
|00000ae0| 64 65 20 22 c1 18 c2 0b | 0c 5c 22 1a c7 0b 0c 0e |de "....|.\".....|
|00000af0| 06 23 1d c8 0d 40 0d 41 | 45 2b 87 22 20 5b 63 61 |.#...@.A|E+." [ca|
|00000b00| 6c 63 2d 70 72 65 66 65 | 72 2d 66 72 61 63 20 74 |lc-prefe|r-frac t|
|00000b10| 20 6d 61 74 68 2d 70 6f | 6c 79 2d 6d 6f 64 75 6c | math-po|ly-modul|
|00000b20| 75 73 20 70 6e 20 70 64 | 20 72 65 73 20 62 61 73 |us pn pd| res bas|
|00000b30| 65 20 6d 61 74 68 2d 70 | 6f 6c 79 2d 64 69 76 20 |e math-p|oly-div |
|00000b40| 76 65 63 5d 20 35 29 29 | 0a 0a 28 64 65 66 75 6e |vec] 5))|..(defun|
|00000b50| 20 63 61 6c 63 46 75 6e | 63 2d 70 64 69 76 69 64 | calcFun|c-pdivid|
|00000b60| 65 20 28 70 6e 20 70 64 | 20 26 6f 70 74 69 6f 6e |e (pn pd| &option|
|00000b70| 61 6c 20 62 61 73 65 29 | 20 28 62 79 74 65 2d 63 |al base)| (byte-c|
|00000b80| 6f 64 65 20 22 c1 18 c2 | 0b 0c 5c 22 1a c7 0b 0c |ode "...|..\"....|
|00000b90| 0e 06 23 1d c8 0d 40 c9 | 0d 41 0c 5c 22 5c 22 2b |..#...@.|.A.\"\"+|
|00000ba0| 87 22 20 5b 63 61 6c 63 | 2d 70 72 65 66 65 72 2d |." [calc|-prefer-|
|00000bb0| 66 72 61 63 20 74 20 6d | 61 74 68 2d 70 6f 6c 79 |frac t m|ath-poly|
|00000bc0| 2d 6d 6f 64 75 6c 75 73 | 20 70 6e 20 70 64 20 72 |-modulus| pn pd r|
|00000bd0| 65 73 20 62 61 73 65 20 | 6d 61 74 68 2d 70 6f 6c |es base |math-pol|
|00000be0| 79 2d 64 69 76 20 6d 61 | 74 68 2d 61 64 64 20 6d |y-div ma|th-add m|
|00000bf0| 61 74 68 2d 64 69 76 5d | 20 37 29 29 0a 0a 28 64 |ath-div]| 7))..(d|
|00000c00| 65 66 75 6e 20 6d 61 74 | 68 2d 6d 75 6c 2d 74 68 |efun mat|h-mul-th|
|00000c10| 72 75 20 28 6c 68 73 20 | 72 68 73 29 20 28 62 79 |ru (lhs |rhs) (by|
|00000c20| 74 65 2d 63 6f 64 65 20 | 22 c2 08 21 c3 3e 83 1a |te-code |"..!.>..|
|00000c30| 00 08 40 c4 c5 08 38 09 | 5c 22 c4 c6 08 38 09 5c |..@...8.|\"...8.\|
|00000c40| 22 45 82 38 00 c2 09 21 | c7 3e 83 34 00 09 40 c4 |"E.8...!|.>.4..@.|
|00000c50| 08 c5 09 38 5c 22 c4 08 | c6 09 38 5c 22 45 82 38 |...8\"..|..8\"E.8|
|00000c60| 00 c8 08 09 5c 22 87 22 | 20 5b 6c 68 73 20 72 68 |....\"."| [lhs rh|
|00000c70| 73 20 63 61 72 2d 73 61 | 66 65 20 28 2b 20 2d 29 |s car-sa|fe (+ -)|
|00000c80| 20 6d 61 74 68 2d 6d 75 | 6c 2d 74 68 72 75 20 31 | math-mu|l-thru 1|
|00000c90| 20 32 20 28 2b 20 2d 29 | 20 6d 61 74 68 2d 6d 75 | 2 (+ -)| math-mu|
|00000ca0| 6c 5d 20 31 31 29 29 0a | 0a 28 64 65 66 75 6e 20 |l] 11)).|.(defun |
|00000cb0| 6d 61 74 68 2d 64 69 76 | 2d 74 68 72 75 20 28 6e |math-div|-thru (n|
|00000cc0| 75 6d 20 64 65 6e 29 20 | 28 62 79 74 65 2d 63 6f |um den) |(byte-co|
|00000cd0| 64 65 20 22 c2 08 21 c3 | 3e 83 1a 00 08 40 c4 c5 |de "..!.|>....@..|
|00000ce0| 08 38 09 5c 22 c4 c6 08 | 38 09 5c 22 45 82 1e 00 |.8.\"...|8.\"E...|
|00000cf0| c7 08 09 5c 22 87 22 20 | 5b 6e 75 6d 20 64 65 6e |...\"." |[num den|
|00000d00| 20 63 61 72 2d 73 61 66 | 65 20 28 2b 20 2d 29 20 | car-saf|e (+ -) |
|00000d10| 6d 61 74 68 2d 64 69 76 | 2d 74 68 72 75 20 31 20 |math-div|-thru 1 |
|00000d20| 32 20 6d 61 74 68 2d 64 | 69 76 5d 20 37 29 29 0a |2 math-d|iv] 7)).|
|00000d30| 0a 28 64 65 66 75 6e 20 | 6d 61 74 68 2d 73 6f 72 |.(defun |math-sor|
|00000d40| 74 2d 74 65 72 6d 73 20 | 28 65 78 70 72 29 20 28 |t-terms |(expr) (|
|00000d50| 62 79 74 65 2d 63 6f 64 | 65 20 22 c1 08 21 c2 3e |byte-cod|e "..!.>|
|00000d60| 83 13 00 c3 c4 c5 08 21 | c6 5c 22 21 82 14 00 08 |.......!|.\"!....|
|00000d70| 87 22 20 5b 65 78 70 72 | 20 63 61 72 2d 73 61 66 |." [expr| car-saf|
|00000d80| 65 20 28 2b 20 2d 29 20 | 6d 61 74 68 2d 6c 69 73 |e (+ -) |math-lis|
|00000d90| 74 2d 74 6f 2d 73 75 6d | 20 73 6f 72 74 20 6d 61 |t-to-sum| sort ma|
|00000da0| 74 68 2d 73 75 6d 2d 74 | 6f 2d 6c 69 73 74 20 28 |th-sum-t|o-list (|
|00000db0| 6c 61 6d 62 64 61 20 28 | 61 20 62 29 20 28 62 79 |lambda (|a b) (by|
|00000dc0| 74 65 2d 63 6f 64 65 20 | 22 c2 08 40 09 40 5c 22 |te-code |"..@.@\"|
|00000dd0| 87 22 20 5b 61 20 62 20 | 6d 61 74 68 2d 62 65 66 |." [a b |math-bef|
|00000de0| 6f 72 65 70 5d 20 33 29 | 29 5d 20 36 29 29 0a 0a |orep] 3)|)] 6))..|
|00000df0| 28 64 65 66 75 6e 20 6d | 61 74 68 2d 6c 69 73 74 |(defun m|ath-list|
|00000e00| 2d 74 6f 2d 73 75 6d 20 | 28 6c 73 74 29 20 28 62 |-to-sum |(lst) (b|
|00000e10| 79 74 65 2d 63 6f 64 65 | 20 22 08 41 83 1b 00 08 |yte-code| ".A....|
|00000e20| 40 41 83 0f 00 c1 82 10 | 00 c2 c3 08 41 21 08 40 |@A......|....A!.@|
|00000e30| 40 45 82 2c 00 08 40 41 | 83 29 00 c4 08 40 40 21 |@E.,..@A|.)...@@!|
|00000e40| 82 2c 00 08 40 40 87 22 | 20 5b 6c 73 74 20 2d 20 |.,..@@."| [lst - |
|00000e50| 2b 20 6d 61 74 68 2d 6c | 69 73 74 2d 74 6f 2d 73 |+ math-l|ist-to-s|
|00000e60| 75 6d 20 6d 61 74 68 2d | 6e 65 67 5d 20 34 29 29 |um math-|neg] 4))|
|00000e70| 0a 0a 28 64 65 66 75 6e | 20 6d 61 74 68 2d 73 75 |..(defun| math-su|
|00000e80| 6d 2d 74 6f 2d 6c 69 73 | 74 20 28 74 72 65 65 20 |m-to-lis|t (tree |
|00000e90| 26 6f 70 74 69 6f 6e 61 | 6c 20 6e 65 67 29 20 28 |&optiona|l neg) (|
|00000ea0| 62 79 74 65 2d 63 6f 64 | 65 20 22 c3 08 21 c4 3d |byte-cod|e "..!.=|
|00000eb0| 83 19 00 c5 c6 c7 08 38 | 09 5c 22 c6 c8 08 38 09 |.......8|.\"...8.|
|00000ec0| 5c 22 5c 22 82 37 00 c3 | 08 21 c9 3d 83 33 00 c5 |\"\".7..|.!.=.3..|
|00000ed0| c6 c7 08 38 09 5c 22 c6 | c8 08 38 09 3f 5c 22 5c |...8.\".|..8.?\"\|
|00000ee0| 22 82 37 00 08 09 42 43 | 87 22 20 5b 74 72 65 65 |".7...BC|." [tree|
|00000ef0| 20 6e 65 67 20 74 20 63 | 61 72 2d 73 61 66 65 20 | neg t c|ar-safe |
|00000f00| 2b 20 6e 63 6f 6e 63 20 | 6d 61 74 68 2d 73 75 6d |+ nconc |math-sum|
|00000f10| 2d 74 6f 2d 6c 69 73 74 | 20 31 20 32 20 2d 5d 20 |-to-list| 1 2 -] |
|00000f20| 31 31 29 29 0a 0a 28 64 | 65 66 75 6e 20 6d 61 74 |11))..(d|efun mat|
|00000f30| 68 2d 70 6f 6c 79 2d 6d | 6f 64 75 6c 75 73 20 28 |h-poly-m|odulus (|
|00000f40| 65 78 70 72 20 26 6f 70 | 74 69 6f 6e 61 6c 20 65 |expr &op|tional e|
|00000f50| 78 70 72 32 29 20 28 62 | 79 74 65 2d 63 6f 64 65 |xpr2) (b|yte-code|
|00000f60| 20 22 c2 08 21 86 11 00 | 09 85 0d 00 c2 09 21 86 | "..!...|......!.|
|00000f70| 11 00 c3 87 22 20 5b 65 | 78 70 72 20 65 78 70 72 |...." [e|xpr expr|
|00000f80| 32 20 6d 61 74 68 2d 70 | 6f 6c 79 2d 6d 6f 64 75 |2 math-p|oly-modu|
|00000f90| 6c 75 73 2d 72 65 63 20 | 31 5d 20 33 29 29 0a 0a |lus-rec |1] 3))..|
|00000fa0| 28 64 65 66 75 6e 20 6d | 61 74 68 2d 70 6f 6c 79 |(defun m|ath-poly|
|00000fb0| 2d 6d 6f 64 75 6c 75 73 | 2d 72 65 63 20 28 65 78 |-modulus|-rec (ex|
|00000fc0| 70 72 29 20 28 62 79 74 | 65 2d 63 6f 64 65 20 22 |pr) (byt|e-code "|
|00000fd0| c1 08 21 c2 3d 85 1d 00 | c3 08 38 3a 83 18 00 c3 |..!.=...|..8:....|
|00000fe0| 08 38 40 c4 3d 82 1d 00 | c3 08 38 c5 59 83 29 00 |.8@.=...|..8.Y.).|
|00000ff0| c2 c6 c3 08 38 45 82 3e | 00 c1 08 21 c7 3e 85 3e |....8E.>|...!.>.>|
|00001000| 00 c8 c6 08 38 21 86 3e | 00 c8 c3 08 38 21 87 22 |....8!.>|....8!."|
|00001010| 20 5b 65 78 70 72 20 63 | 61 72 2d 73 61 66 65 20 | [expr c|ar-safe |
|00001020| 6d 6f 64 20 32 20 62 69 | 67 70 6f 73 20 30 20 31 |mod 2 bi|gpos 0 1|
|00001030| 20 28 2b 20 2d 20 2a 20 | 2f 29 20 6d 61 74 68 2d | (+ - * |/) math-|
|00001040| 70 6f 6c 79 2d 6d 6f 64 | 75 6c 75 73 2d 72 65 63 |poly-mod|ulus-rec|
|00001050| 5d 20 36 29 29 0a 0a 28 | 64 65 66 75 6e 20 6d 61 |] 6))..(|defun ma|
|00001060| 74 68 2d 70 6f 6c 79 2d | 64 69 76 20 28 75 20 76 |th-poly-|div (u v|
|00001070| 20 26 6f 70 74 69 6f 6e | 61 6c 20 6d 61 74 68 2d | &option|al math-|
|00001080| 70 6f 6c 79 2d 64 69 76 | 2d 62 61 73 65 29 20 28 |poly-div|-base) (|
|00001090| 62 79 74 65 2d 63 6f 64 | 65 20 22 08 83 0b 00 c3 |byte-cod|e ".....|
|000010a0| 09 0a 5c 22 82 13 00 c3 | c4 09 21 c4 0a 21 5c 22 |..\"....|..!..!\"|
|000010b0| 87 22 20 5b 6d 61 74 68 | 2d 70 6f 6c 79 2d 64 69 |." [math|-poly-di|
|000010c0| 76 2d 62 61 73 65 20 75 | 20 76 20 6d 61 74 68 2d |v-base u| v math-|
|000010d0| 64 6f 2d 70 6f 6c 79 2d | 64 69 76 20 63 61 6c 63 |do-poly-|div calc|
|000010e0| 46 75 6e 63 2d 65 78 70 | 61 6e 64 5d 20 36 29 29 |Func-exp|and] 6))|
|000010f0| 0a 0a 28 73 65 74 71 20 | 6d 61 74 68 2d 70 6f 6c |..(setq |math-pol|
|00001100| 79 2d 64 69 76 2d 62 61 | 73 65 20 6e 69 6c 29 0a |y-div-ba|se nil).|
|00001110| 0a 28 64 65 66 75 6e 20 | 6d 61 74 68 2d 70 6f 6c |.(defun |math-pol|
|00001120| 79 2d 64 69 76 2d 65 78 | 61 63 74 20 28 75 20 76 |y-div-ex|act (u v|
|00001130| 20 26 6f 70 74 69 6f 6e | 61 6c 20 62 61 73 65 29 | &option|al base)|
|00001140| 20 28 62 79 74 65 2d 63 | 6f 64 65 20 22 c4 09 0a | (byte-c|ode "...|
|00001150| 0b 23 18 08 41 c5 3d 83 | 12 00 08 40 82 19 00 c6 |.#..A.=.|...@....|
|00001160| c7 09 0a 45 c8 5c 22 29 | 87 22 20 5b 72 65 73 20 |...E.\")|." [res |
|00001170| 75 20 76 20 62 61 73 65 | 20 6d 61 74 68 2d 70 6f |u v base| math-po|
|00001180| 6c 79 2d 64 69 76 20 30 | 20 6d 61 74 68 2d 72 65 |ly-div 0| math-re|
|00001190| 6a 65 63 74 2d 61 72 67 | 20 76 65 63 20 22 41 72 |ject-arg| vec "Ar|
|000011a0| 67 75 6d 65 6e 74 20 69 | 73 20 6e 6f 74 20 61 20 |gument i|s not a |
|000011b0| 70 6f 6c 79 6e 6f 6d 69 | 61 6c 22 5d 20 35 29 29 |polynomi|al"] 5))|
|000011c0| 0a 0a 28 64 65 66 75 6e | 20 6d 61 74 68 2d 64 6f |..(defun| math-do|
|000011d0| 2d 70 6f 6c 79 2d 64 69 | 76 20 28 75 20 76 29 20 |-poly-di|v (u v) |
|000011e0| 28 62 79 74 65 2d 63 6f | 64 65 20 22 ca 08 21 83 |(byte-co|de "..!.|
|000011f0| 1b 00 ca 09 21 83 15 00 | cb 08 09 5c 22 cc 42 82 |....!...|...\".B.|
|00001200| 18 00 cc 08 42 82 c3 00 | ca 09 21 83 52 00 09 cd |....B...|..!.R...|
|00001210| 3d 83 2b 00 08 82 4d 00 | ce 08 21 cf 3e 83 49 00 |=.+...M.|..!.>.I.|
|00001220| d0 d1 cd 08 38 09 5c 22 | d1 d2 08 38 09 5c 22 c2 |....8.\"|...8.\".|
|00001230| 08 40 d3 3d 24 82 4d 00 | cb 08 09 5c 22 cc 42 82 |.@.=$.M.|...\".B.|
|00001240| c3 00 d4 08 09 5c 22 cc | 55 83 61 00 0b cc 42 82 |.....\".|U.a...B.|
|00001250| c3 00 d5 08 21 85 6a 00 | d5 09 21 83 78 00 d6 cb |....!.j.|..!.x...|
|00001260| 08 09 5c 22 21 cc 42 82 | c3 00 0e 06 86 81 00 c6 |..\"!.B.|........|
|00001270| 08 09 5c 22 c2 c2 c2 1e | 09 1e 08 1e 07 1d 0d 3f |..\"....|.......?|
|00001280| 86 9a 00 d7 09 0d c2 d8 | 24 89 16 07 3f 83 a3 00 |........|$...?...|
|00001290| cc 08 42 82 c2 00 d7 08 | 0d c2 d8 24 16 08 d9 0e |..B.....|...$....|
|000012a0| 08 0e 07 5c 22 89 16 09 | 88 da 0e 09 40 0d 5c 22 |...\"...|....@.\"|
|000012b0| da 0e 09 41 0d 5c 22 42 | 2c 87 22 20 5b 75 20 76 |...A.\"B|,." [u v|
|000012c0| 20 6e 69 6c 20 6d 61 74 | 68 2d 70 6f 6c 79 2d 6d | nil mat|h-poly-m|
|000012d0| 6f 64 75 6c 75 73 20 74 | 20 62 61 73 65 20 6d 61 |odulus t| base ma|
|000012e0| 74 68 2d 70 6f 6c 79 2d | 64 69 76 2d 62 61 73 65 |th-poly-|div-base|
|000012f0| 20 76 70 20 75 70 20 72 | 65 73 20 6d 61 74 68 2d | vp up r|es math-|
|00001300| 63 6f 6e 73 74 70 20 6d | 61 74 68 2d 64 69 76 20 |constp m|ath-div |
|00001310| 30 20 31 20 63 61 72 2d | 73 61 66 65 20 28 2b 20 |0 1 car-|safe (+ |
|00001320| 2d 29 20 6d 61 74 68 2d | 61 64 64 2d 6f 72 2d 73 |-) math-|add-or-s|
|00001330| 75 62 20 6d 61 74 68 2d | 70 6f 6c 79 2d 64 69 76 |ub math-|poly-div|
|00001340| 2d 65 78 61 63 74 20 32 | 20 2d 20 6d 61 74 68 2d |-exact 2| - math-|
|00001350| 63 6f 6d 70 61 72 65 20 | 6d 61 74 68 2d 61 74 6f |compare |math-ato|
|00001360| 6d 69 63 2d 66 61 63 74 | 6f 72 70 20 6d 61 74 68 |mic-fact|orp math|
|00001370| 2d 73 69 6d 70 6c 69 66 | 79 20 6d 61 74 68 2d 69 |-simplif|y math-i|
|00001380| 73 2d 70 6f 6c 79 6e 6f | 6d 69 61 6c 20 67 65 6e |s-polyno|mial gen|
|00001390| 20 6d 61 74 68 2d 70 6f | 6c 79 2d 64 69 76 2d 63 | math-po|ly-div-c|
|000013a0| 6f 65 66 73 20 6d 61 74 | 68 2d 62 75 69 6c 64 2d |oefs mat|h-build-|
|000013b0| 70 6f 6c 79 6e 6f 6d 69 | 61 6c 2d 65 78 70 72 5d |polynomi|al-expr]|
|000013c0| 20 32 33 29 29 0a 0a 28 | 64 65 66 75 6e 20 6d 61 | 23))..(|defun ma|
|000013d0| 74 68 2d 70 6f 6c 79 2d | 64 69 76 2d 72 65 63 20 |th-poly-|div-rec |
|000013e0| 28 75 20 76 29 20 28 62 | 79 74 65 2d 63 6f 64 65 |(u v) (b|yte-code|
|000013f0| 20 22 ca 08 21 83 0d 00 | cb 08 09 5c 22 82 c0 00 | "..!...|...\"...|
|00001400| ca 09 21 83 42 00 09 cc | 3d 83 1d 00 08 82 3f 00 |..!.B...|=.....?.|
|00001410| cd 08 21 ce 3e 83 3b 00 | cf d0 cc 08 38 09 5c 22 |..!.>.;.|....8.\"|
|00001420| d0 d1 08 38 09 5c 22 c2 | 08 40 d2 3d 24 82 3f 00 |...8.\".|.@.=$.?.|
|00001430| cb 08 09 5c 22 82 c0 00 | d3 08 09 5c 22 d4 55 83 |...\"...|...\".U.|
|00001440| 4f 00 0b 82 c0 00 d5 08 | 21 85 58 00 d5 09 21 83 |O.......|!.X...!.|
|00001450| 64 00 d6 cb 08 09 5c 22 | 21 82 c0 00 0c 83 6f 00 |d.....\"|!.....o.|
|00001460| cb 08 09 5c 22 82 c0 00 | c4 08 09 5c 22 c2 c2 c2 |...\"...|...\"...|
|00001470| 1e 09 1e 08 1e 07 1e 06 | 0e 06 3f 86 8f 00 d7 09 |........|..?.....|
|00001480| 0e 06 c2 d8 24 89 16 07 | 3f 83 99 00 cb 08 09 5c |....$...|?......\|
|00001490| 22 82 bf 00 d7 08 0e 06 | c2 d8 24 16 08 d9 0e 08 |".......|..$.....|
|000014a0| 0e 07 5c 22 89 16 09 88 | da db 0e 09 40 0e 06 5c |..\"....|....@..\|
|000014b0| 22 cb db 0e 09 41 0e 06 | 5c 22 09 5c 22 5c 22 2c |"....A..|\".\"\",|
|000014c0| 87 22 20 5b 75 20 76 20 | 6e 69 6c 20 6d 61 74 68 |." [u v |nil math|
|000014d0| 2d 70 6f 6c 79 2d 6d 6f | 64 75 6c 75 73 20 6d 61 |-poly-mo|dulus ma|
|000014e0| 74 68 2d 70 6f 6c 79 2d | 64 69 76 2d 62 61 73 65 |th-poly-|div-base|
|000014f0| 20 74 20 62 61 73 65 20 | 76 70 20 75 70 20 72 65 | t base |vp up re|
|00001500| 73 20 6d 61 74 68 2d 63 | 6f 6e 73 74 70 20 6d 61 |s math-c|onstp ma|
|00001510| 74 68 2d 64 69 76 20 31 | 20 63 61 72 2d 73 61 66 |th-div 1| car-saf|
|00001520| 65 20 28 2b 20 2d 29 20 | 6d 61 74 68 2d 61 64 64 |e (+ -) |math-add|
|00001530| 2d 6f 72 2d 73 75 62 20 | 6d 61 74 68 2d 70 6f 6c |-or-sub |math-pol|
|00001540| 79 2d 64 69 76 2d 72 65 | 63 20 32 20 2d 20 6d 61 |y-div-re|c 2 - ma|
|00001550| 74 68 2d 63 6f 6d 70 61 | 72 65 20 30 20 6d 61 74 |th-compa|re 0 mat|
|00001560| 68 2d 61 74 6f 6d 69 63 | 2d 66 61 63 74 6f 72 70 |h-atomic|-factorp|
|00001570| 20 6d 61 74 68 2d 73 69 | 6d 70 6c 69 66 79 20 6d | math-si|mplify m|
|00001580| 61 74 68 2d 69 73 2d 70 | 6f 6c 79 6e 6f 6d 69 61 |ath-is-p|olynomia|
|00001590| 6c 20 67 65 6e 20 6d 61 | 74 68 2d 70 6f 6c 79 2d |l gen ma|th-poly-|
|000015a0| 64 69 76 2d 63 6f 65 66 | 73 20 6d 61 74 68 2d 61 |div-coef|s math-a|
|000015b0| 64 64 20 6d 61 74 68 2d | 62 75 69 6c 64 2d 70 6f |dd math-|build-po|
|000015c0| 6c 79 6e 6f 6d 69 61 6c | 2d 65 78 70 72 5d 20 32 |lynomial|-expr] 2|
|000015d0| 36 29 29 0a 0a 28 64 65 | 66 75 6e 20 6d 61 74 68 |6))..(de|fun math|
|000015e0| 2d 70 6f 6c 79 2d 64 69 | 76 2d 63 6f 65 66 73 20 |-poly-di|v-coefs |
|000015f0| 28 75 20 76 29 20 28 62 | 79 74 65 2d 63 6f 64 65 |(u v) (b|yte-code|
|00001600| 20 22 08 3f 83 0c 00 ca | c1 cb 5c 22 82 d0 00 0a | ".?....|..\"....|
|00001610| 47 08 47 57 83 1a 00 c1 | 0a 42 82 d0 00 0a 41 83 |G.GW....|.B....A.|
|00001620| c7 00 c1 cc 0a 21 cc 08 | 21 1d 1c 1b cd ce 0c 40 |.....!..|!......@|
|00001630| 21 0d 40 5c 22 0c 0d 1e | 08 1e 07 1e 06 0b 86 42 |!.@\"...|.......B|
|00001640| 00 cf 0e 06 21 3f 85 4b | 00 0e 06 0b 42 89 13 88 |....!?.K|....B...|
|00001650| 0e 07 41 16 07 0e 08 41 | 89 16 08 85 6e 00 d0 0e |..A....A|....n...|
|00001660| 07 d1 0e 07 40 d2 0e 06 | 0e 08 40 5c 22 5c 22 5c |....@...|..@\"\"\|
|00001670| 22 88 82 4c 00 88 0c 41 | 89 14 88 0e 07 2b 85 7f |"..L...A|.....+..|
|00001680| 00 c1 88 82 29 00 88 0c | 85 af 00 0c 40 3a 83 ab |....)...|....@:..|
|00001690| 00 0c 40 40 d3 3e 3f 85 | a8 00 0c 40 40 d4 3d 83 |..@@.>?.|...@@.=.|
|000016a0| a4 00 d5 0c 40 38 d6 3d | 82 a8 00 cf 0c 40 21 82 |....@8.=|.....@!.|
|000016b0| af 00 0c 40 d6 3d 85 ba | 00 0c 41 89 14 88 82 80 |...@.=..|..A.....|
|000016c0| 00 88 0b d7 d8 ce 0c 5c | 22 21 42 2b 82 d0 00 cd |.......\|"!B+....|
|000016d0| 0a 40 08 40 5c 22 43 c1 | 42 87 22 20 5b 76 20 6e |.@.@\"C.|B." [v n|
|000016e0| 69 6c 20 75 20 71 20 75 | 72 65 76 20 76 72 65 76 |il u q u|rev vrev|
|000016f0| 20 71 6b 20 75 70 20 76 | 70 20 74 20 6d 61 74 68 | qk up v|p t math|
|00001700| 2d 72 65 6a 65 63 74 2d | 61 72 67 20 22 44 69 76 |-reject-|arg "Div|
|00001710| 69 73 69 6f 6e 20 62 79 | 20 7a 65 72 6f 22 20 72 |ision by| zero" r|
|00001720| 65 76 65 72 73 65 20 6d | 61 74 68 2d 70 6f 6c 79 |everse m|ath-poly|
|00001730| 2d 64 69 76 2d 72 65 63 | 20 6d 61 74 68 2d 73 69 |-div-rec| math-si|
|00001740| 6d 70 6c 69 66 79 20 6d | 61 74 68 2d 7a 65 72 6f |mplify m|ath-zero|
|00001750| 70 20 73 65 74 63 61 72 | 20 6d 61 74 68 2d 73 75 |p setcar| math-su|
|00001760| 62 20 6d 61 74 68 2d 6d | 75 6c 2d 74 68 72 75 20 |b math-m|ul-thru |
|00001770| 28 62 69 67 70 6f 73 20 | 62 69 67 6e 65 67 29 20 |(bigpos |bigneg) |
|00001780| 66 6c 6f 61 74 20 31 20 | 30 20 6e 72 65 76 65 72 |float 1 |0 nrever|
|00001790| 73 65 20 6d 61 70 63 61 | 72 5d 20 31 35 29 29 0a |se mapca|r] 15)).|
|000017a0| 0a 28 64 65 66 75 6e 20 | 6d 61 74 68 2d 70 6f 6c |.(defun |math-pol|
|000017b0| 79 2d 70 73 65 75 64 6f | 2d 64 69 76 20 28 75 20 |y-pseudo|-div (u |
|000017c0| 76 29 20 28 62 79 74 65 | 2d 63 6f 64 65 20 22 08 |v) (byte|-code ".|
|000017d0| 3f 83 09 00 c1 82 be 00 | 0a 47 08 47 57 83 15 00 |?.......|.G.GW...|
|000017e0| 0a 82 be 00 0a 41 86 1c | 00 08 41 83 bd 00 c8 0a |.....A..|..A.....|
|000017f0| 21 c8 08 21 c1 1d 1c 1b | 0c 1e 06 0b 89 15 88 0d |!..!....|........|
|00001800| 41 15 0e 06 41 89 16 06 | 85 52 00 c9 0d ca cb 0c |A...A...|.R......|
|00001810| 40 0d 40 5c 22 cb 0b 40 | 0e 06 40 5c 22 5c 22 5c |@.@\"..@|..@\"\"\|
|00001820| 22 88 82 30 00 88 0b 41 | 89 13 88 0d 29 85 77 00 |"..0...A|....).w.|
|00001830| 0d 85 73 00 c9 0d cb 0c | 40 0d 40 5c 22 5c 22 88 |..s.....|@.@\"\".|
|00001840| 0d 41 89 15 88 82 5d 00 | 88 82 29 00 88 0b 85 a7 |.A....].|..).....|
|00001850| 00 0b 40 3a 83 a3 00 0b | 40 40 cc 3e 3f 85 a0 00 |..@:....|@@.>?...|
|00001860| 0b 40 40 cd 3d 83 9c 00 | ce 0b 40 38 cf 3d 82 a0 |.@@.=...|..@8.=..|
|00001870| 00 d0 0b 40 21 82 a7 00 | 0b 40 cf 3d 85 b2 00 0b |...@!...|.@.=....|
|00001880| 41 89 13 88 82 78 00 88 | d1 d2 d3 0b 5c 22 21 2b |A....x..|....\"!+|
|00001890| 82 be 00 c1 87 22 20 5b | 76 20 6e 69 6c 20 75 20 |....." [|v nil u |
|000018a0| 75 72 65 76 20 76 72 65 | 76 20 75 70 20 76 70 20 |urev vre|v up vp |
|000018b0| 74 20 72 65 76 65 72 73 | 65 20 73 65 74 63 61 72 |t revers|e setcar|
|000018c0| 20 6d 61 74 68 2d 73 75 | 62 20 6d 61 74 68 2d 6d | math-su|b math-m|
|000018d0| 75 6c 2d 74 68 72 75 20 | 28 62 69 67 70 6f 73 20 |ul-thru |(bigpos |
|000018e0| 62 69 67 6e 65 67 29 20 | 66 6c 6f 61 74 20 31 20 |bigneg) |float 1 |
|000018f0| 30 20 6d 61 74 68 2d 7a | 65 72 6f 70 20 6e 72 65 |0 math-z|erop nre|
|00001900| 76 65 72 73 65 20 6d 61 | 70 63 61 72 20 6d 61 74 |verse ma|pcar mat|
|00001910| 68 2d 73 69 6d 70 6c 69 | 66 79 5d 20 31 33 29 29 |h-simpli|fy] 13))|
|00001920| 0a 0a 28 64 65 66 75 6e | 20 6d 61 74 68 2d 70 6f |..(defun| math-po|
|00001930| 6c 79 2d 67 63 64 20 28 | 75 20 76 29 20 28 62 79 |ly-gcd (|u v) (by|
|00001940| 74 65 2d 63 6f 64 65 20 | 22 c5 08 09 5c 22 c6 55 |te-code |"...\".U|
|00001950| 83 0d 00 08 82 ad 00 c7 | 08 21 83 48 00 08 3a 83 |........|.!.H..:.|
|00001960| 35 00 08 40 c8 3e 3f 85 | 32 00 08 40 c9 3d 83 2f |5..@.>?.|2..@.=./|
|00001970| 00 ca 08 38 c6 3d 82 32 | 00 cb 08 21 82 38 00 08 |...8.=.2|...!.8..|
|00001980| c6 3d 83 3f 00 09 82 45 | 00 cc 08 cd 09 21 5c 22 |.=.?...E|.....!\"|
|00001990| 82 ad 00 c7 09 21 83 83 | 00 09 3a 83 70 00 09 40 |.....!..|..:.p..@|
|000019a0| ce 3e 3f 85 6d 00 09 40 | c9 3d 83 6a 00 ca 09 38 |.>?.m..@|.=.j...8|
|000019b0| c6 3d 82 6d 00 cb 09 21 | 82 73 00 09 c6 3d 83 7a |.=.m...!|.s...=.z|
|000019c0| 00 09 82 80 00 cc 09 cd | 08 21 5c 22 82 ad 00 cf |........|.!\"....|
|000019d0| 08 09 5c 22 1b 0b 83 a4 | 00 d0 d1 d2 d3 d4 08 0b |..\"....|........|
|000019e0| c4 d5 24 d4 09 0b c4 d5 | 24 5c 22 0b 5c 22 21 21 |..$.....|$\".\"!!|
|000019f0| 82 ac 00 cc cd 08 21 cd | 08 21 5c 22 29 87 22 20 |......!.|.!\")." |
|00001a00| 5b 75 20 76 20 74 20 62 | 61 73 65 20 6e 69 6c 20 |[u v t b|ase nil |
|00001a10| 6d 61 74 68 2d 63 6f 6d | 70 61 72 65 20 30 20 6d |math-com|pare 0 m|
|00001a20| 61 74 68 2d 63 6f 6e 73 | 74 70 20 28 62 69 67 70 |ath-cons|tp (bigp|
|00001a30| 6f 73 20 62 69 67 6e 65 | 67 29 20 66 6c 6f 61 74 |os bigne|g) float|
|00001a40| 20 31 20 6d 61 74 68 2d | 7a 65 72 6f 70 20 63 61 | 1 math-|zerop ca|
|00001a50| 6c 63 46 75 6e 63 2d 67 | 63 64 20 63 61 6c 63 46 |lcFunc-g|cd calcF|
|00001a60| 75 6e 63 2d 70 63 6f 6e | 74 20 28 62 69 67 70 6f |unc-pcon|t (bigpo|
|00001a70| 73 20 62 69 67 6e 65 67 | 29 20 6d 61 74 68 2d 70 |s bigneg|) math-p|
|00001a80| 6f 6c 79 2d 67 63 64 2d | 62 61 73 65 20 6d 61 74 |oly-gcd-|base mat|
|00001a90| 68 2d 73 69 6d 70 6c 69 | 66 79 20 63 61 6c 63 46 |h-simpli|fy calcF|
|00001aa0| 75 6e 63 2d 65 78 70 61 | 6e 64 20 6d 61 74 68 2d |unc-expa|nd math-|
|00001ab0| 62 75 69 6c 64 2d 70 6f | 6c 79 6e 6f 6d 69 61 6c |build-po|lynomial|
|00001ac0| 2d 65 78 70 72 20 6d 61 | 74 68 2d 70 6f 6c 79 2d |-expr ma|th-poly-|
|00001ad0| 67 63 64 2d 63 6f 65 66 | 73 20 6d 61 74 68 2d 69 |gcd-coef|s math-i|
|00001ae0| 73 2d 70 6f 6c 79 6e 6f | 6d 69 61 6c 20 67 65 6e |s-polyno|mial gen|
|00001af0| 5d 20 32 31 29 29 0a 0a | 28 64 65 66 75 6e 20 6d |] 21))..|(defun m|
|00001b00| 61 74 68 2d 70 6f 6c 79 | 2d 64 69 76 2d 6c 69 73 |ath-poly|-div-lis|
|00001b10| 74 20 28 6c 73 74 20 61 | 29 20 28 62 79 74 65 2d |t (lst a|) (byte-|
|00001b20| 63 6f 64 65 20 22 08 c2 | 3d 83 0a 00 09 82 1b 00 |code "..|=.......|
|00001b30| 08 c3 3d 83 17 00 c4 09 | 08 5c 22 82 1b 00 c5 c6 |..=.....|.\".....|
|00001b40| 09 5c 22 87 22 20 5b 61 | 20 6c 73 74 20 31 20 2d |.\"." [a| lst 1 -|
|00001b50| 31 20 6d 61 74 68 2d 6d | 75 6c 2d 6c 69 73 74 20 |1 math-m|ul-list |
|00001b60| 6d 61 70 63 61 72 20 28 | 6c 61 6d 62 64 61 20 28 |mapcar (|lambda (|
|00001b70| 78 29 20 28 62 79 74 65 | 2d 63 6f 64 65 20 22 c2 |x) (byte|-code ".|
|00001b80| 08 09 5c 22 87 22 20 5b | 78 20 61 20 6d 61 74 68 |..\"." [|x a math|
|00001b90| 2d 70 6f 6c 79 2d 64 69 | 76 2d 65 78 61 63 74 5d |-poly-di|v-exact]|
|00001ba0| 20 33 29 29 5d 20 34 29 | 29 0a 0a 28 64 65 66 75 | 3))] 4)|)..(defu|
|00001bb0| 6e 20 6d 61 74 68 2d 6d | 75 6c 2d 6c 69 73 74 20 |n math-m|ul-list |
|00001bc0| 28 6c 73 74 20 61 29 20 | 28 62 79 74 65 2d 63 6f |(lst a) |(byte-co|
|00001bd0| 64 65 20 22 08 c2 3d 83 | 0a 00 09 82 5c 22 00 08 |de "..=.|....\"..|
|00001be0| c3 3d 83 17 00 c4 c5 09 | 5c 22 82 5c 22 00 08 c6 |.=......|\".\"...|
|00001bf0| 3d 3f 85 5c 22 00 c4 c7 | 09 5c 22 87 22 20 5b 61 |=?.\"...|.\"." [a|
|00001c00| 20 6c 73 74 20 31 20 2d | 31 20 6d 61 70 63 61 72 | lst 1 -|1 mapcar|
|00001c10| 20 6d 61 74 68 2d 6e 65 | 67 20 30 20 28 6c 61 6d | math-ne|g 0 (lam|
|00001c20| 62 64 61 20 28 78 29 20 | 28 62 79 74 65 2d 63 6f |bda (x) |(byte-co|
|00001c30| 64 65 20 22 c2 08 09 5c | 22 87 22 20 5b 78 20 61 |de "...\|"." [x a|
|00001c40| 20 6d 61 74 68 2d 6d 75 | 6c 5d 20 33 29 29 5d 20 | math-mu|l] 3))] |
|00001c50| 34 29 29 0a 0a 28 64 65 | 66 75 6e 20 6d 61 74 68 |4))..(de|fun math|
|00001c60| 2d 70 6f 6c 79 2d 67 63 | 64 2d 6c 69 73 74 20 28 |-poly-gc|d-list (|
|00001c70| 6c 73 74 29 20 28 62 79 | 74 65 2d 63 6f 64 65 20 |lst) (by|te-code |
|00001c80| 22 c2 08 3e 86 09 00 c3 | 08 3e 83 12 00 c4 08 21 |"..>....|.>.....!|
|00001c90| 82 42 00 08 40 19 08 41 | 89 10 85 20 00 09 c2 3d |.B..@..A|... ...=|
|00001ca0| 3f 85 35 00 08 40 c5 3d | 86 31 00 c6 09 08 40 5c |?.5..@.=|.1....@\|
|00001cb0| 22 89 11 88 82 15 00 88 | 08 85 3f 00 c4 08 21 89 |".......|..?...!.|
|00001cc0| 10 88 09 29 87 22 20 5b | 6c 73 74 20 67 63 64 20 |...)." [|lst gcd |
|00001cd0| 31 20 2d 31 20 6d 61 74 | 68 2d 70 6f 6c 79 2d 67 |1 -1 mat|h-poly-g|
|00001ce0| 63 64 2d 66 72 61 63 2d | 6c 69 73 74 20 30 20 6d |cd-frac-|list 0 m|
|00001cf0| 61 74 68 2d 70 6f 6c 79 | 2d 67 63 64 5d 20 35 29 |ath-poly|-gcd] 5)|
|00001d00| 29 0a 0a 28 64 65 66 75 | 6e 20 6d 61 74 68 2d 70 |)..(defu|n math-p|
|00001d10| 6f 6c 79 2d 67 63 64 2d | 66 72 61 63 2d 6c 69 73 |oly-gcd-|frac-lis|
|00001d20| 74 20 28 6c 73 74 29 20 | 28 62 79 74 65 2d 63 6f |t (lst) |(byte-co|
|00001d30| 64 65 20 22 08 85 0b 00 | c2 08 40 21 c3 3d 3f 85 |de "....|..@!.=?.|
|00001d40| 16 00 08 41 89 10 88 82 | 00 00 88 08 83 46 00 c4 |...A....|.....F..|
|00001d50| 08 40 38 19 08 41 89 10 | 85 3d 00 c2 08 40 21 c3 |.@8..A..|.=...@!.|
|00001d60| 3d 85 39 00 c5 09 c4 08 | 40 38 5c 22 89 11 88 82 |=.9.....|@8\"....|
|00001d70| 20 00 88 c3 c6 09 45 29 | 82 47 00 c6 87 22 20 5b | .....E)|.G..." [|
|00001d80| 6c 73 74 20 64 65 6e 6f | 6d 20 63 61 72 2d 73 61 |lst deno|m car-sa|
|00001d90| 66 65 20 66 72 61 63 20 | 32 20 63 61 6c 63 46 75 |fe frac |2 calcFu|
|00001da0| 6e 63 2d 6c 63 6d 20 31 | 5d 20 37 29 29 0a 0a 28 |nc-lcm 1|] 7))..(|
|00001db0| 64 65 66 75 6e 20 6d 61 | 74 68 2d 70 6f 6c 79 2d |defun ma|th-poly-|
|00001dc0| 67 63 64 2d 63 6f 65 66 | 73 20 28 75 20 76 29 20 |gcd-coef|s (u v) |
|00001dd0| 28 62 79 74 65 2d 63 6f | 64 65 20 22 ca cb 09 21 |(byte-co|de "...!|
|00001de0| cb 0a 21 5c 22 cc cc cd | ce ce ce ce 1e 09 1e 08 |..!\"...|........|
|00001df0| 1e 07 1e 06 1d 1c 1b 18 | 09 85 7c 00 0a 85 7c 00 |........|..|...|.|
|00001e00| 09 40 3a 83 4a 00 09 40 | 40 cf 3e 3f 85 47 00 09 |.@:.J..@|@.>?.G..|
|00001e10| 40 40 d0 3d 83 43 00 cc | 09 40 38 cd 3d 82 47 00 |@@.=.C..|.@8.=.G.|
|00001e20| d1 09 40 21 82 4e 00 09 | 40 cd 3d 85 7c 00 0a 40 |..@!.N..|@.=.|..@|
|00001e30| 3a 83 78 00 0a 40 40 d2 | 3e 3f 85 75 00 0a 40 40 |:.x..@@.|>?.u..@@|
|00001e40| d0 3d 83 71 00 cc 0a 40 | 38 cd 3d 82 75 00 d1 0a |.=.q...@|8.=.u...|
|00001e50| 40 21 82 7c 00 0a 40 cd | 3d 85 8d 00 09 41 11 0a |@!.|..@.|=....A..|
|00001e60| 41 12 0d 54 89 15 88 82 | 1b 00 88 08 cc 3d 86 9f |A..T....|.....=..|
|00001e70| 00 d3 09 08 5c 22 11 d3 | 0a 08 5c 22 89 12 88 09 |....\"..|..\"....|
|00001e80| 47 0a 47 5a 89 16 08 88 | 0e 08 cd 57 85 be 00 09 |G.GZ....|...W....|
|00001e90| 16 07 0a 11 0e 07 12 0e | 08 5b 89 16 08 88 d4 09 |........|.[......|
|00001ea0| 0a 5c 22 89 16 07 88 0e | 07 41 85 0d 01 0a 11 d3 |.\".....|.A......|
|00001eb0| 0e 07 d5 0b d6 0c 0e 08 | 5c 22 5c 22 5c 22 12 09 |........|\"\"\"..|
|00001ec0| 47 53 09 38 13 0e 08 cc | 58 83 fa 00 d5 d6 0b 0e |GS.8....|X.......|
|00001ed0| 08 5c 22 d6 0c cc 0e 08 | 5a 5c 22 5c 22 82 07 01 |.\".....|Z\"\"...|
|00001ee0| d7 d6 0b 0e 08 5c 22 d6 | 0c 0e 08 53 5c 22 5c 22 |.....\".|...S\"\"|
|00001ef0| 89 14 88 82 a0 00 88 0e | 07 83 18 01 08 43 82 21 |........|.....C.!|
|00001f00| 01 d8 d3 0a cb 0a 21 5c | 22 08 5c 22 89 12 88 d9 |......!\|".\"....|
|00001f10| 0a 47 53 0a 38 21 85 34 | 01 d8 0a da 5c 22 89 12 |.GS.8!.4|....\"..|
|00001f20| 88 0d 53 89 15 cd 59 85 | 47 01 cd 0a 42 89 12 88 |..S...Y.|G...B...|
|00001f30| 82 35 01 88 0a 2e 08 87 | 22 20 5b 64 20 75 20 76 |.5......|" [d u v|
|00001f40| 20 67 20 68 20 7a 20 68 | 68 20 72 20 64 65 6c 74 | g h z h|h r delt|
|00001f50| 61 20 67 68 64 20 6d 61 | 74 68 2d 70 6f 6c 79 2d |a ghd ma|th-poly-|
|00001f60| 67 63 64 20 6d 61 74 68 | 2d 70 6f 6c 79 2d 67 63 |gcd math|-poly-gc|
|00001f70| 64 2d 6c 69 73 74 20 31 | 20 30 20 6e 69 6c 20 28 |d-list 1| 0 nil (|
|00001f80| 62 69 67 70 6f 73 20 62 | 69 67 6e 65 67 29 20 66 |bigpos b|igneg) f|
|00001f90| 6c 6f 61 74 20 6d 61 74 | 68 2d 7a 65 72 6f 70 20 |loat mat|h-zerop |
|00001fa0| 28 62 69 67 70 6f 73 20 | 62 69 67 6e 65 67 29 20 |(bigpos |bigneg) |
|00001fb0| 6d 61 74 68 2d 70 6f 6c | 79 2d 64 69 76 2d 6c 69 |math-pol|y-div-li|
|00001fc0| 73 74 20 6d 61 74 68 2d | 70 6f 6c 79 2d 70 73 65 |st math-|poly-pse|
|00001fd0| 75 64 6f 2d 64 69 76 20 | 6d 61 74 68 2d 6d 75 6c |udo-div |math-mul|
|00001fe0| 20 6d 61 74 68 2d 70 6f | 77 20 6d 61 74 68 2d 70 | math-po|w math-p|
|00001ff0| 6f 6c 79 2d 64 69 76 2d | 65 78 61 63 74 20 6d 61 |oly-div-|exact ma|
|00002000| 74 68 2d 6d 75 6c 2d 6c | 69 73 74 20 6d 61 74 68 |th-mul-l|ist math|
|00002010| 2d 67 75 65 73 73 2d 69 | 66 2d 6e 65 67 20 2d 31 |-guess-i|f-neg -1|
|00002020| 5d 20 32 35 29 29 0a 0a | 28 64 65 66 75 6e 20 6d |] 25))..|(defun m|
|00002030| 61 74 68 2d 61 74 6f 6d | 69 63 2d 66 61 63 74 6f |ath-atom|ic-facto|
|00002040| 72 70 20 28 65 78 70 72 | 29 20 28 62 79 74 65 2d |rp (expr|) (byte-|
|00002050| 63 6f 64 65 20 22 c3 08 | 21 c4 3d 83 18 00 c5 c6 |code "..|!.=.....|
|00002060| 08 38 21 85 15 00 c5 c7 | 08 38 21 82 35 00 c3 08 |.8!.....|.8!.5...|
|00002070| 21 c8 3e 83 24 00 c1 82 | 35 00 c3 08 21 c9 3e 83 |!.>.$...|5...!.>.|
|00002080| 34 00 c5 c6 08 38 21 82 | 35 00 c2 87 22 20 5b 65 |4....8!.|5..." [e|
|00002090| 78 70 72 20 6e 69 6c 20 | 74 20 63 61 72 2d 73 61 |xpr nil |t car-sa|
|000020a0| 66 65 20 2a 20 6d 61 74 | 68 2d 61 74 6f 6d 69 63 |fe * mat|h-atomic|
|000020b0| 2d 66 61 63 74 6f 72 70 | 20 31 20 32 20 28 2b 20 |-factorp| 1 2 (+ |
|000020c0| 2d 20 2f 29 20 28 5e 20 | 6e 65 67 29 5d 20 38 29 |- /) (^ |neg)] 8)|
|000020d0| 29 0a 0a 28 64 65 66 75 | 6e 20 6d 61 74 68 2d 70 |)..(defu|n math-p|
|000020e0| 6f 6c 79 2d 64 69 76 2d | 62 61 73 65 20 28 61 20 |oly-div-|base (a |
|000020f0| 62 29 20 28 62 79 74 65 | 2d 63 6f 64 65 20 22 c4 |b) (byte|-code ".|
|00002100| c4 19 18 c5 0a 21 89 10 | 85 17 00 c5 0b 21 89 11 |.....!..|.....!..|
|00002110| 85 17 00 c6 c7 8d 2a 87 | 22 20 5b 61 2d 62 61 73 |......*.|" [a-bas|
|00002120| 65 20 62 2d 62 61 73 65 | 20 61 20 62 20 6e 69 6c |e b-base| a b nil|
|00002130| 20 6d 61 74 68 2d 74 6f | 74 61 6c 2d 70 6f 6c 79 | math-to|tal-poly|
|00002140| 6e 6f 6d 69 61 6c 2d 62 | 61 73 65 20 72 65 74 75 |nomial-b|ase retu|
|00002150| 72 6e 20 28 62 79 74 65 | 2d 63 6f 64 65 20 22 08 |rn (byte|-code ".|
|00002160| 85 2a 00 c3 08 40 40 0a | 5c 22 19 09 85 20 00 c4 |.*...@@.|\"... ..|
|00002170| 08 40 38 c4 09 38 59 85 | 20 00 c5 c6 08 40 40 5c |.@8..8Y.| ....@@\|
|00002180| 22 29 88 08 41 89 10 88 | 82 00 00 87 22 20 5b 61 |")..A...|...." [a|
|00002190| 2d 62 61 73 65 20 6d 61 | 79 62 65 20 62 2d 62 61 |-base ma|ybe b-ba|
|000021a0| 73 65 20 61 73 73 6f 63 | 20 31 20 74 68 72 6f 77 |se assoc| 1 throw|
|000021b0| 20 72 65 74 75 72 6e 5d | 20 35 29 5d 20 34 29 29 | return]| 5)] 4))|
|000021c0| 0a 0a 28 64 65 66 75 6e | 20 6d 61 74 68 2d 70 6f |..(defun| math-po|
|000021d0| 6c 79 2d 67 63 64 2d 62 | 61 73 65 20 28 61 20 62 |ly-gcd-b|ase (a b|
|000021e0| 29 20 28 62 79 74 65 2d | 63 6f 64 65 20 22 c4 c4 |) (byte-|code "..|
|000021f0| 19 18 c5 0a 21 89 10 85 | 17 00 c5 0b 21 89 11 85 |....!...|....!...|
|00002200| 17 00 c6 c7 8d 2a 87 22 | 20 5b 61 2d 62 61 73 65 |.....*."| [a-base|
|00002210| 20 62 2d 62 61 73 65 20 | 61 20 62 20 6e 69 6c 20 | b-base |a b nil |
|00002220| 6d 61 74 68 2d 74 6f 74 | 61 6c 2d 70 6f 6c 79 6e |math-tot|al-polyn|
|00002230| 6f 6d 69 61 6c 2d 62 61 | 73 65 20 72 65 74 75 72 |omial-ba|se retur|
|00002240| 6e 20 28 62 79 74 65 2d | 63 6f 64 65 20 22 08 85 |n (byte-|code "..|
|00002250| 05 00 09 85 47 00 c2 08 | 40 38 c2 09 40 38 56 83 |....G...|@8..@8V.|
|00002260| 2d 00 c3 08 40 40 09 5c | 22 83 26 00 c4 c5 08 40 |-...@@.\|".&....@|
|00002270| 40 5c 22 82 2a 00 08 41 | 89 10 82 43 00 c3 09 40 |@\".*..A|...C...@|
|00002280| 40 08 5c 22 83 3f 00 c4 | c5 09 40 40 5c 22 82 43 |@.\".?..|..@@\".C|
|00002290| 00 09 41 89 11 88 82 00 | 00 87 22 20 5b 61 2d 62 |..A.....|.." [a-b|
|000022a0| 61 73 65 20 62 2d 62 61 | 73 65 20 31 20 61 73 73 |ase b-ba|se 1 ass|
|000022b0| 6f 63 20 74 68 72 6f 77 | 20 72 65 74 75 72 6e 5d |oc throw| return]|
|000022c0| 20 37 29 5d 20 34 29 29 | 0a 0a 28 64 65 66 75 6e | 7)] 4))|..(defun|
|000022d0| 20 6d 61 74 68 2d 73 6f | 72 74 2d 70 6f 6c 79 2d | math-so|rt-poly-|
|000022e0| 62 61 73 65 2d 6c 69 73 | 74 20 28 6c 73 74 29 20 |base-lis|t (lst) |
|000022f0| 28 62 79 74 65 2d 63 6f | 64 65 20 22 c1 08 c2 5c |(byte-co|de "...\|
|00002300| 22 87 22 20 5b 6c 73 74 | 20 73 6f 72 74 20 28 6c |"." [lst| sort (l|
|00002310| 61 6d 62 64 61 20 28 61 | 20 62 29 20 28 62 79 74 |ambda (a| b) (byt|
|00002320| 65 2d 63 6f 64 65 20 22 | c2 08 38 c2 09 38 56 86 |e-code "|..8..8V.|
|00002330| 1a 00 c2 08 38 c2 09 38 | 55 85 1a 00 c3 08 40 09 |....8..8|U.....@.|
|00002340| 40 5c 22 87 22 20 5b 61 | 20 62 20 31 20 6d 61 74 |@\"." [a| b 1 mat|
|00002350| 68 2d 62 65 66 6f 72 65 | 70 5d 20 33 29 29 5d 20 |h-before|p] 3))] |
|00002360| 33 29 29 0a 0a 28 64 65 | 66 75 6e 20 6d 61 74 68 |3))..(de|fun math|
|00002370| 2d 74 6f 74 61 6c 2d 70 | 6f 6c 79 6e 6f 6d 69 61 |-total-p|olynomia|
|00002380| 6c 2d 62 61 73 65 20 28 | 65 78 70 72 29 20 28 62 |l-base (|expr) (b|
|00002390| 79 74 65 2d 63 6f 64 65 | 20 22 c1 18 c3 0a c4 5c |yte-code| ".....\|
|000023a0| 22 88 c5 08 21 29 87 22 | 20 5b 6d 70 62 2d 74 6f |"...!)."| [mpb-to|
|000023b0| 74 61 6c 2d 62 61 73 65 | 20 6e 69 6c 20 65 78 70 |tal-base| nil exp|
|000023c0| 72 20 6d 61 74 68 2d 70 | 6f 6c 79 6e 6f 6d 69 61 |r math-p|olynomia|
|000023d0| 6c 2d 62 61 73 65 20 6d | 61 74 68 2d 70 6f 6c 79 |l-base m|ath-poly|
|000023e0| 6e 6f 6d 69 61 6c 2d 70 | 31 20 6d 61 74 68 2d 73 |nomial-p|1 math-s|
|000023f0| 6f 72 74 2d 70 6f 6c 79 | 2d 62 61 73 65 2d 6c 69 |ort-poly|-base-li|
|00002400| 73 74 5d 20 33 29 29 0a | 0a 28 64 65 66 75 6e 20 |st] 3)).|.(defun |
|00002410| 6d 61 74 68 2d 70 6f 6c | 79 6e 6f 6d 69 61 6c 2d |math-pol|ynomial-|
|00002420| 70 31 20 28 73 75 62 65 | 78 70 72 29 20 28 62 79 |p1 (sube|xpr) (by|
|00002430| 74 65 2d 63 6f 64 65 20 | 22 c6 08 09 5c 22 86 30 |te-code |"...\".0|
|00002440| 00 08 40 c7 3e 86 30 00 | 08 40 c8 3d 85 1a 00 c9 |..@.>.0.|.@.=....|
|00002450| ca 08 38 21 86 30 00 08 | 1a cb 0c 08 5c 22 1b 0b |..8!.0..|....\"..|
|00002460| 85 2f 00 08 0b 44 09 42 | 89 11 2a 88 c5 87 22 20 |./...D.B|..*..." |
|00002470| 5b 73 75 62 65 78 70 72 | 20 6d 70 62 2d 74 6f 74 |[subexpr| mpb-tot|
|00002480| 61 6c 2d 62 61 73 65 20 | 6d 61 74 68 2d 70 6f 6c |al-base |math-pol|
|00002490| 79 2d 62 61 73 65 2d 76 | 61 72 69 61 62 6c 65 20 |y-base-v|ariable |
|000024a0| 65 78 70 6f 6e 65 6e 74 | 20 6d 70 62 2d 74 6f 70 |exponent| mpb-top|
|000024b0| 2d 65 78 70 72 20 6e 69 | 6c 20 61 73 73 6f 63 20 |-expr ni|l assoc |
|000024c0| 28 2b 20 2d 20 2a 20 2f | 20 6e 65 67 29 20 5e 20 |(+ - * /| neg) ^ |
|000024d0| 6e 61 74 6e 75 6d 70 20 | 32 20 6d 61 74 68 2d 70 |natnump |2 math-p|
|000024e0| 6f 6c 79 6e 6f 6d 69 61 | 6c 2d 70 5d 20 35 29 29 |olynomia|l-p] 5))|
|000024f0| 0a 0a 28 64 65 66 75 6e | 20 63 61 6c 63 46 75 6e |..(defun| calcFun|
|00002500| 63 2d 66 61 63 74 6f 72 | 73 20 28 65 78 70 72 20 |c-factor|s (expr |
|00002510| 26 6f 70 74 69 6f 6e 61 | 6c 20 76 61 72 29 20 28 |&optiona|l var) (|
|00002520| 62 79 74 65 2d 63 6f 64 | 65 20 22 09 83 08 00 c2 |byte-cod|e ".....|
|00002530| 82 09 00 c3 c2 c2 1d 1c | 18 09 86 18 00 c8 0e 06 |........|........|
|00002540| 21 89 11 88 c9 ca cb 8d | 86 5c 22 00 0e 06 21 1e |!.......|.\"...!.|
|00002550| 07 cc cd 0e 07 21 83 32 | 00 0e 07 82 39 00 ce ce |.....!.2|....9...|
|00002560| 0e 07 cf 45 44 21 29 2b | 87 22 20 5b 6d 61 74 68 |...ED!)+|." [math|
|00002570| 2d 66 61 63 74 6f 72 65 | 64 2d 76 61 72 73 20 76 |-factore|d-vars v|
|00002580| 61 72 20 74 20 6e 69 6c | 20 6d 61 74 68 2d 74 6f |ar t nil| math-to|
|00002590| 2d 6c 69 73 74 20 63 61 | 6c 63 2d 70 72 65 66 65 |-list ca|lc-prefe|
|000025a0| 72 2d 66 72 61 63 20 65 | 78 70 72 20 72 65 73 20 |r-frac e|xpr res |
|000025b0| 6d 61 74 68 2d 70 6f 6c | 79 6e 6f 6d 69 61 6c 2d |math-pol|ynomial-|
|000025c0| 62 61 73 65 20 6d 61 74 | 68 2d 66 61 63 74 6f 72 |base mat|h-factor|
|000025d0| 2d 66 69 6e 69 73 68 20 | 66 61 63 74 6f 72 20 28 |-finish |factor (|
|000025e0| 62 79 74 65 2d 63 6f 64 | 65 20 22 c1 08 21 87 22 |byte-cod|e "..!."|
|000025f0| 20 5b 76 61 72 20 6d 61 | 74 68 2d 66 61 63 74 6f | [var ma|th-facto|
|00002600| 72 2d 65 78 70 72 2d 74 | 72 79 5d 20 32 29 20 6d |r-expr-t|ry] 2) m|
|00002610| 61 74 68 2d 73 69 6d 70 | 6c 69 66 79 20 6d 61 74 |ath-simp|lify mat|
|00002620| 68 2d 76 65 63 74 6f 72 | 70 20 76 65 63 20 31 5d |h-vector|p vec 1]|
|00002630| 20 38 29 29 0a 0a 28 64 | 65 66 75 6e 20 63 61 6c | 8))..(d|efun cal|
|00002640| 63 46 75 6e 63 2d 66 61 | 63 74 6f 72 20 28 65 78 |cFunc-fa|ctor (ex|
|00002650| 70 72 20 26 6f 70 74 69 | 6f 6e 61 6c 20 76 61 72 |pr &opti|onal var|
|00002660| 29 20 28 62 79 74 65 2d | 63 6f 64 65 20 22 c1 c1 |) (byte-|code "..|
|00002670| c4 1b 1a 18 c7 c8 0d 83 | 1a 00 c4 18 c9 ca 8d 86 |........|........|
|00002680| 16 00 0e 06 29 82 1e 00 | cb 0e 06 21 21 21 2b 87 |....)...|...!!!+.|
|00002690| 22 20 5b 6d 61 74 68 2d | 66 61 63 74 6f 72 65 64 |" [math-|factored|
|000026a0| 2d 76 61 72 73 20 6e 69 | 6c 20 6d 61 74 68 2d 74 |-vars ni|l math-t|
|000026b0| 6f 2d 6c 69 73 74 20 63 | 61 6c 63 2d 70 72 65 66 |o-list c|alc-pref|
|000026c0| 65 72 2d 66 72 61 63 20 | 74 20 76 61 72 20 65 78 |er-frac |t var ex|
|000026d0| 70 72 20 6d 61 74 68 2d | 73 69 6d 70 6c 69 66 79 |pr math-|simplify|
|000026e0| 20 6d 61 74 68 2d 66 61 | 63 74 6f 72 2d 66 69 6e | math-fa|ctor-fin|
|000026f0| 69 73 68 20 66 61 63 74 | 6f 72 20 28 62 79 74 65 |ish fact|or (byte|
|00002700| 2d 63 6f 64 65 20 22 c1 | 08 21 87 22 20 5b 76 61 |-code ".|.!." [va|
|00002710| 72 20 6d 61 74 68 2d 66 | 61 63 74 6f 72 2d 65 78 |r math-f|actor-ex|
|00002720| 70 72 2d 74 72 79 5d 20 | 32 29 20 6d 61 74 68 2d |pr-try] |2) math-|
|00002730| 66 61 63 74 6f 72 2d 65 | 78 70 72 5d 20 34 29 29 |factor-e|xpr] 4))|
|00002740| 0a 0a 28 64 65 66 75 6e | 20 6d 61 74 68 2d 66 61 |..(defun| math-fa|
|00002750| 63 74 6f 72 2d 66 69 6e | 69 73 68 20 28 78 29 20 |ctor-fin|ish (x) |
|00002760| 28 62 79 74 65 2d 63 6f | 64 65 20 22 08 3a 3f 86 |(byte-co|de ".:?.|
|00002770| 0a 00 08 40 c1 3e 83 11 | 00 08 82 28 00 08 40 c2 |...@.>..|...(..@.|
|00002780| 3d 83 20 00 c3 c4 08 38 | 21 82 28 00 08 40 c5 c3 |=. ....8|!.(..@..|
|00002790| 08 41 5c 22 42 87 22 20 | 5b 78 20 28 62 69 67 70 |.A\"B." |[x (bigp|
|000027a0| 6f 73 20 62 69 67 6e 65 | 67 20 66 72 61 63 20 66 |os bigne|g frac f|
|000027b0| 6c 6f 61 74 20 63 70 6c | 78 20 70 6f 6c 61 72 20 |loat cpl|x polar |
|000027c0| 68 6d 73 20 64 61 74 65 | 20 6d 6f 64 20 76 61 72 |hms date| mod var|
|000027d0| 29 20 63 61 6c 63 46 75 | 6e 63 2d 46 61 63 2d 50 |) calcFu|nc-Fac-P|
|000027e0| 72 6f 74 20 6d 61 74 68 | 2d 66 61 63 74 6f 72 2d |rot math|-factor-|
|000027f0| 66 69 6e 69 73 68 20 31 | 20 6d 61 70 63 61 72 5d |finish 1| mapcar]|
|00002800| 20 35 29 29 0a 0a 28 64 | 65 66 75 6e 20 6d 61 74 | 5))..(d|efun mat|
|00002810| 68 2d 66 61 63 74 6f 72 | 2d 70 72 6f 74 65 63 74 |h-factor|-protect|
|00002820| 20 28 78 29 20 28 62 79 | 74 65 2d 63 6f 64 65 20 | (x) (by|te-code |
|00002830| 22 c1 08 21 c2 3e 83 0e | 00 c3 08 44 82 0f 00 08 |"..!.>..|...D....|
|00002840| 87 22 20 5b 78 20 63 61 | 72 2d 73 61 66 65 20 28 |." [x ca|r-safe (|
|00002850| 2b 20 2d 29 20 63 61 6c | 63 46 75 6e 63 2d 46 61 |+ -) cal|cFunc-Fa|
|00002860| 63 2d 50 72 6f 74 5d 20 | 33 29 29 0a 0a 28 64 65 |c-Prot] |3))..(de|
|00002870| 66 75 6e 20 6d 61 74 68 | 2d 66 61 63 74 6f 72 2d |fun math|-factor-|
|00002880| 65 78 70 72 20 28 65 78 | 70 72 29 20 28 62 79 74 |expr (ex|pr) (byt|
|00002890| 65 2d 63 6f 64 65 20 22 | 08 c1 3d 83 0a 00 0a 82 |e-code "|..=.....|
|000028a0| 44 00 c5 0a 21 c6 3e 86 | 18 00 c7 c5 0a 21 0b 5c |D...!.>.|.....!.\|
|000028b0| 22 83 26 00 0a 40 c8 c9 | 0a 41 5c 22 42 82 44 00 |".&..@..|.A\"B.D.|
|000028c0| c5 0a 21 ca 3e 83 43 00 | 08 18 cb cc 8d 1c 0c 83 |..!.>.C.|........|
|000028d0| 3e 00 c9 0c 21 82 3f 00 | 0a 2a 82 44 00 0a 87 22 |>...!.?.|.*.D..."|
|000028e0| 20 5b 6d 61 74 68 2d 66 | 61 63 74 6f 72 65 64 2d | [math-f|actored-|
|000028f0| 76 61 72 73 20 74 20 65 | 78 70 72 20 63 61 6c 63 |vars t e|xpr calc|
|00002900| 2d 74 77 65 61 6b 2d 65 | 71 6e 2d 74 61 62 6c 65 |-tweak-e|qn-table|
|00002910| 20 79 20 63 61 72 2d 73 | 61 66 65 20 28 2a 20 2f | y car-s|afe (* /|
|00002920| 20 5e 20 6e 65 67 29 20 | 61 73 73 71 20 6d 61 70 | ^ neg) |assq map|
|00002930| 63 61 72 20 6d 61 74 68 | 2d 66 61 63 74 6f 72 2d |car math|-factor-|
|00002940| 65 78 70 72 20 28 2b 20 | 2d 29 20 66 61 63 74 6f |expr (+ |-) facto|
|00002950| 72 20 28 62 79 74 65 2d | 63 6f 64 65 20 22 c1 08 |r (byte-|code "..|
|00002960| 21 87 22 20 5b 65 78 70 | 72 20 6d 61 74 68 2d 66 |!." [exp|r math-f|
|00002970| 61 63 74 6f 72 2d 65 78 | 70 72 2d 70 61 72 74 5d |actor-ex|pr-part]|
|00002980| 20 32 29 5d 20 37 29 29 | 0a 0a 28 64 65 66 75 6e | 2)] 7))|..(defun|
|00002990| 20 6d 61 74 68 2d 66 61 | 63 74 6f 72 2d 65 78 70 | math-fa|ctor-exp|
|000029a0| 72 2d 70 61 72 74 20 28 | 78 29 20 28 62 79 74 65 |r-part (|x) (byte|
|000029b0| 2d 63 6f 64 65 20 22 c3 | 08 21 c4 3e 83 1a 00 08 |-code ".|.!.>....|
|000029c0| 41 89 10 85 17 00 c5 08 | 40 21 88 82 08 00 82 45 |A.......|@!.....E|
|000029d0| 00 08 3a 3f 86 24 00 08 | 40 c6 3e 3f 85 45 00 c7 |..:?.$..|@.>?.E..|
|000029e0| 08 09 5c 22 3f 85 45 00 | c8 0a 08 5c 22 c9 56 85 |..\"?.E.|...\".V.|
|000029f0| 45 00 08 43 09 42 89 11 | 85 45 00 ca 08 21 87 22 |E..C.B..|.E...!."|
|00002a00| 20 5b 78 20 6d 61 74 68 | 2d 66 61 63 74 6f 72 65 | [x math|-factore|
|00002a10| 64 2d 76 61 72 73 20 65 | 78 70 72 20 63 61 72 2d |d-vars e|xpr car-|
|00002a20| 73 61 66 65 20 28 2b 20 | 2d 20 2a 20 2f 20 5e 20 |safe (+ |- * / ^ |
|00002a30| 6e 65 67 29 20 6d 61 74 | 68 2d 66 61 63 74 6f 72 |neg) mat|h-factor|
|00002a40| 2d 65 78 70 72 2d 70 61 | 72 74 20 28 62 69 67 70 |-expr-pa|rt (bigp|
|00002a50| 6f 73 20 62 69 67 6e 65 | 67 20 66 72 61 63 20 66 |os bigne|g frac f|
|00002a60| 6c 6f 61 74 20 63 70 6c | 78 20 70 6f 6c 61 72 20 |loat cpl|x polar |
|00002a70| 68 6d 73 20 64 61 74 65 | 20 73 64 65 76 20 69 6e |hms date| sdev in|
|00002a80| 74 76 20 6d 6f 64 20 76 | 65 63 29 20 61 73 73 6f |tv mod v|ec) asso|
|00002a90| 63 20 6d 61 74 68 2d 66 | 61 63 74 6f 72 2d 63 6f |c math-f|actor-co|
|00002aa0| 6e 74 61 69 6e 73 20 31 | 20 6d 61 74 68 2d 66 61 |ntains 1| math-fa|
|00002ab0| 63 74 6f 72 2d 65 78 70 | 72 2d 74 72 79 5d 20 36 |ctor-exp|r-try] 6|
|00002ac0| 29 29 0a 0a 28 64 65 66 | 75 6e 20 6d 61 74 68 2d |))..(def|un math-|
|00002ad0| 66 61 63 74 6f 72 2d 65 | 78 70 72 2d 74 72 79 20 |factor-e|xpr-try |
|00002ae0| 28 78 29 20 28 62 79 74 | 65 2d 63 6f 64 65 20 22 |(x) (byt|e-code "|
|00002af0| c7 08 21 c8 3d 83 30 00 | c9 ca 8d c9 cb 8d 1a 19 |..!.=.0.|........|
|00002b00| 09 86 15 00 0a 85 2c 00 | cc c9 cd 09 86 5c 22 00 |......,.|.....\".|
|00002b10| ce 08 38 ce 0a 86 2a 00 | cf 08 38 23 5c 22 2a 82 |..8...*.|..8#\"*.|
|00002b20| 52 00 d0 08 0c d1 d2 24 | 1b c5 08 21 1d d3 1e 06 |R......$|...!....|
|00002b30| 0b 41 85 51 00 d4 0b 21 | 89 16 06 85 51 00 cc c9 |.A.Q...!|....Q...|
|00002b40| 0e 06 5c 22 2b 87 22 20 | 5b 65 78 70 72 20 72 65 |..\"+." |[expr re|
|00002b50| 73 31 20 72 65 73 32 20 | 70 20 78 20 6d 61 74 68 |s1 res2 |p x math|
|00002b60| 2d 70 6f 6c 79 2d 6d 6f | 64 75 6c 75 73 20 72 65 |-poly-mo|dulus re|
|00002b70| 73 20 63 61 72 2d 73 61 | 66 65 20 2a 20 66 61 63 |s car-sa|fe * fac|
|00002b80| 74 6f 72 20 28 62 79 74 | 65 2d 63 6f 64 65 20 22 |tor (byt|e-code "|
|00002b90| c2 08 38 18 c3 09 21 29 | 87 22 20 5b 65 78 70 72 |..8...!)|." [expr|
|00002ba0| 20 78 20 31 20 6d 61 74 | 68 2d 66 61 63 74 6f 72 | x 1 mat|h-factor|
|00002bb0| 2d 65 78 70 72 2d 74 72 | 79 5d 20 32 29 20 28 62 |-expr-tr|y] 2) (b|
|00002bc0| 79 74 65 2d 63 6f 64 65 | 20 22 c2 08 38 18 c3 09 |yte-code| "..8...|
|00002bd0| 21 29 87 22 20 5b 65 78 | 70 72 20 78 20 32 20 6d |!)." [ex|pr x 2 m|
|00002be0| 61 74 68 2d 66 61 63 74 | 6f 72 2d 65 78 70 72 2d |ath-fact|or-expr-|
|00002bf0| 74 72 79 5d 20 32 29 20 | 74 68 72 6f 77 20 6d 61 |try] 2) |throw ma|
|00002c00| 74 68 2d 61 63 63 75 6d | 2d 66 61 63 74 6f 72 73 |th-accum|-factors|
|00002c10| 20 31 20 32 20 6d 61 74 | 68 2d 69 73 2d 70 6f 6c | 1 2 mat|h-is-pol|
|00002c20| 79 6e 6f 6d 69 61 6c 20 | 33 30 20 67 65 6e 20 6e |ynomial |30 gen n|
|00002c30| 69 6c 20 6d 61 74 68 2d | 66 61 63 74 6f 72 2d 70 |il math-|factor-p|
|00002c40| 6f 6c 79 2d 63 6f 65 66 | 73 5d 20 39 29 29 0a 0a |oly-coef|s] 9))..|
|00002c50| 28 64 65 66 75 6e 20 6d | 61 74 68 2d 61 63 63 75 |(defun m|ath-accu|
|00002c60| 6d 2d 66 61 63 74 6f 72 | 73 20 28 66 61 63 20 70 |m-factor|s (fac p|
|00002c70| 6f 77 20 66 61 63 73 29 | 20 28 62 79 74 65 2d 63 |ow facs)| (byte-c|
|00002c80| 6f 64 65 20 22 08 83 d1 | 00 c5 09 21 83 2a 00 09 |ode "...|...!.*..|
|00002c90| 41 89 11 85 25 00 c6 c7 | 09 40 38 c8 0b c9 09 40 |A...%...|.@8....@|
|00002ca0| 38 5c 22 0a 23 89 12 88 | 82 0a 00 88 0a 82 ce 00 |8\".#...|........|
|00002cb0| ca 09 21 cb 3d 85 37 00 | cc c9 09 38 21 85 46 00 |..!.=.7.|...8!.F.|
|00002cc0| c8 0b c9 09 38 5c 22 13 | c7 09 38 89 11 88 09 c7 |....8\".|..8.....|
|00002cd0| 3d 83 51 00 0a 82 ce 00 | c5 0a 21 86 69 00 0a c7 |=.Q.....|..!.i...|
|00002ce0| 3d 83 61 00 cd 82 67 00 | ce ce 0a c7 45 44 89 12 |=.a...g.|....ED..|
|00002cf0| 88 0a 1c 0c 41 89 14 85 | 7b 00 cf 09 c7 0c 40 38 |....A...|{.....@8|
|00002d00| 5c 22 3f 85 83 00 d0 88 | 82 6c 00 88 0c 83 99 00 |\"?.....|.l......|
|00002d10| d1 0c 40 41 41 0b c9 0c | 40 38 5c 5c 5c 22 88 0a |..@AA...|@8\\\"..|
|00002d20| 82 cd 00 0a 41 85 b0 00 | c7 c7 0a 38 38 3a 3f 86 |....A...|...88:?.|
|00002d30| b0 00 c7 c7 0a 38 38 40 | d2 3e 83 c4 00 ce c7 0a |.....88@|.>......|
|00002d40| 38 ce 09 0b 45 0a 41 41 | 42 42 42 82 cd 00 ce ce |8...E.AA|BBB.....|
|00002d50| 09 0b 45 0a 41 42 42 29 | 82 d8 00 d3 d4 09 0b 5c |..E.ABB)|.......\|
|00002d60| 22 0a 5c 22 87 22 20 5b | 6d 61 74 68 2d 74 6f 2d |".\"." [|math-to-|
|00002d70| 6c 69 73 74 20 66 61 63 | 20 66 61 63 73 20 70 6f |list fac| facs po|
|00002d80| 77 20 66 6f 75 6e 64 20 | 6d 61 74 68 2d 76 65 63 |w found |math-vec|
|00002d90| 74 6f 72 70 20 6d 61 74 | 68 2d 61 63 63 75 6d 2d |torp mat|h-accum-|
|00002da0| 66 61 63 74 6f 72 73 20 | 31 20 2a 20 32 20 63 61 |factors |1 * 2 ca|
|00002db0| 72 2d 73 61 66 65 20 5e | 20 6e 61 74 6e 75 6d 70 |r-safe ^| natnump|
|00002dc0| 20 28 76 65 63 29 20 76 | 65 63 20 65 71 75 61 6c | (vec) v|ec equal|
|00002dd0| 20 6e 69 6c 20 73 65 74 | 63 61 72 20 28 62 69 67 | nil set|car (big|
|00002de0| 70 6f 73 20 62 69 67 6e | 65 67 20 66 72 61 63 29 |pos bign|eg frac)|
|00002df0| 20 6d 61 74 68 2d 6d 75 | 6c 20 6d 61 74 68 2d 70 | math-mu|l math-p|
|00002e00| 6f 77 5d 20 31 34 29 29 | 0a 0a 28 64 65 66 75 6e |ow] 14))|..(defun|
|00002e10| 20 6d 61 74 68 2d 66 61 | 63 74 6f 72 2d 70 6f 6c | math-fa|ctor-pol|
|00002e20| 79 2d 63 6f 65 66 73 20 | 28 70 20 26 6f 70 74 69 |y-coefs |(p &opti|
|00002e30| 6f 6e 61 6c 20 73 71 75 | 61 72 65 2d 66 72 65 65 |onal squ|are-free|
|00002e40| 29 20 28 62 79 74 65 2d | 63 6f 64 65 20 22 cd cd |) (byte-|code "..|
|00002e50| 19 18 0a 41 3f 83 13 00 | 0a 40 86 10 00 dc 82 9f |...A?...|.@......|
|00002e60| 03 0a 40 3a 83 3a 00 0a | 40 40 dd 3e 3f 85 37 00 |..@:.:..|@@.>?.7.|
|00002e70| 0a 40 40 de 3d 83 33 00 | df 0a 40 38 dc 3d 82 37 |.@@.=.3.|..@8.=.7|
|00002e80| 00 e0 0a 40 21 82 3e 00 | 0a 40 dc 3d 83 a3 00 dc |...@!.>.|.@.=....|
|00002e90| 1b 0a 85 72 00 0a 40 3a | 83 6e 00 0a 40 40 e1 3e |...r..@:|.n..@@.>|
|00002ea0| 3f 85 6b 00 0a 40 40 de | 3d 83 67 00 df 0a 40 38 |?.k..@@.|=.g...@8|
|00002eb0| dc 3d 82 6b 00 e0 0a 40 | 21 82 72 00 0a 40 dc 3d |.=.k...@|!.r..@.=|
|00002ec0| 85 80 00 0b 54 13 0a 41 | 89 12 88 82 43 00 88 0a |....T..A|....C...|
|00002ed0| 41 83 8f 00 e2 0a 0c 5c | 22 89 12 82 97 00 e3 e4 |A......\|".......|
|00002ee0| 0a 40 21 21 89 12 88 e5 | 0d 0b e6 0a 21 23 29 82 |.@!!....|....!#).|
|00002ef0| 9f 03 0c 3f 85 c1 00 df | e7 e8 0a 21 e9 0a 47 53 |...?....|...!..GS|
|00002f00| 0a 38 21 83 bb 00 ea 82 | bc 00 df 5c 22 89 10 3d |.8!.....|...\"..=|
|00002f10| 3f 83 d2 00 e5 08 df e2 | eb 0a 08 5c 22 ec 5c 22 |?.......|...\".\"|
|00002f20| 23 82 9f 03 0a 41 41 3f | 83 f2 00 ed e6 e3 e4 0a |#....AA?|........|
|00002f30| 40 21 21 21 e7 0d e6 e3 | e4 df 0a 38 21 21 21 5c |@!!!....|...8!!!\|
|00002f40| 22 5c 22 82 9f 03 0a 1e | 06 0e 06 85 3b 01 0e 06 |"\".....|....;...|
|00002f50| 40 3a 3f 86 08 01 0e 06 | 40 40 ee 3e 86 3b 01 0e |@:?.....|@@.>.;..|
|00002f60| 06 40 40 ef 3d 85 3b 01 | df 0e 06 40 38 3a 3f 86 |.@@.=.;.|...@8:?.|
|00002f70| 26 01 df 0e 06 40 38 40 | f0 3e 85 3b 01 f1 0e 06 |&....@8@|.>.;....|
|00002f80| 40 38 3a 3f 86 3b 01 f1 | 0e 06 40 38 40 f2 3e 85 |@8:?.;..|..@8@.>.|
|00002f90| 48 01 0e 06 41 89 16 06 | 88 82 f5 00 88 0e 06 29 |H...A...|.......)|
|00002fa0| 83 a4 01 f3 f4 0d c9 0a | 42 45 f5 5c 22 1e 07 f6 |........|BE.\"...|
|00002fb0| 0e 07 21 f7 3d 85 99 01 | 0e 07 47 f8 55 85 99 01 |..!.=...|..G.U...|
|00002fc0| f9 f1 0e 07 38 21 85 99 | 01 df f1 0e 07 38 1e 09 |....8!..|.....8..|
|00002fd0| 1e 08 0e 09 41 89 16 09 | 85 95 01 e5 0e 09 40 df |....A...|......@.|
|00002fe0| 0e 08 23 89 16 08 88 82 | 7d 01 88 0e 08 2a 86 a0 |..#.....|}....*..|
|00002ff0| 01 fa 0a 0d 5c 22 29 82 | 9f 03 0e 0a df 3d 83 4d |....\").|.....=.M|
|00003000| 03 0c cb 3d 86 be 01 fb | fc 0a fd 0a 21 89 11 5c |...=....|....!..\|
|00003010| 22 89 10 fe 5c 22 83 98 | 02 cd 1e 0c ff cd 0a cb |"...\"..|........|
|00003020| 23 29 89 10 83 91 02 08 | 40 81 40 00 0a 47 53 0a |#)......|@.@..GS.|
|00003030| 38 21 83 e1 01 ea 82 e2 | 01 df df df 08 38 f1 08 |8!......|.....8..|
|00003040| 38 1e 12 1e 11 1e 10 1e | 0f 1e 0e 0e 0e 85 74 02 |8.......|......t.|
|00003050| 0e 0e 40 40 0e 0e 40 41 | 1e 14 1e 13 e5 0e 14 83 |..@@..@A|........|
|00003060| 41 02 81 41 00 0e 13 0e | 14 5c 22 1e 15 81 42 00 |A..A....|.\"...B.|
|00003070| 0e 12 0e 15 5c 22 89 16 | 12 88 ed ed e7 0e 15 81 |....\"..|........|
|00003080| 43 00 0d f1 5c 22 5c 22 | e7 e7 0e 14 0e 15 5c 22 |C...\"\"|......\"|
|00003090| 0d 5c 22 5c 22 e7 0e 13 | 0e 15 5c 22 5c 22 29 82 |.\"\"...|..\"\").|
|000030a0| 63 02 81 41 00 0e 13 21 | 1e 15 81 42 00 0e 12 0e |c..A...!|...B....|
|000030b0| 15 5c 22 89 16 12 88 ed | e7 0e 15 0d 5c 22 e7 0e |.\".....|....\"..|
|000030c0| 13 0e 15 5c 22 5c 22 29 | df 0e 10 23 16 10 0e 0e |...\"\")|...#....|
|000030d0| 41 89 16 0e 2a 88 82 f3 | 01 88 e5 0e 10 df e7 0e |A...*...|........|
|000030e0| 0f fa 81 44 00 df 08 38 | 0e 12 5c 22 0d 5c 22 5c |...D...8|..\".\"\|
|000030f0| 22 23 89 16 10 2d 82 95 | 02 fa 0a 0d 5c 22 82 4a |"#...-..|....\".J|
|00003100| 03 e8 0a 21 1e 16 81 40 | 00 0a 47 53 0a 38 21 83 |...!...@|..GS.8!.|
|00003110| ad 02 ea 82 ae 02 df 1e | 0f 81 44 00 08 0e 0f 5c |........|..D....\|
|00003120| 22 1e 17 cd 1e 18 81 45 | 00 0a 0e 17 5c 22 40 1e |"......E|....\"@.|
|00003130| 19 81 45 00 09 0e 17 5c | 22 40 1e 1a 81 46 00 81 |..E....\|"@...F..|
|00003140| 47 00 81 48 00 0e 1a df | fd 0e 19 21 ea 24 21 89 |G..H....|...!.$!.|
|00003150| 11 21 3f 85 0e 03 fc 0e | 19 09 5c 22 10 08 0e 18 |.!?.....|..\"....|
|00003160| 42 16 18 81 45 00 0e 19 | 08 5c 22 40 16 19 81 45 |B...E...|.\"@...E|
|00003170| 00 09 08 5c 22 40 89 16 | 1a 88 82 d0 02 88 0e 18 |...\"@..|........|
|00003180| 47 10 e5 e2 0e 19 cb 5c | 22 08 54 df 23 89 11 88 |G......\|".T.#...|
|00003190| 0e 18 85 3d 03 e5 e2 0e | 18 40 cb 5c 22 08 09 23 |...=....|.@.\"..#|
|000031a0| 11 08 53 10 0e 18 41 89 | 16 18 88 82 20 03 88 e5 |..S...A.|.... ...|
|000031b0| e7 0e 16 0e 0f 5c 22 df | 09 23 2e 06 82 9f 03 fc |.....\".|.#......|
|000031c0| 0a fd 0a 21 5c 22 89 16 | 1b 47 0a 47 55 83 97 03 |...!\"..|.G.GU...|
|000031d0| 0e 1b 40 89 12 88 0e 1b | 41 85 80 03 81 49 00 f1 |..@.....|A....I..|
|000031e0| 0e 0a 38 0e 1b 5c 22 16 | 1b 0e 1b 40 0a 42 89 12 |..8..\".|...@.B..|
|000031f0| 88 82 63 03 88 e2 0a 21 | 89 16 1b 85 94 03 81 43 |..c....!|.......C|
|00003200| 00 0e 1b f1 0e 0a 38 5c | 22 82 9f 03 81 4a 00 cd |......8\|"....J..|
|00003210| 81 4b 00 5c 22 2a 87 22 | 20 5b 74 31 20 74 32 20 |.K.\"*."| [t1 t2 |
|00003220| 70 20 7a 20 73 71 75 61 | 72 65 2d 66 72 65 65 20 |p z squa|re-free |
|00003230| 78 20 70 70 20 72 65 73 | 20 66 61 63 73 20 76 65 |x pp res| facs ve|
|00003240| 63 20 6d 61 74 68 2d 70 | 6f 6c 79 2d 6d 6f 64 75 |c math-p|oly-modu|
|00003250| 6c 75 73 20 74 20 63 61 | 6c 63 2d 73 79 6d 62 6f |lus t ca|lc-symbo|
|00003260| 6c 69 63 2d 6d 6f 64 65 | 20 6e 69 6c 20 72 6f 6f |lic-mode| nil roo|
|00003270| 74 73 20 63 73 69 67 6e | 20 65 78 70 72 20 75 6e |ts csign| expr un|
|00003280| 66 61 63 20 73 63 61 6c | 65 20 63 6f 65 66 30 20 |fac scal|e coef0 |
|00003290| 63 6f 65 66 31 20 64 65 | 6e 20 63 61 62 73 20 74 |coef1 de|n cabs t|
|000032a0| 31 73 20 75 75 20 76 20 | 77 20 74 65 6d 70 20 30 |1s uu v |w temp 0|
|000032b0| 20 28 62 69 67 70 6f 73 | 20 62 69 67 6e 65 67 29 | (bigpos| bigneg)|
|000032c0| 20 66 6c 6f 61 74 20 31 | 20 6d 61 74 68 2d 7a 65 | float 1| math-ze|
|000032d0| 72 6f 70 20 28 62 69 67 | 70 6f 73 20 62 69 67 6e |rop (big|pos bign|
|000032e0| 65 67 29 20 6d 61 74 68 | 2d 66 61 63 74 6f 72 2d |eg) math|-factor-|
|000032f0| 70 6f 6c 79 2d 63 6f 65 | 66 73 20 6d 61 74 68 2d |poly-coe|fs math-|
|00003300| 73 6f 72 74 2d 74 65 72 | 6d 73 20 6d 61 74 68 2d |sort-ter|ms math-|
|00003310| 66 61 63 74 6f 72 2d 65 | 78 70 72 20 6d 61 74 68 |factor-e|xpr math|
|00003320| 2d 61 63 63 75 6d 2d 66 | 61 63 74 6f 72 73 20 6d |-accum-f|actors m|
|00003330| 61 74 68 2d 66 61 63 74 | 6f 72 2d 70 72 6f 74 65 |ath-fact|or-prote|
|00003340| 63 74 20 6d 61 74 68 2d | 6d 75 6c 20 6d 61 74 68 |ct math-|mul math|
|00003350| 2d 70 6f 6c 79 2d 67 63 | 64 2d 6c 69 73 74 20 6d |-poly-gc|d-list m|
|00003360| 61 74 68 2d 67 75 65 73 | 73 2d 69 66 2d 6e 65 67 |ath-gues|s-if-neg|
|00003370| 20 2d 31 20 6d 61 74 68 | 2d 70 6f 6c 79 2d 64 69 | -1 math|-poly-di|
|00003380| 76 2d 6c 69 73 74 20 63 | 6f 6e 74 20 6d 61 74 68 |v-list c|ont math|
|00003390| 2d 61 64 64 20 28 62 69 | 67 70 6f 73 20 62 69 67 |-add (bi|gpos big|
|000033a0| 6e 65 67 20 66 72 61 63 | 29 20 6d 6f 64 20 28 62 |neg frac|) mod (b|
|000033b0| 69 67 70 6f 73 20 62 69 | 67 6e 65 67 29 20 32 20 |igpos bi|gneg) 2 |
|000033c0| 28 62 69 67 70 6f 73 20 | 62 69 67 6e 65 67 29 20 |(bigpos |bigneg) |
|000033d0| 6d 61 74 68 2d 72 65 77 | 72 69 74 65 20 63 61 6c |math-rew|rite cal|
|000033e0| 63 46 75 6e 63 2d 74 68 | 65 63 6f 65 66 73 20 28 |cFunc-th|ecoefs (|
|000033f0| 76 61 72 20 46 61 63 74 | 6f 72 52 75 6c 65 73 20 |var Fact|orRules |
|00003400| 76 61 72 2d 46 61 63 74 | 6f 72 52 75 6c 65 73 29 |var-Fact|orRules)|
|00003410| 20 63 61 72 2d 73 61 66 | 65 20 63 61 6c 63 46 75 | car-saf|e calcFu|
|00003420| 6e 63 2d 74 68 65 66 61 | 63 74 6f 72 73 20 33 20 |nc-thefa|ctors 3 |
|00003430| 6d 61 74 68 2d 76 65 63 | 74 6f 72 70 20 6d 61 74 |math-vec|torp mat|
|00003440| 68 2d 62 75 69 6c 64 2d | 70 6f 6c 79 6e 6f 6d 69 |h-build-|polynomi|
|00003450| 61 6c 2d 65 78 70 72 20 | 65 71 75 61 6c 20 6d 61 |al-expr |equal ma|
|00003460| 74 68 2d 70 6f 6c 79 2d | 67 63 64 2d 63 6f 65 66 |th-poly-|gcd-coef|
|00003470| 73 20 6d 61 74 68 2d 70 | 6f 6c 79 2d 64 65 72 69 |s math-p|oly-deri|
|00003480| 76 2d 63 6f 65 66 73 20 | 28 31 29 20 6d 61 74 68 |v-coefs |(1) math|
|00003490| 2d 70 6f 6c 79 2d 61 6c | 6c 2d 72 6f 6f 74 73 20 |-poly-al|l-roots |
|000034a0| 6d 61 74 68 2d 6e 65 67 | 70 20 6d 61 74 68 2d 6c |math-neg|p math-l|
|000034b0| 63 6d 2d 64 65 6e 6f 6d | 73 20 6d 61 74 68 2d 64 |cm-denom|s math-d|
|000034c0| 69 76 20 6d 61 74 68 2d | 70 6f 77 20 6d 61 74 68 |iv math-|pow math|
|000034d0| 2d 6d 75 6c 2d 6c 69 73 | 74 20 6d 61 74 68 2d 70 |-mul-lis|t math-p|
|000034e0| 6f 6c 79 2d 64 69 76 2d | 63 6f 65 66 73 20 6d 61 |oly-div-|coefs ma|
|000034f0| 74 68 2d 70 6f 6c 79 2d | 7a 65 72 6f 70 20 6d 61 |th-poly-|zerop ma|
|00003500| 74 68 2d 70 6f 6c 79 2d | 73 69 6d 70 6c 69 66 79 |th-poly-|simplify|
|00003510| 20 6d 61 74 68 2d 70 6f | 6c 79 2d 6d 69 78 20 6e | math-po|ly-mix n|
|00003520| 74 68 63 64 72 20 6d 61 | 74 68 2d 72 65 6a 65 63 |thcdr ma|th-rejec|
|00003530| 74 2d 61 72 67 20 22 2a | 4d 6f 64 75 6c 6f 20 66 |t-arg "*|Modulo f|
|00003540| 61 63 74 6f 72 69 7a 61 | 74 69 6f 6e 20 6e 6f 74 |actoriza|tion not|
|00003550| 20 79 65 74 20 69 6d 70 | 6c 65 6d 65 6e 74 65 64 | yet imp|lemented|
|00003560| 22 5d 20 37 37 29 29 0a | 0a 28 64 65 66 75 6e 20 |"] 77)).|.(defun |
|00003570| 6d 61 74 68 2d 70 6f 6c | 79 2d 64 65 72 69 76 2d |math-pol|y-deriv-|
|00003580| 63 6f 65 66 73 20 28 70 | 29 20 28 62 79 74 65 2d |coefs (p|) (byte-|
|00003590| 63 6f 64 65 20 22 c4 c2 | 19 18 0b 41 89 13 85 1b |code "..|...A....|
|000035a0| 00 c5 0b 40 08 5c 22 09 | 42 11 08 54 89 10 88 82 |...@.\".|B..T....|
|000035b0| 04 00 88 c6 09 21 2a 87 | 22 20 5b 6e 20 64 70 20 |.....!*.|" [n dp |
|000035c0| 6e 69 6c 20 70 20 31 20 | 6d 61 74 68 2d 6d 75 6c |nil p 1 |math-mul|
|000035d0| 20 6e 72 65 76 65 72 73 | 65 5d 20 34 29 29 0a 0a | nrevers|e] 4))..|
|000035e0| 28 64 65 66 75 6e 20 6d | 61 74 68 2d 66 61 63 74 |(defun m|ath-fact|
|000035f0| 6f 72 2d 63 6f 6e 74 61 | 69 6e 73 20 28 78 20 61 |or-conta|ins (x a|
|00003600| 29 20 28 62 79 74 65 2d | 63 6f 64 65 20 22 c3 08 |) (byte-|code "..|
|00003610| 09 5c 22 83 0b 00 c4 82 | 4e 00 c5 08 21 c6 3e 83 |.\".....|N...!.>.|
|00003620| 2f 00 c7 1a 08 41 89 10 | 85 29 00 0a c8 08 40 09 |/....A..|.)....@.|
|00003630| 5c 22 5c 5c 89 12 88 82 | 15 00 88 0a 29 82 4e 00 |\"\\....|....).N.|
|00003640| c5 08 21 c9 3d 85 3c 00 | ca cb 08 38 21 83 4d 00 |..!.=.<.|...8!.M.|
|00003650| cc c8 c4 08 38 09 5c 22 | cb 08 38 5c 22 82 4e 00 |....8.\"|..8\".N.|
|00003660| c7 87 22 20 5b 78 20 61 | 20 73 75 6d 20 65 71 75 |.." [x a| sum equ|
|00003670| 61 6c 20 31 20 63 61 72 | 2d 73 61 66 65 20 28 2b |al 1 car|-safe (+|
|00003680| 20 2d 20 2a 20 2f 20 6e | 65 67 29 20 30 20 6d 61 | - * / n|eg) 0 ma|
|00003690| 74 68 2d 66 61 63 74 6f | 72 2d 63 6f 6e 74 61 69 |th-facto|r-contai|
|000036a0| 6e 73 20 5e 20 6e 61 74 | 6e 75 6d 70 20 32 20 2a |ns ^ nat|nump 2 *|
|000036b0| 5d 20 31 30 29 29 0a 0a | 28 64 65 66 75 6e 20 63 |] 10))..|(defun c|
|000036c0| 61 6c 63 46 75 6e 63 2d | 6e 72 61 74 20 28 65 78 |alcFunc-|nrat (ex|
|000036d0| 70 72 29 20 28 62 79 74 | 65 2d 63 6f 64 65 20 22 |pr) (byt|e-code "|
|000036e0| ca 08 21 85 0b 00 cb 08 | 21 89 10 88 cc 08 21 86 |..!.....|!.....!.|
|000036f0| 18 00 cd ce 08 21 09 5c | 22 83 26 00 08 40 cf d0 |.....!.\|".&..@..|
|00003700| 08 41 5c 22 42 82 80 00 | c3 1a d1 08 21 1c d2 d3 |.A\"B...|....!...|
|00003710| d4 0c 40 21 21 21 1d d2 | d3 d4 0c 41 21 21 21 1e |..@!!!..|...A!!!.|
|00003720| 06 d5 0d 0e 06 5c 22 1e | 07 0e 07 d6 3d 86 77 00 |.....\".|....=.w.|
|00003730| d7 0d 0e 07 5c 22 d7 0e | 06 0e 07 5c 22 1e 09 1e |....\"..|...\"...|
|00003740| 08 0e 08 41 d8 3d 85 76 | 00 0e 09 41 d8 3d 85 76 |...A.=.v|...A.=.v|
|00003750| 00 0e 08 40 15 0e 09 40 | 89 16 06 2a 88 d2 d9 0d |...@...@|...*....|
|00003760| 0e 06 5c 22 21 2d 87 22 | 20 5b 65 78 70 72 20 63 |..\"!-."| [expr c|
|00003770| 61 6c 63 2d 74 77 65 61 | 6b 2d 65 71 6e 2d 74 61 |alc-twea|k-eqn-ta|
|00003780| 62 6c 65 20 63 61 6c 63 | 2d 70 72 65 66 65 72 2d |ble calc|-prefer-|
|00003790| 66 72 61 63 20 74 20 72 | 65 73 20 6e 75 6d 20 64 |frac t r|es num d|
|000037a0| 65 6e 20 67 20 6e 75 6d | 32 20 64 65 6e 32 20 6d |en g num|2 den2 m|
|000037b0| 61 74 68 2d 61 6e 79 2d | 66 6c 6f 61 74 73 20 63 |ath-any-|floats c|
|000037c0| 61 6c 63 46 75 6e 63 2d | 70 66 72 61 63 20 6d 61 |alcFunc-|pfrac ma|
|000037d0| 74 68 2d 76 65 63 74 6f | 72 70 20 61 73 73 71 20 |th-vecto|rp assq |
|000037e0| 63 61 72 2d 73 61 66 65 | 20 6d 61 70 63 61 72 20 |car-safe| mapcar |
|000037f0| 63 61 6c 63 46 75 6e 63 | 2d 6e 72 61 74 20 6d 61 |calcFunc|-nrat ma|
|00003800| 74 68 2d 74 6f 2d 72 61 | 74 70 6f 6c 79 20 6d 61 |th-to-ra|tpoly ma|
|00003810| 74 68 2d 73 69 6d 70 6c | 69 66 79 20 6d 61 74 68 |th-simpl|ify math|
|00003820| 2d 73 6f 72 74 2d 74 65 | 72 6d 73 20 63 61 6c 63 |-sort-te|rms calc|
|00003830| 46 75 6e 63 2d 65 78 70 | 61 6e 64 20 6d 61 74 68 |Func-exp|and math|
|00003840| 2d 70 6f 6c 79 2d 67 63 | 64 20 31 20 6d 61 74 68 |-poly-gc|d 1 math|
|00003850| 2d 70 6f 6c 79 2d 64 69 | 76 20 30 20 6d 61 74 68 |-poly-di|v 0 math|
|00003860| 2d 64 69 76 5d 20 32 30 | 29 29 0a 0a 28 64 65 66 |-div] 20|))..(def|
|00003870| 75 6e 20 6d 61 74 68 2d | 74 6f 2d 72 61 74 70 6f |un math-|to-ratpo|
|00003880| 6c 79 20 28 65 78 70 72 | 29 20 28 62 79 74 65 2d |ly (expr|) (byte-|
|00003890| 63 6f 64 65 20 22 c2 09 | 21 18 c3 08 40 21 c3 08 |code "..|!...@!..|
|000038a0| 41 21 42 29 87 22 20 5b | 72 65 73 20 65 78 70 72 |A!B)." [|res expr|
|000038b0| 20 6d 61 74 68 2d 74 6f | 2d 72 61 74 70 6f 6c 79 | math-to|-ratpoly|
|000038c0| 2d 72 65 63 20 6d 61 74 | 68 2d 73 69 6d 70 6c 69 |-rec mat|h-simpli|
|000038d0| 66 79 5d 20 35 29 29 0a | 0a 28 64 65 66 75 6e 20 |fy] 5)).|.(defun |
|000038e0| 6d 61 74 68 2d 74 6f 2d | 72 61 74 70 6f 6c 79 2d |math-to-|ratpoly-|
|000038f0| 72 65 63 20 28 65 78 70 | 72 29 20 28 62 79 74 65 |rec (exp|r) (byte|
|00003900| 2d 63 6f 64 65 20 22 08 | 3a 3f 86 0a 00 08 40 c7 |-code ".|:?....@.|
|00003910| 3e 83 13 00 08 c8 42 82 | e4 01 08 40 c9 3e 83 d0 |>.....B.|...@.>..|
|00003920| 00 ca c8 08 38 21 ca cb | 08 38 21 1a 19 cc 09 41 |....8!..|.8!....A|
|00003930| 0a 41 5c 22 83 3c 00 08 | 40 09 40 0a 40 45 09 41 |.A\".<..|@.@.@E.A|
|00003940| 42 82 cc 00 09 41 c8 3d | 83 54 00 08 40 cd 09 40 |B....A.=|.T..@..@|
|00003950| 0a 41 5c 22 0a 40 45 0a | 41 42 82 cc 00 0a 41 c8 |.A\".@E.|AB....A.|
|00003960| 3d 83 6c 00 08 40 09 40 | cd 0a 40 09 41 5c 22 45 |=.l..@.@|..@.A\"E|
|00003970| 09 41 42 82 cc 00 ce 09 | 41 0a 41 5c 22 1b 0b c8 |.AB.....|A.A\"...|
|00003980| 3d 3f 85 7f 00 cf 09 41 | 0b 5c 22 0b c8 3d 3f 85 |=?.....A|.\"..=?.|
|00003990| 8f 00 cf cd 09 40 0a 41 | 5c 22 0b 5c 22 1d 1c 0c |.....@.A|\".\"...|
|000039a0| 41 d0 3d 85 9c 00 0d 41 | d0 3d 83 b4 00 08 40 0d |A.=....A|.=....@.|
|000039b0| 40 cd 0a 40 0c 40 5c 22 | 45 cd 0c 40 0a 41 5c 22 |@..@.@\"|E..@.A\"|
|000039c0| 42 82 ca 00 08 40 cd 09 | 40 0a 41 5c 22 cd 0a 40 |B....@..|@.A\"..@|
|000039d0| 09 41 5c 22 45 cd 09 41 | 0a 41 5c 22 42 2a 29 2a |.A\"E..A|.A\"B*)*|
|000039e0| 82 e4 01 08 40 d1 3d 83 | 1f 01 ca c8 08 38 21 19 |....@.=.|.....8!.|
|000039f0| ca cb 08 38 21 1a cd ce | 09 40 0a 41 5c 22 ce 09 |...8!...|.@.A\"..|
|00003a00| 41 0a 40 5c 22 5c 22 1b | 0b c8 3d 83 08 01 cd 09 |A.@\"\".|..=.....|
|00003a10| 40 0a 40 5c 22 cd 09 41 | 0a 41 5c 22 42 82 1b 01 |@.@\"..A|.A\"B...|
|00003a20| d2 cd 09 40 0a 40 5c 22 | 0b 5c 22 d2 cd 09 41 0a |...@.@\"|.\"...A.|
|00003a30| 41 5c 22 0b 5c 22 42 2b | 82 e4 01 08 40 d3 3d 83 |A\".\"B+|....@.=.|
|00003a40| 85 01 ca c8 08 38 21 19 | ca cb 08 38 21 1a 09 41 |.....8!.|...8!..A|
|00003a50| c8 3d 85 3d 01 0a 41 c8 | 3d 83 48 01 09 40 0a 40 |.=.=..A.|=.H..@.@|
|00003a60| 42 82 81 01 cd ce 09 40 | 0a 40 5c 22 ce 09 41 0a |B......@|.@\"..A.|
|00003a70| 41 5c 22 5c 22 1b 0b c8 | 3d 83 6d 01 cd 09 40 0a |A\"\"...|=.m...@.|
|00003a80| 41 5c 22 cd 09 41 0a 40 | 5c 22 42 82 80 01 d2 cd |A\"..A.@|\"B.....|
|00003a90| 09 40 0a 41 5c 22 0b 5c | 22 d2 cd 09 41 0a 40 5c |.@.A\".\|"...A.@\|
|00003aa0| 22 0b 5c 22 42 29 2a 82 | e4 01 08 40 d4 3d 85 91 |".\"B)*.|...@.=..|
|00003ab0| 01 d5 cb 08 38 21 83 c9 | 01 ca c8 08 38 21 19 cb |....8!..|....8!..|
|00003ac0| 08 38 d0 56 83 b4 01 d6 | 09 40 cb 08 38 5c 22 d6 |.8.V....|.@..8\".|
|00003ad0| 09 41 cb 08 38 5c 22 42 | 82 c5 01 d6 09 41 cb 08 |.A..8\"B|.....A..|
|00003ae0| 38 5b 5c 22 d6 09 40 cb | 08 38 5b 5c 22 42 29 82 |8[\"..@.|.8[\"B).|
|00003af0| e4 01 08 40 d7 3d 83 e1 | 01 ca c8 08 38 21 19 d8 |...@.=..|....8!..|
|00003b00| 09 40 21 09 41 42 29 82 | e4 01 08 c8 42 87 22 20 |.@!.AB).|....B." |
|00003b10| 5b 65 78 70 72 20 72 31 | 20 72 32 20 67 20 64 31 |[expr r1| r2 g d1|
|00003b20| 20 64 32 20 74 20 28 62 | 69 67 70 6f 73 20 62 69 | d2 t (b|igpos bi|
|00003b30| 67 6e 65 67 20 66 72 61 | 63 20 66 6c 6f 61 74 20 |gneg fra|c float |
|00003b40| 63 70 6c 78 20 70 6f 6c | 61 72 20 68 6d 73 20 64 |cplx pol|ar hms d|
|00003b50| 61 74 65 20 6d 6f 64 20 | 76 61 72 29 20 31 20 28 |ate mod |var) 1 (|
|00003b60| 2b 20 2d 29 20 6d 61 74 | 68 2d 74 6f 2d 72 61 74 |+ -) mat|h-to-rat|
|00003b70| 70 6f 6c 79 2d 72 65 63 | 20 32 20 65 71 75 61 6c |poly-rec| 2 equal|
|00003b80| 20 6d 61 74 68 2d 6d 75 | 6c 20 6d 61 74 68 2d 70 | math-mu|l math-p|
|00003b90| 6f 6c 79 2d 67 63 64 20 | 6d 61 74 68 2d 70 6f 6c |oly-gcd |math-pol|
|00003ba0| 79 2d 64 69 76 20 30 20 | 2a 20 6d 61 74 68 2d 70 |y-div 0 |* math-p|
|00003bb0| 6f 6c 79 2d 64 69 76 2d | 65 78 61 63 74 20 2f 20 |oly-div-|exact / |
|00003bc0| 5e 20 69 6e 74 65 67 65 | 72 70 20 6d 61 74 68 2d |^ intege|rp math-|
|00003bd0| 70 6f 77 20 6e 65 67 20 | 6d 61 74 68 2d 6e 65 67 |pow neg |math-neg|
|00003be0| 5d 20 34 36 29 29 0a 0a | 28 64 65 66 75 6e 20 6d |] 46))..|(defun m|
|00003bf0| 61 74 68 2d 72 61 74 70 | 6f 6c 79 2d 70 20 28 65 |ath-ratp|oly-p (e|
|00003c00| 78 70 72 20 26 6f 70 74 | 69 6f 6e 61 6c 20 76 61 |xpr &opt|ional va|
|00003c10| 72 29 20 28 62 79 74 65 | 2d 63 6f 64 65 20 22 c6 |r) (byte|-code ".|
|00003c20| 08 09 5c 22 83 0b 00 c7 | 82 d7 00 08 3a 3f 86 15 |..\"....|....:?..|
|00003c30| 00 08 40 c8 3e 83 1c 00 | c9 82 d7 00 08 40 ca 3e |..@.>...|.....@.>|
|00003c40| 83 42 00 cb c7 08 38 09 | 5c 22 c4 1b 1a 0a 85 3e |.B....8.|\".....>|
|00003c50| 00 cb cc 08 38 09 5c 22 | 89 13 85 3e 00 0a 0b 5d |....8.\"|...>...]|
|00003c60| 2a 82 d7 00 08 40 cd 3d | 83 68 00 cb c7 08 38 09 |*....@.=|.h....8.|
|00003c70| 5c 22 c4 1b 1a 0a 85 64 | 00 cb cc 08 38 09 5c 22 |\".....d|....8.\"|
|00003c80| 89 13 85 64 00 0a 0b 5c | 5c 2a 82 d7 00 08 40 ce |...d...\|\*....@.|
|00003c90| 3d 83 78 00 cb c7 08 38 | 09 5c 22 82 d7 00 08 40 |=.x....8|.\"....@|
|00003ca0| cf 3d 83 9e 00 cb c7 08 | 38 09 5c 22 c4 1b 1a 0a |.=......|8.\"....|
|00003cb0| 85 9a 00 cb cc 08 38 09 | 5c 22 89 13 85 9a 00 0a |......8.|\"......|
|00003cc0| 0b 5a 2a 82 d7 00 08 40 | d0 3d 85 aa 00 d1 cc 08 |.Z*....@|.=......|
|00003cd0| 38 21 83 c2 00 cb c7 08 | 38 09 5c 22 1a 0a 85 be |8!......|8.\"....|
|00003ce0| 00 cd 0a cc 08 38 5c 22 | 29 82 d7 00 09 3f 83 cb |.....8\"|)....?..|
|00003cf0| 00 c7 82 d7 00 d2 08 09 | 5c 22 83 d6 00 c4 82 d7 |........|\"......|
|00003d00| 00 c9 87 22 20 5b 65 78 | 70 72 20 76 61 72 20 70 |..." [ex|pr var p|
|00003d10| 31 20 70 32 20 6e 69 6c | 20 74 20 65 71 75 61 6c |1 p2 nil| t equal|
|00003d20| 20 31 20 28 62 69 67 70 | 6f 73 20 62 69 67 6e 65 | 1 (bigp|os bigne|
|00003d30| 67 20 66 72 61 63 20 66 | 6c 6f 61 74 20 63 70 6c |g frac f|loat cpl|
|00003d40| 78 20 70 6f 6c 61 72 20 | 68 6d 73 20 64 61 74 65 |x polar |hms date|
|00003d50| 20 6d 6f 64 20 76 61 72 | 29 20 30 20 28 2b 20 2d | mod var|) 0 (+ -|
|00003d60| 29 20 6d 61 74 68 2d 72 | 61 74 70 6f 6c 79 2d 70 |) math-r|atpoly-p|
|00003d70| 20 32 20 2a 20 6e 65 67 | 20 2f 20 5e 20 69 6e 74 | 2 * neg| / ^ int|
|00003d80| 65 67 65 72 70 20 6d 61 | 74 68 2d 70 6f 6c 79 2d |egerp ma|th-poly-|
|00003d90| 64 65 70 65 6e 64 73 5d | 20 31 34 29 29 0a 0a 28 |depends]| 14))..(|
|00003da0| 64 65 66 75 6e 20 63 61 | 6c 63 46 75 6e 63 2d 61 |defun ca|lcFunc-a|
|00003db0| 70 61 72 74 20 28 65 78 | 70 72 20 26 6f 70 74 69 |part (ex|pr &opti|
|00003dc0| 6f 6e 61 6c 20 76 61 72 | 29 20 28 62 79 74 65 2d |onal var|) (byte-|
|00003dd0| 63 6f 64 65 20 22 08 3a | 3f 86 0a 00 08 40 ca 3e |code ".:|?....@.>|
|00003de0| 83 11 00 08 82 9b 00 08 | 40 cb 3d 83 29 00 cc cd |........|@.=.)...|
|00003df0| ce 08 38 09 5c 22 cd cf | 08 38 09 5c 22 5c 22 82 |..8.\"..|.8.\"\".|
|00003e00| 9b 00 08 40 d0 3d 83 41 | 00 d1 cd ce 08 38 09 5c |...@.=.A|.....8.\|
|00003e10| 22 cd cf 08 38 09 5c 22 | 5c 22 82 9b 00 d2 08 09 |"...8.\"|\"......|
|00003e20| 5c 22 3f 83 50 00 d3 08 | d4 5c 22 82 9b 00 c2 1b |\"?.P...|.\".....|
|00003e30| d5 08 21 1c 0c 40 1d 0c | 41 1e 06 d6 0d 0e 06 5c |..!..@..|A......\|
|00003e40| 22 1e 07 0e 07 40 1e 08 | 0e 07 41 1e 09 09 86 78 |"....@..|..A....x|
|00003e50| 00 d7 0e 06 21 89 11 88 | cc 0e 08 09 85 8f 00 d8 |....!...|........|
|00003e60| 0e 06 09 5c 22 85 8f 00 | d9 0e 09 0e 06 09 23 86 |...\"...|......#.|
|00003e70| 98 00 da 0e 09 0e 06 5c | 22 5c 22 2e 07 87 22 20 |.......\|"\"..." |
|00003e80| 5b 65 78 70 72 20 76 61 | 72 20 74 20 63 61 6c 63 |[expr va|r t calc|
|00003e90| 2d 70 72 65 66 65 72 2d | 66 72 61 63 20 72 61 74 |-prefer-|frac rat|
|00003ea0| 20 6e 75 6d 20 64 65 6e | 20 71 72 20 71 20 72 20 | num den| qr q r |
|00003eb0| 28 62 69 67 70 6f 73 20 | 62 69 67 6e 65 67 20 66 |(bigpos |bigneg f|
|00003ec0| 72 61 63 20 66 6c 6f 61 | 74 20 63 70 6c 78 20 70 |rac floa|t cplx p|
|00003ed0| 6f 6c 61 72 20 68 6d 73 | 20 64 61 74 65 20 6d 6f |olar hms| date mo|
|00003ee0| 64 20 76 61 72 29 20 2b | 20 6d 61 74 68 2d 61 64 |d var) +| math-ad|
|00003ef0| 64 20 63 61 6c 63 46 75 | 6e 63 2d 61 70 61 72 74 |d calcFu|nc-apart|
|00003f00| 20 31 20 32 20 2d 20 6d | 61 74 68 2d 73 75 62 20 | 1 2 - m|ath-sub |
|00003f10| 6d 61 74 68 2d 72 61 74 | 70 6f 6c 79 2d 70 20 6d |math-rat|poly-p m|
|00003f20| 61 74 68 2d 72 65 6a 65 | 63 74 2d 61 72 67 20 22 |ath-reje|ct-arg "|
|00003f30| 45 78 70 65 63 74 65 64 | 20 61 20 72 61 74 69 6f |Expected| a ratio|
|00003f40| 6e 61 6c 20 66 75 6e 63 | 74 69 6f 6e 22 20 6d 61 |nal func|tion" ma|
|00003f50| 74 68 2d 74 6f 2d 72 61 | 74 70 6f 6c 79 20 6d 61 |th-to-ra|tpoly ma|
|00003f60| 74 68 2d 70 6f 6c 79 2d | 64 69 76 20 6d 61 74 68 |th-poly-|div math|
|00003f70| 2d 70 6f 6c 79 6e 6f 6d | 69 61 6c 2d 62 61 73 65 |-polynom|ial-base|
|00003f80| 20 6d 61 74 68 2d 65 78 | 70 72 2d 63 6f 6e 74 61 | math-ex|pr-conta|
|00003f90| 69 6e 73 20 6d 61 74 68 | 2d 70 61 72 74 69 61 6c |ins math|-partial|
|00003fa0| 2d 66 72 61 63 74 69 6f | 6e 73 20 6d 61 74 68 2d |-fractio|ns math-|
|00003fb0| 64 69 76 5d 20 31 38 29 | 29 0a 0a 28 64 65 66 75 |div] 18)|)..(defu|
|00003fc0| 6e 20 6d 61 74 68 2d 70 | 61 64 64 65 64 2d 70 6f |n math-p|added-po|
|00003fd0| 6c 79 6e 6f 6d 69 61 6c | 20 28 65 78 70 72 20 76 |lynomial| (expr v|
|00003fe0| 61 72 20 64 65 67 29 20 | 28 62 79 74 65 2d 63 6f |ar deg) |(byte-co|
|00003ff0| 64 65 20 22 c4 09 0a 0b | 23 18 c5 08 c6 0b 08 47 |de "....|#......G|
|00004000| 5a c7 5c 22 5c 22 29 87 | 22 20 5b 70 20 65 78 70 |Z.\"\").|" [p exp|
|00004010| 72 20 76 61 72 20 64 65 | 67 20 6d 61 74 68 2d 69 |r var de|g math-i|
|00004020| 73 2d 70 6f 6c 79 6e 6f | 6d 69 61 6c 20 61 70 70 |s-polyno|mial app|
|00004030| 65 6e 64 20 6d 61 6b 65 | 2d 6c 69 73 74 20 30 5d |end make|-list 0]|
|00004040| 20 36 29 29 0a 0a 28 64 | 65 66 75 6e 20 6d 61 74 | 6))..(d|efun mat|
|00004050| 68 2d 70 61 72 74 69 61 | 6c 2d 66 72 61 63 74 69 |h-partia|l-fracti|
|00004060| 6f 6e 73 20 28 72 20 64 | 65 6e 20 76 61 72 29 20 |ons (r d|en var) |
|00004070| 28 62 79 74 65 2d 63 6f | 64 65 20 22 d5 09 0a 5c |(byte-co|de "...\|
|00004080| 22 18 d6 09 0a 5c 22 1b | 08 1c c6 1d d7 1e 07 c6 |"....\".|........|
|00004090| 1e 08 d8 0b 53 d7 5c 22 | 1e 09 d9 1e 0a 08 47 da |....S.\"|......G.|
|000040a0| 55 85 2c 00 da db 08 38 | 38 db 3d 3f 85 77 01 0c |U.,....8|8.=?.w..|
|000040b0| 41 89 14 85 08 01 da 0c | 40 38 d6 db 0c 40 38 0a |A.......|@8...@8.|
|000040c0| 5c 22 c6 c6 c6 1e 0f 1e | 0e 1e 0d 1e 0c 1e 0b 0e |\"......|........|
|000040d0| 0b d7 56 85 03 01 0e 0c | 16 0f d7 89 16 0d 88 0e |..V.....|........|
|000040e0| 0f d7 56 85 a8 00 dc dd | 0e 08 de 0e 09 24 16 0e |..V.....|.....$..|
|000040f0| d7 0e 08 42 16 08 0e 09 | 41 16 09 0e 0f 53 16 0f |...B....|A....S..|
|00004100| df 0e 0d e0 0e 0e e1 0a | 0e 0f 5c 22 5c 22 5c 22 |........|..\"\"\"|
|00004110| 16 0d 0e 0f 0e 0c 53 55 | 85 a0 00 e1 db 0c 40 38 |......SU|......@8|
|00004120| 0e 0b 5c 22 0d 42 89 15 | 88 82 5f 00 88 08 db 1e |..\".B..|.._.....|
|00004130| 11 1e 10 0e 10 41 89 16 | 10 85 d6 00 0e 10 0c 3d |.....A..|.......=|
|00004140| 86 d2 00 e0 0e 11 e1 db | 0e 10 40 38 da 0e 10 40 |........|..@8...@|
|00004150| 38 5c 22 5c 22 89 16 11 | 88 82 af 00 88 e0 0e 0d |8\"\"...|........|
|00004160| 0e 11 5c 22 89 16 0d 2a | 88 df 0e 07 e0 0e 0d e1 |..\"...*|........|
|00004170| db 0c 40 38 da 0c 40 38 | 0e 0b 5a 5c 22 5c 22 5c |..@8..@8|..Z\"\"\|
|00004180| 22 16 07 0e 0b 53 89 16 | 0b 88 82 4f 00 2d 88 82 |"....S..|...O.-..|
|00004190| 30 00 88 e2 e3 e4 0e 12 | 0a 0b 23 42 e5 e3 e6 e7 |0.......|..#B....|
|000041a0| 0e 07 41 5c 22 42 21 5c | 22 89 16 07 88 e8 0e 07 |..A\"B!\|".......|
|000041b0| 21 85 77 01 d7 c6 1e 14 | 1e 13 e9 0e 07 21 89 16 |!.w.....|.....!..|
|000041c0| 07 88 0e 07 85 71 01 0e | 07 40 0e 14 42 16 14 0e |.....q..|.@..B...|
|000041d0| 07 41 89 16 07 88 0d 40 | 85 68 01 ea e9 0e 14 21 |.A.....@|.h.....!|
|000041e0| 0a 5c 22 16 14 df 0e 13 | e2 0e 14 0d 40 5c 22 5c |.\".....|....@\"\|
|000041f0| 22 16 13 c6 89 16 14 88 | 0d 41 89 15 88 82 36 01 |".......|.A....6.|
|00004200| 88 eb 0e 13 21 2a 2e 08 | 87 22 20 5b 66 64 65 6e |....!*..|." [fden|
|00004210| 20 64 65 6e 20 76 61 72 | 20 74 64 65 67 20 66 70 | den var| tdeg fp|
|00004220| 20 64 6c 69 73 74 20 6e | 69 6c 20 65 71 6e 73 20 | dlist n|il eqns |
|00004230| 6c 7a 20 74 7a 20 63 61 | 6c 63 2d 6d 61 74 72 69 |lz tz ca|lc-matri|
|00004240| 78 2d 6d 6f 64 65 20 72 | 70 74 20 64 65 67 20 64 |x-mode r|pt deg d|
|00004250| 6e 75 6d 20 64 76 61 72 | 20 64 65 67 32 20 66 70 |num dvar| deg2 fp|
|00004260| 70 20 6d 75 6c 74 20 72 | 20 72 65 73 20 6e 75 6d |p mult r| res num|
|00004270| 20 63 61 6c 63 46 75 6e | 63 2d 66 61 63 74 6f 72 | calcFun|c-factor|
|00004280| 73 20 6d 61 74 68 2d 70 | 6f 6c 79 6e 6f 6d 69 61 |s math-p|olynomia|
|00004290| 6c 2d 70 20 30 20 6d 61 | 6b 65 2d 6c 69 73 74 20 |l-p 0 ma|ke-list |
|000042a0| 73 63 61 6c 61 72 20 32 | 20 31 20 61 70 70 65 6e |scalar 2| 1 appen|
|000042b0| 64 20 28 76 65 63 29 20 | 28 31 29 20 6d 61 74 68 |d (vec) |(1) math|
|000042c0| 2d 61 64 64 20 6d 61 74 | 68 2d 6d 75 6c 20 6d 61 |-add mat|h-mul ma|
|000042d0| 74 68 2d 70 6f 77 20 6d | 61 74 68 2d 64 69 76 20 |th-pow m|ath-div |
|000042e0| 76 65 63 20 6d 61 74 68 | 2d 70 61 64 64 65 64 2d |vec math|-padded-|
|000042f0| 70 6f 6c 79 6e 6f 6d 69 | 61 6c 20 6d 61 74 68 2d |polynomi|al math-|
|00004300| 74 72 61 6e 73 70 6f 73 | 65 20 6d 61 70 63 61 72 |transpos|e mapcar|
|00004310| 20 28 6c 61 6d 62 64 61 | 20 28 78 29 20 28 62 79 | (lambda| (x) (by|
|00004320| 74 65 2d 63 6f 64 65 20 | 22 c3 c4 08 09 0a 23 42 |te-code |".....#B|
|00004330| 87 22 20 5b 78 20 76 61 | 72 20 74 64 65 67 20 76 |." [x va|r tdeg v|
|00004340| 65 63 20 6d 61 74 68 2d | 70 61 64 64 65 64 2d 70 |ec math-|padded-p|
|00004350| 6f 6c 79 6e 6f 6d 69 61 | 6c 5d 20 35 29 29 20 6d |olynomia|l] 5)) m|
|00004360| 61 74 68 2d 76 65 63 74 | 6f 72 70 20 6e 72 65 76 |ath-vect|orp nrev|
|00004370| 65 72 73 65 20 6d 61 74 | 68 2d 62 75 69 6c 64 2d |erse mat|h-build-|
|00004380| 70 6f 6c 79 6e 6f 6d 69 | 61 6c 2d 65 78 70 72 20 |polynomi|al-expr |
|00004390| 6d 61 74 68 2d 6e 6f 72 | 6d 61 6c 69 7a 65 5d 20 |math-nor|malize] |
|000043a0| 32 39 29 29 0a 0a 28 64 | 65 66 75 6e 20 6d 61 74 |29))..(d|efun mat|
|000043b0| 68 2d 65 78 70 61 6e 64 | 2d 74 65 72 6d 20 28 65 |h-expand|-term (e|
|000043c0| 78 70 72 29 20 28 62 79 | 74 65 2d 63 6f 64 65 20 |xpr) (by|te-code |
|000043d0| 22 c4 08 21 c5 3d 85 0f | 00 c4 c6 08 38 21 c7 3e |"..!.=..|....8!.>|
|000043e0| 83 32 00 c8 c5 c6 c6 08 | 38 38 c9 08 38 45 c5 c9 |.2......|88..8E..|
|000043f0| c6 08 38 38 c9 08 38 45 | c1 c6 08 38 40 ca 3d 24 |..88..8E|...8@.=$|
|00004400| 82 fa 00 c4 08 21 c5 3d | 85 41 00 c4 c9 08 38 21 |.....!.=|.A....8!|
|00004410| cb 3e 83 64 00 c8 c5 c6 | 08 38 c6 c9 08 38 38 45 |.>.d....|.8...88E|
|00004420| c5 c6 08 38 c9 c9 08 38 | 38 45 c1 c9 08 38 40 ca |...8...8|8E...8@.|
|00004430| 3d 24 82 fa 00 c4 08 21 | cc 3d 85 73 00 c4 c6 08 |=$.....!|.=.s....|
|00004440| 38 21 cd 3e 83 96 00 c8 | cc c6 c6 08 38 38 c9 08 |8!.>....|....88..|
|00004450| 38 45 cc c9 c6 08 38 38 | c9 08 38 45 c1 c6 08 38 |8E....88|..8E...8|
|00004460| 40 ca 3d 24 82 fa 00 c4 | 08 21 ce 3d 85 f6 00 c4 |@.=$....|.!.=....|
|00004470| c6 08 38 21 cf 3e 85 f6 | 00 d0 c9 08 38 21 85 f6 |..8!.>..|....8!..|
|00004480| 00 c9 08 38 d1 56 83 e2 | 00 0a d2 56 86 c1 00 0a |...8.V..|...V....|
|00004490| d3 57 85 ce 00 d4 c6 08 | 38 c9 08 38 c1 c3 24 86 |.W......|8..8..$.|
|000044a0| df 00 c5 c6 08 38 ce c6 | 08 38 c9 08 38 53 45 45 |.....8..|.8..8SEE|
|000044b0| 82 f6 00 c9 08 38 d1 57 | 85 f6 00 cc c6 ce c6 08 |.....8.W|........|
|000044c0| 38 c9 08 38 5b 45 45 86 | fa 00 08 87 22 20 5b 65 |8..8[EE.|...." [e|
|000044d0| 78 70 72 20 6e 69 6c 20 | 6d 6d 74 2d 6d 61 6e 79 |xpr nil |mmt-many|
|000044e0| 20 74 20 63 61 72 2d 73 | 61 66 65 20 2a 20 31 20 | t car-s|afe * 1 |
|000044f0| 28 2b 20 2d 29 20 6d 61 | 74 68 2d 61 64 64 2d 6f |(+ -) ma|th-add-o|
|00004500| 72 2d 73 75 62 20 32 20 | 2d 20 28 2b 20 2d 29 20 |r-sub 2 |- (+ -) |
|00004510| 2f 20 28 2b 20 2d 29 20 | 5e 20 28 2b 20 2d 29 20 |/ (+ -) |^ (+ -) |
|00004520| 69 6e 74 65 67 65 72 70 | 20 30 20 35 30 30 30 30 |integerp| 0 50000|
|00004530| 30 20 2d 35 30 30 30 30 | 30 20 6d 61 74 68 2d 65 |0 -50000|0 math-e|
|00004540| 78 70 61 6e 64 2d 70 6f | 77 65 72 5d 20 31 39 29 |xpand-po|wer] 19)|
|00004550| 29 0a 0a 28 64 65 66 75 | 6e 20 63 61 6c 63 46 75 |)..(defu|n calcFu|
|00004560| 6e 63 2d 65 78 70 61 6e | 64 20 28 65 78 70 72 20 |nc-expan|d (expr |
|00004570| 26 6f 70 74 69 6f 6e 61 | 6c 20 6d 61 6e 79 29 20 |&optiona|l many) |
|00004580| 28 62 79 74 65 2d 63 6f | 64 65 20 22 c2 c3 c4 08 |(byte-co|de "....|
|00004590| 09 23 21 87 22 20 5b 65 | 78 70 72 20 6d 61 6e 79 |.#!." [e|xpr many|
|000045a0| 20 6d 61 74 68 2d 6e 6f | 72 6d 61 6c 69 7a 65 20 | math-no|rmalize |
|000045b0| 6d 61 74 68 2d 6d 61 70 | 2d 74 72 65 65 20 6d 61 |math-map|-tree ma|
|000045c0| 74 68 2d 65 78 70 61 6e | 64 2d 74 65 72 6d 5d 20 |th-expan|d-term] |
|000045d0| 35 29 29 0a 0a 28 64 65 | 66 75 6e 20 6d 61 74 68 |5))..(de|fun math|
|000045e0| 2d 65 78 70 61 6e 64 2d | 70 6f 77 65 72 20 28 78 |-expand-|power (x|
|000045f0| 20 6e 20 26 6f 70 74 69 | 6f 6e 61 6c 20 76 61 72 | n &opti|onal var|
|00004600| 20 65 6c 73 65 2d 6e 69 | 6c 29 20 28 62 79 74 65 | else-ni|l) (byte|
|00004610| 2d 63 6f 64 65 20 22 cd | 08 21 85 aa 01 ce 09 21 |-code ".|.!.....!|
|00004620| cf 3e 85 aa 01 c3 c3 1c | 1a ce 09 21 d0 3e 85 38 |.>......|...!.>.8|
|00004630| 00 09 40 d1 3d 83 29 00 | d2 d3 09 38 21 82 2c 00 |..@.=.).|...8!.,.|
|00004640| d3 09 38 0a 42 12 d4 09 | 38 89 11 88 82 12 00 88 |..8.B...|8.......|
|00004650| 09 0a 42 89 12 88 0d 85 | 7b 00 0a 1e 06 0e 06 85 |..B.....|{.......|
|00004660| 6d 00 d5 0e 06 40 0d 5c | 22 86 62 00 d6 0e 06 40 |m....@.\|".b....@|
|00004670| 0a 5c 22 12 0e 06 40 0c | 42 89 14 88 0e 06 41 89 |.\"...@.|B.....A.|
|00004680| 16 06 88 82 46 00 88 0c | 85 7a 00 d7 d8 0c 5c 22 |....F...|.z....\"|
|00004690| 0a 42 89 12 29 88 0a 47 | d3 55 83 bf 00 d9 d9 1e |.B..)..G|.U......|
|000046a0| 08 1e 07 0e 07 08 58 85 | b8 00 da 0e 08 db dc 08 |......X.|........|
|000046b0| 0e 07 5c 22 db dd d4 0a | 38 0e 07 45 dd 0a 40 08 |..\"....|8..E..@.|
|000046c0| 0e 07 5a 45 45 45 45 16 | 08 0e 07 54 89 16 07 88 |..ZEEEE.|...T....|
|000046d0| 82 89 00 88 0e 08 2a 82 | a9 01 08 d3 55 83 16 01 |......*.|....U...|
|000046e0| d9 0a c3 1e 0a 1e 09 1e | 08 0e 09 85 0f 01 da 0e |........|........|
|000046f0| 08 dd 0e 09 40 d3 45 45 | 16 08 0e 09 89 16 0a 88 |....@.EE|........|
|00004700| 0e 0a 41 89 16 0a 85 04 | 01 da 0e 08 db d3 db 0e |..A.....|........|
|00004710| 09 40 0e 0a 40 45 45 45 | 89 16 08 88 82 e5 00 88 |.@..@EEE|........|
|00004720| 0e 09 41 89 16 09 88 82 | ce 00 88 0e 08 2b 82 a9 |..A.....|.....+..|
|00004730| 01 08 de 55 85 a9 01 d9 | 0a c3 c3 1e 0b 1e 0a 1e |...U....|........|
|00004740| 09 1e 08 0e 09 85 a5 01 | da 0e 08 dd 0e 09 40 de |........|......@.|
|00004750| 45 45 16 08 0e 09 89 16 | 0a 88 0e 0a 41 89 16 0a |EE......|....A...|
|00004760| 85 9a 01 da da 0e 08 db | de db dd 0e 09 40 d3 45 |........|.....@.E|
|00004770| 0e 0a 40 45 45 45 db de | db 0e 09 40 dd 0e 0a 40 |..@EEE..|...@...@|
|00004780| d3 45 45 45 45 16 08 0e | 0a 89 16 0b 88 0e 0b 41 |.EEEE...|.......A|
|00004790| 89 16 0b 85 96 01 da 0e | 08 db df db 0e 09 40 db |........|......@.|
|000047a0| 0e 0a 40 0e 0b 40 45 45 | 45 45 89 16 08 88 82 72 |..@..@EE|EE.....r|
|000047b0| 01 88 82 3f 01 88 0e 09 | 41 89 16 09 88 82 28 01 |...?....|A.....(.|
|000047c0| 88 0e 08 2c 2a 86 b7 01 | 0e 0c 3f 85 b7 01 dd 09 |...,*...|..?.....|
|000047d0| 08 45 87 22 20 5b 6e 20 | 78 20 74 65 72 6d 73 20 |.E." [n |x terms |
|000047e0| 6e 69 6c 20 63 74 65 72 | 6d 73 20 76 61 72 20 70 |nil cter|ms var p|
|000047f0| 20 69 20 61 63 63 75 6d | 20 70 31 20 70 32 20 70 | i accum| p1 p2 p|
|00004800| 33 20 65 6c 73 65 2d 6e | 69 6c 20 6e 61 74 6e 75 |3 else-n|il natnu|
|00004810| 6d 70 20 63 61 72 2d 73 | 61 66 65 20 28 2b 20 2d |mp car-s|afe (+ -|
|00004820| 29 20 28 2b 20 2d 29 20 | 2d 20 6d 61 74 68 2d 6e |) (+ -) |- math-n|
|00004830| 65 67 20 32 20 31 20 6d | 61 74 68 2d 65 78 70 72 |eg 2 1 m|ath-expr|
|00004840| 2d 63 6f 6e 74 61 69 6e | 73 20 64 65 6c 71 20 61 |-contain|s delq a|
|00004850| 70 70 6c 79 20 63 61 6c | 63 46 75 6e 63 2d 61 64 |pply cal|cFunc-ad|
|00004860| 64 20 30 20 2b 20 2a 20 | 63 61 6c 63 46 75 6e 63 |d 0 + * |calcFunc|
|00004870| 2d 63 68 6f 6f 73 65 20 | 5e 20 33 20 36 5d 20 32 |-choose |^ 3 6] 2|
|00004880| 30 29 29 0a 0a 28 64 65 | 66 75 6e 20 63 61 6c 63 |0))..(de|fun calc|
|00004890| 46 75 6e 63 2d 65 78 70 | 61 6e 64 70 6f 77 20 28 |Func-exp|andpow (|
|000048a0| 78 20 6e 29 20 28 62 79 | 74 65 2d 63 6f 64 65 20 |x n) (by|te-code |
|000048b0| 22 c2 c3 08 09 5c 22 21 | 87 22 20 5b 78 20 6e 20 |"....\"!|." [x n |
|000048c0| 6d 61 74 68 2d 6e 6f 72 | 6d 61 6c 69 7a 65 20 6d |math-nor|malize m|
|000048d0| 61 74 68 2d 65 78 70 61 | 6e 64 2d 70 6f 77 65 72 |ath-expa|nd-power|
|000048e0| 5d 20 34 29 29 0a | |] 4)). | |
+--------+-------------------------+-------------------------+--------+--------+