Represent a polynomial which internally uses the phase change optimization from the
FMCAD’24 paper: “Symbolic Computer Algebra for Multipliers Revisited - It’s All About Orders and Phases”
Note that replace_var is not directly supported. Instead, you will need to use the
replace_... methods specialized for particular gate types.
Used to efficiently represent coefficients generated by the polynomial parser.
Needs to be converted into a type that implements Coef to actually perform polynomial
substitution.