\left(0.5 \cdot \sin re\right) \cdot \left(e^{0.0 - im} + e^{im}\right)e^{0.0 - im} \cdot \left(0.5 \cdot \sin re\right) + e^{im} \cdot \left(0.5 \cdot \sin re\right)double f(double re, double im) {
double r12782 = 0.5;
double r12783 = re;
double r12784 = sin(r12783);
double r12785 = r12782 * r12784;
double r12786 = 0.0;
double r12787 = im;
double r12788 = r12786 - r12787;
double r12789 = exp(r12788);
double r12790 = exp(r12787);
double r12791 = r12789 + r12790;
double r12792 = r12785 * r12791;
return r12792;
}
double f(double re, double im) {
double r12793 = 0.0;
double r12794 = im;
double r12795 = r12793 - r12794;
double r12796 = exp(r12795);
double r12797 = 0.5;
double r12798 = re;
double r12799 = sin(r12798);
double r12800 = r12797 * r12799;
double r12801 = r12796 * r12800;
double r12802 = exp(r12794);
double r12803 = r12802 * r12800;
double r12804 = r12801 + r12803;
return r12804;
}



Bits error versus re



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