Compositional Quantum Control Flow with Efficient Compilation in Qunity
Mikhail Mints, Finn Voichick, Leonidas Lampropoulos, Robert Rand
TL;DR
This work advances practical compilation for compositional quantum control flow in Qunity by introducing pmatch and match, two pattern‑matching constructs that extend ctrl while preserving realizability. It delivers the first working Qunity compiler that translates high‑level Qunity programs into OpenQASM 3, augmented with comprehensive low‑ and high‑level optimizations, including direct‑sum restructuring, qubit recycling, and a suite of post‑processing passes. The compiler is evaluated against unoptimized baselines and hand‑crafted Qiskit circuits, showing orders‑of‑magnitude improvements in circuit size and, for many benchmarks, parity with manual implementations. By revising the formalism to ensure encoding validity and developing an IR‑driven pipeline, the work demonstrates that high‑level quantum languages with rich control flow can be practically realized and tuned for hardware‑aware performance. It also outlines a path toward adopting alternative IRs (e.g., QIR/MLIR) to leverage broader optimizers while preserving Qunity’s semantics and typing discipline.
Abstract
Most existing quantum programming languages are based on the quantum circuit model of computation, as higher-level abstractions are particularly challenging to implement - especially ones relating to quantum control flow. The Qunity language, proposed by Voichick et al., offered such an abstraction in the form of a quantum control construct, with great care taken to ensure that the resulting language is still realizable. However, Qunity lacked a working implementation, and the originally proposed compilation procedure was very inefficient, with even simple quantum algorithms compiling to unreasonably large circuits. In this work, we focus on the efficient compilation of high-level quantum control flow constructs, using Qunity as our starting point. We introduce a wider range of abstractions on top of Qunity's core language that offer compelling trade-offs compared to its existing control construct. We create a complete implementation of a Qunity compiler, which converts high-level Qunity code into the quantum assembly language OpenQASM 3. We develop optimization techniques for multiple stages of the Qunity compilation procedure, including both low-level circuit optimizations as well as methods that consider the high-level structure of a Qunity program, greatly reducing the number of qubits and gates used by the compiler.
