\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 \le -1.2094829756305392 \cdot 10^{-97}:\\
\;\;\;\;2 \cdot \frac{{\left(\frac{1}{{k}^{\left(\frac{2}{2}\right)}}\right)}^{1} \cdot \left({\left(\frac{1}{{k}^{\left(\frac{2}{2}\right)} \cdot {t}^{1}}\right)}^{1} \cdot \left(\cos k \cdot {\ell}^{2}\right)\right)}{{\left(\sin k\right)}^{2}}\\
\mathbf{elif}\;\ell \le 1.53396116894158868 \cdot 10^{-171}:\\
\;\;\;\;2 \cdot \left({\left(\frac{1}{{k}^{\left(\frac{2}{2}\right)} \cdot \left({k}^{\left(\frac{2}{2}\right)} \cdot {t}^{1}\right)}\right)}^{1} \cdot \frac{\frac{\cos k}{\frac{\frac{{\left(\sqrt[3]{\sin k}\right)}^{4}}{\ell}}{\ell}}}{{\left(\sqrt[3]{\sin k}\right)}^{2}}\right)\\
\mathbf{else}:\\
\;\;\;\;2 \cdot \left({\left(\frac{1}{{k}^{\left(\frac{2}{2}\right)}}\right)}^{1} \cdot \left(\frac{{\left(\frac{1}{{k}^{\left(\frac{2}{2}\right)} \cdot {t}^{1}}\right)}^{1} \cdot \cos k}{\sin k} \cdot \frac{{\ell}^{2}}{\sin k}\right)\right)\\
\end{array}double f(double t, double l, double k) {
double r112610 = 2.0;
double r112611 = t;
double r112612 = 3.0;
double r112613 = pow(r112611, r112612);
double r112614 = l;
double r112615 = r112614 * r112614;
double r112616 = r112613 / r112615;
double r112617 = k;
double r112618 = sin(r112617);
double r112619 = r112616 * r112618;
double r112620 = tan(r112617);
double r112621 = r112619 * r112620;
double r112622 = 1.0;
double r112623 = r112617 / r112611;
double r112624 = pow(r112623, r112610);
double r112625 = r112622 + r112624;
double r112626 = r112625 - r112622;
double r112627 = r112621 * r112626;
double r112628 = r112610 / r112627;
return r112628;
}
double f(double t, double l, double k) {
double r112629 = l;
double r112630 = -1.2094829756305392e-97;
bool r112631 = r112629 <= r112630;
double r112632 = 2.0;
double r112633 = 1.0;
double r112634 = k;
double r112635 = 2.0;
double r112636 = r112632 / r112635;
double r112637 = pow(r112634, r112636);
double r112638 = r112633 / r112637;
double r112639 = 1.0;
double r112640 = pow(r112638, r112639);
double r112641 = t;
double r112642 = pow(r112641, r112639);
double r112643 = r112637 * r112642;
double r112644 = r112633 / r112643;
double r112645 = pow(r112644, r112639);
double r112646 = cos(r112634);
double r112647 = pow(r112629, r112635);
double r112648 = r112646 * r112647;
double r112649 = r112645 * r112648;
double r112650 = r112640 * r112649;
double r112651 = sin(r112634);
double r112652 = pow(r112651, r112635);
double r112653 = r112650 / r112652;
double r112654 = r112632 * r112653;
double r112655 = 1.5339611689415887e-171;
bool r112656 = r112629 <= r112655;
double r112657 = r112637 * r112643;
double r112658 = r112633 / r112657;
double r112659 = pow(r112658, r112639);
double r112660 = cbrt(r112651);
double r112661 = 4.0;
double r112662 = pow(r112660, r112661);
double r112663 = r112662 / r112629;
double r112664 = r112663 / r112629;
double r112665 = r112646 / r112664;
double r112666 = pow(r112660, r112635);
double r112667 = r112665 / r112666;
double r112668 = r112659 * r112667;
double r112669 = r112632 * r112668;
double r112670 = r112645 * r112646;
double r112671 = r112670 / r112651;
double r112672 = r112647 / r112651;
double r112673 = r112671 * r112672;
double r112674 = r112640 * r112673;
double r112675 = r112632 * r112674;
double r112676 = r112656 ? r112669 : r112675;
double r112677 = r112631 ? r112654 : r112676;
return r112677;
}



Bits error versus t



Bits error versus l



Bits error versus k
Results
if l < -1.2094829756305392e-97Initial program 50.2
Simplified43.4
Taylor expanded around inf 28.0
rmApplied sqr-pow28.0
Applied associate-*l*23.8
rmApplied *-un-lft-identity23.8
Applied times-frac23.6
Applied unpow-prod-down23.6
Applied associate-*l*21.0
rmApplied associate-*r/20.7
Applied associate-*r/20.7
if -1.2094829756305392e-97 < l < 1.5339611689415887e-171Initial program 44.7
Simplified35.7
Taylor expanded around inf 16.4
rmApplied sqr-pow16.4
Applied associate-*l*16.3
rmApplied add-cube-cbrt16.4
Applied unpow-prod-down16.4
Applied associate-/r*16.0
Simplified11.5
if 1.5339611689415887e-171 < l Initial program 49.3
Simplified42.0
Taylor expanded around inf 22.6
rmApplied sqr-pow22.6
Applied associate-*l*19.7
rmApplied *-un-lft-identity19.7
Applied times-frac19.5
Applied unpow-prod-down19.5
Applied associate-*l*17.2
rmApplied unpow217.2
Applied times-frac16.7
Applied associate-*r*16.9
Simplified16.8
Final simplification15.9
herbie shell --seed 2020060 +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))))