[System] You are Q-Route, an enterprise-grade deterministic Quantum Hardware Compiler. Your objective is to translate an abstract quantum circuit in OpenQASM 2.0 format into a physical hardware-compliant OpenQASM 2.0 circuit. The output circuit MUST strictly adhere to the provided physical coupling map (qubit connectivity graph). Insert SWAP gates where necessary to satisfy physical edge constraints. Output ONLY the compiled OpenQASM 2.0 code without any markdown wrapper or natural language explanation.

[User]
### Physical Hardware Specification:
- Target Topology: HeavyHex-10
- Number of Qubits: 10
- Valid Physical Edges (Coupling Map): [[0, 1], [0, 2], [1, 0], [1, 2], [2, 0], [2, 1], [2, 3], [3, 2], [3, 4], [4, 3], [4, 5], [4, 6], [5, 4], [5, 6], [6, 4], [6, 5], [6, 7], [7, 6], [7, 8], [8, 7], [8, 9], [9, 8]]

### Hardware Constraints:
1. 2-qubit gates (e.g. `cx`) can ONLY be executed between physical qubit indices (u, v) that exist in the Coupling Map.
2. Use SWAP gates to route qubits across non-adjacent nodes.
3. Minimize overall circuit depth and SWAP overhead.

### Abstract Input OpenQASM 2.0:
```qasm
OPENQASM 2.0;
include "qelib1.inc";
qreg q[10];
creg c[10];
s q[2];
rz(0.7853975) q[5];
s q[6];
y q[9];
cx q[3], q[7];
cx q[5], q[0];
x q[0];
x q[1];
rz(0.7853975) q[2];
y q[3];
t q[4];
t q[5];
t q[6];
h q[7];
cx q[4], q[2];
cx q[5], q[4];
cx q[1], q[4];
cx q[4], q[3];
t q[2];
rz(0.7853975) q[3];
s q[4];
h q[5];
s q[6];
h q[7];
y q[8];
cx q[5], q[0];
cx q[7], q[1];
cx q[4], q[1];
cx q[2], q[6];
h q[0];
h q[1];
h q[2];
rz(0.7853975) q[3];
rz(0.7853975) q[4];
x q[5];
x q[6];
y q[8];
t q[9];
cx q[2], q[7];
cx q[8], q[6];
y q[0];
rz(0.7853975) q[2];
x q[4];
s q[5];
x q[6];
t q[7];
y q[8];
y q[9];
cx q[5], q[4];
cx q[2], q[3];
cx q[5], q[8];
h q[1];
y q[2];
y q[3];
s q[4];
y q[5];
y q[8];
h q[9];
cx q[8], q[0];
cx q[6], q[1];
cx q[3], q[0];
cx q[6], q[4];
rz(0.7853975) q[0];
t q[3];
t q[5];
h q[6];
h q[8];
rz(0.7853975) q[9];
cx q[7], q[2];
cx q[7], q[5];
cx q[4], q[1];
cx q[7], q[2];
cx q[5], q[6];
s q[2];
h q[4];
x q[5];
h q[6];
rz(0.7853975) q[7];
h q[8];
h q[9];
cx q[4], q[6];
cx q[9], q[2];
x q[2];
y q[5];
t q[6];
rz(0.7853975) q[7];
s q[9];
cx q[7], q[8];
cx q[5], q[6];
cx q[3], q[7];
s q[1];
s q[2];
h q[3];
s q[6];
y q[7];
x q[8];
cx q[6], q[4];
cx q[0], q[1];
cx q[8], q[4];
x q[1];
h q[2];
y q[5];
cx q[4], q[0];
t q[0];
y q[4];
h q[6];
y q[8];
cx q[0], q[9];
cx q[1], q[5];
cx q[0], q[5];
cx q[4], q[1];
cx q[6], q[9];
x q[0];
t q[1];
y q[3];
rz(0.7853975) q[4];
y q[8];
h q[9];
cx q[6], q[8];
rz(0.7853975) q[0];
rz(0.7853975) q[2];
h q[4];
h q[7];
y q[8];
h q[9];
cx q[4], q[5];
cx q[8], q[1];
cx q[6], q[5];
cx q[6], q[1];
cx q[4], q[3];
s q[0];
t q[1];
rz(0.7853975) q[2];
h q[5];
rz(0.7853975) q[6];
y q[7];
rz(0.7853975) q[8];
y q[9];
cx q[5], q[8];
cx q[9], q[0];
cx q[1], q[0];
cx q[9], q[3];
cx q[3], q[8];
s q[0];
s q[1];
t q[2];
x q[3];
rz(0.7853975) q[5];
s q[7];
rz(0.7853975) q[8];
cx q[0], q[5];
cx q[6], q[0];
cx q[9], q[6];
cx q[4], q[1];
s q[1];
h q[2];
y q[3];
rz(0.7853975) q[6];
t q[7];
t q[8];
rz(0.7853975) q[9];
cx q[7], q[5];
cx q[0], q[8];
cx q[1], q[9];
cx q[8], q[1];
cx q[2], q[1];
y q[0];
s q[2];
h q[5];
h q[8];
x q[9];
cx q[5], q[9];
cx q[2], q[4];
cx q[4], q[7];
cx q[6], q[8];
measure q -> c;
```

### Compiled Hardware-Compliant OpenQASM 2.0:

[Assistant]
OPENQASM 2.0;
include "qelib1.inc";
qreg q[10];
creg c[10];
s q[2];
rz(0.7853975) q[5];
s q[6];
y q[9];
swap q[3], q[4];
swap q[4], q[6];
cx q[6], q[7];
swap q[5], q[4];
swap q[4], q[3];
swap q[3], q[2];
cx q[2], q[0];
x q[0];
x q[1];
rz(0.7853975) q[3];
y q[6];
t q[4];
t q[2];
t q[5];
h q[7];
cx q[4], q[3];
swap q[2], q[3];
cx q[3], q[4];
swap q[1], q[2];
swap q[2], q[3];
cx q[3], q[4];
cx q[4], q[6];
t q[1];
rz(0.7853975) q[6];
s q[4];
h q[2];
s q[5];
h q[7];
y q[8];
cx q[2], q[0];
swap q[7], q[6];
swap q[6], q[4];
cx q[4], q[3];
swap q[6], q[4];
cx q[4], q[3];
swap q[1], q[2];
swap q[2], q[3];
swap q[3], q[4];
cx q[4], q[5];
h q[0];
h q[2];
h q[4];
rz(0.7853975) q[7];
rz(0.7853975) q[3];
x q[1];
x q[5];
y q[8];
t q[9];
cx q[4], q[6];
swap q[8], q[7];
swap q[7], q[6];
cx q[6], q[5];
y q[0];
rz(0.7853975) q[4];
x q[3];
s q[1];
x q[5];
t q[7];
y q[6];
y q[9];
swap q[1], q[2];
cx q[2], q[3];
swap q[4], q[6];
swap q[6], q[7];
cx q[7], q[8];
swap q[2], q[3];
cx q[3], q[4];
h q[1];
y q[7];
y q[8];
s q[2];
y q[3];
y q[4];
h q[9];
swap q[4], q[3];
swap q[3], q[2];
cx q[2], q[0];
swap q[5], q[4];
swap q[4], q[3];
swap q[3], q[2];
cx q[2], q[1];
swap q[8], q[7];
swap q[7], q[6];
swap q[6], q[4];
swap q[4], q[3];
swap q[3], q[2];
cx q[2], q[0];
swap q[3], q[4];
cx q[4], q[6];
rz(0.7853975) q[0];
t q[2];
t q[5];
h q[4];
h q[3];
rz(0.7853975) q[9];
cx q[7], q[8];
swap q[7], q[6];
cx q[6], q[5];
swap q[7], q[6];
swap q[6], q[4];
swap q[4], q[3];
swap q[3], q[2];
cx q[2], q[1];
cx q[7], q[8];
cx q[5], q[6];
s q[8];
h q[2];
x q[5];
h q[6];
rz(0.7853975) q[7];
h q[4];
h q[9];
swap q[2], q[3];
swap q[3], q[4];
cx q[4], q[6];
cx q[9], q[8];
x q[8];
y q[5];
t q[6];
rz(0.7853975) q[7];
s q[9];
swap q[7], q[6];
swap q[6], q[4];
cx q[4], q[3];
swap q[5], q[6];
cx q[6], q[7];
swap q[2], q[3];
cx q[3], q[4];
s q[1];
s q[8];
h q[3];
s q[7];
y q[4];
x q[2];
swap q[7], q[6];
cx q[6], q[5];
cx q[0], q[1];
swap q[2], q[3];
swap q[3], q[4];
cx q[4], q[5];
x q[1];
h q[8];
y q[7];
swap q[5], q[4];
swap q[4], q[3];
swap q[3], q[2];
cx q[2], q[0];
t q[0];
y q[2];
h q[6];
y q[5];
swap q[0], q[2];
swap q[2], q[3];
swap q[3], q[4];
swap q[4], q[6];
swap q[6], q[7];
swap q[7], q[8];
cx q[8], q[9];
swap q[1], q[2];
swap q[2], q[3];
swap q[3], q[4];
cx q[4], q[6];
swap q[8], q[7];
cx q[7], q[6];
swap q[0], q[2];
swap q[2], q[3];
cx q[3], q[4];
swap q[2], q[3];
swap q[3], q[4];
swap q[4], q[6];
swap q[6], q[7];
swap q[7], q[8];
cx q[8], q[9];
x q[6];
t q[3];
y q[1];
rz(0.7853975) q[2];
y q[5];
h q[9];
swap q[8], q[7];
swap q[7], q[6];
cx q[6], q[5];
rz(0.7853975) q[7];
rz(0.7853975) q[8];
h q[2];
h q[0];
y q[5];
h q[9];
swap q[2], q[3];
cx q[3], q[4];
swap q[5], q[4];
swap q[4], q[3];
cx q[3], q[2];
cx q[6], q[5];
swap q[6], q[4];
swap q[4], q[3];
cx q[3], q[2];
swap q[6], q[4];
swap q[4], q[3];
swap q[3], q[2];
cx q[2], q[1];
s q[7];
t q[3];
rz(0.7853975) q[8];
h q[5];
rz(0.7853975) q[4];
y q[0];
rz(0.7853975) q[6];
y q[9];
cx q[5], q[6];
swap q[9], q[8];
cx q[8], q[7];
swap q[3], q[4];
swap q[4], q[6];
cx q[6], q[7];
swap q[8], q[7];
swap q[7], q[6];
swap q[6], q[4];
swap q[4], q[3];
swap q[3], q[2];
cx q[2], q[1];
swap q[1], q[2];
swap q[2], q[3];
swap q[3], q[4];
cx q[4], q[6];
s q[8];
s q[7];
t q[9];
x q[4];
rz(0.7853975) q[5];
s q[0];
rz(0.7853975) q[6];
swap q[8], q[7];
swap q[7], q[6];
cx q[6], q[5];
swap q[3], q[4];
cx q[4], q[6];
swap q[1], q[2];
swap q[2], q[3];
cx q[3], q[4];
swap q[1], q[2];
swap q[2], q[3];
swap q[3], q[4];
swap q[4], q[6];
swap q[6], q[7];
cx q[7], q[8];
s q[8];
h q[9];
y q[1];
rz(0.7853975) q[3];
t q[0];
t q[6];
rz(0.7853975) q[2];
swap q[0], q[2];
swap q[2], q[3];
swap q[3], q[4];
cx q[4], q[5];
swap q[3], q[4];
cx q[4], q[6];
swap q[8], q[7];
swap q[7], q[6];
swap q[6], q[4];
swap q[4], q[3];
swap q[3], q[2];
cx q[2], q[0];
swap q[7], q[6];
swap q[6], q[4];
swap q[4], q[3];
cx q[3], q[2];
swap q[9], q[8];
swap q[8], q[7];
swap q[7], q[6];
swap q[6], q[4];
swap q[4], q[3];
cx q[3], q[2];
y q[8];
s q[3];
h q[5];
h q[4];
x q[0];
swap q[5], q[4];
swap q[4], q[3];
swap q[3], q[2];
cx q[2], q[0];
swap q[4], q[6];
swap q[6], q[7];
swap q[7], q[8];
cx q[8], q[9];
swap q[9], q[8];
swap q[8], q[7];
cx q[7], q[6];
cx q[4], q[5];
measure q -> c;


[System] You are Q-Route, an enterprise-grade deterministic Quantum Hardware Compiler. Your objective is to translate an abstract quantum circuit in OpenQASM 2.0 format into a physical hardware-compliant OpenQASM 2.0 circuit. The output circuit MUST strictly adhere to the provided physical coupling map (qubit connectivity graph). Insert SWAP gates where necessary to satisfy physical edge constraints. Output ONLY the compiled OpenQASM 2.0 code without any markdown wrapper or natural language explanation.

[User]
### Physical Hardware Specification:
- Target Topology: HeavyHex-7
- Number of Qubits: 7
- Valid Physical Edges (Coupling Map): [[0, 1], [0, 2], [1, 0], [1, 2], [2, 0], [2, 1], [2, 3], [3, 2], [3, 4], [4, 3], [4, 5], [4, 6], [5, 4], [5, 6], [6, 4], [6, 5]]

### Hardware Constraints:
1. 2-qubit gates (e.g. `cx`) can ONLY be executed between physical qubit indices (u, v) that exist in the Coupling Map.
2. Use SWAP gates to route qubits across non-adjacent nodes.
3. Minimize overall circuit depth and SWAP overhead.

### Abstract Input OpenQASM 2.0:
```qasm
OPENQASM 2.0;
include "qelib1.inc";
qreg q[7];
creg c[7];
y q[0];
s q[2];
s q[4];
s q[6];
cx q[3], q[4];
y q[1];
s q[2];
x q[4];
h q[5];
cx q[0], q[1];
cx q[4], q[2];
h q[1];
h q[3];
h q[4];
cx q[2], q[5];
y q[0];
h q[2];
s q[3];
t q[4];
rz(0.7853975) q[5];
s q[6];
cx q[0], q[6];
cx q[1], q[2];
x q[0];
rz(0.7853975) q[1];
y q[2];
h q[3];
t q[5];
x q[6];
cx q[5], q[3];
measure q -> c;
```

### Compiled Hardware-Compliant OpenQASM 2.0:

[Assistant]
OPENQASM 2.0;
include "qelib1.inc";
qreg q[7];
creg c[7];
y q[0];
s q[2];
s q[4];
s q[6];
cx q[3], q[4];
y q[1];
s q[2];
x q[4];
h q[5];
cx q[0], q[1];
swap q[4], q[3];
cx q[3], q[2];
h q[1];
h q[4];
h q[3];
swap q[2], q[3];
swap q[3], q[4];
cx q[4], q[5];
y q[0];
h q[4];
s q[3];
t q[2];
rz(0.7853975) q[5];
s q[6];
swap q[0], q[2];
swap q[2], q[3];
swap q[3], q[4];
cx q[4], q[6];
swap q[1], q[2];
cx q[2], q[3];
x q[4];
rz(0.7853975) q[2];
y q[3];
h q[1];
t q[5];
x q[6];
swap q[5], q[4];
swap q[4], q[3];
swap q[3], q[2];
cx q[2], q[1];
measure q -> c;


[System] You are Q-Route, an enterprise-grade deterministic Quantum Hardware Compiler. Your objective is to translate an abstract quantum circuit in OpenQASM 2.0 format into a physical hardware-compliant OpenQASM 2.0 circuit. The output circuit MUST strictly adhere to the provided physical coupling map (qubit connectivity graph). Insert SWAP gates where necessary to satisfy physical edge constraints. Output ONLY the compiled OpenQASM 2.0 code without any markdown wrapper or natural language explanation.

[User]
### Physical Hardware Specification:
- Target Topology: Grid-3x3
- Number of Qubits: 9
- Valid Physical Edges (Coupling Map): [[0, 1], [0, 3], [1, 0], [1, 2], [1, 4], [2, 1], [2, 5], [3, 0], [3, 4], [3, 6], [4, 1], [4, 3], [4, 5], [4, 7], [5, 2], [5, 4], [5, 8], [6, 3], [6, 7], [7, 4], [7, 6], [7, 8], [8, 5], [8, 7]]

### Hardware Constraints:
1. 2-qubit gates (e.g. `cx`) can ONLY be executed between physical qubit indices (u, v) that exist in the Coupling Map.
2. Use SWAP gates to route qubits across non-adjacent nodes.
3. Minimize overall circuit depth and SWAP overhead.

### Abstract Input OpenQASM 2.0:
```qasm
OPENQASM 2.0;
include "qelib1.inc";
qreg q[9];
creg c[9];
y q[0];
rz(0.7853975) q[1];
rz(0.7853975) q[2];
rz(0.7853975) q[4];
y q[6];
rz(0.7853975) q[7];
y q[8];
cx q[3], q[7];
x q[0];
t q[4];
cx q[6], q[5];
cx q[2], q[6];
cx q[1], q[4];
cx q[2], q[1];
s q[0];
x q[1];
rz(0.7853975) q[3];
x q[5];
t q[7];
rz(0.7853975) q[8];
cx q[0], q[5];
cx q[4], q[1];
s q[0];
h q[1];
rz(0.7853975) q[5];
cx q[2], q[5];
y q[0];
x q[1];
y q[3];
t q[5];
y q[6];
y q[8];
cx q[0], q[3];
cx q[6], q[0];
cx q[5], q[2];
cx q[0], q[1];
y q[0];
y q[2];
y q[3];
x q[4];
t q[6];
x q[8];
cx q[5], q[6];
cx q[0], q[4];
rz(0.7853975) q[0];
t q[2];
y q[3];
rz(0.7853975) q[5];
t q[7];
h q[8];
cx q[0], q[4];
y q[1];
y q[6];
rz(0.7853975) q[7];
t q[8];
cx q[4], q[2];
y q[0];
rz(0.7853975) q[2];
y q[3];
rz(0.7853975) q[6];
s q[7];
h q[8];
cx q[5], q[7];
cx q[6], q[0];
cx q[8], q[3];
cx q[3], q[7];
x q[0];
t q[1];
x q[5];
y q[7];
x q[8];
cx q[7], q[0];
cx q[4], q[1];
cx q[2], q[0];
cx q[5], q[3];
x q[0];
y q[1];
t q[2];
s q[3];
y q[6];
s q[7];
rz(0.7853975) q[8];
cx q[2], q[1];
cx q[6], q[8];
cx q[3], q[0];
cx q[7], q[1];
s q[0];
rz(0.7853975) q[1];
y q[2];
h q[3];
s q[4];
rz(0.7853975) q[5];
h q[8];
cx q[2], q[3];
measure q -> c;
```

