Average Error: 0.5 → 0.5
Time: 8.0s
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{\frac{\cos th \cdot \left(a1 \cdot a1\right)}{\sqrt[3]{\sqrt{2}} \cdot \sqrt[3]{\sqrt{2}}}}{\sqrt[3]{\sqrt{2}}} + \cos th \cdot \frac{{a2}^{2}}{\sqrt{2}}\]
\frac{\cos th}{\sqrt{2}} \cdot \left(a1 \cdot a1\right) + \frac{\cos th}{\sqrt{2}} \cdot \left(a2 \cdot a2\right)
\frac{\frac{\cos th \cdot \left(a1 \cdot a1\right)}{\sqrt[3]{\sqrt{2}} \cdot \sqrt[3]{\sqrt{2}}}}{\sqrt[3]{\sqrt{2}}} + \cos th \cdot \frac{{a2}^{2}}{\sqrt{2}}
double f(double a1, double a2, double th) {
        double r109786 = th;
        double r109787 = cos(r109786);
        double r109788 = 2.0;
        double r109789 = sqrt(r109788);
        double r109790 = r109787 / r109789;
        double r109791 = a1;
        double r109792 = r109791 * r109791;
        double r109793 = r109790 * r109792;
        double r109794 = a2;
        double r109795 = r109794 * r109794;
        double r109796 = r109790 * r109795;
        double r109797 = r109793 + r109796;
        return r109797;
}

double f(double a1, double a2, double th) {
        double r109798 = th;
        double r109799 = cos(r109798);
        double r109800 = a1;
        double r109801 = r109800 * r109800;
        double r109802 = r109799 * r109801;
        double r109803 = 2.0;
        double r109804 = sqrt(r109803);
        double r109805 = cbrt(r109804);
        double r109806 = r109805 * r109805;
        double r109807 = r109802 / r109806;
        double r109808 = r109807 / r109805;
        double r109809 = a2;
        double r109810 = 2.0;
        double r109811 = pow(r109809, r109810);
        double r109812 = r109811 / r109804;
        double r109813 = r109799 * r109812;
        double r109814 = r109808 + r109813;
        return r109814;
}

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 associate-*l/0.5

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

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

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

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

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

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

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

Reproduce

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