Improved precision, made it more restrictive

Improved decodeComplex by using total instead of quarter.
Quarter already lost plenty of precision since it is the
result of doing an integer division twice.  It is good to
speed up the comparisson when looking for a pattern,
but not when obtaining the end result

Reduce the tolerance for margin to one eigth of the total
instead of one quarter.  This means more empty results
are to be expected but otherwise, anything could go.