\frac{\cos th}{\sqrt{2}} \cdot \left(a1 \cdot a1\right) + \frac{\cos th}{\sqrt{2}} \cdot \left(a2 \cdot a2\right)\frac{\frac{1}{\frac{\sqrt{\sqrt{2}}}{\cos th}}}{\sqrt{\sqrt{2}}} \cdot \left(a1 \cdot a1\right) + \frac{\cos th \cdot \left(a2 \cdot a2\right)}{\sqrt{2}}double f(double a1, double a2, double th) {
double r2131165 = th;
double r2131166 = cos(r2131165);
double r2131167 = 2.0;
double r2131168 = sqrt(r2131167);
double r2131169 = r2131166 / r2131168;
double r2131170 = a1;
double r2131171 = r2131170 * r2131170;
double r2131172 = r2131169 * r2131171;
double r2131173 = a2;
double r2131174 = r2131173 * r2131173;
double r2131175 = r2131169 * r2131174;
double r2131176 = r2131172 + r2131175;
return r2131176;
}
double f(double a1, double a2, double th) {
double r2131177 = 1.0;
double r2131178 = 2.0;
double r2131179 = sqrt(r2131178);
double r2131180 = sqrt(r2131179);
double r2131181 = th;
double r2131182 = cos(r2131181);
double r2131183 = r2131180 / r2131182;
double r2131184 = r2131177 / r2131183;
double r2131185 = r2131184 / r2131180;
double r2131186 = a1;
double r2131187 = r2131186 * r2131186;
double r2131188 = r2131185 * r2131187;
double r2131189 = a2;
double r2131190 = r2131189 * r2131189;
double r2131191 = r2131182 * r2131190;
double r2131192 = r2131191 / r2131179;
double r2131193 = r2131188 + r2131192;
return r2131193;
}



Bits error versus a1



Bits error versus a2



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