\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 2.9259008121443 \cdot 10^{-311}:\\
\;\;\;\;\sqrt{U \cdot \left(\left(\left(t - \left(\ell \cdot 2 - \sqrt[3]{\left(U* - U\right) \cdot \left(\left(\sqrt[3]{\ell} \cdot \sqrt[3]{\ell}\right) \cdot \left(\frac{\sqrt[3]{\ell}}{Om} \cdot n\right)\right)} \cdot \left(\sqrt[3]{\left(U* - U\right) \cdot \left(\left(\sqrt[3]{\ell} \cdot \sqrt[3]{\ell}\right) \cdot \left(\frac{\sqrt[3]{\ell}}{Om} \cdot n\right)\right)} \cdot \sqrt[3]{\left(U* - U\right) \cdot \left(\left(\sqrt[3]{\ell} \cdot \sqrt[3]{\ell}\right) \cdot \left(\frac{\sqrt[3]{\ell}}{Om} \cdot n\right)\right)}\right)\right) \cdot \frac{\ell}{Om}\right) \cdot 2\right) \cdot n\right)}\\
\mathbf{else}:\\
\;\;\;\;\sqrt{n \cdot \left(\left(t - \frac{\ell}{Om} \cdot \left(\ell \cdot 2 - \left(U* - U\right) \cdot \left(\left(\sqrt[3]{\ell} \cdot n\right) \cdot \frac{\sqrt[3]{\ell} \cdot \sqrt[3]{\ell}}{Om}\right)\right)\right) \cdot 2\right)} \cdot \sqrt{U}\\
\end{array}double f(double n, double U, double t, double l, double Om, double U_) {
double r1488121 = 2.0;
double r1488122 = n;
double r1488123 = r1488121 * r1488122;
double r1488124 = U;
double r1488125 = r1488123 * r1488124;
double r1488126 = t;
double r1488127 = l;
double r1488128 = r1488127 * r1488127;
double r1488129 = Om;
double r1488130 = r1488128 / r1488129;
double r1488131 = r1488121 * r1488130;
double r1488132 = r1488126 - r1488131;
double r1488133 = r1488127 / r1488129;
double r1488134 = pow(r1488133, r1488121);
double r1488135 = r1488122 * r1488134;
double r1488136 = U_;
double r1488137 = r1488124 - r1488136;
double r1488138 = r1488135 * r1488137;
double r1488139 = r1488132 - r1488138;
double r1488140 = r1488125 * r1488139;
double r1488141 = sqrt(r1488140);
return r1488141;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r1488142 = U;
double r1488143 = 2.9259008121443e-311;
bool r1488144 = r1488142 <= r1488143;
double r1488145 = t;
double r1488146 = l;
double r1488147 = 2.0;
double r1488148 = r1488146 * r1488147;
double r1488149 = U_;
double r1488150 = r1488149 - r1488142;
double r1488151 = cbrt(r1488146);
double r1488152 = r1488151 * r1488151;
double r1488153 = Om;
double r1488154 = r1488151 / r1488153;
double r1488155 = n;
double r1488156 = r1488154 * r1488155;
double r1488157 = r1488152 * r1488156;
double r1488158 = r1488150 * r1488157;
double r1488159 = cbrt(r1488158);
double r1488160 = r1488159 * r1488159;
double r1488161 = r1488159 * r1488160;
double r1488162 = r1488148 - r1488161;
double r1488163 = r1488146 / r1488153;
double r1488164 = r1488162 * r1488163;
double r1488165 = r1488145 - r1488164;
double r1488166 = r1488165 * r1488147;
double r1488167 = r1488166 * r1488155;
double r1488168 = r1488142 * r1488167;
double r1488169 = sqrt(r1488168);
double r1488170 = r1488151 * r1488155;
double r1488171 = r1488152 / r1488153;
double r1488172 = r1488170 * r1488171;
double r1488173 = r1488150 * r1488172;
double r1488174 = r1488148 - r1488173;
double r1488175 = r1488163 * r1488174;
double r1488176 = r1488145 - r1488175;
double r1488177 = r1488176 * r1488147;
double r1488178 = r1488155 * r1488177;
double r1488179 = sqrt(r1488178);
double r1488180 = sqrt(r1488142);
double r1488181 = r1488179 * r1488180;
double r1488182 = r1488144 ? r1488169 : r1488181;
return r1488182;
}



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 < 2.9259008121443e-311Initial program 33.5
Simplified30.0
rmApplied div-inv30.0
Applied add-cube-cbrt30.0
Applied times-frac29.5
Simplified29.5
rmApplied associate-*l*29.6
rmApplied div-inv29.6
Applied associate-*l*29.7
Simplified29.6
rmApplied add-cube-cbrt29.6
if 2.9259008121443e-311 < U Initial program 33.0
Simplified30.1
rmApplied div-inv30.1
Applied add-cube-cbrt30.1
Applied times-frac29.7
Simplified29.7
rmApplied associate-*l*29.1
rmApplied sqrt-prod22.2
Final simplification25.9
herbie shell --seed 2019142
(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*))))))