\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 -1.45157768247645084 \cdot 10^{-252}:\\
\;\;\;\;\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(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)\right)\right)}\\
\mathbf{elif}\;n \le -3.31877888745056957 \cdot 10^{-308}:\\
\;\;\;\;\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}\;n \le 1.72657732385470772 \cdot 10^{-250}:\\
\;\;\;\;\sqrt{2 \cdot n} \cdot \sqrt{U \cdot \left(\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)\right)}\\
\mathbf{elif}\;n \le 4.3784460496390093 \cdot 10^{-170}:\\
\;\;\;\;\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{else}:\\
\;\;\;\;\sqrt{2 \cdot n} \cdot \sqrt{U \cdot \left(\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)\right)}\\
\end{array}double f(double n, double U, double t, double l, double Om, double U_) {
double r216835 = 2.0;
double r216836 = n;
double r216837 = r216835 * r216836;
double r216838 = U;
double r216839 = r216837 * r216838;
double r216840 = t;
double r216841 = l;
double r216842 = r216841 * r216841;
double r216843 = Om;
double r216844 = r216842 / r216843;
double r216845 = r216835 * r216844;
double r216846 = r216840 - r216845;
double r216847 = r216841 / r216843;
double r216848 = pow(r216847, r216835);
double r216849 = r216836 * r216848;
double r216850 = U_;
double r216851 = r216838 - r216850;
double r216852 = r216849 * r216851;
double r216853 = r216846 - r216852;
double r216854 = r216839 * r216853;
double r216855 = sqrt(r216854);
return r216855;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r216856 = n;
double r216857 = -1.4515776824764508e-252;
bool r216858 = r216856 <= r216857;
double r216859 = 2.0;
double r216860 = r216859 * r216856;
double r216861 = U;
double r216862 = t;
double r216863 = l;
double r216864 = Om;
double r216865 = r216863 / r216864;
double r216866 = r216863 * r216865;
double r216867 = r216859 * r216866;
double r216868 = r216862 - r216867;
double r216869 = 2.0;
double r216870 = r216859 / r216869;
double r216871 = pow(r216865, r216870);
double r216872 = r216856 * r216871;
double r216873 = r216872 * r216871;
double r216874 = U_;
double r216875 = r216861 - r216874;
double r216876 = r216873 * r216875;
double r216877 = r216868 - r216876;
double r216878 = r216861 * r216877;
double r216879 = r216860 * r216878;
double r216880 = sqrt(r216879);
double r216881 = -3.3187788874505696e-308;
bool r216882 = r216856 <= r216881;
double r216883 = -r216875;
double r216884 = r216869 * r216870;
double r216885 = pow(r216865, r216884);
double r216886 = r216856 * r216885;
double r216887 = r216883 * r216886;
double r216888 = r216867 - r216887;
double r216889 = r216862 - r216888;
double r216890 = r216860 * r216889;
double r216891 = r216890 * r216861;
double r216892 = 1.0;
double r216893 = pow(r216891, r216892);
double r216894 = sqrt(r216893);
double r216895 = 1.7265773238547077e-250;
bool r216896 = r216856 <= r216895;
double r216897 = sqrt(r216860);
double r216898 = sqrt(r216878);
double r216899 = r216897 * r216898;
double r216900 = 4.378446049639009e-170;
bool r216901 = r216856 <= r216900;
double r216902 = r216901 ? r216894 : r216899;
double r216903 = r216896 ? r216899 : r216902;
double r216904 = r216882 ? r216894 : r216903;
double r216905 = r216858 ? r216880 : r216904;
return r216905;
}



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 n < -1.4515776824764508e-252Initial program 34.1
rmApplied *-un-lft-identity34.1
Applied times-frac31.3
Simplified31.3
rmApplied associate-*l*31.2
rmApplied sqr-pow31.2
Applied associate-*r*30.1
if -1.4515776824764508e-252 < n < -3.3187788874505696e-308 or 1.7265773238547077e-250 < n < 4.378446049639009e-170Initial program 38.0
rmApplied *-un-lft-identity38.0
Applied times-frac35.8
Simplified35.8
rmApplied associate-*l*36.1
rmApplied sqr-pow36.1
Applied associate-*r*34.9
rmApplied pow134.9
Applied pow134.9
Applied pow-prod-down34.9
Applied pow134.9
Applied pow134.9
Applied pow-prod-down34.9
Applied pow-prod-down34.9
Simplified32.4
if -3.3187788874505696e-308 < n < 1.7265773238547077e-250 or 4.378446049639009e-170 < n Initial program 34.4
rmApplied *-un-lft-identity34.4
Applied times-frac32.1
Simplified32.1
rmApplied associate-*l*32.1
rmApplied sqr-pow32.1
Applied associate-*r*31.1
rmApplied sqrt-prod24.2
Final simplification28.0
herbie shell --seed 2020059
(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*))))))