Average Error: 0.0 → 0.1
Time: 20.6s
Precision: 64
\[\left(0.5 \cdot \sin re\right) \cdot \left(e^{0 - im} + e^{im}\right)\]
\[0.5 \cdot \left(\sin re \cdot \frac{\frac{\frac{1}{e^{im} \cdot e^{im}}}{e^{im}} + e^{im} \cdot \left(e^{im} \cdot e^{im}\right)}{e^{im} \cdot e^{im} + \left(\frac{1}{e^{im} \cdot e^{im}} - 1\right)}\right)\]
\left(0.5 \cdot \sin re\right) \cdot \left(e^{0 - im} + e^{im}\right)
0.5 \cdot \left(\sin re \cdot \frac{\frac{\frac{1}{e^{im} \cdot e^{im}}}{e^{im}} + e^{im} \cdot \left(e^{im} \cdot e^{im}\right)}{e^{im} \cdot e^{im} + \left(\frac{1}{e^{im} \cdot e^{im}} - 1\right)}\right)
double f(double re, double im) {
        double r430456 = 0.5;
        double r430457 = re;
        double r430458 = sin(r430457);
        double r430459 = r430456 * r430458;
        double r430460 = 0.0;
        double r430461 = im;
        double r430462 = r430460 - r430461;
        double r430463 = exp(r430462);
        double r430464 = exp(r430461);
        double r430465 = r430463 + r430464;
        double r430466 = r430459 * r430465;
        return r430466;
}

double f(double re, double im) {
        double r430467 = 0.5;
        double r430468 = re;
        double r430469 = sin(r430468);
        double r430470 = 1.0;
        double r430471 = im;
        double r430472 = exp(r430471);
        double r430473 = r430472 * r430472;
        double r430474 = r430470 / r430473;
        double r430475 = r430474 / r430472;
        double r430476 = r430472 * r430473;
        double r430477 = r430475 + r430476;
        double r430478 = r430474 - r430470;
        double r430479 = r430473 + r430478;
        double r430480 = r430477 / r430479;
        double r430481 = r430469 * r430480;
        double r430482 = r430467 * r430481;
        return r430482;
}

Error

Bits error versus re

Bits error versus im

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 0.0

    \[\left(0.5 \cdot \sin re\right) \cdot \left(e^{0 - im} + e^{im}\right)\]
  2. Simplified0.0

    \[\leadsto \color{blue}{0.5 \cdot \left(\sin re \cdot e^{im} + \frac{\sin re}{e^{im}}\right)}\]
  3. Using strategy rm
  4. Applied div-inv0.0

    \[\leadsto 0.5 \cdot \left(\sin re \cdot e^{im} + \color{blue}{\sin re \cdot \frac{1}{e^{im}}}\right)\]
  5. Applied distribute-lft-out0.0

    \[\leadsto 0.5 \cdot \color{blue}{\left(\sin re \cdot \left(e^{im} + \frac{1}{e^{im}}\right)\right)}\]
  6. Using strategy rm
  7. Applied flip3-+0.1

    \[\leadsto 0.5 \cdot \left(\sin re \cdot \color{blue}{\frac{{\left(e^{im}\right)}^{3} + {\left(\frac{1}{e^{im}}\right)}^{3}}{e^{im} \cdot e^{im} + \left(\frac{1}{e^{im}} \cdot \frac{1}{e^{im}} - e^{im} \cdot \frac{1}{e^{im}}\right)}}\right)\]
  8. Simplified0.1

    \[\leadsto 0.5 \cdot \left(\sin re \cdot \frac{\color{blue}{\frac{\frac{1}{e^{im} \cdot e^{im}}}{e^{im}} + \left(e^{im} \cdot e^{im}\right) \cdot e^{im}}}{e^{im} \cdot e^{im} + \left(\frac{1}{e^{im}} \cdot \frac{1}{e^{im}} - e^{im} \cdot \frac{1}{e^{im}}\right)}\right)\]
  9. Simplified0.1

    \[\leadsto 0.5 \cdot \left(\sin re \cdot \frac{\frac{\frac{1}{e^{im} \cdot e^{im}}}{e^{im}} + \left(e^{im} \cdot e^{im}\right) \cdot e^{im}}{\color{blue}{e^{im} \cdot e^{im} + \left(\frac{1}{e^{im} \cdot e^{im}} - 1\right)}}\right)\]
  10. Final simplification0.1

    \[\leadsto 0.5 \cdot \left(\sin re \cdot \frac{\frac{\frac{1}{e^{im} \cdot e^{im}}}{e^{im}} + e^{im} \cdot \left(e^{im} \cdot e^{im}\right)}{e^{im} \cdot e^{im} + \left(\frac{1}{e^{im} \cdot e^{im}} - 1\right)}\right)\]

Reproduce

herbie shell --seed 2019137 
(FPCore (re im)
  :name "math.sin on complex, real part"
  (* (* 0.5 (sin re)) (+ (exp (- 0 im)) (exp im))))