Average Error: 0.5 → 0.5
Time: 20.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)\]
\[\frac{\cos th \cdot \sqrt{a1 \cdot a1 + a2 \cdot a2}}{\sqrt[3]{\sqrt{2}} \cdot \sqrt[3]{\sqrt{2}}} \cdot \frac{\sqrt{a1 \cdot a1 + a2 \cdot a2}}{\sqrt[3]{\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{\cos th \cdot \sqrt{a1 \cdot a1 + a2 \cdot a2}}{\sqrt[3]{\sqrt{2}} \cdot \sqrt[3]{\sqrt{2}}} \cdot \frac{\sqrt{a1 \cdot a1 + a2 \cdot a2}}{\sqrt[3]{\sqrt{2}}}
double f(double a1, double a2, double th) {
        double r71145 = th;
        double r71146 = cos(r71145);
        double r71147 = 2.0;
        double r71148 = sqrt(r71147);
        double r71149 = r71146 / r71148;
        double r71150 = a1;
        double r71151 = r71150 * r71150;
        double r71152 = r71149 * r71151;
        double r71153 = a2;
        double r71154 = r71153 * r71153;
        double r71155 = r71149 * r71154;
        double r71156 = r71152 + r71155;
        return r71156;
}

double f(double a1, double a2, double th) {
        double r71157 = th;
        double r71158 = cos(r71157);
        double r71159 = a1;
        double r71160 = r71159 * r71159;
        double r71161 = a2;
        double r71162 = r71161 * r71161;
        double r71163 = r71160 + r71162;
        double r71164 = sqrt(r71163);
        double r71165 = r71158 * r71164;
        double r71166 = 2.0;
        double r71167 = sqrt(r71166);
        double r71168 = cbrt(r71167);
        double r71169 = r71168 * r71168;
        double r71170 = r71165 / r71169;
        double r71171 = r71164 / r71168;
        double r71172 = r71170 * r71171;
        return r71172;
}

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. Simplified0.5

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

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

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

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

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

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

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

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

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

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

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

Reproduce

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