A computer-implemented method for reducing two-qubit gates in quantum circuits, comprising: receiving information relating to a quantum circuit for performing a simulation of a chemical or molecular application, the information including a representation of the quantum circuit by a first sequence of addends; reordering addends in the first sequence of addends to produce a second sequence of addends having a different order for representation of the quantum circuit, the second sequence of addends conveying information relating to a first plurality of two-qubit quantum gates that form the quantum circuit and that can perform identical functions of the first sequence of addends; performing a controlled gate cancellation operation on the information relating to a first plurality of two-qubit quantum gates to produce a second plurality of two-qubit quantum gates with at least one H gate being canceled from the first plurality of two-qubit quantum gates and that is functionally equivalent to the first plurality of two-qubit quantum gates, wherein a first number of two-qubit quantum gates in the first plurality of two-qubit quantum gates is larger than a second number of two-qubit quantum gates in the second plurality of two-qubit quantum gates and verifying the functional equivalence by checking that unitary matrices which represent at least a portion of the quantum gates of each of the first and second plurality of two-qubit quantum gates are equal; generating a netlist that indicates a list of the second plurality of two-qubit quantum gates to be applied sequentially; and providing the netlist to a quantum information processing system, such that the netlist configures the quantum circuit to implement a functionality to sequentially apply the list of the second plurality of two-qubit quantum gates and configures the QIP system to perform the simulation of the chemical or molecular application. receiving information relating to a quantum circuit for performing a simulation of a chemical or molecular application, the information including a representation of the quantum circuit by a first sequence of addends; reordering addends in the first sequence of addends to produce a second sequence of addends having a different order for representation of the quantum circuit, the second sequence of addends conveying information relating to a first plurality of two-qubit quantum gates that form the quantum circuit and that can perform identical functions of the first sequence of addends; performing a controlled gate cancellation operation on the information relating to a first plurality of two-qubit quantum gates to produce a second plurality of two-qubit quantum gates with at least one H gate being canceled from the first plurality of two-qubit quantum gates and that is functionally equivalent to the first plurality of two-qubit quantum gates, wherein a first number of two-qubit quantum gates in the first plurality of two-qubit quantum gates is larger than a second number of two-qubit quantum gates in the second plurality of two-qubit quantum gates and verifying the functional equivalence by checking that unitary matrices which represent at least a portion of the quantum gates of each of the first and second plurality of two-qubit quantum gates are equal; generating a netlist that indicates a list of the second plurality of two-qubit quantum gates to be applied sequentially; and providing the netlist to a quantum information processing system, such that the netlist configures the quantum circuit to implement a functionality to sequentially apply the list of the second plurality of two-qubit quantum gates and configures the QIP system to perform the simulation of the chemical or molecular application.