Average Error: 0.0 → 0.0
Time: 52.3s
Precision: 64
\[\Re(\left(\frac{e^{x} + e^{-x}}{2.0} \cdot \cos y + \frac{e^{x} - e^{-x}}{2.0} \cdot \sin y i\right))\]
\[\frac{e^{x} \cdot \cos y + \frac{\frac{\cos y}{\sqrt{e^{x}}}}{\sqrt{e^{x}}}}{2.0}\]
\Re(\left(\frac{e^{x} + e^{-x}}{2.0} \cdot \cos y + \frac{e^{x} - e^{-x}}{2.0} \cdot \sin y i\right))
\frac{e^{x} \cdot \cos y + \frac{\frac{\cos y}{\sqrt{e^{x}}}}{\sqrt{e^{x}}}}{2.0}
double f(double x, double y) {
        double r1005668 = x;
        double r1005669 = exp(r1005668);
        double r1005670 = -r1005668;
        double r1005671 = exp(r1005670);
        double r1005672 = r1005669 + r1005671;
        double r1005673 = 2.0;
        double r1005674 = r1005672 / r1005673;
        double r1005675 = y;
        double r1005676 = cos(r1005675);
        double r1005677 = r1005674 * r1005676;
        double r1005678 = r1005669 - r1005671;
        double r1005679 = r1005678 / r1005673;
        double r1005680 = sin(r1005675);
        double r1005681 = r1005679 * r1005680;
        double r1005682 = /* ERROR: no complex support in C */;
        double r1005683 = /* ERROR: no complex support in C */;
        return r1005683;
}

double f(double x, double y) {
        double r1005684 = x;
        double r1005685 = exp(r1005684);
        double r1005686 = y;
        double r1005687 = cos(r1005686);
        double r1005688 = r1005685 * r1005687;
        double r1005689 = sqrt(r1005685);
        double r1005690 = r1005687 / r1005689;
        double r1005691 = r1005690 / r1005689;
        double r1005692 = r1005688 + r1005691;
        double r1005693 = 2.0;
        double r1005694 = r1005692 / r1005693;
        return r1005694;
}

Error

Bits error versus x

Bits error versus y

Derivation

  1. Initial program 0.0

    \[\Re(\left(\frac{e^{x} + e^{-x}}{2.0} \cdot \cos y + \frac{e^{x} - e^{-x}}{2.0} \cdot \sin y i\right))\]
  2. Simplified0.0

    \[\leadsto \color{blue}{\frac{\frac{\cos y}{e^{x}} + e^{x} \cdot \cos y}{2.0}}\]
  3. Using strategy rm
  4. Applied add-sqr-sqrt0.0

    \[\leadsto \frac{\frac{\cos y}{\color{blue}{\sqrt{e^{x}} \cdot \sqrt{e^{x}}}} + e^{x} \cdot \cos y}{2.0}\]
  5. Applied associate-/r*0.0

    \[\leadsto \frac{\color{blue}{\frac{\frac{\cos y}{\sqrt{e^{x}}}}{\sqrt{e^{x}}}} + e^{x} \cdot \cos y}{2.0}\]
  6. Final simplification0.0

    \[\leadsto \frac{e^{x} \cdot \cos y + \frac{\frac{\cos y}{\sqrt{e^{x}}}}{\sqrt{e^{x}}}}{2.0}\]

Reproduce

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