\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 r2007399 = 0.5;
double r2007400 = re;
double r2007401 = cos(r2007400);
double r2007402 = r2007399 * r2007401;
double r2007403 = im;
double r2007404 = -r2007403;
double r2007405 = exp(r2007404);
double r2007406 = exp(r2007403);
double r2007407 = r2007405 + r2007406;
double r2007408 = r2007402 * r2007407;
return r2007408;
}
double f(double re, double im) {
double r2007409 = im;
double r2007410 = exp(r2007409);
double r2007411 = -r2007409;
double r2007412 = exp(r2007411);
double r2007413 = r2007410 + r2007412;
double r2007414 = 0.5;
double r2007415 = re;
double r2007416 = cos(r2007415);
double r2007417 = r2007414 * r2007416;
double r2007418 = r2007413 * r2007417;
return r2007418;
}



Bits error versus re



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