\Re(\left(\frac{e^{x} + e^{-x}}{2} \cdot \cos y + \frac{e^{x} - e^{-x}}{2} \cdot \sin y i\right))\Re(\left(\frac{e^{x} + e^{-x}}{2} \cdot \cos y + \frac{e^{x} - e^{-x}}{2} \cdot \sin y i\right))double f(double x, double y) {
double r1867755 = x;
double r1867756 = exp(r1867755);
double r1867757 = -r1867755;
double r1867758 = exp(r1867757);
double r1867759 = r1867756 + r1867758;
double r1867760 = 2.0;
double r1867761 = r1867759 / r1867760;
double r1867762 = y;
double r1867763 = cos(r1867762);
double r1867764 = r1867761 * r1867763;
double r1867765 = r1867756 - r1867758;
double r1867766 = r1867765 / r1867760;
double r1867767 = sin(r1867762);
double r1867768 = r1867766 * r1867767;
double r1867769 = /* ERROR: no complex support in C */;
double r1867770 = /* ERROR: no complex support in C */;
return r1867770;
}
double f(double x, double y) {
double r1867771 = x;
double r1867772 = exp(r1867771);
double r1867773 = -r1867771;
double r1867774 = exp(r1867773);
double r1867775 = r1867772 + r1867774;
double r1867776 = 2.0;
double r1867777 = r1867775 / r1867776;
double r1867778 = y;
double r1867779 = cos(r1867778);
double r1867780 = r1867777 * r1867779;
double r1867781 = r1867772 - r1867774;
double r1867782 = r1867781 / r1867776;
double r1867783 = sin(r1867778);
double r1867784 = r1867782 * r1867783;
double r1867785 = /* ERROR: no complex support in C */;
double r1867786 = /* ERROR: no complex support in C */;
return r1867786;
}



Bits error versus x



Bits error versus y
Initial program 0.0
Final simplification0.0
herbie shell --seed 2019104
(FPCore (x y)
:name "Euler formula real part (p55)"
(re (complex (* (/ (+ (exp x) (exp (- x))) 2) (cos y)) (* (/ (- (exp x) (exp (- x))) 2) (sin y)))))