Average Error: 0.5 → 0.4
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{a2 \cdot \cos th}{\frac{\sqrt{2}}{a2}} + \frac{a1 \cdot a1}{\sqrt{2}} \cdot \cos th\]
\frac{\cos th}{\sqrt{2}} \cdot \left(a1 \cdot a1\right) + \frac{\cos th}{\sqrt{2}} \cdot \left(a2 \cdot a2\right)
\frac{a2 \cdot \cos th}{\frac{\sqrt{2}}{a2}} + \frac{a1 \cdot a1}{\sqrt{2}} \cdot \cos th
double f(double a1, double a2, double th) {
        double r1504277 = th;
        double r1504278 = cos(r1504277);
        double r1504279 = 2.0;
        double r1504280 = sqrt(r1504279);
        double r1504281 = r1504278 / r1504280;
        double r1504282 = a1;
        double r1504283 = r1504282 * r1504282;
        double r1504284 = r1504281 * r1504283;
        double r1504285 = a2;
        double r1504286 = r1504285 * r1504285;
        double r1504287 = r1504281 * r1504286;
        double r1504288 = r1504284 + r1504287;
        return r1504288;
}

double f(double a1, double a2, double th) {
        double r1504289 = a2;
        double r1504290 = th;
        double r1504291 = cos(r1504290);
        double r1504292 = r1504289 * r1504291;
        double r1504293 = 2.0;
        double r1504294 = sqrt(r1504293);
        double r1504295 = r1504294 / r1504289;
        double r1504296 = r1504292 / r1504295;
        double r1504297 = a1;
        double r1504298 = r1504297 * r1504297;
        double r1504299 = r1504298 / r1504294;
        double r1504300 = r1504299 * r1504291;
        double r1504301 = r1504296 + r1504300;
        return r1504301;
}

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. Using strategy rm
  3. Applied div-inv0.5

    \[\leadsto \color{blue}{\left(\cos th \cdot \frac{1}{\sqrt{2}}\right)} \cdot \left(a1 \cdot a1\right) + \frac{\cos th}{\sqrt{2}} \cdot \left(a2 \cdot a2\right)\]
  4. Applied associate-*l*0.5

    \[\leadsto \color{blue}{\cos th \cdot \left(\frac{1}{\sqrt{2}} \cdot \left(a1 \cdot a1\right)\right)} + \frac{\cos th}{\sqrt{2}} \cdot \left(a2 \cdot a2\right)\]
  5. Simplified0.5

    \[\leadsto \cos th \cdot \color{blue}{\frac{a1 \cdot a1}{\sqrt{2}}} + \frac{\cos th}{\sqrt{2}} \cdot \left(a2 \cdot a2\right)\]
  6. Using strategy rm
  7. Applied div-inv0.5

    \[\leadsto \cos th \cdot \frac{a1 \cdot a1}{\sqrt{2}} + \color{blue}{\left(\cos th \cdot \frac{1}{\sqrt{2}}\right)} \cdot \left(a2 \cdot a2\right)\]
  8. Applied associate-*l*0.5

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

    \[\leadsto \cos th \cdot \frac{a1 \cdot a1}{\sqrt{2}} + \cos th \cdot \color{blue}{\frac{a2}{\frac{\sqrt{2}}{a2}}}\]
  10. Using strategy rm
  11. Applied associate-*r/0.4

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

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

Reproduce

herbie shell --seed 2019144 +o rules:numerics
(FPCore (a1 a2 th)
  :name "Migdal et al, Equation (64)"
  (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (* (/ (cos th) (sqrt 2)) (* a2 a2))))