\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}{\frac{\frac{2}{\frac{1}{a} - \frac{1}{b}}}{\frac{{\left(\sqrt[3]{1}\right)}^{3}}{b + a}}}}{b - a}double f(double a, double b) {
double r1070295 = atan2(1.0, 0.0);
double r1070296 = 2.0;
double r1070297 = r1070295 / r1070296;
double r1070298 = 1.0;
double r1070299 = b;
double r1070300 = r1070299 * r1070299;
double r1070301 = a;
double r1070302 = r1070301 * r1070301;
double r1070303 = r1070300 - r1070302;
double r1070304 = r1070298 / r1070303;
double r1070305 = r1070297 * r1070304;
double r1070306 = r1070298 / r1070301;
double r1070307 = r1070298 / r1070299;
double r1070308 = r1070306 - r1070307;
double r1070309 = r1070305 * r1070308;
return r1070309;
}
double f(double a, double b) {
double r1070310 = atan2(1.0, 0.0);
double r1070311 = 2.0;
double r1070312 = 1.0;
double r1070313 = a;
double r1070314 = r1070312 / r1070313;
double r1070315 = b;
double r1070316 = r1070312 / r1070315;
double r1070317 = r1070314 - r1070316;
double r1070318 = r1070311 / r1070317;
double r1070319 = cbrt(r1070312);
double r1070320 = 3.0;
double r1070321 = pow(r1070319, r1070320);
double r1070322 = r1070315 + r1070313;
double r1070323 = r1070321 / r1070322;
double r1070324 = r1070318 / r1070323;
double r1070325 = r1070310 / r1070324;
double r1070326 = r1070315 - r1070313;
double r1070327 = r1070325 / r1070326;
return r1070327;
}



Bits error versus a



Bits error versus b
Results
Initial program 14.6
rmApplied difference-of-squares9.6
Applied add-cube-cbrt9.6
Applied times-frac9.1
Applied associate-*r*9.1
rmApplied associate-*l/9.1
Applied frac-times9.1
Applied associate-*l/0.3
rmApplied associate-/r*0.3
Simplified0.3
Final simplification0.3
herbie shell --seed 2020042
(FPCore (a b)
:name "NMSE Section 6.1 mentioned, B"
:precision binary64
(* (* (/ PI 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))))