Before revision:  In this paper, we propose two techniques for reducing the number of CNOT gates in the circuit which are independent of the hardware architecture.
After revision:  In this paper, we propose two hardware independent methods to reduce the number of CNOT gates in the circuit which are independent of the hardware architecture.