Average Error: 0.6 → 0.5
Time: 13.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)\]
\[\frac{\frac{1}{\sqrt{\sqrt{\sqrt{2}}}}}{\sqrt{\sqrt{\sqrt{2}}}} \cdot \left(\left(\cos th \cdot \frac{1}{\sqrt{\sqrt{2}}}\right) \cdot \left(a1 \cdot a1 + 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)
\frac{\frac{1}{\sqrt{\sqrt{\sqrt{2}}}}}{\sqrt{\sqrt{\sqrt{2}}}} \cdot \left(\left(\cos th \cdot \frac{1}{\sqrt{\sqrt{2}}}\right) \cdot \left(a1 \cdot a1 + a2 \cdot a2\right)\right)
double f(double a1, double a2, double th) {
        double r140156 = th;
        double r140157 = cos(r140156);
        double r140158 = 2.0;
        double r140159 = sqrt(r140158);
        double r140160 = r140157 / r140159;
        double r140161 = a1;
        double r140162 = r140161 * r140161;
        double r140163 = r140160 * r140162;
        double r140164 = a2;
        double r140165 = r140164 * r140164;
        double r140166 = r140160 * r140165;
        double r140167 = r140163 + r140166;
        return r140167;
}

double f(double a1, double a2, double th) {
        double r140168 = 1.0;
        double r140169 = 2.0;
        double r140170 = sqrt(r140169);
        double r140171 = sqrt(r140170);
        double r140172 = sqrt(r140171);
        double r140173 = r140168 / r140172;
        double r140174 = r140173 / r140172;
        double r140175 = th;
        double r140176 = cos(r140175);
        double r140177 = r140168 / r140171;
        double r140178 = r140176 * r140177;
        double r140179 = a1;
        double r140180 = r140179 * r140179;
        double r140181 = a2;
        double r140182 = r140181 * r140181;
        double r140183 = r140180 + r140182;
        double r140184 = r140178 * r140183;
        double r140185 = r140174 * r140184;
        return r140185;
}

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.6

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

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

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

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

    \[\leadsto \color{blue}{\frac{\frac{\cos th}{\sqrt{\sqrt{2}}}}{\sqrt{\sqrt{2}}}} \cdot \left(a1 \cdot a1 + a2 \cdot a2\right)\]
  7. Using strategy rm
  8. 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 + a2 \cdot a2\right)\]
  9. 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 + a2 \cdot a2\right)\]
  10. 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 + a2 \cdot a2\right)\]
  11. Applied add-sqr-sqrt0.5

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

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

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

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

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

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

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

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

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

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

Reproduce

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