\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 r39239 = x;
double r39240 = exp(r39239);
double r39241 = -r39239;
double r39242 = exp(r39241);
double r39243 = r39240 + r39242;
double r39244 = 2.0;
double r39245 = r39243 / r39244;
double r39246 = y;
double r39247 = cos(r39246);
double r39248 = r39245 * r39247;
double r39249 = r39240 - r39242;
double r39250 = r39249 / r39244;
double r39251 = sin(r39246);
double r39252 = r39250 * r39251;
double r39253 = /* ERROR: no complex support in C */;
double r39254 = /* ERROR: no complex support in C */;
return r39254;
}
double f(double x, double y) {
double r39255 = x;
double r39256 = exp(r39255);
double r39257 = -r39255;
double r39258 = exp(r39257);
double r39259 = r39256 + r39258;
double r39260 = 2.0;
double r39261 = r39259 / r39260;
double r39262 = y;
double r39263 = cos(r39262);
double r39264 = r39261 * r39263;
double r39265 = r39256 - r39258;
double r39266 = r39265 / r39260;
double r39267 = sin(r39262);
double r39268 = r39266 * r39267;
double r39269 = /* ERROR: no complex support in C */;
double r39270 = /* ERROR: no complex support in C */;
return r39270;
}



Bits error versus x



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