\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 r3325104 = th;
double r3325105 = cos(r3325104);
double r3325106 = 2.0;
double r3325107 = sqrt(r3325106);
double r3325108 = r3325105 / r3325107;
double r3325109 = a1;
double r3325110 = r3325109 * r3325109;
double r3325111 = r3325108 * r3325110;
double r3325112 = a2;
double r3325113 = r3325112 * r3325112;
double r3325114 = r3325108 * r3325113;
double r3325115 = r3325111 + r3325114;
return r3325115;
}
double f(double a1, double a2, double th) {
double r3325116 = th;
double r3325117 = cos(r3325116);
double r3325118 = a1;
double r3325119 = r3325118 * r3325118;
double r3325120 = a2;
double r3325121 = r3325120 * r3325120;
double r3325122 = r3325119 + r3325121;
double r3325123 = 2.0;
double r3325124 = sqrt(r3325123);
double r3325125 = r3325122 / r3325124;
double r3325126 = r3325117 * r3325125;
return r3325126;
}



Bits error versus a1



Bits error versus a2



Bits error versus th
Results
Initial program 0.5
Simplified0.5
rmApplied *-un-lft-identity0.5
Applied add-sqr-sqrt0.5
Applied sqrt-prod0.6
Applied times-frac0.6
Applied associate-/r*0.5
Simplified0.5
rmApplied associate-/r/0.5
Simplified0.5
Final simplification0.5
herbie shell --seed 2019172
(FPCore (a1 a2 th)
:name "Migdal et al, Equation (64)"
(+ (* (/ (cos th) (sqrt 2.0)) (* a1 a1)) (* (/ (cos th) (sqrt 2.0)) (* a2 a2))))