expintegral_ei() bug on convergence



Dear all,

It seems that the Maxima function expintegral_ei() behaves unexpectedly for
some complex arguments. (There should be some bugs in the implementation).

Specifically, considering a line log(20.0)/2+%i*t on the complex plane and
t gets
increasing, such as t=30, 40, 50.
the values can
(%i22) expintegral_ei(log(20.0)/2+30*%i);
(%o22) 3.116181583331404*%i-.1466880831183789

(%i23) expintegral_ei(log(20.0)/2+40*%i);
(%o23) 3.205076248461513*%i+.1490949857975915

(%i24) expintegral_ei(log(20.0)/2+50*%i);
(%o24) 1766.649087960532-1098.205534849491*%i

So, (%o24) indicates that somewhere betwee log(20.0)/2+40*%i and
log(20.0)/2+50*%i,
there is a point where expintegral_ei() starts unstable ( not converge).
This function,
however, should converge for these values. (See below for the values
obtained using
mpmath in python).

>>> ei(log(20.0)/2+30j)
(-0.146702095677588 + 3.11618365490682j)
>>> ei(log(20.0)/2+40j)
(0.0823128975103259 + 3.21713799038662j)
>>> ei(log(20.0)/2+50j)
(-0.0225961649812214 + 3.05509271574427j)

Thanks and best regards,
Yasuaki Honda, Chiba, Japan