\Re(\left(\frac{e^{x} + e^{-x}}{2} \cdot \cos y + \frac{e^{x} - e^{-x}}{2} \cdot \sin y i\right))\Re(\left(\sqrt{\frac{e^{x} + e^{-x}}{2}} \cdot \left(\cos y \cdot \sqrt{\frac{e^{x} + e^{-x}}{2}}\right) + \frac{e^{x} - e^{-x}}{2} \cdot \sin y i\right))double f(double x, double y) {
double r40555 = x;
double r40556 = exp(r40555);
double r40557 = -r40555;
double r40558 = exp(r40557);
double r40559 = r40556 + r40558;
double r40560 = 2.0;
double r40561 = r40559 / r40560;
double r40562 = y;
double r40563 = cos(r40562);
double r40564 = r40561 * r40563;
double r40565 = r40556 - r40558;
double r40566 = r40565 / r40560;
double r40567 = sin(r40562);
double r40568 = r40566 * r40567;
double r40569 = /* ERROR: no complex support in C */;
double r40570 = /* ERROR: no complex support in C */;
return r40570;
}
double f(double x, double y) {
double r40571 = x;
double r40572 = exp(r40571);
double r40573 = -r40571;
double r40574 = exp(r40573);
double r40575 = r40572 + r40574;
double r40576 = 2.0;
double r40577 = r40575 / r40576;
double r40578 = sqrt(r40577);
double r40579 = y;
double r40580 = cos(r40579);
double r40581 = r40580 * r40578;
double r40582 = r40578 * r40581;
double r40583 = r40572 - r40574;
double r40584 = r40583 / r40576;
double r40585 = sin(r40579);
double r40586 = r40584 * r40585;
double r40587 = /* ERROR: no complex support in C */;
double r40588 = /* ERROR: no complex support in C */;
return r40588;
}



Bits error versus x



Bits error versus y
Initial program 0.0
rmApplied add-sqr-sqrt0.0
Applied associate-*l*0.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2019196
(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)))))