re \cdot im + im \cdot re
re \cdot \left(im + im\right)
double f(double re, double im) {
double r167482 = re;
double r167483 = im;
double r167484 = r167482 * r167483;
double r167485 = r167483 * r167482;
double r167486 = r167484 + r167485;
return r167486;
}
double f(double re, double im) {
double r167487 = re;
double r167488 = im;
double r167489 = r167488 + r167488;
double r167490 = r167487 * r167489;
return r167490;
}



Bits error versus re



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