\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{\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 \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{\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 \frac{\cos k \cdot {\ell}^{2}}{{\left(\sin k\right)}^{2}}\right)\right)\\
\end{array}double f(double t, double l, double k) {
double r86299 = 2.0;
double r86300 = t;
double r86301 = 3.0;
double r86302 = pow(r86300, r86301);
double r86303 = l;
double r86304 = r86303 * r86303;
double r86305 = r86302 / r86304;
double r86306 = k;
double r86307 = sin(r86306);
double r86308 = r86305 * r86307;
double r86309 = tan(r86306);
double r86310 = r86308 * r86309;
double r86311 = 1.0;
double r86312 = r86306 / r86300;
double r86313 = pow(r86312, r86299);
double r86314 = r86311 + r86313;
double r86315 = r86314 - r86311;
double r86316 = r86310 * r86315;
double r86317 = r86299 / r86316;
return r86317;
}
double f(double t, double l, double k) {
double r86318 = k;
double r86319 = -6.757516663156314e+136;
bool r86320 = r86318 <= r86319;
double r86321 = 2.0;
double r86322 = 1.0;
double r86323 = sqrt(r86322);
double r86324 = 2.0;
double r86325 = r86321 / r86324;
double r86326 = pow(r86318, r86325);
double r86327 = r86323 / r86326;
double r86328 = 1.0;
double r86329 = pow(r86327, r86328);
double r86330 = t;
double r86331 = pow(r86330, r86328);
double r86332 = r86326 * r86331;
double r86333 = r86322 / r86332;
double r86334 = pow(r86333, r86328);
double r86335 = cos(r86318);
double r86336 = l;
double r86337 = pow(r86336, r86324);
double r86338 = r86335 * r86337;
double r86339 = sin(r86318);
double r86340 = pow(r86339, r86324);
double r86341 = r86338 / r86340;
double r86342 = r86334 * r86341;
double r86343 = r86329 * r86342;
double r86344 = r86321 * r86343;
double r86345 = -5.866557080506545e-121;
bool r86346 = r86318 <= r86345;
double r86347 = pow(r86318, r86321);
double r86348 = r86347 * r86331;
double r86349 = r86322 / r86348;
double r86350 = pow(r86349, r86328);
double r86351 = r86335 / r86339;
double r86352 = r86350 * r86351;
double r86353 = r86352 * r86336;
double r86354 = r86339 / r86336;
double r86355 = r86353 / r86354;
double r86356 = r86321 * r86355;
double r86357 = 2.7112574226970215e-148;
bool r86358 = r86318 <= r86357;
double r86359 = r86326 * r86332;
double r86360 = r86322 / r86359;
double r86361 = pow(r86360, r86328);
double r86362 = r86351 * r86336;
double r86363 = r86362 / r86354;
double r86364 = r86361 * r86363;
double r86365 = r86321 * r86364;
double r86366 = 1.6455364292447533e+142;
bool r86367 = r86318 <= r86366;
double r86368 = r86350 * r86336;
double r86369 = r86368 * r86335;
double r86370 = r86339 * r86354;
double r86371 = r86369 / r86370;
double r86372 = r86321 * r86371;
double r86373 = r86367 ? r86372 : r86344;
double r86374 = r86358 ? r86365 : r86373;
double r86375 = r86346 ? r86356 : r86374;
double r86376 = r86320 ? r86344 : r86375;
return r86376;
}



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 add-sqr-sqrt18.5
Applied times-frac18.3
Applied unpow-prod-down18.3
Applied associate-*l*15.1
Simplified15.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
(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))))