Average Error: 0.0 → 0.1
Time: 47.8s
Precision: 64
\[\left(0.5 \cdot \cos re\right) \cdot \left(e^{-im} + e^{im}\right)\]
\[\frac{\cos re \cdot \left(\frac{0.5}{e^{im}} \cdot \left(\frac{0.5}{e^{im}} \cdot \frac{0.5}{e^{im}}\right) + \left(\left(0.5 \cdot e^{im}\right) \cdot \left(0.5 \cdot e^{im}\right)\right) \cdot \left(0.5 \cdot e^{im}\right)\right)}{\frac{0.5}{e^{im}} \cdot \frac{0.5}{e^{im}} + \left(0.5 \cdot e^{im} - \frac{0.5}{e^{im}}\right) \cdot \left(0.5 \cdot e^{im}\right)}\]
double f(double re, double im) {
        double r3381011 = 0.5;
        double r3381012 = re;
        double r3381013 = cos(r3381012);
        double r3381014 = r3381011 * r3381013;
        double r3381015 = im;
        double r3381016 = -r3381015;
        double r3381017 = exp(r3381016);
        double r3381018 = exp(r3381015);
        double r3381019 = r3381017 + r3381018;
        double r3381020 = r3381014 * r3381019;
        return r3381020;
}

double f(double re, double im) {
        double r3381021 = re;
        double r3381022 = cos(r3381021);
        double r3381023 = 0.5;
        double r3381024 = im;
        double r3381025 = exp(r3381024);
        double r3381026 = r3381023 / r3381025;
        double r3381027 = r3381026 * r3381026;
        double r3381028 = r3381026 * r3381027;
        double r3381029 = r3381023 * r3381025;
        double r3381030 = r3381029 * r3381029;
        double r3381031 = r3381030 * r3381029;
        double r3381032 = r3381028 + r3381031;
        double r3381033 = r3381022 * r3381032;
        double r3381034 = r3381029 - r3381026;
        double r3381035 = r3381034 * r3381029;
        double r3381036 = r3381027 + r3381035;
        double r3381037 = r3381033 / r3381036;
        return r3381037;
}

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

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(\frac{0.5}{e^{im}} + e^{im} \cdot 0.5\right) \cdot \cos re}\]
  3. Using strategy rm
  4. Applied flip3-+0.1

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

    \[\leadsto \color{blue}{\frac{\left({\left(\frac{0.5}{e^{im}}\right)}^{3} + {\left(e^{im} \cdot 0.5\right)}^{3}\right) \cdot \cos re}{\frac{0.5}{e^{im}} \cdot \frac{0.5}{e^{im}} + \left(\left(e^{im} \cdot 0.5\right) \cdot \left(e^{im} \cdot 0.5\right) - \frac{0.5}{e^{im}} \cdot \left(e^{im} \cdot 0.5\right)\right)}}\]
  6. Simplified0.1

    \[\leadsto \frac{\color{blue}{\left(\left(\frac{0.5}{e^{im}} \cdot \frac{0.5}{e^{im}}\right) \cdot \frac{0.5}{e^{im}} + \left(\left(0.5 \cdot e^{im}\right) \cdot \left(0.5 \cdot e^{im}\right)\right) \cdot \left(0.5 \cdot e^{im}\right)\right) \cdot \cos re}}{\frac{0.5}{e^{im}} \cdot \frac{0.5}{e^{im}} + \left(\left(e^{im} \cdot 0.5\right) \cdot \left(e^{im} \cdot 0.5\right) - \frac{0.5}{e^{im}} \cdot \left(e^{im} \cdot 0.5\right)\right)}\]
  7. Using strategy rm
  8. Applied distribute-rgt-out--0.1

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

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

Reproduce

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