\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 r31374 = x;
double r31375 = exp(r31374);
double r31376 = -r31374;
double r31377 = exp(r31376);
double r31378 = r31375 + r31377;
double r31379 = 2.0;
double r31380 = r31378 / r31379;
double r31381 = y;
double r31382 = cos(r31381);
double r31383 = r31380 * r31382;
double r31384 = r31375 - r31377;
double r31385 = r31384 / r31379;
double r31386 = sin(r31381);
double r31387 = r31385 * r31386;
double r31388 = /* ERROR: no complex support in C */;
double r31389 = /* ERROR: no complex support in C */;
return r31389;
}
double f(double x, double y) {
double r31390 = x;
double r31391 = exp(r31390);
double r31392 = -r31390;
double r31393 = exp(r31392);
double r31394 = r31391 + r31393;
double r31395 = 2.0;
double r31396 = r31394 / r31395;
double r31397 = y;
double r31398 = cos(r31397);
double r31399 = r31396 * r31398;
double r31400 = r31391 - r31393;
double r31401 = r31400 / r31395;
double r31402 = sin(r31397);
double r31403 = r31401 * r31402;
double r31404 = /* ERROR: no complex support in C */;
double r31405 = /* ERROR: no complex support in C */;
return r31405;
}



Bits error versus x



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