\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 -9.81065001355671517634674375700830919015 \cdot 10^{99}:\\
\;\;\;\;\frac{2}{\left(\left(\left(\left(\frac{{t}^{\left(3 \cdot \frac{1}{3}\right)}}{\ell} \cdot \sin k\right) \cdot \frac{{\left(\sqrt[3]{t}\right)}^{3}}{\sqrt[3]{\ell}}\right) \cdot \frac{\frac{{\left(\sqrt[3]{t}\right)}^{3}}{\sqrt[3]{\ell}}}{\sqrt[3]{\ell}}\right) \cdot \tan k\right) \cdot \left(\left({\left(\frac{k}{t}\right)}^{2} + 1\right) + 1\right)}\\
\mathbf{elif}\;t \le 1.08732033904708399429944782222257765314 \cdot 10^{-9}:\\
\;\;\;\;\frac{2}{\frac{2}{\cos k} \cdot \left(\frac{t \cdot \left(t \cdot t\right)}{\ell} \cdot \frac{\sin k \cdot \sin k}{\ell}\right) + \frac{t}{\frac{\cos k}{\sin k \cdot \sin k} \cdot \left(\frac{\ell}{k} \cdot \frac{\ell}{k}\right)}}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{\left(\left(\left(\left(\frac{{t}^{\left(3 \cdot \frac{1}{3}\right)}}{\ell} \cdot \sin k\right) \cdot \frac{{\left(\sqrt[3]{t}\right)}^{3}}{\sqrt[3]{\ell}}\right) \cdot \frac{\frac{{\left(\sqrt[3]{t}\right)}^{3}}{\sqrt[3]{\ell}}}{\sqrt[3]{\ell}}\right) \cdot \tan k\right) \cdot \left(\left({\left(\frac{k}{t}\right)}^{2} + 1\right) + 1\right)}\\
\end{array}double f(double t, double l, double k) {
double r4197413 = 2.0;
double r4197414 = t;
double r4197415 = 3.0;
double r4197416 = pow(r4197414, r4197415);
double r4197417 = l;
double r4197418 = r4197417 * r4197417;
double r4197419 = r4197416 / r4197418;
double r4197420 = k;
double r4197421 = sin(r4197420);
double r4197422 = r4197419 * r4197421;
double r4197423 = tan(r4197420);
double r4197424 = r4197422 * r4197423;
double r4197425 = 1.0;
double r4197426 = r4197420 / r4197414;
double r4197427 = pow(r4197426, r4197413);
double r4197428 = r4197425 + r4197427;
double r4197429 = r4197428 + r4197425;
double r4197430 = r4197424 * r4197429;
double r4197431 = r4197413 / r4197430;
return r4197431;
}
double f(double t, double l, double k) {
double r4197432 = t;
double r4197433 = -9.810650013556715e+99;
bool r4197434 = r4197432 <= r4197433;
double r4197435 = 2.0;
double r4197436 = 3.0;
double r4197437 = 0.3333333333333333;
double r4197438 = r4197436 * r4197437;
double r4197439 = pow(r4197432, r4197438);
double r4197440 = l;
double r4197441 = r4197439 / r4197440;
double r4197442 = k;
double r4197443 = sin(r4197442);
double r4197444 = r4197441 * r4197443;
double r4197445 = cbrt(r4197432);
double r4197446 = pow(r4197445, r4197436);
double r4197447 = cbrt(r4197440);
double r4197448 = r4197446 / r4197447;
double r4197449 = r4197444 * r4197448;
double r4197450 = r4197448 / r4197447;
double r4197451 = r4197449 * r4197450;
double r4197452 = tan(r4197442);
double r4197453 = r4197451 * r4197452;
double r4197454 = r4197442 / r4197432;
double r4197455 = pow(r4197454, r4197435);
double r4197456 = 1.0;
double r4197457 = r4197455 + r4197456;
double r4197458 = r4197457 + r4197456;
double r4197459 = r4197453 * r4197458;
double r4197460 = r4197435 / r4197459;
double r4197461 = 1.087320339047084e-09;
bool r4197462 = r4197432 <= r4197461;
double r4197463 = cos(r4197442);
double r4197464 = r4197435 / r4197463;
double r4197465 = r4197432 * r4197432;
double r4197466 = r4197432 * r4197465;
double r4197467 = r4197466 / r4197440;
double r4197468 = r4197443 * r4197443;
double r4197469 = r4197468 / r4197440;
double r4197470 = r4197467 * r4197469;
double r4197471 = r4197464 * r4197470;
double r4197472 = r4197463 / r4197468;
double r4197473 = r4197440 / r4197442;
double r4197474 = r4197473 * r4197473;
double r4197475 = r4197472 * r4197474;
double r4197476 = r4197432 / r4197475;
double r4197477 = r4197471 + r4197476;
double r4197478 = r4197435 / r4197477;
double r4197479 = r4197462 ? r4197478 : r4197460;
double r4197480 = r4197434 ? r4197460 : r4197479;
return r4197480;
}



Bits error versus t



Bits error versus l



Bits error versus k
Results
if t < -9.810650013556715e+99 or 1.087320339047084e-09 < t Initial program 23.8
rmApplied add-cube-cbrt23.8
Applied unpow-prod-down23.8
Applied times-frac16.4
Applied associate-*l*14.6
rmApplied add-cube-cbrt14.6
Applied unpow-prod-down14.6
Applied times-frac7.9
Simplified7.9
rmApplied associate-*l*6.5
rmApplied pow1/331.6
Applied pow-pow6.4
if -9.810650013556715e+99 < t < 1.087320339047084e-09Initial program 43.7
rmApplied add-cube-cbrt43.9
Applied unpow-prod-down43.9
Applied times-frac37.2
Applied associate-*l*35.5
rmApplied add-cube-cbrt35.5
Applied unpow-prod-down35.5
Applied times-frac31.6
Simplified31.6
rmApplied associate-*l*31.5
Taylor expanded around inf 32.2
Simplified11.9
Final simplification8.9
herbie shell --seed 2019172
(FPCore (t l k)
:name "Toniolo and Linder, Equation (10+)"
(/ 2.0 (* (* (* (/ (pow t 3.0) (* l l)) (sin k)) (tan k)) (+ (+ 1.0 (pow (/ k t) 2.0)) 1.0))))