\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 r67128 = th;
double r67129 = cos(r67128);
double r67130 = 2.0;
double r67131 = sqrt(r67130);
double r67132 = r67129 / r67131;
double r67133 = a1;
double r67134 = r67133 * r67133;
double r67135 = r67132 * r67134;
double r67136 = a2;
double r67137 = r67136 * r67136;
double r67138 = r67132 * r67137;
double r67139 = r67135 + r67138;
return r67139;
}
double f(double a1, double a2, double th) {
double r67140 = th;
double r67141 = cos(r67140);
double r67142 = a2;
double r67143 = r67142 * r67142;
double r67144 = a1;
double r67145 = r67144 * r67144;
double r67146 = r67143 + r67145;
double r67147 = 2.0;
double r67148 = sqrt(r67147);
double r67149 = sqrt(r67148);
double r67150 = r67146 / r67149;
double r67151 = r67150 / r67149;
double r67152 = r67141 * r67151;
return r67152;
}



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))))