\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 r32569 = x;
double r32570 = exp(r32569);
double r32571 = -r32569;
double r32572 = exp(r32571);
double r32573 = r32570 + r32572;
double r32574 = 2.0;
double r32575 = r32573 / r32574;
double r32576 = y;
double r32577 = cos(r32576);
double r32578 = r32575 * r32577;
double r32579 = r32570 - r32572;
double r32580 = r32579 / r32574;
double r32581 = sin(r32576);
double r32582 = r32580 * r32581;
double r32583 = /* ERROR: no complex support in C */;
double r32584 = /* ERROR: no complex support in C */;
return r32584;
}
double f(double x, double y) {
double r32585 = x;
double r32586 = exp(r32585);
double r32587 = -r32585;
double r32588 = exp(r32587);
double r32589 = r32586 + r32588;
double r32590 = 2.0;
double r32591 = r32589 / r32590;
double r32592 = y;
double r32593 = cos(r32592);
double r32594 = r32591 * r32593;
double r32595 = r32586 - r32588;
double r32596 = r32595 / r32590;
double r32597 = sin(r32592);
double r32598 = r32596 * r32597;
double r32599 = /* ERROR: no complex support in C */;
double r32600 = /* ERROR: no complex support in C */;
return r32600;
}



Bits error versus x



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