\Re(\left(\frac{e^{x} + e^{-x}}{2} \cdot \cos y + \frac{e^{x} - e^{-x}}{2} \cdot \sin y i\right))\Re(\left(\sqrt{\frac{e^{x} + e^{-x}}{2}} \cdot \left(\sqrt{\frac{e^{x} + e^{-x}}{2}} \cdot \cos y\right) + \frac{e^{x} - e^{-x}}{2} \cdot \sin y i\right))double f(double x, double y) {
double r34457 = x;
double r34458 = exp(r34457);
double r34459 = -r34457;
double r34460 = exp(r34459);
double r34461 = r34458 + r34460;
double r34462 = 2.0;
double r34463 = r34461 / r34462;
double r34464 = y;
double r34465 = cos(r34464);
double r34466 = r34463 * r34465;
double r34467 = r34458 - r34460;
double r34468 = r34467 / r34462;
double r34469 = sin(r34464);
double r34470 = r34468 * r34469;
double r34471 = /* ERROR: no complex support in C */;
double r34472 = /* ERROR: no complex support in C */;
return r34472;
}
double f(double x, double y) {
double r34473 = x;
double r34474 = exp(r34473);
double r34475 = -r34473;
double r34476 = exp(r34475);
double r34477 = r34474 + r34476;
double r34478 = 2.0;
double r34479 = r34477 / r34478;
double r34480 = sqrt(r34479);
double r34481 = y;
double r34482 = cos(r34481);
double r34483 = r34480 * r34482;
double r34484 = r34480 * r34483;
double r34485 = r34474 - r34476;
double r34486 = r34485 / r34478;
double r34487 = sin(r34481);
double r34488 = r34486 * r34487;
double r34489 = /* ERROR: no complex support in C */;
double r34490 = /* ERROR: no complex support in C */;
return r34490;
}



Bits error versus x



Bits error versus y
Initial program 0.0
rmApplied add-sqr-sqrt0.0
Applied associate-*l*0.0
Final simplification0.0
herbie shell --seed 2020047 +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)))))