
(SETQ SAVENO 2740.) 
(MDEFPROP $HICOEF ((LAMBDA) ((MLIST) $X $N) ((DOLIST) ((MSETQ) $X (($RATSIMP) $X 
$N)) (($COEFF) $X $N (($HIPOW) $X $N)))) MEXPR) 
(ADD2LNC (QUOTE (($HICOEF) $X $N)) $FUNCTIONS) 
(MDEFPROP $GENPOL ((LAMBDA) ((MLIST) $N) ((MCOND) ((MLESSP) $N 0.) 0. T ((MPLUS) 
(($CONCAT) ((MQUOTE) $%) $N) ((MTIMES) $%N (($GENPOL) ((MPLUS) $N ((MMINUS) 
1.))))))) MEXPR) 
(ADD2LNC (QUOTE (($GENPOL) $N)) $FUNCTIONS) 
(MDEFPROP $CLIST ((LAMBDA) ((MLIST) $P) ((MCOND) ((MEQUAL) 0. $P) ((MLIST)) T 
(($CONS) (($RATDISREP) ((MSETQ) $%PW (($RATCOEF) $P $%N 0.))) (($CLIST) (($RAT) 
((MQUOTIENT) ((MPLUS) $P ((MMINUS) $%PW)) $%N)))))) MEXPR) 
(ADD2LNC (QUOTE (($CLIST) $P)) $FUNCTIONS) 
(MDEFPROP $PRODU ((LAMBDA) ((MLIST) $%0 $%1 $% $%%) ((MQAPPLY) ((LAMBDA) 
((MLIST) $X $Y) ((MCOND) ((MNOT) (($INTEGERP) $Y)) (($FUNMAKE) (($NOUNIFY) 
((MQUOTE) $PRODUCT)) ((MLIST) $%0 $%1 $% $%%)) T ((MCOND) ((MLESSP) $Y ((MMINUS) 
1.)) ((MQUOTIENT) 1. (($PRODU) $%0 $%1 ((MPLUS) $%% 1.) ((MPLUS) $% ((MMINUS) 
1.)))) T ((DOLIST) ((MDO) $I 0. NIL NIL $Y NIL ((MSETQ) $X ((MTIMES) $X 
(($SUBSTITUTE) ((MPLUS) $I $%) $%1 $%0)))) $X)))) 1. (($RATSIMP) ((MPLUS) $%% 
((MMINUS) $%))))) MEXPR) 
(ADD2LNC (QUOTE (($PRODU) $%0 $%1 $% $%%)) $FUNCTIONS) 
(MDEFPROP $RATSOLVE ((LAMBDA) ((MLIST) $P $X) (($APPLY) $APPEND (($MAPLIST) 
((LAMBDA) ((MLIST) $P) ((MCOND) ((MOR) ((MEQUAL) (($HIPOW) $P $X) 1.) ((MEQUAL) 
(($SUBSTITUTE) 0. $X $P) 0.)) (($SOLVE) (($SUBSTITUTE) ((LAMBDA) ((MLIST) $X $Y) 
$X) &^ $P) $X) T ((MLIST)))) ((MTIMES) 2. (($FACTOR) $P))))) MEXPR) 
(ADD2LNC (QUOTE (($RATSOLVE) $P $X)) $FUNCTIONS) 
(MDEFPROP $UNSUM ((LAMBDA) ((MLIST) $%G $%N) ((MCOND) ((MOR) (($ATOM) $%G) 
((MNOTEQUAL) (($PART) $%G 0.) &+)) (($FACTOR) ((MTIMES) ((MPLUS) ((MQUOTIENT) 
(($NUM) $%G) (($SUBSTITUTE) ((MPLUS) $%N ((MMINUS) 1.)) $%N (($PRODGUNCH) 
(($NUM) $%G) $%N 1.))) ((MMINUS) ((MQUOTIENT) (($DENOM) $%G) (($SUBSTITUTE) 
((MPLUS) $%N ((MMINUS) 1.)) $%N (($PRODGUNCH) (($DENOM) $%G) $%N 1.))))) 
((MQUOTIENT) (($SUBSTITUTE) ((MPLUS) $%N ((MMINUS) 1.)) $%N (($NUM) $%G)) 
(($DENOM) $%G)))) T (($MAP) ((LAMBDA) ((MLIST) $X) (($UNSUM) $X $%N)) $%G))) 
MEXPR) 
(ADD2LNC (QUOTE (($UNSUM) $%G $%N)) $FUNCTIONS) 
(MDEFPROP $PRODGUNCH ((LAMBDA) ((MLIST) $%0 $%N $%2) (($SUBSTITUTE) ((MLIST) 
((MEQUAL) (($NOUNIFY) ((MQUOTE) %SIN)) ((LAMBDA) ((MLIST) $%0) ((MTIMES) ((%SIN) 
(($SUBSTITUTE) ((MPLUS) $%N $%2) $%N $%0)) ((MQAPPLY) ((LAMBDA) ((MLIST) 
$TRIGEXPAND) (($EXPAND) ((MQUOTIENT) ((%SIN) $%0) ((%SIN) (($SUBSTITUTE) 
((MPLUS) $%N $%2) $%N $%0))))) $TRUE)))) ((MEQUAL) (($NOUNIFY) ((MQUOTE) 
$PRODUCT)) ((LAMBDA) ((MLIST) $%0 $%1 $% $%%) ((MQUOTIENT) ((MTIMES) (($FUNMAKE) 
(($NOUNIFY) ((MQUOTE) $PRODUCT)) ((MLIST) $%0 $%1 (($SUBSTITUTE) ((MPLUS) $%N 
$%2) $%N $%) (($SUBSTITUTE) ((MPLUS) $%N $%2) $%N $%%))) (($PRODU) $%0 $%1 $% 
((MPLUS) (($SUBSTITUTE) ((MPLUS) $%N $%2) $%N $%) ((MMINUS) 1.)))) (($PRODU) $%0 
$%1 ((MPLUS) $%% 1.) (($SUBSTITUTE) ((MPLUS) $%N $%2) $%N $%%))))) ((MEQUAL) 
((MQUOTE) %BINOMIAL) ((LAMBDA) ((MLIST) $%0 $%1) ((MTIMES) (($SUBSTITUTE) 
((MPLUS) $%N $%2) $%N ((%BINOMIAL) $%0 $%1)) (($PRODU) ((MQUOTIENT) ((MPLUS) $%1 
((MQUOTE) $%)) ((MPLUS) $%0 ((MQUOTE) $%))) ((MQUOTE) $%) 1. ((MPLUS) 
(($SUBSTITUTE) ((MPLUS) $%N $%2) $%N $%1) ((MMINUS) $%1))) (($PRODU) 
((MQUOTIENT) ((MPLUS) ((MMINUS) $%1) $%0 ((MQUOTE) $%)) ((MPLUS) (($SUBSTITUTE) 
((MPLUS) $%N $%2) $%N $%1) ((MMINUS) $%1) $%0 ((MQUOTE) $%))) ((MQUOTE) $%) 1. 
((MPLUS) (($SUBSTITUTE) ((MPLUS) $%N $%2) $%N ((MPLUS) $%0 ((MMINUS) $%1))) $%1 
((MMINUS) $%0)))))) ((MEQUAL) &! ((LAMBDA) ((MLIST) $%0) ((MQUOTIENT) 
((MFACTORIAL) (($SUBSTITUTE) ((MPLUS) $%N $%2) $%N $%0)) (($PRODU) ((MPLUS) $%0 
((MQUOTE) $%)) ((MQUOTE) $%) 1. ((MPLUS) (($SUBSTITUTE) ((MPLUS) $%N $%2) $%N 
$%0) ((MMINUS) $%0))))))) $%0)) MEXPR) 
(ADD2LNC (QUOTE (($PRODGUNCH) $%0 $%N $%2)) $FUNCTIONS) 
(MDEFPROP $DIMSUM ((LAMBDA) ((MLIST) $%CL) ((MPROG) ((MLIST) $%CD $%PT $%PW) 
((MSETQ) $%CD (($MAP) ((LAMBDA) ((MLIST) $X) (($HIPOW) ((MPLUS) (($RATSIMP) $X) 
((MQUOTIENT) 1. $%N)) $%N)) ((MLIST) ((MPLUS) (($%CL ARRAY) 1.) (($%CL ARRAY) 2.))
 ((MPLUS) (($%CL ARRAY) 1.) ((MMINUS) (($%CL ARRAY) 2.))) (($%CL ARRAY) 3.)))) 
((MSETQ) (($%CD ARRAY) 1.) (($MAX) (($%CD ARRAY) 1.) ((MPLUS) (($%CD ARRAY) 2.) 
((MMINUS) 1.)))) (($INPART) (($SUBSTITUTE) (($LINSOLVE) (($CLIST) (($SUBSTITUTE) 
((MSETQ) $%PT (($FUNMAKE) ((MQUOTE) LAMBDA) ((MLIST) ((MLIST) $%N) (($GENPOL) 
((MCOND) ((MAND) ((MLESSP) (($%CD ARRAY) 1.) (($%CD ARRAY) 2.)) (($INTEGERP) 
((MSETQ) $%PW (($SUBSTITUTE) (($SOLVE) (($RATCOEF) ((MPLUS) ((MTIMES) (($%CL 
ARRAY) 1.) ((MPLUS) $%N ((MQUOTE) $%))) ((MTIMES) (($%CL ARRAY) 2.) $%N)) $%N 
(($%CD ARRAY) 2.)) ((MQUOTE) $%)) ((MQUOTE) $%))))) (($MAX) $%PW ((MPLUS) (($%CD 
ARRAY) 3.) ((MMINUS) (($%CD ARRAY) 1.)))) T ((MPLUS) (($%CD ARRAY) 3.) ((MMINUS) 
(($%CD ARRAY) 1.)))))))) (($INPART) $%F 0.) ((MNCTIMES) $%CL ((MLIST) $%F1 $%F 
1.)))) (($CLIST) (($INPART) $%PT 2.))) $%PT) 2.))) MEXPR) 
(ADD2LNC (QUOTE (($DIMSUM) $%CL)) $FUNCTIONS) 
(MDEFPROP $NUSUM ((LAMBDA) ((MLIST) $%A $%N $%L $%H) ((MCOND) ((MEQUAL) $%A 0.) 0.
 T ((MQAPPLY) ((LAMBDA) ((MLIST) MODULUS $LINENUM $RV $PRODHACK $EZGCDSWITCH 
$ALGEBRAIC $RATALGDENOM $DISPFLAG $MAPERROR $%F $%F1) (($RATVARS) $%N) ((MCOND) 
((MNOTEQUAL) ((MLIST)) (($ERRCATCH) ((MSETQ) $%CF (($DIMSUM) ((MLIST) ((MMINUS) 
(($NUM) ((MQAPPLY ARRAY) ((MSETQ) $%R (($RFORM) ((MQAPPLY) ((LAMBDA) ((MLIST) 
$%A) ((MLIST) (($NUM) $%A) (($DENOM) $%A))) (($FACTOR) ((MQUOTIENT) 
(($SUBSTITUTE) ((MPLUS) $%N 1.) $%N $%A) (($PRODGUNCH) $%A $%N 1.)))))) 2.))) 
(($SUBSTITUTE) ((MPLUS) $%N ((MMINUS) 1.)) $%N (($DENOM) (($%R ARRAY) 2.))) 
(($%R ARRAY) 1.)))))) ((DOLIST) ((MSETQ) $%F ((MQUOTIENT) (($PRODGUNCH) (($NUM) 
$%A) $%N 1.) (($DENOM) $%A))) ((MSETQ) $%F1 (($RATSIMP) (($RADCAN) $%CF))) 
(($APPLY) ((MQUOTE) $RATVARS) $RV) ((MSETQ) $%F1 (($SUBSTITUTE) ((LAMBDA) 
((MLIST) $%0 $%1 $% $%%) (($PRODU) $%0 $%1 $% $%%)) (($NOUNIFY) ((MQUOTE) 
$PRODUCT)) ((MPLUS) (($FACTOR) (($SUBSTITUTE) $%H $%N (($FACTOR) ((MQUOTIENT) 
((MTIMES) $%F (($NUM) (($%R ARRAY) 2.)) (($SUBSTITUTE) ((MPLUS) $%N 1.) $%N 
$%F1)) (($%R ARRAY) 1.))))) ((MMINUS) (($FACTOR) (($SUBSTITUTE) $%L $%N 
(($FACTOR) ((MQUOTIENT) ((MTIMES) $%A (($SUBSTITUTE) ((MPLUS) $%N ((MMINUS) 1.)) 
$%N (($DENOM) (($%R ARRAY) 2.))) $%F1) (($%R ARRAY) 1.))))))))) ((MCOND) ((RATP) 
$%A $%N) (($FACTOR) $%F1) T $%F1)) T ((DOLIST) (($APPLY) ((MQUOTE) $RATVARS) 
$RV) (($APPLY) ((MQUOTE) $SUM) ((MLIST) $%A $%N $%L $%H))))) $FALSE $LINENUM 
$RATVARS $TRUE $FALSE $TRUE $TRUE $FALSE $FALSE (($FUNMAKE) ((MQUOTE) $%F) 
((MLIST) $%N)) (($FUNMAKE) ((MQUOTE) $%F) ((MLIST) ((MPLUS) $%N 1.)))))) MEXPR) 
(ADD2LNC (QUOTE (($NUSUM) $%A $%N $%L $%H)) $FUNCTIONS) 
(MDEFPROP $RFORM ((LAMBDA) ((MLIST) $%R) ((MQAPPLY) ((LAMBDA) ((MLIST) $P) 
(($RFORN) 1.) ((MDOIN) $%% (($RATSOLVE) (($RESULTANT) (($%R ARRAY) 1.) 
(($SUBSTITUTE) ((MPLUS) $%N ((MQUOTE) $%)) $%N (($%R ARRAY) 2.)) $%N) ((MQUOTE) 
$%)) NIL NIL NIL NIL ((MCOND) ((MAND) (($INTEGERP) ((MSETQ) $%% (($SUBSTITUTE) 
((MLIST) $%%) ((MQUOTE) $%)))) ((MGREATERP) $%% 0.)) (($RFORN) $%%) T $FALSE)) 
((MLIST) $P ((MQUOTIENT) (($%R ARRAY) 1.) (($%R ARRAY) 2.)))) 1.)) MEXPR) 
(ADD2LNC (QUOTE (($RFORM) $%R)) $FUNCTIONS) 
(MDEFPROP $RFORN ((LAMBDA) ((MLIST) $%%) ((MQAPPLY) ((LAMBDA) ((MLIST) $Y) 
((MSETQ) $P ((MTIMES) $P (($PRODU) $Y $%N $%N ((MPLUS) $%N $%% ((MMINUS) 1.))))) 
((MSETQ) $%R (($RATSIMP) ((MLIST) ((MQUOTIENT) (($%R ARRAY) 1.) (($SUBSTITUTE) 
((MPLUS) $%N $%%) $%N $Y)) ((MQUOTIENT) (($%R ARRAY) 2.) $Y))))) (($GCD) (($%R 
ARRAY) 2.) (($SUBSTITUTE) ((MPLUS) $%N ((MMINUS) $%%)) $%N (($%R ARRAY) 1.))))) 
MEXPR) 
(ADD2LNC (QUOTE (($RFORN) $%%)) $FUNCTIONS) 
(MDEFPROP $FUNCSOLVE ((LAMBDA) ((MLIST) $%A $%F) ((MPROG) ((MLIST) ((MSETQ) 
$DISPFLAG $FALSE) $%F1 $%CL $%CM ((MSETQ) $%N (($INPART) $%F 1.))) ((MSETQ) $%F1 
(($SUBSTITUTE) ((MEQUAL) $%N ((MPLUS) $%N 1.)) $%F)) ((MSETQ) $%CL ((MQAPPLY 
ARRAY) (($AUGCOEFMATRIX) ((MLIST) ((MSETQ) $%A (($NUM) (($RATSIMP) ((MPLUS) 
(($LHS) $%A) ((MMINUS) (($RHS) $%A))))))) ((MLIST) $%F1 $%F)) 1.)) ((MSETQ) $%CM 
(($RFORM) (($REST) $%CL ((MMINUS) 1.)))) ((MSETQ) (($%CM ARRAY) 2.) (($RATSIMP) 
((MQUOTIENT) (($SUBSTITUTE) ((MPLUS) $%N 1.) $%N (($%CM ARRAY) 1.)) (($%CM 
ARRAY) 1.)))) (($ERRCATCH) ((MEQUAL) $%F (($FACTOR) ((MQUOTIENT) (($DIMSUM) 
(($RATSIMP) ((MLIST) ((MQUOTIENT) (($%CL ARRAY) 1.) (($NUM) (($%CM ARRAY) 2.))) 
((MQUOTIENT) (($%CL ARRAY) 2.) (($DENOM) (($%CM ARRAY) 2.))) ((MQUOTIENT) 
((MTIMES) (($%CM ARRAY) 1.) (($%CL ARRAY) 3.)) (($DENOM) (($%CM ARRAY) 2.)))))) 
(($%CM ARRAY) 1.))))))) MEXPR) 
(ADD2LNC (QUOTE (($FUNCSOLVE) $%A $%F)) $FUNCTIONS) 
