Average Error: 0.5 → 0.4
Time: 25.7s
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{a2}{\sqrt{2}} \cdot a2\right) \cdot \cos th + \left(\frac{\frac{1}{\sqrt{\sqrt{2}}}}{\sqrt{\sqrt[3]{\sqrt{2}}}} \cdot \left(a1 \cdot a1\right)\right) \cdot \frac{\cos th}{\sqrt{\sqrt[3]{\sqrt{2}} \cdot \sqrt[3]{\sqrt{2}}}}\]
\frac{\cos th}{\sqrt{2}} \cdot \left(a1 \cdot a1\right) + \frac{\cos th}{\sqrt{2}} \cdot \left(a2 \cdot a2\right)
\left(\frac{a2}{\sqrt{2}} \cdot a2\right) \cdot \cos th + \left(\frac{\frac{1}{\sqrt{\sqrt{2}}}}{\sqrt{\sqrt[3]{\sqrt{2}}}} \cdot \left(a1 \cdot a1\right)\right) \cdot \frac{\cos th}{\sqrt{\sqrt[3]{\sqrt{2}} \cdot \sqrt[3]{\sqrt{2}}}}
double f(double a1, double a2, double th) {
        double r877211 = th;
        double r877212 = cos(r877211);
        double r877213 = 2.0;
        double r877214 = sqrt(r877213);
        double r877215 = r877212 / r877214;
        double r877216 = a1;
        double r877217 = r877216 * r877216;
        double r877218 = r877215 * r877217;
        double r877219 = a2;
        double r877220 = r877219 * r877219;
        double r877221 = r877215 * r877220;
        double r877222 = r877218 + r877221;
        return r877222;
}

double f(double a1, double a2, double th) {
        double r877223 = a2;
        double r877224 = 2.0;
        double r877225 = sqrt(r877224);
        double r877226 = r877223 / r877225;
        double r877227 = r877226 * r877223;
        double r877228 = th;
        double r877229 = cos(r877228);
        double r877230 = r877227 * r877229;
        double r877231 = 1.0;
        double r877232 = sqrt(r877225);
        double r877233 = r877231 / r877232;
        double r877234 = cbrt(r877225);
        double r877235 = sqrt(r877234);
        double r877236 = r877233 / r877235;
        double r877237 = a1;
        double r877238 = r877237 * r877237;
        double r877239 = r877236 * r877238;
        double r877240 = r877234 * r877234;
        double r877241 = sqrt(r877240);
        double r877242 = r877229 / r877241;
        double r877243 = r877239 * r877242;
        double r877244 = r877230 + r877243;
        return r877244;
}

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

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

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

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

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

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

    \[\leadsto \color{blue}{\frac{\frac{\cos th}{\sqrt{\sqrt{2}}}}{\sqrt{\sqrt{2}}}} \cdot \left(a1 \cdot a1\right) + \cos th \cdot \left(\frac{a2}{\sqrt{2}} \cdot a2\right)\]
  10. Using strategy rm
  11. 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) + \cos th \cdot \left(\frac{a2}{\sqrt{2}} \cdot a2\right)\]
  12. 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) + \cos th \cdot \left(\frac{a2}{\sqrt{2}} \cdot a2\right)\]
  13. 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) + \cos th \cdot \left(\frac{a2}{\sqrt{2}} \cdot a2\right)\]
  14. 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) + \cos th \cdot \left(\frac{a2}{\sqrt{2}} \cdot a2\right)\]
  15. 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)} + \cos th \cdot \left(\frac{a2}{\sqrt{2}} \cdot a2\right)\]
  16. Final simplification0.4

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

Reproduce

herbie shell --seed 2019154 +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))))