Average Error: 0.0 → 0.0
Time: 20.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))\]
\[\Re(\left(\frac{e^{x} + e^{-x}}{2} \cdot \cos y + \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(\frac{e^{x} + e^{-x}}{2} \cdot \cos y + \frac{e^{x} - e^{-x}}{2} \cdot \sin y i\right))
double f(double x, double y) {
        double r864741 = x;
        double r864742 = exp(r864741);
        double r864743 = -r864741;
        double r864744 = exp(r864743);
        double r864745 = r864742 + r864744;
        double r864746 = 2.0;
        double r864747 = r864745 / r864746;
        double r864748 = y;
        double r864749 = cos(r864748);
        double r864750 = r864747 * r864749;
        double r864751 = r864742 - r864744;
        double r864752 = r864751 / r864746;
        double r864753 = sin(r864748);
        double r864754 = r864752 * r864753;
        double r864755 = /* ERROR: no complex support in C */;
        double r864756 = /* ERROR: no complex support in C */;
        return r864756;
}

double f(double x, double y) {
        double r864757 = x;
        double r864758 = exp(r864757);
        double r864759 = -r864757;
        double r864760 = exp(r864759);
        double r864761 = r864758 + r864760;
        double r864762 = 2.0;
        double r864763 = r864761 / r864762;
        double r864764 = y;
        double r864765 = cos(r864764);
        double r864766 = r864763 * r864765;
        double r864767 = r864758 - r864760;
        double r864768 = r864767 / r864762;
        double r864769 = sin(r864764);
        double r864770 = r864768 * r864769;
        double r864771 = /* ERROR: no complex support in C */;
        double r864772 = /* ERROR: no complex support in C */;
        return r864772;
}

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. Final simplification0.0

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

Reproduce

herbie shell --seed 2019151 +o rules:numerics
(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)))))