\left(0.5 \cdot \cos re\right) \cdot \left(e^{-im} + e^{im}\right)\left(\cos re \cdot 0.5\right) \cdot e^{im} + \frac{0.5}{e^{im}} \cdot \cos redouble f(double re, double im) {
double r3644805 = 0.5;
double r3644806 = re;
double r3644807 = cos(r3644806);
double r3644808 = r3644805 * r3644807;
double r3644809 = im;
double r3644810 = -r3644809;
double r3644811 = exp(r3644810);
double r3644812 = exp(r3644809);
double r3644813 = r3644811 + r3644812;
double r3644814 = r3644808 * r3644813;
return r3644814;
}
double f(double re, double im) {
double r3644815 = re;
double r3644816 = cos(r3644815);
double r3644817 = 0.5;
double r3644818 = r3644816 * r3644817;
double r3644819 = im;
double r3644820 = exp(r3644819);
double r3644821 = r3644818 * r3644820;
double r3644822 = r3644817 / r3644820;
double r3644823 = r3644822 * r3644816;
double r3644824 = r3644821 + r3644823;
return r3644824;
}



Bits error versus re



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