Average Error: 0.5 → 0.5
Time: 24.2s
Precision: 64
\[\frac{\cos th}{\sqrt{2}} \cdot \left(a1 \cdot a1\right) + \frac{\cos th}{\sqrt{2}} \cdot \left(a2 \cdot a2\right)\]
\[\cos th \cdot \frac{a2 \cdot a2}{\sqrt{2}} + \frac{\frac{\cos th}{\sqrt{\sqrt{2}}}}{\sqrt{\sqrt{2}}} \cdot \left(a1 \cdot a1\right)\]
\frac{\cos th}{\sqrt{2}} \cdot \left(a1 \cdot a1\right) + \frac{\cos th}{\sqrt{2}} \cdot \left(a2 \cdot a2\right)
\cos th \cdot \frac{a2 \cdot a2}{\sqrt{2}} + \frac{\frac{\cos th}{\sqrt{\sqrt{2}}}}{\sqrt{\sqrt{2}}} \cdot \left(a1 \cdot a1\right)
double f(double a1, double a2, double th) {
        double r2398634 = th;
        double r2398635 = cos(r2398634);
        double r2398636 = 2.0;
        double r2398637 = sqrt(r2398636);
        double r2398638 = r2398635 / r2398637;
        double r2398639 = a1;
        double r2398640 = r2398639 * r2398639;
        double r2398641 = r2398638 * r2398640;
        double r2398642 = a2;
        double r2398643 = r2398642 * r2398642;
        double r2398644 = r2398638 * r2398643;
        double r2398645 = r2398641 + r2398644;
        return r2398645;
}

double f(double a1, double a2, double th) {
        double r2398646 = th;
        double r2398647 = cos(r2398646);
        double r2398648 = a2;
        double r2398649 = r2398648 * r2398648;
        double r2398650 = 2.0;
        double r2398651 = sqrt(r2398650);
        double r2398652 = r2398649 / r2398651;
        double r2398653 = r2398647 * r2398652;
        double r2398654 = sqrt(r2398651);
        double r2398655 = r2398647 / r2398654;
        double r2398656 = r2398655 / r2398654;
        double r2398657 = a1;
        double r2398658 = r2398657 * r2398657;
        double r2398659 = r2398656 * r2398658;
        double r2398660 = r2398653 + r2398659;
        return r2398660;
}

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}{\frac{a2 \cdot a2}{\sqrt{2}}}\]
  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 \frac{a2 \cdot a2}{\sqrt{2}}\]
  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 \frac{a2 \cdot a2}{\sqrt{2}}\]
  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 \frac{a2 \cdot a2}{\sqrt{2}}\]
  10. Final simplification0.5

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

Reproduce

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