Average Error: 0.5 → 0.5
Time: 9.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)\]
\[\left(\cos th \cdot \frac{a1}{\sqrt{2}}\right) \cdot a1 + \frac{\cos th}{\sqrt{\sqrt{\sqrt{2}}}} \cdot \left(\frac{\frac{1}{\sqrt{\sqrt{2}}}}{\sqrt{\sqrt{\sqrt{2}}}} \cdot \left(a2 \cdot a2\right)\right)\]
\frac{\cos th}{\sqrt{2}} \cdot \left(a1 \cdot a1\right) + \frac{\cos th}{\sqrt{2}} \cdot \left(a2 \cdot a2\right)
\left(\cos th \cdot \frac{a1}{\sqrt{2}}\right) \cdot a1 + \frac{\cos th}{\sqrt{\sqrt{\sqrt{2}}}} \cdot \left(\frac{\frac{1}{\sqrt{\sqrt{2}}}}{\sqrt{\sqrt{\sqrt{2}}}} \cdot \left(a2 \cdot a2\right)\right)
double f(double a1, double a2, double th) {
        double r98861 = th;
        double r98862 = cos(r98861);
        double r98863 = 2.0;
        double r98864 = sqrt(r98863);
        double r98865 = r98862 / r98864;
        double r98866 = a1;
        double r98867 = r98866 * r98866;
        double r98868 = r98865 * r98867;
        double r98869 = a2;
        double r98870 = r98869 * r98869;
        double r98871 = r98865 * r98870;
        double r98872 = r98868 + r98871;
        return r98872;
}

double f(double a1, double a2, double th) {
        double r98873 = th;
        double r98874 = cos(r98873);
        double r98875 = a1;
        double r98876 = 2.0;
        double r98877 = sqrt(r98876);
        double r98878 = r98875 / r98877;
        double r98879 = r98874 * r98878;
        double r98880 = r98879 * r98875;
        double r98881 = sqrt(r98877);
        double r98882 = sqrt(r98881);
        double r98883 = r98874 / r98882;
        double r98884 = 1.0;
        double r98885 = r98884 / r98881;
        double r98886 = r98885 / r98882;
        double r98887 = a2;
        double r98888 = r98887 * r98887;
        double r98889 = r98886 * r98888;
        double r98890 = r98883 * r98889;
        double r98891 = r98880 + r98890;
        return r98891;
}

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{2}} \cdot \left(a1 \cdot a1\right) + \frac{\cos th}{\sqrt{\color{blue}{\sqrt{2} \cdot \sqrt{2}}}} \cdot \left(a2 \cdot a2\right)\]
  4. Applied sqrt-prod0.5

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

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

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

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

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

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

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

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

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

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

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

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

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

Reproduce

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