re \cdot im + im \cdot re
re \cdot \left(2 \cdot im\right)
double f(double re, double im) {
double r13268 = re;
double r13269 = im;
double r13270 = r13268 * r13269;
double r13271 = r13269 * r13268;
double r13272 = r13270 + r13271;
return r13272;
}
double f(double re, double im) {
double r13273 = re;
double r13274 = 2.0;
double r13275 = im;
double r13276 = r13274 * r13275;
double r13277 = r13273 * r13276;
return r13277;
}



Bits error versus re



Bits error versus im
Results
Initial program 0.0
Simplified0.0
rmApplied *-un-lft-identity0.0
Applied associate-*l*0.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2020045
(FPCore (re im)
:name "math.square on complex, imaginary part"
:precision binary64
(+ (* re im) (* im re)))