improvements to complex ^. fixes #2254