Average Error: 0.5 → 0.4
Time: 37.8s
Precision: 64
\[\frac{\cos th}{\sqrt{2}} \cdot \left(a1 \cdot a1\right) + \frac{\cos th}{\sqrt{2}} \cdot \left(a2 \cdot a2\right)\]
\[\left(\frac{a2}{\sqrt{2}} \cdot a2\right) \cdot \cos th + \left(\left(a1 \cdot \sqrt{\frac{1}{\sqrt{2}}}\right) \cdot \frac{a1}{\sqrt{\sqrt{2}}}\right) \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)
\left(\frac{a2}{\sqrt{2}} \cdot a2\right) \cdot \cos th + \left(\left(a1 \cdot \sqrt{\frac{1}{\sqrt{2}}}\right) \cdot \frac{a1}{\sqrt{\sqrt{2}}}\right) \cdot \cos th
double f(double a1, double a2, double th) {
        double r2083355 = th;
        double r2083356 = cos(r2083355);
        double r2083357 = 2.0;
        double r2083358 = sqrt(r2083357);
        double r2083359 = r2083356 / r2083358;
        double r2083360 = a1;
        double r2083361 = r2083360 * r2083360;
        double r2083362 = r2083359 * r2083361;
        double r2083363 = a2;
        double r2083364 = r2083363 * r2083363;
        double r2083365 = r2083359 * r2083364;
        double r2083366 = r2083362 + r2083365;
        return r2083366;
}

double f(double a1, double a2, double th) {
        double r2083367 = a2;
        double r2083368 = 2.0;
        double r2083369 = sqrt(r2083368);
        double r2083370 = r2083367 / r2083369;
        double r2083371 = r2083370 * r2083367;
        double r2083372 = th;
        double r2083373 = cos(r2083372);
        double r2083374 = r2083371 * r2083373;
        double r2083375 = a1;
        double r2083376 = 1.0;
        double r2083377 = r2083376 / r2083369;
        double r2083378 = sqrt(r2083377);
        double r2083379 = r2083375 * r2083378;
        double r2083380 = sqrt(r2083369);
        double r2083381 = r2083375 / r2083380;
        double r2083382 = r2083379 * r2083381;
        double r2083383 = r2083382 * r2083373;
        double r2083384 = r2083374 + r2083383;
        return r2083384;
}

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. Taylor expanded around inf 0.5

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

    \[\leadsto \color{blue}{\cos th \cdot \frac{a1 \cdot a1}{\sqrt{2}}} + \frac{\cos th}{\sqrt{2}} \cdot \left(a2 \cdot a2\right)\]
  4. Using strategy rm
  5. 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)\]
  6. 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)}\]
  7. Simplified0.4

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

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

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

    \[\leadsto \cos th \cdot \color{blue}{\left(\frac{a1}{\sqrt{\sqrt{2}}} \cdot \frac{a1}{\sqrt{\sqrt{2}}}\right)} + \cos th \cdot \left(a2 \cdot \frac{a2}{\sqrt{2}}\right)\]
  12. Taylor expanded around inf 0.4

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

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

Reproduce

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