\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{e^{x} + e^{-x}}{2}} \cdot \left(\sqrt{\frac{e^{x} + e^{-x}}{2}} \cdot \cos y\right) + \frac{e^{x} - e^{-x}}{2} \cdot \sin y i\right))double f(double x, double y) {
double r29004 = x;
double r29005 = exp(r29004);
double r29006 = -r29004;
double r29007 = exp(r29006);
double r29008 = r29005 + r29007;
double r29009 = 2.0;
double r29010 = r29008 / r29009;
double r29011 = y;
double r29012 = cos(r29011);
double r29013 = r29010 * r29012;
double r29014 = r29005 - r29007;
double r29015 = r29014 / r29009;
double r29016 = sin(r29011);
double r29017 = r29015 * r29016;
double r29018 = /* ERROR: no complex support in C */;
double r29019 = /* ERROR: no complex support in C */;
return r29019;
}
double f(double x, double y) {
double r29020 = x;
double r29021 = exp(r29020);
double r29022 = -r29020;
double r29023 = exp(r29022);
double r29024 = r29021 + r29023;
double r29025 = 2.0;
double r29026 = r29024 / r29025;
double r29027 = sqrt(r29026);
double r29028 = y;
double r29029 = cos(r29028);
double r29030 = r29027 * r29029;
double r29031 = r29027 * r29030;
double r29032 = r29021 - r29023;
double r29033 = r29032 / r29025;
double r29034 = sin(r29028);
double r29035 = r29033 * r29034;
double r29036 = /* ERROR: no complex support in C */;
double r29037 = /* ERROR: no complex support in C */;
return r29037;
}



Bits error versus x



Bits error versus y
Initial program 0.0
rmApplied add-sqr-sqrt0.0
Applied associate-*l*0.0
Final simplification0.0
herbie shell --seed 2020047
(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)))))