\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{\sqrt[3]{{\left(e^{x} + e^{-x}\right)}^{3}}}{2}} \cdot \left(\cos y \cdot \sqrt{\frac{e^{-x} + e^{x}}{2}}\right) + \frac{e^{x} - e^{-x}}{2} \cdot \sin y i\right))double f(double x, double y) {
double r43884 = x;
double r43885 = exp(r43884);
double r43886 = -r43884;
double r43887 = exp(r43886);
double r43888 = r43885 + r43887;
double r43889 = 2.0;
double r43890 = r43888 / r43889;
double r43891 = y;
double r43892 = cos(r43891);
double r43893 = r43890 * r43892;
double r43894 = r43885 - r43887;
double r43895 = r43894 / r43889;
double r43896 = sin(r43891);
double r43897 = r43895 * r43896;
double r43898 = /* ERROR: no complex support in C */;
double r43899 = /* ERROR: no complex support in C */;
return r43899;
}
double f(double x, double y) {
double r43900 = x;
double r43901 = exp(r43900);
double r43902 = -r43900;
double r43903 = exp(r43902);
double r43904 = r43901 + r43903;
double r43905 = 3.0;
double r43906 = pow(r43904, r43905);
double r43907 = cbrt(r43906);
double r43908 = 2.0;
double r43909 = r43907 / r43908;
double r43910 = sqrt(r43909);
double r43911 = y;
double r43912 = cos(r43911);
double r43913 = r43903 + r43901;
double r43914 = r43913 / r43908;
double r43915 = sqrt(r43914);
double r43916 = r43912 * r43915;
double r43917 = r43910 * r43916;
double r43918 = r43901 - r43903;
double r43919 = r43918 / r43908;
double r43920 = sin(r43911);
double r43921 = r43919 * r43920;
double r43922 = /* ERROR: no complex support in C */;
double r43923 = /* ERROR: no complex support in C */;
return r43923;
}



Bits error versus x



Bits error versus y
Initial program 0.0
rmApplied add-cbrt-cube0.2
Simplified0.2
rmApplied add-sqr-sqrt0.2
Applied associate-*l*0.2
Simplified0.2
Final simplification0.2
herbie shell --seed 2019325
(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)))))