\frac{\cos th}{\sqrt{2}} \cdot \left(a1 \cdot a1\right) + \frac{\cos th}{\sqrt{2}} \cdot \left(a2 \cdot a2\right)\cos th \cdot \frac{a1 \cdot a1 + a2 \cdot a2}{\sqrt{2}}double f(double a1, double a2, double th) {
double r98337 = th;
double r98338 = cos(r98337);
double r98339 = 2.0;
double r98340 = sqrt(r98339);
double r98341 = r98338 / r98340;
double r98342 = a1;
double r98343 = r98342 * r98342;
double r98344 = r98341 * r98343;
double r98345 = a2;
double r98346 = r98345 * r98345;
double r98347 = r98341 * r98346;
double r98348 = r98344 + r98347;
return r98348;
}
double f(double a1, double a2, double th) {
double r98349 = th;
double r98350 = cos(r98349);
double r98351 = a1;
double r98352 = r98351 * r98351;
double r98353 = a2;
double r98354 = r98353 * r98353;
double r98355 = r98352 + r98354;
double r98356 = 2.0;
double r98357 = sqrt(r98356);
double r98358 = r98355 / r98357;
double r98359 = r98350 * r98358;
return r98359;
}



Bits error versus a1



Bits error versus a2



Bits error versus th
Results
Initial program 0.5
Simplified0.5
rmApplied div-inv0.6
Applied associate-*l*0.6
Simplified0.5
Final simplification0.5
herbie shell --seed 2019353
(FPCore (a1 a2 th)
:name "Migdal et al, Equation (64)"
:precision binary64
(+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (* (/ (cos th) (sqrt 2)) (* a2 a2))))