function strongRound(data) {
  const precisionNum = precision || 0;
  for (let i = data.length; i-- > 0; ) {
    const fixed = toFixed(data[i], precisionNum);
    if (fixed !== data[i]) {
      const rounded = toFixed(data[i], precisionNum - 1);
      data[i] =
        toFixed(Math.abs(rounded - data[i]), precisionNum + 1) >= error
          ? fixed
          : rounded;
    }
  }
  return data;
}
Decrease accuracy of floating-point numbers in path data keeping a specified
number of decimals. Smart rounds values like 2.3491 to 2.35 instead of 2.349.
Doesn't apply "smartness" if the number precision fits already.

@param {number[]} data
@returns {number[]}