\left(0.5 \cdot \cos re\right) \cdot \left(e^{-im} + e^{im}\right)\frac{\left(0.5 \cdot \cos re\right) \cdot \left({\left(e^{-im}\right)}^{3} + {\left(e^{im}\right)}^{3}\right)}{e^{-im} \cdot e^{-im} + e^{im} \cdot \left(e^{im} - e^{-im}\right)}double code(double re, double im) {
return ((0.5 * cos(re)) * (exp(-im) + exp(im)));
}
double code(double re, double im) {
return (((0.5 * cos(re)) * (pow(exp(-im), 3.0) + pow(exp(im), 3.0))) / ((exp(-im) * exp(-im)) + (exp(im) * (exp(im) - exp(-im)))));
}



Bits error versus re



Bits error versus im
Results
Initial program 0.0
rmApplied flip3-+0.1
Applied associate-*r/0.1
rmApplied *-commutative0.1
Applied distribute-lft-out--0.1
Final simplification0.1
herbie shell --seed 2020071
(FPCore (re im)
:name "math.cos on complex, real part"
:precision binary64
(* (* 0.5 (cos re)) (+ (exp (- im)) (exp im))))