Average Error: 0.5 → 0.5
Time: 15.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)\]
\[\cos th \cdot \left(\frac{\left|a1\right|}{\sqrt[3]{\sqrt{2}} \cdot \sqrt[3]{\sqrt{2}}} \cdot \frac{\left|a1\right|}{\sqrt[3]{\sqrt{2}}}\right) + \frac{\frac{\cos th}{\sqrt{\sqrt{2}}}}{\sqrt{\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)
\cos th \cdot \left(\frac{\left|a1\right|}{\sqrt[3]{\sqrt{2}} \cdot \sqrt[3]{\sqrt{2}}} \cdot \frac{\left|a1\right|}{\sqrt[3]{\sqrt{2}}}\right) + \frac{\frac{\cos th}{\sqrt{\sqrt{2}}}}{\sqrt{\sqrt{2}}} \cdot \left(a2 \cdot a2\right)
double f(double a1, double a2, double th) {
        double r107072 = th;
        double r107073 = cos(r107072);
        double r107074 = 2.0;
        double r107075 = sqrt(r107074);
        double r107076 = r107073 / r107075;
        double r107077 = a1;
        double r107078 = r107077 * r107077;
        double r107079 = r107076 * r107078;
        double r107080 = a2;
        double r107081 = r107080 * r107080;
        double r107082 = r107076 * r107081;
        double r107083 = r107079 + r107082;
        return r107083;
}

double f(double a1, double a2, double th) {
        double r107084 = th;
        double r107085 = cos(r107084);
        double r107086 = a1;
        double r107087 = fabs(r107086);
        double r107088 = 2.0;
        double r107089 = sqrt(r107088);
        double r107090 = cbrt(r107089);
        double r107091 = r107090 * r107090;
        double r107092 = r107087 / r107091;
        double r107093 = r107087 / r107090;
        double r107094 = r107092 * r107093;
        double r107095 = r107085 * r107094;
        double r107096 = sqrt(r107089);
        double r107097 = r107085 / r107096;
        double r107098 = r107097 / r107096;
        double r107099 = a2;
        double r107100 = r107099 * r107099;
        double r107101 = r107098 * r107100;
        double r107102 = r107095 + r107101;
        return r107102;
}

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

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

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

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

    \[\leadsto \cos th \cdot \frac{{a1}^{2}}{\color{blue}{\left(\sqrt[3]{\sqrt{2}} \cdot \sqrt[3]{\sqrt{2}}\right) \cdot \sqrt[3]{\sqrt{2}}}} + \frac{\frac{\cos th}{\sqrt{\sqrt{2}}}}{\sqrt{\sqrt{2}}} \cdot \left(a2 \cdot a2\right)\]
  12. Applied add-sqr-sqrt0.5

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

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

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

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

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

Reproduce

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