Average Error: 43.4 → 10.1
Time: 29.2s
Precision: 64
\[\frac{\sqrt{2} \cdot t}{\sqrt{\frac{x + 1}{x - 1} \cdot \left(\ell \cdot \ell + 2 \cdot \left(t \cdot t\right)\right) - \ell \cdot \ell}}\]
\[\begin{array}{l} \mathbf{if}\;t \le -1.922123040950101526776925110190092589123 \cdot 10^{-18}:\\ \;\;\;\;\frac{\sqrt{2} \cdot t}{\left(2 \cdot \left(\frac{t}{{\left(\sqrt{2}\right)}^{3} \cdot {x}^{2}} - \frac{t}{\sqrt{2} \cdot {x}^{2}}\right) - 2 \cdot \frac{t}{\sqrt{2} \cdot x}\right) - t \cdot \sqrt{2}}\\ \mathbf{elif}\;t \le 4568115772869941922171560669274498400256:\\ \;\;\;\;\frac{\sqrt{2} \cdot t}{\sqrt{4 \cdot \frac{{t}^{2}}{x} + \left(\frac{\ell}{\frac{x}{\ell}} + t \cdot t\right) \cdot 2}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\sqrt{2} \cdot t}{2 \cdot \left(\frac{t}{\sqrt{2} \cdot {x}^{2}} + \frac{t}{\sqrt{2} \cdot x}\right) + \left(t \cdot \sqrt{2} - 2 \cdot \frac{t}{{\left(\sqrt{2}\right)}^{3} \cdot {x}^{2}}\right)}\\ \end{array}\]
\frac{\sqrt{2} \cdot t}{\sqrt{\frac{x + 1}{x - 1} \cdot \left(\ell \cdot \ell + 2 \cdot \left(t \cdot t\right)\right) - \ell \cdot \ell}}
\begin{array}{l}
\mathbf{if}\;t \le -1.922123040950101526776925110190092589123 \cdot 10^{-18}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\left(2 \cdot \left(\frac{t}{{\left(\sqrt{2}\right)}^{3} \cdot {x}^{2}} - \frac{t}{\sqrt{2} \cdot {x}^{2}}\right) - 2 \cdot \frac{t}{\sqrt{2} \cdot x}\right) - t \cdot \sqrt{2}}\\

\mathbf{elif}\;t \le 4568115772869941922171560669274498400256:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\sqrt{4 \cdot \frac{{t}^{2}}{x} + \left(\frac{\ell}{\frac{x}{\ell}} + t \cdot t\right) \cdot 2}}\\

\mathbf{else}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{2 \cdot \left(\frac{t}{\sqrt{2} \cdot {x}^{2}} + \frac{t}{\sqrt{2} \cdot x}\right) + \left(t \cdot \sqrt{2} - 2 \cdot \frac{t}{{\left(\sqrt{2}\right)}^{3} \cdot {x}^{2}}\right)}\\

\end{array}
double f(double x, double l, double t) {
        double r51443 = 2.0;
        double r51444 = sqrt(r51443);
        double r51445 = t;
        double r51446 = r51444 * r51445;
        double r51447 = x;
        double r51448 = 1.0;
        double r51449 = r51447 + r51448;
        double r51450 = r51447 - r51448;
        double r51451 = r51449 / r51450;
        double r51452 = l;
        double r51453 = r51452 * r51452;
        double r51454 = r51445 * r51445;
        double r51455 = r51443 * r51454;
        double r51456 = r51453 + r51455;
        double r51457 = r51451 * r51456;
        double r51458 = r51457 - r51453;
        double r51459 = sqrt(r51458);
        double r51460 = r51446 / r51459;
        return r51460;
}

