\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 - \frac{\ell \cdot \ell}{Om} \cdot 2\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right) \le 1.092557959512387 \cdot 10^{-276}:\\
\;\;\;\;\sqrt{\left(U \cdot \mathsf{fma}\left(0 \cdot \frac{\ell}{\sqrt[3]{Om} \cdot \sqrt[3]{Om}}, n, \mathsf{fma}\left(\frac{\ell}{Om} \cdot \ell, -2, t\right)\right)\right) \cdot \left(2 \cdot n\right)}\\
\mathbf{elif}\;\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - \frac{\ell \cdot \ell}{Om} \cdot 2\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right) \le 1.1462142433560081 \cdot 10^{+262}:\\
\;\;\;\;\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - \frac{\ell \cdot \ell}{Om} \cdot 2\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)}\\
\mathbf{else}:\\
\;\;\;\;\sqrt{U \cdot \mathsf{fma}\left(\frac{\frac{\ell}{\sqrt[3]{Om}}}{\sqrt[3]{Om}}, n \cdot \left(\frac{U* - U}{\sqrt[3]{Om}} \cdot \frac{\ell}{Om}\right), \mathsf{fma}\left(-2, \frac{\ell}{Om} \cdot \ell, t\right)\right)} \cdot \sqrt{2 \cdot n}\\
\end{array}double f(double n, double U, double t, double l, double Om, double U_) {
double r1528791 = 2.0;
double r1528792 = n;
double r1528793 = r1528791 * r1528792;
double r1528794 = U;
double r1528795 = r1528793 * r1528794;
double r1528796 = t;
double r1528797 = l;
double r1528798 = r1528797 * r1528797;
double r1528799 = Om;
double r1528800 = r1528798 / r1528799;
double r1528801 = r1528791 * r1528800;
double r1528802 = r1528796 - r1528801;
double r1528803 = r1528797 / r1528799;
double r1528804 = pow(r1528803, r1528791);
double r1528805 = r1528792 * r1528804;
double r1528806 = U_;
double r1528807 = r1528794 - r1528806;
double r1528808 = r1528805 * r1528807;
double r1528809 = r1528802 - r1528808;
double r1528810 = r1528795 * r1528809;
double r1528811 = sqrt(r1528810);
return r1528811;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r1528812 = 2.0;
double r1528813 = n;
double r1528814 = r1528812 * r1528813;
double r1528815 = U;
double r1528816 = r1528814 * r1528815;
double r1528817 = t;
double r1528818 = l;
double r1528819 = r1528818 * r1528818;
double r1528820 = Om;
double r1528821 = r1528819 / r1528820;
double r1528822 = r1528821 * r1528812;
double r1528823 = r1528817 - r1528822;
double r1528824 = r1528818 / r1528820;
double r1528825 = pow(r1528824, r1528812);
double r1528826 = r1528813 * r1528825;
double r1528827 = U_;
double r1528828 = r1528815 - r1528827;
double r1528829 = r1528826 * r1528828;
double r1528830 = r1528823 - r1528829;
double r1528831 = r1528816 * r1528830;
double r1528832 = 1.092557959512387e-276;
bool r1528833 = r1528831 <= r1528832;
double r1528834 = 0.0;
double r1528835 = cbrt(r1528820);
double r1528836 = r1528835 * r1528835;
double r1528837 = r1528818 / r1528836;
double r1528838 = r1528834 * r1528837;
double r1528839 = r1528824 * r1528818;
double r1528840 = -2.0;
double r1528841 = fma(r1528839, r1528840, r1528817);
double r1528842 = fma(r1528838, r1528813, r1528841);
double r1528843 = r1528815 * r1528842;
double r1528844 = r1528843 * r1528814;
double r1528845 = sqrt(r1528844);
double r1528846 = 1.1462142433560081e+262;
bool r1528847 = r1528831 <= r1528846;
double r1528848 = sqrt(r1528831);
double r1528849 = r1528818 / r1528835;
double r1528850 = r1528849 / r1528835;
double r1528851 = r1528827 - r1528815;
double r1528852 = r1528851 / r1528835;
double r1528853 = r1528852 * r1528824;
double r1528854 = r1528813 * r1528853;
double r1528855 = fma(r1528840, r1528839, r1528817);
double r1528856 = fma(r1528850, r1528854, r1528855);
double r1528857 = r1528815 * r1528856;
double r1528858 = sqrt(r1528857);
double r1528859 = sqrt(r1528814);
double r1528860 = r1528858 * r1528859;
double r1528861 = r1528847 ? r1528848 : r1528860;
double r1528862 = r1528833 ? r1528845 : r1528861;
return r1528862;
}



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 n) U) (- (- t (* 2 (/ (* l l) Om))) (* (* n (pow (/ l Om) 2)) (- U U*)))) < 1.092557959512387e-276Initial program 52.6
Simplified40.3
rmApplied *-un-lft-identity40.3
Applied add-cube-cbrt40.3
Applied times-frac40.3
Applied times-frac40.2
Applied associate-*l*38.4
rmApplied *-un-lft-identity38.4
Applied times-frac37.1
Simplified37.1
Taylor expanded around 0 38.6
if 1.092557959512387e-276 < (* (* (* 2 n) U) (- (- t (* 2 (/ (* l l) Om))) (* (* n (pow (/ l Om) 2)) (- U U*)))) < 1.1462142433560081e+262Initial program 1.3
if 1.1462142433560081e+262 < (* (* (* 2 n) U) (- (- t (* 2 (/ (* l l) Om))) (* (* n (pow (/ l Om) 2)) (- U U*)))) Initial program 57.2
Simplified56.7
rmApplied *-un-lft-identity56.7
Applied add-cube-cbrt56.7
Applied times-frac56.6
Applied times-frac56.5
Applied associate-*l*55.9
rmApplied sqrt-prod54.8
Simplified51.5
Final simplification28.6
herbie shell --seed 2019163 +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*))))))