http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24581
--- Comment #17 from joseph at codesourcery dot com <joseph at codesourcery dot com> 2010-11-21 23:53:10 UTC --- On Sun, 21 Nov 2010, sgk at troutmask dot apl.washington.edu wrote: > http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24581 > > --- Comment #16 from Steve Kargl <sgk at troutmask dot apl.washington.edu> > 2010-11-21 23:43:10 UTC --- > On Sun, Nov 21, 2010 at 11:34:46PM +0000, joseph at codesourcery dot com > wrote: > > http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24581 > > > > --- Comment #15 from joseph at codesourcery dot com <joseph at codesourcery > > dot com> 2010-11-21 23:33:48 UTC --- > > For the original program I get > > > > -0.000000e+00 -0.000000e+00 > > -nan inf > > > > which appears correct (if one part of a complex number is an infinity, > > anything is valid for the other part and the overall value is still an > > infinity). > > > > The '-nan inf' is incorrect. The correct answer is '0 inf'. Annex G does not define the results for complex*complex multiplication to that level of detail, and for the complex*real multiplication we have here it seems entirely correct to have a NaN (sign unspecified) as the real part.