diff --git a/extra/benchmark/nsieve-bits/nsieve-bits.factor b/extra/benchmark/nsieve-bits/nsieve-bits.factor index c2f8e02996..46ebc6595e 100644 --- a/extra/benchmark/nsieve-bits/nsieve-bits.factor +++ b/extra/benchmark/nsieve-bits/nsieve-bits.factor @@ -6,11 +6,11 @@ bit-arrays namespaces io ; 2dup length >= [ 3drop ] [ - f pick pick set-nth-unsafe >r over + r> clear-flags + f 2over set-nth-unsafe >r over + r> clear-flags ] if ; inline : (nsieve-bits) ( count i seq -- count ) - 2dup length <= [ + 2dup length < [ 2dup nth-unsafe [ over dup 2 * pick clear-flags rot 1+ -rot ! increment count diff --git a/extra/benchmark/nsieve/nsieve.factor b/extra/benchmark/nsieve/nsieve.factor index b9200fb2bb..c567aa8a8f 100644 --- a/extra/benchmark/nsieve/nsieve.factor +++ b/extra/benchmark/nsieve/nsieve.factor @@ -10,7 +10,7 @@ arrays namespaces io ; ] if ; inline : (nsieve) ( count i seq -- count ) - 2dup length <= [ + 2dup length < [ 2dup nth-unsafe [ over dup 2 * pick clear-flags rot 1+ -rot ! increment count