\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 r27593 = 0.5;
double r27594 = re;
double r27595 = sin(r27594);
double r27596 = r27593 * r27595;
double r27597 = 0.0;
double r27598 = im;
double r27599 = r27597 - r27598;
double r27600 = exp(r27599);
double r27601 = exp(r27598);
double r27602 = r27600 + r27601;
double r27603 = r27596 * r27602;
return r27603;
}
double f(double re, double im) {
double r27604 = 0.5;
double r27605 = re;
double r27606 = sin(r27605);
double r27607 = r27604 * r27606;
double r27608 = 0.0;
double r27609 = im;
double r27610 = r27608 - r27609;
double r27611 = exp(r27610);
double r27612 = exp(r27609);
double r27613 = r27611 + r27612;
double r27614 = r27607 * r27613;
return r27614;
}



Bits error versus re



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