Average Error: 0.0 → 0.0
Time: 22.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 r37405 = x;
        double r37406 = exp(r37405);
        double r37407 = -r37405;
        double r37408 = exp(r37407);
        double r37409 = r37406 + r37408;
        double r37410 = 2.0;
        double r37411 = r37409 / r37410;
        double r37412 = y;
        double r37413 = cos(r37412);
        double r37414 = r37411 * r37413;
        double r37415 = r37406 - r37408;
        double r37416 = r37415 / r37410;
        double r37417 = sin(r37412);
        double r37418 = r37416 * r37417;
        double r37419 = /* ERROR: no complex support in C */;
        double r37420 = /* ERROR: no complex support in C */;
        return r37420;
}

double f(double x, double y) {
        double r37421 = x;
        double r37422 = exp(r37421);
        double r37423 = -r37421;
        double r37424 = exp(r37423);
        double r37425 = r37422 + r37424;
        double r37426 = 2.0;
        double r37427 = r37425 / r37426;
        double r37428 = y;
        double r37429 = cos(r37428);
        double r37430 = r37427 * r37429;
        double r37431 = r37422 - r37424;
        double r37432 = r37431 / r37426;
        double r37433 = sin(r37428);
        double r37434 = r37432 * r37433;
        double r37435 = /* ERROR: no complex support in C */;
        double r37436 = /* ERROR: no complex support in C */;
        return r37436;
}

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