\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 r38125 = x;
double r38126 = exp(r38125);
double r38127 = -r38125;
double r38128 = exp(r38127);
double r38129 = r38126 + r38128;
double r38130 = 2.0;
double r38131 = r38129 / r38130;
double r38132 = y;
double r38133 = cos(r38132);
double r38134 = r38131 * r38133;
double r38135 = r38126 - r38128;
double r38136 = r38135 / r38130;
double r38137 = sin(r38132);
double r38138 = r38136 * r38137;
double r38139 = /* ERROR: no complex support in C */;
double r38140 = /* ERROR: no complex support in C */;
return r38140;
}
double f(double x, double y) {
double r38141 = x;
double r38142 = exp(r38141);
double r38143 = -r38141;
double r38144 = exp(r38143);
double r38145 = r38142 + r38144;
double r38146 = 2.0;
double r38147 = r38145 / r38146;
double r38148 = y;
double r38149 = cos(r38148);
double r38150 = r38147 * r38149;
double r38151 = r38142 - r38144;
double r38152 = r38151 / r38146;
double r38153 = sin(r38148);
double r38154 = r38152 * r38153;
double r38155 = /* ERROR: no complex support in C */;
double r38156 = /* ERROR: no complex support in C */;
return r38156;
}



Bits error versus x



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