Average Error: 0.0 → 0.0
Time: 23.9s
Precision: 64
\[\left(0.5 \cdot \cos re\right) \cdot \left(e^{-im} + e^{im}\right)\]
\[(\left(e^{im}\right) \cdot \left(\cos re \cdot 0.5\right) + \left(\frac{\frac{\cos re \cdot 0.5}{\sqrt{e^{im}}}}{\sqrt{e^{im}}}\right))_*\]
\left(0.5 \cdot \cos re\right) \cdot \left(e^{-im} + e^{im}\right)
(\left(e^{im}\right) \cdot \left(\cos re \cdot 0.5\right) + \left(\frac{\frac{\cos re \cdot 0.5}{\sqrt{e^{im}}}}{\sqrt{e^{im}}}\right))_*
double f(double re, double im) {
        double r1898836 = 0.5;
        double r1898837 = re;
        double r1898838 = cos(r1898837);
        double r1898839 = r1898836 * r1898838;
        double r1898840 = im;
        double r1898841 = -r1898840;
        double r1898842 = exp(r1898841);
        double r1898843 = exp(r1898840);
        double r1898844 = r1898842 + r1898843;
        double r1898845 = r1898839 * r1898844;
        return r1898845;
}

double f(double re, double im) {
        double r1898846 = im;
        double r1898847 = exp(r1898846);
        double r1898848 = re;
        double r1898849 = cos(r1898848);
        double r1898850 = 0.5;
        double r1898851 = r1898849 * r1898850;
        double r1898852 = sqrt(r1898847);
        double r1898853 = r1898851 / r1898852;
        double r1898854 = r1898853 / r1898852;
        double r1898855 = fma(r1898847, r1898851, r1898854);
        return r1898855;
}

Error

Bits error versus re

Bits error versus im

Derivation

  1. Initial program 0.0

    \[\left(0.5 \cdot \cos re\right) \cdot \left(e^{-im} + e^{im}\right)\]
  2. Simplified0.0

    \[\leadsto \color{blue}{(\left(e^{im}\right) \cdot \left(0.5 \cdot \cos re\right) + \left(\frac{0.5 \cdot \cos re}{e^{im}}\right))_*}\]
  3. Using strategy rm
  4. Applied add-sqr-sqrt0.0

    \[\leadsto (\left(e^{im}\right) \cdot \left(0.5 \cdot \cos re\right) + \left(\frac{0.5 \cdot \cos re}{\color{blue}{\sqrt{e^{im}} \cdot \sqrt{e^{im}}}}\right))_*\]
  5. Applied associate-/r*0.0

    \[\leadsto (\left(e^{im}\right) \cdot \left(0.5 \cdot \cos re\right) + \color{blue}{\left(\frac{\frac{0.5 \cdot \cos re}{\sqrt{e^{im}}}}{\sqrt{e^{im}}}\right)})_*\]
  6. Final simplification0.0

    \[\leadsto (\left(e^{im}\right) \cdot \left(\cos re \cdot 0.5\right) + \left(\frac{\frac{\cos re \cdot 0.5}{\sqrt{e^{im}}}}{\sqrt{e^{im}}}\right))_*\]

Reproduce

herbie shell --seed 2019112 +o rules:numerics
(FPCore (re im)
  :name "math.cos on complex, real part"
  (* (* 0.5 (cos re)) (+ (exp (- im)) (exp im))))