\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(U - U*\right) \cdot \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{\left(2 \cdot \frac{2}{2}\right)}\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 r216564 = 2.0;
double r216565 = n;
double r216566 = r216564 * r216565;
double r216567 = U;
double r216568 = r216566 * r216567;
double r216569 = t;
double r216570 = l;
double r216571 = r216570 * r216570;
double r216572 = Om;
double r216573 = r216571 / r216572;
double r216574 = r216564 * r216573;
double r216575 = r216569 - r216574;
double r216576 = r216570 / r216572;
double r216577 = pow(r216576, r216564);
double r216578 = r216565 * r216577;
double r216579 = U_;
double r216580 = r216567 - r216579;
double r216581 = r216578 * r216580;
double r216582 = r216575 - r216581;
double r216583 = r216568 * r216582;
double r216584 = sqrt(r216583);
return r216584;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r216585 = U;
double r216586 = -5.670293630970672e-135;
bool r216587 = r216585 <= r216586;
double r216588 = 2.0;
double r216589 = n;
double r216590 = r216588 * r216589;
double r216591 = r216590 * r216585;
double r216592 = t;
double r216593 = l;
double r216594 = Om;
double r216595 = r216593 / r216594;
double r216596 = r216593 * r216595;
double r216597 = r216588 * r216596;
double r216598 = r216592 - r216597;
double r216599 = cbrt(r216593);
double r216600 = r216599 * r216599;
double r216601 = 2.0;
double r216602 = r216588 / r216601;
double r216603 = pow(r216600, r216602);
double r216604 = r216589 * r216603;
double r216605 = r216599 / r216594;
double r216606 = pow(r216605, r216602);
double r216607 = r216604 * r216606;
double r216608 = pow(r216595, r216602);
double r216609 = U_;
double r216610 = r216585 - r216609;
double r216611 = r216608 * r216610;
double r216612 = r216607 * r216611;
double r216613 = r216598 - r216612;
double r216614 = r216591 * r216613;
double r216615 = sqrt(r216614);
double r216616 = 0.0009220531118937961;
bool r216617 = r216585 <= r216616;
double r216618 = r216601 * r216602;
double r216619 = pow(r216595, r216618);
double r216620 = r216589 * r216619;
double r216621 = r216610 * r216620;
double r216622 = r216598 - r216621;
double r216623 = r216585 * r216622;
double r216624 = r216590 * r216623;
double r216625 = sqrt(r216624);
double r216626 = r216589 * r216608;
double r216627 = cbrt(r216611);
double r216628 = r216627 * r216627;
double r216629 = r216628 * r216627;
double r216630 = r216626 * r216629;
double r216631 = r216598 - r216630;
double r216632 = r216591 * r216631;
double r216633 = sqrt(r216632);
double r216634 = r216617 ? r216625 : r216633;
double r216635 = r216587 ? r216615 : r216634;
return r216635;
}



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 sqr-pow37.2
Applied associate-*r*36.2
rmApplied associate-*l*30.8
Simplified32.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*))))))