Average Error: 0.6 → 0.5
Time: 30.1s
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{\cos th}{\sqrt[3]{\sqrt{2}} \cdot \sqrt[3]{\sqrt{2}}}}{\sqrt[3]{\sqrt{2}}} \cdot a2\right) \cdot a2 + \frac{a1 \cdot a1}{\frac{\sqrt{2}}{\cos th}}\]
\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{\cos th}{\sqrt[3]{\sqrt{2}} \cdot \sqrt[3]{\sqrt{2}}}}{\sqrt[3]{\sqrt{2}}} \cdot a2\right) \cdot a2 + \frac{a1 \cdot a1}{\frac{\sqrt{2}}{\cos th}}
double f(double a1, double a2, double th) {
        double r1830084 = th;
        double r1830085 = cos(r1830084);
        double r1830086 = 2.0;
        double r1830087 = sqrt(r1830086);
        double r1830088 = r1830085 / r1830087;
        double r1830089 = a1;
        double r1830090 = r1830089 * r1830089;
        double r1830091 = r1830088 * r1830090;
        double r1830092 = a2;
        double r1830093 = r1830092 * r1830092;
        double r1830094 = r1830088 * r1830093;
        double r1830095 = r1830091 + r1830094;
        return r1830095;
}

double f(double a1, double a2, double th) {
        double r1830096 = th;
        double r1830097 = cos(r1830096);
        double r1830098 = 2.0;
        double r1830099 = sqrt(r1830098);
        double r1830100 = cbrt(r1830099);
        double r1830101 = r1830100 * r1830100;
        double r1830102 = r1830097 / r1830101;
        double r1830103 = r1830102 / r1830100;
        double r1830104 = a2;
        double r1830105 = r1830103 * r1830104;
        double r1830106 = r1830105 * r1830104;
        double r1830107 = a1;
        double r1830108 = r1830107 * r1830107;
        double r1830109 = r1830099 / r1830097;
        double r1830110 = r1830108 / r1830109;
        double r1830111 = r1830106 + r1830110;
        return r1830111;
}

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.6

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

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

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

    \[\leadsto \frac{a1 \cdot a1}{\frac{\sqrt{2}}{\cos th}} + \left(\frac{\cos th}{\color{blue}{\left(\sqrt[3]{\sqrt{2}} \cdot \sqrt[3]{\sqrt{2}}\right) \cdot \sqrt[3]{\sqrt{2}}}} \cdot a2\right) \cdot a2\]
  8. Applied associate-/r*0.5

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

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

Reproduce

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