\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)}\frac{\frac{\sqrt[3]{2}}{{\left(\sqrt[3]{t} \cdot \sqrt[3]{t}\right)}^{\left(\frac{3}{2}\right)}} \cdot \left(\frac{\sqrt[3]{2}}{{\left(\sqrt[3]{t} \cdot \sqrt[3]{t}\right)}^{\left(\frac{3}{2}\right)}} \cdot \left(\frac{\sqrt[3]{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)}double f(double t, double l, double k) {
double r123089 = 2.0;
double r123090 = t;
double r123091 = 3.0;
double r123092 = pow(r123090, r123091);
double r123093 = l;
double r123094 = r123093 * r123093;
double r123095 = r123092 / r123094;
double r123096 = k;
double r123097 = sin(r123096);
double r123098 = r123095 * r123097;
double r123099 = tan(r123096);
double r123100 = r123098 * r123099;
double r123101 = 1.0;
double r123102 = r123096 / r123090;
double r123103 = pow(r123102, r123089);
double r123104 = r123101 + r123103;
double r123105 = r123104 + r123101;
double r123106 = r123100 * r123105;
double r123107 = r123089 / r123106;
return r123107;
}
double f(double t, double l, double k) {
double r123108 = 2.0;
double r123109 = cbrt(r123108);
double r123110 = t;
double r123111 = cbrt(r123110);
double r123112 = r123111 * r123111;
double r123113 = 3.0;
double r123114 = 2.0;
double r123115 = r123113 / r123114;
double r123116 = pow(r123112, r123115);
double r123117 = r123109 / r123116;
double r123118 = pow(r123111, r123113);
double r123119 = k;
double r123120 = sin(r123119);
double r123121 = r123118 * r123120;
double r123122 = r123109 / r123121;
double r123123 = l;
double r123124 = r123122 * r123123;
double r123125 = r123117 * r123124;
double r123126 = r123117 * r123125;
double r123127 = tan(r123119);
double r123128 = r123126 / r123127;
double r123129 = 1.0;
double r123130 = r123119 / r123110;
double r123131 = pow(r123130, r123108);
double r123132 = fma(r123114, r123129, r123131);
double r123133 = r123123 / r123132;
double r123134 = r123128 * r123133;
return r123134;
}



Bits error versus t



Bits error versus l



Bits error versus k
Initial program 32.3
Simplified32.5
rmApplied *-un-lft-identity32.5
Applied times-frac31.8
Applied associate-*r*29.1
Simplified27.7
rmApplied add-cube-cbrt28.0
Applied unpow-prod-down28.0
Applied associate-*l*26.7
rmApplied add-cube-cbrt26.7
Applied times-frac26.6
Applied associate-*l*23.8
rmApplied sqr-pow23.8
Applied times-frac23.6
Applied associate-*l*21.4
Final simplification21.4
herbie shell --seed 2020100 +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))))