Average Error: 0.0 → 0.0
Time: 5.1s
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 r40419 = x;
        double r40420 = exp(r40419);
        double r40421 = -r40419;
        double r40422 = exp(r40421);
        double r40423 = r40420 + r40422;
        double r40424 = 2.0;
        double r40425 = r40423 / r40424;
        double r40426 = y;
        double r40427 = cos(r40426);
        double r40428 = r40425 * r40427;
        double r40429 = r40420 - r40422;
        double r40430 = r40429 / r40424;
        double r40431 = sin(r40426);
        double r40432 = r40430 * r40431;
        double r40433 = /* ERROR: no complex support in C */;
        double r40434 = /* ERROR: no complex support in C */;
        return r40434;
}

double f(double x, double y) {
        double r40435 = x;
        double r40436 = exp(r40435);
        double r40437 = -r40435;
        double r40438 = exp(r40437);
        double r40439 = r40436 + r40438;
        double r40440 = 2.0;
        double r40441 = r40439 / r40440;
        double r40442 = y;
        double r40443 = cos(r40442);
        double r40444 = r40441 * r40443;
        double r40445 = r40436 - r40438;
        double r40446 = r40445 / r40440;
        double r40447 = sin(r40442);
        double r40448 = r40446 * r40447;
        double r40449 = /* ERROR: no complex support in C */;
        double r40450 = /* ERROR: no complex support in C */;
        return r40450;
}

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