text: import gurobipy as gp
  from gurobipy import GRB
  from gurobipy import abs_
  m = gp.Model("qcp")
  m.params.NonConvex = 2
  m.setParam(GRB.Param.MIPFocus, 0)
  m.setParam(GRB.Param.NodefileStart, 0.5)
  z00 = m.addVar(0.0,1.0,0.0,GRB.INTEGER,name="z0_0")
  z01 = m.addVar(0.0,1.0,0.0,GRB.INTEGER,name="z0_1")
  z02 = m.addVar(0.0,1.0,0.0,GRB.INTEGER,name="z0_2")
  z03 = m.addVar(0.0,1.0,0.0,GRB.INTEGER,name="z0_3")
  z04 = m.addVar(0.0,1.0,0.0,GRB.INTEGER,name="z0_4")
  z05 = m.addVar(0.0,1.0,0.0,GRB.INTEGER,name="z0_5")
  z06 = m.addVar(0.0,1.0,0.0,GRB.INTEGER,name="z0_6")
  z07 = m.addVar(0.0,1.0,0.0,GRB.INTEGER,name="z0_7")
  z08 = m.addVar(0.0,1.0,0.0,GRB.INTEGER,name="z0_8")
  z09 = m.addVar(0.0,1.0,0.0,GRB.INTEGER,name="z0_9")
  z010 = m.addVar(0.0,1.0,0.0,GRB.INTEGER,name="z0_10")
  z011 = m.addVar(0.0,1.0,0.0,GRB.INTEGER,name="z0_11")
  z012 = m.addVar(0.0,1.0,0.0,GRB.INTEGER,name="z0_12")
  z013 = m.addVar(0.0,1.0,0.0,GRB.INTEGER,name="z0_13")
  z014 = m.addVar(0.0,1.0,0.0,GRB.INTEGER,name="z0_14")
  z015 = m.addVar(0.0,1.0,0.0,GRB.INTEGER,name="z0_15")
  z016 = m.addVar(0.0,1.0,0.0,GRB.INTEGER,name="z0_16")
  z017 = m.addVar(0.0,1.0,0.0,GRB.INTEGER,name="z0_17")
  z018 = m.addVar(0.0,1.0,0.0,GRB.INTEGER,name="z0_18")
  z019 = m.addVar(0.0,1.0,0.0,GRB.INTEGER,name="z0_19")
  z020 = m.addVar(0.0,1.0,0.0,GRB.INTEGER,name="z0_20")
  z021 = m.addVar(0.0,1.0,0.0,GRB.INTEGER,name="z0_21")
  z022 = m.addVar(0.0,1.0,0.0,GRB.INTEGER,name="z0_22")
  z023 = m.addVar(0.0,1.0,0.0,GRB.INTEGER,name="z0_23")
  z024 = m.addVar(0.0,1.0,0.0,GRB.INTEGER,name="z0_24")
  z025 = m.addVar(0.0,1.0,0.0,GRB.INTEGER,name="z0_25")
  z026 = m.addVar(0.0,1.0,0.0,GRB.INTEGER,name="z0_26")
  z027 = m.addVar(0.0,1.0,0.0,GRB.INTEGER,name="z0_27")
  z028 = m.addVar(0.0,1.0,0.0,GRB.INTEGER,name="z0_28")
  z029 = m.addVar(0.0,1.0,0.0,GRB.INTEGER,name="z0_29")
  z030 = m.addVar(0.0,1.0,0.0,GRB.INTEGER,name="z0_30")
  z031 = m.addVar(0.0,1.0,0.0,GRB.INTEGER,name="z0_31")
  w00 = m.addVar(0.0,1.0,0.0,GRB.INTEGER,name="w0_0")
  w01 = m.addVar(0.0,1.0,0.0,GRB.INTEGER,name="w0_1")
  w02 = m.addVar(0.0,1.0,0.0,GRB.INTEGER,name="w0_2")
  w03 = m.addVar(0.0,1.0,0.0,GRB.INTEGER,name="w0_3")
  w04 = m.addVar(0.0,1.0,0.0,GRB.INTEGER,name="w0_4")
  w05 = m.addVar(0.0,1.0,0.0,GRB.INTEGER,name="w0_5")
  w06 = m.addVar(0.0,1.0,0.0,GRB.INTEGER,name="w0_6")
  w07 = m.addVar(0.0,1.0,0.0,GRB.INTEGER,name="w0_7")
  w08 = m.addVar(0.0,1.0,0.0,GRB.INTEGER,name="w0_8")
  w09 = m.addVar(0.0,1.0,0.0,GRB.INTEGER,name="w0_9")
  w010 = m.addVar(0.0,1.0,0.0,GRB.INTEGER,name="w0_10")
  w011 = m.addVar(0.0,1.0,0.0,GRB.INTEGER,name="w0_11")
  w012 = m.addVar(0.0,1.0,0.0,GRB.INTEGER,name="w0_12")
  w013 = m.addVar(0.0,1.0,0.0,GRB.INTEGER,name="w0_13")
  w014 = m.addVar(0.0,1.0,0.0,GRB.INTEGER,name="w0_14")
  w015 = m.addVar(0.0,1.0,0.0,GRB.INTEGER,name="w0_15")
  w016 = m.addVar(0.0,1.0,0.0,GRB.INTEGER,name="w0_16")
  w017 = m.addVar(0.0,1.0,0.0,GRB.INTEGER,name="w0_17")
  w018 = m.addVar(0.0,1.0,0.0,GRB.INTEGER,name="w0_18")
  w019 = m.addVar(0.0,1.0,0.0,GRB.INTEGER,name="w0_19")
  w020 = m.addVar(0.0,1.0,0.0,GRB.INTEGER,name="w0_20")
  w021 = m.addVar(0.0,1.0,0.0,GRB.INTEGER,name="w0_21")
  w022 = m.addVar(0.0,1.0,0.0,GRB.INTEGER,name="w0_22")
  w023 = m.addVar(0.0,1.0,0.0,GRB.INTEGER,name="w0_23")
  w024 = m.addVar(0.0,1.0,0.0,GRB.INTEGER,name="w0_24")
  w025 = m.addVar(0.0,1.0,0.0,GRB.INTEGER,name="w0_25")
  w026 = m.addVar(0.0,1.0,0.0,GRB.INTEGER,name="w0_26")
  w027 = m.addVar(0.0,1.0,0.0,GRB.INTEGER,name="w0_27")
  w028 = m.addVar(0.0,1.0,0.0,GRB.INTEGER,name="w0_28")
  w029 = m.addVar(0.0,1.0,0.0,GRB.INTEGER,name="w0_29")
  w030 = m.addVar(0.0,1.0,0.0,GRB.INTEGER,name="w0_30")
  w031 = m.addVar(0.0,1.0,0.0,GRB.INTEGER,name="w0_31")
  carry10 = m.addVar(0.0,1.0,0.0,name="carry10")
  carry11 = m.addVar(0.0,1.0,0.0,name="carry11")
  carry12 = m.addVar(0.0,1.0,0.0,name="carry12")
  carry13 = m.addVar(0.0,1.0,0.0,name="carry13")
  carry14 = m.addVar(0.0,1.0,0.0,name="carry14")
  carry15 = m.addVar(0.0,1.0,0.0,name="carry15")
  carry16 = m.addVar(0.0,1.0,0.0,name="carry16")
  carry17 = m.addVar(0.0,1.0,0.0,name="carry17")
  carry18 = m.addVar(0.0,1.0,0.0,name="carry18")
  carry19 = m.addVar(0.0,1.0,0.0,name="carry19")
  carry110 = m.addVar(0.0,1.0,0.0,name="carry110")
  carry111 = m.addVar(0.0,1.0,0.0,name="carry111")
  carry112 = m.addVar(0.0,1.0,0.0,name="carry112")
  carry113 = m.addVar(0.0,1.0,0.0,name="carry113")
  carry114 = m.addVar(0.0,1.0,0.0,name="carry114")
  carry115 = m.addVar(0.0,1.0,0.0,name="carry115")
  carry116 = m.addVar(0.0,1.0,0.0,name="carry116")
  carry117 = m.addVar(0.0,1.0,0.0,name="carry117")
  carry118 = m.addVar(0.0,1.0,0.0,name="carry118")
  carry119 = m.addVar(0.0,1.0,0.0,name="carry119")
  carry120 = m.addVar(0.0,1.0,0.0,name="carry120")
  carry121 = m.addVar(0.0,1.0,0.0,name="carry121")
  carry122 = m.addVar(0.0,1.0,0.0,name="carry122")
  carry123 = m.addVar(0.0,1.0,0.0,name="carry123")
  carry124 = m.addVar(0.0,1.0,0.0,name="carry124")
  carry125 = m.addVar(0.0,1.0,0.0,name="carry125")
  carry126 = m.addVar(0.0,1.0,0.0,name="carry126")
  carry127 = m.addVar(0.0,1.0,0.0,name="carry127")
  carry128 = m.addVar(0.0,1.0,0.0,name="carry128")
  carry129 = m.addVar(0.0,1.0,0.0,name="carry129")
  carry130 = m.addVar(0.0,1.0,0.0,name="carry130")
  carry131 = m.addVar(0.0,1.0,0.0,name="carry131")
  xorab10 = m.addVar(0.0,1.0,0.0,name="xorab10")
  xorab11 = m.addVar(0.0,1.0,0.0,name="xorab11")
  xorab12 = m.addVar(0.0,1.0,0.0,name="xorab12")
  xorab13 = m.addVar(0.0,1.0,0.0,name="xorab13")
  xorab14 = m.addVar(0.0,1.0,0.0,name="xorab14")
  xorab15 = m.addVar(0.0,1.0,0.0,name="xorab15")
  xorab16 = m.addVar(0.0,1.0,0.0,name="xorab16")
  xorab17 = m.addVar(0.0,1.0,0.0,name="xorab17")
  xorab18 = m.addVar(0.0,1.0,0.0,name="xorab18")
  xorab19 = m.addVar(0.0,1.0,0.0,name="xorab19")
  xorab110 = m.addVar(0.0,1.0,0.0,name="xorab110")
  xorab111 = m.addVar(0.0,1.0,0.0,name="xorab111")
  xorab112 = m.addVar(0.0,1.0,0.0,name="xorab112")
  xorab113 = m.addVar(0.0,1.0,0.0,name="xorab113")
  xorab114 = m.addVar(0.0,1.0,0.0,name="xorab114")
  xorab115 = m.addVar(0.0,1.0,0.0,name="xorab115")
  xorab116 = m.addVar(0.0,1.0,0.0,name="xorab116")
  xorab117 = m.addVar(0.0,1.0,0.0,name="xorab117")
  xorab118 = m.addVar(0.0,1.0,0.0,name="xorab118")
  xorab119 = m.addVar(0.0,1.0,0.0,name="xorab119")
  xorab120 = m.addVar(0.0,1.0,0.0,name="xorab120")
  xorab121 = m.addVar(0.0,1.0,0.0,name="xorab121")
  xorab122 = m.addVar(0.0,1.0,0.0,name="xorab122")
  xorab123 = m.addVar(0.0,1.0,0.0,name="xorab123")
  xorab124 = m.addVar(0.0,1.0,0.0,name="xorab124")
  xorab125 = m.addVar(0.0,1.0,0.0,name="xorab125")
  xorab126 = m.addVar(0.0,1.0,0.0,name="xorab126")
  xorab127 = m.addVar(0.0,1.0,0.0,name="xorab127")
  xorab128 = m.addVar(0.0,1.0,0.0,name="xorab128")
  xorab129 = m.addVar(0.0,1.0,0.0,name="xorab129")
  xorab130 = m.addVar(0.0,1.0,0.0,name="xorab130")
  xorab131 = m.addVar(0.0,1.0,0.0,name="xorab131")
  prodab10 = m.addVar(0.0,1.0,0.0,name="prodab10")
  prodab11 = m.addVar(0.0,1.0,0.0,name="prodab11")
  prodab12 = m.addVar(0.0,1.0,0.0,name="prodab12")
  prodab13 = m.addVar(0.0,1.0,0.0,name="prodab13")
  prodab14 = m.addVar(0.0,1.0,0.0,name="prodab14")
  prodab15 = m.addVar(0.0,1.0,0.0,name="prodab15")
  prodab16 = m.addVar(0.0,1.0,0.0,name="prodab16")
  prodab17 = m.addVar(0.0,1.0,0.0,name="prodab17")
  prodab18 = m.addVar(0.0,1.0,0.0,name="prodab18")
  prodab19 = m.addVar(0.0,1.0,0.0,name="prodab19")
  prodab110 = m.addVar(0.0,1.0,0.0,name="prodab110")
  prodab111 = m.addVar(0.0,1.0,0.0,name="prodab111")
  prodab112 = m.addVar(0.0,1.0,0.0,name="prodab112")
  prodab113 = m.addVar(0.0,1.0,0.0,name="prodab113")
  prodab114 = m.addVar(0.0,1.0,0.0,name="prodab114")
  prodab115 = m.addVar(0.0,1.0,0.0,name="prodab115")
  prodab116 = m.addVar(0.0,1.0,0.0,name="prodab116")
  prodab117 = m.addVar(0.0,1.0,0.0,name="prodab117")
  prodab118 = m.addVar(0.0,1.0,0.0,name="prodab118")
  prodab119 = m.addVar(0.0,1.0,0.0,name="prodab119")
  prodab120 = m.addVar(0.0,1.0,0.0,name="prodab120")
  prodab121 = m.addVar(0.0,1.0,0.0,name="prodab121")
  prodab122 = m.addVar(0.0,1.0,0.0,name="prodab122")
  prodab123 = m.addVar(0.0,1.0,0.0,name="prodab123")
  prodab124 = m.addVar(0.0,1.0,0.0,name="prodab124")
  prodab125 = m.addVar(0.0,1.0,0.0,name="prodab125")
  prodab126 = m.addVar(0.0,1.0,0.0,name="prodab126")
  prodab127 = m.addVar(0.0,1.0,0.0,name="prodab127")
  prodab128 = m.addVar(0.0,1.0,0.0,name="prodab128")
  prodab129 = m.addVar(0.0,1.0,0.0,name="prodab129")
  prodab130 = m.addVar(0.0,1.0,0.0,name="prodab130")
  prodab131 = m.addVar(0.0,1.0,0.0,name="prodab131")
  z10 = m.addVar(0.0,1.0,0.0,name="z1_0")
  z11 = m.addVar(0.0,1.0,0.0,name="z1_1")
  z12 = m.addVar(0.0,1.0,0.0,name="z1_2")
  z13 = m.addVar(0.0,1.0,0.0,name="z1_3")
  z14 = m.addVar(0.0,1.0,0.0,name="z1_4")
  z15 = m.addVar(0.0,1.0,0.0,name="z1_5")
  z16 = m.addVar(0.0,1.0,0.0,name="z1_6")
  z17 = m.addVar(0.0,1.0,0.0,name="z1_7")
  z18 = m.addVar(0.0,1.0,0.0,name="z1_8")
  z19 = m.addVar(0.0,1.0,0.0,name="z1_9")
  z110 = m.addVar(0.0,1.0,0.0,name="z1_10")
  z111 = m.addVar(0.0,1.0,0.0,name="z1_11")
  z112 = m.addVar(0.0,1.0,0.0,name="z1_12")
  z113 = m.addVar(0.0,1.0,0.0,name="z1_13")
  z114 = m.addVar(0.0,1.0,0.0,name="z1_14")
  z115 = m.addVar(0.0,1.0,0.0,name="z1_15")
  z116 = m.addVar(0.0,1.0,0.0,name="z1_16")
  z117 = m.addVar(0.0,1.0,0.0,name="z1_17")
  z118 = m.addVar(0.0,1.0,0.0,name="z1_18")
  z119 = m.addVar(0.0,1.0,0.0,name="z1_19")
  z120 = m.addVar(0.0,1.0,0.0,name="z1_20")
  z121 = m.addVar(0.0,1.0,0.0,name="z1_21")
  z122 = m.addVar(0.0,1.0,0.0,name="z1_22")
  z123 = m.addVar(0.0,1.0,0.0,name="z1_23")
  z124 = m.addVar(0.0,1.0,0.0,name="z1_24")
  z125 = m.addVar(0.0,1.0,0.0,name="z1_25")
  z126 = m.addVar(0.0,1.0,0.0,name="z1_26")
  z127 = m.addVar(0.0,1.0,0.0,name="z1_27")
  z128 = m.addVar(0.0,1.0,0.0,name="z1_28")
  z129 = m.addVar(0.0,1.0,0.0,name="z1_29")
  z130 = m.addVar(0.0,1.0,0.0,name="z1_30")
  z131 = m.addVar(0.0,1.0,0.0,name="z1_31")
  bias0 = m.addVar(0.0,1.0,0.0,name="bias_0")
  bias1 = m.addVar(0.0,1.0,0.0,name="bias_1")
  bias2 = m.addVar(0.0,1.0,0.0,name="bias_2")
  bias3 = m.addVar(0.0,1.0,0.0,name="bias_3")
  bias4 = m.addVar(0.0,1.0,0.0,name="bias_4")
  bias5 = m.addVar(0.0,1.0,0.0,name="bias_5")
  bias6 = m.addVar(0.0,1.0,0.0,name="bias_6")
  bias7 = m.addVar(0.0,1.0,0.0,name="bias_7")
  bias8 = m.addVar(0.0,1.0,0.0,name="bias_8")
  bias9 = m.addVar(0.0,1.0,0.0,name="bias_9")
  bias10 = m.addVar(0.0,1.0,0.0,name="bias_10")
  bias11 = m.addVar(0.0,1.0,0.0,name="bias_11")
  bias12 = m.addVar(0.0,1.0,0.0,name="bias_12")
  bias13 = m.addVar(0.0,1.0,0.0,name="bias_13")
  bias14 = m.addVar(0.0,1.0,0.0,name="bias_14")
  bias15 = m.addVar(0.0,1.0,0.0,name="bias_15")
  bias16 = m.addVar(0.0,1.0,0.0,name="bias_16")
  bias17 = m.addVar(0.0,1.0,0.0,name="bias_17")
  bias18 = m.addVar(0.0,1.0,0.0,name="bias_18")
  bias19 = m.addVar(0.0,1.0,0.0,name="bias_19")
  bias20 = m.addVar(0.0,1.0,0.0,name="bias_20")
  bias21 = m.addVar(0.0,1.0,0.0,name="bias_21")
  bias22 = m.addVar(0.0,1.0,0.0,name="bias_22")
  bias23 = m.addVar(0.0,1.0,0.0,name="bias_23")
  bias24 = m.addVar(0.0,1.0,0.0,name="bias_24")
  bias25 = m.addVar(0.0,1.0,0.0,name="bias_25")
  bias26 = m.addVar(0.0,1.0,0.0,name="bias_26")
  bias27 = m.addVar(0.0,1.0,0.0,name="bias_27")
  bias28 = m.addVar(0.0,1.0,0.0,name="bias_28")
  bias29 = m.addVar(0.0,1.0,0.0,name="bias_29")
  bias30 = m.addVar(0.0,1.0,0.0,name="bias_30")
  bias31 = m.addVar(0.0,1.0,0.0,name="bias_31")
  bias_abs0 = m.addVar(0.0,1.0,0.0,name="bias_abs0")
  bias_abs1 = m.addVar(0.0,1.0,0.0,name="bias_abs1")
  bias_abs2 = m.addVar(0.0,1.0,0.0,name="bias_abs2")
  bias_abs3 = m.addVar(0.0,1.0,0.0,name="bias_abs3")
  bias_abs4 = m.addVar(0.0,1.0,0.0,name="bias_abs4")
  bias_abs5 = m.addVar(0.0,1.0,0.0,name="bias_abs5")
  bias_abs6 = m.addVar(0.0,1.0,0.0,name="bias_abs6")
  bias_abs7 = m.addVar(0.0,1.0,0.0,name="bias_abs7")
  bias_abs8 = m.addVar(0.0,1.0,0.0,name="bias_abs8")
  bias_abs9 = m.addVar(0.0,1.0,0.0,name="bias_abs9")
  bias_abs10 = m.addVar(0.0,1.0,0.0,name="bias_abs10")
  bias_abs11 = m.addVar(0.0,1.0,0.0,name="bias_abs11")
  bias_abs12 = m.addVar(0.0,1.0,0.0,name="bias_abs12")
  bias_abs13 = m.addVar(0.0,1.0,0.0,name="bias_abs13")
  bias_abs14 = m.addVar(0.0,1.0,0.0,name="bias_abs14")
  bias_abs15 = m.addVar(0.0,1.0,0.0,name="bias_abs15")
  bias_abs16 = m.addVar(0.0,1.0,0.0,name="bias_abs16")
  bias_abs17 = m.addVar(0.0,1.0,0.0,name="bias_abs17")
  bias_abs18 = m.addVar(0.0,1.0,0.0,name="bias_abs18")
  bias_abs19 = m.addVar(0.0,1.0,0.0,name="bias_abs19")
  bias_abs20 = m.addVar(0.0,1.0,0.0,name="bias_abs20")
  bias_abs21 = m.addVar(0.0,1.0,0.0,name="bias_abs21")
  bias_abs22 = m.addVar(0.0,1.0,0.0,name="bias_abs22")
  bias_abs23 = m.addVar(0.0,1.0,0.0,name="bias_abs23")
  bias_abs24 = m.addVar(0.0,1.0,0.0,name="bias_abs24")
  bias_abs25 = m.addVar(0.0,1.0,0.0,name="bias_abs25")
  bias_abs26 = m.addVar(0.0,1.0,0.0,name="bias_abs26")
  bias_abs27 = m.addVar(0.0,1.0,0.0,name="bias_abs27")
  bias_abs28 = m.addVar(0.0,1.0,0.0,name="bias_abs28")
  bias_abs29 = m.addVar(0.0,1.0,0.0,name="bias_abs29")
  bias_abs30 = m.addVar(0.0,1.0,0.0,name="bias_abs30")
  bias_abs31 = m.addVar(0.0,1.0,0.0,name="bias_abs31")
  obj = m.addVar(0.0,16.0,0.0,name="objfun")
  m.addConstr(bias_abs0 + bias_abs1 + bias_abs2 + bias_abs3 + bias_abs4 + bias_abs5 + bias_abs6 + bias_abs7 + bias_abs8 + bias_abs9 + bias_abs10 + bias_abs11 + bias_abs12 + bias_abs13 + bias_abs14 + bias_abs15 + bias_abs16 + bias_abs17 + bias_abs18 + bias_abs19 + bias_abs20 + bias_abs21 + bias_abs22 + bias_abs23 +bias_abs24 + bias_abs25 + bias_abs26 + bias_abs27 + bias_abs28 + bias_abs29 + bias_abs30 + bias_abs31 == obj,"obj")
  m.setObjective(obj, GRB.MAXIMIZE)
  m.addConstr(z00*w00 == prodab10,"prodab10")
  m.addConstr(z01*w01 == prodab11,"prodab11")
  m.addConstr(z02*w02 == prodab12,"prodab12")
  m.addConstr(z03*w03 == prodab13,"prodab13")
  m.addConstr(z04*w04 == prodab14,"prodab14")
  m.addConstr(z05*w05 == prodab15,"prodab15")
  m.addConstr(z06*w06 == prodab16,"prodab16")
  m.addConstr(z07*w07 == prodab17,"prodab17")
  m.addConstr(z08*w08 == prodab18,"prodab18")
  m.addConstr(z09*w09 == prodab19,"prodab19")
  m.addConstr(z010*w010 == prodab110,"prodab110")
  m.addConstr(z011*w011 == prodab111,"prodab111")
  m.addConstr(z012*w012 == prodab112,"prodab112")
  m.addConstr(z013*w013 == prodab113,"prodab113")
  m.addConstr(z014*w014 == prodab114,"prodab114")
  m.addConstr(z015*w015 == prodab115,"prodab115")
  m.addConstr(z016*w016 == prodab116,"prodab116")
  m.addConstr(z017*w017 == prodab117,"prodab117")
  m.addConstr(z018*w018 == prodab118,"prodab118")
  m.addConstr(z019*w019 == prodab119,"prodab119")
  m.addConstr(z020*w020 == prodab120,"prodab120")
  m.addConstr(z021*w021 == prodab121,"prodab121")
  m.addConstr(z022*w022 == prodab122,"prodab122")
  m.addConstr(z023*w023 == prodab123,"prodab123")
  m.addConstr(z024*w024 == prodab124,"prodab124")
  m.addConstr(z025*w025 == prodab125,"prodab125")
  m.addConstr(z026*w026 == prodab126,"prodab126")
  m.addConstr(z027*w027 == prodab127,"prodab127")
  m.addConstr(z028*w028 == prodab128,"prodab128")
  m.addConstr(z029*w029 == prodab129,"prodab129")
  m.addConstr(z030*w030 == prodab130,"prodab130")
  m.addConstr(z031*w031 == prodab131,"prodab131")
  m.addConstr(z00 + w00 - 2*z00*w00 == xorab10,"xorab10")
  m.addConstr(z01 + w01 - 2*z01*w01 == xorab11,"xorab11")
  m.addConstr(z02 + w02 - 2*z02*w02 == xorab12,"xorab12")
  m.addConstr(z03 + w03 - 2*z03*w03 == xorab13,"xorab13")
  m.addConstr(z04 + w04 - 2*z04*w04 == xorab14,"xorab14")
  m.addConstr(z05 + w05 - 2*z05*w05 == xorab15,"xorab15")
  m.addConstr(z06 + w06 - 2*z06*w06 == xorab16,"xorab16")
  m.addConstr(z07 + w07 - 2*z07*w07 == xorab17,"xorab17")
  m.addConstr(z08 + w08 - 2*z08*w08 == xorab18,"xorab18")
  m.addConstr(z09 + w09 - 2*z09*w09 == xorab19,"xorab19")
  m.addConstr(z010 + w010 - 2*z010*w010 == xorab110,"xorab110")
  m.addConstr(z011 + w011 - 2*z011*w011 == xorab111,"xorab111")
  m.addConstr(z012 + w012 - 2*z012*w012 == xorab112,"xorab112")
  m.addConstr(z013 + w013 - 2*z013*w013 == xorab113,"xorab113")
  m.addConstr(z014 + w014 - 2*z014*w014 == xorab114,"xorab114")
  m.addConstr(z015 + w015 - 2*z015*w015 == xorab115,"xorab115")
  m.addConstr(z016 + w016 - 2*z016*w016 == xorab116,"xorab116")
  m.addConstr(z017 + w017 - 2*z017*w017 == xorab117,"xorab117")
  m.addConstr(z018 + w018 - 2*z018*w018 == xorab118,"xorab118")
  m.addConstr(z019 + w019 - 2*z019*w019 == xorab119,"xorab119")
  m.addConstr(z020 + w020 - 2*z020*w020 == xorab120,"xorab120")
  m.addConstr(z021 + w021 - 2*z021*w021 == xorab121,"xorab121")
  m.addConstr(z022 + w022 - 2*z022*w022 == xorab122,"xorab122")
  m.addConstr(z023 + w023 - 2*z023*w023 == xorab123,"xorab123")
  m.addConstr(z024 + w024 - 2*z024*w024 == xorab124,"xorab124")
  m.addConstr(z025 + w025 - 2*z025*w025 == xorab125,"xorab125")
  m.addConstr(z026 + w026 - 2*z026*w026 == xorab126,"xorab126")
  m.addConstr(z027 + w027 - 2*z027*w027 == xorab127,"xorab127")
  m.addConstr(z028 + w028 - 2*z028*w028 == xorab128,"xorab128")
  m.addConstr(z029 + w029 - 2*z029*w029 == xorab129,"xorab129")
  m.addConstr(z030 + w030 - 2*z030*w030 == xorab130,"xorab130")
  m.addConstr(z031 + w031 - 2*z031*w031 == xorab131,"xorab131")
  m.addConstr(carry10 == 0.5, "carry10")
  m.addConstr(carry115 == 0.5, "carry115")
  m.addConstr(prodab11*carry11 - 0.5*z01*w01 - 0.5*z01*carry11 - 0.5*w01*carry11 + 0.5*z01 + 0.5*w01 + 0.5*carry11 == carry12,"carry12")
  m.addConstr(prodab12*carry12 - 0.5*z02*w02 - 0.5*z02*carry12 - 0.5*w02*carry12 + 0.5*z02 + 0.5*w02 + 0.5*carry12 == carry13,"carry13")
  m.addConstr(prodab13*carry13 - 0.5*z03*w03 - 0.5*z03*carry13 - 0.5*w03*carry13 + 0.5*z03 + 0.5*w03 + 0.5*carry13 == carry14,"carry14")
  m.addConstr(prodab14*carry14 - 0.5*z04*w04 - 0.5*z04*carry14 - 0.5*w04*carry14 + 0.5*z04 + 0.5*w04 + 0.5*carry14 == carry15,"carry15")
  m.addConstr(prodab15*carry15 - 0.5*z05*w05 - 0.5*z05*carry15 - 0.5*w05*carry15 + 0.5*z05 + 0.5*w05 + 0.5*carry15 == carry16,"carry16")
  m.addConstr(prodab16*carry16 - 0.5*z06*w06 - 0.5*z06*carry16 - 0.5*w06*carry16 + 0.5*z06 + 0.5*w06 + 0.5*carry16 == carry17,"carry17")
  m.addConstr(prodab17*carry17 - 0.5*z07*w07 - 0.5*z07*carry17 - 0.5*w07*carry17 + 0.5*z07 + 0.5*w07 + 0.5*carry17 == carry18,"carry18")
  m.addConstr(prodab18*carry18 - 0.5*z08*w08 - 0.5*z08*carry18 - 0.5*w08*carry18 + 0.5*z08 + 0.5*w08 + 0.5*carry18 == carry19,"carry19")
  m.addConstr(prodab19*carry19 - 0.5*z09*w09 - 0.5*z09*carry19 - 0.5*w09*carry19 + 0.5*z09 + 0.5*w09 + 0.5*carry19 == carry110,"carry110")
  m.addConstr(prodab110*carry110 - 0.5*z010*w010 - 0.5*z010*carry110 - 0.5*w010*carry110 + 0.5*z010 + 0.5*w010 + 0.5*carry110 == carry111,"carry111")
  m.addConstr(prodab111*carry111 - 0.5*z011*w011 - 0.5*z011*carry111 - 0.5*w011*carry111 + 0.5*z011 + 0.5*w011 + 0.5*carry111 == carry112,"carry112")
  m.addConstr(prodab112*carry112 - 0.5*z012*w012 - 0.5*z012*carry112 - 0.5*w012*carry112 + 0.5*z012 + 0.5*w012 + 0.5*carry112 == carry113,"carry113")
  m.addConstr(prodab113*carry113 - 0.5*z013*w013 - 0.5*z013*carry113 - 0.5*w013*carry113 + 0.5*z013 + 0.5*w013 + 0.5*carry113 == carry114,"carry114")
  m.addConstr(prodab115*carry115 - 0.5*z015*w015 - 0.5*z015*carry115 - 0.5*w015*carry115 + 0.5*z015 + 0.5*w015 + 0.5*carry115 == carry116,"carry116")
  m.addConstr(prodab116*carry116 - 0.5*z016*w016 - 0.5*z016*carry116 - 0.5*w016*carry116 + 0.5*z016 + 0.5*w016 + 0.5*carry116 == carry117,"carry117")
  m.addConstr(prodab117*carry117 - 0.5*z017*w017 - 0.5*z017*carry117 - 0.5*w017*carry117 + 0.5*z017 + 0.5*w017 + 0.5*carry117 == carry118,"carry118")
  m.addConstr(prodab118*carry118 - 0.5*z018*w018 - 0.5*z018*carry118 - 0.5*w018*carry118 + 0.5*z018 + 0.5*w018 + 0.5*carry118 == carry119,"carry119")
  m.addConstr(prodab119*carry119 - 0.5*z019*w019 - 0.5*z019*carry119 - 0.5*w019*carry119 + 0.5*z019 + 0.5*w019 + 0.5*carry119 == carry120,"carry120")
  m.addConstr(prodab120*carry120 - 0.5*z020*w020 - 0.5*z020*carry120 - 0.5*w020*carry120 + 0.5*z020 + 0.5*w020 + 0.5*carry120 == carry121,"carry121")
  m.addConstr(prodab121*carry121 - 0.5*z021*w021 - 0.5*z021*carry121 - 0.5*w021*carry121 + 0.5*z021 + 0.5*w021 + 0.5*carry121 == carry122,"carry122")
  m.addConstr(prodab122*carry122 - 0.5*z022*w022 - 0.5*z022*carry122 - 0.5*w022*carry122 + 0.5*z022 + 0.5*w022 + 0.5*carry122 == carry123,"carry123")
  m.addConstr(prodab123*carry123 - 0.5*z023*w023 - 0.5*z023*carry123 - 0.5*w023*carry123 + 0.5*z023 + 0.5*w023 + 0.5*carry123 == carry124,"carry124")
  m.addConstr(prodab124*carry124 - 0.5*z024*w024 - 0.5*z024*carry124 - 0.5*w024*carry124 + 0.5*z024 + 0.5*w024 + 0.5*carry124 == carry125,"carry125")
  m.addConstr(prodab125*carry125 - 0.5*z025*w025 - 0.5*z025*carry125 - 0.5*w025*carry125 + 0.5*z025 + 0.5*w025 + 0.5*carry125 == carry126,"carry126")
  m.addConstr(prodab126*carry126 - 0.5*z026*w026 - 0.5*z026*carry126 - 0.5*w026*carry126 + 0.5*z026 + 0.5*w026 + 0.5*carry126 == carry127,"carry127")
  m.addConstr(prodab127*carry127 - 0.5*z027*w027 - 0.5*z027*carry127 - 0.5*w027*carry127 + 0.5*z027 + 0.5*w027 + 0.5*carry127 == carry128,"carry128")
  m.addConstr(prodab128*carry128 - 0.5*z028*w028 - 0.5*z028*carry128 - 0.5*w028*carry128 + 0.5*z028 + 0.5*w028 + 0.5*carry128 == carry129,"carry129")
  m.addConstr(prodab129*carry129 - 0.5*z029*w029 - 0.5*z029*carry129 - 0.5*w029*carry129 + 0.5*z029 + 0.5*w029 + 0.5*carry129 == carry130,"carry130")
  m.addConstr(prodab130*carry130 - 0.5*z030*w030 - 0.5*z030*carry130 - 0.5*w030*carry130 + 0.5*z030 + 0.5*w030 + 0.5*carry130 == carry131,"carry131")
  m.addConstr(xorab10 + carry10 - 2*xorab10*carry10 == z10,"z10")
  m.addConstr(xorab11 + carry11 - 2*xorab11*carry11 == z11,"z11")
  m.addConstr(xorab12 + carry12 - 2*xorab12*carry12 == z12,"z12")
  m.addConstr(xorab13 + carry13 - 2*xorab13*carry13 == z13,"z13")
  m.addConstr(xorab14 + carry14 - 2*xorab14*carry14 == z14,"z14")
  m.addConstr(xorab15 + carry15 - 2*xorab15*carry15 == z15,"z15")
  m.addConstr(xorab16 + carry16 - 2*xorab16*carry16 == z16,"z16")
  m.addConstr(xorab17 + carry17 - 2*xorab17*carry17 == z17,"z17")
  m.addConstr(xorab18 + carry18 - 2*xorab18*carry18 == z18,"z18")
  m.addConstr(xorab19 + carry19 - 2*xorab19*carry19 == z19,"z19")
  m.addConstr(xorab110 + carry110 - 2*xorab110*carry110 == z110,"z110")
  m.addConstr(xorab111 + carry111 - 2*xorab111*carry111 == z111,"z111")
  m.addConstr(xorab112 + carry112 - 2*xorab112*carry112 == z112,"z112")
  m.addConstr(xorab113 + carry113 - 2*xorab113*carry113 == z113,"z113")
  m.addConstr(xorab114 + carry114 - 2*xorab114*carry114 == z114,"z114")
  m.addConstr(xorab115 + carry115 - 2*xorab115*carry115 == z115,"z115")
  m.addConstr(xorab116 + carry116 - 2*xorab116*carry116 == z116,"z116")
  m.addConstr(xorab117 + carry117 - 2*xorab117*carry117 == z117,"z117")
  m.addConstr(xorab118 + carry118 - 2*xorab118*carry118 == z118,"z118")
  m.addConstr(xorab119 + carry119 - 2*xorab119*carry119 == z119,"z119")
  m.addConstr(xorab120 + carry120 - 2*xorab120*carry120 == z120,"z120")
  m.addConstr(xorab121 + carry121 - 2*xorab121*carry121 == z121,"z121")
  m.addConstr(xorab122 + carry122 - 2*xorab122*carry122 == z122,"z122")
  m.addConstr(xorab123 + carry123 - 2*xorab123*carry123 == z123,"z123")
  m.addConstr(xorab124 + carry124 - 2*xorab124*carry124 == z124,"z124")
  m.addConstr(xorab125 + carry125 - 2*xorab125*carry125 == z125,"z125")
  m.addConstr(xorab126 + carry126 - 2*xorab126*carry126 == z126,"z126")
  m.addConstr(xorab127 + carry127 - 2*xorab127*carry127 == z127,"z127")
  m.addConstr(xorab128 + carry128 - 2*xorab128*carry128 == z128,"z128")
  m.addConstr(xorab129 + carry129 - 2*xorab129*carry129 == z129,"z129")
  m.addConstr(xorab130 + carry130 - 2*xorab130*carry130 == z130,"z130")
  m.addConstr(xorab131 + carry131 - 2*xorab131*carry131 == z131,"z131")
  m.addConstr(bias0 == z10 - 0.5,"bias0")
  m.addConstr(bias1 == z11 - 0.5,"bias1")
  m.addConstr(bias2 == z12 - 0.5,"bias2")
  m.addConstr(bias3 == z13 - 0.5,"bias3")
  m.addConstr(bias4 == z14 - 0.5,"bias4")
  m.addConstr(bias5 == z15 - 0.5,"bias5")
  m.addConstr(bias6 == z16 - 0.5,"bias6")
  m.addConstr(bias7 == z17 - 0.5,"bias7")
  m.addConstr(bias8 == z18 - 0.5,"bias8")
  m.addConstr(bias9 == z19 - 0.5,"bias9")
  m.addConstr(bias10 == z110 - 0.5,"bias10")
  m.addConstr(bias11 == z111 - 0.5,"bias11")
  m.addConstr(bias12 == z112 - 0.5,"bias12")
  m.addConstr(bias13 == z113 - 0.5,"bias13")
  m.addConstr(bias14 == z114 - 0.5,"bias14")
  m.addConstr(bias15 == z115 - 0.5,"bias15")
  m.addConstr(bias16 == z116 - 0.5,"bias16")
  m.addConstr(bias17 == z117 - 0.5,"bias17")
  m.addConstr(bias18 == z118 - 0.5,"bias18")
  m.addConstr(bias19 == z119 - 0.5,"bias19")
  m.addConstr(bias20 == z120 - 0.5,"bias20")
  m.addConstr(bias21 == z121 - 0.5,"bias21")
  m.addConstr(bias22 == z122 - 0.5,"bias22")
  m.addConstr(bias23 == z123 - 0.5,"bias23")
  m.addConstr(bias24 == z124 - 0.5,"bias24")
  m.addConstr(bias25 == z125 - 0.5,"bias25")
  m.addConstr(bias26 == z126 - 0.5,"bias26")
  m.addConstr(bias27 == z127 - 0.5,"bias27")
  m.addConstr(bias28 == z128 - 0.5,"bias28")
  m.addConstr(bias29 == z129 - 0.5,"bias29")
  m.addConstr(bias30 == z130 - 0.5,"bias30")
  m.addConstr(bias31 == z131 - 0.5,"bias31")
  m.addConstr(bias_abs0 == abs_(bias0),"bias_abs0")
  m.addConstr(bias_abs1 == abs_(bias1),"bias_abs1")
  m.addConstr(bias_abs2 == abs_(bias2),"bias_abs2")
  m.addConstr(bias_abs3 == abs_(bias3),"bias_abs3")
  m.addConstr(bias_abs4 == abs_(bias4),"bias_abs4")
  m.addConstr(bias_abs5 == abs_(bias5),"bias_abs5")
  m.addConstr(bias_abs6 == abs_(bias6),"bias_abs6")
  m.addConstr(bias_abs7 == abs_(bias7),"bias_abs7")
  m.addConstr(bias_abs8 == abs_(bias8),"bias_abs8")
  m.addConstr(bias_abs9 == abs_(bias9),"bias_abs9")
  m.addConstr(bias_abs10 == abs_(bias10),"bias_abs10")
  m.addConstr(bias_abs11 == abs_(bias11),"bias_abs11")
  m.addConstr(bias_abs12 == abs_(bias12),"bias_abs12")
  m.addConstr(bias_abs13 == abs_(bias13),"bias_abs13")
  m.addConstr(bias_abs14 == abs_(bias14),"bias_abs14")
  m.addConstr(bias_abs15 == abs_(bias15),"bias_abs15")
  m.addConstr(bias_abs16 == abs_(bias16),"bias_abs16")
  m.addConstr(bias_abs17 == abs_(bias17),"bias_abs17")
  m.addConstr(bias_abs18 == abs_(bias18),"bias_abs18")
  m.addConstr(bias_abs19 == abs_(bias19),"bias_abs19")
  m.addConstr(bias_abs20 == abs_(bias20),"bias_abs20")
  m.addConstr(bias_abs21 == abs_(bias21),"bias_abs21")
  m.addConstr(bias_abs22 == abs_(bias22),"bias_abs22")
  m.addConstr(bias_abs23 == abs_(bias23),"bias_abs23")
  m.addConstr(bias_abs24 == abs_(bias24),"bias_abs24")
  m.addConstr(bias_abs25 == abs_(bias25),"bias_abs25")
  m.addConstr(bias_abs26 == abs_(bias26),"bias_abs26")
  m.addConstr(bias_abs27 == abs_(bias27),"bias_abs27")
  m.addConstr(bias_abs28 == abs_(bias28),"bias_abs28")
  m.addConstr(bias_abs29 == abs_(bias29),"bias_abs29")
  m.addConstr(bias_abs30 == abs_(bias30),"bias_abs30")
  m.addConstr(bias_abs31 == abs_(bias31),"bias_abs31")
  m.optimize()
  for v in m.getVars():
  	print('%s %g' % (v.varName, v.x))
  