\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)}\begin{array}{l}
\mathbf{if}\;U \le 1.898225491734352941559357723090061820317 \cdot 10^{-94}:\\
\;\;\;\;\sqrt{\left(2 \cdot n\right) \cdot \left(U \cdot \left(\left(t - 2 \cdot \frac{\ell}{\frac{Om}{\ell}}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)}\right) \cdot \left({\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)} \cdot \left(U - U*\right)\right)\right)\right)}\\
\mathbf{else}:\\
\;\;\;\;\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell}{\frac{Om}{\ell}}\right) - \left(\left(n \cdot {\left(\sqrt[3]{\frac{\ell}{Om}} \cdot \sqrt[3]{\frac{\ell}{Om}}\right)}^{2}\right) \cdot {\left(\sqrt[3]{\frac{\ell}{Om}}\right)}^{2}\right) \cdot \left(U - U*\right)\right)}\\
\end{array}double f(double n, double U, double t, double l, double Om, double U_) {
double r201334 = 2.0;
double r201335 = n;
double r201336 = r201334 * r201335;
double r201337 = U;
double r201338 = r201336 * r201337;
double r201339 = t;
double r201340 = l;
double r201341 = r201340 * r201340;
double r201342 = Om;
double r201343 = r201341 / r201342;
double r201344 = r201334 * r201343;
double r201345 = r201339 - r201344;
double r201346 = r201340 / r201342;
double r201347 = pow(r201346, r201334);
double r201348 = r201335 * r201347;
double r201349 = U_;
double r201350 = r201337 - r201349;
double r201351 = r201348 * r201350;
double r201352 = r201345 - r201351;
double r201353 = r201338 * r201352;
double r201354 = sqrt(r201353);
return r201354;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r201355 = U;
double r201356 = 1.898225491734353e-94;
bool r201357 = r201355 <= r201356;
double r201358 = 2.0;
double r201359 = n;
double r201360 = r201358 * r201359;
double r201361 = t;
double r201362 = l;
double r201363 = Om;
double r201364 = r201363 / r201362;
double r201365 = r201362 / r201364;
double r201366 = r201358 * r201365;
double r201367 = r201361 - r201366;
double r201368 = r201362 / r201363;
double r201369 = 2.0;
double r201370 = r201358 / r201369;
double r201371 = pow(r201368, r201370);
double r201372 = r201359 * r201371;
double r201373 = U_;
double r201374 = r201355 - r201373;
double r201375 = r201371 * r201374;
double r201376 = r201372 * r201375;
double r201377 = r201367 - r201376;
double r201378 = r201355 * r201377;
double r201379 = r201360 * r201378;
double r201380 = sqrt(r201379);
double r201381 = r201360 * r201355;
double r201382 = cbrt(r201368);
double r201383 = r201382 * r201382;
double r201384 = pow(r201383, r201358);
double r201385 = r201359 * r201384;
double r201386 = pow(r201382, r201358);
double r201387 = r201385 * r201386;
double r201388 = r201387 * r201374;
double r201389 = r201367 - r201388;
double r201390 = r201381 * r201389;
double r201391 = sqrt(r201390);
double r201392 = r201357 ? r201380 : r201391;
return r201392;
}



Bits error versus n



Bits error versus U



Bits error versus t



Bits error versus l



Bits error versus Om



Bits error versus U*
Results
if U < 1.898225491734353e-94Initial program 35.9
rmApplied associate-/l*33.3
rmApplied sqr-pow33.3
Applied associate-*r*32.4
rmApplied associate-*l*32.0
rmApplied associate-*l*30.4
if 1.898225491734353e-94 < U Initial program 31.0
rmApplied associate-/l*27.7
rmApplied add-cube-cbrt27.7
Applied unpow-prod-down27.7
Applied associate-*r*26.9
Final simplification29.4
herbie shell --seed 2019212
(FPCore (n U t l Om U*)
:name "Toniolo and Linder, Equation (13)"
:precision binary64
(sqrt (* (* (* 2 n) U) (- (- t (* 2 (/ (* l l) Om))) (* (* n (pow (/ l Om) 2)) (- U U*))))))