\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}\;\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) \le 0.0:\\
\;\;\;\;\sqrt{2 \cdot \left(n \cdot \left(U \cdot \left(t - \mathsf{fma}\left(\frac{\ell}{Om}, 2 \cdot \ell, \left(n \cdot {\left(\frac{\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)\right)\right)\right)}\\
\mathbf{elif}\;\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) \le 6.357962119285660919921909708258311991044 \cdot 10^{307}:\\
\;\;\;\;\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)}\\
\mathbf{else}:\\
\;\;\;\;\sqrt{2} \cdot \left(\sqrt{n \cdot U} \cdot \sqrt{t - \mathsf{fma}\left(\frac{\ell}{Om}, 2 \cdot \ell, \left(n \cdot {\left(\frac{\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)}\right)\\
\end{array}double f(double n, double U, double t, double l, double Om, double U_) {
double r4503841 = 2.0;
double r4503842 = n;
double r4503843 = r4503841 * r4503842;
double r4503844 = U;
double r4503845 = r4503843 * r4503844;
double r4503846 = t;
double r4503847 = l;
double r4503848 = r4503847 * r4503847;
double r4503849 = Om;
double r4503850 = r4503848 / r4503849;
double r4503851 = r4503841 * r4503850;
double r4503852 = r4503846 - r4503851;
double r4503853 = r4503847 / r4503849;
double r4503854 = pow(r4503853, r4503841);
double r4503855 = r4503842 * r4503854;
double r4503856 = U_;
double r4503857 = r4503844 - r4503856;
double r4503858 = r4503855 * r4503857;
double r4503859 = r4503852 - r4503858;
double r4503860 = r4503845 * r4503859;
double r4503861 = sqrt(r4503860);
return r4503861;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r4503862 = 2.0;
double r4503863 = n;
double r4503864 = r4503862 * r4503863;
double r4503865 = U;
double r4503866 = r4503864 * r4503865;
double r4503867 = t;
double r4503868 = l;
double r4503869 = r4503868 * r4503868;
double r4503870 = Om;
double r4503871 = r4503869 / r4503870;
double r4503872 = r4503862 * r4503871;
double r4503873 = r4503867 - r4503872;
double r4503874 = r4503868 / r4503870;
double r4503875 = pow(r4503874, r4503862);
double r4503876 = r4503863 * r4503875;
double r4503877 = U_;
double r4503878 = r4503865 - r4503877;
double r4503879 = r4503876 * r4503878;
double r4503880 = r4503873 - r4503879;
double r4503881 = r4503866 * r4503880;
double r4503882 = 0.0;
bool r4503883 = r4503881 <= r4503882;
double r4503884 = r4503862 * r4503868;
double r4503885 = 2.0;
double r4503886 = r4503862 / r4503885;
double r4503887 = pow(r4503874, r4503886);
double r4503888 = r4503863 * r4503887;
double r4503889 = r4503887 * r4503878;
double r4503890 = r4503888 * r4503889;
double r4503891 = fma(r4503874, r4503884, r4503890);
double r4503892 = r4503867 - r4503891;
double r4503893 = r4503865 * r4503892;
double r4503894 = r4503863 * r4503893;
double r4503895 = r4503862 * r4503894;
double r4503896 = sqrt(r4503895);
double r4503897 = 6.357962119285661e+307;
bool r4503898 = r4503881 <= r4503897;
double r4503899 = sqrt(r4503881);
double r4503900 = sqrt(r4503862);
double r4503901 = r4503863 * r4503865;
double r4503902 = sqrt(r4503901);
double r4503903 = sqrt(r4503892);
double r4503904 = r4503902 * r4503903;
double r4503905 = r4503900 * r4503904;
double r4503906 = r4503898 ? r4503899 : r4503905;
double r4503907 = r4503883 ? r4503896 : r4503906;
return r4503907;
}



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 (* (* (* 2.0 n) U) (- (- t (* 2.0 (/ (* l l) Om))) (* (* n (pow (/ l Om) 2.0)) (- U U*)))) < 0.0Initial program 57.5
Simplified54.8
rmApplied sqr-pow54.8
Applied associate-*l*52.2
rmApplied associate-*r*50.8
rmApplied associate-*l*35.9
if 0.0 < (* (* (* 2.0 n) U) (- (- t (* 2.0 (/ (* l l) Om))) (* (* n (pow (/ l Om) 2.0)) (- U U*)))) < 6.357962119285661e+307Initial program 1.7
if 6.357962119285661e+307 < (* (* (* 2.0 n) U) (- (- t (* 2.0 (/ (* l l) Om))) (* (* n (pow (/ l Om) 2.0)) (- U U*)))) Initial program 64.0
Simplified57.3
rmApplied sqr-pow57.3
Applied associate-*l*57.1
rmApplied associate-*r*56.6
rmApplied sqrt-prod56.6
rmApplied sqrt-prod53.5
Final simplification27.0
herbie shell --seed 2019174 +o rules:numerics
(FPCore (n U t l Om U*)
:name "Toniolo and Linder, Equation (13)"
(sqrt (* (* (* 2.0 n) U) (- (- t (* 2.0 (/ (* l l) Om))) (* (* n (pow (/ l Om) 2.0)) (- U U*))))))