### 35.6 Stopping Parameters

A minimization procedure should stop when one of the following conditions is true:

- A minimum has been found to within the user-specified precision.
- A user-specified maximum number of iterations has been reached.
- An error has occurred.

The handling of these conditions is under user control. The function below allows the user to test the precision of the current result.

Function: int gsl_min_test_interval (double x_lower, double x_upper, double epsabs, double epsrel)

  This function tests for the convergence of the interval [x_lower, x_upper] with absolute error epsabs and relative error epsrel. The test returns `GSL_SUCCESS` if the following condition is achieved,

      |a - b| < epsabs + epsrel min(|a|,|b|)

  when the interval x = [a,b] does not include the origin. If the interval includes the origin then \min(|a|,|b|) is replaced by zero (which is the minimum value of |x| over the interval). This ensures that the relative error is accurately estimated for minima close to the origin.

  This condition on the interval also implies that any estimate of the minimum x_m in the interval satisfies the same condition with respect to the true minimum x_m^*,

      |x_m - x_m^*| < epsabs + epsrel x_m^*

  assuming that the true minimum x_m^* is contained within the interval.