\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}\;t \le -1.976134983095281222500639438484837269871 \cdot 10^{186}:\\
\;\;\;\;\sqrt{\left(2 \cdot n\right) \cdot \left(U \cdot \left(\left(t - 2 \cdot \left(\ell \cdot \frac{\ell}{Om}\right)\right) - \left(\left(\left(n \cdot {\left(\frac{\sqrt[3]{\ell} \cdot \sqrt[3]{\ell}}{1}\right)}^{\left(\frac{2}{2}\right)}\right) \cdot {\left(\frac{\sqrt[3]{\ell}}{Om}\right)}^{\left(\frac{2}{2}\right)}\right) \cdot {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)}\right) \cdot \left(U - U*\right)\right)\right)}\\
\mathbf{elif}\;t \le -1.348736528199478592142088546342992390382 \cdot 10^{-70}:\\
\;\;\;\;\sqrt{{\left(\left(\left(2 \cdot n\right) \cdot \left(t - \left(2 \cdot \left(\ell \cdot \frac{\ell}{Om}\right) - \left(-\left(U - U*\right)\right) \cdot \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{\left(2 \cdot \frac{2}{2}\right)}\right)\right)\right)\right) \cdot U\right)}^{1}}\\
\mathbf{elif}\;t \le 258973315068288958464:\\
\;\;\;\;\sqrt{\left(2 \cdot n\right) \cdot \left(U \cdot \left(\left(t - 2 \cdot \left(\ell \cdot \frac{\ell}{Om}\right)\right) - \left(\left(\left(n \cdot {\left(\frac{\sqrt[3]{\ell} \cdot \sqrt[3]{\ell}}{1}\right)}^{\left(\frac{2}{2}\right)}\right) \cdot {\left(\frac{\sqrt[3]{\ell}}{Om}\right)}^{\left(\frac{2}{2}\right)}\right) \cdot {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)}\right) \cdot \left(U - U*\right)\right)\right)}\\
\mathbf{else}:\\
\;\;\;\;\sqrt{\left(2 \cdot n\right) \cdot U} \cdot \sqrt{\left(t - 2 \cdot \left(\ell \cdot \frac{\ell}{Om}\right)\right) - \left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)}\right) \cdot {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)}\right) \cdot \left(U - U*\right)}\\
\end{array}double f(double n, double U, double t, double l, double Om, double U_) {
double r220426 = 2.0;
double r220427 = n;
double r220428 = r220426 * r220427;
double r220429 = U;
double r220430 = r220428 * r220429;
double r220431 = t;
double r220432 = l;
double r220433 = r220432 * r220432;
double r220434 = Om;
double r220435 = r220433 / r220434;
double r220436 = r220426 * r220435;
double r220437 = r220431 - r220436;
double r220438 = r220432 / r220434;
double r220439 = pow(r220438, r220426);
double r220440 = r220427 * r220439;
double r220441 = U_;
double r220442 = r220429 - r220441;
double r220443 = r220440 * r220442;
double r220444 = r220437 - r220443;
double r220445 = r220430 * r220444;
double r220446 = sqrt(r220445);
return r220446;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r220447 = t;
double r220448 = -1.9761349830952812e+186;
bool r220449 = r220447 <= r220448;
double r220450 = 2.0;
double r220451 = n;
double r220452 = r220450 * r220451;
double r220453 = U;
double r220454 = l;
double r220455 = Om;
double r220456 = r220454 / r220455;
double r220457 = r220454 * r220456;
double r220458 = r220450 * r220457;
double r220459 = r220447 - r220458;
double r220460 = cbrt(r220454);
double r220461 = r220460 * r220460;
double r220462 = 1.0;
double r220463 = r220461 / r220462;
double r220464 = 2.0;
double r220465 = r220450 / r220464;
double r220466 = pow(r220463, r220465);
double r220467 = r220451 * r220466;
double r220468 = r220460 / r220455;
double r220469 = pow(r220468, r220465);
double r220470 = r220467 * r220469;
double r220471 = pow(r220456, r220465);
double r220472 = r220470 * r220471;
double r220473 = U_;
double r220474 = r220453 - r220473;
double r220475 = r220472 * r220474;
double r220476 = r220459 - r220475;
double r220477 = r220453 * r220476;
double r220478 = r220452 * r220477;
double r220479 = sqrt(r220478);
double r220480 = -1.3487365281994786e-70;
bool r220481 = r220447 <= r220480;
double r220482 = -r220474;
double r220483 = r220464 * r220465;
double r220484 = pow(r220456, r220483);
double r220485 = r220451 * r220484;
double r220486 = r220482 * r220485;
double r220487 = r220458 - r220486;
double r220488 = r220447 - r220487;
double r220489 = r220452 * r220488;
double r220490 = r220489 * r220453;
double r220491 = pow(r220490, r220462);
double r220492 = sqrt(r220491);
double r220493 = 2.5897331506828896e+20;
bool r220494 = r220447 <= r220493;
double r220495 = r220452 * r220453;
double r220496 = sqrt(r220495);
double r220497 = r220451 * r220471;
double r220498 = r220497 * r220471;
double r220499 = r220498 * r220474;
double r220500 = r220459 - r220499;
double r220501 = sqrt(r220500);
double r220502 = r220496 * r220501;
double r220503 = r220494 ? r220479 : r220502;
double r220504 = r220481 ? r220492 : r220503;
double r220505 = r220449 ? r220479 : r220504;
return r220505;
}



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 t < -1.9761349830952812e+186 or -1.3487365281994786e-70 < t < 2.5897331506828896e+20Initial program 35.7
rmApplied *-un-lft-identity35.7
Applied times-frac33.3
Simplified33.3
rmApplied sqr-pow33.3
Applied associate-*r*32.2
rmApplied *-un-lft-identity32.2
Applied add-cube-cbrt32.3
Applied times-frac32.3
Applied unpow-prod-down32.3
Applied associate-*r*32.8
rmApplied associate-*l*32.3
if -1.9761349830952812e+186 < t < -1.3487365281994786e-70Initial program 30.1
rmApplied *-un-lft-identity30.1
Applied times-frac28.0
Simplified28.0
rmApplied sqr-pow28.0
Applied associate-*r*27.3
rmApplied pow127.3
Applied pow127.3
Applied pow127.3
Applied pow127.3
Applied pow-prod-down27.3
Applied pow-prod-down27.3
Applied pow-prod-down27.3
Simplified26.8
if 2.5897331506828896e+20 < t Initial program 34.6
rmApplied *-un-lft-identity34.6
Applied times-frac32.2
Simplified32.2
rmApplied sqr-pow32.2
Applied associate-*r*31.7
rmApplied sqrt-prod25.7
Final simplification29.5
herbie shell --seed 2020001 +o rules:numerics
(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*))))))