\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 r63403 = 0.5;
double r63404 = re;
double r63405 = cos(r63404);
double r63406 = r63403 * r63405;
double r63407 = im;
double r63408 = -r63407;
double r63409 = exp(r63408);
double r63410 = exp(r63407);
double r63411 = r63409 + r63410;
double r63412 = r63406 * r63411;
return r63412;
}
double f(double re, double im) {
double r63413 = 0.5;
double r63414 = re;
double r63415 = cos(r63414);
double r63416 = r63413 * r63415;
double r63417 = im;
double r63418 = -r63417;
double r63419 = exp(r63418);
double r63420 = exp(r63417);
double r63421 = r63419 + r63420;
double r63422 = r63416 * r63421;
return r63422;
}



Bits error versus re



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