|  |  |  | @ -28,10 +28,11 @@ let get_inputs circ node = | 
			
		
	
		
			
				
					|  |  |  |  | let get_op circ node = | 
			
		
	
		
			
				
					|  |  |  |  |   let (_, op) = get_node_info circ node in op | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | (* extracts the two first inputs in a list of inputs *) | 
			
		
	
		
			
				
					|  |  |  |  | let extract_bin_ins = function | 
			
		
	
		
			
				
					|  |  |  |  |   | [] -> failwith "Error extract_bin_ins: no input." | 
			
		
	
		
			
				
					|  |  |  |  |   | h1::h2::t -> (h1, h2) | 
			
		
	
		
			
				
					|  |  |  |  |   | _ -> failwith "Error extract_bin_ins: inputs does not match." | 
			
		
	
		
			
				
					|  |  |  |  |   | _ -> failwith "Error extract_bin_ins: inputs do not match." | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | (* _________ Evaluation _________ *) | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
	
		
			
				
					|  |  |  | @ -60,8 +61,8 @@ let rec value circ concl = | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | let rec eval (circ : circuit) : int = | 
			
		
	
		
			
				
					|  |  |  |  |   let (_, _, concl) = | 
			
		
	
		
			
				
					|  |  |  |  |     List.hd (List.filter (fun (_, o, _) -> o = COut) circ) in | 
			
		
	
		
			
				
					|  |  |  |  |   value circ concl | 
			
		
	
		
			
				
					|  |  |  |  |     List.hd (List.filter (fun (_, o, _) -> o = COut) circ) | 
			
		
	
		
			
				
					|  |  |  |  |   in value circ concl | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | (* _________ Examples _________ *) | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
	
		
			
				
					|  |  |  | 
 |