Average Error: 0.5 → 0.5
Time: 30.6s
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 \left(a2 \cdot \frac{\cos th}{\sqrt{2}}\right) + \frac{a1}{\frac{\sqrt{2}}{a1}} \cdot \cos th\]
\frac{\cos th}{\sqrt{2}} \cdot \left(a1 \cdot a1\right) + \frac{\cos th}{\sqrt{2}} \cdot \left(a2 \cdot a2\right)
a2 \cdot \left(a2 \cdot \frac{\cos th}{\sqrt{2}}\right) + \frac{a1}{\frac{\sqrt{2}}{a1}} \cdot \cos th
double f(double a1, double a2, double th) {
        double r2205983 = th;
        double r2205984 = cos(r2205983);
        double r2205985 = 2.0;
        double r2205986 = sqrt(r2205985);
        double r2205987 = r2205984 / r2205986;
        double r2205988 = a1;
        double r2205989 = r2205988 * r2205988;
        double r2205990 = r2205987 * r2205989;
        double r2205991 = a2;
        double r2205992 = r2205991 * r2205991;
        double r2205993 = r2205987 * r2205992;
        double r2205994 = r2205990 + r2205993;
        return r2205994;
}

double f(double a1, double a2, double th) {
        double r2205995 = a2;
        double r2205996 = th;
        double r2205997 = cos(r2205996);
        double r2205998 = 2.0;
        double r2205999 = sqrt(r2205998);
        double r2206000 = r2205997 / r2205999;
        double r2206001 = r2205995 * r2206000;
        double r2206002 = r2205995 * r2206001;
        double r2206003 = a1;
        double r2206004 = r2205999 / r2206003;
        double r2206005 = r2206003 / r2206004;
        double r2206006 = r2206005 * r2205997;
        double r2206007 = r2206002 + r2206006;
        return r2206007;
}

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 \color{blue}{\left(\cos th \cdot \frac{1}{\sqrt{2}}\right)} \cdot \left(a1 \cdot a1\right) + \frac{\cos th}{\sqrt{2}} \cdot \left(a2 \cdot a2\right)\]
  4. Applied associate-*l*0.5

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

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

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

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

Reproduce

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