\left(\frac{\pi}{2} \cdot \frac{1}{b \cdot b - a \cdot a}\right) \cdot \left(\frac{1}{a} - \frac{1}{b}\right)\frac{\left(-\frac{\frac{\frac{\pi}{a + b}}{2}}{b}\right) + \frac{\frac{\pi}{a + b}}{2} \cdot \frac{1}{a}}{b - a}double f(double a, double b) {
double r1668802 = atan2(1.0, 0.0);
double r1668803 = 2.0;
double r1668804 = r1668802 / r1668803;
double r1668805 = 1.0;
double r1668806 = b;
double r1668807 = r1668806 * r1668806;
double r1668808 = a;
double r1668809 = r1668808 * r1668808;
double r1668810 = r1668807 - r1668809;
double r1668811 = r1668805 / r1668810;
double r1668812 = r1668804 * r1668811;
double r1668813 = r1668805 / r1668808;
double r1668814 = r1668805 / r1668806;
double r1668815 = r1668813 - r1668814;
double r1668816 = r1668812 * r1668815;
return r1668816;
}
double f(double a, double b) {
double r1668817 = atan2(1.0, 0.0);
double r1668818 = a;
double r1668819 = b;
double r1668820 = r1668818 + r1668819;
double r1668821 = r1668817 / r1668820;
double r1668822 = 2.0;
double r1668823 = r1668821 / r1668822;
double r1668824 = r1668823 / r1668819;
double r1668825 = -r1668824;
double r1668826 = 1.0;
double r1668827 = r1668826 / r1668818;
double r1668828 = r1668823 * r1668827;
double r1668829 = r1668825 + r1668828;
double r1668830 = r1668819 - r1668818;
double r1668831 = r1668829 / r1668830;
return r1668831;
}



Bits error versus a



Bits error versus b
Results
Initial program 14.6
Simplified0.2
rmApplied div-inv0.3
Final simplification0.3
herbie shell --seed 2019163
(FPCore (a b)
:name "NMSE Section 6.1 mentioned, B"
(* (* (/ PI 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))))