result = bm.CreateZeroConst(width);
else if (children[1].GetKind() == BVUMINUS && children[1][0] == children[0])
result = bm.CreateZeroConst(width);
+#if 0
else if ( width >= 4 && children[0].GetKind() == BVNEG && children[1] == children[0][0] )
result = bm.CreateTerm(SBVMOD,width,max,children[0][0]);//9759 -> 542 | 4842 ms
else if ( width >= 4 && children[1].GetKind() == BVNEG && children[1][0] == children[0] )
result = bm.CreateTerm(SBVMOD,width,max,children[1]);//9759 -> 542 | 4005 ms
else if ( width >= 4 && children[0].GetKind() == BVNEG && children[1].GetKind() == BVUMINUS && children[1][0] == children[0][0] )
result = bm.CreateTerm(SBVMOD,width,max,children[1]);//9807 -> 674 | 2962 ms
+#endif
}
break;
result = NodeFactory::CreateTerm(SBVREM, width, children[0], children[1][0]);
else if (children[0].GetKind() == BVUMINUS && children[0][0] == children[1])
result = bm.CreateZeroConst(width);
+#if 0
else if ( width >= 4 && children[0].GetKind() == BVNEG && children[1] == children[0][0] )
result = bm.CreateTerm(BVUMINUS,width,bm.CreateTerm(SBVMOD,width,one,children[0][0]));//9350 -> 624 | 3072 ms
else if ( width >= 4 && children[1].GetKind() == BVNEG && children[1][0] == children[0] )
result = bm.CreateTerm(BVUMINUS,width,bm.CreateTerm(SBVMOD,width,one,children[1]));//9350 -> 624 | 2402 ms
else if ( width >= 4 && children[0].GetKind() == BVUMINUS && children[1] == max)
result = bm.CreateTerm(BVUMINUS,width,bm.CreateTerm(SBVREM,width,children[0][0],children[1]));//123 -> 83 | 1600 ms
+#endif
}
if (children[0].isConstant() && children[0] == one)
result = NodeFactory::CreateTerm(ITE, width, NodeFactory::CreateNode(EQ, children[1], one),
bm.CreateZeroConst(width), one);
-
+#if 0
if ( width >= 3 && children[0].GetKind() == BVNEG && children[1] == children[0][0] )
result = NodeFactory::CreateTerm(BVMOD,width,bm.CreateMaxConst(width),children[0][0]);//3285 -> 3113
if ( width >= 4 && children[0].GetKind() == BVUMINUS && children[1].GetKind() == BVNEG && children[1][0] == children[0][0] )
result = NodeFactory::CreateTerm(SBVREM,width,one,children[1]); //8883 -> 206 | 1566 ms
+#endif
}
break;