Average Error: 0.5 → 0.5
Time: 13.2s
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 \frac{\cos th \cdot a2}{\sqrt{2}} + \frac{\cos th}{\sqrt{\sqrt{\sqrt{2}}}} \cdot \frac{\frac{{a1}^{2}}{\sqrt{\sqrt{2}}}}{\sqrt{\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 \frac{\cos th \cdot a2}{\sqrt{2}} + \frac{\cos th}{\sqrt{\sqrt{\sqrt{2}}}} \cdot \frac{\frac{{a1}^{2}}{\sqrt{\sqrt{2}}}}{\sqrt{\sqrt{\sqrt{2}}}}
double f(double a1, double a2, double th) {
        double r96810 = th;
        double r96811 = cos(r96810);
        double r96812 = 2.0;
        double r96813 = sqrt(r96812);
        double r96814 = r96811 / r96813;
        double r96815 = a1;
        double r96816 = r96815 * r96815;
        double r96817 = r96814 * r96816;
        double r96818 = a2;
        double r96819 = r96818 * r96818;
        double r96820 = r96814 * r96819;
        double r96821 = r96817 + r96820;
        return r96821;
}

double f(double a1, double a2, double th) {
        double r96822 = a2;
        double r96823 = th;
        double r96824 = cos(r96823);
        double r96825 = r96824 * r96822;
        double r96826 = 2.0;
        double r96827 = sqrt(r96826);
        double r96828 = r96825 / r96827;
        double r96829 = r96822 * r96828;
        double r96830 = sqrt(r96827);
        double r96831 = sqrt(r96830);
        double r96832 = r96824 / r96831;
        double r96833 = a1;
        double r96834 = 2.0;
        double r96835 = pow(r96833, r96834);
        double r96836 = r96835 / r96830;
        double r96837 = r96836 / r96831;
        double r96838 = r96832 * r96837;
        double r96839 = r96829 + r96838;
        return r96839;
}

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-*r*0.5

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    \[\leadsto a2 \cdot \frac{\cos th \cdot a2}{\sqrt{2}} + \frac{\cos th}{\sqrt{\sqrt{\sqrt{2}}}} \cdot \frac{\frac{{a1}^{2}}{\sqrt{\sqrt{2}}}}{\sqrt{\sqrt{\sqrt{2}}}}\]

Reproduce

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