\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}\;n \le -9.944037691838278 \cdot 10^{-75}:\\
\;\;\;\;\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \left(\ell \cdot \frac{\ell}{Om}\right)\right) - \sqrt[3]{U - U*} \cdot \left(n \cdot \left(\left(\sqrt[3]{U - U*} \cdot \frac{\ell}{Om}\right) \cdot \left(\sqrt[3]{U - U*} \cdot \frac{\ell}{Om}\right)\right)\right)\right)}\\
\mathbf{elif}\;n \le -1.1144092498290265 \cdot 10^{-301}:\\
\;\;\;\;\sqrt{\left(U \cdot \left(t - \mathsf{fma}\left(\ell, \frac{\ell}{Om} \cdot 2, \frac{\left(\left(\ell \cdot \frac{\ell}{Om}\right) \cdot n\right) \cdot \left(U - U*\right)}{Om}\right)\right)\right) \cdot \left(2 \cdot n\right)}\\
\mathbf{else}:\\
\;\;\;\;\sqrt{U \cdot \left(t - \mathsf{fma}\left(\ell, \frac{\ell}{Om} \cdot 2, \left(U - U*\right) \cdot \left(\sqrt[3]{n} \cdot \left(\left(\sqrt[3]{n} \cdot \frac{\ell}{Om}\right) \cdot \left(\sqrt[3]{n} \cdot \frac{\ell}{Om}\right)\right)\right)\right)\right)} \cdot \sqrt{2 \cdot n}\\
\end{array}double f(double n, double U, double t, double l, double Om, double U_) {
double r1136681 = 2.0;
double r1136682 = n;
double r1136683 = r1136681 * r1136682;
double r1136684 = U;
double r1136685 = r1136683 * r1136684;
double r1136686 = t;
double r1136687 = l;
double r1136688 = r1136687 * r1136687;
double r1136689 = Om;
double r1136690 = r1136688 / r1136689;
double r1136691 = r1136681 * r1136690;
double r1136692 = r1136686 - r1136691;
double r1136693 = r1136687 / r1136689;
double r1136694 = pow(r1136693, r1136681);
double r1136695 = r1136682 * r1136694;
double r1136696 = U_;
double r1136697 = r1136684 - r1136696;
double r1136698 = r1136695 * r1136697;
double r1136699 = r1136692 - r1136698;
double r1136700 = r1136685 * r1136699;
double r1136701 = sqrt(r1136700);
return r1136701;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r1136702 = n;
double r1136703 = -9.944037691838278e-75;
bool r1136704 = r1136702 <= r1136703;
double r1136705 = 2.0;
double r1136706 = r1136705 * r1136702;
double r1136707 = U;
double r1136708 = r1136706 * r1136707;
double r1136709 = t;
double r1136710 = l;
double r1136711 = Om;
double r1136712 = r1136710 / r1136711;
double r1136713 = r1136710 * r1136712;
double r1136714 = r1136705 * r1136713;
double r1136715 = r1136709 - r1136714;
double r1136716 = U_;
double r1136717 = r1136707 - r1136716;
double r1136718 = cbrt(r1136717);
double r1136719 = r1136718 * r1136712;
double r1136720 = r1136719 * r1136719;
double r1136721 = r1136702 * r1136720;
double r1136722 = r1136718 * r1136721;
double r1136723 = r1136715 - r1136722;
double r1136724 = r1136708 * r1136723;
double r1136725 = sqrt(r1136724);
double r1136726 = -1.1144092498290265e-301;
bool r1136727 = r1136702 <= r1136726;
double r1136728 = r1136712 * r1136705;
double r1136729 = r1136713 * r1136702;
double r1136730 = r1136729 * r1136717;
double r1136731 = r1136730 / r1136711;
double r1136732 = fma(r1136710, r1136728, r1136731);
double r1136733 = r1136709 - r1136732;
double r1136734 = r1136707 * r1136733;
double r1136735 = r1136734 * r1136706;
double r1136736 = sqrt(r1136735);
double r1136737 = cbrt(r1136702);
double r1136738 = r1136737 * r1136712;
double r1136739 = r1136738 * r1136738;
double r1136740 = r1136737 * r1136739;
double r1136741 = r1136717 * r1136740;
double r1136742 = fma(r1136710, r1136728, r1136741);
double r1136743 = r1136709 - r1136742;
double r1136744 = r1136707 * r1136743;
double r1136745 = sqrt(r1136744);
double r1136746 = sqrt(r1136706);
double r1136747 = r1136745 * r1136746;
double r1136748 = r1136727 ? r1136736 : r1136747;
double r1136749 = r1136704 ? r1136725 : r1136748;
return r1136749;
}



Bits error versus n



Bits error versus U



Bits error versus t



Bits error versus l



Bits error versus Om



Bits error versus U*
if n < -9.944037691838278e-75Initial program 30.7
rmApplied *-un-lft-identity30.7
Applied times-frac28.2
Simplified28.2
rmApplied add-cube-cbrt28.2
Applied associate-*r*28.2
Simplified27.1
if -9.944037691838278e-75 < n < -1.1144092498290265e-301Initial program 34.9
rmApplied *-un-lft-identity34.9
Applied times-frac32.4
Simplified32.4
rmApplied associate-*l*31.2
Simplified31.2
rmApplied associate-*r/31.2
Applied associate-*l/30.2
Applied associate-*l/30.1
if -1.1144092498290265e-301 < n Initial program 32.9
rmApplied *-un-lft-identity32.9
Applied times-frac30.3
Simplified30.3
rmApplied associate-*l*29.9
Simplified29.9
rmApplied add-cube-cbrt30.0
Applied associate-*r*30.0
Simplified29.2
rmApplied sqrt-prod22.6
Final simplification25.5
herbie shell --seed 2019152 +o rules:numerics
(FPCore (n U t l Om U*)
:name "Toniolo and Linder, Equation (13)"
(sqrt (* (* (* 2 n) U) (- (- t (* 2 (/ (* l l) Om))) (* (* n (pow (/ l Om) 2)) (- U U*))))))