### Compiled Hardware-Compliant OpenQASM 2.0:

[Assistant]
OPENQASM 2.0;
include "qelib1.inc";
qreg q[9];
creg c[9];
y q[0];
rz(0.7853975) q[1];
rz(0.7853975) q[2];
rz(0.7853975) q[4];
y q[6];
rz(0.7853975) q[7];
y q[8];
swap q[3], q[4];
cx q[4], q[7];
x q[0];
t q[3];
swap q[6], q[3];
swap q[3], q[4];
cx q[4], q[5];
swap q[2], q[1];
cx q[1], q[4];
swap q[2], q[1];
swap q[1], q[0];
swap q[0], q[3];
cx q[3], q[6];
swap q[2], q[1];
swap q[1], q[0];
cx q[0], q[3];
s q[2];
x q[3];
rz(0.7853975) q[1];
x q[5];
t q[7];
rz(0.7853975) q[8];
cx q[2], q[5];
cx q[6], q[3];
s q[2];
h q[3];
rz(0.7853975) q[5];
swap q[0], q[1];
swap q[1], q[2];
cx q[2], q[5];
y q[1];
x q[3];
y q[0];
t q[5];
y q[4];
y q[8];
cx q[1], q[0];
cx q[4], q[1];
cx q[5], q[2];
swap q[1], q[0];
cx q[0], q[3];
y q[0];
y q[2];
y q[1];
x q[6];
t q[4];
x q[8];
cx q[5], q[4];
swap q[0], q[3];
cx q[3], q[6];
rz(0.7853975) q[3];
t q[2];
y q[1];
rz(0.7853975) q[5];
t q[7];
h q[8];
cx q[3], q[6];
y q[0];
y q[4];
rz(0.7853975) q[7];
t q[8];
swap q[6], q[3];
swap q[3], q[0];
swap q[0], q[1];
cx q[1], q[2];
y q[6];
rz(0.7853975) q[2];
y q[0];
rz(0.7853975) q[4];
s q[7];
h q[8];
swap q[5], q[4];
cx q[4], q[7];
swap q[5], q[4];
swap q[4], q[3];
cx q[3], q[6];
swap q[8], q[5];
swap q[5], q[2];
swap q[2], q[1];
cx q[1], q[0];
swap q[0], q[1];
swap q[1], q[4];
cx q[4], q[7];
x q[6];
t q[1];
x q[8];
y q[7];
x q[0];
cx q[7], q[6];
cx q[2], q[1];
swap q[5], q[4];
swap q[4], q[3];
cx q[3], q[6];
cx q[8], q[5];
x q[6];
y q[1];
t q[3];
s q[5];
y q[4];
s q[7];
rz(0.7853975) q[0];
swap q[3], q[0];
cx q[0], q[1];
cx q[4], q[3];
swap q[5], q[4];
swap q[4], q[3];
cx q[3], q[6];
swap q[7], q[4];
cx q[4], q[1];
s q[6];
rz(0.7853975) q[1];
y q[0];
h q[3];
s q[2];
rz(0.7853975) q[8];
h q[7];
cx q[0], q[3];
measure q -> c;


[System] You are Q-Route, an enterprise-grade deterministic Quantum Hardware Compiler. Your objective is to translate an abstract quantum circuit in OpenQASM 2.0 format into a physical hardware-compliant OpenQASM 2.0 circuit. The output circuit MUST strictly adhere to the provided physical coupling map (qubit connectivity graph). Insert SWAP gates where necessary to satisfy physical edge constraints. Output ONLY the compiled OpenQASM 2.0 code without any markdown wrapper or natural language explanation.

