\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 -3.104316958624234 \cdot 10^{141}:\\
\;\;\;\;2 \cdot \left(\left({\left(\frac{1}{{k}^{\left(\frac{2}{2}\right)} \cdot \left({k}^{\left(\frac{2}{2}\right)} \cdot {t}^{1}\right)}\right)}^{1} \cdot \frac{\frac{\cos k}{\frac{{\left(\sqrt[3]{\sin k}\right)}^{4}}{\ell}}}{{\left(\sqrt[3]{\sqrt[3]{\sin k}} \cdot \sqrt[3]{\sqrt[3]{\sin k}}\right)}^{2}}\right) \cdot \frac{\ell}{{\left(\sqrt[3]{\sqrt[3]{\sin k}}\right)}^{2}}\right)\\
\mathbf{elif}\;\ell \le -7.585502794490059 \cdot 10^{-156}:\\
\;\;\;\;2 \cdot \left({\left(\frac{1}{{k}^{\left(\frac{2}{2}\right)}}\right)}^{1} \cdot \left({\left(\frac{1}{{k}^{\left(\frac{2}{2}\right)} \cdot {t}^{1}}\right)}^{1} \cdot \frac{\cos k \cdot {\ell}^{2}}{{\left(\sin k\right)}^{2}}\right)\right)\\
\mathbf{else}:\\
\;\;\;\;2 \cdot \left(\left({\left(\frac{1}{{k}^{\left(\frac{2}{2}\right)} \cdot \left({k}^{\left(\frac{2}{2}\right)} \cdot {t}^{1}\right)}\right)}^{1} \cdot \frac{\frac{\cos k}{\frac{{\left(\sqrt[3]{\sin k}\right)}^{4}}{\ell}}}{{\left(\sqrt[3]{1}\right)}^{2}}\right) \cdot \frac{\ell}{{\left(\sqrt[3]{\sin k}\right)}^{2}}\right)\\
\end{array}double f(double t, double l, double k) {
double r300496 = 2.0;
double r300497 = t;
double r300498 = 3.0;
double r300499 = pow(r300497, r300498);
double r300500 = l;
double r300501 = r300500 * r300500;
double r300502 = r300499 / r300501;
double r300503 = k;
double r300504 = sin(r300503);
double r300505 = r300502 * r300504;
double r300506 = tan(r300503);
double r300507 = r300505 * r300506;
double r300508 = 1.0;
double r300509 = r300503 / r300497;
double r300510 = pow(r300509, r300496);
double r300511 = r300508 + r300510;
double r300512 = r300511 - r300508;
double r300513 = r300507 * r300512;
double r300514 = r300496 / r300513;
return r300514;
}
double f(double t, double l, double k) {
double r300515 = l;
double r300516 = -3.104316958624234e+141;
bool r300517 = r300515 <= r300516;
double r300518 = 2.0;
double r300519 = 1.0;
double r300520 = k;
double r300521 = 2.0;
double r300522 = r300518 / r300521;
double r300523 = pow(r300520, r300522);
double r300524 = t;
double r300525 = 1.0;
double r300526 = pow(r300524, r300525);
double r300527 = r300523 * r300526;
double r300528 = r300523 * r300527;
double r300529 = r300519 / r300528;
double r300530 = pow(r300529, r300525);
double r300531 = cos(r300520);
double r300532 = sin(r300520);
double r300533 = cbrt(r300532);
double r300534 = 4.0;
double r300535 = pow(r300533, r300534);
double r300536 = r300535 / r300515;
double r300537 = r300531 / r300536;
double r300538 = cbrt(r300533);
double r300539 = r300538 * r300538;
double r300540 = pow(r300539, r300521);
double r300541 = r300537 / r300540;
double r300542 = r300530 * r300541;
double r300543 = pow(r300538, r300521);
double r300544 = r300515 / r300543;
double r300545 = r300542 * r300544;
double r300546 = r300518 * r300545;
double r300547 = -7.585502794490059e-156;
bool r300548 = r300515 <= r300547;
double r300549 = r300519 / r300523;
double r300550 = pow(r300549, r300525);
double r300551 = r300519 / r300527;
double r300552 = pow(r300551, r300525);
double r300553 = pow(r300515, r300521);
double r300554 = r300531 * r300553;
double r300555 = pow(r300532, r300521);
double r300556 = r300554 / r300555;
double r300557 = r300552 * r300556;
double r300558 = r300550 * r300557;
double r300559 = r300518 * r300558;
double r300560 = cbrt(r300519);
double r300561 = pow(r300560, r300521);
double r300562 = r300537 / r300561;
double r300563 = r300530 * r300562;
double r300564 = pow(r300533, r300521);
double r300565 = r300515 / r300564;
double r300566 = r300563 * r300565;
double r300567 = r300518 * r300566;
double r300568 = r300548 ? r300559 : r300567;
double r300569 = r300517 ? r300546 : r300568;
return r300569;
}



Bits error versus t



Bits error versus l



Bits error versus k
Results
if l < -3.104316958624234e+141Initial program 62.5
Simplified61.9
Taylor expanded around inf 61.2
rmApplied sqr-pow61.2
Applied associate-*l*60.3
rmApplied add-cube-cbrt60.4
Applied unpow-prod-down60.4
Applied associate-/r*60.4
Simplified60.4
rmApplied add-cube-cbrt60.4
Applied unpow-prod-down60.4
Applied associate-/r/60.4
Applied times-frac60.4
Applied associate-*r*38.5
if -3.104316958624234e+141 < l < -7.585502794490059e-156Initial program 45.7
Simplified35.6
Taylor expanded around inf 10.3
rmApplied sqr-pow10.3
Applied associate-*l*6.3
rmApplied *-un-lft-identity6.3
Applied times-frac6.0
Applied unpow-prod-down6.0
Applied associate-*l*3.1
if -7.585502794490059e-156 < l Initial program 47.7
Simplified39.8
Taylor expanded around inf 21.3
rmApplied sqr-pow21.3
Applied associate-*l*19.8
rmApplied add-cube-cbrt20.0
Applied unpow-prod-down20.0
Applied associate-/r*19.7
Simplified16.6
rmApplied *-un-lft-identity16.6
Applied cbrt-prod16.6
Applied unpow-prod-down16.6
Applied associate-/r/16.3
Applied times-frac15.4
Applied associate-*r*10.6
Final simplification11.0
herbie shell --seed 2020059
(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))))