#OPTIMIZE = -g -pg # Debugging and gprof-style profiling
OPTIMIZE = -g # Debugging
#OPTIMIZE = -O3 -fPIC # Maximum optimization
-#OPTIMIZE = -O3 -march=native # Maximum optimization
+#OPTIMIZE = -O3 -march=native -fomit-frame-pointer # Maximum optimization
#OPTIMIZE = -O3 -march=native -DNDEBUG -DLESSBYTES_PERNODE
OPTIMIZE = -O3 # Maximum optimization
#CFLAGS_M32 = -m32
ASTVec bit_comparisons;
bit_comparisons.push_back(this_compare_bit);
+ //(lit IFF rit) is the same as (NOT(lit) XOR rit)
ASTNode prev_eq_bit =
_bm->CreateSimpForm(XOR,
_bm->CreateSimpForm(NOT,*lit),
for(lit++, rit++; lit < litend; lit++, rit++)
{
this_compare_bit =
- _bm->CreateSimpForm(AND, _bm->CreateSimpNot(*lit), *rit);
+ _bm->CreateSimpForm(AND,
+ _bm->CreateSimpNot(*lit),
+ *rit);
ASTNode thisbit_output =
_bm->CreateSimpForm(AND, this_compare_bit, prev_eq_bit);
bit_comparisons.push_back(thisbit_output);
-
- // (neg(lit) OR rit)(lit OR neg(rit))
+
ASTNode this_eq_bit =
_bm->CreateSimpForm(AND,
_bm->CreateSimpForm(XOR,
return n;
}
else
- return _bm->CreateSimpForm(XOR,
- _bm->CreateSimpForm(NOT,*lit), *rit);
+ {
+ return _bm->CreateSimpForm(XOR,
+ _bm->CreateSimpForm(NOT,*lit), *rit);
+ }
}
} // BEEV namespace
}
default:
{
- return CreateNode(NOT, form);
+ //return CreateNode(NOT, form);
+ return CreateNode(XOR, ASTTrue, form);
}
}
}