\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{1}{a} - \frac{1}{b}}{2 \cdot \left(a + b\right)}}{\frac{b - a}{\pi}}double f(double a, double b) {
double r1148135 = atan2(1.0, 0.0);
double r1148136 = 2.0;
double r1148137 = r1148135 / r1148136;
double r1148138 = 1.0;
double r1148139 = b;
double r1148140 = r1148139 * r1148139;
double r1148141 = a;
double r1148142 = r1148141 * r1148141;
double r1148143 = r1148140 - r1148142;
double r1148144 = r1148138 / r1148143;
double r1148145 = r1148137 * r1148144;
double r1148146 = r1148138 / r1148141;
double r1148147 = r1148138 / r1148139;
double r1148148 = r1148146 - r1148147;
double r1148149 = r1148145 * r1148148;
return r1148149;
}
double f(double a, double b) {
double r1148150 = 1.0;
double r1148151 = a;
double r1148152 = r1148150 / r1148151;
double r1148153 = b;
double r1148154 = r1148150 / r1148153;
double r1148155 = r1148152 - r1148154;
double r1148156 = 2.0;
double r1148157 = r1148151 + r1148153;
double r1148158 = r1148156 * r1148157;
double r1148159 = r1148155 / r1148158;
double r1148160 = r1148153 - r1148151;
double r1148161 = atan2(1.0, 0.0);
double r1148162 = r1148160 / r1148161;
double r1148163 = r1148159 / r1148162;
return r1148163;
}



Bits error versus a



Bits error versus b
Results
Initial program 14.2
Simplified0.3
rmApplied *-un-lft-identity0.3
Applied div-inv0.3
Applied distribute-rgt-neg-in0.3
Applied div-inv0.3
Applied distribute-lft-out0.3
Applied times-frac0.3
Applied times-frac0.3
Simplified0.3
Simplified0.3
rmApplied clear-num0.3
rmApplied associate-*l/0.3
Simplified0.3
Final simplification0.3
herbie shell --seed 2019141
(FPCore (a b)
:name "NMSE Section 6.1 mentioned, B"
(* (* (/ PI 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))))