\left(0.5 \cdot \cos re\right) \cdot \left(e^{-im} + e^{im}\right)\frac{0.5 \cdot \cos re}{e^{im}} + \sqrt{e^{im}} \cdot \left(\sqrt{e^{im}} \cdot \left(0.5 \cdot \cos re\right)\right)double f(double re, double im) {
double r53069 = 0.5;
double r53070 = re;
double r53071 = cos(r53070);
double r53072 = r53069 * r53071;
double r53073 = im;
double r53074 = -r53073;
double r53075 = exp(r53074);
double r53076 = exp(r53073);
double r53077 = r53075 + r53076;
double r53078 = r53072 * r53077;
return r53078;
}
double f(double re, double im) {
double r53079 = 0.5;
double r53080 = re;
double r53081 = cos(r53080);
double r53082 = r53079 * r53081;
double r53083 = im;
double r53084 = exp(r53083);
double r53085 = r53082 / r53084;
double r53086 = sqrt(r53084);
double r53087 = r53086 * r53082;
double r53088 = r53086 * r53087;
double r53089 = r53085 + r53088;
return r53089;
}



Bits error versus re



Bits error versus im
Results
Initial program 0.0
rmApplied distribute-lft-in0.0
Simplified0.0
Simplified0.0
rmApplied add-sqr-sqrt0.0
Applied associate-*l*0.0
Final simplification0.0
herbie shell --seed 2020046
(FPCore (re im)
:name "math.cos on complex, real part"
:precision binary64
(* (* 0.5 (cos re)) (+ (exp (- im)) (exp im))))