\left(0.5 \cdot \cos re\right) \cdot \left(e^{-im} + e^{im}\right)\frac{0.5 \cdot \cos re}{e^{im}} + \left(0.5 \cdot \cos re\right) \cdot e^{im}double f(double re, double im) {
double r34757 = 0.5;
double r34758 = re;
double r34759 = cos(r34758);
double r34760 = r34757 * r34759;
double r34761 = im;
double r34762 = -r34761;
double r34763 = exp(r34762);
double r34764 = exp(r34761);
double r34765 = r34763 + r34764;
double r34766 = r34760 * r34765;
return r34766;
}
double f(double re, double im) {
double r34767 = 0.5;
double r34768 = re;
double r34769 = cos(r34768);
double r34770 = r34767 * r34769;
double r34771 = im;
double r34772 = exp(r34771);
double r34773 = r34770 / r34772;
double r34774 = r34770 * r34772;
double r34775 = r34773 + r34774;
return r34775;
}



Bits error versus re



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