Average Error: 0.0 → 0.0
Time: 4.1s
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 r17966 = 0.5;
        double r17967 = re;
        double r17968 = sin(r17967);
        double r17969 = r17966 * r17968;
        double r17970 = 0.0;
        double r17971 = im;
        double r17972 = r17970 - r17971;
        double r17973 = exp(r17972);
        double r17974 = exp(r17971);
        double r17975 = r17973 + r17974;
        double r17976 = r17969 * r17975;
        return r17976;
}

double f(double re, double im) {
        double r17977 = 0.5;
        double r17978 = re;
        double r17979 = sin(r17978);
        double r17980 = r17977 * r17979;
        double r17981 = 0.0;
        double r17982 = im;
        double r17983 = r17981 - r17982;
        double r17984 = exp(r17983);
        double r17985 = exp(r17982);
        double r17986 = r17984 + r17985;
        double r17987 = r17980 * r17986;
        return r17987;
}

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

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

Reproduce

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