evaluate returns incoherent results (from gforge #21716)
Imported issue: Initially reported by @chevilla in https://gforge.inria.fr/tracker/?group_id=1015&aid=21716
The evaluate command returns incoherent results on the following sequence:
evaluate(erfc(x), [-5,-4]);
[NaN;NaN]
erfc is obviously defined and decreasing on the interval, so the result should be an interval slightly larger than [erfc(-4), erfc(-5)].
evaluate(erfc(x), [1,2]);
[4.6777349810472658379307436327470713891082029599398e-3;0.9947217797961590737862585300061660787327487900042]
erfc(1);
Warning: rounding has happened. The value displayed is a faithful rounding to 165 bits of the true result.
0.157299207050285130658779364917390740703933002033697
erfc(2);
Warning: rounding has happened. The value displayed is a faithful rounding to 165 bits of the true result.
4.67773498104726583793074363274707138910820295994e-3
Here, the evaluate command is not technically wrong, but far from being accurate. Increasing the precision does not improve.
Notice that:
erfc(erfc(2));
Warning: rounding has happened. The value displayed is a faithful rounding to 165 bits of the true result.
0.99472177979615907378625853000616607873274879000419
which suggests that the result returned by evaluate is an interval slightly larger that [erfc(2), erfc(erfc(2))] instead of [erfc(2), erfc(1)]