By how much are the subtotal fields incorrect?
Are you dealing with very large numbers?
Are the subtotals set to have the same number of decimal places as the original data fields?
Could you have an accumulation of rounding "errors"?
Could it be that some, but not all, of the individual calculations are based on data that is anomalous?
Are you selecting only a subset of all records for the main part of the summary?
Let's start with those questions and see where they take us.