Average Error: 42.4 → 9.8
Time: 42.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 -4.914206833303874 \cdot 10^{+65}:\\ \;\;\;\;\frac{\sqrt{2} \cdot t}{\frac{1}{\sqrt{2}} \cdot \frac{t}{x \cdot x} - (t \cdot \left(\sqrt{2}\right) + \left(\frac{2}{\sqrt{2}} \cdot \left(\frac{t}{x} + \frac{t}{x \cdot x}\right)\right))_*}\\ \mathbf{elif}\;t \le -1.6072879684005276 \cdot 10^{-180}:\\ \;\;\;\;\frac{t \cdot \left(\sqrt{\sqrt{2}} \cdot \sqrt{\sqrt{2}}\right)}{\sqrt{(\left((\left(\frac{\ell}{x}\right) \cdot \ell + \left(t \cdot t\right))_*\right) \cdot 2 + \left(\frac{4 \cdot \left(t \cdot t\right)}{x}\right))_*}}\\ \mathbf{elif}\;t \le -1.3823772626115996 \cdot 10^{-305}:\\ \;\;\;\;\frac{\sqrt{2} \cdot t}{\frac{1}{\sqrt{2}} \cdot \frac{t}{x \cdot x} - (t \cdot \left(\sqrt{2}\right) + \left(\frac{2}{\sqrt{2}} \cdot \left(\frac{t}{x} + \frac{t}{x \cdot x}\right)\right))_*}\\ \mathbf{elif}\;t \le 8.370464796885246 \cdot 10^{+135}:\\ \;\;\;\;\frac{\left(\sqrt[3]{\sqrt{2}} \cdot \sqrt[3]{\sqrt{2}}\right) \cdot \left(\sqrt[3]{\sqrt{2}} \cdot t\right)}{\sqrt{(\left((\left(\frac{\ell}{x}\right) \cdot \ell + \left(t \cdot t\right))_*\right) \cdot 2 + \left(\frac{4 \cdot \left(t \cdot t\right)}{x}\right))_*}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\sqrt{2} \cdot t}{(\left(\frac{t}{\sqrt{2} \cdot x}\right) \cdot 2 + \left(\sqrt{2} \cdot t\right))_* + \frac{\frac{2}{x}}{x} \cdot \left(\frac{t}{\sqrt{2}} - \frac{\frac{t}{\sqrt{2}}}{2}\right)}\\ \end{array}\]
double f(double x, double l, double t) {
        double r1595626 = 2.0;
        double r1595627 = sqrt(r1595626);
        double r1595628 = t;
        double r1595629 = r1595627 * r1595628;
        double r1595630 = x;
        double r1595631 = 1.0;
        double r1595632 = r1595630 + r1595631;
        double r1595633 = r1595630 - r1595631;
        double r1595634 = r1595632 / r1595633;
        double r1595635 = l;
        double r1595636 = r1595635 * r1595635;
        double r1595637 = r1595628 * r1595628;
        double r1595638 = r1595626 * r1595637;
        double r1595639 = r1595636 + r1595638;
        double r1595640 = r1595634 * r1595639;
        double r1595641 = r1595640 - r1595636;
        double r1595642 = sqrt(r1595641);
        double r1595643 = r1595629 / r1595642;
        return r1595643;
}

double f(double x, double l, double t) {
        double r1595644 = t;
        double r1595645 = -4.914206833303874e+65;
        bool r1595646 = r1595644 <= r1595645;
        double r1595647 = 2.0;
        double r1595648 = sqrt(r1595647);
        double r1595649 = r1595648 * r1595644;
        double r1595650 = 1.0;
        double r1595651 = r1595650 / r1595648;
        double r1595652 = x;
        double r1595653 = r1595652 * r1595652;
        double r1595654 = r1595644 / r1595653;
        double r1595655 = r1595651 * r1595654;
        double r1595656 = r1595647 / r1595648;
        double r1595657 = r1595644 / r1595652;
        double r1595658 = r1595657 + r1595654;
        double r1595659 = r1595656 * r1595658;
        double r1595660 = fma(r1595644, r1595648, r1595659);
        double r1595661 = r1595655 - r1595660;
        double r1595662 = r1595649 / r1595661;
        double r1595663 = -1.6072879684005276e-180;
        bool r1595664 = r1595644 <= r1595663;
        double r1595665 = sqrt(r1595648);
        double r1595666 = r1595665 * r1595665;
        double r1595667 = r1595644 * r1595666;
        double r1595668 = l;
        double r1595669 = r1595668 / r1595652;
        double r1595670 = r1595644 * r1595644;
        double r1595671 = fma(r1595669, r1595668, r1595670);
        double r1595672 = 4.0;
        double r1595673 = r1595672 * r1595670;
        double r1595674 = r1595673 / r1595652;
        double r1595675 = fma(r1595671, r1595647, r1595674);
        double r1595676 = sqrt(r1595675);
        double r1595677 = r1595667 / r1595676;
        double r1595678 = -1.3823772626115996e-305;
        bool r1595679 = r1595644 <= r1595678;
        double r1595680 = 8.370464796885246e+135;
        bool r1595681 = r1595644 <= r1595680;
        double r1595682 = cbrt(r1595648);
        double r1595683 = r1595682 * r1595682;
        double r1595684 = r1595682 * r1595644;
        double r1595685 = r1595683 * r1595684;
        double r1595686 = r1595685 / r1595676;
        double r1595687 = r1595648 * r1595652;
        double r1595688 = r1595644 / r1595687;
        double r1595689 = fma(r1595688, r1595647, r1595649);
        double r1595690 = r1595647 / r1595652;
        double r1595691 = r1595690 / r1595652;
        double r1595692 = r1595644 / r1595648;
        double r1595693 = r1595692 / r1595647;
        double r1595694 = r1595692 - r1595693;
        double r1595695 = r1595691 * r1595694;
        double r1595696 = r1595689 + r1595695;
        double r1595697 = r1595649 / r1595696;
        double r1595698 = r1595681 ? r1595686 : r1595697;
        double r1595699 = r1595679 ? r1595662 : r1595698;
        double r1595700 = r1595664 ? r1595677 : r1595699;
        double r1595701 = r1595646 ? r1595662 : r1595700;
        return r1595701;
}

