I added multi-threading around the sampling in prob_expr.  This yields 7-10 times speedup.