Average Error: 0.0 → 0.0
Time: 20.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 r35222 = x;
        double r35223 = exp(r35222);
        double r35224 = -r35222;
        double r35225 = exp(r35224);
        double r35226 = r35223 + r35225;
        double r35227 = 2.0;
        double r35228 = r35226 / r35227;
        double r35229 = y;
        double r35230 = cos(r35229);
        double r35231 = r35228 * r35230;
        double r35232 = r35223 - r35225;
        double r35233 = r35232 / r35227;
        double r35234 = sin(r35229);
        double r35235 = r35233 * r35234;
        double r35236 = /* ERROR: no complex support in C */;
        double r35237 = /* ERROR: no complex support in C */;
        return r35237;
}

double f(double x, double y) {
        double r35238 = x;
        double r35239 = exp(r35238);
        double r35240 = -r35238;
        double r35241 = exp(r35240);
        double r35242 = r35239 + r35241;
        double r35243 = 2.0;
        double r35244 = r35242 / r35243;
        double r35245 = y;
        double r35246 = cos(r35245);
        double r35247 = r35244 * r35246;
        double r35248 = r35239 - r35241;
        double r35249 = r35248 / r35243;
        double r35250 = sin(r35245);
        double r35251 = r35249 * r35250;
        double r35252 = /* ERROR: no complex support in C */;
        double r35253 = /* ERROR: no complex support in C */;
        return r35253;
}

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