\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 r22835 = x;
double r22836 = exp(r22835);
double r22837 = -r22835;
double r22838 = exp(r22837);
double r22839 = r22836 + r22838;
double r22840 = 2.0;
double r22841 = r22839 / r22840;
double r22842 = y;
double r22843 = cos(r22842);
double r22844 = r22841 * r22843;
double r22845 = r22836 - r22838;
double r22846 = r22845 / r22840;
double r22847 = sin(r22842);
double r22848 = r22846 * r22847;
double r22849 = /* ERROR: no complex support in C */;
double r22850 = /* ERROR: no complex support in C */;
return r22850;
}
double f(double x, double y) {
double r22851 = x;
double r22852 = exp(r22851);
double r22853 = -r22851;
double r22854 = exp(r22853);
double r22855 = r22852 + r22854;
double r22856 = 2.0;
double r22857 = r22855 / r22856;
double r22858 = y;
double r22859 = cos(r22858);
double r22860 = r22857 * r22859;
double r22861 = r22852 - r22854;
double r22862 = r22861 / r22856;
double r22863 = sin(r22858);
double r22864 = r22862 * r22863;
double r22865 = /* ERROR: no complex support in C */;
double r22866 = /* ERROR: no complex support in C */;
return r22866;
}



Bits error versus x



Bits error versus y
Initial program 0.0
Final simplification0.0
herbie shell --seed 2020021 +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)))))