\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{\frac{\pi}{a} - \frac{\pi}{b}}{2}}{a + b} \cdot \frac{1}{b - a}double f(double a, double b) {
double r1656519 = atan2(1.0, 0.0);
double r1656520 = 2.0;
double r1656521 = r1656519 / r1656520;
double r1656522 = 1.0;
double r1656523 = b;
double r1656524 = r1656523 * r1656523;
double r1656525 = a;
double r1656526 = r1656525 * r1656525;
double r1656527 = r1656524 - r1656526;
double r1656528 = r1656522 / r1656527;
double r1656529 = r1656521 * r1656528;
double r1656530 = r1656522 / r1656525;
double r1656531 = r1656522 / r1656523;
double r1656532 = r1656530 - r1656531;
double r1656533 = r1656529 * r1656532;
return r1656533;
}
double f(double a, double b) {
double r1656534 = atan2(1.0, 0.0);
double r1656535 = a;
double r1656536 = r1656534 / r1656535;
double r1656537 = b;
double r1656538 = r1656534 / r1656537;
double r1656539 = r1656536 - r1656538;
double r1656540 = 2.0;
double r1656541 = r1656539 / r1656540;
double r1656542 = r1656535 + r1656537;
double r1656543 = r1656541 / r1656542;
double r1656544 = 1.0;
double r1656545 = r1656537 - r1656535;
double r1656546 = r1656544 / r1656545;
double r1656547 = r1656543 * r1656546;
return r1656547;
}



Bits error versus a



Bits error versus b
Results
Initial program 14.6
Simplified14.5
rmApplied difference-of-squares9.7
Applied associate-/r*0.3
Taylor expanded around 0 0.3
Simplified0.3
rmApplied div-inv0.3
Final simplification0.3
herbie shell --seed 2019163 +o rules:numerics
(FPCore (a b)
:name "NMSE Section 6.1 mentioned, B"
(* (* (/ PI 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))))