\frac{2}{\left(\left(\frac{{t}^{3}}{\ell \cdot \ell} \cdot \sin k\right) \cdot \tan k\right) \cdot \left(\left(1 + {\left(\frac{k}{t}\right)}^{2}\right) + 1\right)}\begin{array}{l}
\mathbf{if}\;t \le -5.481507593861878460145816755067202944483 \cdot 10^{-263} \lor \neg \left(t \le 6.565726687888966078976606764192118335339 \cdot 10^{-111}\right):\\
\;\;\;\;\frac{2}{\left(\left(\frac{{\left(\sqrt[3]{t}\right)}^{3}}{\sqrt[3]{\ell} \cdot \sqrt[3]{\ell}} \cdot \frac{{t}^{\left(\frac{1}{3} \cdot 3\right)}}{\sqrt[3]{\ell}}\right) \cdot \left(\frac{{\left(\sqrt[3]{t}\right)}^{3}}{\ell} \cdot \sin k\right)\right) \cdot \left(\tan k \cdot \left(\left(1 + {\left(\frac{k}{t}\right)}^{2}\right) + 1\right)\right)}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{-\left(2 \cdot \left({\left(\frac{1}{{-1}^{3}}\right)}^{1} \cdot \frac{{\left(\sqrt[3]{-1}\right)}^{6} \cdot \left({t}^{3} \cdot {\left(\sin k\right)}^{2}\right)}{\cos k \cdot {\ell}^{2}}\right) + {\left(\frac{1}{{-1}^{3}}\right)}^{1} \cdot \frac{t \cdot \left({k}^{2} \cdot {\left(\sin k\right)}^{2}\right)}{\cos k \cdot {\ell}^{2}}\right)}\\
\end{array}double f(double t, double l, double k) {
double r120226 = 2.0;
double r120227 = t;
double r120228 = 3.0;
double r120229 = pow(r120227, r120228);
double r120230 = l;
double r120231 = r120230 * r120230;
double r120232 = r120229 / r120231;
double r120233 = k;
double r120234 = sin(r120233);
double r120235 = r120232 * r120234;
double r120236 = tan(r120233);
double r120237 = r120235 * r120236;
double r120238 = 1.0;
double r120239 = r120233 / r120227;
double r120240 = pow(r120239, r120226);
double r120241 = r120238 + r120240;
double r120242 = r120241 + r120238;
double r120243 = r120237 * r120242;
double r120244 = r120226 / r120243;
return r120244;
}
double f(double t, double l, double k) {
double r120245 = t;
double r120246 = -5.4815075938618785e-263;
bool r120247 = r120245 <= r120246;
double r120248 = 6.565726687888966e-111;
bool r120249 = r120245 <= r120248;
double r120250 = !r120249;
bool r120251 = r120247 || r120250;
double r120252 = 2.0;
double r120253 = cbrt(r120245);
double r120254 = 3.0;
double r120255 = pow(r120253, r120254);
double r120256 = l;
double r120257 = cbrt(r120256);
double r120258 = r120257 * r120257;
double r120259 = r120255 / r120258;
double r120260 = 0.3333333333333333;
double r120261 = r120260 * r120254;
double r120262 = pow(r120245, r120261);
double r120263 = r120262 / r120257;
double r120264 = r120259 * r120263;
double r120265 = r120255 / r120256;
double r120266 = k;
double r120267 = sin(r120266);
double r120268 = r120265 * r120267;
double r120269 = r120264 * r120268;
double r120270 = tan(r120266);
double r120271 = 1.0;
double r120272 = r120266 / r120245;
double r120273 = pow(r120272, r120252);
double r120274 = r120271 + r120273;
double r120275 = r120274 + r120271;
double r120276 = r120270 * r120275;
double r120277 = r120269 * r120276;
double r120278 = r120252 / r120277;
double r120279 = 1.0;
double r120280 = -1.0;
double r120281 = pow(r120280, r120254);
double r120282 = r120279 / r120281;
double r120283 = pow(r120282, r120271);
double r120284 = cbrt(r120280);
double r120285 = 6.0;
double r120286 = pow(r120284, r120285);
double r120287 = 3.0;
double r120288 = pow(r120245, r120287);
double r120289 = 2.0;
double r120290 = pow(r120267, r120289);
double r120291 = r120288 * r120290;
double r120292 = r120286 * r120291;
double r120293 = cos(r120266);
double r120294 = pow(r120256, r120289);
double r120295 = r120293 * r120294;
double r120296 = r120292 / r120295;
double r120297 = r120283 * r120296;
double r120298 = r120252 * r120297;
double r120299 = pow(r120266, r120289);
double r120300 = r120299 * r120290;
double r120301 = r120245 * r120300;
double r120302 = r120301 / r120295;
double r120303 = r120283 * r120302;
double r120304 = r120298 + r120303;
double r120305 = -r120304;
double r120306 = r120252 / r120305;
double r120307 = r120251 ? r120278 : r120306;
return r120307;
}



Bits error versus t



Bits error versus l



Bits error versus k
Results
if t < -5.4815075938618785e-263 or 6.565726687888966e-111 < t Initial program 27.6
rmApplied add-cube-cbrt27.8
Applied unpow-prod-down27.8
Applied times-frac21.3
Applied associate-*l*19.3
rmApplied add-cube-cbrt19.3
Applied unpow-prod-down19.3
Applied times-frac14.1
rmApplied associate-*l*14.0
rmApplied pow1/340.6
Applied pow-pow13.9
if -5.4815075938618785e-263 < t < 6.565726687888966e-111Initial program 64.0
rmApplied add-cube-cbrt64.0
Applied unpow-prod-down64.0
Applied times-frac57.1
Applied associate-*l*57.1
rmApplied add-cube-cbrt57.1
Applied unpow-prod-down57.1
Applied times-frac49.9
Taylor expanded around -inf 39.7
Final simplification17.5
herbie shell --seed 2019362 +o rules:numerics
(FPCore (t l k)
:name "Toniolo and Linder, Equation (10+)"
:precision binary64
(/ 2 (* (* (* (/ (pow t 3) (* l l)) (sin k)) (tan k)) (+ (+ 1 (pow (/ k t) 2)) 1))))