From 8573cb98f66befe60965315934f5a058956ce94e Mon Sep 17 00:00:00 2001 From: Alan Mishchenko Date: Tue, 3 Feb 2026 11:52:21 -0800 Subject: [PATCH] Bug fix in %blast. --- src/base/wlc/wlcBlast.c | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/src/base/wlc/wlcBlast.c b/src/base/wlc/wlcBlast.c index 8950025d5..f028a1324 100644 --- a/src/base/wlc/wlcBlast.c +++ b/src/base/wlc/wlcBlast.c @@ -1857,10 +1857,20 @@ Gia_Man_t * Wlc_NtkBitBlast( Wlc_Ntk_t * p, Wlc_BstPar_t * pParIn ) int Beg = Wlc_ObjRangeBeg(pObj); if ( End >= Beg ) { - assert( nRange == End - Beg + 1 ); - assert( pFanin->Beg <= Beg && End <= pFanin->End ); - for ( k = Beg; k <= End; k++ ) - Vec_IntPush( vRes, pFans0[k - pFanin->Beg] ); + if ( pFanin->End >= pFanin->Beg ) + { + assert( nRange == End - Beg + 1 ); + assert( pFanin->Beg <= Beg && End <= pFanin->End ); + for ( k = Beg; k <= End; k++ ) + Vec_IntPush( vRes, pFans0[k - pFanin->Beg] ); + } + else + { + assert( nRange == End - Beg + 1 ); + assert( pFanin->End <= Beg && End <= pFanin->Beg ); + for ( k = Beg; k <= End; k++ ) + Vec_IntPush( vRes, pFans0[k - pFanin->End] ); + } } else {