\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}\;n \le 4.434459884563752 \cdot 10^{-310}:\\
\;\;\;\;\sqrt{\left(2 \cdot n\right) \cdot \left(U \cdot \left(\left(t - 2 \cdot \left(\ell \cdot \frac{\ell}{Om}\right)\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)}\right) \cdot \left({\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)} \cdot \left(U - U*\right)\right)\right)\right)}\\
\mathbf{else}:\\
\;\;\;\;\sqrt{2 \cdot n} \cdot \sqrt{U \cdot \left(\left(t - 2 \cdot \left(\ell \cdot \frac{\ell}{Om}\right)\right) - \left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)}\right) \cdot {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)}\right) \cdot \left(U - U*\right)\right)}\\
\end{array}double f(double n, double U, double t, double l, double Om, double U_) {
double r170091 = 2.0;
double r170092 = n;
double r170093 = r170091 * r170092;
double r170094 = U;
double r170095 = r170093 * r170094;
double r170096 = t;
double r170097 = l;
double r170098 = r170097 * r170097;
double r170099 = Om;
double r170100 = r170098 / r170099;
double r170101 = r170091 * r170100;
double r170102 = r170096 - r170101;
double r170103 = r170097 / r170099;
double r170104 = pow(r170103, r170091);
double r170105 = r170092 * r170104;
double r170106 = U_;
double r170107 = r170094 - r170106;
double r170108 = r170105 * r170107;
double r170109 = r170102 - r170108;
double r170110 = r170095 * r170109;
double r170111 = sqrt(r170110);
return r170111;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r170112 = n;
double r170113 = 4.43445988456375e-310;
bool r170114 = r170112 <= r170113;
double r170115 = 2.0;
double r170116 = r170115 * r170112;
double r170117 = U;
double r170118 = t;
double r170119 = l;
double r170120 = Om;
double r170121 = r170119 / r170120;
double r170122 = r170119 * r170121;
double r170123 = r170115 * r170122;
double r170124 = r170118 - r170123;
double r170125 = 2.0;
double r170126 = r170115 / r170125;
double r170127 = pow(r170121, r170126);
double r170128 = r170112 * r170127;
double r170129 = U_;
double r170130 = r170117 - r170129;
double r170131 = r170127 * r170130;
double r170132 = r170128 * r170131;
double r170133 = r170124 - r170132;
double r170134 = r170117 * r170133;
double r170135 = r170116 * r170134;
double r170136 = sqrt(r170135);
double r170137 = sqrt(r170116);
double r170138 = r170128 * r170127;
double r170139 = r170138 * r170130;
double r170140 = r170124 - r170139;
double r170141 = r170117 * r170140;
double r170142 = sqrt(r170141);
double r170143 = r170137 * r170142;
double r170144 = r170114 ? r170136 : r170143;
return r170144;
}



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 n < 4.43445988456375e-310Initial program 33.7
rmApplied *-un-lft-identity33.7
Applied times-frac31.5
Simplified31.5
rmApplied associate-*l*31.5
rmApplied sqr-pow31.5
Applied associate-*r*30.4
rmApplied associate-*l*30.1
if 4.43445988456375e-310 < n Initial program 35.5
rmApplied *-un-lft-identity35.5
Applied times-frac32.5
Simplified32.5
rmApplied associate-*l*33.3
rmApplied sqr-pow33.3
Applied associate-*r*32.1
rmApplied sqrt-prod25.0
Final simplification27.5
herbie shell --seed 2020064 +o rules:numerics
(FPCore (n U t l Om U*)
:name "Toniolo and Linder, Equation (13)"
:precision binary64
(sqrt (* (* (* 2 n) U) (- (- t (* 2 (/ (* l l) Om))) (* (* n (pow (/ l Om) 2)) (- U U*))))))