\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 -1.046010354271018 \cdot 10^{+94}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\left(\frac{\frac{t}{\sqrt{2}}}{x \cdot x} - \left(\sqrt{2} \cdot t + 2 \cdot \frac{t}{x \cdot \sqrt{2}}\right)\right) - \frac{t}{x \cdot \sqrt{2}} \cdot \frac{2}{x}}\\
\mathbf{elif}\;t \le 1.4541398591892197 \cdot 10^{+121}:\\
\;\;\;\;\frac{\left(\sqrt[3]{\sqrt{2}} \cdot t\right) \cdot \left(\sqrt[3]{\sqrt{2}} \cdot \sqrt[3]{\sqrt{2}}\right)}{\sqrt{\left(t \cdot t\right) \cdot \frac{4}{x} + 2 \cdot \left(\frac{\ell}{x} \cdot \ell + t \cdot t\right)}}\\
\mathbf{else}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\left(\left(\sqrt{2} \cdot t + 2 \cdot \frac{t}{x \cdot \sqrt{2}}\right) + \frac{t}{x \cdot \sqrt{2}} \cdot \frac{2}{x}\right) - \frac{\frac{t}{\sqrt{2}}}{x \cdot x}}\\
\end{array}double f(double x, double l, double t) {
double r1227056 = 2.0;
double r1227057 = sqrt(r1227056);
double r1227058 = t;
double r1227059 = r1227057 * r1227058;
double r1227060 = x;
double r1227061 = 1.0;
double r1227062 = r1227060 + r1227061;
double r1227063 = r1227060 - r1227061;
double r1227064 = r1227062 / r1227063;
double r1227065 = l;
double r1227066 = r1227065 * r1227065;
double r1227067 = r1227058 * r1227058;
double r1227068 = r1227056 * r1227067;
double r1227069 = r1227066 + r1227068;
double r1227070 = r1227064 * r1227069;
double r1227071 = r1227070 - r1227066;
double r1227072 = sqrt(r1227071);
double r1227073 = r1227059 / r1227072;
return r1227073;
}
double f(double x, double l, double t) {
double r1227074 = t;
double r1227075 = -1.046010354271018e+94;
bool r1227076 = r1227074 <= r1227075;
double r1227077 = 2.0;
double r1227078 = sqrt(r1227077);
double r1227079 = r1227078 * r1227074;
double r1227080 = r1227074 / r1227078;
double r1227081 = x;
double r1227082 = r1227081 * r1227081;
double r1227083 = r1227080 / r1227082;
double r1227084 = r1227081 * r1227078;
double r1227085 = r1227074 / r1227084;
double r1227086 = r1227077 * r1227085;
double r1227087 = r1227079 + r1227086;
double r1227088 = r1227083 - r1227087;
double r1227089 = r1227077 / r1227081;
double r1227090 = r1227085 * r1227089;
double r1227091 = r1227088 - r1227090;
double r1227092 = r1227079 / r1227091;
double r1227093 = 1.4541398591892197e+121;
bool r1227094 = r1227074 <= r1227093;
double r1227095 = cbrt(r1227078);
double r1227096 = r1227095 * r1227074;
double r1227097 = r1227095 * r1227095;
double r1227098 = r1227096 * r1227097;
double r1227099 = r1227074 * r1227074;
double r1227100 = 4.0;
double r1227101 = r1227100 / r1227081;
double r1227102 = r1227099 * r1227101;
double r1227103 = l;
double r1227104 = r1227103 / r1227081;
double r1227105 = r1227104 * r1227103;
double r1227106 = r1227105 + r1227099;
double r1227107 = r1227077 * r1227106;
double r1227108 = r1227102 + r1227107;
double r1227109 = sqrt(r1227108);
double r1227110 = r1227098 / r1227109;
double r1227111 = r1227087 + r1227090;
double r1227112 = r1227111 - r1227083;
double r1227113 = r1227079 / r1227112;
double r1227114 = r1227094 ? r1227110 : r1227113;
double r1227115 = r1227076 ? r1227092 : r1227114;
return r1227115;
}



Bits error versus x



Bits error versus l



Bits error versus t
Results
if t < -1.046010354271018e+94Initial program 49.9
Taylor expanded around -inf 3.1
Simplified3.1
if -1.046010354271018e+94 < t < 1.4541398591892197e+121Initial program 36.6
Taylor expanded around inf 16.9
Simplified16.9
Taylor expanded around 0 16.9
Simplified13.0
rmApplied add-cube-cbrt13.0
Applied associate-*l*13.0
if 1.4541398591892197e+121 < t Initial program 53.7
Taylor expanded around inf 3.1
Simplified3.1
Final simplification9.1
herbie shell --seed 2019135
(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)))))