I need to avert permitting a type double variable from exceeding the range limits for that data type during a Gaussian, numerical integration.

I need some means of predicting that the variable is going to infinity due to a time step that is too large, and reducing the time step after some test to determine if the time step needs to be smaller, while expanding it again so the integration doesn't take forever in more stable regions. (Right now the variable simply goes to infinity. Simply reducing the time step would probably leave me in need of a supercomputer to run the entire numerical integration.)

I will ask here, and consult my numerical methods text as well, hoping for some useful insights relative to C++.

Thank you.