re \cdot re - im \cdot im
\left(im + re\right) \cdot \left(re - im\right)
double f(double re, double im) {
double r322528 = re;
double r322529 = r322528 * r322528;
double r322530 = im;
double r322531 = r322530 * r322530;
double r322532 = r322529 - r322531;
return r322532;
}
double f(double re, double im) {
double r322533 = im;
double r322534 = re;
double r322535 = r322533 + r322534;
double r322536 = r322534 - r322533;
double r322537 = r322535 * r322536;
return r322537;
}



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)))