Automatic Reformulation Tools For AML Programs

Are there any tools to transform programs written in an algebraic modeling language like GAMS,AMPL,... into a different formulation.

E.g. there is a quadratic constraint $$\sum_j b_i b_j = N, b \in \mathbb{B}$$ which can reformulated easily into several linear ones sacrificing readibility of the model. Most solvers automatically do such kind of reformulations.

Are there tools to only perform those kind of reformulations and examine the results ?

expand / linearize;

save mps mymps linearize;