oh, ha ha very funny # sv.fsubs/mr sum, sum, fv1.v for i in range(8): sum = sum - fv[i] i had this: # sv.fsubs/mr sum, fv1.v, sum for i in range(8): sum = fv[i] - sum so the result was bouncing around -ve +ve -ve no wonder the sign was wrong at the end :) all good now. ran samples1000-3000 and it's correct. l.