- n represents the number of recursions

- hopitalrecursions is a global variable. Its value represents the number of steps of recursion that are tried when applying L'Hopital's rule. This rule is applied by the interval evaluator present in the core of Sollya (and particularly visible in commands like infnorm).
- If an expression of the form f/g has to be evaluated by interval arithmetic on an interval I and if f and g have a common zero in I, a direct evaluation leads to NaN. Sollya implements a safe heuristic to avoid this, based on L'Hopital's rule: in such a case, it can be shown that (f/g)(I) C (f'/g')(I). Since the same problem may exist for f'/g', the rule is applied recursively. The number of step in this recursion process is controlled by hopitalrecursions.
- Setting hopitalrecursions to 0 makes Sollya use this rule only once; setting it to 1 makes Sollya use the rule twice, and so on. In particular: the rule is always applied at least once, if necessary.

The number of recursions for Hopital's rule has been set to 0.

> evaluate(log(1+x)^2/x^2,[-1/2; 1]);

[NaN;NaN]

> hopitalrecursions=1;

The number of recursions for Hopital's rule has been set to 1.

> evaluate(log(1+x)^2/x^2,[-1/2; 1]);

[-2.5225887222397812376689284858327062723020005374411;6.7725887222397812376689284858327062723020005374412]