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.
regards, tom lane