re \cdot im + im \cdot re
re \cdot im + re \cdot im
double f(double re, double im) {
double r8042 = re;
double r8043 = im;
double r8044 = r8042 * r8043;
double r8045 = r8043 * r8042;
double r8046 = r8044 + r8045;
return r8046;
}
double f(double re, double im) {
double r8047 = re;
double r8048 = im;
double r8049 = r8047 * r8048;
double r8050 = r8049 + r8049;
return r8050;
}



Bits error versus re



Bits error versus im
Results
Initial program 0.0
Final simplification0.0
herbie shell --seed 2019194
(FPCore (re im)
:name "math.square on complex, imaginary part"
(+ (* re im) (* im re)))