Average Error: 0.0 → 0.0
Time: 28.6s
Precision: 64
\[\left(0.5 \cdot \sin re\right) \cdot \left(e^{0 - im} + e^{im}\right)\]
\[0.5 \cdot \left(\left(\frac{1}{e^{im}} + e^{im}\right) \cdot \sin re\right)\]
\left(0.5 \cdot \sin re\right) \cdot \left(e^{0 - im} + e^{im}\right)
0.5 \cdot \left(\left(\frac{1}{e^{im}} + e^{im}\right) \cdot \sin re\right)
double f(double re, double im) {
        double r853240 = 0.5;
        double r853241 = re;
        double r853242 = sin(r853241);
        double r853243 = r853240 * r853242;
        double r853244 = 0.0;
        double r853245 = im;
        double r853246 = r853244 - r853245;
        double r853247 = exp(r853246);
        double r853248 = exp(r853245);
        double r853249 = r853247 + r853248;
        double r853250 = r853243 * r853249;
        return r853250;
}

double f(double re, double im) {
        double r853251 = 0.5;
        double r853252 = 1.0;
        double r853253 = im;
        double r853254 = exp(r853253);
        double r853255 = r853252 / r853254;
        double r853256 = r853255 + r853254;
        double r853257 = re;
        double r853258 = sin(r853257);
        double r853259 = r853256 * r853258;
        double r853260 = r853251 * r853259;
        return r853260;
}

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. Final simplification0.0

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

Reproduce

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