\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 -1.31826692498424758 \cdot 10^{38} \lor \neg \left(t \le 1.25152897564453319 \cdot 10^{-36}\right):\\
\;\;\;\;\frac{\frac{\sqrt{\sqrt[3]{2} \cdot \sqrt[3]{2}}}{{\left(\sqrt[3]{t} \cdot \sqrt[3]{t}\right)}^{\left(\frac{3}{2}\right)}} \cdot \left(\frac{\sqrt{\sqrt[3]{2}}}{{\left(\sqrt[3]{t} \cdot \sqrt[3]{t}\right)}^{\left(\frac{3}{2}\right)}} \cdot \left(\frac{\sqrt{2}}{{\left(\sqrt[3]{t}\right)}^{3} \cdot \sin k} \cdot \ell\right)\right)}{\tan k} \cdot \frac{\ell}{\mathsf{fma}\left(2, 1, {\left(\frac{k}{t}\right)}^{2}\right)}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{\sqrt{2}}{{\left(\sqrt[3]{t} \cdot \sqrt[3]{t}\right)}^{3}}}{1} \cdot \left(\frac{\frac{\sqrt{2}}{{\left(\sqrt[3]{t}\right)}^{3} \cdot \sin k} \cdot \ell}{\tan k} \cdot \frac{\ell}{\mathsf{fma}\left(2, 1, {\left(\frac{k}{t}\right)}^{2}\right)}\right)\\
\end{array}double f(double t, double l, double k) {
double r210 = 2.0;
double r211 = t;
double r212 = 3.0;
double r213 = pow(r211, r212);
double r214 = l;
double r215 = r214 * r214;
double r216 = r213 / r215;
double r217 = k;
double r218 = sin(r217);
double r219 = r216 * r218;
double r220 = tan(r217);
double r221 = r219 * r220;
double r222 = 1.0;
double r223 = r217 / r211;
double r224 = pow(r223, r210);
double r225 = r222 + r224;
double r226 = r225 + r222;
double r227 = r221 * r226;
double r228 = r210 / r227;
return r228;
}
double f(double t, double l, double k) {
double r229 = t;
double r230 = -1.3182669249842476e+38;
bool r231 = r229 <= r230;
double r232 = 1.2515289756445332e-36;
bool r233 = r229 <= r232;
double r234 = !r233;
bool r235 = r231 || r234;
double r236 = 2.0;
double r237 = cbrt(r236);
double r238 = r237 * r237;
double r239 = sqrt(r238);
double r240 = cbrt(r229);
double r241 = r240 * r240;
double r242 = 3.0;
double r243 = 2.0;
double r244 = r242 / r243;
double r245 = pow(r241, r244);
double r246 = r239 / r245;
double r247 = sqrt(r237);
double r248 = r247 / r245;
double r249 = sqrt(r236);
double r250 = pow(r240, r242);
double r251 = k;
double r252 = sin(r251);
double r253 = r250 * r252;
double r254 = r249 / r253;
double r255 = l;
double r256 = r254 * r255;
double r257 = r248 * r256;
double r258 = r246 * r257;
double r259 = tan(r251);
double r260 = r258 / r259;
double r261 = 1.0;
double r262 = r251 / r229;
double r263 = pow(r262, r236);
double r264 = fma(r243, r261, r263);
double r265 = r255 / r264;
double r266 = r260 * r265;
double r267 = pow(r241, r242);
double r268 = r249 / r267;
double r269 = 1.0;
double r270 = r268 / r269;
double r271 = r256 / r259;
double r272 = r271 * r265;
double r273 = r270 * r272;
double r274 = r235 ? r266 : r273;
return r274;
}



Bits error versus t



Bits error versus l



Bits error versus k
if t < -1.3182669249842476e+38 or 1.2515289756445332e-36 < t Initial program 22.6
Simplified22.1
rmApplied *-un-lft-identity22.1
Applied times-frac20.9
Applied associate-*r*17.3
Simplified16.4
rmApplied add-cube-cbrt16.7
Applied unpow-prod-down16.7
Applied associate-*l*14.7
rmApplied add-sqr-sqrt14.7
Applied times-frac14.5
Applied associate-*l*12.1
rmApplied sqr-pow12.1
Applied add-cube-cbrt12.1
Applied sqrt-prod12.1
Applied times-frac11.8
Applied associate-*l*8.9
if -1.3182669249842476e+38 < t < 1.2515289756445332e-36Initial program 48.3
Simplified49.6
rmApplied *-un-lft-identity49.6
Applied times-frac49.0
Applied associate-*r*48.5
Simplified46.9
rmApplied add-cube-cbrt47.1
Applied unpow-prod-down47.1
Applied associate-*l*47.1
rmApplied add-sqr-sqrt47.1
Applied times-frac47.1
Applied associate-*l*43.0
rmApplied *-un-lft-identity43.0
Applied times-frac43.1
Applied associate-*l*40.3
Final simplification20.8
herbie shell --seed 2020025 +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))))