@@ -722,12 +722,6 @@ module internal Z3 =
722722 elif exprSize > size then ctx.MkExtract( size - 1 u, 0 u, expr)
723723 else ctx.MkSignExt( size - exprSize, expr)
724724
725- member private x.ReverseBytes ( expr : BitVecExpr ) =
726- let size = int expr.SortSize
727- assert ( size % 8 = 0 )
728- let bytes = List.init ( size / 8 ) ( fun byte -> ctx.MkExtract( uint (( byte + 1 ) * 8 ) - 1 u, uint ( byte * 8 ), expr))
729- List.reduce ( fun x y -> ctx.MkConcat( x, y)) bytes
730-
731725 member private x.ComputeSliceBounds assumptions cuts termSortSize =
732726 assert ( termSortSize % 8 u = 0 u && termSortSize > 0 u)
733727 let zero = ctx.MkBV( 0 , termSortSize)
@@ -829,11 +823,10 @@ module internal Z3 =
829823 let sliceSize = x.MkBVSub( rBit, lBit)
830824 let zero = ctx.MkBV( 0 , termSize)
831825 let intersects = x.MkBVSGT( sliceSize, zero)
832- let term = t
833826 let left = x.ExtractOrExtend lBit termSize
834827 let right = x.ExtractOrExtend rBit termSize
835828 let cutRight = x.MkBVSub( sizeExpr, right)
836- let term = x.MkBVShl( term , cutRight)
829+ let term = x.MkBVShl( t , cutRight)
837830 let term = x.MkBVLShr( term, x.MkBVAdd( left, cutRight))
838831 let term =
839832 if termSize > window then ctx.MkExtract( window - 1 u, 0 u, term)
@@ -844,7 +837,6 @@ module internal Z3 =
844837 let res = x.MkITE( intersects, x.MkBVOr( res, part), res) :?> BitVecExpr
845838 res, assumptions
846839 let result , assumptions = List.fold addOneSlice ( res, List.empty) slices
847- // let result = x.ReverseBytes result
848840 let result = x.CreateCombineResult result typ window
849841 { expr = result; assumptions = assumptions}
850842
0 commit comments