[User]
### Physical Hardware Specification:
- Target Topology: Star-11
- Number of Qubits: 11
- Valid Physical Edges (Coupling Map): [[0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [1, 0], [2, 0], [3, 0], [4, 0], [5, 0], [6, 0], [7, 0], [8, 0], [9, 0], [10, 0]]

### Hardware Constraints:
1. 2-qubit gates (e.g. `cx`) can ONLY be executed between physical qubit indices (u, v) that exist in the Coupling Map.
2. Use SWAP gates to route qubits across non-adjacent nodes.
3. Minimize overall circuit depth and SWAP overhead.

### Abstract Input OpenQASM 2.0:
```qasm
OPENQASM 2.0;
include "qelib1.inc";
qreg q[11];
creg c[11];
s q[0];
t q[2];
h q[3];
h q[5];
s q[6];
s q[7];
s q[8];
rz(0.7853975) q[9];
s q[10];
cx q[4], q[9];
cx q[0], q[5];
cx q[4], q[1];
cx q[9], q[10];
s q[0];
y q[4];
h q[5];
h q[6];
y q[7];
s q[8];
s q[10];
cx q[0], q[2];
cx q[5], q[0];
cx q[1], q[8];
cx q[2], q[3];
cx q[6], q[7];
t q[0];
h q[3];
t q[5];
x q[6];
s q[7];
y q[8];
x q[9];
cx q[1], q[7];
cx q[1], q[0];
h q[0];
h q[2];
h q[3];
h q[4];
t q[5];
h q[6];
rz(0.7853975) q[7];
h q[10];
cx q[2], q[5];
cx q[7], q[0];
cx q[10], q[6];
cx q[0], q[6];
cx q[6], q[8];
x q[1];
t q[2];
x q[4];
s q[8];
rz(0.7853975) q[9];
cx q[10], q[6];
cx q[10], q[0];
cx q[0], q[9];
x q[0];
y q[1];
x q[3];
s q[4];
x q[5];
y q[8];
rz(0.7853975) q[9];
y q[10];
cx q[3], q[0];
cx q[8], q[9];
rz(0.7853975) q[4];
s q[5];
rz(0.7853975) q[7];
x q[8];
h q[9];
cx q[3], q[10];
cx q[7], q[9];
cx q[4], q[2];
cx q[3], q[2];
cx q[7], q[1];
measure q -> c;
```

### Compiled Hardware-Compliant OpenQASM 2.0:

[Assistant]
OPENQASM 2.0;
include "qelib1.inc";
qreg q[11];
creg c[11];
s q[0];
t q[2];
h q[3];
h q[5];
s q[6];
s q[7];
s q[8];
rz(0.7853975) q[9];
s q[10];
swap q[4], q[0];
cx q[0], q[9];
swap q[4], q[0];
cx q[0], q[5];
swap q[4], q[0];
cx q[0], q[1];
swap q[9], q[0];
cx q[0], q[10];
s q[4];
y q[9];
h q[5];
h q[6];
y q[7];
s q[8];
s q[10];
swap q[4], q[0];
cx q[0], q[2];
cx q[5], q[0];
swap q[1], q[0];
cx q[0], q[8];
swap q[2], q[0];
cx q[0], q[3];
swap q[6], q[0];
cx q[0], q[7];
t q[1];
h q[3];
t q[5];
x q[0];
s q[7];
y q[8];
x q[4];
swap q[2], q[0];
cx q[0], q[7];
cx q[0], q[1];
h q[1];
h q[6];
h q[3];
h q[9];
t q[5];
h q[2];
rz(0.7853975) q[7];
h q[10];
swap q[6], q[0];
cx q[0], q[5];
swap q[7], q[0];
cx q[0], q[1];
swap q[10], q[0];
cx q[0], q[2];
swap q[1], q[0];
cx q[0], q[2];
swap q[2], q[0];
cx q[0], q[8];
x q[6];
t q[7];
x q[9];
s q[8];
rz(0.7853975) q[4];
cx q[1], q[0];
swap q[1], q[0];
cx q[0], q[2];
swap q[2], q[0];
cx q[0], q[4];
x q[0];
y q[6];
x q[3];
s q[9];
x q[5];
y q[8];
rz(0.7853975) q[4];
y q[2];
cx q[3], q[0];
swap q[8], q[0];
cx q[0], q[4];
rz(0.7853975) q[9];
s q[5];
rz(0.7853975) q[10];
x q[0];
h q[4];
swap q[3], q[0];
cx q[0], q[2];
swap q[10], q[0];
cx q[0], q[4];
swap q[9], q[0];
cx q[0], q[7];
swap q[10], q[0];
cx q[0], q[7];
swap q[9], q[0];
cx q[0], q[6];
measure q -> c;


[System] You are Q-Route, an enterprise-grade deterministic Quantum Hardware Compiler. Your objective is to translate an abstract quantum circuit in OpenQASM 2.0 format into a physical hardware-compliant OpenQASM 2.0 circuit. The output circuit MUST strictly adhere to the provided physical coupling map (qubit connectivity graph). Insert SWAP gates where necessary to satisfy physical edge constraints. Output ONLY the compiled OpenQASM 2.0 code without any markdown wrapper or natural language explanation.

[User]
### Physical Hardware Specification:
- Target Topology: HeavyHex-5
- Number of Qubits: 5
- Valid Physical Edges (Coupling Map): [[0, 1], [0, 2], [1, 0], [1, 2], [2, 0], [2, 1], [2, 3], [3, 2], [3, 4], [4, 3]]

### Hardware Constraints:
1. 2-qubit gates (e.g. `cx`) can ONLY be executed between physical qubit indices (u, v) that exist in the Coupling Map.
2. Use SWAP gates to route qubits across non-adjacent nodes.
3. Minimize overall circuit depth and SWAP overhead.

### Abstract Input OpenQASM 2.0:
```qasm
OPENQASM 2.0;
include "qelib1.inc";
qreg q[5];
creg c[5];
x q[1];
t q[2];
cx q[1], q[2];
t q[2];
rz(0.7853975) q[3];
rz(0.7853975) q[4];
cx q[4], q[2];
cx q[4], q[2];
y q[2];
h q[3];
h q[4];
cx q[2], q[3];
cx q[3], q[0];
h q[0];
t q[1];
x q[2];
t q[3];
t q[4];
cx q[2], q[3];
t q[2];
x q[4];
cx q[2], q[1];
t q[0];
t q[1];
cx q[0], q[1];
t q[0];
t q[2];
h q[3];
cx q[0], q[1];
cx q[0], q[3];
s q[0];
rz(0.7853975) q[2];
t q[3];
s q[4];
cx q[1], q[2];
t q[0];
t q[1];
x q[4];
cx q[1], q[0];
measure q -> c;
```

### Compiled Hardware-Compliant OpenQASM 2.0:

[Assistant]
OPENQASM 2.0;
include "qelib1.inc";
qreg q[5];
creg c[5];
x q[1];
t q[2];
cx q[1], q[2];
t q[2];
rz(0.7853975) q[3];
rz(0.7853975) q[4];
swap q[4], q[3];
cx q[3], q[2];
cx q[3], q[2];
y q[2];
h q[4];
h q[3];
swap q[2], q[3];
cx q[3], q[4];
swap q[4], q[3];
swap q[3], q[2];
cx q[2], q[0];
h q[0];
t q[1];
x q[4];
t q[2];
t q[3];
swap q[4], q[3];
cx q[3], q[2];
t q[3];
x q[4];
swap q[3], q[2];
cx q[2], q[1];
t q[0];
t q[1];
cx q[0], q[1];
t q[0];
t q[2];
h q[3];
cx q[0], q[1];
swap q[0], q[2];
cx q[2], q[3];
s q[2];
rz(0.7853975) q[0];
t q[3];
s q[4];
cx q[1], q[0];
t q[2];
t q[1];
x q[4];
cx q[1], q[2];
measure q -> c;


[System] You are Q-Route, an enterprise-grade deterministic Quantum Hardware Compiler. Your objective is to translate an abstract quantum circuit in OpenQASM 2.0 format into a physical hardware-compliant OpenQASM 2.0 circuit. The output circuit MUST strictly adhere to the provided physical coupling map (qubit connectivity graph). Insert SWAP gates where necessary to satisfy physical edge constraints. Output ONLY the compiled OpenQASM 2.0 code without any markdown wrapper or natural language explanation.

[User]
### Physical Hardware Specification:
- Target Topology: Linear-9
- Number of Qubits: 9
- Valid Physical Edges (Coupling Map): [[0, 1], [1, 0], [1, 2], [2, 1], [2, 3], [3, 2], [3, 4], [4, 3], [4, 5], [5, 4], [5, 6], [6, 5], [6, 7], [7, 6], [7, 8], [8, 7]]

### Hardware Constraints:
1. 2-qubit gates (e.g. `cx`) can ONLY be executed between physical qubit indices (u, v) that exist in the Coupling Map.
2. Use SWAP gates to route qubits across non-adjacent nodes.
3. Minimize overall circuit depth and SWAP overhead.

### Abstract Input OpenQASM 2.0:
```qasm
OPENQASM 2.0;
include "qelib1.inc";
qreg q[9];
creg c[9];
t q[0];
y q[1];
rz(0.7853975) q[3];
t q[7];
cx q[3], q[4];
cx q[7], q[4];
s q[1];
x q[4];
s q[5];
t q[7];
h q[8];
cx q[0], q[5];
cx q[1], q[0];
cx q[6], q[1];
y q[0];
rz(0.7853975) q[1];
rz(0.7853975) q[2];
rz(0.7853975) q[4];
rz(0.7853975) q[5];
s q[6];
x q[7];
cx q[4], q[5];
cx q[7], q[0];
cx q[2], q[8];
cx q[6], q[2];
measure q -> c;
```

### Compiled Hardware-Compliant OpenQASM 2.0:

[Assistant]
OPENQASM 2.0;
include "qelib1.inc";
qreg q[9];
creg c[9];
t q[0];
y q[1];
rz(0.7853975) q[3];
t q[7];
cx q[3], q[4];
swap q[7], q[6];
swap q[6], q[5];
cx q[5], q[4];
s q[1];
x q[4];
s q[6];
t q[5];
h q[8];
swap q[0], q[1];
swap q[1], q[2];
swap q[2], q[3];
swap q[3], q[4];
swap q[4], q[5];
cx q[5], q[6];
swap q[0], q[1];
swap q[1], q[2];
swap q[2], q[3];
swap q[3], q[4];
cx q[4], q[5];
swap q[7], q[6];
swap q[6], q[5];
cx q[5], q[4];
y q[6];
rz(0.7853975) q[4];
rz(0.7853975) q[0];
rz(0.7853975) q[2];
rz(0.7853975) q[7];
s q[5];
x q[3];
swap q[2], q[3];
swap q[3], q[4];
swap q[4], q[5];
swap q[5], q[6];
cx q[6], q[7];
swap q[2], q[3];
swap q[3], q[4];
cx q[4], q[5];
swap q[0], q[1];
swap q[1], q[2];
swap q[2], q[3];
swap q[3], q[4];
swap q[4], q[5];
swap q[5], q[6];
swap q[6], q[7];
cx q[7], q[8];
swap q[2], q[3];
swap q[3], q[4];
swap q[4], q[5];
swap q[5], q[6];
cx q[6], q[7];
measure q -> c;


[System] You are Q-Route, an enterprise-grade deterministic Quantum Hardware Compiler. Your objective is to translate an abstract quantum circuit in OpenQASM 2.0 format into a physical hardware-compliant OpenQASM 2.0 circuit. The output circuit MUST strictly adhere to the provided physical coupling map (qubit connectivity graph). Insert SWAP gates where necessary to satisfy physical edge constraints. Output ONLY the compiled OpenQASM 2.0 code without any markdown wrapper or natural language explanation.

[User]
### Physical Hardware Specification:
- Target Topology: Ring-7
- Number of Qubits: 7
- Valid Physical Edges (Coupling Map): [[0, 1], [0, 6], [1, 0], [1, 2], [2, 1], [2, 3], [3, 2], [3, 4], [4, 3], [4, 5], [5, 4], [5, 6], [6, 0], [6, 5]]

### Hardware Constraints:
1. 2-qubit gates (e.g. `cx`) can ONLY be executed between physical qubit indices (u, v) that exist in the Coupling Map.
2. Use SWAP gates to route qubits across non-adjacent nodes.
3. Minimize overall circuit depth and SWAP overhead.

### Abstract Input OpenQASM 2.0:
```qasm
OPENQASM 2.0;
include "qelib1.inc";
qreg q[7];
creg c[7];
t q[2];
s q[3];
s q[3];
rz(0.7853975) q[4];
s q[3];
cx q[0], q[1];
cx q[2], q[6];
measure q -> c;
```

### Compiled Hardware-Compliant OpenQASM 2.0:

[Assistant]
OPENQASM 2.0;
include "qelib1.inc";
qreg q[7];
creg c[7];
t q[2];
s q[3];
s q[3];
rz(0.7853975) q[4];
s q[3];
cx q[0], q[1];
swap q[2], q[1];
swap q[1], q[0];
cx q[0], q[6];
measure q -> c;


[System] You are Q-Route, an enterprise-grade deterministic Quantum Hardware Compiler. Your objective is to translate an abstract quantum circuit in OpenQASM 2.0 format into a physical hardware-compliant OpenQASM 2.0 circuit. The output circuit MUST strictly adhere to the provided physical coupling map (qubit connectivity graph). Insert SWAP gates where necessary to satisfy physical edge constraints. Output ONLY the compiled OpenQASM 2.0 code without any markdown wrapper or natural language explanation.

[User]
### Physical Hardware Specification:
- Target Topology: Grid-3x3
- Number of Qubits: 9
- Valid Physical Edges (Coupling Map): [[0, 1], [0, 3], [1, 0], [1, 2], [1, 4], [2, 1], [2, 5], [3, 0], [3, 4], [3, 6], [4, 1], [4, 3], [4, 5], [4, 7], [5, 2], [5, 4], [5, 8], [6, 3], [6, 7], [7, 4], [7, 6], [7, 8], [8, 5], [8, 7]]

### Hardware Constraints:
1. 2-qubit gates (e.g. `cx`) can ONLY be executed between physical qubit indices (u, v) that exist in the Coupling Map.
2. Use SWAP gates to route qubits across non-adjacent nodes.
3. Minimize overall circuit depth and SWAP overhead.

### Abstract Input OpenQASM 2.0:
```qasm
OPENQASM 2.0;
include "qelib1.inc";
qreg q[9];
creg c[9];
y q[3];
y q[4];
cx q[3], q[0];
cx q[3], q[7];
y q[2];
t q[4];
h q[5];
h q[6];
h q[7];
cx q[5], q[8];
s q[0];
s q[3];
x q[4];
rz(0.7853975) q[6];
h q[7];
rz(0.7853975) q[8];
cx q[6], q[8];
cx q[2], q[1];
cx q[1], q[4];
cx q[1], q[7];
t q[1];
x q[3];
rz(0.7853975) q[4];
h q[5];
x q[6];
t q[7];
cx q[8], q[7];
x q[4];
s q[6];
x q[7];
cx q[4], q[8];
cx q[0], q[8];
cx q[8], q[6];
y q[0];
y q[3];
y q[4];
rz(0.7853975) q[5];
x q[7];
s q[8];
cx q[5], q[1];
cx q[8], q[5];
cx q[1], q[8];
y q[0];
x q[1];
rz(0.7853975) q[2];
x q[3];
x q[4];
t q[6];
x q[8];
cx q[3], q[5];
x q[0];
y q[2];
rz(0.7853975) q[3];
h q[6];
s q[7];
rz(0.7853975) q[8];
cx q[6], q[2];
s q[0];
h q[1];
s q[2];
s q[3];
rz(0.7853975) q[4];
rz(0.7853975) q[6];
x q[7];
cx q[6], q[0];
cx q[8], q[6];
cx q[3], q[6];
s q[0];
s q[1];
t q[3];
h q[5];
s q[6];
x q[8];
cx q[0], q[3];
cx q[7], q[4];
cx q[1], q[2];
x q[0];
s q[1];
h q[2];
t q[3];
h q[5];
h q[6];
t q[7];
cx q[3], q[4];
cx q[3], q[6];
cx q[2], q[7];
cx q[8], q[7];
s q[3];
t q[6];
x q[7];
rz(0.7853975) q[8];
cx q[7], q[2];
cx q[7], q[6];
y q[0];
y q[1];
h q[2];
s q[3];
y q[4];
s q[7];
h q[8];
cx q[4], q[0];
cx q[6], q[0];
rz(0.7853975) q[0];
y q[1];
y q[2];
rz(0.7853975) q[4];
h q[7];
rz(0.7853975) q[8];
cx q[0], q[8];
cx q[0], q[1];
cx q[3], q[1];
cx q[2], q[6];
measure q -> c;
```

### Compiled Hardware-Compliant OpenQASM 2.0:

[Assistant]
OPENQASM 2.0;
include "qelib1.inc";
qreg q[9];
creg c[9];
y q[3];
y q[4];
cx q[3], q[0];
swap q[3], q[4];
cx q[4], q[7];
y q[2];
t q[3];
h q[5];
h q[6];
h q[7];
cx q[5], q[8];
s q[0];
s q[4];
x q[3];
rz(0.7853975) q[6];
h q[7];
rz(0.7853975) q[8];
swap q[6], q[7];
cx q[7], q[8];
cx q[2], q[1];
swap q[1], q[0];
cx q[0], q[3];
swap q[0], q[3];
cx q[3], q[6];
t q[3];
x q[4];
rz(0.7853975) q[0];
h q[5];
x q[7];
t q[6];
swap q[8], q[7];
cx q[7], q[6];
x q[0];
s q[8];
x q[6];
swap q[0], q[1];
swap q[1], q[4];
cx q[4], q[7];
swap q[0], q[1];
swap q[1], q[4];
cx q[4], q[7];
cx q[7], q[8];
y q[4];
y q[0];
y q[1];
rz(0.7853975) q[5];
x q[6];
s q[7];
swap q[5], q[4];
cx q[4], q[3];
cx q[7], q[4];
swap q[3], q[4];
cx q[4], q[7];
y q[5];
x q[4];
rz(0.7853975) q[2];
x q[0];
x q[1];
t q[8];
x q[7];
cx q[0], q[3];
x q[5];
y q[2];
rz(0.7853975) q[0];
h q[8];
s q[6];
rz(0.7853975) q[7];
swap q[8], q[5];
cx q[5], q[2];
s q[8];
h q[4];
s q[2];
s q[0];
rz(0.7853975) q[1];
rz(0.7853975) q[5];
x q[6];
cx q[5], q[8];
swap q[7], q[4];
cx q[4], q[5];
swap q[0], q[1];
swap q[1], q[2];
cx q[2], q[5];
s q[8];
s q[7];
t q[2];
h q[3];
s q[5];
x q[4];
swap q[8], q[5];
cx q[5], q[2];
swap q[6], q[3];
cx q[3], q[0];
swap q[7], q[4];
cx q[4], q[1];
x q[5];
s q[4];
h q[1];
t q[2];
h q[6];
h q[8];
t q[3];
swap q[2], q[1];
cx q[1], q[0];
swap q[1], q[2];
swap q[2], q[5];
cx q[5], q[8];
swap q[1], q[0];
cx q[0], q[3];
swap q[7], q[4];
cx q[4], q[3];
s q[5];
t q[8];
x q[3];
rz(0.7853975) q[4];
cx q[3], q[0];
swap q[3], q[4];
swap q[4], q[5];
cx q[5], q[8];
y q[2];
y q[7];
h q[0];
s q[4];
y q[1];
s q[5];
h q[3];
cx q[1], q[2];
swap q[8], q[5];
cx q[5], q[2];
rz(0.7853975) q[2];
y q[7];
y q[0];
rz(0.7853975) q[1];
h q[8];
rz(0.7853975) q[3];
swap q[2], q[1];
swap q[1], q[0];
cx q[0], q[3];
swap q[0], q[1];
swap q[1], q[4];
cx q[4], q[7];
swap q[1], q[4];
cx q[4], q[7];
swap q[0], q[1];
swap q[1], q[2];
cx q[2], q[5];
measure q -> c;


[System] You are Q-Route, an enterprise-grade deterministic Quantum Hardware Compiler. Your objective is to translate an abstract quantum circuit in OpenQASM 2.0 format into a physical hardware-compliant OpenQASM 2.0 circuit. The output circuit MUST strictly adhere to the provided physical coupling map (qubit connectivity graph). Insert SWAP gates where necessary to satisfy physical edge constraints. Output ONLY the compiled OpenQASM 2.0 code without any markdown wrapper or natural language explanation.

[User]
### Physical Hardware Specification:
- Target Topology: Grid-4x4
- Number of Qubits: 16
- Valid Physical Edges (Coupling Map): [[0, 1], [0, 4], [1, 0], [1, 2], [1, 5], [2, 1], [2, 3], [2, 6], [3, 2], [3, 7], [4, 0], [4, 5], [4, 8], [5, 1], [5, 4], [5, 6], [5, 9], [6, 2], [6, 5], [6, 7], [6, 10], [7, 3], [7, 6], [7, 11], [8, 4], [8, 9], [8, 12], [9, 5], [9, 8], [9, 10], [9, 13], [10, 6], [10, 9], [10, 11], [10, 14], [11, 7], [11, 10], [11, 15], [12, 8], [12, 13], [13, 9], [13, 12], [13, 14], [14, 10], [14, 13], [14, 15], [15, 11], [15, 14]]

### Hardware Constraints:
1. 2-qubit gates (e.g. `cx`) can ONLY be executed between physical qubit indices (u, v) that exist in the Coupling Map.
2. Use SWAP gates to route qubits across non-adjacent nodes.
3. Minimize overall circuit depth and SWAP overhead.

### Abstract Input OpenQASM 2.0:
```qasm
OPENQASM 2.0;
include "qelib1.inc";
qreg q[16];
creg c[16];
y q[7];
s q[5];
cx q[0], q[9];
cx q[1], q[4];
measure q -> c;
```

### Compiled Hardware-Compliant OpenQASM 2.0:

[Assistant]
OPENQASM 2.0;
include "qelib1.inc";
qreg q[16];
creg c[16];
y q[7];
s q[5];
swap q[0], q[1];
swap q[1], q[5];
cx q[5], q[9];
cx q[0], q[4];
measure q -> c;


[System] You are Q-Route, an enterprise-grade deterministic Quantum Hardware Compiler. Your objective is to translate an abstract quantum circuit in OpenQASM 2.0 format into a physical hardware-compliant OpenQASM 2.0 circuit. The output circuit MUST strictly adhere to the provided physical coupling map (qubit connectivity graph). Insert SWAP gates where necessary to satisfy physical edge constraints. Output ONLY the compiled OpenQASM 2.0 code without any markdown wrapper or natural language explanation.

[User]
### Physical Hardware Specification:
- Target Topology: Grid-3x2
- Number of Qubits: 6
- Valid Physical Edges (Coupling Map): [[0, 1], [0, 2], [1, 0], [1, 3], [2, 0], [2, 3], [2, 4], [3, 1], [3, 2], [3, 5], [4, 2], [4, 5], [5, 3], [5, 4]]

### Hardware Constraints:
1. 2-qubit gates (e.g. `cx`) can ONLY be executed between physical qubit indices (u, v) that exist in the Coupling Map.
2. Use SWAP gates to route qubits across non-adjacent nodes.
3. Minimize overall circuit depth and SWAP overhead.

### Abstract Input OpenQASM 2.0:
```qasm
OPENQASM 2.0;
include "qelib1.inc";
qreg q[6];
creg c[6];
t q[4];
y q[2];
x q[2];
t q[1];
s q[5];
cx q[1], q[3];
measure q -> c;
```

### Compiled Hardware-Compliant OpenQASM 2.0:

[Assistant]
OPENQASM 2.0;
include "qelib1.inc";
qreg q[6];
creg c[6];
t q[4];
y q[2];
x q[2];
t q[1];
s q[5];
cx q[1], q[3];
measure q -> c;


[System] You are Q-Route, an enterprise-grade deterministic Quantum Hardware Compiler. Your objective is to translate an abstract quantum circuit in OpenQASM 2.0 format into a physical hardware-compliant OpenQASM 2.0 circuit. The output circuit MUST strictly adhere to the provided physical coupling map (qubit connectivity graph). Insert SWAP gates where necessary to satisfy physical edge constraints. Output ONLY the compiled OpenQASM 2.0 code without any markdown wrapper or natural language explanation.

[User]
### Physical Hardware Specification:
- Target Topology: Star-12
- Number of Qubits: 12
- Valid Physical Edges (Coupling Map): [[0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [1, 0], [2, 0], [3, 0], [4, 0], [5, 0], [6, 0], [7, 0], [8, 0], [9, 0], [10, 0], [11, 0]]

### Hardware Constraints:
1. 2-qubit gates (e.g. `cx`) can ONLY be executed between physical qubit indices (u, v) that exist in the Coupling Map.
2. Use SWAP gates to route qubits across non-adjacent nodes.
3. Minimize overall circuit depth and SWAP overhead.

### Abstract Input OpenQASM 2.0:
```qasm
OPENQASM 2.0;
include "qelib1.inc";
qreg q[12];
creg c[12];
y q[0];
x q[1];
s q[4];
x q[5];
y q[7];
y q[8];
y q[9];
t q[10];
x q[11];
cx q[8], q[5];
cx q[10], q[4];
cx q[1], q[2];
cx q[10], q[11];
cx q[3], q[4];
cx q[5], q[11];
s q[1];
x q[3];
y q[4];
y q[8];
rz(0.7853975) q[9];
rz(0.7853975) q[11];
cx q[8], q[4];
cx q[1], q[6];
cx q[11], q[10];
cx q[4], q[11];
cx q[5], q[4];
rz(0.7853975) q[0];
x q[2];
rz(0.7853975) q[3];
h q[4];
s q[5];
y q[6];
rz(0.7853975) q[7];
x q[8];
rz(0.7853975) q[9];
h q[11];
cx q[7], q[10];
cx q[3], q[9];
cx q[10], q[6];
cx q[2], q[7];
cx q[9], q[1];
cx q[8], q[1];
t q[1];
rz(0.7853975) q[2];
s q[5];
rz(0.7853975) q[6];
cx q[3], q[1];
cx q[8], q[10];
cx q[4], q[7];
cx q[1], q[8];
cx q[4], q[9];
x q[1];
h q[2];
x q[3];
t q[5];
t q[6];
y q[7];
y q[8];
s q[11];
cx q[11], q[9];
cx q[10], q[1];
cx q[10], q[2];
measure q -> c;
```

### Compiled Hardware-Compliant OpenQASM 2.0:

[Assistant]
OPENQASM 2.0;
include "qelib1.inc";
qreg q[12];
creg c[12];
y q[0];
x q[1];
s q[4];
x q[5];
y q[7];
y q[8];
y q[9];
t q[10];
x q[11];
swap q[8], q[0];
cx q[0], q[5];
swap q[10], q[0];
cx q[0], q[4];
swap q[1], q[0];
cx q[0], q[2];
swap q[1], q[0];
cx q[0], q[11];
swap q[3], q[0];
cx q[0], q[4];
swap q[5], q[0];
cx q[0], q[11];
s q[1];
x q[5];
y q[4];
y q[10];
rz(0.7853975) q[9];
rz(0.7853975) q[11];
swap q[10], q[0];
cx q[0], q[4];
swap q[1], q[0];
cx q[0], q[6];
swap q[11], q[0];
cx q[0], q[3];
cx q[4], q[0];
swap q[10], q[0];
cx q[0], q[4];
rz(0.7853975) q[8];
x q[2];
rz(0.7853975) q[5];
h q[4];
s q[0];
y q[6];
rz(0.7853975) q[7];
x q[1];
rz(0.7853975) q[9];
h q[10];
swap q[7], q[0];
cx q[0], q[3];
swap q[5], q[0];
cx q[0], q[9];
swap q[3], q[0];
cx q[0], q[6];
swap q[2], q[0];
cx q[0], q[5];
swap q[9], q[0];
cx q[0], q[11];
swap q[1], q[0];
cx q[0], q[11];
t q[11];
rz(0.7853975) q[9];
s q[7];
rz(0.7853975) q[6];
swap q[3], q[0];
cx q[0], q[11];
swap q[3], q[0];
cx q[0], q[2];
swap q[4], q[0];
cx q[0], q[5];
swap q[11], q[0];
cx q[0], q[4];
swap q[11], q[0];
cx q[0], q[1];
x q[11];
h q[9];
x q[3];
t q[7];
t q[6];
y q[5];
y q[4];
s q[10];
swap q[10], q[0];
cx q[0], q[1];
swap q[2], q[0];
cx q[0], q[11];
cx q[0], q[9];
measure q -> c;


[System] You are Q-Route, an enterprise-grade deterministic Quantum Hardware Compiler. Your objective is to translate an abstract quantum circuit in OpenQASM 2.0 format into a physical hardware-compliant OpenQASM 2.0 circuit. The output circuit MUST strictly adhere to the provided physical coupling map (qubit connectivity graph). Insert SWAP gates where necessary to satisfy physical edge constraints. Output ONLY the compiled OpenQASM 2.0 code without any markdown wrapper or natural language explanation.

[User]
### Physical Hardware Specification:
- Target Topology: Grid-3x3
- Number of Qubits: 9
- Valid Physical Edges (Coupling Map): [[0, 1], [0, 3], [1, 0], [1, 2], [1, 4], [2, 1], [2, 5], [3, 0], [3, 4], [3, 6], [4, 1], [4, 3], [4, 5], [4, 7], [5, 2], [5, 4], [5, 8], [6, 3], [6, 7], [7, 4], [7, 6], [7, 8], [8, 5], [8, 7]]

### Hardware Constraints:
1. 2-qubit gates (e.g. `cx`) can ONLY be executed between physical qubit indices (u, v) that exist in the Coupling Map.
2. Use SWAP gates to route qubits across non-adjacent nodes.
3. Minimize overall circuit depth and SWAP overhead.

### Abstract Input OpenQASM 2.0:
```qasm
OPENQASM 2.0;
include "qelib1.inc";
qreg q[9];
creg c[9];
h q[0];
rz(0.7853975) q[1];
h q[2];
rz(0.7853975) q[4];
y q[5];
rz(0.7853975) q[6];
x q[8];
cx q[5], q[8];
cx q[5], q[3];
cx q[5], q[8];
cx q[4], q[8];
s q[0];
x q[1];
h q[3];
s q[4];
cx q[0], q[8];
cx q[1], q[8];
rz(0.7853975) q[0];
t q[1];
h q[2];
x q[3];
rz(0.7853975) q[5];
y q[6];
rz(0.7853975) q[8];
cx q[7], q[3];
cx q[3], q[5];
s q[1];
s q[2];
y q[3];
t q[7];
cx q[2], q[7];
cx q[8], q[4];
s q[1];
h q[3];
x q[5];
t q[6];
y q[8];
cx q[5], q[2];
cx q[8], q[1];
cx q[4], q[2];
s q[1];
rz(0.7853975) q[2];
y q[3];
h q[4];
y q[5];
s q[6];
cx q[2], q[3];
cx q[1], q[8];
cx q[6], q[2];
cx q[4], q[8];
s q[1];
t q[5];
x q[6];
t q[7];
cx q[7], q[2];
cx q[0], q[6];
cx q[5], q[3];
cx q[0], q[2];
y q[0];
s q[1];
h q[2];
s q[4];
rz(0.7853975) q[6];
s q[7];
t q[8];
cx q[0], q[1];
cx q[7], q[2];
cx q[1], q[6];
cx q[1], q[0];
s q[0];
s q[2];
s q[3];
s q[4];
rz(0.7853975) q[5];
t q[7];
h q[8];
cx q[6], q[7];
cx q[0], q[5];
cx q[2], q[7];
s q[0];
y q[2];
y q[3];
t q[7];
cx q[0], q[1];
cx q[1], q[2];
cx q[3], q[1];
cx q[7], q[0];
measure q -> c;
```

### Compiled Hardware-Compliant OpenQASM 2.0:

[Assistant]
OPENQASM 2.0;
include "qelib1.inc";
qreg q[9];
creg c[9];
h q[0];
rz(0.7853975) q[1];
h q[2];
rz(0.7853975) q[4];
y q[5];
rz(0.7853975) q[6];
x q[8];
cx q[5], q[8];
swap q[5], q[4];
cx q[4], q[3];
swap q[4], q[5];
cx q[5], q[8];
swap q[4], q[5];
cx q[5], q[8];
s q[0];
x q[1];
h q[3];
s q[5];
swap q[0], q[1];
swap q[1], q[2];
swap q[2], q[5];
cx q[5], q[8];
swap q[0], q[1];
swap q[1], q[2];
swap q[2], q[5];
cx q[5], q[8];
rz(0.7853975) q[2];
t q[5];
h q[0];
x q[3];
rz(0.7853975) q[4];
y q[6];
rz(0.7853975) q[8];
swap q[7], q[4];
cx q[4], q[3];
swap q[3], q[4];
cx q[4], q[7];
s q[5];
s q[0];
y q[4];
t q[3];
cx q[0], q[3];
swap q[8], q[5];
swap q[5], q[2];
cx q[2], q[1];
s q[8];
h q[4];
x q[7];
t q[6];
y q[2];
swap q[7], q[4];
swap q[4], q[1];
cx q[1], q[0];
swap q[2], q[5];
cx q[5], q[8];
swap q[4], q[1];
cx q[1], q[0];
s q[8];
rz(0.7853975) q[0];
y q[7];
h q[1];
y q[4];
s q[6];
swap q[0], q[1];
swap q[1], q[4];
cx q[4], q[7];
cx q[8], q[5];
swap q[6], q[3];
cx q[3], q[4];
swap q[0], q[1];
swap q[1], q[2];
cx q[2], q[5];
s q[8];
t q[0];
x q[3];
t q[6];
swap q[6], q[3];
cx q[3], q[4];
swap q[1], q[0];
swap q[0], q[3];
cx q[3], q[6];
swap q[1], q[4];
cx q[4], q[7];
swap q[3], q[0];
cx q[0], q[1];
y q[0];
s q[8];
h q[1];
s q[2];
rz(0.7853975) q[6];
s q[3];
t q[5];
swap q[0], q[1];
swap q[1], q[2];
swap q[2], q[5];
cx q[5], q[8];
cx q[3], q[0];
swap q[8], q[7];
cx q[7], q[6];
swap q[7], q[4];
cx q[4], q[5];
s q[5];
s q[0];
s q[8];
s q[1];
rz(0.7853975) q[7];
t q[3];
h q[2];
cx q[6], q[3];
swap q[5], q[4];
cx q[4], q[7];
cx q[0], q[3];
s q[4];
y q[0];
y q[8];
t q[3];
cx q[4], q[5];
swap q[5], q[2];
swap q[2], q[1];
cx q[1], q[0];
swap q[8], q[5];
swap q[5], q[2];
cx q[2], q[1];
cx q[3], q[4];
measure q -> c;


[System] You are Q-Route, an enterprise-grade deterministic Quantum Hardware Compiler. Your objective is to translate an abstract quantum circuit in OpenQASM 2.0 format into a physical hardware-compliant OpenQASM 2.0 circuit. The output circuit MUST strictly adhere to the provided physical coupling map (qubit connectivity graph). Insert SWAP gates where necessary to satisfy physical edge constraints. Output ONLY the compiled OpenQASM 2.0 code without any markdown wrapper or natural language explanation.

[User]
### Physical Hardware Specification:
- Target Topology: Ring-8
- Number of Qubits: 8
- Valid Physical Edges (Coupling Map): [[0, 1], [0, 7], [1, 0], [1, 2], [2, 1], [2, 3], [3, 2], [3, 4], [4, 3], [4, 5], [5, 4], [5, 6], [6, 5], [6, 7], [7, 0], [7, 6]]

### Hardware Constraints:
1. 2-qubit gates (e.g. `cx`) can ONLY be executed between physical qubit indices (u, v) that exist in the Coupling Map.
2. Use SWAP gates to route qubits across non-adjacent nodes.
3. Minimize overall circuit depth and SWAP overhead.

### Abstract Input OpenQASM 2.0:
```qasm
OPENQASM 2.0;
include "qelib1.inc";
qreg q[8];
creg c[8];
y q[0];
x q[1];
rz(0.7853975) q[2];
y q[4];
s q[6];
cx q[5], q[2];
y q[0];
rz(0.7853975) q[1];
x q[2];
rz(0.7853975) q[3];
s q[4];
x q[5];
cx q[3], q[1];
cx q[6], q[4];
cx q[6], q[3];
cx q[0], q[7];
rz(0.7853975) q[1];
s q[2];
t q[3];
s q[5];
rz(0.7853975) q[6];
cx q[5], q[4];
cx q[2], q[1];
cx q[6], q[2];
t q[1];
rz(0.7853975) q[2];
h q[5];
y q[7];
cx q[5], q[7];
cx q[2], q[4];
x q[0];
t q[1];
s q[3];
y q[4];
x q[6];
t q[7];
cx q[4], q[7];
cx q[7], q[1];
cx q[7], q[1];
cx q[3], q[4];
t q[0];
y q[1];
t q[2];
s q[4];
y q[6];
cx q[4], q[3];
cx q[3], q[1];
cx q[3], q[4];
h q[0];
h q[2];
h q[3];
rz(0.7853975) q[4];
s q[7];
cx q[4], q[1];
h q[1];
t q[2];
rz(0.7853975) q[3];
h q[5];
s q[7];
cx q[6], q[5];
s q[1];
rz(0.7853975) q[2];
s q[3];
h q[4];
x q[6];
cx q[3], q[5];
cx q[3], q[7];
cx q[0], q[6];
cx q[3], q[1];
rz(0.7853975) q[0];
s q[1];
s q[2];
y q[4];
rz(0.7853975) q[5];
s q[6];
cx q[7], q[4];
t q[0];
t q[3];
t q[5];
rz(0.7853975) q[6];
cx q[4], q[2];
x q[1];
rz(0.7853975) q[2];
rz(0.7853975) q[4];
x q[5];
rz(0.7853975) q[7];
cx q[2], q[5];
cx q[6], q[1];
cx q[2], q[7];
cx q[3], q[5];
t q[2];
y q[6];
x q[7];
cx q[7], q[3];
h q[2];
rz(0.7853975) q[3];
h q[4];
s q[6];
x q[7];
cx q[3], q[5];
cx q[7], q[0];
cx q[5], q[1];
cx q[2], q[0];
s q[0];
s q[1];
rz(0.7853975) q[2];
y q[4];
x q[5];
x q[7];
cx q[0], q[6];
cx q[5], q[2];
cx q[0], q[4];
y q[0];
x q[1];
s q[2];
s q[3];
s q[4];
rz(0.7853975) q[5];
s q[6];
cx q[7], q[1];
cx q[3], q[5];
cx q[5], q[3];
cx q[1], q[0];
h q[0];
y q[1];
x q[4];
rz(0.7853975) q[5];
s q[7];
cx q[2], q[1];
cx q[6], q[4];
cx q[3], q[1];
y q[0];
rz(0.7853975) q[2];
t q[3];
s q[4];
s q[5];
x q[7];
cx q[4], q[5];
cx q[0], q[6];
cx q[5], q[2];
cx q[6], q[3];
s q[0];
rz(0.7853975) q[1];
h q[3];
rz(0.7853975) q[4];
y q[5];
x q[6];
cx q[1], q[5];
cx q[3], q[7];
cx q[7], q[5];
rz(0.7853975) q[0];
h q[1];
s q[2];
rz(0.7853975) q[3];
t q[5];
s q[6];
t q[7];
cx q[2], q[6];
cx q[6], q[0];
cx q[7], q[1];
cx q[3], q[2];
measure q -> c;
```

### Compiled Hardware-Compliant OpenQASM 2.0:

[Assistant]
OPENQASM 2.0;
include "qelib1.inc";
qreg q[8];
creg c[8];
y q[0];
x q[1];
rz(0.7853975) q[2];
y q[4];
s q[6];
swap q[5], q[4];
swap q[4], q[3];
cx q[3], q[2];
y q[0];
rz(0.7853975) q[1];
x q[2];
rz(0.7853975) q[4];
s q[5];
x q[3];
swap q[4], q[3];
swap q[3], q[2];
cx q[2], q[1];
cx q[6], q[5];
swap q[6], q[5];
swap q[5], q[4];
swap q[4], q[3];
cx q[3], q[2];
cx q[0], q[7];
rz(0.7853975) q[1];
s q[4];
t q[2];
s q[5];
rz(0.7853975) q[3];
cx q[5], q[6];
swap q[4], q[3];
swap q[3], q[2];
cx q[2], q[1];
swap q[4], q[3];
cx q[3], q[2];
t q[1];
rz(0.7853975) q[2];
h q[5];
y q[7];
swap q[5], q[6];
cx q[6], q[7];
swap q[2], q[3];
swap q[3], q[4];
cx q[4], q[5];
x q[0];
t q[1];
s q[3];
y q[5];
x q[2];
t q[7];
swap q[5], q[6];
cx q[6], q[7];
swap q[7], q[0];
cx q[0], q[1];
cx q[0], q[1];
swap q[3], q[4];
swap q[4], q[5];
cx q[5], q[6];
t q[7];
y q[1];
t q[3];
s q[6];
y q[2];
cx q[6], q[5];
swap q[5], q[4];
swap q[4], q[3];
swap q[3], q[2];
cx q[2], q[1];
swap q[2], q[1];
swap q[1], q[0];
swap q[0], q[7];
cx q[7], q[6];
h q[0];
h q[4];
h q[7];
rz(0.7853975) q[6];
s q[1];
swap q[6], q[5];
swap q[5], q[4];
swap q[4], q[3];
cx q[3], q[2];
h q[2];
t q[5];
rz(0.7853975) q[7];
h q[6];
s q[1];
swap q[4], q[5];
cx q[5], q[6];
s q[2];
rz(0.7853975) q[4];
s q[7];
h q[3];
x q[5];
cx q[7], q[6];
swap q[7], q[0];
cx q[0], q[1];
swap q[7], q[6];
cx q[6], q[5];
swap q[0], q[1];
cx q[1], q[2];
rz(0.7853975) q[6];
s q[2];
s q[4];
y q[3];
rz(0.7853975) q[7];
s q[5];
swap q[0], q[1];
swap q[1], q[2];
cx q[2], q[3];
t q[6];
t q[0];
t q[7];
rz(0.7853975) q[5];
cx q[3], q[4];
x q[1];
rz(0.7853975) q[4];
rz(0.7853975) q[3];
x q[7];
rz(0.7853975) q[2];
swap q[4], q[5];
swap q[5], q[6];
cx q[6], q[7];
swap q[4], q[3];
swap q[3], q[2];
cx q[2], q[1];
swap q[6], q[5];
swap q[5], q[4];
cx q[4], q[3];
cx q[0], q[7];
t q[4];
y q[2];
x q[3];
swap q[3], q[2];
swap q[2], q[1];
cx q[1], q[0];
h q[4];
rz(0.7853975) q[0];
h q[5];
s q[3];
x q[1];
cx q[0], q[7];
swap q[1], q[0];
swap q[0], q[7];
cx q[7], q[6];
swap q[0], q[1];
cx q[1], q[2];
swap q[4], q[5];
cx q[5], q[6];
s q[6];
s q[2];
rz(0.7853975) q[5];
y q[4];
x q[1];
x q[7];
swap q[6], q[5];
swap q[5], q[4];
cx q[4], q[3];
swap q[1], q[0];
swap q[0], q[7];
cx q[7], q[6];
cx q[4], q[5];
y q[4];
x q[2];
s q[6];
s q[1];
s q[5];
rz(0.7853975) q[7];
s q[3];
swap q[0], q[1];
cx q[1], q[2];
cx q[0], q[7];
cx q[7], q[0];
swap q[2], q[3];
cx q[3], q[4];
h q[4];
y q[3];
x q[5];
rz(0.7853975) q[7];
s q[1];
swap q[6], q[5];
swap q[5], q[4];
cx q[4], q[3];
swap q[2], q[1];
swap q[1], q[0];
swap q[0], q[7];
cx q[7], q[6];
swap q[1], q[2];
cx q[2], q[3];
y q[5];
rz(0.7853975) q[4];
t q[2];
s q[6];
s q[0];
x q[1];
swap q[6], q[7];
cx q[7], q[0];
cx q[5], q[6];
swap q[0], q[1];
swap q[1], q[2];
swap q[2], q[3];
cx q[3], q[4];
swap q[6], q[7];
swap q[7], q[0];
cx q[0], q[1];
s q[5];
rz(0.7853975) q[2];
h q[1];
rz(0.7853975) q[6];
y q[3];
x q[0];
cx q[2], q[3];
swap q[1], q[0];
cx q[0], q[7];
swap q[7], q[0];
swap q[0], q[1];
swap q[1], q[2];
cx q[2], q[3];
rz(0.7853975) q[5];
h q[1];
s q[4];
rz(0.7853975) q[7];
t q[3];
s q[0];
t q[2];
swap q[4], q[3];
swap q[3], q[2];
swap q[2], q[1];
cx q[1], q[0];
swap q[0], q[7];
swap q[7], q[6];
cx q[6], q[5];
cx q[3], q[2];
cx q[0], q[1];
measure q -> c;


[System] You are Q-Route, an enterprise-grade deterministic Quantum Hardware Compiler. Your objective is to translate an abstract quantum circuit in OpenQASM 2.0 format into a physical hardware-compliant OpenQASM 2.0 circuit. The output circuit MUST strictly adhere to the provided physical coupling map (qubit connectivity graph). Insert SWAP gates where necessary to satisfy physical edge constraints. Output ONLY the compiled OpenQASM 2.0 code without any markdown wrapper or natural language explanation.

[User]
### Physical Hardware Specification:
- Target Topology: Star-13
- Number of Qubits: 13
- Valid Physical Edges (Coupling Map): [[0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [1, 0], [2, 0], [3, 0], [4, 0], [5, 0], [6, 0], [7, 0], [8, 0], [9, 0], [10, 0], [11, 0], [12, 0]]

### Hardware Constraints:
1. 2-qubit gates (e.g. `cx`) can ONLY be executed between physical qubit indices (u, v) that exist in the Coupling Map.
2. Use SWAP gates to route qubits across non-adjacent nodes.
3. Minimize overall circuit depth and SWAP overhead.

### Abstract Input OpenQASM 2.0:
```qasm
OPENQASM 2.0;
include "qelib1.inc";
qreg q[13];
creg c[13];
h q[0];
rz(0.7853975) q[2];
y q[4];
h q[5];
rz(0.7853975) q[7];
h q[8];
rz(0.7853975) q[9];
t q[12];
cx q[2], q[6];
cx q[11], q[6];
cx q[5], q[11];
cx q[12], q[10];
cx q[8], q[7];
cx q[9], q[1];
x q[2];
t q[3];
y q[4];
x q[5];
rz(0.7853975) q[7];
x q[8];
y q[10];
s q[11];
s q[12];
cx q[7], q[3];
cx q[12], q[7];
cx q[11], q[7];
x q[1];
h q[2];
rz(0.7853975) q[3];
t q[6];
x q[7];
t q[9];
h q[10];
x q[12];
cx q[5], q[12];
cx q[3], q[9];
cx q[11], q[8];
cx q[1], q[8];
cx q[8], q[6];
y q[1];
x q[2];
rz(0.7853975) q[6];
h q[7];
s q[8];
rz(0.7853975) q[10];
cx q[4], q[6];
t q[0];
h q[1];
y q[2];
x q[4];
y q[5];
h q[8];
s q[9];
y q[10];
s q[11];
rz(0.7853975) q[12];
cx q[12], q[11];
cx q[5], q[8];
cx q[4], q[9];
cx q[3], q[7];
cx q[7], q[0];
y q[1];
y q[4];
h q[5];
s q[6];
x q[8];
s q[9];
t q[10];
cx q[11], q[8];
cx q[0], q[3];
cx q[12], q[4];
h q[0];
s q[1];
h q[2];
h q[4];
x q[6];
s q[7];
s q[8];
y q[10];
x q[11];
cx q[1], q[2];
cx q[8], q[7];
cx q[0], q[9];
cx q[0], q[7];
cx q[6], q[9];
rz(0.7853975) q[0];
h q[2];
h q[3];
t q[4];
s q[5];
h q[6];
y q[8];
rz(0.7853975) q[9];
y q[10];
cx q[11], q[6];
cx q[0], q[4];
t q[0];
x q[1];
h q[4];
rz(0.7853975) q[5];
t q[6];
y q[7];
s q[8];
t q[10];
rz(0.7853975) q[11];
s q[12];
cx q[10], q[0];
h q[1];
y q[2];
h q[5];
s q[6];
s q[8];
s q[9];
t q[11];
cx q[4], q[1];
cx q[5], q[4];
y q[0];
s q[1];
s q[2];
y q[3];
h q[4];
s q[7];
y q[10];
rz(0.7853975) q[11];
rz(0.7853975) q[12];
cx q[10], q[6];
cx q[9], q[4];
cx q[9], q[11];
cx q[1], q[2];
cx q[3], q[1];
cx q[10], q[9];
x q[0];
h q[1];
y q[2];
s q[3];
y q[5];
s q[9];
y q[10];
x q[11];
cx q[7], q[5];
cx q[4], q[8];
cx q[12], q[9];
cx q[10], q[7];
cx q[7], q[9];
cx q[3], q[1];
h q[1];
t q[2];
t q[3];
s q[4];
s q[6];
y q[7];
s q[8];
rz(0.7853975) q[11];
cx q[9], q[12];
cx q[0], q[9];
cx q[3], q[9];
cx q[2], q[12];
y q[7];
t q[8];
y q[9];
y q[10];
x q[11];
s q[12];
cx q[4], q[2];
cx q[1], q[4];
cx q[7], q[12];
h q[1];
y q[2];
rz(0.7853975) q[4];
s q[5];
s q[9];
rz(0.7853975) q[11];
cx q[6], q[5];
cx q[4], q[6];
cx q[10], q[1];
cx q[2], q[5];
cx q[10], q[11];
cx q[0], q[1];
measure q -> c;
```

### Compiled Hardware-Compliant OpenQASM 2.0:

[Assistant]
OPENQASM 2.0;
include "qelib1.inc";
qreg q[13];
creg c[13];
h q[0];
rz(0.7853975) q[2];
y q[4];
h q[5];
rz(0.7853975) q[7];
h q[8];
rz(0.7853975) q[9];
t q[12];
swap q[2], q[0];
cx q[0], q[6];
swap q[11], q[0];
cx q[0], q[6];
cx q[5], q[0];
swap q[12], q[0];
cx q[0], q[10];
swap q[8], q[0];
cx q[0], q[7];
swap q[9], q[0];
cx q[0], q[1];
x q[11];
t q[3];
y q[4];
x q[5];
rz(0.7853975) q[7];
x q[9];
y q[10];
s q[12];
s q[8];
swap q[7], q[0];
cx q[0], q[3];
cx q[8], q[0];
cx q[12], q[0];
x q[1];
h q[11];
rz(0.7853975) q[3];
t q[6];
x q[0];
t q[7];
h q[10];
x q[8];
swap q[5], q[0];
cx q[0], q[8];
swap q[3], q[0];
cx q[0], q[7];
swap q[12], q[0];
cx q[0], q[9];
swap q[1], q[0];
cx q[0], q[9];
swap q[9], q[0];
cx q[0], q[6];
y q[9];
x q[11];
rz(0.7853975) q[6];
h q[5];
s q[0];
rz(0.7853975) q[10];
swap q[4], q[0];
cx q[0], q[6];
t q[2];
h q[9];
y q[11];
x q[0];
y q[3];
h q[4];
s q[7];
y q[10];
s q[1];
rz(0.7853975) q[8];
swap q[8], q[0];
cx q[0], q[1];
swap q[3], q[0];
cx q[0], q[4];
swap q[8], q[0];
cx q[0], q[7];
swap q[12], q[0];
cx q[0], q[5];
swap q[5], q[0];
cx q[0], q[2];
y q[9];
y q[12];
h q[8];
s q[6];
x q[4];
s q[7];
t q[10];
swap q[1], q[0];
cx q[0], q[4];
swap q[2], q[0];
cx q[0], q[5];
swap q[3], q[0];
cx q[0], q[12];
h q[3];
s q[9];
h q[11];
h q[12];
x q[6];
s q[1];
s q[4];
y q[10];
x q[2];
swap q[9], q[0];
cx q[0], q[11];
swap q[4], q[0];
cx q[0], q[1];
swap q[3], q[0];
cx q[0], q[7];
cx q[0], q[1];
swap q[6], q[0];
cx q[0], q[7];
rz(0.7853975) q[6];
h q[11];
h q[5];
t q[12];
s q[8];
h q[0];
y q[3];
rz(0.7853975) q[7];
y q[10];
cx q[2], q[0];
swap q[6], q[0];
cx q[0], q[12];
t q[0];
x q[4];
h q[12];
rz(0.7853975) q[8];
t q[6];
y q[1];
s q[3];
t q[10];
rz(0.7853975) q[2];
s q[9];
cx q[10], q[0];
h q[4];
y q[11];
h q[8];
s q[6];
s q[3];
s q[7];
t q[2];
swap q[12], q[0];
cx q[0], q[4];
cx q[8], q[0];
y q[12];
s q[4];
s q[11];
y q[5];
h q[0];
s q[1];
y q[10];
rz(0.7853975) q[2];
rz(0.7853975) q[9];
swap q[10], q[0];
cx q[0], q[6];
swap q[7], q[0];
cx q[0], q[10];
cx q[0], q[2];
swap q[4], q[0];
cx q[0], q[11];
cx q[5], q[0];
swap q[7], q[0];
cx q[0], q[4];
x q[12];
h q[7];
y q[11];
s q[5];
y q[8];
s q[4];
y q[0];
x q[2];
swap q[1], q[0];
cx q[0], q[8];
swap q[10], q[0];
cx q[0], q[3];
swap q[9], q[0];
cx q[0], q[4];
swap q[1], q[0];
cx q[0], q[10];
swap q[10], q[0];
cx q[0], q[4];
swap q[5], q[0];
cx q[0], q[7];
h q[7];
t q[11];
t q[0];
s q[9];
s q[6];
y q[5];
s q[3];
rz(0.7853975) q[2];
swap q[4], q[0];
cx q[0], q[1];
cx q[12], q[0];
cx q[4], q[0];
swap q[11], q[0];
cx q[0], q[1];
y q[5];
t q[3];
y q[11];
y q[10];
x q[2];
s q[1];
cx q[9], q[0];
swap q[7], q[0];
cx q[0], q[9];
swap q[5], q[0];
cx q[0], q[1];
h q[5];
y q[7];
rz(0.7853975) q[9];
s q[8];
s q[11];
rz(0.7853975) q[2];
swap q[6], q[0];
cx q[0], q[8];
cx q[9], q[0];
swap q[10], q[0];
cx q[0], q[5];
swap q[7], q[0];
cx q[0], q[8];
swap q[7], q[0];
cx q[0], q[2];
swap q[12], q[0];
cx q[0], q[5];
measure q -> c;


[System] You are Q-Route, an enterprise-grade deterministic Quantum Hardware Compiler. Your objective is to translate an abstract quantum circuit in OpenQASM 2.0 format into a physical hardware-compliant OpenQASM 2.0 circuit. The output circuit MUST strictly adhere to the provided physical coupling map (qubit connectivity graph). Insert SWAP gates where necessary to satisfy physical edge constraints. Output ONLY the compiled OpenQASM 2.0 code without any markdown wrapper or natural language explanation.

[User]
### Physical Hardware Specification:
- Target Topology: Star-5
- Number of Qubits: 5
- Valid Physical Edges (Coupling Map): [[0, 1], [0, 2], [0, 3], [0, 4], [1, 0], [2, 0], [3, 0], [4, 0]]

### Hardware Constraints:
1. 2-qubit gates (e.g. `cx`) can ONLY be executed between physical qubit indices (u, v) that exist in the Coupling Map.
2. Use SWAP gates to route qubits across non-adjacent nodes.
3. Minimize overall circuit depth and SWAP overhead.

### Abstract Input OpenQASM 2.0:
```qasm
OPENQASM 2.0;
include "qelib1.inc";
qreg q[5];
creg c[5];
h q[2];
x q[1];
x q[1];
t q[4];
s q[4];
cx q[1], q[3];
cx q[2], q[4];
measure q -> c;
```

### Compiled Hardware-Compliant OpenQASM 2.0:

[Assistant]
OPENQASM 2.0;
include "qelib1.inc";
qreg q[5];
creg c[5];
h q[2];
x q[1];
x q[1];
t q[4];
s q[4];
swap q[1], q[0];
cx q[0], q[3];
swap q[2], q[0];
cx q[0], q[4];
measure q -> c;


[System] You are Q-Route, an enterprise-grade deterministic Quantum Hardware Compiler. Your objective is to translate an abstract quantum circuit in OpenQASM 2.0 format into a physical hardware-compliant OpenQASM 2.0 circuit. The output circuit MUST strictly adhere to the provided physical coupling map (qubit connectivity graph). Insert SWAP gates where necessary to satisfy physical edge constraints. Output ONLY the compiled OpenQASM 2.0 code without any markdown wrapper or natural language explanation.

[User]
### Physical Hardware Specification:
- Target Topology: Grid-4x3
- Number of Qubits: 12
- Valid Physical Edges (Coupling Map): [[0, 1], [0, 3], [1, 0], [1, 2], [1, 4], [2, 1], [2, 5], [3, 0], [3, 4], [3, 6], [4, 1], [4, 3], [4, 5], [4, 7], [5, 2], [5, 4], [5, 8], [6, 3], [6, 7], [6, 9], [7, 4], [7, 6], [7, 8], [7, 10], [8, 5], [8, 7], [8, 11], [9, 6], [9, 10], [10, 7], [10, 9], [10, 11], [11, 8], [11, 10]]

### Hardware Constraints:
1. 2-qubit gates (e.g. `cx`) can ONLY be executed between physical qubit indices (u, v) that exist in the Coupling Map.
2. Use SWAP gates to route qubits across non-adjacent nodes.
3. Minimize overall circuit depth and SWAP overhead.

### Abstract Input OpenQASM 2.0:
```qasm
OPENQASM 2.0;
include "qelib1.inc";
qreg q[12];
creg c[12];
s q[1];
h q[2];
h q[5];
y q[6];
h q[8];
h q[11];
cx q[1], q[6];
cx q[8], q[11];
cx q[8], q[7];
cx q[2], q[10];
cx q[2], q[1];
cx q[5], q[11];
rz(0.7853975) q[0];
rz(0.7853975) q[3];
h q[6];
t q[8];
h q[9];
y q[10];
s q[11];
cx q[11], q[8];
cx q[3], q[0];
s q[0];
t q[3];
rz(0.7853975) q[4];
h q[5];
s q[6];
s q[7];
y q[8];
rz(0.7853975) q[9];
h q[10];
x q[11];
cx q[11], q[10];
y q[2];
t q[3];
y q[4];
y q[7];
t q[8];
y q[9];
t q[10];
cx q[10], q[8];
x q[2];
x q[3];
h q[4];
s q[5];
x q[6];
rz(0.7853975) q[9];
s q[11];
cx q[0], q[3];
cx q[11], q[7];
rz(0.7853975) q[3];
t q[4];
x q[7];
h q[8];
t q[9];
t q[11];
cx q[5], q[3];
cx q[9], q[7];
cx q[3], q[8];
cx q[2], q[11];
cx q[10], q[2];
cx q[2], q[3];
rz(0.7853975) q[0];
h q[2];
s q[3];
t q[4];
x q[5];
rz(0.7853975) q[6];
s q[8];
y q[9];
cx q[1], q[11];
cx q[5], q[9];
cx q[8], q[5];
y q[1];
y q[2];
s q[4];
x q[5];
t q[6];
y q[8];
s q[9];
h q[10];
t q[11];
cx q[10], q[2];
t q[0];
t q[2];
x q[4];
rz(0.7853975) q[5];
t q[6];
x q[7];
s q[9];
t q[11];
cx q[8], q[1];
cx q[5], q[1];
cx q[1], q[9];
rz(0.7853975) q[0];
y q[1];
h q[2];
h q[3];
s q[5];
x q[6];
t q[8];
x q[9];
rz(0.7853975) q[10];
cx q[3], q[1];
cx q[0], q[4];
cx q[1], q[4];
cx q[1], q[10];
cx q[10], q[11];
cx q[10], q[9];
measure q -> c;
```

### Compiled Hardware-Compliant OpenQASM 2.0:

[Assistant]
OPENQASM 2.0;
include "qelib1.inc";
qreg q[12];
creg c[12];
s q[1];
h q[2];
h q[5];
y q[6];
h q[8];
h q[11];
swap q[1], q[0];
swap q[0], q[3];
cx q[3], q[6];
cx q[8], q[11];
cx q[8], q[7];
swap q[2], q[1];
swap q[1], q[4];
swap q[4], q[7];
cx q[7], q[10];
swap q[7], q[4];
cx q[4], q[3];
swap q[5], q[8];
cx q[8], q[11];
rz(0.7853975) q[2];
rz(0.7853975) q[0];
h q[6];
t q[5];
h q[9];
y q[10];
s q[11];
swap q[11], q[8];
cx q[8], q[5];
swap q[0], q[1];
cx q[1], q[2];
s q[2];
t q[1];
rz(0.7853975) q[0];
h q[11];
s q[6];
s q[7];
y q[5];
rz(0.7853975) q[9];
h q[10];
x q[8];
swap q[8], q[7];
cx q[7], q[10];
y q[4];
t q[1];
y q[0];
y q[8];
t q[5];
y q[9];
t q[10];
swap q[10], q[7];
swap q[7], q[4];
cx q[4], q[5];
x q[7];
x q[1];
h q[0];
s q[11];
x q[6];
rz(0.7853975) q[9];
s q[10];
cx q[2], q[1];
swap q[10], q[7];
cx q[7], q[8];
rz(0.7853975) q[1];
t q[0];
x q[8];
h q[5];
t q[9];
t q[7];
swap q[11], q[8];
swap q[8], q[5];
swap q[5], q[2];
cx q[2], q[1];
swap q[9], q[10];
cx q[10], q[11];
swap q[1], q[2];
swap q[2], q[5];
cx q[5], q[8];
swap q[9], q[6];
cx q[6], q[7];
swap q[4], q[3];
cx q[3], q[6];
swap q[6], q[3];
swap q[3], q[4];
cx q[4], q[5];
rz(0.7853975) q[2];
h q[4];
s q[5];
t q[0];
x q[1];
rz(0.7853975) q[9];
s q[8];
y q[10];
swap q[3], q[4];
cx q[4], q[7];
swap q[1], q[4];
swap q[4], q[7];
cx q[7], q[10];
cx q[8], q[7];
y q[1];
y q[3];
s q[0];
x q[7];
t q[9];
y q[8];
s q[10];
h q[6];
t q[4];
cx q[6], q[3];
t q[2];
t q[3];
x q[0];
rz(0.7853975) q[7];
t q[9];
x q[11];
s q[10];
t q[4];
swap q[8], q[5];
swap q[5], q[2];
cx q[2], q[1];
swap q[7], q[4];
cx q[4], q[1];
swap q[1], q[4];
swap q[4], q[7];
cx q[7], q[10];
rz(0.7853975) q[5];
y q[7];
h q[3];
h q[8];
s q[1];
x q[9];
t q[2];
x q[10];
rz(0.7853975) q[6];
cx q[8], q[7];
swap q[5], q[2];
swap q[2], q[1];
cx q[1], q[0];
swap q[7], q[4];
swap q[4], q[1];
cx q[1], q[0];
swap q[1], q[0];
swap q[0], q[3];
cx q[3], q[6];
cx q[6], q[7];
swap q[6], q[7];
cx q[7], q[10];
measure q -> c;


[System] You are Q-Route, an enterprise-grade deterministic Quantum Hardware Compiler. Your objective is to translate an abstract quantum circuit in OpenQASM 2.0 format into a physical hardware-compliant OpenQASM 2.0 circuit. The output circuit MUST strictly adhere to the provided physical coupling map (qubit connectivity graph). Insert SWAP gates where necessary to satisfy physical edge constraints. Output ONLY the compiled OpenQASM 2.0 code without any markdown wrapper or natural language explanation.

[User]
### Physical Hardware Specification:
- Target Topology: Ring-9
- Number of Qubits: 9
- Valid Physical Edges (Coupling Map): [[0, 1], [0, 8], [1, 0], [1, 2], [2, 1], [2, 3], [3, 2], [3, 4], [4, 3], [4, 5], [5, 4], [5, 6], [6, 5], [6, 7], [7, 6], [7, 8], [8, 0], [8, 7]]

### Hardware Constraints:
1. 2-qubit gates (e.g. `cx`) can ONLY be executed between physical qubit indices (u, v) that exist in the Coupling Map.
2. Use SWAP gates to route qubits across non-adjacent nodes.
3. Minimize overall circuit depth and SWAP overhead.

### Abstract Input OpenQASM 2.0:
```qasm
OPENQASM 2.0;
include "qelib1.inc";
qreg q[9];
creg c[9];
y q[0];
x q[1];
y q[3];
x q[6];
y q[7];
rz(0.7853975) q[8];
cx q[1], q[3];
cx q[0], q[1];
h q[0];
t q[1];
cx q[5], q[1];
cx q[3], q[0];
rz(0.7853975) q[3];
h q[4];
t q[5];
s q[6];
cx q[7], q[3];
cx q[2], q[5];
cx q[3], q[1];
x q[0];
rz(0.7853975) q[1];
s q[2];
x q[3];
s q[4];
rz(0.7853975) q[5];
s q[8];
cx q[8], q[2];
cx q[7], q[2];
cx q[0], q[4];
cx q[1], q[2];
s q[0];
s q[1];
s q[2];
s q[3];
x q[7];
t q[8];
cx q[4], q[3];
cx q[1], q[0];
cx q[1], q[3];
cx q[7], q[5];
y q[0];
h q[2];
t q[3];
x q[4];
h q[8];
cx q[4], q[7];
x q[0];
x q[1];
t q[3];
h q[4];
x q[5];
rz(0.7853975) q[7];
s q[8];
cx q[5], q[7];
cx q[0], q[3];
cx q[5], q[4];
cx q[0], q[3];
s q[0];
rz(0.7853975) q[1];
h q[2];
y q[3];
s q[4];
s q[5];
x q[6];
y q[8];
cx q[3], q[8];
cx q[1], q[2];
cx q[5], q[7];
cx q[1], q[6];
h q[0];
x q[5];
t q[7];
rz(0.7853975) q[8];
cx q[8], q[7];
cx q[4], q[3];
h q[0];
x q[2];
h q[3];
s q[5];
h q[6];
s q[7];
cx q[5], q[7];
cx q[5], q[8];
cx q[4], q[7];
h q[0];
h q[4];
x q[6];
y q[8];
cx q[4], q[5];
t q[0];
x q[1];
s q[2];
t q[3];
h q[4];
t q[6];
cx q[3], q[1];
cx q[8], q[1];
cx q[3], q[0];
cx q[5], q[4];
s q[1];
y q[4];
y q[6];
s q[7];
cx q[8], q[4];
cx q[5], q[7];
cx q[1], q[5];
measure q -> c;
```

### Compiled Hardware-Compliant OpenQASM 2.0:

[Assistant]
OPENQASM 2.0;
include "qelib1.inc";
qreg q[9];
creg c[9];
y q[0];
x q[1];
y q[3];
x q[6];
y q[7];
rz(0.7853975) q[8];
swap q[1], q[2];
cx q[2], q[3];
swap q[0], q[1];
cx q[1], q[2];
h q[1];
t q[2];
swap q[5], q[4];
swap q[4], q[3];
cx q[3], q[2];
swap q[4], q[3];
swap q[3], q[2];
cx q[2], q[1];
rz(0.7853975) q[2];
h q[5];
t q[4];
s q[6];
swap q[7], q[8];
swap q[8], q[0];
swap q[0], q[1];
cx q[1], q[2];
swap q[8], q[7];
swap q[7], q[6];
swap q[6], q[5];
cx q[5], q[4];
cx q[2], q[3];
x q[0];
rz(0.7853975) q[3];
s q[5];
x q[2];
s q[6];
rz(0.7853975) q[4];
s q[8];
swap q[8], q[7];
swap q[7], q[6];
cx q[6], q[5];
swap q[1], q[2];
swap q[2], q[3];
swap q[3], q[4];
cx q[4], q[5];
swap q[0], q[8];
cx q[8], q[7];
swap q[2], q[3];
swap q[3], q[4];
cx q[4], q[5];
s q[8];
s q[4];
s q[5];
s q[1];
x q[3];
t q[6];
swap q[7], q[8];
swap q[8], q[0];
cx q[0], q[1];
swap q[4], q[5];
swap q[5], q[6];
cx q[6], q[7];
swap q[6], q[7];
swap q[7], q[8];
swap q[8], q[0];
cx q[0], q[1];
cx q[3], q[2];
y q[6];
h q[4];
t q[1];
x q[8];
h q[5];
swap q[8], q[0];
swap q[0], q[1];
swap q[1], q[2];
cx q[2], q[3];
x q[6];
x q[8];
t q[0];
h q[2];
x q[1];
rz(0.7853975) q[3];
s q[5];
swap q[1], q[2];
cx q[2], q[3];
swap q[6], q[7];
swap q[7], q[8];
cx q[8], q[0];
cx q[2], q[1];
cx q[8], q[0];
s q[8];
rz(0.7853975) q[7];
h q[4];
y q[0];
s q[1];
s q[2];
x q[6];
y q[5];
swap q[0], q[8];
swap q[8], q[7];
swap q[7], q[6];
cx q[6], q[5];
swap q[8], q[7];
swap q[7], q[6];
swap q[6], q[5];
cx q[5], q[4];
cx q[2], q[3];
swap q[5], q[6];
swap q[6], q[7];
cx q[7], q[8];
h q[0];
x q[2];
t q[3];
rz(0.7853975) q[5];
swap q[5], q[4];
cx q[4], q[3];
swap q[1], q[0];
swap q[0], q[8];
swap q[8], q[7];
cx q[7], q[6];
h q[1];
x q[5];
h q[6];
s q[2];
h q[0];
s q[3];
cx q[2], q[3];
swap q[2], q[3];
cx q[3], q[4];
swap q[7], q[8];
swap q[8], q[0];
swap q[0], q[1];
cx q[1], q[2];
h q[0];
h q[1];
x q[8];
y q[4];
swap q[1], q[2];
cx q[2], q[3];
t q[0];
x q[7];
s q[5];
t q[6];
h q[2];
t q[8];
cx q[6], q[7];
swap q[4], q[5];
swap q[5], q[6];
cx q[6], q[7];
swap q[5], q[6];
swap q[6], q[7];
swap q[7], q[8];
cx q[8], q[0];
cx q[3], q[2];
s q[6];
y q[2];
y q[7];
s q[1];
swap q[5], q[4];
swap q[4], q[3];
cx q[3], q[2];
swap q[4], q[3];
swap q[3], q[2];
cx q[2], q[1];
swap q[6], q[5];
swap q[5], q[4];
swap q[4], q[3];
cx q[3], q[2];
measure q -> c;


[System] You are Q-Route, an enterprise-grade deterministic Quantum Hardware Compiler. Your objective is to translate an abstract quantum circuit in OpenQASM 2.0 format into a physical hardware-compliant OpenQASM 2.0 circuit. The output circuit MUST strictly adhere to the provided physical coupling map (qubit connectivity graph). Insert SWAP gates where necessary to satisfy physical edge constraints. Output ONLY the compiled OpenQASM 2.0 code without any markdown wrapper or natural language explanation.

[User]
### Physical Hardware Specification:
- Target Topology: Linear-14
- Number of Qubits: 14
- Valid Physical Edges (Coupling Map): [[0, 1], [1, 0], [1, 2], [2, 1], [2, 3], [3, 2], [3, 4], [4, 3], [4, 5], [5, 4], [5, 6], [6, 5], [6, 7], [7, 6], [7, 8], [8, 7], [8, 9], [9, 8], [9, 10], [10, 9], [10, 11], [11, 10], [11, 12], [12, 11], [12, 13], [13, 12]]

### Hardware Constraints:
1. 2-qubit gates (e.g. `cx`) can ONLY be executed between physical qubit indices (u, v) that exist in the Coupling Map.
2. Use SWAP gates to route qubits across non-adjacent nodes.
3. Minimize overall circuit depth and SWAP overhead.

### Abstract Input OpenQASM 2.0:
```qasm
OPENQASM 2.0;
include "qelib1.inc";
qreg q[14];
creg c[14];
s q[4];
s q[6];
h q[8];
y q[10];
s q[11];
s q[13];
cx q[3], q[5];
cx q[4], q[0];
x q[0];
x q[1];
rz(0.7853975) q[3];
rz(0.7853975) q[4];
x q[5];
s q[6];
t q[7];
t q[8];
rz(0.7853975) q[9];
h q[10];
h q[12];
cx q[9], q[7];
cx q[10], q[1];
cx q[9], q[4];
cx q[13], q[8];
cx q[1], q[5];
cx q[2], q[4];
rz(0.7853975) q[0];
t q[1];
y q[2];
t q[4];
s q[5];
y q[7];
t q[11];
cx q[5], q[0];
cx q[1], q[6];
cx q[6], q[4];
cx q[13], q[11];
h q[2];
h q[5];
rz(0.7853975) q[6];
x q[7];
x q[9];
t q[11];
rz(0.7853975) q[12];
s q[13];
cx q[5], q[12];
cx q[7], q[10];
cx q[12], q[0];
cx q[2], q[13];
cx q[4], q[2];
t q[0];
h q[1];
t q[3];
rz(0.7853975) q[4];
y q[5];
rz(0.7853975) q[6];
h q[7];
s q[8];
rz(0.7853975) q[9];
t q[10];
s q[11];
x q[13];
cx q[0], q[12];
cx q[13], q[9];
cx q[5], q[0];
cx q[2], q[10];
cx q[10], q[5];
cx q[7], q[12];
h q[1];
h q[3];
x q[4];
y q[7];
t q[8];
s q[9];
t q[12];
cx q[3], q[11];
cx q[1], q[6];
t q[3];
s q[4];
y q[5];
y q[7];
t q[9];
rz(0.7853975) q[12];
cx q[6], q[4];
cx q[6], q[4];
h q[0];
rz(0.7853975) q[2];
s q[3];
rz(0.7853975) q[6];
t q[7];
s q[11];
y q[12];
t q[13];
cx q[9], q[8];
cx q[5], q[9];
h q[1];
s q[4];
s q[5];
s q[8];
rz(0.7853975) q[9];
h q[10];
s q[11];
x q[12];
s q[13];
cx q[9], q[0];
cx q[11], q[12];
cx q[7], q[5];
cx q[2], q[0];
measure q -> c;
```

### Compiled Hardware-Compliant OpenQASM 2.0:

[Assistant]
OPENQASM 2.0;
include "qelib1.inc";
qreg q[14];
creg c[14];
s q[4];
s q[6];
h q[8];
y q[10];
s q[11];
s q[13];
swap q[3], q[4];
cx q[4], q[5];
swap q[3], q[2];
swap q[2], q[1];
cx q[1], q[0];
x q[0];
x q[2];
rz(0.7853975) q[4];
rz(0.7853975) q[1];
x q[5];
s q[6];
t q[7];
t q[8];
rz(0.7853975) q[9];
h q[10];
h q[12];
swap q[9], q[8];
cx q[8], q[7];
swap q[10], q[9];
swap q[9], q[8];
swap q[8], q[7];
swap q[7], q[6];
swap q[6], q[5];
swap q[5], q[4];
swap q[4], q[3];
cx q[3], q[2];
swap q[9], q[8];
swap q[8], q[7];
swap q[7], q[6];
swap q[6], q[5];
swap q[5], q[4];
swap q[4], q[3];
swap q[3], q[2];
cx q[2], q[1];
swap q[13], q[12];
swap q[12], q[11];
cx q[11], q[10];
swap q[3], q[4];
swap q[4], q[5];
swap q[5], q[6];
cx q[6], q[7];
swap q[4], q[3];
swap q[3], q[2];
cx q[2], q[1];
rz(0.7853975) q[0];
t q[6];
y q[2];
t q[1];
s q[7];
y q[9];
t q[12];
swap q[7], q[6];
swap q[6], q[5];
swap q[5], q[4];
swap q[4], q[3];
swap q[3], q[2];
swap q[2], q[1];
cx q[1], q[0];
cx q[7], q[8];
swap q[8], q[7];
swap q[7], q[6];
swap q[6], q[5];
swap q[5], q[4];
swap q[4], q[3];
cx q[3], q[2];
cx q[11], q[12];
h q[4];
h q[1];
rz(0.7853975) q[3];
x q[9];
x q[5];
t q[12];
rz(0.7853975) q[13];
s q[11];
swap q[1], q[2];
swap q[2], q[3];
swap q[3], q[4];
swap q[4], q[5];
swap q[5], q[6];
swap q[6], q[7];
swap q[7], q[8];
swap q[8], q[9];
swap q[9], q[10];
swap q[10], q[11];
swap q[11], q[12];
cx q[12], q[13];
swap q[8], q[7];
swap q[7], q[6];
cx q[6], q[5];
swap q[13], q[12];
swap q[12], q[11];
swap q[11], q[10];
swap q[10], q[9];
swap q[9], q[8];
swap q[8], q[7];
swap q[7], q[6];
swap q[6], q[5];
swap q[5], q[4];
swap q[4], q[3];
swap q[3], q[2];
swap q[2], q[1];
cx q[1], q[0];
swap q[4], q[5];
swap q[5], q[6];
swap q[6], q[7];
swap q[7], q[8];
swap q[8], q[9];
swap q[9], q[10];
cx q[10], q[11];
swap q[2], q[3];
swap q[3], q[4];
swap q[4], q[5];
swap q[5], q[6];
swap q[6], q[7];
swap q[7], q[8];
swap q[8], q[9];
cx q[9], q[10];
t q[0];
h q[7];
t q[6];
rz(0.7853975) q[9];
y q[13];
rz(0.7853975) q[2];
h q[5];
s q[8];
rz(0.7853975) q[3];
t q[4];
s q[12];
x q[11];
cx q[0], q[1];
swap q[11], q[10];
swap q[10], q[9];
swap q[9], q[8];
swap q[8], q[7];
swap q[7], q[6];
swap q[6], q[5];
swap q[5], q[4];
cx q[4], q[3];
swap q[13], q[12];
swap q[12], q[11];
swap q[11], q[10];
swap q[10], q[9];
swap q[9], q[8];
swap q[8], q[7];
swap q[7], q[6];
swap q[6], q[5];
swap q[5], q[4];
swap q[4], q[3];
swap q[3], q[2];
swap q[2], q[1];
cx q[1], q[0];
swap q[12], q[11];
swap q[11], q[10];
swap q[10], q[9];
swap q[9], q[8];
swap q[8], q[7];
cx q[7], q[6];
swap q[6], q[5];
swap q[5], q[4];
swap q[4], q[3];
swap q[3], q[2];
cx q[2], q[1];
swap q[8], q[7];
swap q[7], q[6];
swap q[6], q[5];
swap q[5], q[4];
cx q[4], q[3];
h q[10];
h q[9];
x q[12];
y q[4];
t q[11];
s q[6];
t q[3];
swap q[9], q[10];
swap q[10], q[11];
swap q[11], q[12];
cx q[12], q[13];
swap q[9], q[8];
swap q[8], q[7];
swap q[7], q[6];
cx q[6], q[5];
t q[12];
s q[11];
y q[1];
y q[4];
t q[7];
rz(0.7853975) q[3];
swap q[5], q[6];
swap q[6], q[7];
swap q[7], q[8];
swap q[8], q[9];
swap q[9], q[10];
cx q[10], q[11];
cx q[10], q[11];
h q[0];
rz(0.7853975) q[8];
s q[12];
rz(0.7853975) q[10];
t q[4];
s q[13];
y q[3];
t q[7];
swap q[6], q[7];
swap q[7], q[8];
cx q[8], q[9];
swap q[1], q[2];
swap q[2], q[3];
swap q[3], q[4];
swap q[4], q[5];
swap q[5], q[6];
swap q[6], q[7];
cx q[7], q[8];
h q[4];
s q[11];
s q[7];
s q[9];
rz(0.7853975) q[8];
h q[1];
s q[13];
x q[2];
s q[5];
swap q[8], q[7];
swap q[7], q[6];
swap q[6], q[5];
swap q[5], q[4];
swap q[4], q[3];
swap q[3], q[2];
swap q[2], q[1];
cx q[1], q[0];
swap q[13], q[12];
swap q[12], q[11];
swap q[11], q[10];
swap q[10], q[9];
swap q[9], q[8];
swap q[8], q[7];
swap q[7], q[6];
swap q[6], q[5];
swap q[5], q[4];
cx q[4], q[3];
swap q[5], q[6];
swap q[6], q[7];
swap q[7], q[8];
cx q[8], q[9];
swap q[7], q[6];
swap q[6], q[5];
swap q[5], q[4];
swap q[4], q[3];
swap q[3], q[2];
swap q[2], q[1];
cx q[1], q[0];
measure q -> c;


[System] You are Q-Route, an enterprise-grade deterministic Quantum Hardware Compiler. Your objective is to translate an abstract quantum circuit in OpenQASM 2.0 format into a physical hardware-compliant OpenQASM 2.0 circuit. The output circuit MUST strictly adhere to the provided physical coupling map (qubit connectivity graph). Insert SWAP gates where necessary to satisfy physical edge constraints. Output ONLY the compiled OpenQASM 2.0 code without any markdown wrapper or natural language explanation.

[User]
### Physical Hardware Specification:
- Target Topology: Linear-16
- Number of Qubits: 16
- Valid Physical Edges (Coupling Map): [[0, 1], [1, 0], [1, 2], [2, 1], [2, 3], [3, 2], [3, 4], [4, 3], [4, 5], [5, 4], [5, 6], [6, 5], [6, 7], [7, 6], [7, 8], [8, 7], [8, 9], [9, 8], [9, 10], [10, 9], [10, 11], [11, 10], [11, 12], [12, 11], [12, 13], [13, 12], [13, 14], [14, 13], [14, 15], [15, 14]]

### Hardware Constraints:
1. 2-qubit gates (e.g. `cx`) can ONLY be executed between physical qubit indices (u, v) that exist in the Coupling Map.
2. Use SWAP gates to route qubits across non-adjacent nodes.
3. Minimize overall circuit depth and SWAP overhead.

### Abstract Input OpenQASM 2.0:
```qasm
OPENQASM 2.0;
include "qelib1.inc";
qreg q[16];
creg c[16];
s q[0];
x q[1];
s q[2];
s q[4];
rz(0.7853975) q[5];
s q[13];
cx q[2], q[3];
cx q[3], q[11];
cx q[12], q[14];
cx q[6], q[1];
cx q[14], q[4];
cx q[9], q[7];
cx q[11], q[0];
t q[0];
rz(0.7853975) q[1];
rz(0.7853975) q[2];
s q[3];
rz(0.7853975) q[4];
t q[8];
rz(0.7853975) q[12];
h q[13];
rz(0.7853975) q[15];
cx q[0], q[3];
cx q[12], q[15];
cx q[13], q[11];
cx q[15], q[14];
cx q[4], q[10];
cx q[4], q[6];
cx q[11], q[2];
cx q[11], q[0];
rz(0.7853975) q[0];
h q[1];
s q[2];
x q[3];
rz(0.7853975) q[4];
x q[6];
rz(0.7853975) q[7];
h q[8];
y q[11];
t q[12];
s q[13];
t q[14];
cx q[0], q[5];
cx q[1], q[11];
cx q[7], q[11];
cx q[14], q[3];
y q[0];
y q[4];
t q[8];
y q[13];
cx q[2], q[13];
cx q[0], q[14];
cx q[13], q[4];
cx q[4], q[5];
cx q[13], q[7];
x q[1];
t q[2];
t q[3];
rz(0.7853975) q[5];
y q[6];
s q[7];
rz(0.7853975) q[8];
t q[9];
s q[10];
s q[11];
cx q[9], q[5];
cx q[6], q[13];
cx q[3], q[6];
cx q[10], q[3];
cx q[12], q[5];
cx q[8], q[5];
cx q[3], q[11];
measure q -> c;
```

### Compiled Hardware-Compliant OpenQASM 2.0:

[Assistant]
OPENQASM 2.0;
include "qelib1.inc";
qreg q[16];
creg c[16];
s q[0];
x q[1];
s q[2];
s q[4];
rz(0.7853975) q[5];
s q[13];
cx q[2], q[3];
swap q[3], q[4];
swap q[4], q[5];
swap q[5], q[6];
swap q[6], q[7];
swap q[7], q[8];
swap q[8], q[9];
swap q[9], q[10];
cx q[10], q[11];
swap q[12], q[13];
cx q[13], q[14];
swap q[5], q[4];
swap q[4], q[3];
swap q[3], q[2];
cx q[2], q[1];
swap q[14], q[13];
swap q[13], q[12];
swap q[12], q[11];
swap q[11], q[10];
swap q[10], q[9];
swap q[9], q[8];
swap q[8], q[7];
swap q[7], q[6];
swap q[6], q[5];
cx q[5], q[4];
swap q[9], q[8];
cx q[8], q[7];
swap q[12], q[11];
swap q[11], q[10];
swap q[10], q[9];
swap q[9], q[8];
swap q[8], q[7];
swap q[7], q[6];
swap q[6], q[5];
swap q[5], q[4];
swap q[4], q[3];
swap q[3], q[2];
swap q[2], q[1];
cx q[1], q[0];
t q[0];
rz(0.7853975) q[2];
rz(0.7853975) q[4];
s q[12];
rz(0.7853975) q[5];
t q[10];
rz(0.7853975) q[14];
h q[13];
rz(0.7853975) q[15];
swap q[0], q[1];
swap q[1], q[2];
swap q[2], q[3];
swap q[3], q[4];
swap q[4], q[5];
swap q[5], q[6];
swap q[6], q[7];
swap q[7], q[8];
swap q[8], q[9];
swap q[9], q[10];
swap q[10], q[11];
cx q[11], q[12];
cx q[14], q[15];
swap q[13], q[12];
swap q[12], q[11];
swap q[11], q[10];
swap q[10], q[9];
swap q[9], q[8];
swap q[8], q[7];
swap q[7], q[6];
swap q[6], q[5];
swap q[5], q[4];
swap q[4], q[3];
swap q[3], q[2];
swap q[2], q[1];
cx q[1], q[0];
swap q[15], q[14];
swap q[14], q[13];
swap q[13], q[12];
swap q[12], q[11];
swap q[11], q[10];
swap q[10], q[9];
swap q[9], q[8];
swap q[8], q[7];
cx q[7], q[6];
swap q[5], q[6];
swap q[6], q[7];
swap q[7], q[8];
swap q[8], q[9];
swap q[9], q[10];
swap q[10], q[11];
cx q[11], q[12];
swap q[11], q[10];
swap q[10], q[9];
swap q[9], q[8];
swap q[8], q[7];
swap q[7], q[6];
swap q[6], q[5];
swap q[5], q[4];
cx q[4], q[3];
swap q[0], q[1];
swap q[1], q[2];
swap q[2], q[3];
swap q[3], q[4];
cx q[4], q[5];
swap q[4], q[5];
swap q[5], q[6];
swap q[6], q[7];
swap q[7], q[8];
swap q[8], q[9];
swap q[9], q[10];
swap q[10], q[11];
swap q[11], q[12];
cx q[12], q[13];
rz(0.7853975) q[13];
h q[1];
s q[4];
x q[14];
rz(0.7853975) q[3];
x q[2];
rz(0.7853975) q[8];
h q[10];
y q[12];
t q[15];
s q[0];
t q[5];
swap q[13], q[12];
swap q[12], q[11];
swap q[11], q[10];
swap q[10], q[9];
swap q[9], q[8];
cx q[8], q[7];
swap q[1], q[2];
swap q[2], q[3];
swap q[3], q[4];
swap q[4], q[5];
swap q[5], q[6];
swap q[6], q[7];
swap q[7], q[8];
swap q[8], q[9];
swap q[9], q[10];
swap q[10], q[11];
swap q[11], q[12];
cx q[12], q[13];
swap q[8], q[9];
swap q[9], q[10];
swap q[10], q[11];
swap q[11], q[12];
cx q[12], q[13];
swap q[4], q[5];
swap q[5], q[6];
swap q[6], q[7];
swap q[7], q[8];
swap q[8], q[9];
swap q[9], q[10];
swap q[10], q[11];
swap q[11], q[12];
swap q[12], q[13];
cx q[13], q[14];
y q[6];
y q[2];
t q[8];
y q[0];
swap q[3], q[2];
swap q[2], q[1];
cx q[1], q[0];
swap q[6], q[7];
swap q[7], q[8];
swap q[8], q[9];
swap q[9], q[10];
swap q[10], q[11];
swap q[11], q[12];
cx q[12], q[13];
swap q[0], q[1];
swap q[1], q[2];
cx q[2], q[3];
swap q[3], q[4];
cx q[4], q[5];
swap q[2], q[3];
swap q[3], q[4];
swap q[4], q[5];
swap q[5], q[6];
swap q[6], q[7];
swap q[7], q[8];
swap q[8], q[9];
cx q[9], q[10];
x q[8];
t q[0];
t q[14];
rz(0.7853975) q[4];
y q[1];
s q[10];
rz(0.7853975) q[6];
t q[5];
s q[7];
s q[11];
cx q[5], q[4];
swap q[1], q[2];
swap q[2], q[3];
swap q[3], q[4];
swap q[4], q[5];
swap q[5], q[6];
swap q[6], q[7];
swap q[7], q[8];
cx q[8], q[9];
swap q[14], q[13];
swap q[13], q[12];
swap q[12], q[11];
swap q[11], q[10];
swap q[10], q[9];
cx q[9], q[8];
swap q[6], q[7];
swap q[7], q[8];
cx q[8], q[9];
swap q[15], q[14];
swap q[14], q[13];
swap q[13], q[12];
swap q[12], q[11];
swap q[11], q[10];
swap q[10], q[9];
swap q[9], q[8];
swap q[8], q[7];
swap q[7], q[6];
swap q[6], q[5];
swap q[5], q[4];
cx q[4], q[3];
swap q[6], q[5];
swap q[5], q[4];
cx q[4], q[3];
swap q[10], q[11];
swap q[11], q[12];
cx q[12], q[13];
measure q -> c;


[System] You are Q-Route, an enterprise-grade deterministic Quantum Hardware Compiler. Your objective is to translate an abstract quantum circuit in OpenQASM 2.0 format into a physical hardware-compliant OpenQASM 2.0 circuit. The output circuit MUST strictly adhere to the provided physical coupling map (qubit connectivity graph). Insert SWAP gates where necessary to satisfy physical edge constraints. Output ONLY the compiled OpenQASM 2.0 code without any markdown wrapper or natural language explanation.

[User]
### Physical Hardware Specification:
- Target Topology: HeavyHex-16
- Number of Qubits: 16
- Valid Physical Edges (Coupling Map): [[0, 1], [0, 2], [1, 0], [1, 2], [2, 0], [2, 1], [2, 3], [3, 2], [3, 4], [4, 3], [4, 5], [4, 6], [5, 4], [5, 6], [6, 4], [6, 5], [6, 7], [7, 6], [7, 8], [8, 7], [8, 9], [8, 10], [9, 8], [9, 10], [10, 8], [10, 9], [10, 11], [11, 10], [11, 12], [12, 11], [12, 13], [12, 14], [13, 12], [13, 14], [14, 12], [14, 13], [14, 15], [15, 14]]

### Hardware Constraints:
1. 2-qubit gates (e.g. `cx`) can ONLY be executed between physical qubit indices (u, v) that exist in the Coupling Map.
2. Use SWAP gates to route qubits across non-adjacent nodes.
3. Minimize overall circuit depth and SWAP overhead.

### Abstract Input OpenQASM 2.0:
```qasm
OPENQASM 2.0;
include "qelib1.inc";
qreg q[16];
creg c[16];
t q[0];
s q[1];
rz(0.7853975) q[3];
y q[7];
t q[8];
rz(0.7853975) q[9];
y q[10];
y q[13];
h q[14];
cx q[9], q[3];
cx q[4], q[8];
cx q[9], q[7];
cx q[9], q[3];
y q[0];
t q[2];
y q[6];
y q[8];
rz(0.7853975) q[9];
x q[10];
x q[12];
t q[15];
cx q[1], q[8];
cx q[10], q[9];
y q[0];
t q[3];
h q[5];
rz(0.7853975) q[6];
t q[8];
t q[9];
rz(0.7853975) q[10];
h q[11];
t q[13];
s q[14];
y q[15];
cx q[10], q[6];
cx q[4], q[11];
cx q[4], q[12];
cx q[12], q[14];
cx q[2], q[6];
cx q[0], q[7];
cx q[2], q[0];
y q[1];
x q[3];
h q[4];
h q[5];
y q[7];
s q[10];
rz(0.7853975) q[12];
x q[13];
cx q[2], q[3];
cx q[6], q[5];
cx q[2], q[1];
cx q[6], q[4];
cx q[1], q[3];
cx q[12], q[11];
rz(0.7853975) q[0];
h q[1];
h q[2];
y q[3];
h q[4];
rz(0.7853975) q[6];
rz(0.7853975) q[8];
t q[9];
rz(0.7853975) q[10];
h q[11];
t q[12];
s q[13];
cx q[0], q[14];
cx q[9], q[4];
x q[0];
s q[1];
h q[3];
rz(0.7853975) q[7];
s q[8];
rz(0.7853975) q[9];
x q[11];
s q[12];
cx q[0], q[11];
cx q[9], q[13];
cx q[8], q[5];
cx q[8], q[15];
cx q[8], q[13];
cx q[10], q[15];
cx q[4], q[9];
s q[0];
x q[1];
h q[2];
h q[3];
h q[6];
x q[7];
rz(0.7853975) q[10];
y q[11];
t q[12];
t q[13];
t q[14];
cx q[5], q[6];
cx q[1], q[5];
cx q[11], q[0];
cx q[15], q[0];
cx q[0], q[6];
cx q[9], q[3];
rz(0.7853975) q[0];
s q[1];
s q[2];
t q[3];
s q[4];
y q[5];
rz(0.7853975) q[7];
t q[9];
y q[10];
y q[12];
y q[13];
s q[15];
cx q[2], q[13];
cx q[5], q[7];
cx q[10], q[14];
cx q[10], q[0];
cx q[2], q[6];
t q[2];
y q[4];
t q[5];
s q[7];
x q[9];
s q[10];
x q[12];
h q[15];
cx q[7], q[1];
t q[0];
h q[1];
rz(0.7853975) q[2];
x q[4];
rz(0.7853975) q[5];
s q[6];
x q[8];
y q[9];
s q[11];
t q[13];
y q[14];
s q[15];
cx q[14], q[13];
measure q -> c;
```

### Compiled Hardware-Compliant OpenQASM 2.0:

[Assistant]
OPENQASM 2.0;
include "qelib1.inc";
qreg q[16];
creg c[16];
t q[0];
s q[1];
rz(0.7853975) q[3];
y q[7];
t q[8];
rz(0.7853975) q[9];
y q[10];
y q[13];
h q[14];
swap q[9], q[8];
swap q[8], q[7];
swap q[7], q[6];
swap q[6], q[4];
cx q[4], q[3];
swap q[6], q[7];
swap q[7], q[8];
cx q[8], q[9];
swap q[4], q[6];
cx q[6], q[7];
swap q[6], q[4];
cx q[4], q[3];
y q[0];
t q[2];
y q[6];
y q[9];
rz(0.7853975) q[4];
x q[10];
x q[12];
t q[15];
swap q[1], q[2];
swap q[2], q[3];
swap q[3], q[4];
swap q[4], q[6];
swap q[6], q[7];
swap q[7], q[8];
cx q[8], q[9];
swap q[10], q[8];
swap q[8], q[7];
swap q[7], q[6];
swap q[6], q[4];
cx q[4], q[3];
y q[0];
t q[2];
h q[5];
rz(0.7853975) q[6];
t q[9];
t q[3];
rz(0.7853975) q[4];
h q[11];
t q[13];
s q[14];
y q[15];
cx q[4], q[6];
swap q[8], q[10];
cx q[10], q[11];
swap q[10], q[11];
cx q[11], q[12];
cx q[12], q[14];
swap q[1], q[2];
swap q[2], q[3];
swap q[3], q[4];
cx q[4], q[6];
swap q[0], q[2];
swap q[2], q[3];
swap q[3], q[4];
swap q[4], q[6];
cx q[6], q[7];
swap q[3], q[4];
cx q[4], q[6];
y q[8];
x q[1];
h q[11];
h q[5];
y q[7];
s q[2];
rz(0.7853975) q[12];
x q[13];
swap q[4], q[3];
swap q[3], q[2];
cx q[2], q[1];
cx q[4], q[5];
swap q[2], q[3];
swap q[3], q[4];
swap q[4], q[6];
swap q[6], q[7];
cx q[7], q[8];
swap q[3], q[4];
swap q[4], q[6];
swap q[6], q[7];
swap q[7], q[8];
swap q[8], q[10];
cx q[10], q[11];
swap q[7], q[6];
swap q[6], q[4];
swap q[4], q[3];
swap q[3], q[2];
cx q[2], q[1];
swap q[12], q[11];
swap q[11], q[10];
cx q[10], q[8];
rz(0.7853975) q[4];
h q[2];
h q[7];
y q[1];
h q[12];
rz(0.7853975) q[11];
rz(0.7853975) q[9];
t q[0];
rz(0.7853975) q[3];
h q[8];
t q[10];
s q[13];
swap q[4], q[6];
swap q[6], q[7];
swap q[7], q[8];
swap q[8], q[10];
swap q[10], q[11];
swap q[11], q[12];
cx q[12], q[14];
swap q[0], q[2];
swap q[2], q[3];
swap q[3], q[4];
swap q[4], q[6];
swap q[6], q[7];
swap q[7], q[8];
swap q[8], q[10];
cx q[10], q[11];
x q[12];
s q[0];
h q[1];
rz(0.7853975) q[3];
s q[9];
rz(0.7853975) q[10];
x q[6];
s q[7];
swap q[12], q[11];
swap q[11], q[10];
swap q[10], q[8];
swap q[8], q[7];
cx q[7], q[6];
swap q[11], q[12];
cx q[12], q[13];
swap q[9], q[8];
swap q[8], q[7];
swap q[7], q[6];
cx q[6], q[5];
swap q[6], q[7];
swap q[7], q[8];
swap q[8], q[10];
swap q[10], q[11];
swap q[11], q[12];
swap q[12], q[14];
cx q[14], q[15];
cx q[14], q[13];
swap q[2], q[3];
swap q[3], q[4];
swap q[4], q[6];
swap q[6], q[7];
swap q[7], q[8];
swap q[8], q[10];
swap q[10], q[11];
swap q[11], q[12];
swap q[12], q[14];
cx q[14], q[15];
cx q[8], q[10];
s q[6];
x q[0];
h q[3];
h q[1];
h q[7];
x q[2];
rz(0.7853975) q[14];
y q[4];
t q[9];
t q[13];
t q[11];
swap q[5], q[6];
cx q[6], q[7];
swap q[0], q[2];
swap q[2], q[3];
swap q[3], q[4];
cx q[4], q[6];
swap q[3], q[4];
cx q[4], q[5];
swap q[15], q[14];
swap q[14], q[12];
swap q[12], q[11];
swap q[11], q[10];
swap q[10], q[8];
swap q[8], q[7];
swap q[7], q[6];
cx q[6], q[5];
swap q[5], q[6];
swap q[6], q[7];
cx q[7], q[8];
swap q[11], q[10];
swap q[10], q[8];
swap q[8], q[7];
swap q[7], q[6];
swap q[6], q[4];
swap q[4], q[3];
swap q[3], q[2];
cx q[2], q[1];
rz(0.7853975) q[8];
s q[4];
s q[3];
t q[1];
s q[11];
y q[7];
rz(0.7853975) q[0];
t q[2];
y q[15];
y q[9];
y q[13];
s q[5];
swap q[3], q[4];
swap q[4], q[6];
swap q[6], q[7];
swap q[7], q[8];
swap q[8], q[10];
swap q[10], q[11];
swap q[11], q[12];
cx q[12], q[13];
swap q[6], q[4];
swap q[4], q[3];
swap q[3], q[2];
cx q[2], q[0];
swap q[15], q[14];
swap q[14], q[12];
cx q[12], q[11];
swap q[12], q[11];
swap q[11], q[10];
swap q[10], q[8];
cx q[8], q[7];
swap q[14], q[12];
swap q[12], q[11];
cx q[11], q[10];
t q[11];
y q[12];
t q[2];
s q[0];
x q[3];
s q[8];
x q[9];
h q[5];
swap q[0], q[2];
swap q[2], q[3];
cx q[3], q[4];
t q[7];
h q[4];
rz(0.7853975) q[11];
x q[12];
rz(0.7853975) q[0];
s q[10];
x q[15];
y q[2];
s q[6];
t q[13];
y q[14];
s q[5];
cx q[14], q[13];
measure q -> c;


[System] You are Q-Route, an enterprise-grade deterministic Quantum Hardware Compiler. Your objective is to translate an abstract quantum circuit in OpenQASM 2.0 format into a physical hardware-compliant OpenQASM 2.0 circuit. The output circuit MUST strictly adhere to the provided physical coupling map (qubit connectivity graph). Insert SWAP gates where necessary to satisfy physical edge constraints. Output ONLY the compiled OpenQASM 2.0 code without any markdown wrapper or natural language explanation.

[User]
### Physical Hardware Specification:
- Target Topology: HeavyHex-14
- Number of Qubits: 14
- Valid Physical Edges (Coupling Map): [[0, 1], [0, 2], [1, 0], [1, 2], [2, 0], [2, 1], [2, 3], [3, 2], [3, 4], [4, 3], [4, 5], [4, 6], [5, 4], [5, 6], [6, 4], [6, 5], [6, 7], [7, 6], [7, 8], [8, 7], [8, 9], [8, 10], [9, 8], [9, 10], [10, 8], [10, 9], [10, 11], [11, 10], [11, 12], [12, 11], [12, 13], [13, 12]]

### Hardware Constraints:
1. 2-qubit gates (e.g. `cx`) can ONLY be executed between physical qubit indices (u, v) that exist in the Coupling Map.
2. Use SWAP gates to route qubits across non-adjacent nodes.
3. Minimize overall circuit depth and SWAP overhead.

### Abstract Input OpenQASM 2.0:
```qasm
OPENQASM 2.0;
include "qelib1.inc";
qreg q[14];
creg c[14];
s q[0];
rz(0.7853975) q[1];
rz(0.7853975) q[2];
h q[3];
t q[4];
rz(0.7853975) q[5];
x q[11];
y q[12];
cx q[4], q[9];
cx q[10], q[6];
y q[0];
y q[1];
t q[2];
s q[3];
h q[5];
x q[6];
x q[8];
h q[9];
t q[10];
s q[13];
cx q[5], q[2];
cx q[7], q[13];
cx q[1], q[3];
cx q[10], q[13];
t q[0];
t q[1];
t q[2];
s q[4];
t q[8];
s q[9];
y q[11];
t q[13];
cx q[13], q[3];
cx q[8], q[7];
h q[0];
rz(0.7853975) q[1];
t q[3];
x q[4];
y q[7];
rz(0.7853975) q[8];
x q[9];
rz(0.7853975) q[10];
rz(0.7853975) q[12];
t q[13];
cx q[5], q[2];
cx q[11], q[8];
cx q[8], q[7];
h q[0];
s q[2];
s q[5];
y q[6];
x q[7];
y q[10];
y q[12];
rz(0.7853975) q[13];
cx q[6], q[2];
cx q[9], q[4];
cx q[5], q[10];
cx q[8], q[12];
cx q[10], q[1];
cx q[2], q[4];
cx q[0], q[9];
s q[3];
s q[6];
y q[7];
s q[8];
h q[10];
t q[11];
t q[12];
cx q[3], q[7];
cx q[3], q[4];
cx q[11], q[1];
cx q[5], q[9];
cx q[8], q[3];
cx q[10], q[2];
s q[0];
x q[1];
y q[2];
rz(0.7853975) q[3];
rz(0.7853975) q[4];
t q[8];
y q[10];
cx q[3], q[7];
cx q[9], q[6];
cx q[3], q[6];
cx q[8], q[12];
cx q[1], q[4];
s q[2];
y q[6];
t q[7];
x q[9];
t q[13];
cx q[9], q[10];
cx q[4], q[10];
cx q[6], q[4];
cx q[9], q[2];
cx q[10], q[8];
x q[0];
t q[1];
x q[2];
s q[3];
h q[5];
rz(0.7853975) q[6];
s q[9];
y q[11];
cx q[6], q[2];
cx q[2], q[10];
cx q[5], q[13];
cx q[4], q[0];
s q[1];
t q[2];
y q[3];
s q[4];
x q[5];
x q[10];
y q[11];
x q[12];
cx q[12], q[10];
h q[2];
x q[7];
rz(0.7853975) q[8];
h q[9];
x q[10];
s q[11];
y q[12];
t q[13];
cx q[3], q[13];
cx q[6], q[3];
cx q[2], q[12];
cx q[4], q[9];
cx q[8], q[1];
cx q[2], q[0];
rz(0.7853975) q[1];
rz(0.7853975) q[2];
x q[3];
x q[6];
h q[8];
rz(0.7853975) q[9];
x q[12];
rz(0.7853975) q[13];
cx q[5], q[0];
t q[0];
y q[2];
t q[3];
s q[4];
rz(0.7853975) q[5];
y q[8];
y q[10];
h q[11];
cx q[12], q[0];
cx q[6], q[1];
x q[0];
rz(0.7853975) q[1];
h q[2];
rz(0.7853975) q[3];
x q[4];
t q[5];
x q[7];
t q[8];
s q[10];
rz(0.7853975) q[11];
h q[12];
cx q[5], q[13];
cx q[5], q[0];
cx q[5], q[6];
cx q[3], q[8];
cx q[3], q[11];
measure q -> c;
```

### Compiled Hardware-Compliant OpenQASM 2.0:

[Assistant]
OPENQASM 2.0;
include "qelib1.inc";
qreg q[14];
creg c[14];
s q[0];
rz(0.7853975) q[1];
rz(0.7853975) q[2];
h q[3];
t q[4];
rz(0.7853975) q[5];
x q[11];
y q[12];
swap q[4], q[6];
swap q[6], q[7];
swap q[7], q[8];
cx q[8], q[9];
swap q[10], q[8];
swap q[8], q[7];
swap q[7], q[6];
cx q[6], q[4];
y q[0];
y q[1];
t q[2];
s q[3];
h q[5];
x q[4];
x q[8];
h q[9];
t q[6];
s q[13];
swap q[5], q[4];
swap q[4], q[3];
cx q[3], q[2];
swap q[7], q[8];
swap q[8], q[10];
swap q[10], q[11];
swap q[11], q[12];
cx q[12], q[13];
swap q[1], q[2];
swap q[2], q[3];
cx q[3], q[4];
swap q[6], q[7];
swap q[7], q[8];
swap q[8], q[10];
swap q[10], q[11];
swap q[11], q[12];
cx q[12], q[13];
t q[0];
t q[3];
t q[1];
s q[7];
t q[6];
s q[9];
y q[8];
t q[13];
swap q[13], q[12];
swap q[12], q[11];
swap q[11], q[10];
swap q[10], q[8];
swap q[8], q[7];
swap q[7], q[6];
cx q[6], q[4];
swap q[7], q[8];
swap q[8], q[10];
swap q[10], q[11];
cx q[11], q[12];
h q[0];
rz(0.7853975) q[3];
t q[4];
x q[7];
y q[12];
rz(0.7853975) q[11];
x q[9];
rz(0.7853975) q[13];
rz(0.7853975) q[10];
t q[6];
cx q[2], q[1];
swap q[8], q[10];
cx q[10], q[11];
cx q[11], q[12];
h q[0];
s q[1];
s q[2];
y q[5];
x q[12];
y q[13];
y q[8];
rz(0.7853975) q[6];
swap q[5], q[4];
swap q[4], q[3];
swap q[3], q[2];
cx q[2], q[1];
swap q[9], q[8];
cx q[8], q[7];
swap q[3], q[4];
swap q[4], q[6];
swap q[6], q[7];
swap q[7], q[8];
swap q[8], q[10];
swap q[10], q[11];
swap q[11], q[12];
cx q[12], q[13];
cx q[10], q[9];
swap q[13], q[12];
swap q[12], q[11];
swap q[11], q[10];
swap q[10], q[8];
swap q[8], q[7];
swap q[7], q[6];
swap q[6], q[4];
cx q[4], q[3];
swap q[1], q[2];
swap q[2], q[3];
swap q[3], q[4];
swap q[4], q[6];
cx q[6], q[7];
swap q[0], q[2];
swap q[2], q[3];
swap q[3], q[4];
swap q[4], q[6];
swap q[6], q[7];
cx q[7], q[8];
s q[5];
s q[1];
y q[12];
s q[11];
h q[2];
t q[10];
t q[9];
swap q[5], q[6];
swap q[6], q[7];
swap q[7], q[8];
swap q[8], q[10];
swap q[10], q[11];
cx q[11], q[12];
swap q[11], q[10];
swap q[10], q[8];
swap q[8], q[7];
swap q[7], q[6];
cx q[6], q[5];
swap q[10], q[8];
swap q[8], q[7];
swap q[7], q[6];
swap q[6], q[4];
swap q[4], q[3];
swap q[3], q[2];
cx q[2], q[0];
swap q[13], q[12];
swap q[12], q[11];
cx q[11], q[10];
swap q[12], q[11];
swap q[11], q[10];
swap q[10], q[8];
cx q[8], q[7];
swap q[3], q[4];
cx q[4], q[6];
s q[10];
x q[0];
y q[6];
rz(0.7853975) q[7];
rz(0.7853975) q[5];
t q[8];
y q[4];
swap q[7], q[8];
swap q[8], q[10];
swap q[10], q[11];
swap q[11], q[12];
cx q[12], q[13];
swap q[10], q[8];
swap q[8], q[7];
swap q[7], q[6];
swap q[6], q[4];
swap q[4], q[3];
swap q[3], q[2];
cx q[2], q[1];
swap q[12], q[11];
swap q[11], q[10];
swap q[10], q[8];
swap q[8], q[7];
swap q[7], q[6];
swap q[6], q[4];
swap q[4], q[3];
swap q[3], q[2];
cx q[2], q[1];
cx q[10], q[9];
swap q[0], q[2];
swap q[2], q[3];
swap q[3], q[4];
cx q[4], q[5];
s q[8];
y q[1];
t q[13];
x q[2];
t q[6];
swap q[2], q[3];
swap q[3], q[4];
swap q[4], q[6];
cx q[6], q[7];
swap q[5], q[6];
cx q[6], q[7];
swap q[1], q[2];
swap q[2], q[3];
swap q[3], q[4];
cx q[4], q[6];
swap q[5], q[6];
swap q[6], q[7];
cx q[7], q[8];
swap q[6], q[7];
swap q[7], q[8];
cx q[8], q[10];
x q[11];
t q[2];
x q[7];
s q[0];
h q[12];
rz(0.7853975) q[4];
s q[6];
y q[1];
swap q[4], q[6];
cx q[6], q[7];
cx q[7], q[8];
swap q[12], q[11];
swap q[11], q[10];
swap q[10], q[8];
swap q[8], q[7];
swap q[7], q[6];
swap q[6], q[4];
cx q[4], q[3];
swap q[5], q[6];
swap q[6], q[7];
swap q[7], q[8];
swap q[8], q[10];
swap q[10], q[11];
cx q[11], q[12];
s q[2];
t q[7];
y q[0];
s q[11];
x q[4];
x q[8];
y q[1];
x q[9];
cx q[9], q[8];
h q[7];
x q[13];
rz(0.7853975) q[10];
h q[5];
x q[8];
s q[1];
y q[9];
t q[3];
swap q[0], q[2];
cx q[2], q[3];
swap q[6], q[4];
swap q[4], q[3];
cx q[3], q[2];
swap q[7], q[8];
cx q[8], q[9];
swap q[11], q[10];
swap q[10], q[8];
swap q[8], q[7];
swap q[7], q[6];
cx q[6], q[5];
swap q[11], q[10];
swap q[10], q[8];
swap q[8], q[7];
swap q[7], q[6];
swap q[6], q[4];
swap q[4], q[3];
swap q[3], q[2];
cx q[2], q[0];
cx q[11], q[12];
rz(0.7853975) q[0];
rz(0.7853975) q[11];
x q[3];
x q[4];
h q[2];
rz(0.7853975) q[5];
x q[9];
rz(0.7853975) q[6];
swap q[8], q[10];
swap q[10], q[11];
cx q[11], q[12];
t q[12];
y q[10];
t q[3];
s q[7];
rz(0.7853975) q[11];
y q[2];
y q[8];
h q[1];
swap q[9], q[10];
swap q[10], q[11];
cx q[11], q[12];
swap q[4], q[3];
swap q[3], q[2];
cx q[2], q[0];
x q[12];
rz(0.7853975) q[0];
h q[9];
rz(0.7853975) q[4];
x q[7];
t q[10];
x q[13];
t q[3];
s q[8];
rz(0.7853975) q[1];
h q[11];
swap q[10], q[8];
swap q[8], q[7];
cx q[7], q[6];
swap q[7], q[8];
swap q[8], q[10];
swap q[10], q[11];
cx q[11], q[12];
swap q[11], q[10];
swap q[10], q[8];
swap q[8], q[7];
swap q[7], q[6];
swap q[6], q[4];
swap q[4], q[3];
cx q[3], q[2];
cx q[6], q[4];
swap q[6], q[4];
swap q[4], q[3];
swap q[3], q[2];
cx q[2], q[1];
measure q -> c;


[System] You are Q-Route, an enterprise-grade deterministic Quantum Hardware Compiler. Your objective is to translate an abstract quantum circuit in OpenQASM 2.0 format into a physical hardware-compliant OpenQASM 2.0 circuit. The output circuit MUST strictly adhere to the provided physical coupling map (qubit connectivity graph). Insert SWAP gates where necessary to satisfy physical edge constraints. Output ONLY the compiled OpenQASM 2.0 code without any markdown wrapper or natural language explanation.

[User]
### Physical Hardware Specification:
- Target Topology: Linear-8
- Number of Qubits: 8
- Valid Physical Edges (Coupling Map): [[0, 1], [1, 0], [1, 2], [2, 1], [2, 3], [3, 2], [3, 4], [4, 3], [4, 5], [5, 4], [5, 6], [6, 5], [6, 7], [7, 6]]

### Hardware Constraints:
1. 2-qubit gates (e.g. `cx`) can ONLY be executed between physical qubit indices (u, v) that exist in the Coupling Map.
2. Use SWAP gates to route qubits across non-adjacent nodes.
3. Minimize overall circuit depth and SWAP overhead.

### Abstract Input OpenQASM 2.0:
```qasm
OPENQASM 2.0;
include "qelib1.inc";
qreg q[8];
creg c[8];
x q[7];
rz(0.7853975) q[0];
y q[0];
t q[6];
cx q[3], q[0];
cx q[5], q[1];
measure q -> c;
```

### Compiled Hardware-Compliant OpenQASM 2.0:

[Assistant]
OPENQASM 2.0;
include "qelib1.inc";
qreg q[8];
creg c[8];
x q[7];
rz(0.7853975) q[0];
y q[0];
t q[6];
swap q[3], q[2];
swap q[2], q[1];
cx q[1], q[0];
swap q[5], q[4];
swap q[4], q[3];
cx q[3], q[2];
measure q -> c;


[System] You are Q-Route, an enterprise-grade deterministic Quantum Hardware Compiler. Your objective is to translate an abstract quantum circuit in OpenQASM 2.0 format into a physical hardware-compliant OpenQASM 2.0 circuit. The output circuit MUST strictly adhere to the provided physical coupling map (qubit connectivity graph). Insert SWAP gates where necessary to satisfy physical edge constraints. Output ONLY the compiled OpenQASM 2.0 code without any markdown wrapper or natural language explanation.

[User]
### Physical Hardware Specification:
- Target Topology: Linear-10
- Number of Qubits: 10
- Valid Physical Edges (Coupling Map): [[0, 1], [1, 0], [1, 2], [2, 1], [2, 3], [3, 2], [3, 4], [4, 3], [4, 5], [5, 4], [5, 6], [6, 5], [6, 7], [7, 6], [7, 8], [8, 7], [8, 9], [9, 8]]

### Hardware Constraints:
1. 2-qubit gates (e.g. `cx`) can ONLY be executed between physical qubit indices (u, v) that exist in the Coupling Map.
2. Use SWAP gates to route qubits across non-adjacent nodes.
3. Minimize overall circuit depth and SWAP overhead.

### Abstract Input OpenQASM 2.0:
```qasm
OPENQASM 2.0;
include "qelib1.inc";
qreg q[10];
creg c[10];
h q[5];
t q[5];
s q[9];
s q[5];
cx q[7], q[0];
measure q -> c;
```

### Compiled Hardware-Compliant OpenQASM 2.0:

[Assistant]
OPENQASM 2.0;
include "qelib1.inc";
qreg q[10];
creg c[10];
h q[5];
t q[5];
s q[9];
s q[5];
swap q[7], q[6];
swap q[6], q[5];
swap q[5], q[4];
swap q[4], q[3];
swap q[3], q[2];
swap q[2], q[1];
cx q[1], q[0];
measure q -> c;


[System] You are Q-Route, an enterprise-grade deterministic Quantum Hardware Compiler. Your objective is to translate an abstract quantum circuit in OpenQASM 2.0 format into a physical hardware-compliant OpenQASM 2.0 circuit. The output circuit MUST strictly adhere to the provided physical coupling map (qubit connectivity graph). Insert SWAP gates where necessary to satisfy physical edge constraints. Output ONLY the compiled OpenQASM 2.0 code without any markdown wrapper or natural language explanation.

[User]
### Physical Hardware Specification:
- Target Topology: Linear-7
- Number of Qubits: 7
- Valid Physical Edges (Coupling Map): [[0, 1], [1, 0], [1, 2], [2, 1], [2, 3], [3, 2], [3, 4], [4, 3], [4, 5], [5, 4], [5, 6], [6, 5]]

### Hardware Constraints:
1. 2-qubit gates (e.g. `cx`) can ONLY be executed between physical qubit indices (u, v) that exist in the Coupling Map.
2. Use SWAP gates to route qubits across non-adjacent nodes.
3. Minimize overall circuit depth and SWAP overhead.

### Abstract Input OpenQASM 2.0:
```qasm
OPENQASM 2.0;
include "qelib1.inc";
qreg q[7];
creg c[7];
t q[4];
rz(0.7853975) q[4];
x q[3];
t q[6];
h q[3];
cx q[2], q[1];
measure q -> c;
```

### Compiled Hardware-Compliant OpenQASM 2.0:

[Assistant]
OPENQASM 2.0;
include "qelib1.inc";
qreg q[7];
creg c[7];
t q[4];
rz(0.7853975) q[4];
x q[3];
t q[6];
h q[3];
cx q[2], q[1];
measure q -> c;


[System] You are Q-Route, an enterprise-grade deterministic Quantum Hardware Compiler. Your objective is to translate an abstract quantum circuit in OpenQASM 2.0 format into a physical hardware-compliant OpenQASM 2.0 circuit. The output circuit MUST strictly adhere to the provided physical coupling map (qubit connectivity graph). Insert SWAP gates where necessary to satisfy physical edge constraints. Output ONLY the compiled OpenQASM 2.0 code without any markdown wrapper or natural language explanation.

[User]
### Physical Hardware Specification:
- Target Topology: HeavyHex-9
- Number of Qubits: 9
- Valid Physical Edges (Coupling Map): [[0, 1], [0, 2], [1, 0], [1, 2], [2, 0], [2, 1], [2, 3], [3, 2], [3, 4], [4, 3], [4, 5], [4, 6], [5, 4], [5, 6], [6, 4], [6, 5], [6, 7], [7, 6], [7, 8], [8, 7]]

### Hardware Constraints:
1. 2-qubit gates (e.g. `cx`) can ONLY be executed between physical qubit indices (u, v) that exist in the Coupling Map.
2. Use SWAP gates to route qubits across non-adjacent nodes.
3. Minimize overall circuit depth and SWAP overhead.

### Abstract Input OpenQASM 2.0:
```qasm
OPENQASM 2.0;
include "qelib1.inc";
qreg q[9];
creg c[9];
s q[0];
x q[1];
x q[2];
x q[4];
x q[5];
t q[6];
t q[7];
y q[8];
cx q[4], q[2];
cx q[0], q[1];
t q[0];
h q[1];
s q[2];
x q[4];
cx q[3], q[1];
cx q[7], q[4];
s q[3];
t q[4];
s q[6];
t q[8];
cx q[2], q[6];
cx q[3], q[4];
cx q[7], q[6];
cx q[8], q[3];
s q[0];
rz(0.7853975) q[1];
rz(0.7853975) q[2];
s q[4];
s q[6];
x q[7];
cx q[3], q[7];
cx q[3], q[7];
cx q[0], q[2];
h q[2];
s q[3];
y q[4];
x q[5];
rz(0.7853975) q[6];
t q[7];
h q[8];
cx q[1], q[7];
x q[0];
t q[2];
t q[5];
s q[6];
t q[7];
t q[8];
cx q[7], q[4];
h q[1];
s q[7];
cx q[1], q[8];
cx q[0], q[5];
t q[1];
t q[2];
h q[3];
rz(0.7853975) q[4];
h q[5];
cx q[3], q[7];
cx q[6], q[8];
measure q -> c;
```

### Compiled Hardware-Compliant OpenQASM 2.0:

[Assistant]
OPENQASM 2.0;
include "qelib1.inc";
qreg q[9];
creg c[9];
s q[0];
x q[1];
x q[2];
x q[4];
x q[5];
t q[6];
t q[7];
y q[8];
swap q[4], q[3];
cx q[3], q[2];
cx q[0], q[1];
t q[0];
h q[1];
s q[2];
x q[3];
swap q[4], q[3];
swap q[3], q[2];
cx q[2], q[1];
swap q[7], q[6];
cx q[6], q[4];
s q[2];
t q[4];
s q[7];
t q[8];
swap q[3], q[4];
swap q[4], q[6];
cx q[6], q[7];
cx q[2], q[3];
swap q[4], q[6];
cx q[6], q[7];
swap q[8], q[7];
swap q[7], q[6];
swap q[6], q[4];
swap q[4], q[3];
cx q[3], q[2];
s q[0];
rz(0.7853975) q[1];
rz(0.7853975) q[6];
s q[4];
s q[8];
x q[7];
swap q[2], q[3];
swap q[3], q[4];
swap q[4], q[6];
cx q[6], q[7];
cx q[6], q[7];
swap q[0], q[2];
swap q[2], q[3];
cx q[3], q[4];
h q[4];
s q[6];
y q[2];
x q[5];
rz(0.7853975) q[8];
t q[7];
h q[0];
swap q[1], q[2];
swap q[2], q[3];
swap q[3], q[4];
swap q[4], q[6];
cx q[6], q[7];
x q[2];
t q[3];
t q[5];
s q[8];
t q[7];
t q[0];
swap q[7], q[6];
swap q[6], q[4];
swap q[4], q[3];
swap q[3], q[2];
cx q[2], q[1];
h q[7];
s q[2];
swap q[7], q[6];
swap q[6], q[4];
swap q[4], q[3];
swap q[3], q[2];
cx q[2], q[0];
cx q[4], q[5];
t q[2];
t q[6];
h q[7];
rz(0.7853975) q[1];
h q[5];
swap q[7], q[6];
swap q[6], q[4];
cx q[4], q[3];
swap q[8], q[7];
swap q[7], q[6];
swap q[6], q[4];
swap q[4], q[3];
swap q[3], q[2];
cx q[2], q[0];
measure q -> c;