\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 4.69377638721043389061730150231150526438 \cdot 10^{-278}:\\
\;\;\;\;\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \left(\ell \cdot \frac{\ell}{Om}\right)\right) - \left(\left(\sqrt[3]{n \cdot {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)}} \cdot \sqrt[3]{n \cdot {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)}}\right) \cdot \sqrt[3]{n \cdot {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)}}\right) \cdot \left(\left(U - U*\right) \cdot {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)}\right)\right)}\\
\mathbf{elif}\;t \le 2.559404422323993207029950230040666238883 \cdot 10^{-58} \lor \neg \left(t \le 5.263875707831979755454541422910156991261 \cdot 10^{143}\right):\\
\;\;\;\;\sqrt{\left(2 \cdot n\right) \cdot U} \cdot \sqrt{t - \mathsf{fma}\left(2 \cdot \ell, \frac{\ell}{Om}, \left(U - U*\right) \cdot \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{\left(2 \cdot \frac{2}{2}\right)}\right)\right)}\\
\mathbf{else}:\\
\;\;\;\;\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \left(\ell \cdot \frac{\ell}{Om}\right)\right) - \left(\left(n \cdot \ell\right) \cdot {\left(\frac{1}{{Om}^{1}}\right)}^{1}\right) \cdot \left(\left(U - U*\right) \cdot {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)}\right)\right)}\\
\end{array}double f(double n, double U, double t, double l, double Om, double U_) {
double r180324 = 2.0;
double r180325 = n;
double r180326 = r180324 * r180325;
double r180327 = U;
double r180328 = r180326 * r180327;
double r180329 = t;
double r180330 = l;
double r180331 = r180330 * r180330;
double r180332 = Om;
double r180333 = r180331 / r180332;
double r180334 = r180324 * r180333;
double r180335 = r180329 - r180334;
double r180336 = r180330 / r180332;
double r180337 = pow(r180336, r180324);
double r180338 = r180325 * r180337;
double r180339 = U_;
double r180340 = r180327 - r180339;
double r180341 = r180338 * r180340;
double r180342 = r180335 - r180341;
double r180343 = r180328 * r180342;
double r180344 = sqrt(r180343);
return r180344;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r180345 = t;
double r180346 = 4.693776387210434e-278;
bool r180347 = r180345 <= r180346;
double r180348 = 2.0;
double r180349 = n;
double r180350 = r180348 * r180349;
double r180351 = U;
double r180352 = r180350 * r180351;
double r180353 = l;
double r180354 = Om;
double r180355 = r180353 / r180354;
double r180356 = r180353 * r180355;
double r180357 = r180348 * r180356;
double r180358 = r180345 - r180357;
double r180359 = 2.0;
double r180360 = r180348 / r180359;
double r180361 = pow(r180355, r180360);
double r180362 = r180349 * r180361;
double r180363 = cbrt(r180362);
double r180364 = r180363 * r180363;
double r180365 = r180364 * r180363;
double r180366 = U_;
double r180367 = r180351 - r180366;
double r180368 = r180367 * r180361;
double r180369 = r180365 * r180368;
double r180370 = r180358 - r180369;
double r180371 = r180352 * r180370;
double r180372 = sqrt(r180371);
double r180373 = 2.5594044223239932e-58;
bool r180374 = r180345 <= r180373;
double r180375 = 5.26387570783198e+143;
bool r180376 = r180345 <= r180375;
double r180377 = !r180376;
bool r180378 = r180374 || r180377;
double r180379 = sqrt(r180352);
double r180380 = r180348 * r180353;
double r180381 = r180359 * r180360;
double r180382 = pow(r180355, r180381);
double r180383 = r180349 * r180382;
double r180384 = r180367 * r180383;
double r180385 = fma(r180380, r180355, r180384);
double r180386 = r180345 - r180385;
double r180387 = sqrt(r180386);
double r180388 = r180379 * r180387;
double r180389 = r180349 * r180353;
double r180390 = 1.0;
double r180391 = 1.0;
double r180392 = pow(r180354, r180391);
double r180393 = r180390 / r180392;
double r180394 = pow(r180393, r180391);
double r180395 = r180389 * r180394;
double r180396 = r180395 * r180368;
double r180397 = r180358 - r180396;
double r180398 = r180352 * r180397;
double r180399 = sqrt(r180398);
double r180400 = r180378 ? r180388 : r180399;
double r180401 = r180347 ? r180372 : r180400;
return r180401;
}



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 t < 4.693776387210434e-278Initial program 34.6
rmApplied *-un-lft-identity34.6
Applied times-frac31.7
Simplified31.7
rmApplied sqr-pow31.7
Applied associate-*r*30.8
rmApplied associate-*l*30.4
Simplified30.4
rmApplied add-cube-cbrt30.5
if 4.693776387210434e-278 < t < 2.5594044223239932e-58 or 5.26387570783198e+143 < t Initial program 37.1
rmApplied *-un-lft-identity37.1
Applied times-frac34.7
Simplified34.7
rmApplied sqr-pow34.7
Applied associate-*r*33.9
rmApplied sqrt-prod29.6
Simplified30.1
if 2.5594044223239932e-58 < t < 5.26387570783198e+143Initial program 30.7
rmApplied *-un-lft-identity30.7
Applied times-frac28.5
Simplified28.5
rmApplied sqr-pow28.5
Applied associate-*r*28.2
rmApplied associate-*l*28.2
Simplified28.2
Taylor expanded around 0 28.7
Final simplification30.1
herbie shell --seed 2019306 +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*))))))