Average Error: 0.5 → 0.5
Time: 42.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)\]
\[\left(a1 \cdot a1\right) \cdot \frac{\cos th}{\sqrt{2}} + \left(\frac{\cos th}{\sqrt{2}} \cdot a2\right) \cdot a2\]
\frac{\cos th}{\sqrt{2}} \cdot \left(a1 \cdot a1\right) + \frac{\cos th}{\sqrt{2}} \cdot \left(a2 \cdot a2\right)
\left(a1 \cdot a1\right) \cdot \frac{\cos th}{\sqrt{2}} + \left(\frac{\cos th}{\sqrt{2}} \cdot a2\right) \cdot a2
double f(double a1, double a2, double th) {
        double r1819959 = th;
        double r1819960 = cos(r1819959);
        double r1819961 = 2.0;
        double r1819962 = sqrt(r1819961);
        double r1819963 = r1819960 / r1819962;
        double r1819964 = a1;
        double r1819965 = r1819964 * r1819964;
        double r1819966 = r1819963 * r1819965;
        double r1819967 = a2;
        double r1819968 = r1819967 * r1819967;
        double r1819969 = r1819963 * r1819968;
        double r1819970 = r1819966 + r1819969;
        return r1819970;
}

double f(double a1, double a2, double th) {
        double r1819971 = a1;
        double r1819972 = r1819971 * r1819971;
        double r1819973 = th;
        double r1819974 = cos(r1819973);
        double r1819975 = 2.0;
        double r1819976 = sqrt(r1819975);
        double r1819977 = r1819974 / r1819976;
        double r1819978 = r1819972 * r1819977;
        double r1819979 = a2;
        double r1819980 = r1819977 * r1819979;
        double r1819981 = r1819980 * r1819979;
        double r1819982 = r1819978 + r1819981;
        return r1819982;
}

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 associate-*r*0.5

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

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

Reproduce

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