  Probabilistic programming languages (PPLs) are expressive means for creating
and reasoning about probabilistic models. Unfortunately hybrid probabilistic
programs, involving both continuous and discrete structures, are not well
supported by today's PPLs. In this paper we develop a new approximate inference
algorithm for hybrid probabilistic programs that first discretizes the
continuous distributions and then performs discrete inference on the resulting
program. The key novelty is a form of discretization that we call bit blasting,
which uses a binary representation of numbers such that a domain of $2^b$
discretized points can be succinctly represented as a discrete probabilistic
program over poly($b$) Boolean random variables. Surprisingly, we prove that
many common continuous distributions can be bit blasted in a manner that incurs
no loss of accuracy over an explicit discretization and supports efficient
probabilistic inference. We have built a probabilistic programming system for
hybrid programs called HyBit, which employs bit blasting followed by discrete
probabilistic inference. We empirically demonstrate the benefits of our
approach over existing sampling-based and symbolic inference approaches.
