  Practical error analysis is essential for the design, optimization, and
evaluation of Noisy Intermediate-Scale Quantum(NISQ) computing. However,
bounding errors in quantum programs is a grand challenge, because the effects
of quantum errors depend on exponentially large quantum states. In this work,
we present Gleipnir, a novel methodology toward practically computing verified
error bounds in quantum programs. Gleipnir introduces the
$(\hat\rho,\delta)$-diamond norm, an error metric constrained by a quantum
predicate consisting of the approximate state $\hat\rho$ and its distance
$\delta$ to the ideal state $\rho$. This predicate $(\hat\rho,\delta)$ can be
computed adaptively using tensor networks based on the Matrix Product States.
Gleipnir features a lightweight logic for reasoning about error bounds in noisy
quantum programs, based on the $(\hat\rho,\delta)$-diamond norm metric. Our
experimental results show that Gleipnir is able to efficiently generate tight
error bounds for real-world quantum programs with 10 to 100 qubits, and can be
used to evaluate the error mitigation performance of quantum compiler
transformations.
