\left(0.5 \cdot \sin re\right) \cdot \left(e^{0.0 - im} + e^{im}\right)\left(\frac{1}{2} \cdot \sin re\right) \cdot \left(e^{0.0 - im} + e^{im}\right)double f(double re, double im) {
double r16735 = 0.5;
double r16736 = re;
double r16737 = sin(r16736);
double r16738 = r16735 * r16737;
double r16739 = 0.0;
double r16740 = im;
double r16741 = r16739 - r16740;
double r16742 = exp(r16741);
double r16743 = exp(r16740);
double r16744 = r16742 + r16743;
double r16745 = r16738 * r16744;
return r16745;
}
double f(double re, double im) {
double r16746 = 1.0;
double r16747 = 2.0;
double r16748 = r16746 / r16747;
double r16749 = re;
double r16750 = sin(r16749);
double r16751 = r16748 * r16750;
double r16752 = 0.0;
double r16753 = im;
double r16754 = r16752 - r16753;
double r16755 = exp(r16754);
double r16756 = exp(r16753);
double r16757 = r16755 + r16756;
double r16758 = r16751 * r16757;
return r16758;
}



Bits error versus re



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