Evaluates an expression and maps the result into one of a list of specified ranges and returns the position of the range in the list.
Range
A range is defined by a starting boundary and an optional ending boundary. If an ending boundary is not specified, the range is defined by its starting boundary, inclusively, up to but not including the starting boundary of the next range.
The list of ranges must specify ranges in increasing order, where the ending boundary of a range is less than the starting boundary of the next range.