Average Error: 0.0 → 0.0
Time: 6.5s
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 r46091 = x;
        double r46092 = exp(r46091);
        double r46093 = -r46091;
        double r46094 = exp(r46093);
        double r46095 = r46092 + r46094;
        double r46096 = 2.0;
        double r46097 = r46095 / r46096;
        double r46098 = y;
        double r46099 = cos(r46098);
        double r46100 = r46097 * r46099;
        double r46101 = r46092 - r46094;
        double r46102 = r46101 / r46096;
        double r46103 = sin(r46098);
        double r46104 = r46102 * r46103;
        double r46105 = /* ERROR: no complex support in C */;
        double r46106 = /* ERROR: no complex support in C */;
        return r46106;
}

double f(double x, double y) {
        double r46107 = x;
        double r46108 = exp(r46107);
        double r46109 = -r46107;
        double r46110 = exp(r46109);
        double r46111 = r46108 + r46110;
        double r46112 = 2.0;
        double r46113 = r46111 / r46112;
        double r46114 = y;
        double r46115 = cos(r46114);
        double r46116 = r46113 * r46115;
        double r46117 = r46108 - r46110;
        double r46118 = r46117 / r46112;
        double r46119 = sin(r46114);
        double r46120 = r46118 * r46119;
        double r46121 = /* ERROR: no complex support in C */;
        double r46122 = /* ERROR: no complex support in C */;
        return r46122;
}

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