\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 r49272 = x;
double r49273 = exp(r49272);
double r49274 = -r49272;
double r49275 = exp(r49274);
double r49276 = r49273 + r49275;
double r49277 = 2.0;
double r49278 = r49276 / r49277;
double r49279 = y;
double r49280 = cos(r49279);
double r49281 = r49278 * r49280;
double r49282 = r49273 - r49275;
double r49283 = r49282 / r49277;
double r49284 = sin(r49279);
double r49285 = r49283 * r49284;
double r49286 = /* ERROR: no complex support in C */;
double r49287 = /* ERROR: no complex support in C */;
return r49287;
}
double f(double x, double y) {
double r49288 = x;
double r49289 = -r49288;
double r49290 = exp(r49289);
double r49291 = exp(r49288);
double r49292 = r49290 + r49291;
double r49293 = 3.0;
double r49294 = pow(r49292, r49293);
double r49295 = cbrt(r49294);
double r49296 = 2.0;
double r49297 = r49295 / r49296;
double r49298 = sqrt(r49297);
double r49299 = r49292 / r49296;
double r49300 = sqrt(r49299);
double r49301 = y;
double r49302 = cos(r49301);
double r49303 = r49300 * r49302;
double r49304 = r49298 * r49303;
return r49304;
}



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