Average Error: 0.5 → 0.4
Time: 11.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)\]
\[\frac{\cos th}{\sqrt{\sqrt{\sqrt{2}}}} \cdot \frac{{a1}^{2}}{\sqrt{\sqrt{\sqrt{2}}} \cdot \sqrt{\sqrt{2}}} + \left(\cos th \cdot \frac{a2}{\sqrt{2}}\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)
\frac{\cos th}{\sqrt{\sqrt{\sqrt{2}}}} \cdot \frac{{a1}^{2}}{\sqrt{\sqrt{\sqrt{2}}} \cdot \sqrt{\sqrt{2}}} + \left(\cos th \cdot \frac{a2}{\sqrt{2}}\right) \cdot a2
double f(double a1, double a2, double th) {
        double r88194 = th;
        double r88195 = cos(r88194);
        double r88196 = 2.0;
        double r88197 = sqrt(r88196);
        double r88198 = r88195 / r88197;
        double r88199 = a1;
        double r88200 = r88199 * r88199;
        double r88201 = r88198 * r88200;
        double r88202 = a2;
        double r88203 = r88202 * r88202;
        double r88204 = r88198 * r88203;
        double r88205 = r88201 + r88204;
        return r88205;
}

double f(double a1, double a2, double th) {
        double r88206 = th;
        double r88207 = cos(r88206);
        double r88208 = 2.0;
        double r88209 = sqrt(r88208);
        double r88210 = sqrt(r88209);
        double r88211 = sqrt(r88210);
        double r88212 = r88207 / r88211;
        double r88213 = a1;
        double r88214 = 2.0;
        double r88215 = pow(r88213, r88214);
        double r88216 = r88211 * r88210;
        double r88217 = r88215 / r88216;
        double r88218 = r88212 * r88217;
        double r88219 = a2;
        double r88220 = r88219 / r88209;
        double r88221 = r88207 * r88220;
        double r88222 = r88221 * r88219;
        double r88223 = r88218 + r88222;
        return r88223;
}

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. Using strategy rm
  5. Applied div-inv0.5

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

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

    \[\leadsto \frac{\cos th}{\sqrt{2}} \cdot \left(a1 \cdot a1\right) + \left(\cos th \cdot \color{blue}{\frac{a2}{\sqrt{2}}}\right) \cdot a2\]
  8. Using strategy rm
  9. Applied add-sqr-sqrt0.5

    \[\leadsto \frac{\cos th}{\sqrt{\color{blue}{\sqrt{2} \cdot \sqrt{2}}}} \cdot \left(a1 \cdot a1\right) + \left(\cos th \cdot \frac{a2}{\sqrt{2}}\right) \cdot a2\]
  10. Applied sqrt-prod0.5

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

    \[\leadsto \color{blue}{\frac{\frac{\cos th}{\sqrt{\sqrt{2}}}}{\sqrt{\sqrt{2}}}} \cdot \left(a1 \cdot a1\right) + \left(\cos th \cdot \frac{a2}{\sqrt{2}}\right) \cdot a2\]
  12. Using strategy rm
  13. Applied add-sqr-sqrt0.5

    \[\leadsto \frac{\frac{\cos th}{\sqrt{\sqrt{2}}}}{\sqrt{\sqrt{\color{blue}{\sqrt{2} \cdot \sqrt{2}}}}} \cdot \left(a1 \cdot a1\right) + \left(\cos th \cdot \frac{a2}{\sqrt{2}}\right) \cdot a2\]
  14. Applied sqrt-prod0.5

    \[\leadsto \frac{\frac{\cos th}{\sqrt{\sqrt{2}}}}{\sqrt{\color{blue}{\sqrt{\sqrt{2}} \cdot \sqrt{\sqrt{2}}}}} \cdot \left(a1 \cdot a1\right) + \left(\cos th \cdot \frac{a2}{\sqrt{2}}\right) \cdot a2\]
  15. Applied sqrt-prod0.5

    \[\leadsto \frac{\frac{\cos th}{\sqrt{\sqrt{2}}}}{\color{blue}{\sqrt{\sqrt{\sqrt{2}}} \cdot \sqrt{\sqrt{\sqrt{2}}}}} \cdot \left(a1 \cdot a1\right) + \left(\cos th \cdot \frac{a2}{\sqrt{2}}\right) \cdot a2\]
  16. Applied div-inv0.5

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

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

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

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

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

Reproduce

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