Implement precision with conservative estimation and fix "bug" in
precision