\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 r27523 = x;
double r27524 = exp(r27523);
double r27525 = -r27523;
double r27526 = exp(r27525);
double r27527 = r27524 + r27526;
double r27528 = 2.0;
double r27529 = r27527 / r27528;
double r27530 = y;
double r27531 = cos(r27530);
double r27532 = r27529 * r27531;
double r27533 = r27524 - r27526;
double r27534 = r27533 / r27528;
double r27535 = sin(r27530);
double r27536 = r27534 * r27535;
double r27537 = /* ERROR: no complex support in C */;
double r27538 = /* ERROR: no complex support in C */;
return r27538;
}
double f(double x, double y) {
double r27539 = x;
double r27540 = exp(r27539);
double r27541 = -r27539;
double r27542 = exp(r27541);
double r27543 = r27540 + r27542;
double r27544 = 2.0;
double r27545 = r27543 / r27544;
double r27546 = y;
double r27547 = cos(r27546);
double r27548 = r27545 * r27547;
double r27549 = r27540 - r27542;
double r27550 = r27549 / r27544;
double r27551 = sin(r27546);
double r27552 = r27550 * r27551;
double r27553 = /* ERROR: no complex support in C */;
double r27554 = /* ERROR: no complex support in C */;
return r27554;
}



Bits error versus x



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