\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 -8.9864574956088768 \cdot 10^{-105} \lor \neg \left(t \le 3.6480188607512227 \cdot 10^{-258}\right):\\
\;\;\;\;\frac{2}{\left({\left(\sqrt[3]{t}\right)}^{3} \cdot \left(\frac{{\left(\sqrt[3]{t}\right)}^{3}}{\ell} \cdot \sin k\right)\right) \cdot \left(\tan k \cdot \left(\left(1 + {\left(\frac{k}{t}\right)}^{2}\right) + 1\right)\right)} \cdot \frac{\ell}{{\left(\sqrt[3]{t}\right)}^{3}}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{\frac{{k}^{2} \cdot \left(t \cdot {\left(\sin k\right)}^{2}\right)}{\cos k \cdot {\ell}^{2}} + 2 \cdot \frac{{t}^{3} \cdot {\left(\sin k\right)}^{2}}{\cos k \cdot {\ell}^{2}}}\\
\end{array}double f(double t, double l, double k) {
double r127398 = 2.0;
double r127399 = t;
double r127400 = 3.0;
double r127401 = pow(r127399, r127400);
double r127402 = l;
double r127403 = r127402 * r127402;
double r127404 = r127401 / r127403;
double r127405 = k;
double r127406 = sin(r127405);
double r127407 = r127404 * r127406;
double r127408 = tan(r127405);
double r127409 = r127407 * r127408;
double r127410 = 1.0;
double r127411 = r127405 / r127399;
double r127412 = pow(r127411, r127398);
double r127413 = r127410 + r127412;
double r127414 = r127413 + r127410;
double r127415 = r127409 * r127414;
double r127416 = r127398 / r127415;
return r127416;
}
double f(double t, double l, double k) {
double r127417 = t;
double r127418 = -8.986457495608877e-105;
bool r127419 = r127417 <= r127418;
double r127420 = 3.6480188607512227e-258;
bool r127421 = r127417 <= r127420;
double r127422 = !r127421;
bool r127423 = r127419 || r127422;
double r127424 = 2.0;
double r127425 = cbrt(r127417);
double r127426 = 3.0;
double r127427 = pow(r127425, r127426);
double r127428 = l;
double r127429 = r127427 / r127428;
double r127430 = k;
double r127431 = sin(r127430);
double r127432 = r127429 * r127431;
double r127433 = r127427 * r127432;
double r127434 = tan(r127430);
double r127435 = 1.0;
double r127436 = r127430 / r127417;
double r127437 = pow(r127436, r127424);
double r127438 = r127435 + r127437;
double r127439 = r127438 + r127435;
double r127440 = r127434 * r127439;
double r127441 = r127433 * r127440;
double r127442 = r127424 / r127441;
double r127443 = r127428 / r127427;
double r127444 = r127442 * r127443;
double r127445 = 2.0;
double r127446 = pow(r127430, r127445);
double r127447 = pow(r127431, r127445);
double r127448 = r127417 * r127447;
double r127449 = r127446 * r127448;
double r127450 = cos(r127430);
double r127451 = pow(r127428, r127445);
double r127452 = r127450 * r127451;
double r127453 = r127449 / r127452;
double r127454 = 3.0;
double r127455 = pow(r127417, r127454);
double r127456 = r127455 * r127447;
double r127457 = r127456 / r127452;
double r127458 = r127424 * r127457;
double r127459 = r127453 + r127458;
double r127460 = r127424 / r127459;
double r127461 = r127423 ? r127444 : r127460;
return r127461;
}



Bits error versus t



Bits error versus l



Bits error versus k
Results
if t < -8.986457495608877e-105 or 3.6480188607512227e-258 < t Initial program 27.8
rmApplied add-cube-cbrt27.9
Applied unpow-prod-down27.9
Applied times-frac20.8
Applied associate-*l*18.8
rmApplied unpow-prod-down18.8
Applied associate-/l*13.4
rmApplied associate-*l*13.3
rmApplied associate-*l/12.3
Applied associate-*l/9.5
Applied associate-/r/9.4
if -8.986457495608877e-105 < t < 3.6480188607512227e-258Initial program 63.7
Taylor expanded around inf 41.3
Final simplification13.7
herbie shell --seed 2020042
(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))))