Average Error: 0.0 → 0.0
Time: 20.8s
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 r235250 = 0.5;
        double r235251 = re;
        double r235252 = sin(r235251);
        double r235253 = r235250 * r235252;
        double r235254 = 0.0;
        double r235255 = im;
        double r235256 = r235254 - r235255;
        double r235257 = exp(r235256);
        double r235258 = exp(r235255);
        double r235259 = r235257 + r235258;
        double r235260 = r235253 * r235259;
        return r235260;
}

double f(double re, double im) {
        double r235261 = 0.5;
        double r235262 = 1.0;
        double r235263 = im;
        double r235264 = exp(r235263);
        double r235265 = r235262 / r235264;
        double r235266 = r235265 + r235264;
        double r235267 = re;
        double r235268 = sin(r235267);
        double r235269 = r235266 * r235268;
        double r235270 = r235261 * r235269;
        return r235270;
}

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 2019142 
(FPCore (re im)
  :name "math.sin on complex, real part"
  (* (* 0.5 (sin re)) (+ (exp (- 0 im)) (exp im))))