\left(0.5 \cdot \cos re\right) \cdot \left(e^{-im} + e^{im}\right)\left(0.5 \cdot \cos re\right) \cdot \left(e^{-im} + e^{im}\right)double f(double re, double im) {
double r66707 = 0.5;
double r66708 = re;
double r66709 = cos(r66708);
double r66710 = r66707 * r66709;
double r66711 = im;
double r66712 = -r66711;
double r66713 = exp(r66712);
double r66714 = exp(r66711);
double r66715 = r66713 + r66714;
double r66716 = r66710 * r66715;
return r66716;
}
double f(double re, double im) {
double r66717 = 0.5;
double r66718 = re;
double r66719 = cos(r66718);
double r66720 = r66717 * r66719;
double r66721 = im;
double r66722 = -r66721;
double r66723 = exp(r66722);
double r66724 = exp(r66721);
double r66725 = r66723 + r66724;
double r66726 = r66720 * r66725;
return r66726;
}



Bits error versus re



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