Average Error: 33.9 → 27.1
Time: 2.4m
Precision: 64
\[\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 1.48807212119155 \cdot 10^{-310}:\\ \;\;\;\;\sqrt{2 \cdot \left(n \cdot \left(U \cdot \left(\left(t - 2 \cdot \left(\ell \cdot \frac{\ell}{Om}\right)\right) - \left({\left(\frac{\ell}{Om}\right)}^{2} \cdot n\right) \cdot \left(U - U*\right)\right)\right)\right)}\\ \mathbf{else}:\\ \;\;\;\;\sqrt{U \cdot \left(-2 \cdot \left(\ell \cdot \frac{\ell}{Om}\right) - \left(n \cdot \frac{\ell}{Om}\right) \cdot \left(\left(U - U*\right) \cdot \frac{\ell}{Om}\right)\right) + U \cdot t} \cdot \sqrt{2 \cdot n}\\ \end{array}\]
\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 1.48807212119155 \cdot 10^{-310}:\\
\;\;\;\;\sqrt{2 \cdot \left(n \cdot \left(U \cdot \left(\left(t - 2 \cdot \left(\ell \cdot \frac{\ell}{Om}\right)\right) - \left({\left(\frac{\ell}{Om}\right)}^{2} \cdot n\right) \cdot \left(U - U*\right)\right)\right)\right)}\\

\mathbf{else}:\\
\;\;\;\;\sqrt{U \cdot \left(-2 \cdot \left(\ell \cdot \frac{\ell}{Om}\right) - \left(n \cdot \frac{\ell}{Om}\right) \cdot \left(\left(U - U*\right) \cdot \frac{\ell}{Om}\right)\right) + U \cdot t} \cdot \sqrt{2 \cdot n}\\

\end{array}
double f(double n, double U, double t, double l, double Om, double U_) {
        double r15212216 = 2.0;
        double r15212217 = n;
        double r15212218 = r15212216 * r15212217;
        double r15212219 = U;
        double r15212220 = r15212218 * r15212219;
        double r15212221 = t;
        double r15212222 = l;
        double r15212223 = r15212222 * r15212222;
        double r15212224 = Om;
        double r15212225 = r15212223 / r15212224;
        double r15212226 = r15212216 * r15212225;
        double r15212227 = r15212221 - r15212226;
        double r15212228 = r15212222 / r15212224;
        double r15212229 = pow(r15212228, r15212216);
        double r15212230 = r15212217 * r15212229;
        double r15212231 = U_;
        double r15212232 = r15212219 - r15212231;
        double r15212233 = r15212230 * r15212232;
        double r15212234 = r15212227 - r15212233;
        double r15212235 = r15212220 * r15212234;
        double r15212236 = sqrt(r15212235);
        return r15212236;
}

double f(double n, double U, double t, double l, double Om, double U_) {
        double r15212237 = n;
        double r15212238 = 1.48807212119155e-310;
        bool r15212239 = r15212237 <= r15212238;
        double r15212240 = 2.0;
        double r15212241 = U;
        double r15212242 = t;
        double r15212243 = l;
        double r15212244 = Om;
        double r15212245 = r15212243 / r15212244;
        double r15212246 = r15212243 * r15212245;
        double r15212247 = r15212240 * r15212246;
        double r15212248 = r15212242 - r15212247;
        double r15212249 = pow(r15212245, r15212240);
        double r15212250 = r15212249 * r15212237;
        double r15212251 = U_;
        double r15212252 = r15212241 - r15212251;
        double r15212253 = r15212250 * r15212252;
        double r15212254 = r15212248 - r15212253;
        double r15212255 = r15212241 * r15212254;
        double r15212256 = r15212237 * r15212255;
        double r15212257 = r15212240 * r15212256;
        double r15212258 = sqrt(r15212257);
        double r15212259 = -2.0;
        double r15212260 = r15212259 * r15212246;
        double r15212261 = r15212237 * r15212245;
        double r15212262 = r15212252 * r15212245;
        double r15212263 = r15212261 * r15212262;
        double r15212264 = r15212260 - r15212263;
        double r15212265 = r15212241 * r15212264;
        double r15212266 = r15212241 * r15212242;
        double r15212267 = r15212265 + r15212266;
        double r15212268 = sqrt(r15212267);
        double r15212269 = r15212240 * r15212237;
        double r15212270 = sqrt(r15212269);
        double r15212271 = r15212268 * r15212270;
        double r15212272 = r15212239 ? r15212258 : r15212271;
        return r15212272;
}

Error

Bits error versus n

Bits error versus U

Bits error versus t

Bits error versus l

Bits error versus Om

