re \cdot re - im \cdot im
\left(re + im\right) \cdot \left(re - im\right)
double f(double re, double im) {
double r336660 = re;
double r336661 = r336660 * r336660;
double r336662 = im;
double r336663 = r336662 * r336662;
double r336664 = r336661 - r336663;
return r336664;
}
double f(double re, double im) {
double r336665 = re;
double r336666 = im;
double r336667 = r336665 + r336666;
double r336668 = r336665 - r336666;
double r336669 = r336667 * r336668;
return r336669;
}



Bits error versus re



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