\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{\pi}{2} \cdot \left(1 \cdot \left(b - a\right)\right)}{b - a} \cdot \frac{\frac{1}{b + a}}{a \cdot b}double f(double a, double b) {
double r54152 = atan2(1.0, 0.0);
double r54153 = 2.0;
double r54154 = r54152 / r54153;
double r54155 = 1.0;
double r54156 = b;
double r54157 = r54156 * r54156;
double r54158 = a;
double r54159 = r54158 * r54158;
double r54160 = r54157 - r54159;
double r54161 = r54155 / r54160;
double r54162 = r54154 * r54161;
double r54163 = r54155 / r54158;
double r54164 = r54155 / r54156;
double r54165 = r54163 - r54164;
double r54166 = r54162 * r54165;
return r54166;
}
double f(double a, double b) {
double r54167 = atan2(1.0, 0.0);
double r54168 = 2.0;
double r54169 = r54167 / r54168;
double r54170 = 1.0;
double r54171 = b;
double r54172 = a;
double r54173 = r54171 - r54172;
double r54174 = r54170 * r54173;
double r54175 = r54169 * r54174;
double r54176 = r54175 / r54173;
double r54177 = r54171 + r54172;
double r54178 = r54170 / r54177;
double r54179 = r54172 * r54171;
double r54180 = r54178 / r54179;
double r54181 = r54176 * r54180;
return r54181;
}



Bits error versus a



Bits error versus b
Results
Initial program 14.6
rmApplied difference-of-squares9.6
Applied associate-/r*9.1
rmApplied frac-times9.1
Applied associate-*l/0.3
rmApplied associate-/l*0.3
rmApplied frac-sub0.3
Applied associate-/r/0.3
Applied times-frac0.3
Simplified0.4
Final simplification0.4
herbie shell --seed 2020001 +o rules:numerics
(FPCore (a b)
:name "NMSE Section 6.1 mentioned, B"
:precision binary64
(* (* (/ PI 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))))