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 r7911624 = th;
        double r7911625 = cos(r7911624);
        double r7911626 = 2.0;
        double r7911627 = sqrt(r7911626);
        double r7911628 = r7911625 / r7911627;
        double r7911629 = a1;
        double r7911630 = r7911629 * r7911629;
        double r7911631 = r7911628 * r7911630;
        double r7911632 = a2;
        double r7911633 = r7911632 * r7911632;
        double r7911634 = r7911628 * r7911633;
        double r7911635 = r7911631 + r7911634;
        return r7911635;
}

double f(double a1, double a2, double th) {
        double r7911636 = a2;
        double r7911637 = th;
        double r7911638 = cos(r7911637);
        double r7911639 = r7911636 * r7911638;
        double r7911640 = 2.0;
        double r7911641 = sqrt(r7911640);
        double r7911642 = r7911639 / r7911641;
        double r7911643 = r7911636 * r7911642;
        double r7911644 = 1.0;
        double r7911645 = sqrt(r7911641);
        double r7911646 = r7911644 / r7911645;
        double r7911647 = cbrt(r7911641);
        double r7911648 = sqrt(r7911647);
        double r7911649 = r7911646 / r7911648;
        double r7911650 = a1;
        double r7911651 = r7911649 * r7911650;
        double r7911652 = r7911651 * r7911650;
        double r7911653 = fabs(r7911647);
        double r7911654 = r7911638 / r7911653;
        double r7911655 = r7911652 * r7911654;
        double r7911656 = r7911643 + r7911655;
        return r7911656;
}

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 +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))))