\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 1.1118751811811023 \cdot 10^{-267}:\\
\;\;\;\;\frac{2}{\left(\frac{{\left(\sqrt[3]{t}\right)}^{3}}{\frac{\ell}{{\left(\sqrt[3]{t}\right)}^{3}}} \cdot \left(\frac{{\left(\sqrt[3]{t}\right)}^{3}}{\ell} \cdot \sin k\right)\right) \cdot \left(\tan k \cdot \left(\left(1 + {\left(\frac{k}{t}\right)}^{2}\right) + 1\right)\right)}\\
\mathbf{elif}\;\ell \cdot \ell \le 1.6076584110961083 \cdot 10^{148}:\\
\;\;\;\;\frac{2}{\mathsf{fma}\left(2, {\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}}, {\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}}\right)}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{\frac{\left(\left({\left(\sqrt[3]{t}\right)}^{3} \cdot \left(\frac{{\left(\sqrt[3]{t}\right)}^{3}}{\ell} \cdot \sin k\right)\right) \cdot \sin k\right) \cdot \left(\left(1 + {\left(\frac{k}{t}\right)}^{2}\right) + 1\right)}{\frac{\ell}{{\left(\sqrt[3]{t}\right)}^{3}} \cdot \cos k}}\\
\end{array}double f(double t, double l, double k) {
double r107125 = 2.0;
double r107126 = t;
double r107127 = 3.0;
double r107128 = pow(r107126, r107127);
double r107129 = l;
double r107130 = r107129 * r107129;
double r107131 = r107128 / r107130;
double r107132 = k;
double r107133 = sin(r107132);
double r107134 = r107131 * r107133;
double r107135 = tan(r107132);
double r107136 = r107134 * r107135;
double r107137 = 1.0;
double r107138 = r107132 / r107126;
double r107139 = pow(r107138, r107125);
double r107140 = r107137 + r107139;
double r107141 = r107140 + r107137;
double r107142 = r107136 * r107141;
double r107143 = r107125 / r107142;
return r107143;
}
double f(double t, double l, double k) {
double r107144 = l;
double r107145 = r107144 * r107144;
double r107146 = 1.1118751811811023e-267;
bool r107147 = r107145 <= r107146;
double r107148 = 2.0;
double r107149 = t;
double r107150 = cbrt(r107149);
double r107151 = 3.0;
double r107152 = pow(r107150, r107151);
double r107153 = r107144 / r107152;
double r107154 = r107152 / r107153;
double r107155 = r107152 / r107144;
double r107156 = k;
double r107157 = sin(r107156);
double r107158 = r107155 * r107157;
double r107159 = r107154 * r107158;
double r107160 = tan(r107156);
double r107161 = 1.0;
double r107162 = r107156 / r107149;
double r107163 = pow(r107162, r107148);
double r107164 = r107161 + r107163;
double r107165 = r107164 + r107161;
double r107166 = r107160 * r107165;
double r107167 = r107159 * r107166;
double r107168 = r107148 / r107167;
double r107169 = 1.6076584110961083e+148;
bool r107170 = r107145 <= r107169;
double r107171 = 1.0;
double r107172 = -1.0;
double r107173 = pow(r107172, r107151);
double r107174 = r107171 / r107173;
double r107175 = pow(r107174, r107161);
double r107176 = cbrt(r107172);
double r107177 = 9.0;
double r107178 = pow(r107176, r107177);
double r107179 = 3.0;
double r107180 = pow(r107149, r107179);
double r107181 = 2.0;
double r107182 = pow(r107157, r107181);
double r107183 = r107180 * r107182;
double r107184 = r107178 * r107183;
double r107185 = cos(r107156);
double r107186 = pow(r107144, r107181);
double r107187 = r107185 * r107186;
double r107188 = r107184 / r107187;
double r107189 = r107175 * r107188;
double r107190 = pow(r107156, r107181);
double r107191 = r107190 * r107149;
double r107192 = r107182 * r107191;
double r107193 = r107178 * r107192;
double r107194 = r107193 / r107187;
double r107195 = r107175 * r107194;
double r107196 = fma(r107148, r107189, r107195);
double r107197 = r107148 / r107196;
double r107198 = r107152 * r107158;
double r107199 = r107198 * r107157;
double r107200 = r107199 * r107165;
double r107201 = r107153 * r107185;
double r107202 = r107200 / r107201;
double r107203 = r107148 / r107202;
double r107204 = r107170 ? r107197 : r107203;
double r107205 = r107147 ? r107168 : r107204;
return r107205;
}



Bits error versus t



Bits error versus l



Bits error versus k
if (* l l) < 1.1118751811811023e-267Initial program 24.5
rmApplied add-cube-cbrt24.5
Applied unpow-prod-down24.5
Applied times-frac18.0
rmApplied unpow-prod-down18.0
Applied associate-/l*12.6
rmApplied associate-*l*9.9
rmApplied associate-*l*9.5
if 1.1118751811811023e-267 < (* l l) < 1.6076584110961083e+148Initial program 24.2
rmApplied add-cube-cbrt24.5
Applied unpow-prod-down24.5
Applied times-frac22.6
Taylor expanded around -inf 17.1
Simplified17.1
if 1.6076584110961083e+148 < (* l l) Initial program 51.7
rmApplied add-cube-cbrt51.8
Applied unpow-prod-down51.9
Applied times-frac37.3
rmApplied unpow-prod-down37.3
Applied associate-/l*26.3
rmApplied associate-*l*25.0
rmApplied tan-quot25.0
Applied associate-*l/23.0
Applied frac-times21.5
Applied associate-*l/19.6
Final simplification15.0
herbie shell --seed 2020062 +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))))