\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 r54777 = 0.5;
double r54778 = re;
double r54779 = cos(r54778);
double r54780 = r54777 * r54779;
double r54781 = im;
double r54782 = -r54781;
double r54783 = exp(r54782);
double r54784 = exp(r54781);
double r54785 = r54783 + r54784;
double r54786 = r54780 * r54785;
return r54786;
}
double f(double re, double im) {
double r54787 = 0.5;
double r54788 = re;
double r54789 = cos(r54788);
double r54790 = r54787 * r54789;
double r54791 = im;
double r54792 = -r54791;
double r54793 = exp(r54792);
double r54794 = exp(r54791);
double r54795 = r54793 + r54794;
double r54796 = r54790 * r54795;
return r54796;
}



Bits error versus re



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