\left(0.5 \cdot \sin re\right) \cdot \left(e^{0 - im} + e^{im}\right)\sin re \cdot \left(\frac{0.5}{e^{im}} + e^{im} \cdot 0.5\right)double f(double re, double im) {
double r699982 = 0.5;
double r699983 = re;
double r699984 = sin(r699983);
double r699985 = r699982 * r699984;
double r699986 = 0.0;
double r699987 = im;
double r699988 = r699986 - r699987;
double r699989 = exp(r699988);
double r699990 = exp(r699987);
double r699991 = r699989 + r699990;
double r699992 = r699985 * r699991;
return r699992;
}
double f(double re, double im) {
double r699993 = re;
double r699994 = sin(r699993);
double r699995 = 0.5;
double r699996 = im;
double r699997 = exp(r699996);
double r699998 = r699995 / r699997;
double r699999 = r699997 * r699995;
double r700000 = r699998 + r699999;
double r700001 = r699994 * r700000;
return r700001;
}



Bits error versus re



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