Optimise large contiguous integer ranges in select_val instructions

In the following instruction, all matched values are contiguous, in the range
from 97 to 111:

    {select_val,{x,1},
                {f,4},
                {list,[{integer,109},
                       {f,3},
                       {integer,106},
                       {f,3},
                       {integer,103},
                       {f,3},
                       {integer,100},
                       {f,3},
                       {integer,97},
                       {f,3},
                       {integer,110},
                       {f,3},
                       {integer,107},
                       {f,3},
                       {integer,104},
                       {f,3},
                       {integer,101},
                       {f,3},
                       {integer,98},
                       {f,3},
                       {integer,111},
                       {f,3},
                       {integer,108},
                       {f,3},
                       {integer,105},
                       {f,3},
                       {integer,102},
                       {f,3},
                       {integer,99},
                       {f,3}]}}.

This can be optimized away with:

    {test,is_lt,{f,4},[{x,1},{integer,97}]}.
    {test,is_lt,{f,3},[{x,1},{integer,112}]}.