fixed a bug of C++ lower bound function
changed the coefficient for second-order term to 2, instead of 3
updated the way to calculate muvt