Average Error: 43.5 → 0.9
Time: 33.3s
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 r2182959 = x;
        double r2182960 = exp(r2182959);
        double r2182961 = -r2182959;
        double r2182962 = exp(r2182961);
        double r2182963 = r2182960 + r2182962;
        double r2182964 = 2.0;
        double r2182965 = r2182963 / r2182964;
        double r2182966 = y;
        double r2182967 = cos(r2182966);
        double r2182968 = r2182965 * r2182967;
        double r2182969 = r2182960 - r2182962;
        double r2182970 = r2182969 / r2182964;
        double r2182971 = sin(r2182966);
        double r2182972 = r2182970 * r2182971;
        double r2182973 = /* ERROR: no complex support in C */;
        double r2182974 = /* ERROR: no complex support in C */;
        return r2182974;
}

double f(double x, double y) {
        double r2182975 = x;
        double r2182976 = exp(r2182975);
        double r2182977 = -r2182975;
        double r2182978 = exp(r2182977);
        double r2182979 = r2182976 + r2182978;
        double r2182980 = 2.0;
        double r2182981 = r2182979 / r2182980;
        double r2182982 = y;
        double r2182983 = cos(r2182982);
        double r2182984 = r2182981 * r2182983;
        double r2182985 = 0.016666666666666666;
        double r2182986 = 5.0;
        double r2182987 = pow(r2182975, r2182986);
        double r2182988 = r2182985 * r2182987;
        double r2182989 = 0.3333333333333333;
        double r2182990 = r2182975 * r2182975;
        double r2182991 = r2182989 * r2182990;
        double r2182992 = r2182980 + r2182991;
        double r2182993 = r2182992 * r2182975;
        double r2182994 = r2182988 + r2182993;
        double r2182995 = r2182994 / r2182980;
        double r2182996 = sin(r2182982);
        double r2182997 = r2182995 * r2182996;
        double r2182998 = /* ERROR: no complex support in C */;
        double r2182999 = /* ERROR: no complex support in C */;
        return r2182999;
}

Error

Bits error versus x

Bits error versus y

Derivation

  1. Initial program 43.5

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

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

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

    \[\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 2019162 
(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)))))