\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{\frac{a2 \cdot a2 + a1 \cdot a1}{\sqrt{\sqrt{2}}}}{\sqrt{\sqrt{2}}}double f(double a1, double a2, double th) {
double r67166 = th;
double r67167 = cos(r67166);
double r67168 = 2.0;
double r67169 = sqrt(r67168);
double r67170 = r67167 / r67169;
double r67171 = a1;
double r67172 = r67171 * r67171;
double r67173 = r67170 * r67172;
double r67174 = a2;
double r67175 = r67174 * r67174;
double r67176 = r67170 * r67175;
double r67177 = r67173 + r67176;
return r67177;
}
double f(double a1, double a2, double th) {
double r67178 = th;
double r67179 = cos(r67178);
double r67180 = a2;
double r67181 = r67180 * r67180;
double r67182 = a1;
double r67183 = r67182 * r67182;
double r67184 = r67181 + r67183;
double r67185 = 2.0;
double r67186 = sqrt(r67185);
double r67187 = sqrt(r67186);
double r67188 = r67184 / r67187;
double r67189 = r67188 / r67187;
double r67190 = r67179 * r67189;
return r67190;
}



Bits error versus a1



Bits error versus a2



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