re \cdot re - im \cdot im
\left(im + re\right) \cdot \left(re - im\right)
double f(double re, double im) {
double r221171 = re;
double r221172 = r221171 * r221171;
double r221173 = im;
double r221174 = r221173 * r221173;
double r221175 = r221172 - r221174;
return r221175;
}
double f(double re, double im) {
double r221176 = im;
double r221177 = re;
double r221178 = r221176 + r221177;
double r221179 = r221177 - r221176;
double r221180 = r221178 * r221179;
return r221180;
}



Bits error versus re



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