Average Error: 0.0 → 0.0
Time: 19.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))\]
\[\left(\frac{\cos y}{e^{x}} + e^{x} \cdot \cos y\right) \cdot \frac{1}{2}\]
\Re(\left(\frac{e^{x} + e^{-x}}{2} \cdot \cos y + \frac{e^{x} - e^{-x}}{2} \cdot \sin y i\right))
\left(\frac{\cos y}{e^{x}} + e^{x} \cdot \cos y\right) \cdot \frac{1}{2}
double f(double x, double y) {
        double r985402 = x;
        double r985403 = exp(r985402);
        double r985404 = -r985402;
        double r985405 = exp(r985404);
        double r985406 = r985403 + r985405;
        double r985407 = 2.0;
        double r985408 = r985406 / r985407;
        double r985409 = y;
        double r985410 = cos(r985409);
        double r985411 = r985408 * r985410;
        double r985412 = r985403 - r985405;
        double r985413 = r985412 / r985407;
        double r985414 = sin(r985409);
        double r985415 = r985413 * r985414;
        double r985416 = /* ERROR: no complex support in C */;
        double r985417 = /* ERROR: no complex support in C */;
        return r985417;
}

double f(double x, double y) {
        double r985418 = y;
        double r985419 = cos(r985418);
        double r985420 = x;
        double r985421 = exp(r985420);
        double r985422 = r985419 / r985421;
        double r985423 = r985421 * r985419;
        double r985424 = r985422 + r985423;
        double r985425 = 0.5;
        double r985426 = r985424 * r985425;
        return r985426;
}

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. Simplified0.0

    \[\leadsto \color{blue}{\frac{1}{2} \cdot \left(\frac{\cos y}{e^{x}} + \cos y \cdot e^{x}\right)}\]
  3. Final simplification0.0

    \[\leadsto \left(\frac{\cos y}{e^{x}} + e^{x} \cdot \cos y\right) \cdot \frac{1}{2}\]

Reproduce

herbie shell --seed 2019137 
(FPCore (x y)
  :name "Euler formula real part (p55)"
  (re (complex (* (/ (+ (exp x) (exp (- x))) 2) (cos y)) (* (/ (- (exp x) (exp (- x))) 2) (sin y)))))