re \cdot re - im \cdot im
re \cdot re - im \cdot im
double f(double re, double im) {
double r8187 = re;
double r8188 = r8187 * r8187;
double r8189 = im;
double r8190 = r8189 * r8189;
double r8191 = r8188 - r8190;
return r8191;
}
double f(double re, double im) {
double r8192 = re;
double r8193 = r8192 * r8192;
double r8194 = im;
double r8195 = r8194 * r8194;
double r8196 = r8193 - r8195;
return r8196;
}



Bits error versus re



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