Average Error: 0.0 → 0.0
Time: 4.4s
Precision: 64
\[\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))\]
\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 r27523 = x;
        double r27524 = exp(r27523);
        double r27525 = -r27523;
        double r27526 = exp(r27525);
        double r27527 = r27524 + r27526;
        double r27528 = 2.0;
        double r27529 = r27527 / r27528;
        double r27530 = y;
        double r27531 = cos(r27530);
        double r27532 = r27529 * r27531;
        double r27533 = r27524 - r27526;
        double r27534 = r27533 / r27528;
        double r27535 = sin(r27530);
        double r27536 = r27534 * r27535;
        double r27537 = /* ERROR: no complex support in C */;
        double r27538 = /* ERROR: no complex support in C */;
        return r27538;
}

double f(double x, double y) {
        double r27539 = x;
        double r27540 = exp(r27539);
        double r27541 = -r27539;
        double r27542 = exp(r27541);
        double r27543 = r27540 + r27542;
        double r27544 = 2.0;
        double r27545 = r27543 / r27544;
        double r27546 = y;
        double r27547 = cos(r27546);
        double r27548 = r27545 * r27547;
        double r27549 = r27540 - r27542;
        double r27550 = r27549 / r27544;
        double r27551 = sin(r27546);
        double r27552 = r27550 * r27551;
        double r27553 = /* ERROR: no complex support in C */;
        double r27554 = /* ERROR: no complex support in C */;
        return r27554;
}

Error

Bits error versus x

Bits error versus y

Derivation

  1. Initial program 0.0

    \[\Re(\left(\frac{e^{x} + e^{-x}}{2} \cdot \cos y + \frac{e^{x} - e^{-x}}{2} \cdot \sin y i\right))\]
  2. Final simplification0.0

    \[\leadsto \Re(\left(\frac{e^{x} + e^{-x}}{2} \cdot \cos y + \frac{e^{x} - e^{-x}}{2} \cdot \sin y i\right))\]

Reproduce

herbie shell --seed 2020001 
(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)))))