Average Error: 0.0 → 0.0
Time: 17.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 r39239 = x;
        double r39240 = exp(r39239);
        double r39241 = -r39239;
        double r39242 = exp(r39241);
        double r39243 = r39240 + r39242;
        double r39244 = 2.0;
        double r39245 = r39243 / r39244;
        double r39246 = y;
        double r39247 = cos(r39246);
        double r39248 = r39245 * r39247;
        double r39249 = r39240 - r39242;
        double r39250 = r39249 / r39244;
        double r39251 = sin(r39246);
        double r39252 = r39250 * r39251;
        double r39253 = /* ERROR: no complex support in C */;
        double r39254 = /* ERROR: no complex support in C */;
        return r39254;
}

double f(double x, double y) {
        double r39255 = x;
        double r39256 = exp(r39255);
        double r39257 = -r39255;
        double r39258 = exp(r39257);
        double r39259 = r39256 + r39258;
        double r39260 = 2.0;
        double r39261 = r39259 / r39260;
        double r39262 = y;
        double r39263 = cos(r39262);
        double r39264 = r39261 * r39263;
        double r39265 = r39256 - r39258;
        double r39266 = r39265 / r39260;
        double r39267 = sin(r39262);
        double r39268 = r39266 * r39267;
        double r39269 = /* ERROR: no complex support in C */;
        double r39270 = /* ERROR: no complex support in C */;
        return r39270;
}

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