\left(0.5 \cdot \cos re\right) \cdot \left(e^{-im} + e^{im}\right)\left(0.5 \cdot \cos re\right) \cdot \left(e^{-im} + e^{im}\right)double f(double re, double im) {
double r42897 = 0.5;
double r42898 = re;
double r42899 = cos(r42898);
double r42900 = r42897 * r42899;
double r42901 = im;
double r42902 = -r42901;
double r42903 = exp(r42902);
double r42904 = exp(r42901);
double r42905 = r42903 + r42904;
double r42906 = r42900 * r42905;
return r42906;
}
double f(double re, double im) {
double r42907 = 0.5;
double r42908 = re;
double r42909 = cos(r42908);
double r42910 = r42907 * r42909;
double r42911 = im;
double r42912 = -r42911;
double r42913 = exp(r42912);
double r42914 = exp(r42911);
double r42915 = r42913 + r42914;
double r42916 = r42910 * r42915;
return r42916;
}



Bits error versus re



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