[ { "BlackBox" :
    { "name"      : "GHC.Classes.eqInt"
    , "type"      : "eqInt :: Int -> Int -> Bool"
    , "templateE" : "~ARG[0] = ~ARG[1]"
    }
  }
, { "BlackBox" :
    { "name"      : "GHC.Classes.neInt"
    , "type"      : "neInt :: Int -> Int -> Bool"
    , "templateE" : "~ARG[0] /= ~ARG[1]"
    }
  }
, { "BlackBox" :
    { "name"      : "GHC.Classes.gtInt"
    , "type"      : "gtInt :: Int -> Int -> Bool"
    , "templateE" : "~ARG[0] > ~ARG[1]"
    }
  }
, { "BlackBox" :
    { "name"      : "GHC.Classes.geInt"
    , "type"      : "geInt :: Int -> Int -> Bool"
    , "templateE" : "~ARG[0] >= ~ARG[1]"
    }
  }
, { "BlackBox" :
    { "name"      : "GHC.Classes.ltInt"
    , "type"      : "ltInt :: Int -> Int -> Bool"
    , "templateE" : "~ARG[0] < ~ARG[1]"
    }
  }
, { "BlackBox" :
    { "name"      : "GHC.Classes.leInt"
    , "type"      : "leInt :: Int -> Int -> Bool"
    , "templateE" : "~ARG[0] <= ~ARG[1]"
    }
  }
, { "BlackBox" :
    { "name"      : "GHC.Classes.&&"
    , "type"      : "(&&) :: Bool -> Bool -> Bool"
    , "templateE" : "~ARG[0] and ~ARG[1]"
    }
  }
, { "BlackBox" :
    { "name"      : "GHC.Classes.||"
    , "type"      : "(::) :: Bool -> Bool -> Bool"
    , "templateE" : "~ARG[0] or ~ARG[1]"
    }
  }
, { "BlackBox" :
    { "name"      : "GHC.Classes.not"
    , "type"      : "not :: Bool -> Bool"
    , "templateE" : "not ~ARG[0]"
    }
  }
, { "BlackBox" :
    { "name"      : "GHC.Classes.divInt#"
    , "type"      : "divInt# :: Int# -> Int# -> Int#"
    , "templateD" :
"-- divInt begin
~GENSYM[divInt][0] : block
  signal ~GENSYM[quot_res][1] : ~TYP[1];
begin
  ~SYM[1] <= ~ARG[0] / ~ARG[1];
  ~RESULT <= ~SYM[1] - 1 when ((~ARG[0] = abs ~ARG[0]) /= (~ARG[1] = abs ~ARG[1])) else
             ~SYM[1];
end block;
-- divInt end"
    }
  }
, { "BlackBox" :
    { "name"      : "GHC.Classes.modInt#"
    , "type"      : "modInt# :: Int# -> Int# -> Int#"
    , "templateE" : "~ARG[0] mod ~ARG[1]"
    }
  }
]
