\Re(\left(\frac{e^{x} + e^{-x}}{2} \cdot \cos y + \frac{e^{x} - e^{-x}}{2} \cdot \sin y i\right))\frac{\mathsf{fma}\left(\sqrt{e^{x}}, \sqrt{e^{x}}, e^{-x}\right)}{2} \cdot \cos ydouble f(double x, double y) {
double r29968 = x;
double r29969 = exp(r29968);
double r29970 = -r29968;
double r29971 = exp(r29970);
double r29972 = r29969 + r29971;
double r29973 = 2.0;
double r29974 = r29972 / r29973;
double r29975 = y;
double r29976 = cos(r29975);
double r29977 = r29974 * r29976;
double r29978 = r29969 - r29971;
double r29979 = r29978 / r29973;
double r29980 = sin(r29975);
double r29981 = r29979 * r29980;
double r29982 = /* ERROR: no complex support in C */;
double r29983 = /* ERROR: no complex support in C */;
return r29983;
}
double f(double x, double y) {
double r29984 = x;
double r29985 = exp(r29984);
double r29986 = sqrt(r29985);
double r29987 = -r29984;
double r29988 = exp(r29987);
double r29989 = fma(r29986, r29986, r29988);
double r29990 = 2.0;
double r29991 = r29989 / r29990;
double r29992 = y;
double r29993 = cos(r29992);
double r29994 = r29991 * r29993;
return r29994;
}



Bits error versus x



Bits error versus y
Initial program 0.0
Simplified0.0
rmApplied add-sqr-sqrt0.0
Applied fma-def0.0
Final simplification0.0
herbie shell --seed 2019347 +o rules:numerics
(FPCore (x y)
:name "Euler formula real part (p55)"
:precision binary64
(re (complex (* (/ (+ (exp x) (exp (- x))) 2) (cos y)) (* (/ (- (exp x) (exp (- x))) 2) (sin y)))))