\frac{\cos th}{\sqrt{2}} \cdot \left(a1 \cdot a1\right) + \frac{\cos th}{\sqrt{2}} \cdot \left(a2 \cdot a2\right)\left(a2 \cdot a2\right) \cdot \frac{1}{\frac{\sqrt{\sqrt{2}}}{\frac{\cos th}{\sqrt{\sqrt{2}}}}} + \left(\frac{\frac{\cos th}{\sqrt{\sqrt{2}}}}{\sqrt{\sqrt[3]{\sqrt{2}}}} \cdot \left(a1 \cdot a1\right)\right) \cdot \frac{1}{\sqrt{\sqrt[3]{\sqrt{2}} \cdot \sqrt[3]{\sqrt{2}}}}double f(double a1, double a2, double th) {
double r2738153 = th;
double r2738154 = cos(r2738153);
double r2738155 = 2.0;
double r2738156 = sqrt(r2738155);
double r2738157 = r2738154 / r2738156;
double r2738158 = a1;
double r2738159 = r2738158 * r2738158;
double r2738160 = r2738157 * r2738159;
double r2738161 = a2;
double r2738162 = r2738161 * r2738161;
double r2738163 = r2738157 * r2738162;
double r2738164 = r2738160 + r2738163;
return r2738164;
}
double f(double a1, double a2, double th) {
double r2738165 = a2;
double r2738166 = r2738165 * r2738165;
double r2738167 = 1.0;
double r2738168 = 2.0;
double r2738169 = sqrt(r2738168);
double r2738170 = sqrt(r2738169);
double r2738171 = th;
double r2738172 = cos(r2738171);
double r2738173 = r2738172 / r2738170;
double r2738174 = r2738170 / r2738173;
double r2738175 = r2738167 / r2738174;
double r2738176 = r2738166 * r2738175;
double r2738177 = cbrt(r2738169);
double r2738178 = sqrt(r2738177);
double r2738179 = r2738173 / r2738178;
double r2738180 = a1;
double r2738181 = r2738180 * r2738180;
double r2738182 = r2738179 * r2738181;
double r2738183 = r2738177 * r2738177;
double r2738184 = sqrt(r2738183);
double r2738185 = r2738167 / r2738184;
double r2738186 = r2738182 * r2738185;
double r2738187 = r2738176 + r2738186;
return r2738187;
}



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 add-cube-cbrt0.5
Applied sqrt-prod0.6
Applied *-un-lft-identity0.6
Applied times-frac0.5
Applied associate-*l*0.5
rmApplied add-sqr-sqrt0.5
Applied sqrt-prod0.5
Applied associate-/r*0.4
rmApplied clear-num0.5
Final simplification0.5
herbie shell --seed 2019169
(FPCore (a1 a2 th)
:name "Migdal et al, Equation (64)"
(+ (* (/ (cos th) (sqrt 2.0)) (* a1 a1)) (* (/ (cos th) (sqrt 2.0)) (* a2 a2))))