\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}\;k \le -6.75751666315631356 \cdot 10^{136}:\\
\;\;\;\;2 \cdot \left({\left(\frac{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 \frac{\cos k \cdot {\ell}^{2}}{{\left(\sin k\right)}^{2}}\right)\right)\\
\mathbf{elif}\;k \le -5.86655708050654464 \cdot 10^{-121}:\\
\;\;\;\;2 \cdot \frac{\left({\left(\frac{1}{{k}^{2} \cdot {t}^{1}}\right)}^{1} \cdot \frac{\cos k}{\sin k}\right) \cdot \ell}{\frac{\sin k}{\ell}}\\
\mathbf{elif}\;k \le 2.71125742269702153 \cdot 10^{-148}:\\
\;\;\;\;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}{\sin k} \cdot \ell}{\frac{\sin k}{\ell}}\right)\\
\mathbf{elif}\;k \le 1.6455364292447533 \cdot 10^{142}:\\
\;\;\;\;2 \cdot \frac{\left({\left(\frac{1}{{k}^{2} \cdot {t}^{1}}\right)}^{1} \cdot \ell\right) \cdot \cos k}{\sin k \cdot \frac{\sin k}{\ell}}\\
\mathbf{else}:\\
\;\;\;\;2 \cdot \left({\left(\frac{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 \frac{\cos k \cdot {\ell}^{2}}{{\left(\sin k\right)}^{2}}\right)\right)\\
\end{array}double f(double t, double l, double k) {
double r89365 = 2.0;
double r89366 = t;
double r89367 = 3.0;
double r89368 = pow(r89366, r89367);
double r89369 = l;
double r89370 = r89369 * r89369;
double r89371 = r89368 / r89370;
double r89372 = k;
double r89373 = sin(r89372);
double r89374 = r89371 * r89373;
double r89375 = tan(r89372);
double r89376 = r89374 * r89375;
double r89377 = 1.0;
double r89378 = r89372 / r89366;
double r89379 = pow(r89378, r89365);
double r89380 = r89377 + r89379;
double r89381 = r89380 - r89377;
double r89382 = r89376 * r89381;
double r89383 = r89365 / r89382;
return r89383;
}
double f(double t, double l, double k) {
double r89384 = k;
double r89385 = -6.757516663156314e+136;
bool r89386 = r89384 <= r89385;
double r89387 = 2.0;
double r89388 = 1.0;
double r89389 = 2.0;
double r89390 = r89387 / r89389;
double r89391 = pow(r89384, r89390);
double r89392 = r89388 / r89391;
double r89393 = 1.0;
double r89394 = pow(r89392, r89393);
double r89395 = t;
double r89396 = pow(r89395, r89393);
double r89397 = r89391 * r89396;
double r89398 = r89388 / r89397;
double r89399 = pow(r89398, r89393);
double r89400 = cos(r89384);
double r89401 = l;
double r89402 = pow(r89401, r89389);
double r89403 = r89400 * r89402;
double r89404 = sin(r89384);
double r89405 = pow(r89404, r89389);
double r89406 = r89403 / r89405;
double r89407 = r89399 * r89406;
double r89408 = r89394 * r89407;
double r89409 = r89387 * r89408;
double r89410 = -5.866557080506545e-121;
bool r89411 = r89384 <= r89410;
double r89412 = pow(r89384, r89387);
double r89413 = r89412 * r89396;
double r89414 = r89388 / r89413;
double r89415 = pow(r89414, r89393);
double r89416 = r89400 / r89404;
double r89417 = r89415 * r89416;
double r89418 = r89417 * r89401;
double r89419 = r89404 / r89401;
double r89420 = r89418 / r89419;
double r89421 = r89387 * r89420;
double r89422 = 2.7112574226970215e-148;
bool r89423 = r89384 <= r89422;
double r89424 = r89391 * r89397;
double r89425 = r89388 / r89424;
double r89426 = pow(r89425, r89393);
double r89427 = r89416 * r89401;
double r89428 = r89427 / r89419;
double r89429 = r89426 * r89428;
double r89430 = r89387 * r89429;
double r89431 = 1.6455364292447533e+142;
bool r89432 = r89384 <= r89431;
double r89433 = r89415 * r89401;
double r89434 = r89433 * r89400;
double r89435 = r89404 * r89419;
double r89436 = r89434 / r89435;
double r89437 = r89387 * r89436;
double r89438 = r89432 ? r89437 : r89409;
double r89439 = r89423 ? r89430 : r89438;
double r89440 = r89411 ? r89421 : r89439;
double r89441 = r89386 ? r89409 : r89440;
return r89441;
}



Bits error versus t



Bits error versus l



Bits error versus k
Results
if k < -6.757516663156314e+136 or 1.6455364292447533e+142 < k Initial program 40.4
Simplified34.2
Taylor expanded around inf 23.4
rmApplied sqr-pow23.4
Applied associate-*l*18.5
rmApplied *-un-lft-identity18.5
Applied times-frac18.3
Applied unpow-prod-down18.3
Applied associate-*l*15.1
if -6.757516663156314e+136 < k < -5.866557080506545e-121Initial program 53.7
Simplified43.1
Taylor expanded around inf 16.8
rmApplied sqr-pow16.8
Applied associate-*l*16.8
rmApplied add-sqr-sqrt49.2
Applied unpow-prod-down49.2
Applied times-frac49.3
Simplified49.2
Simplified15.4
rmApplied associate-*r/14.1
Applied associate-*r/7.4
Simplified9.2
if -5.866557080506545e-121 < k < 2.7112574226970215e-148Initial program 64.0
Simplified64.0
Taylor expanded around inf 56.2
rmApplied sqr-pow56.2
Applied associate-*l*56.2
rmApplied add-sqr-sqrt63.2
Applied unpow-prod-down63.2
Applied times-frac60.4
Simplified60.4
Simplified29.9
rmApplied associate-*r/15.0
if 2.7112574226970215e-148 < k < 1.6455364292447533e+142Initial program 53.6
Simplified43.0
Taylor expanded around inf 17.2
rmApplied sqr-pow17.2
Applied associate-*l*17.2
rmApplied add-sqr-sqrt33.1
Applied unpow-prod-down33.1
Applied times-frac33.1
Simplified33.0
Simplified15.6
rmApplied frac-times14.2
Applied associate-*r/7.8
Simplified7.8
Final simplification11.8
herbie shell --seed 2020035 +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))))