\left(0.5 \cdot \sin re\right) \cdot \left(e^{0.0 - im} + e^{im}\right)\left(\left(0.5 \cdot \sin re\right) \cdot \sqrt{e^{0.0 - im}}\right) \cdot \sqrt{e^{0.0 - im}} + \left(0.5 \cdot \sin re\right) \cdot e^{im}double f(double re, double im) {
double r29405 = 0.5;
double r29406 = re;
double r29407 = sin(r29406);
double r29408 = r29405 * r29407;
double r29409 = 0.0;
double r29410 = im;
double r29411 = r29409 - r29410;
double r29412 = exp(r29411);
double r29413 = exp(r29410);
double r29414 = r29412 + r29413;
double r29415 = r29408 * r29414;
return r29415;
}
double f(double re, double im) {
double r29416 = 0.5;
double r29417 = re;
double r29418 = sin(r29417);
double r29419 = r29416 * r29418;
double r29420 = 0.0;
double r29421 = im;
double r29422 = r29420 - r29421;
double r29423 = exp(r29422);
double r29424 = sqrt(r29423);
double r29425 = r29419 * r29424;
double r29426 = r29425 * r29424;
double r29427 = exp(r29421);
double r29428 = r29419 * r29427;
double r29429 = r29426 + r29428;
return r29429;
}



Bits error versus re



Bits error versus im
Results
Initial program 0.0
rmApplied distribute-lft-in0.0
rmApplied add-sqr-sqrt0.0
Applied associate-*r*0.0
Final simplification0.0
herbie shell --seed 2019350 +o rules:numerics
(FPCore (re im)
:name "math.sin on complex, real part"
:precision binary64
(* (* 0.5 (sin re)) (+ (exp (- 0.0 im)) (exp im))))