\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 4.5430129409159728 \cdot 10^{185}:\\
\;\;\;\;2 \cdot \frac{{\left(\frac{1}{{k}^{\left(\frac{2}{2}\right)} \cdot \left({k}^{\left(\frac{2}{2}\right)} \cdot {t}^{1}\right)}\right)}^{1} \cdot \left(\frac{\cos k}{\sin k} \cdot \ell\right)}{\frac{\sin k}{\ell}}\\
\mathbf{else}:\\
\;\;\;\;2 \cdot \frac{{\left(\frac{1}{{k}^{2}}\right)}^{1} \cdot \left({\left(\frac{1}{{t}^{1}}\right)}^{1} \cdot \left(\frac{\cos k}{\sin k} \cdot \ell\right)\right)}{\frac{\sin k}{\ell}}\\
\end{array}double f(double t, double l, double k) {
double r172 = 2.0;
double r173 = t;
double r174 = 3.0;
double r175 = pow(r173, r174);
double r176 = l;
double r177 = r176 * r176;
double r178 = r175 / r177;
double r179 = k;
double r180 = sin(r179);
double r181 = r178 * r180;
double r182 = tan(r179);
double r183 = r181 * r182;
double r184 = 1.0;
double r185 = r179 / r173;
double r186 = pow(r185, r172);
double r187 = r184 + r186;
double r188 = r187 - r184;
double r189 = r183 * r188;
double r190 = r172 / r189;
return r190;
}
double f(double t, double l, double k) {
double r191 = l;
double r192 = r191 * r191;
double r193 = 4.543012940915973e+185;
bool r194 = r192 <= r193;
double r195 = 2.0;
double r196 = 1.0;
double r197 = k;
double r198 = 2.0;
double r199 = r195 / r198;
double r200 = pow(r197, r199);
double r201 = t;
double r202 = 1.0;
double r203 = pow(r201, r202);
double r204 = r200 * r203;
double r205 = r200 * r204;
double r206 = r196 / r205;
double r207 = pow(r206, r202);
double r208 = cos(r197);
double r209 = sin(r197);
double r210 = r208 / r209;
double r211 = r210 * r191;
double r212 = r207 * r211;
double r213 = r209 / r191;
double r214 = r212 / r213;
double r215 = r195 * r214;
double r216 = pow(r197, r195);
double r217 = r196 / r216;
double r218 = pow(r217, r202);
double r219 = r196 / r203;
double r220 = pow(r219, r202);
double r221 = r220 * r211;
double r222 = r218 * r221;
double r223 = r222 / r213;
double r224 = r195 * r223;
double r225 = r194 ? r215 : r224;
return r225;
}



Bits error versus t



Bits error versus l



Bits error versus k
Results
if (* l l) < 4.543012940915973e+185Initial program 44.7
Simplified35.3
Taylor expanded around inf 12.6
rmApplied add-sqr-sqrt39.0
Applied unpow-prod-down39.0
Applied times-frac39.0
Simplified39.0
Simplified11.3
rmApplied associate-*r/10.4
Applied associate-*r/8.5
rmApplied sqr-pow8.5
Applied associate-*l*4.3
if 4.543012940915973e+185 < (* l l) Initial program 59.0
Simplified56.7
Taylor expanded around inf 51.6
rmApplied add-sqr-sqrt57.9
Applied unpow-prod-down57.9
Applied times-frac57.9
Simplified57.9
Simplified51.6
rmApplied associate-*r/51.6
Applied associate-*r/39.0
rmApplied *-un-lft-identity39.0
Applied times-frac38.5
Applied unpow-prod-down38.5
Applied associate-*l*33.0
Final simplification11.1
herbie shell --seed 2020025 +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))))