Isso também não é um problema, mas devido à maneira como os computadores executam operações de ponto flutuante. Existe uma quantidade limitada de precisão com a qual qualquer computador pode operar e, por vezes, você verá anomalias como essa. Embora seja possível escrever um software capaz de lidar com isso, levaria muito mais tempo de computação e aumentaria drasticamente os requisitos de memória.
Se você olhar para ele, e ^ (i * pi) retorna -1 + 1,2x10 ^ -16i. Como você pode ver, o componente imaginário é extremamente pequeno (a maioria consideraria insignificante, uma vez que é 16 ordens de magnitude menor que a parte real). Esse componente é introduzido por erros de arredondamento e precisão, tanto no cálculo em si quanto no valor armazenado de pi, pois é irracional (veja este link para outro exemplo que trata de números irracionais).
Se esse erro de cálculo for inaceitável, procure pacotes matemáticos que executam análises simbólicas e não numéricas ou que usem números de ponto flutuante de alta precisão . A ressalva é que eles aumentarão drasticamente seus requisitos de memória e a análise simbólica geralmente é muito mais lenta. Além disso, números de precisão mais alta encolherão a magnitude dos erros de arredondamento / precisão, e não os eliminarão.