\frac{\left(x.re \cdot y.im\right)}{\left(x.im \cdot y.re\right)}\left(\mathsf{qma}\left(\left(\left(x.re \cdot y.im\right)\right), x.im, y.re\right)\right)double f(double x_re, double x_im, double y_re, double y_im) {
double r296960 = x_re;
double r296961 = y_im;
double r296962 = r296960 * r296961;
double r296963 = x_im;
double r296964 = y_re;
double r296965 = r296963 * r296964;
double r296966 = r296962 + r296965;
return r296966;
}
double f(double x_re, double x_im, double y_re, double y_im) {
double r296967 = x_re;
double r296968 = y_im;
double r296969 = r296967 * r296968;
double r296970 = /*Error: no posit support in C */;
double r296971 = x_im;
double r296972 = y_re;
double r296973 = /*Error: no posit support in C */;
double r296974 = /*Error: no posit support in C */;
return r296974;
}



Bits error versus x.re



Bits error versus x.im



Bits error versus y.re



Bits error versus y.im
Initial program 0.3
rmApplied introduce-quire0.3
Applied insert-quire-fdp-add0.2
Final simplification0.2
herbie shell --seed 2019163 +o rules:numerics
(FPCore (x.re x.im y.re y.im)
:name "_multiplyComplex, imaginary part"
(+.p16 (*.p16 x.re y.im) (*.p16 x.im y.re)))