  Quilc is an open-source, optimizing compiler for gate-based quantum programs
written in Quil or QASM, two popular quantum programming languages. The
compiler was designed with attention toward NISQ-era quantum computers,
specifically recognizing that each quantum gate has a non-negligible and often
irrecoverable cost toward a program's successful execution. Quilc's primary
goal is to make authoring quantum software a simpler exercise by making
architectural details less burdensome to the author. Using Quilc allows one to
write programs faster while usually not compromising---and indeed sometimes
improving---their execution fidelity on a given hardware architecture. In this
paper, we describe many of the principles behind Quilc's design, and
demonstrate the compiler with various examples.
