\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 -3.313813655101207 \cdot 10^{-57}:\\
\;\;\;\;\frac{1}{t} \cdot \frac{\frac{2}{\sin k}}{\mathsf{fma}\left(\frac{\sin k}{\cos k} \cdot \left(\frac{t}{\ell} \cdot \frac{t}{\ell}\right), 2, \left(\frac{k}{\ell} \cdot \frac{k}{\ell}\right) \cdot \frac{\sin k}{\cos k}\right)}\\
\mathbf{elif}\;k \le 1.6490058462058476 \cdot 10^{-140}:\\
\;\;\;\;\frac{\frac{1}{t}}{\frac{\tan k}{\frac{\ell}{t}}} \cdot \frac{\frac{2}{\sin k}}{\frac{\mathsf{fma}\left(\frac{k}{t}, \frac{k}{t}, 2\right)}{\frac{\ell}{t}}}\\
\mathbf{else}:\\
\;\;\;\;\frac{\sqrt{2}}{t} \cdot \frac{\frac{\sqrt{2}}{\sin k}}{\mathsf{fma}\left(\frac{\sin k}{\cos k} \cdot \left(\frac{t}{\ell} \cdot \frac{t}{\ell}\right), 2, \left(\frac{k}{\ell} \cdot \frac{k}{\ell}\right) \cdot \frac{\sin k}{\cos k}\right)}\\
\end{array}double f(double t, double l, double k) {
double r2089600 = 2.0;
double r2089601 = t;
double r2089602 = 3.0;
double r2089603 = pow(r2089601, r2089602);
double r2089604 = l;
double r2089605 = r2089604 * r2089604;
double r2089606 = r2089603 / r2089605;
double r2089607 = k;
double r2089608 = sin(r2089607);
double r2089609 = r2089606 * r2089608;
double r2089610 = tan(r2089607);
double r2089611 = r2089609 * r2089610;
double r2089612 = 1.0;
double r2089613 = r2089607 / r2089601;
double r2089614 = pow(r2089613, r2089600);
double r2089615 = r2089612 + r2089614;
double r2089616 = r2089615 + r2089612;
double r2089617 = r2089611 * r2089616;
double r2089618 = r2089600 / r2089617;
return r2089618;
}
double f(double t, double l, double k) {
double r2089619 = k;
double r2089620 = -3.313813655101207e-57;
bool r2089621 = r2089619 <= r2089620;
double r2089622 = 1.0;
double r2089623 = t;
double r2089624 = r2089622 / r2089623;
double r2089625 = 2.0;
double r2089626 = sin(r2089619);
double r2089627 = r2089625 / r2089626;
double r2089628 = cos(r2089619);
double r2089629 = r2089626 / r2089628;
double r2089630 = l;
double r2089631 = r2089623 / r2089630;
double r2089632 = r2089631 * r2089631;
double r2089633 = r2089629 * r2089632;
double r2089634 = r2089619 / r2089630;
double r2089635 = r2089634 * r2089634;
double r2089636 = r2089635 * r2089629;
double r2089637 = fma(r2089633, r2089625, r2089636);
double r2089638 = r2089627 / r2089637;
double r2089639 = r2089624 * r2089638;
double r2089640 = 1.6490058462058476e-140;
bool r2089641 = r2089619 <= r2089640;
double r2089642 = tan(r2089619);
double r2089643 = r2089630 / r2089623;
double r2089644 = r2089642 / r2089643;
double r2089645 = r2089624 / r2089644;
double r2089646 = r2089619 / r2089623;
double r2089647 = fma(r2089646, r2089646, r2089625);
double r2089648 = r2089647 / r2089643;
double r2089649 = r2089627 / r2089648;
double r2089650 = r2089645 * r2089649;
double r2089651 = sqrt(r2089625);
double r2089652 = r2089651 / r2089623;
double r2089653 = r2089651 / r2089626;
double r2089654 = r2089653 / r2089637;
double r2089655 = r2089652 * r2089654;
double r2089656 = r2089641 ? r2089650 : r2089655;
double r2089657 = r2089621 ? r2089639 : r2089656;
return r2089657;
}



Bits error versus t



Bits error versus l



Bits error versus k
if k < -3.313813655101207e-57Initial program 31.1
Simplified19.6
rmApplied associate-*l/19.5
Applied associate-/r/19.4
Applied associate-/l*17.2
Taylor expanded around inf 22.2
Simplified4.9
rmApplied *-un-lft-identity4.9
Applied *-un-lft-identity4.9
Applied times-frac4.9
Applied times-frac4.9
Simplified4.9
if -3.313813655101207e-57 < k < 1.6490058462058476e-140Initial program 35.2
Simplified25.6
rmApplied associate-*l/19.1
Applied associate-/r/19.0
Applied associate-/l*18.3
rmApplied times-frac6.6
Applied *-un-lft-identity6.6
Applied times-frac6.6
Applied times-frac3.0
if 1.6490058462058476e-140 < k Initial program 30.4
Simplified18.4
rmApplied associate-*l/17.8
Applied associate-/r/17.7
Applied associate-/l*15.8
Taylor expanded around inf 22.8
Simplified5.7
rmApplied *-un-lft-identity5.7
Applied add-sqr-sqrt5.9
Applied times-frac5.8
Applied times-frac6.1
Simplified6.1
Final simplification5.0
herbie shell --seed 2019143 +o rules:numerics
(FPCore (t l k)
:name "Toniolo and Linder, Equation (10+)"
(/ 2 (* (* (* (/ (pow t 3) (* l l)) (sin k)) (tan k)) (+ (+ 1 (pow (/ k t) 2)) 1))))