\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.41720610659310475 \cdot 10^{-101}:\\
\;\;\;\;\frac{2}{\frac{\left(\sqrt[3]{\left(\left({\left(\sqrt[3]{t} \cdot \sqrt[3]{t}\right)}^{\left(\frac{3}{2}\right)} \cdot \left(\frac{{\left(\sqrt[3]{t}\right)}^{3}}{\ell} \cdot \sin k\right)\right) \cdot \tan k\right) \cdot \left(\left(1 + {\left(\frac{k}{t}\right)}^{2}\right) + 1\right)} \cdot \sqrt[3]{\left(\left({\left(\sqrt[3]{t} \cdot \sqrt[3]{t}\right)}^{\left(\frac{3}{2}\right)} \cdot \left(\frac{{\left(\sqrt[3]{t}\right)}^{3}}{\ell} \cdot \sin k\right)\right) \cdot \tan k\right) \cdot \left(\left(1 + {\left(\frac{k}{t}\right)}^{2}\right) + 1\right)}\right) \cdot \sqrt[3]{\left(\left({\left(\sqrt[3]{t} \cdot \sqrt[3]{t}\right)}^{\left(\frac{3}{2}\right)} \cdot \left(\frac{{\left(\sqrt[3]{t}\right)}^{3}}{\ell} \cdot \sin k\right)\right) \cdot \tan k\right) \cdot \left(\left(1 + {\left(\frac{k}{t}\right)}^{2}\right) + 1\right)}}{\frac{\ell}{{\left(\sqrt[3]{t} \cdot \sqrt[3]{t}\right)}^{\left(\frac{3}{2}\right)}}}}\\
\mathbf{elif}\;t \le 1.6736513015160059 \cdot 10^{-53}:\\
\;\;\;\;\frac{2}{\frac{\frac{{k}^{2} \cdot {\left(\sin k\right)}^{2}}{\cos k \cdot \ell} + 2 \cdot \frac{{t}^{2} \cdot {\left(\sin k\right)}^{2}}{\cos k \cdot \ell}}{\frac{\ell}{{\left(\sqrt[3]{t} \cdot \sqrt[3]{t}\right)}^{\left(\frac{3}{2}\right)}}}}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{\frac{\left(\left({\left(\sqrt[3]{t} \cdot \sqrt[3]{t}\right)}^{\left(\frac{3}{2}\right)} \cdot \left(\left(\sqrt[3]{\frac{{\left(\sqrt[3]{t}\right)}^{3}}{\ell} \cdot \sin k} \cdot \sqrt[3]{\frac{{\left(\sqrt[3]{t}\right)}^{3}}{\ell} \cdot \sin k}\right) \cdot \sqrt[3]{\frac{{\left(\sqrt[3]{t}\right)}^{3}}{\ell} \cdot \sin k}\right)\right) \cdot \tan k\right) \cdot \left(\left(1 + {\left(\frac{k}{t}\right)}^{2}\right) + 1\right)}{\frac{\ell}{{\left(\sqrt[3]{t} \cdot \sqrt[3]{t}\right)}^{\left(\frac{3}{2}\right)}}}}\\
\end{array}double f(double t, double l, double k) {
double r132346 = 2.0;
double r132347 = t;
double r132348 = 3.0;
double r132349 = pow(r132347, r132348);
double r132350 = l;
double r132351 = r132350 * r132350;
double r132352 = r132349 / r132351;
double r132353 = k;
double r132354 = sin(r132353);
double r132355 = r132352 * r132354;
double r132356 = tan(r132353);
double r132357 = r132355 * r132356;
double r132358 = 1.0;
double r132359 = r132353 / r132347;
double r132360 = pow(r132359, r132346);
double r132361 = r132358 + r132360;
double r132362 = r132361 + r132358;
double r132363 = r132357 * r132362;
double r132364 = r132346 / r132363;
return r132364;
}
double f(double t, double l, double k) {
double r132365 = t;
double r132366 = -5.417206106593105e-101;
bool r132367 = r132365 <= r132366;
double r132368 = 2.0;
double r132369 = cbrt(r132365);
double r132370 = r132369 * r132369;
double r132371 = 3.0;
double r132372 = 2.0;
double r132373 = r132371 / r132372;
double r132374 = pow(r132370, r132373);
double r132375 = pow(r132369, r132371);
double r132376 = l;
double r132377 = r132375 / r132376;
double r132378 = k;
double r132379 = sin(r132378);
double r132380 = r132377 * r132379;
double r132381 = r132374 * r132380;
double r132382 = tan(r132378);
double r132383 = r132381 * r132382;
double r132384 = 1.0;
double r132385 = r132378 / r132365;
double r132386 = pow(r132385, r132368);
double r132387 = r132384 + r132386;
double r132388 = r132387 + r132384;
double r132389 = r132383 * r132388;
double r132390 = cbrt(r132389);
double r132391 = r132390 * r132390;
double r132392 = r132391 * r132390;
double r132393 = r132376 / r132374;
double r132394 = r132392 / r132393;
double r132395 = r132368 / r132394;
double r132396 = 1.673651301516006e-53;
bool r132397 = r132365 <= r132396;
double r132398 = pow(r132378, r132372);
double r132399 = pow(r132379, r132372);
double r132400 = r132398 * r132399;
double r132401 = cos(r132378);
double r132402 = r132401 * r132376;
double r132403 = r132400 / r132402;
double r132404 = pow(r132365, r132372);
double r132405 = r132404 * r132399;
double r132406 = r132405 / r132402;
double r132407 = r132368 * r132406;
double r132408 = r132403 + r132407;
double r132409 = r132408 / r132393;
double r132410 = r132368 / r132409;
double r132411 = cbrt(r132380);
double r132412 = r132411 * r132411;
double r132413 = r132412 * r132411;
double r132414 = r132374 * r132413;
double r132415 = r132414 * r132382;
double r132416 = r132415 * r132388;
double r132417 = r132416 / r132393;
double r132418 = r132368 / r132417;
double r132419 = r132397 ? r132410 : r132418;
double r132420 = r132367 ? r132395 : r132419;
return r132420;
}



Bits error versus t



Bits error versus l



Bits error versus k
Results
if t < -5.417206106593105e-101Initial program 22.9
rmApplied add-cube-cbrt23.1
Applied unpow-prod-down23.1
Applied times-frac16.7
Applied associate-*l*14.3
rmApplied sqr-pow14.3
Applied associate-/l*10.0
rmApplied associate-*l/9.1
Applied associate-*l/7.0
Applied associate-*l/6.3
rmApplied add-cube-cbrt6.4
if -5.417206106593105e-101 < t < 1.673651301516006e-53Initial program 59.3
rmApplied add-cube-cbrt59.3
Applied unpow-prod-down59.3
Applied times-frac50.7
Applied associate-*l*50.3
rmApplied sqr-pow50.3
Applied associate-/l*42.1
rmApplied associate-*l/42.1
Applied associate-*l/43.2
Applied associate-*l/39.3
Taylor expanded around inf 30.2
if 1.673651301516006e-53 < t Initial program 22.0
rmApplied add-cube-cbrt22.2
Applied unpow-prod-down22.2
Applied times-frac16.0
Applied associate-*l*13.9
rmApplied sqr-pow13.9
Applied associate-/l*8.8
rmApplied associate-*l/7.4
Applied associate-*l/5.6
Applied associate-*l/5.1
rmApplied add-cube-cbrt5.1
Final simplification12.0
herbie shell --seed 2020047 +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))))