Average Error: 0.5 → 0.5
Time: 21.7s
Precision: 64
\[\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{a2 \cdot a2}{\sqrt{2}} + \frac{\frac{\cos th}{\sqrt{\sqrt{2}}}}{\sqrt{\sqrt{2}}} \cdot \left(a1 \cdot a1\right)\]
\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{a2 \cdot a2}{\sqrt{2}} + \frac{\frac{\cos th}{\sqrt{\sqrt{2}}}}{\sqrt{\sqrt{2}}} \cdot \left(a1 \cdot a1\right)
double f(double a1, double a2, double th) {
        double r942817 = th;
        double r942818 = cos(r942817);
        double r942819 = 2.0;
        double r942820 = sqrt(r942819);
        double r942821 = r942818 / r942820;
        double r942822 = a1;
        double r942823 = r942822 * r942822;
        double r942824 = r942821 * r942823;
        double r942825 = a2;
        double r942826 = r942825 * r942825;
        double r942827 = r942821 * r942826;
        double r942828 = r942824 + r942827;
        return r942828;
}

double f(double a1, double a2, double th) {
        double r942829 = th;
        double r942830 = cos(r942829);
        double r942831 = a2;
        double r942832 = r942831 * r942831;
        double r942833 = 2.0;
        double r942834 = sqrt(r942833);
        double r942835 = r942832 / r942834;
        double r942836 = r942830 * r942835;
        double r942837 = sqrt(r942834);
        double r942838 = r942830 / r942837;
        double r942839 = r942838 / r942837;
        double r942840 = a1;
        double r942841 = r942840 * r942840;
        double r942842 = r942839 * r942841;
        double r942843 = r942836 + r942842;
        return r942843;
}

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 \frac{\cos th}{\sqrt{2}} \cdot \left(a1 \cdot a1\right) + \color{blue}{\left(\cos th \cdot \frac{1}{\sqrt{2}}\right)} \cdot \left(a2 \cdot a2\right)\]
  4. Applied associate-*l*0.5

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

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

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

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

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

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

Reproduce

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