/**/ use R ::= QQ[x,y];
/**/ F := 4*x^8 + 4*x^6 + x^4 + 4*x^2 + 4;
/**/ FacInfo := factor(F);
/**/ indent(FacInfo);
record[
RemainingFactor := 1,
factors := [2*x^44*x^3+5*x^24*x+2, 2*x^4+4*x^3+5*x^2+4*x+2],
multiplicities := [1, 1]
]
/**/ G := product([FacInfo.factors[i]^FacInfo.multiplicities[i]
/**/  i in 1..len(FacInfo.factors)]);
/**/ F = G * FacInfo.RemainingFactor;
true
/**/ factor((8*x^2 +16*x +8)/27);
record[factors := [x +1], multiplicities := [2], RemainingFactor := 8/27]
/**/ factor(2*x^24);  over a finite field the factors are monic
record[factors := [x^2 2], multiplicities := [1], RemainingFactor := 2]

