Average Error: 43.4 → 0.7
Time: 1.1m
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 + \frac{1}{3} \cdot \left(x \cdot x\right)\right) \cdot x}{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 + \frac{1}{3} \cdot \left(x \cdot x\right)\right) \cdot x}{2} \cdot \sin y i\right))
double f(double x, double y) {
        double r1792943 = x;
        double r1792944 = exp(r1792943);
        double r1792945 = -r1792943;
        double r1792946 = exp(r1792945);
        double r1792947 = r1792944 + r1792946;
        double r1792948 = 2.0;
        double r1792949 = r1792947 / r1792948;
        double r1792950 = y;
        double r1792951 = cos(r1792950);
        double r1792952 = r1792949 * r1792951;
        double r1792953 = r1792944 - r1792946;
        double r1792954 = r1792953 / r1792948;
        double r1792955 = sin(r1792950);
        double r1792956 = r1792954 * r1792955;
        double r1792957 = /* ERROR: no complex support in C */;
        double r1792958 = /* ERROR: no complex support in C */;
        return r1792958;
}

double f(double x, double y) {
        double r1792959 = x;
        double r1792960 = exp(r1792959);
        double r1792961 = -r1792959;
        double r1792962 = exp(r1792961);
        double r1792963 = r1792960 + r1792962;
        double r1792964 = 2.0;
        double r1792965 = r1792963 / r1792964;
        double r1792966 = y;
        double r1792967 = cos(r1792966);
        double r1792968 = r1792965 * r1792967;
        double r1792969 = 0.016666666666666666;
        double r1792970 = 5.0;
        double r1792971 = pow(r1792959, r1792970);
        double r1792972 = r1792969 * r1792971;
        double r1792973 = 0.3333333333333333;
        double r1792974 = r1792959 * r1792959;
        double r1792975 = r1792973 * r1792974;
        double r1792976 = r1792964 + r1792975;
        double r1792977 = r1792976 * r1792959;
        double r1792978 = r1792972 + r1792977;
        double r1792979 = r1792978 / r1792964;
        double r1792980 = sin(r1792966);
        double r1792981 = r1792979 * r1792980;
        double r1792982 = /* ERROR: no complex support in C */;
        double r1792983 = /* ERROR: no complex support in C */;
        return r1792983;
}

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.7

    \[\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.7

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

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

Reproduce

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