anchor.diff:  
   let activatorVars = set [ for i in 1..7 do yield "a" + string i ]
   let repressorVars = set [ for i in 1..7 do yield "r" + string i ]
  -let circuitVars = activatorVars + repressorVars
   
   let private fixMaxInputs v max =
       match max with
  
positive.code: let private numGenes = let statesFilename = System.Environment.GetCommandLineArgs().[1]
                         (CsvFile.Load(statesFilename).Headers |> Option.get |> Seq.length) - 1
  
  let private numNonTransitionEnforcedStates = let nonTransitionEnforcedStatesFilename = System.Environment.GetCommandLineArgs().[5]
                                               readLines nonTransitionEnforcedStatesFilename |> Array.length
  
  let [<Literal>] AND = 0
  
negative.code: 
  let makeCircuitVar = let numBits = (uint32 << ceil <| System.Math.Log(float numGenes, 2.0)) + 1u
                       fun name -> BitVec (name, numBits)
  
  let makeEnforcedVar = let numBits = (uint32 << ceil <| System.Math.Log(float numNonTransitionEnforcedStates, 2.0)) + 1u
                        fun name -> BitVec (name, numBits)
  
  