\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 r34749 = 0.5;
double r34750 = re;
double r34751 = cos(r34750);
double r34752 = r34749 * r34751;
double r34753 = im;
double r34754 = -r34753;
double r34755 = exp(r34754);
double r34756 = exp(r34753);
double r34757 = r34755 + r34756;
double r34758 = r34752 * r34757;
return r34758;
}
double f(double re, double im) {
double r34759 = 0.5;
double r34760 = re;
double r34761 = cos(r34760);
double r34762 = r34759 * r34761;
double r34763 = im;
double r34764 = -r34763;
double r34765 = exp(r34764);
double r34766 = exp(r34763);
double r34767 = r34765 + r34766;
double r34768 = r34762 * r34767;
return r34768;
}



Bits error versus re



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