\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 -5.5457382772615714 \cdot 10^{-114}:\\
\;\;\;\;\frac{2}{\left({\left(\sqrt[3]{t} \cdot \sqrt[3]{t}\right)}^{\left(\frac{3}{2}\right)} \cdot \left(\left(\frac{{\left(\sqrt[3]{t} \cdot \sqrt[3]{t}\right)}^{\left(\frac{3}{2}\right)}}{\ell} \cdot \left(\frac{{\left(\sqrt[3]{t}\right)}^{3}}{\ell} \cdot \sin k\right)\right) \cdot \tan k\right)\right) \cdot \left(\left(1 + {\left(\frac{k}{t}\right)}^{2}\right) + 1\right)}\\
\mathbf{elif}\;t \le -6.94898504968278468 \cdot 10^{-236}:\\
\;\;\;\;\frac{2}{\frac{{k}^{2} \cdot \left(t \cdot {\left(\sin k\right)}^{2}\right)}{\cos k \cdot {\ell}^{2}} + 2 \cdot \frac{{t}^{3} \cdot {\left(\sin k\right)}^{2}}{\cos k \cdot {\ell}^{2}}}\\
\mathbf{elif}\;t \le 1.38495550570616438 \cdot 10^{-123}:\\
\;\;\;\;\frac{2}{\left(\left({\left(\sqrt[3]{t} \cdot \sqrt[3]{t}\right)}^{\left(\frac{3}{2}\right)} \cdot \left(\frac{{\left(\sqrt[3]{t} \cdot \sqrt[3]{t}\right)}^{\left(\frac{3}{2}\right)}}{\ell} \cdot \left(\frac{k \cdot t}{\ell} - \frac{1}{6} \cdot \frac{{k}^{3} \cdot t}{\ell}\right)\right)\right) \cdot \tan k\right) \cdot \left(\left(1 + {\left(\frac{k}{t}\right)}^{2}\right) + 1\right)}\\
\mathbf{elif}\;t \le 1.0752185866752936 \cdot 10^{-77}:\\
\;\;\;\;\frac{2}{2 \cdot \left({\left(\frac{1}{{-1}^{3}}\right)}^{1} \cdot \frac{{\left(\sqrt[3]{-1}\right)}^{9} \cdot \left({t}^{3} \cdot {\left(\sin k\right)}^{2}\right)}{\cos k \cdot {\ell}^{2}}\right) + {\left(\frac{1}{{-1}^{3}}\right)}^{1} \cdot \frac{{\left(\sqrt[3]{-1}\right)}^{9} \cdot \left({\left(\sin k\right)}^{2} \cdot \left({k}^{2} \cdot t\right)\right)}{\cos k \cdot {\ell}^{2}}}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{\left(\left({\left(\sqrt[3]{t} \cdot \sqrt[3]{t}\right)}^{\left(\frac{3}{2}\right)} \cdot \left(\frac{{\left(\sqrt[3]{t} \cdot \sqrt[3]{t}\right)}^{\left(\frac{3}{2}\right)}}{\ell} \cdot \left(\frac{{t}^{\left(\frac{1}{3} \cdot 3\right)}}{\ell} \cdot \sin k\right)\right)\right) \cdot \tan k\right) \cdot \left(\left(1 + {\left(\frac{k}{t}\right)}^{2}\right) + 1\right)}\\
\end{array}double f(double t, double l, double k) {
double r114784 = 2.0;
double r114785 = t;
double r114786 = 3.0;
double r114787 = pow(r114785, r114786);
double r114788 = l;
double r114789 = r114788 * r114788;
double r114790 = r114787 / r114789;
double r114791 = k;
double r114792 = sin(r114791);
double r114793 = r114790 * r114792;
double r114794 = tan(r114791);
double r114795 = r114793 * r114794;
double r114796 = 1.0;
double r114797 = r114791 / r114785;
double r114798 = pow(r114797, r114784);
double r114799 = r114796 + r114798;
double r114800 = r114799 + r114796;
double r114801 = r114795 * r114800;
double r114802 = r114784 / r114801;
return r114802;
}
double f(double t, double l, double k) {
double r114803 = t;
double r114804 = -5.5457382772615714e-114;
bool r114805 = r114803 <= r114804;
double r114806 = 2.0;
double r114807 = cbrt(r114803);
double r114808 = r114807 * r114807;
double r114809 = 3.0;
double r114810 = 2.0;
double r114811 = r114809 / r114810;
double r114812 = pow(r114808, r114811);
double r114813 = l;
double r114814 = r114812 / r114813;
double r114815 = pow(r114807, r114809);
double r114816 = r114815 / r114813;
double r114817 = k;
double r114818 = sin(r114817);
double r114819 = r114816 * r114818;
double r114820 = r114814 * r114819;
double r114821 = tan(r114817);
double r114822 = r114820 * r114821;
double r114823 = r114812 * r114822;
double r114824 = 1.0;
double r114825 = r114817 / r114803;
double r114826 = pow(r114825, r114806);
double r114827 = r114824 + r114826;
double r114828 = r114827 + r114824;
double r114829 = r114823 * r114828;
double r114830 = r114806 / r114829;
double r114831 = -6.948985049682785e-236;
bool r114832 = r114803 <= r114831;
double r114833 = pow(r114817, r114810);
double r114834 = pow(r114818, r114810);
double r114835 = r114803 * r114834;
double r114836 = r114833 * r114835;
double r114837 = cos(r114817);
double r114838 = pow(r114813, r114810);
double r114839 = r114837 * r114838;
double r114840 = r114836 / r114839;
double r114841 = 3.0;
double r114842 = pow(r114803, r114841);
double r114843 = r114842 * r114834;
double r114844 = r114843 / r114839;
double r114845 = r114806 * r114844;
double r114846 = r114840 + r114845;
double r114847 = r114806 / r114846;
double r114848 = 1.3849555057061644e-123;
bool r114849 = r114803 <= r114848;
double r114850 = r114817 * r114803;
double r114851 = r114850 / r114813;
double r114852 = 0.16666666666666666;
double r114853 = pow(r114817, r114841);
double r114854 = r114853 * r114803;
double r114855 = r114854 / r114813;
double r114856 = r114852 * r114855;
double r114857 = r114851 - r114856;
double r114858 = r114814 * r114857;
double r114859 = r114812 * r114858;
double r114860 = r114859 * r114821;
double r114861 = r114860 * r114828;
double r114862 = r114806 / r114861;
double r114863 = 1.0752185866752936e-77;
bool r114864 = r114803 <= r114863;
double r114865 = 1.0;
double r114866 = -1.0;
double r114867 = pow(r114866, r114809);
double r114868 = r114865 / r114867;
double r114869 = pow(r114868, r114824);
double r114870 = cbrt(r114866);
double r114871 = 9.0;
double r114872 = pow(r114870, r114871);
double r114873 = r114872 * r114843;
double r114874 = r114873 / r114839;
double r114875 = r114869 * r114874;
double r114876 = r114806 * r114875;
double r114877 = r114833 * r114803;
double r114878 = r114834 * r114877;
double r114879 = r114872 * r114878;
double r114880 = r114879 / r114839;
double r114881 = r114869 * r114880;
double r114882 = r114876 + r114881;
double r114883 = r114806 / r114882;
double r114884 = 0.3333333333333333;
double r114885 = r114884 * r114809;
double r114886 = pow(r114803, r114885);
double r114887 = r114886 / r114813;
double r114888 = r114887 * r114818;
double r114889 = r114814 * r114888;
double r114890 = r114812 * r114889;
double r114891 = r114890 * r114821;
double r114892 = r114891 * r114828;
double r114893 = r114806 / r114892;
double r114894 = r114864 ? r114883 : r114893;
double r114895 = r114849 ? r114862 : r114894;
double r114896 = r114832 ? r114847 : r114895;
double r114897 = r114805 ? r114830 : r114896;
return r114897;
}



