\left(0.5 \cdot \sin re\right) \cdot \left(e^{0 - im} + e^{im}\right)0.5 \cdot \mathsf{fma}\left(e^{im}, \sin re, \frac{\sin re}{e^{im}}\right)double f(double re, double im) {
double r487574 = 0.5;
double r487575 = re;
double r487576 = sin(r487575);
double r487577 = r487574 * r487576;
double r487578 = 0.0;
double r487579 = im;
double r487580 = r487578 - r487579;
double r487581 = exp(r487580);
double r487582 = exp(r487579);
double r487583 = r487581 + r487582;
double r487584 = r487577 * r487583;
return r487584;
}
double f(double re, double im) {
double r487585 = 0.5;
double r487586 = im;
double r487587 = exp(r487586);
double r487588 = re;
double r487589 = sin(r487588);
double r487590 = r487589 / r487587;
double r487591 = fma(r487587, r487589, r487590);
double r487592 = r487585 * r487591;
return r487592;
}



Bits error versus re



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