Average Error: 0.5 → 0.5
Time: 23.9s
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{\sqrt{a1 \cdot a1 + {a2}^{2}}}{\sqrt{2}} \cdot \left(\cos th \cdot \sqrt{a1 \cdot a1 + {a2}^{2}}\right)\]
\frac{\cos th}{\sqrt{2}} \cdot \left(a1 \cdot a1\right) + \frac{\cos th}{\sqrt{2}} \cdot \left(a2 \cdot a2\right)
\frac{\sqrt{a1 \cdot a1 + {a2}^{2}}}{\sqrt{2}} \cdot \left(\cos th \cdot \sqrt{a1 \cdot a1 + {a2}^{2}}\right)
double f(double a1, double a2, double th) {
        double r67042 = th;
        double r67043 = cos(r67042);
        double r67044 = 2.0;
        double r67045 = sqrt(r67044);
        double r67046 = r67043 / r67045;
        double r67047 = a1;
        double r67048 = r67047 * r67047;
        double r67049 = r67046 * r67048;
        double r67050 = a2;
        double r67051 = r67050 * r67050;
        double r67052 = r67046 * r67051;
        double r67053 = r67049 + r67052;
        return r67053;
}

double f(double a1, double a2, double th) {
        double r67054 = a1;
        double r67055 = r67054 * r67054;
        double r67056 = a2;
        double r67057 = 2.0;
        double r67058 = pow(r67056, r67057);
        double r67059 = r67055 + r67058;
        double r67060 = sqrt(r67059);
        double r67061 = 2.0;
        double r67062 = sqrt(r67061);
        double r67063 = r67060 / r67062;
        double r67064 = th;
        double r67065 = cos(r67064);
        double r67066 = r67065 * r67060;
        double r67067 = r67063 * r67066;
        return r67067;
}

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{a1 \cdot a1 + a2 \cdot a2}{\frac{\sqrt{2}}{\cos th}}}\]
  3. Using strategy rm
  4. Applied div-inv0.5

    \[\leadsto \frac{a1 \cdot a1 + a2 \cdot a2}{\color{blue}{\sqrt{2} \cdot \frac{1}{\cos th}}}\]
  5. Applied add-sqr-sqrt0.5

    \[\leadsto \frac{\color{blue}{\sqrt{a1 \cdot a1 + a2 \cdot a2} \cdot \sqrt{a1 \cdot a1 + a2 \cdot a2}}}{\sqrt{2} \cdot \frac{1}{\cos th}}\]
  6. Applied times-frac0.5

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

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

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

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

Reproduce

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