Average Error: 0.0 → 0.0
Time: 24.9s
Precision: 64
\[\left(0.5 \cdot \cos re\right) \cdot \left(e^{-im} + e^{im}\right)\]
\[\left(e^{im} + e^{-im}\right) \cdot \left(0.5 \cdot \cos re\right)\]
\left(0.5 \cdot \cos re\right) \cdot \left(e^{-im} + e^{im}\right)
\left(e^{im} + e^{-im}\right) \cdot \left(0.5 \cdot \cos re\right)
double f(double re, double im) {
        double r1729559 = 0.5;
        double r1729560 = re;
        double r1729561 = cos(r1729560);
        double r1729562 = r1729559 * r1729561;
        double r1729563 = im;
        double r1729564 = -r1729563;
        double r1729565 = exp(r1729564);
        double r1729566 = exp(r1729563);
        double r1729567 = r1729565 + r1729566;
        double r1729568 = r1729562 * r1729567;
        return r1729568;
}

double f(double re, double im) {
        double r1729569 = im;
        double r1729570 = exp(r1729569);
        double r1729571 = -r1729569;
        double r1729572 = exp(r1729571);
        double r1729573 = r1729570 + r1729572;
        double r1729574 = 0.5;
        double r1729575 = re;
        double r1729576 = cos(r1729575);
        double r1729577 = r1729574 * r1729576;
        double r1729578 = r1729573 * r1729577;
        return r1729578;
}

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

Reproduce

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