\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 -0.04956632389129420057649610953376395627856:\\
\;\;\;\;\frac{2}{\frac{\left(\left({\left(\sqrt[3]{t}\right)}^{3} \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}\right)}^{3}}}}\\
\mathbf{elif}\;t \le 5.664702255757937422272483016053542230277 \cdot 10^{-60}:\\
\;\;\;\;\frac{2}{\frac{{\left(\frac{1}{{-1}^{2}}\right)}^{1} \cdot \frac{{k}^{2} \cdot {\left(\sin k\right)}^{2}}{\cos k \cdot \ell} + \frac{{t}^{2} \cdot {\left(\sin k\right)}^{2}}{\ell} \cdot \left(\left(2 \cdot {\left(\frac{1}{{-1}^{2}}\right)}^{1}\right) \cdot \frac{1}{\cos k}\right)}{\frac{\ell}{{\left(\sqrt[3]{t}\right)}^{3}}}}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{\frac{\left(\left({\left(\sqrt[3]{t}\right)}^{3} \cdot \left(\left(\frac{{\left(\sqrt[3]{t}\right)}^{3}}{\ell} \cdot \left(\sqrt[3]{\sin k} \cdot \sqrt[3]{\sin k}\right)\right) \cdot \sqrt[3]{\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}\right)}^{3}}}}\\
\end{array}double f(double t, double l, double k) {
double r133421 = 2.0;
double r133422 = t;
double r133423 = 3.0;
double r133424 = pow(r133422, r133423);
double r133425 = l;
double r133426 = r133425 * r133425;
double r133427 = r133424 / r133426;
double r133428 = k;
double r133429 = sin(r133428);
double r133430 = r133427 * r133429;
double r133431 = tan(r133428);
double r133432 = r133430 * r133431;
double r133433 = 1.0;
double r133434 = r133428 / r133422;
double r133435 = pow(r133434, r133421);
double r133436 = r133433 + r133435;
double r133437 = r133436 + r133433;
double r133438 = r133432 * r133437;
double r133439 = r133421 / r133438;
return r133439;
}
double f(double t, double l, double k) {
double r133440 = t;
double r133441 = -0.0495663238912942;
bool r133442 = r133440 <= r133441;
double r133443 = 2.0;
double r133444 = cbrt(r133440);
double r133445 = 3.0;
double r133446 = pow(r133444, r133445);
double r133447 = l;
double r133448 = r133446 / r133447;
double r133449 = k;
double r133450 = sin(r133449);
double r133451 = r133448 * r133450;
double r133452 = cbrt(r133451);
double r133453 = r133452 * r133452;
double r133454 = r133453 * r133452;
double r133455 = r133446 * r133454;
double r133456 = tan(r133449);
double r133457 = r133455 * r133456;
double r133458 = 1.0;
double r133459 = r133449 / r133440;
double r133460 = pow(r133459, r133443);
double r133461 = r133458 + r133460;
double r133462 = r133461 + r133458;
double r133463 = r133457 * r133462;
double r133464 = r133447 / r133446;
double r133465 = r133463 / r133464;
double r133466 = r133443 / r133465;
double r133467 = 5.664702255757937e-60;
bool r133468 = r133440 <= r133467;
double r133469 = 1.0;
double r133470 = -1.0;
double r133471 = pow(r133470, r133443);
double r133472 = r133469 / r133471;
double r133473 = pow(r133472, r133458);
double r133474 = 2.0;
double r133475 = pow(r133449, r133474);
double r133476 = pow(r133450, r133474);
double r133477 = r133475 * r133476;
double r133478 = cos(r133449);
double r133479 = r133478 * r133447;
double r133480 = r133477 / r133479;
double r133481 = r133473 * r133480;
double r133482 = pow(r133440, r133474);
double r133483 = r133482 * r133476;
double r133484 = r133483 / r133447;
double r133485 = r133443 * r133473;
double r133486 = r133469 / r133478;
double r133487 = r133485 * r133486;
double r133488 = r133484 * r133487;
double r133489 = r133481 + r133488;
double r133490 = r133489 / r133464;
double r133491 = r133443 / r133490;
double r133492 = cbrt(r133450);
double r133493 = r133492 * r133492;
double r133494 = r133448 * r133493;
double r133495 = r133494 * r133492;
double r133496 = r133446 * r133495;
double r133497 = r133496 * r133456;
double r133498 = r133497 * r133462;
double r133499 = r133498 / r133464;
double r133500 = r133443 / r133499;
double r133501 = r133468 ? r133491 : r133500;
double r133502 = r133442 ? r133466 : r133501;
return r133502;
}



Bits error versus t



Bits error versus l



Bits error versus k
Results
if t < -0.0495663238912942Initial program 22.9
rmApplied add-cube-cbrt23.1
Applied unpow-prod-down23.1
Applied times-frac15.7
Applied associate-*l*13.7
rmApplied unpow-prod-down13.7
Applied associate-/l*7.4
rmApplied associate-*l/5.8
Applied associate-*l/3.4
Applied associate-*l/3.3
rmApplied add-cube-cbrt3.3
if -0.0495663238912942 < t < 5.664702255757937e-60Initial program 52.8
rmApplied add-cube-cbrt52.9
Applied unpow-prod-down52.9
Applied times-frac44.9
Applied associate-*l*44.0
rmApplied unpow-prod-down44.0
Applied associate-/l*37.8
rmApplied associate-*l/37.9
Applied associate-*l/39.2
Applied associate-*l/35.7
Taylor expanded around -inf 23.2
Simplified23.2
if 5.664702255757937e-60 < t Initial program 22.1
rmApplied add-cube-cbrt22.3
Applied unpow-prod-down22.3
Applied times-frac15.4
Applied associate-*l*13.6
rmApplied unpow-prod-down13.5
Applied associate-/l*8.4
rmApplied associate-*l/7.1
Applied associate-*l/5.2
Applied associate-*l/4.8
rmApplied add-cube-cbrt4.8
Applied associate-*r*4.8
Final simplification10.6
herbie shell --seed 2019326
(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))))