Average Error: 41.9 → 9.0
Time: 41.9s
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 -8.954275544416124 \cdot 10^{+61}:\\ \;\;\;\;\frac{\sqrt{2} \cdot t}{\left(\left(\frac{t}{2 \cdot \sqrt{2}} - \frac{t}{\sqrt{2}}\right) \cdot \frac{\frac{2}{x}}{x} - \sqrt{2} \cdot t\right) - \frac{t}{\sqrt{2}} \cdot \frac{2}{x}}\\ \mathbf{elif}\;t \le 4.8064993713964147 \cdot 10^{+83}:\\ \;\;\;\;\frac{\sqrt{2} \cdot t}{\sqrt{2 \cdot \left(t \cdot t + \ell \cdot \frac{\ell}{x}\right) + \frac{4}{x} \cdot \left(t \cdot t\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\sqrt{2} \cdot t}{\left(\frac{t}{\sqrt{2}} - \frac{t}{2 \cdot \sqrt{2}}\right) \cdot \frac{\frac{2}{x}}{x} + \left(\frac{t}{\sqrt{2}} \cdot \frac{2}{x} + \sqrt{2} \cdot t\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 -8.954275544416124 \cdot 10^{+61}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\left(\left(\frac{t}{2 \cdot \sqrt{2}} - \frac{t}{\sqrt{2}}\right) \cdot \frac{\frac{2}{x}}{x} - \sqrt{2} \cdot t\right) - \frac{t}{\sqrt{2}} \cdot \frac{2}{x}}\\

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

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

\end{array}
double f(double x, double l, double t) {
        double r1265701 = 2.0;
        double r1265702 = sqrt(r1265701);
        double r1265703 = t;
        double r1265704 = r1265702 * r1265703;
        double r1265705 = x;
        double r1265706 = 1.0;
        double r1265707 = r1265705 + r1265706;
        double r1265708 = r1265705 - r1265706;
        double r1265709 = r1265707 / r1265708;
        double r1265710 = l;
        double r1265711 = r1265710 * r1265710;
        double r1265712 = r1265703 * r1265703;
        double r1265713 = r1265701 * r1265712;
        double r1265714 = r1265711 + r1265713;
        double r1265715 = r1265709 * r1265714;
        double r1265716 = r1265715 - r1265711;
        double r1265717 = sqrt(r1265716);
        double r1265718 = r1265704 / r1265717;
        return r1265718;
}

double f(double x, double l, double t) {
        double r1265719 = t;
        double r1265720 = -8.954275544416124e+61;
        bool r1265721 = r1265719 <= r1265720;
        double r1265722 = 2.0;
        double r1265723 = sqrt(r1265722);
        double r1265724 = r1265723 * r1265719;
        double r1265725 = r1265722 * r1265723;
        double r1265726 = r1265719 / r1265725;
        double r1265727 = r1265719 / r1265723;
        double r1265728 = r1265726 - r1265727;
        double r1265729 = x;
        double r1265730 = r1265722 / r1265729;
        double r1265731 = r1265730 / r1265729;
        double r1265732 = r1265728 * r1265731;
        double r1265733 = r1265732 - r1265724;
        double r1265734 = r1265727 * r1265730;
        double r1265735 = r1265733 - r1265734;
        double r1265736 = r1265724 / r1265735;
        double r1265737 = 4.8064993713964147e+83;
        bool r1265738 = r1265719 <= r1265737;
        double r1265739 = r1265719 * r1265719;
        double r1265740 = l;
        double r1265741 = r1265740 / r1265729;
        double r1265742 = r1265740 * r1265741;
        double r1265743 = r1265739 + r1265742;
        double r1265744 = r1265722 * r1265743;
        double r1265745 = 4.0;
        double r1265746 = r1265745 / r1265729;
        double r1265747 = r1265746 * r1265739;
        double r1265748 = r1265744 + r1265747;
        double r1265749 = sqrt(r1265748);
        double r1265750 = r1265724 / r1265749;
        double r1265751 = r1265727 - r1265726;
        double r1265752 = r1265751 * r1265731;
        double r1265753 = r1265734 + r1265724;
        double r1265754 = r1265752 + r1265753;
        double r1265755 = r1265724 / r1265754;
        double r1265756 = r1265738 ? r1265750 : r1265755;
        double r1265757 = r1265721 ? r1265736 : r1265756;
        return r1265757;
}

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 < -8.954275544416124e+61

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

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

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

    if -8.954275544416124e+61 < t < 4.8064993713964147e+83

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

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

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

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

    if 4.8064993713964147e+83 < t

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

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

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

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

Reproduce

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