\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 r39063 = 0.5;
double r39064 = re;
double r39065 = sin(r39064);
double r39066 = r39063 * r39065;
double r39067 = 0.0;
double r39068 = im;
double r39069 = r39067 - r39068;
double r39070 = exp(r39069);
double r39071 = exp(r39068);
double r39072 = r39070 + r39071;
double r39073 = r39066 * r39072;
return r39073;
}
double f(double re, double im) {
double r39074 = 0.5;
double r39075 = re;
double r39076 = sin(r39075);
double r39077 = r39074 * r39076;
double r39078 = 0.0;
double r39079 = im;
double r39080 = r39078 - r39079;
double r39081 = exp(r39080);
double r39082 = exp(r39079);
double r39083 = r39081 + r39082;
double r39084 = r39077 * r39083;
return r39084;
}



Bits error versus re



Bits error versus im
Results
Initial program 0.0
Final simplification0.0
herbie shell --seed 2020049 +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))))