Average Error: 0.0 → 0.0
Time: 6.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 r50654 = x;
        double r50655 = exp(r50654);
        double r50656 = -r50654;
        double r50657 = exp(r50656);
        double r50658 = r50655 + r50657;
        double r50659 = 2.0;
        double r50660 = r50658 / r50659;
        double r50661 = y;
        double r50662 = cos(r50661);
        double r50663 = r50660 * r50662;
        double r50664 = r50655 - r50657;
        double r50665 = r50664 / r50659;
        double r50666 = sin(r50661);
        double r50667 = r50665 * r50666;
        double r50668 = /* ERROR: no complex support in C */;
        double r50669 = /* ERROR: no complex support in C */;
        return r50669;
}

double f(double x, double y) {
        double r50670 = x;
        double r50671 = exp(r50670);
        double r50672 = -r50670;
        double r50673 = exp(r50672);
        double r50674 = r50671 + r50673;
        double r50675 = 2.0;
        double r50676 = r50674 / r50675;
        double r50677 = y;
        double r50678 = cos(r50677);
        double r50679 = r50676 * r50678;
        double r50680 = r50671 - r50673;
        double r50681 = r50680 / r50675;
        double r50682 = sin(r50677);
        double r50683 = r50681 * r50682;
        double r50684 = /* ERROR: no complex support in C */;
        double r50685 = /* ERROR: no complex support in C */;
        return r50685;
}

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 2019347 
(FPCore (x y)
  :name "Euler formula real part (p55)"
  :precision binary64
  (re (complex (* (/ (+ (exp x) (exp (- x))) 2) (cos y)) (* (/ (- (exp x) (exp (- x))) 2) (sin y)))))