\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 r26608 = x;
double r26609 = exp(r26608);
double r26610 = -r26608;
double r26611 = exp(r26610);
double r26612 = r26609 + r26611;
double r26613 = 2.0;
double r26614 = r26612 / r26613;
double r26615 = y;
double r26616 = cos(r26615);
double r26617 = r26614 * r26616;
double r26618 = r26609 - r26611;
double r26619 = r26618 / r26613;
double r26620 = sin(r26615);
double r26621 = r26619 * r26620;
double r26622 = /* ERROR: no complex support in C */;
double r26623 = /* ERROR: no complex support in C */;
return r26623;
}
double f(double x, double y) {
double r26624 = x;
double r26625 = exp(r26624);
double r26626 = -r26624;
double r26627 = exp(r26626);
double r26628 = r26625 + r26627;
double r26629 = 2.0;
double r26630 = r26628 / r26629;
double r26631 = y;
double r26632 = cos(r26631);
double r26633 = r26630 * r26632;
double r26634 = r26625 - r26627;
double r26635 = r26634 / r26629;
double r26636 = sin(r26631);
double r26637 = r26635 * r26636;
double r26638 = /* ERROR: no complex support in C */;
double r26639 = /* ERROR: no complex support in C */;
return r26639;
}



Bits error versus x



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