| 
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -1003,27 +1003,25 @@ cuddAddMinAbstractRepresentativeRecur( | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    logicalZero = Cudd_Not(one); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					     | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    /* Cube is guaranteed to be a cube at this point. */ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    if (cuddIsConstant(cube)) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        return one; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    if (cuddIsConstant(f)) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        if (cuddIsConstant(cube)) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            return one; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        } else { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            res = cuddBddExistAbstractRepresentativeRecur(manager, f, cuddT(cube)); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            if (res == NULL) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                return(NULL); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            cuddRef(res); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        res = cuddBddExistAbstractRepresentativeRecur(manager, f, cuddT(cube)); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        if (res == NULL) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            return(NULL); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        cuddRef(res); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					             | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            // We build in the negation ourselves. | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            res1 = cuddUniqueInter(manager, (int) cube->index, one, Cudd_Not(res)); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            if (res1 == NULL) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                Cudd_IterDerefBdd(manager,res); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                return(NULL); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            res1 = Cudd_Not(res1); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            cuddDeref(res); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            return(res1); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        // We build in the negation ourselves. | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        res1 = cuddUniqueInter(manager, (int) cube->index, one, Cudd_Not(res)); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        if (res1 == NULL) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            Cudd_IterDerefBdd(manager,res); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            return(NULL); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        res1 = Cudd_Not(res1); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        cuddDeref(res); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        return(res1); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					     | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    /* Abstract a variable that does not appear in f. */ | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -1191,27 +1189,26 @@ cuddAddMaxAbstractRepresentativeRecur( | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    logicalZero = Cudd_Not(one); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					     | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    /* Cube is guaranteed to be a cube at this point. */ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    if (cuddIsConstant(cube)) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        return one; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    if (cuddIsConstant(f)) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        if (cuddIsConstant(cube)) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            return one; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        } else { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            res = cuddBddExistAbstractRepresentativeRecur(manager, f, cuddT(cube)); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            if (res == NULL) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                return(NULL); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            cuddRef(res); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					             | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            // We build in the negation ourselves. | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            res1 = cuddUniqueInter(manager, (int) cube->index, one, Cudd_Not(res)); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            if (res1 == NULL) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                Cudd_IterDerefBdd(manager,res); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                return(NULL); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            res1 = Cudd_Not(res1); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            cuddDeref(res); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            return(res1); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					             | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        res = cuddBddExistAbstractRepresentativeRecur(manager, f, cuddT(cube)); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        if (res == NULL) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            return(NULL); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        cuddRef(res); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					         | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        // We build in the negation ourselves. | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        res1 = cuddUniqueInter(manager, (int) cube->index, one, Cudd_Not(res)); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        if (res1 == NULL) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            Cudd_IterDerefBdd(manager,res); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            return(NULL); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        res1 = Cudd_Not(res1); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        cuddDeref(res); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        return(res1); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					             | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					     | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    /* Abstract a variable that does not appear in f. */ | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
				
				 | 
				
					
  |