Average Error: 0.0 → 0.0
Time: 21.7s
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{\frac{\frac{\cos y}{\sqrt{e^{x}}}}{\sqrt{e^{x}}} + \cos y \cdot e^{x}}{2}\]
\Re(\left(\frac{e^{x} + e^{-x}}{2} \cdot \cos y + \frac{e^{x} - e^{-x}}{2} \cdot \sin y i\right))
\frac{\frac{\frac{\cos y}{\sqrt{e^{x}}}}{\sqrt{e^{x}}} + \cos y \cdot e^{x}}{2}
double f(double x, double y) {
        double r2645247 = x;
        double r2645248 = exp(r2645247);
        double r2645249 = -r2645247;
        double r2645250 = exp(r2645249);
        double r2645251 = r2645248 + r2645250;
        double r2645252 = 2.0;
        double r2645253 = r2645251 / r2645252;
        double r2645254 = y;
        double r2645255 = cos(r2645254);
        double r2645256 = r2645253 * r2645255;
        double r2645257 = r2645248 - r2645250;
        double r2645258 = r2645257 / r2645252;
        double r2645259 = sin(r2645254);
        double r2645260 = r2645258 * r2645259;
        double r2645261 = /* ERROR: no complex support in C */;
        double r2645262 = /* ERROR: no complex support in C */;
        return r2645262;
}

double f(double x, double y) {
        double r2645263 = y;
        double r2645264 = cos(r2645263);
        double r2645265 = x;
        double r2645266 = exp(r2645265);
        double r2645267 = sqrt(r2645266);
        double r2645268 = r2645264 / r2645267;
        double r2645269 = r2645268 / r2645267;
        double r2645270 = r2645264 * r2645266;
        double r2645271 = r2645269 + r2645270;
        double r2645272 = 2.0;
        double r2645273 = r2645271 / r2645272;
        return r2645273;
}

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 add-sqr-sqrt0.0

    \[\leadsto \frac{\frac{\cos y}{\color{blue}{\sqrt{e^{x}} \cdot \sqrt{e^{x}}}} + \cos y \cdot e^{x}}{2}\]
  5. Applied associate-/r*0.0

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

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

Reproduce

herbie shell --seed 2019174 
(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)))))