Average Error: 0.0 → 0.0
Time: 14.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))\]
\[\frac{\cos y \cdot e^{x} + \frac{1}{e^{x}} \cdot \cos y}{2}\]
\Re(\left(\frac{e^{x} + e^{-x}}{2} \cdot \cos y + \frac{e^{x} - e^{-x}}{2} \cdot \sin y i\right))
\frac{\cos y \cdot e^{x} + \frac{1}{e^{x}} \cdot \cos y}{2}
double f(double x, double y) {
        double r220161 = x;
        double r220162 = exp(r220161);
        double r220163 = -r220161;
        double r220164 = exp(r220163);
        double r220165 = r220162 + r220164;
        double r220166 = 2.0;
        double r220167 = r220165 / r220166;
        double r220168 = y;
        double r220169 = cos(r220168);
        double r220170 = r220167 * r220169;
        double r220171 = r220162 - r220164;
        double r220172 = r220171 / r220166;
        double r220173 = sin(r220168);
        double r220174 = r220172 * r220173;
        double r220175 = /* ERROR: no complex support in C */;
        double r220176 = /* ERROR: no complex support in C */;
        return r220176;
}

double f(double x, double y) {
        double r220177 = y;
        double r220178 = cos(r220177);
        double r220179 = x;
        double r220180 = exp(r220179);
        double r220181 = r220178 * r220180;
        double r220182 = 1.0;
        double r220183 = r220182 / r220180;
        double r220184 = r220183 * r220178;
        double r220185 = r220181 + r220184;
        double r220186 = 2.0;
        double r220187 = r220185 / r220186;
        return r220187;
}

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. Simplified0.0

    \[\leadsto \color{blue}{\frac{\frac{\cos y}{e^{x}} + \cos y \cdot e^{x}}{2}}\]
  3. Using strategy rm
  4. Applied div-inv0.0

    \[\leadsto \frac{\color{blue}{\cos y \cdot \frac{1}{e^{x}}} + \cos y \cdot e^{x}}{2}\]
  5. Final simplification0.0

    \[\leadsto \frac{\cos y \cdot e^{x} + \frac{1}{e^{x}} \cdot \cos y}{2}\]

Reproduce

herbie shell --seed 2019119 
(FPCore (x y)
  :name "Euler formula real part (p55)"
  (re (complex (* (/ (+ (exp x) (exp (- x))) 2) (cos y)) (* (/ (- (exp x) (exp (- x))) 2) (sin y)))))