Average Error: 42.3 → 9.2
Time: 28.7s
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 -16678696720617.19:\\ \;\;\;\;\frac{\sqrt{2} \cdot t}{-\left(2 \cdot \frac{t}{x \cdot \sqrt{2}} + \sqrt{2} \cdot t\right)}\\ \mathbf{elif}\;t \le 1.7265785379062208 \cdot 10^{+93}:\\ \;\;\;\;\frac{\sqrt{2} \cdot t}{\sqrt{\left(t \cdot t + \frac{\ell}{x} \cdot \ell\right) \cdot 2 + 4 \cdot \frac{t \cdot t}{x}}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\sqrt{2} \cdot t}{\left(\frac{\frac{t}{\sqrt{2}}}{x \cdot x} \cdot 2 + \sqrt{2} \cdot t\right) + \left(\frac{2 \cdot t}{x \cdot \sqrt{2}} - \frac{t}{2 \cdot \sqrt{2}} \cdot \frac{2}{x \cdot x}\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 -16678696720617.19:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{-\left(2 \cdot \frac{t}{x \cdot \sqrt{2}} + \sqrt{2} \cdot t\right)}\\

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

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

\end{array}
double f(double x, double l, double t) {
        double r602514 = 2.0;
        double r602515 = sqrt(r602514);
        double r602516 = t;
        double r602517 = r602515 * r602516;
        double r602518 = x;
        double r602519 = 1.0;
        double r602520 = r602518 + r602519;
        double r602521 = r602518 - r602519;
        double r602522 = r602520 / r602521;
        double r602523 = l;
        double r602524 = r602523 * r602523;
        double r602525 = r602516 * r602516;
        double r602526 = r602514 * r602525;
        double r602527 = r602524 + r602526;
        double r602528 = r602522 * r602527;
        double r602529 = r602528 - r602524;
        double r602530 = sqrt(r602529);
        double r602531 = r602517 / r602530;
        return r602531;
}

double f(double x, double l, double t) {
        double r602532 = t;
        double r602533 = -16678696720617.19;
        bool r602534 = r602532 <= r602533;
        double r602535 = 2.0;
        double r602536 = sqrt(r602535);
        double r602537 = r602536 * r602532;
        double r602538 = x;
        double r602539 = r602538 * r602536;
        double r602540 = r602532 / r602539;
        double r602541 = r602535 * r602540;
        double r602542 = r602541 + r602537;
        double r602543 = -r602542;
        double r602544 = r602537 / r602543;
        double r602545 = 1.7265785379062208e+93;
        bool r602546 = r602532 <= r602545;
        double r602547 = r602532 * r602532;
        double r602548 = l;
        double r602549 = r602548 / r602538;
        double r602550 = r602549 * r602548;
        double r602551 = r602547 + r602550;
        double r602552 = r602551 * r602535;
        double r602553 = 4.0;
        double r602554 = r602547 / r602538;
        double r602555 = r602553 * r602554;
        double r602556 = r602552 + r602555;
        double r602557 = sqrt(r602556);
        double r602558 = r602537 / r602557;
        double r602559 = r602532 / r602536;
        double r602560 = r602538 * r602538;
        double r602561 = r602559 / r602560;
        double r602562 = r602561 * r602535;
        double r602563 = r602562 + r602537;
        double r602564 = r602535 * r602532;
        double r602565 = r602564 / r602539;
        double r602566 = r602535 * r602536;
        double r602567 = r602532 / r602566;
        double r602568 = r602535 / r602560;
        double r602569 = r602567 * r602568;
        double r602570 = r602565 - r602569;
        double r602571 = r602563 + r602570;
        double r602572 = r602537 / r602571;
        double r602573 = r602546 ? r602558 : r602572;
        double r602574 = r602534 ? r602544 : r602573;
        return r602574;
}

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 < -16678696720617.19

    1. Initial program 42.4

      \[\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 40.2

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

      \[\leadsto \frac{\sqrt{2} \cdot t}{\sqrt{\color{blue}{2 \cdot \left(t \cdot t + \frac{\ell \cdot \ell}{x}\right) + \frac{t \cdot t}{x} \cdot 4}}}\]
    4. Taylor expanded around -inf 5.4

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

    if -16678696720617.19 < t < 1.7265785379062208e+93

    1. Initial program 39.4

      \[\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 18.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. Simplified18.0

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

      \[\leadsto \frac{\sqrt{2} \cdot t}{\sqrt{2 \cdot \left(t \cdot t + \frac{\ell \cdot \ell}{\color{blue}{1 \cdot x}}\right) + \frac{t \cdot t}{x} \cdot 4}}\]
    6. Applied times-frac13.9

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

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

    if 1.7265785379062208e+93 < t

    1. Initial program 49.5

      \[\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 2.3

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

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

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

Reproduce

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