\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 -2.843930263266248218480928012874574997046 \cdot 10^{-89} \lor \neg \left(U \le 2.477702905161125727731379106858922283385 \cdot 10^{-169}\right):\\
\;\;\;\;\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \mathsf{fma}\left(U* - U, {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)} \cdot \left(\left(n \cdot {\left(\frac{\sqrt[3]{\ell}}{\sqrt[3]{Om}} \cdot \frac{\sqrt[3]{\ell}}{\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), \mathsf{fma}\left(\frac{\ell}{Om} \cdot \ell, -2, t\right)\right)}\\
\mathbf{else}:\\
\;\;\;\;\sqrt{\left(U \cdot \mathsf{fma}\left(-2, \frac{\ell}{\frac{Om}{\ell}}, t\right)\right) \cdot \left(2 \cdot n\right) + \left(\left(2 \cdot \left(n \cdot U\right)\right) \cdot \left(U* - U\right)\right) \cdot \left({\left(\frac{\ell}{Om}\right)}^{2} \cdot n\right)}\\
\end{array}double f(double n, double U, double t, double l, double Om, double U_) {
double r149116 = 2.0;
double r149117 = n;
double r149118 = r149116 * r149117;
double r149119 = U;
double r149120 = r149118 * r149119;
double r149121 = t;
double r149122 = l;
double r149123 = r149122 * r149122;
double r149124 = Om;
double r149125 = r149123 / r149124;
double r149126 = r149116 * r149125;
double r149127 = r149121 - r149126;
double r149128 = r149122 / r149124;
double r149129 = pow(r149128, r149116);
double r149130 = r149117 * r149129;
double r149131 = U_;
double r149132 = r149119 - r149131;
double r149133 = r149130 * r149132;
double r149134 = r149127 - r149133;
double r149135 = r149120 * r149134;
double r149136 = sqrt(r149135);
return r149136;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r149137 = U;
double r149138 = -2.8439302632662482e-89;
bool r149139 = r149137 <= r149138;
double r149140 = 2.4777029051611257e-169;
bool r149141 = r149137 <= r149140;
double r149142 = !r149141;
bool r149143 = r149139 || r149142;
double r149144 = 2.0;
double r149145 = n;
double r149146 = r149144 * r149145;
double r149147 = r149146 * r149137;
double r149148 = U_;
double r149149 = r149148 - r149137;
double r149150 = l;
double r149151 = Om;
double r149152 = r149150 / r149151;
double r149153 = 2.0;
double r149154 = r149144 / r149153;
double r149155 = pow(r149152, r149154);
double r149156 = cbrt(r149150);
double r149157 = cbrt(r149151);
double r149158 = r149156 / r149157;
double r149159 = r149158 * r149158;
double r149160 = pow(r149159, r149154);
double r149161 = r149145 * r149160;
double r149162 = pow(r149158, r149154);
double r149163 = r149161 * r149162;
double r149164 = r149155 * r149163;
double r149165 = r149152 * r149150;
double r149166 = -r149144;
double r149167 = t;
double r149168 = fma(r149165, r149166, r149167);
double r149169 = fma(r149149, r149164, r149168);
double r149170 = r149147 * r149169;
double r149171 = sqrt(r149170);
double r149172 = r149151 / r149150;
double r149173 = r149150 / r149172;
double r149174 = fma(r149166, r149173, r149167);
double r149175 = r149137 * r149174;
double r149176 = r149175 * r149146;
double r149177 = r149145 * r149137;
double r149178 = r149144 * r149177;
double r149179 = r149178 * r149149;
double r149180 = pow(r149152, r149144);
double r149181 = r149180 * r149145;
double r149182 = r149179 * r149181;
double r149183 = r149176 + r149182;
double r149184 = sqrt(r149183);
double r149185 = r149143 ? r149171 : r149184;
return r149185;
}



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 < -2.8439302632662482e-89 or 2.4777029051611257e-169 < U Initial program 30.6
Simplified27.5
rmApplied sqr-pow27.5
Applied associate-*r*26.5
rmApplied pow126.5
rmApplied add-cube-cbrt26.5
Applied add-cube-cbrt26.6
Applied times-frac26.6
Applied unpow-prod-down26.6
Applied associate-*r*26.6
Simplified26.6
if -2.8439302632662482e-89 < U < 2.4777029051611257e-169Initial program 41.1
Simplified39.1
rmApplied fma-udef39.1
Applied distribute-lft-in39.1
Simplified38.3
Simplified33.7
Final simplification29.3
herbie shell --seed 2019179 +o rules:numerics
(FPCore (n U t l Om U*)
:name "Toniolo and Linder, Equation (13)"
(sqrt (* (* (* 2.0 n) U) (- (- t (* 2.0 (/ (* l l) Om))) (* (* n (pow (/ l Om) 2.0)) (- U U*))))))