  The solutions of scalar ordinary differential equations become more complex
as their coefficients increase in magnitude. As a consequence, when a standard
solver is applied to such an equation, its running time grows with the
magnitudes of the equation's coefficients. It is well known, however, that
scalar ordinary differential equations with slowly-varying coefficients admit
slowly-varying phase functions whose cost to represent via standard techniques
is largely independent of the magnitude of the equation's coefficients. This
observation is the basis of most methods for the asymptotic approximation of
the solutions of ordinary differential equations, including the WKB method.
Here, we introduce two numerical algorithms for constructing phase functions
for scalar ordinary differential equations inspired by the classical Levin
method for the calculation of oscillatory integrals. In the case of a large
class of scalar ordinary differential equations with slowly-varying
coefficients, their running times are independent of the magnitude of the
equation's coefficients. The results of extensive numerical experiments
demonstrating the properties of our algorithms are presented.
