\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(\cos y \cdot \sqrt{\frac{e^{x} + e^{-x}}{2}}\right)double f(double x, double y) {
double r44270 = x;
double r44271 = exp(r44270);
double r44272 = -r44270;
double r44273 = exp(r44272);
double r44274 = r44271 + r44273;
double r44275 = 2.0;
double r44276 = r44274 / r44275;
double r44277 = y;
double r44278 = cos(r44277);
double r44279 = r44276 * r44278;
double r44280 = r44271 - r44273;
double r44281 = r44280 / r44275;
double r44282 = sin(r44277);
double r44283 = r44281 * r44282;
double r44284 = /* ERROR: no complex support in C */;
double r44285 = /* ERROR: no complex support in C */;
return r44285;
}
double f(double x, double y) {
double r44286 = x;
double r44287 = -r44286;
double r44288 = exp(r44287);
double r44289 = exp(r44286);
double r44290 = r44288 + r44289;
double r44291 = 3.0;
double r44292 = pow(r44290, r44291);
double r44293 = cbrt(r44292);
double r44294 = 2.0;
double r44295 = r44293 / r44294;
double r44296 = sqrt(r44295);
double r44297 = y;
double r44298 = cos(r44297);
double r44299 = r44289 + r44288;
double r44300 = r44299 / r44294;
double r44301 = sqrt(r44300);
double r44302 = r44298 * r44301;
double r44303 = r44296 * r44302;
return r44303;
}



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
(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)))))