Average Error: 0.0 → 0.1
Time: 6.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))\]
\[\sqrt{\frac{e^{x} + e^{-x}}{2}} \cdot \left(\sqrt[3]{{\left(\sqrt{\frac{e^{x} + e^{-x}}{2}}\right)}^{3}} \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{e^{x} + e^{-x}}{2}} \cdot \left(\sqrt[3]{{\left(\sqrt{\frac{e^{x} + e^{-x}}{2}}\right)}^{3}} \cdot \cos y\right)
double f(double x, double y) {
        double r33785 = x;
        double r33786 = exp(r33785);
        double r33787 = -r33785;
        double r33788 = exp(r33787);
        double r33789 = r33786 + r33788;
        double r33790 = 2.0;
        double r33791 = r33789 / r33790;
        double r33792 = y;
        double r33793 = cos(r33792);
        double r33794 = r33791 * r33793;
        double r33795 = r33786 - r33788;
        double r33796 = r33795 / r33790;
        double r33797 = sin(r33792);
        double r33798 = r33796 * r33797;
        double r33799 = /* ERROR: no complex support in C */;
        double r33800 = /* ERROR: no complex support in C */;
        return r33800;
}

double f(double x, double y) {
        double r33801 = x;
        double r33802 = exp(r33801);
        double r33803 = -r33801;
        double r33804 = exp(r33803);
        double r33805 = r33802 + r33804;
        double r33806 = 2.0;
        double r33807 = r33805 / r33806;
        double r33808 = sqrt(r33807);
        double r33809 = 3.0;
        double r33810 = pow(r33808, r33809);
        double r33811 = cbrt(r33810);
        double r33812 = y;
        double r33813 = cos(r33812);
        double r33814 = r33811 * r33813;
        double r33815 = r33808 * r33814;
        return r33815;
}

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-sqr-sqrt0.0

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

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

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

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

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

Reproduce

herbie shell --seed 2020056 
(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)))))