\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}\;k \le -6.111269366656179596441593664238848485936 \cdot 10^{-40}:\\
\;\;\;\;\frac{2}{-\left(\left(\left(\left(\frac{t \cdot t}{\ell} \cdot \frac{t}{\ell}\right) \cdot \frac{\sin k \cdot \sin k}{\cos k}\right) \cdot {\left(\frac{1}{{-1}^{3}}\right)}^{1}\right) \cdot 2 + \frac{t}{\left(\frac{\ell}{k} \cdot \frac{\ell}{k}\right) \cdot \frac{\cos k}{\sin k \cdot \sin k}} \cdot {\left(\frac{1}{{-1}^{3}}\right)}^{1}\right)}\\
\mathbf{elif}\;k \le 9.041137738162277674930500825476272809937 \cdot 10^{-106}:\\
\;\;\;\;\frac{2}{\left(\left(\left(\frac{{\left(\sqrt[3]{t}\right)}^{3}}{\sqrt[3]{\ell}} \cdot \left(\frac{{\left(\sqrt[3]{t}\right)}^{3}}{\ell} \cdot \sin k\right)\right) \cdot \tan k\right) \cdot \frac{{\left(\sqrt[3]{t}\right)}^{3}}{\sqrt[3]{\ell} \cdot \sqrt[3]{\ell}}\right) \cdot \left(1 + \left({\left(\frac{k}{t}\right)}^{2} + 1\right)\right)}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{-\left(\left(\left(\left(\frac{t \cdot t}{\ell} \cdot \frac{t}{\ell}\right) \cdot \frac{\sin k \cdot \sin k}{\cos k}\right) \cdot {\left(\frac{1}{{-1}^{3}}\right)}^{1}\right) \cdot 2 + \frac{t}{\left(\frac{\ell}{k} \cdot \frac{\ell}{k}\right) \cdot \frac{\cos k}{\sin k \cdot \sin k}} \cdot {\left(\frac{1}{{-1}^{3}}\right)}^{1}\right)}\\
\end{array}double f(double t, double l, double k) {
double r5139285 = 2.0;
double r5139286 = t;
double r5139287 = 3.0;
double r5139288 = pow(r5139286, r5139287);
double r5139289 = l;
double r5139290 = r5139289 * r5139289;
double r5139291 = r5139288 / r5139290;
double r5139292 = k;
double r5139293 = sin(r5139292);
double r5139294 = r5139291 * r5139293;
double r5139295 = tan(r5139292);
double r5139296 = r5139294 * r5139295;
double r5139297 = 1.0;
double r5139298 = r5139292 / r5139286;
double r5139299 = pow(r5139298, r5139285);
double r5139300 = r5139297 + r5139299;
double r5139301 = r5139300 + r5139297;
double r5139302 = r5139296 * r5139301;
double r5139303 = r5139285 / r5139302;
return r5139303;
}
double f(double t, double l, double k) {
double r5139304 = k;
double r5139305 = -6.11126936665618e-40;
bool r5139306 = r5139304 <= r5139305;
double r5139307 = 2.0;
double r5139308 = t;
double r5139309 = r5139308 * r5139308;
double r5139310 = l;
double r5139311 = r5139309 / r5139310;
double r5139312 = r5139308 / r5139310;
double r5139313 = r5139311 * r5139312;
double r5139314 = sin(r5139304);
double r5139315 = r5139314 * r5139314;
double r5139316 = cos(r5139304);
double r5139317 = r5139315 / r5139316;
double r5139318 = r5139313 * r5139317;
double r5139319 = 1.0;
double r5139320 = -1.0;
double r5139321 = 3.0;
double r5139322 = pow(r5139320, r5139321);
double r5139323 = r5139319 / r5139322;
double r5139324 = 1.0;
double r5139325 = pow(r5139323, r5139324);
double r5139326 = r5139318 * r5139325;
double r5139327 = r5139326 * r5139307;
double r5139328 = r5139310 / r5139304;
double r5139329 = r5139328 * r5139328;
double r5139330 = r5139316 / r5139315;
double r5139331 = r5139329 * r5139330;
double r5139332 = r5139308 / r5139331;
double r5139333 = r5139332 * r5139325;
double r5139334 = r5139327 + r5139333;
double r5139335 = -r5139334;
double r5139336 = r5139307 / r5139335;
double r5139337 = 9.041137738162278e-106;
bool r5139338 = r5139304 <= r5139337;
double r5139339 = cbrt(r5139308);
double r5139340 = pow(r5139339, r5139321);
double r5139341 = cbrt(r5139310);
double r5139342 = r5139340 / r5139341;
double r5139343 = r5139340 / r5139310;
double r5139344 = r5139343 * r5139314;
double r5139345 = r5139342 * r5139344;
double r5139346 = tan(r5139304);
double r5139347 = r5139345 * r5139346;
double r5139348 = r5139341 * r5139341;
double r5139349 = r5139340 / r5139348;
double r5139350 = r5139347 * r5139349;
double r5139351 = r5139304 / r5139308;
double r5139352 = pow(r5139351, r5139307);
double r5139353 = r5139352 + r5139324;
double r5139354 = r5139324 + r5139353;
double r5139355 = r5139350 * r5139354;
double r5139356 = r5139307 / r5139355;
double r5139357 = r5139338 ? r5139356 : r5139336;
double r5139358 = r5139306 ? r5139336 : r5139357;
return r5139358;
}



Bits error versus t



Bits error versus l



Bits error versus k
Results
if k < -6.11126936665618e-40 or 9.041137738162278e-106 < k Initial program 32.0
rmApplied add-cube-cbrt32.2
Applied unpow-prod-down32.2
Applied times-frac24.5
Applied associate-*l*24.2
rmApplied add-cube-cbrt24.2
Applied unpow-prod-down24.2
Applied times-frac19.3
rmApplied associate-*l*19.2
Taylor expanded around -inf 24.5
Simplified8.2
if -6.11126936665618e-40 < k < 9.041137738162278e-106Initial program 35.3
rmApplied add-cube-cbrt35.4
Applied unpow-prod-down35.4
Applied times-frac30.0
Applied associate-*l*23.8
rmApplied add-cube-cbrt23.8
Applied unpow-prod-down23.8
Applied times-frac16.8
rmApplied associate-*l*13.8
rmApplied associate-*l*7.6
Final simplification8.1
herbie shell --seed 2019172
(FPCore (t l k)
:name "Toniolo and Linder, Equation (10+)"
(/ 2.0 (* (* (* (/ (pow t 3.0) (* l l)) (sin k)) (tan k)) (+ (+ 1.0 (pow (/ k t) 2.0)) 1.0))))