Average Error: 0.0 → 0.0
Time: 23.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))\]
\[\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 r38349 = x;
        double r38350 = exp(r38349);
        double r38351 = -r38349;
        double r38352 = exp(r38351);
        double r38353 = r38350 + r38352;
        double r38354 = 2.0;
        double r38355 = r38353 / r38354;
        double r38356 = y;
        double r38357 = cos(r38356);
        double r38358 = r38355 * r38357;
        double r38359 = r38350 - r38352;
        double r38360 = r38359 / r38354;
        double r38361 = sin(r38356);
        double r38362 = r38360 * r38361;
        double r38363 = /* ERROR: no complex support in C */;
        double r38364 = /* ERROR: no complex support in C */;
        return r38364;
}

double f(double x, double y) {
        double r38365 = x;
        double r38366 = exp(r38365);
        double r38367 = -r38365;
        double r38368 = exp(r38367);
        double r38369 = r38366 + r38368;
        double r38370 = 2.0;
        double r38371 = r38369 / r38370;
        double r38372 = y;
        double r38373 = cos(r38372);
        double r38374 = r38371 * r38373;
        double r38375 = r38366 - r38368;
        double r38376 = r38375 / r38370;
        double r38377 = sin(r38372);
        double r38378 = r38376 * r38377;
        double r38379 = /* ERROR: no complex support in C */;
        double r38380 = /* ERROR: no complex support in C */;
        return r38380;
}

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