\left(0.5 \cdot \sin re\right) \cdot \left(e^{0 - im} + e^{im}\right)\sin re \cdot \mathsf{fma}\left(e^{im}, 0.5, \frac{0.5}{e^{im}}\right)double f(double re, double im) {
double r513682 = 0.5;
double r513683 = re;
double r513684 = sin(r513683);
double r513685 = r513682 * r513684;
double r513686 = 0.0;
double r513687 = im;
double r513688 = r513686 - r513687;
double r513689 = exp(r513688);
double r513690 = exp(r513687);
double r513691 = r513689 + r513690;
double r513692 = r513685 * r513691;
return r513692;
}
double f(double re, double im) {
double r513693 = re;
double r513694 = sin(r513693);
double r513695 = im;
double r513696 = exp(r513695);
double r513697 = 0.5;
double r513698 = r513697 / r513696;
double r513699 = fma(r513696, r513697, r513698);
double r513700 = r513694 * r513699;
return r513700;
}



Bits error versus re



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