Average Error: 0.0 → 0.2
Time: 25.2s
Precision: 64
\[\Re(\left(\frac{e^{x} + e^{-x}}{2} \cdot \cos y + \frac{e^{x} - e^{-x}}{2} \cdot \sin y i\right))\]
\[\sqrt{\frac{\sqrt[3]{{\left(e^{-x} + e^{x}\right)}^{3}}}{2}} \cdot \left(\sqrt{\frac{e^{-x} + e^{x}}{2}} \cdot \cos y\right)\]
\Re(\left(\frac{e^{x} + e^{-x}}{2} \cdot \cos y + \frac{e^{x} - e^{-x}}{2} \cdot \sin y i\right))
\sqrt{\frac{\sqrt[3]{{\left(e^{-x} + e^{x}\right)}^{3}}}{2}} \cdot \left(\sqrt{\frac{e^{-x} + e^{x}}{2}} \cdot \cos y\right)
double f(double x, double y) {
        double r49467 = x;
        double r49468 = exp(r49467);
        double r49469 = -r49467;
        double r49470 = exp(r49469);
        double r49471 = r49468 + r49470;
        double r49472 = 2.0;
        double r49473 = r49471 / r49472;
        double r49474 = y;
        double r49475 = cos(r49474);
        double r49476 = r49473 * r49475;
        double r49477 = r49468 - r49470;
        double r49478 = r49477 / r49472;
        double r49479 = sin(r49474);
        double r49480 = r49478 * r49479;
        double r49481 = /* ERROR: no complex support in C */;
        double r49482 = /* ERROR: no complex support in C */;
        return r49482;
}

double f(double x, double y) {
        double r49483 = x;
        double r49484 = -r49483;
        double r49485 = exp(r49484);
        double r49486 = exp(r49483);
        double r49487 = r49485 + r49486;
        double r49488 = 3.0;
        double r49489 = pow(r49487, r49488);
        double r49490 = cbrt(r49489);
        double r49491 = 2.0;
        double r49492 = r49490 / r49491;
        double r49493 = sqrt(r49492);
        double r49494 = r49487 / r49491;
        double r49495 = sqrt(r49494);
        double r49496 = y;
        double r49497 = cos(r49496);
        double r49498 = r49495 * r49497;
        double r49499 = r49493 * r49498;
        return r49499;
}

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. Simplified0.0

    \[\leadsto \color{blue}{\frac{e^{x} + e^{-x}}{2} \cdot \cos y}\]
  3. Using strategy rm
  4. Applied add-cbrt-cube0.2

    \[\leadsto \frac{\color{blue}{\sqrt[3]{\left(\left(e^{x} + e^{-x}\right) \cdot \left(e^{x} + e^{-x}\right)\right) \cdot \left(e^{x} + e^{-x}\right)}}}{2} \cdot \cos y\]
  5. Simplified0.2

    \[\leadsto \frac{\sqrt[3]{\color{blue}{{\left(e^{-x} + e^{x}\right)}^{3}}}}{2} \cdot \cos y\]
  6. Using strategy rm
  7. Applied add-sqr-sqrt0.2

    \[\leadsto \color{blue}{\left(\sqrt{\frac{\sqrt[3]{{\left(e^{-x} + e^{x}\right)}^{3}}}{2}} \cdot \sqrt{\frac{\sqrt[3]{{\left(e^{-x} + e^{x}\right)}^{3}}}{2}}\right)} \cdot \cos y\]
  8. Applied associate-*l*0.2

    \[\leadsto \color{blue}{\sqrt{\frac{\sqrt[3]{{\left(e^{-x} + e^{x}\right)}^{3}}}{2}} \cdot \left(\sqrt{\frac{\sqrt[3]{{\left(e^{-x} + e^{x}\right)}^{3}}}{2}} \cdot \cos y\right)}\]
  9. Simplified0.2

    \[\leadsto \sqrt{\frac{\sqrt[3]{{\left(e^{-x} + e^{x}\right)}^{3}}}{2}} \cdot \color{blue}{\left(\sqrt{\frac{e^{-x} + e^{x}}{2}} \cdot \cos y\right)}\]
  10. Final simplification0.2

    \[\leadsto \sqrt{\frac{\sqrt[3]{{\left(e^{-x} + e^{x}\right)}^{3}}}{2}} \cdot \left(\sqrt{\frac{e^{-x} + e^{x}}{2}} \cdot \cos y\right)\]

Reproduce

herbie shell --seed 2019325 +o rules:numerics
(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)))))