\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 r1899407 = 0.5;
double r1899408 = re;
double r1899409 = cos(r1899408);
double r1899410 = r1899407 * r1899409;
double r1899411 = im;
double r1899412 = -r1899411;
double r1899413 = exp(r1899412);
double r1899414 = exp(r1899411);
double r1899415 = r1899413 + r1899414;
double r1899416 = r1899410 * r1899415;
return r1899416;
}
double f(double re, double im) {
double r1899417 = im;
double r1899418 = exp(r1899417);
double r1899419 = -r1899417;
double r1899420 = exp(r1899419);
double r1899421 = r1899418 + r1899420;
double r1899422 = 0.5;
double r1899423 = re;
double r1899424 = cos(r1899423);
double r1899425 = r1899422 * r1899424;
double r1899426 = r1899421 * r1899425;
return r1899426;
}



Bits error versus re



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