Average Error: 0.0 → 0.0
Time: 19.8s
Precision: 64
\[\left(0.5 \cdot \cos re\right) \cdot \left(e^{-im} + e^{im}\right)\]
\[\left(0.5 \cdot \cos re\right) \cdot e^{im} + \frac{\cos re}{e^{im}} \cdot 0.5\]
\left(0.5 \cdot \cos re\right) \cdot \left(e^{-im} + e^{im}\right)
\left(0.5 \cdot \cos re\right) \cdot e^{im} + \frac{\cos re}{e^{im}} \cdot 0.5
double f(double re, double im) {
        double r2037661 = 0.5;
        double r2037662 = re;
        double r2037663 = cos(r2037662);
        double r2037664 = r2037661 * r2037663;
        double r2037665 = im;
        double r2037666 = -r2037665;
        double r2037667 = exp(r2037666);
        double r2037668 = exp(r2037665);
        double r2037669 = r2037667 + r2037668;
        double r2037670 = r2037664 * r2037669;
        return r2037670;
}

double f(double re, double im) {
        double r2037671 = 0.5;
        double r2037672 = re;
        double r2037673 = cos(r2037672);
        double r2037674 = r2037671 * r2037673;
        double r2037675 = im;
        double r2037676 = exp(r2037675);
        double r2037677 = r2037674 * r2037676;
        double r2037678 = r2037673 / r2037676;
        double r2037679 = r2037678 * r2037671;
        double r2037680 = r2037677 + r2037679;
        return r2037680;
}

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

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

Reproduce

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