\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}\;U \le -9.183046660180342 \cdot 10^{-109}:\\
\;\;\;\;\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell}{\frac{Om}{\ell}}\right) - \frac{n \cdot \left(\frac{1}{\frac{Om}{\ell}} \cdot \left(U - U*\right)\right)}{\frac{Om}{\ell}}\right)}\\
\mathbf{elif}\;U \le 1.0657230548376832 \cdot 10^{+24}:\\
\;\;\;\;\sqrt{\left(2 \cdot n\right) \cdot \left(\left(\left(t - 2 \cdot \frac{\ell}{\frac{Om}{\ell}}\right) - \frac{\left(U - U*\right) \cdot \frac{n}{\frac{Om}{\ell}}}{\frac{Om}{\ell}}\right) \cdot U\right)}\\
\mathbf{else}:\\
\;\;\;\;\sqrt{\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell}{\frac{Om}{\ell}}\right) - \frac{\left(U - U*\right) \cdot \frac{n}{\frac{Om}{\ell}}}{\frac{Om}{\ell}}\right)}} \cdot \sqrt{\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell}{\frac{Om}{\ell}}\right) - \frac{\left(U - U*\right) \cdot \frac{n}{\frac{Om}{\ell}}}{\frac{Om}{\ell}}\right)}}\\
\end{array}double f(double n, double U, double t, double l, double Om, double U_) {
double r26890183 = 2.0;
double r26890184 = n;
double r26890185 = r26890183 * r26890184;
double r26890186 = U;
double r26890187 = r26890185 * r26890186;
double r26890188 = t;
double r26890189 = l;
double r26890190 = r26890189 * r26890189;
double r26890191 = Om;
double r26890192 = r26890190 / r26890191;
double r26890193 = r26890183 * r26890192;
double r26890194 = r26890188 - r26890193;
double r26890195 = r26890189 / r26890191;
double r26890196 = pow(r26890195, r26890183);
double r26890197 = r26890184 * r26890196;
double r26890198 = U_;
double r26890199 = r26890186 - r26890198;
double r26890200 = r26890197 * r26890199;
double r26890201 = r26890194 - r26890200;
double r26890202 = r26890187 * r26890201;
double r26890203 = sqrt(r26890202);
return r26890203;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r26890204 = U;
double r26890205 = -9.183046660180342e-109;
bool r26890206 = r26890204 <= r26890205;
double r26890207 = 2.0;
double r26890208 = n;
double r26890209 = r26890207 * r26890208;
double r26890210 = r26890209 * r26890204;
double r26890211 = t;
double r26890212 = l;
double r26890213 = Om;
double r26890214 = r26890213 / r26890212;
double r26890215 = r26890212 / r26890214;
double r26890216 = r26890207 * r26890215;
double r26890217 = r26890211 - r26890216;
double r26890218 = 1.0;
double r26890219 = r26890218 / r26890214;
double r26890220 = U_;
double r26890221 = r26890204 - r26890220;
double r26890222 = r26890219 * r26890221;
double r26890223 = r26890208 * r26890222;
double r26890224 = r26890223 / r26890214;
double r26890225 = r26890217 - r26890224;
double r26890226 = r26890210 * r26890225;
double r26890227 = sqrt(r26890226);
double r26890228 = 1.0657230548376832e+24;
bool r26890229 = r26890204 <= r26890228;
double r26890230 = r26890208 / r26890214;
double r26890231 = r26890221 * r26890230;
double r26890232 = r26890231 / r26890214;
double r26890233 = r26890217 - r26890232;
double r26890234 = r26890233 * r26890204;
double r26890235 = r26890209 * r26890234;
double r26890236 = sqrt(r26890235);
double r26890237 = r26890210 * r26890233;
double r26890238 = sqrt(r26890237);
double r26890239 = sqrt(r26890238);
double r26890240 = r26890239 * r26890239;
double r26890241 = r26890229 ? r26890236 : r26890240;
double r26890242 = r26890206 ? r26890227 : r26890241;
return r26890242;
}



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 U < -9.183046660180342e-109Initial program 28.3
rmApplied associate-/l*24.9
Taylor expanded around inf 31.1
Simplified24.1
rmApplied associate-*l/23.6
rmApplied div-inv23.6
Applied associate-*l*24.0
if -9.183046660180342e-109 < U < 1.0657230548376832e+24Initial program 37.3
rmApplied associate-/l*34.9
Taylor expanded around inf 41.1
Simplified33.9
rmApplied associate-*l/33.4
rmApplied associate-*l*28.6
if 1.0657230548376832e+24 < U Initial program 28.5
rmApplied associate-/l*25.9
Taylor expanded around inf 30.9
Simplified25.2
rmApplied associate-*l/24.6
rmApplied add-sqr-sqrt24.8
Final simplification26.6
herbie shell --seed 2019124 +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*))))))