\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[3]{\sqrt{2}}} \cdot \left(\frac{a2}{\sqrt[3]{\sqrt{2}} \cdot \sqrt[3]{\sqrt{2}}} \cdot a2\right) + \frac{a1 \cdot \cos th}{\frac{\sqrt{2}}{a1}}double f(double a1, double a2, double th) {
double r6462440 = th;
double r6462441 = cos(r6462440);
double r6462442 = 2.0;
double r6462443 = sqrt(r6462442);
double r6462444 = r6462441 / r6462443;
double r6462445 = a1;
double r6462446 = r6462445 * r6462445;
double r6462447 = r6462444 * r6462446;
double r6462448 = a2;
double r6462449 = r6462448 * r6462448;
double r6462450 = r6462444 * r6462449;
double r6462451 = r6462447 + r6462450;
return r6462451;
}
double f(double a1, double a2, double th) {
double r6462452 = th;
double r6462453 = cos(r6462452);
double r6462454 = 2.0;
double r6462455 = sqrt(r6462454);
double r6462456 = cbrt(r6462455);
double r6462457 = r6462453 / r6462456;
double r6462458 = a2;
double r6462459 = r6462456 * r6462456;
double r6462460 = r6462458 / r6462459;
double r6462461 = r6462460 * r6462458;
double r6462462 = r6462457 * r6462461;
double r6462463 = a1;
double r6462464 = r6462463 * r6462453;
double r6462465 = r6462455 / r6462463;
double r6462466 = r6462464 / r6462465;
double r6462467 = r6462462 + r6462466;
return r6462467;
}



Bits error versus a1



Bits error versus a2



Bits error versus th
Results
Initial program 0.5
Taylor expanded around -inf 0.5
Simplified0.5
Taylor expanded around inf 0.5
Simplified0.4
rmApplied add-cube-cbrt0.4
Applied times-frac0.4
Applied associate-*r*0.4
Final simplification0.4
herbie shell --seed 2019119
(FPCore (a1 a2 th)
:name "Migdal et al, Equation (64)"
(+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (* (/ (cos th) (sqrt 2)) (* a2 a2))))