So there’s three ways to compare floats that all make sense in different scenarios.

There’s the ‘within-absolute-tolerance’ approach which works fairly well within Rhino because you’re typically modelling to within a certain physical tolerance. However when you start scaling things up this can result in really nasty problems. In Grasshopper a lot of operations are more mathematical in nature than geometric, and it can be quite tricky to determine what sort of tolerance would be correct for those.

Then there’s the ‘within-relative-tolerance’ approach personified by the Similarity component. This is scale-invariant, but quite awkward to use and probably equally difficult in terms of choosing the correct threshold.

Finally there’s a more exact approach which is to measure the discrete separation between two floats, i.e. how many unique floats there are in between. This is fairly similar to relative tolerance but much faster to compute, albeit even more arcane.

It is possible that a genuinely useful comparison involves a conjunction or disjunction of both relative and absolute errors. In any case coming up with a *good* equality metric for a specific case is difficult and requires intimate knowledge of float accuracy. An absolute threshold input for the Equals component will be of some help, but it will not be the ultimate solution to this problem.