\Re(\left(\frac{e^{x} + e^{-x}}{2} \cdot \cos y + \frac{e^{x} - e^{-x}}{2} \cdot \sin y i\right))\Re(\left(\frac{e^{x} + e^{-x}}{2} \cdot \cos y + \frac{e^{x} - e^{-x}}{2} \cdot \sin y i\right))double f(double x, double y) {
double r46091 = x;
double r46092 = exp(r46091);
double r46093 = -r46091;
double r46094 = exp(r46093);
double r46095 = r46092 + r46094;
double r46096 = 2.0;
double r46097 = r46095 / r46096;
double r46098 = y;
double r46099 = cos(r46098);
double r46100 = r46097 * r46099;
double r46101 = r46092 - r46094;
double r46102 = r46101 / r46096;
double r46103 = sin(r46098);
double r46104 = r46102 * r46103;
double r46105 = /* ERROR: no complex support in C */;
double r46106 = /* ERROR: no complex support in C */;
return r46106;
}
double f(double x, double y) {
double r46107 = x;
double r46108 = exp(r46107);
double r46109 = -r46107;
double r46110 = exp(r46109);
double r46111 = r46108 + r46110;
double r46112 = 2.0;
double r46113 = r46111 / r46112;
double r46114 = y;
double r46115 = cos(r46114);
double r46116 = r46113 * r46115;
double r46117 = r46108 - r46110;
double r46118 = r46117 / r46112;
double r46119 = sin(r46114);
double r46120 = r46118 * r46119;
double r46121 = /* ERROR: no complex support in C */;
double r46122 = /* ERROR: no complex support in C */;
return r46122;
}



Bits error versus x



Bits error versus y
Initial program 0.0
Final simplification0.0
herbie shell --seed 2020036
(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)))))