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}


Bits error versus x



Bits error versus l



Bits error versus t
if t < -4.914206833303874e+65 or -1.6072879684005276e-180 < t < -1.3823772626115996e-305Initial program 49.8
Taylor expanded around -inf 12.1
Simplified12.1
if -4.914206833303874e+65 < t < -1.6072879684005276e-180Initial program 31.3
Taylor expanded around inf 12.8
Simplified8.3
rmApplied add-sqr-sqrt8.3
Applied sqrt-prod8.5
Applied associate-*l*8.4
rmApplied associate-*r*8.5
if -1.3823772626115996e-305 < t < 8.370464796885246e+135Initial program 34.4
Taylor expanded around inf 16.8
Simplified12.3
rmApplied add-cube-cbrt12.3
Applied associate-*l*12.3
if 8.370464796885246e+135 < t Initial program 57.2
Taylor expanded around inf 2.4
Simplified2.4
Final simplification9.8
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)))))