\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.6308807875264197 \cdot 10^{-147}:\\
\;\;\;\;2 \cdot \left(\frac{\frac{\ell}{\sin k}}{k} \cdot \left(\frac{\ell}{k \cdot \sin k} \cdot \frac{\cos k}{t}\right)\right)\\
\mathbf{elif}\;\ell \le 3.733655982048962 \cdot 10^{-233}:\\
\;\;\;\;\left(\frac{\frac{\cos k}{t}}{\left(\frac{\sqrt[3]{k}}{\sqrt[3]{\frac{\ell}{\sin k}}} \cdot \frac{\sqrt[3]{k}}{\sqrt[3]{\frac{\ell}{\sin k}}}\right) \cdot \frac{k}{\frac{\ell}{\sin k}}} \cdot \frac{\sqrt[3]{\frac{\ell}{\sin k}}}{\sqrt[3]{k}}\right) \cdot 2\\
\mathbf{else}:\\
\;\;\;\;2 \cdot \left(\frac{\frac{\ell}{\sin k}}{k} \cdot \left(\frac{\ell}{k \cdot \sin k} \cdot \frac{\cos k}{t}\right)\right)\\
\end{array}double f(double t, double l, double k) {
double r45565297 = 2.0;
double r45565298 = t;
double r45565299 = 3.0;
double r45565300 = pow(r45565298, r45565299);
double r45565301 = l;
double r45565302 = r45565301 * r45565301;
double r45565303 = r45565300 / r45565302;
double r45565304 = k;
double r45565305 = sin(r45565304);
double r45565306 = r45565303 * r45565305;
double r45565307 = tan(r45565304);
double r45565308 = r45565306 * r45565307;
double r45565309 = 1.0;
double r45565310 = r45565304 / r45565298;
double r45565311 = pow(r45565310, r45565297);
double r45565312 = r45565309 + r45565311;
double r45565313 = r45565312 - r45565309;
double r45565314 = r45565308 * r45565313;
double r45565315 = r45565297 / r45565314;
return r45565315;
}
double f(double t, double l, double k) {
double r45565316 = l;
double r45565317 = -1.6308807875264197e-147;
bool r45565318 = r45565316 <= r45565317;
double r45565319 = 2.0;
double r45565320 = k;
double r45565321 = sin(r45565320);
double r45565322 = r45565316 / r45565321;
double r45565323 = r45565322 / r45565320;
double r45565324 = r45565320 * r45565321;
double r45565325 = r45565316 / r45565324;
double r45565326 = cos(r45565320);
double r45565327 = t;
double r45565328 = r45565326 / r45565327;
double r45565329 = r45565325 * r45565328;
double r45565330 = r45565323 * r45565329;
double r45565331 = r45565319 * r45565330;
double r45565332 = 3.733655982048962e-233;
bool r45565333 = r45565316 <= r45565332;
double r45565334 = cbrt(r45565320);
double r45565335 = cbrt(r45565322);
double r45565336 = r45565334 / r45565335;
double r45565337 = r45565336 * r45565336;
double r45565338 = r45565320 / r45565322;
double r45565339 = r45565337 * r45565338;
double r45565340 = r45565328 / r45565339;
double r45565341 = r45565335 / r45565334;
double r45565342 = r45565340 * r45565341;
double r45565343 = r45565342 * r45565319;
double r45565344 = r45565333 ? r45565343 : r45565331;
double r45565345 = r45565318 ? r45565331 : r45565344;
return r45565345;
}



Bits error versus t



Bits error versus l



Bits error versus k
Results
if l < -1.6308807875264197e-147 or 3.733655982048962e-233 < l Initial program 47.6
Simplified32.2
Taylor expanded around -inf 25.0
Simplified8.3
rmApplied associate-*r*1.1
rmApplied associate-/r*1.0
if -1.6308807875264197e-147 < l < 3.733655982048962e-233Initial program 45.5
Simplified24.7
Taylor expanded around -inf 19.4
Simplified8.5
rmApplied associate-*r*5.7
rmApplied associate-/r*5.7
rmApplied add-cube-cbrt5.9
Applied add-cube-cbrt5.9
Applied times-frac5.9
Applied associate-*r*5.9
Simplified3.9
Final simplification1.7
herbie shell --seed 2019128 +o rules:numerics
(FPCore (t l k)
:name "Toniolo and Linder, Equation (10-)"
(/ 2 (* (* (* (/ (pow t 3) (* l l)) (sin k)) (tan k)) (- (+ 1 (pow (/ k t) 2)) 1))))