Average Error: 18.2 → 1.2
Time: 18.7s
Precision: 64
\[\frac{\left(-t1\right) \cdot v}{\left(t1 + u\right) \cdot \left(t1 + u\right)}\]
\[\frac{v}{t1 + u} \cdot \frac{-t1}{t1 + u}\]
\frac{\left(-t1\right) \cdot v}{\left(t1 + u\right) \cdot \left(t1 + u\right)}
\frac{v}{t1 + u} \cdot \frac{-t1}{t1 + u}
double f(double u, double v, double t1) {
        double r438756 = t1;
        double r438757 = -r438756;
        double r438758 = v;
        double r438759 = r438757 * r438758;
        double r438760 = u;
        double r438761 = r438756 + r438760;
        double r438762 = r438761 * r438761;
        double r438763 = r438759 / r438762;
        return r438763;
}

double f(double u, double v, double t1) {
        double r438764 = v;
        double r438765 = t1;
        double r438766 = u;
        double r438767 = r438765 + r438766;
        double r438768 = r438764 / r438767;
        double r438769 = -r438765;
        double r438770 = r438769 / r438767;
        double r438771 = r438768 * r438770;
        return r438771;
}

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

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

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

Reproduce

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