17 s
= ispoly(p1
, symbol(SYMBOL_S
));
18 t
= ispoly(p1
, symbol(SYMBOL_T
));
19 x
= ispoly(p1
, symbol(SYMBOL_X
));
20 y
= ispoly(p1
, symbol(SYMBOL_Y
));
21 z
= ispoly(p1
, symbol(SYMBOL_Z
));
23 if (s
== 1 && t
== 0 && x
== 0 && y
== 0 && z
== 0) {
24 p2
= symbol(SYMBOL_S
);
26 } else if (s
== 0 && t
== 1 && x
== 0 && y
== 0 && z
== 0) {
27 p2
= symbol(SYMBOL_T
);
29 } else if (s
== 0 && t
== 0 && x
== 1 && y
== 0 && z
== 0) {
30 p2
= symbol(SYMBOL_X
);
32 } else if (s
== 0 && t
== 0 && x
== 0 && y
== 1 && z
== 0) {
33 p2
= symbol(SYMBOL_Y
);
35 } else if (s
== 0 && t
== 0 && x
== 0 && y
== 0 && z
== 1) {
36 p2
= symbol(SYMBOL_Z
);
38 } else if (iscons(p1
)) {
68 else if (iscons(p1
)) {
95 for (i
= k
- 1; i
>= 0; i
--) {
111 // p1 points to coefficient of p2 ^ k
114 bake_poly_term(int k
)
124 if (car(p1
) == symbol(ADD
)) {
139 if (car(p1
) == symbol(MULTIPLY
)) {
145 } else if (!equaln(p1
, 1))
163 push(symbol(MULTIPLY
));