\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 -2.2929690545772815 \cdot 10^{+195}:\\
\;\;\;\;{\left(\left(U \cdot \left(n \cdot t + \frac{\left(\ell \cdot n\right) \cdot \left(-2 \cdot \ell - \frac{U - U*}{\frac{Om}{\ell \cdot n}}\right)}{Om}\right)\right) \cdot 2\right)}^{\frac{1}{2}}\\
\mathbf{elif}\;t \le 4.7931236222139514 \cdot 10^{-300}:\\
\;\;\;\;\sqrt{\left(\left(\left(\frac{\ell}{Om} \cdot n\right) \cdot U\right) \cdot \left(-2 \cdot \ell - \left(\frac{\ell}{Om} \cdot n\right) \cdot \left(U - U*\right)\right)\right) \cdot 2 + \sqrt[3]{\left(\left(2 \cdot n\right) \cdot U\right) \cdot t} \cdot \left(\sqrt[3]{\left(\left(2 \cdot n\right) \cdot U\right) \cdot t} \cdot \sqrt[3]{\left(\left(2 \cdot n\right) \cdot U\right) \cdot t}\right)}\\
\mathbf{elif}\;t \le 9.503639693249915 \cdot 10^{-246}:\\
\;\;\;\;\sqrt{2 \cdot \left(U \cdot n\right)} \cdot \sqrt{t - \frac{\ell}{Om} \cdot \left(2 \cdot \ell - \left(-\frac{\ell}{Om} \cdot n\right) \cdot \left(U - U*\right)\right)}\\
\mathbf{elif}\;t \le 8.989646100831337 \cdot 10^{+233}:\\
\;\;\;\;\sqrt{\sqrt{\left(U \cdot t\right) \cdot \left(2 \cdot n\right) + \left(\left(\left(\frac{\ell}{Om} \cdot n\right) \cdot U\right) \cdot \left(-2 \cdot \ell - \left(\frac{\ell}{Om} \cdot n\right) \cdot \left(U - U*\right)\right)\right) \cdot 2}} \cdot \sqrt{\sqrt{\left(U \cdot t\right) \cdot \left(2 \cdot n\right) + \left(\left(\left(\frac{\ell}{Om} \cdot n\right) \cdot U\right) \cdot \left(-2 \cdot \ell - \left(\frac{\ell}{Om} \cdot n\right) \cdot \left(U - U*\right)\right)\right) \cdot 2}}\\
\mathbf{elif}\;t \le 2.3441672195036816 \cdot 10^{+280}:\\
\;\;\;\;\sqrt{2 \cdot \left(U \cdot n\right)} \cdot \sqrt{t - \frac{\ell}{Om} \cdot \left(2 \cdot \ell - \left(-\frac{\ell}{Om} \cdot n\right) \cdot \left(U - U*\right)\right)}\\
\mathbf{else}:\\
\;\;\;\;\sqrt{\sqrt{\left(U \cdot t\right) \cdot \left(2 \cdot n\right) + \left(\left(\left(\frac{\ell}{Om} \cdot n\right) \cdot U\right) \cdot \left(-2 \cdot \ell - \left(\frac{\ell}{Om} \cdot n\right) \cdot \left(U - U*\right)\right)\right) \cdot 2}} \cdot \sqrt{\sqrt{\left(U \cdot t\right) \cdot \left(2 \cdot n\right) + \left(\left(\left(\frac{\ell}{Om} \cdot n\right) \cdot U\right) \cdot \left(-2 \cdot \ell - \left(\frac{\ell}{Om} \cdot n\right) \cdot \left(U - U*\right)\right)\right) \cdot 2}}\\
\end{array}double f(double n, double U, double t, double l, double Om, double U_) {
double r7421791 = 2.0;
double r7421792 = n;
double r7421793 = r7421791 * r7421792;
double r7421794 = U;
double r7421795 = r7421793 * r7421794;
double r7421796 = t;
double r7421797 = l;
double r7421798 = r7421797 * r7421797;
double r7421799 = Om;
double r7421800 = r7421798 / r7421799;
double r7421801 = r7421791 * r7421800;
double r7421802 = r7421796 - r7421801;
double r7421803 = r7421797 / r7421799;
double r7421804 = pow(r7421803, r7421791);
double r7421805 = r7421792 * r7421804;
double r7421806 = U_;
double r7421807 = r7421794 - r7421806;
double r7421808 = r7421805 * r7421807;
double r7421809 = r7421802 - r7421808;
double r7421810 = r7421795 * r7421809;
double r7421811 = sqrt(r7421810);
return r7421811;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r7421812 = t;
double r7421813 = -2.2929690545772815e+195;
bool r7421814 = r7421812 <= r7421813;
double r7421815 = U;
double r7421816 = n;
double r7421817 = r7421816 * r7421812;
double r7421818 = l;
double r7421819 = r7421818 * r7421816;
double r7421820 = -2.0;
double r7421821 = r7421820 * r7421818;
double r7421822 = U_;
double r7421823 = r7421815 - r7421822;
double r7421824 = Om;
double r7421825 = r7421824 / r7421819;
double r7421826 = r7421823 / r7421825;
double r7421827 = r7421821 - r7421826;
double r7421828 = r7421819 * r7421827;
double r7421829 = r7421828 / r7421824;
double r7421830 = r7421817 + r7421829;
double r7421831 = r7421815 * r7421830;
double r7421832 = 2.0;
double r7421833 = r7421831 * r7421832;
double r7421834 = 0.5;
double r7421835 = pow(r7421833, r7421834);
double r7421836 = 4.7931236222139514e-300;
bool r7421837 = r7421812 <= r7421836;
double r7421838 = r7421818 / r7421824;
double r7421839 = r7421838 * r7421816;
double r7421840 = r7421839 * r7421815;
double r7421841 = r7421839 * r7421823;
double r7421842 = r7421821 - r7421841;
double r7421843 = r7421840 * r7421842;
double r7421844 = r7421843 * r7421832;
double r7421845 = r7421832 * r7421816;
double r7421846 = r7421845 * r7421815;
double r7421847 = r7421846 * r7421812;
double r7421848 = cbrt(r7421847);
double r7421849 = r7421848 * r7421848;
double r7421850 = r7421848 * r7421849;
double r7421851 = r7421844 + r7421850;
double r7421852 = sqrt(r7421851);
double r7421853 = 9.503639693249915e-246;
bool r7421854 = r7421812 <= r7421853;
double r7421855 = r7421815 * r7421816;
double r7421856 = r7421832 * r7421855;
double r7421857 = sqrt(r7421856);
double r7421858 = r7421832 * r7421818;
double r7421859 = -r7421839;
double r7421860 = r7421859 * r7421823;
double r7421861 = r7421858 - r7421860;
double r7421862 = r7421838 * r7421861;
double r7421863 = r7421812 - r7421862;
double r7421864 = sqrt(r7421863);
double r7421865 = r7421857 * r7421864;
double r7421866 = 8.989646100831337e+233;
bool r7421867 = r7421812 <= r7421866;
double r7421868 = r7421815 * r7421812;
double r7421869 = r7421868 * r7421845;
double r7421870 = r7421869 + r7421844;
double r7421871 = sqrt(r7421870);
double r7421872 = sqrt(r7421871);
double r7421873 = r7421872 * r7421872;
double r7421874 = 2.3441672195036816e+280;
bool r7421875 = r7421812 <= r7421874;
double r7421876 = r7421875 ? r7421865 : r7421873;
double r7421877 = r7421867 ? r7421873 : r7421876;
double r7421878 = r7421854 ? r7421865 : r7421877;
double r7421879 = r7421837 ? r7421852 : r7421878;
double r7421880 = r7421814 ? r7421835 : r7421879;
return r7421880;
}



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 < -2.2929690545772815e+195Initial program 36.9
rmApplied *-un-lft-identity36.9
Applied associate-*r*36.9
Simplified33.5
rmApplied sub-neg33.5
Applied distribute-rgt-in33.5
Simplified29.7
rmApplied pow129.7
Applied pow129.7
Applied pow129.7
Applied pow129.7
Applied pow-prod-down29.7
Applied pow-prod-down29.7
Applied pow-prod-down29.7
Applied pow129.7
Applied pow-prod-down29.7
Simplified29.7
rmApplied pow129.7
Applied sqrt-pow129.7
Simplified29.9
if -2.2929690545772815e+195 < t < 4.7931236222139514e-300Initial program 32.1
rmApplied *-un-lft-identity32.1
Applied associate-*r*32.1
Simplified27.9
rmApplied sub-neg27.9
Applied distribute-rgt-in27.9
Simplified24.0
rmApplied add-cube-cbrt24.3
if 4.7931236222139514e-300 < t < 9.503639693249915e-246 or 8.989646100831337e+233 < t < 2.3441672195036816e+280Initial program 36.6
rmApplied *-un-lft-identity36.6
Applied associate-*r*36.6
Simplified31.9
rmApplied sqrt-prod27.1
Simplified27.1
if 9.503639693249915e-246 < t < 8.989646100831337e+233 or 2.3441672195036816e+280 < t Initial program 32.7
rmApplied *-un-lft-identity32.7
Applied associate-*r*32.7
Simplified29.0
rmApplied sub-neg29.0
Applied distribute-rgt-in29.0
Simplified25.1
rmApplied pow125.1
Applied pow125.1
Applied pow125.1
Applied pow125.1
Applied pow-prod-down25.1
Applied pow-prod-down25.1
Applied pow-prod-down25.1
Applied pow125.1
Applied pow-prod-down25.1
Simplified25.3
rmApplied add-sqr-sqrt25.3
Applied sqrt-prod25.5
Final simplification25.5
herbie shell --seed 2019107
(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*))))))