The remove_unused phase generates left-nested let-bindings, and therefore needs to occur before let_to_sequence and vice-versa, which re-normalizes let-bindings to be right-nesting.
The AstToCStar name management facility expects proper right-nesting, otherwise name collision avoidance does not work.
The remove_unused phase generates left-nested let-bindings, and therefore needs to occur before let_to_sequence and vice-versa, which re-normalizes let-bindings to be right-nesting.
The AstToCStar name management facility expects proper right-nesting, otherwise name collision avoidance does not work.
This fixes #31