\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{\left(\left(U \cdot \left(\left(n \cdot \frac{\ell}{Om}\right) \cdot \left(-2 \cdot \ell\right)\right) + \left(n \cdot \frac{\ell}{Om}\right) \cdot \left(\left(\frac{\ell}{Om} \cdot U\right) \cdot \left(\left(U* - U\right) \cdot n\right)\right)\right) + U \cdot \left(t \cdot n\right)\right) \cdot 2}\\
\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{\left(\left(U \cdot \left(\left(n \cdot \frac{\ell}{Om}\right) \cdot \left(-2 \cdot \ell\right)\right) + \left(n \cdot \frac{\ell}{Om}\right) \cdot \left(\left(\frac{\ell}{Om} \cdot U\right) \cdot \left(\left(U* - U\right) \cdot n\right)\right)\right) + U \cdot \left(t \cdot n\right)\right) \cdot 2}\\
\end{array}double f(double n, double U, double t, double l, double Om, double U_) {
double r1749251 = 2.0;
double r1749252 = n;
double r1749253 = r1749251 * r1749252;
double r1749254 = U;
double r1749255 = r1749253 * r1749254;
double r1749256 = t;
double r1749257 = l;
double r1749258 = r1749257 * r1749257;
double r1749259 = Om;
double r1749260 = r1749258 / r1749259;
double r1749261 = r1749251 * r1749260;
double r1749262 = r1749256 - r1749261;
double r1749263 = r1749257 / r1749259;
double r1749264 = pow(r1749263, r1749251);
double r1749265 = r1749252 * r1749264;
double r1749266 = U_;
double r1749267 = r1749254 - r1749266;
double r1749268 = r1749265 * r1749267;
double r1749269 = r1749262 - r1749268;
double r1749270 = r1749255 * r1749269;
double r1749271 = sqrt(r1749270);
return r1749271;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r1749272 = 2.0;
double r1749273 = n;
double r1749274 = r1749272 * r1749273;
double r1749275 = U;
double r1749276 = r1749274 * r1749275;
double r1749277 = t;
double r1749278 = l;
double r1749279 = r1749278 * r1749278;
double r1749280 = Om;
double r1749281 = r1749279 / r1749280;
double r1749282 = r1749281 * r1749272;
double r1749283 = r1749277 - r1749282;
double r1749284 = r1749278 / r1749280;
double r1749285 = pow(r1749284, r1749272);
double r1749286 = r1749273 * r1749285;
double r1749287 = U_;
double r1749288 = r1749275 - r1749287;
double r1749289 = r1749286 * r1749288;
double r1749290 = r1749283 - r1749289;
double r1749291 = r1749276 * r1749290;
double r1749292 = 0.0;
bool r1749293 = r1749291 <= r1749292;
double r1749294 = r1749273 * r1749284;
double r1749295 = -2.0;
double r1749296 = r1749295 * r1749278;
double r1749297 = r1749294 * r1749296;
double r1749298 = r1749275 * r1749297;
double r1749299 = r1749284 * r1749275;
double r1749300 = r1749287 - r1749275;
double r1749301 = r1749300 * r1749273;
double r1749302 = r1749299 * r1749301;
double r1749303 = r1749294 * r1749302;
double r1749304 = r1749298 + r1749303;
double r1749305 = r1749277 * r1749273;
double r1749306 = r1749275 * r1749305;
double r1749307 = r1749304 + r1749306;
double r1749308 = r1749307 * r1749272;
double r1749309 = sqrt(r1749308);
double r1749310 = 9.477739406878279e+303;
bool r1749311 = r1749291 <= r1749310;
double r1749312 = sqrt(r1749291);
double r1749313 = r1749311 ? r1749312 : r1749309;
double r1749314 = r1749293 ? r1749309 : r1749313;
return r1749314;
}



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.0 or 9.477739406878279e+303 < (* (* (* 2 n) U) (- (- t (* 2 (/ (* l l) Om))) (* (* n (pow (/ l Om) 2)) (- U U*)))) Initial program 59.3
Simplified48.0
rmApplied sub-neg48.0
Applied distribute-lft-in48.0
rmApplied distribute-rgt-neg-in48.0
Applied associate-*r*43.2
rmApplied distribute-lft-in43.2
rmApplied sub-neg43.2
Applied distribute-neg-in43.2
Applied distribute-lft-in43.2
Applied distribute-rgt-in43.2
Simplified42.6
if 0.0 < (* (* (* 2 n) U) (- (- t (* 2 (/ (* l l) Om))) (* (* n (pow (/ l Om) 2)) (- U U*)))) < 9.477739406878279e+303Initial program 1.7
Final simplification23.8
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*))))))