The program works by taking the first two line segments and trying to fit an arc to it. If it can fit an arc, it tries to add the next point, and so on, until the next point no longer makes an arc. Those matching line segments are then removed and replaced with one arc. To ensure we really are matching an arc, the program also measures the accumulated length of the collected line segments and compares it to the length of the substitute arc (incorrectly called chord length in the code).|
There are 2 tolerance tweaking parameters defined in g1tog23.py - point_tolerance and length_tolerance which are used to determine how far off the arc the next point is allowed, and how far off each line segment is allowed to be from the true length of the arc. The values are those that I use when exporting STL from Alibre Design and generating GCode from Slic3r.