\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 r28549 = x;
double r28550 = exp(r28549);
double r28551 = -r28549;
double r28552 = exp(r28551);
double r28553 = r28550 + r28552;
double r28554 = 2.0;
double r28555 = r28553 / r28554;
double r28556 = y;
double r28557 = cos(r28556);
double r28558 = r28555 * r28557;
double r28559 = r28550 - r28552;
double r28560 = r28559 / r28554;
double r28561 = sin(r28556);
double r28562 = r28560 * r28561;
double r28563 = /* ERROR: no complex support in C */;
double r28564 = /* ERROR: no complex support in C */;
return r28564;
}
double f(double x, double y) {
double r28565 = x;
double r28566 = exp(r28565);
double r28567 = -r28565;
double r28568 = exp(r28567);
double r28569 = r28566 + r28568;
double r28570 = 2.0;
double r28571 = r28569 / r28570;
double r28572 = y;
double r28573 = cos(r28572);
double r28574 = r28571 * r28573;
double r28575 = r28566 - r28568;
double r28576 = r28575 / r28570;
double r28577 = sin(r28572);
double r28578 = r28576 * r28577;
double r28579 = /* ERROR: no complex support in C */;
double r28580 = /* ERROR: no complex support in C */;
return r28580;
}



Bits error versus x



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