Mark Lundeberg added the comment:
Good point, it is doing (int-complex), observe also the following pecularities:
>>> -0 - 0j
0j
>>> -0. - 0j
(-0+0j)
>>> -0j
-0j
>>> 0-0j
0j
>>> -(0j)
(-0-0j)
>>> 0.+(-0j)
0j
Does this mean the bug
New submission from Mark Lundeberg:
Although -0.0 and +0.0 compare as equal using the == operator, they are
distinct floating point numbers and in some cases behave differently. (See more
information on the wikipedia article "Signed zero".) The distinction between
+0.0 and -0