\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}\;\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - \frac{\ell \cdot \ell}{Om} \cdot 2\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)} \le 0.0:\\
\;\;\;\;\sqrt{2 \cdot \left(U \cdot \left(t \cdot n + \left(-\left(2 \cdot \ell - \frac{\ell}{Om} \cdot \left(n \cdot \left(U* - U\right)\right)\right)\right) \cdot \left(n \cdot \frac{\ell}{Om}\right)\right)\right)}\\
\mathbf{elif}\;\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - \frac{\ell \cdot \ell}{Om} \cdot 2\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)} \le 1.0865908327746399 \cdot 10^{+112}:\\
\;\;\;\;\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - \frac{\ell \cdot \ell}{Om} \cdot 2\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)}\\
\mathbf{else}:\\
\;\;\;\;\sqrt{2 \cdot \left(U \cdot \left(t \cdot n + \left(-\left(2 \cdot \ell - \frac{\ell}{Om} \cdot \left(n \cdot \left(U* - U\right)\right)\right)\right) \cdot \left(n \cdot \frac{\ell}{Om}\right)\right)\right)}\\
\end{array}double f(double n, double U, double t, double l, double Om, double U_) {
double r2031302 = 2.0;
double r2031303 = n;
double r2031304 = r2031302 * r2031303;
double r2031305 = U;
double r2031306 = r2031304 * r2031305;
double r2031307 = t;
double r2031308 = l;
double r2031309 = r2031308 * r2031308;
double r2031310 = Om;
double r2031311 = r2031309 / r2031310;
double r2031312 = r2031302 * r2031311;
double r2031313 = r2031307 - r2031312;
double r2031314 = r2031308 / r2031310;
double r2031315 = pow(r2031314, r2031302);
double r2031316 = r2031303 * r2031315;
double r2031317 = U_;
double r2031318 = r2031305 - r2031317;
double r2031319 = r2031316 * r2031318;
double r2031320 = r2031313 - r2031319;
double r2031321 = r2031306 * r2031320;
double r2031322 = sqrt(r2031321);
return r2031322;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r2031323 = 2.0;
double r2031324 = n;
double r2031325 = r2031323 * r2031324;
double r2031326 = U;
double r2031327 = r2031325 * r2031326;
double r2031328 = t;
double r2031329 = l;
double r2031330 = r2031329 * r2031329;
double r2031331 = Om;
double r2031332 = r2031330 / r2031331;
double r2031333 = r2031332 * r2031323;
double r2031334 = r2031328 - r2031333;
double r2031335 = r2031329 / r2031331;
double r2031336 = pow(r2031335, r2031323);
double r2031337 = r2031324 * r2031336;
double r2031338 = U_;
double r2031339 = r2031326 - r2031338;
double r2031340 = r2031337 * r2031339;
double r2031341 = r2031334 - r2031340;
double r2031342 = r2031327 * r2031341;
double r2031343 = sqrt(r2031342);
double r2031344 = 0.0;
bool r2031345 = r2031343 <= r2031344;
double r2031346 = r2031328 * r2031324;
double r2031347 = r2031323 * r2031329;
double r2031348 = r2031338 - r2031326;
double r2031349 = r2031324 * r2031348;
double r2031350 = r2031335 * r2031349;
double r2031351 = r2031347 - r2031350;
double r2031352 = -r2031351;
double r2031353 = r2031324 * r2031335;
double r2031354 = r2031352 * r2031353;
double r2031355 = r2031346 + r2031354;
double r2031356 = r2031326 * r2031355;
double r2031357 = r2031323 * r2031356;
double r2031358 = sqrt(r2031357);
double r2031359 = 1.0865908327746399e+112;
bool r2031360 = r2031343 <= r2031359;
double r2031361 = r2031360 ? r2031343 : r2031358;
double r2031362 = r2031345 ? r2031358 : r2031361;
return r2031362;
}



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 (sqrt (* (* (* 2 n) U) (- (- t (* 2 (/ (* l l) Om))) (* (* n (pow (/ l Om) 2)) (- U U*))))) < 0.0 or 1.0865908327746399e+112 < (sqrt (* (* (* 2 n) U) (- (- t (* 2 (/ (* l l) Om))) (* (* n (pow (/ l Om) 2)) (- U U*))))) Initial program 54.8
Simplified46.1
rmApplied add-cube-cbrt46.2
Applied associate-*l*46.2
rmApplied sub-neg46.2
Applied distribute-lft-in46.2
Applied distribute-lft-in46.2
Simplified46.1
Simplified41.3
if 0.0 < (sqrt (* (* (* 2 n) U) (- (- t (* 2 (/ (* l l) Om))) (* (* n (pow (/ l Om) 2)) (- U U*))))) < 1.0865908327746399e+112Initial program 1.7
Final simplification25.3
herbie shell --seed 2019164
(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*))))))