static F1(jtfacit){A c;V*u,*v; RZ(c=coeff(w)); if(AN(c))R tpoly(tymes(c,fact(AT(c)&XNUM+RAT?xco1(IX(IC(c))):IX(IC(c))))); v=VAV(w); if(CFORK==v->id)switch(ID(v->g)){ case CDIV: if(CBANG==ID(v->h))R v->f; break; case CSTAR: if(CFORK==ID(v->h)&&(u=VAV(v->h),CDIV==ID(u->g)&&CBANG==ID(u->h)))R folk(v->f,v->g,u->f); RZ(c=atop(ds(CDIV),ds(CBANG))); if(equ(c,v->f))R v->h; if(equ(c,v->h))R v->f; } R folk(ds(CBANG),ds(CSTAR),w); }
static DF2(jtcorx2){F2PREFIP;DECLFGH;PROLOG(0031);A z; if(cap(fs))RZ(z=df2(a,w,folk(ds(CCAP),gs,hs))) else FOLK2; EPILOG(z);}
// (name g h). If name is ultimately defined as [:, we redefine the derived verb and then run it, with no inplacing for it. Deprecated. // The normal path supports inplacing static DF1(jtcorx1){F1PREFIP;DECLFGH;PROLOG(0030);A z; if(cap(fs))RZ(z=df1( w,folk(ds(CCAP),gs,hs))) else FOLK1; EPILOG(z);}