re \cdot re - im \cdot im
re \cdot re - im \cdot im
double f(double re, double im) {
double r154362 = re;
double r154363 = r154362 * r154362;
double r154364 = im;
double r154365 = r154364 * r154364;
double r154366 = r154363 - r154365;
return r154366;
}
double f(double re, double im) {
double r154367 = re;
double r154368 = r154367 * r154367;
double r154369 = im;
double r154370 = r154369 * r154369;
double r154371 = r154368 - r154370;
return r154371;
}



Bits error versus re



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