\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 9.396757433575657 \cdot 10^{-152}:\\
\;\;\;\;\sqrt{2 \cdot \left(U \cdot \left(\sqrt[3]{n \cdot \left(t - \left(2 \cdot \ell - \frac{\ell}{Om} \cdot \left(n \cdot \left(U* - U\right)\right)\right) \cdot \frac{\ell}{Om}\right)} \cdot \left(\sqrt[3]{n \cdot \left(t - \left(2 \cdot \ell - \frac{\ell}{Om} \cdot \left(n \cdot \left(U* - U\right)\right)\right) \cdot \frac{\ell}{Om}\right)} \cdot \sqrt[3]{n \cdot \left(t - \left(2 \cdot \ell - \frac{\ell}{Om} \cdot \left(n \cdot \left(U* - U\right)\right)\right) \cdot \frac{\ell}{Om}\right)}\right)\right)\right)}\\
\mathbf{else}:\\
\;\;\;\;\sqrt{2 \cdot \left(\left(U \cdot \left(n \cdot \frac{\ell}{Om}\right)\right) \cdot \left(-\left(2 \cdot \ell - \left(n \cdot \frac{\ell}{Om}\right) \cdot \left(U* - U\right)\right)\right) + t \cdot \left(U \cdot n\right)\right)}\\
\end{array}double f(double n, double U, double t, double l, double Om, double U_) {
double r3044442 = 2.0;
double r3044443 = n;
double r3044444 = r3044442 * r3044443;
double r3044445 = U;
double r3044446 = r3044444 * r3044445;
double r3044447 = t;
double r3044448 = l;
double r3044449 = r3044448 * r3044448;
double r3044450 = Om;
double r3044451 = r3044449 / r3044450;
double r3044452 = r3044442 * r3044451;
double r3044453 = r3044447 - r3044452;
double r3044454 = r3044448 / r3044450;
double r3044455 = pow(r3044454, r3044442);
double r3044456 = r3044443 * r3044455;
double r3044457 = U_;
double r3044458 = r3044445 - r3044457;
double r3044459 = r3044456 * r3044458;
double r3044460 = r3044453 - r3044459;
double r3044461 = r3044446 * r3044460;
double r3044462 = sqrt(r3044461);
return r3044462;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r3044463 = 2.0;
double r3044464 = n;
double r3044465 = r3044463 * r3044464;
double r3044466 = U;
double r3044467 = r3044465 * r3044466;
double r3044468 = t;
double r3044469 = l;
double r3044470 = r3044469 * r3044469;
double r3044471 = Om;
double r3044472 = r3044470 / r3044471;
double r3044473 = r3044472 * r3044463;
double r3044474 = r3044468 - r3044473;
double r3044475 = r3044469 / r3044471;
double r3044476 = pow(r3044475, r3044463);
double r3044477 = r3044464 * r3044476;
double r3044478 = U_;
double r3044479 = r3044466 - r3044478;
double r3044480 = r3044477 * r3044479;
double r3044481 = r3044474 - r3044480;
double r3044482 = r3044467 * r3044481;
double r3044483 = sqrt(r3044482);
double r3044484 = 9.396757433575657e-152;
bool r3044485 = r3044483 <= r3044484;
double r3044486 = r3044463 * r3044469;
double r3044487 = r3044478 - r3044466;
double r3044488 = r3044464 * r3044487;
double r3044489 = r3044475 * r3044488;
double r3044490 = r3044486 - r3044489;
double r3044491 = r3044490 * r3044475;
double r3044492 = r3044468 - r3044491;
double r3044493 = r3044464 * r3044492;
double r3044494 = cbrt(r3044493);
double r3044495 = r3044494 * r3044494;
double r3044496 = r3044494 * r3044495;
double r3044497 = r3044466 * r3044496;
double r3044498 = r3044463 * r3044497;
double r3044499 = sqrt(r3044498);
double r3044500 = r3044464 * r3044475;
double r3044501 = r3044466 * r3044500;
double r3044502 = r3044500 * r3044487;
double r3044503 = r3044486 - r3044502;
double r3044504 = -r3044503;
double r3044505 = r3044501 * r3044504;
double r3044506 = r3044466 * r3044464;
double r3044507 = r3044468 * r3044506;
double r3044508 = r3044505 + r3044507;
double r3044509 = r3044463 * r3044508;
double r3044510 = sqrt(r3044509);
double r3044511 = r3044485 ? r3044499 : r3044510;
return r3044511;
}



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*))))) < 9.396757433575657e-152Initial program 55.0
Simplified39.3
rmApplied add-cube-cbrt39.5
if 9.396757433575657e-152 < (sqrt (* (* (* 2 n) U) (- (- t (* 2 (/ (* l l) Om))) (* (* n (pow (/ l Om) 2)) (- U U*))))) Initial program 29.5
Simplified30.3
rmApplied associate-*r*27.3
Taylor expanded around 0 28.4
Simplified25.9
rmApplied sub-neg25.9
Applied distribute-rgt-in25.9
Simplified22.8
rmApplied associate-*r*20.5
Final simplification23.6
herbie shell --seed 2019158
(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*))))))