\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^{\log \left(e^{x} + e^{-x}\right)}}{2} \cdot \cos y + \frac{e^{x} - e^{-x}}{2} \cdot \sin y i\right))double f(double x, double y) {
double r28882 = x;
double r28883 = exp(r28882);
double r28884 = -r28882;
double r28885 = exp(r28884);
double r28886 = r28883 + r28885;
double r28887 = 2.0;
double r28888 = r28886 / r28887;
double r28889 = y;
double r28890 = cos(r28889);
double r28891 = r28888 * r28890;
double r28892 = r28883 - r28885;
double r28893 = r28892 / r28887;
double r28894 = sin(r28889);
double r28895 = r28893 * r28894;
double r28896 = /* ERROR: no complex support in C */;
double r28897 = /* ERROR: no complex support in C */;
return r28897;
}
double f(double x, double y) {
double r28898 = x;
double r28899 = exp(r28898);
double r28900 = -r28898;
double r28901 = exp(r28900);
double r28902 = r28899 + r28901;
double r28903 = log(r28902);
double r28904 = exp(r28903);
double r28905 = 2.0;
double r28906 = r28904 / r28905;
double r28907 = y;
double r28908 = cos(r28907);
double r28909 = r28906 * r28908;
double r28910 = r28899 - r28901;
double r28911 = r28910 / r28905;
double r28912 = sin(r28907);
double r28913 = r28911 * r28912;
double r28914 = /* ERROR: no complex support in C */;
double r28915 = /* ERROR: no complex support in C */;
return r28915;
}



Bits error versus x



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