\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 r28890 = x;
double r28891 = exp(r28890);
double r28892 = -r28890;
double r28893 = exp(r28892);
double r28894 = r28891 + r28893;
double r28895 = 2.0;
double r28896 = r28894 / r28895;
double r28897 = y;
double r28898 = cos(r28897);
double r28899 = r28896 * r28898;
double r28900 = r28891 - r28893;
double r28901 = r28900 / r28895;
double r28902 = sin(r28897);
double r28903 = r28901 * r28902;
double r28904 = /* ERROR: no complex support in C */;
double r28905 = /* ERROR: no complex support in C */;
return r28905;
}
double f(double x, double y) {
double r28906 = x;
double r28907 = exp(r28906);
double r28908 = -r28906;
double r28909 = exp(r28908);
double r28910 = r28907 + r28909;
double r28911 = 2.0;
double r28912 = r28910 / r28911;
double r28913 = y;
double r28914 = cos(r28913);
double r28915 = r28912 * r28914;
double r28916 = r28907 - r28909;
double r28917 = r28916 / r28911;
double r28918 = sin(r28913);
double r28919 = r28917 * r28918;
double r28920 = /* ERROR: no complex support in C */;
double r28921 = /* ERROR: no complex support in C */;
return r28921;
}



Bits error versus x



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