\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 6.40743567097731682 \cdot 10^{-273}:\\
\;\;\;\;\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell}{\frac{Om}{\ell}}\right) - \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)}\\
\mathbf{elif}\;t \le 1.6591037050503989 \cdot 10^{-232}:\\
\;\;\;\;\sqrt{\left(2 \cdot n\right) \cdot U} \cdot \sqrt{\left(t - 2 \cdot \frac{\ell}{\frac{Om}{\ell}}\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)}\\
\mathbf{elif}\;t \le 6.76614443165117591 \cdot 10^{86}:\\
\;\;\;\;\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell}{\frac{Om}{\ell}}\right) - \left(\left(n \cdot {\left(\sqrt[3]{\frac{\ell}{Om}} \cdot \sqrt[3]{\frac{\ell}{Om}}\right)}^{\left(\frac{2}{2}\right)}\right) \cdot {\left(\sqrt[3]{\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)}\\
\mathbf{else}:\\
\;\;\;\;\sqrt{\left(2 \cdot n\right) \cdot U} \cdot \sqrt{\left(t - 2 \cdot \frac{\ell}{\frac{Om}{\ell}}\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)}\\
\end{array}double f(double n, double U, double t, double l, double Om, double U_) {
double r202118 = 2.0;
double r202119 = n;
double r202120 = r202118 * r202119;
double r202121 = U;
double r202122 = r202120 * r202121;
double r202123 = t;
double r202124 = l;
double r202125 = r202124 * r202124;
double r202126 = Om;
double r202127 = r202125 / r202126;
double r202128 = r202118 * r202127;
double r202129 = r202123 - r202128;
double r202130 = r202124 / r202126;
double r202131 = pow(r202130, r202118);
double r202132 = r202119 * r202131;
double r202133 = U_;
double r202134 = r202121 - r202133;
double r202135 = r202132 * r202134;
double r202136 = r202129 - r202135;
double r202137 = r202122 * r202136;
double r202138 = sqrt(r202137);
return r202138;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r202139 = t;
double r202140 = 6.407435670977317e-273;
bool r202141 = r202139 <= r202140;
double r202142 = 2.0;
double r202143 = n;
double r202144 = r202142 * r202143;
double r202145 = U;
double r202146 = r202144 * r202145;
double r202147 = l;
double r202148 = Om;
double r202149 = r202148 / r202147;
double r202150 = r202147 / r202149;
double r202151 = r202142 * r202150;
double r202152 = r202139 - r202151;
double r202153 = r202147 / r202148;
double r202154 = 2.0;
double r202155 = r202142 / r202154;
double r202156 = pow(r202153, r202155);
double r202157 = r202143 * r202156;
double r202158 = U_;
double r202159 = r202145 - r202158;
double r202160 = r202156 * r202159;
double r202161 = r202157 * r202160;
double r202162 = r202152 - r202161;
double r202163 = r202146 * r202162;
double r202164 = sqrt(r202163);
double r202165 = 1.659103705050399e-232;
bool r202166 = r202139 <= r202165;
double r202167 = sqrt(r202146);
double r202168 = r202157 * r202156;
double r202169 = r202168 * r202159;
double r202170 = r202152 - r202169;
double r202171 = sqrt(r202170);
double r202172 = r202167 * r202171;
double r202173 = 6.766144431651176e+86;
bool r202174 = r202139 <= r202173;
double r202175 = cbrt(r202153);
double r202176 = r202175 * r202175;
double r202177 = pow(r202176, r202155);
double r202178 = r202143 * r202177;
double r202179 = pow(r202175, r202155);
double r202180 = r202178 * r202179;
double r202181 = r202180 * r202160;
double r202182 = r202152 - r202181;
double r202183 = r202146 * r202182;
double r202184 = sqrt(r202183);
double r202185 = r202174 ? r202184 : r202172;
double r202186 = r202166 ? r202172 : r202185;
double r202187 = r202141 ? r202164 : r202186;
return r202187;
}



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 < 6.407435670977317e-273Initial program 34.3
rmApplied associate-/l*31.2
rmApplied sqr-pow31.2
Applied associate-*r*30.3
rmApplied associate-*l*30.0
if 6.407435670977317e-273 < t < 1.659103705050399e-232 or 6.766144431651176e+86 < t Initial program 35.5
rmApplied associate-/l*32.7
rmApplied sqr-pow32.7
Applied associate-*r*32.2
rmApplied sqrt-prod24.3
if 1.659103705050399e-232 < t < 6.766144431651176e+86Initial program 32.1
rmApplied associate-/l*29.5
rmApplied sqr-pow29.5
Applied associate-*r*28.8
rmApplied associate-*l*28.7
rmApplied add-cube-cbrt28.8
Applied unpow-prod-down28.8
Applied associate-*r*28.8
Final simplification28.5
herbie shell --seed 2020089 +o rules:numerics
(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*))))))