\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}\;\ell \le -1.395768281843777546279887385243220191786 \cdot 10^{142}:\\
\;\;\;\;\frac{\frac{2}{\left(\left(\frac{{\left(\sqrt[3]{t} \cdot \sqrt[3]{t}\right)}^{3}}{\ell} \cdot \frac{{\left(\sqrt[3]{t}\right)}^{3}}{\ell}\right) \cdot \sin k\right) \cdot \tan k}}{{\left(\frac{k}{t}\right)}^{2}}\\
\mathbf{elif}\;\ell \le -2.954141845484123063075571007654470856433 \cdot 10^{-133}:\\
\;\;\;\;\left(\frac{{\left(\frac{1}{{k}^{\left(\frac{2}{2}\right)} \cdot {t}^{1}}\right)}^{1} \cdot \left(\cos k \cdot {\ell}^{2}\right)}{{\left(\sin k\right)}^{2}} \cdot {\left(\frac{1}{{k}^{\left(\frac{2}{2}\right)}}\right)}^{1}\right) \cdot 2\\
\mathbf{elif}\;\ell \le 6.579520119656325980067007236374335260974 \cdot 10^{-209}:\\
\;\;\;\;2 \cdot \left({\left(\frac{1}{{k}^{\left(\frac{2}{2}\right)} \cdot \left({k}^{\left(\frac{2}{2}\right)} \cdot {t}^{1}\right)}\right)}^{1} \cdot \mathsf{fma}\left(\frac{\ell}{k}, \frac{\ell}{k}, \frac{-1}{6} \cdot {\ell}^{2}\right)\right)\\
\mathbf{elif}\;\ell \le 1.283154238585831613414878640305835438884 \cdot 10^{154}:\\
\;\;\;\;2 \cdot \left({\left(\frac{1}{{k}^{\left(\frac{2}{2}\right)}}\right)}^{1} \cdot \left({\left(\frac{1}{{k}^{\left(\frac{2}{2}\right)} \cdot {t}^{1}}\right)}^{1} \cdot \frac{\cos k}{\frac{{\left(\sin k\right)}^{2}}{{\ell}^{2}}}\right)\right)\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{2}{\left(\left(\frac{{\left(\sqrt[3]{t} \cdot \sqrt[3]{t}\right)}^{3}}{\ell} \cdot \frac{{\left(\sqrt[3]{t}\right)}^{3}}{\ell}\right) \cdot \sin k\right) \cdot \tan k}}{{\left(\frac{k}{t}\right)}^{2}}\\
\end{array}double f(double t, double l, double k) {
double r110412 = 2.0;
double r110413 = t;
double r110414 = 3.0;
double r110415 = pow(r110413, r110414);
double r110416 = l;
double r110417 = r110416 * r110416;
double r110418 = r110415 / r110417;
double r110419 = k;
double r110420 = sin(r110419);
double r110421 = r110418 * r110420;
double r110422 = tan(r110419);
double r110423 = r110421 * r110422;
double r110424 = 1.0;
double r110425 = r110419 / r110413;
double r110426 = pow(r110425, r110412);
double r110427 = r110424 + r110426;
double r110428 = r110427 - r110424;
double r110429 = r110423 * r110428;
double r110430 = r110412 / r110429;
return r110430;
}
double f(double t, double l, double k) {
double r110431 = l;
double r110432 = -1.3957682818437775e+142;
bool r110433 = r110431 <= r110432;
double r110434 = 2.0;
double r110435 = t;
double r110436 = cbrt(r110435);
double r110437 = r110436 * r110436;
double r110438 = 3.0;
double r110439 = pow(r110437, r110438);
double r110440 = r110439 / r110431;
double r110441 = pow(r110436, r110438);
double r110442 = r110441 / r110431;
double r110443 = r110440 * r110442;
double r110444 = k;
double r110445 = sin(r110444);
double r110446 = r110443 * r110445;
double r110447 = tan(r110444);
double r110448 = r110446 * r110447;
double r110449 = r110434 / r110448;
double r110450 = r110444 / r110435;
double r110451 = pow(r110450, r110434);
double r110452 = r110449 / r110451;
double r110453 = -2.954141845484123e-133;
bool r110454 = r110431 <= r110453;
double r110455 = 1.0;
double r110456 = 2.0;
double r110457 = r110434 / r110456;
double r110458 = pow(r110444, r110457);
double r110459 = 1.0;
double r110460 = pow(r110435, r110459);
double r110461 = r110458 * r110460;
double r110462 = r110455 / r110461;
double r110463 = pow(r110462, r110459);
double r110464 = cos(r110444);
double r110465 = pow(r110431, r110456);
double r110466 = r110464 * r110465;
double r110467 = r110463 * r110466;
double r110468 = pow(r110445, r110456);
double r110469 = r110467 / r110468;
double r110470 = r110455 / r110458;
double r110471 = pow(r110470, r110459);
double r110472 = r110469 * r110471;
double r110473 = r110472 * r110434;
double r110474 = 6.579520119656326e-209;
bool r110475 = r110431 <= r110474;
double r110476 = r110458 * r110461;
double r110477 = r110455 / r110476;
double r110478 = pow(r110477, r110459);
double r110479 = r110431 / r110444;
double r110480 = -0.16666666666666666;
double r110481 = r110480 * r110465;
double r110482 = fma(r110479, r110479, r110481);
double r110483 = r110478 * r110482;
double r110484 = r110434 * r110483;
double r110485 = 1.2831542385858316e+154;
bool r110486 = r110431 <= r110485;
double r110487 = r110468 / r110465;
double r110488 = r110464 / r110487;
double r110489 = r110463 * r110488;
double r110490 = r110471 * r110489;
double r110491 = r110434 * r110490;
double r110492 = r110486 ? r110491 : r110452;
double r110493 = r110475 ? r110484 : r110492;
double r110494 = r110454 ? r110473 : r110493;
double r110495 = r110433 ? r110452 : r110494;
return r110495;
}



Bits error versus t



Bits error versus l



Bits error versus k
if l < -1.3957682818437775e+142 or 1.2831542385858316e+154 < l Initial program 63.2
Simplified63.0
rmApplied add-cube-cbrt63.0
Applied unpow-prod-down63.0
Applied times-frac49.6
if -1.3957682818437775e+142 < l < -2.954141845484123e-133Initial program 45.2
Simplified35.3
Taylor expanded around inf 11.1
rmApplied sqr-pow11.1
Applied associate-*l*6.5
rmApplied add-cube-cbrt6.5
Applied times-frac6.4
Applied unpow-prod-down6.4
Applied associate-*l*3.3
Simplified3.3
rmApplied associate-*r/3.1
if -2.954141845484123e-133 < l < 6.579520119656326e-209Initial program 46.1
Simplified37.4
Taylor expanded around inf 18.4
rmApplied sqr-pow18.4
Applied associate-*l*18.4
Taylor expanded around 0 19.0
Simplified10.2
if 6.579520119656326e-209 < l < 1.2831542385858316e+154Initial program 44.7
Simplified35.5
Taylor expanded around inf 13.0
rmApplied sqr-pow13.0
Applied associate-*l*9.6
rmApplied add-cube-cbrt9.6
Applied times-frac9.3
Applied unpow-prod-down9.3
Applied associate-*l*6.8
Simplified6.8
rmApplied associate-/l*6.9
Final simplification13.6
herbie shell --seed 2019323 +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))))