Average Error: 44.1 → 0.8
Time: 54.6s
Precision: 64
\[\Im(\left(\frac{e^{x} + e^{-x}}{2} \cdot \cos y + \frac{e^{x} - e^{-x}}{2} \cdot \sin y i\right))\]
\[\Im(\left(\frac{e^{x} + e^{-x}}{2} \cdot \cos y + \frac{\frac{1}{60} \cdot {x}^{5} + \left(2 \cdot x + \frac{1}{3} \cdot \left(\left(x \cdot x\right) \cdot x\right)\right)}{2} \cdot \sin y i\right))\]
\Im(\left(\frac{e^{x} + e^{-x}}{2} \cdot \cos y + \frac{e^{x} - e^{-x}}{2} \cdot \sin y i\right))
\Im(\left(\frac{e^{x} + e^{-x}}{2} \cdot \cos y + \frac{\frac{1}{60} \cdot {x}^{5} + \left(2 \cdot x + \frac{1}{3} \cdot \left(\left(x \cdot x\right) \cdot x\right)\right)}{2} \cdot \sin y i\right))
double f(double x, double y) {
        double r1882411 = x;
        double r1882412 = exp(r1882411);
        double r1882413 = -r1882411;
        double r1882414 = exp(r1882413);
        double r1882415 = r1882412 + r1882414;
        double r1882416 = 2.0;
        double r1882417 = r1882415 / r1882416;
        double r1882418 = y;
        double r1882419 = cos(r1882418);
        double r1882420 = r1882417 * r1882419;
        double r1882421 = r1882412 - r1882414;
        double r1882422 = r1882421 / r1882416;
        double r1882423 = sin(r1882418);
        double r1882424 = r1882422 * r1882423;
        double r1882425 = /* ERROR: no complex support in C */;
        double r1882426 = /* ERROR: no complex support in C */;
        return r1882426;
}

double f(double x, double y) {
        double r1882427 = x;
        double r1882428 = exp(r1882427);
        double r1882429 = -r1882427;
        double r1882430 = exp(r1882429);
        double r1882431 = r1882428 + r1882430;
        double r1882432 = 2.0;
        double r1882433 = r1882431 / r1882432;
        double r1882434 = y;
        double r1882435 = cos(r1882434);
        double r1882436 = r1882433 * r1882435;
        double r1882437 = 0.016666666666666666;
        double r1882438 = 5.0;
        double r1882439 = pow(r1882427, r1882438);
        double r1882440 = r1882437 * r1882439;
        double r1882441 = r1882432 * r1882427;
        double r1882442 = 0.3333333333333333;
        double r1882443 = r1882427 * r1882427;
        double r1882444 = r1882443 * r1882427;
        double r1882445 = r1882442 * r1882444;
        double r1882446 = r1882441 + r1882445;
        double r1882447 = r1882440 + r1882446;
        double r1882448 = r1882447 / r1882432;
        double r1882449 = sin(r1882434);
        double r1882450 = r1882448 * r1882449;
        double r1882451 = /* ERROR: no complex support in C */;
        double r1882452 = /* ERROR: no complex support in C */;
        return r1882452;
}

Error

Bits error versus x

Bits error versus y

Derivation

  1. Initial program 44.1

    \[\Im(\left(\frac{e^{x} + e^{-x}}{2} \cdot \cos y + \frac{e^{x} - e^{-x}}{2} \cdot \sin y i\right))\]
  2. Taylor expanded around 0 0.8

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

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

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

Reproduce

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