\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 r38689 = x;
double r38690 = exp(r38689);
double r38691 = -r38689;
double r38692 = exp(r38691);
double r38693 = r38690 + r38692;
double r38694 = 2.0;
double r38695 = r38693 / r38694;
double r38696 = y;
double r38697 = cos(r38696);
double r38698 = r38695 * r38697;
double r38699 = r38690 - r38692;
double r38700 = r38699 / r38694;
double r38701 = sin(r38696);
double r38702 = r38700 * r38701;
double r38703 = /* ERROR: no complex support in C */;
double r38704 = /* ERROR: no complex support in C */;
return r38704;
}
double f(double x, double y) {
double r38705 = x;
double r38706 = exp(r38705);
double r38707 = -r38705;
double r38708 = exp(r38707);
double r38709 = r38706 + r38708;
double r38710 = 2.0;
double r38711 = r38709 / r38710;
double r38712 = y;
double r38713 = cos(r38712);
double r38714 = r38711 * r38713;
double r38715 = r38706 - r38708;
double r38716 = r38715 / r38710;
double r38717 = sin(r38712);
double r38718 = r38716 * r38717;
double r38719 = /* ERROR: no complex support in C */;
double r38720 = /* ERROR: no complex support in C */;
return r38720;
}



Bits error versus x



Bits error versus y
Initial program 0.0
Final simplification0.0
herbie shell --seed 2019202
(FPCore (x y)
:name "Euler formula real part (p55)"
(re (complex (* (/ (+ (exp x) (exp (- x))) 2) (cos y)) (* (/ (- (exp x) (exp (- x))) 2) (sin y)))))