\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 r225532 = 2.0;
double r225533 = n;
double r225534 = r225532 * r225533;
double r225535 = U;
double r225536 = r225534 * r225535;
double r225537 = t;
double r225538 = l;
double r225539 = r225538 * r225538;
double r225540 = Om;
double r225541 = r225539 / r225540;
double r225542 = r225532 * r225541;
double r225543 = r225537 - r225542;
double r225544 = r225538 / r225540;
double r225545 = pow(r225544, r225532);
double r225546 = r225533 * r225545;
double r225547 = U_;
double r225548 = r225535 - r225547;
double r225549 = r225546 * r225548;
double r225550 = r225543 - r225549;
double r225551 = r225536 * r225550;
double r225552 = sqrt(r225551);
return r225552;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r225553 = t;
double r225554 = -1.9761349830952812e+186;
bool r225555 = r225553 <= r225554;
double r225556 = 2.0;
double r225557 = n;
double r225558 = r225556 * r225557;
double r225559 = U;
double r225560 = l;
double r225561 = Om;
double r225562 = r225560 / r225561;
double r225563 = r225560 * r225562;
double r225564 = r225556 * r225563;
double r225565 = r225553 - r225564;
double r225566 = cbrt(r225560);
double r225567 = r225566 * r225566;
double r225568 = 1.0;
double r225569 = r225567 / r225568;
double r225570 = 2.0;
double r225571 = r225556 / r225570;
double r225572 = pow(r225569, r225571);
double r225573 = r225557 * r225572;
double r225574 = r225566 / r225561;
double r225575 = pow(r225574, r225571);
double r225576 = r225573 * r225575;
double r225577 = pow(r225562, r225571);
double r225578 = r225576 * r225577;
double r225579 = U_;
double r225580 = r225559 - r225579;
double r225581 = r225578 * r225580;
double r225582 = r225565 - r225581;
double r225583 = r225559 * r225582;
double r225584 = r225558 * r225583;
double r225585 = sqrt(r225584);
double r225586 = -1.3487365281994786e-70;
bool r225587 = r225553 <= r225586;
double r225588 = -r225580;
double r225589 = r225570 * r225571;
double r225590 = pow(r225562, r225589);
double r225591 = r225557 * r225590;
double r225592 = r225588 * r225591;
double r225593 = r225564 - r225592;
double r225594 = r225553 - r225593;
double r225595 = r225558 * r225594;
double r225596 = r225595 * r225559;
double r225597 = pow(r225596, r225568);
double r225598 = sqrt(r225597);
double r225599 = 2.5897331506828896e+20;
bool r225600 = r225553 <= r225599;
double r225601 = r225558 * r225559;
double r225602 = sqrt(r225601);
double r225603 = r225557 * r225577;
double r225604 = r225603 * r225577;
double r225605 = r225604 * r225580;
double r225606 = r225565 - r225605;
double r225607 = sqrt(r225606);
double r225608 = r225602 * r225607;
double r225609 = r225600 ? r225585 : r225608;
double r225610 = r225587 ? r225598 : r225609;
double r225611 = r225555 ? r225585 : r225610;
return r225611;
}



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*))))))