\Re(\left(\frac{e^{x} + e^{-x}}{2} \cdot \cos y + \frac{e^{x} - e^{-x}}{2} \cdot \sin y i\right))\Re(\left(\sqrt{\frac{e^{x} + e^{-x}}{2}} \cdot \left(\sqrt{\frac{e^{x} + e^{-x}}{2}} \cdot \cos y\right) + \frac{e^{x} - e^{-x}}{2} \cdot \sin y i\right))double f(double x, double y) {
double r44904 = x;
double r44905 = exp(r44904);
double r44906 = -r44904;
double r44907 = exp(r44906);
double r44908 = r44905 + r44907;
double r44909 = 2.0;
double r44910 = r44908 / r44909;
double r44911 = y;
double r44912 = cos(r44911);
double r44913 = r44910 * r44912;
double r44914 = r44905 - r44907;
double r44915 = r44914 / r44909;
double r44916 = sin(r44911);
double r44917 = r44915 * r44916;
double r44918 = /* ERROR: no complex support in C */;
double r44919 = /* ERROR: no complex support in C */;
return r44919;
}
double f(double x, double y) {
double r44920 = x;
double r44921 = exp(r44920);
double r44922 = -r44920;
double r44923 = exp(r44922);
double r44924 = r44921 + r44923;
double r44925 = 2.0;
double r44926 = r44924 / r44925;
double r44927 = sqrt(r44926);
double r44928 = y;
double r44929 = cos(r44928);
double r44930 = r44927 * r44929;
double r44931 = r44927 * r44930;
double r44932 = r44921 - r44923;
double r44933 = r44932 / r44925;
double r44934 = sin(r44928);
double r44935 = r44933 * r44934;
double r44936 = /* ERROR: no complex support in C */;
double r44937 = /* ERROR: no complex support in C */;
return r44937;
}



Bits error versus x



Bits error versus y
Initial program 0.0
rmApplied add-sqr-sqrt0.0
Applied associate-*l*0.0
Final simplification0.0
herbie shell --seed 2020083 +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)))))