double f(double x, double l, double t) {
        double r51461 = t;
        double r51462 = -1.9221230409501015e-18;
        bool r51463 = r51461 <= r51462;
        double r51464 = 2.0;
        double r51465 = sqrt(r51464);
        double r51466 = r51465 * r51461;
        double r51467 = 3.0;
        double r51468 = pow(r51465, r51467);
        double r51469 = x;
        double r51470 = 2.0;
        double r51471 = pow(r51469, r51470);
        double r51472 = r51468 * r51471;
        double r51473 = r51461 / r51472;
        double r51474 = r51465 * r51471;
        double r51475 = r51461 / r51474;
        double r51476 = r51473 - r51475;
        double r51477 = r51464 * r51476;
        double r51478 = r51465 * r51469;
        double r51479 = r51461 / r51478;
        double r51480 = r51464 * r51479;
        double r51481 = r51477 - r51480;
        double r51482 = r51461 * r51465;
        double r51483 = r51481 - r51482;
        double r51484 = r51466 / r51483;
        double r51485 = 4.568115772869942e+39;
        bool r51486 = r51461 <= r51485;
        double r51487 = 4.0;
        double r51488 = pow(r51461, r51470);
        double r51489 = r51488 / r51469;
        double r51490 = r51487 * r51489;
        double r51491 = l;
        double r51492 = r51469 / r51491;
        double r51493 = r51491 / r51492;
        double r51494 = r51461 * r51461;
        double r51495 = r51493 + r51494;
        double r51496 = r51495 * r51464;
        double r51497 = r51490 + r51496;
        double r51498 = sqrt(r51497);
        double r51499 = r51466 / r51498;
        double r51500 = r51475 + r51479;
        double r51501 = r51464 * r51500;
        double r51502 = r51464 * r51473;
        double r51503 = r51482 - r51502;
        double r51504 = r51501 + r51503;
        double r51505 = r51466 / r51504;
        double r51506 = r51486 ? r51499 : r51505;
        double r51507 = r51463 ? r51484 : r51506;
        return r51507;
}

Error

Bits error versus x

Bits error versus l

