adjustable precision; output values may be slightly different but should not vary extremely.  this combined with previous changes needs review
Merge origin/prolog1 into prolog1