\left(0.5 \cdot \cos re\right) \cdot \left(e^{-im} + e^{im}\right)\cos re \cdot \left(e^{im} \cdot 0.5\right) + \frac{0.5}{e^{im}} \cdot \cos redouble f(double re, double im) {
double r861687 = 0.5;
double r861688 = re;
double r861689 = cos(r861688);
double r861690 = r861687 * r861689;
double r861691 = im;
double r861692 = -r861691;
double r861693 = exp(r861692);
double r861694 = exp(r861691);
double r861695 = r861693 + r861694;
double r861696 = r861690 * r861695;
return r861696;
}
double f(double re, double im) {
double r861697 = re;
double r861698 = cos(r861697);
double r861699 = im;
double r861700 = exp(r861699);
double r861701 = 0.5;
double r861702 = r861700 * r861701;
double r861703 = r861698 * r861702;
double r861704 = r861701 / r861700;
double r861705 = r861704 * r861698;
double r861706 = r861703 + r861705;
return r861706;
}



Bits error versus re



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