Average Error: 0.5 → 0.5
Time: 23.4s
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 a2}{\sqrt{2}} \cdot \cos th + \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 a2}{\sqrt{2}} \cdot \cos th + \frac{a1 \cdot a1}{\sqrt{2}} \cdot \cos th
double f(double a1, double a2, double th) {
        double r761931 = th;
        double r761932 = cos(r761931);
        double r761933 = 2.0;
        double r761934 = sqrt(r761933);
        double r761935 = r761932 / r761934;
        double r761936 = a1;
        double r761937 = r761936 * r761936;
        double r761938 = r761935 * r761937;
        double r761939 = a2;
        double r761940 = r761939 * r761939;
        double r761941 = r761935 * r761940;
        double r761942 = r761938 + r761941;
        return r761942;
}

double f(double a1, double a2, double th) {
        double r761943 = a2;
        double r761944 = r761943 * r761943;
        double r761945 = 2.0;
        double r761946 = sqrt(r761945);
        double r761947 = r761944 / r761946;
        double r761948 = th;
        double r761949 = cos(r761948);
        double r761950 = r761947 * r761949;
        double r761951 = a1;
        double r761952 = r761951 * r761951;
        double r761953 = r761952 / r761946;
        double r761954 = r761953 * r761949;
        double r761955 = r761950 + r761954;
        return r761955;
}

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}{\left(\frac{a1}{\sqrt{2}} \cdot a1\right)} + \frac{\cos th}{\sqrt{2}} \cdot \left(a2 \cdot a2\right)\]
  6. Using strategy rm
  7. Applied div-inv0.5

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

    \[\leadsto \cos th \cdot \left(\frac{a1}{\sqrt{2}} \cdot a1\right) + \cos th \cdot \color{blue}{\frac{a2 \cdot a2}{\sqrt{2}}}\]
  10. Using strategy rm
  11. Applied associate-*l/0.5

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

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

Reproduce

herbie shell --seed 2019155 +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))))