Average Error: 0.5 → 0.6
Time: 36.9s
Precision: 64
\[\frac{\cos th}{\sqrt{2}} \cdot \left(a1 \cdot a1\right) + \frac{\cos th}{\sqrt{2}} \cdot \left(a2 \cdot a2\right)\]
\[\frac{\frac{\cos th}{\frac{\sqrt{\sqrt{\sqrt{2}}}}{a2 \cdot a2 + a1 \cdot a1}}}{\frac{\sqrt{\sqrt{\sqrt{2}}}}{\frac{1}{\sqrt{\sqrt{2}}}}}\]
\frac{\cos th}{\sqrt{2}} \cdot \left(a1 \cdot a1\right) + \frac{\cos th}{\sqrt{2}} \cdot \left(a2 \cdot a2\right)
\frac{\frac{\cos th}{\frac{\sqrt{\sqrt{\sqrt{2}}}}{a2 \cdot a2 + a1 \cdot a1}}}{\frac{\sqrt{\sqrt{\sqrt{2}}}}{\frac{1}{\sqrt{\sqrt{2}}}}}
double f(double a1, double a2, double th) {
        double r3131176 = th;
        double r3131177 = cos(r3131176);
        double r3131178 = 2.0;
        double r3131179 = sqrt(r3131178);
        double r3131180 = r3131177 / r3131179;
        double r3131181 = a1;
        double r3131182 = r3131181 * r3131181;
        double r3131183 = r3131180 * r3131182;
        double r3131184 = a2;
        double r3131185 = r3131184 * r3131184;
        double r3131186 = r3131180 * r3131185;
        double r3131187 = r3131183 + r3131186;
        return r3131187;
}

double f(double a1, double a2, double th) {
        double r3131188 = th;
        double r3131189 = cos(r3131188);
        double r3131190 = 2.0;
        double r3131191 = sqrt(r3131190);
        double r3131192 = sqrt(r3131191);
        double r3131193 = sqrt(r3131192);
        double r3131194 = a2;
        double r3131195 = r3131194 * r3131194;
        double r3131196 = a1;
        double r3131197 = r3131196 * r3131196;
        double r3131198 = r3131195 + r3131197;
        double r3131199 = r3131193 / r3131198;
        double r3131200 = r3131189 / r3131199;
        double r3131201 = 1.0;
        double r3131202 = r3131201 / r3131192;
        double r3131203 = r3131193 / r3131202;
        double r3131204 = r3131200 / r3131203;
        return r3131204;
}

Error

Bits error versus a1

Bits error versus a2

Bits error versus th

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 0.5

    \[\frac{\cos th}{\sqrt{2}} \cdot \left(a1 \cdot a1\right) + \frac{\cos th}{\sqrt{2}} \cdot \left(a2 \cdot a2\right)\]
  2. Simplified0.7

    \[\leadsto \color{blue}{\frac{\cos th}{\frac{\sqrt{2}}{a1 \cdot a1 + a2 \cdot a2}}}\]
  3. Using strategy rm
  4. Applied add-sqr-sqrt0.7

    \[\leadsto \frac{\cos th}{\frac{\sqrt{\color{blue}{\sqrt{2} \cdot \sqrt{2}}}}{a1 \cdot a1 + a2 \cdot a2}}\]
  5. Applied sqrt-prod0.8

    \[\leadsto \frac{\cos th}{\frac{\color{blue}{\sqrt{\sqrt{2}} \cdot \sqrt{\sqrt{2}}}}{a1 \cdot a1 + a2 \cdot a2}}\]
  6. Applied associate-/l*0.7

    \[\leadsto \frac{\cos th}{\color{blue}{\frac{\sqrt{\sqrt{2}}}{\frac{a1 \cdot a1 + a2 \cdot a2}{\sqrt{\sqrt{2}}}}}}\]
  7. Using strategy rm
  8. Applied div-inv0.9

    \[\leadsto \frac{\cos th}{\frac{\sqrt{\sqrt{2}}}{\color{blue}{\left(a1 \cdot a1 + a2 \cdot a2\right) \cdot \frac{1}{\sqrt{\sqrt{2}}}}}}\]
  9. Applied add-sqr-sqrt0.9

    \[\leadsto \frac{\cos th}{\frac{\sqrt{\sqrt{\color{blue}{\sqrt{2} \cdot \sqrt{2}}}}}{\left(a1 \cdot a1 + a2 \cdot a2\right) \cdot \frac{1}{\sqrt{\sqrt{2}}}}}\]
  10. Applied sqrt-prod0.9

    \[\leadsto \frac{\cos th}{\frac{\sqrt{\color{blue}{\sqrt{\sqrt{2}} \cdot \sqrt{\sqrt{2}}}}}{\left(a1 \cdot a1 + a2 \cdot a2\right) \cdot \frac{1}{\sqrt{\sqrt{2}}}}}\]
  11. Applied sqrt-prod0.9

    \[\leadsto \frac{\cos th}{\frac{\color{blue}{\sqrt{\sqrt{\sqrt{2}}} \cdot \sqrt{\sqrt{\sqrt{2}}}}}{\left(a1 \cdot a1 + a2 \cdot a2\right) \cdot \frac{1}{\sqrt{\sqrt{2}}}}}\]
  12. Applied times-frac0.6

    \[\leadsto \frac{\cos th}{\color{blue}{\frac{\sqrt{\sqrt{\sqrt{2}}}}{a1 \cdot a1 + a2 \cdot a2} \cdot \frac{\sqrt{\sqrt{\sqrt{2}}}}{\frac{1}{\sqrt{\sqrt{2}}}}}}\]
  13. Applied associate-/r*0.6

    \[\leadsto \color{blue}{\frac{\frac{\cos th}{\frac{\sqrt{\sqrt{\sqrt{2}}}}{a1 \cdot a1 + a2 \cdot a2}}}{\frac{\sqrt{\sqrt{\sqrt{2}}}}{\frac{1}{\sqrt{\sqrt{2}}}}}}\]
  14. Final simplification0.6

    \[\leadsto \frac{\frac{\cos th}{\frac{\sqrt{\sqrt{\sqrt{2}}}}{a2 \cdot a2 + a1 \cdot a1}}}{\frac{\sqrt{\sqrt{\sqrt{2}}}}{\frac{1}{\sqrt{\sqrt{2}}}}}\]

Reproduce

herbie shell --seed 2019171 
(FPCore (a1 a2 th)
  :name "Migdal et al, Equation (64)"
  (+ (* (/ (cos th) (sqrt 2.0)) (* a1 a1)) (* (/ (cos th) (sqrt 2.0)) (* a2 a2))))