\left(0.5 \cdot \cos re\right) \cdot \left(e^{-im} + e^{im}\right)\left(e^{im} + e^{-im}\right) \cdot \left(0.5 \cdot \cos re\right)double f(double re, double im) {
double r2714031 = 0.5;
double r2714032 = re;
double r2714033 = cos(r2714032);
double r2714034 = r2714031 * r2714033;
double r2714035 = im;
double r2714036 = -r2714035;
double r2714037 = exp(r2714036);
double r2714038 = exp(r2714035);
double r2714039 = r2714037 + r2714038;
double r2714040 = r2714034 * r2714039;
return r2714040;
}
double f(double re, double im) {
double r2714041 = im;
double r2714042 = exp(r2714041);
double r2714043 = -r2714041;
double r2714044 = exp(r2714043);
double r2714045 = r2714042 + r2714044;
double r2714046 = 0.5;
double r2714047 = re;
double r2714048 = cos(r2714047);
double r2714049 = r2714046 * r2714048;
double r2714050 = r2714045 * r2714049;
return r2714050;
}



Bits error versus re



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