\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.583682591988209 \cdot 10^{-251}:\\
\;\;\;\;{\left(\left(t - \left(\ell \cdot \left(2 \cdot \frac{\ell}{Om}\right) + \left(\frac{\ell}{Om} \cdot \left(U - U*\right)\right) \cdot \left(\frac{\ell}{Om} \cdot n\right)\right)\right) \cdot \left(\left(U \cdot 2\right) \cdot n\right)\right)}^{\frac{1}{2}}\\
\mathbf{elif}\;t \le 6.552094729632033 \cdot 10^{-157}:\\
\;\;\;\;\sqrt{\left(U \cdot 2\right) \cdot n} \cdot \sqrt{\left(t - \left(\frac{\ell}{Om} \cdot \left(U - U*\right)\right) \cdot \left(\frac{\ell}{Om} \cdot n\right)\right) - \frac{\ell}{Om} \cdot \left(2 \cdot \ell\right)}\\
\mathbf{elif}\;t \le 2.539192710887033 \cdot 10^{+96}:\\
\;\;\;\;\sqrt{\left(U \cdot 2\right) \cdot \left(\left(t - \left(\ell \cdot \left(2 \cdot \frac{\ell}{Om}\right) + \frac{\left(\left(\frac{\ell}{Om} \cdot n\right) \cdot \ell\right) \cdot \left(U - U*\right)}{Om}\right)\right) \cdot n\right)}\\
\mathbf{else}:\\
\;\;\;\;\sqrt{\left(U \cdot 2\right) \cdot n} \cdot \sqrt{\left(t - \left(\frac{\ell}{Om} \cdot \left(U - U*\right)\right) \cdot \left(\frac{\ell}{Om} \cdot n\right)\right) - \frac{\ell}{Om} \cdot \left(2 \cdot \ell\right)}\\
\end{array}double f(double n, double U, double t, double l, double Om, double U_) {
double r1404282 = 2.0;
double r1404283 = n;
double r1404284 = r1404282 * r1404283;
double r1404285 = U;
double r1404286 = r1404284 * r1404285;
double r1404287 = t;
double r1404288 = l;
double r1404289 = r1404288 * r1404288;
double r1404290 = Om;
double r1404291 = r1404289 / r1404290;
double r1404292 = r1404282 * r1404291;
double r1404293 = r1404287 - r1404292;
double r1404294 = r1404288 / r1404290;
double r1404295 = pow(r1404294, r1404282);
double r1404296 = r1404283 * r1404295;
double r1404297 = U_;
double r1404298 = r1404285 - r1404297;
double r1404299 = r1404296 * r1404298;
double r1404300 = r1404293 - r1404299;
double r1404301 = r1404286 * r1404300;
double r1404302 = sqrt(r1404301);
return r1404302;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r1404303 = t;
double r1404304 = 4.583682591988209e-251;
bool r1404305 = r1404303 <= r1404304;
double r1404306 = l;
double r1404307 = 2.0;
double r1404308 = Om;
double r1404309 = r1404306 / r1404308;
double r1404310 = r1404307 * r1404309;
double r1404311 = r1404306 * r1404310;
double r1404312 = U;
double r1404313 = U_;
double r1404314 = r1404312 - r1404313;
double r1404315 = r1404309 * r1404314;
double r1404316 = n;
double r1404317 = r1404309 * r1404316;
double r1404318 = r1404315 * r1404317;
double r1404319 = r1404311 + r1404318;
double r1404320 = r1404303 - r1404319;
double r1404321 = r1404312 * r1404307;
double r1404322 = r1404321 * r1404316;
double r1404323 = r1404320 * r1404322;
double r1404324 = 0.5;
double r1404325 = pow(r1404323, r1404324);
double r1404326 = 6.552094729632033e-157;
bool r1404327 = r1404303 <= r1404326;
double r1404328 = sqrt(r1404322);
double r1404329 = r1404303 - r1404318;
double r1404330 = r1404307 * r1404306;
double r1404331 = r1404309 * r1404330;
double r1404332 = r1404329 - r1404331;
double r1404333 = sqrt(r1404332);
double r1404334 = r1404328 * r1404333;
double r1404335 = 2.539192710887033e+96;
bool r1404336 = r1404303 <= r1404335;
double r1404337 = r1404317 * r1404306;
double r1404338 = r1404337 * r1404314;
double r1404339 = r1404338 / r1404308;
double r1404340 = r1404311 + r1404339;
double r1404341 = r1404303 - r1404340;
double r1404342 = r1404341 * r1404316;
double r1404343 = r1404321 * r1404342;
double r1404344 = sqrt(r1404343);
double r1404345 = r1404336 ? r1404344 : r1404334;
double r1404346 = r1404327 ? r1404334 : r1404345;
double r1404347 = r1404305 ? r1404325 : r1404346;
return r1404347;
}



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 t < 4.583682591988209e-251Initial program 32.8
Simplified29.5
rmApplied pow1/229.5
rmApplied associate-*r*29.3
rmApplied associate-*l*29.1
if 4.583682591988209e-251 < t < 6.552094729632033e-157 or 2.539192710887033e+96 < t Initial program 35.6
Simplified30.8
rmApplied pow1/230.8
rmApplied associate-*r*32.4
rmApplied unpow-prod-down26.3
Simplified26.3
Simplified26.6
if 6.552094729632033e-157 < t < 2.539192710887033e+96Initial program 30.2
Simplified26.4
rmApplied associate-*r/26.7
Applied associate-*l/26.8
Final simplification28.0
herbie shell --seed 2019156
(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*))))))