Minimum error tool path generation method and an interpolator design technique for ultra-precision multi-axis CNC machining