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



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