\left(0.5 \cdot \cos re\right) \cdot \left(e^{-im} + e^{im}\right)\left(0.5 \cdot \cos re\right) \cdot \left(e^{-im} + e^{im}\right)double f(double re, double im) {
double r31389 = 0.5;
double r31390 = re;
double r31391 = cos(r31390);
double r31392 = r31389 * r31391;
double r31393 = im;
double r31394 = -r31393;
double r31395 = exp(r31394);
double r31396 = exp(r31393);
double r31397 = r31395 + r31396;
double r31398 = r31392 * r31397;
return r31398;
}
double f(double re, double im) {
double r31399 = 0.5;
double r31400 = re;
double r31401 = cos(r31400);
double r31402 = r31399 * r31401;
double r31403 = im;
double r31404 = -r31403;
double r31405 = exp(r31404);
double r31406 = exp(r31403);
double r31407 = r31405 + r31406;
double r31408 = r31402 * r31407;
return r31408;
}



Bits error versus re



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