abc/src/bool/lucky/lucky.c
int minimalInitialFlip(word* pInOut, int  nVars, unsigned* p_uCanonPhase)
{
    word oneWord=1;
    if(  (pInOut[Kit_TruthWordNum_64bit( nVars ) -1]>>63) & oneWord )
    {
        Kit_TruthNot_64bit( pInOut, nVars );
        *p_uCanonPhase ^= (1 << nVars);
        return 1;
    }
    return 0;
}
// if highest bit in F ( all ones min term ) is one => inverse 
// returns: if pInOnt changed(minimized) by function return 1 if not 0
if highest bit in F ( all ones min term ) is one => inverse
returns: if pInOnt changed(minimized) by function return 1 if not 0
if highest bit in F ( all ones min term ) is one = > inverse returns : if pInOnt changed ( minimized ) by function return 1 if not 0
int minimalInitialFlip(word* pInOut, int  nVars, unsigned* p_uCanonPhase)
{
    word oneWord=1;
    if(  (pInOut[Kit_TruthWordNum_64bit( nVars ) -1]>>63) & oneWord )
    {
        Kit_TruthNot_64bit( pInOut, nVars );
        *p_uCanonPhase ^= (1 << nVars);
        return 1;
    }
    return 0;
}
int minimalInitialFlip ( word * pInOut , int nVars , unsigned * p_uCanonPhase ) { word oneWord = 1 ; if ( ( pInOut [ Kit_TruthWordNum_64bit ( nVars ) - 1 ] >> 63 ) & oneWord ) { Kit_TruthNot_64bit ( pInOut , nVars ) ; * p_uCanonPhase ^= ( 1 << nVars ) ; return 1 ; } return 0 ; }
if highest bit in F ( all ones min term ) is one => inverse
returns: if pInOnt changed(minimized) by function return 1 if not 0
if highest bit in F ( all ones min term ) is one = > inverse returns : if pInOnt changed ( minimized ) by function return 1 if not 0