\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.243813726496810046216087454408466161823 \cdot 10^{131}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\left(2 \cdot \left(\frac{t}{{\left(\sqrt{2}\right)}^{3} \cdot {x}^{2}} - \frac{t}{\sqrt{2} \cdot {x}^{2}}\right) - \sqrt{2} \cdot t\right) - 2 \cdot \frac{t}{\sqrt{2} \cdot x}}\\
\mathbf{elif}\;t \le -3.74201052226676181137738354162710377955 \cdot 10^{-171}:\\
\;\;\;\;\frac{\left(t \cdot \left(\sqrt[3]{\sqrt{2}} \cdot \sqrt[3]{\sqrt{2}}\right)\right) \cdot \sqrt[3]{\sqrt{2}}}{\sqrt{4 \cdot \frac{{t}^{2}}{x} + 2 \cdot \left({t}^{2} + \frac{{\ell}^{1}}{\frac{x}{\ell}}\right)}}\\
\mathbf{elif}\;t \le -9.65661977856294474397022435116588425249 \cdot 10^{-284}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\left(2 \cdot \left(\frac{t}{{\left(\sqrt{2}\right)}^{3} \cdot {x}^{2}} - \frac{t}{\sqrt{2} \cdot {x}^{2}}\right) - \sqrt{2} \cdot t\right) - 2 \cdot \frac{t}{\sqrt{2} \cdot x}}\\
\mathbf{elif}\;t \le 1.099946805862130111857136625974264458433 \cdot 10^{-230}:\\
\;\;\;\;\frac{\left(t \cdot \left(\sqrt[3]{\sqrt{2}} \cdot \sqrt[3]{\sqrt{2}}\right)\right) \cdot \sqrt[3]{\sqrt{2}}}{\sqrt{4 \cdot \frac{{t}^{2}}{x} + 2 \cdot \left({t}^{2} + \frac{{\ell}^{1}}{\frac{x}{\ell}}\right)}}\\
\mathbf{elif}\;t \le 4.243824200753928978433258108485765645511 \cdot 10^{-175}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\sqrt{2} \cdot t + \left(2 \cdot \frac{t}{\sqrt{2} \cdot x} + \frac{2}{{x}^{2}} \cdot \left(\frac{t}{\sqrt{2}} - \frac{t}{{\left(\sqrt{2}\right)}^{3}}\right)\right)}\\
\mathbf{elif}\;t \le 9.286494301117226032518290565865992723612 \cdot 10^{135}:\\
\;\;\;\;\frac{t \cdot \sqrt{2}}{\sqrt{4 \cdot \frac{{t}^{2}}{x} + 2 \cdot \left({t}^{2} + \frac{{\ell}^{1}}{\frac{x}{\ell}}\right)}}\\
\mathbf{else}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\sqrt{2} \cdot t + \left(2 \cdot \frac{t}{\sqrt{2} \cdot x} + \frac{2}{{x}^{2}} \cdot \left(\frac{t}{\sqrt{2}} - \frac{t}{{\left(\sqrt{2}\right)}^{3}}\right)\right)}\\
\end{array}double f(double x, double l, double t) {
double r45124 = 2.0;
double r45125 = sqrt(r45124);
double r45126 = t;
double r45127 = r45125 * r45126;
double r45128 = x;
double r45129 = 1.0;
double r45130 = r45128 + r45129;
double r45131 = r45128 - r45129;
double r45132 = r45130 / r45131;
double r45133 = l;
double r45134 = r45133 * r45133;
double r45135 = r45126 * r45126;
double r45136 = r45124 * r45135;
double r45137 = r45134 + r45136;
double r45138 = r45132 * r45137;
double r45139 = r45138 - r45134;
double r45140 = sqrt(r45139);
double r45141 = r45127 / r45140;
return r45141;
}
double f(double x, double l, double t) {
double r45142 = t;
double r45143 = -1.24381372649681e+131;
bool r45144 = r45142 <= r45143;
double r45145 = 2.0;
double r45146 = sqrt(r45145);
double r45147 = r45146 * r45142;
double r45148 = 3.0;
double r45149 = pow(r45146, r45148);
double r45150 = x;
double r45151 = 2.0;
double r45152 = pow(r45150, r45151);
double r45153 = r45149 * r45152;
double r45154 = r45142 / r45153;
double r45155 = r45146 * r45152;
double r45156 = r45142 / r45155;
double r45157 = r45154 - r45156;
double r45158 = r45145 * r45157;
double r45159 = r45158 - r45147;
double r45160 = r45146 * r45150;
double r45161 = r45142 / r45160;
double r45162 = r45145 * r45161;
double r45163 = r45159 - r45162;
double r45164 = r45147 / r45163;
double r45165 = -3.742010522266762e-171;
bool r45166 = r45142 <= r45165;
double r45167 = cbrt(r45146);
double r45168 = r45167 * r45167;
double r45169 = r45142 * r45168;
double r45170 = r45169 * r45167;
double r45171 = 4.0;
double r45172 = pow(r45142, r45151);
double r45173 = r45172 / r45150;
double r45174 = r45171 * r45173;
double r45175 = l;
double r45176 = 1.0;
double r45177 = pow(r45175, r45176);
double r45178 = r45150 / r45175;
double r45179 = r45177 / r45178;
double r45180 = r45172 + r45179;
double r45181 = r45145 * r45180;
double r45182 = r45174 + r45181;
double r45183 = sqrt(r45182);
double r45184 = r45170 / r45183;
double r45185 = -9.656619778562945e-284;
bool r45186 = r45142 <= r45185;
double r45187 = 1.09994680586213e-230;
bool r45188 = r45142 <= r45187;
double r45189 = 4.243824200753929e-175;
bool r45190 = r45142 <= r45189;
double r45191 = r45145 / r45152;
double r45192 = r45142 / r45146;
double r45193 = r45142 / r45149;
double r45194 = r45192 - r45193;
double r45195 = r45191 * r45194;
double r45196 = r45162 + r45195;
double r45197 = r45147 + r45196;
double r45198 = r45147 / r45197;
double r45199 = 9.286494301117226e+135;
bool r45200 = r45142 <= r45199;
double r45201 = r45142 * r45146;
double r45202 = r45201 / r45183;
double r45203 = r45200 ? r45202 : r45198;
double r45204 = r45190 ? r45198 : r45203;
double r45205 = r45188 ? r45184 : r45204;
double r45206 = r45186 ? r45164 : r45205;
double r45207 = r45166 ? r45184 : r45206;
double r45208 = r45144 ? r45164 : r45207;
return r45208;
}



