Average Error: 43.1 → 0.8
Time: 56.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{x \cdot \left(\left(x \cdot \frac{1}{3}\right) \cdot x + 2\right) + {x}^{5} \cdot \frac{1}{60}}{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{x \cdot \left(\left(x \cdot \frac{1}{3}\right) \cdot x + 2\right) + {x}^{5} \cdot \frac{1}{60}}{2} \cdot \sin y i\right))
double f(double x, double y) {
        double r1376656 = x;
        double r1376657 = exp(r1376656);
        double r1376658 = -r1376656;
        double r1376659 = exp(r1376658);
        double r1376660 = r1376657 + r1376659;
        double r1376661 = 2.0;
        double r1376662 = r1376660 / r1376661;
        double r1376663 = y;
        double r1376664 = cos(r1376663);
        double r1376665 = r1376662 * r1376664;
        double r1376666 = r1376657 - r1376659;
        double r1376667 = r1376666 / r1376661;
        double r1376668 = sin(r1376663);
        double r1376669 = r1376667 * r1376668;
        double r1376670 = /* ERROR: no complex support in C */;
        double r1376671 = /* ERROR: no complex support in C */;
        return r1376671;
}

double f(double x, double y) {
        double r1376672 = x;
        double r1376673 = exp(r1376672);
        double r1376674 = -r1376672;
        double r1376675 = exp(r1376674);
        double r1376676 = r1376673 + r1376675;
        double r1376677 = 2.0;
        double r1376678 = r1376676 / r1376677;
        double r1376679 = y;
        double r1376680 = cos(r1376679);
        double r1376681 = r1376678 * r1376680;
        double r1376682 = 0.3333333333333333;
        double r1376683 = r1376672 * r1376682;
        double r1376684 = r1376683 * r1376672;
        double r1376685 = r1376684 + r1376677;
        double r1376686 = r1376672 * r1376685;
        double r1376687 = 5.0;
        double r1376688 = pow(r1376672, r1376687);
        double r1376689 = 0.016666666666666666;
        double r1376690 = r1376688 * r1376689;
        double r1376691 = r1376686 + r1376690;
        double r1376692 = r1376691 / r1376677;
        double r1376693 = sin(r1376679);
        double r1376694 = r1376692 * r1376693;
        double r1376695 = /* ERROR: no complex support in C */;
        double r1376696 = /* ERROR: no complex support in C */;
        return r1376696;
}

Error

Bits error versus x

Bits error versus y

Derivation

  1. Initial program 43.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}{\frac{1}{60} \cdot {x}^{5} + x \cdot \left(x \cdot \left(\frac{1}{3} \cdot x\right) + 2\right)}}{2} \cdot \sin y i\right))\]
  4. Final simplification0.8

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

Reproduce

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