Bits error versus U*

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Split input into 2 regimes
  2. if n < 1.48807212119155e-310

    1. Initial program 34.0

      \[\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)}\]
    2. Using strategy rm
    3. Applied *-un-lft-identity34.0

      \[\leadsto \sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{\color{blue}{1 \cdot Om}}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)}\]
    4. Applied times-frac31.4

      \[\leadsto \sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \color{blue}{\left(\frac{\ell}{1} \cdot \frac{\ell}{Om}\right)}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)}\]
    5. Simplified31.4

      \[\leadsto \sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \left(\color{blue}{\ell} \cdot \frac{\ell}{Om}\right)\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)}\]
    6. Using strategy rm
    7. Applied associate-*l*31.1

      \[\leadsto \sqrt{\color{blue}{\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)}^{2}\right) \cdot \left(U - U*\right)\right)\right)}}\]
    8. Using strategy rm
    9. Applied associate-*l*31.2

      \[\leadsto \sqrt{\color{blue}{2 \cdot \left(n \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)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)}}\]

    if 1.48807212119155e-310 < n

    1. Initial program 33.8

      \[\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)}\]
    2. Using strategy rm
    3. Applied *-un-lft-identity33.8

      \[\leadsto \sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{\color{blue}{1 \cdot Om}}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)}\]
    4. Applied times-frac31.3

      \[\leadsto \sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \color{blue}{\left(\frac{\ell}{1} \cdot \frac{\ell}{Om}\right)}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)}\]
    5. Simplified31.3

      \[\leadsto \sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \left(\color{blue}{\ell} \cdot \frac{\ell}{Om}\right)\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)}\]
    6. Using strategy rm
    7. Applied associate-*l*31.7

      \[\leadsto \sqrt{\color{blue}{\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)}^{2}\right) \cdot \left(U - U*\right)\right)\right)}}\]
    8. Using strategy rm
    9. Applied sub-neg31.7

      \[\leadsto \sqrt{\left(2 \cdot n\right) \cdot \left(U \cdot \left(\color{blue}{\left(t + \left(-2 \cdot \left(\ell \cdot \frac{\ell}{Om}\right)\right)\right)} - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)}\]
    10. Applied associate--l+31.7

      \[\leadsto \sqrt{\left(2 \cdot n\right) \cdot \left(U \cdot \color{blue}{\left(t + \left(\left(-2 \cdot \left(\ell \cdot \frac{\ell}{Om}\right)\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)}\right)}\]
    11. Applied distribute-lft-in31.7

      \[\leadsto \sqrt{\left(2 \cdot n\right) \cdot \color{blue}{\left(U \cdot t + U \cdot \left(\left(-2 \cdot \left(\ell \cdot \frac{\ell}{Om}\right)\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)}}\]
    12. Simplified30.3

      \[\leadsto \sqrt{\left(2 \cdot n\right) \cdot \left(U \cdot t + \color{blue}{U \cdot \left(-2 \cdot \left(\frac{\ell}{Om} \cdot \ell\right) - \left(\frac{\ell}{Om} \cdot \left(U - U*\right)\right) \cdot \left(\frac{\ell}{Om} \cdot n\right)\right)}\right)}\]
    13. Using strategy rm
    14. Applied sqrt-prod23.0

      \[\leadsto \color{blue}{\sqrt{2 \cdot n} \cdot \sqrt{U \cdot t + U \cdot \left(-2 \cdot \left(\frac{\ell}{Om} \cdot \ell\right) - \left(\frac{\ell}{Om} \cdot \left(U - U*\right)\right) \cdot \left(\frac{\ell}{Om} \cdot n\right)\right)}}\]
  3. Recombined 2 regimes into one program.
  4. Final simplification27.1

    \[\leadsto \begin{array}{l} \mathbf{if}\;n \le 1.48807212119155 \cdot 10^{-310}:\\ \;\;\;\;\sqrt{2 \cdot \left(n \cdot \left(U \cdot \left(\left(t - 2 \cdot \left(\ell \cdot \frac{\ell}{Om}\right)\right) - \left({\left(\frac{\ell}{Om}\right)}^{2} \cdot n\right) \cdot \left(U - U*\right)\right)\right)\right)}\\ \mathbf{else}:\\ \;\;\;\;\sqrt{U \cdot \left(-2 \cdot \left(\ell \cdot \frac{\ell}{Om}\right) - \left(n \cdot \frac{\ell}{Om}\right) \cdot \left(\left(U - U*\right) \cdot \frac{\ell}{Om}\right)\right) + U \cdot t} \cdot \sqrt{2 \cdot n}\\ \end{array}\]

Reproduce

herbie shell --seed 2019121 +o rules:numerics
(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*))))))