Average Error: 42.3 → 9.0
Time: 29.6s
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 -6.081620194545127 \cdot 10^{+107}:\\ \;\;\;\;\frac{\sqrt{2} \cdot t}{\left(2 \cdot \left(\frac{t}{\left(x \cdot x\right) \cdot \left(2 \cdot \sqrt{2}\right)} - \frac{\frac{t}{\sqrt{2}}}{x \cdot x}\right) - \frac{t}{\sqrt{2}} \cdot \frac{2}{x}\right) - \sqrt{2} \cdot t}\\ \mathbf{elif}\;t \le 4.561118037024944 \cdot 10^{+59}:\\ \;\;\;\;\frac{\sqrt{2} \cdot t}{\sqrt{2 \cdot \left(\frac{\ell}{x} \cdot \ell + t \cdot t\right) + 4 \cdot \frac{t \cdot t}{x}}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\sqrt{2} \cdot t}{\left(\frac{t}{\sqrt{2}} \cdot \frac{2}{x} + \sqrt{2} \cdot t\right) - 2 \cdot \left(\frac{t}{\left(x \cdot x\right) \cdot \left(2 \cdot \sqrt{2}\right)} - \frac{\frac{t}{\sqrt{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 -6.081620194545127 \cdot 10^{+107}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\left(2 \cdot \left(\frac{t}{\left(x \cdot x\right) \cdot \left(2 \cdot \sqrt{2}\right)} - \frac{\frac{t}{\sqrt{2}}}{x \cdot x}\right) - \frac{t}{\sqrt{2}} \cdot \frac{2}{x}\right) - \sqrt{2} \cdot t}\\

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

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

\end{array}
double f(double x, double l, double t) {
        double r1286741 = 2.0;
        double r1286742 = sqrt(r1286741);
        double r1286743 = t;
        double r1286744 = r1286742 * r1286743;
        double r1286745 = x;
        double r1286746 = 1.0;
        double r1286747 = r1286745 + r1286746;
        double r1286748 = r1286745 - r1286746;
        double r1286749 = r1286747 / r1286748;
        double r1286750 = l;
        double r1286751 = r1286750 * r1286750;
        double r1286752 = r1286743 * r1286743;
        double r1286753 = r1286741 * r1286752;
        double r1286754 = r1286751 + r1286753;
        double r1286755 = r1286749 * r1286754;
        double r1286756 = r1286755 - r1286751;
        double r1286757 = sqrt(r1286756);
        double r1286758 = r1286744 / r1286757;
        return r1286758;
}

double f(double x, double l, double t) {
        double r1286759 = t;
        double r1286760 = -6.081620194545127e+107;
        bool r1286761 = r1286759 <= r1286760;
        double r1286762 = 2.0;
        double r1286763 = sqrt(r1286762);
        double r1286764 = r1286763 * r1286759;
        double r1286765 = x;
        double r1286766 = r1286765 * r1286765;
        double r1286767 = r1286762 * r1286763;
        double r1286768 = r1286766 * r1286767;
        double r1286769 = r1286759 / r1286768;
        double r1286770 = r1286759 / r1286763;
        double r1286771 = r1286770 / r1286766;
        double r1286772 = r1286769 - r1286771;
        double r1286773 = r1286762 * r1286772;
        double r1286774 = r1286762 / r1286765;
        double r1286775 = r1286770 * r1286774;
        double r1286776 = r1286773 - r1286775;
        double r1286777 = r1286776 - r1286764;
        double r1286778 = r1286764 / r1286777;
        double r1286779 = 4.561118037024944e+59;
        bool r1286780 = r1286759 <= r1286779;
        double r1286781 = l;
        double r1286782 = r1286781 / r1286765;
        double r1286783 = r1286782 * r1286781;
        double r1286784 = r1286759 * r1286759;
        double r1286785 = r1286783 + r1286784;
        double r1286786 = r1286762 * r1286785;
        double r1286787 = 4.0;
        double r1286788 = r1286784 / r1286765;
        double r1286789 = r1286787 * r1286788;
        double r1286790 = r1286786 + r1286789;
        double r1286791 = sqrt(r1286790);
        double r1286792 = r1286764 / r1286791;
        double r1286793 = r1286775 + r1286764;
        double r1286794 = r1286793 - r1286773;
        double r1286795 = r1286764 / r1286794;
        double r1286796 = r1286780 ? r1286792 : r1286795;
        double r1286797 = r1286761 ? r1286778 : r1286796;
        return r1286797;
}

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 < -6.081620194545127e+107

    1. Initial program 51.2

      \[\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.4

      \[\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(t \cdot \sqrt{2} + 2 \cdot \frac{t}{\sqrt{2} \cdot x}\right)\right)}}\]
    3. Simplified2.4

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

    if -6.081620194545127e+107 < t < 4.561118037024944e+59

    1. Initial program 37.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 17.4

      \[\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. Simplified17.4

      \[\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-identity17.4

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

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

      \[\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 4.561118037024944e+59 < t

    1. Initial program 45.7

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

      \[\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. Simplified3.5

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

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

Reproduce

herbie shell --seed 2019158 
(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)))))