Average Error: 0.0 → 0.0
Time: 4.0s
Precision: 64
\[\left(0.5 \cdot \cos re\right) \cdot \left(e^{-im} + e^{im}\right)\]
\[\left(0.5 \cdot \cos re\right) \cdot \left(e^{-im} + e^{im}\right)\]
\left(0.5 \cdot \cos re\right) \cdot \left(e^{-im} + e^{im}\right)
\left(0.5 \cdot \cos re\right) \cdot \left(e^{-im} + e^{im}\right)
double f(double re, double im) {
        double r32917 = 0.5;
        double r32918 = re;
        double r32919 = cos(r32918);
        double r32920 = r32917 * r32919;
        double r32921 = im;
        double r32922 = -r32921;
        double r32923 = exp(r32922);
        double r32924 = exp(r32921);
        double r32925 = r32923 + r32924;
        double r32926 = r32920 * r32925;
        return r32926;
}

double f(double re, double im) {
        double r32927 = 0.5;
        double r32928 = re;
        double r32929 = cos(r32928);
        double r32930 = r32927 * r32929;
        double r32931 = im;
        double r32932 = -r32931;
        double r32933 = exp(r32932);
        double r32934 = exp(r32931);
        double r32935 = r32933 + r32934;
        double r32936 = r32930 * r32935;
        return r32936;
}

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

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

Reproduce

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