  Numerous algorithms call for computation over the integers modulo a
randomly-chosen large prime. In some cases, the quasi-cubic complexity of
selecting a random prime can dominate the total running time. We propose a new
variant of the classic D5 algorithm for "dynamic evaluation", applied to a
randomly-chosen (composite) integer. Unlike the D5 principle which has been
used in the past to compute over a direct product of fields, our method is
simpler as it only requires following a single path after any modulus splits.
The transformation we propose can apply to any algorithm in the algebraic RAM
model, even allowing randomization. The resulting transformed algorithm avoids
any primality tests and will, with constant positive probability, have the same
result as the original computation modulo a randomly-chosen prime. As an
application, we demonstrate how to compute the exact number of nonzero terms in
an unknown integer polynomial in quasi-linear time. We also show how the same
algorithmic transformation technique can be used for computing modulo random
irreducible polynomials over a finite field.
