\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.039043885941539126938438812488503096108 \cdot 10^{154}:\\
\;\;\;\;\frac{\frac{2}{\left(\frac{{\left(\sqrt[3]{t} \cdot \sqrt[3]{t}\right)}^{3}}{\ell} \cdot \left(\frac{{\left(\sqrt[3]{t}\right)}^{3}}{\ell} \cdot \sin k\right)\right) \cdot \tan k}}{{\left(\frac{k}{t}\right)}^{2}}\\
\mathbf{elif}\;\ell \le -7.734098822155092293541312408989621688036 \cdot 10^{-149}:\\
\;\;\;\;\left(\left({\left(\frac{\frac{1}{{k}^{\left(\frac{2}{2}\right)}}}{{t}^{1}}\right)}^{1} \cdot \frac{\cos k \cdot {\ell}^{2}}{{\left(\sin k\right)}^{2}}\right) \cdot {\left(\frac{1}{{k}^{\left(\frac{2}{2}\right)}}\right)}^{1}\right) \cdot 2\\
\mathbf{elif}\;\ell \le 1.134060535499758528899901644867587510672 \cdot 10^{-155}:\\
\;\;\;\;2 \cdot \left(\left({\left(\frac{1}{{k}^{\left(\frac{2}{2}\right)} \cdot {t}^{1}}\right)}^{1} \cdot \mathsf{fma}\left(\frac{\ell}{k}, \frac{\ell}{k}, {\ell}^{2} \cdot \frac{-1}{6}\right)\right) \cdot {\left(\frac{1}{{k}^{\left(\frac{2}{2}\right)}}\right)}^{1}\right)\\
\mathbf{elif}\;\ell \le 1.028120450386205194845181078430096308475 \cdot 10^{152}:\\
\;\;\;\;2 \cdot \left({\left(\frac{1}{{k}^{\left(\frac{2}{2}\right)}}\right)}^{1} \cdot \frac{{\left(\frac{1}{{k}^{\left(\frac{2}{2}\right)} \cdot {t}^{1}}\right)}^{1} \cdot \left(\cos k \cdot {\ell}^{2}\right)}{{\left(\sin k\right)}^{2}}\right)\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{2}{\left(\frac{{t}^{\left(\frac{3}{2}\right)}}{\ell} \cdot \left(\frac{{t}^{\left(\frac{3}{2}\right)}}{\ell} \cdot \sin k\right)\right) \cdot \tan k}}{{\left(\frac{k}{t}\right)}^{2}}\\
\end{array}double f(double t, double l, double k) {
double r100167 = 2.0;
double r100168 = t;
double r100169 = 3.0;
double r100170 = pow(r100168, r100169);
double r100171 = l;
double r100172 = r100171 * r100171;
double r100173 = r100170 / r100172;
double r100174 = k;
double r100175 = sin(r100174);
double r100176 = r100173 * r100175;
double r100177 = tan(r100174);
double r100178 = r100176 * r100177;
double r100179 = 1.0;
double r100180 = r100174 / r100168;
double r100181 = pow(r100180, r100167);
double r100182 = r100179 + r100181;
double r100183 = r100182 - r100179;
double r100184 = r100178 * r100183;
double r100185 = r100167 / r100184;
return r100185;
}
double f(double t, double l, double k) {
double r100186 = l;
double r100187 = -1.0390438859415391e+154;
bool r100188 = r100186 <= r100187;
double r100189 = 2.0;
double r100190 = t;
double r100191 = cbrt(r100190);
double r100192 = r100191 * r100191;
double r100193 = 3.0;
double r100194 = pow(r100192, r100193);
double r100195 = r100194 / r100186;
double r100196 = pow(r100191, r100193);
double r100197 = r100196 / r100186;
double r100198 = k;
double r100199 = sin(r100198);
double r100200 = r100197 * r100199;
double r100201 = r100195 * r100200;
double r100202 = tan(r100198);
double r100203 = r100201 * r100202;
double r100204 = r100189 / r100203;
double r100205 = r100198 / r100190;
double r100206 = pow(r100205, r100189);
double r100207 = r100204 / r100206;
double r100208 = -7.734098822155092e-149;
bool r100209 = r100186 <= r100208;
double r100210 = 1.0;
double r100211 = 2.0;
double r100212 = r100189 / r100211;
double r100213 = pow(r100198, r100212);
double r100214 = r100210 / r100213;
double r100215 = 1.0;
double r100216 = pow(r100190, r100215);
double r100217 = r100214 / r100216;
double r100218 = pow(r100217, r100215);
double r100219 = cos(r100198);
double r100220 = pow(r100186, r100211);
double r100221 = r100219 * r100220;
double r100222 = pow(r100199, r100211);
double r100223 = r100221 / r100222;
double r100224 = r100218 * r100223;
double r100225 = pow(r100214, r100215);
double r100226 = r100224 * r100225;
double r100227 = r100226 * r100189;
double r100228 = 1.1340605354997585e-155;
bool r100229 = r100186 <= r100228;
double r100230 = r100213 * r100216;
double r100231 = r100210 / r100230;
double r100232 = pow(r100231, r100215);
double r100233 = r100186 / r100198;
double r100234 = -0.16666666666666666;
double r100235 = r100220 * r100234;
double r100236 = fma(r100233, r100233, r100235);
double r100237 = r100232 * r100236;
double r100238 = r100237 * r100225;
double r100239 = r100189 * r100238;
double r100240 = 1.0281204503862052e+152;
bool r100241 = r100186 <= r100240;
double r100242 = r100232 * r100221;
double r100243 = r100242 / r100222;
double r100244 = r100225 * r100243;
double r100245 = r100189 * r100244;
double r100246 = r100193 / r100211;
double r100247 = pow(r100190, r100246);
double r100248 = r100247 / r100186;
double r100249 = r100248 * r100199;
double r100250 = r100248 * r100249;
double r100251 = r100250 * r100202;
double r100252 = r100189 / r100251;
double r100253 = r100252 / r100206;
double r100254 = r100241 ? r100245 : r100253;
double r100255 = r100229 ? r100239 : r100254;
double r100256 = r100209 ? r100227 : r100255;
double r100257 = r100188 ? r100207 : r100256;
return r100257;
}



