Average Error: 33.6 → 26.6
Time: 41.8s
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}\;U \le -2.7050839287957 \cdot 10^{-310}:\\ \;\;\;\;\sqrt{\sqrt{\left(2 \cdot U\right) \cdot \left(n \cdot \left(t - \mathsf{fma}\left(\left(\frac{\ell}{Om}\right), \left(2 \cdot \ell\right), \left(\left(\left(\frac{\ell}{Om} \cdot n\right) \cdot \frac{\ell}{Om}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)}} \cdot \sqrt{\sqrt{\left(2 \cdot U\right) \cdot \left(n \cdot \left(t - \mathsf{fma}\left(\left(\frac{\ell}{Om}\right), \left(2 \cdot \ell\right), \left(\left(\left(\frac{\ell}{Om} \cdot n\right) \cdot \frac{\ell}{Om}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\sqrt{\left(t - \mathsf{fma}\left(\left(\frac{\ell}{Om}\right), \left(2 \cdot \ell\right), \left(\left(\frac{\ell}{Om} \cdot n\right) \cdot \left(\left(U - U*\right) \cdot \frac{\ell}{Om}\right)\right)\right)\right) \cdot n} \cdot \sqrt{2 \cdot U}\\ \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}\;U \le -2.7050839287957 \cdot 10^{-310}:\\
\;\;\;\;\sqrt{\sqrt{\left(2 \cdot U\right) \cdot \left(n \cdot \left(t - \mathsf{fma}\left(\left(\frac{\ell}{Om}\right), \left(2 \cdot \ell\right), \left(\left(\left(\frac{\ell}{Om} \cdot n\right) \cdot \frac{\ell}{Om}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)}} \cdot \sqrt{\sqrt{\left(2 \cdot U\right) \cdot \left(n \cdot \left(t - \mathsf{fma}\left(\left(\frac{\ell}{Om}\right), \left(2 \cdot \ell\right), \left(\left(\left(\frac{\ell}{Om} \cdot n\right) \cdot \frac{\ell}{Om}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)}}\\

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

\end{array}
double f(double n, double U, double t, double l, double Om, double U_) {
        double r1638382 = 2.0;
        double r1638383 = n;
        double r1638384 = r1638382 * r1638383;
        double r1638385 = U;
        double r1638386 = r1638384 * r1638385;
        double r1638387 = t;
        double r1638388 = l;
        double r1638389 = r1638388 * r1638388;
        double r1638390 = Om;
        double r1638391 = r1638389 / r1638390;
        double r1638392 = r1638382 * r1638391;
        double r1638393 = r1638387 - r1638392;
        double r1638394 = r1638388 / r1638390;
        double r1638395 = pow(r1638394, r1638382);
        double r1638396 = r1638383 * r1638395;
        double r1638397 = U_;
        double r1638398 = r1638385 - r1638397;
        double r1638399 = r1638396 * r1638398;
        double r1638400 = r1638393 - r1638399;
        double r1638401 = r1638386 * r1638400;
        double r1638402 = sqrt(r1638401);
        return r1638402;
}

double f(double n, double U, double t, double l, double Om, double U_) {
        double r1638403 = U;
        double r1638404 = -2.7050839287957e-310;
        bool r1638405 = r1638403 <= r1638404;
        double r1638406 = 2.0;
        double r1638407 = r1638406 * r1638403;
        double r1638408 = n;
        double r1638409 = t;
        double r1638410 = l;
        double r1638411 = Om;
        double r1638412 = r1638410 / r1638411;
        double r1638413 = r1638406 * r1638410;
        double r1638414 = r1638412 * r1638408;
        double r1638415 = r1638414 * r1638412;
        double r1638416 = U_;
        double r1638417 = r1638403 - r1638416;
        double r1638418 = r1638415 * r1638417;
        double r1638419 = fma(r1638412, r1638413, r1638418);
        double r1638420 = r1638409 - r1638419;
        double r1638421 = r1638408 * r1638420;
        double r1638422 = r1638407 * r1638421;
        double r1638423 = sqrt(r1638422);
        double r1638424 = sqrt(r1638423);
        double r1638425 = r1638424 * r1638424;
        double r1638426 = r1638417 * r1638412;
        double r1638427 = r1638414 * r1638426;
        double r1638428 = fma(r1638412, r1638413, r1638427);
        double r1638429 = r1638409 - r1638428;
        double r1638430 = r1638429 * r1638408;
        double r1638431 = sqrt(r1638430);
        double r1638432 = sqrt(r1638407);
        double r1638433 = r1638431 * r1638432;
        double r1638434 = r1638405 ? r1638425 : r1638433;
        return r1638434;
}

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*

Derivation

  1. Split input into 2 regimes
  2. if U < -2.7050839287957e-310

    1. Initial program 33.7

      \[\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. Simplified31.2

      \[\leadsto \color{blue}{\sqrt{\left(U \cdot 2\right) \cdot \left(n \cdot \left(t - \mathsf{fma}\left(\left(\frac{\ell}{Om}\right), \left(2 \cdot \ell\right), \left(\left(n \cdot \left(\frac{\ell}{Om} \cdot \frac{\ell}{Om}\right)\right) \cdot \left(U - U*\right)\right)\right)\right)\right)}}\]
    3. Using strategy rm
    4. Applied associate-*r*30.0

      \[\leadsto \sqrt{\left(U \cdot 2\right) \cdot \left(n \cdot \left(t - \mathsf{fma}\left(\left(\frac{\ell}{Om}\right), \left(2 \cdot \ell\right), \left(\color{blue}{\left(\left(n \cdot \frac{\ell}{Om}\right) \cdot \frac{\ell}{Om}\right)} \cdot \left(U - U*\right)\right)\right)\right)\right)}\]
    5. Using strategy rm
    6. Applied add-sqr-sqrt30.1

      \[\leadsto \color{blue}{\sqrt{\sqrt{\left(U \cdot 2\right) \cdot \left(n \cdot \left(t - \mathsf{fma}\left(\left(\frac{\ell}{Om}\right), \left(2 \cdot \ell\right), \left(\left(\left(n \cdot \frac{\ell}{Om}\right) \cdot \frac{\ell}{Om}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)}} \cdot \sqrt{\sqrt{\left(U \cdot 2\right) \cdot \left(n \cdot \left(t - \mathsf{fma}\left(\left(\frac{\ell}{Om}\right), \left(2 \cdot \ell\right), \left(\left(\left(n \cdot \frac{\ell}{Om}\right) \cdot \frac{\ell}{Om}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)}}}\]

    if -2.7050839287957e-310 < U

    1. Initial program 33.6

      \[\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. Simplified30.6

      \[\leadsto \color{blue}{\sqrt{\left(U \cdot 2\right) \cdot \left(n \cdot \left(t - \mathsf{fma}\left(\left(\frac{\ell}{Om}\right), \left(2 \cdot \ell\right), \left(\left(n \cdot \left(\frac{\ell}{Om} \cdot \frac{\ell}{Om}\right)\right) \cdot \left(U - U*\right)\right)\right)\right)\right)}}\]
    3. Using strategy rm
    4. Applied associate-*r*29.4

      \[\leadsto \sqrt{\left(U \cdot 2\right) \cdot \left(n \cdot \left(t - \mathsf{fma}\left(\left(\frac{\ell}{Om}\right), \left(2 \cdot \ell\right), \left(\color{blue}{\left(\left(n \cdot \frac{\ell}{Om}\right) \cdot \frac{\ell}{Om}\right)} \cdot \left(U - U*\right)\right)\right)\right)\right)}\]
    5. Using strategy rm
    6. Applied associate-*l*29.7

      \[\leadsto \sqrt{\left(U \cdot 2\right) \cdot \left(n \cdot \left(t - \mathsf{fma}\left(\left(\frac{\ell}{Om}\right), \left(2 \cdot \ell\right), \color{blue}{\left(\left(n \cdot \frac{\ell}{Om}\right) \cdot \left(\frac{\ell}{Om} \cdot \left(U - U*\right)\right)\right)}\right)\right)\right)}\]
    7. Using strategy rm
    8. Applied sqrt-prod23.1

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

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

Reproduce

herbie shell --seed 2019132 +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*))))))