\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{e^{x} + e^{-x}}}{\sqrt{2}}} \cdot \left(\sqrt{\frac{\sqrt{e^{x} + e^{-x}}}{\sqrt{2}}} \cdot \left(\sqrt{\frac{e^{x} + e^{-x}}{2}} \cdot \cos y\right)\right) + \frac{e^{x} - e^{-x}}{2} \cdot \sin y i\right))double f(double x, double y) {
double r54672 = x;
double r54673 = exp(r54672);
double r54674 = -r54672;
double r54675 = exp(r54674);
double r54676 = r54673 + r54675;
double r54677 = 2.0;
double r54678 = r54676 / r54677;
double r54679 = y;
double r54680 = cos(r54679);
double r54681 = r54678 * r54680;
double r54682 = r54673 - r54675;
double r54683 = r54682 / r54677;
double r54684 = sin(r54679);
double r54685 = r54683 * r54684;
double r54686 = /* ERROR: no complex support in C */;
double r54687 = /* ERROR: no complex support in C */;
return r54687;
}
double f(double x, double y) {
double r54688 = x;
double r54689 = exp(r54688);
double r54690 = -r54688;
double r54691 = exp(r54690);
double r54692 = r54689 + r54691;
double r54693 = sqrt(r54692);
double r54694 = 2.0;
double r54695 = sqrt(r54694);
double r54696 = r54693 / r54695;
double r54697 = sqrt(r54696);
double r54698 = r54692 / r54694;
double r54699 = sqrt(r54698);
double r54700 = y;
double r54701 = cos(r54700);
double r54702 = r54699 * r54701;
double r54703 = r54697 * r54702;
double r54704 = r54697 * r54703;
double r54705 = r54689 - r54691;
double r54706 = r54705 / r54694;
double r54707 = sin(r54700);
double r54708 = r54706 * r54707;
double r54709 = /* ERROR: no complex support in C */;
double r54710 = /* ERROR: no complex support in C */;
return r54710;
}



Bits error versus x



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