\left(\frac{\pi}{2} \cdot \frac{1}{b \cdot b - a \cdot a}\right) \cdot \left(\frac{1}{a} - \frac{1}{b}\right)\left(\sqrt{\sqrt[3]{\pi} \cdot \sqrt[3]{\pi}} \cdot \left(\sqrt{\frac{1}{2}} \cdot \frac{\sqrt{\sqrt[3]{\pi}}}{a + b}\right)\right) \cdot \frac{\frac{\sqrt{\pi}}{a} - \frac{\sqrt{\pi}}{b}}{\frac{b - a}{\sqrt{\frac{1}{2}}}}double f(double a, double b) {
double r785177 = atan2(1.0, 0.0);
double r785178 = 2.0;
double r785179 = r785177 / r785178;
double r785180 = 1.0;
double r785181 = b;
double r785182 = r785181 * r785181;
double r785183 = a;
double r785184 = r785183 * r785183;
double r785185 = r785182 - r785184;
double r785186 = r785180 / r785185;
double r785187 = r785179 * r785186;
double r785188 = r785180 / r785183;
double r785189 = r785180 / r785181;
double r785190 = r785188 - r785189;
double r785191 = r785187 * r785190;
return r785191;
}
double f(double a, double b) {
double r785192 = atan2(1.0, 0.0);
double r785193 = cbrt(r785192);
double r785194 = r785193 * r785193;
double r785195 = sqrt(r785194);
double r785196 = 0.5;
double r785197 = sqrt(r785196);
double r785198 = sqrt(r785193);
double r785199 = a;
double r785200 = b;
double r785201 = r785199 + r785200;
double r785202 = r785198 / r785201;
double r785203 = r785197 * r785202;
double r785204 = r785195 * r785203;
double r785205 = sqrt(r785192);
double r785206 = r785205 / r785199;
double r785207 = r785205 / r785200;
double r785208 = r785206 - r785207;
double r785209 = r785200 - r785199;
double r785210 = r785209 / r785197;
double r785211 = r785208 / r785210;
double r785212 = r785204 * r785211;
return r785212;
}



Bits error versus a



Bits error versus b
Results
Initial program 14.5
Simplified14.5
rmApplied add-sqr-sqrt14.8
Applied difference-of-squares10.1
Applied times-frac9.9
Applied *-un-lft-identity9.9
Applied add-sqr-sqrt9.9
Applied times-frac9.9
Applied *-un-lft-identity9.9
Applied add-sqr-sqrt9.9
Applied times-frac9.9
Applied distribute-lft-out--9.9
Applied times-frac0.4
Simplified0.3
rmApplied *-un-lft-identity0.3
Applied *-un-lft-identity0.3
Applied distribute-lft-out0.3
Applied add-cube-cbrt0.5
Applied sqrt-prod0.3
Applied times-frac0.4
Applied associate-*l*0.3
Final simplification0.3
herbie shell --seed 2019133 +o rules:numerics
(FPCore (a b)
:name "NMSE Section 6.1 mentioned, B"
(* (* (/ PI 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))))