\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 -3.651945504637402590186377945564960446005 \cdot 10^{98}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\left(\left(\frac{t}{\left(x \cdot x\right) \cdot \left(2 \cdot \sqrt{2}\right)} - \frac{\frac{t}{\sqrt{2}}}{x}\right) - \frac{\frac{t}{\sqrt{2}}}{x \cdot x}\right) \cdot 2 - \sqrt{2} \cdot t}\\
\mathbf{elif}\;t \le 1.423524572675994608344388557654474711065 \cdot 10^{99}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\sqrt{\sqrt{2 \cdot \left(\frac{\ell}{\sqrt[3]{x}} \cdot \frac{\ell}{\sqrt[3]{x} \cdot \sqrt[3]{x}} + t \cdot t\right) + \frac{4}{\frac{x}{t \cdot t}}}} \cdot \sqrt{\sqrt{2 \cdot \left(\frac{\ell}{\sqrt[3]{x}} \cdot \frac{\ell}{\sqrt[3]{x} \cdot \sqrt[3]{x}} + t \cdot t\right) + \frac{4}{\frac{x}{t \cdot t}}}}}\\
\mathbf{else}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\left(\left(\frac{\frac{t}{\sqrt{2}}}{x} - \frac{t}{\left(x \cdot x\right) \cdot \left(2 \cdot \sqrt{2}\right)}\right) \cdot 2 + \frac{2}{x} \cdot \frac{\frac{t}{\sqrt{2}}}{x}\right) + \sqrt{2} \cdot t}\\
\end{array}double f(double x, double l, double t) {
double r1727087 = 2.0;
double r1727088 = sqrt(r1727087);
double r1727089 = t;
double r1727090 = r1727088 * r1727089;
double r1727091 = x;
double r1727092 = 1.0;
double r1727093 = r1727091 + r1727092;
double r1727094 = r1727091 - r1727092;
double r1727095 = r1727093 / r1727094;
double r1727096 = l;
double r1727097 = r1727096 * r1727096;
double r1727098 = r1727089 * r1727089;
double r1727099 = r1727087 * r1727098;
double r1727100 = r1727097 + r1727099;
double r1727101 = r1727095 * r1727100;
double r1727102 = r1727101 - r1727097;
double r1727103 = sqrt(r1727102);
double r1727104 = r1727090 / r1727103;
return r1727104;
}
double f(double x, double l, double t) {
double r1727105 = t;
double r1727106 = -3.6519455046374026e+98;
bool r1727107 = r1727105 <= r1727106;
double r1727108 = 2.0;
double r1727109 = sqrt(r1727108);
double r1727110 = r1727109 * r1727105;
double r1727111 = x;
double r1727112 = r1727111 * r1727111;
double r1727113 = r1727108 * r1727109;
double r1727114 = r1727112 * r1727113;
double r1727115 = r1727105 / r1727114;
double r1727116 = r1727105 / r1727109;
double r1727117 = r1727116 / r1727111;
double r1727118 = r1727115 - r1727117;
double r1727119 = r1727116 / r1727112;
double r1727120 = r1727118 - r1727119;
double r1727121 = r1727120 * r1727108;
double r1727122 = r1727121 - r1727110;
double r1727123 = r1727110 / r1727122;
double r1727124 = 1.4235245726759946e+99;
bool r1727125 = r1727105 <= r1727124;
double r1727126 = l;
double r1727127 = cbrt(r1727111);
double r1727128 = r1727126 / r1727127;
double r1727129 = r1727127 * r1727127;
double r1727130 = r1727126 / r1727129;
double r1727131 = r1727128 * r1727130;
double r1727132 = r1727105 * r1727105;
double r1727133 = r1727131 + r1727132;
double r1727134 = r1727108 * r1727133;
double r1727135 = 4.0;
double r1727136 = r1727111 / r1727132;
double r1727137 = r1727135 / r1727136;
double r1727138 = r1727134 + r1727137;
double r1727139 = sqrt(r1727138);
double r1727140 = sqrt(r1727139);
double r1727141 = r1727140 * r1727140;
double r1727142 = r1727110 / r1727141;
double r1727143 = r1727117 - r1727115;
double r1727144 = r1727143 * r1727108;
double r1727145 = r1727108 / r1727111;
double r1727146 = r1727145 * r1727117;
double r1727147 = r1727144 + r1727146;
double r1727148 = r1727147 + r1727110;
double r1727149 = r1727110 / r1727148;
double r1727150 = r1727125 ? r1727142 : r1727149;
double r1727151 = r1727107 ? r1727123 : r1727150;
return r1727151;
}



Bits error versus x



Bits error versus l



Bits error versus t
Results
if t < -3.6519455046374026e+98Initial program 49.0
Taylor expanded around -inf 2.5
Simplified2.5
if -3.6519455046374026e+98 < t < 1.4235245726759946e+99Initial program 38.7
Taylor expanded around inf 17.6
Simplified17.6
rmApplied add-cube-cbrt17.7
Applied times-frac13.2
rmApplied add-sqr-sqrt13.2
Applied sqrt-prod13.4
if 1.4235245726759946e+99 < t Initial program 49.5
Taylor expanded around inf 3.3
Simplified3.3
Final simplification9.2
herbie shell --seed 2019168
(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)))))