\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 -1.07671029838720178 \cdot 10^{-93}:\\
\;\;\;\;\sqrt{\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \mathsf{fma}\left(\sqrt[3]{t} \cdot \sqrt[3]{t}, \sqrt[3]{t}, -\left(\ell \cdot \frac{\ell}{Om}\right) \cdot 2\right) + \left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\mathsf{fma}\left(-\ell \cdot \frac{\ell}{Om}, 2, \left(\ell \cdot \frac{\ell}{Om}\right) \cdot 2\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)}} \cdot \sqrt{\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(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)}}\\
\mathbf{elif}\;U \le -1.20400534993927196 \cdot 10^{-253}:\\
\;\;\;\;\sqrt{\left(2 \cdot n\right) \cdot \left(U \cdot \left(\left(t - 2 \cdot \left(\ell \cdot \frac{\ell}{Om}\right)\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)}\\
\mathbf{elif}\;U \le 6.4394205127478837 \cdot 10^{-49}:\\
\;\;\;\;\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \left(\ell \cdot \frac{\ell}{Om}\right)\right) - n \cdot \left({\left(\frac{\ell}{Om}\right)}^{2} \cdot \left(U - U*\right)\right)\right)}\\
\mathbf{elif}\;U \le 618493014635577:\\
\;\;\;\;\sqrt{\left(2 \cdot n\right) \cdot U} \cdot \sqrt{\left(t - 2 \cdot \left(\ell \cdot \frac{\ell}{Om}\right)\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\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}^{2}\right) \cdot {\left(\frac{1}{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 r288302 = 2.0;
double r288303 = n;
double r288304 = r288302 * r288303;
double r288305 = U;
double r288306 = r288304 * r288305;
double r288307 = t;
double r288308 = l;
double r288309 = r288308 * r288308;
double r288310 = Om;
double r288311 = r288309 / r288310;
double r288312 = r288302 * r288311;
double r288313 = r288307 - r288312;
double r288314 = r288308 / r288310;
double r288315 = pow(r288314, r288302);
double r288316 = r288303 * r288315;
double r288317 = U_;
double r288318 = r288305 - r288317;
double r288319 = r288316 * r288318;
double r288320 = r288313 - r288319;
double r288321 = r288306 * r288320;
double r288322 = sqrt(r288321);
return r288322;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r288323 = U;
double r288324 = -1.0767102983872018e-93;
bool r288325 = r288323 <= r288324;
double r288326 = 2.0;
double r288327 = n;
double r288328 = r288326 * r288327;
double r288329 = r288328 * r288323;
double r288330 = t;
double r288331 = cbrt(r288330);
double r288332 = r288331 * r288331;
double r288333 = l;
double r288334 = Om;
double r288335 = r288333 / r288334;
double r288336 = r288333 * r288335;
double r288337 = r288336 * r288326;
double r288338 = -r288337;
double r288339 = fma(r288332, r288331, r288338);
double r288340 = r288329 * r288339;
double r288341 = -r288336;
double r288342 = fma(r288341, r288326, r288337);
double r288343 = pow(r288335, r288326);
double r288344 = r288327 * r288343;
double r288345 = U_;
double r288346 = r288323 - r288345;
double r288347 = r288344 * r288346;
double r288348 = r288342 - r288347;
double r288349 = r288329 * r288348;
double r288350 = r288340 + r288349;
double r288351 = sqrt(r288350);
double r288352 = sqrt(r288351);
double r288353 = r288326 * r288336;
double r288354 = r288330 - r288353;
double r288355 = r288354 - r288347;
double r288356 = r288329 * r288355;
double r288357 = sqrt(r288356);
double r288358 = sqrt(r288357);
double r288359 = r288352 * r288358;
double r288360 = -1.204005349939272e-253;
bool r288361 = r288323 <= r288360;
double r288362 = r288323 * r288355;
double r288363 = r288328 * r288362;
double r288364 = sqrt(r288363);
double r288365 = 6.439420512747884e-49;
bool r288366 = r288323 <= r288365;
double r288367 = r288343 * r288346;
double r288368 = r288327 * r288367;
double r288369 = r288354 - r288368;
double r288370 = r288329 * r288369;
double r288371 = sqrt(r288370);
double r288372 = 618493014635577.0;
bool r288373 = r288323 <= r288372;
double r288374 = sqrt(r288329);
double r288375 = sqrt(r288355);
double r288376 = r288374 * r288375;
double r288377 = pow(r288333, r288326);
double r288378 = r288327 * r288377;
double r288379 = 1.0;
double r288380 = r288379 / r288334;
double r288381 = pow(r288380, r288326);
double r288382 = r288378 * r288381;
double r288383 = r288382 * r288346;
double r288384 = r288354 - r288383;
double r288385 = r288329 * r288384;
double r288386 = sqrt(r288385);
double r288387 = r288373 ? r288376 : r288386;
double r288388 = r288366 ? r288371 : r288387;
double r288389 = r288361 ? r288364 : r288388;
double r288390 = r288325 ? r288359 : r288389;
return r288390;
}



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 U < -1.0767102983872018e-93Initial program 30.6
rmApplied *-un-lft-identity30.6
Applied times-frac27.1
Simplified27.1
rmApplied add-sqr-sqrt27.3
rmApplied add-cube-cbrt27.4
Applied prod-diff27.4
Applied associate--l+27.4
Applied distribute-lft-in27.4
if -1.0767102983872018e-93 < U < -1.204005349939272e-253Initial program 38.6
rmApplied *-un-lft-identity38.6
Applied times-frac36.8
Simplified36.8
rmApplied associate-*l*32.5
if -1.204005349939272e-253 < U < 6.439420512747884e-49Initial program 39.6
rmApplied *-un-lft-identity39.6
Applied times-frac37.2
Simplified37.2
rmApplied associate-*l*36.6
if 6.439420512747884e-49 < U < 618493014635577.0Initial program 29.0
rmApplied *-un-lft-identity29.0
Applied times-frac25.3
Simplified25.3
rmApplied sqrt-prod39.2
if 618493014635577.0 < U Initial program 28.7
rmApplied *-un-lft-identity28.7
Applied times-frac26.0
Simplified26.0
rmApplied div-inv26.0
Applied unpow-prod-down31.8
Applied associate-*r*31.8
Final simplification32.7
herbie shell --seed 2020024 +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*))))))