I have looked at the implementation of complex arithmetic in gcc.
We are already aware of this issue, since you have already reported it ;) The relevant PR is middle-end/18902.
Indeed, our plan involves enabling the (*already available*) algorithm due to Smith. There are still some open issues, however (see "Depends on" and "blocks" fields, for further details).
As usual, patches are *welcome*, if prepared according to our (usual) rules and the necessary copyright assignment is in place.
Paolo.