\left(0.5 \cdot \cos re\right) \cdot \left(e^{-im} + e^{im}\right)\frac{0.5 \cdot \cos re}{e^{im}} + \left(0.5 \cdot \cos re\right) \cdot e^{im}double f(double re, double im) {
double r32814 = 0.5;
double r32815 = re;
double r32816 = cos(r32815);
double r32817 = r32814 * r32816;
double r32818 = im;
double r32819 = -r32818;
double r32820 = exp(r32819);
double r32821 = exp(r32818);
double r32822 = r32820 + r32821;
double r32823 = r32817 * r32822;
return r32823;
}
double f(double re, double im) {
double r32824 = 0.5;
double r32825 = re;
double r32826 = cos(r32825);
double r32827 = r32824 * r32826;
double r32828 = im;
double r32829 = exp(r32828);
double r32830 = r32827 / r32829;
double r32831 = r32827 * r32829;
double r32832 = r32830 + r32831;
return r32832;
}



Bits error versus re



Bits error versus im
Results
Initial program 0.0
rmApplied distribute-lft-in0.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2019352
(FPCore (re im)
:name "math.cos on complex, real part"
:precision binary64
(* (* 0.5 (cos re)) (+ (exp (- im)) (exp im))))