When you try to get the square root of -1 using the exponent operator:
>>> (-1)**0.5
(6.123233995736766e-17+1j)
Why do we get this insignificant real part (still not 0)? What are the operations done by the exponent operator that leads to the float precision error?
What I am trying to get at is how the ** approximate the answer, not to actually get the right answer.