\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 r2042062 = 0.5;
double r2042063 = re;
double r2042064 = cos(r2042063);
double r2042065 = r2042062 * r2042064;
double r2042066 = im;
double r2042067 = -r2042066;
double r2042068 = exp(r2042067);
double r2042069 = exp(r2042066);
double r2042070 = r2042068 + r2042069;
double r2042071 = r2042065 * r2042070;
return r2042071;
}
double f(double re, double im) {
double r2042072 = im;
double r2042073 = exp(r2042072);
double r2042074 = -r2042072;
double r2042075 = exp(r2042074);
double r2042076 = r2042073 + r2042075;
double r2042077 = 0.5;
double r2042078 = re;
double r2042079 = cos(r2042078);
double r2042080 = r2042077 * r2042079;
double r2042081 = r2042076 * r2042080;
return r2042081;
}



Bits error versus re



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