Average Error: 0.0 → 0.0
Time: 21.3s
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 e^{0.0 - im} + \left(0.5 \cdot \sin re\right) \cdot e^{im}\]
\left(0.5 \cdot \sin re\right) \cdot \left(e^{0.0 - im} + e^{im}\right)
\left(0.5 \cdot \sin re\right) \cdot e^{0.0 - im} + \left(0.5 \cdot \sin re\right) \cdot e^{im}
double f(double re, double im) {
        double r12126 = 0.5;
        double r12127 = re;
        double r12128 = sin(r12127);
        double r12129 = r12126 * r12128;
        double r12130 = 0.0;
        double r12131 = im;
        double r12132 = r12130 - r12131;
        double r12133 = exp(r12132);
        double r12134 = exp(r12131);
        double r12135 = r12133 + r12134;
        double r12136 = r12129 * r12135;
        return r12136;
}

double f(double re, double im) {
        double r12137 = 0.5;
        double r12138 = re;
        double r12139 = sin(r12138);
        double r12140 = r12137 * r12139;
        double r12141 = 0.0;
        double r12142 = im;
        double r12143 = r12141 - r12142;
        double r12144 = exp(r12143);
        double r12145 = r12140 * r12144;
        double r12146 = exp(r12142);
        double r12147 = r12140 * r12146;
        double r12148 = r12145 + r12147;
        return r12148;
}

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 e^{0.0 - im} + \left(0.5 \cdot \sin re\right) \cdot e^{im}\]

Reproduce

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