Average Error: 0.5 → 0.5
Time: 1.3m
Precision: 64
\[\frac{\cos th}{\sqrt{2}} \cdot \left(a1 \cdot a1\right) + \frac{\cos th}{\sqrt{2}} \cdot \left(a2 \cdot a2\right)\]
\[a2 \cdot \left(a2 \cdot \frac{\cos th}{\sqrt{2}}\right) + \left(a1 \cdot a1\right) \cdot \frac{\frac{1}{\sqrt{\sqrt{\sqrt{2}}}}}{\frac{\sqrt{\sqrt{\sqrt{2}}}}{\frac{\cos th}{\sqrt{\sqrt{2}}}}}\]
\frac{\cos th}{\sqrt{2}} \cdot \left(a1 \cdot a1\right) + \frac{\cos th}{\sqrt{2}} \cdot \left(a2 \cdot a2\right)
a2 \cdot \left(a2 \cdot \frac{\cos th}{\sqrt{2}}\right) + \left(a1 \cdot a1\right) \cdot \frac{\frac{1}{\sqrt{\sqrt{\sqrt{2}}}}}{\frac{\sqrt{\sqrt{\sqrt{2}}}}{\frac{\cos th}{\sqrt{\sqrt{2}}}}}
double f(double a1, double a2, double th) {
        double r1553879 = th;
        double r1553880 = cos(r1553879);
        double r1553881 = 2.0;
        double r1553882 = sqrt(r1553881);
        double r1553883 = r1553880 / r1553882;
        double r1553884 = a1;
        double r1553885 = r1553884 * r1553884;
        double r1553886 = r1553883 * r1553885;
        double r1553887 = a2;
        double r1553888 = r1553887 * r1553887;
        double r1553889 = r1553883 * r1553888;
        double r1553890 = r1553886 + r1553889;
        return r1553890;
}

double f(double a1, double a2, double th) {
        double r1553891 = a2;
        double r1553892 = th;
        double r1553893 = cos(r1553892);
        double r1553894 = 2.0;
        double r1553895 = sqrt(r1553894);
        double r1553896 = r1553893 / r1553895;
        double r1553897 = r1553891 * r1553896;
        double r1553898 = r1553891 * r1553897;
        double r1553899 = a1;
        double r1553900 = r1553899 * r1553899;
        double r1553901 = 1.0;
        double r1553902 = sqrt(r1553895);
        double r1553903 = sqrt(r1553902);
        double r1553904 = r1553901 / r1553903;
        double r1553905 = r1553893 / r1553902;
        double r1553906 = r1553903 / r1553905;
        double r1553907 = r1553904 / r1553906;
        double r1553908 = r1553900 * r1553907;
        double r1553909 = r1553898 + r1553908;
        return r1553909;
}

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 add-sqr-sqrt0.5

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

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

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

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

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

    \[\leadsto \frac{1}{\frac{\sqrt{\sqrt{2}}}{\frac{\cos th}{\sqrt{\sqrt{2}}}}} \cdot \left(a1 \cdot a1\right) + \color{blue}{\left(\frac{\cos th}{\sqrt{2}} \cdot a2\right) \cdot a2}\]
  11. Using strategy rm
  12. Applied *-un-lft-identity0.5

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

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

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

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

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

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

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

Reproduce

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