\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 r1154622 = 0.5;
double r1154623 = re;
double r1154624 = cos(r1154623);
double r1154625 = r1154622 * r1154624;
double r1154626 = im;
double r1154627 = -r1154626;
double r1154628 = exp(r1154627);
double r1154629 = exp(r1154626);
double r1154630 = r1154628 + r1154629;
double r1154631 = r1154625 * r1154630;
return r1154631;
}
double f(double re, double im) {
double r1154632 = im;
double r1154633 = exp(r1154632);
double r1154634 = -r1154632;
double r1154635 = exp(r1154634);
double r1154636 = r1154633 + r1154635;
double r1154637 = 0.5;
double r1154638 = re;
double r1154639 = cos(r1154638);
double r1154640 = r1154637 * r1154639;
double r1154641 = r1154636 * r1154640;
return r1154641;
}



Bits error versus re



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