\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 r16534 = x;
double r16535 = exp(r16534);
double r16536 = -r16534;
double r16537 = exp(r16536);
double r16538 = r16535 + r16537;
double r16539 = 2.0;
double r16540 = r16538 / r16539;
double r16541 = y;
double r16542 = cos(r16541);
double r16543 = r16540 * r16542;
double r16544 = r16535 - r16537;
double r16545 = r16544 / r16539;
double r16546 = sin(r16541);
double r16547 = r16545 * r16546;
double r16548 = /* ERROR: no complex support in C */;
double r16549 = /* ERROR: no complex support in C */;
return r16549;
}
double f(double x, double y) {
double r16550 = x;
double r16551 = exp(r16550);
double r16552 = -r16550;
double r16553 = exp(r16552);
double r16554 = r16551 + r16553;
double r16555 = 2.0;
double r16556 = r16554 / r16555;
double r16557 = y;
double r16558 = cos(r16557);
double r16559 = r16556 * r16558;
double r16560 = r16551 - r16553;
double r16561 = r16560 / r16555;
double r16562 = sin(r16557);
double r16563 = r16561 * r16562;
double r16564 = /* ERROR: no complex support in C */;
double r16565 = /* ERROR: no complex support in C */;
return r16565;
}



Bits error versus x



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