\left(0.5 \cdot \cos re\right) \cdot \left(e^{-im} + e^{im}\right)\frac{\frac{\cos re}{\sqrt{e^{im}}}}{\sqrt{e^{im}}} \cdot 0.5 + \sqrt{e^{im}} \cdot \left(\sqrt{e^{im}} \cdot \left(0.5 \cdot \cos re\right)\right)double f(double re, double im) {
double r70211 = 0.5;
double r70212 = re;
double r70213 = cos(r70212);
double r70214 = r70211 * r70213;
double r70215 = im;
double r70216 = -r70215;
double r70217 = exp(r70216);
double r70218 = exp(r70215);
double r70219 = r70217 + r70218;
double r70220 = r70214 * r70219;
return r70220;
}
double f(double re, double im) {
double r70221 = re;
double r70222 = cos(r70221);
double r70223 = im;
double r70224 = exp(r70223);
double r70225 = sqrt(r70224);
double r70226 = r70222 / r70225;
double r70227 = r70226 / r70225;
double r70228 = 0.5;
double r70229 = r70227 * r70228;
double r70230 = r70228 * r70222;
double r70231 = r70225 * r70230;
double r70232 = r70225 * r70231;
double r70233 = r70229 + r70232;
return r70233;
}



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 +o rules:numerics
(FPCore (re im)
:name "math.cos on complex, real part"
:precision binary64
(* (* 0.5 (cos re)) (+ (exp (- im)) (exp im))))