------- Additional Comments From pcarlini at suse dot de 2005-01-24 23:01 ------- Hi Richard. It seems to me that the problem is in the implemented formula.
Looking at Goldberg, when |d| >= |c| in its paper,that is |bi| > |br| in the Gcc code, we should have, at the end of the calculation: ((ai + ar*ratio)/div) + i((-ar + ai*ratio)/div) and *not*: ((ar + ai*ratio)/div) + i((ai - ar*ratio)/div) Indeed, this explanation is consistent with the behavior observed with the specific testcase. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19609