Average Error: 43.1 → 0.8
Time: 46.0s
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 \cdot x + \frac{1}{3} \cdot \left(\left(x \cdot x\right) \cdot x\right)\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} + \left(2 \cdot x + \frac{1}{3} \cdot \left(\left(x \cdot x\right) \cdot x\right)\right)}{2} \cdot \sin y i\right))
double f(double x, double y) {
        double r2162205 = x;
        double r2162206 = exp(r2162205);
        double r2162207 = -r2162205;
        double r2162208 = exp(r2162207);
        double r2162209 = r2162206 + r2162208;
        double r2162210 = 2.0;
        double r2162211 = r2162209 / r2162210;
        double r2162212 = y;
        double r2162213 = cos(r2162212);
        double r2162214 = r2162211 * r2162213;
        double r2162215 = r2162206 - r2162208;
        double r2162216 = r2162215 / r2162210;
        double r2162217 = sin(r2162212);
        double r2162218 = r2162216 * r2162217;
        double r2162219 = /* ERROR: no complex support in C */;
        double r2162220 = /* ERROR: no complex support in C */;
        return r2162220;
}

double f(double x, double y) {
        double r2162221 = x;
        double r2162222 = exp(r2162221);
        double r2162223 = -r2162221;
        double r2162224 = exp(r2162223);
        double r2162225 = r2162222 + r2162224;
        double r2162226 = 2.0;
        double r2162227 = r2162225 / r2162226;
        double r2162228 = y;
        double r2162229 = cos(r2162228);
        double r2162230 = r2162227 * r2162229;
        double r2162231 = 0.016666666666666666;
        double r2162232 = 5.0;
        double r2162233 = pow(r2162221, r2162232);
        double r2162234 = r2162231 * r2162233;
        double r2162235 = r2162226 * r2162221;
        double r2162236 = 0.3333333333333333;
        double r2162237 = r2162221 * r2162221;
        double r2162238 = r2162237 * r2162221;
        double r2162239 = r2162236 * r2162238;
        double r2162240 = r2162235 + r2162239;
        double r2162241 = r2162234 + r2162240;
        double r2162242 = r2162241 / r2162226;
        double r2162243 = sin(r2162228);
        double r2162244 = r2162242 * r2162243;
        double r2162245 = /* ERROR: no complex support in C */;
        double r2162246 = /* ERROR: no complex support in C */;
        return r2162246;
}

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

Reproduce

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