\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 -1.210830080625656326113845177072667365317 \cdot 10^{-247}:\\
\;\;\;\;\frac{2}{\left({\left(\sqrt[3]{t}\right)}^{3} \cdot \frac{{\left(\sqrt[3]{t}\right)}^{3}}{\ell}\right) \cdot \left(\left(\frac{{\left(\sqrt[3]{t}\right)}^{3}}{\ell} \cdot \sin k\right) \cdot \left(\tan k \cdot \left(\left(1 + {\left(\frac{k}{t}\right)}^{2}\right) + 1\right)\right)\right)}\\
\mathbf{elif}\;t \le 7.397929561345072827149252284574618837576 \cdot 10^{-10}:\\
\;\;\;\;\frac{2}{2 \cdot \frac{{t}^{3} \cdot {\left(\sin k\right)}^{2}}{\cos k \cdot {\ell}^{2}} - {\left(\frac{1}{{-1}^{3}}\right)}^{1} \cdot \frac{t \cdot \left({k}^{2} \cdot {\left(\sin k\right)}^{2}\right)}{\cos k \cdot {\ell}^{2}}}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{\left(\left({\left(\sqrt[3]{t}\right)}^{3} \cdot \frac{{t}^{\left(\frac{1}{3} \cdot 3\right)}}{\ell}\right) \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)}\\
\end{array}double f(double t, double l, double k) {
double r130285 = 2.0;
double r130286 = t;
double r130287 = 3.0;
double r130288 = pow(r130286, r130287);
double r130289 = l;
double r130290 = r130289 * r130289;
double r130291 = r130288 / r130290;
double r130292 = k;
double r130293 = sin(r130292);
double r130294 = r130291 * r130293;
double r130295 = tan(r130292);
double r130296 = r130294 * r130295;
double r130297 = 1.0;
double r130298 = r130292 / r130286;
double r130299 = pow(r130298, r130285);
double r130300 = r130297 + r130299;
double r130301 = r130300 + r130297;
double r130302 = r130296 * r130301;
double r130303 = r130285 / r130302;
return r130303;
}
double f(double t, double l, double k) {
double r130304 = t;
double r130305 = -1.2108300806256563e-247;
bool r130306 = r130304 <= r130305;
double r130307 = 2.0;
double r130308 = cbrt(r130304);
double r130309 = 3.0;
double r130310 = pow(r130308, r130309);
double r130311 = l;
double r130312 = r130310 / r130311;
double r130313 = r130310 * r130312;
double r130314 = k;
double r130315 = sin(r130314);
double r130316 = r130312 * r130315;
double r130317 = tan(r130314);
double r130318 = 1.0;
double r130319 = r130314 / r130304;
double r130320 = pow(r130319, r130307);
double r130321 = r130318 + r130320;
double r130322 = r130321 + r130318;
double r130323 = r130317 * r130322;
double r130324 = r130316 * r130323;
double r130325 = r130313 * r130324;
double r130326 = r130307 / r130325;
double r130327 = 7.397929561345073e-10;
bool r130328 = r130304 <= r130327;
double r130329 = 3.0;
double r130330 = pow(r130304, r130329);
double r130331 = 2.0;
double r130332 = pow(r130315, r130331);
double r130333 = r130330 * r130332;
double r130334 = cos(r130314);
double r130335 = pow(r130311, r130331);
double r130336 = r130334 * r130335;
double r130337 = r130333 / r130336;
double r130338 = r130307 * r130337;
double r130339 = 1.0;
double r130340 = -1.0;
double r130341 = pow(r130340, r130309);
double r130342 = r130339 / r130341;
double r130343 = pow(r130342, r130318);
double r130344 = pow(r130314, r130331);
double r130345 = r130344 * r130332;
double r130346 = r130304 * r130345;
double r130347 = r130346 / r130336;
double r130348 = r130343 * r130347;
double r130349 = r130338 - r130348;
double r130350 = r130307 / r130349;
double r130351 = 0.3333333333333333;
double r130352 = r130351 * r130309;
double r130353 = pow(r130304, r130352);
double r130354 = r130353 / r130311;
double r130355 = r130310 * r130354;
double r130356 = r130355 * r130316;
double r130357 = r130356 * r130323;
double r130358 = r130307 / r130357;
double r130359 = r130328 ? r130350 : r130358;
double r130360 = r130306 ? r130326 : r130359;
return r130360;
}



Bits error versus t



Bits error versus l



Bits error versus k
Results
if t < -1.2108300806256563e-247Initial program 29.7
rmApplied add-cube-cbrt29.8
Applied unpow-prod-down29.8
Applied times-frac22.6
Applied associate-*l*21.0
rmApplied *-un-lft-identity21.0
Applied unpow-prod-down21.0
Applied times-frac15.3
Simplified15.3
rmApplied associate-*l*15.1
rmApplied associate-*l*14.6
if -1.2108300806256563e-247 < t < 7.397929561345073e-10Initial program 52.7
Taylor expanded around -inf 36.0
if 7.397929561345073e-10 < t Initial program 22.0
rmApplied add-cube-cbrt22.1
Applied unpow-prod-down22.1
Applied times-frac15.2
Applied associate-*l*13.3
rmApplied *-un-lft-identity13.3
Applied unpow-prod-down13.3
Applied times-frac8.0
Simplified8.0
rmApplied associate-*l*8.0
rmApplied pow1/39.1
Applied pow-pow7.9
Final simplification16.9
herbie shell --seed 2020002 +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))))