re \cdot im + im \cdot re
re \cdot im + re \cdot im
double f(double re, double im) {
double r178939 = re;
double r178940 = im;
double r178941 = r178939 * r178940;
double r178942 = r178940 * r178939;
double r178943 = r178941 + r178942;
return r178943;
}
double f(double re, double im) {
double r178944 = re;
double r178945 = im;
double r178946 = r178944 * r178945;
double r178947 = r178946 + r178946;
return r178947;
}



Bits error versus re



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