Average Error: 0.5 → 0.5
Time: 9.2s
Precision: 64
\[\frac{\cos th}{\sqrt{2}} \cdot \left(a1 \cdot a1\right) + \frac{\cos th}{\sqrt{2}} \cdot \left(a2 \cdot a2\right)\]
\[\left(\cos th \cdot \frac{a1}{\sqrt{2}}\right) \cdot a1 + \frac{\cos th}{\sqrt{\sqrt{\sqrt{2}}}} \cdot \left(\frac{\frac{1}{\sqrt{\sqrt{2}}}}{\sqrt{\sqrt{\sqrt{2}}}} \cdot \left(a2 \cdot a2\right)\right)\]
\frac{\cos th}{\sqrt{2}} \cdot \left(a1 \cdot a1\right) + \frac{\cos th}{\sqrt{2}} \cdot \left(a2 \cdot a2\right)
\left(\cos th \cdot \frac{a1}{\sqrt{2}}\right) \cdot a1 + \frac{\cos th}{\sqrt{\sqrt{\sqrt{2}}}} \cdot \left(\frac{\frac{1}{\sqrt{\sqrt{2}}}}{\sqrt{\sqrt{\sqrt{2}}}} \cdot \left(a2 \cdot a2\right)\right)
double f(double a1, double a2, double th) {
        double r97055 = th;
        double r97056 = cos(r97055);
        double r97057 = 2.0;
        double r97058 = sqrt(r97057);
        double r97059 = r97056 / r97058;
        double r97060 = a1;
        double r97061 = r97060 * r97060;
        double r97062 = r97059 * r97061;
        double r97063 = a2;
        double r97064 = r97063 * r97063;
        double r97065 = r97059 * r97064;
        double r97066 = r97062 + r97065;
        return r97066;
}

double f(double a1, double a2, double th) {
        double r97067 = th;
        double r97068 = cos(r97067);
        double r97069 = a1;
        double r97070 = 2.0;
        double r97071 = sqrt(r97070);
        double r97072 = r97069 / r97071;
        double r97073 = r97068 * r97072;
        double r97074 = r97073 * r97069;
        double r97075 = sqrt(r97071);
        double r97076 = sqrt(r97075);
        double r97077 = r97068 / r97076;
        double r97078 = 1.0;
        double r97079 = r97078 / r97075;
        double r97080 = r97079 / r97076;
        double r97081 = a2;
        double r97082 = r97081 * r97081;
        double r97083 = r97080 * r97082;
        double r97084 = r97077 * r97083;
        double r97085 = r97074 + r97084;
        return r97085;
}

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 add-sqr-sqrt0.5

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Reproduce

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