Quantum compilation