\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 r800033 = x;
double r800034 = exp(r800033);
double r800035 = -r800033;
double r800036 = exp(r800035);
double r800037 = r800034 + r800036;
double r800038 = 2.0;
double r800039 = r800037 / r800038;
double r800040 = y;
double r800041 = cos(r800040);
double r800042 = r800039 * r800041;
double r800043 = r800034 - r800036;
double r800044 = r800043 / r800038;
double r800045 = sin(r800040);
double r800046 = r800044 * r800045;
double r800047 = /* ERROR: no complex support in C */;
double r800048 = /* ERROR: no complex support in C */;
return r800048;
}
double f(double x, double y) {
double r800049 = x;
double r800050 = exp(r800049);
double r800051 = -r800049;
double r800052 = exp(r800051);
double r800053 = r800050 + r800052;
double r800054 = 2.0;
double r800055 = r800053 / r800054;
double r800056 = y;
double r800057 = cos(r800056);
double r800058 = r800055 * r800057;
double r800059 = r800050 - r800052;
double r800060 = r800059 / r800054;
double r800061 = sin(r800056);
double r800062 = r800060 * r800061;
double r800063 = /* ERROR: no complex support in C */;
double r800064 = /* ERROR: no complex support in C */;
return r800064;
}



Bits error versus x



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