\Re(\left(\frac{e^{x} + e^{-x}}{2} \cdot \cos y + \frac{e^{x} - e^{-x}}{2} \cdot \sin y i\right))\frac{{x}^{2} + \left(\frac{1}{12} \cdot {x}^{4} + 2\right)}{2} \cdot \cos ydouble f(double x, double y) {
double r21319 = x;
double r21320 = exp(r21319);
double r21321 = -r21319;
double r21322 = exp(r21321);
double r21323 = r21320 + r21322;
double r21324 = 2.0;
double r21325 = r21323 / r21324;
double r21326 = y;
double r21327 = cos(r21326);
double r21328 = r21325 * r21327;
double r21329 = r21320 - r21322;
double r21330 = r21329 / r21324;
double r21331 = sin(r21326);
double r21332 = r21330 * r21331;
double r21333 = /* ERROR: no complex support in C */;
double r21334 = /* ERROR: no complex support in C */;
return r21334;
}
double f(double x, double y) {
double r21335 = x;
double r21336 = 2.0;
double r21337 = pow(r21335, r21336);
double r21338 = 0.08333333333333333;
double r21339 = 4.0;
double r21340 = pow(r21335, r21339);
double r21341 = r21338 * r21340;
double r21342 = r21341 + r21336;
double r21343 = r21337 + r21342;
double r21344 = 2.0;
double r21345 = r21343 / r21344;
double r21346 = y;
double r21347 = cos(r21346);
double r21348 = r21345 * r21347;
return r21348;
}



Bits error versus x



Bits error versus y
Initial program 0.0
Simplified0.0
Taylor expanded around 0 0.7
Final simplification0.7
herbie shell --seed 2020060
(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)))))