double f(double re, double im) {
double r4802579 = 0.5;
double r4802580 = re;
double r4802581 = cos(r4802580);
double r4802582 = r4802579 * r4802581;
double r4802583 = im;
double r4802584 = -r4802583;
double r4802585 = exp(r4802584);
double r4802586 = exp(r4802583);
double r4802587 = r4802585 + r4802586;
double r4802588 = r4802582 * r4802587;
return r4802588;
}
double f(double re, double im) {
double r4802589 = re;
double r4802590 = cos(r4802589);
double r4802591 = 0.5;
double r4802592 = im;
double r4802593 = exp(r4802592);
double r4802594 = r4802591 / r4802593;
double r4802595 = r4802591 * r4802593;
double r4802596 = r4802594 + r4802595;
double r4802597 = r4802590 * r4802596;
return r4802597;
}
\left(0.5 \cdot \cos re\right) \cdot \left(e^{-im} + e^{im}\right)\cos re \cdot \left(\frac{0.5}{e^{im}} + 0.5 \cdot e^{im}\right)


Bits error versus re



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