Average Error: 43.6 → 0.8
Time: 29.1s
Precision: 64
\[\Im(\left(\frac{e^{x} + e^{-x}}{2} \cdot \cos y + \frac{e^{x} - e^{-x}}{2} \cdot \sin y i\right))\]
\[\left(\left({x}^{5} \cdot \frac{1}{60} + \frac{1}{3} \cdot {x}^{3}\right) + \left(x + x\right)\right) \cdot \frac{\sin y}{2}\]
\Im(\left(\frac{e^{x} + e^{-x}}{2} \cdot \cos y + \frac{e^{x} - e^{-x}}{2} \cdot \sin y i\right))
\left(\left({x}^{5} \cdot \frac{1}{60} + \frac{1}{3} \cdot {x}^{3}\right) + \left(x + x\right)\right) \cdot \frac{\sin y}{2}
double f(double x, double y) {
        double r51377 = x;
        double r51378 = exp(r51377);
        double r51379 = -r51377;
        double r51380 = exp(r51379);
        double r51381 = r51378 + r51380;
        double r51382 = 2.0;
        double r51383 = r51381 / r51382;
        double r51384 = y;
        double r51385 = cos(r51384);
        double r51386 = r51383 * r51385;
        double r51387 = r51378 - r51380;
        double r51388 = r51387 / r51382;
        double r51389 = sin(r51384);
        double r51390 = r51388 * r51389;
        double r51391 = /* ERROR: no complex support in C */;
        double r51392 = /* ERROR: no complex support in C */;
        return r51392;
}

double f(double x, double y) {
        double r51393 = x;
        double r51394 = 5.0;
        double r51395 = pow(r51393, r51394);
        double r51396 = 0.016666666666666666;
        double r51397 = r51395 * r51396;
        double r51398 = 0.3333333333333333;
        double r51399 = 3.0;
        double r51400 = pow(r51393, r51399);
        double r51401 = r51398 * r51400;
        double r51402 = r51397 + r51401;
        double r51403 = r51393 + r51393;
        double r51404 = r51402 + r51403;
        double r51405 = y;
        double r51406 = sin(r51405);
        double r51407 = 2.0;
        double r51408 = r51406 / r51407;
        double r51409 = r51404 * r51408;
        return r51409;
}

Error

Bits error versus x

Bits error versus y

Derivation

  1. Initial program 43.6

    \[\Im(\left(\frac{e^{x} + e^{-x}}{2} \cdot \cos y + \frac{e^{x} - e^{-x}}{2} \cdot \sin y i\right))\]
  2. Simplified43.6

    \[\leadsto \color{blue}{\frac{\sin y}{2} \cdot \left(e^{x} - e^{-x}\right)}\]
  3. Taylor expanded around 0 0.8

    \[\leadsto \frac{\sin y}{2} \cdot \color{blue}{\left(2 \cdot x + \left(\frac{1}{3} \cdot {x}^{3} + \frac{1}{60} \cdot {x}^{5}\right)\right)}\]
  4. Simplified0.8

    \[\leadsto \frac{\sin y}{2} \cdot \color{blue}{\left({x}^{5} \cdot \frac{1}{60} + \left(\frac{1}{3} \cdot {x}^{3} + \left(x + x\right)\right)\right)}\]
  5. Using strategy rm
  6. Applied associate-+r+0.8

    \[\leadsto \frac{\sin y}{2} \cdot \color{blue}{\left(\left({x}^{5} \cdot \frac{1}{60} + \frac{1}{3} \cdot {x}^{3}\right) + \left(x + x\right)\right)}\]
  7. Simplified0.8

    \[\leadsto \frac{\sin y}{2} \cdot \left(\color{blue}{\left({x}^{3} \cdot \frac{1}{3} + {x}^{5} \cdot \frac{1}{60}\right)} + \left(x + x\right)\right)\]
  8. Final simplification0.8

    \[\leadsto \left(\left({x}^{5} \cdot \frac{1}{60} + \frac{1}{3} \cdot {x}^{3}\right) + \left(x + x\right)\right) \cdot \frac{\sin y}{2}\]

Reproduce

herbie shell --seed 2019179 
(FPCore (x y)
  :name "Euler formula imaginary part (p55)"
  (im (complex (* (/ (+ (exp x) (exp (- x))) 2.0) (cos y)) (* (/ (- (exp x) (exp (- x))) 2.0) (sin y)))))