\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 -2.5994779280181517 \cdot 10^{+141}:\\
\;\;\;\;\frac{2}{\sin k \cdot \left(\left(t \cdot \left(\tan k \cdot \left(2 + \frac{k}{t} \cdot \frac{k}{t}\right)\right)\right) \cdot \left(\frac{t}{\ell} \cdot \frac{t}{\ell}\right)\right)}\\
\mathbf{elif}\;\ell \le -1.0539765897933676 \cdot 10^{-121}:\\
\;\;\;\;\frac{2}{\frac{\frac{2}{\ell} \cdot \frac{\left(\left(\sin k \cdot t\right) \cdot \left(\sin k \cdot t\right)\right) \cdot t}{\ell} + \frac{t}{\frac{\frac{\ell}{\sin k} \cdot \frac{\ell}{\sin k}}{k \cdot k}}}{\cos k}}\\
\mathbf{elif}\;\ell \le 7.328736741637738 \cdot 10^{-217}:\\
\;\;\;\;\frac{2}{\frac{\left(2 + \frac{k}{t} \cdot \frac{k}{t}\right) \cdot \left(t \cdot \left(\left(\sin k \cdot \frac{t}{\ell}\right) \cdot \left(\sin k \cdot \frac{t}{\ell}\right)\right)\right)}{\cos k}}\\
\mathbf{elif}\;\ell \le 8.785675515272592 \cdot 10^{+137}:\\
\;\;\;\;\frac{2}{\frac{\frac{2}{\ell} \cdot \frac{\left(\left(\sin k \cdot t\right) \cdot \left(\sin k \cdot t\right)\right) \cdot t}{\ell} + \frac{t}{\frac{\frac{\ell}{\sin k} \cdot \frac{\ell}{\sin k}}{k \cdot k}}}{\cos k}}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{\left(\left(\left(\sin k \cdot \frac{t}{\ell}\right) \cdot \frac{t}{\ell}\right) \cdot \left(\tan k \cdot t\right)\right) \cdot \left(2 + \frac{k}{t} \cdot \frac{k}{t}\right)}\\
\end{array}double f(double t, double l, double k) {
double r3327541 = 2.0;
double r3327542 = t;
double r3327543 = 3.0;
double r3327544 = pow(r3327542, r3327543);
double r3327545 = l;
double r3327546 = r3327545 * r3327545;
double r3327547 = r3327544 / r3327546;
double r3327548 = k;
double r3327549 = sin(r3327548);
double r3327550 = r3327547 * r3327549;
double r3327551 = tan(r3327548);
double r3327552 = r3327550 * r3327551;
double r3327553 = 1.0;
double r3327554 = r3327548 / r3327542;
double r3327555 = pow(r3327554, r3327541);
double r3327556 = r3327553 + r3327555;
double r3327557 = r3327556 + r3327553;
double r3327558 = r3327552 * r3327557;
double r3327559 = r3327541 / r3327558;
return r3327559;
}
double f(double t, double l, double k) {
double r3327560 = l;
double r3327561 = -2.5994779280181517e+141;
bool r3327562 = r3327560 <= r3327561;
double r3327563 = 2.0;
double r3327564 = k;
double r3327565 = sin(r3327564);
double r3327566 = t;
double r3327567 = tan(r3327564);
double r3327568 = r3327564 / r3327566;
double r3327569 = r3327568 * r3327568;
double r3327570 = r3327563 + r3327569;
double r3327571 = r3327567 * r3327570;
double r3327572 = r3327566 * r3327571;
double r3327573 = r3327566 / r3327560;
double r3327574 = r3327573 * r3327573;
double r3327575 = r3327572 * r3327574;
double r3327576 = r3327565 * r3327575;
double r3327577 = r3327563 / r3327576;
double r3327578 = -1.0539765897933676e-121;
bool r3327579 = r3327560 <= r3327578;
double r3327580 = r3327563 / r3327560;
double r3327581 = r3327565 * r3327566;
double r3327582 = r3327581 * r3327581;
double r3327583 = r3327582 * r3327566;
double r3327584 = r3327583 / r3327560;
double r3327585 = r3327580 * r3327584;
double r3327586 = r3327560 / r3327565;
double r3327587 = r3327586 * r3327586;
double r3327588 = r3327564 * r3327564;
double r3327589 = r3327587 / r3327588;
double r3327590 = r3327566 / r3327589;
double r3327591 = r3327585 + r3327590;
double r3327592 = cos(r3327564);
double r3327593 = r3327591 / r3327592;
double r3327594 = r3327563 / r3327593;
double r3327595 = 7.328736741637738e-217;
bool r3327596 = r3327560 <= r3327595;
double r3327597 = r3327565 * r3327573;
double r3327598 = r3327597 * r3327597;
double r3327599 = r3327566 * r3327598;
double r3327600 = r3327570 * r3327599;
double r3327601 = r3327600 / r3327592;
double r3327602 = r3327563 / r3327601;
double r3327603 = 8.785675515272592e+137;
bool r3327604 = r3327560 <= r3327603;
double r3327605 = r3327597 * r3327573;
double r3327606 = r3327567 * r3327566;
double r3327607 = r3327605 * r3327606;
double r3327608 = r3327607 * r3327570;
double r3327609 = r3327563 / r3327608;
double r3327610 = r3327604 ? r3327594 : r3327609;
double r3327611 = r3327596 ? r3327602 : r3327610;
double r3327612 = r3327579 ? r3327594 : r3327611;
double r3327613 = r3327562 ? r3327577 : r3327612;
return r3327613;
}



Bits error versus t



Bits error versus l



Bits error versus k
Results
if l < -2.5994779280181517e+141Initial program 60.8
Simplified28.8
rmApplied div-inv28.8
Applied times-frac28.8
Applied associate-/l*29.1
Simplified28.1
rmApplied associate-/l/28.1
if -2.5994779280181517e+141 < l < -1.0539765897933676e-121 or 7.328736741637738e-217 < l < 8.785675515272592e+137Initial program 26.2
Simplified21.9
rmApplied div-inv21.9
Applied times-frac21.9
Applied associate-/l*21.8
Simplified17.2
rmApplied div-inv17.2
Applied associate-/l*17.2
Simplified15.9
rmApplied tan-quot15.9
Applied associate-*l/15.9
Applied associate-*l/15.9
Applied associate-*r/15.9
Simplified16.3
Taylor expanded around inf 19.3
Simplified10.7
if -1.0539765897933676e-121 < l < 7.328736741637738e-217Initial program 23.8
Simplified13.0
rmApplied div-inv13.0
Applied times-frac13.0
Applied associate-/l*12.5
Simplified10.1
rmApplied div-inv10.1
Applied associate-/l*10.1
Simplified9.4
rmApplied tan-quot9.4
Applied associate-*l/9.4
Applied associate-*l/9.4
Applied associate-*r/9.4
Simplified7.3
if 8.785675515272592e+137 < l Initial program 59.9
Simplified28.8
rmApplied div-inv28.8
Applied times-frac28.8
Applied associate-/l*28.9
Simplified26.7
rmApplied div-inv26.7
Applied associate-/l*26.7
Simplified23.7
Final simplification12.4
herbie shell --seed 2019164
(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))))