\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 r1669591 = 0.5;
double r1669592 = re;
double r1669593 = cos(r1669592);
double r1669594 = r1669591 * r1669593;
double r1669595 = im;
double r1669596 = -r1669595;
double r1669597 = exp(r1669596);
double r1669598 = exp(r1669595);
double r1669599 = r1669597 + r1669598;
double r1669600 = r1669594 * r1669599;
return r1669600;
}
double f(double re, double im) {
double r1669601 = im;
double r1669602 = exp(r1669601);
double r1669603 = -r1669601;
double r1669604 = exp(r1669603);
double r1669605 = r1669602 + r1669604;
double r1669606 = 0.5;
double r1669607 = re;
double r1669608 = cos(r1669607);
double r1669609 = r1669606 * r1669608;
double r1669610 = r1669605 * r1669609;
return r1669610;
}



Bits error versus re



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