\left(0.5 \cdot \sin re\right) \cdot \left(e^{0 - im} + e^{im}\right)0.5 \cdot \mathsf{fma}\left(\sin re, e^{im}, \frac{\sin re}{e^{im}}\right)double f(double re, double im) {
double r785866 = 0.5;
double r785867 = re;
double r785868 = sin(r785867);
double r785869 = r785866 * r785868;
double r785870 = 0.0;
double r785871 = im;
double r785872 = r785870 - r785871;
double r785873 = exp(r785872);
double r785874 = exp(r785871);
double r785875 = r785873 + r785874;
double r785876 = r785869 * r785875;
return r785876;
}
double f(double re, double im) {
double r785877 = 0.5;
double r785878 = re;
double r785879 = sin(r785878);
double r785880 = im;
double r785881 = exp(r785880);
double r785882 = r785879 / r785881;
double r785883 = fma(r785879, r785881, r785882);
double r785884 = r785877 * r785883;
return r785884;
}



Bits error versus re



Bits error versus im
Initial program 0.0
rmApplied associate-*l*0.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2019138 +o rules:numerics
(FPCore (re im)
:name "math.sin on complex, real part"
(* (* 0.5 (sin re)) (+ (exp (- 0 im)) (exp im))))