Average Error: 0.5 → 0.5
Time: 42.1s
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{a1}{\frac{\frac{\sqrt[3]{\sqrt{2}} \cdot \sqrt[3]{\sqrt{2}}}{\frac{\cos th}{\sqrt[3]{\sqrt{2}}}}}{a1}} + \frac{\cos th}{\sqrt{2}} \cdot \left(a2 \cdot a2\right)\]
\frac{\cos th}{\sqrt{2}} \cdot \left(a1 \cdot a1\right) + \frac{\cos th}{\sqrt{2}} \cdot \left(a2 \cdot a2\right)
\frac{a1}{\frac{\frac{\sqrt[3]{\sqrt{2}} \cdot \sqrt[3]{\sqrt{2}}}{\frac{\cos th}{\sqrt[3]{\sqrt{2}}}}}{a1}} + \frac{\cos th}{\sqrt{2}} \cdot \left(a2 \cdot a2\right)
double f(double a1, double a2, double th) {
        double r1760787 = th;
        double r1760788 = cos(r1760787);
        double r1760789 = 2.0;
        double r1760790 = sqrt(r1760789);
        double r1760791 = r1760788 / r1760790;
        double r1760792 = a1;
        double r1760793 = r1760792 * r1760792;
        double r1760794 = r1760791 * r1760793;
        double r1760795 = a2;
        double r1760796 = r1760795 * r1760795;
        double r1760797 = r1760791 * r1760796;
        double r1760798 = r1760794 + r1760797;
        return r1760798;
}

double f(double a1, double a2, double th) {
        double r1760799 = a1;
        double r1760800 = 2.0;
        double r1760801 = sqrt(r1760800);
        double r1760802 = cbrt(r1760801);
        double r1760803 = r1760802 * r1760802;
        double r1760804 = th;
        double r1760805 = cos(r1760804);
        double r1760806 = r1760805 / r1760802;
        double r1760807 = r1760803 / r1760806;
        double r1760808 = r1760807 / r1760799;
        double r1760809 = r1760799 / r1760808;
        double r1760810 = r1760805 / r1760801;
        double r1760811 = a2;
        double r1760812 = r1760811 * r1760811;
        double r1760813 = r1760810 * r1760812;
        double r1760814 = r1760809 + r1760813;
        return r1760814;
}

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

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

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

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

Reproduce

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