\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}\;k \le -7.116427264207922396198059745161573311828 \cdot 10^{154} \lor \neg \left(k \le 1.596016421741683330355613183588958719568 \cdot 10^{147}\right):\\
\;\;\;\;\left(\frac{2 \cdot \ell}{{\left({k}^{\left(\frac{2}{2}\right)} \cdot \left({k}^{\left(\frac{2}{2}\right)} \cdot {t}^{1}\right)\right)}^{1}} \cdot \frac{\ell}{{\left(\sin k\right)}^{2}}\right) \cdot \cos k\\
\mathbf{else}:\\
\;\;\;\;\left(\frac{\frac{2 \cdot \ell}{{\left({k}^{2}\right)}^{1}}}{{\left({t}^{1}\right)}^{1}} \cdot \frac{\ell}{{\left(\sin k\right)}^{2}}\right) \cdot \cos k\\
\end{array}double f(double t, double l, double k) {
double r89514 = 2.0;
double r89515 = t;
double r89516 = 3.0;
double r89517 = pow(r89515, r89516);
double r89518 = l;
double r89519 = r89518 * r89518;
double r89520 = r89517 / r89519;
double r89521 = k;
double r89522 = sin(r89521);
double r89523 = r89520 * r89522;
double r89524 = tan(r89521);
double r89525 = r89523 * r89524;
double r89526 = 1.0;
double r89527 = r89521 / r89515;
double r89528 = pow(r89527, r89514);
double r89529 = r89526 + r89528;
double r89530 = r89529 - r89526;
double r89531 = r89525 * r89530;
double r89532 = r89514 / r89531;
return r89532;
}
double f(double t, double l, double k) {
double r89533 = k;
double r89534 = -7.116427264207922e+154;
bool r89535 = r89533 <= r89534;
double r89536 = 1.5960164217416833e+147;
bool r89537 = r89533 <= r89536;
double r89538 = !r89537;
bool r89539 = r89535 || r89538;
double r89540 = 2.0;
double r89541 = l;
double r89542 = r89540 * r89541;
double r89543 = 2.0;
double r89544 = r89540 / r89543;
double r89545 = pow(r89533, r89544);
double r89546 = t;
double r89547 = 1.0;
double r89548 = pow(r89546, r89547);
double r89549 = r89545 * r89548;
double r89550 = r89545 * r89549;
double r89551 = pow(r89550, r89547);
double r89552 = r89542 / r89551;
double r89553 = sin(r89533);
double r89554 = pow(r89553, r89543);
double r89555 = r89541 / r89554;
double r89556 = r89552 * r89555;
double r89557 = cos(r89533);
double r89558 = r89556 * r89557;
double r89559 = pow(r89533, r89540);
double r89560 = pow(r89559, r89547);
double r89561 = r89542 / r89560;
double r89562 = pow(r89548, r89547);
double r89563 = r89561 / r89562;
double r89564 = r89563 * r89555;
double r89565 = r89564 * r89557;
double r89566 = r89539 ? r89558 : r89565;
return r89566;
}



Bits error versus t



Bits error versus l



Bits error versus k
Results
if k < -7.116427264207922e+154 or 1.5960164217416833e+147 < k Initial program 40.0
Simplified34.6
Taylor expanded around inf 24.1
rmApplied sqr-pow24.1
Applied associate-*l*19.2
rmApplied associate-*r/19.2
Applied associate-*l/19.2
Applied associate-/r/19.2
Simplified22.2
rmApplied sqr-pow22.2
Applied associate-*l*14.7
if -7.116427264207922e+154 < k < 1.5960164217416833e+147Initial program 54.0
Simplified44.3
Taylor expanded around inf 21.6
rmApplied sqr-pow21.6
Applied associate-*l*21.5
rmApplied associate-*r/21.5
Applied associate-*l/21.5
Applied associate-/r/21.5
Simplified10.6
rmApplied unpow-prod-down10.6
Applied associate-/r*5.2
Final simplification9.2
herbie shell --seed 2019347 +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))))