\left(0.5 \cdot \cos re\right) \cdot \left(e^{-im} + e^{im}\right)(\left(e^{im}\right) \cdot \left(\cos re \cdot 0.5\right) + \left(\frac{\frac{\cos re \cdot 0.5}{\sqrt{e^{im}}}}{\sqrt{e^{im}}}\right))_*double f(double re, double im) {
double r1898836 = 0.5;
double r1898837 = re;
double r1898838 = cos(r1898837);
double r1898839 = r1898836 * r1898838;
double r1898840 = im;
double r1898841 = -r1898840;
double r1898842 = exp(r1898841);
double r1898843 = exp(r1898840);
double r1898844 = r1898842 + r1898843;
double r1898845 = r1898839 * r1898844;
return r1898845;
}
double f(double re, double im) {
double r1898846 = im;
double r1898847 = exp(r1898846);
double r1898848 = re;
double r1898849 = cos(r1898848);
double r1898850 = 0.5;
double r1898851 = r1898849 * r1898850;
double r1898852 = sqrt(r1898847);
double r1898853 = r1898851 / r1898852;
double r1898854 = r1898853 / r1898852;
double r1898855 = fma(r1898847, r1898851, r1898854);
return r1898855;
}



Bits error versus re



Bits error versus im
Initial program 0.0
Simplified0.0
rmApplied add-sqr-sqrt0.0
Applied associate-/r*0.0
Final simplification0.0
herbie shell --seed 2019112 +o rules:numerics
(FPCore (re im)
:name "math.cos on complex, real part"
(* (* 0.5 (cos re)) (+ (exp (- im)) (exp im))))