Average Error: 0.0 → 0.0
Time: 11.8s
Precision: 64
\[\left(0.5 \cdot \sin re\right) \cdot \left(e^{0.0 - im} + e^{im}\right)\]
\[\left(0.5 \cdot \sin re\right) \cdot \left(e^{0.0 - im} + e^{im}\right)\]
\left(0.5 \cdot \sin re\right) \cdot \left(e^{0.0 - im} + e^{im}\right)
\left(0.5 \cdot \sin re\right) \cdot \left(e^{0.0 - im} + e^{im}\right)
double f(double re, double im) {
        double r18442 = 0.5;
        double r18443 = re;
        double r18444 = sin(r18443);
        double r18445 = r18442 * r18444;
        double r18446 = 0.0;
        double r18447 = im;
        double r18448 = r18446 - r18447;
        double r18449 = exp(r18448);
        double r18450 = exp(r18447);
        double r18451 = r18449 + r18450;
        double r18452 = r18445 * r18451;
        return r18452;
}

double f(double re, double im) {
        double r18453 = 0.5;
        double r18454 = re;
        double r18455 = sin(r18454);
        double r18456 = r18453 * r18455;
        double r18457 = 0.0;
        double r18458 = im;
        double r18459 = r18457 - r18458;
        double r18460 = exp(r18459);
        double r18461 = exp(r18458);
        double r18462 = r18460 + r18461;
        double r18463 = r18456 * r18462;
        return r18463;
}

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.0 - im} + e^{im}\right)\]
  2. Using strategy rm
  3. Applied distribute-lft-in0.0

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

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

Reproduce

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