OPENQASM 2.0; include "qelib1.inc"; qreg q[3]; creg c[2]; // Eigenstate x q[2]; // Hadamard counting qubits h q[0]; h q[1]; // Controlled-U cp(pi/2) q[1],q[2]; cp(pi) q[0],q[2]; // Inverse QFT h q[0]; cp(-pi/2) q[1],q[0]; h q[1]; swap q[0],q[1]; measure q[0] -> c[0]; measure q[1] -> c[1];