only call evalf if doit did something
add check for is_zero in re and im
7642: KroneckerDelta more judicious evalf; = 0 for nonzero diff