Average Error: 0.0 → 0.0
Time: 14.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{\left(e^{x} + e^{-x}\right) \cdot \cos y}{2}\]
\Re(\left(\frac{e^{x} + e^{-x}}{2} \cdot \cos y + \frac{e^{x} - e^{-x}}{2} \cdot \sin y i\right))
\frac{\left(e^{x} + e^{-x}\right) \cdot \cos y}{2}
double f(double x, double y) {
        double r31072 = x;
        double r31073 = exp(r31072);
        double r31074 = -r31072;
        double r31075 = exp(r31074);
        double r31076 = r31073 + r31075;
        double r31077 = 2.0;
        double r31078 = r31076 / r31077;
        double r31079 = y;
        double r31080 = cos(r31079);
        double r31081 = r31078 * r31080;
        double r31082 = r31073 - r31075;
        double r31083 = r31082 / r31077;
        double r31084 = sin(r31079);
        double r31085 = r31083 * r31084;
        double r31086 = /* ERROR: no complex support in C */;
        double r31087 = /* ERROR: no complex support in C */;
        return r31087;
}

double f(double x, double y) {
        double r31088 = x;
        double r31089 = exp(r31088);
        double r31090 = -r31088;
        double r31091 = exp(r31090);
        double r31092 = r31089 + r31091;
        double r31093 = y;
        double r31094 = cos(r31093);
        double r31095 = r31092 * r31094;
        double r31096 = 2.0;
        double r31097 = r31095 / r31096;
        return r31097;
}

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

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

Reproduce

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