Average Error: 0.5 → 0.5
Time: 48.0s
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{a2 \cdot a2}{\frac{\sqrt{2}}{\cos th}} + \cos th \cdot \left(\frac{\frac{1}{\sqrt{\sqrt{2}}}}{\sqrt{\sqrt{2}}} \cdot \left(a1 \cdot a1\right)\right)\]
\frac{\cos th}{\sqrt{2}} \cdot \left(a1 \cdot a1\right) + \frac{\cos th}{\sqrt{2}} \cdot \left(a2 \cdot a2\right)
\frac{a2 \cdot a2}{\frac{\sqrt{2}}{\cos th}} + \cos th \cdot \left(\frac{\frac{1}{\sqrt{\sqrt{2}}}}{\sqrt{\sqrt{2}}} \cdot \left(a1 \cdot a1\right)\right)
double f(double a1, double a2, double th) {
        double r1566684 = th;
        double r1566685 = cos(r1566684);
        double r1566686 = 2.0;
        double r1566687 = sqrt(r1566686);
        double r1566688 = r1566685 / r1566687;
        double r1566689 = a1;
        double r1566690 = r1566689 * r1566689;
        double r1566691 = r1566688 * r1566690;
        double r1566692 = a2;
        double r1566693 = r1566692 * r1566692;
        double r1566694 = r1566688 * r1566693;
        double r1566695 = r1566691 + r1566694;
        return r1566695;
}

double f(double a1, double a2, double th) {
        double r1566696 = a2;
        double r1566697 = r1566696 * r1566696;
        double r1566698 = 2.0;
        double r1566699 = sqrt(r1566698);
        double r1566700 = th;
        double r1566701 = cos(r1566700);
        double r1566702 = r1566699 / r1566701;
        double r1566703 = r1566697 / r1566702;
        double r1566704 = 1.0;
        double r1566705 = sqrt(r1566699);
        double r1566706 = r1566704 / r1566705;
        double r1566707 = r1566706 / r1566705;
        double r1566708 = a1;
        double r1566709 = r1566708 * r1566708;
        double r1566710 = r1566707 * r1566709;
        double r1566711 = r1566701 * r1566710;
        double r1566712 = r1566703 + r1566711;
        return r1566712;
}

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

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

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

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

    \[\leadsto \frac{\cos th}{\color{blue}{\sqrt{\sqrt{2}} \cdot \sqrt{\sqrt{2}}}} \cdot \left(a1 \cdot a1\right) + \frac{a2 \cdot a2}{\frac{\sqrt{2}}{\cos th}}\]
  7. 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{a2 \cdot a2}{\frac{\sqrt{2}}{\cos th}}\]
  8. Using strategy rm
  9. Applied *-un-lft-identity0.5

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

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

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

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

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

Reproduce

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