diff --git a/basis/math/bitwise/bitwise.factor b/basis/math/bitwise/bitwise.factor index a0d19b49ec..4dc99e47ec 100644 --- a/basis/math/bitwise/bitwise.factor +++ b/basis/math/bitwise/bitwise.factor @@ -90,13 +90,13 @@ GENERIC: (bit-count) ( x -- n ) { fixnum } declare [ byte-bit-count ] keep [ -8 shift byte-bit-count + ] keep - [ -8 shift byte-bit-count + ] keep - [ -8 shift byte-bit-count + ] keep + [ -16 shift byte-bit-count + ] keep + [ -24 shift byte-bit-count + ] keep cell 8 = [ - [ -8 shift byte-bit-count + ] keep - [ -8 shift byte-bit-count + ] keep - [ -8 shift byte-bit-count + ] keep - -8 shift byte-bit-count + >fixnum + [ -32 shift byte-bit-count + ] keep + [ -40 shift byte-bit-count + ] keep + [ -48 shift byte-bit-count + ] keep + -56 shift byte-bit-count + >fixnum ] [ drop ] if ; M: fixnum (bit-count)