\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{1}{\sqrt{2}} \cdot \frac{t}{x \cdot x} - (t \cdot \left(\sqrt{2}\right) + \left(\frac{2}{\sqrt{2}} \cdot \left(\frac{t}{x} + \frac{t}{x \cdot x}\right)\right))_*}\\

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

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

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

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

\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{1}{\sqrt{2}} \cdot \frac{t}{x \cdot x} - (t \cdot \left(\sqrt{2}\right) + \left(\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((\left(\frac{\ell}{x}\right) \cdot \ell + \left(t \cdot t\right))_*\right) \cdot 2 + \left(\frac{\left(t \cdot t\right) \cdot 4}{x}\right))_*}}}\]
    4. Using strategy rm
    5. Applied add-sqr-sqrt8.3

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

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

      \[\leadsto \frac{\color{blue}{\sqrt{\sqrt{2}} \cdot \left(\sqrt{\sqrt{2}} \cdot t\right)}}{\sqrt{(\left((\left(\frac{\ell}{x}\right) \cdot \ell + \left(t \cdot t\right))_*\right) \cdot 2 + \left(\frac{\left(t \cdot t\right) \cdot 4}{x}\right))_*}}\]
    8. Using strategy rm
    9. Applied associate-*r*8.5

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

    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((\left(\frac{\ell}{x}\right) \cdot \ell + \left(t \cdot t\right))_*\right) \cdot 2 + \left(\frac{\left(t \cdot t\right) \cdot 4}{x}\right))_*}}}\]
    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((\left(\frac{\ell}{x}\right) \cdot \ell + \left(t \cdot t\right))_*\right) \cdot 2 + \left(\frac{\left(t \cdot t\right) \cdot 4}{x}\right))_*}}\]
    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((\left(\frac{\ell}{x}\right) \cdot \ell + \left(t \cdot t\right))_*\right) \cdot 2 + \left(\frac{\left(t \cdot t\right) \cdot 4}{x}\right))_*}}\]

    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{\frac{2}{x}}{x} \cdot \left(\frac{t}{\sqrt{2}} - \frac{\frac{t}{\sqrt{2}}}{2}\right) + (\left(\frac{t}{\sqrt{2} \cdot x}\right) \cdot 2 + \left(\sqrt{2} \cdot t\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{1}{\sqrt{2}} \cdot \frac{t}{x \cdot x} - (t \cdot \left(\sqrt{2}\right) + \left(\frac{2}{\sqrt{2}} \cdot \left(\frac{t}{x} + \frac{t}{x \cdot x}\right)\right))_*}\\ \mathbf{elif}\;t \le -1.6072879684005276 \cdot 10^{-180}:\\ \;\;\;\;\frac{t \cdot \left(\sqrt{\sqrt{2}} \cdot \sqrt{\sqrt{2}}\right)}{\sqrt{(\left((\left(\frac{\ell}{x}\right) \cdot \ell + \left(t \cdot t\right))_*\right) \cdot 2 + \left(\frac{4 \cdot \left(t \cdot t\right)}{x}\right))_*}}\\ \mathbf{elif}\;t \le -1.3823772626115996 \cdot 10^{-305}:\\ \;\;\;\;\frac{\sqrt{2} \cdot t}{\frac{1}{\sqrt{2}} \cdot \frac{t}{x \cdot x} - (t \cdot \left(\sqrt{2}\right) + \left(\frac{2}{\sqrt{2}} \cdot \left(\frac{t}{x} + \frac{t}{x \cdot x}\right)\right))_*}\\ \mathbf{elif}\;t \le 8.370464796885246 \cdot 10^{+135}:\\ \;\;\;\;\frac{\left(\sqrt[3]{\sqrt{2}} \cdot \sqrt[3]{\sqrt{2}}\right) \cdot \left(\sqrt[3]{\sqrt{2}} \cdot t\right)}{\sqrt{(\left((\left(\frac{\ell}{x}\right) \cdot \ell + \left(t \cdot t\right))_*\right) \cdot 2 + \left(\frac{4 \cdot \left(t \cdot t\right)}{x}\right))_*}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\sqrt{2} \cdot t}{(\left(\frac{t}{\sqrt{2} \cdot x}\right) \cdot 2 + \left(\sqrt{2} \cdot t\right))_* + \frac{\frac{2}{x}}{x} \cdot \left(\frac{t}{\sqrt{2}} - \frac{\frac{t}{\sqrt{2}}}{2}\right)}\\ \end{array}\]

Reproduce

herbie shell --seed 2019102 +o rules:numerics
(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)))))