Average Error: 18.4 → 1.6
Time: 13.9s
Precision: 64
\[\frac{\left(-t1\right) \cdot v}{\left(t1 + u\right) \cdot \left(t1 + u\right)}\]
\[-\frac{\frac{t1}{u + t1} \cdot \frac{v}{t1 - u}}{\frac{u + t1}{t1 - u}}\]
\frac{\left(-t1\right) \cdot v}{\left(t1 + u\right) \cdot \left(t1 + u\right)}
-\frac{\frac{t1}{u + t1} \cdot \frac{v}{t1 - u}}{\frac{u + t1}{t1 - u}}
double f(double u, double v, double t1) {
        double r24391 = t1;
        double r24392 = -r24391;
        double r24393 = v;
        double r24394 = r24392 * r24393;
        double r24395 = u;
        double r24396 = r24391 + r24395;
        double r24397 = r24396 * r24396;
        double r24398 = r24394 / r24397;
        return r24398;
}

double f(double u, double v, double t1) {
        double r24399 = t1;
        double r24400 = u;
        double r24401 = r24400 + r24399;
        double r24402 = r24399 / r24401;
        double r24403 = v;
        double r24404 = r24399 - r24400;
        double r24405 = r24403 / r24404;
        double r24406 = r24402 * r24405;
        double r24407 = r24401 / r24404;
        double r24408 = r24406 / r24407;
        double r24409 = -r24408;
        return r24409;
}

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.4

    \[\frac{\left(-t1\right) \cdot v}{\left(t1 + u\right) \cdot \left(t1 + u\right)}\]
  2. Simplified16.2

    \[\leadsto \color{blue}{\frac{t1}{\left(u + t1\right) \cdot \left(t1 + u\right)} \cdot \left(-v\right)}\]
  3. Using strategy rm
  4. Applied distribute-rgt-neg-out16.2

    \[\leadsto \color{blue}{-\frac{t1}{\left(u + t1\right) \cdot \left(t1 + u\right)} \cdot v}\]
  5. Simplified1.2

    \[\leadsto -\color{blue}{\frac{v \cdot \frac{t1}{t1 + u}}{t1 + u}}\]
  6. Using strategy rm
  7. Applied flip-+17.7

    \[\leadsto -\frac{v \cdot \frac{t1}{\color{blue}{\frac{t1 \cdot t1 - u \cdot u}{t1 - u}}}}{t1 + u}\]
  8. Applied associate-/r/18.6

    \[\leadsto -\frac{v \cdot \color{blue}{\left(\frac{t1}{t1 \cdot t1 - u \cdot u} \cdot \left(t1 - u\right)\right)}}{t1 + u}\]
  9. Applied associate-*r*18.6

    \[\leadsto -\frac{\color{blue}{\left(v \cdot \frac{t1}{t1 \cdot t1 - u \cdot u}\right) \cdot \left(t1 - u\right)}}{t1 + u}\]
  10. Simplified2.1

    \[\leadsto -\frac{\color{blue}{\left(\frac{t1}{t1 + u} \cdot \frac{v}{t1 - u}\right)} \cdot \left(t1 - u\right)}{t1 + u}\]
  11. Using strategy rm
  12. Applied associate-/l*1.6

    \[\leadsto -\color{blue}{\frac{\frac{t1}{t1 + u} \cdot \frac{v}{t1 - u}}{\frac{t1 + u}{t1 - u}}}\]
  13. Final simplification1.6

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

Reproduce

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