Average Error: 0.5 → 0.5
Time: 1.2m
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{\frac{\cos th}{\sqrt{\sqrt{2}}}}{\sqrt{\sqrt{2}}} \cdot \left(a1 \cdot a1\right) + \frac{\cos th}{\frac{\sqrt{\sqrt{2}}}{\frac{1}{\sqrt{\sqrt{2}}}}} \cdot \left(a2 \cdot a2\right)\]
\frac{\cos th}{\sqrt{2}} \cdot \left(a1 \cdot a1\right) + \frac{\cos th}{\sqrt{2}} \cdot \left(a2 \cdot a2\right)
\frac{\frac{\cos th}{\sqrt{\sqrt{2}}}}{\sqrt{\sqrt{2}}} \cdot \left(a1 \cdot a1\right) + \frac{\cos th}{\frac{\sqrt{\sqrt{2}}}{\frac{1}{\sqrt{\sqrt{2}}}}} \cdot \left(a2 \cdot a2\right)
double f(double a1, double a2, double th) {
        double r2050519 = th;
        double r2050520 = cos(r2050519);
        double r2050521 = 2.0;
        double r2050522 = sqrt(r2050521);
        double r2050523 = r2050520 / r2050522;
        double r2050524 = a1;
        double r2050525 = r2050524 * r2050524;
        double r2050526 = r2050523 * r2050525;
        double r2050527 = a2;
        double r2050528 = r2050527 * r2050527;
        double r2050529 = r2050523 * r2050528;
        double r2050530 = r2050526 + r2050529;
        return r2050530;
}

double f(double a1, double a2, double th) {
        double r2050531 = th;
        double r2050532 = cos(r2050531);
        double r2050533 = 2.0;
        double r2050534 = sqrt(r2050533);
        double r2050535 = sqrt(r2050534);
        double r2050536 = r2050532 / r2050535;
        double r2050537 = r2050536 / r2050535;
        double r2050538 = a1;
        double r2050539 = r2050538 * r2050538;
        double r2050540 = r2050537 * r2050539;
        double r2050541 = 1.0;
        double r2050542 = r2050541 / r2050535;
        double r2050543 = r2050535 / r2050542;
        double r2050544 = r2050532 / r2050543;
        double r2050545 = a2;
        double r2050546 = r2050545 * r2050545;
        double r2050547 = r2050544 * r2050546;
        double r2050548 = r2050540 + r2050547;
        return r2050548;
}

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}{\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)\]
  4. 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)\]
  5. Using strategy rm
  6. Applied add-sqr-sqrt0.5

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

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

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

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

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

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

Reproduce

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