Average Error: 0.5 → 0.4
Time: 5.9m
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(a2 \cdot \left(\frac{\cos th}{\sqrt{\sqrt{2}}} \cdot a2\right)\right) + \frac{a1 \cdot \cos th}{\frac{\sqrt{2}}{a1}}\]
\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(a2 \cdot \left(\frac{\cos th}{\sqrt{\sqrt{2}}} \cdot a2\right)\right) + \frac{a1 \cdot \cos th}{\frac{\sqrt{2}}{a1}}
double f(double a1, double a2, double th) {
        double r28552546 = th;
        double r28552547 = cos(r28552546);
        double r28552548 = 2.0;
        double r28552549 = sqrt(r28552548);
        double r28552550 = r28552547 / r28552549;
        double r28552551 = a1;
        double r28552552 = r28552551 * r28552551;
        double r28552553 = r28552550 * r28552552;
        double r28552554 = a2;
        double r28552555 = r28552554 * r28552554;
        double r28552556 = r28552550 * r28552555;
        double r28552557 = r28552553 + r28552556;
        return r28552557;
}

double f(double a1, double a2, double th) {
        double r28552558 = 1.0;
        double r28552559 = 2.0;
        double r28552560 = sqrt(r28552559);
        double r28552561 = sqrt(r28552560);
        double r28552562 = sqrt(r28552561);
        double r28552563 = r28552558 / r28552562;
        double r28552564 = r28552563 / r28552562;
        double r28552565 = a2;
        double r28552566 = th;
        double r28552567 = cos(r28552566);
        double r28552568 = r28552567 / r28552561;
        double r28552569 = r28552568 * r28552565;
        double r28552570 = r28552565 * r28552569;
        double r28552571 = r28552564 * r28552570;
        double r28552572 = a1;
        double r28552573 = r28552572 * r28552567;
        double r28552574 = r28552560 / r28552572;
        double r28552575 = r28552573 / r28552574;
        double r28552576 = r28552571 + r28552575;
        return r28552576;
}

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. Taylor expanded around -inf 0.5

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

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

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

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

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

    \[\leadsto \frac{\cos th \cdot a1}{\frac{\sqrt{2}}{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)\]
  10. Applied add-sqr-sqrt0.5

    \[\leadsto \frac{\cos th \cdot a1}{\frac{\sqrt{2}}{a1}} + \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(a2 \cdot a2\right)\]
  11. Applied sqrt-prod0.5

    \[\leadsto \frac{\cos th \cdot a1}{\frac{\sqrt{2}}{a1}} + \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(a2 \cdot a2\right)\]
  12. Applied *-un-lft-identity0.5

    \[\leadsto \frac{\cos th \cdot a1}{\frac{\sqrt{2}}{a1}} + \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(a2 \cdot a2\right)\]
  13. Applied times-frac0.5

    \[\leadsto \frac{\cos th \cdot a1}{\frac{\sqrt{2}}{a1}} + \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(a2 \cdot a2\right)\]
  14. Applied times-frac0.5

    \[\leadsto \frac{\cos th \cdot a1}{\frac{\sqrt{2}}{a1}} + \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(a2 \cdot a2\right)\]
  15. Applied associate-*l*0.5

    \[\leadsto \frac{\cos th \cdot a1}{\frac{\sqrt{2}}{a1}} + \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(a2 \cdot a2\right)\right)}\]
  16. Simplified0.4

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

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

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

Reproduce

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