\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 r42484 = x;
double r42485 = exp(r42484);
double r42486 = -r42484;
double r42487 = exp(r42486);
double r42488 = r42485 + r42487;
double r42489 = 2.0;
double r42490 = r42488 / r42489;
double r42491 = y;
double r42492 = cos(r42491);
double r42493 = r42490 * r42492;
double r42494 = r42485 - r42487;
double r42495 = r42494 / r42489;
double r42496 = sin(r42491);
double r42497 = r42495 * r42496;
double r42498 = /* ERROR: no complex support in C */;
double r42499 = /* ERROR: no complex support in C */;
return r42499;
}
double f(double x, double y) {
double r42500 = x;
double r42501 = exp(r42500);
double r42502 = -r42500;
double r42503 = exp(r42502);
double r42504 = r42501 + r42503;
double r42505 = 2.0;
double r42506 = r42504 / r42505;
double r42507 = y;
double r42508 = cos(r42507);
double r42509 = r42506 * r42508;
double r42510 = r42501 - r42503;
double r42511 = r42510 / r42505;
double r42512 = sin(r42507);
double r42513 = r42511 * r42512;
double r42514 = /* ERROR: no complex support in C */;
double r42515 = /* ERROR: no complex support in C */;
return r42515;
}



Bits error versus x



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