\left(0.5 \cdot \sin re\right) \cdot \left(e^{0 - im} + e^{im}\right)\sin re \cdot \left(0.5 \cdot e^{im} + \log \left(e^{\frac{0.5}{e^{im}}}\right)\right)double f(double re, double im) {
double r256770 = 0.5;
double r256771 = re;
double r256772 = sin(r256771);
double r256773 = r256770 * r256772;
double r256774 = 0.0;
double r256775 = im;
double r256776 = r256774 - r256775;
double r256777 = exp(r256776);
double r256778 = exp(r256775);
double r256779 = r256777 + r256778;
double r256780 = r256773 * r256779;
return r256780;
}
double f(double re, double im) {
double r256781 = re;
double r256782 = sin(r256781);
double r256783 = 0.5;
double r256784 = im;
double r256785 = exp(r256784);
double r256786 = r256783 * r256785;
double r256787 = r256783 / r256785;
double r256788 = exp(r256787);
double r256789 = log(r256788);
double r256790 = r256786 + r256789;
double r256791 = r256782 * r256790;
return r256791;
}



Bits error versus re



Bits error versus im
Results
Initial program 0.0
Simplified0.0
rmApplied add-log-exp0.2
Final simplification0.2
herbie shell --seed 2019151
(FPCore (re im)
:name "math.sin on complex, real part"
(* (* 0.5 (sin re)) (+ (exp (- 0 im)) (exp im))))