\left(\frac{\pi}{2} \cdot \frac{1}{b \cdot b - a \cdot a}\right) \cdot \left(\frac{1}{a} - \frac{1}{b}\right)\frac{\frac{\frac{1}{\frac{a}{\pi}}}{b} \cdot \frac{1}{2}}{a + b}double f(double a, double b) {
double r3072843 = atan2(1.0, 0.0);
double r3072844 = 2.0;
double r3072845 = r3072843 / r3072844;
double r3072846 = 1.0;
double r3072847 = b;
double r3072848 = r3072847 * r3072847;
double r3072849 = a;
double r3072850 = r3072849 * r3072849;
double r3072851 = r3072848 - r3072850;
double r3072852 = r3072846 / r3072851;
double r3072853 = r3072845 * r3072852;
double r3072854 = r3072846 / r3072849;
double r3072855 = r3072846 / r3072847;
double r3072856 = r3072854 - r3072855;
double r3072857 = r3072853 * r3072856;
return r3072857;
}
double f(double a, double b) {
double r3072858 = 1.0;
double r3072859 = a;
double r3072860 = atan2(1.0, 0.0);
double r3072861 = r3072859 / r3072860;
double r3072862 = r3072858 / r3072861;
double r3072863 = b;
double r3072864 = r3072862 / r3072863;
double r3072865 = 0.5;
double r3072866 = r3072864 * r3072865;
double r3072867 = r3072859 + r3072863;
double r3072868 = r3072866 / r3072867;
return r3072868;
}



Bits error versus a



Bits error versus b
Results
Initial program 14.8
Simplified0.3
Taylor expanded around 0 0.2
rmApplied associate-/r*0.3
rmApplied clear-num0.3
Final simplification0.3
herbie shell --seed 2019165
(FPCore (a b)
:name "NMSE Section 6.1 mentioned, B"
(* (* (/ PI 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))))