Average Error: 43.4 → 0.8
Time: 37.7s
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} + x \cdot \left(\frac{1}{3} \cdot \left(x \cdot x\right) + 2\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} + x \cdot \left(\frac{1}{3} \cdot \left(x \cdot x\right) + 2\right)}{2} \cdot \sin y i\right))
double f(double x, double y) {
        double r2042713 = x;
        double r2042714 = exp(r2042713);
        double r2042715 = -r2042713;
        double r2042716 = exp(r2042715);
        double r2042717 = r2042714 + r2042716;
        double r2042718 = 2.0;
        double r2042719 = r2042717 / r2042718;
        double r2042720 = y;
        double r2042721 = cos(r2042720);
        double r2042722 = r2042719 * r2042721;
        double r2042723 = r2042714 - r2042716;
        double r2042724 = r2042723 / r2042718;
        double r2042725 = sin(r2042720);
        double r2042726 = r2042724 * r2042725;
        double r2042727 = /* ERROR: no complex support in C */;
        double r2042728 = /* ERROR: no complex support in C */;
        return r2042728;
}

double f(double x, double y) {
        double r2042729 = x;
        double r2042730 = exp(r2042729);
        double r2042731 = -r2042729;
        double r2042732 = exp(r2042731);
        double r2042733 = r2042730 + r2042732;
        double r2042734 = 2.0;
        double r2042735 = r2042733 / r2042734;
        double r2042736 = y;
        double r2042737 = cos(r2042736);
        double r2042738 = r2042735 * r2042737;
        double r2042739 = 0.016666666666666666;
        double r2042740 = 5.0;
        double r2042741 = pow(r2042729, r2042740);
        double r2042742 = r2042739 * r2042741;
        double r2042743 = 0.3333333333333333;
        double r2042744 = r2042729 * r2042729;
        double r2042745 = r2042743 * r2042744;
        double r2042746 = 2.0;
        double r2042747 = r2042745 + r2042746;
        double r2042748 = r2042729 * r2042747;
        double r2042749 = r2042742 + r2042748;
        double r2042750 = r2042749 / r2042734;
        double r2042751 = sin(r2042736);
        double r2042752 = r2042750 * r2042751;
        double r2042753 = /* ERROR: no complex support in C */;
        double r2042754 = /* ERROR: no complex support in C */;
        return r2042754;
}

Error

Bits error versus x

Bits error versus y

Derivation

  1. Initial program 43.4

    \[\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}{x \cdot \left(\frac{1}{3} \cdot \left(x \cdot x\right) + 2\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} + x \cdot \left(\frac{1}{3} \cdot \left(x \cdot x\right) + 2\right)}{2} \cdot \sin y i\right))\]

Reproduce

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