\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}\;n \le -9.70466398046478901 \cdot 10^{-48}:\\
\;\;\;\;\sqrt{\left(2 \cdot n\right) \cdot \left(U \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)\right)}\\
\mathbf{elif}\;n \le 1.75326784145555145 \cdot 10^{31}:\\
\;\;\;\;\sqrt{{\left(\left(\left(2 \cdot n\right) \cdot \left(t - \left(2 \cdot \frac{\ell}{\frac{Om}{\ell}} - \left(-n \cdot {\left(\frac{\ell}{Om}\right)}^{\left(2 \cdot \frac{2}{2}\right)}\right) \cdot \left(U - U*\right)\right)\right)\right) \cdot U\right)}^{1}}\\
\mathbf{else}:\\
\;\;\;\;\sqrt{2 \cdot n} \cdot \sqrt{U \cdot \left(\left(t - 2 \cdot \frac{\ell}{\frac{Om}{\ell}}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)}\\
\end{array}double f(double n, double U, double t, double l, double Om, double U_) {
double r167263 = 2.0;
double r167264 = n;
double r167265 = r167263 * r167264;
double r167266 = U;
double r167267 = r167265 * r167266;
double r167268 = t;
double r167269 = l;
double r167270 = r167269 * r167269;
double r167271 = Om;
double r167272 = r167270 / r167271;
double r167273 = r167263 * r167272;
double r167274 = r167268 - r167273;
double r167275 = r167269 / r167271;
double r167276 = pow(r167275, r167263);
double r167277 = r167264 * r167276;
double r167278 = U_;
double r167279 = r167266 - r167278;
double r167280 = r167277 * r167279;
double r167281 = r167274 - r167280;
double r167282 = r167267 * r167281;
double r167283 = sqrt(r167282);
return r167283;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r167284 = n;
double r167285 = -9.704663980464789e-48;
bool r167286 = r167284 <= r167285;
double r167287 = 2.0;
double r167288 = r167287 * r167284;
double r167289 = U;
double r167290 = t;
double r167291 = l;
double r167292 = Om;
double r167293 = r167292 / r167291;
double r167294 = r167291 / r167293;
double r167295 = r167287 * r167294;
double r167296 = r167290 - r167295;
double r167297 = r167291 / r167292;
double r167298 = 2.0;
double r167299 = r167287 / r167298;
double r167300 = pow(r167297, r167299);
double r167301 = r167284 * r167300;
double r167302 = U_;
double r167303 = r167289 - r167302;
double r167304 = r167300 * r167303;
double r167305 = r167301 * r167304;
double r167306 = r167296 - r167305;
double r167307 = r167289 * r167306;
double r167308 = r167288 * r167307;
double r167309 = sqrt(r167308);
double r167310 = 1.7532678414555514e+31;
bool r167311 = r167284 <= r167310;
double r167312 = r167298 * r167299;
double r167313 = pow(r167297, r167312);
double r167314 = r167284 * r167313;
double r167315 = -r167314;
double r167316 = r167315 * r167303;
double r167317 = r167295 - r167316;
double r167318 = r167290 - r167317;
double r167319 = r167288 * r167318;
double r167320 = r167319 * r167289;
double r167321 = 1.0;
double r167322 = pow(r167320, r167321);
double r167323 = sqrt(r167322);
double r167324 = sqrt(r167288);
double r167325 = pow(r167297, r167287);
double r167326 = r167284 * r167325;
double r167327 = r167326 * r167303;
double r167328 = r167296 - r167327;
double r167329 = r167289 * r167328;
double r167330 = sqrt(r167329);
double r167331 = r167324 * r167330;
double r167332 = r167311 ? r167323 : r167331;
double r167333 = r167286 ? r167309 : r167332;
return r167333;
}



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 n < -9.704663980464789e-48Initial program 31.9
rmApplied associate-/l*29.6
rmApplied associate-*l*30.1
rmApplied sqr-pow30.1
Applied associate-*r*28.9
rmApplied associate-*l*27.8
if -9.704663980464789e-48 < n < 1.7532678414555514e+31Initial program 34.5
rmApplied associate-/l*31.6
rmApplied associate-*l*31.9
rmApplied sqr-pow31.9
Applied associate-*r*30.9
rmApplied pow130.9
Applied pow130.9
Applied pow-prod-down30.9
Applied pow130.9
Applied pow130.9
Applied pow-prod-down30.9
Applied pow-prod-down30.9
Simplified28.1
if 1.7532678414555514e+31 < n Initial program 33.9
rmApplied associate-/l*32.1
rmApplied associate-*l*33.3
rmApplied sqrt-prod24.4
Final simplification27.4
herbie shell --seed 2020039
(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*))))))