\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 r2234395 = 0.5;
double r2234396 = re;
double r2234397 = cos(r2234396);
double r2234398 = r2234395 * r2234397;
double r2234399 = im;
double r2234400 = -r2234399;
double r2234401 = exp(r2234400);
double r2234402 = exp(r2234399);
double r2234403 = r2234401 + r2234402;
double r2234404 = r2234398 * r2234403;
return r2234404;
}
double f(double re, double im) {
double r2234405 = im;
double r2234406 = exp(r2234405);
double r2234407 = -r2234405;
double r2234408 = exp(r2234407);
double r2234409 = r2234406 + r2234408;
double r2234410 = 0.5;
double r2234411 = re;
double r2234412 = cos(r2234411);
double r2234413 = r2234410 * r2234412;
double r2234414 = r2234409 * r2234413;
return r2234414;
}



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))))