Average Error: 0.5 → 0.5
Time: 21.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)\]
\[\frac{\cos th \cdot \sqrt{a1 \cdot a1 + a2 \cdot a2}}{\sqrt[3]{\sqrt{2}} \cdot \sqrt[3]{\sqrt{2}}} \cdot \frac{\sqrt{a1 \cdot a1 + a2 \cdot a2}}{\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)
\frac{\cos th \cdot \sqrt{a1 \cdot a1 + a2 \cdot a2}}{\sqrt[3]{\sqrt{2}} \cdot \sqrt[3]{\sqrt{2}}} \cdot \frac{\sqrt{a1 \cdot a1 + a2 \cdot a2}}{\sqrt[3]{\sqrt{2}}}
double f(double a1, double a2, double th) {
        double r71395 = th;
        double r71396 = cos(r71395);
        double r71397 = 2.0;
        double r71398 = sqrt(r71397);
        double r71399 = r71396 / r71398;
        double r71400 = a1;
        double r71401 = r71400 * r71400;
        double r71402 = r71399 * r71401;
        double r71403 = a2;
        double r71404 = r71403 * r71403;
        double r71405 = r71399 * r71404;
        double r71406 = r71402 + r71405;
        return r71406;
}

double f(double a1, double a2, double th) {
        double r71407 = th;
        double r71408 = cos(r71407);
        double r71409 = a1;
        double r71410 = r71409 * r71409;
        double r71411 = a2;
        double r71412 = r71411 * r71411;
        double r71413 = r71410 + r71412;
        double r71414 = sqrt(r71413);
        double r71415 = r71408 * r71414;
        double r71416 = 2.0;
        double r71417 = sqrt(r71416);
        double r71418 = cbrt(r71417);
        double r71419 = r71418 * r71418;
        double r71420 = r71415 / r71419;
        double r71421 = r71414 / r71418;
        double r71422 = r71420 * r71421;
        return r71422;
}

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. Simplified0.5

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

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

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

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

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

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

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

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

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

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

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

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

Reproduce

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