\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 0.0:\\
\;\;\;\;2 \cdot \left({\left(\frac{1}{{k}^{\left(\frac{2}{2}\right)} \cdot {t}^{1}}\right)}^{1} \cdot \frac{{\left(\frac{1}{{k}^{\left(\frac{2}{2}\right)}}\right)}^{1}}{\frac{\frac{{\left(\sin k\right)}^{2}}{\ell \cdot \cos k}}{\ell}}\right)\\
\mathbf{elif}\;\ell \cdot \ell \le 2.429270327298531141168205995229653525329 \cdot 10^{-217}:\\
\;\;\;\;2 \cdot \left({\left(\frac{1}{{k}^{2} \cdot {t}^{1}}\right)}^{1} \cdot \left(\frac{\cos k}{\sin k} \cdot \frac{\ell}{\frac{\sin k}{\ell}}\right)\right)\\
\mathbf{else}:\\
\;\;\;\;2 \cdot \left(\frac{\ell \cdot \left({\left(\frac{1}{{k}^{\left(\frac{2}{2}\right)}}\right)}^{1} \cdot \left(\ell \cdot \cos k\right)\right)}{{\left(\sin k\right)}^{2}} \cdot {\left(\frac{\frac{1}{{k}^{\left(\frac{2}{2}\right)}}}{{t}^{1}}\right)}^{1}\right)\\
\end{array}double f(double t, double l, double k) {
double r193512 = 2.0;
double r193513 = t;
double r193514 = 3.0;
double r193515 = pow(r193513, r193514);
double r193516 = l;
double r193517 = r193516 * r193516;
double r193518 = r193515 / r193517;
double r193519 = k;
double r193520 = sin(r193519);
double r193521 = r193518 * r193520;
double r193522 = tan(r193519);
double r193523 = r193521 * r193522;
double r193524 = 1.0;
double r193525 = r193519 / r193513;
double r193526 = pow(r193525, r193512);
double r193527 = r193524 + r193526;
double r193528 = r193527 - r193524;
double r193529 = r193523 * r193528;
double r193530 = r193512 / r193529;
return r193530;
}
double f(double t, double l, double k) {
double r193531 = l;
double r193532 = r193531 * r193531;
double r193533 = 0.0;
bool r193534 = r193532 <= r193533;
double r193535 = 2.0;
double r193536 = 1.0;
double r193537 = k;
double r193538 = 2.0;
double r193539 = r193535 / r193538;
double r193540 = pow(r193537, r193539);
double r193541 = t;
double r193542 = 1.0;
double r193543 = pow(r193541, r193542);
double r193544 = r193540 * r193543;
double r193545 = r193536 / r193544;
double r193546 = pow(r193545, r193542);
double r193547 = r193536 / r193540;
double r193548 = pow(r193547, r193542);
double r193549 = sin(r193537);
double r193550 = pow(r193549, r193538);
double r193551 = cos(r193537);
double r193552 = r193531 * r193551;
double r193553 = r193550 / r193552;
double r193554 = r193553 / r193531;
double r193555 = r193548 / r193554;
double r193556 = r193546 * r193555;
double r193557 = r193535 * r193556;
double r193558 = 2.429270327298531e-217;
bool r193559 = r193532 <= r193558;
double r193560 = pow(r193537, r193535);
double r193561 = r193560 * r193543;
double r193562 = r193536 / r193561;
double r193563 = pow(r193562, r193542);
double r193564 = r193551 / r193549;
double r193565 = r193549 / r193531;
double r193566 = r193531 / r193565;
double r193567 = r193564 * r193566;
double r193568 = r193563 * r193567;
double r193569 = r193535 * r193568;
double r193570 = r193548 * r193552;
double r193571 = r193531 * r193570;
double r193572 = r193571 / r193550;
double r193573 = r193547 / r193543;
double r193574 = pow(r193573, r193542);
double r193575 = r193572 * r193574;
double r193576 = r193535 * r193575;
double r193577 = r193559 ? r193569 : r193576;
double r193578 = r193534 ? r193557 : r193577;
return r193578;
}



Bits error versus t



Bits error versus l



Bits error versus k
Results
if (* l l) < 0.0Initial program 46.5
Simplified36.9
Taylor expanded around inf 20.5
rmApplied sqr-pow20.5
Applied associate-*r*20.5
Simplified20.5
rmApplied *-un-lft-identity20.5
Applied times-frac20.5
Applied unpow-prod-down20.5
Applied associate-*l*20.4
Simplified20.4
rmApplied associate-/l*20.4
Simplified13.3
if 0.0 < (* l l) < 2.429270327298531e-217Initial program 45.5
Simplified34.6
Taylor expanded around inf 5.3
rmApplied add-sqr-sqrt35.1
Applied unpow-prod-down35.1
Applied times-frac35.1
Simplified35.1
Simplified4.4
if 2.429270327298531e-217 < (* l l) Initial program 50.4
Simplified43.6
Taylor expanded around inf 26.2
rmApplied sqr-pow26.2
Applied associate-*r*22.2
Simplified22.2
rmApplied *-un-lft-identity22.2
Applied times-frac22.0
Applied unpow-prod-down22.0
Applied associate-*l*19.7
Simplified19.6
rmApplied *-un-lft-identity19.6
Applied associate-*l*19.6
Simplified11.8
Final simplification11.5
herbie shell --seed 2019194
(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))))