re \cdot im + im \cdot re
re \cdot im + re \cdot im
double f(double re, double im) {
double r8239 = re;
double r8240 = im;
double r8241 = r8239 * r8240;
double r8242 = r8240 * r8239;
double r8243 = r8241 + r8242;
return r8243;
}
double f(double re, double im) {
double r8244 = re;
double r8245 = im;
double r8246 = r8244 * r8245;
double r8247 = r8246 + r8246;
return r8247;
}



Bits error versus re



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