\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 r33758 = 0.5;
double r33759 = re;
double r33760 = cos(r33759);
double r33761 = r33758 * r33760;
double r33762 = im;
double r33763 = -r33762;
double r33764 = exp(r33763);
double r33765 = exp(r33762);
double r33766 = r33764 + r33765;
double r33767 = r33761 * r33766;
return r33767;
}
double f(double re, double im) {
double r33768 = 0.5;
double r33769 = re;
double r33770 = cos(r33769);
double r33771 = r33768 * r33770;
double r33772 = im;
double r33773 = -r33772;
double r33774 = exp(r33773);
double r33775 = exp(r33772);
double r33776 = r33774 + r33775;
double r33777 = r33771 * r33776;
return r33777;
}



Bits error versus re



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