\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 -1.1626446501105 \cdot 10^{-310}:\\
\;\;\;\;\sqrt{\left(2 \cdot U\right) \cdot \left(n \cdot \left(t - \left(\left(2 \cdot \frac{\ell}{Om}\right) \cdot \ell + \left(\frac{\ell}{Om} \cdot \left(\frac{\ell}{Om} \cdot n\right)\right) \cdot \left(U - U*\right)\right)\right)\right)}\\
\mathbf{else}:\\
\;\;\;\;\sqrt{n \cdot \left(t - \left(\left(2 \cdot \frac{\ell}{Om}\right) \cdot \ell + \left(\frac{\ell}{Om} \cdot \left(\frac{\ell}{Om} \cdot n\right)\right) \cdot \left(U - U*\right)\right)\right)} \cdot \sqrt{2 \cdot U}\\
\end{array}double f(double n, double U, double t, double l, double Om, double U_) {
double r909338 = 2.0;
double r909339 = n;
double r909340 = r909338 * r909339;
double r909341 = U;
double r909342 = r909340 * r909341;
double r909343 = t;
double r909344 = l;
double r909345 = r909344 * r909344;
double r909346 = Om;
double r909347 = r909345 / r909346;
double r909348 = r909338 * r909347;
double r909349 = r909343 - r909348;
double r909350 = r909344 / r909346;
double r909351 = pow(r909350, r909338);
double r909352 = r909339 * r909351;
double r909353 = U_;
double r909354 = r909341 - r909353;
double r909355 = r909352 * r909354;
double r909356 = r909349 - r909355;
double r909357 = r909342 * r909356;
double r909358 = sqrt(r909357);
return r909358;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r909359 = U;
double r909360 = -1.1626446501105e-310;
bool r909361 = r909359 <= r909360;
double r909362 = 2.0;
double r909363 = r909362 * r909359;
double r909364 = n;
double r909365 = t;
double r909366 = l;
double r909367 = Om;
double r909368 = r909366 / r909367;
double r909369 = r909362 * r909368;
double r909370 = r909369 * r909366;
double r909371 = r909368 * r909364;
double r909372 = r909368 * r909371;
double r909373 = U_;
double r909374 = r909359 - r909373;
double r909375 = r909372 * r909374;
double r909376 = r909370 + r909375;
double r909377 = r909365 - r909376;
double r909378 = r909364 * r909377;
double r909379 = r909363 * r909378;
double r909380 = sqrt(r909379);
double r909381 = sqrt(r909378);
double r909382 = sqrt(r909363);
double r909383 = r909381 * r909382;
double r909384 = r909361 ? r909380 : r909383;
return r909384;
}



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 U < -1.1626446501105e-310Initial program 33.2
Simplified29.5
rmApplied associate-*r*29.6
rmApplied associate-*l*29.5
if -1.1626446501105e-310 < U Initial program 33.0
Simplified28.9
rmApplied sqrt-prod21.2
Final simplification25.4
herbie shell --seed 2019154
(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*))))))