\left(0.5 \cdot \cos re\right) \cdot \left(e^{-im} + e^{im}\right)\left(e^{im} + e^{-im}\right) \cdot \left(0.5 \cdot \cos re\right)double f(double re, double im) {
double r834805 = 0.5;
double r834806 = re;
double r834807 = cos(r834806);
double r834808 = r834805 * r834807;
double r834809 = im;
double r834810 = -r834809;
double r834811 = exp(r834810);
double r834812 = exp(r834809);
double r834813 = r834811 + r834812;
double r834814 = r834808 * r834813;
return r834814;
}
double f(double re, double im) {
double r834815 = im;
double r834816 = exp(r834815);
double r834817 = -r834815;
double r834818 = exp(r834817);
double r834819 = r834816 + r834818;
double r834820 = 0.5;
double r834821 = re;
double r834822 = cos(r834821);
double r834823 = r834820 * r834822;
double r834824 = r834819 * r834823;
return r834824;
}



Bits error versus re



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