Average Error: 43.3 → 9.7
Time: 40.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 -5.8966186448062604 \cdot 10^{70}:\\ \;\;\;\;\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 1.54970592101093 \cdot 10^{104}:\\ \;\;\;\;\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 -5.8966186448062604 \cdot 10^{70}:\\
\;\;\;\;\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 1.54970592101093 \cdot 10^{104}:\\
\;\;\;\;\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 r48980 = 2.0;
        double r48981 = sqrt(r48980);
        double r48982 = t;
        double r48983 = r48981 * r48982;
        double r48984 = x;
        double r48985 = 1.0;
        double r48986 = r48984 + r48985;
        double r48987 = r48984 - r48985;
        double r48988 = r48986 / r48987;
        double r48989 = l;
        double r48990 = r48989 * r48989;
        double r48991 = r48982 * r48982;
        double r48992 = r48980 * r48991;
        double r48993 = r48990 + r48992;
        double r48994 = r48988 * r48993;
        double r48995 = r48994 - r48990;
        double r48996 = sqrt(r48995);
        double r48997 = r48983 / r48996;
        return r48997;
}

double f(double x, double l, double t) {
        double r48998 = t;
        double r48999 = -5.89661864480626e+70;
        bool r49000 = r48998 <= r48999;
        double r49001 = 2.0;
        double r49002 = sqrt(r49001);
        double r49003 = r49002 * r48998;
        double r49004 = 3.0;
        double r49005 = pow(r49002, r49004);
        double r49006 = x;
        double r49007 = 2.0;
        double r49008 = pow(r49006, r49007);
        double r49009 = r49005 * r49008;
        double r49010 = r48998 / r49009;
        double r49011 = r49002 * r49008;
        double r49012 = r48998 / r49011;
        double r49013 = r49010 - r49012;
        double r49014 = r49001 * r49013;
        double r49015 = r49002 * r49006;
        double r49016 = r48998 / r49015;
        double r49017 = r49001 * r49016;
        double r49018 = r49014 - r49017;
        double r49019 = r48998 * r49002;
        double r49020 = r49018 - r49019;
        double r49021 = r49003 / r49020;
        double r49022 = 1.5497059210109297e+104;
        bool r49023 = r48998 <= r49022;
        double r49024 = 4.0;
        double r49025 = pow(r48998, r49007);
        double r49026 = r49025 / r49006;
        double r49027 = r49024 * r49026;
        double r49028 = l;
        double r49029 = r49006 / r49028;
        double r49030 = r49028 / r49029;
        double r49031 = r48998 * r48998;
        double r49032 = r49030 + r49031;
        double r49033 = r49032 * r49001;
        double r49034 = r49027 + r49033;
        double r49035 = sqrt(r49034);
        double r49036 = r49003 / r49035;
        double r49037 = r49012 + r49016;
        double r49038 = r49001 * r49037;
        double r49039 = r49001 * r49010;
        double r49040 = r49019 - r49039;
        double r49041 = r49038 + r49040;
        double r49042 = r49003 / r49041;
        double r49043 = r49023 ? r49036 : r49042;
        double r49044 = r49000 ? r49021 : r49043;
        return r49044;
}

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 < -5.89661864480626e+70

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

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

      \[\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 -5.89661864480626e+70 < t < 1.5497059210109297e+104

    1. Initial program 38.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 18.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. Simplified18.8

      \[\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-pow18.8

      \[\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*14.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. Simplified14.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 1.5497059210109297e+104 < t

    1. Initial program 51.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 2.9

      \[\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. Simplified2.9

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;t \le -5.8966186448062604 \cdot 10^{70}:\\ \;\;\;\;\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 1.54970592101093 \cdot 10^{104}:\\ \;\;\;\;\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 2019199 
(FPCore (x l t)
  :name "Toniolo and Linder, Equation (7)"
  (/ (* (sqrt 2.0) t) (sqrt (- (* (/ (+ x 1.0) (- x 1.0)) (+ (* l l) (* 2.0 (* t t)))) (* l l)))))