Average Error: 0.0 → 0.0
Time: 39.5s
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 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;
}

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 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)))))