re \cdot re - im \cdot im
\left(im + re\right) \cdot \left(re - im\right)
double f(double re, double im) {
double r469287 = re;
double r469288 = r469287 * r469287;
double r469289 = im;
double r469290 = r469289 * r469289;
double r469291 = r469288 - r469290;
return r469291;
}
double f(double re, double im) {
double r469292 = im;
double r469293 = re;
double r469294 = r469292 + r469293;
double r469295 = r469293 - r469292;
double r469296 = r469294 * r469295;
return r469296;
}



Bits error versus re



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