Bits error versus x



Bits error versus l



Bits error versus t
Results
if t < -1.24381372649681e+131 or -3.742010522266762e-171 < t < -9.656619778562945e-284Initial program 58.3
Taylor expanded around -inf 12.5
Simplified12.5
if -1.24381372649681e+131 < t < -3.742010522266762e-171 or -9.656619778562945e-284 < t < 1.09994680586213e-230Initial program 33.2
Taylor expanded around inf 15.0
Simplified15.0
rmApplied sqr-pow15.0
Applied associate-/l*10.4
Simplified10.4
rmApplied *-commutative10.4
rmApplied add-cube-cbrt10.4
Applied associate-*r*10.4
if 1.09994680586213e-230 < t < 4.243824200753929e-175 or 9.286494301117226e+135 < t Initial program 58.7
Taylor expanded around inf 7.1
Simplified7.1
if 4.243824200753929e-175 < t < 9.286494301117226e+135Initial program 26.9
Taylor expanded around inf 11.3
Simplified11.3
rmApplied sqr-pow11.3
Applied associate-/l*6.2
Simplified6.2
rmApplied *-commutative6.2
Final simplification9.1
herbie shell --seed 2019308
(FPCore (x l t)
:name "Toniolo and Linder, Equation (7)"
:precision binary64
(/ (* (sqrt 2) t) (sqrt (- (* (/ (+ x 1) (- x 1)) (+ (* l l) (* 2 (* t t)))) (* l l)))))