\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 3.457799854325248563136886079015659053076 \cdot 10^{297}:\\
\;\;\;\;2 \cdot \left(\left(\left({\left(\frac{1}{{k}^{\left(\frac{2}{2}\right)} \cdot {t}^{1}}\right)}^{1} \cdot \frac{\cos k}{\sin k}\right) \cdot \frac{{\ell}^{2}}{\sin k}\right) \cdot {\left(\frac{1}{{k}^{\left(\frac{2}{2}\right)}}\right)}^{1}\right)\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{2}{\left(\frac{{\left(\sqrt[3]{t} \cdot \sqrt[3]{t}\right)}^{3}}{\ell} \cdot \left(\frac{{\left(\sqrt[3]{t}\right)}^{3}}{\ell} \cdot \sin k\right)\right) \cdot \tan k}}{{\left(\frac{k}{t}\right)}^{2}}\\
\end{array}double f(double t, double l, double k) {
double r106274 = 2.0;
double r106275 = t;
double r106276 = 3.0;
double r106277 = pow(r106275, r106276);
double r106278 = l;
double r106279 = r106278 * r106278;
double r106280 = r106277 / r106279;
double r106281 = k;
double r106282 = sin(r106281);
double r106283 = r106280 * r106282;
double r106284 = tan(r106281);
double r106285 = r106283 * r106284;
double r106286 = 1.0;
double r106287 = r106281 / r106275;
double r106288 = pow(r106287, r106274);
double r106289 = r106286 + r106288;
double r106290 = r106289 - r106286;
double r106291 = r106285 * r106290;
double r106292 = r106274 / r106291;
return r106292;
}
double f(double t, double l, double k) {
double r106293 = l;
double r106294 = r106293 * r106293;
double r106295 = 3.4577998543252486e+297;
bool r106296 = r106294 <= r106295;
double r106297 = 2.0;
double r106298 = 1.0;
double r106299 = k;
double r106300 = 2.0;
double r106301 = r106297 / r106300;
double r106302 = pow(r106299, r106301);
double r106303 = t;
double r106304 = 1.0;
double r106305 = pow(r106303, r106304);
double r106306 = r106302 * r106305;
double r106307 = r106298 / r106306;
double r106308 = pow(r106307, r106304);
double r106309 = cos(r106299);
double r106310 = sin(r106299);
double r106311 = r106309 / r106310;
double r106312 = r106308 * r106311;
double r106313 = pow(r106293, r106300);
double r106314 = r106313 / r106310;
double r106315 = r106312 * r106314;
double r106316 = r106298 / r106302;
double r106317 = pow(r106316, r106304);
double r106318 = r106315 * r106317;
double r106319 = r106297 * r106318;
double r106320 = cbrt(r106303);
double r106321 = r106320 * r106320;
double r106322 = 3.0;
double r106323 = pow(r106321, r106322);
double r106324 = r106323 / r106293;
double r106325 = pow(r106320, r106322);
double r106326 = r106325 / r106293;
double r106327 = r106326 * r106310;
double r106328 = r106324 * r106327;
double r106329 = tan(r106299);
double r106330 = r106328 * r106329;
double r106331 = r106297 / r106330;
double r106332 = r106299 / r106303;
double r106333 = pow(r106332, r106297);
double r106334 = r106331 / r106333;
double r106335 = r106296 ? r106319 : r106334;
return r106335;
}



Bits error versus t



Bits error versus l



Bits error versus k
Results
if (* l l) < 3.4577998543252486e+297Initial program 44.8
Simplified35.7
Taylor expanded around inf 14.1
rmApplied sqr-pow14.1
Applied associate-*l*11.6
rmApplied add-cube-cbrt11.6
Applied times-frac11.4
Applied unpow-prod-down11.4
Applied associate-*l*9.8
Simplified9.8
rmApplied sqr-pow9.8
Applied times-frac9.5
Applied associate-*r*9.7
Simplified9.7
if 3.4577998543252486e+297 < (* l l) Initial program 63.5
Simplified63.4
rmApplied add-cube-cbrt63.4
Applied unpow-prod-down63.4
Applied times-frac49.4
Applied associate-*l*49.4
Final simplification16.1
herbie shell --seed 2019208 +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))))