Average Error: 0.0 → 0.0
Time: 9.6s
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 r40658 = x;
        double r40659 = exp(r40658);
        double r40660 = -r40658;
        double r40661 = exp(r40660);
        double r40662 = r40659 + r40661;
        double r40663 = 2.0;
        double r40664 = r40662 / r40663;
        double r40665 = y;
        double r40666 = cos(r40665);
        double r40667 = r40664 * r40666;
        double r40668 = r40659 - r40661;
        double r40669 = r40668 / r40663;
        double r40670 = sin(r40665);
        double r40671 = r40669 * r40670;
        double r40672 = /* ERROR: no complex support in C */;
        double r40673 = /* ERROR: no complex support in C */;
        return r40673;
}

double f(double x, double y) {
        double r40674 = x;
        double r40675 = exp(r40674);
        double r40676 = -r40674;
        double r40677 = exp(r40676);
        double r40678 = r40675 + r40677;
        double r40679 = 2.0;
        double r40680 = r40678 / r40679;
        double r40681 = y;
        double r40682 = cos(r40681);
        double r40683 = r40680 * r40682;
        double r40684 = r40675 - r40677;
        double r40685 = r40684 / r40679;
        double r40686 = sin(r40681);
        double r40687 = r40685 * r40686;
        double r40688 = /* ERROR: no complex support in C */;
        double r40689 = /* ERROR: no complex support in C */;
        return r40689;
}

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