\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 \le 1.0106088911309665 \cdot 10^{154}:\\
\;\;\;\;2 \cdot \left(\left({\left(\frac{1}{{k}^{\left(\frac{2}{2}\right)} \cdot {t}^{1}}\right)}^{1} \cdot \frac{\frac{\cos k}{\frac{\sin k}{{\ell}^{2}}}}{{\left(\sin k\right)}^{\left(\frac{2}{2}\right)}}\right) \cdot {\left(\frac{\sqrt[3]{1} \cdot \sqrt[3]{1}}{{k}^{\left(\frac{2}{2}\right)}}\right)}^{1}\right)\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{2}{\left(\left(\frac{{\left(\sqrt[3]{t} \cdot \sqrt[3]{t}\right)}^{3}}{\ell} \cdot \frac{{\left(\sqrt[3]{t}\right)}^{3}}{\ell}\right) \cdot \sin k\right) \cdot \tan k}}{{\left(\frac{k}{t}\right)}^{2}}\\
\end{array}double f(double t, double l, double k) {
double r99180 = 2.0;
double r99181 = t;
double r99182 = 3.0;
double r99183 = pow(r99181, r99182);
double r99184 = l;
double r99185 = r99184 * r99184;
double r99186 = r99183 / r99185;
double r99187 = k;
double r99188 = sin(r99187);
double r99189 = r99186 * r99188;
double r99190 = tan(r99187);
double r99191 = r99189 * r99190;
double r99192 = 1.0;
double r99193 = r99187 / r99181;
double r99194 = pow(r99193, r99180);
double r99195 = r99192 + r99194;
double r99196 = r99195 - r99192;
double r99197 = r99191 * r99196;
double r99198 = r99180 / r99197;
return r99198;
}
double f(double t, double l, double k) {
double r99199 = l;
double r99200 = 1.0106088911309665e+154;
bool r99201 = r99199 <= r99200;
double r99202 = 2.0;
double r99203 = 1.0;
double r99204 = k;
double r99205 = 2.0;
double r99206 = r99202 / r99205;
double r99207 = pow(r99204, r99206);
double r99208 = t;
double r99209 = 1.0;
double r99210 = pow(r99208, r99209);
double r99211 = r99207 * r99210;
double r99212 = r99203 / r99211;
double r99213 = pow(r99212, r99209);
double r99214 = cos(r99204);
double r99215 = sin(r99204);
double r99216 = pow(r99199, r99205);
double r99217 = r99215 / r99216;
double r99218 = r99214 / r99217;
double r99219 = r99205 / r99205;
double r99220 = pow(r99215, r99219);
double r99221 = r99218 / r99220;
double r99222 = r99213 * r99221;
double r99223 = cbrt(r99203);
double r99224 = r99223 * r99223;
double r99225 = r99224 / r99207;
double r99226 = pow(r99225, r99209);
double r99227 = r99222 * r99226;
double r99228 = r99202 * r99227;
double r99229 = cbrt(r99208);
double r99230 = r99229 * r99229;
double r99231 = 3.0;
double r99232 = pow(r99230, r99231);
double r99233 = r99232 / r99199;
double r99234 = pow(r99229, r99231);
double r99235 = r99234 / r99199;
double r99236 = r99233 * r99235;
double r99237 = r99236 * r99215;
double r99238 = tan(r99204);
double r99239 = r99237 * r99238;
double r99240 = r99202 / r99239;
double r99241 = r99204 / r99208;
double r99242 = pow(r99241, r99202);
double r99243 = r99240 / r99242;
double r99244 = r99201 ? r99228 : r99243;
return r99244;
}



Bits error versus t



Bits error versus l



Bits error versus k
Results
if l < 1.0106088911309665e+154Initial program 46.9
Simplified38.4
Taylor expanded around inf 18.7
rmApplied sqr-pow18.7
Applied associate-*l*16.5
rmApplied add-cube-cbrt16.5
Applied times-frac16.3
Applied unpow-prod-down16.3
Applied associate-*l*14.5
Simplified14.5
rmApplied sqr-pow14.5
Applied associate-/r*14.2
Simplified14.3
if 1.0106088911309665e+154 < l Initial program 64.0
Simplified63.9
rmApplied add-cube-cbrt63.9
Applied unpow-prod-down63.9
Applied times-frac48.7
Final simplification16.9
herbie shell --seed 2020047 +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))))