Average Error: 43.7 → 0.8
Time: 32.5s
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{\left(x \cdot \left(\frac{1}{3} \cdot \left(x \cdot x\right)\right) + \left(x + x\right)\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{\left(x \cdot \left(\frac{1}{3} \cdot \left(x \cdot x\right)\right) + \left(x + x\right)\right) + {x}^{5} \cdot \frac{1}{60}}{2} \cdot \sin y i\right))
double f(double x, double y) {
        double r2868285 = x;
        double r2868286 = exp(r2868285);
        double r2868287 = -r2868285;
        double r2868288 = exp(r2868287);
        double r2868289 = r2868286 + r2868288;
        double r2868290 = 2.0;
        double r2868291 = r2868289 / r2868290;
        double r2868292 = y;
        double r2868293 = cos(r2868292);
        double r2868294 = r2868291 * r2868293;
        double r2868295 = r2868286 - r2868288;
        double r2868296 = r2868295 / r2868290;
        double r2868297 = sin(r2868292);
        double r2868298 = r2868296 * r2868297;
        double r2868299 = /* ERROR: no complex support in C */;
        double r2868300 = /* ERROR: no complex support in C */;
        return r2868300;
}

double f(double x, double y) {
        double r2868301 = x;
        double r2868302 = exp(r2868301);
        double r2868303 = -r2868301;
        double r2868304 = exp(r2868303);
        double r2868305 = r2868302 + r2868304;
        double r2868306 = 2.0;
        double r2868307 = r2868305 / r2868306;
        double r2868308 = y;
        double r2868309 = cos(r2868308);
        double r2868310 = r2868307 * r2868309;
        double r2868311 = 0.3333333333333333;
        double r2868312 = r2868301 * r2868301;
        double r2868313 = r2868311 * r2868312;
        double r2868314 = r2868301 * r2868313;
        double r2868315 = r2868301 + r2868301;
        double r2868316 = r2868314 + r2868315;
        double r2868317 = 5.0;
        double r2868318 = pow(r2868301, r2868317);
        double r2868319 = 0.016666666666666666;
        double r2868320 = r2868318 * r2868319;
        double r2868321 = r2868316 + r2868320;
        double r2868322 = r2868321 / r2868306;
        double r2868323 = sin(r2868308);
        double r2868324 = r2868322 * r2868323;
        double r2868325 = /* ERROR: no complex support in C */;
        double r2868326 = /* ERROR: no complex support in C */;
        return r2868326;
}

Error

Bits error versus x

Bits error versus y

Derivation

  1. Initial program 43.7

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

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

Reproduce

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