\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.34231364791575151 \cdot 10^{-306}:\\
\;\;\;\;\sqrt{\left(\sqrt[3]{\left(2 \cdot n\right) \cdot \left(U \cdot \left(\left(t - 2 \cdot \left(\ell \cdot \frac{\ell}{Om}\right)\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)} \cdot \sqrt[3]{\left(2 \cdot n\right) \cdot \left(U \cdot \left(\left(t - 2 \cdot \left(\ell \cdot \frac{\ell}{Om}\right)\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)}\right) \cdot \sqrt[3]{\left(2 \cdot n\right) \cdot \left(U \cdot \left(\left(t - 2 \cdot \left(\ell \cdot \frac{\ell}{Om}\right)\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)}}\\
\mathbf{elif}\;t \le 7.93286450001890001 \cdot 10^{-95}:\\
\;\;\;\;\sqrt{\left(2 \cdot n\right) \cdot U} \cdot \sqrt{\left(t - 2 \cdot \left(\ell \cdot \frac{\ell}{Om}\right)\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)}\\
\mathbf{elif}\;t \le 9.62200852345497397 \cdot 10^{223}:\\
\;\;\;\;\sqrt{\left(2 \cdot n\right) \cdot \left(U \cdot \left(\left(t - 2 \cdot \left(\ell \cdot \frac{\ell}{Om}\right)\right) - n \cdot \left({\left(\frac{\ell}{Om}\right)}^{2} \cdot \left(U - U*\right)\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(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)}\\
\end{array}double f(double n, double U, double t, double l, double Om, double U_) {
double r175869 = 2.0;
double r175870 = n;
double r175871 = r175869 * r175870;
double r175872 = U;
double r175873 = r175871 * r175872;
double r175874 = t;
double r175875 = l;
double r175876 = r175875 * r175875;
double r175877 = Om;
double r175878 = r175876 / r175877;
double r175879 = r175869 * r175878;
double r175880 = r175874 - r175879;
double r175881 = r175875 / r175877;
double r175882 = pow(r175881, r175869);
double r175883 = r175870 * r175882;
double r175884 = U_;
double r175885 = r175872 - r175884;
double r175886 = r175883 * r175885;
double r175887 = r175880 - r175886;
double r175888 = r175873 * r175887;
double r175889 = sqrt(r175888);
return r175889;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r175890 = t;
double r175891 = 1.3423136479157515e-306;
bool r175892 = r175890 <= r175891;
double r175893 = 2.0;
double r175894 = n;
double r175895 = r175893 * r175894;
double r175896 = U;
double r175897 = l;
double r175898 = Om;
double r175899 = r175897 / r175898;
double r175900 = r175897 * r175899;
double r175901 = r175893 * r175900;
double r175902 = r175890 - r175901;
double r175903 = pow(r175899, r175893);
double r175904 = r175894 * r175903;
double r175905 = U_;
double r175906 = r175896 - r175905;
double r175907 = r175904 * r175906;
double r175908 = r175902 - r175907;
double r175909 = r175896 * r175908;
double r175910 = r175895 * r175909;
double r175911 = cbrt(r175910);
double r175912 = r175911 * r175911;
double r175913 = r175912 * r175911;
double r175914 = sqrt(r175913);
double r175915 = 7.9328645000189e-95;
bool r175916 = r175890 <= r175915;
double r175917 = r175895 * r175896;
double r175918 = sqrt(r175917);
double r175919 = sqrt(r175908);
double r175920 = r175918 * r175919;
double r175921 = 9.622008523454974e+223;
bool r175922 = r175890 <= r175921;
double r175923 = r175903 * r175906;
double r175924 = r175894 * r175923;
double r175925 = r175902 - r175924;
double r175926 = r175896 * r175925;
double r175927 = r175895 * r175926;
double r175928 = sqrt(r175927);
double r175929 = r175922 ? r175928 : r175920;
double r175930 = r175916 ? r175920 : r175929;
double r175931 = r175892 ? r175914 : r175930;
return r175931;
}



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.3423136479157515e-306Initial program 34.2
rmApplied *-un-lft-identity34.2
Applied times-frac31.7
Simplified31.7
rmApplied associate-*l*31.9
rmApplied add-cube-cbrt32.2
if 1.3423136479157515e-306 < t < 7.9328645000189e-95 or 9.622008523454974e+223 < t Initial program 38.6
rmApplied *-un-lft-identity38.6
Applied times-frac35.8
Simplified35.8
rmApplied sqrt-prod31.4
if 7.9328645000189e-95 < t < 9.622008523454974e+223Initial program 31.8
rmApplied *-un-lft-identity31.8
Applied times-frac29.3
Simplified29.3
rmApplied associate-*l*29.8
rmApplied associate-*l*30.4
Final simplification31.5
herbie shell --seed 2020064
(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*))))))