\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 r86179 = 0.5;
double r86180 = re;
double r86181 = cos(r86180);
double r86182 = r86179 * r86181;
double r86183 = im;
double r86184 = -r86183;
double r86185 = exp(r86184);
double r86186 = exp(r86183);
double r86187 = r86185 + r86186;
double r86188 = r86182 * r86187;
return r86188;
}
double f(double re, double im) {
double r86189 = 0.5;
double r86190 = re;
double r86191 = cos(r86190);
double r86192 = r86189 * r86191;
double r86193 = im;
double r86194 = exp(r86193);
double r86195 = r86192 / r86194;
double r86196 = r86192 * r86194;
double r86197 = r86195 + r86196;
return r86197;
}



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 2019346 +o rules:numerics
(FPCore (re im)
:name "math.cos on complex, real part"
:precision binary64
(* (* 0.5 (cos re)) (+ (exp (- im)) (exp im))))