\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 r41523 = 0.5;
double r41524 = re;
double r41525 = sin(r41524);
double r41526 = r41523 * r41525;
double r41527 = 0.0;
double r41528 = im;
double r41529 = r41527 - r41528;
double r41530 = exp(r41529);
double r41531 = exp(r41528);
double r41532 = r41530 + r41531;
double r41533 = r41526 * r41532;
return r41533;
}
double f(double re, double im) {
double r41534 = 0.5;
double r41535 = re;
double r41536 = sin(r41535);
double r41537 = r41534 * r41536;
double r41538 = 0.0;
double r41539 = im;
double r41540 = r41538 - r41539;
double r41541 = exp(r41540);
double r41542 = exp(r41539);
double r41543 = r41541 + r41542;
double r41544 = r41537 * r41543;
return r41544;
}



Bits error versus re



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