\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}\;t \le -5.02981601344431446 \cdot 10^{-47} \lor \neg \left(t \le 3.061555101649697 \cdot 10^{-53}\right):\\
\;\;\;\;\frac{2}{\frac{\left(\left({\left(\sqrt[3]{t}\right)}^{3} \cdot \left(\frac{\sqrt[3]{{\left(\sqrt[3]{t}\right)}^{3}} \cdot \sqrt[3]{{\left(\sqrt[3]{t}\right)}^{3}}}{\sqrt[3]{\ell} \cdot \sqrt[3]{\ell}} \cdot \left(\frac{\sqrt[3]{{\left(\sqrt[3]{t}\right)}^{3}}}{\sqrt[3]{\ell}} \cdot \sin k\right)\right)\right) \cdot \tan k\right) \cdot \left(\left(1 + {\left(\frac{k}{t}\right)}^{2}\right) + 1\right)}{\frac{\ell}{{\left(\sqrt[3]{t}\right)}^{3}}}}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{\frac{\mathsf{fma}\left({\left(\frac{1}{{-1}^{2}}\right)}^{1}, \frac{{k}^{2} \cdot {\left(\sin k\right)}^{2}}{\cos k \cdot \ell}, 2 \cdot \left({\left(\frac{1}{{-1}^{2}}\right)}^{1} \cdot \frac{{\left(\sqrt[3]{-1}\right)}^{6} \cdot \left({t}^{2} \cdot {\left(\sin k\right)}^{2}\right)}{\cos k \cdot \ell}\right)\right)}{\frac{\ell}{{\left(\sqrt[3]{t}\right)}^{3}}}}\\
\end{array}double code(double t, double l, double k) {
return (2.0 / ((((pow(t, 3.0) / (l * l)) * sin(k)) * tan(k)) * ((1.0 + pow((k / t), 2.0)) + 1.0)));
}
double code(double t, double l, double k) {
double temp;
if (((t <= -5.029816013444314e-47) || !(t <= 3.0615551016496975e-53))) {
temp = (2.0 / ((((pow(cbrt(t), 3.0) * (((cbrt(pow(cbrt(t), 3.0)) * cbrt(pow(cbrt(t), 3.0))) / (cbrt(l) * cbrt(l))) * ((cbrt(pow(cbrt(t), 3.0)) / cbrt(l)) * sin(k)))) * tan(k)) * ((1.0 + pow((k / t), 2.0)) + 1.0)) / (l / pow(cbrt(t), 3.0))));
} else {
temp = (2.0 / (fma(pow((1.0 / pow(-1.0, 2.0)), 1.0), ((pow(k, 2.0) * pow(sin(k), 2.0)) / (cos(k) * l)), (2.0 * (pow((1.0 / pow(-1.0, 2.0)), 1.0) * ((pow(cbrt(-1.0), 6.0) * (pow(t, 2.0) * pow(sin(k), 2.0))) / (cos(k) * l))))) / (l / pow(cbrt(t), 3.0))));
}
return temp;
}



Bits error versus t



Bits error versus l



Bits error versus k
Results
if t < -5.029816013444314e-47 or 3.0615551016496975e-53 < t Initial program 22.8
rmApplied add-cube-cbrt23.0
Applied unpow-prod-down23.0
Applied times-frac16.3
Applied associate-*l*14.1
rmApplied unpow-prod-down14.1
Applied associate-/l*8.9
rmApplied associate-*l/7.7
Applied associate-*l/5.4
Applied associate-*l/4.9
rmApplied add-cube-cbrt4.9
Applied add-cube-cbrt4.9
Applied times-frac4.9
Applied associate-*l*4.8
if -5.029816013444314e-47 < t < 3.0615551016496975e-53Initial program 54.4
rmApplied add-cube-cbrt54.5
Applied unpow-prod-down54.5
Applied times-frac46.3
Applied associate-*l*45.7
rmApplied unpow-prod-down45.7
Applied associate-/l*39.7
rmApplied associate-*l/39.7
Applied associate-*l/41.0
Applied associate-*l/37.5
Taylor expanded around -inf 22.2
Simplified22.2
Final simplification10.2
herbie shell --seed 2020057 +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))))