\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}\;\ell \cdot \ell \le 9.88131 \cdot 10^{-324}:\\
\;\;\;\;2 \cdot \left({\left(\frac{1}{{k}^{\left(\frac{2}{2}\right)} \cdot \left({k}^{\left(\frac{2}{2}\right)} \cdot {t}^{1}\right)}\right)}^{1} \cdot \frac{\frac{\cos k}{\frac{\frac{{\left(\sqrt[3]{\sin k}\right)}^{4}}{\ell}}{\ell}}}{{\left(\sqrt[3]{\sin k}\right)}^{2}}\right)\\
\mathbf{elif}\;\ell \cdot \ell \le 7.7895926479734956 \cdot 10^{303}:\\
\;\;\;\;2 \cdot \left({\left(\frac{\sqrt{1}}{{k}^{\left(\frac{2}{2}\right)}}\right)}^{1} \cdot \left({\left(\frac{1}{{k}^{\left(\frac{2}{2}\right)} \cdot {t}^{1}}\right)}^{1} \cdot \left(\frac{\cos k}{\sin k} \cdot \frac{{\ell}^{2}}{\sin k}\right)\right)\right)\\
\mathbf{else}:\\
\;\;\;\;2 \cdot \log \left({\left(e^{{\left(\frac{1}{{t}^{1} \cdot {k}^{2}}\right)}^{1}}\right)}^{\left(\frac{\cos k \cdot {\ell}^{2}}{{\left(\sin k\right)}^{2}}\right)}\right)\\
\end{array}double f(double t, double l, double k) {
double r91327 = 2.0;
double r91328 = t;
double r91329 = 3.0;
double r91330 = pow(r91328, r91329);
double r91331 = l;
double r91332 = r91331 * r91331;
double r91333 = r91330 / r91332;
double r91334 = k;
double r91335 = sin(r91334);
double r91336 = r91333 * r91335;
double r91337 = tan(r91334);
double r91338 = r91336 * r91337;
double r91339 = 1.0;
double r91340 = r91334 / r91328;
double r91341 = pow(r91340, r91327);
double r91342 = r91339 + r91341;
double r91343 = r91342 - r91339;
double r91344 = r91338 * r91343;
double r91345 = r91327 / r91344;
return r91345;
}
double f(double t, double l, double k) {
double r91346 = l;
double r91347 = r91346 * r91346;
double r91348 = 9.8813129168249e-324;
bool r91349 = r91347 <= r91348;
double r91350 = 2.0;
double r91351 = 1.0;
double r91352 = k;
double r91353 = 2.0;
double r91354 = r91350 / r91353;
double r91355 = pow(r91352, r91354);
double r91356 = t;
double r91357 = 1.0;
double r91358 = pow(r91356, r91357);
double r91359 = r91355 * r91358;
double r91360 = r91355 * r91359;
double r91361 = r91351 / r91360;
double r91362 = pow(r91361, r91357);
double r91363 = cos(r91352);
double r91364 = sin(r91352);
double r91365 = cbrt(r91364);
double r91366 = 4.0;
double r91367 = pow(r91365, r91366);
double r91368 = r91367 / r91346;
double r91369 = r91368 / r91346;
double r91370 = r91363 / r91369;
double r91371 = pow(r91365, r91353);
double r91372 = r91370 / r91371;
double r91373 = r91362 * r91372;
double r91374 = r91350 * r91373;
double r91375 = 7.789592647973496e+303;
bool r91376 = r91347 <= r91375;
double r91377 = sqrt(r91351);
double r91378 = r91377 / r91355;
double r91379 = pow(r91378, r91357);
double r91380 = r91351 / r91359;
double r91381 = pow(r91380, r91357);
double r91382 = r91363 / r91364;
double r91383 = pow(r91346, r91353);
double r91384 = r91383 / r91364;
double r91385 = r91382 * r91384;
double r91386 = r91381 * r91385;
double r91387 = r91379 * r91386;
double r91388 = r91350 * r91387;
double r91389 = pow(r91352, r91350);
double r91390 = r91358 * r91389;
double r91391 = r91351 / r91390;
double r91392 = pow(r91391, r91357);
double r91393 = exp(r91392);
double r91394 = r91363 * r91383;
double r91395 = pow(r91364, r91353);
double r91396 = r91394 / r91395;
double r91397 = pow(r91393, r91396);
double r91398 = log(r91397);
double r91399 = r91350 * r91398;
double r91400 = r91376 ? r91388 : r91399;
double r91401 = r91349 ? r91374 : r91400;
return r91401;
}



Bits error versus t



Bits error versus l



Bits error versus k
Results
if (* l l) < 9.8813129168249e-324Initial program 46.0
Simplified37.2
Taylor expanded around inf 19.7
rmApplied sqr-pow19.7
Applied associate-*l*19.7
rmApplied add-cube-cbrt19.7
Applied unpow-prod-down19.7
Applied associate-/r*19.6
Simplified13.5
if 9.8813129168249e-324 < (* l l) < 7.789592647973496e+303Initial program 44.4
Simplified35.3
Taylor expanded around inf 11.6
rmApplied sqr-pow11.6
Applied associate-*l*7.3
rmApplied add-sqr-sqrt7.3
Applied times-frac6.9
Applied unpow-prod-down6.9
Applied associate-*l*4.0
Simplified4.0
rmApplied add-sqr-sqrt35.0
Applied unpow-prod-down35.0
Applied times-frac34.8
Simplified34.7
Simplified3.6
if 7.789592647973496e+303 < (* l l) Initial program 63.8
Simplified63.8
Taylor expanded around inf 63.7
rmApplied sqr-pow63.7
Applied associate-*l*63.7
rmApplied add-log-exp63.8
Simplified58.2
Final simplification15.0
herbie shell --seed 2020089 +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))))