\left(0.5 \cdot \cos re\right) \cdot \left(e^{-im} + e^{im}\right)\mathsf{fma}\left(\left(e^{im}\right), \left(\cos re \cdot 0.5\right), \left(\frac{1}{e^{im}} \cdot \left(\cos re \cdot 0.5\right)\right)\right)double f(double re, double im) {
double r2667963 = 0.5;
double r2667964 = re;
double r2667965 = cos(r2667964);
double r2667966 = r2667963 * r2667965;
double r2667967 = im;
double r2667968 = -r2667967;
double r2667969 = exp(r2667968);
double r2667970 = exp(r2667967);
double r2667971 = r2667969 + r2667970;
double r2667972 = r2667966 * r2667971;
return r2667972;
}
double f(double re, double im) {
double r2667973 = im;
double r2667974 = exp(r2667973);
double r2667975 = re;
double r2667976 = cos(r2667975);
double r2667977 = 0.5;
double r2667978 = r2667976 * r2667977;
double r2667979 = 1.0;
double r2667980 = r2667979 / r2667974;
double r2667981 = r2667980 * r2667978;
double r2667982 = fma(r2667974, r2667978, r2667981);
return r2667982;
}



Bits error versus re



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