Maybe nintegrate should handle complex valued integrands more gracefully: OK: (%i2) nintegrate(x, x, 0, 1); (%o2) 0.5 Not OK: (%i3) nintegrate(x + %i, x, 0, 1); (%o3) 0.5 OK, but why not 0.5 * %i? (%i4) nintegrate(%i, x, 0, 1); (%o4) nintegrate(%i,x,0,1) Barton