\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{\left(\left(1 \cdot \left(b - a\right)\right) \cdot \frac{\frac{\pi}{2}}{b + a}\right) \cdot 1}{a \cdot b}}{b - a}double f(double a, double b) {
double r45207 = atan2(1.0, 0.0);
double r45208 = 2.0;
double r45209 = r45207 / r45208;
double r45210 = 1.0;
double r45211 = b;
double r45212 = r45211 * r45211;
double r45213 = a;
double r45214 = r45213 * r45213;
double r45215 = r45212 - r45214;
double r45216 = r45210 / r45215;
double r45217 = r45209 * r45216;
double r45218 = r45210 / r45213;
double r45219 = r45210 / r45211;
double r45220 = r45218 - r45219;
double r45221 = r45217 * r45220;
return r45221;
}
double f(double a, double b) {
double r45222 = 1.0;
double r45223 = b;
double r45224 = a;
double r45225 = r45223 - r45224;
double r45226 = r45222 * r45225;
double r45227 = atan2(1.0, 0.0);
double r45228 = 2.0;
double r45229 = r45227 / r45228;
double r45230 = r45223 + r45224;
double r45231 = r45229 / r45230;
double r45232 = r45226 * r45231;
double r45233 = r45232 * r45222;
double r45234 = r45224 * r45223;
double r45235 = r45233 / r45234;
double r45236 = r45235 / r45225;
return r45236;
}



Bits error versus a



Bits error versus b
Results
Initial program 14.4
rmApplied difference-of-squares9.4
Applied *-un-lft-identity9.4
Applied times-frac8.9
Applied associate-*r*8.9
Simplified8.8
rmApplied associate-*r/8.8
Applied associate-*l/0.3
rmApplied frac-sub0.3
Applied associate-*r/0.3
Simplified0.3
Final simplification0.3
herbie shell --seed 2019209
(FPCore (a b)
:name "NMSE Section 6.1 mentioned, B"
:precision binary64
(* (* (/ PI 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))))