Average Error: 0.5 → 0.4
Time: 27.3s
Precision: 64
\[\frac{\cos th}{\sqrt{2}} \cdot \left(a1 \cdot a1\right) + \frac{\cos th}{\sqrt{2}} \cdot \left(a2 \cdot a2\right)\]
\[\frac{a2 \cdot \cos th}{\frac{\sqrt{2}}{a2}} + \frac{a1 \cdot a1}{\sqrt{2}} \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)
\frac{a2 \cdot \cos th}{\frac{\sqrt{2}}{a2}} + \frac{a1 \cdot a1}{\sqrt{2}} \cdot \cos th
double f(double a1, double a2, double th) {
        double r1397548 = th;
        double r1397549 = cos(r1397548);
        double r1397550 = 2.0;
        double r1397551 = sqrt(r1397550);
        double r1397552 = r1397549 / r1397551;
        double r1397553 = a1;
        double r1397554 = r1397553 * r1397553;
        double r1397555 = r1397552 * r1397554;
        double r1397556 = a2;
        double r1397557 = r1397556 * r1397556;
        double r1397558 = r1397552 * r1397557;
        double r1397559 = r1397555 + r1397558;
        return r1397559;
}

double f(double a1, double a2, double th) {
        double r1397560 = a2;
        double r1397561 = th;
        double r1397562 = cos(r1397561);
        double r1397563 = r1397560 * r1397562;
        double r1397564 = 2.0;
        double r1397565 = sqrt(r1397564);
        double r1397566 = r1397565 / r1397560;
        double r1397567 = r1397563 / r1397566;
        double r1397568 = a1;
        double r1397569 = r1397568 * r1397568;
        double r1397570 = r1397569 / r1397565;
        double r1397571 = r1397570 * r1397562;
        double r1397572 = r1397567 + r1397571;
        return r1397572;
}

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}{\frac{\sqrt{2}}{a2}}}\]
  6. Using strategy rm
  7. Applied div-inv0.5

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

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

    \[\leadsto \cos th \cdot \color{blue}{\frac{a1 \cdot a1}{\sqrt{2}}} + \cos th \cdot \frac{a2}{\frac{\sqrt{2}}{a2}}\]
  10. Using strategy rm
  11. Applied associate-*r/0.4

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

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

Reproduce

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