Bits error versus t



Bits error versus l



Bits error versus k
if l < -1.0390438859415391e+154Initial program 64.0
Simplified64.0
rmApplied add-cube-cbrt64.0
Applied unpow-prod-down64.0
Applied times-frac47.7
Applied associate-*l*47.7
if -1.0390438859415391e+154 < l < -7.734098822155092e-149Initial program 44.8
Simplified35.2
Taylor expanded around inf 11.1
rmApplied sqr-pow11.1
Applied associate-*l*7.1
rmApplied add-cube-cbrt7.1
Applied times-frac6.6
Applied unpow-prod-down6.6
Applied associate-*l*3.8
Simplified3.8
rmApplied associate-/r*3.6
if -7.734098822155092e-149 < l < 1.1340605354997585e-155Initial program 46.6
Simplified37.6
Taylor expanded around inf 18.7
rmApplied sqr-pow18.7
Applied associate-*l*18.7
rmApplied add-cube-cbrt18.7
Applied times-frac18.7
Applied unpow-prod-down18.7
Applied associate-*l*18.7
Simplified18.7
Taylor expanded around 0 18.9
Simplified7.9
if 1.1340605354997585e-155 < l < 1.0281204503862052e+152Initial program 45.0
Simplified34.9
Taylor expanded around inf 12.1
rmApplied sqr-pow12.1
Applied associate-*l*7.8
rmApplied add-cube-cbrt7.8
Applied times-frac7.4
Applied unpow-prod-down7.4
Applied associate-*l*4.0
Simplified4.0
rmApplied associate-*r/4.5
if 1.0281204503862052e+152 < l Initial program 63.8
Simplified63.7
rmApplied sqr-pow63.9
Applied times-frac54.0
Applied associate-*l*54.0
Final simplification12.6
herbie shell --seed 2019322 +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))))