Average Error: 0.0 → 0.0
Time: 18.4s
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 r45750 = x;
        double r45751 = exp(r45750);
        double r45752 = -r45750;
        double r45753 = exp(r45752);
        double r45754 = r45751 + r45753;
        double r45755 = 2.0;
        double r45756 = r45754 / r45755;
        double r45757 = y;
        double r45758 = cos(r45757);
        double r45759 = r45756 * r45758;
        double r45760 = r45751 - r45753;
        double r45761 = r45760 / r45755;
        double r45762 = sin(r45757);
        double r45763 = r45761 * r45762;
        double r45764 = /* ERROR: no complex support in C */;
        double r45765 = /* ERROR: no complex support in C */;
        return r45765;
}

double f(double x, double y) {
        double r45766 = x;
        double r45767 = exp(r45766);
        double r45768 = -r45766;
        double r45769 = exp(r45768);
        double r45770 = r45767 + r45769;
        double r45771 = 2.0;
        double r45772 = r45770 / r45771;
        double r45773 = y;
        double r45774 = cos(r45773);
        double r45775 = r45772 * r45774;
        double r45776 = r45767 - r45769;
        double r45777 = r45776 / r45771;
        double r45778 = sin(r45773);
        double r45779 = r45777 * r45778;
        double r45780 = /* ERROR: no complex support in C */;
        double r45781 = /* ERROR: no complex support in C */;
        return r45781;
}

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 2019196 +o rules:numerics
(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)))))