IPINT2()
[Ip interpreter subroutine no. 2.]
const ASIZE=50;
safe r,i^,i,j,C.
global I[ASIZE],V[ASIZE],V,r,i^,i,j,C.
(1) [Algebraic basis (B command).]
if C=='B' then
{ if length(V[i])~=1|length(V[j])~=2 then
{ OUNIT=6;
print "first arg not univariate or second not bivariate";
return };
M←=I[i]; M=RPMAIP(1,M←); a=PMON(RNINT(1),1);
A=IPAFME(2,M,I[j],list1(a)); A=AFPMON(1,M,A);
L=AFUPSF(M,A); n=length(L); awrite(n);
clout (" squarefree factors"); emptob;
A#=(); L'=L; while L'~=() do
{ adv(L';L1,L'); first2(L1;e,A1); A#=COMP(A1,A#);
clout("exponent = "); awrite(e);
clout(", factor ="); emptob; rpsw(A1,V[j]) };
B=AFSUPB(M,A#); clout("basis is"); emptob;
rplsw(B,V[j]) }; return..