Average Error: 0.0 → 0.0
Time: 6.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 r38037 = x;
        double r38038 = exp(r38037);
        double r38039 = -r38037;
        double r38040 = exp(r38039);
        double r38041 = r38038 + r38040;
        double r38042 = 2.0;
        double r38043 = r38041 / r38042;
        double r38044 = y;
        double r38045 = cos(r38044);
        double r38046 = r38043 * r38045;
        double r38047 = r38038 - r38040;
        double r38048 = r38047 / r38042;
        double r38049 = sin(r38044);
        double r38050 = r38048 * r38049;
        double r38051 = /* ERROR: no complex support in C */;
        double r38052 = /* ERROR: no complex support in C */;
        return r38052;
}

double f(double x, double y) {
        double r38053 = x;
        double r38054 = exp(r38053);
        double r38055 = -r38053;
        double r38056 = exp(r38055);
        double r38057 = r38054 + r38056;
        double r38058 = 2.0;
        double r38059 = r38057 / r38058;
        double r38060 = y;
        double r38061 = cos(r38060);
        double r38062 = r38059 * r38061;
        double r38063 = r38054 - r38056;
        double r38064 = r38063 / r38058;
        double r38065 = sin(r38060);
        double r38066 = r38064 * r38065;
        double r38067 = /* ERROR: no complex support in C */;
        double r38068 = /* ERROR: no complex support in C */;
        return r38068;
}

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