\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 -2.133796690819798497357608726768065695865 \cdot 10^{112}:\\
\;\;\;\;\frac{2}{\left(\left(1 + {\left(\frac{k}{t}\right)}^{2}\right) + 1\right) \cdot \left(\frac{\frac{{\left(\sqrt[3]{t}\right)}^{3}}{\sqrt[3]{\ell}}}{\sqrt[3]{\ell}} \cdot \left(\left(\frac{{\left(\sqrt[3]{t}\right)}^{3}}{\sqrt[3]{\ell}} \cdot \left(\sin k \cdot \frac{{\left(\sqrt[3]{t}\right)}^{3}}{\ell}\right)\right) \cdot \tan k\right)\right)}\\
\mathbf{elif}\;t \le 5.605135270207503657921327509080342626226 \cdot 10^{-227}:\\
\;\;\;\;\frac{2}{\left(-{\left(\frac{1}{{-1}^{3}}\right)}^{1}\right) \cdot \left(2 \cdot \left(\left(\frac{\sin k}{\ell} \cdot \frac{\sin k}{\ell}\right) \cdot \frac{\left(t \cdot t\right) \cdot t}{\cos k}\right) + \frac{t}{\frac{\cos k}{\sin k \cdot \sin k} \cdot \left(\frac{\ell}{k} \cdot \frac{\ell}{k}\right)}\right)}\\
\mathbf{elif}\;t \le 2.794998084041628674573741544619124683009 \cdot 10^{-96}:\\
\;\;\;\;\frac{2}{\left(\frac{\frac{t}{\ell} \cdot \frac{\left(\sin k \cdot k\right) \cdot \left(\sin k \cdot k\right)}{\ell}}{\cos k} + \left(\left(\frac{t}{\ell} \cdot \frac{t \cdot t}{\ell}\right) \cdot \frac{\sin k \cdot \sin k}{\cos k}\right) \cdot 2\right) \cdot \left(-{\left(\frac{1}{{-1}^{3}}\right)}^{1}\right)}\\
\mathbf{elif}\;t \le 1.124866109469882276633653190936966654644 \cdot 10^{84}:\\
\;\;\;\;\frac{2}{\left(-{\left(\frac{1}{{-1}^{3}}\right)}^{1}\right) \cdot \left(2 \cdot \left(\left(\frac{\sin k}{\ell} \cdot \frac{\sin k}{\ell}\right) \cdot \frac{\left(t \cdot t\right) \cdot t}{\cos k}\right) + \frac{t}{\frac{\cos k}{\sin k \cdot \sin k} \cdot \left(\frac{\ell}{k} \cdot \frac{\ell}{k}\right)}\right)}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{\left(\left(1 + {\left(\frac{k}{t}\right)}^{2}\right) + 1\right) \cdot \left(\left(\frac{\frac{{\left(\sqrt[3]{t}\right)}^{3}}{\sqrt[3]{\ell}}}{\sqrt[3]{\ell}} \cdot \left(\frac{{\left(\sqrt[3]{t}\right)}^{3}}{\sqrt[3]{\ell}} \cdot \left(\sin k \cdot \frac{{t}^{\left(\frac{1}{3} \cdot 3\right)}}{\ell}\right)\right)\right) \cdot \tan k\right)}\\
\end{array}double f(double t, double l, double k) {
double r4778290 = 2.0;
double r4778291 = t;
double r4778292 = 3.0;
double r4778293 = pow(r4778291, r4778292);
double r4778294 = l;
double r4778295 = r4778294 * r4778294;
double r4778296 = r4778293 / r4778295;
double r4778297 = k;
double r4778298 = sin(r4778297);
double r4778299 = r4778296 * r4778298;
double r4778300 = tan(r4778297);
double r4778301 = r4778299 * r4778300;
double r4778302 = 1.0;
double r4778303 = r4778297 / r4778291;
double r4778304 = pow(r4778303, r4778290);
double r4778305 = r4778302 + r4778304;
double r4778306 = r4778305 + r4778302;
double r4778307 = r4778301 * r4778306;
double r4778308 = r4778290 / r4778307;
return r4778308;
}
double f(double t, double l, double k) {
double r4778309 = t;
double r4778310 = -2.1337966908197985e+112;
bool r4778311 = r4778309 <= r4778310;
double r4778312 = 2.0;
double r4778313 = 1.0;
double r4778314 = k;
double r4778315 = r4778314 / r4778309;
double r4778316 = pow(r4778315, r4778312);
double r4778317 = r4778313 + r4778316;
double r4778318 = r4778317 + r4778313;
double r4778319 = cbrt(r4778309);
double r4778320 = 3.0;
double r4778321 = pow(r4778319, r4778320);
double r4778322 = l;
double r4778323 = cbrt(r4778322);
double r4778324 = r4778321 / r4778323;
double r4778325 = r4778324 / r4778323;
double r4778326 = sin(r4778314);
double r4778327 = r4778321 / r4778322;
double r4778328 = r4778326 * r4778327;
double r4778329 = r4778324 * r4778328;
double r4778330 = tan(r4778314);
double r4778331 = r4778329 * r4778330;
double r4778332 = r4778325 * r4778331;
double r4778333 = r4778318 * r4778332;
double r4778334 = r4778312 / r4778333;
double r4778335 = 5.605135270207504e-227;
bool r4778336 = r4778309 <= r4778335;
double r4778337 = 1.0;
double r4778338 = -1.0;
double r4778339 = pow(r4778338, r4778320);
double r4778340 = r4778337 / r4778339;
double r4778341 = pow(r4778340, r4778313);
double r4778342 = -r4778341;
double r4778343 = r4778326 / r4778322;
double r4778344 = r4778343 * r4778343;
double r4778345 = r4778309 * r4778309;
double r4778346 = r4778345 * r4778309;
double r4778347 = cos(r4778314);
double r4778348 = r4778346 / r4778347;
double r4778349 = r4778344 * r4778348;
double r4778350 = r4778312 * r4778349;
double r4778351 = r4778326 * r4778326;
double r4778352 = r4778347 / r4778351;
double r4778353 = r4778322 / r4778314;
double r4778354 = r4778353 * r4778353;
double r4778355 = r4778352 * r4778354;
double r4778356 = r4778309 / r4778355;
double r4778357 = r4778350 + r4778356;
double r4778358 = r4778342 * r4778357;
double r4778359 = r4778312 / r4778358;
double r4778360 = 2.7949980840416287e-96;
bool r4778361 = r4778309 <= r4778360;
double r4778362 = r4778309 / r4778322;
double r4778363 = r4778326 * r4778314;
double r4778364 = r4778363 * r4778363;
double r4778365 = r4778364 / r4778322;
double r4778366 = r4778362 * r4778365;
double r4778367 = r4778366 / r4778347;
double r4778368 = r4778345 / r4778322;
double r4778369 = r4778362 * r4778368;
double r4778370 = r4778351 / r4778347;
double r4778371 = r4778369 * r4778370;
double r4778372 = r4778371 * r4778312;
double r4778373 = r4778367 + r4778372;
double r4778374 = r4778373 * r4778342;
double r4778375 = r4778312 / r4778374;
double r4778376 = 1.1248661094698823e+84;
bool r4778377 = r4778309 <= r4778376;
double r4778378 = 0.3333333333333333;
double r4778379 = r4778378 * r4778320;
double r4778380 = pow(r4778309, r4778379);
double r4778381 = r4778380 / r4778322;
double r4778382 = r4778326 * r4778381;
double r4778383 = r4778324 * r4778382;
double r4778384 = r4778325 * r4778383;
double r4778385 = r4778384 * r4778330;
double r4778386 = r4778318 * r4778385;
double r4778387 = r4778312 / r4778386;
double r4778388 = r4778377 ? r4778359 : r4778387;
double r4778389 = r4778361 ? r4778375 : r4778388;
double r4778390 = r4778336 ? r4778359 : r4778389;
double r4778391 = r4778311 ? r4778334 : r4778390;
return r4778391;
}



