\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 r1069305 = 0.5;
double r1069306 = re;
double r1069307 = cos(r1069306);
double r1069308 = r1069305 * r1069307;
double r1069309 = im;
double r1069310 = -r1069309;
double r1069311 = exp(r1069310);
double r1069312 = exp(r1069309);
double r1069313 = r1069311 + r1069312;
double r1069314 = r1069308 * r1069313;
return r1069314;
}
double f(double re, double im) {
double r1069315 = im;
double r1069316 = exp(r1069315);
double r1069317 = -r1069315;
double r1069318 = exp(r1069317);
double r1069319 = r1069316 + r1069318;
double r1069320 = 0.5;
double r1069321 = re;
double r1069322 = cos(r1069321);
double r1069323 = r1069320 * r1069322;
double r1069324 = r1069319 * r1069323;
return r1069324;
}



Bits error versus re



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