\left(0.5 \cdot \sin re\right) \cdot \left(e^{0.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 r2052497 = 0.5;
double r2052498 = re;
double r2052499 = sin(r2052498);
double r2052500 = r2052497 * r2052499;
double r2052501 = 0.0;
double r2052502 = im;
double r2052503 = r2052501 - r2052502;
double r2052504 = exp(r2052503);
double r2052505 = exp(r2052502);
double r2052506 = r2052504 + r2052505;
double r2052507 = r2052500 * r2052506;
return r2052507;
}
double f(double re, double im) {
double r2052508 = 0.5;
double r2052509 = im;
double r2052510 = exp(r2052509);
double r2052511 = re;
double r2052512 = sin(r2052511);
double r2052513 = r2052512 / r2052510;
double r2052514 = fma(r2052510, r2052512, r2052513);
double r2052515 = r2052508 * r2052514;
return r2052515;
}



Bits error versus re



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