> On Wed, Feb 08, 2023 at 10:03:01AM -0500, Tom Lane wrote:
> Dmitry Dolgov <9erthalion6@gmail.com> writes:
> > The negative delta might be only a consequence. From what I see it's
> > called from build_distances, and the idea is to find the gaps between
> > the max value of the current interval and the min value of the next one,
> > so they should be ordered and delta should be always positive.
>
> I'd believe this argument more readily if the calculation weren't being
> done in float arithmetic. Since it is, you're at the mercy of roundoff
> error ... and that small negative delta could certainly pass for
> roundoff error.
>
> Clamping the result to [0,1] would be a brighter plan than just asserting
> that it's in-range.
Hmm...yeah, good point. In both the reproducer I've posted and the
backtrace from the thread the delta is indeed rather small.