re \cdot re - im \cdot im
\left(im + re\right) \cdot \left(re - im\right)
double f(double re, double im) {
double r366462 = re;
double r366463 = r366462 * r366462;
double r366464 = im;
double r366465 = r366464 * r366464;
double r366466 = r366463 - r366465;
return r366466;
}
double f(double re, double im) {
double r366467 = im;
double r366468 = re;
double r366469 = r366467 + r366468;
double r366470 = r366468 - r366467;
double r366471 = r366469 * r366470;
return r366471;
}



Bits error versus re



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