\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 r44368 = 0.5;
double r44369 = re;
double r44370 = cos(r44369);
double r44371 = r44368 * r44370;
double r44372 = im;
double r44373 = -r44372;
double r44374 = exp(r44373);
double r44375 = exp(r44372);
double r44376 = r44374 + r44375;
double r44377 = r44371 * r44376;
return r44377;
}
double f(double re, double im) {
double r44378 = 0.5;
double r44379 = re;
double r44380 = cos(r44379);
double r44381 = r44378 * r44380;
double r44382 = im;
double r44383 = -r44382;
double r44384 = exp(r44383);
double r44385 = exp(r44382);
double r44386 = r44384 + r44385;
double r44387 = r44381 * r44386;
return r44387;
}



Bits error versus re



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