Wrong bracing, should have been:

     uint32_t bitlen0 = ((uint32_t) len) >> 29;

Maybe that bug should be reported to the FreeBSD guys?