Average Error: 42.4 → 9.8
Time: 1.1m
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 -4.914206833303874 \cdot 10^{+65}:\\ \;\;\;\;\frac{\sqrt{2} \cdot t}{\frac{t}{x \cdot x} \cdot \frac{1}{\sqrt{2}} - \left(\frac{2}{\sqrt{2}} \cdot \left(\frac{t}{x} + \frac{t}{x \cdot x}\right) + \sqrt{2} \cdot t\right)}\\ \mathbf{elif}\;t \le -1.6072879684005276 \cdot 10^{-180}:\\ \;\;\;\;\frac{\sqrt{\sqrt{2}} \cdot \left(\sqrt{\sqrt{2}} \cdot t\right)}{\sqrt{\left(2 \cdot \ell\right) \cdot \frac{\ell}{x} + \left(t \cdot t\right) \cdot \left(2 + \frac{4}{x}\right)}}\\ \mathbf{elif}\;t \le -1.3823772626115996 \cdot 10^{-305}:\\ \;\;\;\;\frac{\sqrt{2} \cdot t}{\frac{t}{x \cdot x} \cdot \frac{1}{\sqrt{2}} - \left(\frac{2}{\sqrt{2}} \cdot \left(\frac{t}{x} + \frac{t}{x \cdot x}\right) + \sqrt{2} \cdot t\right)}\\ \mathbf{elif}\;t \le 8.370464796885246 \cdot 10^{+135}:\\ \;\;\;\;\frac{\left(t \cdot \sqrt[3]{\sqrt{2}}\right) \cdot \left(\sqrt[3]{\sqrt{2}} \cdot \sqrt[3]{\sqrt{2}}\right)}{\sqrt{\left(2 \cdot \ell\right) \cdot \frac{\ell}{x} + \left(t \cdot t\right) \cdot \left(2 + \frac{4}{x}\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\sqrt{2} \cdot t}{\left(\sqrt{2} \cdot t - \frac{t}{x \cdot x} \cdot \frac{1}{\sqrt{2}}\right) + \left(\frac{2}{x} + \frac{\frac{2}{x}}{x}\right) \cdot \frac{t}{\sqrt{2}}}\\ \end{array}\]
double f(double x, double l, double t) {
        double r3062839 = 2.0;
        double r3062840 = sqrt(r3062839);
        double r3062841 = t;
        double r3062842 = r3062840 * r3062841;
        double r3062843 = x;
        double r3062844 = 1.0;
        double r3062845 = r3062843 + r3062844;
        double r3062846 = r3062843 - r3062844;
        double r3062847 = r3062845 / r3062846;
        double r3062848 = l;
        double r3062849 = r3062848 * r3062848;
        double r3062850 = r3062841 * r3062841;
        double r3062851 = r3062839 * r3062850;
        double r3062852 = r3062849 + r3062851;
        double r3062853 = r3062847 * r3062852;
        double r3062854 = r3062853 - r3062849;
        double r3062855 = sqrt(r3062854);
        double r3062856 = r3062842 / r3062855;
        return r3062856;
}

double f(double x, double l, double t) {
        double r3062857 = t;
        double r3062858 = -4.914206833303874e+65;
        bool r3062859 = r3062857 <= r3062858;
        double r3062860 = 2.0;
        double r3062861 = sqrt(r3062860);
        double r3062862 = r3062861 * r3062857;
        double r3062863 = x;
        double r3062864 = r3062863 * r3062863;
        double r3062865 = r3062857 / r3062864;
        double r3062866 = 1.0;
        double r3062867 = r3062866 / r3062861;
        double r3062868 = r3062865 * r3062867;
        double r3062869 = r3062860 / r3062861;
        double r3062870 = r3062857 / r3062863;
        double r3062871 = r3062870 + r3062865;
        double r3062872 = r3062869 * r3062871;
        double r3062873 = r3062872 + r3062862;
        double r3062874 = r3062868 - r3062873;
        double r3062875 = r3062862 / r3062874;
        double r3062876 = -1.6072879684005276e-180;
        bool r3062877 = r3062857 <= r3062876;
        double r3062878 = sqrt(r3062861);
        double r3062879 = r3062878 * r3062857;
        double r3062880 = r3062878 * r3062879;
        double r3062881 = l;
        double r3062882 = r3062860 * r3062881;
        double r3062883 = r3062881 / r3062863;
        double r3062884 = r3062882 * r3062883;
        double r3062885 = r3062857 * r3062857;
        double r3062886 = 4.0;
        double r3062887 = r3062886 / r3062863;
        double r3062888 = r3062860 + r3062887;
        double r3062889 = r3062885 * r3062888;
        double r3062890 = r3062884 + r3062889;
        double r3062891 = sqrt(r3062890);
        double r3062892 = r3062880 / r3062891;
        double r3062893 = -1.3823772626115996e-305;
        bool r3062894 = r3062857 <= r3062893;
        double r3062895 = 8.370464796885246e+135;
        bool r3062896 = r3062857 <= r3062895;
        double r3062897 = cbrt(r3062861);
        double r3062898 = r3062857 * r3062897;
        double r3062899 = r3062897 * r3062897;
        double r3062900 = r3062898 * r3062899;
        double r3062901 = r3062900 / r3062891;
        double r3062902 = r3062862 - r3062868;
        double r3062903 = r3062860 / r3062863;
        double r3062904 = r3062903 / r3062863;
        double r3062905 = r3062903 + r3062904;
        double r3062906 = r3062857 / r3062861;
        double r3062907 = r3062905 * r3062906;
        double r3062908 = r3062902 + r3062907;
        double r3062909 = r3062862 / r3062908;
        double r3062910 = r3062896 ? r3062901 : r3062909;
        double r3062911 = r3062894 ? r3062875 : r3062910;
        double r3062912 = r3062877 ? r3062892 : r3062911;
        double r3062913 = r3062859 ? r3062875 : r3062912;
        return r3062913;
}

\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 -4.914206833303874 \cdot 10^{+65}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\frac{t}{x \cdot x} \cdot \frac{1}{\sqrt{2}} - \left(\frac{2}{\sqrt{2}} \cdot \left(\frac{t}{x} + \frac{t}{x \cdot x}\right) + \sqrt{2} \cdot t\right)}\\

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

