http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56635
--- Comment #5 from Jakub Jelinek <jakub at gcc dot gnu.org> 2013-03-18 08:46:43 UTC --- Even more reduced (-O3): struct A { _Complex double a; }; void foo (A **x, A **y) { A r; if (__real__ x[0]->a) { r.a = y[0]->a / x[0]->a; **x = r; } else **x = **y; }