\left(\frac{\pi}{2} \cdot \frac{1}{b \cdot b - a \cdot a}\right) \cdot \left(\frac{1}{a} - \frac{1}{b}\right)\frac{\mathsf{fma}\left(\left(\frac{\pi}{b - a} \cdot \frac{1}{b + a}\right), \left(\frac{-1}{b}\right), \left(\frac{\frac{1}{b + a}}{\frac{1}{\sqrt{\pi}} \cdot \frac{a}{\frac{\sqrt{\sqrt{\pi}} \cdot \sqrt{\sqrt{\pi}}}{b - a}}}\right)\right)}{2}double f(double a, double b) {
double r1947821 = atan2(1.0, 0.0);
double r1947822 = 2.0;
double r1947823 = r1947821 / r1947822;
double r1947824 = 1.0;
double r1947825 = b;
double r1947826 = r1947825 * r1947825;
double r1947827 = a;
double r1947828 = r1947827 * r1947827;
double r1947829 = r1947826 - r1947828;
double r1947830 = r1947824 / r1947829;
double r1947831 = r1947823 * r1947830;
double r1947832 = r1947824 / r1947827;
double r1947833 = r1947824 / r1947825;
double r1947834 = r1947832 - r1947833;
double r1947835 = r1947831 * r1947834;
return r1947835;
}
double f(double a, double b) {
double r1947836 = atan2(1.0, 0.0);
double r1947837 = b;
double r1947838 = a;
double r1947839 = r1947837 - r1947838;
double r1947840 = r1947836 / r1947839;
double r1947841 = 1.0;
double r1947842 = r1947837 + r1947838;
double r1947843 = r1947841 / r1947842;
double r1947844 = r1947840 * r1947843;
double r1947845 = -1.0;
double r1947846 = r1947845 / r1947837;
double r1947847 = sqrt(r1947836);
double r1947848 = r1947841 / r1947847;
double r1947849 = sqrt(r1947847);
double r1947850 = r1947849 * r1947849;
double r1947851 = r1947850 / r1947839;
double r1947852 = r1947838 / r1947851;
double r1947853 = r1947848 * r1947852;
double r1947854 = r1947843 / r1947853;
double r1947855 = fma(r1947844, r1947846, r1947854);
double r1947856 = 2.0;
double r1947857 = r1947855 / r1947856;
return r1947857;
}



Bits error versus a



Bits error versus b
Initial program 14.7
Simplified14.7
rmApplied difference-of-squares14.7
Applied *-un-lft-identity14.7
Applied times-frac14.4
Applied associate-/l*10.0
rmApplied difference-of-squares5.1
Applied *-un-lft-identity5.1
Applied times-frac4.8
rmApplied *-un-lft-identity4.8
Applied add-sqr-sqrt5.0
Applied times-frac4.9
Applied *-un-lft-identity4.9
Applied times-frac4.8
Simplified4.8
rmApplied add-sqr-sqrt4.8
Applied sqrt-prod4.8
Final simplification4.8
herbie shell --seed 2019120 +o rules:numerics
(FPCore (a b)
:name "NMSE Section 6.1 mentioned, B"
(* (* (/ PI 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))))