Average Error: 0.0 → 0.1
Time: 21.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))\]
\[\Re(\left(\left(\frac{\sqrt[3]{e^{x} + e^{-x}}}{\sqrt[3]{2}} \cdot \cos y\right) \cdot \frac{\sqrt[3]{e^{x} + e^{-x}} \cdot \sqrt[3]{e^{x} + e^{-x}}}{\sqrt[3]{2} \cdot \sqrt[3]{2}} + \sin y \cdot \frac{e^{x} - e^{-x}}{2} 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(\left(\frac{\sqrt[3]{e^{x} + e^{-x}}}{\sqrt[3]{2}} \cdot \cos y\right) \cdot \frac{\sqrt[3]{e^{x} + e^{-x}} \cdot \sqrt[3]{e^{x} + e^{-x}}}{\sqrt[3]{2} \cdot \sqrt[3]{2}} + \sin y \cdot \frac{e^{x} - e^{-x}}{2} i\right))
double f(double x, double y) {
        double r1188849 = x;
        double r1188850 = exp(r1188849);
        double r1188851 = -r1188849;
        double r1188852 = exp(r1188851);
        double r1188853 = r1188850 + r1188852;
        double r1188854 = 2.0;
        double r1188855 = r1188853 / r1188854;
        double r1188856 = y;
        double r1188857 = cos(r1188856);
        double r1188858 = r1188855 * r1188857;
        double r1188859 = r1188850 - r1188852;
        double r1188860 = r1188859 / r1188854;
        double r1188861 = sin(r1188856);
        double r1188862 = r1188860 * r1188861;
        double r1188863 = /* ERROR: no complex support in C */;
        double r1188864 = /* ERROR: no complex support in C */;
        return r1188864;
}

double f(double x, double y) {
        double r1188865 = x;
        double r1188866 = exp(r1188865);
        double r1188867 = -r1188865;
        double r1188868 = exp(r1188867);
        double r1188869 = r1188866 + r1188868;
        double r1188870 = cbrt(r1188869);
        double r1188871 = 2.0;
        double r1188872 = cbrt(r1188871);
        double r1188873 = r1188870 / r1188872;
        double r1188874 = y;
        double r1188875 = cos(r1188874);
        double r1188876 = r1188873 * r1188875;
        double r1188877 = r1188870 * r1188870;
        double r1188878 = r1188872 * r1188872;
        double r1188879 = r1188877 / r1188878;
        double r1188880 = r1188876 * r1188879;
        double r1188881 = sin(r1188874);
        double r1188882 = r1188866 - r1188868;
        double r1188883 = r1188882 / r1188871;
        double r1188884 = r1188881 * r1188883;
        double r1188885 = /* ERROR: no complex support in C */;
        double r1188886 = /* ERROR: no complex support in C */;
        return r1188886;
}

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-cube-cbrt2.2

    \[\leadsto \Re(\left(\frac{e^{x} + e^{-x}}{\color{blue}{\left(\sqrt[3]{2} \cdot \sqrt[3]{2}\right) \cdot \sqrt[3]{2}}} \cdot \cos y + \frac{e^{x} - e^{-x}}{2} \cdot \sin y i\right))\]
  4. Applied add-cube-cbrt0.0

    \[\leadsto \Re(\left(\frac{\color{blue}{\left(\sqrt[3]{e^{x} + e^{-x}} \cdot \sqrt[3]{e^{x} + e^{-x}}\right) \cdot \sqrt[3]{e^{x} + e^{-x}}}}{\left(\sqrt[3]{2} \cdot \sqrt[3]{2}\right) \cdot \sqrt[3]{2}} \cdot \cos y + \frac{e^{x} - e^{-x}}{2} \cdot \sin y i\right))\]
  5. Applied times-frac0.1

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

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

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

Reproduce

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