\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 r1668805 = atan2(1.0, 0.0);
double r1668806 = 2.0;
double r1668807 = r1668805 / r1668806;
double r1668808 = 1.0;
double r1668809 = b;
double r1668810 = r1668809 * r1668809;
double r1668811 = a;
double r1668812 = r1668811 * r1668811;
double r1668813 = r1668810 - r1668812;
double r1668814 = r1668808 / r1668813;
double r1668815 = r1668807 * r1668814;
double r1668816 = r1668808 / r1668811;
double r1668817 = r1668808 / r1668809;
double r1668818 = r1668816 - r1668817;
double r1668819 = r1668815 * r1668818;
return r1668819;
}
double f(double a, double b) {
double r1668820 = atan2(1.0, 0.0);
double r1668821 = a;
double r1668822 = b;
double r1668823 = r1668821 + r1668822;
double r1668824 = r1668820 / r1668823;
double r1668825 = 2.0;
double r1668826 = r1668824 / r1668825;
double r1668827 = r1668826 / r1668822;
double r1668828 = -r1668827;
double r1668829 = 1.0;
double r1668830 = r1668829 / r1668821;
double r1668831 = r1668826 * r1668830;
double r1668832 = r1668828 + r1668831;
double r1668833 = r1668822 - r1668821;
double r1668834 = r1668832 / r1668833;
return r1668834;
}



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))))