Average Error: 0.0 → 0.2
Time: 25.6s
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 r49272 = x;
        double r49273 = exp(r49272);
        double r49274 = -r49272;
        double r49275 = exp(r49274);
        double r49276 = r49273 + r49275;
        double r49277 = 2.0;
        double r49278 = r49276 / r49277;
        double r49279 = y;
        double r49280 = cos(r49279);
        double r49281 = r49278 * r49280;
        double r49282 = r49273 - r49275;
        double r49283 = r49282 / r49277;
        double r49284 = sin(r49279);
        double r49285 = r49283 * r49284;
        double r49286 = /* ERROR: no complex support in C */;
        double r49287 = /* ERROR: no complex support in C */;
        return r49287;
}

double f(double x, double y) {
        double r49288 = x;
        double r49289 = -r49288;
        double r49290 = exp(r49289);
        double r49291 = exp(r49288);
        double r49292 = r49290 + r49291;
        double r49293 = 3.0;
        double r49294 = pow(r49292, r49293);
        double r49295 = cbrt(r49294);
        double r49296 = 2.0;
        double r49297 = r49295 / r49296;
        double r49298 = sqrt(r49297);
        double r49299 = r49292 / r49296;
        double r49300 = sqrt(r49299);
        double r49301 = y;
        double r49302 = cos(r49301);
        double r49303 = r49300 * r49302;
        double r49304 = r49298 * r49303;
        return r49304;
}

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