I am not getting erf(%i) to produce a float
value. So this is a "feature request".
If we use the manual def of erf(z), and the fact that
the integrand is an entire function, the integral is
independent of the path taken from the origin to
the final complex point z.
so we can choose a path along the imaginary axis to
the final point %i to get
erf(%i) = 2*%i*integrate(exp(y^2),y,0,1)/sqrt(%pi)
= pure imaginary
then use integrate with erfflag = false:
-------------------------------------------
(%i1) expand(2*%i*integrate(exp(x^2),x,0,1)/sqrt(%pi));
(%o1) erf(%i)
(%i2) float(%);
(%o2) erf(%i)
(%i3) erfflag;
(%o3) true
(%i4) erfflag:false$
(%i5) integrate(exp(x^2),x,0,1);
(%o5) %i*gamma_incomplete(1/2,-1)/2-sqrt(%pi)*%i/2
(%i6) expand(float(%));
(%o6) 1.462651745907182
(%i7) float(2*%/sqrt(%pi));
(%o7) 1.650425758797543
----------------------------------------------------------
so erf(%i) = 1.650425758797543*%i approx
-------------------------------------
Ted Woollett