\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{1 \cdot \left(\frac{\pi}{a} - \frac{\pi}{b}\right)}{2 \cdot \left(b - a\right)}}{b + a}double f(double a, double b) {
double r40233 = atan2(1.0, 0.0);
double r40234 = 2.0;
double r40235 = r40233 / r40234;
double r40236 = 1.0;
double r40237 = b;
double r40238 = r40237 * r40237;
double r40239 = a;
double r40240 = r40239 * r40239;
double r40241 = r40238 - r40240;
double r40242 = r40236 / r40241;
double r40243 = r40235 * r40242;
double r40244 = r40236 / r40239;
double r40245 = r40236 / r40237;
double r40246 = r40244 - r40245;
double r40247 = r40243 * r40246;
return r40247;
}
double f(double a, double b) {
double r40248 = 1.0;
double r40249 = atan2(1.0, 0.0);
double r40250 = a;
double r40251 = r40249 / r40250;
double r40252 = b;
double r40253 = r40249 / r40252;
double r40254 = r40251 - r40253;
double r40255 = r40248 * r40254;
double r40256 = 2.0;
double r40257 = r40252 - r40250;
double r40258 = r40256 * r40257;
double r40259 = r40255 / r40258;
double r40260 = r40252 + r40250;
double r40261 = r40259 / r40260;
return r40261;
}



Bits error versus a



Bits error versus b
Results
Initial program 14.0
rmApplied difference-of-squares9.5
Applied *-un-lft-identity9.5
Applied times-frac9.1
rmApplied associate-*l/9.0
Applied associate-*r/9.0
Applied associate-*l/0.3
Simplified0.3
rmApplied associate-*l/0.3
Applied frac-times0.3
Taylor expanded around 0 0.3
Simplified0.3
Final simplification0.3
herbie shell --seed 2020043
(FPCore (a b)
:name "NMSE Section 6.1 mentioned, B"
:precision binary64
(* (* (/ PI 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))))