\left(\frac{\pi}{2} \cdot \frac{1}{b \cdot b - a \cdot a}\right) \cdot \left(\frac{1}{a} - \frac{1}{b}\right)\frac{\pi}{2} \cdot \frac{\frac{1}{a \cdot b} \cdot 1}{b + a}double f(double a, double b) {
double r46066 = atan2(1.0, 0.0);
double r46067 = 2.0;
double r46068 = r46066 / r46067;
double r46069 = 1.0;
double r46070 = b;
double r46071 = r46070 * r46070;
double r46072 = a;
double r46073 = r46072 * r46072;
double r46074 = r46071 - r46073;
double r46075 = r46069 / r46074;
double r46076 = r46068 * r46075;
double r46077 = r46069 / r46072;
double r46078 = r46069 / r46070;
double r46079 = r46077 - r46078;
double r46080 = r46076 * r46079;
return r46080;
}
double f(double a, double b) {
double r46081 = atan2(1.0, 0.0);
double r46082 = 2.0;
double r46083 = r46081 / r46082;
double r46084 = 1.0;
double r46085 = a;
double r46086 = b;
double r46087 = r46085 * r46086;
double r46088 = r46084 / r46087;
double r46089 = r46088 * r46084;
double r46090 = r46086 + r46085;
double r46091 = r46089 / r46090;
double r46092 = r46083 * r46091;
return r46092;
}



Bits error versus a



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