\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}\;\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 6.108446529047814 \cdot 10^{-226}:\\
\;\;\;\;{\left(\left(t \cdot n + \left(2 \cdot \ell - \left(U - U*\right) \cdot \frac{\left(-n\right) \cdot \ell}{Om}\right) \cdot \frac{\left(-n\right) \cdot \ell}{Om}\right) \cdot \left(U \cdot 2\right)\right)}^{\frac{1}{2}}\\
\mathbf{elif}\;\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 1.0427927580921139 \cdot 10^{+304}:\\
\;\;\;\;\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)}\\
\mathbf{else}:\\
\;\;\;\;{\left(\left(t \cdot n + \left(n \cdot \left(2 \cdot \ell - \left(n \cdot \left(-\frac{\ell}{Om}\right)\right) \cdot \left(U - U*\right)\right)\right) \cdot \left(-\frac{\ell}{Om}\right)\right) \cdot \left(U \cdot 2\right)\right)}^{\frac{1}{2}}\\
\end{array}double f(double n, double U, double t, double l, double Om, double U_) {
double r1813153 = 2.0;
double r1813154 = n;
double r1813155 = r1813153 * r1813154;
double r1813156 = U;
double r1813157 = r1813155 * r1813156;
double r1813158 = t;
double r1813159 = l;
double r1813160 = r1813159 * r1813159;
double r1813161 = Om;
double r1813162 = r1813160 / r1813161;
double r1813163 = r1813153 * r1813162;
double r1813164 = r1813158 - r1813163;
double r1813165 = r1813159 / r1813161;
double r1813166 = pow(r1813165, r1813153);
double r1813167 = r1813154 * r1813166;
double r1813168 = U_;
double r1813169 = r1813156 - r1813168;
double r1813170 = r1813167 * r1813169;
double r1813171 = r1813164 - r1813170;
double r1813172 = r1813157 * r1813171;
double r1813173 = sqrt(r1813172);
return r1813173;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r1813174 = 2.0;
double r1813175 = n;
double r1813176 = r1813174 * r1813175;
double r1813177 = U;
double r1813178 = r1813176 * r1813177;
double r1813179 = t;
double r1813180 = l;
double r1813181 = r1813180 * r1813180;
double r1813182 = Om;
double r1813183 = r1813181 / r1813182;
double r1813184 = r1813183 * r1813174;
double r1813185 = r1813179 - r1813184;
double r1813186 = r1813180 / r1813182;
double r1813187 = pow(r1813186, r1813174);
double r1813188 = r1813175 * r1813187;
double r1813189 = U_;
double r1813190 = r1813177 - r1813189;
double r1813191 = r1813188 * r1813190;
double r1813192 = r1813185 - r1813191;
double r1813193 = r1813178 * r1813192;
double r1813194 = 6.108446529047814e-226;
bool r1813195 = r1813193 <= r1813194;
double r1813196 = r1813179 * r1813175;
double r1813197 = r1813174 * r1813180;
double r1813198 = -r1813175;
double r1813199 = r1813198 * r1813180;
double r1813200 = r1813199 / r1813182;
double r1813201 = r1813190 * r1813200;
double r1813202 = r1813197 - r1813201;
double r1813203 = r1813202 * r1813200;
double r1813204 = r1813196 + r1813203;
double r1813205 = r1813177 * r1813174;
double r1813206 = r1813204 * r1813205;
double r1813207 = 0.5;
double r1813208 = pow(r1813206, r1813207);
double r1813209 = 1.0427927580921139e+304;
bool r1813210 = r1813193 <= r1813209;
double r1813211 = sqrt(r1813193);
double r1813212 = -r1813186;
double r1813213 = r1813175 * r1813212;
double r1813214 = r1813213 * r1813190;
double r1813215 = r1813197 - r1813214;
double r1813216 = r1813175 * r1813215;
double r1813217 = r1813216 * r1813212;
double r1813218 = r1813196 + r1813217;
double r1813219 = r1813218 * r1813205;
double r1813220 = pow(r1813219, r1813207);
double r1813221 = r1813210 ? r1813211 : r1813220;
double r1813222 = r1813195 ? r1813208 : r1813221;
return r1813222;
}



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 (* (* (* 2 n) U) (- (- t (* 2 (/ (* l l) Om))) (* (* n (pow (/ l Om) 2)) (- U U*)))) < 6.108446529047814e-226Initial program 46.6
Simplified33.5
rmApplied sub-neg33.5
Applied distribute-rgt-in33.5
Simplified31.9
rmApplied associate-*r*33.0
rmApplied pow1/233.0
rmApplied *-un-lft-identity33.0
Applied pow-unpow33.0
Simplified32.6
if 6.108446529047814e-226 < (* (* (* 2 n) U) (- (- t (* 2 (/ (* l l) Om))) (* (* n (pow (/ l Om) 2)) (- U U*)))) < 1.0427927580921139e+304Initial program 1.4
if 1.0427927580921139e+304 < (* (* (* 2 n) U) (- (- t (* 2 (/ (* l l) Om))) (* (* n (pow (/ l Om) 2)) (- U U*)))) Initial program 60.4
Simplified52.2
rmApplied sub-neg52.2
Applied distribute-rgt-in52.2
Simplified51.0
rmApplied associate-*r*43.1
rmApplied pow1/243.1
Final simplification24.0
herbie shell --seed 2019133
(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*))))))