\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 r55902 = 0.5;
double r55903 = re;
double r55904 = cos(r55903);
double r55905 = r55902 * r55904;
double r55906 = im;
double r55907 = -r55906;
double r55908 = exp(r55907);
double r55909 = exp(r55906);
double r55910 = r55908 + r55909;
double r55911 = r55905 * r55910;
return r55911;
}
double f(double re, double im) {
double r55912 = 0.5;
double r55913 = re;
double r55914 = cos(r55913);
double r55915 = r55912 * r55914;
double r55916 = im;
double r55917 = -r55916;
double r55918 = exp(r55917);
double r55919 = exp(r55916);
double r55920 = r55918 + r55919;
double r55921 = r55915 * r55920;
return r55921;
}



Bits error versus re



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