#### 7.31 bug in ‘evalf/ellipticf‘, maplevr5, maple 6 and maple 7 (21.8.00)

I think there is a bug in evalf/EllipticF function over the complex numbers (at least in MapleVR5). Consider the following input:

>Z:=int(sqrt(1+x^4)-x^2,x=a..b):



(The result is rather long expression with elliptic integral of the ﬁrst kind functions; the second term was added to produce O(1) result for large (a-b)). Now consider, for example

>Digits:=30:
>evalf(eval(Z,{a=0,b=100}));

1.23088423134039493019005903731 -

.0000892558644560151253063409319366 I



The error is obvious — the integral of real valued function along the real axis should be real. Moreover, when the ‘int‘ is invoked with real limits or symbols assumed to be real it gives manifestly real answer (probably correct).

##### 7.31.2 Preben Alsholm (30.8.00)

Well, it gets more and more curious:

> restart;
> assume(a<1,b>1);
> int(sqrt(1+x^4)-x^2,x=a..b);
>
3         3                     4                      4
- 1/3 b~  + 1/3 a~  + 1/3 b~ sqrt(1 + b~ ) - 1/3 a~ sqrt(1 + a~ )



a nice (but unfortunately wrong) result. Changing the assume-line to

>assume(a<1,b>1,a>-1);



seems to produce the correct result, as does also the explicit command

> int(sqrt(1+x^4)-x^2, x=0..100);