\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 r3787590 = 0.5;
double r3787591 = re;
double r3787592 = cos(r3787591);
double r3787593 = r3787590 * r3787592;
double r3787594 = im;
double r3787595 = -r3787594;
double r3787596 = exp(r3787595);
double r3787597 = exp(r3787594);
double r3787598 = r3787596 + r3787597;
double r3787599 = r3787593 * r3787598;
return r3787599;
}
double f(double re, double im) {
double r3787600 = im;
double r3787601 = exp(r3787600);
double r3787602 = -r3787600;
double r3787603 = exp(r3787602);
double r3787604 = r3787601 + r3787603;
double r3787605 = 0.5;
double r3787606 = re;
double r3787607 = cos(r3787606);
double r3787608 = r3787605 * r3787607;
double r3787609 = r3787604 * r3787608;
return r3787609;
}



Bits error versus re



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