Average Error: 17.8 → 1.3
Time: 16.4s
Precision: 64
\[\frac{\left(-t1\right) \cdot v}{\left(t1 + u\right) \cdot \left(t1 + u\right)}\]
\[\frac{\frac{-t1}{t1 + u} \cdot v}{t1 + u}\]
\frac{\left(-t1\right) \cdot v}{\left(t1 + u\right) \cdot \left(t1 + u\right)}
\frac{\frac{-t1}{t1 + u} \cdot v}{t1 + u}
double f(double u, double v, double t1) {
        double r19371 = t1;
        double r19372 = -r19371;
        double r19373 = v;
        double r19374 = r19372 * r19373;
        double r19375 = u;
        double r19376 = r19371 + r19375;
        double r19377 = r19376 * r19376;
        double r19378 = r19374 / r19377;
        return r19378;
}

double f(double u, double v, double t1) {
        double r19379 = t1;
        double r19380 = -r19379;
        double r19381 = u;
        double r19382 = r19379 + r19381;
        double r19383 = r19380 / r19382;
        double r19384 = v;
        double r19385 = r19383 * r19384;
        double r19386 = r19385 / r19382;
        return r19386;
}

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. Split input into 3 regimes
  2. if t1 < 7.1991848030990155e-298

    1. Initial program 18.1

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

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

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

    if 7.1991848030990155e-298 < t1 < 3.1086359510031426e-85

    1. Initial program 11.2

      \[\frac{\left(-t1\right) \cdot v}{\left(t1 + u\right) \cdot \left(t1 + u\right)}\]
    2. Using strategy rm
    3. Applied associate-/r*7.0

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

    if 3.1086359510031426e-85 < t1

    1. Initial program 20.7

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

      \[\leadsto \color{blue}{\frac{-t1}{t1 + u} \cdot \frac{v}{t1 + u}}\]
    4. Using strategy rm
    5. Applied associate-*r/0.1

      \[\leadsto \color{blue}{\frac{\frac{-t1}{t1 + u} \cdot v}{t1 + u}}\]
  3. Recombined 3 regimes into one program.
  4. Final simplification1.3

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

Reproduce

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