\frac{\cos th}{\sqrt{2}} \cdot \left(a1 \cdot a1\right) + \frac{\cos th}{\sqrt{2}} \cdot \left(a2 \cdot a2\right)\frac{\cos th}{\sqrt{2}} \cdot \left(a2 \cdot a2\right) + \left(a1 \cdot a1\right) \cdot \sqrt[3]{\frac{\cos th}{\frac{2 \cdot \left(\sqrt{\sqrt{2}} \cdot \sqrt{\sqrt{2}}\right)}{\cos th \cdot \cos th}}}double f(double a1, double a2, double th) {
double r1999234 = th;
double r1999235 = cos(r1999234);
double r1999236 = 2.0;
double r1999237 = sqrt(r1999236);
double r1999238 = r1999235 / r1999237;
double r1999239 = a1;
double r1999240 = r1999239 * r1999239;
double r1999241 = r1999238 * r1999240;
double r1999242 = a2;
double r1999243 = r1999242 * r1999242;
double r1999244 = r1999238 * r1999243;
double r1999245 = r1999241 + r1999244;
return r1999245;
}
double f(double a1, double a2, double th) {
double r1999246 = th;
double r1999247 = cos(r1999246);
double r1999248 = 2.0;
double r1999249 = sqrt(r1999248);
double r1999250 = r1999247 / r1999249;
double r1999251 = a2;
double r1999252 = r1999251 * r1999251;
double r1999253 = r1999250 * r1999252;
double r1999254 = a1;
double r1999255 = r1999254 * r1999254;
double r1999256 = sqrt(r1999249);
double r1999257 = r1999256 * r1999256;
double r1999258 = r1999248 * r1999257;
double r1999259 = r1999247 * r1999247;
double r1999260 = r1999258 / r1999259;
double r1999261 = r1999247 / r1999260;
double r1999262 = cbrt(r1999261);
double r1999263 = r1999255 * r1999262;
double r1999264 = r1999253 + r1999263;
return r1999264;
}



Bits error versus a1



Bits error versus a2



Bits error versus th
Results
Initial program 0.5
rmApplied add-sqr-sqrt0.5
Applied associate-/r*0.5
rmApplied add-cbrt-cube0.9
Applied add-cbrt-cube1.1
Applied add-cbrt-cube1.1
Applied cbrt-undiv0.8
Applied cbrt-undiv0.5
Simplified0.5
Final simplification0.5
herbie shell --seed 2019130
(FPCore (a1 a2 th)
:name "Migdal et al, Equation (64)"
(+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (* (/ (cos th) (sqrt 2)) (* a2 a2))))