Average Error: 0.0 → 0.0
Time: 17.7s
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 r1313509 = x;
        double r1313510 = exp(r1313509);
        double r1313511 = -r1313509;
        double r1313512 = exp(r1313511);
        double r1313513 = r1313510 + r1313512;
        double r1313514 = 2.0;
        double r1313515 = r1313513 / r1313514;
        double r1313516 = y;
        double r1313517 = cos(r1313516);
        double r1313518 = r1313515 * r1313517;
        double r1313519 = r1313510 - r1313512;
        double r1313520 = r1313519 / r1313514;
        double r1313521 = sin(r1313516);
        double r1313522 = r1313520 * r1313521;
        double r1313523 = /* ERROR: no complex support in C */;
        double r1313524 = /* ERROR: no complex support in C */;
        return r1313524;
}

double f(double x, double y) {
        double r1313525 = x;
        double r1313526 = exp(r1313525);
        double r1313527 = -r1313525;
        double r1313528 = exp(r1313527);
        double r1313529 = r1313526 + r1313528;
        double r1313530 = 2.0;
        double r1313531 = r1313529 / r1313530;
        double r1313532 = y;
        double r1313533 = cos(r1313532);
        double r1313534 = r1313531 * r1313533;
        double r1313535 = r1313526 - r1313528;
        double r1313536 = r1313535 / r1313530;
        double r1313537 = sin(r1313532);
        double r1313538 = r1313536 * r1313537;
        double r1313539 = /* ERROR: no complex support in C */;
        double r1313540 = /* ERROR: no complex support in C */;
        return r1313540;
}

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 2019163 +o rules:numerics
(FPCore (x y)
  :name "Euler formula real part (p55)"
  (re (complex (* (/ (+ (exp x) (exp (- x))) 2) (cos y)) (* (/ (- (exp x) (exp (- x))) 2) (sin y)))))