Average Error: 18.2 → 1.3
Time: 4.6s
Precision: 64
\[\frac{\left(-t1\right) \cdot v}{\left(t1 + u\right) \cdot \left(t1 + u\right)}\]
\[\frac{-\frac{v}{\frac{t1 + u}{t1}}}{t1 + u}\]
\frac{\left(-t1\right) \cdot v}{\left(t1 + u\right) \cdot \left(t1 + u\right)}
\frac{-\frac{v}{\frac{t1 + u}{t1}}}{t1 + u}
double f(double u, double v, double t1) {
        double r28461 = t1;
        double r28462 = -r28461;
        double r28463 = v;
        double r28464 = r28462 * r28463;
        double r28465 = u;
        double r28466 = r28461 + r28465;
        double r28467 = r28466 * r28466;
        double r28468 = r28464 / r28467;
        return r28468;
}

double f(double u, double v, double t1) {
        double r28469 = v;
        double r28470 = t1;
        double r28471 = u;
        double r28472 = r28470 + r28471;
        double r28473 = r28472 / r28470;
        double r28474 = r28469 / r28473;
        double r28475 = -r28474;
        double r28476 = r28475 / r28472;
        return r28476;
}

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 18.2

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

    \[\leadsto \color{blue}{\frac{-t1}{t1 + u} \cdot \frac{v}{t1 + u}}\]
  4. Using strategy rm
  5. Applied *-un-lft-identity1.3

    \[\leadsto \frac{-\color{blue}{1 \cdot t1}}{t1 + u} \cdot \frac{v}{t1 + u}\]
  6. Applied distribute-lft-neg-in1.3

    \[\leadsto \frac{\color{blue}{\left(-1\right) \cdot t1}}{t1 + u} \cdot \frac{v}{t1 + u}\]
  7. Applied associate-/l*1.4

    \[\leadsto \color{blue}{\frac{-1}{\frac{t1 + u}{t1}}} \cdot \frac{v}{t1 + u}\]
  8. Using strategy rm
  9. Applied associate-*r/1.4

    \[\leadsto \color{blue}{\frac{\frac{-1}{\frac{t1 + u}{t1}} \cdot v}{t1 + u}}\]
  10. Simplified1.3

    \[\leadsto \frac{\color{blue}{-\frac{v}{\frac{t1 + u}{t1}}}}{t1 + u}\]
  11. Final simplification1.3

    \[\leadsto \frac{-\frac{v}{\frac{t1 + u}{t1}}}{t1 + u}\]

Reproduce

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