\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.395768281843777546279887385243220191786 \cdot 10^{142}:\\
\;\;\;\;\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}}\\
\mathbf{elif}\;\ell \le -2.954141845484123063075571007654470856433 \cdot 10^{-133}:\\
\;\;\;\;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{elif}\;\ell \le 6.579520119656325980067007236374335260974 \cdot 10^{-209}:\\
\;\;\;\;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}, \frac{-1}{6} \cdot {\ell}^{2}\right)\right)\\
\mathbf{elif}\;\ell \le 1.283154238585831613414878640305835438884 \cdot 10^{154}:\\
\;\;\;\;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}{\frac{{\left(\sin k\right)}^{2}}{{\ell}^{2}}}\right)\right)\\
\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 r108106 = 2.0;
double r108107 = t;
double r108108 = 3.0;
double r108109 = pow(r108107, r108108);
double r108110 = l;
double r108111 = r108110 * r108110;
double r108112 = r108109 / r108111;
double r108113 = k;
double r108114 = sin(r108113);
double r108115 = r108112 * r108114;
double r108116 = tan(r108113);
double r108117 = r108115 * r108116;
double r108118 = 1.0;
double r108119 = r108113 / r108107;
double r108120 = pow(r108119, r108106);
double r108121 = r108118 + r108120;
double r108122 = r108121 - r108118;
double r108123 = r108117 * r108122;
double r108124 = r108106 / r108123;
return r108124;
}
double f(double t, double l, double k) {
double r108125 = l;
double r108126 = -1.3957682818437775e+142;
bool r108127 = r108125 <= r108126;
double r108128 = 2.0;
double r108129 = t;
double r108130 = cbrt(r108129);
double r108131 = r108130 * r108130;
double r108132 = 3.0;
double r108133 = pow(r108131, r108132);
double r108134 = r108133 / r108125;
double r108135 = pow(r108130, r108132);
double r108136 = r108135 / r108125;
double r108137 = r108134 * r108136;
double r108138 = k;
double r108139 = sin(r108138);
double r108140 = r108137 * r108139;
double r108141 = tan(r108138);
double r108142 = r108140 * r108141;
double r108143 = r108128 / r108142;
double r108144 = r108138 / r108129;
double r108145 = pow(r108144, r108128);
double r108146 = r108143 / r108145;
double r108147 = -2.954141845484123e-133;
bool r108148 = r108125 <= r108147;
double r108149 = 1.0;
double r108150 = 2.0;
double r108151 = r108128 / r108150;
double r108152 = pow(r108138, r108151);
double r108153 = r108149 / r108152;
double r108154 = 1.0;
double r108155 = pow(r108153, r108154);
double r108156 = pow(r108129, r108154);
double r108157 = r108152 * r108156;
double r108158 = r108149 / r108157;
double r108159 = pow(r108158, r108154);
double r108160 = cos(r108138);
double r108161 = pow(r108125, r108150);
double r108162 = r108160 * r108161;
double r108163 = r108159 * r108162;
double r108164 = pow(r108139, r108150);
double r108165 = r108163 / r108164;
double r108166 = r108155 * r108165;
double r108167 = r108128 * r108166;
double r108168 = 6.579520119656326e-209;
bool r108169 = r108125 <= r108168;
double r108170 = r108152 * r108157;
double r108171 = r108149 / r108170;
double r108172 = pow(r108171, r108154);
double r108173 = r108125 / r108138;
double r108174 = -0.16666666666666666;
double r108175 = r108174 * r108161;
double r108176 = fma(r108173, r108173, r108175);
double r108177 = r108172 * r108176;
double r108178 = r108128 * r108177;
double r108179 = 1.2831542385858316e+154;
bool r108180 = r108125 <= r108179;
double r108181 = r108164 / r108161;
double r108182 = r108160 / r108181;
double r108183 = r108159 * r108182;
double r108184 = r108155 * r108183;
double r108185 = r108128 * r108184;
double r108186 = r108180 ? r108185 : r108146;
double r108187 = r108169 ? r108178 : r108186;
double r108188 = r108148 ? r108167 : r108187;
double r108189 = r108127 ? r108146 : r108188;
return r108189;
}



Bits error versus t



Bits error versus l



Bits error versus k
if l < -1.3957682818437775e+142 or 1.2831542385858316e+154 < l Initial program 63.2
Simplified63.0
rmApplied add-cube-cbrt63.0
Applied unpow-prod-down63.0
Applied times-frac49.6
if -1.3957682818437775e+142 < l < -2.954141845484123e-133Initial program 45.2
Simplified35.3
Taylor expanded around inf 11.1
rmApplied sqr-pow11.1
Applied associate-*l*6.5
rmApplied *-un-lft-identity6.5
Applied times-frac6.4
Applied unpow-prod-down6.4
Applied associate-*l*3.3
rmApplied associate-*r/3.1
if -2.954141845484123e-133 < l < 6.579520119656326e-209Initial program 46.1
Simplified37.4
Taylor expanded around inf 18.4
rmApplied sqr-pow18.4
Applied associate-*l*18.4
Taylor expanded around 0 19.0
Simplified10.2
if 6.579520119656326e-209 < l < 1.2831542385858316e+154Initial program 44.7
Simplified35.5
Taylor expanded around inf 13.0
rmApplied sqr-pow13.0
Applied associate-*l*9.6
rmApplied *-un-lft-identity9.6
Applied times-frac9.3
Applied unpow-prod-down9.3
Applied associate-*l*6.8
rmApplied associate-/l*6.9
Final simplification13.6
herbie shell --seed 2019323 +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))))