\sqrt{\frac{1}{2} \cdot \left(1 + \frac{1}{\sqrt{1 + {\left(\frac{2 \cdot \ell}{Om}\right)}^{2} \cdot \left({\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}\right)}}\right)}\sqrt{\frac{1}{2} \cdot \left(1 + \frac{1}{\left(\sqrt[3]{\sqrt{1 + {\left(\frac{2 \cdot \ell}{Om}\right)}^{2} \cdot \left({\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}\right)}} \cdot \sqrt[3]{\sqrt{1 + {\left(\frac{2 \cdot \ell}{Om}\right)}^{2} \cdot \left({\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}\right)}}\right) \cdot \sqrt[3]{\sqrt{1 + {\left(\frac{2 \cdot \ell}{Om}\right)}^{2} \cdot \left({\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}\right)}}}\right)}double f(double l, double Om, double kx, double ky) {
double r46136 = 1.0;
double r46137 = 2.0;
double r46138 = r46136 / r46137;
double r46139 = l;
double r46140 = r46137 * r46139;
double r46141 = Om;
double r46142 = r46140 / r46141;
double r46143 = pow(r46142, r46137);
double r46144 = kx;
double r46145 = sin(r46144);
double r46146 = pow(r46145, r46137);
double r46147 = ky;
double r46148 = sin(r46147);
double r46149 = pow(r46148, r46137);
double r46150 = r46146 + r46149;
double r46151 = r46143 * r46150;
double r46152 = r46136 + r46151;
double r46153 = sqrt(r46152);
double r46154 = r46136 / r46153;
double r46155 = r46136 + r46154;
double r46156 = r46138 * r46155;
double r46157 = sqrt(r46156);
return r46157;
}
double f(double l, double Om, double kx, double ky) {
double r46158 = 1.0;
double r46159 = 2.0;
double r46160 = r46158 / r46159;
double r46161 = l;
double r46162 = r46159 * r46161;
double r46163 = Om;
double r46164 = r46162 / r46163;
double r46165 = pow(r46164, r46159);
double r46166 = kx;
double r46167 = sin(r46166);
double r46168 = pow(r46167, r46159);
double r46169 = ky;
double r46170 = sin(r46169);
double r46171 = pow(r46170, r46159);
double r46172 = r46168 + r46171;
double r46173 = r46165 * r46172;
double r46174 = r46158 + r46173;
double r46175 = sqrt(r46174);
double r46176 = cbrt(r46175);
double r46177 = r46176 * r46176;
double r46178 = r46177 * r46176;
double r46179 = r46158 / r46178;
double r46180 = r46158 + r46179;
double r46181 = r46160 * r46180;
double r46182 = sqrt(r46181);
return r46182;
}



Bits error versus l



Bits error versus Om



Bits error versus kx



Bits error versus ky
Results
Initial program 1.6
rmApplied add-cube-cbrt1.6
Final simplification1.6
herbie shell --seed 2020042
(FPCore (l Om kx ky)
:name "Toniolo and Linder, Equation (3a)"
:precision binary64
(sqrt (* (/ 1 2) (+ 1 (/ 1 (sqrt (+ 1 (* (pow (/ (* 2 l) Om) 2) (+ (pow (sin kx) 2) (pow (sin ky) 2))))))))))