re \cdot re - im \cdot im
\left(im + re\right) \cdot \left(re - im\right)
double f(double re, double im) {
double r447101 = re;
double r447102 = r447101 * r447101;
double r447103 = im;
double r447104 = r447103 * r447103;
double r447105 = r447102 - r447104;
return r447105;
}
double f(double re, double im) {
double r447106 = im;
double r447107 = re;
double r447108 = r447106 + r447107;
double r447109 = r447107 - r447106;
double r447110 = r447108 * r447109;
return r447110;
}



Bits error versus re



Bits error versus im
Results
Initial program 0.0
rmApplied difference-of-squares0.0
Final simplification0.0
herbie shell --seed 2019163
(FPCore (re im)
:name "math.square on complex, real part"
(- (* re re) (* im im)))