Average Error: 0.0 → 0.0
Time: 12.4s
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(\sqrt[3]{{\left(\sqrt{\frac{e^{x} + e^{-x}}{2}}\right)}^{3}} \cdot \left(\sqrt{\frac{e^{x} + e^{-x}}{2}} \cdot \cos y\right) + \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(\sqrt[3]{{\left(\sqrt{\frac{e^{x} + e^{-x}}{2}}\right)}^{3}} \cdot \left(\sqrt{\frac{e^{x} + e^{-x}}{2}} \cdot \cos y\right) + \frac{e^{x} - e^{-x}}{2} \cdot \sin y i\right))
double f(double x, double y) {
        double r38814 = x;
        double r38815 = exp(r38814);
        double r38816 = -r38814;
        double r38817 = exp(r38816);
        double r38818 = r38815 + r38817;
        double r38819 = 2.0;
        double r38820 = r38818 / r38819;
        double r38821 = y;
        double r38822 = cos(r38821);
        double r38823 = r38820 * r38822;
        double r38824 = r38815 - r38817;
        double r38825 = r38824 / r38819;
        double r38826 = sin(r38821);
        double r38827 = r38825 * r38826;
        double r38828 = /* ERROR: no complex support in C */;
        double r38829 = /* ERROR: no complex support in C */;
        return r38829;
}

double f(double x, double y) {
        double r38830 = x;
        double r38831 = exp(r38830);
        double r38832 = -r38830;
        double r38833 = exp(r38832);
        double r38834 = r38831 + r38833;
        double r38835 = 2.0;
        double r38836 = r38834 / r38835;
        double r38837 = sqrt(r38836);
        double r38838 = 3.0;
        double r38839 = pow(r38837, r38838);
        double r38840 = cbrt(r38839);
        double r38841 = y;
        double r38842 = cos(r38841);
        double r38843 = r38837 * r38842;
        double r38844 = r38840 * r38843;
        double r38845 = r38831 - r38833;
        double r38846 = r38845 / r38835;
        double r38847 = sin(r38841);
        double r38848 = r38846 * r38847;
        double r38849 = /* ERROR: no complex support in C */;
        double r38850 = /* ERROR: no complex support in C */;
        return r38850;
}

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. Using strategy rm
  3. Applied add-sqr-sqrt0.0

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

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

    \[\leadsto \Re(\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 \left(\sqrt{\frac{e^{x} + e^{-x}}{2}} \cdot \cos y\right) + \frac{e^{x} - e^{-x}}{2} \cdot \sin y i\right))\]
  7. Simplified0.0

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

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

Reproduce

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