double f(double re, double im) {
double r1620398 = 0.5;
double r1620399 = re;
double r1620400 = sin(r1620399);
double r1620401 = r1620398 * r1620400;
double r1620402 = 0.0;
double r1620403 = im;
double r1620404 = r1620402 - r1620403;
double r1620405 = exp(r1620404);
double r1620406 = exp(r1620403);
double r1620407 = r1620405 + r1620406;
double r1620408 = r1620401 * r1620407;
return r1620408;
}
double f(double re, double im) {
double r1620409 = re;
double r1620410 = sin(r1620409);
double r1620411 = 0.5;
double r1620412 = r1620410 * r1620411;
double r1620413 = im;
double r1620414 = exp(r1620413);
double r1620415 = r1620412 * r1620414;
double r1620416 = cbrt(r1620414);
double r1620417 = sqrt(r1620416);
double r1620418 = r1620410 / r1620417;
double r1620419 = sqrt(r1620414);
double r1620420 = sqrt(r1620419);
double r1620421 = r1620418 / r1620420;
double r1620422 = r1620411 / r1620420;
double r1620423 = fabs(r1620416);
double r1620424 = r1620422 / r1620423;
double r1620425 = r1620421 * r1620424;
double r1620426 = r1620415 + r1620425;
return r1620426;
}
\left(0.5 \cdot \sin re\right) \cdot \left(e^{0 - im} + e^{im}\right)\left(\sin re \cdot 0.5\right) \cdot e^{im} + \frac{\frac{\sin re}{\sqrt{\sqrt[3]{e^{im}}}}}{\sqrt{\sqrt{e^{im}}}} \cdot \frac{\frac{0.5}{\sqrt{\sqrt{e^{im}}}}}{\left|\sqrt[3]{e^{im}}\right|}


Bits error versus re



Bits error versus im
Initial program 0.0
Simplified0.0
rmApplied add-sqr-sqrt0.0
Applied associate-/r*0.0
rmApplied add-sqr-sqrt0.0
Applied sqrt-prod0.0
Applied add-cube-cbrt0.1
Applied sqrt-prod0.1
Applied times-frac0.1
Applied times-frac0.1
Simplified0.1
Final simplification0.1
herbie shell --seed 2019102
(FPCore (re im)
:name "math.sin on complex, real part"
(* (* 0.5 (sin re)) (+ (exp (- 0 im)) (exp im))))