Average Error: 0.0 → 0.0
Time: 1.7m
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 r38689 = x;
        double r38690 = exp(r38689);
        double r38691 = -r38689;
        double r38692 = exp(r38691);
        double r38693 = r38690 + r38692;
        double r38694 = 2.0;
        double r38695 = r38693 / r38694;
        double r38696 = y;
        double r38697 = cos(r38696);
        double r38698 = r38695 * r38697;
        double r38699 = r38690 - r38692;
        double r38700 = r38699 / r38694;
        double r38701 = sin(r38696);
        double r38702 = r38700 * r38701;
        double r38703 = /* ERROR: no complex support in C */;
        double r38704 = /* ERROR: no complex support in C */;
        return r38704;
}

double f(double x, double y) {
        double r38705 = x;
        double r38706 = exp(r38705);
        double r38707 = -r38705;
        double r38708 = exp(r38707);
        double r38709 = r38706 + r38708;
        double r38710 = 2.0;
        double r38711 = r38709 / r38710;
        double r38712 = y;
        double r38713 = cos(r38712);
        double r38714 = r38711 * r38713;
        double r38715 = r38706 - r38708;
        double r38716 = r38715 / r38710;
        double r38717 = sin(r38712);
        double r38718 = r38716 * r38717;
        double r38719 = /* ERROR: no complex support in C */;
        double r38720 = /* ERROR: no complex support in C */;
        return r38720;
}

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 2019202 
(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)))))