\left(0.5 \cdot \cos re\right) \cdot \left(e^{-im} + e^{im}\right)\frac{\frac{0.5 \cdot \cos re}{\sqrt{e^{im}}}}{\sqrt{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 r104268 = 0.5;
double r104269 = re;
double r104270 = cos(r104269);
double r104271 = r104268 * r104270;
double r104272 = im;
double r104273 = -r104272;
double r104274 = exp(r104273);
double r104275 = exp(r104272);
double r104276 = r104274 + r104275;
double r104277 = r104271 * r104276;
return r104277;
}
double f(double re, double im) {
double r104278 = 0.5;
double r104279 = re;
double r104280 = cos(r104279);
double r104281 = r104278 * r104280;
double r104282 = im;
double r104283 = exp(r104282);
double r104284 = sqrt(r104283);
double r104285 = r104281 / r104284;
double r104286 = r104285 / r104284;
double r104287 = r104284 * r104281;
double r104288 = r104284 * r104287;
double r104289 = r104286 + r104288;
return r104289;
}



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-/r*0.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))))