\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 2.6724558241011511 \cdot 10^{290}:\\
\;\;\;\;2 \cdot \left({\left(\frac{1}{{k}^{\left(\frac{2}{2}\right)}}\right)}^{1} \cdot \left(\left(\frac{\cos k}{\sin k} \cdot \frac{{\ell}^{2}}{\sin k}\right) \cdot {\left(\frac{1}{{k}^{\left(\frac{2}{2}\right)} \cdot {t}^{1}}\right)}^{1}\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 r100288 = 2.0;
double r100289 = t;
double r100290 = 3.0;
double r100291 = pow(r100289, r100290);
double r100292 = l;
double r100293 = r100292 * r100292;
double r100294 = r100291 / r100293;
double r100295 = k;
double r100296 = sin(r100295);
double r100297 = r100294 * r100296;
double r100298 = tan(r100295);
double r100299 = r100297 * r100298;
double r100300 = 1.0;
double r100301 = r100295 / r100289;
double r100302 = pow(r100301, r100288);
double r100303 = r100300 + r100302;
double r100304 = r100303 - r100300;
double r100305 = r100299 * r100304;
double r100306 = r100288 / r100305;
return r100306;
}
double f(double t, double l, double k) {
double r100307 = l;
double r100308 = r100307 * r100307;
double r100309 = 2.672455824101151e+290;
bool r100310 = r100308 <= r100309;
double r100311 = 2.0;
double r100312 = 1.0;
double r100313 = k;
double r100314 = 2.0;
double r100315 = r100311 / r100314;
double r100316 = pow(r100313, r100315);
double r100317 = r100312 / r100316;
double r100318 = 1.0;
double r100319 = pow(r100317, r100318);
double r100320 = cos(r100313);
double r100321 = sin(r100313);
double r100322 = r100320 / r100321;
double r100323 = pow(r100307, r100314);
double r100324 = r100323 / r100321;
double r100325 = r100322 * r100324;
double r100326 = t;
double r100327 = pow(r100326, r100318);
double r100328 = r100316 * r100327;
double r100329 = r100312 / r100328;
double r100330 = pow(r100329, r100318);
double r100331 = r100325 * r100330;
double r100332 = r100319 * r100331;
double r100333 = r100311 * r100332;
double r100334 = cbrt(r100326);
double r100335 = r100334 * r100334;
double r100336 = 3.0;
double r100337 = pow(r100335, r100336);
double r100338 = r100337 / r100307;
double r100339 = pow(r100334, r100336);
double r100340 = r100339 / r100307;
double r100341 = r100338 * r100340;
double r100342 = r100341 * r100321;
double r100343 = tan(r100313);
double r100344 = r100342 * r100343;
double r100345 = r100311 / r100344;
double r100346 = r100313 / r100326;
double r100347 = pow(r100346, r100311);
double r100348 = r100345 / r100347;
double r100349 = r100310 ? r100333 : r100348;
return r100349;
}



Bits error versus t



Bits error versus l



Bits error versus k
Results
if (* l l) < 2.672455824101151e+290Initial program 45.3
Simplified36.2
Taylor expanded around inf 14.7
rmApplied sqr-pow14.7
Applied associate-*l*12.3
rmApplied *-un-lft-identity12.3
Applied times-frac12.1
Applied unpow-prod-down12.1
Applied associate-*l*10.3
Simplified10.3
rmApplied unpow210.3
Applied times-frac9.9
if 2.672455824101151e+290 < (* l l) Initial program 62.7
Simplified62.2
rmApplied add-cube-cbrt62.2
Applied unpow-prod-down62.2
Applied times-frac47.9
Final simplification16.3
herbie shell --seed 2020042
(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))))