Average Error: 0.5 → 0.4
Time: 8.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{\cos th}{\sqrt{\sqrt{\sqrt[3]{2} \cdot \sqrt[3]{2}}}} \cdot \left(\frac{\frac{1}{\sqrt{\sqrt{2}}}}{\sqrt{\sqrt{\sqrt[3]{2}}}} \cdot \left(a1 \cdot a1\right)\right) + \left(\cos th \cdot \frac{a2}{\sqrt{2}}\right) \cdot a2\]
\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}{\sqrt{\sqrt{\sqrt[3]{2} \cdot \sqrt[3]{2}}}} \cdot \left(\frac{\frac{1}{\sqrt{\sqrt{2}}}}{\sqrt{\sqrt{\sqrt[3]{2}}}} \cdot \left(a1 \cdot a1\right)\right) + \left(\cos th \cdot \frac{a2}{\sqrt{2}}\right) \cdot a2
double f(double a1, double a2, double th) {
        double r68658 = th;
        double r68659 = cos(r68658);
        double r68660 = 2.0;
        double r68661 = sqrt(r68660);
        double r68662 = r68659 / r68661;
        double r68663 = a1;
        double r68664 = r68663 * r68663;
        double r68665 = r68662 * r68664;
        double r68666 = a2;
        double r68667 = r68666 * r68666;
        double r68668 = r68662 * r68667;
        double r68669 = r68665 + r68668;
        return r68669;
}

double f(double a1, double a2, double th) {
        double r68670 = th;
        double r68671 = cos(r68670);
        double r68672 = 2.0;
        double r68673 = cbrt(r68672);
        double r68674 = r68673 * r68673;
        double r68675 = sqrt(r68674);
        double r68676 = sqrt(r68675);
        double r68677 = r68671 / r68676;
        double r68678 = 1.0;
        double r68679 = sqrt(r68672);
        double r68680 = sqrt(r68679);
        double r68681 = r68678 / r68680;
        double r68682 = sqrt(r68673);
        double r68683 = sqrt(r68682);
        double r68684 = r68681 / r68683;
        double r68685 = a1;
        double r68686 = r68685 * r68685;
        double r68687 = r68684 * r68686;
        double r68688 = r68677 * r68687;
        double r68689 = a2;
        double r68690 = r68689 / r68679;
        double r68691 = r68671 * r68690;
        double r68692 = r68691 * r68689;
        double r68693 = r68688 + r68692;
        return r68693;
}

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 div-inv0.5

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

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

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

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

    \[\leadsto \frac{\cos th}{\color{blue}{\sqrt{\sqrt{2}} \cdot \sqrt{\sqrt{2}}}} \cdot \left(a1 \cdot a1\right) + \left(\cos th \cdot \frac{a2}{\sqrt{2}}\right) \cdot a2\]
  11. 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(\cos th \cdot \frac{a2}{\sqrt{2}}\right) \cdot a2\]
  12. Using strategy rm
  13. Applied add-cube-cbrt0.5

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

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

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

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

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

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

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

Reproduce

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