\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 -3.31877888745056957 \cdot 10^{-308}:\\
\;\;\;\;\sqrt{\left(2 \cdot n\right) \cdot \left(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)\right)}\\
\mathbf{elif}\;n \le 9.65913640260894404 \cdot 10^{-205}:\\
\;\;\;\;\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)}\\
\mathbf{elif}\;n \le 1.62991983248333607 \cdot 10^{-165}:\\
\;\;\;\;\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \left(\ell \cdot \frac{\ell}{Om}\right)\right) - 0\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 r220189 = 2.0;
double r220190 = n;
double r220191 = r220189 * r220190;
double r220192 = U;
double r220193 = r220191 * r220192;
double r220194 = t;
double r220195 = l;
double r220196 = r220195 * r220195;
double r220197 = Om;
double r220198 = r220196 / r220197;
double r220199 = r220189 * r220198;
double r220200 = r220194 - r220199;
double r220201 = r220195 / r220197;
double r220202 = pow(r220201, r220189);
double r220203 = r220190 * r220202;
double r220204 = U_;
double r220205 = r220192 - r220204;
double r220206 = r220203 * r220205;
double r220207 = r220200 - r220206;
double r220208 = r220193 * r220207;
double r220209 = sqrt(r220208);
return r220209;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r220210 = n;
double r220211 = -3.3187788874505696e-308;
bool r220212 = r220210 <= r220211;
double r220213 = 2.0;
double r220214 = r220213 * r220210;
double r220215 = U;
double r220216 = t;
double r220217 = l;
double r220218 = Om;
double r220219 = r220217 / r220218;
double r220220 = r220217 * r220219;
double r220221 = r220213 * r220220;
double r220222 = r220216 - r220221;
double r220223 = 2.0;
double r220224 = r220213 / r220223;
double r220225 = pow(r220219, r220224);
double r220226 = r220210 * r220225;
double r220227 = r220226 * r220225;
double r220228 = U_;
double r220229 = r220215 - r220228;
double r220230 = r220227 * r220229;
double r220231 = r220222 - r220230;
double r220232 = r220215 * r220231;
double r220233 = r220214 * r220232;
double r220234 = sqrt(r220233);
double r220235 = 9.659136402608944e-205;
bool r220236 = r220210 <= r220235;
double r220237 = sqrt(r220214);
double r220238 = sqrt(r220232);
double r220239 = r220237 * r220238;
double r220240 = 1.629919832483336e-165;
bool r220241 = r220210 <= r220240;
double r220242 = r220214 * r220215;
double r220243 = 0.0;
double r220244 = r220222 - r220243;
double r220245 = r220242 * r220244;
double r220246 = sqrt(r220245);
double r220247 = r220241 ? r220246 : r220239;
double r220248 = r220236 ? r220239 : r220247;
double r220249 = r220212 ? r220234 : r220248;
return r220249;
}



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 < -3.3187788874505696e-308Initial program 34.7
rmApplied *-un-lft-identity34.7
Applied times-frac32.1
Simplified32.1
rmApplied associate-*l*32.1
rmApplied sqr-pow32.1
Applied associate-*r*31.0
if -3.3187788874505696e-308 < n < 9.659136402608944e-205 or 1.629919832483336e-165 < n Initial program 34.8
rmApplied *-un-lft-identity34.8
Applied times-frac32.5
Simplified32.5
rmApplied associate-*l*32.4
rmApplied sqr-pow32.4
Applied associate-*r*31.5
rmApplied sqrt-prod24.3
if 9.659136402608944e-205 < n < 1.629919832483336e-165Initial program 34.5
rmApplied *-un-lft-identity34.5
Applied times-frac31.5
Simplified31.5
Taylor expanded around 0 32.9
Final simplification28.0
herbie shell --seed 2020059 +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*))))))