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



Bits error versus re



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