Average Error: 0.0 → 0.0
Time: 12.4s
Precision: 64
\[\left(0.5 \cdot \cos re\right) \cdot \left(e^{-im} + e^{im}\right)\]
\[\frac{\frac{\cos re}{\sqrt{e^{im}}}}{\sqrt{e^{im}}} \cdot 0.5 + \sqrt{e^{im}} \cdot \left(\sqrt{e^{im}} \cdot \left(0.5 \cdot \cos re\right)\right)\]
\left(0.5 \cdot \cos re\right) \cdot \left(e^{-im} + e^{im}\right)
\frac{\frac{\cos re}{\sqrt{e^{im}}}}{\sqrt{e^{im}}} \cdot 0.5 + \sqrt{e^{im}} \cdot \left(\sqrt{e^{im}} \cdot \left(0.5 \cdot \cos re\right)\right)
double f(double re, double im) {
        double r70211 = 0.5;
        double r70212 = re;
        double r70213 = cos(r70212);
        double r70214 = r70211 * r70213;
        double r70215 = im;
        double r70216 = -r70215;
        double r70217 = exp(r70216);
        double r70218 = exp(r70215);
        double r70219 = r70217 + r70218;
        double r70220 = r70214 * r70219;
        return r70220;
}

double f(double re, double im) {
        double r70221 = re;
        double r70222 = cos(r70221);
        double r70223 = im;
        double r70224 = exp(r70223);
        double r70225 = sqrt(r70224);
        double r70226 = r70222 / r70225;
        double r70227 = r70226 / r70225;
        double r70228 = 0.5;
        double r70229 = r70227 * r70228;
        double r70230 = r70228 * r70222;
        double r70231 = r70225 * r70230;
        double r70232 = r70225 * r70231;
        double r70233 = r70229 + r70232;
        return r70233;
}

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. Using strategy rm
  3. Applied distribute-lft-in0.0

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

    \[\leadsto \color{blue}{\frac{\cos re}{e^{im}} \cdot 0.5} + \left(0.5 \cdot \cos re\right) \cdot e^{im}\]
  5. Simplified0.0

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

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

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

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

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

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

Reproduce

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