Average Error: 43.5 → 0.8
Time: 59.4s
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 r1857118 = x;
        double r1857119 = exp(r1857118);
        double r1857120 = -r1857118;
        double r1857121 = exp(r1857120);
        double r1857122 = r1857119 + r1857121;
        double r1857123 = 2.0;
        double r1857124 = r1857122 / r1857123;
        double r1857125 = y;
        double r1857126 = cos(r1857125);
        double r1857127 = r1857124 * r1857126;
        double r1857128 = r1857119 - r1857121;
        double r1857129 = r1857128 / r1857123;
        double r1857130 = sin(r1857125);
        double r1857131 = r1857129 * r1857130;
        double r1857132 = /* ERROR: no complex support in C */;
        double r1857133 = /* ERROR: no complex support in C */;
        return r1857133;
}

double f(double x, double y) {
        double r1857134 = x;
        double r1857135 = exp(r1857134);
        double r1857136 = -r1857134;
        double r1857137 = exp(r1857136);
        double r1857138 = r1857135 + r1857137;
        double r1857139 = 2.0;
        double r1857140 = r1857138 / r1857139;
        double r1857141 = y;
        double r1857142 = cos(r1857141);
        double r1857143 = r1857140 * r1857142;
        double r1857144 = 0.3333333333333333;
        double r1857145 = r1857134 * r1857144;
        double r1857146 = r1857145 * r1857134;
        double r1857147 = r1857146 + r1857139;
        double r1857148 = r1857134 * r1857147;
        double r1857149 = 5.0;
        double r1857150 = pow(r1857134, r1857149);
        double r1857151 = 0.016666666666666666;
        double r1857152 = r1857150 * r1857151;
        double r1857153 = r1857148 + r1857152;
        double r1857154 = r1857153 / r1857139;
        double r1857155 = sin(r1857141);
        double r1857156 = r1857154 * r1857155;
        double r1857157 = /* ERROR: no complex support in C */;
        double r1857158 = /* ERROR: no complex support in C */;
        return r1857158;
}

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.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}^{5} \cdot \frac{1}{60} + x \cdot \left(2 + x \cdot \left(\frac{1}{3} \cdot x\right)\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 2019144 
(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)))))