\mathbf{elif}\;t \le -1.3823772626115996 \cdot 10^{-305}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\frac{t}{x \cdot x} \cdot \frac{1}{\sqrt{2}} - \left(\frac{2}{\sqrt{2}} \cdot \left(\frac{t}{x} + \frac{t}{x \cdot x}\right) + \sqrt{2} \cdot t\right)}\\

\mathbf{elif}\;t \le 8.370464796885246 \cdot 10^{+135}:\\
\;\;\;\;\frac{\left(t \cdot \sqrt[3]{\sqrt{2}}\right) \cdot \left(\sqrt[3]{\sqrt{2}} \cdot \sqrt[3]{\sqrt{2}}\right)}{\sqrt{\left(2 \cdot \ell\right) \cdot \frac{\ell}{x} + \left(t \cdot t\right) \cdot \left(2 + \frac{4}{x}\right)}}\\

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

\end{array}

Error

Bits error versus x

Bits error versus l

Bits error versus t

Derivation

  1. Split input into 4 regimes
  2. if t < -4.914206833303874e+65 or -1.6072879684005276e-180 < t < -1.3823772626115996e-305

    1. Initial program 49.8

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

      \[\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. Simplified12.1

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

    if -4.914206833303874e+65 < t < -1.6072879684005276e-180

    1. Initial program 31.3

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

      \[\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. Simplified8.3

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

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

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

    if -1.3823772626115996e-305 < t < 8.370464796885246e+135

    1. Initial program 34.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 16.8

      \[\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. Simplified12.3

      \[\leadsto \frac{\sqrt{2} \cdot t}{\sqrt{\color{blue}{\left(t \cdot t\right) \cdot \left(\frac{4}{x} + 2\right) + \left(\ell \cdot 2\right) \cdot \frac{\ell}{x}}}}\]
    4. Using strategy rm
    5. Applied add-cube-cbrt12.3

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

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

    if 8.370464796885246e+135 < t

    1. Initial program 57.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}{\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.4

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;t \le -4.914206833303874 \cdot 10^{+65}:\\ \;\;\;\;\frac{\sqrt{2} \cdot t}{\frac{t}{x \cdot x} \cdot \frac{1}{\sqrt{2}} - \left(\frac{2}{\sqrt{2}} \cdot \left(\frac{t}{x} + \frac{t}{x \cdot x}\right) + \sqrt{2} \cdot t\right)}\\ \mathbf{elif}\;t \le -1.6072879684005276 \cdot 10^{-180}:\\ \;\;\;\;\frac{\sqrt{\sqrt{2}} \cdot \left(\sqrt{\sqrt{2}} \cdot t\right)}{\sqrt{\left(2 \cdot \ell\right) \cdot \frac{\ell}{x} + \left(t \cdot t\right) \cdot \left(2 + \frac{4}{x}\right)}}\\ \mathbf{elif}\;t \le -1.3823772626115996 \cdot 10^{-305}:\\ \;\;\;\;\frac{\sqrt{2} \cdot t}{\frac{t}{x \cdot x} \cdot \frac{1}{\sqrt{2}} - \left(\frac{2}{\sqrt{2}} \cdot \left(\frac{t}{x} + \frac{t}{x \cdot x}\right) + \sqrt{2} \cdot t\right)}\\ \mathbf{elif}\;t \le 8.370464796885246 \cdot 10^{+135}:\\ \;\;\;\;\frac{\left(t \cdot \sqrt[3]{\sqrt{2}}\right) \cdot \left(\sqrt[3]{\sqrt{2}} \cdot \sqrt[3]{\sqrt{2}}\right)}{\sqrt{\left(2 \cdot \ell\right) \cdot \frac{\ell}{x} + \left(t \cdot t\right) \cdot \left(2 + \frac{4}{x}\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\sqrt{2} \cdot t}{\left(\sqrt{2} \cdot t - \frac{t}{x \cdot x} \cdot \frac{1}{\sqrt{2}}\right) + \left(\frac{2}{x} + \frac{\frac{2}{x}}{x}\right) \cdot \frac{t}{\sqrt{2}}}\\ \end{array}\]

Reproduce

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