\left(0.5 \cdot \cos re\right) \cdot \left(e^{-im} + e^{im}\right)\left(e^{im} + e^{-im}\right) \cdot \left(0.5 \cdot \cos re\right)double f(double re, double im) {
double r2234392 = 0.5;
double r2234393 = re;
double r2234394 = cos(r2234393);
double r2234395 = r2234392 * r2234394;
double r2234396 = im;
double r2234397 = -r2234396;
double r2234398 = exp(r2234397);
double r2234399 = exp(r2234396);
double r2234400 = r2234398 + r2234399;
double r2234401 = r2234395 * r2234400;
return r2234401;
}
double f(double re, double im) {
double r2234402 = im;
double r2234403 = exp(r2234402);
double r2234404 = -r2234402;
double r2234405 = exp(r2234404);
double r2234406 = r2234403 + r2234405;
double r2234407 = 0.5;
double r2234408 = re;
double r2234409 = cos(r2234408);
double r2234410 = r2234407 * r2234409;
double r2234411 = r2234406 * r2234410;
return r2234411;
}



Bits error versus re



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