x.re \cdot y.re - x.im \cdot y.im
x.re \cdot y.re - x.im \cdot y.im
double f(double x_re, double x_im, double y_re, double y_im) {
double r34977 = x_re;
double r34978 = y_re;
double r34979 = r34977 * r34978;
double r34980 = x_im;
double r34981 = y_im;
double r34982 = r34980 * r34981;
double r34983 = r34979 - r34982;
return r34983;
}
double f(double x_re, double x_im, double y_re, double y_im) {
double r34984 = x_re;
double r34985 = y_re;
double r34986 = r34984 * r34985;
double r34987 = x_im;
double r34988 = y_im;
double r34989 = r34987 * r34988;
double r34990 = r34986 - r34989;
return r34990;
}



Bits error versus x.re



Bits error versus x.im



Bits error versus y.re



Bits error versus y.im
Results
Initial program 0.0
Final simplification0.0
herbie shell --seed 2020021
(FPCore (x.re x.im y.re y.im)
:name "_multiplyComplex, real part"
:precision binary64
(- (* x.re y.re) (* x.im y.im)))