\frac{x \cdot \left(pow \cdot n\right) - y \cdot \left(pow \cdot n\right)}{x \cdot \left(pow \cdot \frac{n}{2}\right) - y \cdot \left(pow \cdot \frac{n}{2}\right)}2
double code(double x, double pow, double n, double y) {
return ((double) (((double) (((double) (x * ((double) (pow * n)))) - ((double) (y * ((double) (pow * n)))))) / ((double) (((double) (x * ((double) (pow * ((double) (n / 2.0)))))) - ((double) (y * ((double) (pow * ((double) (n / 2.0))))))))));
}
double code(double x, double pow, double n, double y) {
return 2.0;
}



Bits error versus x



Bits error versus pow



Bits error versus n



Bits error versus y
Results
Initial program 25.4
Simplified0
Final simplification0
herbie shell --seed 2020153
(FPCore (x pow n y)
:name "(/ (- (* x (* pow n)) (* y (* pow n))) (- (* x (* pow (/ n 2))) (* y (* pow (/ n 2)))))"
:precision binary64
(/ (- (* x (* pow n)) (* y (* pow n))) (- (* x (* pow (/ n 2.0))) (* y (* pow (/ n 2.0))))))