\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 r42773 = 0.5;
double r42774 = re;
double r42775 = cos(r42774);
double r42776 = r42773 * r42775;
double r42777 = im;
double r42778 = -r42777;
double r42779 = exp(r42778);
double r42780 = exp(r42777);
double r42781 = r42779 + r42780;
double r42782 = r42776 * r42781;
return r42782;
}
double f(double re, double im) {
double r42783 = 0.5;
double r42784 = re;
double r42785 = cos(r42784);
double r42786 = r42783 * r42785;
double r42787 = im;
double r42788 = -r42787;
double r42789 = exp(r42788);
double r42790 = exp(r42787);
double r42791 = r42789 + r42790;
double r42792 = r42786 * r42791;
return r42792;
}



Bits error versus re



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