\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 -58247696904127.2109375:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\left(\frac{2}{x \cdot \left(2 \cdot \sqrt{2}\right)} \cdot \frac{t}{x} - \left(\sqrt{2} \cdot t + \frac{2}{x} \cdot \frac{t}{\sqrt{2}}\right)\right) - \frac{\frac{t}{\sqrt{2}}}{x} \cdot \frac{2}{x}}\\
\mathbf{elif}\;t \le -5.242249805913045867450090915214772954844 \cdot 10^{-178}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\sqrt{\left(\ell \cdot \frac{\ell}{x} + t \cdot t\right) \cdot 2 + \frac{t \cdot t}{x} \cdot 4}}\\
\mathbf{elif}\;t \le -1.767112184427095362325496880045283600293 \cdot 10^{-207}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\left(\frac{2}{x \cdot \left(2 \cdot \sqrt{2}\right)} \cdot \frac{t}{x} - \left(\sqrt{2} \cdot t + \frac{2}{x} \cdot \frac{t}{\sqrt{2}}\right)\right) - \frac{\frac{t}{\sqrt{2}}}{x} \cdot \frac{2}{x}}\\
\mathbf{elif}\;t \le 2.446206220376988800454247232960358210718 \cdot 10^{64}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\sqrt{\frac{t \cdot t}{x} \cdot 4 + \left(\sqrt{\frac{\ell}{\frac{x}{\ell}} + t \cdot t} \cdot \sqrt{\frac{\ell}{\frac{x}{\ell}} + t \cdot t}\right) \cdot 2}}\\
\mathbf{else}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\left(\sqrt{2} \cdot t + \frac{2}{x} \cdot \frac{t}{\sqrt{2}}\right) + \left(\frac{\frac{t}{\sqrt{2}}}{x} \cdot \frac{2}{x} - \frac{2}{x \cdot \left(2 \cdot \sqrt{2}\right)} \cdot \frac{t}{x}\right)}\\
\end{array}double f(double x, double l, double t) {
double r1456127 = 2.0;
double r1456128 = sqrt(r1456127);
double r1456129 = t;
double r1456130 = r1456128 * r1456129;
double r1456131 = x;
double r1456132 = 1.0;
double r1456133 = r1456131 + r1456132;
double r1456134 = r1456131 - r1456132;
double r1456135 = r1456133 / r1456134;
double r1456136 = l;
double r1456137 = r1456136 * r1456136;
double r1456138 = r1456129 * r1456129;
double r1456139 = r1456127 * r1456138;
double r1456140 = r1456137 + r1456139;
double r1456141 = r1456135 * r1456140;
double r1456142 = r1456141 - r1456137;
double r1456143 = sqrt(r1456142);
double r1456144 = r1456130 / r1456143;
return r1456144;
}
double f(double x, double l, double t) {
double r1456145 = t;
double r1456146 = -58247696904127.21;
bool r1456147 = r1456145 <= r1456146;
double r1456148 = 2.0;
double r1456149 = sqrt(r1456148);
double r1456150 = r1456149 * r1456145;
double r1456151 = x;
double r1456152 = r1456148 * r1456149;
double r1456153 = r1456151 * r1456152;
double r1456154 = r1456148 / r1456153;
double r1456155 = r1456145 / r1456151;
double r1456156 = r1456154 * r1456155;
double r1456157 = r1456148 / r1456151;
double r1456158 = r1456145 / r1456149;
double r1456159 = r1456157 * r1456158;
double r1456160 = r1456150 + r1456159;
double r1456161 = r1456156 - r1456160;
double r1456162 = r1456158 / r1456151;
double r1456163 = r1456162 * r1456157;
double r1456164 = r1456161 - r1456163;
double r1456165 = r1456150 / r1456164;
double r1456166 = -5.242249805913046e-178;
bool r1456167 = r1456145 <= r1456166;
double r1456168 = l;
double r1456169 = r1456168 / r1456151;
double r1456170 = r1456168 * r1456169;
double r1456171 = r1456145 * r1456145;
double r1456172 = r1456170 + r1456171;
double r1456173 = r1456172 * r1456148;
double r1456174 = r1456171 / r1456151;
double r1456175 = 4.0;
double r1456176 = r1456174 * r1456175;
double r1456177 = r1456173 + r1456176;
double r1456178 = sqrt(r1456177);
double r1456179 = r1456150 / r1456178;
double r1456180 = -1.7671121844270954e-207;
bool r1456181 = r1456145 <= r1456180;
double r1456182 = 2.4462062203769888e+64;
bool r1456183 = r1456145 <= r1456182;
double r1456184 = r1456151 / r1456168;
double r1456185 = r1456168 / r1456184;
double r1456186 = r1456185 + r1456171;
double r1456187 = sqrt(r1456186);
double r1456188 = r1456187 * r1456187;
double r1456189 = r1456188 * r1456148;
double r1456190 = r1456176 + r1456189;
double r1456191 = sqrt(r1456190);
double r1456192 = r1456150 / r1456191;
double r1456193 = r1456163 - r1456156;
double r1456194 = r1456160 + r1456193;
double r1456195 = r1456150 / r1456194;
double r1456196 = r1456183 ? r1456192 : r1456195;
double r1456197 = r1456181 ? r1456165 : r1456196;
double r1456198 = r1456167 ? r1456179 : r1456197;
double r1456199 = r1456147 ? r1456165 : r1456198;
return r1456199;
}



Bits error versus x



Bits error versus l



Bits error versus t
Results
if t < -58247696904127.21 or -5.242249805913046e-178 < t < -1.7671121844270954e-207Initial program 44.0
Taylor expanded around -inf 6.5
Simplified6.5
if -58247696904127.21 < t < -5.242249805913046e-178Initial program 33.3
Taylor expanded around inf 12.5
Simplified12.5
rmApplied *-un-lft-identity12.5
Applied times-frac7.8
Simplified7.8
if -1.7671121844270954e-207 < t < 2.4462062203769888e+64Initial program 44.4
Taylor expanded around inf 20.7
Simplified20.7
rmApplied associate-/l*17.3
rmApplied add-sqr-sqrt17.3
if 2.4462062203769888e+64 < t Initial program 45.4
Taylor expanded around inf 3.6
Simplified3.6
Final simplification9.5
herbie shell --seed 2019169
(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)))))