Average Error: 0.5 → 0.5
Time: 12.3s
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{\frac{\cos th}{\sqrt{\sqrt{2}}}}{\sqrt{\sqrt{2}}} \cdot \left(a1 \cdot a1\right) + \left(\frac{\cos th}{\left|\sqrt[3]{\sqrt{2}}\right|} \cdot \frac{\frac{1}{\sqrt{\sqrt{2}}}}{\sqrt{\sqrt[3]{\sqrt{2}}}}\right) \cdot \left(a2 \cdot a2\right)\]
\frac{\cos th}{\sqrt{2}} \cdot \left(a1 \cdot a1\right) + \frac{\cos th}{\sqrt{2}} \cdot \left(a2 \cdot a2\right)
\frac{\frac{\cos th}{\sqrt{\sqrt{2}}}}{\sqrt{\sqrt{2}}} \cdot \left(a1 \cdot a1\right) + \left(\frac{\cos th}{\left|\sqrt[3]{\sqrt{2}}\right|} \cdot \frac{\frac{1}{\sqrt{\sqrt{2}}}}{\sqrt{\sqrt[3]{\sqrt{2}}}}\right) \cdot \left(a2 \cdot a2\right)
double f(double a1, double a2, double th) {
        double r99682 = th;
        double r99683 = cos(r99682);
        double r99684 = 2.0;
        double r99685 = sqrt(r99684);
        double r99686 = r99683 / r99685;
        double r99687 = a1;
        double r99688 = r99687 * r99687;
        double r99689 = r99686 * r99688;
        double r99690 = a2;
        double r99691 = r99690 * r99690;
        double r99692 = r99686 * r99691;
        double r99693 = r99689 + r99692;
        return r99693;
}

double f(double a1, double a2, double th) {
        double r99694 = th;
        double r99695 = cos(r99694);
        double r99696 = 2.0;
        double r99697 = sqrt(r99696);
        double r99698 = sqrt(r99697);
        double r99699 = r99695 / r99698;
        double r99700 = r99699 / r99698;
        double r99701 = a1;
        double r99702 = r99701 * r99701;
        double r99703 = r99700 * r99702;
        double r99704 = cbrt(r99697);
        double r99705 = fabs(r99704);
        double r99706 = r99695 / r99705;
        double r99707 = 1.0;
        double r99708 = r99707 / r99698;
        double r99709 = sqrt(r99704);
        double r99710 = r99708 / r99709;
        double r99711 = r99706 * r99710;
        double r99712 = a2;
        double r99713 = r99712 * r99712;
        double r99714 = r99711 * r99713;
        double r99715 = r99703 + r99714;
        return r99715;
}

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

    \[\leadsto \frac{\frac{\cos th}{\sqrt{\sqrt{2}}}}{\sqrt{\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)\]
  8. Applied sqrt-prod0.5

    \[\leadsto \frac{\frac{\cos th}{\sqrt{\sqrt{2}}}}{\sqrt{\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)\]
  9. Applied associate-/r*0.5

    \[\leadsto \frac{\frac{\cos th}{\sqrt{\sqrt{2}}}}{\sqrt{\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)\]
  10. Using strategy rm
  11. Applied add-cube-cbrt0.5

    \[\leadsto \frac{\frac{\cos th}{\sqrt{\sqrt{2}}}}{\sqrt{\sqrt{2}}} \cdot \left(a1 \cdot a1\right) + \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(a2 \cdot a2\right)\]
  12. Applied sqrt-prod0.6

    \[\leadsto \frac{\frac{\cos th}{\sqrt{\sqrt{2}}}}{\sqrt{\sqrt{2}}} \cdot \left(a1 \cdot a1\right) + \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(a2 \cdot a2\right)\]
  13. Applied div-inv0.5

    \[\leadsto \frac{\frac{\cos th}{\sqrt{\sqrt{2}}}}{\sqrt{\sqrt{2}}} \cdot \left(a1 \cdot a1\right) + \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(a2 \cdot a2\right)\]
  14. Applied times-frac0.5

    \[\leadsto \frac{\frac{\cos th}{\sqrt{\sqrt{2}}}}{\sqrt{\sqrt{2}}} \cdot \left(a1 \cdot a1\right) + \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(a2 \cdot a2\right)\]
  15. Simplified0.5

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

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

Reproduce

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