\frac{\left(-t1\right) \cdot v}{\left(t1 + u\right) \cdot \left(t1 + u\right)}\frac{-t1}{t1 + u} \cdot \left(v \cdot \frac{1}{t1 + u}\right)double f(double u, double v, double t1) {
double r29208 = t1;
double r29209 = -r29208;
double r29210 = v;
double r29211 = r29209 * r29210;
double r29212 = u;
double r29213 = r29208 + r29212;
double r29214 = r29213 * r29213;
double r29215 = r29211 / r29214;
return r29215;
}
double f(double u, double v, double t1) {
double r29216 = t1;
double r29217 = -r29216;
double r29218 = u;
double r29219 = r29216 + r29218;
double r29220 = r29217 / r29219;
double r29221 = v;
double r29222 = 1.0;
double r29223 = r29222 / r29219;
double r29224 = r29221 * r29223;
double r29225 = r29220 * r29224;
return r29225;
}



Bits error versus u



Bits error versus v



Bits error versus t1
Results
Initial program 18.3
rmApplied times-frac1.4
rmApplied div-inv1.5
Final simplification1.5
herbie shell --seed 2020035 +o rules:numerics
(FPCore (u v t1)
:name "Rosa's DopplerBench"
:precision binary64
(/ (* (- t1) v) (* (+ t1 u) (+ t1 u))))