\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 2.20401191496371068 \cdot 10^{-304}:\\
\;\;\;\;\frac{2}{\left(\left({\left(\sqrt[3]{t} \cdot \sqrt[3]{t}\right)}^{\left(\frac{3}{2}\right)} \cdot \frac{{\left(\sqrt[3]{t} \cdot \sqrt[3]{t}\right)}^{\left(\frac{3}{2}\right)}}{\ell}\right) \cdot \left(\left(\frac{{\left(\sqrt[3]{t}\right)}^{3}}{\ell} \cdot \sin k\right) \cdot \tan k\right)\right) \cdot \left(\left(1 + {\left(\frac{k}{t}\right)}^{2}\right) + 1\right)}\\
\mathbf{elif}\;\ell \cdot \ell \le 39114531484820.75:\\
\;\;\;\;\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{else}:\\
\;\;\;\;\frac{2}{\left(\left(\left({\left(\sqrt[3]{t} \cdot \sqrt[3]{t}\right)}^{\left(\frac{3}{2}\right)} \cdot \frac{{\left(\sqrt[3]{t} \cdot \sqrt[3]{t}\right)}^{\left(\frac{3}{2}\right)}}{\ell}\right) \cdot \left(\left(\sqrt[3]{\frac{{\left(\sqrt[3]{t}\right)}^{3}}{\ell} \cdot \sin k} \cdot \sqrt[3]{\frac{{\left(\sqrt[3]{t}\right)}^{3}}{\ell} \cdot \sin k}\right) \cdot \sqrt[3]{\frac{{\left(\sqrt[3]{t}\right)}^{3}}{\ell} \cdot \sin k}\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 r116179 = 2.0;
double r116180 = t;
double r116181 = 3.0;
double r116182 = pow(r116180, r116181);
double r116183 = l;
double r116184 = r116183 * r116183;
double r116185 = r116182 / r116184;
double r116186 = k;
double r116187 = sin(r116186);
double r116188 = r116185 * r116187;
double r116189 = tan(r116186);
double r116190 = r116188 * r116189;
double r116191 = 1.0;
double r116192 = r116186 / r116180;
double r116193 = pow(r116192, r116179);
double r116194 = r116191 + r116193;
double r116195 = r116194 + r116191;
double r116196 = r116190 * r116195;
double r116197 = r116179 / r116196;
return r116197;
}
double f(double t, double l, double k) {
double r116198 = l;
double r116199 = r116198 * r116198;
double r116200 = 2.2040119149637107e-304;
bool r116201 = r116199 <= r116200;
double r116202 = 2.0;
double r116203 = t;
double r116204 = cbrt(r116203);
double r116205 = r116204 * r116204;
double r116206 = 3.0;
double r116207 = 2.0;
double r116208 = r116206 / r116207;
double r116209 = pow(r116205, r116208);
double r116210 = r116209 / r116198;
double r116211 = r116209 * r116210;
double r116212 = pow(r116204, r116206);
double r116213 = r116212 / r116198;
double r116214 = k;
double r116215 = sin(r116214);
double r116216 = r116213 * r116215;
double r116217 = tan(r116214);
double r116218 = r116216 * r116217;
double r116219 = r116211 * r116218;
double r116220 = 1.0;
double r116221 = r116214 / r116203;
double r116222 = pow(r116221, r116202);
double r116223 = r116220 + r116222;
double r116224 = r116223 + r116220;
double r116225 = r116219 * r116224;
double r116226 = r116202 / r116225;
double r116227 = 39114531484820.75;
bool r116228 = r116199 <= r116227;
double r116229 = pow(r116214, r116207);
double r116230 = pow(r116215, r116207);
double r116231 = r116203 * r116230;
double r116232 = r116229 * r116231;
double r116233 = cos(r116214);
double r116234 = pow(r116198, r116207);
double r116235 = r116233 * r116234;
double r116236 = r116232 / r116235;
double r116237 = 3.0;
double r116238 = pow(r116203, r116237);
double r116239 = r116238 * r116230;
double r116240 = r116239 / r116235;
double r116241 = r116202 * r116240;
double r116242 = r116236 + r116241;
double r116243 = r116202 / r116242;
double r116244 = cbrt(r116216);
double r116245 = r116244 * r116244;
double r116246 = r116245 * r116244;
double r116247 = r116211 * r116246;
double r116248 = r116247 * r116217;
double r116249 = r116248 * r116224;
double r116250 = r116202 / r116249;
double r116251 = r116228 ? r116243 : r116250;
double r116252 = r116201 ? r116226 : r116251;
return r116252;
}



Bits error versus t



Bits error versus l



Bits error versus k
Results
if (* l l) < 2.2040119149637107e-304Initial program 24.7
rmApplied add-cube-cbrt24.7
Applied unpow-prod-down24.7
Applied times-frac18.1
Applied associate-*l*15.3
rmApplied *-un-lft-identity15.3
Applied sqr-pow15.3
Applied times-frac8.7
Simplified8.7
rmApplied associate-*l*8.6
if 2.2040119149637107e-304 < (* l l) < 39114531484820.75Initial program 22.7
Taylor expanded around inf 13.6
if 39114531484820.75 < (* l l) Initial program 46.1
rmApplied add-cube-cbrt46.2
Applied unpow-prod-down46.2
Applied times-frac35.1
Applied associate-*l*34.6
rmApplied *-un-lft-identity34.6
Applied sqr-pow34.6
Applied times-frac25.1
Simplified25.1
rmApplied add-cube-cbrt25.1
Final simplification16.7
herbie shell --seed 2020065
(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))))