fix util::Sqrt bug
fix util::Sqrt rm if block
using std::tuple; using boost::optional;