\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 r1441306 = 0.5;
double r1441307 = re;
double r1441308 = cos(r1441307);
double r1441309 = r1441306 * r1441308;
double r1441310 = im;
double r1441311 = -r1441310;
double r1441312 = exp(r1441311);
double r1441313 = exp(r1441310);
double r1441314 = r1441312 + r1441313;
double r1441315 = r1441309 * r1441314;
return r1441315;
}
double f(double re, double im) {
double r1441316 = im;
double r1441317 = exp(r1441316);
double r1441318 = -r1441316;
double r1441319 = exp(r1441318);
double r1441320 = r1441317 + r1441319;
double r1441321 = 0.5;
double r1441322 = re;
double r1441323 = cos(r1441322);
double r1441324 = r1441321 * r1441323;
double r1441325 = r1441320 * r1441324;
return r1441325;
}



Bits error versus re



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