compiler.tree.propagation.transforms: fix redundant-bitand?.
When removing a redundant bitand (for example, in ``W*`` which does ``64
on-bits bitand``) make sure that we leave the ``>bignum`` to convert the
input integer to a bignum since the output type propagation assumes that
to be the case and we compiled the following code wrong.
: mult ( a b -- x ) [ 32 bits ] bi@ W* ;
Before:
\ mult optimized.
[
>R
4294967295 >R integer>fixnum R> fixnum-bitand
R>
4294967295 >R integer>fixnum R> fixnum-bitand fixnum*
]
After:
\ mult optimized.
[
>R
4294967295 >R integer>fixnum R> fixnum-bitand
R>
4294967295 >R integer>fixnum R> fixnum-bitand fixnum*
>bignum
]