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 r51146 = x_re;
double r51147 = y_re;
double r51148 = r51146 * r51147;
double r51149 = x_im;
double r51150 = y_im;
double r51151 = r51149 * r51150;
double r51152 = r51148 - r51151;
return r51152;
}
double f(double x_re, double x_im, double y_re, double y_im) {
double r51153 = x_re;
double r51154 = y_re;
double r51155 = r51153 * r51154;
double r51156 = x_im;
double r51157 = y_im;
double r51158 = r51156 * r51157;
double r51159 = r51155 - r51158;
return r51159;
}



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 2019303
(FPCore (x.re x.im y.re y.im)
:name "_multiplyComplex, real part"
:precision binary64
(- (* x.re y.re) (* x.im y.im)))