re \cdot im + im \cdot re
re \cdot im + im \cdot re
double f(double re, double im) {
double r11379 = re;
double r11380 = im;
double r11381 = r11379 * r11380;
double r11382 = r11380 * r11379;
double r11383 = r11381 + r11382;
return r11383;
}
double f(double re, double im) {
double r11384 = re;
double r11385 = im;
double r11386 = r11384 * r11385;
double r11387 = r11385 * r11384;
double r11388 = r11386 + r11387;
return r11388;
}



Bits error versus re



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