ulong out_of_bounds = () {
                           if (check_bounds)
                             return (x < 0 | y < 0) ? 1 : 0; 
                           else
                             return 0;
                         };