\left(0.5 \cdot \sin re\right) \cdot \left(e^{0.0 - im} + e^{im}\right)\left(0.5 \cdot \sin re\right) \cdot \left(e^{0.0 - im} + e^{im}\right)double f(double re, double im) {
double r22494 = 0.5;
double r22495 = re;
double r22496 = sin(r22495);
double r22497 = r22494 * r22496;
double r22498 = 0.0;
double r22499 = im;
double r22500 = r22498 - r22499;
double r22501 = exp(r22500);
double r22502 = exp(r22499);
double r22503 = r22501 + r22502;
double r22504 = r22497 * r22503;
return r22504;
}
double f(double re, double im) {
double r22505 = 0.5;
double r22506 = re;
double r22507 = sin(r22506);
double r22508 = r22505 * r22507;
double r22509 = 0.0;
double r22510 = im;
double r22511 = r22509 - r22510;
double r22512 = exp(r22511);
double r22513 = exp(r22510);
double r22514 = r22512 + r22513;
double r22515 = r22508 * r22514;
return r22515;
}



Bits error versus re



Bits error versus im
Results
Initial program 0.0
Final simplification0.0
herbie shell --seed 2020057
(FPCore (re im)
:name "math.sin on complex, real part"
:precision binary64
(* (* 0.5 (sin re)) (+ (exp (- 0.0 im)) (exp im))))