\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 8.120471958061494211765127711129383515551 \cdot 10^{92}:\\
\;\;\;\;\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell}{\frac{Om}{\ell}}\right) - \left(\left(\left(n \cdot {\left(\frac{\sqrt[3]{\ell} \cdot \sqrt[3]{\ell}}{\sqrt[3]{Om} \cdot \sqrt[3]{Om}}\right)}^{\left(\frac{2}{2}\right)}\right) \cdot {\left(\frac{\sqrt[3]{\ell}}{\sqrt[3]{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)\right)}\\
\mathbf{else}:\\
\;\;\;\;\sqrt{\left(2 \cdot n\right) \cdot U} \cdot \sqrt{t - \mathsf{fma}\left(2, \frac{\ell}{\frac{Om}{\ell}}, \left(U - U*\right) \cdot \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{\left(2 \cdot \frac{2}{2}\right)}\right)\right)}\\
\end{array}double f(double n, double U, double t, double l, double Om, double U_) {
double r184466 = 2.0;
double r184467 = n;
double r184468 = r184466 * r184467;
double r184469 = U;
double r184470 = r184468 * r184469;
double r184471 = t;
double r184472 = l;
double r184473 = r184472 * r184472;
double r184474 = Om;
double r184475 = r184473 / r184474;
double r184476 = r184466 * r184475;
double r184477 = r184471 - r184476;
double r184478 = r184472 / r184474;
double r184479 = pow(r184478, r184466);
double r184480 = r184467 * r184479;
double r184481 = U_;
double r184482 = r184469 - r184481;
double r184483 = r184480 * r184482;
double r184484 = r184477 - r184483;
double r184485 = r184470 * r184484;
double r184486 = sqrt(r184485);
return r184486;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r184487 = t;
double r184488 = 8.120471958061494e+92;
bool r184489 = r184487 <= r184488;
double r184490 = 2.0;
double r184491 = n;
double r184492 = r184490 * r184491;
double r184493 = U;
double r184494 = r184492 * r184493;
double r184495 = l;
double r184496 = Om;
double r184497 = r184496 / r184495;
double r184498 = r184495 / r184497;
double r184499 = r184490 * r184498;
double r184500 = r184487 - r184499;
double r184501 = cbrt(r184495);
double r184502 = r184501 * r184501;
double r184503 = cbrt(r184496);
double r184504 = r184503 * r184503;
double r184505 = r184502 / r184504;
double r184506 = 2.0;
double r184507 = r184490 / r184506;
double r184508 = pow(r184505, r184507);
double r184509 = r184491 * r184508;
double r184510 = r184501 / r184503;
double r184511 = pow(r184510, r184507);
double r184512 = r184509 * r184511;
double r184513 = r184495 / r184496;
double r184514 = pow(r184513, r184507);
double r184515 = r184512 * r184514;
double r184516 = U_;
double r184517 = r184493 - r184516;
double r184518 = r184515 * r184517;
double r184519 = r184500 - r184518;
double r184520 = r184494 * r184519;
double r184521 = sqrt(r184520);
double r184522 = sqrt(r184494);
double r184523 = r184506 * r184507;
double r184524 = pow(r184513, r184523);
double r184525 = r184491 * r184524;
double r184526 = r184517 * r184525;
double r184527 = fma(r184490, r184498, r184526);
double r184528 = r184487 - r184527;
double r184529 = sqrt(r184528);
double r184530 = r184522 * r184529;
double r184531 = r184489 ? r184521 : r184530;
return r184531;
}



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 < 8.120471958061494e+92Initial program 34.2
rmApplied associate-/l*31.4
rmApplied sqr-pow31.4
Applied associate-*r*30.5
rmApplied add-cube-cbrt30.5
Applied add-cube-cbrt30.6
Applied times-frac30.6
Applied unpow-prod-down30.6
Applied associate-*r*30.6
if 8.120471958061494e+92 < t Initial program 37.5
rmApplied associate-/l*35.0
rmApplied sqr-pow35.0
Applied associate-*r*34.4
rmApplied sqrt-prod25.9
Simplified26.4
Final simplification29.8
herbie shell --seed 2019326 +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*))))))