\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(\frac{\frac{\pi}{2}}{b + a} \cdot \left(1 \cdot \left(b - a\right)\right)\right) \cdot 1}{a \cdot b}}{b - a}double f(double a, double b) {
double r45254 = atan2(1.0, 0.0);
double r45255 = 2.0;
double r45256 = r45254 / r45255;
double r45257 = 1.0;
double r45258 = b;
double r45259 = r45258 * r45258;
double r45260 = a;
double r45261 = r45260 * r45260;
double r45262 = r45259 - r45261;
double r45263 = r45257 / r45262;
double r45264 = r45256 * r45263;
double r45265 = r45257 / r45260;
double r45266 = r45257 / r45258;
double r45267 = r45265 - r45266;
double r45268 = r45264 * r45267;
return r45268;
}
double f(double a, double b) {
double r45269 = atan2(1.0, 0.0);
double r45270 = 2.0;
double r45271 = r45269 / r45270;
double r45272 = b;
double r45273 = a;
double r45274 = r45272 + r45273;
double r45275 = r45271 / r45274;
double r45276 = 1.0;
double r45277 = r45272 - r45273;
double r45278 = r45276 * r45277;
double r45279 = r45275 * r45278;
double r45280 = r45279 * r45276;
double r45281 = r45273 * r45272;
double r45282 = r45280 / r45281;
double r45283 = r45282 / r45277;
return r45283;
}



Bits error versus a



Bits error versus b
Results
Initial program 14.5
rmApplied difference-of-squares9.7
Applied *-un-lft-identity9.7
Applied times-frac9.3
Applied associate-*r*9.2
Simplified9.2
rmApplied associate-*l*0.3
rmApplied associate-*l/0.3
Applied associate-*r/0.3
rmApplied frac-sub0.3
Applied associate-*r/0.3
Applied associate-*r/0.3
Simplified0.3
Final simplification0.3
herbie shell --seed 2020036
(FPCore (a b)
:name "NMSE Section 6.1 mentioned, B"
:precision binary64
(* (* (/ PI 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))))