Average Error: 0.5 → 0.4
Time: 3.4m
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{a2 \cdot \cos th}{\sqrt{2}} + \left(\left(\frac{\frac{1}{\sqrt{\sqrt{2}}}}{\sqrt{\sqrt[3]{\sqrt{2}}}} \cdot a1\right) \cdot a1\right) \cdot \frac{\cos th}{\left|\sqrt[3]{\sqrt{2}}\right|}\]
\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{a2 \cdot \cos th}{\sqrt{2}} + \left(\left(\frac{\frac{1}{\sqrt{\sqrt{2}}}}{\sqrt{\sqrt[3]{\sqrt{2}}}} \cdot a1\right) \cdot a1\right) \cdot \frac{\cos th}{\left|\sqrt[3]{\sqrt{2}}\right|}
double f(double a1, double a2, double th) {
        double r15226024 = th;
        double r15226025 = cos(r15226024);
        double r15226026 = 2.0;
        double r15226027 = sqrt(r15226026);
        double r15226028 = r15226025 / r15226027;
        double r15226029 = a1;
        double r15226030 = r15226029 * r15226029;
        double r15226031 = r15226028 * r15226030;
        double r15226032 = a2;
        double r15226033 = r15226032 * r15226032;
        double r15226034 = r15226028 * r15226033;
        double r15226035 = r15226031 + r15226034;
        return r15226035;
}

double f(double a1, double a2, double th) {
        double r15226036 = a2;
        double r15226037 = th;
        double r15226038 = cos(r15226037);
        double r15226039 = r15226036 * r15226038;
        double r15226040 = 2.0;
        double r15226041 = sqrt(r15226040);
        double r15226042 = r15226039 / r15226041;
        double r15226043 = r15226036 * r15226042;
        double r15226044 = 1.0;
        double r15226045 = sqrt(r15226041);
        double r15226046 = r15226044 / r15226045;
        double r15226047 = cbrt(r15226041);
        double r15226048 = sqrt(r15226047);
        double r15226049 = r15226046 / r15226048;
        double r15226050 = a1;
        double r15226051 = r15226049 * r15226050;
        double r15226052 = r15226051 * r15226050;
        double r15226053 = fabs(r15226047);
        double r15226054 = r15226038 / r15226053;
        double r15226055 = r15226052 * r15226054;
        double r15226056 = r15226043 + r15226055;
        return r15226056;
}

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. Taylor expanded around -inf 0.5

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

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

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

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

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

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

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

    \[\leadsto \color{blue}{\frac{\cos th}{\left|\sqrt[3]{\sqrt{2}}\right|}} \cdot \left(\frac{\frac{1}{\sqrt{\sqrt{2}}}}{\sqrt{\sqrt[3]{\sqrt{2}}}} \cdot \left(a1 \cdot a1\right)\right) + a2 \cdot \frac{a2 \cdot \cos th}{\sqrt{2}}\]
  15. Using strategy rm
  16. Applied associate-*r*0.4

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

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

Reproduce

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