\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 \cdot \ell \le 1.1118751811811023 \cdot 10^{-267}:\\
\;\;\;\;\frac{2}{\left(\frac{{\left(\sqrt[3]{t}\right)}^{3}}{\frac{\ell}{{\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)}\\
\mathbf{elif}\;\ell \cdot \ell \le 1.6076584110961083 \cdot 10^{148}:\\
\;\;\;\;\frac{2}{\mathsf{fma}\left(2, {\left(\frac{1}{{-1}^{3}}\right)}^{1} \cdot \frac{{\left(\sqrt[3]{-1}\right)}^{9} \cdot \left({t}^{3} \cdot {\left(\sin k\right)}^{2}\right)}{\cos k \cdot {\ell}^{2}}, {\left(\frac{1}{{-1}^{3}}\right)}^{1} \cdot \frac{{\left(\sqrt[3]{-1}\right)}^{9} \cdot \left({\left(\sin k\right)}^{2} \cdot \left({k}^{2} \cdot t\right)\right)}{\cos k \cdot {\ell}^{2}}\right)}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{\frac{\left(\left({\left(\sqrt[3]{t}\right)}^{3} \cdot \left(\frac{{\left(\sqrt[3]{t}\right)}^{3}}{\ell} \cdot \sin k\right)\right) \cdot \sin k\right) \cdot \left(\left(1 + {\left(\frac{k}{t}\right)}^{2}\right) + 1\right)}{\frac{\ell}{{\left(\sqrt[3]{t}\right)}^{3}} \cdot \cos k}}\\
\end{array}double f(double t, double l, double k) {
double r109269 = 2.0;
double r109270 = t;
double r109271 = 3.0;
double r109272 = pow(r109270, r109271);
double r109273 = l;
double r109274 = r109273 * r109273;
double r109275 = r109272 / r109274;
double r109276 = k;
double r109277 = sin(r109276);
double r109278 = r109275 * r109277;
double r109279 = tan(r109276);
double r109280 = r109278 * r109279;
double r109281 = 1.0;
double r109282 = r109276 / r109270;
double r109283 = pow(r109282, r109269);
double r109284 = r109281 + r109283;
double r109285 = r109284 + r109281;
double r109286 = r109280 * r109285;
double r109287 = r109269 / r109286;
return r109287;
}
double f(double t, double l, double k) {
double r109288 = l;
double r109289 = r109288 * r109288;
double r109290 = 1.1118751811811023e-267;
bool r109291 = r109289 <= r109290;
double r109292 = 2.0;
double r109293 = t;
double r109294 = cbrt(r109293);
double r109295 = 3.0;
double r109296 = pow(r109294, r109295);
double r109297 = r109288 / r109296;
double r109298 = r109296 / r109297;
double r109299 = r109296 / r109288;
double r109300 = k;
double r109301 = sin(r109300);
double r109302 = r109299 * r109301;
double r109303 = r109298 * r109302;
double r109304 = tan(r109300);
double r109305 = 1.0;
double r109306 = r109300 / r109293;
double r109307 = pow(r109306, r109292);
double r109308 = r109305 + r109307;
double r109309 = r109308 + r109305;
double r109310 = r109304 * r109309;
double r109311 = r109303 * r109310;
double r109312 = r109292 / r109311;
double r109313 = 1.6076584110961083e+148;
bool r109314 = r109289 <= r109313;
double r109315 = 1.0;
double r109316 = -1.0;
double r109317 = pow(r109316, r109295);
double r109318 = r109315 / r109317;
double r109319 = pow(r109318, r109305);
double r109320 = cbrt(r109316);
double r109321 = 9.0;
double r109322 = pow(r109320, r109321);
double r109323 = 3.0;
double r109324 = pow(r109293, r109323);
double r109325 = 2.0;
double r109326 = pow(r109301, r109325);
double r109327 = r109324 * r109326;
double r109328 = r109322 * r109327;
double r109329 = cos(r109300);
double r109330 = pow(r109288, r109325);
double r109331 = r109329 * r109330;
double r109332 = r109328 / r109331;
double r109333 = r109319 * r109332;
double r109334 = pow(r109300, r109325);
double r109335 = r109334 * r109293;
double r109336 = r109326 * r109335;
double r109337 = r109322 * r109336;
double r109338 = r109337 / r109331;
double r109339 = r109319 * r109338;
double r109340 = fma(r109292, r109333, r109339);
double r109341 = r109292 / r109340;
double r109342 = r109296 * r109302;
double r109343 = r109342 * r109301;
double r109344 = r109343 * r109309;
double r109345 = r109297 * r109329;
double r109346 = r109344 / r109345;
double r109347 = r109292 / r109346;
double r109348 = r109314 ? r109341 : r109347;
double r109349 = r109291 ? r109312 : r109348;
return r109349;
}



Bits error versus t



Bits error versus l



Bits error versus k
if (* l l) < 1.1118751811811023e-267Initial program 24.5
rmApplied add-cube-cbrt24.5
Applied unpow-prod-down24.5
Applied times-frac18.0
rmApplied unpow-prod-down18.0
Applied associate-/l*12.6
rmApplied associate-*l*9.9
rmApplied associate-*l*9.5
if 1.1118751811811023e-267 < (* l l) < 1.6076584110961083e+148Initial program 24.2
rmApplied add-cube-cbrt24.5
Applied unpow-prod-down24.5
Applied times-frac22.6
Taylor expanded around -inf 17.1
Simplified17.1
if 1.6076584110961083e+148 < (* l l) Initial program 51.7
rmApplied add-cube-cbrt51.8
Applied unpow-prod-down51.9
Applied times-frac37.3
rmApplied unpow-prod-down37.3
Applied associate-/l*26.3
rmApplied associate-*l*25.0
rmApplied tan-quot25.0
Applied associate-*l/23.0
Applied frac-times21.5
Applied associate-*l/19.6
Final simplification15.0
herbie shell --seed 2020062 +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))))