re \cdot re - im \cdot im
re \cdot re - im \cdot im
double f(double re, double im) {
double r8383 = re;
double r8384 = r8383 * r8383;
double r8385 = im;
double r8386 = r8385 * r8385;
double r8387 = r8384 - r8386;
return r8387;
}
double f(double re, double im) {
double r8388 = re;
double r8389 = r8388 * r8388;
double r8390 = im;
double r8391 = r8390 * r8390;
double r8392 = r8389 - r8391;
return r8392;
}



Bits error versus re



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