\Re(\left(\frac{e^{x} + e^{-x}}{2} \cdot \cos y + \frac{e^{x} - e^{-x}}{2} \cdot \sin y i\right))\sqrt{\frac{\sqrt[3]{{\left(e^{-x} + e^{x}\right)}^{3}}}{2}} \cdot \left(\sqrt{\frac{e^{-x} + e^{x}}{2}} \cdot \cos y\right)double f(double x, double y) {
double r49467 = x;
double r49468 = exp(r49467);
double r49469 = -r49467;
double r49470 = exp(r49469);
double r49471 = r49468 + r49470;
double r49472 = 2.0;
double r49473 = r49471 / r49472;
double r49474 = y;
double r49475 = cos(r49474);
double r49476 = r49473 * r49475;
double r49477 = r49468 - r49470;
double r49478 = r49477 / r49472;
double r49479 = sin(r49474);
double r49480 = r49478 * r49479;
double r49481 = /* ERROR: no complex support in C */;
double r49482 = /* ERROR: no complex support in C */;
return r49482;
}
double f(double x, double y) {
double r49483 = x;
double r49484 = -r49483;
double r49485 = exp(r49484);
double r49486 = exp(r49483);
double r49487 = r49485 + r49486;
double r49488 = 3.0;
double r49489 = pow(r49487, r49488);
double r49490 = cbrt(r49489);
double r49491 = 2.0;
double r49492 = r49490 / r49491;
double r49493 = sqrt(r49492);
double r49494 = r49487 / r49491;
double r49495 = sqrt(r49494);
double r49496 = y;
double r49497 = cos(r49496);
double r49498 = r49495 * r49497;
double r49499 = r49493 * r49498;
return r49499;
}



Bits error versus x



Bits error versus y
Initial program 0.0
Simplified0.0
rmApplied add-cbrt-cube0.2
Simplified0.2
rmApplied add-sqr-sqrt0.2
Applied associate-*l*0.2
Simplified0.2
Final simplification0.2
herbie shell --seed 2019325 +o rules:numerics
(FPCore (x y)
:name "Euler formula real part (p55)"
:precision binary64
(re (complex (* (/ (+ (exp x) (exp (- x))) 2) (cos y)) (* (/ (- (exp x) (exp (- x))) 2) (sin y)))))