Bits error versus t



Bits error versus l



Bits error versus k
Results
if t < -5.5457382772615714e-114Initial program 23.1
rmApplied add-cube-cbrt23.3
Applied unpow-prod-down23.3
Applied times-frac16.6
Applied associate-*l*14.6
rmApplied *-un-lft-identity14.6
Applied sqr-pow14.6
Applied times-frac9.9
Simplified9.9
rmApplied associate-*l*9.5
rmApplied associate-*l*8.8
if -5.5457382772615714e-114 < t < -6.948985049682785e-236Initial program 64.0
Taylor expanded around inf 38.5
if -6.948985049682785e-236 < t < 1.3849555057061644e-123Initial program 64.0
rmApplied add-cube-cbrt64.0
Applied unpow-prod-down64.0
Applied times-frac59.1
Applied associate-*l*59.1
rmApplied *-un-lft-identity59.1
Applied sqr-pow59.1
Applied times-frac51.1
Simplified51.1
rmApplied associate-*l*51.1
Taylor expanded around 0 41.9
if 1.3849555057061644e-123 < t < 1.0752185866752936e-77Initial program 40.1
rmApplied add-cube-cbrt40.2
Applied unpow-prod-down40.2
Applied times-frac26.7
Applied associate-*l*25.1
Taylor expanded around -inf 26.5
if 1.0752185866752936e-77 < t Initial program 23.1
rmApplied add-cube-cbrt23.2
Applied unpow-prod-down23.2
Applied times-frac16.9
Applied associate-*l*14.8
rmApplied *-un-lft-identity14.8
Applied sqr-pow14.8
Applied times-frac10.1
Simplified10.1
rmApplied associate-*l*9.3
rmApplied pow1/310.4
Applied pow-pow9.2
Final simplification15.8
herbie shell --seed 2020043
(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))))