Bits error versus t

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Split input into 3 regimes
  2. if t < -1.9221230409501015e-18

    1. Initial program 40.9

      \[\frac{\sqrt{2} \cdot t}{\sqrt{\frac{x + 1}{x - 1} \cdot \left(\ell \cdot \ell + 2 \cdot \left(t \cdot t\right)\right) - \ell \cdot \ell}}\]
    2. Taylor expanded around -inf 5.3

      \[\leadsto \frac{\sqrt{2} \cdot t}{\color{blue}{2 \cdot \frac{t}{{\left(\sqrt{2}\right)}^{3} \cdot {x}^{2}} - \left(2 \cdot \frac{t}{\sqrt{2} \cdot {x}^{2}} + \left(2 \cdot \frac{t}{\sqrt{2} \cdot x} + t \cdot \sqrt{2}\right)\right)}}\]
    3. Simplified5.3

      \[\leadsto \frac{\sqrt{2} \cdot t}{\color{blue}{\left(2 \cdot \left(\frac{t}{{\left(\sqrt{2}\right)}^{3} \cdot {x}^{2}} - \frac{t}{\sqrt{2} \cdot {x}^{2}}\right) - 2 \cdot \frac{t}{\sqrt{2} \cdot x}\right) - t \cdot \sqrt{2}}}\]

    if -1.9221230409501015e-18 < t < 4.568115772869942e+39

    1. Initial program 44.9

      \[\frac{\sqrt{2} \cdot t}{\sqrt{\frac{x + 1}{x - 1} \cdot \left(\ell \cdot \ell + 2 \cdot \left(t \cdot t\right)\right) - \ell \cdot \ell}}\]
    2. Taylor expanded around inf 20.0

      \[\leadsto \frac{\sqrt{2} \cdot t}{\sqrt{\color{blue}{2 \cdot {t}^{2} + \left(2 \cdot \frac{{\ell}^{2}}{x} + 4 \cdot \frac{{t}^{2}}{x}\right)}}}\]
    3. Simplified20.0

      \[\leadsto \frac{\sqrt{2} \cdot t}{\sqrt{\color{blue}{2 \cdot \left(t \cdot t + \frac{{\ell}^{2}}{x}\right) + 4 \cdot \frac{{t}^{2}}{x}}}}\]
    4. Using strategy rm
    5. Applied sqr-pow20.0

      \[\leadsto \frac{\sqrt{2} \cdot t}{\sqrt{2 \cdot \left(t \cdot t + \frac{\color{blue}{{\ell}^{\left(\frac{2}{2}\right)} \cdot {\ell}^{\left(\frac{2}{2}\right)}}}{x}\right) + 4 \cdot \frac{{t}^{2}}{x}}}\]
    6. Applied associate-/l*16.4

      \[\leadsto \frac{\sqrt{2} \cdot t}{\sqrt{2 \cdot \left(t \cdot t + \color{blue}{\frac{{\ell}^{\left(\frac{2}{2}\right)}}{\frac{x}{{\ell}^{\left(\frac{2}{2}\right)}}}}\right) + 4 \cdot \frac{{t}^{2}}{x}}}\]
    7. Simplified16.4

      \[\leadsto \frac{\sqrt{2} \cdot t}{\sqrt{2 \cdot \left(t \cdot t + \frac{{\ell}^{\left(\frac{2}{2}\right)}}{\color{blue}{\frac{x}{\ell}}}\right) + 4 \cdot \frac{{t}^{2}}{x}}}\]

    if 4.568115772869942e+39 < t

    1. Initial program 43.6

      \[\frac{\sqrt{2} \cdot t}{\sqrt{\frac{x + 1}{x - 1} \cdot \left(\ell \cdot \ell + 2 \cdot \left(t \cdot t\right)\right) - \ell \cdot \ell}}\]
    2. Taylor expanded around inf 4.7

      \[\leadsto \frac{\sqrt{2} \cdot t}{\color{blue}{\left(2 \cdot \frac{t}{\sqrt{2} \cdot {x}^{2}} + \left(2 \cdot \frac{t}{\sqrt{2} \cdot x} + t \cdot \sqrt{2}\right)\right) - 2 \cdot \frac{t}{{\left(\sqrt{2}\right)}^{3} \cdot {x}^{2}}}}\]
    3. Simplified4.7

      \[\leadsto \frac{\sqrt{2} \cdot t}{\color{blue}{2 \cdot \left(\frac{t}{\sqrt{2} \cdot {x}^{2}} + \frac{t}{\sqrt{2} \cdot x}\right) + \left(t \cdot \sqrt{2} - 2 \cdot \frac{t}{{\left(\sqrt{2}\right)}^{3} \cdot {x}^{2}}\right)}}\]
  3. Recombined 3 regimes into one program.
  4. Final simplification10.1

    \[\leadsto \begin{array}{l} \mathbf{if}\;t \le -1.922123040950101526776925110190092589123 \cdot 10^{-18}:\\ \;\;\;\;\frac{\sqrt{2} \cdot t}{\left(2 \cdot \left(\frac{t}{{\left(\sqrt{2}\right)}^{3} \cdot {x}^{2}} - \frac{t}{\sqrt{2} \cdot {x}^{2}}\right) - 2 \cdot \frac{t}{\sqrt{2} \cdot x}\right) - t \cdot \sqrt{2}}\\ \mathbf{elif}\;t \le 4568115772869941922171560669274498400256:\\ \;\;\;\;\frac{\sqrt{2} \cdot t}{\sqrt{4 \cdot \frac{{t}^{2}}{x} + \left(\frac{\ell}{\frac{x}{\ell}} + t \cdot t\right) \cdot 2}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\sqrt{2} \cdot t}{2 \cdot \left(\frac{t}{\sqrt{2} \cdot {x}^{2}} + \frac{t}{\sqrt{2} \cdot x}\right) + \left(t \cdot \sqrt{2} - 2 \cdot \frac{t}{{\left(\sqrt{2}\right)}^{3} \cdot {x}^{2}}\right)}\\ \end{array}\]

Reproduce

herbie shell --seed 2019235 
(FPCore (x l t)
  :name "Toniolo and Linder, Equation (7)"
  :precision binary64
  (/ (* (sqrt 2) t) (sqrt (- (* (/ (+ x 1) (- x 1)) (+ (* l l) (* 2 (* t t)))) (* l l)))))