\Re(\left(\frac{e^{x} + e^{-x}}{2} \cdot \cos y + \frac{e^{x} - e^{-x}}{2} \cdot \sin y i\right))\frac{\sqrt[3]{e^{x} + e^{-x}} \cdot \sqrt[3]{e^{x} + e^{-x}}}{\sqrt[3]{2} \cdot \sqrt[3]{2}} \cdot \left(\frac{\frac{\sqrt[3]{{\left(e^{x}\right)}^{3} + {\left(e^{-x}\right)}^{3}}}{\sqrt[3]{e^{x} \cdot e^{x} + \left(e^{-x} \cdot e^{-x} - e^{x} \cdot e^{-x}\right)}}}{\sqrt[3]{2}} \cdot \cos y\right)double f(double x, double y) {
double r34668 = x;
double r34669 = exp(r34668);
double r34670 = -r34668;
double r34671 = exp(r34670);
double r34672 = r34669 + r34671;
double r34673 = 2.0;
double r34674 = r34672 / r34673;
double r34675 = y;
double r34676 = cos(r34675);
double r34677 = r34674 * r34676;
double r34678 = r34669 - r34671;
double r34679 = r34678 / r34673;
double r34680 = sin(r34675);
double r34681 = r34679 * r34680;
double r34682 = /* ERROR: no complex support in C */;
double r34683 = /* ERROR: no complex support in C */;
return r34683;
}
double f(double x, double y) {
double r34684 = x;
double r34685 = exp(r34684);
double r34686 = -r34684;
double r34687 = exp(r34686);
double r34688 = r34685 + r34687;
double r34689 = cbrt(r34688);
double r34690 = r34689 * r34689;
double r34691 = 2.0;
double r34692 = cbrt(r34691);
double r34693 = r34692 * r34692;
double r34694 = r34690 / r34693;
double r34695 = 3.0;
double r34696 = pow(r34685, r34695);
double r34697 = pow(r34687, r34695);
double r34698 = r34696 + r34697;
double r34699 = cbrt(r34698);
double r34700 = r34685 * r34685;
double r34701 = r34687 * r34687;
double r34702 = r34685 * r34687;
double r34703 = r34701 - r34702;
double r34704 = r34700 + r34703;
double r34705 = cbrt(r34704);
double r34706 = r34699 / r34705;
double r34707 = r34706 / r34692;
double r34708 = y;
double r34709 = cos(r34708);
double r34710 = r34707 * r34709;
double r34711 = r34694 * r34710;
return r34711;
}



Bits error versus x



Bits error versus y
Initial program 0.0
Simplified0.0
rmApplied add-cube-cbrt2.2
Applied add-cube-cbrt0.0
Applied times-frac0.0
Applied associate-*l*0.0
rmApplied flip3-+0.1
Applied cbrt-div0.1
Final simplification0.1
herbie shell --seed 2020089
(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)))))