\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 r103412 = 0.5;
double r103413 = re;
double r103414 = cos(r103413);
double r103415 = r103412 * r103414;
double r103416 = im;
double r103417 = -r103416;
double r103418 = exp(r103417);
double r103419 = exp(r103416);
double r103420 = r103418 + r103419;
double r103421 = r103415 * r103420;
return r103421;
}
double f(double re, double im) {
double r103422 = 0.5;
double r103423 = re;
double r103424 = cos(r103423);
double r103425 = r103422 * r103424;
double r103426 = im;
double r103427 = -r103426;
double r103428 = exp(r103427);
double r103429 = exp(r103426);
double r103430 = r103428 + r103429;
double r103431 = r103425 * r103430;
return r103431;
}



Bits error versus re



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