Average Error: 0.0 → 0.7
Time: 4.4s
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{{x}^{2} + \left(\frac{1}{12} \cdot {x}^{4} + 2\right)}{2} \cdot \cos y\]
\Re(\left(\frac{e^{x} + e^{-x}}{2} \cdot \cos y + \frac{e^{x} - e^{-x}}{2} \cdot \sin y i\right))
\frac{{x}^{2} + \left(\frac{1}{12} \cdot {x}^{4} + 2\right)}{2} \cdot \cos y
double f(double x, double y) {
        double r21319 = x;
        double r21320 = exp(r21319);
        double r21321 = -r21319;
        double r21322 = exp(r21321);
        double r21323 = r21320 + r21322;
        double r21324 = 2.0;
        double r21325 = r21323 / r21324;
        double r21326 = y;
        double r21327 = cos(r21326);
        double r21328 = r21325 * r21327;
        double r21329 = r21320 - r21322;
        double r21330 = r21329 / r21324;
        double r21331 = sin(r21326);
        double r21332 = r21330 * r21331;
        double r21333 = /* ERROR: no complex support in C */;
        double r21334 = /* ERROR: no complex support in C */;
        return r21334;
}

double f(double x, double y) {
        double r21335 = x;
        double r21336 = 2.0;
        double r21337 = pow(r21335, r21336);
        double r21338 = 0.08333333333333333;
        double r21339 = 4.0;
        double r21340 = pow(r21335, r21339);
        double r21341 = r21338 * r21340;
        double r21342 = r21341 + r21336;
        double r21343 = r21337 + r21342;
        double r21344 = 2.0;
        double r21345 = r21343 / r21344;
        double r21346 = y;
        double r21347 = cos(r21346);
        double r21348 = r21345 * r21347;
        return r21348;
}

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{e^{x} + e^{-x}}{2} \cdot \cos y}\]
  3. Taylor expanded around 0 0.7

    \[\leadsto \frac{\color{blue}{{x}^{2} + \left(\frac{1}{12} \cdot {x}^{4} + 2\right)}}{2} \cdot \cos y\]
  4. Final simplification0.7

    \[\leadsto \frac{{x}^{2} + \left(\frac{1}{12} \cdot {x}^{4} + 2\right)}{2} \cdot \cos y\]

Reproduce

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