I think I would have just used a Float here instead of invoking all the fancy (but somewhat expensive) machinery of BigDecimal since we really don't need that level of precision here. I'm still going to go ahead and merge this in, but you might consider making that change on a little branch after we have this code merged in, and then issuing a new pull request on that branch.