\Im(\left(\frac{e^{x} + e^{-x}}{2} \cdot \cos y + \frac{e^{x} - e^{-x}}{2} \cdot \sin y i\right))\Im(\left(\frac{e^{x} + e^{-x}}{2} \cdot \cos y + \frac{x \cdot \left(\left(x \cdot \frac{1}{3}\right) \cdot x + 2\right) + {x}^{5} \cdot \frac{1}{60}}{2} \cdot \sin y i\right))double f(double x, double y) {
double r1857118 = x;
double r1857119 = exp(r1857118);
double r1857120 = -r1857118;
double r1857121 = exp(r1857120);
double r1857122 = r1857119 + r1857121;
double r1857123 = 2.0;
double r1857124 = r1857122 / r1857123;
double r1857125 = y;
double r1857126 = cos(r1857125);
double r1857127 = r1857124 * r1857126;
double r1857128 = r1857119 - r1857121;
double r1857129 = r1857128 / r1857123;
double r1857130 = sin(r1857125);
double r1857131 = r1857129 * r1857130;
double r1857132 = /* ERROR: no complex support in C */;
double r1857133 = /* ERROR: no complex support in C */;
return r1857133;
}
double f(double x, double y) {
double r1857134 = x;
double r1857135 = exp(r1857134);
double r1857136 = -r1857134;
double r1857137 = exp(r1857136);
double r1857138 = r1857135 + r1857137;
double r1857139 = 2.0;
double r1857140 = r1857138 / r1857139;
double r1857141 = y;
double r1857142 = cos(r1857141);
double r1857143 = r1857140 * r1857142;
double r1857144 = 0.3333333333333333;
double r1857145 = r1857134 * r1857144;
double r1857146 = r1857145 * r1857134;
double r1857147 = r1857146 + r1857139;
double r1857148 = r1857134 * r1857147;
double r1857149 = 5.0;
double r1857150 = pow(r1857134, r1857149);
double r1857151 = 0.016666666666666666;
double r1857152 = r1857150 * r1857151;
double r1857153 = r1857148 + r1857152;
double r1857154 = r1857153 / r1857139;
double r1857155 = sin(r1857141);
double r1857156 = r1857154 * r1857155;
double r1857157 = /* ERROR: no complex support in C */;
double r1857158 = /* ERROR: no complex support in C */;
return r1857158;
}



Bits error versus x



Bits error versus y
Initial program 43.5
Taylor expanded around 0 0.8
Simplified0.8
Final simplification0.8
herbie shell --seed 2019144
(FPCore (x y)
:name "Euler formula imaginary part (p55)"
(im (complex (* (/ (+ (exp x) (exp (- x))) 2) (cos y)) (* (/ (- (exp x) (exp (- x))) 2) (sin y)))))