\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 r81086 = 0.5;
double r81087 = re;
double r81088 = sin(r81087);
double r81089 = r81086 * r81088;
double r81090 = 0.0;
double r81091 = im;
double r81092 = r81090 - r81091;
double r81093 = exp(r81092);
double r81094 = exp(r81091);
double r81095 = r81093 + r81094;
double r81096 = r81089 * r81095;
return r81096;
}
double f(double re, double im) {
double r81097 = 0.5;
double r81098 = re;
double r81099 = sin(r81098);
double r81100 = r81097 * r81099;
double r81101 = 0.0;
double r81102 = im;
double r81103 = r81101 - r81102;
double r81104 = exp(r81103);
double r81105 = exp(r81102);
double r81106 = r81104 + r81105;
double r81107 = r81100 * r81106;
return r81107;
}



Bits error versus re



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