Average Error: 0.0 → 0.0
Time: 40.0s
Precision: 64
\[\left(0.5 \cdot \sin re\right) \cdot \left(e^{0 - im} + e^{im}\right)\]
\[\frac{\sin re \cdot 0.5}{e^{im}} + \left(\sin re \cdot 0.5\right) \cdot e^{im}\]
\left(0.5 \cdot \sin re\right) \cdot \left(e^{0 - im} + e^{im}\right)
\frac{\sin re \cdot 0.5}{e^{im}} + \left(\sin re \cdot 0.5\right) \cdot e^{im}
double f(double re, double im) {
        double r3028863 = 0.5;
        double r3028864 = re;
        double r3028865 = sin(r3028864);
        double r3028866 = r3028863 * r3028865;
        double r3028867 = 0.0;
        double r3028868 = im;
        double r3028869 = r3028867 - r3028868;
        double r3028870 = exp(r3028869);
        double r3028871 = exp(r3028868);
        double r3028872 = r3028870 + r3028871;
        double r3028873 = r3028866 * r3028872;
        return r3028873;
}

double f(double re, double im) {
        double r3028874 = re;
        double r3028875 = sin(r3028874);
        double r3028876 = 0.5;
        double r3028877 = r3028875 * r3028876;
        double r3028878 = im;
        double r3028879 = exp(r3028878);
        double r3028880 = r3028877 / r3028879;
        double r3028881 = r3028877 * r3028879;
        double r3028882 = r3028880 + r3028881;
        return r3028882;
}

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}{e^{im} \cdot \left(0.5 \cdot \sin re\right) + \frac{0.5 \cdot \sin re}{e^{im}}}\]
  3. Final simplification0.0

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

Reproduce

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