It is really cool that you're tackling all this. It looks like you're running into some of the things I ran into: getting it perfect is hard, and if you do, it's expensive. Glad you're looking into it.
Also, loved the switch rewrite you did in vr-values.c. That whole file really needs rangerification. > +// This routine will take the bounds [LB, UB], and apply the bitmask to those > +// values such that both bounds satisfy the bitmask. TRUE is returned > +// if either bound changes, and they are retuirned as [NEW_LB, > NEW_UB]. *returned* > + // Npw make sure each subrange endpoint matches the bitmask. *Now* Thanks. Aldy