Average Error: 0.0 → 0.0
Time: 26.8s
Precision: 64
\[\Re(\left(\frac{e^{x} + e^{-x}}{2} \cdot \cos y + \frac{e^{x} - e^{-x}}{2} \cdot \sin y i\right))\]
\[\frac{\sqrt{e^{x} + e^{-x}}}{\sqrt{2}} \cdot \left(\frac{\sqrt{e^{x} + e^{-x}}}{\sqrt{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))
\frac{\sqrt{e^{x} + e^{-x}}}{\sqrt{2}} \cdot \left(\frac{\sqrt{e^{x} + e^{-x}}}{\sqrt{2}} \cdot \cos y\right)
double f(double x, double y) {
        double r41788 = x;
        double r41789 = exp(r41788);
        double r41790 = -r41788;
        double r41791 = exp(r41790);
        double r41792 = r41789 + r41791;
        double r41793 = 2.0;
        double r41794 = r41792 / r41793;
        double r41795 = y;
        double r41796 = cos(r41795);
        double r41797 = r41794 * r41796;
        double r41798 = r41789 - r41791;
        double r41799 = r41798 / r41793;
        double r41800 = sin(r41795);
        double r41801 = r41799 * r41800;
        double r41802 = /* ERROR: no complex support in C */;
        double r41803 = /* ERROR: no complex support in C */;
        return r41803;
}

double f(double x, double y) {
        double r41804 = x;
        double r41805 = exp(r41804);
        double r41806 = -r41804;
        double r41807 = exp(r41806);
        double r41808 = r41805 + r41807;
        double r41809 = sqrt(r41808);
        double r41810 = 2.0;
        double r41811 = sqrt(r41810);
        double r41812 = r41809 / r41811;
        double r41813 = y;
        double r41814 = cos(r41813);
        double r41815 = r41812 * r41814;
        double r41816 = r41812 * r41815;
        return r41816;
}

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-sqrt1.5

    \[\leadsto \frac{e^{x} + e^{-x}}{\color{blue}{\sqrt{2} \cdot \sqrt{2}}} \cdot \cos y\]
  5. Applied add-sqr-sqrt0.0

    \[\leadsto \frac{\color{blue}{\sqrt{e^{x} + e^{-x}} \cdot \sqrt{e^{x} + e^{-x}}}}{\sqrt{2} \cdot \sqrt{2}} \cdot \cos y\]
  6. Applied times-frac0.0

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

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

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

Reproduce

herbie shell --seed 2019199 
(FPCore (x y)
  :name "Euler formula real part (p55)"
  (re (complex (* (/ (+ (exp x) (exp (- x))) 2.0) (cos y)) (* (/ (- (exp x) (exp (- x))) 2.0) (sin y)))))