\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 r49018 = x;
double r49019 = exp(r49018);
double r49020 = -r49018;
double r49021 = exp(r49020);
double r49022 = r49019 + r49021;
double r49023 = 2.0;
double r49024 = r49022 / r49023;
double r49025 = y;
double r49026 = cos(r49025);
double r49027 = r49024 * r49026;
double r49028 = r49019 - r49021;
double r49029 = r49028 / r49023;
double r49030 = sin(r49025);
double r49031 = r49029 * r49030;
double r49032 = /* ERROR: no complex support in C */;
double r49033 = /* ERROR: no complex support in C */;
return r49033;
}
double f(double x, double y) {
double r49034 = x;
double r49035 = exp(r49034);
double r49036 = -r49034;
double r49037 = exp(r49036);
double r49038 = r49035 + r49037;
double r49039 = 2.0;
double r49040 = r49038 / r49039;
double r49041 = sqrt(r49040);
double r49042 = y;
double r49043 = cos(r49042);
double r49044 = r49041 * r49043;
double r49045 = r49041 * r49044;
double r49046 = r49035 - r49037;
double r49047 = r49046 / r49039;
double r49048 = sin(r49042);
double r49049 = r49047 * r49048;
double r49050 = /* ERROR: no complex support in C */;
double r49051 = /* ERROR: no complex support in C */;
return r49051;
}



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 2020081 +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)))))