\Im(\left(\frac{\left(\left(e^{\left(xre + xim i\right)}\right) + \left(e^{\left(-\left(xre + xim i\right)\right)}\right)\right)}{\left(2 + 0.0 i\right)}\right))\Im(\left(\frac{\left(\left(e^{\left(xre + xim i\right)}\right) + \left(e^{\left(-\left(xre + xim i\right)\right)}\right)\right)}{\left(2 + 0.0 i\right)}\right))double f(double xre, double xim) {
double r18281 = xre;
double r18282 = xim;
double r18283 = /* ERROR: no complex support in C */;
double r18284 = exp(r18283);
double r18285 = -r18283;
double r18286 = exp(r18285);
double r18287 = r18284 + r18286;
double r18288 = 2.0;
double r18289 = 0.0;
double r18290 = /* ERROR: no complex support in C */;
double r18291 = r18287 / r18290;
double r18292 = /* ERROR: no complex support in C */;
return r18292;
}
double f(double xre, double xim) {
double r18293 = xre;
double r18294 = xim;
double r18295 = /* ERROR: no complex support in C */;
double r18296 = exp(r18295);
double r18297 = -r18295;
double r18298 = exp(r18297);
double r18299 = r18296 + r18298;
double r18300 = 2.0;
double r18301 = 0.0;
double r18302 = /* ERROR: no complex support in C */;
double r18303 = r18299 / r18302;
double r18304 = /* ERROR: no complex support in C */;
return r18304;
}



Bits error versus xre



Bits error versus xim
Initial program 44.1
Final simplification44.1
herbie shell --seed 2019356 +o rules:numerics
(FPCore (xre xim)
:name "exp with complex power imaginary part (p55)"
:precision binary64
(im (/ (+ (exp (complex xre xim)) (exp (- (complex xre xim)))) (complex 2 0.0))))