\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}\;\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(n \cdot \left(U \cdot t\right) + \left(\left(2 \cdot \ell - \left(\left(U* - U\right) \cdot n\right) \cdot \frac{\ell}{Om}\right) \cdot \left(n \cdot \frac{\ell}{Om}\right)\right) \cdot \left(-U\right)\right)}\\
\mathbf{elif}\;\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 9.477739406878279 \cdot 10^{+303}:\\
\;\;\;\;\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(\left(\frac{\ell}{Om} \cdot \left(-n\right)\right) \cdot \left(U \cdot \left(2 \cdot \ell - \left(\left(U* - U\right) \cdot n\right) \cdot \frac{\ell}{Om}\right)\right) + U \cdot \left(t \cdot n\right)\right)}\\
\end{array}double f(double n, double U, double t, double l, double Om, double U_) {
double r2976329 = 2.0;
double r2976330 = n;
double r2976331 = r2976329 * r2976330;
double r2976332 = U;
double r2976333 = r2976331 * r2976332;
double r2976334 = t;
double r2976335 = l;
double r2976336 = r2976335 * r2976335;
double r2976337 = Om;
double r2976338 = r2976336 / r2976337;
double r2976339 = r2976329 * r2976338;
double r2976340 = r2976334 - r2976339;
double r2976341 = r2976335 / r2976337;
double r2976342 = pow(r2976341, r2976329);
double r2976343 = r2976330 * r2976342;
double r2976344 = U_;
double r2976345 = r2976332 - r2976344;
double r2976346 = r2976343 * r2976345;
double r2976347 = r2976340 - r2976346;
double r2976348 = r2976333 * r2976347;
double r2976349 = sqrt(r2976348);
return r2976349;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r2976350 = 2.0;
double r2976351 = n;
double r2976352 = r2976350 * r2976351;
double r2976353 = U;
double r2976354 = r2976352 * r2976353;
double r2976355 = t;
double r2976356 = l;
double r2976357 = r2976356 * r2976356;
double r2976358 = Om;
double r2976359 = r2976357 / r2976358;
double r2976360 = r2976359 * r2976350;
double r2976361 = r2976355 - r2976360;
double r2976362 = r2976356 / r2976358;
double r2976363 = pow(r2976362, r2976350);
double r2976364 = r2976351 * r2976363;
double r2976365 = U_;
double r2976366 = r2976353 - r2976365;
double r2976367 = r2976364 * r2976366;
double r2976368 = r2976361 - r2976367;
double r2976369 = r2976354 * r2976368;
double r2976370 = 0.0;
bool r2976371 = r2976369 <= r2976370;
double r2976372 = r2976353 * r2976355;
double r2976373 = r2976351 * r2976372;
double r2976374 = r2976350 * r2976356;
double r2976375 = r2976365 - r2976353;
double r2976376 = r2976375 * r2976351;
double r2976377 = r2976376 * r2976362;
double r2976378 = r2976374 - r2976377;
double r2976379 = r2976351 * r2976362;
double r2976380 = r2976378 * r2976379;
double r2976381 = -r2976353;
double r2976382 = r2976380 * r2976381;
double r2976383 = r2976373 + r2976382;
double r2976384 = r2976350 * r2976383;
double r2976385 = sqrt(r2976384);
double r2976386 = 9.477739406878279e+303;
bool r2976387 = r2976369 <= r2976386;
double r2976388 = sqrt(r2976369);
double r2976389 = -r2976351;
double r2976390 = r2976362 * r2976389;
double r2976391 = r2976353 * r2976378;
double r2976392 = r2976390 * r2976391;
double r2976393 = r2976355 * r2976351;
double r2976394 = r2976353 * r2976393;
double r2976395 = r2976392 + r2976394;
double r2976396 = r2976350 * r2976395;
double r2976397 = sqrt(r2976396);
double r2976398 = r2976387 ? r2976388 : r2976397;
double r2976399 = r2976371 ? r2976385 : r2976398;
return r2976399;
}



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 (* (* (* 2 n) U) (- (- t (* 2 (/ (* l l) Om))) (* (* n (pow (/ l Om) 2)) (- U U*)))) < 0.0Initial program 56.9
Simplified38.2
rmApplied sub-neg38.2
Applied distribute-lft-in38.2
rmApplied distribute-rgt-neg-in38.2
Applied associate-*r*38.2
rmApplied distribute-rgt-in38.2
rmApplied associate-*l*38.7
if 0.0 < (* (* (* 2 n) U) (- (- t (* 2 (/ (* l l) Om))) (* (* n (pow (/ l Om) 2)) (- U U*)))) < 9.477739406878279e+303Initial program 1.7
if 9.477739406878279e+303 < (* (* (* 2 n) U) (- (- t (* 2 (/ (* l l) Om))) (* (* n (pow (/ l Om) 2)) (- U U*)))) Initial program 60.3
Simplified52.5
rmApplied sub-neg52.5
Applied distribute-lft-in52.5
rmApplied distribute-rgt-neg-in52.5
Applied associate-*r*45.4
rmApplied distribute-rgt-in45.4
rmApplied associate-*l*43.1
Final simplification23.3
herbie shell --seed 2019162
(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*))))))