Average Error: 17.5 → 1.5
Time: 31.9s
Precision: 64
\[\frac{\left(-t1\right) \cdot v}{\left(t1 + u\right) \cdot \left(t1 + u\right)}\]
\[\frac{t1}{t1 + u} \cdot \left(\frac{-1}{t1 + u} \cdot v\right)\]
\frac{\left(-t1\right) \cdot v}{\left(t1 + u\right) \cdot \left(t1 + u\right)}
\frac{t1}{t1 + u} \cdot \left(\frac{-1}{t1 + u} \cdot v\right)
double f(double u, double v, double t1) {
        double r1478244 = t1;
        double r1478245 = -r1478244;
        double r1478246 = v;
        double r1478247 = r1478245 * r1478246;
        double r1478248 = u;
        double r1478249 = r1478244 + r1478248;
        double r1478250 = r1478249 * r1478249;
        double r1478251 = r1478247 / r1478250;
        return r1478251;
}

double f(double u, double v, double t1) {
        double r1478252 = t1;
        double r1478253 = u;
        double r1478254 = r1478252 + r1478253;
        double r1478255 = r1478252 / r1478254;
        double r1478256 = -1.0;
        double r1478257 = r1478256 / r1478254;
        double r1478258 = v;
        double r1478259 = r1478257 * r1478258;
        double r1478260 = r1478255 * r1478259;
        return r1478260;
}

Error

Bits error versus u

Bits error versus v

Bits error versus t1

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 17.5

    \[\frac{\left(-t1\right) \cdot v}{\left(t1 + u\right) \cdot \left(t1 + u\right)}\]
  2. Using strategy rm
  3. Applied times-frac1.4

    \[\leadsto \color{blue}{\frac{-t1}{t1 + u} \cdot \frac{v}{t1 + u}}\]
  4. Using strategy rm
  5. Applied div-inv1.5

    \[\leadsto \frac{-t1}{t1 + u} \cdot \color{blue}{\left(v \cdot \frac{1}{t1 + u}\right)}\]
  6. Final simplification1.5

    \[\leadsto \frac{t1}{t1 + u} \cdot \left(\frac{-1}{t1 + u} \cdot v\right)\]

Reproduce

herbie shell --seed 2019152 
(FPCore (u v t1)
  :name "Rosa's DopplerBench"
  (/ (* (- t1) v) (* (+ t1 u) (+ t1 u))))