Average Error: 0.5 → 0.5
Time: 3.0m
Precision: 64
\[\frac{\cos th}{\sqrt{2}} \cdot \left(a1 \cdot a1\right) + \frac{\cos th}{\sqrt{2}} \cdot \left(a2 \cdot a2\right)\]
\[\left(\frac{\frac{1}{\sqrt{\sqrt{2}}}}{\sqrt{\sqrt[3]{\sqrt{2}}}} \cdot \frac{\cos th}{\left|\sqrt[3]{\sqrt{2}}\right|}\right) \cdot \left(a1 \cdot a1\right) + \frac{\frac{\cos th}{\sqrt{\sqrt{2}}}}{\sqrt{\sqrt{2}}} \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)
\left(\frac{\frac{1}{\sqrt{\sqrt{2}}}}{\sqrt{\sqrt[3]{\sqrt{2}}}} \cdot \frac{\cos th}{\left|\sqrt[3]{\sqrt{2}}\right|}\right) \cdot \left(a1 \cdot a1\right) + \frac{\frac{\cos th}{\sqrt{\sqrt{2}}}}{\sqrt{\sqrt{2}}} \cdot \left(a2 \cdot a2\right)
double f(double a1, double a2, double th) {
        double r9339618 = th;
        double r9339619 = cos(r9339618);
        double r9339620 = 2.0;
        double r9339621 = sqrt(r9339620);
        double r9339622 = r9339619 / r9339621;
        double r9339623 = a1;
        double r9339624 = r9339623 * r9339623;
        double r9339625 = r9339622 * r9339624;
        double r9339626 = a2;
        double r9339627 = r9339626 * r9339626;
        double r9339628 = r9339622 * r9339627;
        double r9339629 = r9339625 + r9339628;
        return r9339629;
}

double f(double a1, double a2, double th) {
        double r9339630 = 1.0;
        double r9339631 = 2.0;
        double r9339632 = sqrt(r9339631);
        double r9339633 = sqrt(r9339632);
        double r9339634 = r9339630 / r9339633;
        double r9339635 = cbrt(r9339632);
        double r9339636 = sqrt(r9339635);
        double r9339637 = r9339634 / r9339636;
        double r9339638 = th;
        double r9339639 = cos(r9339638);
        double r9339640 = fabs(r9339635);
        double r9339641 = r9339639 / r9339640;
        double r9339642 = r9339637 * r9339641;
        double r9339643 = a1;
        double r9339644 = r9339643 * r9339643;
        double r9339645 = r9339642 * r9339644;
        double r9339646 = r9339639 / r9339633;
        double r9339647 = r9339646 / r9339633;
        double r9339648 = a2;
        double r9339649 = r9339648 * r9339648;
        double r9339650 = r9339647 * r9339649;
        double r9339651 = r9339645 + r9339650;
        return r9339651;
}

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}{\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)\]
  4. 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)\]
  5. Using strategy rm
  6. 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) + \frac{\cos th}{\sqrt{2}} \cdot \left(a2 \cdot a2\right)\]
  7. Applied sqrt-prod0.6

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

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

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

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

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

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

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

Reproduce

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