Average Error: 0.5 → 0.4
Time: 4.0m
Precision: 64
\[\frac{\cos th}{\sqrt{2}} \cdot \left(a1 \cdot a1\right) + \frac{\cos th}{\sqrt{2}} \cdot \left(a2 \cdot a2\right)\]
\[a2 \cdot \frac{a2 \cdot \cos th}{\sqrt{2}} + \frac{a1 \cdot \cos th}{\frac{\sqrt{2}}{a1}}\]
\frac{\cos th}{\sqrt{2}} \cdot \left(a1 \cdot a1\right) + \frac{\cos th}{\sqrt{2}} \cdot \left(a2 \cdot a2\right)
a2 \cdot \frac{a2 \cdot \cos th}{\sqrt{2}} + \frac{a1 \cdot \cos th}{\frac{\sqrt{2}}{a1}}
double f(double a1, double a2, double th) {
        double r17535773 = th;
        double r17535774 = cos(r17535773);
        double r17535775 = 2.0;
        double r17535776 = sqrt(r17535775);
        double r17535777 = r17535774 / r17535776;
        double r17535778 = a1;
        double r17535779 = r17535778 * r17535778;
        double r17535780 = r17535777 * r17535779;
        double r17535781 = a2;
        double r17535782 = r17535781 * r17535781;
        double r17535783 = r17535777 * r17535782;
        double r17535784 = r17535780 + r17535783;
        return r17535784;
}

double f(double a1, double a2, double th) {
        double r17535785 = a2;
        double r17535786 = th;
        double r17535787 = cos(r17535786);
        double r17535788 = r17535785 * r17535787;
        double r17535789 = 2.0;
        double r17535790 = sqrt(r17535789);
        double r17535791 = r17535788 / r17535790;
        double r17535792 = r17535785 * r17535791;
        double r17535793 = a1;
        double r17535794 = r17535793 * r17535787;
        double r17535795 = r17535790 / r17535793;
        double r17535796 = r17535794 / r17535795;
        double r17535797 = r17535792 + r17535796;
        return r17535797;
}

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}{\sqrt{\color{blue}{\sqrt{2} \cdot \sqrt{2}}}} \cdot \left(a1 \cdot a1\right) + \frac{\cos th}{\sqrt{2}} \cdot \left(a2 \cdot a2\right)\]
  4. Applied sqrt-prod0.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)\]
  5. 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)\]
  6. Taylor expanded around -inf 0.5

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

    \[\leadsto \frac{\frac{\cos th}{\sqrt{\sqrt{2}}}}{\sqrt{\sqrt{2}}} \cdot \left(a1 \cdot a1\right) + \color{blue}{a2 \cdot \frac{a2 \cdot \cos th}{\sqrt{2}}}\]
  8. Taylor expanded around inf 0.4

    \[\leadsto \color{blue}{\frac{{a1}^{2} \cdot \cos th}{\sqrt{2}}} + a2 \cdot \frac{a2 \cdot \cos th}{\sqrt{2}}\]
  9. Simplified0.4

    \[\leadsto \color{blue}{\frac{\cos th \cdot a1}{\frac{\sqrt{2}}{a1}}} + a2 \cdot \frac{a2 \cdot \cos th}{\sqrt{2}}\]
  10. Final simplification0.4

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

Reproduce

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