\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}\;t \le 9.680598668789347 \cdot 10^{+126}:\\
\;\;\;\;\sqrt{\sqrt{2 \cdot \left(\left(\left(n \cdot \frac{\ell}{Om}\right) \cdot U\right) \cdot \left(\ell \cdot -2 - \left(n \cdot \frac{\ell}{Om}\right) \cdot \left(U - U*\right)\right)\right) + \left(\left(2 \cdot n\right) \cdot U\right) \cdot t}} \cdot \sqrt{\sqrt{2 \cdot \left(\left(\left(n \cdot \frac{\ell}{Om}\right) \cdot U\right) \cdot \left(\ell \cdot -2 - \left(n \cdot \frac{\ell}{Om}\right) \cdot \left(U - U*\right)\right)\right) + \left(\left(2 \cdot n\right) \cdot U\right) \cdot t}}\\
\mathbf{else}:\\
\;\;\;\;\sqrt{\left(2 \cdot n\right) \cdot U} \cdot \sqrt{\left(t - \frac{\ell \cdot \ell}{Om} \cdot 2\right) - \left(U - U*\right) \cdot \left({\left(\frac{\ell}{Om}\right)}^{2} \cdot n\right)}\\
\end{array}double f(double n, double U, double t, double l, double Om, double U_) {
double r7779003 = 2.0;
double r7779004 = n;
double r7779005 = r7779003 * r7779004;
double r7779006 = U;
double r7779007 = r7779005 * r7779006;
double r7779008 = t;
double r7779009 = l;
double r7779010 = r7779009 * r7779009;
double r7779011 = Om;
double r7779012 = r7779010 / r7779011;
double r7779013 = r7779003 * r7779012;
double r7779014 = r7779008 - r7779013;
double r7779015 = r7779009 / r7779011;
double r7779016 = pow(r7779015, r7779003);
double r7779017 = r7779004 * r7779016;
double r7779018 = U_;
double r7779019 = r7779006 - r7779018;
double r7779020 = r7779017 * r7779019;
double r7779021 = r7779014 - r7779020;
double r7779022 = r7779007 * r7779021;
double r7779023 = sqrt(r7779022);
return r7779023;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r7779024 = t;
double r7779025 = 9.680598668789347e+126;
bool r7779026 = r7779024 <= r7779025;
double r7779027 = 2.0;
double r7779028 = n;
double r7779029 = l;
double r7779030 = Om;
double r7779031 = r7779029 / r7779030;
double r7779032 = r7779028 * r7779031;
double r7779033 = U;
double r7779034 = r7779032 * r7779033;
double r7779035 = -2.0;
double r7779036 = r7779029 * r7779035;
double r7779037 = U_;
double r7779038 = r7779033 - r7779037;
double r7779039 = r7779032 * r7779038;
double r7779040 = r7779036 - r7779039;
double r7779041 = r7779034 * r7779040;
double r7779042 = r7779027 * r7779041;
double r7779043 = r7779027 * r7779028;
double r7779044 = r7779043 * r7779033;
double r7779045 = r7779044 * r7779024;
double r7779046 = r7779042 + r7779045;
double r7779047 = sqrt(r7779046);
double r7779048 = sqrt(r7779047);
double r7779049 = r7779048 * r7779048;
double r7779050 = sqrt(r7779044);
double r7779051 = r7779029 * r7779029;
double r7779052 = r7779051 / r7779030;
double r7779053 = r7779052 * r7779027;
double r7779054 = r7779024 - r7779053;
double r7779055 = pow(r7779031, r7779027);
double r7779056 = r7779055 * r7779028;
double r7779057 = r7779038 * r7779056;
double r7779058 = r7779054 - r7779057;
double r7779059 = sqrt(r7779058);
double r7779060 = r7779050 * r7779059;
double r7779061 = r7779026 ? r7779049 : r7779060;
return r7779061;
}



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 t < 9.680598668789347e+126Initial program 32.8
rmApplied *-un-lft-identity32.8
Applied associate-*r*32.8
Simplified28.6
rmApplied sub-neg28.6
Applied distribute-rgt-in28.6
Simplified24.9
rmApplied add-sqr-sqrt25.1
if 9.680598668789347e+126 < t Initial program 35.6
rmApplied sqrt-prod26.0
Final simplification25.2
herbie shell --seed 2019104
(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*))))))