\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}\;\ell \le 3.551674787337822 \cdot 10^{-63}:\\
\;\;\;\;\sqrt{\sqrt[3]{\left(\left(t - 2 \cdot \frac{\ell}{\frac{Om}{\ell}}\right) - \frac{\ell}{Om} \cdot \left(\left(U - U*\right) \cdot \left(\frac{\ell}{Om} \cdot n\right)\right)\right) \cdot \left(\left(2 \cdot n\right) \cdot U\right)} \cdot \left(\sqrt[3]{\left(\left(t - 2 \cdot \frac{\ell}{\frac{Om}{\ell}}\right) - \frac{\ell}{Om} \cdot \left(\left(U - U*\right) \cdot \left(\frac{\ell}{Om} \cdot n\right)\right)\right) \cdot \left(\left(2 \cdot n\right) \cdot U\right)} \cdot \sqrt[3]{\left(\left(t - 2 \cdot \frac{\ell}{\frac{Om}{\ell}}\right) - \frac{\ell}{Om} \cdot \left(\left(U - U*\right) \cdot \left(\frac{\ell}{Om} \cdot n\right)\right)\right) \cdot \left(\left(2 \cdot n\right) \cdot U\right)}\right)}\\
\mathbf{elif}\;\ell \le 6.090520439539426 \cdot 10^{+89}:\\
\;\;\;\;\sqrt{\left(2 \cdot n\right) \cdot \left(\left(t - \left(2 \cdot \ell + \left(U - U*\right) \cdot \frac{n \cdot \ell}{Om}\right) \cdot \frac{\ell}{Om}\right) \cdot U\right)}\\
\mathbf{else}:\\
\;\;\;\;\sqrt{\left(\left(t - 2 \cdot \frac{\ell}{\frac{Om}{\ell}}\right) - \left(\frac{\ell}{Om} \cdot \left(\frac{\ell}{Om} \cdot n\right)\right) \cdot \left(U - U*\right)\right) \cdot \left(\left(2 \cdot n\right) \cdot U\right)}\\
\end{array}double f(double n, double U, double t, double l, double Om, double U_) {
double r24693684 = 2.0;
double r24693685 = n;
double r24693686 = r24693684 * r24693685;
double r24693687 = U;
double r24693688 = r24693686 * r24693687;
double r24693689 = t;
double r24693690 = l;
double r24693691 = r24693690 * r24693690;
double r24693692 = Om;
double r24693693 = r24693691 / r24693692;
double r24693694 = r24693684 * r24693693;
double r24693695 = r24693689 - r24693694;
double r24693696 = r24693690 / r24693692;
double r24693697 = pow(r24693696, r24693684);
double r24693698 = r24693685 * r24693697;
double r24693699 = U_;
double r24693700 = r24693687 - r24693699;
double r24693701 = r24693698 * r24693700;
double r24693702 = r24693695 - r24693701;
double r24693703 = r24693688 * r24693702;
double r24693704 = sqrt(r24693703);
return r24693704;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r24693705 = l;
double r24693706 = 3.551674787337822e-63;
bool r24693707 = r24693705 <= r24693706;
double r24693708 = t;
double r24693709 = 2.0;
double r24693710 = Om;
double r24693711 = r24693710 / r24693705;
double r24693712 = r24693705 / r24693711;
double r24693713 = r24693709 * r24693712;
double r24693714 = r24693708 - r24693713;
double r24693715 = r24693705 / r24693710;
double r24693716 = U;
double r24693717 = U_;
double r24693718 = r24693716 - r24693717;
double r24693719 = n;
double r24693720 = r24693715 * r24693719;
double r24693721 = r24693718 * r24693720;
double r24693722 = r24693715 * r24693721;
double r24693723 = r24693714 - r24693722;
double r24693724 = r24693709 * r24693719;
double r24693725 = r24693724 * r24693716;
double r24693726 = r24693723 * r24693725;
double r24693727 = cbrt(r24693726);
double r24693728 = r24693727 * r24693727;
double r24693729 = r24693727 * r24693728;
double r24693730 = sqrt(r24693729);
double r24693731 = 6.090520439539426e+89;
bool r24693732 = r24693705 <= r24693731;
double r24693733 = r24693709 * r24693705;
double r24693734 = r24693719 * r24693705;
double r24693735 = r24693734 / r24693710;
double r24693736 = r24693718 * r24693735;
double r24693737 = r24693733 + r24693736;
double r24693738 = r24693737 * r24693715;
double r24693739 = r24693708 - r24693738;
double r24693740 = r24693739 * r24693716;
double r24693741 = r24693724 * r24693740;
double r24693742 = sqrt(r24693741);
double r24693743 = r24693715 * r24693720;
double r24693744 = r24693743 * r24693718;
double r24693745 = r24693714 - r24693744;
double r24693746 = r24693745 * r24693725;
double r24693747 = sqrt(r24693746);
double r24693748 = r24693732 ? r24693742 : r24693747;
double r24693749 = r24693707 ? r24693730 : r24693748;
return r24693749;
}



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 l < 3.551674787337822e-63Initial program 31.0
rmApplied associate-/l*29.3
rmApplied pow129.3
Applied pow129.3
Applied pow-prod-down29.3
Simplified28.2
rmApplied add-cube-cbrt28.6
if 3.551674787337822e-63 < l < 6.090520439539426e+89Initial program 29.0
rmApplied associate-/l*29.0
rmApplied pow129.0
Applied pow129.0
Applied pow-prod-down29.0
Simplified27.1
rmApplied associate-*l*25.9
Simplified26.4
if 6.090520439539426e+89 < l Initial program 51.7
rmApplied associate-/l*43.1
rmApplied unpow243.1
Applied associate-*r*43.1
Final simplification30.3
herbie shell --seed 2019125
(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*))))))