  Existing quantum systems provide very limited physical qubit counts, trying
to execute a quantum algorithm/circuit on them that have a higher number of
logical qubits than physically available lead to a compile-time error. Given
that it is unrealistic to expect existing quantum systems to provide, in near
future, sufficient number of qubits that can accommodate large circuit, there
is a pressing need to explore strategies that can somehow execute large
circuits on small systems. In this paper, first, we perform an analysis to
identify the qubits that are most suitable for circuit resizing. Our results
reveal that, in most quantum programs, there exist qubits that can be reused
mid-program to serially/sequentially execute the circuit employing fewer
qubits. Motivated by this observation, we design, implement and evaluate a
compiler-based approach that i) identifies the qubits that can be most
beneficial for serial circuit execution; ii) selects those qubits to reuse at
each step of execution for size minimization of the circuit; and iii) minimizes
Middle Measurement (MM) delays due to impractical implementation of shots to
improve the circuit reliability. Furthermore, since our approach intends to
execute the circuits sequentially, the crosstalk errors can also be optimized
as a result of the reduced number of concurrent gates. The experimental results
indicate that our proposed approach can (i) execute large circuits that
initially cannot fit into small circuits, on small quantum hardware, and (ii)
can significantly improve the PST of the results by 2.1X when both original and
our serialized programs can fit into the target quantum hardware.
