Average Error: 0.5 → 0.4
Time: 12.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{\frac{1}{\sqrt{\sqrt{\sqrt{2}}}}}{\sqrt{\sqrt{\sqrt{2}}}} \cdot \left(\frac{\cos th}{\sqrt{\sqrt{2}}} \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(\frac{\cos th}{\sqrt{\sqrt{2}}} \cdot \left(a1 \cdot a1 + a2 \cdot a2\right)\right)
double f(double a1, double a2, double th) {
        double r128655 = th;
        double r128656 = cos(r128655);
        double r128657 = 2.0;
        double r128658 = sqrt(r128657);
        double r128659 = r128656 / r128658;
        double r128660 = a1;
        double r128661 = r128660 * r128660;
        double r128662 = r128659 * r128661;
        double r128663 = a2;
        double r128664 = r128663 * r128663;
        double r128665 = r128659 * r128664;
        double r128666 = r128662 + r128665;
        return r128666;
}

double f(double a1, double a2, double th) {
        double r128667 = 1.0;
        double r128668 = 2.0;
        double r128669 = sqrt(r128668);
        double r128670 = sqrt(r128669);
        double r128671 = sqrt(r128670);
        double r128672 = r128667 / r128671;
        double r128673 = r128672 / r128671;
        double r128674 = th;
        double r128675 = cos(r128674);
        double r128676 = r128675 / r128670;
        double r128677 = a1;
        double r128678 = r128677 * r128677;
        double r128679 = a2;
        double r128680 = r128679 * r128679;
        double r128681 = r128678 + r128680;
        double r128682 = r128676 * r128681;
        double r128683 = r128673 * r128682;
        return r128683;
}

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{\cos th}{\sqrt{2}} \cdot \left(a1 \cdot a1 + a2 \cdot a2\right)}\]
  3. Using strategy rm
  4. Applied add-sqr-sqrt0.5

    \[\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.5

    \[\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.5

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

    \[\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.4

    \[\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. Final simplification0.4

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

Reproduce

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