\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.011422866112402609001539037778499367166 \cdot 10^{-130}:\\
\;\;\;\;\left(\left(\left(\frac{\cos k}{\sin k} \cdot {\left(\frac{1}{{k}^{\left(\frac{2}{2}\right)} \cdot {t}^{1}}\right)}^{1}\right) \cdot \frac{{\ell}^{2}}{\sin k}\right) \cdot {\left(\frac{1}{{k}^{\left(\frac{2}{2}\right)}}\right)}^{1}\right) \cdot 2\\
\mathbf{elif}\;\ell \le 6.86414058453193243732797201149974686849 \cdot 10^{-157}:\\
\;\;\;\;2 \cdot \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 \mathsf{fma}\left(\frac{\ell}{k}, \frac{\ell}{k}, {\ell}^{2} \cdot \frac{-1}{6}\right)\right)\\
\mathbf{elif}\;\ell \le 9.150738874025410619851412509311267580202 \cdot 10^{153}:\\
\;\;\;\;\left(\left(\left(\frac{\cos k}{\sin k} \cdot {\left(\frac{1}{{k}^{\left(\frac{2}{2}\right)} \cdot {t}^{1}}\right)}^{1}\right) \cdot \frac{{\ell}^{2}}{\sin k}\right) \cdot {\left(\frac{1}{{k}^{\left(\frac{2}{2}\right)}}\right)}^{1}\right) \cdot 2\\
\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 r95089 = 2.0;
double r95090 = t;
double r95091 = 3.0;
double r95092 = pow(r95090, r95091);
double r95093 = l;
double r95094 = r95093 * r95093;
double r95095 = r95092 / r95094;
double r95096 = k;
double r95097 = sin(r95096);
double r95098 = r95095 * r95097;
double r95099 = tan(r95096);
double r95100 = r95098 * r95099;
double r95101 = 1.0;
double r95102 = r95096 / r95090;
double r95103 = pow(r95102, r95089);
double r95104 = r95101 + r95103;
double r95105 = r95104 - r95101;
double r95106 = r95100 * r95105;
double r95107 = r95089 / r95106;
return r95107;
}
double f(double t, double l, double k) {
double r95108 = l;
double r95109 = -1.0114228661124026e-130;
bool r95110 = r95108 <= r95109;
double r95111 = k;
double r95112 = cos(r95111);
double r95113 = sin(r95111);
double r95114 = r95112 / r95113;
double r95115 = 1.0;
double r95116 = 2.0;
double r95117 = 2.0;
double r95118 = r95116 / r95117;
double r95119 = pow(r95111, r95118);
double r95120 = t;
double r95121 = 1.0;
double r95122 = pow(r95120, r95121);
double r95123 = r95119 * r95122;
double r95124 = r95115 / r95123;
double r95125 = pow(r95124, r95121);
double r95126 = r95114 * r95125;
double r95127 = pow(r95108, r95117);
double r95128 = r95127 / r95113;
double r95129 = r95126 * r95128;
double r95130 = r95115 / r95119;
double r95131 = pow(r95130, r95121);
double r95132 = r95129 * r95131;
double r95133 = r95132 * r95116;
double r95134 = 6.864140584531932e-157;
bool r95135 = r95108 <= r95134;
double r95136 = r95119 * r95123;
double r95137 = r95115 / r95136;
double r95138 = pow(r95137, r95121);
double r95139 = r95108 / r95111;
double r95140 = -0.16666666666666666;
double r95141 = r95127 * r95140;
double r95142 = fma(r95139, r95139, r95141);
double r95143 = r95138 * r95142;
double r95144 = r95116 * r95143;
double r95145 = 9.15073887402541e+153;
bool r95146 = r95108 <= r95145;
double r95147 = cbrt(r95120);
double r95148 = r95147 * r95147;
double r95149 = 3.0;
double r95150 = pow(r95148, r95149);
double r95151 = r95150 / r95108;
double r95152 = pow(r95147, r95149);
double r95153 = r95152 / r95108;
double r95154 = r95151 * r95153;
double r95155 = r95154 * r95113;
double r95156 = tan(r95111);
double r95157 = r95155 * r95156;
double r95158 = r95116 / r95157;
double r95159 = r95111 / r95120;
double r95160 = pow(r95159, r95116);
double r95161 = r95158 / r95160;
double r95162 = r95146 ? r95133 : r95161;
double r95163 = r95135 ? r95144 : r95162;
double r95164 = r95110 ? r95133 : r95163;
return r95164;
}



Bits error versus t



Bits error versus l



Bits error versus k
if l < -1.0114228661124026e-130 or 6.864140584531932e-157 < l < 9.15073887402541e+153Initial program 47.0
Simplified39.1
Taylor expanded around inf 18.2
rmApplied sqr-pow18.2
Applied associate-*l*14.3
rmApplied *-un-lft-identity14.3
Applied times-frac14.0
Applied unpow-prod-down14.0
Applied associate-*l*11.8
rmApplied sqr-pow11.8
Applied times-frac11.4
Applied associate-*r*11.3
Simplified11.3
if -1.0114228661124026e-130 < l < 6.864140584531932e-157Initial program 45.8
Simplified37.1
Taylor expanded around inf 18.5
rmApplied sqr-pow18.5
Applied associate-*l*18.5
Taylor expanded around 0 18.9
Simplified10.0
if 9.15073887402541e+153 < l Initial program 64.0
Simplified64.0
rmApplied add-cube-cbrt64.0
Applied unpow-prod-down64.0
Applied times-frac48.5
Final simplification13.6
herbie shell --seed 2019304 +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))))