Average Error: 0.0 → 0.0
Time: 5.3s
Precision: 64
\[\Re(\left(\frac{e^{x} + e^{-x}}{2} \cdot \cos y + \frac{e^{x} - e^{-x}}{2} \cdot \sin y i\right))\]
\[\frac{e^{x} + e^{-x}}{2} \cdot \cos y\]
\Re(\left(\frac{e^{x} + e^{-x}}{2} \cdot \cos y + \frac{e^{x} - e^{-x}}{2} \cdot \sin y i\right))
\frac{e^{x} + e^{-x}}{2} \cdot \cos y
double f(double x, double y) {
        double r166 = x;
        double r167 = exp(r166);
        double r168 = -r166;
        double r169 = exp(r168);
        double r170 = r167 + r169;
        double r171 = 2.0;
        double r172 = r170 / r171;
        double r173 = y;
        double r174 = cos(r173);
        double r175 = r172 * r174;
        double r176 = r167 - r169;
        double r177 = r176 / r171;
        double r178 = sin(r173);
        double r179 = r177 * r178;
        double r180 = /* ERROR: no complex support in C */;
        double r181 = /* ERROR: no complex support in C */;
        return r181;
}

double f(double x, double y) {
        double r182 = x;
        double r183 = exp(r182);
        double r184 = -r182;
        double r185 = exp(r184);
        double r186 = r183 + r185;
        double r187 = 2.0;
        double r188 = r186 / r187;
        double r189 = y;
        double r190 = cos(r189);
        double r191 = r188 * r190;
        return r191;
}

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{e^{x} + e^{-x}}{2} \cdot \cos y}\]
  3. Final simplification0.0

    \[\leadsto \frac{e^{x} + e^{-x}}{2} \cdot \cos y\]

Reproduce

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