\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(\cos y \cdot \sqrt{\frac{e^{x} + e^{-x}}{2}}\right) + \sin y \cdot \frac{e^{x} - e^{-x}}{2} i\right))double f(double x, double y) {
double r53757 = x;
double r53758 = exp(r53757);
double r53759 = -r53757;
double r53760 = exp(r53759);
double r53761 = r53758 + r53760;
double r53762 = 2.0;
double r53763 = r53761 / r53762;
double r53764 = y;
double r53765 = cos(r53764);
double r53766 = r53763 * r53765;
double r53767 = r53758 - r53760;
double r53768 = r53767 / r53762;
double r53769 = sin(r53764);
double r53770 = r53768 * r53769;
double r53771 = /* ERROR: no complex support in C */;
double r53772 = /* ERROR: no complex support in C */;
return r53772;
}
double f(double x, double y) {
double r53773 = x;
double r53774 = exp(r53773);
double r53775 = -r53773;
double r53776 = exp(r53775);
double r53777 = r53774 + r53776;
double r53778 = 2.0;
double r53779 = r53777 / r53778;
double r53780 = sqrt(r53779);
double r53781 = y;
double r53782 = cos(r53781);
double r53783 = r53782 * r53780;
double r53784 = r53780 * r53783;
double r53785 = sin(r53781);
double r53786 = r53774 - r53776;
double r53787 = r53786 / r53778;
double r53788 = r53785 * r53787;
double r53789 = /* ERROR: no complex support in C */;
double r53790 = /* ERROR: no complex support in C */;
return r53790;
}



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 2019174 +o rules:numerics
(FPCore (x y)
:name "Euler formula real part (p55)"
(re (complex (* (/ (+ (exp x) (exp (- x))) 2.0) (cos y)) (* (/ (- (exp x) (exp (- x))) 2.0) (sin y)))))