\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 r51415 = 0.5;
double r51416 = re;
double r51417 = cos(r51416);
double r51418 = r51415 * r51417;
double r51419 = im;
double r51420 = -r51419;
double r51421 = exp(r51420);
double r51422 = exp(r51419);
double r51423 = r51421 + r51422;
double r51424 = r51418 * r51423;
return r51424;
}
double f(double re, double im) {
double r51425 = 0.5;
double r51426 = re;
double r51427 = cos(r51426);
double r51428 = r51425 * r51427;
double r51429 = im;
double r51430 = exp(r51429);
double r51431 = r51428 / r51430;
double r51432 = r51428 * r51430;
double r51433 = r51431 + r51432;
return r51433;
}



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