\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 6.496561224617880670166453486268841442794 \cdot 10^{292}:\\
\;\;\;\;2 \cdot \left(\left(\left(\frac{\cos k}{\left|\sin k\right|} \cdot \frac{\ell}{\frac{\left|\sin k\right|}{\ell}}\right) \cdot {\left(\frac{1}{{k}^{\left(\frac{2}{2}\right)} \cdot {t}^{1}}\right)}^{1}\right) \cdot {\left(\frac{1}{{k}^{\left(\frac{2}{2}\right)}}\right)}^{1}\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 r100304 = 2.0;
double r100305 = t;
double r100306 = 3.0;
double r100307 = pow(r100305, r100306);
double r100308 = l;
double r100309 = r100308 * r100308;
double r100310 = r100307 / r100309;
double r100311 = k;
double r100312 = sin(r100311);
double r100313 = r100310 * r100312;
double r100314 = tan(r100311);
double r100315 = r100313 * r100314;
double r100316 = 1.0;
double r100317 = r100311 / r100305;
double r100318 = pow(r100317, r100304);
double r100319 = r100316 + r100318;
double r100320 = r100319 - r100316;
double r100321 = r100315 * r100320;
double r100322 = r100304 / r100321;
return r100322;
}
double f(double t, double l, double k) {
double r100323 = l;
double r100324 = r100323 * r100323;
double r100325 = 6.496561224617881e+292;
bool r100326 = r100324 <= r100325;
double r100327 = 2.0;
double r100328 = k;
double r100329 = cos(r100328);
double r100330 = sin(r100328);
double r100331 = fabs(r100330);
double r100332 = r100329 / r100331;
double r100333 = r100331 / r100323;
double r100334 = r100323 / r100333;
double r100335 = r100332 * r100334;
double r100336 = 1.0;
double r100337 = 2.0;
double r100338 = r100327 / r100337;
double r100339 = pow(r100328, r100338);
double r100340 = t;
double r100341 = 1.0;
double r100342 = pow(r100340, r100341);
double r100343 = r100339 * r100342;
double r100344 = r100336 / r100343;
double r100345 = pow(r100344, r100341);
double r100346 = r100335 * r100345;
double r100347 = r100336 / r100339;
double r100348 = pow(r100347, r100341);
double r100349 = r100346 * r100348;
double r100350 = r100327 * r100349;
double r100351 = cbrt(r100340);
double r100352 = r100351 * r100351;
double r100353 = 3.0;
double r100354 = pow(r100352, r100353);
double r100355 = r100354 / r100323;
double r100356 = pow(r100351, r100353);
double r100357 = r100356 / r100323;
double r100358 = r100355 * r100357;
double r100359 = r100358 * r100330;
double r100360 = tan(r100328);
double r100361 = r100359 * r100360;
double r100362 = r100327 / r100361;
double r100363 = r100328 / r100340;
double r100364 = pow(r100363, r100327);
double r100365 = r100362 / r100364;
double r100366 = r100326 ? r100350 : r100365;
return r100366;
}



Bits error versus t



Bits error versus l



Bits error versus k
Results
if (* l l) < 6.496561224617881e+292Initial program 45.3
Simplified36.1
Taylor expanded around inf 14.4
rmApplied sqr-pow14.4
Applied associate-*l*11.9
rmApplied add-sqr-sqrt11.9
Applied times-frac11.8
Applied unpow-prod-down11.8
Applied associate-*l*10.1
Simplified10.1
rmApplied add-sqr-sqrt10.1
Applied times-frac10.1
Simplified10.1
Simplified6.9
if 6.496561224617881e+292 < (* l l) Initial program 63.3
Simplified62.8
rmApplied add-cube-cbrt62.8
Applied unpow-prod-down62.8
Applied times-frac49.6
Final simplification13.5
herbie shell --seed 2019323
(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))))