Average Error: 43.4 → 0.7
Time: 40.9s
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 \left(x \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) + \left(2 \cdot x + \left(x \cdot x\right) \cdot \left(\frac{1}{3} \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 \left(x \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) + \left(2 \cdot x + \left(x \cdot x\right) \cdot \left(\frac{1}{3} \cdot x\right)\right)}{2} \cdot \sin y i\right))
double f(double x, double y) {
        double r2214344 = x;
        double r2214345 = exp(r2214344);
        double r2214346 = -r2214344;
        double r2214347 = exp(r2214346);
        double r2214348 = r2214345 + r2214347;
        double r2214349 = 2.0;
        double r2214350 = r2214348 / r2214349;
        double r2214351 = y;
        double r2214352 = cos(r2214351);
        double r2214353 = r2214350 * r2214352;
        double r2214354 = r2214345 - r2214347;
        double r2214355 = r2214354 / r2214349;
        double r2214356 = sin(r2214351);
        double r2214357 = r2214355 * r2214356;
        double r2214358 = /* ERROR: no complex support in C */;
        double r2214359 = /* ERROR: no complex support in C */;
        return r2214359;
}

double f(double x, double y) {
        double r2214360 = x;
        double r2214361 = exp(r2214360);
        double r2214362 = -r2214360;
        double r2214363 = exp(r2214362);
        double r2214364 = r2214361 + r2214363;
        double r2214365 = 2.0;
        double r2214366 = r2214364 / r2214365;
        double r2214367 = y;
        double r2214368 = cos(r2214367);
        double r2214369 = r2214366 * r2214368;
        double r2214370 = 0.016666666666666666;
        double r2214371 = r2214360 * r2214360;
        double r2214372 = r2214371 * r2214371;
        double r2214373 = r2214360 * r2214372;
        double r2214374 = r2214370 * r2214373;
        double r2214375 = r2214365 * r2214360;
        double r2214376 = 0.3333333333333333;
        double r2214377 = r2214376 * r2214360;
        double r2214378 = r2214371 * r2214377;
        double r2214379 = r2214375 + r2214378;
        double r2214380 = r2214374 + r2214379;
        double r2214381 = r2214380 / r2214365;
        double r2214382 = sin(r2214367);
        double r2214383 = r2214381 * r2214382;
        double r2214384 = /* ERROR: no complex support in C */;
        double r2214385 = /* ERROR: no complex support in C */;
        return r2214385;
}

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}^{5} \cdot \frac{1}{60} + x \cdot \left(\frac{1}{3} \cdot \left(x \cdot x\right) + 2\right)}}{2} \cdot \sin y i\right))\]
  4. Using strategy rm
  5. Applied *-un-lft-identity0.7

    \[\leadsto \Im(\left(\frac{e^{x} + e^{-x}}{2} \cdot \cos y + \frac{{x}^{5} \cdot \frac{1}{60} + x \cdot \left(\frac{1}{3} \cdot \left(x \cdot x\right) + 2\right)}{2} \cdot \color{blue}{\left(1 \cdot \sin y\right)} i\right))\]
  6. Applied associate-*r*0.7

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

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

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

Reproduce

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