Average Error: 0.5 → 0.5
Time: 7.4s
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}^{2} + {a1}^{2}}{\sqrt{2}}\]
\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}^{2} + {a1}^{2}}{\sqrt{2}}
double f(double a1, double a2, double th) {
        double r87055 = th;
        double r87056 = cos(r87055);
        double r87057 = 2.0;
        double r87058 = sqrt(r87057);
        double r87059 = r87056 / r87058;
        double r87060 = a1;
        double r87061 = r87060 * r87060;
        double r87062 = r87059 * r87061;
        double r87063 = a2;
        double r87064 = r87063 * r87063;
        double r87065 = r87059 * r87064;
        double r87066 = r87062 + r87065;
        return r87066;
}

double f(double a1, double a2, double th) {
        double r87067 = th;
        double r87068 = cos(r87067);
        double r87069 = a2;
        double r87070 = 2.0;
        double r87071 = pow(r87069, r87070);
        double r87072 = a1;
        double r87073 = pow(r87072, r87070);
        double r87074 = r87071 + r87073;
        double r87075 = 2.0;
        double r87076 = sqrt(r87075);
        double r87077 = r87074 / r87076;
        double r87078 = r87068 * r87077;
        return r87078;
}

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

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

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

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

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

Reproduce

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