\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 r36930 = 0.5;
double r36931 = re;
double r36932 = cos(r36931);
double r36933 = r36930 * r36932;
double r36934 = im;
double r36935 = -r36934;
double r36936 = exp(r36935);
double r36937 = exp(r36934);
double r36938 = r36936 + r36937;
double r36939 = r36933 * r36938;
return r36939;
}
double f(double re, double im) {
double r36940 = 0.5;
double r36941 = re;
double r36942 = cos(r36941);
double r36943 = r36940 * r36942;
double r36944 = im;
double r36945 = -r36944;
double r36946 = exp(r36945);
double r36947 = exp(r36944);
double r36948 = r36946 + r36947;
double r36949 = r36943 * r36948;
return r36949;
}



Bits error versus re



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