Average Error: 0.5 → 0.5
Time: 22.5s
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 a2}{\sqrt{2}} \cdot \cos th + \left(a1 \cdot \frac{a1}{\sqrt{2}}\right) \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 a2}{\sqrt{2}} \cdot \cos th + \left(a1 \cdot \frac{a1}{\sqrt{2}}\right) \cdot \cos th
double f(double a1, double a2, double th) {
        double r1856205 = th;
        double r1856206 = cos(r1856205);
        double r1856207 = 2.0;
        double r1856208 = sqrt(r1856207);
        double r1856209 = r1856206 / r1856208;
        double r1856210 = a1;
        double r1856211 = r1856210 * r1856210;
        double r1856212 = r1856209 * r1856211;
        double r1856213 = a2;
        double r1856214 = r1856213 * r1856213;
        double r1856215 = r1856209 * r1856214;
        double r1856216 = r1856212 + r1856215;
        return r1856216;
}

double f(double a1, double a2, double th) {
        double r1856217 = a2;
        double r1856218 = r1856217 * r1856217;
        double r1856219 = 2.0;
        double r1856220 = sqrt(r1856219);
        double r1856221 = r1856218 / r1856220;
        double r1856222 = th;
        double r1856223 = cos(r1856222);
        double r1856224 = r1856221 * r1856223;
        double r1856225 = a1;
        double r1856226 = r1856225 / r1856220;
        double r1856227 = r1856225 * r1856226;
        double r1856228 = r1856227 * r1856223;
        double r1856229 = r1856224 + r1856228;
        return r1856229;
}

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 \cdot a2}{\sqrt{2}}}\]
  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 \cdot a2}{\sqrt{2}}\]
  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 \cdot a2}{\sqrt{2}}\]
  9. Simplified0.5

    \[\leadsto \cos th \cdot \color{blue}{\frac{a1}{\frac{\sqrt{2}}{a1}}} + \cos th \cdot \frac{a2 \cdot a2}{\sqrt{2}}\]
  10. Using strategy rm
  11. Applied add-sqr-sqrt32.1

    \[\leadsto \cos th \cdot \frac{a1}{\frac{\sqrt{2}}{\color{blue}{\sqrt{a1} \cdot \sqrt{a1}}}} + \cos th \cdot \frac{a2 \cdot a2}{\sqrt{2}}\]
  12. Applied *-un-lft-identity32.1

    \[\leadsto \cos th \cdot \frac{a1}{\frac{\sqrt{\color{blue}{1 \cdot 2}}}{\sqrt{a1} \cdot \sqrt{a1}}} + \cos th \cdot \frac{a2 \cdot a2}{\sqrt{2}}\]
  13. Applied sqrt-prod32.1

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

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

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

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

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

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

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

Reproduce

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