\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 r41028 = x;
double r41029 = exp(r41028);
double r41030 = -r41028;
double r41031 = exp(r41030);
double r41032 = r41029 + r41031;
double r41033 = 2.0;
double r41034 = r41032 / r41033;
double r41035 = y;
double r41036 = cos(r41035);
double r41037 = r41034 * r41036;
double r41038 = r41029 - r41031;
double r41039 = r41038 / r41033;
double r41040 = sin(r41035);
double r41041 = r41039 * r41040;
double r41042 = /* ERROR: no complex support in C */;
double r41043 = /* ERROR: no complex support in C */;
return r41043;
}
double f(double x, double y) {
double r41044 = x;
double r41045 = -r41044;
double r41046 = exp(r41045);
double r41047 = exp(r41044);
double r41048 = r41046 + r41047;
double r41049 = 3.0;
double r41050 = pow(r41048, r41049);
double r41051 = cbrt(r41050);
double r41052 = 2.0;
double r41053 = r41051 / r41052;
double r41054 = sqrt(r41053);
double r41055 = y;
double r41056 = cos(r41055);
double r41057 = r41047 + r41046;
double r41058 = r41057 / r41052;
double r41059 = sqrt(r41058);
double r41060 = r41056 * r41059;
double r41061 = r41054 * r41060;
return r41061;
}



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