\frac{\left(-t1\right) \cdot v}{\left(t1 + u\right) \cdot \left(t1 + u\right)}\frac{\left(-\sqrt[3]{t1}\right) \cdot \sqrt[3]{t1}}{\sqrt[3]{u + t1} \cdot \sqrt[3]{u + t1}} \cdot \left(\frac{\sqrt[3]{t1}}{\sqrt[3]{u + t1}} \cdot \frac{v}{u + t1}\right)double f(double u, double v, double t1) {
double r2216282 = t1;
double r2216283 = -r2216282;
double r2216284 = v;
double r2216285 = r2216283 * r2216284;
double r2216286 = u;
double r2216287 = r2216282 + r2216286;
double r2216288 = r2216287 * r2216287;
double r2216289 = r2216285 / r2216288;
return r2216289;
}
double f(double u, double v, double t1) {
double r2216290 = t1;
double r2216291 = cbrt(r2216290);
double r2216292 = -r2216291;
double r2216293 = r2216292 * r2216291;
double r2216294 = u;
double r2216295 = r2216294 + r2216290;
double r2216296 = cbrt(r2216295);
double r2216297 = r2216296 * r2216296;
double r2216298 = r2216293 / r2216297;
double r2216299 = r2216291 / r2216296;
double r2216300 = v;
double r2216301 = r2216300 / r2216295;
double r2216302 = r2216299 * r2216301;
double r2216303 = r2216298 * r2216302;
return r2216303;
}



Bits error versus u



Bits error versus v



Bits error versus t1
Results
Initial program 17.6
rmApplied times-frac1.3
rmApplied add-cube-cbrt2.0
Applied add-cube-cbrt1.5
Applied distribute-rgt-neg-in1.5
Applied times-frac1.5
Applied associate-*l*1.0
Final simplification1.0
herbie shell --seed 2019112 +o rules:numerics
(FPCore (u v t1)
:name "Rosa's DopplerBench"
(/ (* (- t1) v) (* (+ t1 u) (+ t1 u))))