\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 -5.670293630970671524878015589241926985168 \cdot 10^{-135}:\\
\;\;\;\;\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \left(\ell \cdot \frac{\ell}{Om}\right)\right) - \left(\left(n \cdot {\left(\sqrt[3]{\ell} \cdot \sqrt[3]{\ell}\right)}^{\left(\frac{2}{2}\right)}\right) \cdot {\left(\frac{\sqrt[3]{\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)}\\
\mathbf{elif}\;U \le 9.220531118937961385581547624212817027001 \cdot 10^{-4}:\\
\;\;\;\;\sqrt{\left(2 \cdot n\right) \cdot \left(U \cdot \left(\left(t - 2 \cdot \left(\ell \cdot \frac{\ell}{Om}\right)\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)}\\
\mathbf{else}:\\
\;\;\;\;\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \left(\ell \cdot \frac{\ell}{Om}\right)\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)}\right) \cdot \left(\left(\sqrt[3]{{\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)} \cdot \left(U - U*\right)} \cdot \sqrt[3]{{\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)} \cdot \left(U - U*\right)}\right) \cdot \sqrt[3]{{\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)} \cdot \left(U - U*\right)}\right)\right)}\\
\end{array}double f(double n, double U, double t, double l, double Om, double U_) {
double r170338 = 2.0;
double r170339 = n;
double r170340 = r170338 * r170339;
double r170341 = U;
double r170342 = r170340 * r170341;
double r170343 = t;
double r170344 = l;
double r170345 = r170344 * r170344;
double r170346 = Om;
double r170347 = r170345 / r170346;
double r170348 = r170338 * r170347;
double r170349 = r170343 - r170348;
double r170350 = r170344 / r170346;
double r170351 = pow(r170350, r170338);
double r170352 = r170339 * r170351;
double r170353 = U_;
double r170354 = r170341 - r170353;
double r170355 = r170352 * r170354;
double r170356 = r170349 - r170355;
double r170357 = r170342 * r170356;
double r170358 = sqrt(r170357);
return r170358;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r170359 = U;
double r170360 = -5.670293630970672e-135;
bool r170361 = r170359 <= r170360;
double r170362 = 2.0;
double r170363 = n;
double r170364 = r170362 * r170363;
double r170365 = r170364 * r170359;
double r170366 = t;
double r170367 = l;
double r170368 = Om;
double r170369 = r170367 / r170368;
double r170370 = r170367 * r170369;
double r170371 = r170362 * r170370;
double r170372 = r170366 - r170371;
double r170373 = cbrt(r170367);
double r170374 = r170373 * r170373;
double r170375 = 2.0;
double r170376 = r170362 / r170375;
double r170377 = pow(r170374, r170376);
double r170378 = r170363 * r170377;
double r170379 = r170373 / r170368;
double r170380 = pow(r170379, r170376);
double r170381 = r170378 * r170380;
double r170382 = pow(r170369, r170376);
double r170383 = U_;
double r170384 = r170359 - r170383;
double r170385 = r170382 * r170384;
double r170386 = r170381 * r170385;
double r170387 = r170372 - r170386;
double r170388 = r170365 * r170387;
double r170389 = sqrt(r170388);
double r170390 = 0.0009220531118937961;
bool r170391 = r170359 <= r170390;
double r170392 = pow(r170369, r170362);
double r170393 = r170363 * r170392;
double r170394 = r170393 * r170384;
double r170395 = r170372 - r170394;
double r170396 = r170359 * r170395;
double r170397 = r170364 * r170396;
double r170398 = sqrt(r170397);
double r170399 = r170363 * r170382;
double r170400 = cbrt(r170385);
double r170401 = r170400 * r170400;
double r170402 = r170401 * r170400;
double r170403 = r170399 * r170402;
double r170404 = r170372 - r170403;
double r170405 = r170365 * r170404;
double r170406 = sqrt(r170405);
double r170407 = r170391 ? r170398 : r170406;
double r170408 = r170361 ? r170389 : r170407;
return r170408;
}



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 < -5.670293630970672e-135Initial program 31.1
rmApplied *-un-lft-identity31.1
Applied times-frac27.7
Simplified27.7
rmApplied sqr-pow27.7
Applied associate-*r*26.9
rmApplied associate-*l*27.5
rmApplied *-un-lft-identity27.5
Applied add-cube-cbrt27.6
Applied times-frac27.6
Applied unpow-prod-down27.6
Applied associate-*r*27.7
Simplified27.7
if -5.670293630970672e-135 < U < 0.0009220531118937961Initial program 39.1
rmApplied *-un-lft-identity39.1
Applied times-frac37.2
Simplified37.2
rmApplied associate-*l*32.5
if 0.0009220531118937961 < U Initial program 30.3
rmApplied *-un-lft-identity30.3
Applied times-frac27.1
Simplified27.1
rmApplied sqr-pow27.1
Applied associate-*r*26.9
rmApplied associate-*l*27.8
rmApplied add-cube-cbrt27.8
Final simplification30.1
herbie shell --seed 2019351
(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*))))))