\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 -2.2322358565558638 \cdot 10^{-129}:\\
\;\;\;\;\sqrt{\left(\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\sqrt[3]{\left(t - 2 \cdot \frac{\ell}{\frac{Om}{\ell}}\right) - \frac{\ell}{Om} \cdot \left(\left(U - U*\right) \cdot \left(\frac{\ell}{Om} \cdot n\right)\right)} \cdot \sqrt[3]{\left(t - 2 \cdot \frac{\ell}{\frac{Om}{\ell}}\right) - \frac{\ell}{Om} \cdot \left(\left(U - U*\right) \cdot \left(\frac{\ell}{Om} \cdot n\right)\right)}\right)\right) \cdot \sqrt[3]{\left(t - 2 \cdot \frac{\ell}{\frac{Om}{\ell}}\right) - \frac{\ell}{Om} \cdot \left(\left(U - U*\right) \cdot \left(\frac{\ell}{Om} \cdot n\right)\right)}}\\
\mathbf{elif}\;U \le -1.2906716725444144 \cdot 10^{-209}:\\
\;\;\;\;\sqrt{\left(\left(n \cdot \left(t - \left(\ell \cdot 2 + \left(U - U*\right) \cdot \frac{n \cdot \ell}{Om}\right) \cdot \frac{\ell}{Om}\right)\right) \cdot U\right) \cdot 2}\\
\mathbf{elif}\;U \le 1.406881514153623 \cdot 10^{-22}:\\
\;\;\;\;\sqrt{\left(2 \cdot n\right) \cdot \left(\left(\left(t - 2 \cdot \frac{\ell}{\frac{Om}{\ell}}\right) - \frac{U - U*}{\frac{Om}{\frac{\ell}{\frac{Om}{\ell}} \cdot n}}\right) \cdot U\right)}\\
\mathbf{else}:\\
\;\;\;\;\sqrt{\sqrt[3]{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell}{\frac{Om}{\ell}}\right) - \frac{\ell}{Om} \cdot \left(\left(U - U*\right) \cdot \left(\frac{\ell}{Om} \cdot n\right)\right)\right)} \cdot \left(\sqrt[3]{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell}{\frac{Om}{\ell}}\right) - \frac{\ell}{Om} \cdot \left(\left(U - U*\right) \cdot \left(\frac{\ell}{Om} \cdot n\right)\right)\right)} \cdot \sqrt[3]{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell}{\frac{Om}{\ell}}\right) - \frac{\ell}{Om} \cdot \left(\left(U - U*\right) \cdot \left(\frac{\ell}{Om} \cdot n\right)\right)\right)}\right)}\\
\end{array}double f(double n, double U, double t, double l, double Om, double U_) {
double r25071808 = 2.0;
double r25071809 = n;
double r25071810 = r25071808 * r25071809;
double r25071811 = U;
double r25071812 = r25071810 * r25071811;
double r25071813 = t;
double r25071814 = l;
double r25071815 = r25071814 * r25071814;
double r25071816 = Om;
double r25071817 = r25071815 / r25071816;
double r25071818 = r25071808 * r25071817;
double r25071819 = r25071813 - r25071818;
double r25071820 = r25071814 / r25071816;
double r25071821 = pow(r25071820, r25071808);
double r25071822 = r25071809 * r25071821;
double r25071823 = U_;
double r25071824 = r25071811 - r25071823;
double r25071825 = r25071822 * r25071824;
double r25071826 = r25071819 - r25071825;
double r25071827 = r25071812 * r25071826;
double r25071828 = sqrt(r25071827);
return r25071828;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r25071829 = U;
double r25071830 = -2.2322358565558638e-129;
bool r25071831 = r25071829 <= r25071830;
double r25071832 = 2.0;
double r25071833 = n;
double r25071834 = r25071832 * r25071833;
double r25071835 = r25071834 * r25071829;
double r25071836 = t;
double r25071837 = l;
double r25071838 = Om;
double r25071839 = r25071838 / r25071837;
double r25071840 = r25071837 / r25071839;
double r25071841 = r25071832 * r25071840;
double r25071842 = r25071836 - r25071841;
double r25071843 = r25071837 / r25071838;
double r25071844 = U_;
double r25071845 = r25071829 - r25071844;
double r25071846 = r25071843 * r25071833;
double r25071847 = r25071845 * r25071846;
double r25071848 = r25071843 * r25071847;
double r25071849 = r25071842 - r25071848;
double r25071850 = cbrt(r25071849);
double r25071851 = r25071850 * r25071850;
double r25071852 = r25071835 * r25071851;
double r25071853 = r25071852 * r25071850;
double r25071854 = sqrt(r25071853);
double r25071855 = -1.2906716725444144e-209;
bool r25071856 = r25071829 <= r25071855;
double r25071857 = r25071837 * r25071832;
double r25071858 = r25071833 * r25071837;
double r25071859 = r25071858 / r25071838;
double r25071860 = r25071845 * r25071859;
double r25071861 = r25071857 + r25071860;
double r25071862 = r25071861 * r25071843;
double r25071863 = r25071836 - r25071862;
double r25071864 = r25071833 * r25071863;
double r25071865 = r25071864 * r25071829;
double r25071866 = r25071865 * r25071832;
double r25071867 = sqrt(r25071866);
double r25071868 = 1.406881514153623e-22;
bool r25071869 = r25071829 <= r25071868;
double r25071870 = r25071840 * r25071833;
double r25071871 = r25071838 / r25071870;
double r25071872 = r25071845 / r25071871;
double r25071873 = r25071842 - r25071872;
double r25071874 = r25071873 * r25071829;
double r25071875 = r25071834 * r25071874;
double r25071876 = sqrt(r25071875);
double r25071877 = r25071835 * r25071849;
double r25071878 = cbrt(r25071877);
double r25071879 = r25071878 * r25071878;
double r25071880 = r25071878 * r25071879;
double r25071881 = sqrt(r25071880);
double r25071882 = r25071869 ? r25071876 : r25071881;
double r25071883 = r25071856 ? r25071867 : r25071882;
double r25071884 = r25071831 ? r25071854 : r25071883;
return r25071884;
}



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 < -2.2322358565558638e-129Initial program 28.9
rmApplied associate-/l*26.0
rmApplied pow126.0
Applied pow126.0
Applied pow-prod-down26.0
Simplified25.0
rmApplied add-cube-cbrt25.3
Applied associate-*r*25.3
if -2.2322358565558638e-129 < U < -1.2906716725444144e-209Initial program 37.8
rmApplied associate-/l*36.1
rmApplied pow136.1
Applied pow136.1
Applied pow-prod-down36.1
Simplified34.6
rmApplied pow134.6
Applied pow134.6
Applied pow134.6
Applied pow-prod-down34.6
Applied pow-prod-down34.6
Simplified33.0
if -1.2906716725444144e-209 < U < 1.406881514153623e-22Initial program 38.8
rmApplied associate-/l*36.7
rmApplied *-un-lft-identity36.7
Applied associate-*r*36.7
Simplified36.1
rmApplied associate-*l*31.0
Simplified32.1
if 1.406881514153623e-22 < U Initial program 28.8
rmApplied associate-/l*25.8
rmApplied pow125.8
Applied pow125.8
Applied pow-prod-down25.8
Simplified24.8
rmApplied add-cube-cbrt25.1
Final simplification28.7
herbie shell --seed 2019125
(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*))))))