Average Error: 0.0 → 0.0
Time: 12.0s
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 r960713 = x;
        double r960714 = exp(r960713);
        double r960715 = -r960713;
        double r960716 = exp(r960715);
        double r960717 = r960714 + r960716;
        double r960718 = 2.0;
        double r960719 = r960717 / r960718;
        double r960720 = y;
        double r960721 = cos(r960720);
        double r960722 = r960719 * r960721;
        double r960723 = r960714 - r960716;
        double r960724 = r960723 / r960718;
        double r960725 = sin(r960720);
        double r960726 = r960724 * r960725;
        double r960727 = /* ERROR: no complex support in C */;
        double r960728 = /* ERROR: no complex support in C */;
        return r960728;
}

double f(double x, double y) {
        double r960729 = y;
        double r960730 = cos(r960729);
        double r960731 = x;
        double r960732 = exp(r960731);
        double r960733 = r960730 / r960732;
        double r960734 = r960732 * r960730;
        double r960735 = r960733 + r960734;
        double r960736 = 0.5;
        double r960737 = r960735 * r960736;
        return r960737;
}

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