https://gcc.gnu.org/bugzilla/show_bug.cgi?id=122082
--- Comment #3 from Fred J. Tydeman <tydeman at tybor dot com> --- Complex multiply: w * conj(w) == (x+I*y)*(x-I*y) == [x*x - (I*y)*(I*y)] + [I*x*y-I*x*y] == [x*x - (I*I)*(y*y)] + [I*(x*y-*x*y)] == [x*x - (-1)*(y*y)] + [I*(0)] == [x*x + y*y] + I*0 So, the imaginary part of the product should be 0.
