\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}\;t \le 4.421956979468318490074797826886651301589 \cdot 10^{-50} \lor \neg \left(t \le 4.542715892992587199784907751836612646733 \cdot 10^{84}\right):\\
\;\;\;\;\left(\frac{\ell}{\sin k} \cdot \left({\left(\frac{{\left({t}^{1} \cdot {k}^{\left(\frac{2}{2}\right)}\right)}^{-1}}{{k}^{\left(\frac{2}{2}\right)}}\right)}^{1} \cdot 2\right)\right) \cdot \left(\frac{1}{\tan k} \cdot \ell\right)\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{1}{{t}^{3}}}{{\left(\frac{k}{t}\right)}^{\left(\frac{2}{2}\right)}} \cdot \left(\frac{\ell \cdot \frac{2}{\sin k}}{{\left(\frac{k}{t}\right)}^{\left(\frac{2}{2}\right)}} \cdot \frac{\ell}{\tan k}\right)\\
\end{array}double f(double t, double l, double k) {
double r123779 = 2.0;
double r123780 = t;
double r123781 = 3.0;
double r123782 = pow(r123780, r123781);
double r123783 = l;
double r123784 = r123783 * r123783;
double r123785 = r123782 / r123784;
double r123786 = k;
double r123787 = sin(r123786);
double r123788 = r123785 * r123787;
double r123789 = tan(r123786);
double r123790 = r123788 * r123789;
double r123791 = 1.0;
double r123792 = r123786 / r123780;
double r123793 = pow(r123792, r123779);
double r123794 = r123791 + r123793;
double r123795 = r123794 - r123791;
double r123796 = r123790 * r123795;
double r123797 = r123779 / r123796;
return r123797;
}
double f(double t, double l, double k) {
double r123798 = t;
double r123799 = 4.4219569794683185e-50;
bool r123800 = r123798 <= r123799;
double r123801 = 4.542715892992587e+84;
bool r123802 = r123798 <= r123801;
double r123803 = !r123802;
bool r123804 = r123800 || r123803;
double r123805 = l;
double r123806 = k;
double r123807 = sin(r123806);
double r123808 = r123805 / r123807;
double r123809 = 1.0;
double r123810 = pow(r123798, r123809);
double r123811 = 2.0;
double r123812 = 2.0;
double r123813 = r123811 / r123812;
double r123814 = pow(r123806, r123813);
double r123815 = r123810 * r123814;
double r123816 = -1.0;
double r123817 = pow(r123815, r123816);
double r123818 = r123817 / r123814;
double r123819 = pow(r123818, r123809);
double r123820 = r123819 * r123811;
double r123821 = r123808 * r123820;
double r123822 = 1.0;
double r123823 = tan(r123806);
double r123824 = r123822 / r123823;
double r123825 = r123824 * r123805;
double r123826 = r123821 * r123825;
double r123827 = 3.0;
double r123828 = pow(r123798, r123827);
double r123829 = r123822 / r123828;
double r123830 = r123806 / r123798;
double r123831 = pow(r123830, r123813);
double r123832 = r123829 / r123831;
double r123833 = r123811 / r123807;
double r123834 = r123805 * r123833;
double r123835 = r123834 / r123831;
double r123836 = r123805 / r123823;
double r123837 = r123835 * r123836;
double r123838 = r123832 * r123837;
double r123839 = r123804 ? r123826 : r123838;
return r123839;
}



Bits error versus t



Bits error versus l



Bits error versus k
Results
if t < 4.4219569794683185e-50 or 4.542715892992587e+84 < t Initial program 50.3
Simplified40.2
Taylor expanded around inf 16.2
Simplified16.1
rmApplied sqr-pow16.1
Applied associate-/r*10.6
Simplified10.6
rmApplied div-inv10.6
rmApplied inv-pow10.6
if 4.4219569794683185e-50 < t < 4.542715892992587e+84Initial program 30.4
Simplified12.8
rmApplied sqr-pow12.8
Applied *-un-lft-identity12.8
Applied times-frac12.7
Applied times-frac4.6
Applied associate-*l*6.7
Simplified6.7
Final simplification10.2
herbie shell --seed 2019174 +o rules:numerics
(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))))