Bits error versus t



Bits error versus l



Bits error versus k
Results
if t < -2.1337966908197985e+112Initial program 21.4
rmApplied add-cube-cbrt21.4
Applied unpow-prod-down21.4
Applied times-frac14.8
Applied associate-*l*14.3
rmApplied add-cube-cbrt14.3
Applied unpow-prod-down14.3
Applied times-frac6.2
Simplified6.2
rmApplied associate-*l*4.1
rmApplied associate-*l*2.0
if -2.1337966908197985e+112 < t < 5.605135270207504e-227 or 2.7949980840416287e-96 < t < 1.1248661094698823e+84Initial program 36.2
rmApplied add-cube-cbrt36.5
Applied unpow-prod-down36.5
Applied times-frac31.0
Applied associate-*l*28.3
rmApplied add-cube-cbrt28.4
Applied unpow-prod-down28.4
Applied times-frac25.8
Simplified25.8
rmApplied associate-*l*25.8
Taylor expanded around -inf 30.2
Simplified13.5
if 5.605135270207504e-227 < t < 2.7949980840416287e-96Initial program 61.0
rmApplied add-cube-cbrt61.0
Applied unpow-prod-down61.0
Applied times-frac46.2
Applied associate-*l*46.2
rmApplied add-cube-cbrt46.2
Applied unpow-prod-down46.2
Applied times-frac36.6
Simplified36.6
Taylor expanded around -inf 38.1
Simplified19.2
if 1.1248661094698823e+84 < t Initial program 23.0
rmApplied add-cube-cbrt23.0
Applied unpow-prod-down23.0
Applied times-frac14.1
Applied associate-*l*13.3
rmApplied add-cube-cbrt13.3
Applied unpow-prod-down13.3
Applied times-frac5.5
Simplified5.5
rmApplied associate-*l*4.0
rmApplied pow1/35.3
Applied pow-pow3.9
Final simplification9.2
herbie shell --seed 2019170 +o rules:numerics
(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))))