diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,4 +1,10 @@
-# Version 0.1.1
+# Version 0.3
+
+* COMPILER ASSISTED BREAKING CHANGE: Renamed `Mod` to `Rem`, `DivMod` to
+  `DivRem`, `mod` to `rem`, `divMod` to `divRem`.
+
+
+# Version 0.2
 
 * COMPILER ASSISTED BREAKING CHANGE: Removed `Div`, `Mod`, `Quote`
   and `Rem` in favour of more polymorphic `Div`, `Mod`.
diff --git a/kind-integer.cabal b/kind-integer.cabal
--- a/kind-integer.cabal
+++ b/kind-integer.cabal
@@ -1,6 +1,6 @@
 cabal-version: 2.4
 name: kind-integer
-version: 0.2
+version: 0.3
 license: BSD-3-Clause
 license-file: LICENSE
 extra-source-files: README.md CHANGELOG.md
diff --git a/lib/KindInteger.hs b/lib/KindInteger.hs
--- a/lib/KindInteger.hs
+++ b/lib/KindInteger.hs
@@ -43,13 +43,13 @@
 
     -- ** Division
   , Div
-  , Mod
-  , DivMod
+  , Rem
+  , DivRem
   , Round(..)
     -- *** Term-level
   , div
-  , mod
-  , divMod
+  , rem
+  , divRem
 
     -- * Comparisons
   , CmpInteger
@@ -73,7 +73,7 @@
 import GHC.TypeLits qualified as L
 import GHC.Types (TYPE, Constraint)
 import Numeric.Natural (Natural)
-import Prelude hiding (Integer, (==), (/=), divMod, div, mod)
+import Prelude hiding (Integer, (==), (/=), div, rem)
 import Prelude qualified as P
 import Unsafe.Coerce(unsafeCoerce)
 
@@ -236,7 +236,7 @@
 --------------------------------------------------------------------------------
 
 infixl 6 +, -
-infixl 7 *, `Div`, `Mod`
+infixl 7 *, `Div`, `Rem`
 infixr 8 ^
 
 -- | Whether a type-level 'Natural' is odd. /Zero/ is not considered odd.
@@ -297,28 +297,28 @@
 -- | Subtraction of type-level 'Integer's.
 type (a :: Integer) - (b :: Integer) = a + Negate b :: Integer
 
--- | Get both the quotient and the 'Mod'ulus of the 'Div'ision of
+-- | Get both the quotient and the 'Rem'ainder of the 'Div'ision of
 -- type-level 'Integer's @a@ and @b@ using the specified 'Round'ing @r@.
 --
 -- @
 -- forall (r :: 'Round') (a :: 'Integer') (b :: 'Integer').
 --   (b '/=' 0) =>
---     'DivMod' r a b '=='  '('Div' r a b, 'Mod' r a b)
+--     'DivRem' r a b '=='  '('Div' r a b, 'Rem' r a b)
 -- @
-type DivMod (r :: Round) (a :: Integer) (b :: Integer) =
-  '( Div r a b, Mod r a b ) :: (Integer, Integer)
+type DivRem (r :: Round) (a :: Integer) (b :: Integer) =
+  '( Div r a b, Rem r a b ) :: (Integer, Integer)
 
--- | Modulus of the division of type-level 'Integer' @a@ by @b@,
+-- | 'Rem'ainder of the division of type-level 'Integer' @a@ by @b@,
 -- using the specified 'Round'ing @r@.
 --
 -- @
 -- forall (r :: 'Round') (a :: 'Integer') (b :: 'Integer').
 --   (b '/=' 0) =>
---     'Mod' r a b  '=='  a '-' b '*' 'Div' r a b
+--     'Rem' r a b  '=='  a '-' b '*' 'Div' r a b
 -- @
 --
 -- * Division by /zero/ doesn't type-check.
-type Mod (r :: Round) (a :: Integer) (b :: Integer) =
+type Rem (r :: Round) (a :: Integer) (b :: Integer) =
   a - b * Div r a b :: Integer
 
 -- | Divide of type-level 'Integer' @a@ by @b@,
@@ -345,8 +345,6 @@
                                     (L.Div a b L.+ 1))
 
   Div__ 'RoundUp a b = Negate (Div__ 'RoundDown (Negate a) b)
---  Div__ 'RoundUp (P a) b = Negate (Div__ 'RoundDown (N a) b)
---  Div__ 'RoundUp (N a) b = Negate (Div__ 'RoundDown (P a) b)
 
   Div__ 'RoundZero (P a) b = Div__ 'RoundDown (P a) b
   Div__ 'RoundZero (N a) b = Negate (Div__ 'RoundDown (P a) b)
@@ -538,11 +536,11 @@
   -- ^ Round __up__ towards positive infinity.
   | RoundDown
   -- ^ Round __down__ towards negative infinity.  Also known as "Prelude"'s
-  -- 'P.floor'. This is the type of rounding used by "Prelude"'s 'P.div' and
-  -- 'P.mod'.
+  -- 'P.floor'. This is the type of rounding used by "Prelude"'s 'P.div',
+  -- 'P.mod', 'P.divMod', 'L.Div', 'L.Mod'.
   | RoundZero
   -- ^ Round towards __zero__.  Also known as "Prelude"'s 'P.truncate'. This is
-  -- the type of rounding used by "Prelude"'s 'P.quot' and 'P.rem'.
+  -- the type of rounding used by "Prelude"'s 'P.quot', 'P.rem', 'P.quotRem'.
   | RoundAway
   -- ^ Round __away__ from zero.
   | RoundHalfUp
@@ -568,78 +566,78 @@
 
 
 -- | Divide @a@ by @a@ using the specified 'Round'ing.
--- Return the quotient @q@. See 'divMod'.
+-- Return the quotient @q@. See 'divRem'.
 div :: Round
     -> P.Integer  -- ^ Dividend @a@.
     -> P.Integer  -- ^ Divisor @b@.
     -> P.Integer  -- ^ Quotient @q@.
-div r a b = fst (divMod r a b)
+div r a b = fst (divRem r a b)
 
 -- | Divide @a@ by @a@ using the specified 'Round'ing.
--- Return the modulus @m@. See 'divMod'.
-mod :: Round
+-- Return the remainder @m@. See 'divRem'.
+rem :: Round
     -> P.Integer  -- ^ Dividend @a@.
     -> P.Integer  -- ^ Divisor @b@.
-    -> P.Integer  -- ^ Modulus @m@.
-mod r a b = snd (divMod r a b)
+    -> P.Integer  -- ^ Remainder @m@.
+rem r a b = snd (divRem r a b)
 
 -- | Divide @a@ by @a@ using the specified 'Round'ing.
--- Return the quotient @q@ and the modulus @m@.
+-- Return the quotient @q@ and the remainder @m@.
 --
 -- @
 -- forall (r :: 'Round') (a :: 'P.Integer') (b :: 'P.Integer').
 --   (b 'P./=' 0) =>
---     case 'divMod' r a b of
+--     case 'divRem' r a b of
 --       (q, m) -> m 'P.==' a 'P.-' b 'P.*' q
 -- @
-divMod
+divRem
   :: Round
   -> P.Integer  -- ^ Dividend @a@.
   -> P.Integer  -- ^ Divisor @b@.
-  -> (P.Integer, P.Integer)  -- ^ Quotient @q@ and modulus @m@.
-{-# NOINLINE divMod #-}
-divMod RoundZero = \a (errDiv0 -> b) -> P.quotRem a b
-divMod RoundDown = \a (errDiv0 -> b) -> P.divMod a b
-divMod RoundUp = \a (errDiv0 -> b) -> _divModRoundUpNoCheck a b
-divMod RoundAway = \a (errDiv0 -> b) ->
+  -> (P.Integer, P.Integer)  -- ^ Quotient @q@ and remainder @m@.
+{-# NOINLINE divRem #-}
+divRem RoundZero = \a (errDiv0 -> b) -> P.quotRem a b
+divRem RoundDown = \a (errDiv0 -> b) -> P.divMod a b
+divRem RoundUp = \a (errDiv0 -> b) -> _divRemRoundUpNoCheck a b
+divRem RoundAway = \a (errDiv0 -> b) ->
   if xor (a < 0) (b < 0)
      then P.divMod a b
-     else _divModRoundUpNoCheck a b
-divMod RoundHalfUp = _divModHalf $ \_ _ up -> up
-divMod RoundHalfDown = _divModHalf $ \_ down _ -> down
-divMod RoundHalfZero = _divModHalf $ \neg down up ->
+     else _divRemRoundUpNoCheck a b
+divRem RoundHalfUp = _divRemHalf $ \_ _ up -> up
+divRem RoundHalfDown = _divRemHalf $ \_ down _ -> down
+divRem RoundHalfZero = _divRemHalf $ \neg down up ->
   if neg then up else down
-divMod RoundHalfAway = _divModHalf $ \neg down up ->
+divRem RoundHalfAway = _divRemHalf $ \neg down up ->
   if neg then down else up
-divMod RoundHalfEven = _divModHalf $ \_ down up ->
+divRem RoundHalfEven = _divRemHalf $ \_ down up ->
   if even (fst down) then down else up
-divMod RoundHalfOdd = _divModHalf $ \_ down up ->
+divRem RoundHalfOdd = _divRemHalf $ \_ down up ->
   if odd (fst down) then down else up
 
-_divModRoundUpNoCheck :: P.Integer -> P.Integer -> (P.Integer, P.Integer)
-_divModRoundUpNoCheck a b =
+_divRemRoundUpNoCheck :: P.Integer -> P.Integer -> (P.Integer, P.Integer)
+_divRemRoundUpNoCheck a b =
   let q = negate (P.div (negate a) b)
   in (q, a - b * q)
-{-# INLINE _divModRoundUpNoCheck #-}
+{-# INLINE _divRemRoundUpNoCheck #-}
 
-_divModHalf
+_divRemHalf
   :: (Bool ->
       (P.Integer, P.Integer) ->
       (P.Integer, P.Integer) ->
       (P.Integer, P.Integer))
-  -- ^ Negative -> divMod RoundDown -> divMod RoundDown -> Result
+  -- ^ Negative -> divRem RoundDown -> divRem RoundDown -> Result
   -> P.Integer  -- ^ Dividend
   -> P.Integer  -- ^ Divisor
   -> (P.Integer, P.Integer)
-_divModHalf f = \a (errDiv0 -> b) ->
+_divRemHalf f = \a (errDiv0 -> b) ->
   let neg  = xor (a < 0) (b < 0)
       down = P.divMod a b
-      up   = _divModRoundUpNoCheck a b
+      up   = _divRemRoundUpNoCheck a b
   in  case compare (a P.% b - toRational (fst down)) (1 P.:% 2) of
         LT -> down
         GT -> up
         EQ -> f neg down up
-{-# INLINE _divModHalf #-}
+{-# INLINE _divRemHalf #-}
 
 --------------------------------------------------------------------------------
 -- Extras
diff --git a/test/Main.hs b/test/Main.hs
--- a/test/Main.hs
+++ b/test/Main.hs
@@ -367,2954 +367,2954 @@
             == fmap (\(K.SomeInteger p) -> K.integerVal p)
                     (readMaybe @K.SomeInteger str)
 
-  ] <> testsDivMod
-
-testsDivMod :: [IO Bool]
-testsDivMod = do
-  b :: P.Integer <- [-5 .. 5]
-  guard (b P./= 0)
-  a :: P.Integer <- [-5 .. 5]
-  r :: K.Round <- [minBound .. maxBound]
-  let tname :: String -> ShowS
-      tname t = showString t . showChar ' ' . shows r . showChar ' '
-              . shows a . showChar ' ' . shows b
-  [ assert (tname "divMod" "") $ case K.divMod r a b of
-                                   (q, m) -> m == a - b * q
-    , assert (tname "div" "") $ fst (K.divMod r a b) == K.div r a b
-    , assert (tname "mod" "") $ snd (K.divMod r a b) == K.mod r a b
-    ]
-
-
---------------------------------------------------------------------------------
-
-_divModTestCode :: String
-_divModTestCode = unlines $ List.sort $ do
-  b <- [-4 .. 4]
-  guard (b P./= 0)
-  a <- [-4 .. 4]
-  r <- [minBound..maxBound]
-  let (q, m) = K.divMod r a b
-      sname :: String -> ShowS
-      sname t = showString "_test_"
-              . showString t
-              . showChar '_'
-              . showsPrec 0 r
-              . showChar '_'
-              . showChar (if a < 0 then 'N' else 'P')
-              . shows (abs a)
-              . showChar '_'
-              . showChar (if b < 0 then 'N' else 'P')
-              . shows (abs b)
-      sDiv :: ShowS
-      sDiv = sname "Div"
-           . showString " :: Dict (K.Div 'K."
-           . shows r
-           . showChar ' '
-           . K.showsPrecTypeLit 11 (K.fromPrelude a)
-           . showChar ' '
-           . K.showsPrecTypeLit 11 (K.fromPrelude b)
-           . showString " ~ "
-           . K.showsPrecTypeLit 0 (K.fromPrelude q)
-           . showString ")\n"
-           . sname "Div"
-           . showString " =  Dict"
-      sMod :: ShowS
-      sMod = sname "Mod"
-           . showString " :: Dict (K.Mod 'K."
-           . shows r
-           . showChar ' '
-           . K.showsPrecTypeLit 11 (K.fromPrelude a)
-           . showChar ' '
-           . K.showsPrecTypeLit 11 (K.fromPrelude b)
-           . showString " ~ "
-           . K.showsPrecTypeLit 0 (K.fromPrelude m)
-           . showString ")\n"
-           . sname "Mod"
-           . showString " =  Dict"
-      ss :: ShowS
-      ss = sDiv . showChar '\n' . sMod
-  pure (ss "")
-
-
--- The following tests are generated by `_divModTestCode` in this module.
--- Copy and paste by hand.
-_test_Div_RoundAway_N1_N1 :: Dict (K.Div 'K.RoundAway (N 1) (N 1) ~ P 1)
-_test_Div_RoundAway_N1_N1 =  Dict
-_test_Mod_RoundAway_N1_N1 :: Dict (K.Mod 'K.RoundAway (N 1) (N 1) ~ P 0)
-_test_Mod_RoundAway_N1_N1 =  Dict
-_test_Div_RoundAway_N1_N2 :: Dict (K.Div 'K.RoundAway (N 1) (N 2) ~ P 1)
-_test_Div_RoundAway_N1_N2 =  Dict
-_test_Mod_RoundAway_N1_N2 :: Dict (K.Mod 'K.RoundAway (N 1) (N 2) ~ P 1)
-_test_Mod_RoundAway_N1_N2 =  Dict
-_test_Div_RoundAway_N1_N3 :: Dict (K.Div 'K.RoundAway (N 1) (N 3) ~ P 1)
-_test_Div_RoundAway_N1_N3 =  Dict
-_test_Mod_RoundAway_N1_N3 :: Dict (K.Mod 'K.RoundAway (N 1) (N 3) ~ P 2)
-_test_Mod_RoundAway_N1_N3 =  Dict
-_test_Div_RoundAway_N1_N4 :: Dict (K.Div 'K.RoundAway (N 1) (N 4) ~ P 1)
-_test_Div_RoundAway_N1_N4 =  Dict
-_test_Mod_RoundAway_N1_N4 :: Dict (K.Mod 'K.RoundAway (N 1) (N 4) ~ P 3)
-_test_Mod_RoundAway_N1_N4 =  Dict
-_test_Div_RoundAway_N1_P1 :: Dict (K.Div 'K.RoundAway (N 1) (P 1) ~ N 1)
-_test_Div_RoundAway_N1_P1 =  Dict
-_test_Mod_RoundAway_N1_P1 :: Dict (K.Mod 'K.RoundAway (N 1) (P 1) ~ P 0)
-_test_Mod_RoundAway_N1_P1 =  Dict
-_test_Div_RoundAway_N1_P2 :: Dict (K.Div 'K.RoundAway (N 1) (P 2) ~ N 1)
-_test_Div_RoundAway_N1_P2 =  Dict
-_test_Mod_RoundAway_N1_P2 :: Dict (K.Mod 'K.RoundAway (N 1) (P 2) ~ P 1)
-_test_Mod_RoundAway_N1_P2 =  Dict
-_test_Div_RoundAway_N1_P3 :: Dict (K.Div 'K.RoundAway (N 1) (P 3) ~ N 1)
-_test_Div_RoundAway_N1_P3 =  Dict
-_test_Mod_RoundAway_N1_P3 :: Dict (K.Mod 'K.RoundAway (N 1) (P 3) ~ P 2)
-_test_Mod_RoundAway_N1_P3 =  Dict
-_test_Div_RoundAway_N1_P4 :: Dict (K.Div 'K.RoundAway (N 1) (P 4) ~ N 1)
-_test_Div_RoundAway_N1_P4 =  Dict
-_test_Mod_RoundAway_N1_P4 :: Dict (K.Mod 'K.RoundAway (N 1) (P 4) ~ P 3)
-_test_Mod_RoundAway_N1_P4 =  Dict
-_test_Div_RoundAway_N2_N1 :: Dict (K.Div 'K.RoundAway (N 2) (N 1) ~ P 2)
-_test_Div_RoundAway_N2_N1 =  Dict
-_test_Mod_RoundAway_N2_N1 :: Dict (K.Mod 'K.RoundAway (N 2) (N 1) ~ P 0)
-_test_Mod_RoundAway_N2_N1 =  Dict
-_test_Div_RoundAway_N2_N2 :: Dict (K.Div 'K.RoundAway (N 2) (N 2) ~ P 1)
-_test_Div_RoundAway_N2_N2 =  Dict
-_test_Mod_RoundAway_N2_N2 :: Dict (K.Mod 'K.RoundAway (N 2) (N 2) ~ P 0)
-_test_Mod_RoundAway_N2_N2 =  Dict
-_test_Div_RoundAway_N2_N3 :: Dict (K.Div 'K.RoundAway (N 2) (N 3) ~ P 1)
-_test_Div_RoundAway_N2_N3 =  Dict
-_test_Mod_RoundAway_N2_N3 :: Dict (K.Mod 'K.RoundAway (N 2) (N 3) ~ P 1)
-_test_Mod_RoundAway_N2_N3 =  Dict
-_test_Div_RoundAway_N2_N4 :: Dict (K.Div 'K.RoundAway (N 2) (N 4) ~ P 1)
-_test_Div_RoundAway_N2_N4 =  Dict
-_test_Mod_RoundAway_N2_N4 :: Dict (K.Mod 'K.RoundAway (N 2) (N 4) ~ P 2)
-_test_Mod_RoundAway_N2_N4 =  Dict
-_test_Div_RoundAway_N2_P1 :: Dict (K.Div 'K.RoundAway (N 2) (P 1) ~ N 2)
-_test_Div_RoundAway_N2_P1 =  Dict
-_test_Mod_RoundAway_N2_P1 :: Dict (K.Mod 'K.RoundAway (N 2) (P 1) ~ P 0)
-_test_Mod_RoundAway_N2_P1 =  Dict
-_test_Div_RoundAway_N2_P2 :: Dict (K.Div 'K.RoundAway (N 2) (P 2) ~ N 1)
-_test_Div_RoundAway_N2_P2 =  Dict
-_test_Mod_RoundAway_N2_P2 :: Dict (K.Mod 'K.RoundAway (N 2) (P 2) ~ P 0)
-_test_Mod_RoundAway_N2_P2 =  Dict
-_test_Div_RoundAway_N2_P3 :: Dict (K.Div 'K.RoundAway (N 2) (P 3) ~ N 1)
-_test_Div_RoundAway_N2_P3 =  Dict
-_test_Mod_RoundAway_N2_P3 :: Dict (K.Mod 'K.RoundAway (N 2) (P 3) ~ P 1)
-_test_Mod_RoundAway_N2_P3 =  Dict
-_test_Div_RoundAway_N2_P4 :: Dict (K.Div 'K.RoundAway (N 2) (P 4) ~ N 1)
-_test_Div_RoundAway_N2_P4 =  Dict
-_test_Mod_RoundAway_N2_P4 :: Dict (K.Mod 'K.RoundAway (N 2) (P 4) ~ P 2)
-_test_Mod_RoundAway_N2_P4 =  Dict
-_test_Div_RoundAway_N3_N1 :: Dict (K.Div 'K.RoundAway (N 3) (N 1) ~ P 3)
-_test_Div_RoundAway_N3_N1 =  Dict
-_test_Mod_RoundAway_N3_N1 :: Dict (K.Mod 'K.RoundAway (N 3) (N 1) ~ P 0)
-_test_Mod_RoundAway_N3_N1 =  Dict
-_test_Div_RoundAway_N3_N2 :: Dict (K.Div 'K.RoundAway (N 3) (N 2) ~ P 2)
-_test_Div_RoundAway_N3_N2 =  Dict
-_test_Mod_RoundAway_N3_N2 :: Dict (K.Mod 'K.RoundAway (N 3) (N 2) ~ P 1)
-_test_Mod_RoundAway_N3_N2 =  Dict
-_test_Div_RoundAway_N3_N3 :: Dict (K.Div 'K.RoundAway (N 3) (N 3) ~ P 1)
-_test_Div_RoundAway_N3_N3 =  Dict
-_test_Mod_RoundAway_N3_N3 :: Dict (K.Mod 'K.RoundAway (N 3) (N 3) ~ P 0)
-_test_Mod_RoundAway_N3_N3 =  Dict
-_test_Div_RoundAway_N3_N4 :: Dict (K.Div 'K.RoundAway (N 3) (N 4) ~ P 1)
-_test_Div_RoundAway_N3_N4 =  Dict
-_test_Mod_RoundAway_N3_N4 :: Dict (K.Mod 'K.RoundAway (N 3) (N 4) ~ P 1)
-_test_Mod_RoundAway_N3_N4 =  Dict
-_test_Div_RoundAway_N3_P1 :: Dict (K.Div 'K.RoundAway (N 3) (P 1) ~ N 3)
-_test_Div_RoundAway_N3_P1 =  Dict
-_test_Mod_RoundAway_N3_P1 :: Dict (K.Mod 'K.RoundAway (N 3) (P 1) ~ P 0)
-_test_Mod_RoundAway_N3_P1 =  Dict
-_test_Div_RoundAway_N3_P2 :: Dict (K.Div 'K.RoundAway (N 3) (P 2) ~ N 2)
-_test_Div_RoundAway_N3_P2 =  Dict
-_test_Mod_RoundAway_N3_P2 :: Dict (K.Mod 'K.RoundAway (N 3) (P 2) ~ P 1)
-_test_Mod_RoundAway_N3_P2 =  Dict
-_test_Div_RoundAway_N3_P3 :: Dict (K.Div 'K.RoundAway (N 3) (P 3) ~ N 1)
-_test_Div_RoundAway_N3_P3 =  Dict
-_test_Mod_RoundAway_N3_P3 :: Dict (K.Mod 'K.RoundAway (N 3) (P 3) ~ P 0)
-_test_Mod_RoundAway_N3_P3 =  Dict
-_test_Div_RoundAway_N3_P4 :: Dict (K.Div 'K.RoundAway (N 3) (P 4) ~ N 1)
-_test_Div_RoundAway_N3_P4 =  Dict
-_test_Mod_RoundAway_N3_P4 :: Dict (K.Mod 'K.RoundAway (N 3) (P 4) ~ P 1)
-_test_Mod_RoundAway_N3_P4 =  Dict
-_test_Div_RoundAway_N4_N1 :: Dict (K.Div 'K.RoundAway (N 4) (N 1) ~ P 4)
-_test_Div_RoundAway_N4_N1 =  Dict
-_test_Mod_RoundAway_N4_N1 :: Dict (K.Mod 'K.RoundAway (N 4) (N 1) ~ P 0)
-_test_Mod_RoundAway_N4_N1 =  Dict
-_test_Div_RoundAway_N4_N2 :: Dict (K.Div 'K.RoundAway (N 4) (N 2) ~ P 2)
-_test_Div_RoundAway_N4_N2 =  Dict
-_test_Mod_RoundAway_N4_N2 :: Dict (K.Mod 'K.RoundAway (N 4) (N 2) ~ P 0)
-_test_Mod_RoundAway_N4_N2 =  Dict
-_test_Div_RoundAway_N4_N3 :: Dict (K.Div 'K.RoundAway (N 4) (N 3) ~ P 2)
-_test_Div_RoundAway_N4_N3 =  Dict
-_test_Mod_RoundAway_N4_N3 :: Dict (K.Mod 'K.RoundAway (N 4) (N 3) ~ P 2)
-_test_Mod_RoundAway_N4_N3 =  Dict
-_test_Div_RoundAway_N4_N4 :: Dict (K.Div 'K.RoundAway (N 4) (N 4) ~ P 1)
-_test_Div_RoundAway_N4_N4 =  Dict
-_test_Mod_RoundAway_N4_N4 :: Dict (K.Mod 'K.RoundAway (N 4) (N 4) ~ P 0)
-_test_Mod_RoundAway_N4_N4 =  Dict
-_test_Div_RoundAway_N4_P1 :: Dict (K.Div 'K.RoundAway (N 4) (P 1) ~ N 4)
-_test_Div_RoundAway_N4_P1 =  Dict
-_test_Mod_RoundAway_N4_P1 :: Dict (K.Mod 'K.RoundAway (N 4) (P 1) ~ P 0)
-_test_Mod_RoundAway_N4_P1 =  Dict
-_test_Div_RoundAway_N4_P2 :: Dict (K.Div 'K.RoundAway (N 4) (P 2) ~ N 2)
-_test_Div_RoundAway_N4_P2 =  Dict
-_test_Mod_RoundAway_N4_P2 :: Dict (K.Mod 'K.RoundAway (N 4) (P 2) ~ P 0)
-_test_Mod_RoundAway_N4_P2 =  Dict
-_test_Div_RoundAway_N4_P3 :: Dict (K.Div 'K.RoundAway (N 4) (P 3) ~ N 2)
-_test_Div_RoundAway_N4_P3 =  Dict
-_test_Mod_RoundAway_N4_P3 :: Dict (K.Mod 'K.RoundAway (N 4) (P 3) ~ P 2)
-_test_Mod_RoundAway_N4_P3 =  Dict
-_test_Div_RoundAway_N4_P4 :: Dict (K.Div 'K.RoundAway (N 4) (P 4) ~ N 1)
-_test_Div_RoundAway_N4_P4 =  Dict
-_test_Mod_RoundAway_N4_P4 :: Dict (K.Mod 'K.RoundAway (N 4) (P 4) ~ P 0)
-_test_Mod_RoundAway_N4_P4 =  Dict
-_test_Div_RoundAway_P0_N1 :: Dict (K.Div 'K.RoundAway (P 0) (N 1) ~ P 0)
-_test_Div_RoundAway_P0_N1 =  Dict
-_test_Mod_RoundAway_P0_N1 :: Dict (K.Mod 'K.RoundAway (P 0) (N 1) ~ P 0)
-_test_Mod_RoundAway_P0_N1 =  Dict
-_test_Div_RoundAway_P0_N2 :: Dict (K.Div 'K.RoundAway (P 0) (N 2) ~ P 0)
-_test_Div_RoundAway_P0_N2 =  Dict
-_test_Mod_RoundAway_P0_N2 :: Dict (K.Mod 'K.RoundAway (P 0) (N 2) ~ P 0)
-_test_Mod_RoundAway_P0_N2 =  Dict
-_test_Div_RoundAway_P0_N3 :: Dict (K.Div 'K.RoundAway (P 0) (N 3) ~ P 0)
-_test_Div_RoundAway_P0_N3 =  Dict
-_test_Mod_RoundAway_P0_N3 :: Dict (K.Mod 'K.RoundAway (P 0) (N 3) ~ P 0)
-_test_Mod_RoundAway_P0_N3 =  Dict
-_test_Div_RoundAway_P0_N4 :: Dict (K.Div 'K.RoundAway (P 0) (N 4) ~ P 0)
-_test_Div_RoundAway_P0_N4 =  Dict
-_test_Mod_RoundAway_P0_N4 :: Dict (K.Mod 'K.RoundAway (P 0) (N 4) ~ P 0)
-_test_Mod_RoundAway_P0_N4 =  Dict
-_test_Div_RoundAway_P0_P1 :: Dict (K.Div 'K.RoundAway (P 0) (P 1) ~ P 0)
-_test_Div_RoundAway_P0_P1 =  Dict
-_test_Mod_RoundAway_P0_P1 :: Dict (K.Mod 'K.RoundAway (P 0) (P 1) ~ P 0)
-_test_Mod_RoundAway_P0_P1 =  Dict
-_test_Div_RoundAway_P0_P2 :: Dict (K.Div 'K.RoundAway (P 0) (P 2) ~ P 0)
-_test_Div_RoundAway_P0_P2 =  Dict
-_test_Mod_RoundAway_P0_P2 :: Dict (K.Mod 'K.RoundAway (P 0) (P 2) ~ P 0)
-_test_Mod_RoundAway_P0_P2 =  Dict
-_test_Div_RoundAway_P0_P3 :: Dict (K.Div 'K.RoundAway (P 0) (P 3) ~ P 0)
-_test_Div_RoundAway_P0_P3 =  Dict
-_test_Mod_RoundAway_P0_P3 :: Dict (K.Mod 'K.RoundAway (P 0) (P 3) ~ P 0)
-_test_Mod_RoundAway_P0_P3 =  Dict
-_test_Div_RoundAway_P0_P4 :: Dict (K.Div 'K.RoundAway (P 0) (P 4) ~ P 0)
-_test_Div_RoundAway_P0_P4 =  Dict
-_test_Mod_RoundAway_P0_P4 :: Dict (K.Mod 'K.RoundAway (P 0) (P 4) ~ P 0)
-_test_Mod_RoundAway_P0_P4 =  Dict
-_test_Div_RoundAway_P1_N1 :: Dict (K.Div 'K.RoundAway (P 1) (N 1) ~ N 1)
-_test_Div_RoundAway_P1_N1 =  Dict
-_test_Mod_RoundAway_P1_N1 :: Dict (K.Mod 'K.RoundAway (P 1) (N 1) ~ P 0)
-_test_Mod_RoundAway_P1_N1 =  Dict
-_test_Div_RoundAway_P1_N2 :: Dict (K.Div 'K.RoundAway (P 1) (N 2) ~ N 1)
-_test_Div_RoundAway_P1_N2 =  Dict
-_test_Mod_RoundAway_P1_N2 :: Dict (K.Mod 'K.RoundAway (P 1) (N 2) ~ N 1)
-_test_Mod_RoundAway_P1_N2 =  Dict
-_test_Div_RoundAway_P1_N3 :: Dict (K.Div 'K.RoundAway (P 1) (N 3) ~ N 1)
-_test_Div_RoundAway_P1_N3 =  Dict
-_test_Mod_RoundAway_P1_N3 :: Dict (K.Mod 'K.RoundAway (P 1) (N 3) ~ N 2)
-_test_Mod_RoundAway_P1_N3 =  Dict
-_test_Div_RoundAway_P1_N4 :: Dict (K.Div 'K.RoundAway (P 1) (N 4) ~ N 1)
-_test_Div_RoundAway_P1_N4 =  Dict
-_test_Mod_RoundAway_P1_N4 :: Dict (K.Mod 'K.RoundAway (P 1) (N 4) ~ N 3)
-_test_Mod_RoundAway_P1_N4 =  Dict
-_test_Div_RoundAway_P1_P1 :: Dict (K.Div 'K.RoundAway (P 1) (P 1) ~ P 1)
-_test_Div_RoundAway_P1_P1 =  Dict
-_test_Mod_RoundAway_P1_P1 :: Dict (K.Mod 'K.RoundAway (P 1) (P 1) ~ P 0)
-_test_Mod_RoundAway_P1_P1 =  Dict
-_test_Div_RoundAway_P1_P2 :: Dict (K.Div 'K.RoundAway (P 1) (P 2) ~ P 1)
-_test_Div_RoundAway_P1_P2 =  Dict
-_test_Mod_RoundAway_P1_P2 :: Dict (K.Mod 'K.RoundAway (P 1) (P 2) ~ N 1)
-_test_Mod_RoundAway_P1_P2 =  Dict
-_test_Div_RoundAway_P1_P3 :: Dict (K.Div 'K.RoundAway (P 1) (P 3) ~ P 1)
-_test_Div_RoundAway_P1_P3 =  Dict
-_test_Mod_RoundAway_P1_P3 :: Dict (K.Mod 'K.RoundAway (P 1) (P 3) ~ N 2)
-_test_Mod_RoundAway_P1_P3 =  Dict
-_test_Div_RoundAway_P1_P4 :: Dict (K.Div 'K.RoundAway (P 1) (P 4) ~ P 1)
-_test_Div_RoundAway_P1_P4 =  Dict
-_test_Mod_RoundAway_P1_P4 :: Dict (K.Mod 'K.RoundAway (P 1) (P 4) ~ N 3)
-_test_Mod_RoundAway_P1_P4 =  Dict
-_test_Div_RoundAway_P2_N1 :: Dict (K.Div 'K.RoundAway (P 2) (N 1) ~ N 2)
-_test_Div_RoundAway_P2_N1 =  Dict
-_test_Mod_RoundAway_P2_N1 :: Dict (K.Mod 'K.RoundAway (P 2) (N 1) ~ P 0)
-_test_Mod_RoundAway_P2_N1 =  Dict
-_test_Div_RoundAway_P2_N2 :: Dict (K.Div 'K.RoundAway (P 2) (N 2) ~ N 1)
-_test_Div_RoundAway_P2_N2 =  Dict
-_test_Mod_RoundAway_P2_N2 :: Dict (K.Mod 'K.RoundAway (P 2) (N 2) ~ P 0)
-_test_Mod_RoundAway_P2_N2 =  Dict
-_test_Div_RoundAway_P2_N3 :: Dict (K.Div 'K.RoundAway (P 2) (N 3) ~ N 1)
-_test_Div_RoundAway_P2_N3 =  Dict
-_test_Mod_RoundAway_P2_N3 :: Dict (K.Mod 'K.RoundAway (P 2) (N 3) ~ N 1)
-_test_Mod_RoundAway_P2_N3 =  Dict
-_test_Div_RoundAway_P2_N4 :: Dict (K.Div 'K.RoundAway (P 2) (N 4) ~ N 1)
-_test_Div_RoundAway_P2_N4 =  Dict
-_test_Mod_RoundAway_P2_N4 :: Dict (K.Mod 'K.RoundAway (P 2) (N 4) ~ N 2)
-_test_Mod_RoundAway_P2_N4 =  Dict
-_test_Div_RoundAway_P2_P1 :: Dict (K.Div 'K.RoundAway (P 2) (P 1) ~ P 2)
-_test_Div_RoundAway_P2_P1 =  Dict
-_test_Mod_RoundAway_P2_P1 :: Dict (K.Mod 'K.RoundAway (P 2) (P 1) ~ P 0)
-_test_Mod_RoundAway_P2_P1 =  Dict
-_test_Div_RoundAway_P2_P2 :: Dict (K.Div 'K.RoundAway (P 2) (P 2) ~ P 1)
-_test_Div_RoundAway_P2_P2 =  Dict
-_test_Mod_RoundAway_P2_P2 :: Dict (K.Mod 'K.RoundAway (P 2) (P 2) ~ P 0)
-_test_Mod_RoundAway_P2_P2 =  Dict
-_test_Div_RoundAway_P2_P3 :: Dict (K.Div 'K.RoundAway (P 2) (P 3) ~ P 1)
-_test_Div_RoundAway_P2_P3 =  Dict
-_test_Mod_RoundAway_P2_P3 :: Dict (K.Mod 'K.RoundAway (P 2) (P 3) ~ N 1)
-_test_Mod_RoundAway_P2_P3 =  Dict
-_test_Div_RoundAway_P2_P4 :: Dict (K.Div 'K.RoundAway (P 2) (P 4) ~ P 1)
-_test_Div_RoundAway_P2_P4 =  Dict
-_test_Mod_RoundAway_P2_P4 :: Dict (K.Mod 'K.RoundAway (P 2) (P 4) ~ N 2)
-_test_Mod_RoundAway_P2_P4 =  Dict
-_test_Div_RoundAway_P3_N1 :: Dict (K.Div 'K.RoundAway (P 3) (N 1) ~ N 3)
-_test_Div_RoundAway_P3_N1 =  Dict
-_test_Mod_RoundAway_P3_N1 :: Dict (K.Mod 'K.RoundAway (P 3) (N 1) ~ P 0)
-_test_Mod_RoundAway_P3_N1 =  Dict
-_test_Div_RoundAway_P3_N2 :: Dict (K.Div 'K.RoundAway (P 3) (N 2) ~ N 2)
-_test_Div_RoundAway_P3_N2 =  Dict
-_test_Mod_RoundAway_P3_N2 :: Dict (K.Mod 'K.RoundAway (P 3) (N 2) ~ N 1)
-_test_Mod_RoundAway_P3_N2 =  Dict
-_test_Div_RoundAway_P3_N3 :: Dict (K.Div 'K.RoundAway (P 3) (N 3) ~ N 1)
-_test_Div_RoundAway_P3_N3 =  Dict
-_test_Mod_RoundAway_P3_N3 :: Dict (K.Mod 'K.RoundAway (P 3) (N 3) ~ P 0)
-_test_Mod_RoundAway_P3_N3 =  Dict
-_test_Div_RoundAway_P3_N4 :: Dict (K.Div 'K.RoundAway (P 3) (N 4) ~ N 1)
-_test_Div_RoundAway_P3_N4 =  Dict
-_test_Mod_RoundAway_P3_N4 :: Dict (K.Mod 'K.RoundAway (P 3) (N 4) ~ N 1)
-_test_Mod_RoundAway_P3_N4 =  Dict
-_test_Div_RoundAway_P3_P1 :: Dict (K.Div 'K.RoundAway (P 3) (P 1) ~ P 3)
-_test_Div_RoundAway_P3_P1 =  Dict
-_test_Mod_RoundAway_P3_P1 :: Dict (K.Mod 'K.RoundAway (P 3) (P 1) ~ P 0)
-_test_Mod_RoundAway_P3_P1 =  Dict
-_test_Div_RoundAway_P3_P2 :: Dict (K.Div 'K.RoundAway (P 3) (P 2) ~ P 2)
-_test_Div_RoundAway_P3_P2 =  Dict
-_test_Mod_RoundAway_P3_P2 :: Dict (K.Mod 'K.RoundAway (P 3) (P 2) ~ N 1)
-_test_Mod_RoundAway_P3_P2 =  Dict
-_test_Div_RoundAway_P3_P3 :: Dict (K.Div 'K.RoundAway (P 3) (P 3) ~ P 1)
-_test_Div_RoundAway_P3_P3 =  Dict
-_test_Mod_RoundAway_P3_P3 :: Dict (K.Mod 'K.RoundAway (P 3) (P 3) ~ P 0)
-_test_Mod_RoundAway_P3_P3 =  Dict
-_test_Div_RoundAway_P3_P4 :: Dict (K.Div 'K.RoundAway (P 3) (P 4) ~ P 1)
-_test_Div_RoundAway_P3_P4 =  Dict
-_test_Mod_RoundAway_P3_P4 :: Dict (K.Mod 'K.RoundAway (P 3) (P 4) ~ N 1)
-_test_Mod_RoundAway_P3_P4 =  Dict
-_test_Div_RoundAway_P4_N1 :: Dict (K.Div 'K.RoundAway (P 4) (N 1) ~ N 4)
-_test_Div_RoundAway_P4_N1 =  Dict
-_test_Mod_RoundAway_P4_N1 :: Dict (K.Mod 'K.RoundAway (P 4) (N 1) ~ P 0)
-_test_Mod_RoundAway_P4_N1 =  Dict
-_test_Div_RoundAway_P4_N2 :: Dict (K.Div 'K.RoundAway (P 4) (N 2) ~ N 2)
-_test_Div_RoundAway_P4_N2 =  Dict
-_test_Mod_RoundAway_P4_N2 :: Dict (K.Mod 'K.RoundAway (P 4) (N 2) ~ P 0)
-_test_Mod_RoundAway_P4_N2 =  Dict
-_test_Div_RoundAway_P4_N3 :: Dict (K.Div 'K.RoundAway (P 4) (N 3) ~ N 2)
-_test_Div_RoundAway_P4_N3 =  Dict
-_test_Mod_RoundAway_P4_N3 :: Dict (K.Mod 'K.RoundAway (P 4) (N 3) ~ N 2)
-_test_Mod_RoundAway_P4_N3 =  Dict
-_test_Div_RoundAway_P4_N4 :: Dict (K.Div 'K.RoundAway (P 4) (N 4) ~ N 1)
-_test_Div_RoundAway_P4_N4 =  Dict
-_test_Mod_RoundAway_P4_N4 :: Dict (K.Mod 'K.RoundAway (P 4) (N 4) ~ P 0)
-_test_Mod_RoundAway_P4_N4 =  Dict
-_test_Div_RoundAway_P4_P1 :: Dict (K.Div 'K.RoundAway (P 4) (P 1) ~ P 4)
-_test_Div_RoundAway_P4_P1 =  Dict
-_test_Mod_RoundAway_P4_P1 :: Dict (K.Mod 'K.RoundAway (P 4) (P 1) ~ P 0)
-_test_Mod_RoundAway_P4_P1 =  Dict
-_test_Div_RoundAway_P4_P2 :: Dict (K.Div 'K.RoundAway (P 4) (P 2) ~ P 2)
-_test_Div_RoundAway_P4_P2 =  Dict
-_test_Mod_RoundAway_P4_P2 :: Dict (K.Mod 'K.RoundAway (P 4) (P 2) ~ P 0)
-_test_Mod_RoundAway_P4_P2 =  Dict
-_test_Div_RoundAway_P4_P3 :: Dict (K.Div 'K.RoundAway (P 4) (P 3) ~ P 2)
-_test_Div_RoundAway_P4_P3 =  Dict
-_test_Mod_RoundAway_P4_P3 :: Dict (K.Mod 'K.RoundAway (P 4) (P 3) ~ N 2)
-_test_Mod_RoundAway_P4_P3 =  Dict
-_test_Div_RoundAway_P4_P4 :: Dict (K.Div 'K.RoundAway (P 4) (P 4) ~ P 1)
-_test_Div_RoundAway_P4_P4 =  Dict
-_test_Mod_RoundAway_P4_P4 :: Dict (K.Mod 'K.RoundAway (P 4) (P 4) ~ P 0)
-_test_Mod_RoundAway_P4_P4 =  Dict
-_test_Div_RoundDown_N1_N1 :: Dict (K.Div 'K.RoundDown (N 1) (N 1) ~ P 1)
-_test_Div_RoundDown_N1_N1 =  Dict
-_test_Mod_RoundDown_N1_N1 :: Dict (K.Mod 'K.RoundDown (N 1) (N 1) ~ P 0)
-_test_Mod_RoundDown_N1_N1 =  Dict
-_test_Div_RoundDown_N1_N2 :: Dict (K.Div 'K.RoundDown (N 1) (N 2) ~ P 0)
-_test_Div_RoundDown_N1_N2 =  Dict
-_test_Mod_RoundDown_N1_N2 :: Dict (K.Mod 'K.RoundDown (N 1) (N 2) ~ N 1)
-_test_Mod_RoundDown_N1_N2 =  Dict
-_test_Div_RoundDown_N1_N3 :: Dict (K.Div 'K.RoundDown (N 1) (N 3) ~ P 0)
-_test_Div_RoundDown_N1_N3 =  Dict
-_test_Mod_RoundDown_N1_N3 :: Dict (K.Mod 'K.RoundDown (N 1) (N 3) ~ N 1)
-_test_Mod_RoundDown_N1_N3 =  Dict
-_test_Div_RoundDown_N1_N4 :: Dict (K.Div 'K.RoundDown (N 1) (N 4) ~ P 0)
-_test_Div_RoundDown_N1_N4 =  Dict
-_test_Mod_RoundDown_N1_N4 :: Dict (K.Mod 'K.RoundDown (N 1) (N 4) ~ N 1)
-_test_Mod_RoundDown_N1_N4 =  Dict
-_test_Div_RoundDown_N1_P1 :: Dict (K.Div 'K.RoundDown (N 1) (P 1) ~ N 1)
-_test_Div_RoundDown_N1_P1 =  Dict
-_test_Mod_RoundDown_N1_P1 :: Dict (K.Mod 'K.RoundDown (N 1) (P 1) ~ P 0)
-_test_Mod_RoundDown_N1_P1 =  Dict
-_test_Div_RoundDown_N1_P2 :: Dict (K.Div 'K.RoundDown (N 1) (P 2) ~ N 1)
-_test_Div_RoundDown_N1_P2 =  Dict
-_test_Mod_RoundDown_N1_P2 :: Dict (K.Mod 'K.RoundDown (N 1) (P 2) ~ P 1)
-_test_Mod_RoundDown_N1_P2 =  Dict
-_test_Div_RoundDown_N1_P3 :: Dict (K.Div 'K.RoundDown (N 1) (P 3) ~ N 1)
-_test_Div_RoundDown_N1_P3 =  Dict
-_test_Mod_RoundDown_N1_P3 :: Dict (K.Mod 'K.RoundDown (N 1) (P 3) ~ P 2)
-_test_Mod_RoundDown_N1_P3 =  Dict
-_test_Div_RoundDown_N1_P4 :: Dict (K.Div 'K.RoundDown (N 1) (P 4) ~ N 1)
-_test_Div_RoundDown_N1_P4 =  Dict
-_test_Mod_RoundDown_N1_P4 :: Dict (K.Mod 'K.RoundDown (N 1) (P 4) ~ P 3)
-_test_Mod_RoundDown_N1_P4 =  Dict
-_test_Div_RoundDown_N2_N1 :: Dict (K.Div 'K.RoundDown (N 2) (N 1) ~ P 2)
-_test_Div_RoundDown_N2_N1 =  Dict
-_test_Mod_RoundDown_N2_N1 :: Dict (K.Mod 'K.RoundDown (N 2) (N 1) ~ P 0)
-_test_Mod_RoundDown_N2_N1 =  Dict
-_test_Div_RoundDown_N2_N2 :: Dict (K.Div 'K.RoundDown (N 2) (N 2) ~ P 1)
-_test_Div_RoundDown_N2_N2 =  Dict
-_test_Mod_RoundDown_N2_N2 :: Dict (K.Mod 'K.RoundDown (N 2) (N 2) ~ P 0)
-_test_Mod_RoundDown_N2_N2 =  Dict
-_test_Div_RoundDown_N2_N3 :: Dict (K.Div 'K.RoundDown (N 2) (N 3) ~ P 0)
-_test_Div_RoundDown_N2_N3 =  Dict
-_test_Mod_RoundDown_N2_N3 :: Dict (K.Mod 'K.RoundDown (N 2) (N 3) ~ N 2)
-_test_Mod_RoundDown_N2_N3 =  Dict
-_test_Div_RoundDown_N2_N4 :: Dict (K.Div 'K.RoundDown (N 2) (N 4) ~ P 0)
-_test_Div_RoundDown_N2_N4 =  Dict
-_test_Mod_RoundDown_N2_N4 :: Dict (K.Mod 'K.RoundDown (N 2) (N 4) ~ N 2)
-_test_Mod_RoundDown_N2_N4 =  Dict
-_test_Div_RoundDown_N2_P1 :: Dict (K.Div 'K.RoundDown (N 2) (P 1) ~ N 2)
-_test_Div_RoundDown_N2_P1 =  Dict
-_test_Mod_RoundDown_N2_P1 :: Dict (K.Mod 'K.RoundDown (N 2) (P 1) ~ P 0)
-_test_Mod_RoundDown_N2_P1 =  Dict
-_test_Div_RoundDown_N2_P2 :: Dict (K.Div 'K.RoundDown (N 2) (P 2) ~ N 1)
-_test_Div_RoundDown_N2_P2 =  Dict
-_test_Mod_RoundDown_N2_P2 :: Dict (K.Mod 'K.RoundDown (N 2) (P 2) ~ P 0)
-_test_Mod_RoundDown_N2_P2 =  Dict
-_test_Div_RoundDown_N2_P3 :: Dict (K.Div 'K.RoundDown (N 2) (P 3) ~ N 1)
-_test_Div_RoundDown_N2_P3 =  Dict
-_test_Mod_RoundDown_N2_P3 :: Dict (K.Mod 'K.RoundDown (N 2) (P 3) ~ P 1)
-_test_Mod_RoundDown_N2_P3 =  Dict
-_test_Div_RoundDown_N2_P4 :: Dict (K.Div 'K.RoundDown (N 2) (P 4) ~ N 1)
-_test_Div_RoundDown_N2_P4 =  Dict
-_test_Mod_RoundDown_N2_P4 :: Dict (K.Mod 'K.RoundDown (N 2) (P 4) ~ P 2)
-_test_Mod_RoundDown_N2_P4 =  Dict
-_test_Div_RoundDown_N3_N1 :: Dict (K.Div 'K.RoundDown (N 3) (N 1) ~ P 3)
-_test_Div_RoundDown_N3_N1 =  Dict
-_test_Mod_RoundDown_N3_N1 :: Dict (K.Mod 'K.RoundDown (N 3) (N 1) ~ P 0)
-_test_Mod_RoundDown_N3_N1 =  Dict
-_test_Div_RoundDown_N3_N2 :: Dict (K.Div 'K.RoundDown (N 3) (N 2) ~ P 1)
-_test_Div_RoundDown_N3_N2 =  Dict
-_test_Mod_RoundDown_N3_N2 :: Dict (K.Mod 'K.RoundDown (N 3) (N 2) ~ N 1)
-_test_Mod_RoundDown_N3_N2 =  Dict
-_test_Div_RoundDown_N3_N3 :: Dict (K.Div 'K.RoundDown (N 3) (N 3) ~ P 1)
-_test_Div_RoundDown_N3_N3 =  Dict
-_test_Mod_RoundDown_N3_N3 :: Dict (K.Mod 'K.RoundDown (N 3) (N 3) ~ P 0)
-_test_Mod_RoundDown_N3_N3 =  Dict
-_test_Div_RoundDown_N3_N4 :: Dict (K.Div 'K.RoundDown (N 3) (N 4) ~ P 0)
-_test_Div_RoundDown_N3_N4 =  Dict
-_test_Mod_RoundDown_N3_N4 :: Dict (K.Mod 'K.RoundDown (N 3) (N 4) ~ N 3)
-_test_Mod_RoundDown_N3_N4 =  Dict
-_test_Div_RoundDown_N3_P1 :: Dict (K.Div 'K.RoundDown (N 3) (P 1) ~ N 3)
-_test_Div_RoundDown_N3_P1 =  Dict
-_test_Mod_RoundDown_N3_P1 :: Dict (K.Mod 'K.RoundDown (N 3) (P 1) ~ P 0)
-_test_Mod_RoundDown_N3_P1 =  Dict
-_test_Div_RoundDown_N3_P2 :: Dict (K.Div 'K.RoundDown (N 3) (P 2) ~ N 2)
-_test_Div_RoundDown_N3_P2 =  Dict
-_test_Mod_RoundDown_N3_P2 :: Dict (K.Mod 'K.RoundDown (N 3) (P 2) ~ P 1)
-_test_Mod_RoundDown_N3_P2 =  Dict
-_test_Div_RoundDown_N3_P3 :: Dict (K.Div 'K.RoundDown (N 3) (P 3) ~ N 1)
-_test_Div_RoundDown_N3_P3 =  Dict
-_test_Mod_RoundDown_N3_P3 :: Dict (K.Mod 'K.RoundDown (N 3) (P 3) ~ P 0)
-_test_Mod_RoundDown_N3_P3 =  Dict
-_test_Div_RoundDown_N3_P4 :: Dict (K.Div 'K.RoundDown (N 3) (P 4) ~ N 1)
-_test_Div_RoundDown_N3_P4 =  Dict
-_test_Mod_RoundDown_N3_P4 :: Dict (K.Mod 'K.RoundDown (N 3) (P 4) ~ P 1)
-_test_Mod_RoundDown_N3_P4 =  Dict
-_test_Div_RoundDown_N4_N1 :: Dict (K.Div 'K.RoundDown (N 4) (N 1) ~ P 4)
-_test_Div_RoundDown_N4_N1 =  Dict
-_test_Mod_RoundDown_N4_N1 :: Dict (K.Mod 'K.RoundDown (N 4) (N 1) ~ P 0)
-_test_Mod_RoundDown_N4_N1 =  Dict
-_test_Div_RoundDown_N4_N2 :: Dict (K.Div 'K.RoundDown (N 4) (N 2) ~ P 2)
-_test_Div_RoundDown_N4_N2 =  Dict
-_test_Mod_RoundDown_N4_N2 :: Dict (K.Mod 'K.RoundDown (N 4) (N 2) ~ P 0)
-_test_Mod_RoundDown_N4_N2 =  Dict
-_test_Div_RoundDown_N4_N3 :: Dict (K.Div 'K.RoundDown (N 4) (N 3) ~ P 1)
-_test_Div_RoundDown_N4_N3 =  Dict
-_test_Mod_RoundDown_N4_N3 :: Dict (K.Mod 'K.RoundDown (N 4) (N 3) ~ N 1)
-_test_Mod_RoundDown_N4_N3 =  Dict
-_test_Div_RoundDown_N4_N4 :: Dict (K.Div 'K.RoundDown (N 4) (N 4) ~ P 1)
-_test_Div_RoundDown_N4_N4 =  Dict
-_test_Mod_RoundDown_N4_N4 :: Dict (K.Mod 'K.RoundDown (N 4) (N 4) ~ P 0)
-_test_Mod_RoundDown_N4_N4 =  Dict
-_test_Div_RoundDown_N4_P1 :: Dict (K.Div 'K.RoundDown (N 4) (P 1) ~ N 4)
-_test_Div_RoundDown_N4_P1 =  Dict
-_test_Mod_RoundDown_N4_P1 :: Dict (K.Mod 'K.RoundDown (N 4) (P 1) ~ P 0)
-_test_Mod_RoundDown_N4_P1 =  Dict
-_test_Div_RoundDown_N4_P2 :: Dict (K.Div 'K.RoundDown (N 4) (P 2) ~ N 2)
-_test_Div_RoundDown_N4_P2 =  Dict
-_test_Mod_RoundDown_N4_P2 :: Dict (K.Mod 'K.RoundDown (N 4) (P 2) ~ P 0)
-_test_Mod_RoundDown_N4_P2 =  Dict
-_test_Div_RoundDown_N4_P3 :: Dict (K.Div 'K.RoundDown (N 4) (P 3) ~ N 2)
-_test_Div_RoundDown_N4_P3 =  Dict
-_test_Mod_RoundDown_N4_P3 :: Dict (K.Mod 'K.RoundDown (N 4) (P 3) ~ P 2)
-_test_Mod_RoundDown_N4_P3 =  Dict
-_test_Div_RoundDown_N4_P4 :: Dict (K.Div 'K.RoundDown (N 4) (P 4) ~ N 1)
-_test_Div_RoundDown_N4_P4 =  Dict
-_test_Mod_RoundDown_N4_P4 :: Dict (K.Mod 'K.RoundDown (N 4) (P 4) ~ P 0)
-_test_Mod_RoundDown_N4_P4 =  Dict
-_test_Div_RoundDown_P0_N1 :: Dict (K.Div 'K.RoundDown (P 0) (N 1) ~ P 0)
-_test_Div_RoundDown_P0_N1 =  Dict
-_test_Mod_RoundDown_P0_N1 :: Dict (K.Mod 'K.RoundDown (P 0) (N 1) ~ P 0)
-_test_Mod_RoundDown_P0_N1 =  Dict
-_test_Div_RoundDown_P0_N2 :: Dict (K.Div 'K.RoundDown (P 0) (N 2) ~ P 0)
-_test_Div_RoundDown_P0_N2 =  Dict
-_test_Mod_RoundDown_P0_N2 :: Dict (K.Mod 'K.RoundDown (P 0) (N 2) ~ P 0)
-_test_Mod_RoundDown_P0_N2 =  Dict
-_test_Div_RoundDown_P0_N3 :: Dict (K.Div 'K.RoundDown (P 0) (N 3) ~ P 0)
-_test_Div_RoundDown_P0_N3 =  Dict
-_test_Mod_RoundDown_P0_N3 :: Dict (K.Mod 'K.RoundDown (P 0) (N 3) ~ P 0)
-_test_Mod_RoundDown_P0_N3 =  Dict
-_test_Div_RoundDown_P0_N4 :: Dict (K.Div 'K.RoundDown (P 0) (N 4) ~ P 0)
-_test_Div_RoundDown_P0_N4 =  Dict
-_test_Mod_RoundDown_P0_N4 :: Dict (K.Mod 'K.RoundDown (P 0) (N 4) ~ P 0)
-_test_Mod_RoundDown_P0_N4 =  Dict
-_test_Div_RoundDown_P0_P1 :: Dict (K.Div 'K.RoundDown (P 0) (P 1) ~ P 0)
-_test_Div_RoundDown_P0_P1 =  Dict
-_test_Mod_RoundDown_P0_P1 :: Dict (K.Mod 'K.RoundDown (P 0) (P 1) ~ P 0)
-_test_Mod_RoundDown_P0_P1 =  Dict
-_test_Div_RoundDown_P0_P2 :: Dict (K.Div 'K.RoundDown (P 0) (P 2) ~ P 0)
-_test_Div_RoundDown_P0_P2 =  Dict
-_test_Mod_RoundDown_P0_P2 :: Dict (K.Mod 'K.RoundDown (P 0) (P 2) ~ P 0)
-_test_Mod_RoundDown_P0_P2 =  Dict
-_test_Div_RoundDown_P0_P3 :: Dict (K.Div 'K.RoundDown (P 0) (P 3) ~ P 0)
-_test_Div_RoundDown_P0_P3 =  Dict
-_test_Mod_RoundDown_P0_P3 :: Dict (K.Mod 'K.RoundDown (P 0) (P 3) ~ P 0)
-_test_Mod_RoundDown_P0_P3 =  Dict
-_test_Div_RoundDown_P0_P4 :: Dict (K.Div 'K.RoundDown (P 0) (P 4) ~ P 0)
-_test_Div_RoundDown_P0_P4 =  Dict
-_test_Mod_RoundDown_P0_P4 :: Dict (K.Mod 'K.RoundDown (P 0) (P 4) ~ P 0)
-_test_Mod_RoundDown_P0_P4 =  Dict
-_test_Div_RoundDown_P1_N1 :: Dict (K.Div 'K.RoundDown (P 1) (N 1) ~ N 1)
-_test_Div_RoundDown_P1_N1 =  Dict
-_test_Mod_RoundDown_P1_N1 :: Dict (K.Mod 'K.RoundDown (P 1) (N 1) ~ P 0)
-_test_Mod_RoundDown_P1_N1 =  Dict
-_test_Div_RoundDown_P1_N2 :: Dict (K.Div 'K.RoundDown (P 1) (N 2) ~ N 1)
-_test_Div_RoundDown_P1_N2 =  Dict
-_test_Mod_RoundDown_P1_N2 :: Dict (K.Mod 'K.RoundDown (P 1) (N 2) ~ N 1)
-_test_Mod_RoundDown_P1_N2 =  Dict
-_test_Div_RoundDown_P1_N3 :: Dict (K.Div 'K.RoundDown (P 1) (N 3) ~ N 1)
-_test_Div_RoundDown_P1_N3 =  Dict
-_test_Mod_RoundDown_P1_N3 :: Dict (K.Mod 'K.RoundDown (P 1) (N 3) ~ N 2)
-_test_Mod_RoundDown_P1_N3 =  Dict
-_test_Div_RoundDown_P1_N4 :: Dict (K.Div 'K.RoundDown (P 1) (N 4) ~ N 1)
-_test_Div_RoundDown_P1_N4 =  Dict
-_test_Mod_RoundDown_P1_N4 :: Dict (K.Mod 'K.RoundDown (P 1) (N 4) ~ N 3)
-_test_Mod_RoundDown_P1_N4 =  Dict
-_test_Div_RoundDown_P1_P1 :: Dict (K.Div 'K.RoundDown (P 1) (P 1) ~ P 1)
-_test_Div_RoundDown_P1_P1 =  Dict
-_test_Mod_RoundDown_P1_P1 :: Dict (K.Mod 'K.RoundDown (P 1) (P 1) ~ P 0)
-_test_Mod_RoundDown_P1_P1 =  Dict
-_test_Div_RoundDown_P1_P2 :: Dict (K.Div 'K.RoundDown (P 1) (P 2) ~ P 0)
-_test_Div_RoundDown_P1_P2 =  Dict
-_test_Mod_RoundDown_P1_P2 :: Dict (K.Mod 'K.RoundDown (P 1) (P 2) ~ P 1)
-_test_Mod_RoundDown_P1_P2 =  Dict
-_test_Div_RoundDown_P1_P3 :: Dict (K.Div 'K.RoundDown (P 1) (P 3) ~ P 0)
-_test_Div_RoundDown_P1_P3 =  Dict
-_test_Mod_RoundDown_P1_P3 :: Dict (K.Mod 'K.RoundDown (P 1) (P 3) ~ P 1)
-_test_Mod_RoundDown_P1_P3 =  Dict
-_test_Div_RoundDown_P1_P4 :: Dict (K.Div 'K.RoundDown (P 1) (P 4) ~ P 0)
-_test_Div_RoundDown_P1_P4 =  Dict
-_test_Mod_RoundDown_P1_P4 :: Dict (K.Mod 'K.RoundDown (P 1) (P 4) ~ P 1)
-_test_Mod_RoundDown_P1_P4 =  Dict
-_test_Div_RoundDown_P2_N1 :: Dict (K.Div 'K.RoundDown (P 2) (N 1) ~ N 2)
-_test_Div_RoundDown_P2_N1 =  Dict
-_test_Mod_RoundDown_P2_N1 :: Dict (K.Mod 'K.RoundDown (P 2) (N 1) ~ P 0)
-_test_Mod_RoundDown_P2_N1 =  Dict
-_test_Div_RoundDown_P2_N2 :: Dict (K.Div 'K.RoundDown (P 2) (N 2) ~ N 1)
-_test_Div_RoundDown_P2_N2 =  Dict
-_test_Mod_RoundDown_P2_N2 :: Dict (K.Mod 'K.RoundDown (P 2) (N 2) ~ P 0)
-_test_Mod_RoundDown_P2_N2 =  Dict
-_test_Div_RoundDown_P2_N3 :: Dict (K.Div 'K.RoundDown (P 2) (N 3) ~ N 1)
-_test_Div_RoundDown_P2_N3 =  Dict
-_test_Mod_RoundDown_P2_N3 :: Dict (K.Mod 'K.RoundDown (P 2) (N 3) ~ N 1)
-_test_Mod_RoundDown_P2_N3 =  Dict
-_test_Div_RoundDown_P2_N4 :: Dict (K.Div 'K.RoundDown (P 2) (N 4) ~ N 1)
-_test_Div_RoundDown_P2_N4 =  Dict
-_test_Mod_RoundDown_P2_N4 :: Dict (K.Mod 'K.RoundDown (P 2) (N 4) ~ N 2)
-_test_Mod_RoundDown_P2_N4 =  Dict
-_test_Div_RoundDown_P2_P1 :: Dict (K.Div 'K.RoundDown (P 2) (P 1) ~ P 2)
-_test_Div_RoundDown_P2_P1 =  Dict
-_test_Mod_RoundDown_P2_P1 :: Dict (K.Mod 'K.RoundDown (P 2) (P 1) ~ P 0)
-_test_Mod_RoundDown_P2_P1 =  Dict
-_test_Div_RoundDown_P2_P2 :: Dict (K.Div 'K.RoundDown (P 2) (P 2) ~ P 1)
-_test_Div_RoundDown_P2_P2 =  Dict
-_test_Mod_RoundDown_P2_P2 :: Dict (K.Mod 'K.RoundDown (P 2) (P 2) ~ P 0)
-_test_Mod_RoundDown_P2_P2 =  Dict
-_test_Div_RoundDown_P2_P3 :: Dict (K.Div 'K.RoundDown (P 2) (P 3) ~ P 0)
-_test_Div_RoundDown_P2_P3 =  Dict
-_test_Mod_RoundDown_P2_P3 :: Dict (K.Mod 'K.RoundDown (P 2) (P 3) ~ P 2)
-_test_Mod_RoundDown_P2_P3 =  Dict
-_test_Div_RoundDown_P2_P4 :: Dict (K.Div 'K.RoundDown (P 2) (P 4) ~ P 0)
-_test_Div_RoundDown_P2_P4 =  Dict
-_test_Mod_RoundDown_P2_P4 :: Dict (K.Mod 'K.RoundDown (P 2) (P 4) ~ P 2)
-_test_Mod_RoundDown_P2_P4 =  Dict
-_test_Div_RoundDown_P3_N1 :: Dict (K.Div 'K.RoundDown (P 3) (N 1) ~ N 3)
-_test_Div_RoundDown_P3_N1 =  Dict
-_test_Mod_RoundDown_P3_N1 :: Dict (K.Mod 'K.RoundDown (P 3) (N 1) ~ P 0)
-_test_Mod_RoundDown_P3_N1 =  Dict
-_test_Div_RoundDown_P3_N2 :: Dict (K.Div 'K.RoundDown (P 3) (N 2) ~ N 2)
-_test_Div_RoundDown_P3_N2 =  Dict
-_test_Mod_RoundDown_P3_N2 :: Dict (K.Mod 'K.RoundDown (P 3) (N 2) ~ N 1)
-_test_Mod_RoundDown_P3_N2 =  Dict
-_test_Div_RoundDown_P3_N3 :: Dict (K.Div 'K.RoundDown (P 3) (N 3) ~ N 1)
-_test_Div_RoundDown_P3_N3 =  Dict
-_test_Mod_RoundDown_P3_N3 :: Dict (K.Mod 'K.RoundDown (P 3) (N 3) ~ P 0)
-_test_Mod_RoundDown_P3_N3 =  Dict
-_test_Div_RoundDown_P3_N4 :: Dict (K.Div 'K.RoundDown (P 3) (N 4) ~ N 1)
-_test_Div_RoundDown_P3_N4 =  Dict
-_test_Mod_RoundDown_P3_N4 :: Dict (K.Mod 'K.RoundDown (P 3) (N 4) ~ N 1)
-_test_Mod_RoundDown_P3_N4 =  Dict
-_test_Div_RoundDown_P3_P1 :: Dict (K.Div 'K.RoundDown (P 3) (P 1) ~ P 3)
-_test_Div_RoundDown_P3_P1 =  Dict
-_test_Mod_RoundDown_P3_P1 :: Dict (K.Mod 'K.RoundDown (P 3) (P 1) ~ P 0)
-_test_Mod_RoundDown_P3_P1 =  Dict
-_test_Div_RoundDown_P3_P2 :: Dict (K.Div 'K.RoundDown (P 3) (P 2) ~ P 1)
-_test_Div_RoundDown_P3_P2 =  Dict
-_test_Mod_RoundDown_P3_P2 :: Dict (K.Mod 'K.RoundDown (P 3) (P 2) ~ P 1)
-_test_Mod_RoundDown_P3_P2 =  Dict
-_test_Div_RoundDown_P3_P3 :: Dict (K.Div 'K.RoundDown (P 3) (P 3) ~ P 1)
-_test_Div_RoundDown_P3_P3 =  Dict
-_test_Mod_RoundDown_P3_P3 :: Dict (K.Mod 'K.RoundDown (P 3) (P 3) ~ P 0)
-_test_Mod_RoundDown_P3_P3 =  Dict
-_test_Div_RoundDown_P3_P4 :: Dict (K.Div 'K.RoundDown (P 3) (P 4) ~ P 0)
-_test_Div_RoundDown_P3_P4 =  Dict
-_test_Mod_RoundDown_P3_P4 :: Dict (K.Mod 'K.RoundDown (P 3) (P 4) ~ P 3)
-_test_Mod_RoundDown_P3_P4 =  Dict
-_test_Div_RoundDown_P4_N1 :: Dict (K.Div 'K.RoundDown (P 4) (N 1) ~ N 4)
-_test_Div_RoundDown_P4_N1 =  Dict
-_test_Mod_RoundDown_P4_N1 :: Dict (K.Mod 'K.RoundDown (P 4) (N 1) ~ P 0)
-_test_Mod_RoundDown_P4_N1 =  Dict
-_test_Div_RoundDown_P4_N2 :: Dict (K.Div 'K.RoundDown (P 4) (N 2) ~ N 2)
-_test_Div_RoundDown_P4_N2 =  Dict
-_test_Mod_RoundDown_P4_N2 :: Dict (K.Mod 'K.RoundDown (P 4) (N 2) ~ P 0)
-_test_Mod_RoundDown_P4_N2 =  Dict
-_test_Div_RoundDown_P4_N3 :: Dict (K.Div 'K.RoundDown (P 4) (N 3) ~ N 2)
-_test_Div_RoundDown_P4_N3 =  Dict
-_test_Mod_RoundDown_P4_N3 :: Dict (K.Mod 'K.RoundDown (P 4) (N 3) ~ N 2)
-_test_Mod_RoundDown_P4_N3 =  Dict
-_test_Div_RoundDown_P4_N4 :: Dict (K.Div 'K.RoundDown (P 4) (N 4) ~ N 1)
-_test_Div_RoundDown_P4_N4 =  Dict
-_test_Mod_RoundDown_P4_N4 :: Dict (K.Mod 'K.RoundDown (P 4) (N 4) ~ P 0)
-_test_Mod_RoundDown_P4_N4 =  Dict
-_test_Div_RoundDown_P4_P1 :: Dict (K.Div 'K.RoundDown (P 4) (P 1) ~ P 4)
-_test_Div_RoundDown_P4_P1 =  Dict
-_test_Mod_RoundDown_P4_P1 :: Dict (K.Mod 'K.RoundDown (P 4) (P 1) ~ P 0)
-_test_Mod_RoundDown_P4_P1 =  Dict
-_test_Div_RoundDown_P4_P2 :: Dict (K.Div 'K.RoundDown (P 4) (P 2) ~ P 2)
-_test_Div_RoundDown_P4_P2 =  Dict
-_test_Mod_RoundDown_P4_P2 :: Dict (K.Mod 'K.RoundDown (P 4) (P 2) ~ P 0)
-_test_Mod_RoundDown_P4_P2 =  Dict
-_test_Div_RoundDown_P4_P3 :: Dict (K.Div 'K.RoundDown (P 4) (P 3) ~ P 1)
-_test_Div_RoundDown_P4_P3 =  Dict
-_test_Mod_RoundDown_P4_P3 :: Dict (K.Mod 'K.RoundDown (P 4) (P 3) ~ P 1)
-_test_Mod_RoundDown_P4_P3 =  Dict
-_test_Div_RoundDown_P4_P4 :: Dict (K.Div 'K.RoundDown (P 4) (P 4) ~ P 1)
-_test_Div_RoundDown_P4_P4 =  Dict
-_test_Mod_RoundDown_P4_P4 :: Dict (K.Mod 'K.RoundDown (P 4) (P 4) ~ P 0)
-_test_Mod_RoundDown_P4_P4 =  Dict
-_test_Div_RoundHalfAway_N1_N1 :: Dict (K.Div 'K.RoundHalfAway (N 1) (N 1) ~ P 1)
-_test_Div_RoundHalfAway_N1_N1 =  Dict
-_test_Mod_RoundHalfAway_N1_N1 :: Dict (K.Mod 'K.RoundHalfAway (N 1) (N 1) ~ P 0)
-_test_Mod_RoundHalfAway_N1_N1 =  Dict
-_test_Div_RoundHalfAway_N1_N2 :: Dict (K.Div 'K.RoundHalfAway (N 1) (N 2) ~ P 1)
-_test_Div_RoundHalfAway_N1_N2 =  Dict
-_test_Mod_RoundHalfAway_N1_N2 :: Dict (K.Mod 'K.RoundHalfAway (N 1) (N 2) ~ P 1)
-_test_Mod_RoundHalfAway_N1_N2 =  Dict
-_test_Div_RoundHalfAway_N1_N3 :: Dict (K.Div 'K.RoundHalfAway (N 1) (N 3) ~ P 0)
-_test_Div_RoundHalfAway_N1_N3 =  Dict
-_test_Mod_RoundHalfAway_N1_N3 :: Dict (K.Mod 'K.RoundHalfAway (N 1) (N 3) ~ N 1)
-_test_Mod_RoundHalfAway_N1_N3 =  Dict
-_test_Div_RoundHalfAway_N1_N4 :: Dict (K.Div 'K.RoundHalfAway (N 1) (N 4) ~ P 0)
-_test_Div_RoundHalfAway_N1_N4 =  Dict
-_test_Mod_RoundHalfAway_N1_N4 :: Dict (K.Mod 'K.RoundHalfAway (N 1) (N 4) ~ N 1)
-_test_Mod_RoundHalfAway_N1_N4 =  Dict
-_test_Div_RoundHalfAway_N1_P1 :: Dict (K.Div 'K.RoundHalfAway (N 1) (P 1) ~ N 1)
-_test_Div_RoundHalfAway_N1_P1 =  Dict
-_test_Mod_RoundHalfAway_N1_P1 :: Dict (K.Mod 'K.RoundHalfAway (N 1) (P 1) ~ P 0)
-_test_Mod_RoundHalfAway_N1_P1 =  Dict
-_test_Div_RoundHalfAway_N1_P2 :: Dict (K.Div 'K.RoundHalfAway (N 1) (P 2) ~ N 1)
-_test_Div_RoundHalfAway_N1_P2 =  Dict
-_test_Mod_RoundHalfAway_N1_P2 :: Dict (K.Mod 'K.RoundHalfAway (N 1) (P 2) ~ P 1)
-_test_Mod_RoundHalfAway_N1_P2 =  Dict
-_test_Div_RoundHalfAway_N1_P3 :: Dict (K.Div 'K.RoundHalfAway (N 1) (P 3) ~ P 0)
-_test_Div_RoundHalfAway_N1_P3 =  Dict
-_test_Mod_RoundHalfAway_N1_P3 :: Dict (K.Mod 'K.RoundHalfAway (N 1) (P 3) ~ N 1)
-_test_Mod_RoundHalfAway_N1_P3 =  Dict
-_test_Div_RoundHalfAway_N1_P4 :: Dict (K.Div 'K.RoundHalfAway (N 1) (P 4) ~ P 0)
-_test_Div_RoundHalfAway_N1_P4 =  Dict
-_test_Mod_RoundHalfAway_N1_P4 :: Dict (K.Mod 'K.RoundHalfAway (N 1) (P 4) ~ N 1)
-_test_Mod_RoundHalfAway_N1_P4 =  Dict
-_test_Div_RoundHalfAway_N2_N1 :: Dict (K.Div 'K.RoundHalfAway (N 2) (N 1) ~ P 2)
-_test_Div_RoundHalfAway_N2_N1 =  Dict
-_test_Mod_RoundHalfAway_N2_N1 :: Dict (K.Mod 'K.RoundHalfAway (N 2) (N 1) ~ P 0)
-_test_Mod_RoundHalfAway_N2_N1 =  Dict
-_test_Div_RoundHalfAway_N2_N2 :: Dict (K.Div 'K.RoundHalfAway (N 2) (N 2) ~ P 1)
-_test_Div_RoundHalfAway_N2_N2 =  Dict
-_test_Mod_RoundHalfAway_N2_N2 :: Dict (K.Mod 'K.RoundHalfAway (N 2) (N 2) ~ P 0)
-_test_Mod_RoundHalfAway_N2_N2 =  Dict
-_test_Div_RoundHalfAway_N2_N3 :: Dict (K.Div 'K.RoundHalfAway (N 2) (N 3) ~ P 1)
-_test_Div_RoundHalfAway_N2_N3 =  Dict
-_test_Mod_RoundHalfAway_N2_N3 :: Dict (K.Mod 'K.RoundHalfAway (N 2) (N 3) ~ P 1)
-_test_Mod_RoundHalfAway_N2_N3 =  Dict
-_test_Div_RoundHalfAway_N2_N4 :: Dict (K.Div 'K.RoundHalfAway (N 2) (N 4) ~ P 1)
-_test_Div_RoundHalfAway_N2_N4 =  Dict
-_test_Mod_RoundHalfAway_N2_N4 :: Dict (K.Mod 'K.RoundHalfAway (N 2) (N 4) ~ P 2)
-_test_Mod_RoundHalfAway_N2_N4 =  Dict
-_test_Div_RoundHalfAway_N2_P1 :: Dict (K.Div 'K.RoundHalfAway (N 2) (P 1) ~ N 2)
-_test_Div_RoundHalfAway_N2_P1 =  Dict
-_test_Mod_RoundHalfAway_N2_P1 :: Dict (K.Mod 'K.RoundHalfAway (N 2) (P 1) ~ P 0)
-_test_Mod_RoundHalfAway_N2_P1 =  Dict
-_test_Div_RoundHalfAway_N2_P2 :: Dict (K.Div 'K.RoundHalfAway (N 2) (P 2) ~ N 1)
-_test_Div_RoundHalfAway_N2_P2 =  Dict
-_test_Mod_RoundHalfAway_N2_P2 :: Dict (K.Mod 'K.RoundHalfAway (N 2) (P 2) ~ P 0)
-_test_Mod_RoundHalfAway_N2_P2 =  Dict
-_test_Div_RoundHalfAway_N2_P3 :: Dict (K.Div 'K.RoundHalfAway (N 2) (P 3) ~ N 1)
-_test_Div_RoundHalfAway_N2_P3 =  Dict
-_test_Mod_RoundHalfAway_N2_P3 :: Dict (K.Mod 'K.RoundHalfAway (N 2) (P 3) ~ P 1)
-_test_Mod_RoundHalfAway_N2_P3 =  Dict
-_test_Div_RoundHalfAway_N2_P4 :: Dict (K.Div 'K.RoundHalfAway (N 2) (P 4) ~ N 1)
-_test_Div_RoundHalfAway_N2_P4 =  Dict
-_test_Mod_RoundHalfAway_N2_P4 :: Dict (K.Mod 'K.RoundHalfAway (N 2) (P 4) ~ P 2)
-_test_Mod_RoundHalfAway_N2_P4 =  Dict
-_test_Div_RoundHalfAway_N3_N1 :: Dict (K.Div 'K.RoundHalfAway (N 3) (N 1) ~ P 3)
-_test_Div_RoundHalfAway_N3_N1 =  Dict
-_test_Mod_RoundHalfAway_N3_N1 :: Dict (K.Mod 'K.RoundHalfAway (N 3) (N 1) ~ P 0)
-_test_Mod_RoundHalfAway_N3_N1 =  Dict
-_test_Div_RoundHalfAway_N3_N2 :: Dict (K.Div 'K.RoundHalfAway (N 3) (N 2) ~ P 2)
-_test_Div_RoundHalfAway_N3_N2 =  Dict
-_test_Mod_RoundHalfAway_N3_N2 :: Dict (K.Mod 'K.RoundHalfAway (N 3) (N 2) ~ P 1)
-_test_Mod_RoundHalfAway_N3_N2 =  Dict
-_test_Div_RoundHalfAway_N3_N3 :: Dict (K.Div 'K.RoundHalfAway (N 3) (N 3) ~ P 1)
-_test_Div_RoundHalfAway_N3_N3 =  Dict
-_test_Mod_RoundHalfAway_N3_N3 :: Dict (K.Mod 'K.RoundHalfAway (N 3) (N 3) ~ P 0)
-_test_Mod_RoundHalfAway_N3_N3 =  Dict
-_test_Div_RoundHalfAway_N3_N4 :: Dict (K.Div 'K.RoundHalfAway (N 3) (N 4) ~ P 1)
-_test_Div_RoundHalfAway_N3_N4 =  Dict
-_test_Mod_RoundHalfAway_N3_N4 :: Dict (K.Mod 'K.RoundHalfAway (N 3) (N 4) ~ P 1)
-_test_Mod_RoundHalfAway_N3_N4 =  Dict
-_test_Div_RoundHalfAway_N3_P1 :: Dict (K.Div 'K.RoundHalfAway (N 3) (P 1) ~ N 3)
-_test_Div_RoundHalfAway_N3_P1 =  Dict
-_test_Mod_RoundHalfAway_N3_P1 :: Dict (K.Mod 'K.RoundHalfAway (N 3) (P 1) ~ P 0)
-_test_Mod_RoundHalfAway_N3_P1 =  Dict
-_test_Div_RoundHalfAway_N3_P2 :: Dict (K.Div 'K.RoundHalfAway (N 3) (P 2) ~ N 2)
-_test_Div_RoundHalfAway_N3_P2 =  Dict
-_test_Mod_RoundHalfAway_N3_P2 :: Dict (K.Mod 'K.RoundHalfAway (N 3) (P 2) ~ P 1)
-_test_Mod_RoundHalfAway_N3_P2 =  Dict
-_test_Div_RoundHalfAway_N3_P3 :: Dict (K.Div 'K.RoundHalfAway (N 3) (P 3) ~ N 1)
-_test_Div_RoundHalfAway_N3_P3 =  Dict
-_test_Mod_RoundHalfAway_N3_P3 :: Dict (K.Mod 'K.RoundHalfAway (N 3) (P 3) ~ P 0)
-_test_Mod_RoundHalfAway_N3_P3 =  Dict
-_test_Div_RoundHalfAway_N3_P4 :: Dict (K.Div 'K.RoundHalfAway (N 3) (P 4) ~ N 1)
-_test_Div_RoundHalfAway_N3_P4 =  Dict
-_test_Mod_RoundHalfAway_N3_P4 :: Dict (K.Mod 'K.RoundHalfAway (N 3) (P 4) ~ P 1)
-_test_Mod_RoundHalfAway_N3_P4 =  Dict
-_test_Div_RoundHalfAway_N4_N1 :: Dict (K.Div 'K.RoundHalfAway (N 4) (N 1) ~ P 4)
-_test_Div_RoundHalfAway_N4_N1 =  Dict
-_test_Mod_RoundHalfAway_N4_N1 :: Dict (K.Mod 'K.RoundHalfAway (N 4) (N 1) ~ P 0)
-_test_Mod_RoundHalfAway_N4_N1 =  Dict
-_test_Div_RoundHalfAway_N4_N2 :: Dict (K.Div 'K.RoundHalfAway (N 4) (N 2) ~ P 2)
-_test_Div_RoundHalfAway_N4_N2 =  Dict
-_test_Mod_RoundHalfAway_N4_N2 :: Dict (K.Mod 'K.RoundHalfAway (N 4) (N 2) ~ P 0)
-_test_Mod_RoundHalfAway_N4_N2 =  Dict
-_test_Div_RoundHalfAway_N4_N3 :: Dict (K.Div 'K.RoundHalfAway (N 4) (N 3) ~ P 1)
-_test_Div_RoundHalfAway_N4_N3 =  Dict
-_test_Mod_RoundHalfAway_N4_N3 :: Dict (K.Mod 'K.RoundHalfAway (N 4) (N 3) ~ N 1)
-_test_Mod_RoundHalfAway_N4_N3 =  Dict
-_test_Div_RoundHalfAway_N4_N4 :: Dict (K.Div 'K.RoundHalfAway (N 4) (N 4) ~ P 1)
-_test_Div_RoundHalfAway_N4_N4 =  Dict
-_test_Mod_RoundHalfAway_N4_N4 :: Dict (K.Mod 'K.RoundHalfAway (N 4) (N 4) ~ P 0)
-_test_Mod_RoundHalfAway_N4_N4 =  Dict
-_test_Div_RoundHalfAway_N4_P1 :: Dict (K.Div 'K.RoundHalfAway (N 4) (P 1) ~ N 4)
-_test_Div_RoundHalfAway_N4_P1 =  Dict
-_test_Mod_RoundHalfAway_N4_P1 :: Dict (K.Mod 'K.RoundHalfAway (N 4) (P 1) ~ P 0)
-_test_Mod_RoundHalfAway_N4_P1 =  Dict
-_test_Div_RoundHalfAway_N4_P2 :: Dict (K.Div 'K.RoundHalfAway (N 4) (P 2) ~ N 2)
-_test_Div_RoundHalfAway_N4_P2 =  Dict
-_test_Mod_RoundHalfAway_N4_P2 :: Dict (K.Mod 'K.RoundHalfAway (N 4) (P 2) ~ P 0)
-_test_Mod_RoundHalfAway_N4_P2 =  Dict
-_test_Div_RoundHalfAway_N4_P3 :: Dict (K.Div 'K.RoundHalfAway (N 4) (P 3) ~ N 1)
-_test_Div_RoundHalfAway_N4_P3 =  Dict
-_test_Mod_RoundHalfAway_N4_P3 :: Dict (K.Mod 'K.RoundHalfAway (N 4) (P 3) ~ N 1)
-_test_Mod_RoundHalfAway_N4_P3 =  Dict
-_test_Div_RoundHalfAway_N4_P4 :: Dict (K.Div 'K.RoundHalfAway (N 4) (P 4) ~ N 1)
-_test_Div_RoundHalfAway_N4_P4 =  Dict
-_test_Mod_RoundHalfAway_N4_P4 :: Dict (K.Mod 'K.RoundHalfAway (N 4) (P 4) ~ P 0)
-_test_Mod_RoundHalfAway_N4_P4 =  Dict
-_test_Div_RoundHalfAway_P0_N1 :: Dict (K.Div 'K.RoundHalfAway (P 0) (N 1) ~ P 0)
-_test_Div_RoundHalfAway_P0_N1 =  Dict
-_test_Mod_RoundHalfAway_P0_N1 :: Dict (K.Mod 'K.RoundHalfAway (P 0) (N 1) ~ P 0)
-_test_Mod_RoundHalfAway_P0_N1 =  Dict
-_test_Div_RoundHalfAway_P0_N2 :: Dict (K.Div 'K.RoundHalfAway (P 0) (N 2) ~ P 0)
-_test_Div_RoundHalfAway_P0_N2 =  Dict
-_test_Mod_RoundHalfAway_P0_N2 :: Dict (K.Mod 'K.RoundHalfAway (P 0) (N 2) ~ P 0)
-_test_Mod_RoundHalfAway_P0_N2 =  Dict
-_test_Div_RoundHalfAway_P0_N3 :: Dict (K.Div 'K.RoundHalfAway (P 0) (N 3) ~ P 0)
-_test_Div_RoundHalfAway_P0_N3 =  Dict
-_test_Mod_RoundHalfAway_P0_N3 :: Dict (K.Mod 'K.RoundHalfAway (P 0) (N 3) ~ P 0)
-_test_Mod_RoundHalfAway_P0_N3 =  Dict
-_test_Div_RoundHalfAway_P0_N4 :: Dict (K.Div 'K.RoundHalfAway (P 0) (N 4) ~ P 0)
-_test_Div_RoundHalfAway_P0_N4 =  Dict
-_test_Mod_RoundHalfAway_P0_N4 :: Dict (K.Mod 'K.RoundHalfAway (P 0) (N 4) ~ P 0)
-_test_Mod_RoundHalfAway_P0_N4 =  Dict
-_test_Div_RoundHalfAway_P0_P1 :: Dict (K.Div 'K.RoundHalfAway (P 0) (P 1) ~ P 0)
-_test_Div_RoundHalfAway_P0_P1 =  Dict
-_test_Mod_RoundHalfAway_P0_P1 :: Dict (K.Mod 'K.RoundHalfAway (P 0) (P 1) ~ P 0)
-_test_Mod_RoundHalfAway_P0_P1 =  Dict
-_test_Div_RoundHalfAway_P0_P2 :: Dict (K.Div 'K.RoundHalfAway (P 0) (P 2) ~ P 0)
-_test_Div_RoundHalfAway_P0_P2 =  Dict
-_test_Mod_RoundHalfAway_P0_P2 :: Dict (K.Mod 'K.RoundHalfAway (P 0) (P 2) ~ P 0)
-_test_Mod_RoundHalfAway_P0_P2 =  Dict
-_test_Div_RoundHalfAway_P0_P3 :: Dict (K.Div 'K.RoundHalfAway (P 0) (P 3) ~ P 0)
-_test_Div_RoundHalfAway_P0_P3 =  Dict
-_test_Mod_RoundHalfAway_P0_P3 :: Dict (K.Mod 'K.RoundHalfAway (P 0) (P 3) ~ P 0)
-_test_Mod_RoundHalfAway_P0_P3 =  Dict
-_test_Div_RoundHalfAway_P0_P4 :: Dict (K.Div 'K.RoundHalfAway (P 0) (P 4) ~ P 0)
-_test_Div_RoundHalfAway_P0_P4 =  Dict
-_test_Mod_RoundHalfAway_P0_P4 :: Dict (K.Mod 'K.RoundHalfAway (P 0) (P 4) ~ P 0)
-_test_Mod_RoundHalfAway_P0_P4 =  Dict
-_test_Div_RoundHalfAway_P1_N1 :: Dict (K.Div 'K.RoundHalfAway (P 1) (N 1) ~ N 1)
-_test_Div_RoundHalfAway_P1_N1 =  Dict
-_test_Mod_RoundHalfAway_P1_N1 :: Dict (K.Mod 'K.RoundHalfAway (P 1) (N 1) ~ P 0)
-_test_Mod_RoundHalfAway_P1_N1 =  Dict
-_test_Div_RoundHalfAway_P1_N2 :: Dict (K.Div 'K.RoundHalfAway (P 1) (N 2) ~ N 1)
-_test_Div_RoundHalfAway_P1_N2 =  Dict
-_test_Mod_RoundHalfAway_P1_N2 :: Dict (K.Mod 'K.RoundHalfAway (P 1) (N 2) ~ N 1)
-_test_Mod_RoundHalfAway_P1_N2 =  Dict
-_test_Div_RoundHalfAway_P1_N3 :: Dict (K.Div 'K.RoundHalfAway (P 1) (N 3) ~ P 0)
-_test_Div_RoundHalfAway_P1_N3 =  Dict
-_test_Mod_RoundHalfAway_P1_N3 :: Dict (K.Mod 'K.RoundHalfAway (P 1) (N 3) ~ P 1)
-_test_Mod_RoundHalfAway_P1_N3 =  Dict
-_test_Div_RoundHalfAway_P1_N4 :: Dict (K.Div 'K.RoundHalfAway (P 1) (N 4) ~ P 0)
-_test_Div_RoundHalfAway_P1_N4 =  Dict
-_test_Mod_RoundHalfAway_P1_N4 :: Dict (K.Mod 'K.RoundHalfAway (P 1) (N 4) ~ P 1)
-_test_Mod_RoundHalfAway_P1_N4 =  Dict
-_test_Div_RoundHalfAway_P1_P1 :: Dict (K.Div 'K.RoundHalfAway (P 1) (P 1) ~ P 1)
-_test_Div_RoundHalfAway_P1_P1 =  Dict
-_test_Mod_RoundHalfAway_P1_P1 :: Dict (K.Mod 'K.RoundHalfAway (P 1) (P 1) ~ P 0)
-_test_Mod_RoundHalfAway_P1_P1 =  Dict
-_test_Div_RoundHalfAway_P1_P2 :: Dict (K.Div 'K.RoundHalfAway (P 1) (P 2) ~ P 1)
-_test_Div_RoundHalfAway_P1_P2 =  Dict
-_test_Mod_RoundHalfAway_P1_P2 :: Dict (K.Mod 'K.RoundHalfAway (P 1) (P 2) ~ N 1)
-_test_Mod_RoundHalfAway_P1_P2 =  Dict
-_test_Div_RoundHalfAway_P1_P3 :: Dict (K.Div 'K.RoundHalfAway (P 1) (P 3) ~ P 0)
-_test_Div_RoundHalfAway_P1_P3 =  Dict
-_test_Mod_RoundHalfAway_P1_P3 :: Dict (K.Mod 'K.RoundHalfAway (P 1) (P 3) ~ P 1)
-_test_Mod_RoundHalfAway_P1_P3 =  Dict
-_test_Div_RoundHalfAway_P1_P4 :: Dict (K.Div 'K.RoundHalfAway (P 1) (P 4) ~ P 0)
-_test_Div_RoundHalfAway_P1_P4 =  Dict
-_test_Mod_RoundHalfAway_P1_P4 :: Dict (K.Mod 'K.RoundHalfAway (P 1) (P 4) ~ P 1)
-_test_Mod_RoundHalfAway_P1_P4 =  Dict
-_test_Div_RoundHalfAway_P2_N1 :: Dict (K.Div 'K.RoundHalfAway (P 2) (N 1) ~ N 2)
-_test_Div_RoundHalfAway_P2_N1 =  Dict
-_test_Mod_RoundHalfAway_P2_N1 :: Dict (K.Mod 'K.RoundHalfAway (P 2) (N 1) ~ P 0)
-_test_Mod_RoundHalfAway_P2_N1 =  Dict
-_test_Div_RoundHalfAway_P2_N2 :: Dict (K.Div 'K.RoundHalfAway (P 2) (N 2) ~ N 1)
-_test_Div_RoundHalfAway_P2_N2 =  Dict
-_test_Mod_RoundHalfAway_P2_N2 :: Dict (K.Mod 'K.RoundHalfAway (P 2) (N 2) ~ P 0)
-_test_Mod_RoundHalfAway_P2_N2 =  Dict
-_test_Div_RoundHalfAway_P2_N3 :: Dict (K.Div 'K.RoundHalfAway (P 2) (N 3) ~ N 1)
-_test_Div_RoundHalfAway_P2_N3 =  Dict
-_test_Mod_RoundHalfAway_P2_N3 :: Dict (K.Mod 'K.RoundHalfAway (P 2) (N 3) ~ N 1)
-_test_Mod_RoundHalfAway_P2_N3 =  Dict
-_test_Div_RoundHalfAway_P2_N4 :: Dict (K.Div 'K.RoundHalfAway (P 2) (N 4) ~ N 1)
-_test_Div_RoundHalfAway_P2_N4 =  Dict
-_test_Mod_RoundHalfAway_P2_N4 :: Dict (K.Mod 'K.RoundHalfAway (P 2) (N 4) ~ N 2)
-_test_Mod_RoundHalfAway_P2_N4 =  Dict
-_test_Div_RoundHalfAway_P2_P1 :: Dict (K.Div 'K.RoundHalfAway (P 2) (P 1) ~ P 2)
-_test_Div_RoundHalfAway_P2_P1 =  Dict
-_test_Mod_RoundHalfAway_P2_P1 :: Dict (K.Mod 'K.RoundHalfAway (P 2) (P 1) ~ P 0)
-_test_Mod_RoundHalfAway_P2_P1 =  Dict
-_test_Div_RoundHalfAway_P2_P2 :: Dict (K.Div 'K.RoundHalfAway (P 2) (P 2) ~ P 1)
-_test_Div_RoundHalfAway_P2_P2 =  Dict
-_test_Mod_RoundHalfAway_P2_P2 :: Dict (K.Mod 'K.RoundHalfAway (P 2) (P 2) ~ P 0)
-_test_Mod_RoundHalfAway_P2_P2 =  Dict
-_test_Div_RoundHalfAway_P2_P3 :: Dict (K.Div 'K.RoundHalfAway (P 2) (P 3) ~ P 1)
-_test_Div_RoundHalfAway_P2_P3 =  Dict
-_test_Mod_RoundHalfAway_P2_P3 :: Dict (K.Mod 'K.RoundHalfAway (P 2) (P 3) ~ N 1)
-_test_Mod_RoundHalfAway_P2_P3 =  Dict
-_test_Div_RoundHalfAway_P2_P4 :: Dict (K.Div 'K.RoundHalfAway (P 2) (P 4) ~ P 1)
-_test_Div_RoundHalfAway_P2_P4 =  Dict
-_test_Mod_RoundHalfAway_P2_P4 :: Dict (K.Mod 'K.RoundHalfAway (P 2) (P 4) ~ N 2)
-_test_Mod_RoundHalfAway_P2_P4 =  Dict
-_test_Div_RoundHalfAway_P3_N1 :: Dict (K.Div 'K.RoundHalfAway (P 3) (N 1) ~ N 3)
-_test_Div_RoundHalfAway_P3_N1 =  Dict
-_test_Mod_RoundHalfAway_P3_N1 :: Dict (K.Mod 'K.RoundHalfAway (P 3) (N 1) ~ P 0)
-_test_Mod_RoundHalfAway_P3_N1 =  Dict
-_test_Div_RoundHalfAway_P3_N2 :: Dict (K.Div 'K.RoundHalfAway (P 3) (N 2) ~ N 2)
-_test_Div_RoundHalfAway_P3_N2 =  Dict
-_test_Mod_RoundHalfAway_P3_N2 :: Dict (K.Mod 'K.RoundHalfAway (P 3) (N 2) ~ N 1)
-_test_Mod_RoundHalfAway_P3_N2 =  Dict
-_test_Div_RoundHalfAway_P3_N3 :: Dict (K.Div 'K.RoundHalfAway (P 3) (N 3) ~ N 1)
-_test_Div_RoundHalfAway_P3_N3 =  Dict
-_test_Mod_RoundHalfAway_P3_N3 :: Dict (K.Mod 'K.RoundHalfAway (P 3) (N 3) ~ P 0)
-_test_Mod_RoundHalfAway_P3_N3 =  Dict
-_test_Div_RoundHalfAway_P3_N4 :: Dict (K.Div 'K.RoundHalfAway (P 3) (N 4) ~ N 1)
-_test_Div_RoundHalfAway_P3_N4 =  Dict
-_test_Mod_RoundHalfAway_P3_N4 :: Dict (K.Mod 'K.RoundHalfAway (P 3) (N 4) ~ N 1)
-_test_Mod_RoundHalfAway_P3_N4 =  Dict
-_test_Div_RoundHalfAway_P3_P1 :: Dict (K.Div 'K.RoundHalfAway (P 3) (P 1) ~ P 3)
-_test_Div_RoundHalfAway_P3_P1 =  Dict
-_test_Mod_RoundHalfAway_P3_P1 :: Dict (K.Mod 'K.RoundHalfAway (P 3) (P 1) ~ P 0)
-_test_Mod_RoundHalfAway_P3_P1 =  Dict
-_test_Div_RoundHalfAway_P3_P2 :: Dict (K.Div 'K.RoundHalfAway (P 3) (P 2) ~ P 2)
-_test_Div_RoundHalfAway_P3_P2 =  Dict
-_test_Mod_RoundHalfAway_P3_P2 :: Dict (K.Mod 'K.RoundHalfAway (P 3) (P 2) ~ N 1)
-_test_Mod_RoundHalfAway_P3_P2 =  Dict
-_test_Div_RoundHalfAway_P3_P3 :: Dict (K.Div 'K.RoundHalfAway (P 3) (P 3) ~ P 1)
-_test_Div_RoundHalfAway_P3_P3 =  Dict
-_test_Mod_RoundHalfAway_P3_P3 :: Dict (K.Mod 'K.RoundHalfAway (P 3) (P 3) ~ P 0)
-_test_Mod_RoundHalfAway_P3_P3 =  Dict
-_test_Div_RoundHalfAway_P3_P4 :: Dict (K.Div 'K.RoundHalfAway (P 3) (P 4) ~ P 1)
-_test_Div_RoundHalfAway_P3_P4 =  Dict
-_test_Mod_RoundHalfAway_P3_P4 :: Dict (K.Mod 'K.RoundHalfAway (P 3) (P 4) ~ N 1)
-_test_Mod_RoundHalfAway_P3_P4 =  Dict
-_test_Div_RoundHalfAway_P4_N1 :: Dict (K.Div 'K.RoundHalfAway (P 4) (N 1) ~ N 4)
-_test_Div_RoundHalfAway_P4_N1 =  Dict
-_test_Mod_RoundHalfAway_P4_N1 :: Dict (K.Mod 'K.RoundHalfAway (P 4) (N 1) ~ P 0)
-_test_Mod_RoundHalfAway_P4_N1 =  Dict
-_test_Div_RoundHalfAway_P4_N2 :: Dict (K.Div 'K.RoundHalfAway (P 4) (N 2) ~ N 2)
-_test_Div_RoundHalfAway_P4_N2 =  Dict
-_test_Mod_RoundHalfAway_P4_N2 :: Dict (K.Mod 'K.RoundHalfAway (P 4) (N 2) ~ P 0)
-_test_Mod_RoundHalfAway_P4_N2 =  Dict
-_test_Div_RoundHalfAway_P4_N3 :: Dict (K.Div 'K.RoundHalfAway (P 4) (N 3) ~ N 1)
-_test_Div_RoundHalfAway_P4_N3 =  Dict
-_test_Mod_RoundHalfAway_P4_N3 :: Dict (K.Mod 'K.RoundHalfAway (P 4) (N 3) ~ P 1)
-_test_Mod_RoundHalfAway_P4_N3 =  Dict
-_test_Div_RoundHalfAway_P4_N4 :: Dict (K.Div 'K.RoundHalfAway (P 4) (N 4) ~ N 1)
-_test_Div_RoundHalfAway_P4_N4 =  Dict
-_test_Mod_RoundHalfAway_P4_N4 :: Dict (K.Mod 'K.RoundHalfAway (P 4) (N 4) ~ P 0)
-_test_Mod_RoundHalfAway_P4_N4 =  Dict
-_test_Div_RoundHalfAway_P4_P1 :: Dict (K.Div 'K.RoundHalfAway (P 4) (P 1) ~ P 4)
-_test_Div_RoundHalfAway_P4_P1 =  Dict
-_test_Mod_RoundHalfAway_P4_P1 :: Dict (K.Mod 'K.RoundHalfAway (P 4) (P 1) ~ P 0)
-_test_Mod_RoundHalfAway_P4_P1 =  Dict
-_test_Div_RoundHalfAway_P4_P2 :: Dict (K.Div 'K.RoundHalfAway (P 4) (P 2) ~ P 2)
-_test_Div_RoundHalfAway_P4_P2 =  Dict
-_test_Mod_RoundHalfAway_P4_P2 :: Dict (K.Mod 'K.RoundHalfAway (P 4) (P 2) ~ P 0)
-_test_Mod_RoundHalfAway_P4_P2 =  Dict
-_test_Div_RoundHalfAway_P4_P3 :: Dict (K.Div 'K.RoundHalfAway (P 4) (P 3) ~ P 1)
-_test_Div_RoundHalfAway_P4_P3 =  Dict
-_test_Mod_RoundHalfAway_P4_P3 :: Dict (K.Mod 'K.RoundHalfAway (P 4) (P 3) ~ P 1)
-_test_Mod_RoundHalfAway_P4_P3 =  Dict
-_test_Div_RoundHalfAway_P4_P4 :: Dict (K.Div 'K.RoundHalfAway (P 4) (P 4) ~ P 1)
-_test_Div_RoundHalfAway_P4_P4 =  Dict
-_test_Mod_RoundHalfAway_P4_P4 :: Dict (K.Mod 'K.RoundHalfAway (P 4) (P 4) ~ P 0)
-_test_Mod_RoundHalfAway_P4_P4 =  Dict
-_test_Div_RoundHalfDown_N1_N1 :: Dict (K.Div 'K.RoundHalfDown (N 1) (N 1) ~ P 1)
-_test_Div_RoundHalfDown_N1_N1 =  Dict
-_test_Mod_RoundHalfDown_N1_N1 :: Dict (K.Mod 'K.RoundHalfDown (N 1) (N 1) ~ P 0)
-_test_Mod_RoundHalfDown_N1_N1 =  Dict
-_test_Div_RoundHalfDown_N1_N2 :: Dict (K.Div 'K.RoundHalfDown (N 1) (N 2) ~ P 0)
-_test_Div_RoundHalfDown_N1_N2 =  Dict
-_test_Mod_RoundHalfDown_N1_N2 :: Dict (K.Mod 'K.RoundHalfDown (N 1) (N 2) ~ N 1)
-_test_Mod_RoundHalfDown_N1_N2 =  Dict
-_test_Div_RoundHalfDown_N1_N3 :: Dict (K.Div 'K.RoundHalfDown (N 1) (N 3) ~ P 0)
-_test_Div_RoundHalfDown_N1_N3 =  Dict
-_test_Mod_RoundHalfDown_N1_N3 :: Dict (K.Mod 'K.RoundHalfDown (N 1) (N 3) ~ N 1)
-_test_Mod_RoundHalfDown_N1_N3 =  Dict
-_test_Div_RoundHalfDown_N1_N4 :: Dict (K.Div 'K.RoundHalfDown (N 1) (N 4) ~ P 0)
-_test_Div_RoundHalfDown_N1_N4 =  Dict
-_test_Mod_RoundHalfDown_N1_N4 :: Dict (K.Mod 'K.RoundHalfDown (N 1) (N 4) ~ N 1)
-_test_Mod_RoundHalfDown_N1_N4 =  Dict
-_test_Div_RoundHalfDown_N1_P1 :: Dict (K.Div 'K.RoundHalfDown (N 1) (P 1) ~ N 1)
-_test_Div_RoundHalfDown_N1_P1 =  Dict
-_test_Mod_RoundHalfDown_N1_P1 :: Dict (K.Mod 'K.RoundHalfDown (N 1) (P 1) ~ P 0)
-_test_Mod_RoundHalfDown_N1_P1 =  Dict
-_test_Div_RoundHalfDown_N1_P2 :: Dict (K.Div 'K.RoundHalfDown (N 1) (P 2) ~ N 1)
-_test_Div_RoundHalfDown_N1_P2 =  Dict
-_test_Mod_RoundHalfDown_N1_P2 :: Dict (K.Mod 'K.RoundHalfDown (N 1) (P 2) ~ P 1)
-_test_Mod_RoundHalfDown_N1_P2 =  Dict
-_test_Div_RoundHalfDown_N1_P3 :: Dict (K.Div 'K.RoundHalfDown (N 1) (P 3) ~ P 0)
-_test_Div_RoundHalfDown_N1_P3 =  Dict
-_test_Mod_RoundHalfDown_N1_P3 :: Dict (K.Mod 'K.RoundHalfDown (N 1) (P 3) ~ N 1)
-_test_Mod_RoundHalfDown_N1_P3 =  Dict
-_test_Div_RoundHalfDown_N1_P4 :: Dict (K.Div 'K.RoundHalfDown (N 1) (P 4) ~ P 0)
-_test_Div_RoundHalfDown_N1_P4 =  Dict
-_test_Mod_RoundHalfDown_N1_P4 :: Dict (K.Mod 'K.RoundHalfDown (N 1) (P 4) ~ N 1)
-_test_Mod_RoundHalfDown_N1_P4 =  Dict
-_test_Div_RoundHalfDown_N2_N1 :: Dict (K.Div 'K.RoundHalfDown (N 2) (N 1) ~ P 2)
-_test_Div_RoundHalfDown_N2_N1 =  Dict
-_test_Mod_RoundHalfDown_N2_N1 :: Dict (K.Mod 'K.RoundHalfDown (N 2) (N 1) ~ P 0)
-_test_Mod_RoundHalfDown_N2_N1 =  Dict
-_test_Div_RoundHalfDown_N2_N2 :: Dict (K.Div 'K.RoundHalfDown (N 2) (N 2) ~ P 1)
-_test_Div_RoundHalfDown_N2_N2 =  Dict
-_test_Mod_RoundHalfDown_N2_N2 :: Dict (K.Mod 'K.RoundHalfDown (N 2) (N 2) ~ P 0)
-_test_Mod_RoundHalfDown_N2_N2 =  Dict
-_test_Div_RoundHalfDown_N2_N3 :: Dict (K.Div 'K.RoundHalfDown (N 2) (N 3) ~ P 1)
-_test_Div_RoundHalfDown_N2_N3 =  Dict
-_test_Mod_RoundHalfDown_N2_N3 :: Dict (K.Mod 'K.RoundHalfDown (N 2) (N 3) ~ P 1)
-_test_Mod_RoundHalfDown_N2_N3 =  Dict
-_test_Div_RoundHalfDown_N2_N4 :: Dict (K.Div 'K.RoundHalfDown (N 2) (N 4) ~ P 0)
-_test_Div_RoundHalfDown_N2_N4 =  Dict
-_test_Mod_RoundHalfDown_N2_N4 :: Dict (K.Mod 'K.RoundHalfDown (N 2) (N 4) ~ N 2)
-_test_Mod_RoundHalfDown_N2_N4 =  Dict
-_test_Div_RoundHalfDown_N2_P1 :: Dict (K.Div 'K.RoundHalfDown (N 2) (P 1) ~ N 2)
-_test_Div_RoundHalfDown_N2_P1 =  Dict
-_test_Mod_RoundHalfDown_N2_P1 :: Dict (K.Mod 'K.RoundHalfDown (N 2) (P 1) ~ P 0)
-_test_Mod_RoundHalfDown_N2_P1 =  Dict
-_test_Div_RoundHalfDown_N2_P2 :: Dict (K.Div 'K.RoundHalfDown (N 2) (P 2) ~ N 1)
-_test_Div_RoundHalfDown_N2_P2 =  Dict
-_test_Mod_RoundHalfDown_N2_P2 :: Dict (K.Mod 'K.RoundHalfDown (N 2) (P 2) ~ P 0)
-_test_Mod_RoundHalfDown_N2_P2 =  Dict
-_test_Div_RoundHalfDown_N2_P3 :: Dict (K.Div 'K.RoundHalfDown (N 2) (P 3) ~ N 1)
-_test_Div_RoundHalfDown_N2_P3 =  Dict
-_test_Mod_RoundHalfDown_N2_P3 :: Dict (K.Mod 'K.RoundHalfDown (N 2) (P 3) ~ P 1)
-_test_Mod_RoundHalfDown_N2_P3 =  Dict
-_test_Div_RoundHalfDown_N2_P4 :: Dict (K.Div 'K.RoundHalfDown (N 2) (P 4) ~ N 1)
-_test_Div_RoundHalfDown_N2_P4 =  Dict
-_test_Mod_RoundHalfDown_N2_P4 :: Dict (K.Mod 'K.RoundHalfDown (N 2) (P 4) ~ P 2)
-_test_Mod_RoundHalfDown_N2_P4 =  Dict
-_test_Div_RoundHalfDown_N3_N1 :: Dict (K.Div 'K.RoundHalfDown (N 3) (N 1) ~ P 3)
-_test_Div_RoundHalfDown_N3_N1 =  Dict
-_test_Mod_RoundHalfDown_N3_N1 :: Dict (K.Mod 'K.RoundHalfDown (N 3) (N 1) ~ P 0)
-_test_Mod_RoundHalfDown_N3_N1 =  Dict
-_test_Div_RoundHalfDown_N3_N2 :: Dict (K.Div 'K.RoundHalfDown (N 3) (N 2) ~ P 1)
-_test_Div_RoundHalfDown_N3_N2 =  Dict
-_test_Mod_RoundHalfDown_N3_N2 :: Dict (K.Mod 'K.RoundHalfDown (N 3) (N 2) ~ N 1)
-_test_Mod_RoundHalfDown_N3_N2 =  Dict
-_test_Div_RoundHalfDown_N3_N3 :: Dict (K.Div 'K.RoundHalfDown (N 3) (N 3) ~ P 1)
-_test_Div_RoundHalfDown_N3_N3 =  Dict
-_test_Mod_RoundHalfDown_N3_N3 :: Dict (K.Mod 'K.RoundHalfDown (N 3) (N 3) ~ P 0)
-_test_Mod_RoundHalfDown_N3_N3 =  Dict
-_test_Div_RoundHalfDown_N3_N4 :: Dict (K.Div 'K.RoundHalfDown (N 3) (N 4) ~ P 1)
-_test_Div_RoundHalfDown_N3_N4 =  Dict
-_test_Mod_RoundHalfDown_N3_N4 :: Dict (K.Mod 'K.RoundHalfDown (N 3) (N 4) ~ P 1)
-_test_Mod_RoundHalfDown_N3_N4 =  Dict
-_test_Div_RoundHalfDown_N3_P1 :: Dict (K.Div 'K.RoundHalfDown (N 3) (P 1) ~ N 3)
-_test_Div_RoundHalfDown_N3_P1 =  Dict
-_test_Mod_RoundHalfDown_N3_P1 :: Dict (K.Mod 'K.RoundHalfDown (N 3) (P 1) ~ P 0)
-_test_Mod_RoundHalfDown_N3_P1 =  Dict
-_test_Div_RoundHalfDown_N3_P2 :: Dict (K.Div 'K.RoundHalfDown (N 3) (P 2) ~ N 2)
-_test_Div_RoundHalfDown_N3_P2 =  Dict
-_test_Mod_RoundHalfDown_N3_P2 :: Dict (K.Mod 'K.RoundHalfDown (N 3) (P 2) ~ P 1)
-_test_Mod_RoundHalfDown_N3_P2 =  Dict
-_test_Div_RoundHalfDown_N3_P3 :: Dict (K.Div 'K.RoundHalfDown (N 3) (P 3) ~ N 1)
-_test_Div_RoundHalfDown_N3_P3 =  Dict
-_test_Mod_RoundHalfDown_N3_P3 :: Dict (K.Mod 'K.RoundHalfDown (N 3) (P 3) ~ P 0)
-_test_Mod_RoundHalfDown_N3_P3 =  Dict
-_test_Div_RoundHalfDown_N3_P4 :: Dict (K.Div 'K.RoundHalfDown (N 3) (P 4) ~ N 1)
-_test_Div_RoundHalfDown_N3_P4 =  Dict
-_test_Mod_RoundHalfDown_N3_P4 :: Dict (K.Mod 'K.RoundHalfDown (N 3) (P 4) ~ P 1)
-_test_Mod_RoundHalfDown_N3_P4 =  Dict
-_test_Div_RoundHalfDown_N4_N1 :: Dict (K.Div 'K.RoundHalfDown (N 4) (N 1) ~ P 4)
-_test_Div_RoundHalfDown_N4_N1 =  Dict
-_test_Mod_RoundHalfDown_N4_N1 :: Dict (K.Mod 'K.RoundHalfDown (N 4) (N 1) ~ P 0)
-_test_Mod_RoundHalfDown_N4_N1 =  Dict
-_test_Div_RoundHalfDown_N4_N2 :: Dict (K.Div 'K.RoundHalfDown (N 4) (N 2) ~ P 2)
-_test_Div_RoundHalfDown_N4_N2 =  Dict
-_test_Mod_RoundHalfDown_N4_N2 :: Dict (K.Mod 'K.RoundHalfDown (N 4) (N 2) ~ P 0)
-_test_Mod_RoundHalfDown_N4_N2 =  Dict
-_test_Div_RoundHalfDown_N4_N3 :: Dict (K.Div 'K.RoundHalfDown (N 4) (N 3) ~ P 1)
-_test_Div_RoundHalfDown_N4_N3 =  Dict
-_test_Mod_RoundHalfDown_N4_N3 :: Dict (K.Mod 'K.RoundHalfDown (N 4) (N 3) ~ N 1)
-_test_Mod_RoundHalfDown_N4_N3 =  Dict
-_test_Div_RoundHalfDown_N4_N4 :: Dict (K.Div 'K.RoundHalfDown (N 4) (N 4) ~ P 1)
-_test_Div_RoundHalfDown_N4_N4 =  Dict
-_test_Mod_RoundHalfDown_N4_N4 :: Dict (K.Mod 'K.RoundHalfDown (N 4) (N 4) ~ P 0)
-_test_Mod_RoundHalfDown_N4_N4 =  Dict
-_test_Div_RoundHalfDown_N4_P1 :: Dict (K.Div 'K.RoundHalfDown (N 4) (P 1) ~ N 4)
-_test_Div_RoundHalfDown_N4_P1 =  Dict
-_test_Mod_RoundHalfDown_N4_P1 :: Dict (K.Mod 'K.RoundHalfDown (N 4) (P 1) ~ P 0)
-_test_Mod_RoundHalfDown_N4_P1 =  Dict
-_test_Div_RoundHalfDown_N4_P2 :: Dict (K.Div 'K.RoundHalfDown (N 4) (P 2) ~ N 2)
-_test_Div_RoundHalfDown_N4_P2 =  Dict
-_test_Mod_RoundHalfDown_N4_P2 :: Dict (K.Mod 'K.RoundHalfDown (N 4) (P 2) ~ P 0)
-_test_Mod_RoundHalfDown_N4_P2 =  Dict
-_test_Div_RoundHalfDown_N4_P3 :: Dict (K.Div 'K.RoundHalfDown (N 4) (P 3) ~ N 1)
-_test_Div_RoundHalfDown_N4_P3 =  Dict
-_test_Mod_RoundHalfDown_N4_P3 :: Dict (K.Mod 'K.RoundHalfDown (N 4) (P 3) ~ N 1)
-_test_Mod_RoundHalfDown_N4_P3 =  Dict
-_test_Div_RoundHalfDown_N4_P4 :: Dict (K.Div 'K.RoundHalfDown (N 4) (P 4) ~ N 1)
-_test_Div_RoundHalfDown_N4_P4 =  Dict
-_test_Mod_RoundHalfDown_N4_P4 :: Dict (K.Mod 'K.RoundHalfDown (N 4) (P 4) ~ P 0)
-_test_Mod_RoundHalfDown_N4_P4 =  Dict
-_test_Div_RoundHalfDown_P0_N1 :: Dict (K.Div 'K.RoundHalfDown (P 0) (N 1) ~ P 0)
-_test_Div_RoundHalfDown_P0_N1 =  Dict
-_test_Mod_RoundHalfDown_P0_N1 :: Dict (K.Mod 'K.RoundHalfDown (P 0) (N 1) ~ P 0)
-_test_Mod_RoundHalfDown_P0_N1 =  Dict
-_test_Div_RoundHalfDown_P0_N2 :: Dict (K.Div 'K.RoundHalfDown (P 0) (N 2) ~ P 0)
-_test_Div_RoundHalfDown_P0_N2 =  Dict
-_test_Mod_RoundHalfDown_P0_N2 :: Dict (K.Mod 'K.RoundHalfDown (P 0) (N 2) ~ P 0)
-_test_Mod_RoundHalfDown_P0_N2 =  Dict
-_test_Div_RoundHalfDown_P0_N3 :: Dict (K.Div 'K.RoundHalfDown (P 0) (N 3) ~ P 0)
-_test_Div_RoundHalfDown_P0_N3 =  Dict
-_test_Mod_RoundHalfDown_P0_N3 :: Dict (K.Mod 'K.RoundHalfDown (P 0) (N 3) ~ P 0)
-_test_Mod_RoundHalfDown_P0_N3 =  Dict
-_test_Div_RoundHalfDown_P0_N4 :: Dict (K.Div 'K.RoundHalfDown (P 0) (N 4) ~ P 0)
-_test_Div_RoundHalfDown_P0_N4 =  Dict
-_test_Mod_RoundHalfDown_P0_N4 :: Dict (K.Mod 'K.RoundHalfDown (P 0) (N 4) ~ P 0)
-_test_Mod_RoundHalfDown_P0_N4 =  Dict
-_test_Div_RoundHalfDown_P0_P1 :: Dict (K.Div 'K.RoundHalfDown (P 0) (P 1) ~ P 0)
-_test_Div_RoundHalfDown_P0_P1 =  Dict
-_test_Mod_RoundHalfDown_P0_P1 :: Dict (K.Mod 'K.RoundHalfDown (P 0) (P 1) ~ P 0)
-_test_Mod_RoundHalfDown_P0_P1 =  Dict
-_test_Div_RoundHalfDown_P0_P2 :: Dict (K.Div 'K.RoundHalfDown (P 0) (P 2) ~ P 0)
-_test_Div_RoundHalfDown_P0_P2 =  Dict
-_test_Mod_RoundHalfDown_P0_P2 :: Dict (K.Mod 'K.RoundHalfDown (P 0) (P 2) ~ P 0)
-_test_Mod_RoundHalfDown_P0_P2 =  Dict
-_test_Div_RoundHalfDown_P0_P3 :: Dict (K.Div 'K.RoundHalfDown (P 0) (P 3) ~ P 0)
-_test_Div_RoundHalfDown_P0_P3 =  Dict
-_test_Mod_RoundHalfDown_P0_P3 :: Dict (K.Mod 'K.RoundHalfDown (P 0) (P 3) ~ P 0)
-_test_Mod_RoundHalfDown_P0_P3 =  Dict
-_test_Div_RoundHalfDown_P0_P4 :: Dict (K.Div 'K.RoundHalfDown (P 0) (P 4) ~ P 0)
-_test_Div_RoundHalfDown_P0_P4 =  Dict
-_test_Mod_RoundHalfDown_P0_P4 :: Dict (K.Mod 'K.RoundHalfDown (P 0) (P 4) ~ P 0)
-_test_Mod_RoundHalfDown_P0_P4 =  Dict
-_test_Div_RoundHalfDown_P1_N1 :: Dict (K.Div 'K.RoundHalfDown (P 1) (N 1) ~ N 1)
-_test_Div_RoundHalfDown_P1_N1 =  Dict
-_test_Mod_RoundHalfDown_P1_N1 :: Dict (K.Mod 'K.RoundHalfDown (P 1) (N 1) ~ P 0)
-_test_Mod_RoundHalfDown_P1_N1 =  Dict
-_test_Div_RoundHalfDown_P1_N2 :: Dict (K.Div 'K.RoundHalfDown (P 1) (N 2) ~ N 1)
-_test_Div_RoundHalfDown_P1_N2 =  Dict
-_test_Mod_RoundHalfDown_P1_N2 :: Dict (K.Mod 'K.RoundHalfDown (P 1) (N 2) ~ N 1)
-_test_Mod_RoundHalfDown_P1_N2 =  Dict
-_test_Div_RoundHalfDown_P1_N3 :: Dict (K.Div 'K.RoundHalfDown (P 1) (N 3) ~ P 0)
-_test_Div_RoundHalfDown_P1_N3 =  Dict
-_test_Mod_RoundHalfDown_P1_N3 :: Dict (K.Mod 'K.RoundHalfDown (P 1) (N 3) ~ P 1)
-_test_Mod_RoundHalfDown_P1_N3 =  Dict
-_test_Div_RoundHalfDown_P1_N4 :: Dict (K.Div 'K.RoundHalfDown (P 1) (N 4) ~ P 0)
-_test_Div_RoundHalfDown_P1_N4 =  Dict
-_test_Mod_RoundHalfDown_P1_N4 :: Dict (K.Mod 'K.RoundHalfDown (P 1) (N 4) ~ P 1)
-_test_Mod_RoundHalfDown_P1_N4 =  Dict
-_test_Div_RoundHalfDown_P1_P1 :: Dict (K.Div 'K.RoundHalfDown (P 1) (P 1) ~ P 1)
-_test_Div_RoundHalfDown_P1_P1 =  Dict
-_test_Mod_RoundHalfDown_P1_P1 :: Dict (K.Mod 'K.RoundHalfDown (P 1) (P 1) ~ P 0)
-_test_Mod_RoundHalfDown_P1_P1 =  Dict
-_test_Div_RoundHalfDown_P1_P2 :: Dict (K.Div 'K.RoundHalfDown (P 1) (P 2) ~ P 0)
-_test_Div_RoundHalfDown_P1_P2 =  Dict
-_test_Mod_RoundHalfDown_P1_P2 :: Dict (K.Mod 'K.RoundHalfDown (P 1) (P 2) ~ P 1)
-_test_Mod_RoundHalfDown_P1_P2 =  Dict
-_test_Div_RoundHalfDown_P1_P3 :: Dict (K.Div 'K.RoundHalfDown (P 1) (P 3) ~ P 0)
-_test_Div_RoundHalfDown_P1_P3 =  Dict
-_test_Mod_RoundHalfDown_P1_P3 :: Dict (K.Mod 'K.RoundHalfDown (P 1) (P 3) ~ P 1)
-_test_Mod_RoundHalfDown_P1_P3 =  Dict
-_test_Div_RoundHalfDown_P1_P4 :: Dict (K.Div 'K.RoundHalfDown (P 1) (P 4) ~ P 0)
-_test_Div_RoundHalfDown_P1_P4 =  Dict
-_test_Mod_RoundHalfDown_P1_P4 :: Dict (K.Mod 'K.RoundHalfDown (P 1) (P 4) ~ P 1)
-_test_Mod_RoundHalfDown_P1_P4 =  Dict
-_test_Div_RoundHalfDown_P2_N1 :: Dict (K.Div 'K.RoundHalfDown (P 2) (N 1) ~ N 2)
-_test_Div_RoundHalfDown_P2_N1 =  Dict
-_test_Mod_RoundHalfDown_P2_N1 :: Dict (K.Mod 'K.RoundHalfDown (P 2) (N 1) ~ P 0)
-_test_Mod_RoundHalfDown_P2_N1 =  Dict
-_test_Div_RoundHalfDown_P2_N2 :: Dict (K.Div 'K.RoundHalfDown (P 2) (N 2) ~ N 1)
-_test_Div_RoundHalfDown_P2_N2 =  Dict
-_test_Mod_RoundHalfDown_P2_N2 :: Dict (K.Mod 'K.RoundHalfDown (P 2) (N 2) ~ P 0)
-_test_Mod_RoundHalfDown_P2_N2 =  Dict
-_test_Div_RoundHalfDown_P2_N3 :: Dict (K.Div 'K.RoundHalfDown (P 2) (N 3) ~ N 1)
-_test_Div_RoundHalfDown_P2_N3 =  Dict
-_test_Mod_RoundHalfDown_P2_N3 :: Dict (K.Mod 'K.RoundHalfDown (P 2) (N 3) ~ N 1)
-_test_Mod_RoundHalfDown_P2_N3 =  Dict
-_test_Div_RoundHalfDown_P2_N4 :: Dict (K.Div 'K.RoundHalfDown (P 2) (N 4) ~ N 1)
-_test_Div_RoundHalfDown_P2_N4 =  Dict
-_test_Mod_RoundHalfDown_P2_N4 :: Dict (K.Mod 'K.RoundHalfDown (P 2) (N 4) ~ N 2)
-_test_Mod_RoundHalfDown_P2_N4 =  Dict
-_test_Div_RoundHalfDown_P2_P1 :: Dict (K.Div 'K.RoundHalfDown (P 2) (P 1) ~ P 2)
-_test_Div_RoundHalfDown_P2_P1 =  Dict
-_test_Mod_RoundHalfDown_P2_P1 :: Dict (K.Mod 'K.RoundHalfDown (P 2) (P 1) ~ P 0)
-_test_Mod_RoundHalfDown_P2_P1 =  Dict
-_test_Div_RoundHalfDown_P2_P2 :: Dict (K.Div 'K.RoundHalfDown (P 2) (P 2) ~ P 1)
-_test_Div_RoundHalfDown_P2_P2 =  Dict
-_test_Mod_RoundHalfDown_P2_P2 :: Dict (K.Mod 'K.RoundHalfDown (P 2) (P 2) ~ P 0)
-_test_Mod_RoundHalfDown_P2_P2 =  Dict
-_test_Div_RoundHalfDown_P2_P3 :: Dict (K.Div 'K.RoundHalfDown (P 2) (P 3) ~ P 1)
-_test_Div_RoundHalfDown_P2_P3 =  Dict
-_test_Mod_RoundHalfDown_P2_P3 :: Dict (K.Mod 'K.RoundHalfDown (P 2) (P 3) ~ N 1)
-_test_Mod_RoundHalfDown_P2_P3 =  Dict
-_test_Div_RoundHalfDown_P2_P4 :: Dict (K.Div 'K.RoundHalfDown (P 2) (P 4) ~ P 0)
-_test_Div_RoundHalfDown_P2_P4 =  Dict
-_test_Mod_RoundHalfDown_P2_P4 :: Dict (K.Mod 'K.RoundHalfDown (P 2) (P 4) ~ P 2)
-_test_Mod_RoundHalfDown_P2_P4 =  Dict
-_test_Div_RoundHalfDown_P3_N1 :: Dict (K.Div 'K.RoundHalfDown (P 3) (N 1) ~ N 3)
-_test_Div_RoundHalfDown_P3_N1 =  Dict
-_test_Mod_RoundHalfDown_P3_N1 :: Dict (K.Mod 'K.RoundHalfDown (P 3) (N 1) ~ P 0)
-_test_Mod_RoundHalfDown_P3_N1 =  Dict
-_test_Div_RoundHalfDown_P3_N2 :: Dict (K.Div 'K.RoundHalfDown (P 3) (N 2) ~ N 2)
-_test_Div_RoundHalfDown_P3_N2 =  Dict
-_test_Mod_RoundHalfDown_P3_N2 :: Dict (K.Mod 'K.RoundHalfDown (P 3) (N 2) ~ N 1)
-_test_Mod_RoundHalfDown_P3_N2 =  Dict
-_test_Div_RoundHalfDown_P3_N3 :: Dict (K.Div 'K.RoundHalfDown (P 3) (N 3) ~ N 1)
-_test_Div_RoundHalfDown_P3_N3 =  Dict
-_test_Mod_RoundHalfDown_P3_N3 :: Dict (K.Mod 'K.RoundHalfDown (P 3) (N 3) ~ P 0)
-_test_Mod_RoundHalfDown_P3_N3 =  Dict
-_test_Div_RoundHalfDown_P3_N4 :: Dict (K.Div 'K.RoundHalfDown (P 3) (N 4) ~ N 1)
-_test_Div_RoundHalfDown_P3_N4 =  Dict
-_test_Mod_RoundHalfDown_P3_N4 :: Dict (K.Mod 'K.RoundHalfDown (P 3) (N 4) ~ N 1)
-_test_Mod_RoundHalfDown_P3_N4 =  Dict
-_test_Div_RoundHalfDown_P3_P1 :: Dict (K.Div 'K.RoundHalfDown (P 3) (P 1) ~ P 3)
-_test_Div_RoundHalfDown_P3_P1 =  Dict
-_test_Mod_RoundHalfDown_P3_P1 :: Dict (K.Mod 'K.RoundHalfDown (P 3) (P 1) ~ P 0)
-_test_Mod_RoundHalfDown_P3_P1 =  Dict
-_test_Div_RoundHalfDown_P3_P2 :: Dict (K.Div 'K.RoundHalfDown (P 3) (P 2) ~ P 1)
-_test_Div_RoundHalfDown_P3_P2 =  Dict
-_test_Mod_RoundHalfDown_P3_P2 :: Dict (K.Mod 'K.RoundHalfDown (P 3) (P 2) ~ P 1)
-_test_Mod_RoundHalfDown_P3_P2 =  Dict
-_test_Div_RoundHalfDown_P3_P3 :: Dict (K.Div 'K.RoundHalfDown (P 3) (P 3) ~ P 1)
-_test_Div_RoundHalfDown_P3_P3 =  Dict
-_test_Mod_RoundHalfDown_P3_P3 :: Dict (K.Mod 'K.RoundHalfDown (P 3) (P 3) ~ P 0)
-_test_Mod_RoundHalfDown_P3_P3 =  Dict
-_test_Div_RoundHalfDown_P3_P4 :: Dict (K.Div 'K.RoundHalfDown (P 3) (P 4) ~ P 1)
-_test_Div_RoundHalfDown_P3_P4 =  Dict
-_test_Mod_RoundHalfDown_P3_P4 :: Dict (K.Mod 'K.RoundHalfDown (P 3) (P 4) ~ N 1)
-_test_Mod_RoundHalfDown_P3_P4 =  Dict
-_test_Div_RoundHalfDown_P4_N1 :: Dict (K.Div 'K.RoundHalfDown (P 4) (N 1) ~ N 4)
-_test_Div_RoundHalfDown_P4_N1 =  Dict
-_test_Mod_RoundHalfDown_P4_N1 :: Dict (K.Mod 'K.RoundHalfDown (P 4) (N 1) ~ P 0)
-_test_Mod_RoundHalfDown_P4_N1 =  Dict
-_test_Div_RoundHalfDown_P4_N2 :: Dict (K.Div 'K.RoundHalfDown (P 4) (N 2) ~ N 2)
-_test_Div_RoundHalfDown_P4_N2 =  Dict
-_test_Mod_RoundHalfDown_P4_N2 :: Dict (K.Mod 'K.RoundHalfDown (P 4) (N 2) ~ P 0)
-_test_Mod_RoundHalfDown_P4_N2 =  Dict
-_test_Div_RoundHalfDown_P4_N3 :: Dict (K.Div 'K.RoundHalfDown (P 4) (N 3) ~ N 1)
-_test_Div_RoundHalfDown_P4_N3 =  Dict
-_test_Mod_RoundHalfDown_P4_N3 :: Dict (K.Mod 'K.RoundHalfDown (P 4) (N 3) ~ P 1)
-_test_Mod_RoundHalfDown_P4_N3 =  Dict
-_test_Div_RoundHalfDown_P4_N4 :: Dict (K.Div 'K.RoundHalfDown (P 4) (N 4) ~ N 1)
-_test_Div_RoundHalfDown_P4_N4 =  Dict
-_test_Mod_RoundHalfDown_P4_N4 :: Dict (K.Mod 'K.RoundHalfDown (P 4) (N 4) ~ P 0)
-_test_Mod_RoundHalfDown_P4_N4 =  Dict
-_test_Div_RoundHalfDown_P4_P1 :: Dict (K.Div 'K.RoundHalfDown (P 4) (P 1) ~ P 4)
-_test_Div_RoundHalfDown_P4_P1 =  Dict
-_test_Mod_RoundHalfDown_P4_P1 :: Dict (K.Mod 'K.RoundHalfDown (P 4) (P 1) ~ P 0)
-_test_Mod_RoundHalfDown_P4_P1 =  Dict
-_test_Div_RoundHalfDown_P4_P2 :: Dict (K.Div 'K.RoundHalfDown (P 4) (P 2) ~ P 2)
-_test_Div_RoundHalfDown_P4_P2 =  Dict
-_test_Mod_RoundHalfDown_P4_P2 :: Dict (K.Mod 'K.RoundHalfDown (P 4) (P 2) ~ P 0)
-_test_Mod_RoundHalfDown_P4_P2 =  Dict
-_test_Div_RoundHalfDown_P4_P3 :: Dict (K.Div 'K.RoundHalfDown (P 4) (P 3) ~ P 1)
-_test_Div_RoundHalfDown_P4_P3 =  Dict
-_test_Mod_RoundHalfDown_P4_P3 :: Dict (K.Mod 'K.RoundHalfDown (P 4) (P 3) ~ P 1)
-_test_Mod_RoundHalfDown_P4_P3 =  Dict
-_test_Div_RoundHalfDown_P4_P4 :: Dict (K.Div 'K.RoundHalfDown (P 4) (P 4) ~ P 1)
-_test_Div_RoundHalfDown_P4_P4 =  Dict
-_test_Mod_RoundHalfDown_P4_P4 :: Dict (K.Mod 'K.RoundHalfDown (P 4) (P 4) ~ P 0)
-_test_Mod_RoundHalfDown_P4_P4 =  Dict
-_test_Div_RoundHalfEven_N1_N1 :: Dict (K.Div 'K.RoundHalfEven (N 1) (N 1) ~ P 1)
-_test_Div_RoundHalfEven_N1_N1 =  Dict
-_test_Mod_RoundHalfEven_N1_N1 :: Dict (K.Mod 'K.RoundHalfEven (N 1) (N 1) ~ P 0)
-_test_Mod_RoundHalfEven_N1_N1 =  Dict
-_test_Div_RoundHalfEven_N1_N2 :: Dict (K.Div 'K.RoundHalfEven (N 1) (N 2) ~ P 0)
-_test_Div_RoundHalfEven_N1_N2 =  Dict
-_test_Mod_RoundHalfEven_N1_N2 :: Dict (K.Mod 'K.RoundHalfEven (N 1) (N 2) ~ N 1)
-_test_Mod_RoundHalfEven_N1_N2 =  Dict
-_test_Div_RoundHalfEven_N1_N3 :: Dict (K.Div 'K.RoundHalfEven (N 1) (N 3) ~ P 0)
-_test_Div_RoundHalfEven_N1_N3 =  Dict
-_test_Mod_RoundHalfEven_N1_N3 :: Dict (K.Mod 'K.RoundHalfEven (N 1) (N 3) ~ N 1)
-_test_Mod_RoundHalfEven_N1_N3 =  Dict
-_test_Div_RoundHalfEven_N1_N4 :: Dict (K.Div 'K.RoundHalfEven (N 1) (N 4) ~ P 0)
-_test_Div_RoundHalfEven_N1_N4 =  Dict
-_test_Mod_RoundHalfEven_N1_N4 :: Dict (K.Mod 'K.RoundHalfEven (N 1) (N 4) ~ N 1)
-_test_Mod_RoundHalfEven_N1_N4 =  Dict
-_test_Div_RoundHalfEven_N1_P1 :: Dict (K.Div 'K.RoundHalfEven (N 1) (P 1) ~ N 1)
-_test_Div_RoundHalfEven_N1_P1 =  Dict
-_test_Mod_RoundHalfEven_N1_P1 :: Dict (K.Mod 'K.RoundHalfEven (N 1) (P 1) ~ P 0)
-_test_Mod_RoundHalfEven_N1_P1 =  Dict
-_test_Div_RoundHalfEven_N1_P2 :: Dict (K.Div 'K.RoundHalfEven (N 1) (P 2) ~ P 0)
-_test_Div_RoundHalfEven_N1_P2 =  Dict
-_test_Mod_RoundHalfEven_N1_P2 :: Dict (K.Mod 'K.RoundHalfEven (N 1) (P 2) ~ N 1)
-_test_Mod_RoundHalfEven_N1_P2 =  Dict
-_test_Div_RoundHalfEven_N1_P3 :: Dict (K.Div 'K.RoundHalfEven (N 1) (P 3) ~ P 0)
-_test_Div_RoundHalfEven_N1_P3 =  Dict
-_test_Mod_RoundHalfEven_N1_P3 :: Dict (K.Mod 'K.RoundHalfEven (N 1) (P 3) ~ N 1)
-_test_Mod_RoundHalfEven_N1_P3 =  Dict
-_test_Div_RoundHalfEven_N1_P4 :: Dict (K.Div 'K.RoundHalfEven (N 1) (P 4) ~ P 0)
-_test_Div_RoundHalfEven_N1_P4 =  Dict
-_test_Mod_RoundHalfEven_N1_P4 :: Dict (K.Mod 'K.RoundHalfEven (N 1) (P 4) ~ N 1)
-_test_Mod_RoundHalfEven_N1_P4 =  Dict
-_test_Div_RoundHalfEven_N2_N1 :: Dict (K.Div 'K.RoundHalfEven (N 2) (N 1) ~ P 2)
-_test_Div_RoundHalfEven_N2_N1 =  Dict
-_test_Mod_RoundHalfEven_N2_N1 :: Dict (K.Mod 'K.RoundHalfEven (N 2) (N 1) ~ P 0)
-_test_Mod_RoundHalfEven_N2_N1 =  Dict
-_test_Div_RoundHalfEven_N2_N2 :: Dict (K.Div 'K.RoundHalfEven (N 2) (N 2) ~ P 1)
-_test_Div_RoundHalfEven_N2_N2 =  Dict
-_test_Mod_RoundHalfEven_N2_N2 :: Dict (K.Mod 'K.RoundHalfEven (N 2) (N 2) ~ P 0)
-_test_Mod_RoundHalfEven_N2_N2 =  Dict
-_test_Div_RoundHalfEven_N2_N3 :: Dict (K.Div 'K.RoundHalfEven (N 2) (N 3) ~ P 1)
-_test_Div_RoundHalfEven_N2_N3 =  Dict
-_test_Mod_RoundHalfEven_N2_N3 :: Dict (K.Mod 'K.RoundHalfEven (N 2) (N 3) ~ P 1)
-_test_Mod_RoundHalfEven_N2_N3 =  Dict
-_test_Div_RoundHalfEven_N2_N4 :: Dict (K.Div 'K.RoundHalfEven (N 2) (N 4) ~ P 0)
-_test_Div_RoundHalfEven_N2_N4 =  Dict
-_test_Mod_RoundHalfEven_N2_N4 :: Dict (K.Mod 'K.RoundHalfEven (N 2) (N 4) ~ N 2)
-_test_Mod_RoundHalfEven_N2_N4 =  Dict
-_test_Div_RoundHalfEven_N2_P1 :: Dict (K.Div 'K.RoundHalfEven (N 2) (P 1) ~ N 2)
-_test_Div_RoundHalfEven_N2_P1 =  Dict
-_test_Mod_RoundHalfEven_N2_P1 :: Dict (K.Mod 'K.RoundHalfEven (N 2) (P 1) ~ P 0)
-_test_Mod_RoundHalfEven_N2_P1 =  Dict
-_test_Div_RoundHalfEven_N2_P2 :: Dict (K.Div 'K.RoundHalfEven (N 2) (P 2) ~ N 1)
-_test_Div_RoundHalfEven_N2_P2 =  Dict
-_test_Mod_RoundHalfEven_N2_P2 :: Dict (K.Mod 'K.RoundHalfEven (N 2) (P 2) ~ P 0)
-_test_Mod_RoundHalfEven_N2_P2 =  Dict
-_test_Div_RoundHalfEven_N2_P3 :: Dict (K.Div 'K.RoundHalfEven (N 2) (P 3) ~ N 1)
-_test_Div_RoundHalfEven_N2_P3 =  Dict
-_test_Mod_RoundHalfEven_N2_P3 :: Dict (K.Mod 'K.RoundHalfEven (N 2) (P 3) ~ P 1)
-_test_Mod_RoundHalfEven_N2_P3 =  Dict
-_test_Div_RoundHalfEven_N2_P4 :: Dict (K.Div 'K.RoundHalfEven (N 2) (P 4) ~ P 0)
-_test_Div_RoundHalfEven_N2_P4 =  Dict
-_test_Mod_RoundHalfEven_N2_P4 :: Dict (K.Mod 'K.RoundHalfEven (N 2) (P 4) ~ N 2)
-_test_Mod_RoundHalfEven_N2_P4 =  Dict
-_test_Div_RoundHalfEven_N3_N1 :: Dict (K.Div 'K.RoundHalfEven (N 3) (N 1) ~ P 3)
-_test_Div_RoundHalfEven_N3_N1 =  Dict
-_test_Mod_RoundHalfEven_N3_N1 :: Dict (K.Mod 'K.RoundHalfEven (N 3) (N 1) ~ P 0)
-_test_Mod_RoundHalfEven_N3_N1 =  Dict
-_test_Div_RoundHalfEven_N3_N2 :: Dict (K.Div 'K.RoundHalfEven (N 3) (N 2) ~ P 2)
-_test_Div_RoundHalfEven_N3_N2 =  Dict
-_test_Mod_RoundHalfEven_N3_N2 :: Dict (K.Mod 'K.RoundHalfEven (N 3) (N 2) ~ P 1)
-_test_Mod_RoundHalfEven_N3_N2 =  Dict
-_test_Div_RoundHalfEven_N3_N3 :: Dict (K.Div 'K.RoundHalfEven (N 3) (N 3) ~ P 1)
-_test_Div_RoundHalfEven_N3_N3 =  Dict
-_test_Mod_RoundHalfEven_N3_N3 :: Dict (K.Mod 'K.RoundHalfEven (N 3) (N 3) ~ P 0)
-_test_Mod_RoundHalfEven_N3_N3 =  Dict
-_test_Div_RoundHalfEven_N3_N4 :: Dict (K.Div 'K.RoundHalfEven (N 3) (N 4) ~ P 1)
-_test_Div_RoundHalfEven_N3_N4 =  Dict
-_test_Mod_RoundHalfEven_N3_N4 :: Dict (K.Mod 'K.RoundHalfEven (N 3) (N 4) ~ P 1)
-_test_Mod_RoundHalfEven_N3_N4 =  Dict
-_test_Div_RoundHalfEven_N3_P1 :: Dict (K.Div 'K.RoundHalfEven (N 3) (P 1) ~ N 3)
-_test_Div_RoundHalfEven_N3_P1 =  Dict
-_test_Mod_RoundHalfEven_N3_P1 :: Dict (K.Mod 'K.RoundHalfEven (N 3) (P 1) ~ P 0)
-_test_Mod_RoundHalfEven_N3_P1 =  Dict
-_test_Div_RoundHalfEven_N3_P2 :: Dict (K.Div 'K.RoundHalfEven (N 3) (P 2) ~ N 2)
-_test_Div_RoundHalfEven_N3_P2 =  Dict
-_test_Mod_RoundHalfEven_N3_P2 :: Dict (K.Mod 'K.RoundHalfEven (N 3) (P 2) ~ P 1)
-_test_Mod_RoundHalfEven_N3_P2 =  Dict
-_test_Div_RoundHalfEven_N3_P3 :: Dict (K.Div 'K.RoundHalfEven (N 3) (P 3) ~ N 1)
-_test_Div_RoundHalfEven_N3_P3 =  Dict
-_test_Mod_RoundHalfEven_N3_P3 :: Dict (K.Mod 'K.RoundHalfEven (N 3) (P 3) ~ P 0)
-_test_Mod_RoundHalfEven_N3_P3 =  Dict
-_test_Div_RoundHalfEven_N3_P4 :: Dict (K.Div 'K.RoundHalfEven (N 3) (P 4) ~ N 1)
-_test_Div_RoundHalfEven_N3_P4 =  Dict
-_test_Mod_RoundHalfEven_N3_P4 :: Dict (K.Mod 'K.RoundHalfEven (N 3) (P 4) ~ P 1)
-_test_Mod_RoundHalfEven_N3_P4 =  Dict
-_test_Div_RoundHalfEven_N4_N1 :: Dict (K.Div 'K.RoundHalfEven (N 4) (N 1) ~ P 4)
-_test_Div_RoundHalfEven_N4_N1 =  Dict
-_test_Mod_RoundHalfEven_N4_N1 :: Dict (K.Mod 'K.RoundHalfEven (N 4) (N 1) ~ P 0)
-_test_Mod_RoundHalfEven_N4_N1 =  Dict
-_test_Div_RoundHalfEven_N4_N2 :: Dict (K.Div 'K.RoundHalfEven (N 4) (N 2) ~ P 2)
-_test_Div_RoundHalfEven_N4_N2 =  Dict
-_test_Mod_RoundHalfEven_N4_N2 :: Dict (K.Mod 'K.RoundHalfEven (N 4) (N 2) ~ P 0)
-_test_Mod_RoundHalfEven_N4_N2 =  Dict
-_test_Div_RoundHalfEven_N4_N3 :: Dict (K.Div 'K.RoundHalfEven (N 4) (N 3) ~ P 1)
-_test_Div_RoundHalfEven_N4_N3 =  Dict
-_test_Mod_RoundHalfEven_N4_N3 :: Dict (K.Mod 'K.RoundHalfEven (N 4) (N 3) ~ N 1)
-_test_Mod_RoundHalfEven_N4_N3 =  Dict
-_test_Div_RoundHalfEven_N4_N4 :: Dict (K.Div 'K.RoundHalfEven (N 4) (N 4) ~ P 1)
-_test_Div_RoundHalfEven_N4_N4 =  Dict
-_test_Mod_RoundHalfEven_N4_N4 :: Dict (K.Mod 'K.RoundHalfEven (N 4) (N 4) ~ P 0)
-_test_Mod_RoundHalfEven_N4_N4 =  Dict
-_test_Div_RoundHalfEven_N4_P1 :: Dict (K.Div 'K.RoundHalfEven (N 4) (P 1) ~ N 4)
-_test_Div_RoundHalfEven_N4_P1 =  Dict
-_test_Mod_RoundHalfEven_N4_P1 :: Dict (K.Mod 'K.RoundHalfEven (N 4) (P 1) ~ P 0)
-_test_Mod_RoundHalfEven_N4_P1 =  Dict
-_test_Div_RoundHalfEven_N4_P2 :: Dict (K.Div 'K.RoundHalfEven (N 4) (P 2) ~ N 2)
-_test_Div_RoundHalfEven_N4_P2 =  Dict
-_test_Mod_RoundHalfEven_N4_P2 :: Dict (K.Mod 'K.RoundHalfEven (N 4) (P 2) ~ P 0)
-_test_Mod_RoundHalfEven_N4_P2 =  Dict
-_test_Div_RoundHalfEven_N4_P3 :: Dict (K.Div 'K.RoundHalfEven (N 4) (P 3) ~ N 1)
-_test_Div_RoundHalfEven_N4_P3 =  Dict
-_test_Mod_RoundHalfEven_N4_P3 :: Dict (K.Mod 'K.RoundHalfEven (N 4) (P 3) ~ N 1)
-_test_Mod_RoundHalfEven_N4_P3 =  Dict
-_test_Div_RoundHalfEven_N4_P4 :: Dict (K.Div 'K.RoundHalfEven (N 4) (P 4) ~ N 1)
-_test_Div_RoundHalfEven_N4_P4 =  Dict
-_test_Mod_RoundHalfEven_N4_P4 :: Dict (K.Mod 'K.RoundHalfEven (N 4) (P 4) ~ P 0)
-_test_Mod_RoundHalfEven_N4_P4 =  Dict
-_test_Div_RoundHalfEven_P0_N1 :: Dict (K.Div 'K.RoundHalfEven (P 0) (N 1) ~ P 0)
-_test_Div_RoundHalfEven_P0_N1 =  Dict
-_test_Mod_RoundHalfEven_P0_N1 :: Dict (K.Mod 'K.RoundHalfEven (P 0) (N 1) ~ P 0)
-_test_Mod_RoundHalfEven_P0_N1 =  Dict
-_test_Div_RoundHalfEven_P0_N2 :: Dict (K.Div 'K.RoundHalfEven (P 0) (N 2) ~ P 0)
-_test_Div_RoundHalfEven_P0_N2 =  Dict
-_test_Mod_RoundHalfEven_P0_N2 :: Dict (K.Mod 'K.RoundHalfEven (P 0) (N 2) ~ P 0)
-_test_Mod_RoundHalfEven_P0_N2 =  Dict
-_test_Div_RoundHalfEven_P0_N3 :: Dict (K.Div 'K.RoundHalfEven (P 0) (N 3) ~ P 0)
-_test_Div_RoundHalfEven_P0_N3 =  Dict
-_test_Mod_RoundHalfEven_P0_N3 :: Dict (K.Mod 'K.RoundHalfEven (P 0) (N 3) ~ P 0)
-_test_Mod_RoundHalfEven_P0_N3 =  Dict
-_test_Div_RoundHalfEven_P0_N4 :: Dict (K.Div 'K.RoundHalfEven (P 0) (N 4) ~ P 0)
-_test_Div_RoundHalfEven_P0_N4 =  Dict
-_test_Mod_RoundHalfEven_P0_N4 :: Dict (K.Mod 'K.RoundHalfEven (P 0) (N 4) ~ P 0)
-_test_Mod_RoundHalfEven_P0_N4 =  Dict
-_test_Div_RoundHalfEven_P0_P1 :: Dict (K.Div 'K.RoundHalfEven (P 0) (P 1) ~ P 0)
-_test_Div_RoundHalfEven_P0_P1 =  Dict
-_test_Mod_RoundHalfEven_P0_P1 :: Dict (K.Mod 'K.RoundHalfEven (P 0) (P 1) ~ P 0)
-_test_Mod_RoundHalfEven_P0_P1 =  Dict
-_test_Div_RoundHalfEven_P0_P2 :: Dict (K.Div 'K.RoundHalfEven (P 0) (P 2) ~ P 0)
-_test_Div_RoundHalfEven_P0_P2 =  Dict
-_test_Mod_RoundHalfEven_P0_P2 :: Dict (K.Mod 'K.RoundHalfEven (P 0) (P 2) ~ P 0)
-_test_Mod_RoundHalfEven_P0_P2 =  Dict
-_test_Div_RoundHalfEven_P0_P3 :: Dict (K.Div 'K.RoundHalfEven (P 0) (P 3) ~ P 0)
-_test_Div_RoundHalfEven_P0_P3 =  Dict
-_test_Mod_RoundHalfEven_P0_P3 :: Dict (K.Mod 'K.RoundHalfEven (P 0) (P 3) ~ P 0)
-_test_Mod_RoundHalfEven_P0_P3 =  Dict
-_test_Div_RoundHalfEven_P0_P4 :: Dict (K.Div 'K.RoundHalfEven (P 0) (P 4) ~ P 0)
-_test_Div_RoundHalfEven_P0_P4 =  Dict
-_test_Mod_RoundHalfEven_P0_P4 :: Dict (K.Mod 'K.RoundHalfEven (P 0) (P 4) ~ P 0)
-_test_Mod_RoundHalfEven_P0_P4 =  Dict
-_test_Div_RoundHalfEven_P1_N1 :: Dict (K.Div 'K.RoundHalfEven (P 1) (N 1) ~ N 1)
-_test_Div_RoundHalfEven_P1_N1 =  Dict
-_test_Mod_RoundHalfEven_P1_N1 :: Dict (K.Mod 'K.RoundHalfEven (P 1) (N 1) ~ P 0)
-_test_Mod_RoundHalfEven_P1_N1 =  Dict
-_test_Div_RoundHalfEven_P1_N2 :: Dict (K.Div 'K.RoundHalfEven (P 1) (N 2) ~ P 0)
-_test_Div_RoundHalfEven_P1_N2 =  Dict
-_test_Mod_RoundHalfEven_P1_N2 :: Dict (K.Mod 'K.RoundHalfEven (P 1) (N 2) ~ P 1)
-_test_Mod_RoundHalfEven_P1_N2 =  Dict
-_test_Div_RoundHalfEven_P1_N3 :: Dict (K.Div 'K.RoundHalfEven (P 1) (N 3) ~ P 0)
-_test_Div_RoundHalfEven_P1_N3 =  Dict
-_test_Mod_RoundHalfEven_P1_N3 :: Dict (K.Mod 'K.RoundHalfEven (P 1) (N 3) ~ P 1)
-_test_Mod_RoundHalfEven_P1_N3 =  Dict
-_test_Div_RoundHalfEven_P1_N4 :: Dict (K.Div 'K.RoundHalfEven (P 1) (N 4) ~ P 0)
-_test_Div_RoundHalfEven_P1_N4 =  Dict
-_test_Mod_RoundHalfEven_P1_N4 :: Dict (K.Mod 'K.RoundHalfEven (P 1) (N 4) ~ P 1)
-_test_Mod_RoundHalfEven_P1_N4 =  Dict
-_test_Div_RoundHalfEven_P1_P1 :: Dict (K.Div 'K.RoundHalfEven (P 1) (P 1) ~ P 1)
-_test_Div_RoundHalfEven_P1_P1 =  Dict
-_test_Mod_RoundHalfEven_P1_P1 :: Dict (K.Mod 'K.RoundHalfEven (P 1) (P 1) ~ P 0)
-_test_Mod_RoundHalfEven_P1_P1 =  Dict
-_test_Div_RoundHalfEven_P1_P2 :: Dict (K.Div 'K.RoundHalfEven (P 1) (P 2) ~ P 0)
-_test_Div_RoundHalfEven_P1_P2 =  Dict
-_test_Mod_RoundHalfEven_P1_P2 :: Dict (K.Mod 'K.RoundHalfEven (P 1) (P 2) ~ P 1)
-_test_Mod_RoundHalfEven_P1_P2 =  Dict
-_test_Div_RoundHalfEven_P1_P3 :: Dict (K.Div 'K.RoundHalfEven (P 1) (P 3) ~ P 0)
-_test_Div_RoundHalfEven_P1_P3 =  Dict
-_test_Mod_RoundHalfEven_P1_P3 :: Dict (K.Mod 'K.RoundHalfEven (P 1) (P 3) ~ P 1)
-_test_Mod_RoundHalfEven_P1_P3 =  Dict
-_test_Div_RoundHalfEven_P1_P4 :: Dict (K.Div 'K.RoundHalfEven (P 1) (P 4) ~ P 0)
-_test_Div_RoundHalfEven_P1_P4 =  Dict
-_test_Mod_RoundHalfEven_P1_P4 :: Dict (K.Mod 'K.RoundHalfEven (P 1) (P 4) ~ P 1)
-_test_Mod_RoundHalfEven_P1_P4 =  Dict
-_test_Div_RoundHalfEven_P2_N1 :: Dict (K.Div 'K.RoundHalfEven (P 2) (N 1) ~ N 2)
-_test_Div_RoundHalfEven_P2_N1 =  Dict
-_test_Mod_RoundHalfEven_P2_N1 :: Dict (K.Mod 'K.RoundHalfEven (P 2) (N 1) ~ P 0)
-_test_Mod_RoundHalfEven_P2_N1 =  Dict
-_test_Div_RoundHalfEven_P2_N2 :: Dict (K.Div 'K.RoundHalfEven (P 2) (N 2) ~ N 1)
-_test_Div_RoundHalfEven_P2_N2 =  Dict
-_test_Mod_RoundHalfEven_P2_N2 :: Dict (K.Mod 'K.RoundHalfEven (P 2) (N 2) ~ P 0)
-_test_Mod_RoundHalfEven_P2_N2 =  Dict
-_test_Div_RoundHalfEven_P2_N3 :: Dict (K.Div 'K.RoundHalfEven (P 2) (N 3) ~ N 1)
-_test_Div_RoundHalfEven_P2_N3 =  Dict
-_test_Mod_RoundHalfEven_P2_N3 :: Dict (K.Mod 'K.RoundHalfEven (P 2) (N 3) ~ N 1)
-_test_Mod_RoundHalfEven_P2_N3 =  Dict
-_test_Div_RoundHalfEven_P2_N4 :: Dict (K.Div 'K.RoundHalfEven (P 2) (N 4) ~ P 0)
-_test_Div_RoundHalfEven_P2_N4 =  Dict
-_test_Mod_RoundHalfEven_P2_N4 :: Dict (K.Mod 'K.RoundHalfEven (P 2) (N 4) ~ P 2)
-_test_Mod_RoundHalfEven_P2_N4 =  Dict
-_test_Div_RoundHalfEven_P2_P1 :: Dict (K.Div 'K.RoundHalfEven (P 2) (P 1) ~ P 2)
-_test_Div_RoundHalfEven_P2_P1 =  Dict
-_test_Mod_RoundHalfEven_P2_P1 :: Dict (K.Mod 'K.RoundHalfEven (P 2) (P 1) ~ P 0)
-_test_Mod_RoundHalfEven_P2_P1 =  Dict
-_test_Div_RoundHalfEven_P2_P2 :: Dict (K.Div 'K.RoundHalfEven (P 2) (P 2) ~ P 1)
-_test_Div_RoundHalfEven_P2_P2 =  Dict
-_test_Mod_RoundHalfEven_P2_P2 :: Dict (K.Mod 'K.RoundHalfEven (P 2) (P 2) ~ P 0)
-_test_Mod_RoundHalfEven_P2_P2 =  Dict
-_test_Div_RoundHalfEven_P2_P3 :: Dict (K.Div 'K.RoundHalfEven (P 2) (P 3) ~ P 1)
-_test_Div_RoundHalfEven_P2_P3 =  Dict
-_test_Mod_RoundHalfEven_P2_P3 :: Dict (K.Mod 'K.RoundHalfEven (P 2) (P 3) ~ N 1)
-_test_Mod_RoundHalfEven_P2_P3 =  Dict
-_test_Div_RoundHalfEven_P2_P4 :: Dict (K.Div 'K.RoundHalfEven (P 2) (P 4) ~ P 0)
-_test_Div_RoundHalfEven_P2_P4 =  Dict
-_test_Mod_RoundHalfEven_P2_P4 :: Dict (K.Mod 'K.RoundHalfEven (P 2) (P 4) ~ P 2)
-_test_Mod_RoundHalfEven_P2_P4 =  Dict
-_test_Div_RoundHalfEven_P3_N1 :: Dict (K.Div 'K.RoundHalfEven (P 3) (N 1) ~ N 3)
-_test_Div_RoundHalfEven_P3_N1 =  Dict
-_test_Mod_RoundHalfEven_P3_N1 :: Dict (K.Mod 'K.RoundHalfEven (P 3) (N 1) ~ P 0)
-_test_Mod_RoundHalfEven_P3_N1 =  Dict
-_test_Div_RoundHalfEven_P3_N2 :: Dict (K.Div 'K.RoundHalfEven (P 3) (N 2) ~ N 2)
-_test_Div_RoundHalfEven_P3_N2 =  Dict
-_test_Mod_RoundHalfEven_P3_N2 :: Dict (K.Mod 'K.RoundHalfEven (P 3) (N 2) ~ N 1)
-_test_Mod_RoundHalfEven_P3_N2 =  Dict
-_test_Div_RoundHalfEven_P3_N3 :: Dict (K.Div 'K.RoundHalfEven (P 3) (N 3) ~ N 1)
-_test_Div_RoundHalfEven_P3_N3 =  Dict
-_test_Mod_RoundHalfEven_P3_N3 :: Dict (K.Mod 'K.RoundHalfEven (P 3) (N 3) ~ P 0)
-_test_Mod_RoundHalfEven_P3_N3 =  Dict
-_test_Div_RoundHalfEven_P3_N4 :: Dict (K.Div 'K.RoundHalfEven (P 3) (N 4) ~ N 1)
-_test_Div_RoundHalfEven_P3_N4 =  Dict
-_test_Mod_RoundHalfEven_P3_N4 :: Dict (K.Mod 'K.RoundHalfEven (P 3) (N 4) ~ N 1)
-_test_Mod_RoundHalfEven_P3_N4 =  Dict
-_test_Div_RoundHalfEven_P3_P1 :: Dict (K.Div 'K.RoundHalfEven (P 3) (P 1) ~ P 3)
-_test_Div_RoundHalfEven_P3_P1 =  Dict
-_test_Mod_RoundHalfEven_P3_P1 :: Dict (K.Mod 'K.RoundHalfEven (P 3) (P 1) ~ P 0)
-_test_Mod_RoundHalfEven_P3_P1 =  Dict
-_test_Div_RoundHalfEven_P3_P2 :: Dict (K.Div 'K.RoundHalfEven (P 3) (P 2) ~ P 2)
-_test_Div_RoundHalfEven_P3_P2 =  Dict
-_test_Mod_RoundHalfEven_P3_P2 :: Dict (K.Mod 'K.RoundHalfEven (P 3) (P 2) ~ N 1)
-_test_Mod_RoundHalfEven_P3_P2 =  Dict
-_test_Div_RoundHalfEven_P3_P3 :: Dict (K.Div 'K.RoundHalfEven (P 3) (P 3) ~ P 1)
-_test_Div_RoundHalfEven_P3_P3 =  Dict
-_test_Mod_RoundHalfEven_P3_P3 :: Dict (K.Mod 'K.RoundHalfEven (P 3) (P 3) ~ P 0)
-_test_Mod_RoundHalfEven_P3_P3 =  Dict
-_test_Div_RoundHalfEven_P3_P4 :: Dict (K.Div 'K.RoundHalfEven (P 3) (P 4) ~ P 1)
-_test_Div_RoundHalfEven_P3_P4 =  Dict
-_test_Mod_RoundHalfEven_P3_P4 :: Dict (K.Mod 'K.RoundHalfEven (P 3) (P 4) ~ N 1)
-_test_Mod_RoundHalfEven_P3_P4 =  Dict
-_test_Div_RoundHalfEven_P4_N1 :: Dict (K.Div 'K.RoundHalfEven (P 4) (N 1) ~ N 4)
-_test_Div_RoundHalfEven_P4_N1 =  Dict
-_test_Mod_RoundHalfEven_P4_N1 :: Dict (K.Mod 'K.RoundHalfEven (P 4) (N 1) ~ P 0)
-_test_Mod_RoundHalfEven_P4_N1 =  Dict
-_test_Div_RoundHalfEven_P4_N2 :: Dict (K.Div 'K.RoundHalfEven (P 4) (N 2) ~ N 2)
-_test_Div_RoundHalfEven_P4_N2 =  Dict
-_test_Mod_RoundHalfEven_P4_N2 :: Dict (K.Mod 'K.RoundHalfEven (P 4) (N 2) ~ P 0)
-_test_Mod_RoundHalfEven_P4_N2 =  Dict
-_test_Div_RoundHalfEven_P4_N3 :: Dict (K.Div 'K.RoundHalfEven (P 4) (N 3) ~ N 1)
-_test_Div_RoundHalfEven_P4_N3 =  Dict
-_test_Mod_RoundHalfEven_P4_N3 :: Dict (K.Mod 'K.RoundHalfEven (P 4) (N 3) ~ P 1)
-_test_Mod_RoundHalfEven_P4_N3 =  Dict
-_test_Div_RoundHalfEven_P4_N4 :: Dict (K.Div 'K.RoundHalfEven (P 4) (N 4) ~ N 1)
-_test_Div_RoundHalfEven_P4_N4 =  Dict
-_test_Mod_RoundHalfEven_P4_N4 :: Dict (K.Mod 'K.RoundHalfEven (P 4) (N 4) ~ P 0)
-_test_Mod_RoundHalfEven_P4_N4 =  Dict
-_test_Div_RoundHalfEven_P4_P1 :: Dict (K.Div 'K.RoundHalfEven (P 4) (P 1) ~ P 4)
-_test_Div_RoundHalfEven_P4_P1 =  Dict
-_test_Mod_RoundHalfEven_P4_P1 :: Dict (K.Mod 'K.RoundHalfEven (P 4) (P 1) ~ P 0)
-_test_Mod_RoundHalfEven_P4_P1 =  Dict
-_test_Div_RoundHalfEven_P4_P2 :: Dict (K.Div 'K.RoundHalfEven (P 4) (P 2) ~ P 2)
-_test_Div_RoundHalfEven_P4_P2 =  Dict
-_test_Mod_RoundHalfEven_P4_P2 :: Dict (K.Mod 'K.RoundHalfEven (P 4) (P 2) ~ P 0)
-_test_Mod_RoundHalfEven_P4_P2 =  Dict
-_test_Div_RoundHalfEven_P4_P3 :: Dict (K.Div 'K.RoundHalfEven (P 4) (P 3) ~ P 1)
-_test_Div_RoundHalfEven_P4_P3 =  Dict
-_test_Mod_RoundHalfEven_P4_P3 :: Dict (K.Mod 'K.RoundHalfEven (P 4) (P 3) ~ P 1)
-_test_Mod_RoundHalfEven_P4_P3 =  Dict
-_test_Div_RoundHalfEven_P4_P4 :: Dict (K.Div 'K.RoundHalfEven (P 4) (P 4) ~ P 1)
-_test_Div_RoundHalfEven_P4_P4 =  Dict
-_test_Mod_RoundHalfEven_P4_P4 :: Dict (K.Mod 'K.RoundHalfEven (P 4) (P 4) ~ P 0)
-_test_Mod_RoundHalfEven_P4_P4 =  Dict
-_test_Div_RoundHalfOdd_N1_N1 :: Dict (K.Div 'K.RoundHalfOdd (N 1) (N 1) ~ P 1)
-_test_Div_RoundHalfOdd_N1_N1 =  Dict
-_test_Mod_RoundHalfOdd_N1_N1 :: Dict (K.Mod 'K.RoundHalfOdd (N 1) (N 1) ~ P 0)
-_test_Mod_RoundHalfOdd_N1_N1 =  Dict
-_test_Div_RoundHalfOdd_N1_N2 :: Dict (K.Div 'K.RoundHalfOdd (N 1) (N 2) ~ P 1)
-_test_Div_RoundHalfOdd_N1_N2 =  Dict
-_test_Mod_RoundHalfOdd_N1_N2 :: Dict (K.Mod 'K.RoundHalfOdd (N 1) (N 2) ~ P 1)
-_test_Mod_RoundHalfOdd_N1_N2 =  Dict
-_test_Div_RoundHalfOdd_N1_N3 :: Dict (K.Div 'K.RoundHalfOdd (N 1) (N 3) ~ P 0)
-_test_Div_RoundHalfOdd_N1_N3 =  Dict
-_test_Mod_RoundHalfOdd_N1_N3 :: Dict (K.Mod 'K.RoundHalfOdd (N 1) (N 3) ~ N 1)
-_test_Mod_RoundHalfOdd_N1_N3 =  Dict
-_test_Div_RoundHalfOdd_N1_N4 :: Dict (K.Div 'K.RoundHalfOdd (N 1) (N 4) ~ P 0)
-_test_Div_RoundHalfOdd_N1_N4 =  Dict
-_test_Mod_RoundHalfOdd_N1_N4 :: Dict (K.Mod 'K.RoundHalfOdd (N 1) (N 4) ~ N 1)
-_test_Mod_RoundHalfOdd_N1_N4 =  Dict
-_test_Div_RoundHalfOdd_N1_P1 :: Dict (K.Div 'K.RoundHalfOdd (N 1) (P 1) ~ N 1)
-_test_Div_RoundHalfOdd_N1_P1 =  Dict
-_test_Mod_RoundHalfOdd_N1_P1 :: Dict (K.Mod 'K.RoundHalfOdd (N 1) (P 1) ~ P 0)
-_test_Mod_RoundHalfOdd_N1_P1 =  Dict
-_test_Div_RoundHalfOdd_N1_P2 :: Dict (K.Div 'K.RoundHalfOdd (N 1) (P 2) ~ N 1)
-_test_Div_RoundHalfOdd_N1_P2 =  Dict
-_test_Mod_RoundHalfOdd_N1_P2 :: Dict (K.Mod 'K.RoundHalfOdd (N 1) (P 2) ~ P 1)
-_test_Mod_RoundHalfOdd_N1_P2 =  Dict
-_test_Div_RoundHalfOdd_N1_P3 :: Dict (K.Div 'K.RoundHalfOdd (N 1) (P 3) ~ P 0)
-_test_Div_RoundHalfOdd_N1_P3 =  Dict
-_test_Mod_RoundHalfOdd_N1_P3 :: Dict (K.Mod 'K.RoundHalfOdd (N 1) (P 3) ~ N 1)
-_test_Mod_RoundHalfOdd_N1_P3 =  Dict
-_test_Div_RoundHalfOdd_N1_P4 :: Dict (K.Div 'K.RoundHalfOdd (N 1) (P 4) ~ P 0)
-_test_Div_RoundHalfOdd_N1_P4 =  Dict
-_test_Mod_RoundHalfOdd_N1_P4 :: Dict (K.Mod 'K.RoundHalfOdd (N 1) (P 4) ~ N 1)
-_test_Mod_RoundHalfOdd_N1_P4 =  Dict
-_test_Div_RoundHalfOdd_N2_N1 :: Dict (K.Div 'K.RoundHalfOdd (N 2) (N 1) ~ P 2)
-_test_Div_RoundHalfOdd_N2_N1 =  Dict
-_test_Mod_RoundHalfOdd_N2_N1 :: Dict (K.Mod 'K.RoundHalfOdd (N 2) (N 1) ~ P 0)
-_test_Mod_RoundHalfOdd_N2_N1 =  Dict
-_test_Div_RoundHalfOdd_N2_N2 :: Dict (K.Div 'K.RoundHalfOdd (N 2) (N 2) ~ P 1)
-_test_Div_RoundHalfOdd_N2_N2 =  Dict
-_test_Mod_RoundHalfOdd_N2_N2 :: Dict (K.Mod 'K.RoundHalfOdd (N 2) (N 2) ~ P 0)
-_test_Mod_RoundHalfOdd_N2_N2 =  Dict
-_test_Div_RoundHalfOdd_N2_N3 :: Dict (K.Div 'K.RoundHalfOdd (N 2) (N 3) ~ P 1)
-_test_Div_RoundHalfOdd_N2_N3 =  Dict
-_test_Mod_RoundHalfOdd_N2_N3 :: Dict (K.Mod 'K.RoundHalfOdd (N 2) (N 3) ~ P 1)
-_test_Mod_RoundHalfOdd_N2_N3 =  Dict
-_test_Div_RoundHalfOdd_N2_N4 :: Dict (K.Div 'K.RoundHalfOdd (N 2) (N 4) ~ P 1)
-_test_Div_RoundHalfOdd_N2_N4 =  Dict
-_test_Mod_RoundHalfOdd_N2_N4 :: Dict (K.Mod 'K.RoundHalfOdd (N 2) (N 4) ~ P 2)
-_test_Mod_RoundHalfOdd_N2_N4 =  Dict
-_test_Div_RoundHalfOdd_N2_P1 :: Dict (K.Div 'K.RoundHalfOdd (N 2) (P 1) ~ N 2)
-_test_Div_RoundHalfOdd_N2_P1 =  Dict
-_test_Mod_RoundHalfOdd_N2_P1 :: Dict (K.Mod 'K.RoundHalfOdd (N 2) (P 1) ~ P 0)
-_test_Mod_RoundHalfOdd_N2_P1 =  Dict
-_test_Div_RoundHalfOdd_N2_P2 :: Dict (K.Div 'K.RoundHalfOdd (N 2) (P 2) ~ N 1)
-_test_Div_RoundHalfOdd_N2_P2 =  Dict
-_test_Mod_RoundHalfOdd_N2_P2 :: Dict (K.Mod 'K.RoundHalfOdd (N 2) (P 2) ~ P 0)
-_test_Mod_RoundHalfOdd_N2_P2 =  Dict
-_test_Div_RoundHalfOdd_N2_P3 :: Dict (K.Div 'K.RoundHalfOdd (N 2) (P 3) ~ N 1)
-_test_Div_RoundHalfOdd_N2_P3 =  Dict
-_test_Mod_RoundHalfOdd_N2_P3 :: Dict (K.Mod 'K.RoundHalfOdd (N 2) (P 3) ~ P 1)
-_test_Mod_RoundHalfOdd_N2_P3 =  Dict
-_test_Div_RoundHalfOdd_N2_P4 :: Dict (K.Div 'K.RoundHalfOdd (N 2) (P 4) ~ N 1)
-_test_Div_RoundHalfOdd_N2_P4 =  Dict
-_test_Mod_RoundHalfOdd_N2_P4 :: Dict (K.Mod 'K.RoundHalfOdd (N 2) (P 4) ~ P 2)
-_test_Mod_RoundHalfOdd_N2_P4 =  Dict
-_test_Div_RoundHalfOdd_N3_N1 :: Dict (K.Div 'K.RoundHalfOdd (N 3) (N 1) ~ P 3)
-_test_Div_RoundHalfOdd_N3_N1 =  Dict
-_test_Mod_RoundHalfOdd_N3_N1 :: Dict (K.Mod 'K.RoundHalfOdd (N 3) (N 1) ~ P 0)
-_test_Mod_RoundHalfOdd_N3_N1 =  Dict
-_test_Div_RoundHalfOdd_N3_N2 :: Dict (K.Div 'K.RoundHalfOdd (N 3) (N 2) ~ P 1)
-_test_Div_RoundHalfOdd_N3_N2 =  Dict
-_test_Mod_RoundHalfOdd_N3_N2 :: Dict (K.Mod 'K.RoundHalfOdd (N 3) (N 2) ~ N 1)
-_test_Mod_RoundHalfOdd_N3_N2 =  Dict
-_test_Div_RoundHalfOdd_N3_N3 :: Dict (K.Div 'K.RoundHalfOdd (N 3) (N 3) ~ P 1)
-_test_Div_RoundHalfOdd_N3_N3 =  Dict
-_test_Mod_RoundHalfOdd_N3_N3 :: Dict (K.Mod 'K.RoundHalfOdd (N 3) (N 3) ~ P 0)
-_test_Mod_RoundHalfOdd_N3_N3 =  Dict
-_test_Div_RoundHalfOdd_N3_N4 :: Dict (K.Div 'K.RoundHalfOdd (N 3) (N 4) ~ P 1)
-_test_Div_RoundHalfOdd_N3_N4 =  Dict
-_test_Mod_RoundHalfOdd_N3_N4 :: Dict (K.Mod 'K.RoundHalfOdd (N 3) (N 4) ~ P 1)
-_test_Mod_RoundHalfOdd_N3_N4 =  Dict
-_test_Div_RoundHalfOdd_N3_P1 :: Dict (K.Div 'K.RoundHalfOdd (N 3) (P 1) ~ N 3)
-_test_Div_RoundHalfOdd_N3_P1 =  Dict
-_test_Mod_RoundHalfOdd_N3_P1 :: Dict (K.Mod 'K.RoundHalfOdd (N 3) (P 1) ~ P 0)
-_test_Mod_RoundHalfOdd_N3_P1 =  Dict
-_test_Div_RoundHalfOdd_N3_P2 :: Dict (K.Div 'K.RoundHalfOdd (N 3) (P 2) ~ N 1)
-_test_Div_RoundHalfOdd_N3_P2 =  Dict
-_test_Mod_RoundHalfOdd_N3_P2 :: Dict (K.Mod 'K.RoundHalfOdd (N 3) (P 2) ~ N 1)
-_test_Mod_RoundHalfOdd_N3_P2 =  Dict
-_test_Div_RoundHalfOdd_N3_P3 :: Dict (K.Div 'K.RoundHalfOdd (N 3) (P 3) ~ N 1)
-_test_Div_RoundHalfOdd_N3_P3 =  Dict
-_test_Mod_RoundHalfOdd_N3_P3 :: Dict (K.Mod 'K.RoundHalfOdd (N 3) (P 3) ~ P 0)
-_test_Mod_RoundHalfOdd_N3_P3 =  Dict
-_test_Div_RoundHalfOdd_N3_P4 :: Dict (K.Div 'K.RoundHalfOdd (N 3) (P 4) ~ N 1)
-_test_Div_RoundHalfOdd_N3_P4 =  Dict
-_test_Mod_RoundHalfOdd_N3_P4 :: Dict (K.Mod 'K.RoundHalfOdd (N 3) (P 4) ~ P 1)
-_test_Mod_RoundHalfOdd_N3_P4 =  Dict
-_test_Div_RoundHalfOdd_N4_N1 :: Dict (K.Div 'K.RoundHalfOdd (N 4) (N 1) ~ P 4)
-_test_Div_RoundHalfOdd_N4_N1 =  Dict
-_test_Mod_RoundHalfOdd_N4_N1 :: Dict (K.Mod 'K.RoundHalfOdd (N 4) (N 1) ~ P 0)
-_test_Mod_RoundHalfOdd_N4_N1 =  Dict
-_test_Div_RoundHalfOdd_N4_N2 :: Dict (K.Div 'K.RoundHalfOdd (N 4) (N 2) ~ P 2)
-_test_Div_RoundHalfOdd_N4_N2 =  Dict
-_test_Mod_RoundHalfOdd_N4_N2 :: Dict (K.Mod 'K.RoundHalfOdd (N 4) (N 2) ~ P 0)
-_test_Mod_RoundHalfOdd_N4_N2 =  Dict
-_test_Div_RoundHalfOdd_N4_N3 :: Dict (K.Div 'K.RoundHalfOdd (N 4) (N 3) ~ P 1)
-_test_Div_RoundHalfOdd_N4_N3 =  Dict
-_test_Mod_RoundHalfOdd_N4_N3 :: Dict (K.Mod 'K.RoundHalfOdd (N 4) (N 3) ~ N 1)
-_test_Mod_RoundHalfOdd_N4_N3 =  Dict
-_test_Div_RoundHalfOdd_N4_N4 :: Dict (K.Div 'K.RoundHalfOdd (N 4) (N 4) ~ P 1)
-_test_Div_RoundHalfOdd_N4_N4 =  Dict
-_test_Mod_RoundHalfOdd_N4_N4 :: Dict (K.Mod 'K.RoundHalfOdd (N 4) (N 4) ~ P 0)
-_test_Mod_RoundHalfOdd_N4_N4 =  Dict
-_test_Div_RoundHalfOdd_N4_P1 :: Dict (K.Div 'K.RoundHalfOdd (N 4) (P 1) ~ N 4)
-_test_Div_RoundHalfOdd_N4_P1 =  Dict
-_test_Mod_RoundHalfOdd_N4_P1 :: Dict (K.Mod 'K.RoundHalfOdd (N 4) (P 1) ~ P 0)
-_test_Mod_RoundHalfOdd_N4_P1 =  Dict
-_test_Div_RoundHalfOdd_N4_P2 :: Dict (K.Div 'K.RoundHalfOdd (N 4) (P 2) ~ N 2)
-_test_Div_RoundHalfOdd_N4_P2 =  Dict
-_test_Mod_RoundHalfOdd_N4_P2 :: Dict (K.Mod 'K.RoundHalfOdd (N 4) (P 2) ~ P 0)
-_test_Mod_RoundHalfOdd_N4_P2 =  Dict
-_test_Div_RoundHalfOdd_N4_P3 :: Dict (K.Div 'K.RoundHalfOdd (N 4) (P 3) ~ N 1)
-_test_Div_RoundHalfOdd_N4_P3 =  Dict
-_test_Mod_RoundHalfOdd_N4_P3 :: Dict (K.Mod 'K.RoundHalfOdd (N 4) (P 3) ~ N 1)
-_test_Mod_RoundHalfOdd_N4_P3 =  Dict
-_test_Div_RoundHalfOdd_N4_P4 :: Dict (K.Div 'K.RoundHalfOdd (N 4) (P 4) ~ N 1)
-_test_Div_RoundHalfOdd_N4_P4 =  Dict
-_test_Mod_RoundHalfOdd_N4_P4 :: Dict (K.Mod 'K.RoundHalfOdd (N 4) (P 4) ~ P 0)
-_test_Mod_RoundHalfOdd_N4_P4 =  Dict
-_test_Div_RoundHalfOdd_P0_N1 :: Dict (K.Div 'K.RoundHalfOdd (P 0) (N 1) ~ P 0)
-_test_Div_RoundHalfOdd_P0_N1 =  Dict
-_test_Mod_RoundHalfOdd_P0_N1 :: Dict (K.Mod 'K.RoundHalfOdd (P 0) (N 1) ~ P 0)
-_test_Mod_RoundHalfOdd_P0_N1 =  Dict
-_test_Div_RoundHalfOdd_P0_N2 :: Dict (K.Div 'K.RoundHalfOdd (P 0) (N 2) ~ P 0)
-_test_Div_RoundHalfOdd_P0_N2 =  Dict
-_test_Mod_RoundHalfOdd_P0_N2 :: Dict (K.Mod 'K.RoundHalfOdd (P 0) (N 2) ~ P 0)
-_test_Mod_RoundHalfOdd_P0_N2 =  Dict
-_test_Div_RoundHalfOdd_P0_N3 :: Dict (K.Div 'K.RoundHalfOdd (P 0) (N 3) ~ P 0)
-_test_Div_RoundHalfOdd_P0_N3 =  Dict
-_test_Mod_RoundHalfOdd_P0_N3 :: Dict (K.Mod 'K.RoundHalfOdd (P 0) (N 3) ~ P 0)
-_test_Mod_RoundHalfOdd_P0_N3 =  Dict
-_test_Div_RoundHalfOdd_P0_N4 :: Dict (K.Div 'K.RoundHalfOdd (P 0) (N 4) ~ P 0)
-_test_Div_RoundHalfOdd_P0_N4 =  Dict
-_test_Mod_RoundHalfOdd_P0_N4 :: Dict (K.Mod 'K.RoundHalfOdd (P 0) (N 4) ~ P 0)
-_test_Mod_RoundHalfOdd_P0_N4 =  Dict
-_test_Div_RoundHalfOdd_P0_P1 :: Dict (K.Div 'K.RoundHalfOdd (P 0) (P 1) ~ P 0)
-_test_Div_RoundHalfOdd_P0_P1 =  Dict
-_test_Mod_RoundHalfOdd_P0_P1 :: Dict (K.Mod 'K.RoundHalfOdd (P 0) (P 1) ~ P 0)
-_test_Mod_RoundHalfOdd_P0_P1 =  Dict
-_test_Div_RoundHalfOdd_P0_P2 :: Dict (K.Div 'K.RoundHalfOdd (P 0) (P 2) ~ P 0)
-_test_Div_RoundHalfOdd_P0_P2 =  Dict
-_test_Mod_RoundHalfOdd_P0_P2 :: Dict (K.Mod 'K.RoundHalfOdd (P 0) (P 2) ~ P 0)
-_test_Mod_RoundHalfOdd_P0_P2 =  Dict
-_test_Div_RoundHalfOdd_P0_P3 :: Dict (K.Div 'K.RoundHalfOdd (P 0) (P 3) ~ P 0)
-_test_Div_RoundHalfOdd_P0_P3 =  Dict
-_test_Mod_RoundHalfOdd_P0_P3 :: Dict (K.Mod 'K.RoundHalfOdd (P 0) (P 3) ~ P 0)
-_test_Mod_RoundHalfOdd_P0_P3 =  Dict
-_test_Div_RoundHalfOdd_P0_P4 :: Dict (K.Div 'K.RoundHalfOdd (P 0) (P 4) ~ P 0)
-_test_Div_RoundHalfOdd_P0_P4 =  Dict
-_test_Mod_RoundHalfOdd_P0_P4 :: Dict (K.Mod 'K.RoundHalfOdd (P 0) (P 4) ~ P 0)
-_test_Mod_RoundHalfOdd_P0_P4 =  Dict
-_test_Div_RoundHalfOdd_P1_N1 :: Dict (K.Div 'K.RoundHalfOdd (P 1) (N 1) ~ N 1)
-_test_Div_RoundHalfOdd_P1_N1 =  Dict
-_test_Mod_RoundHalfOdd_P1_N1 :: Dict (K.Mod 'K.RoundHalfOdd (P 1) (N 1) ~ P 0)
-_test_Mod_RoundHalfOdd_P1_N1 =  Dict
-_test_Div_RoundHalfOdd_P1_N2 :: Dict (K.Div 'K.RoundHalfOdd (P 1) (N 2) ~ N 1)
-_test_Div_RoundHalfOdd_P1_N2 =  Dict
-_test_Mod_RoundHalfOdd_P1_N2 :: Dict (K.Mod 'K.RoundHalfOdd (P 1) (N 2) ~ N 1)
-_test_Mod_RoundHalfOdd_P1_N2 =  Dict
-_test_Div_RoundHalfOdd_P1_N3 :: Dict (K.Div 'K.RoundHalfOdd (P 1) (N 3) ~ P 0)
-_test_Div_RoundHalfOdd_P1_N3 =  Dict
-_test_Mod_RoundHalfOdd_P1_N3 :: Dict (K.Mod 'K.RoundHalfOdd (P 1) (N 3) ~ P 1)
-_test_Mod_RoundHalfOdd_P1_N3 =  Dict
-_test_Div_RoundHalfOdd_P1_N4 :: Dict (K.Div 'K.RoundHalfOdd (P 1) (N 4) ~ P 0)
-_test_Div_RoundHalfOdd_P1_N4 =  Dict
-_test_Mod_RoundHalfOdd_P1_N4 :: Dict (K.Mod 'K.RoundHalfOdd (P 1) (N 4) ~ P 1)
-_test_Mod_RoundHalfOdd_P1_N4 =  Dict
-_test_Div_RoundHalfOdd_P1_P1 :: Dict (K.Div 'K.RoundHalfOdd (P 1) (P 1) ~ P 1)
-_test_Div_RoundHalfOdd_P1_P1 =  Dict
-_test_Mod_RoundHalfOdd_P1_P1 :: Dict (K.Mod 'K.RoundHalfOdd (P 1) (P 1) ~ P 0)
-_test_Mod_RoundHalfOdd_P1_P1 =  Dict
-_test_Div_RoundHalfOdd_P1_P2 :: Dict (K.Div 'K.RoundHalfOdd (P 1) (P 2) ~ P 1)
-_test_Div_RoundHalfOdd_P1_P2 =  Dict
-_test_Mod_RoundHalfOdd_P1_P2 :: Dict (K.Mod 'K.RoundHalfOdd (P 1) (P 2) ~ N 1)
-_test_Mod_RoundHalfOdd_P1_P2 =  Dict
-_test_Div_RoundHalfOdd_P1_P3 :: Dict (K.Div 'K.RoundHalfOdd (P 1) (P 3) ~ P 0)
-_test_Div_RoundHalfOdd_P1_P3 =  Dict
-_test_Mod_RoundHalfOdd_P1_P3 :: Dict (K.Mod 'K.RoundHalfOdd (P 1) (P 3) ~ P 1)
-_test_Mod_RoundHalfOdd_P1_P3 =  Dict
-_test_Div_RoundHalfOdd_P1_P4 :: Dict (K.Div 'K.RoundHalfOdd (P 1) (P 4) ~ P 0)
-_test_Div_RoundHalfOdd_P1_P4 =  Dict
-_test_Mod_RoundHalfOdd_P1_P4 :: Dict (K.Mod 'K.RoundHalfOdd (P 1) (P 4) ~ P 1)
-_test_Mod_RoundHalfOdd_P1_P4 =  Dict
-_test_Div_RoundHalfOdd_P2_N1 :: Dict (K.Div 'K.RoundHalfOdd (P 2) (N 1) ~ N 2)
-_test_Div_RoundHalfOdd_P2_N1 =  Dict
-_test_Mod_RoundHalfOdd_P2_N1 :: Dict (K.Mod 'K.RoundHalfOdd (P 2) (N 1) ~ P 0)
-_test_Mod_RoundHalfOdd_P2_N1 =  Dict
-_test_Div_RoundHalfOdd_P2_N2 :: Dict (K.Div 'K.RoundHalfOdd (P 2) (N 2) ~ N 1)
-_test_Div_RoundHalfOdd_P2_N2 =  Dict
-_test_Mod_RoundHalfOdd_P2_N2 :: Dict (K.Mod 'K.RoundHalfOdd (P 2) (N 2) ~ P 0)
-_test_Mod_RoundHalfOdd_P2_N2 =  Dict
-_test_Div_RoundHalfOdd_P2_N3 :: Dict (K.Div 'K.RoundHalfOdd (P 2) (N 3) ~ N 1)
-_test_Div_RoundHalfOdd_P2_N3 =  Dict
-_test_Mod_RoundHalfOdd_P2_N3 :: Dict (K.Mod 'K.RoundHalfOdd (P 2) (N 3) ~ N 1)
-_test_Mod_RoundHalfOdd_P2_N3 =  Dict
-_test_Div_RoundHalfOdd_P2_N4 :: Dict (K.Div 'K.RoundHalfOdd (P 2) (N 4) ~ N 1)
-_test_Div_RoundHalfOdd_P2_N4 =  Dict
-_test_Mod_RoundHalfOdd_P2_N4 :: Dict (K.Mod 'K.RoundHalfOdd (P 2) (N 4) ~ N 2)
-_test_Mod_RoundHalfOdd_P2_N4 =  Dict
-_test_Div_RoundHalfOdd_P2_P1 :: Dict (K.Div 'K.RoundHalfOdd (P 2) (P 1) ~ P 2)
-_test_Div_RoundHalfOdd_P2_P1 =  Dict
-_test_Mod_RoundHalfOdd_P2_P1 :: Dict (K.Mod 'K.RoundHalfOdd (P 2) (P 1) ~ P 0)
-_test_Mod_RoundHalfOdd_P2_P1 =  Dict
-_test_Div_RoundHalfOdd_P2_P2 :: Dict (K.Div 'K.RoundHalfOdd (P 2) (P 2) ~ P 1)
-_test_Div_RoundHalfOdd_P2_P2 =  Dict
-_test_Mod_RoundHalfOdd_P2_P2 :: Dict (K.Mod 'K.RoundHalfOdd (P 2) (P 2) ~ P 0)
-_test_Mod_RoundHalfOdd_P2_P2 =  Dict
-_test_Div_RoundHalfOdd_P2_P3 :: Dict (K.Div 'K.RoundHalfOdd (P 2) (P 3) ~ P 1)
-_test_Div_RoundHalfOdd_P2_P3 =  Dict
-_test_Mod_RoundHalfOdd_P2_P3 :: Dict (K.Mod 'K.RoundHalfOdd (P 2) (P 3) ~ N 1)
-_test_Mod_RoundHalfOdd_P2_P3 =  Dict
-_test_Div_RoundHalfOdd_P2_P4 :: Dict (K.Div 'K.RoundHalfOdd (P 2) (P 4) ~ P 1)
-_test_Div_RoundHalfOdd_P2_P4 =  Dict
-_test_Mod_RoundHalfOdd_P2_P4 :: Dict (K.Mod 'K.RoundHalfOdd (P 2) (P 4) ~ N 2)
-_test_Mod_RoundHalfOdd_P2_P4 =  Dict
-_test_Div_RoundHalfOdd_P3_N1 :: Dict (K.Div 'K.RoundHalfOdd (P 3) (N 1) ~ N 3)
-_test_Div_RoundHalfOdd_P3_N1 =  Dict
-_test_Mod_RoundHalfOdd_P3_N1 :: Dict (K.Mod 'K.RoundHalfOdd (P 3) (N 1) ~ P 0)
-_test_Mod_RoundHalfOdd_P3_N1 =  Dict
-_test_Div_RoundHalfOdd_P3_N2 :: Dict (K.Div 'K.RoundHalfOdd (P 3) (N 2) ~ N 1)
-_test_Div_RoundHalfOdd_P3_N2 =  Dict
-_test_Mod_RoundHalfOdd_P3_N2 :: Dict (K.Mod 'K.RoundHalfOdd (P 3) (N 2) ~ P 1)
-_test_Mod_RoundHalfOdd_P3_N2 =  Dict
-_test_Div_RoundHalfOdd_P3_N3 :: Dict (K.Div 'K.RoundHalfOdd (P 3) (N 3) ~ N 1)
-_test_Div_RoundHalfOdd_P3_N3 =  Dict
-_test_Mod_RoundHalfOdd_P3_N3 :: Dict (K.Mod 'K.RoundHalfOdd (P 3) (N 3) ~ P 0)
-_test_Mod_RoundHalfOdd_P3_N3 =  Dict
-_test_Div_RoundHalfOdd_P3_N4 :: Dict (K.Div 'K.RoundHalfOdd (P 3) (N 4) ~ N 1)
-_test_Div_RoundHalfOdd_P3_N4 =  Dict
-_test_Mod_RoundHalfOdd_P3_N4 :: Dict (K.Mod 'K.RoundHalfOdd (P 3) (N 4) ~ N 1)
-_test_Mod_RoundHalfOdd_P3_N4 =  Dict
-_test_Div_RoundHalfOdd_P3_P1 :: Dict (K.Div 'K.RoundHalfOdd (P 3) (P 1) ~ P 3)
-_test_Div_RoundHalfOdd_P3_P1 =  Dict
-_test_Mod_RoundHalfOdd_P3_P1 :: Dict (K.Mod 'K.RoundHalfOdd (P 3) (P 1) ~ P 0)
-_test_Mod_RoundHalfOdd_P3_P1 =  Dict
-_test_Div_RoundHalfOdd_P3_P2 :: Dict (K.Div 'K.RoundHalfOdd (P 3) (P 2) ~ P 1)
-_test_Div_RoundHalfOdd_P3_P2 =  Dict
-_test_Mod_RoundHalfOdd_P3_P2 :: Dict (K.Mod 'K.RoundHalfOdd (P 3) (P 2) ~ P 1)
-_test_Mod_RoundHalfOdd_P3_P2 =  Dict
-_test_Div_RoundHalfOdd_P3_P3 :: Dict (K.Div 'K.RoundHalfOdd (P 3) (P 3) ~ P 1)
-_test_Div_RoundHalfOdd_P3_P3 =  Dict
-_test_Mod_RoundHalfOdd_P3_P3 :: Dict (K.Mod 'K.RoundHalfOdd (P 3) (P 3) ~ P 0)
-_test_Mod_RoundHalfOdd_P3_P3 =  Dict
-_test_Div_RoundHalfOdd_P3_P4 :: Dict (K.Div 'K.RoundHalfOdd (P 3) (P 4) ~ P 1)
-_test_Div_RoundHalfOdd_P3_P4 =  Dict
-_test_Mod_RoundHalfOdd_P3_P4 :: Dict (K.Mod 'K.RoundHalfOdd (P 3) (P 4) ~ N 1)
-_test_Mod_RoundHalfOdd_P3_P4 =  Dict
-_test_Div_RoundHalfOdd_P4_N1 :: Dict (K.Div 'K.RoundHalfOdd (P 4) (N 1) ~ N 4)
-_test_Div_RoundHalfOdd_P4_N1 =  Dict
-_test_Mod_RoundHalfOdd_P4_N1 :: Dict (K.Mod 'K.RoundHalfOdd (P 4) (N 1) ~ P 0)
-_test_Mod_RoundHalfOdd_P4_N1 =  Dict
-_test_Div_RoundHalfOdd_P4_N2 :: Dict (K.Div 'K.RoundHalfOdd (P 4) (N 2) ~ N 2)
-_test_Div_RoundHalfOdd_P4_N2 =  Dict
-_test_Mod_RoundHalfOdd_P4_N2 :: Dict (K.Mod 'K.RoundHalfOdd (P 4) (N 2) ~ P 0)
-_test_Mod_RoundHalfOdd_P4_N2 =  Dict
-_test_Div_RoundHalfOdd_P4_N3 :: Dict (K.Div 'K.RoundHalfOdd (P 4) (N 3) ~ N 1)
-_test_Div_RoundHalfOdd_P4_N3 =  Dict
-_test_Mod_RoundHalfOdd_P4_N3 :: Dict (K.Mod 'K.RoundHalfOdd (P 4) (N 3) ~ P 1)
-_test_Mod_RoundHalfOdd_P4_N3 =  Dict
-_test_Div_RoundHalfOdd_P4_N4 :: Dict (K.Div 'K.RoundHalfOdd (P 4) (N 4) ~ N 1)
-_test_Div_RoundHalfOdd_P4_N4 =  Dict
-_test_Mod_RoundHalfOdd_P4_N4 :: Dict (K.Mod 'K.RoundHalfOdd (P 4) (N 4) ~ P 0)
-_test_Mod_RoundHalfOdd_P4_N4 =  Dict
-_test_Div_RoundHalfOdd_P4_P1 :: Dict (K.Div 'K.RoundHalfOdd (P 4) (P 1) ~ P 4)
-_test_Div_RoundHalfOdd_P4_P1 =  Dict
-_test_Mod_RoundHalfOdd_P4_P1 :: Dict (K.Mod 'K.RoundHalfOdd (P 4) (P 1) ~ P 0)
-_test_Mod_RoundHalfOdd_P4_P1 =  Dict
-_test_Div_RoundHalfOdd_P4_P2 :: Dict (K.Div 'K.RoundHalfOdd (P 4) (P 2) ~ P 2)
-_test_Div_RoundHalfOdd_P4_P2 =  Dict
-_test_Mod_RoundHalfOdd_P4_P2 :: Dict (K.Mod 'K.RoundHalfOdd (P 4) (P 2) ~ P 0)
-_test_Mod_RoundHalfOdd_P4_P2 =  Dict
-_test_Div_RoundHalfOdd_P4_P3 :: Dict (K.Div 'K.RoundHalfOdd (P 4) (P 3) ~ P 1)
-_test_Div_RoundHalfOdd_P4_P3 =  Dict
-_test_Mod_RoundHalfOdd_P4_P3 :: Dict (K.Mod 'K.RoundHalfOdd (P 4) (P 3) ~ P 1)
-_test_Mod_RoundHalfOdd_P4_P3 =  Dict
-_test_Div_RoundHalfOdd_P4_P4 :: Dict (K.Div 'K.RoundHalfOdd (P 4) (P 4) ~ P 1)
-_test_Div_RoundHalfOdd_P4_P4 =  Dict
-_test_Mod_RoundHalfOdd_P4_P4 :: Dict (K.Mod 'K.RoundHalfOdd (P 4) (P 4) ~ P 0)
-_test_Mod_RoundHalfOdd_P4_P4 =  Dict
-_test_Div_RoundHalfUp_N1_N1 :: Dict (K.Div 'K.RoundHalfUp (N 1) (N 1) ~ P 1)
-_test_Div_RoundHalfUp_N1_N1 =  Dict
-_test_Mod_RoundHalfUp_N1_N1 :: Dict (K.Mod 'K.RoundHalfUp (N 1) (N 1) ~ P 0)
-_test_Mod_RoundHalfUp_N1_N1 =  Dict
-_test_Div_RoundHalfUp_N1_N2 :: Dict (K.Div 'K.RoundHalfUp (N 1) (N 2) ~ P 1)
-_test_Div_RoundHalfUp_N1_N2 =  Dict
-_test_Mod_RoundHalfUp_N1_N2 :: Dict (K.Mod 'K.RoundHalfUp (N 1) (N 2) ~ P 1)
-_test_Mod_RoundHalfUp_N1_N2 =  Dict
-_test_Div_RoundHalfUp_N1_N3 :: Dict (K.Div 'K.RoundHalfUp (N 1) (N 3) ~ P 0)
-_test_Div_RoundHalfUp_N1_N3 =  Dict
-_test_Mod_RoundHalfUp_N1_N3 :: Dict (K.Mod 'K.RoundHalfUp (N 1) (N 3) ~ N 1)
-_test_Mod_RoundHalfUp_N1_N3 =  Dict
-_test_Div_RoundHalfUp_N1_N4 :: Dict (K.Div 'K.RoundHalfUp (N 1) (N 4) ~ P 0)
-_test_Div_RoundHalfUp_N1_N4 =  Dict
-_test_Mod_RoundHalfUp_N1_N4 :: Dict (K.Mod 'K.RoundHalfUp (N 1) (N 4) ~ N 1)
-_test_Mod_RoundHalfUp_N1_N4 =  Dict
-_test_Div_RoundHalfUp_N1_P1 :: Dict (K.Div 'K.RoundHalfUp (N 1) (P 1) ~ N 1)
-_test_Div_RoundHalfUp_N1_P1 =  Dict
-_test_Mod_RoundHalfUp_N1_P1 :: Dict (K.Mod 'K.RoundHalfUp (N 1) (P 1) ~ P 0)
-_test_Mod_RoundHalfUp_N1_P1 =  Dict
-_test_Div_RoundHalfUp_N1_P2 :: Dict (K.Div 'K.RoundHalfUp (N 1) (P 2) ~ P 0)
-_test_Div_RoundHalfUp_N1_P2 =  Dict
-_test_Mod_RoundHalfUp_N1_P2 :: Dict (K.Mod 'K.RoundHalfUp (N 1) (P 2) ~ N 1)
-_test_Mod_RoundHalfUp_N1_P2 =  Dict
-_test_Div_RoundHalfUp_N1_P3 :: Dict (K.Div 'K.RoundHalfUp (N 1) (P 3) ~ P 0)
-_test_Div_RoundHalfUp_N1_P3 =  Dict
-_test_Mod_RoundHalfUp_N1_P3 :: Dict (K.Mod 'K.RoundHalfUp (N 1) (P 3) ~ N 1)
-_test_Mod_RoundHalfUp_N1_P3 =  Dict
-_test_Div_RoundHalfUp_N1_P4 :: Dict (K.Div 'K.RoundHalfUp (N 1) (P 4) ~ P 0)
-_test_Div_RoundHalfUp_N1_P4 =  Dict
-_test_Mod_RoundHalfUp_N1_P4 :: Dict (K.Mod 'K.RoundHalfUp (N 1) (P 4) ~ N 1)
-_test_Mod_RoundHalfUp_N1_P4 =  Dict
-_test_Div_RoundHalfUp_N2_N1 :: Dict (K.Div 'K.RoundHalfUp (N 2) (N 1) ~ P 2)
-_test_Div_RoundHalfUp_N2_N1 =  Dict
-_test_Mod_RoundHalfUp_N2_N1 :: Dict (K.Mod 'K.RoundHalfUp (N 2) (N 1) ~ P 0)
-_test_Mod_RoundHalfUp_N2_N1 =  Dict
-_test_Div_RoundHalfUp_N2_N2 :: Dict (K.Div 'K.RoundHalfUp (N 2) (N 2) ~ P 1)
-_test_Div_RoundHalfUp_N2_N2 =  Dict
-_test_Mod_RoundHalfUp_N2_N2 :: Dict (K.Mod 'K.RoundHalfUp (N 2) (N 2) ~ P 0)
-_test_Mod_RoundHalfUp_N2_N2 =  Dict
-_test_Div_RoundHalfUp_N2_N3 :: Dict (K.Div 'K.RoundHalfUp (N 2) (N 3) ~ P 1)
-_test_Div_RoundHalfUp_N2_N3 =  Dict
-_test_Mod_RoundHalfUp_N2_N3 :: Dict (K.Mod 'K.RoundHalfUp (N 2) (N 3) ~ P 1)
-_test_Mod_RoundHalfUp_N2_N3 =  Dict
-_test_Div_RoundHalfUp_N2_N4 :: Dict (K.Div 'K.RoundHalfUp (N 2) (N 4) ~ P 1)
-_test_Div_RoundHalfUp_N2_N4 =  Dict
-_test_Mod_RoundHalfUp_N2_N4 :: Dict (K.Mod 'K.RoundHalfUp (N 2) (N 4) ~ P 2)
-_test_Mod_RoundHalfUp_N2_N4 =  Dict
-_test_Div_RoundHalfUp_N2_P1 :: Dict (K.Div 'K.RoundHalfUp (N 2) (P 1) ~ N 2)
-_test_Div_RoundHalfUp_N2_P1 =  Dict
-_test_Mod_RoundHalfUp_N2_P1 :: Dict (K.Mod 'K.RoundHalfUp (N 2) (P 1) ~ P 0)
-_test_Mod_RoundHalfUp_N2_P1 =  Dict
-_test_Div_RoundHalfUp_N2_P2 :: Dict (K.Div 'K.RoundHalfUp (N 2) (P 2) ~ N 1)
-_test_Div_RoundHalfUp_N2_P2 =  Dict
-_test_Mod_RoundHalfUp_N2_P2 :: Dict (K.Mod 'K.RoundHalfUp (N 2) (P 2) ~ P 0)
-_test_Mod_RoundHalfUp_N2_P2 =  Dict
-_test_Div_RoundHalfUp_N2_P3 :: Dict (K.Div 'K.RoundHalfUp (N 2) (P 3) ~ N 1)
-_test_Div_RoundHalfUp_N2_P3 =  Dict
-_test_Mod_RoundHalfUp_N2_P3 :: Dict (K.Mod 'K.RoundHalfUp (N 2) (P 3) ~ P 1)
-_test_Mod_RoundHalfUp_N2_P3 =  Dict
-_test_Div_RoundHalfUp_N2_P4 :: Dict (K.Div 'K.RoundHalfUp (N 2) (P 4) ~ P 0)
-_test_Div_RoundHalfUp_N2_P4 =  Dict
-_test_Mod_RoundHalfUp_N2_P4 :: Dict (K.Mod 'K.RoundHalfUp (N 2) (P 4) ~ N 2)
-_test_Mod_RoundHalfUp_N2_P4 =  Dict
-_test_Div_RoundHalfUp_N3_N1 :: Dict (K.Div 'K.RoundHalfUp (N 3) (N 1) ~ P 3)
-_test_Div_RoundHalfUp_N3_N1 =  Dict
-_test_Mod_RoundHalfUp_N3_N1 :: Dict (K.Mod 'K.RoundHalfUp (N 3) (N 1) ~ P 0)
-_test_Mod_RoundHalfUp_N3_N1 =  Dict
-_test_Div_RoundHalfUp_N3_N2 :: Dict (K.Div 'K.RoundHalfUp (N 3) (N 2) ~ P 2)
-_test_Div_RoundHalfUp_N3_N2 =  Dict
-_test_Mod_RoundHalfUp_N3_N2 :: Dict (K.Mod 'K.RoundHalfUp (N 3) (N 2) ~ P 1)
-_test_Mod_RoundHalfUp_N3_N2 =  Dict
-_test_Div_RoundHalfUp_N3_N3 :: Dict (K.Div 'K.RoundHalfUp (N 3) (N 3) ~ P 1)
-_test_Div_RoundHalfUp_N3_N3 =  Dict
-_test_Mod_RoundHalfUp_N3_N3 :: Dict (K.Mod 'K.RoundHalfUp (N 3) (N 3) ~ P 0)
-_test_Mod_RoundHalfUp_N3_N3 =  Dict
-_test_Div_RoundHalfUp_N3_N4 :: Dict (K.Div 'K.RoundHalfUp (N 3) (N 4) ~ P 1)
-_test_Div_RoundHalfUp_N3_N4 =  Dict
-_test_Mod_RoundHalfUp_N3_N4 :: Dict (K.Mod 'K.RoundHalfUp (N 3) (N 4) ~ P 1)
-_test_Mod_RoundHalfUp_N3_N4 =  Dict
-_test_Div_RoundHalfUp_N3_P1 :: Dict (K.Div 'K.RoundHalfUp (N 3) (P 1) ~ N 3)
-_test_Div_RoundHalfUp_N3_P1 =  Dict
-_test_Mod_RoundHalfUp_N3_P1 :: Dict (K.Mod 'K.RoundHalfUp (N 3) (P 1) ~ P 0)
-_test_Mod_RoundHalfUp_N3_P1 =  Dict
-_test_Div_RoundHalfUp_N3_P2 :: Dict (K.Div 'K.RoundHalfUp (N 3) (P 2) ~ N 1)
-_test_Div_RoundHalfUp_N3_P2 =  Dict
-_test_Mod_RoundHalfUp_N3_P2 :: Dict (K.Mod 'K.RoundHalfUp (N 3) (P 2) ~ N 1)
-_test_Mod_RoundHalfUp_N3_P2 =  Dict
-_test_Div_RoundHalfUp_N3_P3 :: Dict (K.Div 'K.RoundHalfUp (N 3) (P 3) ~ N 1)
-_test_Div_RoundHalfUp_N3_P3 =  Dict
-_test_Mod_RoundHalfUp_N3_P3 :: Dict (K.Mod 'K.RoundHalfUp (N 3) (P 3) ~ P 0)
-_test_Mod_RoundHalfUp_N3_P3 =  Dict
-_test_Div_RoundHalfUp_N3_P4 :: Dict (K.Div 'K.RoundHalfUp (N 3) (P 4) ~ N 1)
-_test_Div_RoundHalfUp_N3_P4 =  Dict
-_test_Mod_RoundHalfUp_N3_P4 :: Dict (K.Mod 'K.RoundHalfUp (N 3) (P 4) ~ P 1)
-_test_Mod_RoundHalfUp_N3_P4 =  Dict
-_test_Div_RoundHalfUp_N4_N1 :: Dict (K.Div 'K.RoundHalfUp (N 4) (N 1) ~ P 4)
-_test_Div_RoundHalfUp_N4_N1 =  Dict
-_test_Mod_RoundHalfUp_N4_N1 :: Dict (K.Mod 'K.RoundHalfUp (N 4) (N 1) ~ P 0)
-_test_Mod_RoundHalfUp_N4_N1 =  Dict
-_test_Div_RoundHalfUp_N4_N2 :: Dict (K.Div 'K.RoundHalfUp (N 4) (N 2) ~ P 2)
-_test_Div_RoundHalfUp_N4_N2 =  Dict
-_test_Mod_RoundHalfUp_N4_N2 :: Dict (K.Mod 'K.RoundHalfUp (N 4) (N 2) ~ P 0)
-_test_Mod_RoundHalfUp_N4_N2 =  Dict
-_test_Div_RoundHalfUp_N4_N3 :: Dict (K.Div 'K.RoundHalfUp (N 4) (N 3) ~ P 1)
-_test_Div_RoundHalfUp_N4_N3 =  Dict
-_test_Mod_RoundHalfUp_N4_N3 :: Dict (K.Mod 'K.RoundHalfUp (N 4) (N 3) ~ N 1)
-_test_Mod_RoundHalfUp_N4_N3 =  Dict
-_test_Div_RoundHalfUp_N4_N4 :: Dict (K.Div 'K.RoundHalfUp (N 4) (N 4) ~ P 1)
-_test_Div_RoundHalfUp_N4_N4 =  Dict
-_test_Mod_RoundHalfUp_N4_N4 :: Dict (K.Mod 'K.RoundHalfUp (N 4) (N 4) ~ P 0)
-_test_Mod_RoundHalfUp_N4_N4 =  Dict
-_test_Div_RoundHalfUp_N4_P1 :: Dict (K.Div 'K.RoundHalfUp (N 4) (P 1) ~ N 4)
-_test_Div_RoundHalfUp_N4_P1 =  Dict
-_test_Mod_RoundHalfUp_N4_P1 :: Dict (K.Mod 'K.RoundHalfUp (N 4) (P 1) ~ P 0)
-_test_Mod_RoundHalfUp_N4_P1 =  Dict
-_test_Div_RoundHalfUp_N4_P2 :: Dict (K.Div 'K.RoundHalfUp (N 4) (P 2) ~ N 2)
-_test_Div_RoundHalfUp_N4_P2 =  Dict
-_test_Mod_RoundHalfUp_N4_P2 :: Dict (K.Mod 'K.RoundHalfUp (N 4) (P 2) ~ P 0)
-_test_Mod_RoundHalfUp_N4_P2 =  Dict
-_test_Div_RoundHalfUp_N4_P3 :: Dict (K.Div 'K.RoundHalfUp (N 4) (P 3) ~ N 1)
-_test_Div_RoundHalfUp_N4_P3 =  Dict
-_test_Mod_RoundHalfUp_N4_P3 :: Dict (K.Mod 'K.RoundHalfUp (N 4) (P 3) ~ N 1)
-_test_Mod_RoundHalfUp_N4_P3 =  Dict
-_test_Div_RoundHalfUp_N4_P4 :: Dict (K.Div 'K.RoundHalfUp (N 4) (P 4) ~ N 1)
-_test_Div_RoundHalfUp_N4_P4 =  Dict
-_test_Mod_RoundHalfUp_N4_P4 :: Dict (K.Mod 'K.RoundHalfUp (N 4) (P 4) ~ P 0)
-_test_Mod_RoundHalfUp_N4_P4 =  Dict
-_test_Div_RoundHalfUp_P0_N1 :: Dict (K.Div 'K.RoundHalfUp (P 0) (N 1) ~ P 0)
-_test_Div_RoundHalfUp_P0_N1 =  Dict
-_test_Mod_RoundHalfUp_P0_N1 :: Dict (K.Mod 'K.RoundHalfUp (P 0) (N 1) ~ P 0)
-_test_Mod_RoundHalfUp_P0_N1 =  Dict
-_test_Div_RoundHalfUp_P0_N2 :: Dict (K.Div 'K.RoundHalfUp (P 0) (N 2) ~ P 0)
-_test_Div_RoundHalfUp_P0_N2 =  Dict
-_test_Mod_RoundHalfUp_P0_N2 :: Dict (K.Mod 'K.RoundHalfUp (P 0) (N 2) ~ P 0)
-_test_Mod_RoundHalfUp_P0_N2 =  Dict
-_test_Div_RoundHalfUp_P0_N3 :: Dict (K.Div 'K.RoundHalfUp (P 0) (N 3) ~ P 0)
-_test_Div_RoundHalfUp_P0_N3 =  Dict
-_test_Mod_RoundHalfUp_P0_N3 :: Dict (K.Mod 'K.RoundHalfUp (P 0) (N 3) ~ P 0)
-_test_Mod_RoundHalfUp_P0_N3 =  Dict
-_test_Div_RoundHalfUp_P0_N4 :: Dict (K.Div 'K.RoundHalfUp (P 0) (N 4) ~ P 0)
-_test_Div_RoundHalfUp_P0_N4 =  Dict
-_test_Mod_RoundHalfUp_P0_N4 :: Dict (K.Mod 'K.RoundHalfUp (P 0) (N 4) ~ P 0)
-_test_Mod_RoundHalfUp_P0_N4 =  Dict
-_test_Div_RoundHalfUp_P0_P1 :: Dict (K.Div 'K.RoundHalfUp (P 0) (P 1) ~ P 0)
-_test_Div_RoundHalfUp_P0_P1 =  Dict
-_test_Mod_RoundHalfUp_P0_P1 :: Dict (K.Mod 'K.RoundHalfUp (P 0) (P 1) ~ P 0)
-_test_Mod_RoundHalfUp_P0_P1 =  Dict
-_test_Div_RoundHalfUp_P0_P2 :: Dict (K.Div 'K.RoundHalfUp (P 0) (P 2) ~ P 0)
-_test_Div_RoundHalfUp_P0_P2 =  Dict
-_test_Mod_RoundHalfUp_P0_P2 :: Dict (K.Mod 'K.RoundHalfUp (P 0) (P 2) ~ P 0)
-_test_Mod_RoundHalfUp_P0_P2 =  Dict
-_test_Div_RoundHalfUp_P0_P3 :: Dict (K.Div 'K.RoundHalfUp (P 0) (P 3) ~ P 0)
-_test_Div_RoundHalfUp_P0_P3 =  Dict
-_test_Mod_RoundHalfUp_P0_P3 :: Dict (K.Mod 'K.RoundHalfUp (P 0) (P 3) ~ P 0)
-_test_Mod_RoundHalfUp_P0_P3 =  Dict
-_test_Div_RoundHalfUp_P0_P4 :: Dict (K.Div 'K.RoundHalfUp (P 0) (P 4) ~ P 0)
-_test_Div_RoundHalfUp_P0_P4 =  Dict
-_test_Mod_RoundHalfUp_P0_P4 :: Dict (K.Mod 'K.RoundHalfUp (P 0) (P 4) ~ P 0)
-_test_Mod_RoundHalfUp_P0_P4 =  Dict
-_test_Div_RoundHalfUp_P1_N1 :: Dict (K.Div 'K.RoundHalfUp (P 1) (N 1) ~ N 1)
-_test_Div_RoundHalfUp_P1_N1 =  Dict
-_test_Mod_RoundHalfUp_P1_N1 :: Dict (K.Mod 'K.RoundHalfUp (P 1) (N 1) ~ P 0)
-_test_Mod_RoundHalfUp_P1_N1 =  Dict
-_test_Div_RoundHalfUp_P1_N2 :: Dict (K.Div 'K.RoundHalfUp (P 1) (N 2) ~ P 0)
-_test_Div_RoundHalfUp_P1_N2 =  Dict
-_test_Mod_RoundHalfUp_P1_N2 :: Dict (K.Mod 'K.RoundHalfUp (P 1) (N 2) ~ P 1)
-_test_Mod_RoundHalfUp_P1_N2 =  Dict
-_test_Div_RoundHalfUp_P1_N3 :: Dict (K.Div 'K.RoundHalfUp (P 1) (N 3) ~ P 0)
-_test_Div_RoundHalfUp_P1_N3 =  Dict
-_test_Mod_RoundHalfUp_P1_N3 :: Dict (K.Mod 'K.RoundHalfUp (P 1) (N 3) ~ P 1)
-_test_Mod_RoundHalfUp_P1_N3 =  Dict
-_test_Div_RoundHalfUp_P1_N4 :: Dict (K.Div 'K.RoundHalfUp (P 1) (N 4) ~ P 0)
-_test_Div_RoundHalfUp_P1_N4 =  Dict
-_test_Mod_RoundHalfUp_P1_N4 :: Dict (K.Mod 'K.RoundHalfUp (P 1) (N 4) ~ P 1)
-_test_Mod_RoundHalfUp_P1_N4 =  Dict
-_test_Div_RoundHalfUp_P1_P1 :: Dict (K.Div 'K.RoundHalfUp (P 1) (P 1) ~ P 1)
-_test_Div_RoundHalfUp_P1_P1 =  Dict
-_test_Mod_RoundHalfUp_P1_P1 :: Dict (K.Mod 'K.RoundHalfUp (P 1) (P 1) ~ P 0)
-_test_Mod_RoundHalfUp_P1_P1 =  Dict
-_test_Div_RoundHalfUp_P1_P2 :: Dict (K.Div 'K.RoundHalfUp (P 1) (P 2) ~ P 1)
-_test_Div_RoundHalfUp_P1_P2 =  Dict
-_test_Mod_RoundHalfUp_P1_P2 :: Dict (K.Mod 'K.RoundHalfUp (P 1) (P 2) ~ N 1)
-_test_Mod_RoundHalfUp_P1_P2 =  Dict
-_test_Div_RoundHalfUp_P1_P3 :: Dict (K.Div 'K.RoundHalfUp (P 1) (P 3) ~ P 0)
-_test_Div_RoundHalfUp_P1_P3 =  Dict
-_test_Mod_RoundHalfUp_P1_P3 :: Dict (K.Mod 'K.RoundHalfUp (P 1) (P 3) ~ P 1)
-_test_Mod_RoundHalfUp_P1_P3 =  Dict
-_test_Div_RoundHalfUp_P1_P4 :: Dict (K.Div 'K.RoundHalfUp (P 1) (P 4) ~ P 0)
-_test_Div_RoundHalfUp_P1_P4 =  Dict
-_test_Mod_RoundHalfUp_P1_P4 :: Dict (K.Mod 'K.RoundHalfUp (P 1) (P 4) ~ P 1)
-_test_Mod_RoundHalfUp_P1_P4 =  Dict
-_test_Div_RoundHalfUp_P2_N1 :: Dict (K.Div 'K.RoundHalfUp (P 2) (N 1) ~ N 2)
-_test_Div_RoundHalfUp_P2_N1 =  Dict
-_test_Mod_RoundHalfUp_P2_N1 :: Dict (K.Mod 'K.RoundHalfUp (P 2) (N 1) ~ P 0)
-_test_Mod_RoundHalfUp_P2_N1 =  Dict
-_test_Div_RoundHalfUp_P2_N2 :: Dict (K.Div 'K.RoundHalfUp (P 2) (N 2) ~ N 1)
-_test_Div_RoundHalfUp_P2_N2 =  Dict
-_test_Mod_RoundHalfUp_P2_N2 :: Dict (K.Mod 'K.RoundHalfUp (P 2) (N 2) ~ P 0)
-_test_Mod_RoundHalfUp_P2_N2 =  Dict
-_test_Div_RoundHalfUp_P2_N3 :: Dict (K.Div 'K.RoundHalfUp (P 2) (N 3) ~ N 1)
-_test_Div_RoundHalfUp_P2_N3 =  Dict
-_test_Mod_RoundHalfUp_P2_N3 :: Dict (K.Mod 'K.RoundHalfUp (P 2) (N 3) ~ N 1)
-_test_Mod_RoundHalfUp_P2_N3 =  Dict
-_test_Div_RoundHalfUp_P2_N4 :: Dict (K.Div 'K.RoundHalfUp (P 2) (N 4) ~ P 0)
-_test_Div_RoundHalfUp_P2_N4 =  Dict
-_test_Mod_RoundHalfUp_P2_N4 :: Dict (K.Mod 'K.RoundHalfUp (P 2) (N 4) ~ P 2)
-_test_Mod_RoundHalfUp_P2_N4 =  Dict
-_test_Div_RoundHalfUp_P2_P1 :: Dict (K.Div 'K.RoundHalfUp (P 2) (P 1) ~ P 2)
-_test_Div_RoundHalfUp_P2_P1 =  Dict
-_test_Mod_RoundHalfUp_P2_P1 :: Dict (K.Mod 'K.RoundHalfUp (P 2) (P 1) ~ P 0)
-_test_Mod_RoundHalfUp_P2_P1 =  Dict
-_test_Div_RoundHalfUp_P2_P2 :: Dict (K.Div 'K.RoundHalfUp (P 2) (P 2) ~ P 1)
-_test_Div_RoundHalfUp_P2_P2 =  Dict
-_test_Mod_RoundHalfUp_P2_P2 :: Dict (K.Mod 'K.RoundHalfUp (P 2) (P 2) ~ P 0)
-_test_Mod_RoundHalfUp_P2_P2 =  Dict
-_test_Div_RoundHalfUp_P2_P3 :: Dict (K.Div 'K.RoundHalfUp (P 2) (P 3) ~ P 1)
-_test_Div_RoundHalfUp_P2_P3 =  Dict
-_test_Mod_RoundHalfUp_P2_P3 :: Dict (K.Mod 'K.RoundHalfUp (P 2) (P 3) ~ N 1)
-_test_Mod_RoundHalfUp_P2_P3 =  Dict
-_test_Div_RoundHalfUp_P2_P4 :: Dict (K.Div 'K.RoundHalfUp (P 2) (P 4) ~ P 1)
-_test_Div_RoundHalfUp_P2_P4 =  Dict
-_test_Mod_RoundHalfUp_P2_P4 :: Dict (K.Mod 'K.RoundHalfUp (P 2) (P 4) ~ N 2)
-_test_Mod_RoundHalfUp_P2_P4 =  Dict
-_test_Div_RoundHalfUp_P3_N1 :: Dict (K.Div 'K.RoundHalfUp (P 3) (N 1) ~ N 3)
-_test_Div_RoundHalfUp_P3_N1 =  Dict
-_test_Mod_RoundHalfUp_P3_N1 :: Dict (K.Mod 'K.RoundHalfUp (P 3) (N 1) ~ P 0)
-_test_Mod_RoundHalfUp_P3_N1 =  Dict
-_test_Div_RoundHalfUp_P3_N2 :: Dict (K.Div 'K.RoundHalfUp (P 3) (N 2) ~ N 1)
-_test_Div_RoundHalfUp_P3_N2 =  Dict
-_test_Mod_RoundHalfUp_P3_N2 :: Dict (K.Mod 'K.RoundHalfUp (P 3) (N 2) ~ P 1)
-_test_Mod_RoundHalfUp_P3_N2 =  Dict
-_test_Div_RoundHalfUp_P3_N3 :: Dict (K.Div 'K.RoundHalfUp (P 3) (N 3) ~ N 1)
-_test_Div_RoundHalfUp_P3_N3 =  Dict
-_test_Mod_RoundHalfUp_P3_N3 :: Dict (K.Mod 'K.RoundHalfUp (P 3) (N 3) ~ P 0)
-_test_Mod_RoundHalfUp_P3_N3 =  Dict
-_test_Div_RoundHalfUp_P3_N4 :: Dict (K.Div 'K.RoundHalfUp (P 3) (N 4) ~ N 1)
-_test_Div_RoundHalfUp_P3_N4 =  Dict
-_test_Mod_RoundHalfUp_P3_N4 :: Dict (K.Mod 'K.RoundHalfUp (P 3) (N 4) ~ N 1)
-_test_Mod_RoundHalfUp_P3_N4 =  Dict
-_test_Div_RoundHalfUp_P3_P1 :: Dict (K.Div 'K.RoundHalfUp (P 3) (P 1) ~ P 3)
-_test_Div_RoundHalfUp_P3_P1 =  Dict
-_test_Mod_RoundHalfUp_P3_P1 :: Dict (K.Mod 'K.RoundHalfUp (P 3) (P 1) ~ P 0)
-_test_Mod_RoundHalfUp_P3_P1 =  Dict
-_test_Div_RoundHalfUp_P3_P2 :: Dict (K.Div 'K.RoundHalfUp (P 3) (P 2) ~ P 2)
-_test_Div_RoundHalfUp_P3_P2 =  Dict
-_test_Mod_RoundHalfUp_P3_P2 :: Dict (K.Mod 'K.RoundHalfUp (P 3) (P 2) ~ N 1)
-_test_Mod_RoundHalfUp_P3_P2 =  Dict
-_test_Div_RoundHalfUp_P3_P3 :: Dict (K.Div 'K.RoundHalfUp (P 3) (P 3) ~ P 1)
-_test_Div_RoundHalfUp_P3_P3 =  Dict
-_test_Mod_RoundHalfUp_P3_P3 :: Dict (K.Mod 'K.RoundHalfUp (P 3) (P 3) ~ P 0)
-_test_Mod_RoundHalfUp_P3_P3 =  Dict
-_test_Div_RoundHalfUp_P3_P4 :: Dict (K.Div 'K.RoundHalfUp (P 3) (P 4) ~ P 1)
-_test_Div_RoundHalfUp_P3_P4 =  Dict
-_test_Mod_RoundHalfUp_P3_P4 :: Dict (K.Mod 'K.RoundHalfUp (P 3) (P 4) ~ N 1)
-_test_Mod_RoundHalfUp_P3_P4 =  Dict
-_test_Div_RoundHalfUp_P4_N1 :: Dict (K.Div 'K.RoundHalfUp (P 4) (N 1) ~ N 4)
-_test_Div_RoundHalfUp_P4_N1 =  Dict
-_test_Mod_RoundHalfUp_P4_N1 :: Dict (K.Mod 'K.RoundHalfUp (P 4) (N 1) ~ P 0)
-_test_Mod_RoundHalfUp_P4_N1 =  Dict
-_test_Div_RoundHalfUp_P4_N2 :: Dict (K.Div 'K.RoundHalfUp (P 4) (N 2) ~ N 2)
-_test_Div_RoundHalfUp_P4_N2 =  Dict
-_test_Mod_RoundHalfUp_P4_N2 :: Dict (K.Mod 'K.RoundHalfUp (P 4) (N 2) ~ P 0)
-_test_Mod_RoundHalfUp_P4_N2 =  Dict
-_test_Div_RoundHalfUp_P4_N3 :: Dict (K.Div 'K.RoundHalfUp (P 4) (N 3) ~ N 1)
-_test_Div_RoundHalfUp_P4_N3 =  Dict
-_test_Mod_RoundHalfUp_P4_N3 :: Dict (K.Mod 'K.RoundHalfUp (P 4) (N 3) ~ P 1)
-_test_Mod_RoundHalfUp_P4_N3 =  Dict
-_test_Div_RoundHalfUp_P4_N4 :: Dict (K.Div 'K.RoundHalfUp (P 4) (N 4) ~ N 1)
-_test_Div_RoundHalfUp_P4_N4 =  Dict
-_test_Mod_RoundHalfUp_P4_N4 :: Dict (K.Mod 'K.RoundHalfUp (P 4) (N 4) ~ P 0)
-_test_Mod_RoundHalfUp_P4_N4 =  Dict
-_test_Div_RoundHalfUp_P4_P1 :: Dict (K.Div 'K.RoundHalfUp (P 4) (P 1) ~ P 4)
-_test_Div_RoundHalfUp_P4_P1 =  Dict
-_test_Mod_RoundHalfUp_P4_P1 :: Dict (K.Mod 'K.RoundHalfUp (P 4) (P 1) ~ P 0)
-_test_Mod_RoundHalfUp_P4_P1 =  Dict
-_test_Div_RoundHalfUp_P4_P2 :: Dict (K.Div 'K.RoundHalfUp (P 4) (P 2) ~ P 2)
-_test_Div_RoundHalfUp_P4_P2 =  Dict
-_test_Mod_RoundHalfUp_P4_P2 :: Dict (K.Mod 'K.RoundHalfUp (P 4) (P 2) ~ P 0)
-_test_Mod_RoundHalfUp_P4_P2 =  Dict
-_test_Div_RoundHalfUp_P4_P3 :: Dict (K.Div 'K.RoundHalfUp (P 4) (P 3) ~ P 1)
-_test_Div_RoundHalfUp_P4_P3 =  Dict
-_test_Mod_RoundHalfUp_P4_P3 :: Dict (K.Mod 'K.RoundHalfUp (P 4) (P 3) ~ P 1)
-_test_Mod_RoundHalfUp_P4_P3 =  Dict
-_test_Div_RoundHalfUp_P4_P4 :: Dict (K.Div 'K.RoundHalfUp (P 4) (P 4) ~ P 1)
-_test_Div_RoundHalfUp_P4_P4 =  Dict
-_test_Mod_RoundHalfUp_P4_P4 :: Dict (K.Mod 'K.RoundHalfUp (P 4) (P 4) ~ P 0)
-_test_Mod_RoundHalfUp_P4_P4 =  Dict
-_test_Div_RoundHalfZero_N1_N1 :: Dict (K.Div 'K.RoundHalfZero (N 1) (N 1) ~ P 1)
-_test_Div_RoundHalfZero_N1_N1 =  Dict
-_test_Mod_RoundHalfZero_N1_N1 :: Dict (K.Mod 'K.RoundHalfZero (N 1) (N 1) ~ P 0)
-_test_Mod_RoundHalfZero_N1_N1 =  Dict
-_test_Div_RoundHalfZero_N1_N2 :: Dict (K.Div 'K.RoundHalfZero (N 1) (N 2) ~ P 0)
-_test_Div_RoundHalfZero_N1_N2 =  Dict
-_test_Mod_RoundHalfZero_N1_N2 :: Dict (K.Mod 'K.RoundHalfZero (N 1) (N 2) ~ N 1)
-_test_Mod_RoundHalfZero_N1_N2 =  Dict
-_test_Div_RoundHalfZero_N1_N3 :: Dict (K.Div 'K.RoundHalfZero (N 1) (N 3) ~ P 0)
-_test_Div_RoundHalfZero_N1_N3 =  Dict
-_test_Mod_RoundHalfZero_N1_N3 :: Dict (K.Mod 'K.RoundHalfZero (N 1) (N 3) ~ N 1)
-_test_Mod_RoundHalfZero_N1_N3 =  Dict
-_test_Div_RoundHalfZero_N1_N4 :: Dict (K.Div 'K.RoundHalfZero (N 1) (N 4) ~ P 0)
-_test_Div_RoundHalfZero_N1_N4 =  Dict
-_test_Mod_RoundHalfZero_N1_N4 :: Dict (K.Mod 'K.RoundHalfZero (N 1) (N 4) ~ N 1)
-_test_Mod_RoundHalfZero_N1_N4 =  Dict
-_test_Div_RoundHalfZero_N1_P1 :: Dict (K.Div 'K.RoundHalfZero (N 1) (P 1) ~ N 1)
-_test_Div_RoundHalfZero_N1_P1 =  Dict
-_test_Mod_RoundHalfZero_N1_P1 :: Dict (K.Mod 'K.RoundHalfZero (N 1) (P 1) ~ P 0)
-_test_Mod_RoundHalfZero_N1_P1 =  Dict
-_test_Div_RoundHalfZero_N1_P2 :: Dict (K.Div 'K.RoundHalfZero (N 1) (P 2) ~ P 0)
-_test_Div_RoundHalfZero_N1_P2 =  Dict
-_test_Mod_RoundHalfZero_N1_P2 :: Dict (K.Mod 'K.RoundHalfZero (N 1) (P 2) ~ N 1)
-_test_Mod_RoundHalfZero_N1_P2 =  Dict
-_test_Div_RoundHalfZero_N1_P3 :: Dict (K.Div 'K.RoundHalfZero (N 1) (P 3) ~ P 0)
-_test_Div_RoundHalfZero_N1_P3 =  Dict
-_test_Mod_RoundHalfZero_N1_P3 :: Dict (K.Mod 'K.RoundHalfZero (N 1) (P 3) ~ N 1)
-_test_Mod_RoundHalfZero_N1_P3 =  Dict
-_test_Div_RoundHalfZero_N1_P4 :: Dict (K.Div 'K.RoundHalfZero (N 1) (P 4) ~ P 0)
-_test_Div_RoundHalfZero_N1_P4 =  Dict
-_test_Mod_RoundHalfZero_N1_P4 :: Dict (K.Mod 'K.RoundHalfZero (N 1) (P 4) ~ N 1)
-_test_Mod_RoundHalfZero_N1_P4 =  Dict
-_test_Div_RoundHalfZero_N2_N1 :: Dict (K.Div 'K.RoundHalfZero (N 2) (N 1) ~ P 2)
-_test_Div_RoundHalfZero_N2_N1 =  Dict
-_test_Mod_RoundHalfZero_N2_N1 :: Dict (K.Mod 'K.RoundHalfZero (N 2) (N 1) ~ P 0)
-_test_Mod_RoundHalfZero_N2_N1 =  Dict
-_test_Div_RoundHalfZero_N2_N2 :: Dict (K.Div 'K.RoundHalfZero (N 2) (N 2) ~ P 1)
-_test_Div_RoundHalfZero_N2_N2 =  Dict
-_test_Mod_RoundHalfZero_N2_N2 :: Dict (K.Mod 'K.RoundHalfZero (N 2) (N 2) ~ P 0)
-_test_Mod_RoundHalfZero_N2_N2 =  Dict
-_test_Div_RoundHalfZero_N2_N3 :: Dict (K.Div 'K.RoundHalfZero (N 2) (N 3) ~ P 1)
-_test_Div_RoundHalfZero_N2_N3 =  Dict
-_test_Mod_RoundHalfZero_N2_N3 :: Dict (K.Mod 'K.RoundHalfZero (N 2) (N 3) ~ P 1)
-_test_Mod_RoundHalfZero_N2_N3 =  Dict
-_test_Div_RoundHalfZero_N2_N4 :: Dict (K.Div 'K.RoundHalfZero (N 2) (N 4) ~ P 0)
-_test_Div_RoundHalfZero_N2_N4 =  Dict
-_test_Mod_RoundHalfZero_N2_N4 :: Dict (K.Mod 'K.RoundHalfZero (N 2) (N 4) ~ N 2)
-_test_Mod_RoundHalfZero_N2_N4 =  Dict
-_test_Div_RoundHalfZero_N2_P1 :: Dict (K.Div 'K.RoundHalfZero (N 2) (P 1) ~ N 2)
-_test_Div_RoundHalfZero_N2_P1 =  Dict
-_test_Mod_RoundHalfZero_N2_P1 :: Dict (K.Mod 'K.RoundHalfZero (N 2) (P 1) ~ P 0)
-_test_Mod_RoundHalfZero_N2_P1 =  Dict
-_test_Div_RoundHalfZero_N2_P2 :: Dict (K.Div 'K.RoundHalfZero (N 2) (P 2) ~ N 1)
-_test_Div_RoundHalfZero_N2_P2 =  Dict
-_test_Mod_RoundHalfZero_N2_P2 :: Dict (K.Mod 'K.RoundHalfZero (N 2) (P 2) ~ P 0)
-_test_Mod_RoundHalfZero_N2_P2 =  Dict
-_test_Div_RoundHalfZero_N2_P3 :: Dict (K.Div 'K.RoundHalfZero (N 2) (P 3) ~ N 1)
-_test_Div_RoundHalfZero_N2_P3 =  Dict
-_test_Mod_RoundHalfZero_N2_P3 :: Dict (K.Mod 'K.RoundHalfZero (N 2) (P 3) ~ P 1)
-_test_Mod_RoundHalfZero_N2_P3 =  Dict
-_test_Div_RoundHalfZero_N2_P4 :: Dict (K.Div 'K.RoundHalfZero (N 2) (P 4) ~ P 0)
-_test_Div_RoundHalfZero_N2_P4 =  Dict
-_test_Mod_RoundHalfZero_N2_P4 :: Dict (K.Mod 'K.RoundHalfZero (N 2) (P 4) ~ N 2)
-_test_Mod_RoundHalfZero_N2_P4 =  Dict
-_test_Div_RoundHalfZero_N3_N1 :: Dict (K.Div 'K.RoundHalfZero (N 3) (N 1) ~ P 3)
-_test_Div_RoundHalfZero_N3_N1 =  Dict
-_test_Mod_RoundHalfZero_N3_N1 :: Dict (K.Mod 'K.RoundHalfZero (N 3) (N 1) ~ P 0)
-_test_Mod_RoundHalfZero_N3_N1 =  Dict
-_test_Div_RoundHalfZero_N3_N2 :: Dict (K.Div 'K.RoundHalfZero (N 3) (N 2) ~ P 1)
-_test_Div_RoundHalfZero_N3_N2 =  Dict
-_test_Mod_RoundHalfZero_N3_N2 :: Dict (K.Mod 'K.RoundHalfZero (N 3) (N 2) ~ N 1)
-_test_Mod_RoundHalfZero_N3_N2 =  Dict
-_test_Div_RoundHalfZero_N3_N3 :: Dict (K.Div 'K.RoundHalfZero (N 3) (N 3) ~ P 1)
-_test_Div_RoundHalfZero_N3_N3 =  Dict
-_test_Mod_RoundHalfZero_N3_N3 :: Dict (K.Mod 'K.RoundHalfZero (N 3) (N 3) ~ P 0)
-_test_Mod_RoundHalfZero_N3_N3 =  Dict
-_test_Div_RoundHalfZero_N3_N4 :: Dict (K.Div 'K.RoundHalfZero (N 3) (N 4) ~ P 1)
-_test_Div_RoundHalfZero_N3_N4 =  Dict
-_test_Mod_RoundHalfZero_N3_N4 :: Dict (K.Mod 'K.RoundHalfZero (N 3) (N 4) ~ P 1)
-_test_Mod_RoundHalfZero_N3_N4 =  Dict
-_test_Div_RoundHalfZero_N3_P1 :: Dict (K.Div 'K.RoundHalfZero (N 3) (P 1) ~ N 3)
-_test_Div_RoundHalfZero_N3_P1 =  Dict
-_test_Mod_RoundHalfZero_N3_P1 :: Dict (K.Mod 'K.RoundHalfZero (N 3) (P 1) ~ P 0)
-_test_Mod_RoundHalfZero_N3_P1 =  Dict
-_test_Div_RoundHalfZero_N3_P2 :: Dict (K.Div 'K.RoundHalfZero (N 3) (P 2) ~ N 1)
-_test_Div_RoundHalfZero_N3_P2 =  Dict
-_test_Mod_RoundHalfZero_N3_P2 :: Dict (K.Mod 'K.RoundHalfZero (N 3) (P 2) ~ N 1)
-_test_Mod_RoundHalfZero_N3_P2 =  Dict
-_test_Div_RoundHalfZero_N3_P3 :: Dict (K.Div 'K.RoundHalfZero (N 3) (P 3) ~ N 1)
-_test_Div_RoundHalfZero_N3_P3 =  Dict
-_test_Mod_RoundHalfZero_N3_P3 :: Dict (K.Mod 'K.RoundHalfZero (N 3) (P 3) ~ P 0)
-_test_Mod_RoundHalfZero_N3_P3 =  Dict
-_test_Div_RoundHalfZero_N3_P4 :: Dict (K.Div 'K.RoundHalfZero (N 3) (P 4) ~ N 1)
-_test_Div_RoundHalfZero_N3_P4 =  Dict
-_test_Mod_RoundHalfZero_N3_P4 :: Dict (K.Mod 'K.RoundHalfZero (N 3) (P 4) ~ P 1)
-_test_Mod_RoundHalfZero_N3_P4 =  Dict
-_test_Div_RoundHalfZero_N4_N1 :: Dict (K.Div 'K.RoundHalfZero (N 4) (N 1) ~ P 4)
-_test_Div_RoundHalfZero_N4_N1 =  Dict
-_test_Mod_RoundHalfZero_N4_N1 :: Dict (K.Mod 'K.RoundHalfZero (N 4) (N 1) ~ P 0)
-_test_Mod_RoundHalfZero_N4_N1 =  Dict
-_test_Div_RoundHalfZero_N4_N2 :: Dict (K.Div 'K.RoundHalfZero (N 4) (N 2) ~ P 2)
-_test_Div_RoundHalfZero_N4_N2 =  Dict
-_test_Mod_RoundHalfZero_N4_N2 :: Dict (K.Mod 'K.RoundHalfZero (N 4) (N 2) ~ P 0)
-_test_Mod_RoundHalfZero_N4_N2 =  Dict
-_test_Div_RoundHalfZero_N4_N3 :: Dict (K.Div 'K.RoundHalfZero (N 4) (N 3) ~ P 1)
-_test_Div_RoundHalfZero_N4_N3 =  Dict
-_test_Mod_RoundHalfZero_N4_N3 :: Dict (K.Mod 'K.RoundHalfZero (N 4) (N 3) ~ N 1)
-_test_Mod_RoundHalfZero_N4_N3 =  Dict
-_test_Div_RoundHalfZero_N4_N4 :: Dict (K.Div 'K.RoundHalfZero (N 4) (N 4) ~ P 1)
-_test_Div_RoundHalfZero_N4_N4 =  Dict
-_test_Mod_RoundHalfZero_N4_N4 :: Dict (K.Mod 'K.RoundHalfZero (N 4) (N 4) ~ P 0)
-_test_Mod_RoundHalfZero_N4_N4 =  Dict
-_test_Div_RoundHalfZero_N4_P1 :: Dict (K.Div 'K.RoundHalfZero (N 4) (P 1) ~ N 4)
-_test_Div_RoundHalfZero_N4_P1 =  Dict
-_test_Mod_RoundHalfZero_N4_P1 :: Dict (K.Mod 'K.RoundHalfZero (N 4) (P 1) ~ P 0)
-_test_Mod_RoundHalfZero_N4_P1 =  Dict
-_test_Div_RoundHalfZero_N4_P2 :: Dict (K.Div 'K.RoundHalfZero (N 4) (P 2) ~ N 2)
-_test_Div_RoundHalfZero_N4_P2 =  Dict
-_test_Mod_RoundHalfZero_N4_P2 :: Dict (K.Mod 'K.RoundHalfZero (N 4) (P 2) ~ P 0)
-_test_Mod_RoundHalfZero_N4_P2 =  Dict
-_test_Div_RoundHalfZero_N4_P3 :: Dict (K.Div 'K.RoundHalfZero (N 4) (P 3) ~ N 1)
-_test_Div_RoundHalfZero_N4_P3 =  Dict
-_test_Mod_RoundHalfZero_N4_P3 :: Dict (K.Mod 'K.RoundHalfZero (N 4) (P 3) ~ N 1)
-_test_Mod_RoundHalfZero_N4_P3 =  Dict
-_test_Div_RoundHalfZero_N4_P4 :: Dict (K.Div 'K.RoundHalfZero (N 4) (P 4) ~ N 1)
-_test_Div_RoundHalfZero_N4_P4 =  Dict
-_test_Mod_RoundHalfZero_N4_P4 :: Dict (K.Mod 'K.RoundHalfZero (N 4) (P 4) ~ P 0)
-_test_Mod_RoundHalfZero_N4_P4 =  Dict
-_test_Div_RoundHalfZero_P0_N1 :: Dict (K.Div 'K.RoundHalfZero (P 0) (N 1) ~ P 0)
-_test_Div_RoundHalfZero_P0_N1 =  Dict
-_test_Mod_RoundHalfZero_P0_N1 :: Dict (K.Mod 'K.RoundHalfZero (P 0) (N 1) ~ P 0)
-_test_Mod_RoundHalfZero_P0_N1 =  Dict
-_test_Div_RoundHalfZero_P0_N2 :: Dict (K.Div 'K.RoundHalfZero (P 0) (N 2) ~ P 0)
-_test_Div_RoundHalfZero_P0_N2 =  Dict
-_test_Mod_RoundHalfZero_P0_N2 :: Dict (K.Mod 'K.RoundHalfZero (P 0) (N 2) ~ P 0)
-_test_Mod_RoundHalfZero_P0_N2 =  Dict
-_test_Div_RoundHalfZero_P0_N3 :: Dict (K.Div 'K.RoundHalfZero (P 0) (N 3) ~ P 0)
-_test_Div_RoundHalfZero_P0_N3 =  Dict
-_test_Mod_RoundHalfZero_P0_N3 :: Dict (K.Mod 'K.RoundHalfZero (P 0) (N 3) ~ P 0)
-_test_Mod_RoundHalfZero_P0_N3 =  Dict
-_test_Div_RoundHalfZero_P0_N4 :: Dict (K.Div 'K.RoundHalfZero (P 0) (N 4) ~ P 0)
-_test_Div_RoundHalfZero_P0_N4 =  Dict
-_test_Mod_RoundHalfZero_P0_N4 :: Dict (K.Mod 'K.RoundHalfZero (P 0) (N 4) ~ P 0)
-_test_Mod_RoundHalfZero_P0_N4 =  Dict
-_test_Div_RoundHalfZero_P0_P1 :: Dict (K.Div 'K.RoundHalfZero (P 0) (P 1) ~ P 0)
-_test_Div_RoundHalfZero_P0_P1 =  Dict
-_test_Mod_RoundHalfZero_P0_P1 :: Dict (K.Mod 'K.RoundHalfZero (P 0) (P 1) ~ P 0)
-_test_Mod_RoundHalfZero_P0_P1 =  Dict
-_test_Div_RoundHalfZero_P0_P2 :: Dict (K.Div 'K.RoundHalfZero (P 0) (P 2) ~ P 0)
-_test_Div_RoundHalfZero_P0_P2 =  Dict
-_test_Mod_RoundHalfZero_P0_P2 :: Dict (K.Mod 'K.RoundHalfZero (P 0) (P 2) ~ P 0)
-_test_Mod_RoundHalfZero_P0_P2 =  Dict
-_test_Div_RoundHalfZero_P0_P3 :: Dict (K.Div 'K.RoundHalfZero (P 0) (P 3) ~ P 0)
-_test_Div_RoundHalfZero_P0_P3 =  Dict
-_test_Mod_RoundHalfZero_P0_P3 :: Dict (K.Mod 'K.RoundHalfZero (P 0) (P 3) ~ P 0)
-_test_Mod_RoundHalfZero_P0_P3 =  Dict
-_test_Div_RoundHalfZero_P0_P4 :: Dict (K.Div 'K.RoundHalfZero (P 0) (P 4) ~ P 0)
-_test_Div_RoundHalfZero_P0_P4 =  Dict
-_test_Mod_RoundHalfZero_P0_P4 :: Dict (K.Mod 'K.RoundHalfZero (P 0) (P 4) ~ P 0)
-_test_Mod_RoundHalfZero_P0_P4 =  Dict
-_test_Div_RoundHalfZero_P1_N1 :: Dict (K.Div 'K.RoundHalfZero (P 1) (N 1) ~ N 1)
-_test_Div_RoundHalfZero_P1_N1 =  Dict
-_test_Mod_RoundHalfZero_P1_N1 :: Dict (K.Mod 'K.RoundHalfZero (P 1) (N 1) ~ P 0)
-_test_Mod_RoundHalfZero_P1_N1 =  Dict
-_test_Div_RoundHalfZero_P1_N2 :: Dict (K.Div 'K.RoundHalfZero (P 1) (N 2) ~ P 0)
-_test_Div_RoundHalfZero_P1_N2 =  Dict
-_test_Mod_RoundHalfZero_P1_N2 :: Dict (K.Mod 'K.RoundHalfZero (P 1) (N 2) ~ P 1)
-_test_Mod_RoundHalfZero_P1_N2 =  Dict
-_test_Div_RoundHalfZero_P1_N3 :: Dict (K.Div 'K.RoundHalfZero (P 1) (N 3) ~ P 0)
-_test_Div_RoundHalfZero_P1_N3 =  Dict
-_test_Mod_RoundHalfZero_P1_N3 :: Dict (K.Mod 'K.RoundHalfZero (P 1) (N 3) ~ P 1)
-_test_Mod_RoundHalfZero_P1_N3 =  Dict
-_test_Div_RoundHalfZero_P1_N4 :: Dict (K.Div 'K.RoundHalfZero (P 1) (N 4) ~ P 0)
-_test_Div_RoundHalfZero_P1_N4 =  Dict
-_test_Mod_RoundHalfZero_P1_N4 :: Dict (K.Mod 'K.RoundHalfZero (P 1) (N 4) ~ P 1)
-_test_Mod_RoundHalfZero_P1_N4 =  Dict
-_test_Div_RoundHalfZero_P1_P1 :: Dict (K.Div 'K.RoundHalfZero (P 1) (P 1) ~ P 1)
-_test_Div_RoundHalfZero_P1_P1 =  Dict
-_test_Mod_RoundHalfZero_P1_P1 :: Dict (K.Mod 'K.RoundHalfZero (P 1) (P 1) ~ P 0)
-_test_Mod_RoundHalfZero_P1_P1 =  Dict
-_test_Div_RoundHalfZero_P1_P2 :: Dict (K.Div 'K.RoundHalfZero (P 1) (P 2) ~ P 0)
-_test_Div_RoundHalfZero_P1_P2 =  Dict
-_test_Mod_RoundHalfZero_P1_P2 :: Dict (K.Mod 'K.RoundHalfZero (P 1) (P 2) ~ P 1)
-_test_Mod_RoundHalfZero_P1_P2 =  Dict
-_test_Div_RoundHalfZero_P1_P3 :: Dict (K.Div 'K.RoundHalfZero (P 1) (P 3) ~ P 0)
-_test_Div_RoundHalfZero_P1_P3 =  Dict
-_test_Mod_RoundHalfZero_P1_P3 :: Dict (K.Mod 'K.RoundHalfZero (P 1) (P 3) ~ P 1)
-_test_Mod_RoundHalfZero_P1_P3 =  Dict
-_test_Div_RoundHalfZero_P1_P4 :: Dict (K.Div 'K.RoundHalfZero (P 1) (P 4) ~ P 0)
-_test_Div_RoundHalfZero_P1_P4 =  Dict
-_test_Mod_RoundHalfZero_P1_P4 :: Dict (K.Mod 'K.RoundHalfZero (P 1) (P 4) ~ P 1)
-_test_Mod_RoundHalfZero_P1_P4 =  Dict
-_test_Div_RoundHalfZero_P2_N1 :: Dict (K.Div 'K.RoundHalfZero (P 2) (N 1) ~ N 2)
-_test_Div_RoundHalfZero_P2_N1 =  Dict
-_test_Mod_RoundHalfZero_P2_N1 :: Dict (K.Mod 'K.RoundHalfZero (P 2) (N 1) ~ P 0)
-_test_Mod_RoundHalfZero_P2_N1 =  Dict
-_test_Div_RoundHalfZero_P2_N2 :: Dict (K.Div 'K.RoundHalfZero (P 2) (N 2) ~ N 1)
-_test_Div_RoundHalfZero_P2_N2 =  Dict
-_test_Mod_RoundHalfZero_P2_N2 :: Dict (K.Mod 'K.RoundHalfZero (P 2) (N 2) ~ P 0)
-_test_Mod_RoundHalfZero_P2_N2 =  Dict
-_test_Div_RoundHalfZero_P2_N3 :: Dict (K.Div 'K.RoundHalfZero (P 2) (N 3) ~ N 1)
-_test_Div_RoundHalfZero_P2_N3 =  Dict
-_test_Mod_RoundHalfZero_P2_N3 :: Dict (K.Mod 'K.RoundHalfZero (P 2) (N 3) ~ N 1)
-_test_Mod_RoundHalfZero_P2_N3 =  Dict
-_test_Div_RoundHalfZero_P2_N4 :: Dict (K.Div 'K.RoundHalfZero (P 2) (N 4) ~ P 0)
-_test_Div_RoundHalfZero_P2_N4 =  Dict
-_test_Mod_RoundHalfZero_P2_N4 :: Dict (K.Mod 'K.RoundHalfZero (P 2) (N 4) ~ P 2)
-_test_Mod_RoundHalfZero_P2_N4 =  Dict
-_test_Div_RoundHalfZero_P2_P1 :: Dict (K.Div 'K.RoundHalfZero (P 2) (P 1) ~ P 2)
-_test_Div_RoundHalfZero_P2_P1 =  Dict
-_test_Mod_RoundHalfZero_P2_P1 :: Dict (K.Mod 'K.RoundHalfZero (P 2) (P 1) ~ P 0)
-_test_Mod_RoundHalfZero_P2_P1 =  Dict
-_test_Div_RoundHalfZero_P2_P2 :: Dict (K.Div 'K.RoundHalfZero (P 2) (P 2) ~ P 1)
-_test_Div_RoundHalfZero_P2_P2 =  Dict
-_test_Mod_RoundHalfZero_P2_P2 :: Dict (K.Mod 'K.RoundHalfZero (P 2) (P 2) ~ P 0)
-_test_Mod_RoundHalfZero_P2_P2 =  Dict
-_test_Div_RoundHalfZero_P2_P3 :: Dict (K.Div 'K.RoundHalfZero (P 2) (P 3) ~ P 1)
-_test_Div_RoundHalfZero_P2_P3 =  Dict
-_test_Mod_RoundHalfZero_P2_P3 :: Dict (K.Mod 'K.RoundHalfZero (P 2) (P 3) ~ N 1)
-_test_Mod_RoundHalfZero_P2_P3 =  Dict
-_test_Div_RoundHalfZero_P2_P4 :: Dict (K.Div 'K.RoundHalfZero (P 2) (P 4) ~ P 0)
-_test_Div_RoundHalfZero_P2_P4 =  Dict
-_test_Mod_RoundHalfZero_P2_P4 :: Dict (K.Mod 'K.RoundHalfZero (P 2) (P 4) ~ P 2)
-_test_Mod_RoundHalfZero_P2_P4 =  Dict
-_test_Div_RoundHalfZero_P3_N1 :: Dict (K.Div 'K.RoundHalfZero (P 3) (N 1) ~ N 3)
-_test_Div_RoundHalfZero_P3_N1 =  Dict
-_test_Mod_RoundHalfZero_P3_N1 :: Dict (K.Mod 'K.RoundHalfZero (P 3) (N 1) ~ P 0)
-_test_Mod_RoundHalfZero_P3_N1 =  Dict
-_test_Div_RoundHalfZero_P3_N2 :: Dict (K.Div 'K.RoundHalfZero (P 3) (N 2) ~ N 1)
-_test_Div_RoundHalfZero_P3_N2 =  Dict
-_test_Mod_RoundHalfZero_P3_N2 :: Dict (K.Mod 'K.RoundHalfZero (P 3) (N 2) ~ P 1)
-_test_Mod_RoundHalfZero_P3_N2 =  Dict
-_test_Div_RoundHalfZero_P3_N3 :: Dict (K.Div 'K.RoundHalfZero (P 3) (N 3) ~ N 1)
-_test_Div_RoundHalfZero_P3_N3 =  Dict
-_test_Mod_RoundHalfZero_P3_N3 :: Dict (K.Mod 'K.RoundHalfZero (P 3) (N 3) ~ P 0)
-_test_Mod_RoundHalfZero_P3_N3 =  Dict
-_test_Div_RoundHalfZero_P3_N4 :: Dict (K.Div 'K.RoundHalfZero (P 3) (N 4) ~ N 1)
-_test_Div_RoundHalfZero_P3_N4 =  Dict
-_test_Mod_RoundHalfZero_P3_N4 :: Dict (K.Mod 'K.RoundHalfZero (P 3) (N 4) ~ N 1)
-_test_Mod_RoundHalfZero_P3_N4 =  Dict
-_test_Div_RoundHalfZero_P3_P1 :: Dict (K.Div 'K.RoundHalfZero (P 3) (P 1) ~ P 3)
-_test_Div_RoundHalfZero_P3_P1 =  Dict
-_test_Mod_RoundHalfZero_P3_P1 :: Dict (K.Mod 'K.RoundHalfZero (P 3) (P 1) ~ P 0)
-_test_Mod_RoundHalfZero_P3_P1 =  Dict
-_test_Div_RoundHalfZero_P3_P2 :: Dict (K.Div 'K.RoundHalfZero (P 3) (P 2) ~ P 1)
-_test_Div_RoundHalfZero_P3_P2 =  Dict
-_test_Mod_RoundHalfZero_P3_P2 :: Dict (K.Mod 'K.RoundHalfZero (P 3) (P 2) ~ P 1)
-_test_Mod_RoundHalfZero_P3_P2 =  Dict
-_test_Div_RoundHalfZero_P3_P3 :: Dict (K.Div 'K.RoundHalfZero (P 3) (P 3) ~ P 1)
-_test_Div_RoundHalfZero_P3_P3 =  Dict
-_test_Mod_RoundHalfZero_P3_P3 :: Dict (K.Mod 'K.RoundHalfZero (P 3) (P 3) ~ P 0)
-_test_Mod_RoundHalfZero_P3_P3 =  Dict
-_test_Div_RoundHalfZero_P3_P4 :: Dict (K.Div 'K.RoundHalfZero (P 3) (P 4) ~ P 1)
-_test_Div_RoundHalfZero_P3_P4 =  Dict
-_test_Mod_RoundHalfZero_P3_P4 :: Dict (K.Mod 'K.RoundHalfZero (P 3) (P 4) ~ N 1)
-_test_Mod_RoundHalfZero_P3_P4 =  Dict
-_test_Div_RoundHalfZero_P4_N1 :: Dict (K.Div 'K.RoundHalfZero (P 4) (N 1) ~ N 4)
-_test_Div_RoundHalfZero_P4_N1 =  Dict
-_test_Mod_RoundHalfZero_P4_N1 :: Dict (K.Mod 'K.RoundHalfZero (P 4) (N 1) ~ P 0)
-_test_Mod_RoundHalfZero_P4_N1 =  Dict
-_test_Div_RoundHalfZero_P4_N2 :: Dict (K.Div 'K.RoundHalfZero (P 4) (N 2) ~ N 2)
-_test_Div_RoundHalfZero_P4_N2 =  Dict
-_test_Mod_RoundHalfZero_P4_N2 :: Dict (K.Mod 'K.RoundHalfZero (P 4) (N 2) ~ P 0)
-_test_Mod_RoundHalfZero_P4_N2 =  Dict
-_test_Div_RoundHalfZero_P4_N3 :: Dict (K.Div 'K.RoundHalfZero (P 4) (N 3) ~ N 1)
-_test_Div_RoundHalfZero_P4_N3 =  Dict
-_test_Mod_RoundHalfZero_P4_N3 :: Dict (K.Mod 'K.RoundHalfZero (P 4) (N 3) ~ P 1)
-_test_Mod_RoundHalfZero_P4_N3 =  Dict
-_test_Div_RoundHalfZero_P4_N4 :: Dict (K.Div 'K.RoundHalfZero (P 4) (N 4) ~ N 1)
-_test_Div_RoundHalfZero_P4_N4 =  Dict
-_test_Mod_RoundHalfZero_P4_N4 :: Dict (K.Mod 'K.RoundHalfZero (P 4) (N 4) ~ P 0)
-_test_Mod_RoundHalfZero_P4_N4 =  Dict
-_test_Div_RoundHalfZero_P4_P1 :: Dict (K.Div 'K.RoundHalfZero (P 4) (P 1) ~ P 4)
-_test_Div_RoundHalfZero_P4_P1 =  Dict
-_test_Mod_RoundHalfZero_P4_P1 :: Dict (K.Mod 'K.RoundHalfZero (P 4) (P 1) ~ P 0)
-_test_Mod_RoundHalfZero_P4_P1 =  Dict
-_test_Div_RoundHalfZero_P4_P2 :: Dict (K.Div 'K.RoundHalfZero (P 4) (P 2) ~ P 2)
-_test_Div_RoundHalfZero_P4_P2 =  Dict
-_test_Mod_RoundHalfZero_P4_P2 :: Dict (K.Mod 'K.RoundHalfZero (P 4) (P 2) ~ P 0)
-_test_Mod_RoundHalfZero_P4_P2 =  Dict
-_test_Div_RoundHalfZero_P4_P3 :: Dict (K.Div 'K.RoundHalfZero (P 4) (P 3) ~ P 1)
-_test_Div_RoundHalfZero_P4_P3 =  Dict
-_test_Mod_RoundHalfZero_P4_P3 :: Dict (K.Mod 'K.RoundHalfZero (P 4) (P 3) ~ P 1)
-_test_Mod_RoundHalfZero_P4_P3 =  Dict
-_test_Div_RoundHalfZero_P4_P4 :: Dict (K.Div 'K.RoundHalfZero (P 4) (P 4) ~ P 1)
-_test_Div_RoundHalfZero_P4_P4 =  Dict
-_test_Mod_RoundHalfZero_P4_P4 :: Dict (K.Mod 'K.RoundHalfZero (P 4) (P 4) ~ P 0)
-_test_Mod_RoundHalfZero_P4_P4 =  Dict
-_test_Div_RoundUp_N1_N1 :: Dict (K.Div 'K.RoundUp (N 1) (N 1) ~ P 1)
-_test_Div_RoundUp_N1_N1 =  Dict
-_test_Mod_RoundUp_N1_N1 :: Dict (K.Mod 'K.RoundUp (N 1) (N 1) ~ P 0)
-_test_Mod_RoundUp_N1_N1 =  Dict
-_test_Div_RoundUp_N1_N2 :: Dict (K.Div 'K.RoundUp (N 1) (N 2) ~ P 1)
-_test_Div_RoundUp_N1_N2 =  Dict
-_test_Mod_RoundUp_N1_N2 :: Dict (K.Mod 'K.RoundUp (N 1) (N 2) ~ P 1)
-_test_Mod_RoundUp_N1_N2 =  Dict
-_test_Div_RoundUp_N1_N3 :: Dict (K.Div 'K.RoundUp (N 1) (N 3) ~ P 1)
-_test_Div_RoundUp_N1_N3 =  Dict
-_test_Mod_RoundUp_N1_N3 :: Dict (K.Mod 'K.RoundUp (N 1) (N 3) ~ P 2)
-_test_Mod_RoundUp_N1_N3 =  Dict
-_test_Div_RoundUp_N1_N4 :: Dict (K.Div 'K.RoundUp (N 1) (N 4) ~ P 1)
-_test_Div_RoundUp_N1_N4 =  Dict
-_test_Mod_RoundUp_N1_N4 :: Dict (K.Mod 'K.RoundUp (N 1) (N 4) ~ P 3)
-_test_Mod_RoundUp_N1_N4 =  Dict
-_test_Div_RoundUp_N1_P1 :: Dict (K.Div 'K.RoundUp (N 1) (P 1) ~ N 1)
-_test_Div_RoundUp_N1_P1 =  Dict
-_test_Mod_RoundUp_N1_P1 :: Dict (K.Mod 'K.RoundUp (N 1) (P 1) ~ P 0)
-_test_Mod_RoundUp_N1_P1 =  Dict
-_test_Div_RoundUp_N1_P2 :: Dict (K.Div 'K.RoundUp (N 1) (P 2) ~ P 0)
-_test_Div_RoundUp_N1_P2 =  Dict
-_test_Mod_RoundUp_N1_P2 :: Dict (K.Mod 'K.RoundUp (N 1) (P 2) ~ N 1)
-_test_Mod_RoundUp_N1_P2 =  Dict
-_test_Div_RoundUp_N1_P3 :: Dict (K.Div 'K.RoundUp (N 1) (P 3) ~ P 0)
-_test_Div_RoundUp_N1_P3 =  Dict
-_test_Mod_RoundUp_N1_P3 :: Dict (K.Mod 'K.RoundUp (N 1) (P 3) ~ N 1)
-_test_Mod_RoundUp_N1_P3 =  Dict
-_test_Div_RoundUp_N1_P4 :: Dict (K.Div 'K.RoundUp (N 1) (P 4) ~ P 0)
-_test_Div_RoundUp_N1_P4 =  Dict
-_test_Mod_RoundUp_N1_P4 :: Dict (K.Mod 'K.RoundUp (N 1) (P 4) ~ N 1)
-_test_Mod_RoundUp_N1_P4 =  Dict
-_test_Div_RoundUp_N2_N1 :: Dict (K.Div 'K.RoundUp (N 2) (N 1) ~ P 2)
-_test_Div_RoundUp_N2_N1 =  Dict
-_test_Mod_RoundUp_N2_N1 :: Dict (K.Mod 'K.RoundUp (N 2) (N 1) ~ P 0)
-_test_Mod_RoundUp_N2_N1 =  Dict
-_test_Div_RoundUp_N2_N2 :: Dict (K.Div 'K.RoundUp (N 2) (N 2) ~ P 1)
-_test_Div_RoundUp_N2_N2 =  Dict
-_test_Mod_RoundUp_N2_N2 :: Dict (K.Mod 'K.RoundUp (N 2) (N 2) ~ P 0)
-_test_Mod_RoundUp_N2_N2 =  Dict
-_test_Div_RoundUp_N2_N3 :: Dict (K.Div 'K.RoundUp (N 2) (N 3) ~ P 1)
-_test_Div_RoundUp_N2_N3 =  Dict
-_test_Mod_RoundUp_N2_N3 :: Dict (K.Mod 'K.RoundUp (N 2) (N 3) ~ P 1)
-_test_Mod_RoundUp_N2_N3 =  Dict
-_test_Div_RoundUp_N2_N4 :: Dict (K.Div 'K.RoundUp (N 2) (N 4) ~ P 1)
-_test_Div_RoundUp_N2_N4 =  Dict
-_test_Mod_RoundUp_N2_N4 :: Dict (K.Mod 'K.RoundUp (N 2) (N 4) ~ P 2)
-_test_Mod_RoundUp_N2_N4 =  Dict
-_test_Div_RoundUp_N2_P1 :: Dict (K.Div 'K.RoundUp (N 2) (P 1) ~ N 2)
-_test_Div_RoundUp_N2_P1 =  Dict
-_test_Mod_RoundUp_N2_P1 :: Dict (K.Mod 'K.RoundUp (N 2) (P 1) ~ P 0)
-_test_Mod_RoundUp_N2_P1 =  Dict
-_test_Div_RoundUp_N2_P2 :: Dict (K.Div 'K.RoundUp (N 2) (P 2) ~ N 1)
-_test_Div_RoundUp_N2_P2 =  Dict
-_test_Mod_RoundUp_N2_P2 :: Dict (K.Mod 'K.RoundUp (N 2) (P 2) ~ P 0)
-_test_Mod_RoundUp_N2_P2 =  Dict
-_test_Div_RoundUp_N2_P3 :: Dict (K.Div 'K.RoundUp (N 2) (P 3) ~ P 0)
-_test_Div_RoundUp_N2_P3 =  Dict
-_test_Mod_RoundUp_N2_P3 :: Dict (K.Mod 'K.RoundUp (N 2) (P 3) ~ N 2)
-_test_Mod_RoundUp_N2_P3 =  Dict
-_test_Div_RoundUp_N2_P4 :: Dict (K.Div 'K.RoundUp (N 2) (P 4) ~ P 0)
-_test_Div_RoundUp_N2_P4 =  Dict
-_test_Mod_RoundUp_N2_P4 :: Dict (K.Mod 'K.RoundUp (N 2) (P 4) ~ N 2)
-_test_Mod_RoundUp_N2_P4 =  Dict
-_test_Div_RoundUp_N3_N1 :: Dict (K.Div 'K.RoundUp (N 3) (N 1) ~ P 3)
-_test_Div_RoundUp_N3_N1 =  Dict
-_test_Mod_RoundUp_N3_N1 :: Dict (K.Mod 'K.RoundUp (N 3) (N 1) ~ P 0)
-_test_Mod_RoundUp_N3_N1 =  Dict
-_test_Div_RoundUp_N3_N2 :: Dict (K.Div 'K.RoundUp (N 3) (N 2) ~ P 2)
-_test_Div_RoundUp_N3_N2 =  Dict
-_test_Mod_RoundUp_N3_N2 :: Dict (K.Mod 'K.RoundUp (N 3) (N 2) ~ P 1)
-_test_Mod_RoundUp_N3_N2 =  Dict
-_test_Div_RoundUp_N3_N3 :: Dict (K.Div 'K.RoundUp (N 3) (N 3) ~ P 1)
-_test_Div_RoundUp_N3_N3 =  Dict
-_test_Mod_RoundUp_N3_N3 :: Dict (K.Mod 'K.RoundUp (N 3) (N 3) ~ P 0)
-_test_Mod_RoundUp_N3_N3 =  Dict
-_test_Div_RoundUp_N3_N4 :: Dict (K.Div 'K.RoundUp (N 3) (N 4) ~ P 1)
-_test_Div_RoundUp_N3_N4 =  Dict
-_test_Mod_RoundUp_N3_N4 :: Dict (K.Mod 'K.RoundUp (N 3) (N 4) ~ P 1)
-_test_Mod_RoundUp_N3_N4 =  Dict
-_test_Div_RoundUp_N3_P1 :: Dict (K.Div 'K.RoundUp (N 3) (P 1) ~ N 3)
-_test_Div_RoundUp_N3_P1 =  Dict
-_test_Mod_RoundUp_N3_P1 :: Dict (K.Mod 'K.RoundUp (N 3) (P 1) ~ P 0)
-_test_Mod_RoundUp_N3_P1 =  Dict
-_test_Div_RoundUp_N3_P2 :: Dict (K.Div 'K.RoundUp (N 3) (P 2) ~ N 1)
-_test_Div_RoundUp_N3_P2 =  Dict
-_test_Mod_RoundUp_N3_P2 :: Dict (K.Mod 'K.RoundUp (N 3) (P 2) ~ N 1)
-_test_Mod_RoundUp_N3_P2 =  Dict
-_test_Div_RoundUp_N3_P3 :: Dict (K.Div 'K.RoundUp (N 3) (P 3) ~ N 1)
-_test_Div_RoundUp_N3_P3 =  Dict
-_test_Mod_RoundUp_N3_P3 :: Dict (K.Mod 'K.RoundUp (N 3) (P 3) ~ P 0)
-_test_Mod_RoundUp_N3_P3 =  Dict
-_test_Div_RoundUp_N3_P4 :: Dict (K.Div 'K.RoundUp (N 3) (P 4) ~ P 0)
-_test_Div_RoundUp_N3_P4 =  Dict
-_test_Mod_RoundUp_N3_P4 :: Dict (K.Mod 'K.RoundUp (N 3) (P 4) ~ N 3)
-_test_Mod_RoundUp_N3_P4 =  Dict
-_test_Div_RoundUp_N4_N1 :: Dict (K.Div 'K.RoundUp (N 4) (N 1) ~ P 4)
-_test_Div_RoundUp_N4_N1 =  Dict
-_test_Mod_RoundUp_N4_N1 :: Dict (K.Mod 'K.RoundUp (N 4) (N 1) ~ P 0)
-_test_Mod_RoundUp_N4_N1 =  Dict
-_test_Div_RoundUp_N4_N2 :: Dict (K.Div 'K.RoundUp (N 4) (N 2) ~ P 2)
-_test_Div_RoundUp_N4_N2 =  Dict
-_test_Mod_RoundUp_N4_N2 :: Dict (K.Mod 'K.RoundUp (N 4) (N 2) ~ P 0)
-_test_Mod_RoundUp_N4_N2 =  Dict
-_test_Div_RoundUp_N4_N3 :: Dict (K.Div 'K.RoundUp (N 4) (N 3) ~ P 2)
-_test_Div_RoundUp_N4_N3 =  Dict
-_test_Mod_RoundUp_N4_N3 :: Dict (K.Mod 'K.RoundUp (N 4) (N 3) ~ P 2)
-_test_Mod_RoundUp_N4_N3 =  Dict
-_test_Div_RoundUp_N4_N4 :: Dict (K.Div 'K.RoundUp (N 4) (N 4) ~ P 1)
-_test_Div_RoundUp_N4_N4 =  Dict
-_test_Mod_RoundUp_N4_N4 :: Dict (K.Mod 'K.RoundUp (N 4) (N 4) ~ P 0)
-_test_Mod_RoundUp_N4_N4 =  Dict
-_test_Div_RoundUp_N4_P1 :: Dict (K.Div 'K.RoundUp (N 4) (P 1) ~ N 4)
-_test_Div_RoundUp_N4_P1 =  Dict
-_test_Mod_RoundUp_N4_P1 :: Dict (K.Mod 'K.RoundUp (N 4) (P 1) ~ P 0)
-_test_Mod_RoundUp_N4_P1 =  Dict
-_test_Div_RoundUp_N4_P2 :: Dict (K.Div 'K.RoundUp (N 4) (P 2) ~ N 2)
-_test_Div_RoundUp_N4_P2 =  Dict
-_test_Mod_RoundUp_N4_P2 :: Dict (K.Mod 'K.RoundUp (N 4) (P 2) ~ P 0)
-_test_Mod_RoundUp_N4_P2 =  Dict
-_test_Div_RoundUp_N4_P3 :: Dict (K.Div 'K.RoundUp (N 4) (P 3) ~ N 1)
-_test_Div_RoundUp_N4_P3 =  Dict
-_test_Mod_RoundUp_N4_P3 :: Dict (K.Mod 'K.RoundUp (N 4) (P 3) ~ N 1)
-_test_Mod_RoundUp_N4_P3 =  Dict
-_test_Div_RoundUp_N4_P4 :: Dict (K.Div 'K.RoundUp (N 4) (P 4) ~ N 1)
-_test_Div_RoundUp_N4_P4 =  Dict
-_test_Mod_RoundUp_N4_P4 :: Dict (K.Mod 'K.RoundUp (N 4) (P 4) ~ P 0)
-_test_Mod_RoundUp_N4_P4 =  Dict
-_test_Div_RoundUp_P0_N1 :: Dict (K.Div 'K.RoundUp (P 0) (N 1) ~ P 0)
-_test_Div_RoundUp_P0_N1 =  Dict
-_test_Mod_RoundUp_P0_N1 :: Dict (K.Mod 'K.RoundUp (P 0) (N 1) ~ P 0)
-_test_Mod_RoundUp_P0_N1 =  Dict
-_test_Div_RoundUp_P0_N2 :: Dict (K.Div 'K.RoundUp (P 0) (N 2) ~ P 0)
-_test_Div_RoundUp_P0_N2 =  Dict
-_test_Mod_RoundUp_P0_N2 :: Dict (K.Mod 'K.RoundUp (P 0) (N 2) ~ P 0)
-_test_Mod_RoundUp_P0_N2 =  Dict
-_test_Div_RoundUp_P0_N3 :: Dict (K.Div 'K.RoundUp (P 0) (N 3) ~ P 0)
-_test_Div_RoundUp_P0_N3 =  Dict
-_test_Mod_RoundUp_P0_N3 :: Dict (K.Mod 'K.RoundUp (P 0) (N 3) ~ P 0)
-_test_Mod_RoundUp_P0_N3 =  Dict
-_test_Div_RoundUp_P0_N4 :: Dict (K.Div 'K.RoundUp (P 0) (N 4) ~ P 0)
-_test_Div_RoundUp_P0_N4 =  Dict
-_test_Mod_RoundUp_P0_N4 :: Dict (K.Mod 'K.RoundUp (P 0) (N 4) ~ P 0)
-_test_Mod_RoundUp_P0_N4 =  Dict
-_test_Div_RoundUp_P0_P1 :: Dict (K.Div 'K.RoundUp (P 0) (P 1) ~ P 0)
-_test_Div_RoundUp_P0_P1 =  Dict
-_test_Mod_RoundUp_P0_P1 :: Dict (K.Mod 'K.RoundUp (P 0) (P 1) ~ P 0)
-_test_Mod_RoundUp_P0_P1 =  Dict
-_test_Div_RoundUp_P0_P2 :: Dict (K.Div 'K.RoundUp (P 0) (P 2) ~ P 0)
-_test_Div_RoundUp_P0_P2 =  Dict
-_test_Mod_RoundUp_P0_P2 :: Dict (K.Mod 'K.RoundUp (P 0) (P 2) ~ P 0)
-_test_Mod_RoundUp_P0_P2 =  Dict
-_test_Div_RoundUp_P0_P3 :: Dict (K.Div 'K.RoundUp (P 0) (P 3) ~ P 0)
-_test_Div_RoundUp_P0_P3 =  Dict
-_test_Mod_RoundUp_P0_P3 :: Dict (K.Mod 'K.RoundUp (P 0) (P 3) ~ P 0)
-_test_Mod_RoundUp_P0_P3 =  Dict
-_test_Div_RoundUp_P0_P4 :: Dict (K.Div 'K.RoundUp (P 0) (P 4) ~ P 0)
-_test_Div_RoundUp_P0_P4 =  Dict
-_test_Mod_RoundUp_P0_P4 :: Dict (K.Mod 'K.RoundUp (P 0) (P 4) ~ P 0)
-_test_Mod_RoundUp_P0_P4 =  Dict
-_test_Div_RoundUp_P1_N1 :: Dict (K.Div 'K.RoundUp (P 1) (N 1) ~ N 1)
-_test_Div_RoundUp_P1_N1 =  Dict
-_test_Mod_RoundUp_P1_N1 :: Dict (K.Mod 'K.RoundUp (P 1) (N 1) ~ P 0)
-_test_Mod_RoundUp_P1_N1 =  Dict
-_test_Div_RoundUp_P1_N2 :: Dict (K.Div 'K.RoundUp (P 1) (N 2) ~ P 0)
-_test_Div_RoundUp_P1_N2 =  Dict
-_test_Mod_RoundUp_P1_N2 :: Dict (K.Mod 'K.RoundUp (P 1) (N 2) ~ P 1)
-_test_Mod_RoundUp_P1_N2 =  Dict
-_test_Div_RoundUp_P1_N3 :: Dict (K.Div 'K.RoundUp (P 1) (N 3) ~ P 0)
-_test_Div_RoundUp_P1_N3 =  Dict
-_test_Mod_RoundUp_P1_N3 :: Dict (K.Mod 'K.RoundUp (P 1) (N 3) ~ P 1)
-_test_Mod_RoundUp_P1_N3 =  Dict
-_test_Div_RoundUp_P1_N4 :: Dict (K.Div 'K.RoundUp (P 1) (N 4) ~ P 0)
-_test_Div_RoundUp_P1_N4 =  Dict
-_test_Mod_RoundUp_P1_N4 :: Dict (K.Mod 'K.RoundUp (P 1) (N 4) ~ P 1)
-_test_Mod_RoundUp_P1_N4 =  Dict
-_test_Div_RoundUp_P1_P1 :: Dict (K.Div 'K.RoundUp (P 1) (P 1) ~ P 1)
-_test_Div_RoundUp_P1_P1 =  Dict
-_test_Mod_RoundUp_P1_P1 :: Dict (K.Mod 'K.RoundUp (P 1) (P 1) ~ P 0)
-_test_Mod_RoundUp_P1_P1 =  Dict
-_test_Div_RoundUp_P1_P2 :: Dict (K.Div 'K.RoundUp (P 1) (P 2) ~ P 1)
-_test_Div_RoundUp_P1_P2 =  Dict
-_test_Mod_RoundUp_P1_P2 :: Dict (K.Mod 'K.RoundUp (P 1) (P 2) ~ N 1)
-_test_Mod_RoundUp_P1_P2 =  Dict
-_test_Div_RoundUp_P1_P3 :: Dict (K.Div 'K.RoundUp (P 1) (P 3) ~ P 1)
-_test_Div_RoundUp_P1_P3 =  Dict
-_test_Mod_RoundUp_P1_P3 :: Dict (K.Mod 'K.RoundUp (P 1) (P 3) ~ N 2)
-_test_Mod_RoundUp_P1_P3 =  Dict
-_test_Div_RoundUp_P1_P4 :: Dict (K.Div 'K.RoundUp (P 1) (P 4) ~ P 1)
-_test_Div_RoundUp_P1_P4 =  Dict
-_test_Mod_RoundUp_P1_P4 :: Dict (K.Mod 'K.RoundUp (P 1) (P 4) ~ N 3)
-_test_Mod_RoundUp_P1_P4 =  Dict
-_test_Div_RoundUp_P2_N1 :: Dict (K.Div 'K.RoundUp (P 2) (N 1) ~ N 2)
-_test_Div_RoundUp_P2_N1 =  Dict
-_test_Mod_RoundUp_P2_N1 :: Dict (K.Mod 'K.RoundUp (P 2) (N 1) ~ P 0)
-_test_Mod_RoundUp_P2_N1 =  Dict
-_test_Div_RoundUp_P2_N2 :: Dict (K.Div 'K.RoundUp (P 2) (N 2) ~ N 1)
-_test_Div_RoundUp_P2_N2 =  Dict
-_test_Mod_RoundUp_P2_N2 :: Dict (K.Mod 'K.RoundUp (P 2) (N 2) ~ P 0)
-_test_Mod_RoundUp_P2_N2 =  Dict
-_test_Div_RoundUp_P2_N3 :: Dict (K.Div 'K.RoundUp (P 2) (N 3) ~ P 0)
-_test_Div_RoundUp_P2_N3 =  Dict
-_test_Mod_RoundUp_P2_N3 :: Dict (K.Mod 'K.RoundUp (P 2) (N 3) ~ P 2)
-_test_Mod_RoundUp_P2_N3 =  Dict
-_test_Div_RoundUp_P2_N4 :: Dict (K.Div 'K.RoundUp (P 2) (N 4) ~ P 0)
-_test_Div_RoundUp_P2_N4 =  Dict
-_test_Mod_RoundUp_P2_N4 :: Dict (K.Mod 'K.RoundUp (P 2) (N 4) ~ P 2)
-_test_Mod_RoundUp_P2_N4 =  Dict
-_test_Div_RoundUp_P2_P1 :: Dict (K.Div 'K.RoundUp (P 2) (P 1) ~ P 2)
-_test_Div_RoundUp_P2_P1 =  Dict
-_test_Mod_RoundUp_P2_P1 :: Dict (K.Mod 'K.RoundUp (P 2) (P 1) ~ P 0)
-_test_Mod_RoundUp_P2_P1 =  Dict
-_test_Div_RoundUp_P2_P2 :: Dict (K.Div 'K.RoundUp (P 2) (P 2) ~ P 1)
-_test_Div_RoundUp_P2_P2 =  Dict
-_test_Mod_RoundUp_P2_P2 :: Dict (K.Mod 'K.RoundUp (P 2) (P 2) ~ P 0)
-_test_Mod_RoundUp_P2_P2 =  Dict
-_test_Div_RoundUp_P2_P3 :: Dict (K.Div 'K.RoundUp (P 2) (P 3) ~ P 1)
-_test_Div_RoundUp_P2_P3 =  Dict
-_test_Mod_RoundUp_P2_P3 :: Dict (K.Mod 'K.RoundUp (P 2) (P 3) ~ N 1)
-_test_Mod_RoundUp_P2_P3 =  Dict
-_test_Div_RoundUp_P2_P4 :: Dict (K.Div 'K.RoundUp (P 2) (P 4) ~ P 1)
-_test_Div_RoundUp_P2_P4 =  Dict
-_test_Mod_RoundUp_P2_P4 :: Dict (K.Mod 'K.RoundUp (P 2) (P 4) ~ N 2)
-_test_Mod_RoundUp_P2_P4 =  Dict
-_test_Div_RoundUp_P3_N1 :: Dict (K.Div 'K.RoundUp (P 3) (N 1) ~ N 3)
-_test_Div_RoundUp_P3_N1 =  Dict
-_test_Mod_RoundUp_P3_N1 :: Dict (K.Mod 'K.RoundUp (P 3) (N 1) ~ P 0)
-_test_Mod_RoundUp_P3_N1 =  Dict
-_test_Div_RoundUp_P3_N2 :: Dict (K.Div 'K.RoundUp (P 3) (N 2) ~ N 1)
-_test_Div_RoundUp_P3_N2 =  Dict
-_test_Mod_RoundUp_P3_N2 :: Dict (K.Mod 'K.RoundUp (P 3) (N 2) ~ P 1)
-_test_Mod_RoundUp_P3_N2 =  Dict
-_test_Div_RoundUp_P3_N3 :: Dict (K.Div 'K.RoundUp (P 3) (N 3) ~ N 1)
-_test_Div_RoundUp_P3_N3 =  Dict
-_test_Mod_RoundUp_P3_N3 :: Dict (K.Mod 'K.RoundUp (P 3) (N 3) ~ P 0)
-_test_Mod_RoundUp_P3_N3 =  Dict
-_test_Div_RoundUp_P3_N4 :: Dict (K.Div 'K.RoundUp (P 3) (N 4) ~ P 0)
-_test_Div_RoundUp_P3_N4 =  Dict
-_test_Mod_RoundUp_P3_N4 :: Dict (K.Mod 'K.RoundUp (P 3) (N 4) ~ P 3)
-_test_Mod_RoundUp_P3_N4 =  Dict
-_test_Div_RoundUp_P3_P1 :: Dict (K.Div 'K.RoundUp (P 3) (P 1) ~ P 3)
-_test_Div_RoundUp_P3_P1 =  Dict
-_test_Mod_RoundUp_P3_P1 :: Dict (K.Mod 'K.RoundUp (P 3) (P 1) ~ P 0)
-_test_Mod_RoundUp_P3_P1 =  Dict
-_test_Div_RoundUp_P3_P2 :: Dict (K.Div 'K.RoundUp (P 3) (P 2) ~ P 2)
-_test_Div_RoundUp_P3_P2 =  Dict
-_test_Mod_RoundUp_P3_P2 :: Dict (K.Mod 'K.RoundUp (P 3) (P 2) ~ N 1)
-_test_Mod_RoundUp_P3_P2 =  Dict
-_test_Div_RoundUp_P3_P3 :: Dict (K.Div 'K.RoundUp (P 3) (P 3) ~ P 1)
-_test_Div_RoundUp_P3_P3 =  Dict
-_test_Mod_RoundUp_P3_P3 :: Dict (K.Mod 'K.RoundUp (P 3) (P 3) ~ P 0)
-_test_Mod_RoundUp_P3_P3 =  Dict
-_test_Div_RoundUp_P3_P4 :: Dict (K.Div 'K.RoundUp (P 3) (P 4) ~ P 1)
-_test_Div_RoundUp_P3_P4 =  Dict
-_test_Mod_RoundUp_P3_P4 :: Dict (K.Mod 'K.RoundUp (P 3) (P 4) ~ N 1)
-_test_Mod_RoundUp_P3_P4 =  Dict
-_test_Div_RoundUp_P4_N1 :: Dict (K.Div 'K.RoundUp (P 4) (N 1) ~ N 4)
-_test_Div_RoundUp_P4_N1 =  Dict
-_test_Mod_RoundUp_P4_N1 :: Dict (K.Mod 'K.RoundUp (P 4) (N 1) ~ P 0)
-_test_Mod_RoundUp_P4_N1 =  Dict
-_test_Div_RoundUp_P4_N2 :: Dict (K.Div 'K.RoundUp (P 4) (N 2) ~ N 2)
-_test_Div_RoundUp_P4_N2 =  Dict
-_test_Mod_RoundUp_P4_N2 :: Dict (K.Mod 'K.RoundUp (P 4) (N 2) ~ P 0)
-_test_Mod_RoundUp_P4_N2 =  Dict
-_test_Div_RoundUp_P4_N3 :: Dict (K.Div 'K.RoundUp (P 4) (N 3) ~ N 1)
-_test_Div_RoundUp_P4_N3 =  Dict
-_test_Mod_RoundUp_P4_N3 :: Dict (K.Mod 'K.RoundUp (P 4) (N 3) ~ P 1)
-_test_Mod_RoundUp_P4_N3 =  Dict
-_test_Div_RoundUp_P4_N4 :: Dict (K.Div 'K.RoundUp (P 4) (N 4) ~ N 1)
-_test_Div_RoundUp_P4_N4 =  Dict
-_test_Mod_RoundUp_P4_N4 :: Dict (K.Mod 'K.RoundUp (P 4) (N 4) ~ P 0)
-_test_Mod_RoundUp_P4_N4 =  Dict
-_test_Div_RoundUp_P4_P1 :: Dict (K.Div 'K.RoundUp (P 4) (P 1) ~ P 4)
-_test_Div_RoundUp_P4_P1 =  Dict
-_test_Mod_RoundUp_P4_P1 :: Dict (K.Mod 'K.RoundUp (P 4) (P 1) ~ P 0)
-_test_Mod_RoundUp_P4_P1 =  Dict
-_test_Div_RoundUp_P4_P2 :: Dict (K.Div 'K.RoundUp (P 4) (P 2) ~ P 2)
-_test_Div_RoundUp_P4_P2 =  Dict
-_test_Mod_RoundUp_P4_P2 :: Dict (K.Mod 'K.RoundUp (P 4) (P 2) ~ P 0)
-_test_Mod_RoundUp_P4_P2 =  Dict
-_test_Div_RoundUp_P4_P3 :: Dict (K.Div 'K.RoundUp (P 4) (P 3) ~ P 2)
-_test_Div_RoundUp_P4_P3 =  Dict
-_test_Mod_RoundUp_P4_P3 :: Dict (K.Mod 'K.RoundUp (P 4) (P 3) ~ N 2)
-_test_Mod_RoundUp_P4_P3 =  Dict
-_test_Div_RoundUp_P4_P4 :: Dict (K.Div 'K.RoundUp (P 4) (P 4) ~ P 1)
-_test_Div_RoundUp_P4_P4 =  Dict
-_test_Mod_RoundUp_P4_P4 :: Dict (K.Mod 'K.RoundUp (P 4) (P 4) ~ P 0)
-_test_Mod_RoundUp_P4_P4 =  Dict
-_test_Div_RoundZero_N1_N1 :: Dict (K.Div 'K.RoundZero (N 1) (N 1) ~ P 1)
-_test_Div_RoundZero_N1_N1 =  Dict
-_test_Mod_RoundZero_N1_N1 :: Dict (K.Mod 'K.RoundZero (N 1) (N 1) ~ P 0)
-_test_Mod_RoundZero_N1_N1 =  Dict
-_test_Div_RoundZero_N1_N2 :: Dict (K.Div 'K.RoundZero (N 1) (N 2) ~ P 0)
-_test_Div_RoundZero_N1_N2 =  Dict
-_test_Mod_RoundZero_N1_N2 :: Dict (K.Mod 'K.RoundZero (N 1) (N 2) ~ N 1)
-_test_Mod_RoundZero_N1_N2 =  Dict
-_test_Div_RoundZero_N1_N3 :: Dict (K.Div 'K.RoundZero (N 1) (N 3) ~ P 0)
-_test_Div_RoundZero_N1_N3 =  Dict
-_test_Mod_RoundZero_N1_N3 :: Dict (K.Mod 'K.RoundZero (N 1) (N 3) ~ N 1)
-_test_Mod_RoundZero_N1_N3 =  Dict
-_test_Div_RoundZero_N1_N4 :: Dict (K.Div 'K.RoundZero (N 1) (N 4) ~ P 0)
-_test_Div_RoundZero_N1_N4 =  Dict
-_test_Mod_RoundZero_N1_N4 :: Dict (K.Mod 'K.RoundZero (N 1) (N 4) ~ N 1)
-_test_Mod_RoundZero_N1_N4 =  Dict
-_test_Div_RoundZero_N1_P1 :: Dict (K.Div 'K.RoundZero (N 1) (P 1) ~ N 1)
-_test_Div_RoundZero_N1_P1 =  Dict
-_test_Mod_RoundZero_N1_P1 :: Dict (K.Mod 'K.RoundZero (N 1) (P 1) ~ P 0)
-_test_Mod_RoundZero_N1_P1 =  Dict
-_test_Div_RoundZero_N1_P2 :: Dict (K.Div 'K.RoundZero (N 1) (P 2) ~ P 0)
-_test_Div_RoundZero_N1_P2 =  Dict
-_test_Mod_RoundZero_N1_P2 :: Dict (K.Mod 'K.RoundZero (N 1) (P 2) ~ N 1)
-_test_Mod_RoundZero_N1_P2 =  Dict
-_test_Div_RoundZero_N1_P3 :: Dict (K.Div 'K.RoundZero (N 1) (P 3) ~ P 0)
-_test_Div_RoundZero_N1_P3 =  Dict
-_test_Mod_RoundZero_N1_P3 :: Dict (K.Mod 'K.RoundZero (N 1) (P 3) ~ N 1)
-_test_Mod_RoundZero_N1_P3 =  Dict
-_test_Div_RoundZero_N1_P4 :: Dict (K.Div 'K.RoundZero (N 1) (P 4) ~ P 0)
-_test_Div_RoundZero_N1_P4 =  Dict
-_test_Mod_RoundZero_N1_P4 :: Dict (K.Mod 'K.RoundZero (N 1) (P 4) ~ N 1)
-_test_Mod_RoundZero_N1_P4 =  Dict
-_test_Div_RoundZero_N2_N1 :: Dict (K.Div 'K.RoundZero (N 2) (N 1) ~ P 2)
-_test_Div_RoundZero_N2_N1 =  Dict
-_test_Mod_RoundZero_N2_N1 :: Dict (K.Mod 'K.RoundZero (N 2) (N 1) ~ P 0)
-_test_Mod_RoundZero_N2_N1 =  Dict
-_test_Div_RoundZero_N2_N2 :: Dict (K.Div 'K.RoundZero (N 2) (N 2) ~ P 1)
-_test_Div_RoundZero_N2_N2 =  Dict
-_test_Mod_RoundZero_N2_N2 :: Dict (K.Mod 'K.RoundZero (N 2) (N 2) ~ P 0)
-_test_Mod_RoundZero_N2_N2 =  Dict
-_test_Div_RoundZero_N2_N3 :: Dict (K.Div 'K.RoundZero (N 2) (N 3) ~ P 0)
-_test_Div_RoundZero_N2_N3 =  Dict
-_test_Mod_RoundZero_N2_N3 :: Dict (K.Mod 'K.RoundZero (N 2) (N 3) ~ N 2)
-_test_Mod_RoundZero_N2_N3 =  Dict
-_test_Div_RoundZero_N2_N4 :: Dict (K.Div 'K.RoundZero (N 2) (N 4) ~ P 0)
-_test_Div_RoundZero_N2_N4 =  Dict
-_test_Mod_RoundZero_N2_N4 :: Dict (K.Mod 'K.RoundZero (N 2) (N 4) ~ N 2)
-_test_Mod_RoundZero_N2_N4 =  Dict
-_test_Div_RoundZero_N2_P1 :: Dict (K.Div 'K.RoundZero (N 2) (P 1) ~ N 2)
-_test_Div_RoundZero_N2_P1 =  Dict
-_test_Mod_RoundZero_N2_P1 :: Dict (K.Mod 'K.RoundZero (N 2) (P 1) ~ P 0)
-_test_Mod_RoundZero_N2_P1 =  Dict
-_test_Div_RoundZero_N2_P2 :: Dict (K.Div 'K.RoundZero (N 2) (P 2) ~ N 1)
-_test_Div_RoundZero_N2_P2 =  Dict
-_test_Mod_RoundZero_N2_P2 :: Dict (K.Mod 'K.RoundZero (N 2) (P 2) ~ P 0)
-_test_Mod_RoundZero_N2_P2 =  Dict
-_test_Div_RoundZero_N2_P3 :: Dict (K.Div 'K.RoundZero (N 2) (P 3) ~ P 0)
-_test_Div_RoundZero_N2_P3 =  Dict
-_test_Mod_RoundZero_N2_P3 :: Dict (K.Mod 'K.RoundZero (N 2) (P 3) ~ N 2)
-_test_Mod_RoundZero_N2_P3 =  Dict
-_test_Div_RoundZero_N2_P4 :: Dict (K.Div 'K.RoundZero (N 2) (P 4) ~ P 0)
-_test_Div_RoundZero_N2_P4 =  Dict
-_test_Mod_RoundZero_N2_P4 :: Dict (K.Mod 'K.RoundZero (N 2) (P 4) ~ N 2)
-_test_Mod_RoundZero_N2_P4 =  Dict
-_test_Div_RoundZero_N3_N1 :: Dict (K.Div 'K.RoundZero (N 3) (N 1) ~ P 3)
-_test_Div_RoundZero_N3_N1 =  Dict
-_test_Mod_RoundZero_N3_N1 :: Dict (K.Mod 'K.RoundZero (N 3) (N 1) ~ P 0)
-_test_Mod_RoundZero_N3_N1 =  Dict
-_test_Div_RoundZero_N3_N2 :: Dict (K.Div 'K.RoundZero (N 3) (N 2) ~ P 1)
-_test_Div_RoundZero_N3_N2 =  Dict
-_test_Mod_RoundZero_N3_N2 :: Dict (K.Mod 'K.RoundZero (N 3) (N 2) ~ N 1)
-_test_Mod_RoundZero_N3_N2 =  Dict
-_test_Div_RoundZero_N3_N3 :: Dict (K.Div 'K.RoundZero (N 3) (N 3) ~ P 1)
-_test_Div_RoundZero_N3_N3 =  Dict
-_test_Mod_RoundZero_N3_N3 :: Dict (K.Mod 'K.RoundZero (N 3) (N 3) ~ P 0)
-_test_Mod_RoundZero_N3_N3 =  Dict
-_test_Div_RoundZero_N3_N4 :: Dict (K.Div 'K.RoundZero (N 3) (N 4) ~ P 0)
-_test_Div_RoundZero_N3_N4 =  Dict
-_test_Mod_RoundZero_N3_N4 :: Dict (K.Mod 'K.RoundZero (N 3) (N 4) ~ N 3)
-_test_Mod_RoundZero_N3_N4 =  Dict
-_test_Div_RoundZero_N3_P1 :: Dict (K.Div 'K.RoundZero (N 3) (P 1) ~ N 3)
-_test_Div_RoundZero_N3_P1 =  Dict
-_test_Mod_RoundZero_N3_P1 :: Dict (K.Mod 'K.RoundZero (N 3) (P 1) ~ P 0)
-_test_Mod_RoundZero_N3_P1 =  Dict
-_test_Div_RoundZero_N3_P2 :: Dict (K.Div 'K.RoundZero (N 3) (P 2) ~ N 1)
-_test_Div_RoundZero_N3_P2 =  Dict
-_test_Mod_RoundZero_N3_P2 :: Dict (K.Mod 'K.RoundZero (N 3) (P 2) ~ N 1)
-_test_Mod_RoundZero_N3_P2 =  Dict
-_test_Div_RoundZero_N3_P3 :: Dict (K.Div 'K.RoundZero (N 3) (P 3) ~ N 1)
-_test_Div_RoundZero_N3_P3 =  Dict
-_test_Mod_RoundZero_N3_P3 :: Dict (K.Mod 'K.RoundZero (N 3) (P 3) ~ P 0)
-_test_Mod_RoundZero_N3_P3 =  Dict
-_test_Div_RoundZero_N3_P4 :: Dict (K.Div 'K.RoundZero (N 3) (P 4) ~ P 0)
-_test_Div_RoundZero_N3_P4 =  Dict
-_test_Mod_RoundZero_N3_P4 :: Dict (K.Mod 'K.RoundZero (N 3) (P 4) ~ N 3)
-_test_Mod_RoundZero_N3_P4 =  Dict
-_test_Div_RoundZero_N4_N1 :: Dict (K.Div 'K.RoundZero (N 4) (N 1) ~ P 4)
-_test_Div_RoundZero_N4_N1 =  Dict
-_test_Mod_RoundZero_N4_N1 :: Dict (K.Mod 'K.RoundZero (N 4) (N 1) ~ P 0)
-_test_Mod_RoundZero_N4_N1 =  Dict
-_test_Div_RoundZero_N4_N2 :: Dict (K.Div 'K.RoundZero (N 4) (N 2) ~ P 2)
-_test_Div_RoundZero_N4_N2 =  Dict
-_test_Mod_RoundZero_N4_N2 :: Dict (K.Mod 'K.RoundZero (N 4) (N 2) ~ P 0)
-_test_Mod_RoundZero_N4_N2 =  Dict
-_test_Div_RoundZero_N4_N3 :: Dict (K.Div 'K.RoundZero (N 4) (N 3) ~ P 1)
-_test_Div_RoundZero_N4_N3 =  Dict
-_test_Mod_RoundZero_N4_N3 :: Dict (K.Mod 'K.RoundZero (N 4) (N 3) ~ N 1)
-_test_Mod_RoundZero_N4_N3 =  Dict
-_test_Div_RoundZero_N4_N4 :: Dict (K.Div 'K.RoundZero (N 4) (N 4) ~ P 1)
-_test_Div_RoundZero_N4_N4 =  Dict
-_test_Mod_RoundZero_N4_N4 :: Dict (K.Mod 'K.RoundZero (N 4) (N 4) ~ P 0)
-_test_Mod_RoundZero_N4_N4 =  Dict
-_test_Div_RoundZero_N4_P1 :: Dict (K.Div 'K.RoundZero (N 4) (P 1) ~ N 4)
-_test_Div_RoundZero_N4_P1 =  Dict
-_test_Mod_RoundZero_N4_P1 :: Dict (K.Mod 'K.RoundZero (N 4) (P 1) ~ P 0)
-_test_Mod_RoundZero_N4_P1 =  Dict
-_test_Div_RoundZero_N4_P2 :: Dict (K.Div 'K.RoundZero (N 4) (P 2) ~ N 2)
-_test_Div_RoundZero_N4_P2 =  Dict
-_test_Mod_RoundZero_N4_P2 :: Dict (K.Mod 'K.RoundZero (N 4) (P 2) ~ P 0)
-_test_Mod_RoundZero_N4_P2 =  Dict
-_test_Div_RoundZero_N4_P3 :: Dict (K.Div 'K.RoundZero (N 4) (P 3) ~ N 1)
-_test_Div_RoundZero_N4_P3 =  Dict
-_test_Mod_RoundZero_N4_P3 :: Dict (K.Mod 'K.RoundZero (N 4) (P 3) ~ N 1)
-_test_Mod_RoundZero_N4_P3 =  Dict
-_test_Div_RoundZero_N4_P4 :: Dict (K.Div 'K.RoundZero (N 4) (P 4) ~ N 1)
-_test_Div_RoundZero_N4_P4 =  Dict
-_test_Mod_RoundZero_N4_P4 :: Dict (K.Mod 'K.RoundZero (N 4) (P 4) ~ P 0)
-_test_Mod_RoundZero_N4_P4 =  Dict
-_test_Div_RoundZero_P0_N1 :: Dict (K.Div 'K.RoundZero (P 0) (N 1) ~ P 0)
-_test_Div_RoundZero_P0_N1 =  Dict
-_test_Mod_RoundZero_P0_N1 :: Dict (K.Mod 'K.RoundZero (P 0) (N 1) ~ P 0)
-_test_Mod_RoundZero_P0_N1 =  Dict
-_test_Div_RoundZero_P0_N2 :: Dict (K.Div 'K.RoundZero (P 0) (N 2) ~ P 0)
-_test_Div_RoundZero_P0_N2 =  Dict
-_test_Mod_RoundZero_P0_N2 :: Dict (K.Mod 'K.RoundZero (P 0) (N 2) ~ P 0)
-_test_Mod_RoundZero_P0_N2 =  Dict
-_test_Div_RoundZero_P0_N3 :: Dict (K.Div 'K.RoundZero (P 0) (N 3) ~ P 0)
-_test_Div_RoundZero_P0_N3 =  Dict
-_test_Mod_RoundZero_P0_N3 :: Dict (K.Mod 'K.RoundZero (P 0) (N 3) ~ P 0)
-_test_Mod_RoundZero_P0_N3 =  Dict
-_test_Div_RoundZero_P0_N4 :: Dict (K.Div 'K.RoundZero (P 0) (N 4) ~ P 0)
-_test_Div_RoundZero_P0_N4 =  Dict
-_test_Mod_RoundZero_P0_N4 :: Dict (K.Mod 'K.RoundZero (P 0) (N 4) ~ P 0)
-_test_Mod_RoundZero_P0_N4 =  Dict
-_test_Div_RoundZero_P0_P1 :: Dict (K.Div 'K.RoundZero (P 0) (P 1) ~ P 0)
-_test_Div_RoundZero_P0_P1 =  Dict
-_test_Mod_RoundZero_P0_P1 :: Dict (K.Mod 'K.RoundZero (P 0) (P 1) ~ P 0)
-_test_Mod_RoundZero_P0_P1 =  Dict
-_test_Div_RoundZero_P0_P2 :: Dict (K.Div 'K.RoundZero (P 0) (P 2) ~ P 0)
-_test_Div_RoundZero_P0_P2 =  Dict
-_test_Mod_RoundZero_P0_P2 :: Dict (K.Mod 'K.RoundZero (P 0) (P 2) ~ P 0)
-_test_Mod_RoundZero_P0_P2 =  Dict
-_test_Div_RoundZero_P0_P3 :: Dict (K.Div 'K.RoundZero (P 0) (P 3) ~ P 0)
-_test_Div_RoundZero_P0_P3 =  Dict
-_test_Mod_RoundZero_P0_P3 :: Dict (K.Mod 'K.RoundZero (P 0) (P 3) ~ P 0)
-_test_Mod_RoundZero_P0_P3 =  Dict
-_test_Div_RoundZero_P0_P4 :: Dict (K.Div 'K.RoundZero (P 0) (P 4) ~ P 0)
-_test_Div_RoundZero_P0_P4 =  Dict
-_test_Mod_RoundZero_P0_P4 :: Dict (K.Mod 'K.RoundZero (P 0) (P 4) ~ P 0)
-_test_Mod_RoundZero_P0_P4 =  Dict
-_test_Div_RoundZero_P1_N1 :: Dict (K.Div 'K.RoundZero (P 1) (N 1) ~ N 1)
-_test_Div_RoundZero_P1_N1 =  Dict
-_test_Mod_RoundZero_P1_N1 :: Dict (K.Mod 'K.RoundZero (P 1) (N 1) ~ P 0)
-_test_Mod_RoundZero_P1_N1 =  Dict
-_test_Div_RoundZero_P1_N2 :: Dict (K.Div 'K.RoundZero (P 1) (N 2) ~ P 0)
-_test_Div_RoundZero_P1_N2 =  Dict
-_test_Mod_RoundZero_P1_N2 :: Dict (K.Mod 'K.RoundZero (P 1) (N 2) ~ P 1)
-_test_Mod_RoundZero_P1_N2 =  Dict
-_test_Div_RoundZero_P1_N3 :: Dict (K.Div 'K.RoundZero (P 1) (N 3) ~ P 0)
-_test_Div_RoundZero_P1_N3 =  Dict
-_test_Mod_RoundZero_P1_N3 :: Dict (K.Mod 'K.RoundZero (P 1) (N 3) ~ P 1)
-_test_Mod_RoundZero_P1_N3 =  Dict
-_test_Div_RoundZero_P1_N4 :: Dict (K.Div 'K.RoundZero (P 1) (N 4) ~ P 0)
-_test_Div_RoundZero_P1_N4 =  Dict
-_test_Mod_RoundZero_P1_N4 :: Dict (K.Mod 'K.RoundZero (P 1) (N 4) ~ P 1)
-_test_Mod_RoundZero_P1_N4 =  Dict
-_test_Div_RoundZero_P1_P1 :: Dict (K.Div 'K.RoundZero (P 1) (P 1) ~ P 1)
-_test_Div_RoundZero_P1_P1 =  Dict
-_test_Mod_RoundZero_P1_P1 :: Dict (K.Mod 'K.RoundZero (P 1) (P 1) ~ P 0)
-_test_Mod_RoundZero_P1_P1 =  Dict
-_test_Div_RoundZero_P1_P2 :: Dict (K.Div 'K.RoundZero (P 1) (P 2) ~ P 0)
-_test_Div_RoundZero_P1_P2 =  Dict
-_test_Mod_RoundZero_P1_P2 :: Dict (K.Mod 'K.RoundZero (P 1) (P 2) ~ P 1)
-_test_Mod_RoundZero_P1_P2 =  Dict
-_test_Div_RoundZero_P1_P3 :: Dict (K.Div 'K.RoundZero (P 1) (P 3) ~ P 0)
-_test_Div_RoundZero_P1_P3 =  Dict
-_test_Mod_RoundZero_P1_P3 :: Dict (K.Mod 'K.RoundZero (P 1) (P 3) ~ P 1)
-_test_Mod_RoundZero_P1_P3 =  Dict
-_test_Div_RoundZero_P1_P4 :: Dict (K.Div 'K.RoundZero (P 1) (P 4) ~ P 0)
-_test_Div_RoundZero_P1_P4 =  Dict
-_test_Mod_RoundZero_P1_P4 :: Dict (K.Mod 'K.RoundZero (P 1) (P 4) ~ P 1)
-_test_Mod_RoundZero_P1_P4 =  Dict
-_test_Div_RoundZero_P2_N1 :: Dict (K.Div 'K.RoundZero (P 2) (N 1) ~ N 2)
-_test_Div_RoundZero_P2_N1 =  Dict
-_test_Mod_RoundZero_P2_N1 :: Dict (K.Mod 'K.RoundZero (P 2) (N 1) ~ P 0)
-_test_Mod_RoundZero_P2_N1 =  Dict
-_test_Div_RoundZero_P2_N2 :: Dict (K.Div 'K.RoundZero (P 2) (N 2) ~ N 1)
-_test_Div_RoundZero_P2_N2 =  Dict
-_test_Mod_RoundZero_P2_N2 :: Dict (K.Mod 'K.RoundZero (P 2) (N 2) ~ P 0)
-_test_Mod_RoundZero_P2_N2 =  Dict
-_test_Div_RoundZero_P2_N3 :: Dict (K.Div 'K.RoundZero (P 2) (N 3) ~ P 0)
-_test_Div_RoundZero_P2_N3 =  Dict
-_test_Mod_RoundZero_P2_N3 :: Dict (K.Mod 'K.RoundZero (P 2) (N 3) ~ P 2)
-_test_Mod_RoundZero_P2_N3 =  Dict
-_test_Div_RoundZero_P2_N4 :: Dict (K.Div 'K.RoundZero (P 2) (N 4) ~ P 0)
-_test_Div_RoundZero_P2_N4 =  Dict
-_test_Mod_RoundZero_P2_N4 :: Dict (K.Mod 'K.RoundZero (P 2) (N 4) ~ P 2)
-_test_Mod_RoundZero_P2_N4 =  Dict
-_test_Div_RoundZero_P2_P1 :: Dict (K.Div 'K.RoundZero (P 2) (P 1) ~ P 2)
-_test_Div_RoundZero_P2_P1 =  Dict
-_test_Mod_RoundZero_P2_P1 :: Dict (K.Mod 'K.RoundZero (P 2) (P 1) ~ P 0)
-_test_Mod_RoundZero_P2_P1 =  Dict
-_test_Div_RoundZero_P2_P2 :: Dict (K.Div 'K.RoundZero (P 2) (P 2) ~ P 1)
-_test_Div_RoundZero_P2_P2 =  Dict
-_test_Mod_RoundZero_P2_P2 :: Dict (K.Mod 'K.RoundZero (P 2) (P 2) ~ P 0)
-_test_Mod_RoundZero_P2_P2 =  Dict
-_test_Div_RoundZero_P2_P3 :: Dict (K.Div 'K.RoundZero (P 2) (P 3) ~ P 0)
-_test_Div_RoundZero_P2_P3 =  Dict
-_test_Mod_RoundZero_P2_P3 :: Dict (K.Mod 'K.RoundZero (P 2) (P 3) ~ P 2)
-_test_Mod_RoundZero_P2_P3 =  Dict
-_test_Div_RoundZero_P2_P4 :: Dict (K.Div 'K.RoundZero (P 2) (P 4) ~ P 0)
-_test_Div_RoundZero_P2_P4 =  Dict
-_test_Mod_RoundZero_P2_P4 :: Dict (K.Mod 'K.RoundZero (P 2) (P 4) ~ P 2)
-_test_Mod_RoundZero_P2_P4 =  Dict
-_test_Div_RoundZero_P3_N1 :: Dict (K.Div 'K.RoundZero (P 3) (N 1) ~ N 3)
-_test_Div_RoundZero_P3_N1 =  Dict
-_test_Mod_RoundZero_P3_N1 :: Dict (K.Mod 'K.RoundZero (P 3) (N 1) ~ P 0)
-_test_Mod_RoundZero_P3_N1 =  Dict
-_test_Div_RoundZero_P3_N2 :: Dict (K.Div 'K.RoundZero (P 3) (N 2) ~ N 1)
-_test_Div_RoundZero_P3_N2 =  Dict
-_test_Mod_RoundZero_P3_N2 :: Dict (K.Mod 'K.RoundZero (P 3) (N 2) ~ P 1)
-_test_Mod_RoundZero_P3_N2 =  Dict
-_test_Div_RoundZero_P3_N3 :: Dict (K.Div 'K.RoundZero (P 3) (N 3) ~ N 1)
-_test_Div_RoundZero_P3_N3 =  Dict
-_test_Mod_RoundZero_P3_N3 :: Dict (K.Mod 'K.RoundZero (P 3) (N 3) ~ P 0)
-_test_Mod_RoundZero_P3_N3 =  Dict
-_test_Div_RoundZero_P3_N4 :: Dict (K.Div 'K.RoundZero (P 3) (N 4) ~ P 0)
-_test_Div_RoundZero_P3_N4 =  Dict
-_test_Mod_RoundZero_P3_N4 :: Dict (K.Mod 'K.RoundZero (P 3) (N 4) ~ P 3)
-_test_Mod_RoundZero_P3_N4 =  Dict
-_test_Div_RoundZero_P3_P1 :: Dict (K.Div 'K.RoundZero (P 3) (P 1) ~ P 3)
-_test_Div_RoundZero_P3_P1 =  Dict
-_test_Mod_RoundZero_P3_P1 :: Dict (K.Mod 'K.RoundZero (P 3) (P 1) ~ P 0)
-_test_Mod_RoundZero_P3_P1 =  Dict
-_test_Div_RoundZero_P3_P2 :: Dict (K.Div 'K.RoundZero (P 3) (P 2) ~ P 1)
-_test_Div_RoundZero_P3_P2 =  Dict
-_test_Mod_RoundZero_P3_P2 :: Dict (K.Mod 'K.RoundZero (P 3) (P 2) ~ P 1)
-_test_Mod_RoundZero_P3_P2 =  Dict
-_test_Div_RoundZero_P3_P3 :: Dict (K.Div 'K.RoundZero (P 3) (P 3) ~ P 1)
-_test_Div_RoundZero_P3_P3 =  Dict
-_test_Mod_RoundZero_P3_P3 :: Dict (K.Mod 'K.RoundZero (P 3) (P 3) ~ P 0)
-_test_Mod_RoundZero_P3_P3 =  Dict
-_test_Div_RoundZero_P3_P4 :: Dict (K.Div 'K.RoundZero (P 3) (P 4) ~ P 0)
-_test_Div_RoundZero_P3_P4 =  Dict
-_test_Mod_RoundZero_P3_P4 :: Dict (K.Mod 'K.RoundZero (P 3) (P 4) ~ P 3)
-_test_Mod_RoundZero_P3_P4 =  Dict
-_test_Div_RoundZero_P4_N1 :: Dict (K.Div 'K.RoundZero (P 4) (N 1) ~ N 4)
-_test_Div_RoundZero_P4_N1 =  Dict
-_test_Mod_RoundZero_P4_N1 :: Dict (K.Mod 'K.RoundZero (P 4) (N 1) ~ P 0)
-_test_Mod_RoundZero_P4_N1 =  Dict
-_test_Div_RoundZero_P4_N2 :: Dict (K.Div 'K.RoundZero (P 4) (N 2) ~ N 2)
-_test_Div_RoundZero_P4_N2 =  Dict
-_test_Mod_RoundZero_P4_N2 :: Dict (K.Mod 'K.RoundZero (P 4) (N 2) ~ P 0)
-_test_Mod_RoundZero_P4_N2 =  Dict
-_test_Div_RoundZero_P4_N3 :: Dict (K.Div 'K.RoundZero (P 4) (N 3) ~ N 1)
-_test_Div_RoundZero_P4_N3 =  Dict
-_test_Mod_RoundZero_P4_N3 :: Dict (K.Mod 'K.RoundZero (P 4) (N 3) ~ P 1)
-_test_Mod_RoundZero_P4_N3 =  Dict
-_test_Div_RoundZero_P4_N4 :: Dict (K.Div 'K.RoundZero (P 4) (N 4) ~ N 1)
-_test_Div_RoundZero_P4_N4 =  Dict
-_test_Mod_RoundZero_P4_N4 :: Dict (K.Mod 'K.RoundZero (P 4) (N 4) ~ P 0)
-_test_Mod_RoundZero_P4_N4 =  Dict
-_test_Div_RoundZero_P4_P1 :: Dict (K.Div 'K.RoundZero (P 4) (P 1) ~ P 4)
-_test_Div_RoundZero_P4_P1 =  Dict
-_test_Mod_RoundZero_P4_P1 :: Dict (K.Mod 'K.RoundZero (P 4) (P 1) ~ P 0)
-_test_Mod_RoundZero_P4_P1 =  Dict
-_test_Div_RoundZero_P4_P2 :: Dict (K.Div 'K.RoundZero (P 4) (P 2) ~ P 2)
-_test_Div_RoundZero_P4_P2 =  Dict
-_test_Mod_RoundZero_P4_P2 :: Dict (K.Mod 'K.RoundZero (P 4) (P 2) ~ P 0)
-_test_Mod_RoundZero_P4_P2 =  Dict
-_test_Div_RoundZero_P4_P3 :: Dict (K.Div 'K.RoundZero (P 4) (P 3) ~ P 1)
-_test_Div_RoundZero_P4_P3 =  Dict
-_test_Mod_RoundZero_P4_P3 :: Dict (K.Mod 'K.RoundZero (P 4) (P 3) ~ P 1)
-_test_Mod_RoundZero_P4_P3 =  Dict
-_test_Div_RoundZero_P4_P4 :: Dict (K.Div 'K.RoundZero (P 4) (P 4) ~ P 1)
-_test_Div_RoundZero_P4_P4 =  Dict
-_test_Mod_RoundZero_P4_P4 :: Dict (K.Mod 'K.RoundZero (P 4) (P 4) ~ P 0)
-_test_Mod_RoundZero_P4_P4 =  Dict
+  ] <> testsDivRem
+
+testsDivRem :: [IO Bool]
+testsDivRem = do
+  b :: P.Integer <- [-5 .. 5]
+  guard (b P./= 0)
+  a :: P.Integer <- [-5 .. 5]
+  r :: K.Round <- [minBound .. maxBound]
+  let tname :: String -> ShowS
+      tname t = showString t . showChar ' ' . shows r . showChar ' '
+              . shows a . showChar ' ' . shows b
+  [ assert (tname "divRem" "") $ case K.divRem r a b of
+                                   (q, m) -> m == a - b * q
+    , assert (tname "div" "") $ fst (K.divRem r a b) == K.div r a b
+    , assert (tname "rem" "") $ snd (K.divRem r a b) == K.rem r a b
+    ]
+
+
+--------------------------------------------------------------------------------
+
+_divRemTestCode :: String
+_divRemTestCode = unlines $ List.sort $ do
+  b <- [-4 .. 4]
+  guard (b P./= 0)
+  a <- [-4 .. 4]
+  r <- [minBound..maxBound]
+  let (q, m) = K.divRem r a b
+      sname :: String -> ShowS
+      sname t = showString "_test_"
+              . showString t
+              . showChar '_'
+              . showsPrec 0 r
+              . showChar '_'
+              . showChar (if a < 0 then 'N' else 'P')
+              . shows (abs a)
+              . showChar '_'
+              . showChar (if b < 0 then 'N' else 'P')
+              . shows (abs b)
+      sDiv :: ShowS
+      sDiv = sname "Div"
+           . showString " :: Dict (K.Div 'K."
+           . shows r
+           . showChar ' '
+           . K.showsPrecTypeLit 11 (K.fromPrelude a)
+           . showChar ' '
+           . K.showsPrecTypeLit 11 (K.fromPrelude b)
+           . showString " ~ "
+           . K.showsPrecTypeLit 0 (K.fromPrelude q)
+           . showString ")\n"
+           . sname "Div"
+           . showString " =  Dict"
+      sRem :: ShowS
+      sRem = sname "Rem"
+           . showString " :: Dict (K.Rem 'K."
+           . shows r
+           . showChar ' '
+           . K.showsPrecTypeLit 11 (K.fromPrelude a)
+           . showChar ' '
+           . K.showsPrecTypeLit 11 (K.fromPrelude b)
+           . showString " ~ "
+           . K.showsPrecTypeLit 0 (K.fromPrelude m)
+           . showString ")\n"
+           . sname "Rem"
+           . showString " =  Dict"
+      ss :: ShowS
+      ss = sDiv . showChar '\n' . sRem
+  pure (ss "")
+
+
+-- The following tests are generated by `_divRemTestCode` in this remule.
+-- Copy and paste by hand.
+_test_Div_RoundAway_N1_N1 :: Dict (K.Div 'K.RoundAway (N 1) (N 1) ~ P 1)
+_test_Div_RoundAway_N1_N1 =  Dict
+_test_Rem_RoundAway_N1_N1 :: Dict (K.Rem 'K.RoundAway (N 1) (N 1) ~ P 0)
+_test_Rem_RoundAway_N1_N1 =  Dict
+_test_Div_RoundAway_N1_N2 :: Dict (K.Div 'K.RoundAway (N 1) (N 2) ~ P 1)
+_test_Div_RoundAway_N1_N2 =  Dict
+_test_Rem_RoundAway_N1_N2 :: Dict (K.Rem 'K.RoundAway (N 1) (N 2) ~ P 1)
+_test_Rem_RoundAway_N1_N2 =  Dict
+_test_Div_RoundAway_N1_N3 :: Dict (K.Div 'K.RoundAway (N 1) (N 3) ~ P 1)
+_test_Div_RoundAway_N1_N3 =  Dict
+_test_Rem_RoundAway_N1_N3 :: Dict (K.Rem 'K.RoundAway (N 1) (N 3) ~ P 2)
+_test_Rem_RoundAway_N1_N3 =  Dict
+_test_Div_RoundAway_N1_N4 :: Dict (K.Div 'K.RoundAway (N 1) (N 4) ~ P 1)
+_test_Div_RoundAway_N1_N4 =  Dict
+_test_Rem_RoundAway_N1_N4 :: Dict (K.Rem 'K.RoundAway (N 1) (N 4) ~ P 3)
+_test_Rem_RoundAway_N1_N4 =  Dict
+_test_Div_RoundAway_N1_P1 :: Dict (K.Div 'K.RoundAway (N 1) (P 1) ~ N 1)
+_test_Div_RoundAway_N1_P1 =  Dict
+_test_Rem_RoundAway_N1_P1 :: Dict (K.Rem 'K.RoundAway (N 1) (P 1) ~ P 0)
+_test_Rem_RoundAway_N1_P1 =  Dict
+_test_Div_RoundAway_N1_P2 :: Dict (K.Div 'K.RoundAway (N 1) (P 2) ~ N 1)
+_test_Div_RoundAway_N1_P2 =  Dict
+_test_Rem_RoundAway_N1_P2 :: Dict (K.Rem 'K.RoundAway (N 1) (P 2) ~ P 1)
+_test_Rem_RoundAway_N1_P2 =  Dict
+_test_Div_RoundAway_N1_P3 :: Dict (K.Div 'K.RoundAway (N 1) (P 3) ~ N 1)
+_test_Div_RoundAway_N1_P3 =  Dict
+_test_Rem_RoundAway_N1_P3 :: Dict (K.Rem 'K.RoundAway (N 1) (P 3) ~ P 2)
+_test_Rem_RoundAway_N1_P3 =  Dict
+_test_Div_RoundAway_N1_P4 :: Dict (K.Div 'K.RoundAway (N 1) (P 4) ~ N 1)
+_test_Div_RoundAway_N1_P4 =  Dict
+_test_Rem_RoundAway_N1_P4 :: Dict (K.Rem 'K.RoundAway (N 1) (P 4) ~ P 3)
+_test_Rem_RoundAway_N1_P4 =  Dict
+_test_Div_RoundAway_N2_N1 :: Dict (K.Div 'K.RoundAway (N 2) (N 1) ~ P 2)
+_test_Div_RoundAway_N2_N1 =  Dict
+_test_Rem_RoundAway_N2_N1 :: Dict (K.Rem 'K.RoundAway (N 2) (N 1) ~ P 0)
+_test_Rem_RoundAway_N2_N1 =  Dict
+_test_Div_RoundAway_N2_N2 :: Dict (K.Div 'K.RoundAway (N 2) (N 2) ~ P 1)
+_test_Div_RoundAway_N2_N2 =  Dict
+_test_Rem_RoundAway_N2_N2 :: Dict (K.Rem 'K.RoundAway (N 2) (N 2) ~ P 0)
+_test_Rem_RoundAway_N2_N2 =  Dict
+_test_Div_RoundAway_N2_N3 :: Dict (K.Div 'K.RoundAway (N 2) (N 3) ~ P 1)
+_test_Div_RoundAway_N2_N3 =  Dict
+_test_Rem_RoundAway_N2_N3 :: Dict (K.Rem 'K.RoundAway (N 2) (N 3) ~ P 1)
+_test_Rem_RoundAway_N2_N3 =  Dict
+_test_Div_RoundAway_N2_N4 :: Dict (K.Div 'K.RoundAway (N 2) (N 4) ~ P 1)
+_test_Div_RoundAway_N2_N4 =  Dict
+_test_Rem_RoundAway_N2_N4 :: Dict (K.Rem 'K.RoundAway (N 2) (N 4) ~ P 2)
+_test_Rem_RoundAway_N2_N4 =  Dict
+_test_Div_RoundAway_N2_P1 :: Dict (K.Div 'K.RoundAway (N 2) (P 1) ~ N 2)
+_test_Div_RoundAway_N2_P1 =  Dict
+_test_Rem_RoundAway_N2_P1 :: Dict (K.Rem 'K.RoundAway (N 2) (P 1) ~ P 0)
+_test_Rem_RoundAway_N2_P1 =  Dict
+_test_Div_RoundAway_N2_P2 :: Dict (K.Div 'K.RoundAway (N 2) (P 2) ~ N 1)
+_test_Div_RoundAway_N2_P2 =  Dict
+_test_Rem_RoundAway_N2_P2 :: Dict (K.Rem 'K.RoundAway (N 2) (P 2) ~ P 0)
+_test_Rem_RoundAway_N2_P2 =  Dict
+_test_Div_RoundAway_N2_P3 :: Dict (K.Div 'K.RoundAway (N 2) (P 3) ~ N 1)
+_test_Div_RoundAway_N2_P3 =  Dict
+_test_Rem_RoundAway_N2_P3 :: Dict (K.Rem 'K.RoundAway (N 2) (P 3) ~ P 1)
+_test_Rem_RoundAway_N2_P3 =  Dict
+_test_Div_RoundAway_N2_P4 :: Dict (K.Div 'K.RoundAway (N 2) (P 4) ~ N 1)
+_test_Div_RoundAway_N2_P4 =  Dict
+_test_Rem_RoundAway_N2_P4 :: Dict (K.Rem 'K.RoundAway (N 2) (P 4) ~ P 2)
+_test_Rem_RoundAway_N2_P4 =  Dict
+_test_Div_RoundAway_N3_N1 :: Dict (K.Div 'K.RoundAway (N 3) (N 1) ~ P 3)
+_test_Div_RoundAway_N3_N1 =  Dict
+_test_Rem_RoundAway_N3_N1 :: Dict (K.Rem 'K.RoundAway (N 3) (N 1) ~ P 0)
+_test_Rem_RoundAway_N3_N1 =  Dict
+_test_Div_RoundAway_N3_N2 :: Dict (K.Div 'K.RoundAway (N 3) (N 2) ~ P 2)
+_test_Div_RoundAway_N3_N2 =  Dict
+_test_Rem_RoundAway_N3_N2 :: Dict (K.Rem 'K.RoundAway (N 3) (N 2) ~ P 1)
+_test_Rem_RoundAway_N3_N2 =  Dict
+_test_Div_RoundAway_N3_N3 :: Dict (K.Div 'K.RoundAway (N 3) (N 3) ~ P 1)
+_test_Div_RoundAway_N3_N3 =  Dict
+_test_Rem_RoundAway_N3_N3 :: Dict (K.Rem 'K.RoundAway (N 3) (N 3) ~ P 0)
+_test_Rem_RoundAway_N3_N3 =  Dict
+_test_Div_RoundAway_N3_N4 :: Dict (K.Div 'K.RoundAway (N 3) (N 4) ~ P 1)
+_test_Div_RoundAway_N3_N4 =  Dict
+_test_Rem_RoundAway_N3_N4 :: Dict (K.Rem 'K.RoundAway (N 3) (N 4) ~ P 1)
+_test_Rem_RoundAway_N3_N4 =  Dict
+_test_Div_RoundAway_N3_P1 :: Dict (K.Div 'K.RoundAway (N 3) (P 1) ~ N 3)
+_test_Div_RoundAway_N3_P1 =  Dict
+_test_Rem_RoundAway_N3_P1 :: Dict (K.Rem 'K.RoundAway (N 3) (P 1) ~ P 0)
+_test_Rem_RoundAway_N3_P1 =  Dict
+_test_Div_RoundAway_N3_P2 :: Dict (K.Div 'K.RoundAway (N 3) (P 2) ~ N 2)
+_test_Div_RoundAway_N3_P2 =  Dict
+_test_Rem_RoundAway_N3_P2 :: Dict (K.Rem 'K.RoundAway (N 3) (P 2) ~ P 1)
+_test_Rem_RoundAway_N3_P2 =  Dict
+_test_Div_RoundAway_N3_P3 :: Dict (K.Div 'K.RoundAway (N 3) (P 3) ~ N 1)
+_test_Div_RoundAway_N3_P3 =  Dict
+_test_Rem_RoundAway_N3_P3 :: Dict (K.Rem 'K.RoundAway (N 3) (P 3) ~ P 0)
+_test_Rem_RoundAway_N3_P3 =  Dict
+_test_Div_RoundAway_N3_P4 :: Dict (K.Div 'K.RoundAway (N 3) (P 4) ~ N 1)
+_test_Div_RoundAway_N3_P4 =  Dict
+_test_Rem_RoundAway_N3_P4 :: Dict (K.Rem 'K.RoundAway (N 3) (P 4) ~ P 1)
+_test_Rem_RoundAway_N3_P4 =  Dict
+_test_Div_RoundAway_N4_N1 :: Dict (K.Div 'K.RoundAway (N 4) (N 1) ~ P 4)
+_test_Div_RoundAway_N4_N1 =  Dict
+_test_Rem_RoundAway_N4_N1 :: Dict (K.Rem 'K.RoundAway (N 4) (N 1) ~ P 0)
+_test_Rem_RoundAway_N4_N1 =  Dict
+_test_Div_RoundAway_N4_N2 :: Dict (K.Div 'K.RoundAway (N 4) (N 2) ~ P 2)
+_test_Div_RoundAway_N4_N2 =  Dict
+_test_Rem_RoundAway_N4_N2 :: Dict (K.Rem 'K.RoundAway (N 4) (N 2) ~ P 0)
+_test_Rem_RoundAway_N4_N2 =  Dict
+_test_Div_RoundAway_N4_N3 :: Dict (K.Div 'K.RoundAway (N 4) (N 3) ~ P 2)
+_test_Div_RoundAway_N4_N3 =  Dict
+_test_Rem_RoundAway_N4_N3 :: Dict (K.Rem 'K.RoundAway (N 4) (N 3) ~ P 2)
+_test_Rem_RoundAway_N4_N3 =  Dict
+_test_Div_RoundAway_N4_N4 :: Dict (K.Div 'K.RoundAway (N 4) (N 4) ~ P 1)
+_test_Div_RoundAway_N4_N4 =  Dict
+_test_Rem_RoundAway_N4_N4 :: Dict (K.Rem 'K.RoundAway (N 4) (N 4) ~ P 0)
+_test_Rem_RoundAway_N4_N4 =  Dict
+_test_Div_RoundAway_N4_P1 :: Dict (K.Div 'K.RoundAway (N 4) (P 1) ~ N 4)
+_test_Div_RoundAway_N4_P1 =  Dict
+_test_Rem_RoundAway_N4_P1 :: Dict (K.Rem 'K.RoundAway (N 4) (P 1) ~ P 0)
+_test_Rem_RoundAway_N4_P1 =  Dict
+_test_Div_RoundAway_N4_P2 :: Dict (K.Div 'K.RoundAway (N 4) (P 2) ~ N 2)
+_test_Div_RoundAway_N4_P2 =  Dict
+_test_Rem_RoundAway_N4_P2 :: Dict (K.Rem 'K.RoundAway (N 4) (P 2) ~ P 0)
+_test_Rem_RoundAway_N4_P2 =  Dict
+_test_Div_RoundAway_N4_P3 :: Dict (K.Div 'K.RoundAway (N 4) (P 3) ~ N 2)
+_test_Div_RoundAway_N4_P3 =  Dict
+_test_Rem_RoundAway_N4_P3 :: Dict (K.Rem 'K.RoundAway (N 4) (P 3) ~ P 2)
+_test_Rem_RoundAway_N4_P3 =  Dict
+_test_Div_RoundAway_N4_P4 :: Dict (K.Div 'K.RoundAway (N 4) (P 4) ~ N 1)
+_test_Div_RoundAway_N4_P4 =  Dict
+_test_Rem_RoundAway_N4_P4 :: Dict (K.Rem 'K.RoundAway (N 4) (P 4) ~ P 0)
+_test_Rem_RoundAway_N4_P4 =  Dict
+_test_Div_RoundAway_P0_N1 :: Dict (K.Div 'K.RoundAway (P 0) (N 1) ~ P 0)
+_test_Div_RoundAway_P0_N1 =  Dict
+_test_Rem_RoundAway_P0_N1 :: Dict (K.Rem 'K.RoundAway (P 0) (N 1) ~ P 0)
+_test_Rem_RoundAway_P0_N1 =  Dict
+_test_Div_RoundAway_P0_N2 :: Dict (K.Div 'K.RoundAway (P 0) (N 2) ~ P 0)
+_test_Div_RoundAway_P0_N2 =  Dict
+_test_Rem_RoundAway_P0_N2 :: Dict (K.Rem 'K.RoundAway (P 0) (N 2) ~ P 0)
+_test_Rem_RoundAway_P0_N2 =  Dict
+_test_Div_RoundAway_P0_N3 :: Dict (K.Div 'K.RoundAway (P 0) (N 3) ~ P 0)
+_test_Div_RoundAway_P0_N3 =  Dict
+_test_Rem_RoundAway_P0_N3 :: Dict (K.Rem 'K.RoundAway (P 0) (N 3) ~ P 0)
+_test_Rem_RoundAway_P0_N3 =  Dict
+_test_Div_RoundAway_P0_N4 :: Dict (K.Div 'K.RoundAway (P 0) (N 4) ~ P 0)
+_test_Div_RoundAway_P0_N4 =  Dict
+_test_Rem_RoundAway_P0_N4 :: Dict (K.Rem 'K.RoundAway (P 0) (N 4) ~ P 0)
+_test_Rem_RoundAway_P0_N4 =  Dict
+_test_Div_RoundAway_P0_P1 :: Dict (K.Div 'K.RoundAway (P 0) (P 1) ~ P 0)
+_test_Div_RoundAway_P0_P1 =  Dict
+_test_Rem_RoundAway_P0_P1 :: Dict (K.Rem 'K.RoundAway (P 0) (P 1) ~ P 0)
+_test_Rem_RoundAway_P0_P1 =  Dict
+_test_Div_RoundAway_P0_P2 :: Dict (K.Div 'K.RoundAway (P 0) (P 2) ~ P 0)
+_test_Div_RoundAway_P0_P2 =  Dict
+_test_Rem_RoundAway_P0_P2 :: Dict (K.Rem 'K.RoundAway (P 0) (P 2) ~ P 0)
+_test_Rem_RoundAway_P0_P2 =  Dict
+_test_Div_RoundAway_P0_P3 :: Dict (K.Div 'K.RoundAway (P 0) (P 3) ~ P 0)
+_test_Div_RoundAway_P0_P3 =  Dict
+_test_Rem_RoundAway_P0_P3 :: Dict (K.Rem 'K.RoundAway (P 0) (P 3) ~ P 0)
+_test_Rem_RoundAway_P0_P3 =  Dict
+_test_Div_RoundAway_P0_P4 :: Dict (K.Div 'K.RoundAway (P 0) (P 4) ~ P 0)
+_test_Div_RoundAway_P0_P4 =  Dict
+_test_Rem_RoundAway_P0_P4 :: Dict (K.Rem 'K.RoundAway (P 0) (P 4) ~ P 0)
+_test_Rem_RoundAway_P0_P4 =  Dict
+_test_Div_RoundAway_P1_N1 :: Dict (K.Div 'K.RoundAway (P 1) (N 1) ~ N 1)
+_test_Div_RoundAway_P1_N1 =  Dict
+_test_Rem_RoundAway_P1_N1 :: Dict (K.Rem 'K.RoundAway (P 1) (N 1) ~ P 0)
+_test_Rem_RoundAway_P1_N1 =  Dict
+_test_Div_RoundAway_P1_N2 :: Dict (K.Div 'K.RoundAway (P 1) (N 2) ~ N 1)
+_test_Div_RoundAway_P1_N2 =  Dict
+_test_Rem_RoundAway_P1_N2 :: Dict (K.Rem 'K.RoundAway (P 1) (N 2) ~ N 1)
+_test_Rem_RoundAway_P1_N2 =  Dict
+_test_Div_RoundAway_P1_N3 :: Dict (K.Div 'K.RoundAway (P 1) (N 3) ~ N 1)
+_test_Div_RoundAway_P1_N3 =  Dict
+_test_Rem_RoundAway_P1_N3 :: Dict (K.Rem 'K.RoundAway (P 1) (N 3) ~ N 2)
+_test_Rem_RoundAway_P1_N3 =  Dict
+_test_Div_RoundAway_P1_N4 :: Dict (K.Div 'K.RoundAway (P 1) (N 4) ~ N 1)
+_test_Div_RoundAway_P1_N4 =  Dict
+_test_Rem_RoundAway_P1_N4 :: Dict (K.Rem 'K.RoundAway (P 1) (N 4) ~ N 3)
+_test_Rem_RoundAway_P1_N4 =  Dict
+_test_Div_RoundAway_P1_P1 :: Dict (K.Div 'K.RoundAway (P 1) (P 1) ~ P 1)
+_test_Div_RoundAway_P1_P1 =  Dict
+_test_Rem_RoundAway_P1_P1 :: Dict (K.Rem 'K.RoundAway (P 1) (P 1) ~ P 0)
+_test_Rem_RoundAway_P1_P1 =  Dict
+_test_Div_RoundAway_P1_P2 :: Dict (K.Div 'K.RoundAway (P 1) (P 2) ~ P 1)
+_test_Div_RoundAway_P1_P2 =  Dict
+_test_Rem_RoundAway_P1_P2 :: Dict (K.Rem 'K.RoundAway (P 1) (P 2) ~ N 1)
+_test_Rem_RoundAway_P1_P2 =  Dict
+_test_Div_RoundAway_P1_P3 :: Dict (K.Div 'K.RoundAway (P 1) (P 3) ~ P 1)
+_test_Div_RoundAway_P1_P3 =  Dict
+_test_Rem_RoundAway_P1_P3 :: Dict (K.Rem 'K.RoundAway (P 1) (P 3) ~ N 2)
+_test_Rem_RoundAway_P1_P3 =  Dict
+_test_Div_RoundAway_P1_P4 :: Dict (K.Div 'K.RoundAway (P 1) (P 4) ~ P 1)
+_test_Div_RoundAway_P1_P4 =  Dict
+_test_Rem_RoundAway_P1_P4 :: Dict (K.Rem 'K.RoundAway (P 1) (P 4) ~ N 3)
+_test_Rem_RoundAway_P1_P4 =  Dict
+_test_Div_RoundAway_P2_N1 :: Dict (K.Div 'K.RoundAway (P 2) (N 1) ~ N 2)
+_test_Div_RoundAway_P2_N1 =  Dict
+_test_Rem_RoundAway_P2_N1 :: Dict (K.Rem 'K.RoundAway (P 2) (N 1) ~ P 0)
+_test_Rem_RoundAway_P2_N1 =  Dict
+_test_Div_RoundAway_P2_N2 :: Dict (K.Div 'K.RoundAway (P 2) (N 2) ~ N 1)
+_test_Div_RoundAway_P2_N2 =  Dict
+_test_Rem_RoundAway_P2_N2 :: Dict (K.Rem 'K.RoundAway (P 2) (N 2) ~ P 0)
+_test_Rem_RoundAway_P2_N2 =  Dict
+_test_Div_RoundAway_P2_N3 :: Dict (K.Div 'K.RoundAway (P 2) (N 3) ~ N 1)
+_test_Div_RoundAway_P2_N3 =  Dict
+_test_Rem_RoundAway_P2_N3 :: Dict (K.Rem 'K.RoundAway (P 2) (N 3) ~ N 1)
+_test_Rem_RoundAway_P2_N3 =  Dict
+_test_Div_RoundAway_P2_N4 :: Dict (K.Div 'K.RoundAway (P 2) (N 4) ~ N 1)
+_test_Div_RoundAway_P2_N4 =  Dict
+_test_Rem_RoundAway_P2_N4 :: Dict (K.Rem 'K.RoundAway (P 2) (N 4) ~ N 2)
+_test_Rem_RoundAway_P2_N4 =  Dict
+_test_Div_RoundAway_P2_P1 :: Dict (K.Div 'K.RoundAway (P 2) (P 1) ~ P 2)
+_test_Div_RoundAway_P2_P1 =  Dict
+_test_Rem_RoundAway_P2_P1 :: Dict (K.Rem 'K.RoundAway (P 2) (P 1) ~ P 0)
+_test_Rem_RoundAway_P2_P1 =  Dict
+_test_Div_RoundAway_P2_P2 :: Dict (K.Div 'K.RoundAway (P 2) (P 2) ~ P 1)
+_test_Div_RoundAway_P2_P2 =  Dict
+_test_Rem_RoundAway_P2_P2 :: Dict (K.Rem 'K.RoundAway (P 2) (P 2) ~ P 0)
+_test_Rem_RoundAway_P2_P2 =  Dict
+_test_Div_RoundAway_P2_P3 :: Dict (K.Div 'K.RoundAway (P 2) (P 3) ~ P 1)
+_test_Div_RoundAway_P2_P3 =  Dict
+_test_Rem_RoundAway_P2_P3 :: Dict (K.Rem 'K.RoundAway (P 2) (P 3) ~ N 1)
+_test_Rem_RoundAway_P2_P3 =  Dict
+_test_Div_RoundAway_P2_P4 :: Dict (K.Div 'K.RoundAway (P 2) (P 4) ~ P 1)
+_test_Div_RoundAway_P2_P4 =  Dict
+_test_Rem_RoundAway_P2_P4 :: Dict (K.Rem 'K.RoundAway (P 2) (P 4) ~ N 2)
+_test_Rem_RoundAway_P2_P4 =  Dict
+_test_Div_RoundAway_P3_N1 :: Dict (K.Div 'K.RoundAway (P 3) (N 1) ~ N 3)
+_test_Div_RoundAway_P3_N1 =  Dict
+_test_Rem_RoundAway_P3_N1 :: Dict (K.Rem 'K.RoundAway (P 3) (N 1) ~ P 0)
+_test_Rem_RoundAway_P3_N1 =  Dict
+_test_Div_RoundAway_P3_N2 :: Dict (K.Div 'K.RoundAway (P 3) (N 2) ~ N 2)
+_test_Div_RoundAway_P3_N2 =  Dict
+_test_Rem_RoundAway_P3_N2 :: Dict (K.Rem 'K.RoundAway (P 3) (N 2) ~ N 1)
+_test_Rem_RoundAway_P3_N2 =  Dict
+_test_Div_RoundAway_P3_N3 :: Dict (K.Div 'K.RoundAway (P 3) (N 3) ~ N 1)
+_test_Div_RoundAway_P3_N3 =  Dict
+_test_Rem_RoundAway_P3_N3 :: Dict (K.Rem 'K.RoundAway (P 3) (N 3) ~ P 0)
+_test_Rem_RoundAway_P3_N3 =  Dict
+_test_Div_RoundAway_P3_N4 :: Dict (K.Div 'K.RoundAway (P 3) (N 4) ~ N 1)
+_test_Div_RoundAway_P3_N4 =  Dict
+_test_Rem_RoundAway_P3_N4 :: Dict (K.Rem 'K.RoundAway (P 3) (N 4) ~ N 1)
+_test_Rem_RoundAway_P3_N4 =  Dict
+_test_Div_RoundAway_P3_P1 :: Dict (K.Div 'K.RoundAway (P 3) (P 1) ~ P 3)
+_test_Div_RoundAway_P3_P1 =  Dict
+_test_Rem_RoundAway_P3_P1 :: Dict (K.Rem 'K.RoundAway (P 3) (P 1) ~ P 0)
+_test_Rem_RoundAway_P3_P1 =  Dict
+_test_Div_RoundAway_P3_P2 :: Dict (K.Div 'K.RoundAway (P 3) (P 2) ~ P 2)
+_test_Div_RoundAway_P3_P2 =  Dict
+_test_Rem_RoundAway_P3_P2 :: Dict (K.Rem 'K.RoundAway (P 3) (P 2) ~ N 1)
+_test_Rem_RoundAway_P3_P2 =  Dict
+_test_Div_RoundAway_P3_P3 :: Dict (K.Div 'K.RoundAway (P 3) (P 3) ~ P 1)
+_test_Div_RoundAway_P3_P3 =  Dict
+_test_Rem_RoundAway_P3_P3 :: Dict (K.Rem 'K.RoundAway (P 3) (P 3) ~ P 0)
+_test_Rem_RoundAway_P3_P3 =  Dict
+_test_Div_RoundAway_P3_P4 :: Dict (K.Div 'K.RoundAway (P 3) (P 4) ~ P 1)
+_test_Div_RoundAway_P3_P4 =  Dict
+_test_Rem_RoundAway_P3_P4 :: Dict (K.Rem 'K.RoundAway (P 3) (P 4) ~ N 1)
+_test_Rem_RoundAway_P3_P4 =  Dict
+_test_Div_RoundAway_P4_N1 :: Dict (K.Div 'K.RoundAway (P 4) (N 1) ~ N 4)
+_test_Div_RoundAway_P4_N1 =  Dict
+_test_Rem_RoundAway_P4_N1 :: Dict (K.Rem 'K.RoundAway (P 4) (N 1) ~ P 0)
+_test_Rem_RoundAway_P4_N1 =  Dict
+_test_Div_RoundAway_P4_N2 :: Dict (K.Div 'K.RoundAway (P 4) (N 2) ~ N 2)
+_test_Div_RoundAway_P4_N2 =  Dict
+_test_Rem_RoundAway_P4_N2 :: Dict (K.Rem 'K.RoundAway (P 4) (N 2) ~ P 0)
+_test_Rem_RoundAway_P4_N2 =  Dict
+_test_Div_RoundAway_P4_N3 :: Dict (K.Div 'K.RoundAway (P 4) (N 3) ~ N 2)
+_test_Div_RoundAway_P4_N3 =  Dict
+_test_Rem_RoundAway_P4_N3 :: Dict (K.Rem 'K.RoundAway (P 4) (N 3) ~ N 2)
+_test_Rem_RoundAway_P4_N3 =  Dict
+_test_Div_RoundAway_P4_N4 :: Dict (K.Div 'K.RoundAway (P 4) (N 4) ~ N 1)
+_test_Div_RoundAway_P4_N4 =  Dict
+_test_Rem_RoundAway_P4_N4 :: Dict (K.Rem 'K.RoundAway (P 4) (N 4) ~ P 0)
+_test_Rem_RoundAway_P4_N4 =  Dict
+_test_Div_RoundAway_P4_P1 :: Dict (K.Div 'K.RoundAway (P 4) (P 1) ~ P 4)
+_test_Div_RoundAway_P4_P1 =  Dict
+_test_Rem_RoundAway_P4_P1 :: Dict (K.Rem 'K.RoundAway (P 4) (P 1) ~ P 0)
+_test_Rem_RoundAway_P4_P1 =  Dict
+_test_Div_RoundAway_P4_P2 :: Dict (K.Div 'K.RoundAway (P 4) (P 2) ~ P 2)
+_test_Div_RoundAway_P4_P2 =  Dict
+_test_Rem_RoundAway_P4_P2 :: Dict (K.Rem 'K.RoundAway (P 4) (P 2) ~ P 0)
+_test_Rem_RoundAway_P4_P2 =  Dict
+_test_Div_RoundAway_P4_P3 :: Dict (K.Div 'K.RoundAway (P 4) (P 3) ~ P 2)
+_test_Div_RoundAway_P4_P3 =  Dict
+_test_Rem_RoundAway_P4_P3 :: Dict (K.Rem 'K.RoundAway (P 4) (P 3) ~ N 2)
+_test_Rem_RoundAway_P4_P3 =  Dict
+_test_Div_RoundAway_P4_P4 :: Dict (K.Div 'K.RoundAway (P 4) (P 4) ~ P 1)
+_test_Div_RoundAway_P4_P4 =  Dict
+_test_Rem_RoundAway_P4_P4 :: Dict (K.Rem 'K.RoundAway (P 4) (P 4) ~ P 0)
+_test_Rem_RoundAway_P4_P4 =  Dict
+_test_Div_RoundDown_N1_N1 :: Dict (K.Div 'K.RoundDown (N 1) (N 1) ~ P 1)
+_test_Div_RoundDown_N1_N1 =  Dict
+_test_Rem_RoundDown_N1_N1 :: Dict (K.Rem 'K.RoundDown (N 1) (N 1) ~ P 0)
+_test_Rem_RoundDown_N1_N1 =  Dict
+_test_Div_RoundDown_N1_N2 :: Dict (K.Div 'K.RoundDown (N 1) (N 2) ~ P 0)
+_test_Div_RoundDown_N1_N2 =  Dict
+_test_Rem_RoundDown_N1_N2 :: Dict (K.Rem 'K.RoundDown (N 1) (N 2) ~ N 1)
+_test_Rem_RoundDown_N1_N2 =  Dict
+_test_Div_RoundDown_N1_N3 :: Dict (K.Div 'K.RoundDown (N 1) (N 3) ~ P 0)
+_test_Div_RoundDown_N1_N3 =  Dict
+_test_Rem_RoundDown_N1_N3 :: Dict (K.Rem 'K.RoundDown (N 1) (N 3) ~ N 1)
+_test_Rem_RoundDown_N1_N3 =  Dict
+_test_Div_RoundDown_N1_N4 :: Dict (K.Div 'K.RoundDown (N 1) (N 4) ~ P 0)
+_test_Div_RoundDown_N1_N4 =  Dict
+_test_Rem_RoundDown_N1_N4 :: Dict (K.Rem 'K.RoundDown (N 1) (N 4) ~ N 1)
+_test_Rem_RoundDown_N1_N4 =  Dict
+_test_Div_RoundDown_N1_P1 :: Dict (K.Div 'K.RoundDown (N 1) (P 1) ~ N 1)
+_test_Div_RoundDown_N1_P1 =  Dict
+_test_Rem_RoundDown_N1_P1 :: Dict (K.Rem 'K.RoundDown (N 1) (P 1) ~ P 0)
+_test_Rem_RoundDown_N1_P1 =  Dict
+_test_Div_RoundDown_N1_P2 :: Dict (K.Div 'K.RoundDown (N 1) (P 2) ~ N 1)
+_test_Div_RoundDown_N1_P2 =  Dict
+_test_Rem_RoundDown_N1_P2 :: Dict (K.Rem 'K.RoundDown (N 1) (P 2) ~ P 1)
+_test_Rem_RoundDown_N1_P2 =  Dict
+_test_Div_RoundDown_N1_P3 :: Dict (K.Div 'K.RoundDown (N 1) (P 3) ~ N 1)
+_test_Div_RoundDown_N1_P3 =  Dict
+_test_Rem_RoundDown_N1_P3 :: Dict (K.Rem 'K.RoundDown (N 1) (P 3) ~ P 2)
+_test_Rem_RoundDown_N1_P3 =  Dict
+_test_Div_RoundDown_N1_P4 :: Dict (K.Div 'K.RoundDown (N 1) (P 4) ~ N 1)
+_test_Div_RoundDown_N1_P4 =  Dict
+_test_Rem_RoundDown_N1_P4 :: Dict (K.Rem 'K.RoundDown (N 1) (P 4) ~ P 3)
+_test_Rem_RoundDown_N1_P4 =  Dict
+_test_Div_RoundDown_N2_N1 :: Dict (K.Div 'K.RoundDown (N 2) (N 1) ~ P 2)
+_test_Div_RoundDown_N2_N1 =  Dict
+_test_Rem_RoundDown_N2_N1 :: Dict (K.Rem 'K.RoundDown (N 2) (N 1) ~ P 0)
+_test_Rem_RoundDown_N2_N1 =  Dict
+_test_Div_RoundDown_N2_N2 :: Dict (K.Div 'K.RoundDown (N 2) (N 2) ~ P 1)
+_test_Div_RoundDown_N2_N2 =  Dict
+_test_Rem_RoundDown_N2_N2 :: Dict (K.Rem 'K.RoundDown (N 2) (N 2) ~ P 0)
+_test_Rem_RoundDown_N2_N2 =  Dict
+_test_Div_RoundDown_N2_N3 :: Dict (K.Div 'K.RoundDown (N 2) (N 3) ~ P 0)
+_test_Div_RoundDown_N2_N3 =  Dict
+_test_Rem_RoundDown_N2_N3 :: Dict (K.Rem 'K.RoundDown (N 2) (N 3) ~ N 2)
+_test_Rem_RoundDown_N2_N3 =  Dict
+_test_Div_RoundDown_N2_N4 :: Dict (K.Div 'K.RoundDown (N 2) (N 4) ~ P 0)
+_test_Div_RoundDown_N2_N4 =  Dict
+_test_Rem_RoundDown_N2_N4 :: Dict (K.Rem 'K.RoundDown (N 2) (N 4) ~ N 2)
+_test_Rem_RoundDown_N2_N4 =  Dict
+_test_Div_RoundDown_N2_P1 :: Dict (K.Div 'K.RoundDown (N 2) (P 1) ~ N 2)
+_test_Div_RoundDown_N2_P1 =  Dict
+_test_Rem_RoundDown_N2_P1 :: Dict (K.Rem 'K.RoundDown (N 2) (P 1) ~ P 0)
+_test_Rem_RoundDown_N2_P1 =  Dict
+_test_Div_RoundDown_N2_P2 :: Dict (K.Div 'K.RoundDown (N 2) (P 2) ~ N 1)
+_test_Div_RoundDown_N2_P2 =  Dict
+_test_Rem_RoundDown_N2_P2 :: Dict (K.Rem 'K.RoundDown (N 2) (P 2) ~ P 0)
+_test_Rem_RoundDown_N2_P2 =  Dict
+_test_Div_RoundDown_N2_P3 :: Dict (K.Div 'K.RoundDown (N 2) (P 3) ~ N 1)
+_test_Div_RoundDown_N2_P3 =  Dict
+_test_Rem_RoundDown_N2_P3 :: Dict (K.Rem 'K.RoundDown (N 2) (P 3) ~ P 1)
+_test_Rem_RoundDown_N2_P3 =  Dict
+_test_Div_RoundDown_N2_P4 :: Dict (K.Div 'K.RoundDown (N 2) (P 4) ~ N 1)
+_test_Div_RoundDown_N2_P4 =  Dict
+_test_Rem_RoundDown_N2_P4 :: Dict (K.Rem 'K.RoundDown (N 2) (P 4) ~ P 2)
+_test_Rem_RoundDown_N2_P4 =  Dict
+_test_Div_RoundDown_N3_N1 :: Dict (K.Div 'K.RoundDown (N 3) (N 1) ~ P 3)
+_test_Div_RoundDown_N3_N1 =  Dict
+_test_Rem_RoundDown_N3_N1 :: Dict (K.Rem 'K.RoundDown (N 3) (N 1) ~ P 0)
+_test_Rem_RoundDown_N3_N1 =  Dict
+_test_Div_RoundDown_N3_N2 :: Dict (K.Div 'K.RoundDown (N 3) (N 2) ~ P 1)
+_test_Div_RoundDown_N3_N2 =  Dict
+_test_Rem_RoundDown_N3_N2 :: Dict (K.Rem 'K.RoundDown (N 3) (N 2) ~ N 1)
+_test_Rem_RoundDown_N3_N2 =  Dict
+_test_Div_RoundDown_N3_N3 :: Dict (K.Div 'K.RoundDown (N 3) (N 3) ~ P 1)
+_test_Div_RoundDown_N3_N3 =  Dict
+_test_Rem_RoundDown_N3_N3 :: Dict (K.Rem 'K.RoundDown (N 3) (N 3) ~ P 0)
+_test_Rem_RoundDown_N3_N3 =  Dict
+_test_Div_RoundDown_N3_N4 :: Dict (K.Div 'K.RoundDown (N 3) (N 4) ~ P 0)
+_test_Div_RoundDown_N3_N4 =  Dict
+_test_Rem_RoundDown_N3_N4 :: Dict (K.Rem 'K.RoundDown (N 3) (N 4) ~ N 3)
+_test_Rem_RoundDown_N3_N4 =  Dict
+_test_Div_RoundDown_N3_P1 :: Dict (K.Div 'K.RoundDown (N 3) (P 1) ~ N 3)
+_test_Div_RoundDown_N3_P1 =  Dict
+_test_Rem_RoundDown_N3_P1 :: Dict (K.Rem 'K.RoundDown (N 3) (P 1) ~ P 0)
+_test_Rem_RoundDown_N3_P1 =  Dict
+_test_Div_RoundDown_N3_P2 :: Dict (K.Div 'K.RoundDown (N 3) (P 2) ~ N 2)
+_test_Div_RoundDown_N3_P2 =  Dict
+_test_Rem_RoundDown_N3_P2 :: Dict (K.Rem 'K.RoundDown (N 3) (P 2) ~ P 1)
+_test_Rem_RoundDown_N3_P2 =  Dict
+_test_Div_RoundDown_N3_P3 :: Dict (K.Div 'K.RoundDown (N 3) (P 3) ~ N 1)
+_test_Div_RoundDown_N3_P3 =  Dict
+_test_Rem_RoundDown_N3_P3 :: Dict (K.Rem 'K.RoundDown (N 3) (P 3) ~ P 0)
+_test_Rem_RoundDown_N3_P3 =  Dict
+_test_Div_RoundDown_N3_P4 :: Dict (K.Div 'K.RoundDown (N 3) (P 4) ~ N 1)
+_test_Div_RoundDown_N3_P4 =  Dict
+_test_Rem_RoundDown_N3_P4 :: Dict (K.Rem 'K.RoundDown (N 3) (P 4) ~ P 1)
+_test_Rem_RoundDown_N3_P4 =  Dict
+_test_Div_RoundDown_N4_N1 :: Dict (K.Div 'K.RoundDown (N 4) (N 1) ~ P 4)
+_test_Div_RoundDown_N4_N1 =  Dict
+_test_Rem_RoundDown_N4_N1 :: Dict (K.Rem 'K.RoundDown (N 4) (N 1) ~ P 0)
+_test_Rem_RoundDown_N4_N1 =  Dict
+_test_Div_RoundDown_N4_N2 :: Dict (K.Div 'K.RoundDown (N 4) (N 2) ~ P 2)
+_test_Div_RoundDown_N4_N2 =  Dict
+_test_Rem_RoundDown_N4_N2 :: Dict (K.Rem 'K.RoundDown (N 4) (N 2) ~ P 0)
+_test_Rem_RoundDown_N4_N2 =  Dict
+_test_Div_RoundDown_N4_N3 :: Dict (K.Div 'K.RoundDown (N 4) (N 3) ~ P 1)
+_test_Div_RoundDown_N4_N3 =  Dict
+_test_Rem_RoundDown_N4_N3 :: Dict (K.Rem 'K.RoundDown (N 4) (N 3) ~ N 1)
+_test_Rem_RoundDown_N4_N3 =  Dict
+_test_Div_RoundDown_N4_N4 :: Dict (K.Div 'K.RoundDown (N 4) (N 4) ~ P 1)
+_test_Div_RoundDown_N4_N4 =  Dict
+_test_Rem_RoundDown_N4_N4 :: Dict (K.Rem 'K.RoundDown (N 4) (N 4) ~ P 0)
+_test_Rem_RoundDown_N4_N4 =  Dict
+_test_Div_RoundDown_N4_P1 :: Dict (K.Div 'K.RoundDown (N 4) (P 1) ~ N 4)
+_test_Div_RoundDown_N4_P1 =  Dict
+_test_Rem_RoundDown_N4_P1 :: Dict (K.Rem 'K.RoundDown (N 4) (P 1) ~ P 0)
+_test_Rem_RoundDown_N4_P1 =  Dict
+_test_Div_RoundDown_N4_P2 :: Dict (K.Div 'K.RoundDown (N 4) (P 2) ~ N 2)
+_test_Div_RoundDown_N4_P2 =  Dict
+_test_Rem_RoundDown_N4_P2 :: Dict (K.Rem 'K.RoundDown (N 4) (P 2) ~ P 0)
+_test_Rem_RoundDown_N4_P2 =  Dict
+_test_Div_RoundDown_N4_P3 :: Dict (K.Div 'K.RoundDown (N 4) (P 3) ~ N 2)
+_test_Div_RoundDown_N4_P3 =  Dict
+_test_Rem_RoundDown_N4_P3 :: Dict (K.Rem 'K.RoundDown (N 4) (P 3) ~ P 2)
+_test_Rem_RoundDown_N4_P3 =  Dict
+_test_Div_RoundDown_N4_P4 :: Dict (K.Div 'K.RoundDown (N 4) (P 4) ~ N 1)
+_test_Div_RoundDown_N4_P4 =  Dict
+_test_Rem_RoundDown_N4_P4 :: Dict (K.Rem 'K.RoundDown (N 4) (P 4) ~ P 0)
+_test_Rem_RoundDown_N4_P4 =  Dict
+_test_Div_RoundDown_P0_N1 :: Dict (K.Div 'K.RoundDown (P 0) (N 1) ~ P 0)
+_test_Div_RoundDown_P0_N1 =  Dict
+_test_Rem_RoundDown_P0_N1 :: Dict (K.Rem 'K.RoundDown (P 0) (N 1) ~ P 0)
+_test_Rem_RoundDown_P0_N1 =  Dict
+_test_Div_RoundDown_P0_N2 :: Dict (K.Div 'K.RoundDown (P 0) (N 2) ~ P 0)
+_test_Div_RoundDown_P0_N2 =  Dict
+_test_Rem_RoundDown_P0_N2 :: Dict (K.Rem 'K.RoundDown (P 0) (N 2) ~ P 0)
+_test_Rem_RoundDown_P0_N2 =  Dict
+_test_Div_RoundDown_P0_N3 :: Dict (K.Div 'K.RoundDown (P 0) (N 3) ~ P 0)
+_test_Div_RoundDown_P0_N3 =  Dict
+_test_Rem_RoundDown_P0_N3 :: Dict (K.Rem 'K.RoundDown (P 0) (N 3) ~ P 0)
+_test_Rem_RoundDown_P0_N3 =  Dict
+_test_Div_RoundDown_P0_N4 :: Dict (K.Div 'K.RoundDown (P 0) (N 4) ~ P 0)
+_test_Div_RoundDown_P0_N4 =  Dict
+_test_Rem_RoundDown_P0_N4 :: Dict (K.Rem 'K.RoundDown (P 0) (N 4) ~ P 0)
+_test_Rem_RoundDown_P0_N4 =  Dict
+_test_Div_RoundDown_P0_P1 :: Dict (K.Div 'K.RoundDown (P 0) (P 1) ~ P 0)
+_test_Div_RoundDown_P0_P1 =  Dict
+_test_Rem_RoundDown_P0_P1 :: Dict (K.Rem 'K.RoundDown (P 0) (P 1) ~ P 0)
+_test_Rem_RoundDown_P0_P1 =  Dict
+_test_Div_RoundDown_P0_P2 :: Dict (K.Div 'K.RoundDown (P 0) (P 2) ~ P 0)
+_test_Div_RoundDown_P0_P2 =  Dict
+_test_Rem_RoundDown_P0_P2 :: Dict (K.Rem 'K.RoundDown (P 0) (P 2) ~ P 0)
+_test_Rem_RoundDown_P0_P2 =  Dict
+_test_Div_RoundDown_P0_P3 :: Dict (K.Div 'K.RoundDown (P 0) (P 3) ~ P 0)
+_test_Div_RoundDown_P0_P3 =  Dict
+_test_Rem_RoundDown_P0_P3 :: Dict (K.Rem 'K.RoundDown (P 0) (P 3) ~ P 0)
+_test_Rem_RoundDown_P0_P3 =  Dict
+_test_Div_RoundDown_P0_P4 :: Dict (K.Div 'K.RoundDown (P 0) (P 4) ~ P 0)
+_test_Div_RoundDown_P0_P4 =  Dict
+_test_Rem_RoundDown_P0_P4 :: Dict (K.Rem 'K.RoundDown (P 0) (P 4) ~ P 0)
+_test_Rem_RoundDown_P0_P4 =  Dict
+_test_Div_RoundDown_P1_N1 :: Dict (K.Div 'K.RoundDown (P 1) (N 1) ~ N 1)
+_test_Div_RoundDown_P1_N1 =  Dict
+_test_Rem_RoundDown_P1_N1 :: Dict (K.Rem 'K.RoundDown (P 1) (N 1) ~ P 0)
+_test_Rem_RoundDown_P1_N1 =  Dict
+_test_Div_RoundDown_P1_N2 :: Dict (K.Div 'K.RoundDown (P 1) (N 2) ~ N 1)
+_test_Div_RoundDown_P1_N2 =  Dict
+_test_Rem_RoundDown_P1_N2 :: Dict (K.Rem 'K.RoundDown (P 1) (N 2) ~ N 1)
+_test_Rem_RoundDown_P1_N2 =  Dict
+_test_Div_RoundDown_P1_N3 :: Dict (K.Div 'K.RoundDown (P 1) (N 3) ~ N 1)
+_test_Div_RoundDown_P1_N3 =  Dict
+_test_Rem_RoundDown_P1_N3 :: Dict (K.Rem 'K.RoundDown (P 1) (N 3) ~ N 2)
+_test_Rem_RoundDown_P1_N3 =  Dict
+_test_Div_RoundDown_P1_N4 :: Dict (K.Div 'K.RoundDown (P 1) (N 4) ~ N 1)
+_test_Div_RoundDown_P1_N4 =  Dict
+_test_Rem_RoundDown_P1_N4 :: Dict (K.Rem 'K.RoundDown (P 1) (N 4) ~ N 3)
+_test_Rem_RoundDown_P1_N4 =  Dict
+_test_Div_RoundDown_P1_P1 :: Dict (K.Div 'K.RoundDown (P 1) (P 1) ~ P 1)
+_test_Div_RoundDown_P1_P1 =  Dict
+_test_Rem_RoundDown_P1_P1 :: Dict (K.Rem 'K.RoundDown (P 1) (P 1) ~ P 0)
+_test_Rem_RoundDown_P1_P1 =  Dict
+_test_Div_RoundDown_P1_P2 :: Dict (K.Div 'K.RoundDown (P 1) (P 2) ~ P 0)
+_test_Div_RoundDown_P1_P2 =  Dict
+_test_Rem_RoundDown_P1_P2 :: Dict (K.Rem 'K.RoundDown (P 1) (P 2) ~ P 1)
+_test_Rem_RoundDown_P1_P2 =  Dict
+_test_Div_RoundDown_P1_P3 :: Dict (K.Div 'K.RoundDown (P 1) (P 3) ~ P 0)
+_test_Div_RoundDown_P1_P3 =  Dict
+_test_Rem_RoundDown_P1_P3 :: Dict (K.Rem 'K.RoundDown (P 1) (P 3) ~ P 1)
+_test_Rem_RoundDown_P1_P3 =  Dict
+_test_Div_RoundDown_P1_P4 :: Dict (K.Div 'K.RoundDown (P 1) (P 4) ~ P 0)
+_test_Div_RoundDown_P1_P4 =  Dict
+_test_Rem_RoundDown_P1_P4 :: Dict (K.Rem 'K.RoundDown (P 1) (P 4) ~ P 1)
+_test_Rem_RoundDown_P1_P4 =  Dict
+_test_Div_RoundDown_P2_N1 :: Dict (K.Div 'K.RoundDown (P 2) (N 1) ~ N 2)
+_test_Div_RoundDown_P2_N1 =  Dict
+_test_Rem_RoundDown_P2_N1 :: Dict (K.Rem 'K.RoundDown (P 2) (N 1) ~ P 0)
+_test_Rem_RoundDown_P2_N1 =  Dict
+_test_Div_RoundDown_P2_N2 :: Dict (K.Div 'K.RoundDown (P 2) (N 2) ~ N 1)
+_test_Div_RoundDown_P2_N2 =  Dict
+_test_Rem_RoundDown_P2_N2 :: Dict (K.Rem 'K.RoundDown (P 2) (N 2) ~ P 0)
+_test_Rem_RoundDown_P2_N2 =  Dict
+_test_Div_RoundDown_P2_N3 :: Dict (K.Div 'K.RoundDown (P 2) (N 3) ~ N 1)
+_test_Div_RoundDown_P2_N3 =  Dict
+_test_Rem_RoundDown_P2_N3 :: Dict (K.Rem 'K.RoundDown (P 2) (N 3) ~ N 1)
+_test_Rem_RoundDown_P2_N3 =  Dict
+_test_Div_RoundDown_P2_N4 :: Dict (K.Div 'K.RoundDown (P 2) (N 4) ~ N 1)
+_test_Div_RoundDown_P2_N4 =  Dict
+_test_Rem_RoundDown_P2_N4 :: Dict (K.Rem 'K.RoundDown (P 2) (N 4) ~ N 2)
+_test_Rem_RoundDown_P2_N4 =  Dict
+_test_Div_RoundDown_P2_P1 :: Dict (K.Div 'K.RoundDown (P 2) (P 1) ~ P 2)
+_test_Div_RoundDown_P2_P1 =  Dict
+_test_Rem_RoundDown_P2_P1 :: Dict (K.Rem 'K.RoundDown (P 2) (P 1) ~ P 0)
+_test_Rem_RoundDown_P2_P1 =  Dict
+_test_Div_RoundDown_P2_P2 :: Dict (K.Div 'K.RoundDown (P 2) (P 2) ~ P 1)
+_test_Div_RoundDown_P2_P2 =  Dict
+_test_Rem_RoundDown_P2_P2 :: Dict (K.Rem 'K.RoundDown (P 2) (P 2) ~ P 0)
+_test_Rem_RoundDown_P2_P2 =  Dict
+_test_Div_RoundDown_P2_P3 :: Dict (K.Div 'K.RoundDown (P 2) (P 3) ~ P 0)
+_test_Div_RoundDown_P2_P3 =  Dict
+_test_Rem_RoundDown_P2_P3 :: Dict (K.Rem 'K.RoundDown (P 2) (P 3) ~ P 2)
+_test_Rem_RoundDown_P2_P3 =  Dict
+_test_Div_RoundDown_P2_P4 :: Dict (K.Div 'K.RoundDown (P 2) (P 4) ~ P 0)
+_test_Div_RoundDown_P2_P4 =  Dict
+_test_Rem_RoundDown_P2_P4 :: Dict (K.Rem 'K.RoundDown (P 2) (P 4) ~ P 2)
+_test_Rem_RoundDown_P2_P4 =  Dict
+_test_Div_RoundDown_P3_N1 :: Dict (K.Div 'K.RoundDown (P 3) (N 1) ~ N 3)
+_test_Div_RoundDown_P3_N1 =  Dict
+_test_Rem_RoundDown_P3_N1 :: Dict (K.Rem 'K.RoundDown (P 3) (N 1) ~ P 0)
+_test_Rem_RoundDown_P3_N1 =  Dict
+_test_Div_RoundDown_P3_N2 :: Dict (K.Div 'K.RoundDown (P 3) (N 2) ~ N 2)
+_test_Div_RoundDown_P3_N2 =  Dict
+_test_Rem_RoundDown_P3_N2 :: Dict (K.Rem 'K.RoundDown (P 3) (N 2) ~ N 1)
+_test_Rem_RoundDown_P3_N2 =  Dict
+_test_Div_RoundDown_P3_N3 :: Dict (K.Div 'K.RoundDown (P 3) (N 3) ~ N 1)
+_test_Div_RoundDown_P3_N3 =  Dict
+_test_Rem_RoundDown_P3_N3 :: Dict (K.Rem 'K.RoundDown (P 3) (N 3) ~ P 0)
+_test_Rem_RoundDown_P3_N3 =  Dict
+_test_Div_RoundDown_P3_N4 :: Dict (K.Div 'K.RoundDown (P 3) (N 4) ~ N 1)
+_test_Div_RoundDown_P3_N4 =  Dict
+_test_Rem_RoundDown_P3_N4 :: Dict (K.Rem 'K.RoundDown (P 3) (N 4) ~ N 1)
+_test_Rem_RoundDown_P3_N4 =  Dict
+_test_Div_RoundDown_P3_P1 :: Dict (K.Div 'K.RoundDown (P 3) (P 1) ~ P 3)
+_test_Div_RoundDown_P3_P1 =  Dict
+_test_Rem_RoundDown_P3_P1 :: Dict (K.Rem 'K.RoundDown (P 3) (P 1) ~ P 0)
+_test_Rem_RoundDown_P3_P1 =  Dict
+_test_Div_RoundDown_P3_P2 :: Dict (K.Div 'K.RoundDown (P 3) (P 2) ~ P 1)
+_test_Div_RoundDown_P3_P2 =  Dict
+_test_Rem_RoundDown_P3_P2 :: Dict (K.Rem 'K.RoundDown (P 3) (P 2) ~ P 1)
+_test_Rem_RoundDown_P3_P2 =  Dict
+_test_Div_RoundDown_P3_P3 :: Dict (K.Div 'K.RoundDown (P 3) (P 3) ~ P 1)
+_test_Div_RoundDown_P3_P3 =  Dict
+_test_Rem_RoundDown_P3_P3 :: Dict (K.Rem 'K.RoundDown (P 3) (P 3) ~ P 0)
+_test_Rem_RoundDown_P3_P3 =  Dict
+_test_Div_RoundDown_P3_P4 :: Dict (K.Div 'K.RoundDown (P 3) (P 4) ~ P 0)
+_test_Div_RoundDown_P3_P4 =  Dict
+_test_Rem_RoundDown_P3_P4 :: Dict (K.Rem 'K.RoundDown (P 3) (P 4) ~ P 3)
+_test_Rem_RoundDown_P3_P4 =  Dict
+_test_Div_RoundDown_P4_N1 :: Dict (K.Div 'K.RoundDown (P 4) (N 1) ~ N 4)
+_test_Div_RoundDown_P4_N1 =  Dict
+_test_Rem_RoundDown_P4_N1 :: Dict (K.Rem 'K.RoundDown (P 4) (N 1) ~ P 0)
+_test_Rem_RoundDown_P4_N1 =  Dict
+_test_Div_RoundDown_P4_N2 :: Dict (K.Div 'K.RoundDown (P 4) (N 2) ~ N 2)
+_test_Div_RoundDown_P4_N2 =  Dict
+_test_Rem_RoundDown_P4_N2 :: Dict (K.Rem 'K.RoundDown (P 4) (N 2) ~ P 0)
+_test_Rem_RoundDown_P4_N2 =  Dict
+_test_Div_RoundDown_P4_N3 :: Dict (K.Div 'K.RoundDown (P 4) (N 3) ~ N 2)
+_test_Div_RoundDown_P4_N3 =  Dict
+_test_Rem_RoundDown_P4_N3 :: Dict (K.Rem 'K.RoundDown (P 4) (N 3) ~ N 2)
+_test_Rem_RoundDown_P4_N3 =  Dict
+_test_Div_RoundDown_P4_N4 :: Dict (K.Div 'K.RoundDown (P 4) (N 4) ~ N 1)
+_test_Div_RoundDown_P4_N4 =  Dict
+_test_Rem_RoundDown_P4_N4 :: Dict (K.Rem 'K.RoundDown (P 4) (N 4) ~ P 0)
+_test_Rem_RoundDown_P4_N4 =  Dict
+_test_Div_RoundDown_P4_P1 :: Dict (K.Div 'K.RoundDown (P 4) (P 1) ~ P 4)
+_test_Div_RoundDown_P4_P1 =  Dict
+_test_Rem_RoundDown_P4_P1 :: Dict (K.Rem 'K.RoundDown (P 4) (P 1) ~ P 0)
+_test_Rem_RoundDown_P4_P1 =  Dict
+_test_Div_RoundDown_P4_P2 :: Dict (K.Div 'K.RoundDown (P 4) (P 2) ~ P 2)
+_test_Div_RoundDown_P4_P2 =  Dict
+_test_Rem_RoundDown_P4_P2 :: Dict (K.Rem 'K.RoundDown (P 4) (P 2) ~ P 0)
+_test_Rem_RoundDown_P4_P2 =  Dict
+_test_Div_RoundDown_P4_P3 :: Dict (K.Div 'K.RoundDown (P 4) (P 3) ~ P 1)
+_test_Div_RoundDown_P4_P3 =  Dict
+_test_Rem_RoundDown_P4_P3 :: Dict (K.Rem 'K.RoundDown (P 4) (P 3) ~ P 1)
+_test_Rem_RoundDown_P4_P3 =  Dict
+_test_Div_RoundDown_P4_P4 :: Dict (K.Div 'K.RoundDown (P 4) (P 4) ~ P 1)
+_test_Div_RoundDown_P4_P4 =  Dict
+_test_Rem_RoundDown_P4_P4 :: Dict (K.Rem 'K.RoundDown (P 4) (P 4) ~ P 0)
+_test_Rem_RoundDown_P4_P4 =  Dict
+_test_Div_RoundHalfAway_N1_N1 :: Dict (K.Div 'K.RoundHalfAway (N 1) (N 1) ~ P 1)
+_test_Div_RoundHalfAway_N1_N1 =  Dict
+_test_Rem_RoundHalfAway_N1_N1 :: Dict (K.Rem 'K.RoundHalfAway (N 1) (N 1) ~ P 0)
+_test_Rem_RoundHalfAway_N1_N1 =  Dict
+_test_Div_RoundHalfAway_N1_N2 :: Dict (K.Div 'K.RoundHalfAway (N 1) (N 2) ~ P 1)
+_test_Div_RoundHalfAway_N1_N2 =  Dict
+_test_Rem_RoundHalfAway_N1_N2 :: Dict (K.Rem 'K.RoundHalfAway (N 1) (N 2) ~ P 1)
+_test_Rem_RoundHalfAway_N1_N2 =  Dict
+_test_Div_RoundHalfAway_N1_N3 :: Dict (K.Div 'K.RoundHalfAway (N 1) (N 3) ~ P 0)
+_test_Div_RoundHalfAway_N1_N3 =  Dict
+_test_Rem_RoundHalfAway_N1_N3 :: Dict (K.Rem 'K.RoundHalfAway (N 1) (N 3) ~ N 1)
+_test_Rem_RoundHalfAway_N1_N3 =  Dict
+_test_Div_RoundHalfAway_N1_N4 :: Dict (K.Div 'K.RoundHalfAway (N 1) (N 4) ~ P 0)
+_test_Div_RoundHalfAway_N1_N4 =  Dict
+_test_Rem_RoundHalfAway_N1_N4 :: Dict (K.Rem 'K.RoundHalfAway (N 1) (N 4) ~ N 1)
+_test_Rem_RoundHalfAway_N1_N4 =  Dict
+_test_Div_RoundHalfAway_N1_P1 :: Dict (K.Div 'K.RoundHalfAway (N 1) (P 1) ~ N 1)
+_test_Div_RoundHalfAway_N1_P1 =  Dict
+_test_Rem_RoundHalfAway_N1_P1 :: Dict (K.Rem 'K.RoundHalfAway (N 1) (P 1) ~ P 0)
+_test_Rem_RoundHalfAway_N1_P1 =  Dict
+_test_Div_RoundHalfAway_N1_P2 :: Dict (K.Div 'K.RoundHalfAway (N 1) (P 2) ~ N 1)
+_test_Div_RoundHalfAway_N1_P2 =  Dict
+_test_Rem_RoundHalfAway_N1_P2 :: Dict (K.Rem 'K.RoundHalfAway (N 1) (P 2) ~ P 1)
+_test_Rem_RoundHalfAway_N1_P2 =  Dict
+_test_Div_RoundHalfAway_N1_P3 :: Dict (K.Div 'K.RoundHalfAway (N 1) (P 3) ~ P 0)
+_test_Div_RoundHalfAway_N1_P3 =  Dict
+_test_Rem_RoundHalfAway_N1_P3 :: Dict (K.Rem 'K.RoundHalfAway (N 1) (P 3) ~ N 1)
+_test_Rem_RoundHalfAway_N1_P3 =  Dict
+_test_Div_RoundHalfAway_N1_P4 :: Dict (K.Div 'K.RoundHalfAway (N 1) (P 4) ~ P 0)
+_test_Div_RoundHalfAway_N1_P4 =  Dict
+_test_Rem_RoundHalfAway_N1_P4 :: Dict (K.Rem 'K.RoundHalfAway (N 1) (P 4) ~ N 1)
+_test_Rem_RoundHalfAway_N1_P4 =  Dict
+_test_Div_RoundHalfAway_N2_N1 :: Dict (K.Div 'K.RoundHalfAway (N 2) (N 1) ~ P 2)
+_test_Div_RoundHalfAway_N2_N1 =  Dict
+_test_Rem_RoundHalfAway_N2_N1 :: Dict (K.Rem 'K.RoundHalfAway (N 2) (N 1) ~ P 0)
+_test_Rem_RoundHalfAway_N2_N1 =  Dict
+_test_Div_RoundHalfAway_N2_N2 :: Dict (K.Div 'K.RoundHalfAway (N 2) (N 2) ~ P 1)
+_test_Div_RoundHalfAway_N2_N2 =  Dict
+_test_Rem_RoundHalfAway_N2_N2 :: Dict (K.Rem 'K.RoundHalfAway (N 2) (N 2) ~ P 0)
+_test_Rem_RoundHalfAway_N2_N2 =  Dict
+_test_Div_RoundHalfAway_N2_N3 :: Dict (K.Div 'K.RoundHalfAway (N 2) (N 3) ~ P 1)
+_test_Div_RoundHalfAway_N2_N3 =  Dict
+_test_Rem_RoundHalfAway_N2_N3 :: Dict (K.Rem 'K.RoundHalfAway (N 2) (N 3) ~ P 1)
+_test_Rem_RoundHalfAway_N2_N3 =  Dict
+_test_Div_RoundHalfAway_N2_N4 :: Dict (K.Div 'K.RoundHalfAway (N 2) (N 4) ~ P 1)
+_test_Div_RoundHalfAway_N2_N4 =  Dict
+_test_Rem_RoundHalfAway_N2_N4 :: Dict (K.Rem 'K.RoundHalfAway (N 2) (N 4) ~ P 2)
+_test_Rem_RoundHalfAway_N2_N4 =  Dict
+_test_Div_RoundHalfAway_N2_P1 :: Dict (K.Div 'K.RoundHalfAway (N 2) (P 1) ~ N 2)
+_test_Div_RoundHalfAway_N2_P1 =  Dict
+_test_Rem_RoundHalfAway_N2_P1 :: Dict (K.Rem 'K.RoundHalfAway (N 2) (P 1) ~ P 0)
+_test_Rem_RoundHalfAway_N2_P1 =  Dict
+_test_Div_RoundHalfAway_N2_P2 :: Dict (K.Div 'K.RoundHalfAway (N 2) (P 2) ~ N 1)
+_test_Div_RoundHalfAway_N2_P2 =  Dict
+_test_Rem_RoundHalfAway_N2_P2 :: Dict (K.Rem 'K.RoundHalfAway (N 2) (P 2) ~ P 0)
+_test_Rem_RoundHalfAway_N2_P2 =  Dict
+_test_Div_RoundHalfAway_N2_P3 :: Dict (K.Div 'K.RoundHalfAway (N 2) (P 3) ~ N 1)
+_test_Div_RoundHalfAway_N2_P3 =  Dict
+_test_Rem_RoundHalfAway_N2_P3 :: Dict (K.Rem 'K.RoundHalfAway (N 2) (P 3) ~ P 1)
+_test_Rem_RoundHalfAway_N2_P3 =  Dict
+_test_Div_RoundHalfAway_N2_P4 :: Dict (K.Div 'K.RoundHalfAway (N 2) (P 4) ~ N 1)
+_test_Div_RoundHalfAway_N2_P4 =  Dict
+_test_Rem_RoundHalfAway_N2_P4 :: Dict (K.Rem 'K.RoundHalfAway (N 2) (P 4) ~ P 2)
+_test_Rem_RoundHalfAway_N2_P4 =  Dict
+_test_Div_RoundHalfAway_N3_N1 :: Dict (K.Div 'K.RoundHalfAway (N 3) (N 1) ~ P 3)
+_test_Div_RoundHalfAway_N3_N1 =  Dict
+_test_Rem_RoundHalfAway_N3_N1 :: Dict (K.Rem 'K.RoundHalfAway (N 3) (N 1) ~ P 0)
+_test_Rem_RoundHalfAway_N3_N1 =  Dict
+_test_Div_RoundHalfAway_N3_N2 :: Dict (K.Div 'K.RoundHalfAway (N 3) (N 2) ~ P 2)
+_test_Div_RoundHalfAway_N3_N2 =  Dict
+_test_Rem_RoundHalfAway_N3_N2 :: Dict (K.Rem 'K.RoundHalfAway (N 3) (N 2) ~ P 1)
+_test_Rem_RoundHalfAway_N3_N2 =  Dict
+_test_Div_RoundHalfAway_N3_N3 :: Dict (K.Div 'K.RoundHalfAway (N 3) (N 3) ~ P 1)
+_test_Div_RoundHalfAway_N3_N3 =  Dict
+_test_Rem_RoundHalfAway_N3_N3 :: Dict (K.Rem 'K.RoundHalfAway (N 3) (N 3) ~ P 0)
+_test_Rem_RoundHalfAway_N3_N3 =  Dict
+_test_Div_RoundHalfAway_N3_N4 :: Dict (K.Div 'K.RoundHalfAway (N 3) (N 4) ~ P 1)
+_test_Div_RoundHalfAway_N3_N4 =  Dict
+_test_Rem_RoundHalfAway_N3_N4 :: Dict (K.Rem 'K.RoundHalfAway (N 3) (N 4) ~ P 1)
+_test_Rem_RoundHalfAway_N3_N4 =  Dict
+_test_Div_RoundHalfAway_N3_P1 :: Dict (K.Div 'K.RoundHalfAway (N 3) (P 1) ~ N 3)
+_test_Div_RoundHalfAway_N3_P1 =  Dict
+_test_Rem_RoundHalfAway_N3_P1 :: Dict (K.Rem 'K.RoundHalfAway (N 3) (P 1) ~ P 0)
+_test_Rem_RoundHalfAway_N3_P1 =  Dict
+_test_Div_RoundHalfAway_N3_P2 :: Dict (K.Div 'K.RoundHalfAway (N 3) (P 2) ~ N 2)
+_test_Div_RoundHalfAway_N3_P2 =  Dict
+_test_Rem_RoundHalfAway_N3_P2 :: Dict (K.Rem 'K.RoundHalfAway (N 3) (P 2) ~ P 1)
+_test_Rem_RoundHalfAway_N3_P2 =  Dict
+_test_Div_RoundHalfAway_N3_P3 :: Dict (K.Div 'K.RoundHalfAway (N 3) (P 3) ~ N 1)
+_test_Div_RoundHalfAway_N3_P3 =  Dict
+_test_Rem_RoundHalfAway_N3_P3 :: Dict (K.Rem 'K.RoundHalfAway (N 3) (P 3) ~ P 0)
+_test_Rem_RoundHalfAway_N3_P3 =  Dict
+_test_Div_RoundHalfAway_N3_P4 :: Dict (K.Div 'K.RoundHalfAway (N 3) (P 4) ~ N 1)
+_test_Div_RoundHalfAway_N3_P4 =  Dict
+_test_Rem_RoundHalfAway_N3_P4 :: Dict (K.Rem 'K.RoundHalfAway (N 3) (P 4) ~ P 1)
+_test_Rem_RoundHalfAway_N3_P4 =  Dict
+_test_Div_RoundHalfAway_N4_N1 :: Dict (K.Div 'K.RoundHalfAway (N 4) (N 1) ~ P 4)
+_test_Div_RoundHalfAway_N4_N1 =  Dict
+_test_Rem_RoundHalfAway_N4_N1 :: Dict (K.Rem 'K.RoundHalfAway (N 4) (N 1) ~ P 0)
+_test_Rem_RoundHalfAway_N4_N1 =  Dict
+_test_Div_RoundHalfAway_N4_N2 :: Dict (K.Div 'K.RoundHalfAway (N 4) (N 2) ~ P 2)
+_test_Div_RoundHalfAway_N4_N2 =  Dict
+_test_Rem_RoundHalfAway_N4_N2 :: Dict (K.Rem 'K.RoundHalfAway (N 4) (N 2) ~ P 0)
+_test_Rem_RoundHalfAway_N4_N2 =  Dict
+_test_Div_RoundHalfAway_N4_N3 :: Dict (K.Div 'K.RoundHalfAway (N 4) (N 3) ~ P 1)
+_test_Div_RoundHalfAway_N4_N3 =  Dict
+_test_Rem_RoundHalfAway_N4_N3 :: Dict (K.Rem 'K.RoundHalfAway (N 4) (N 3) ~ N 1)
+_test_Rem_RoundHalfAway_N4_N3 =  Dict
+_test_Div_RoundHalfAway_N4_N4 :: Dict (K.Div 'K.RoundHalfAway (N 4) (N 4) ~ P 1)
+_test_Div_RoundHalfAway_N4_N4 =  Dict
+_test_Rem_RoundHalfAway_N4_N4 :: Dict (K.Rem 'K.RoundHalfAway (N 4) (N 4) ~ P 0)
+_test_Rem_RoundHalfAway_N4_N4 =  Dict
+_test_Div_RoundHalfAway_N4_P1 :: Dict (K.Div 'K.RoundHalfAway (N 4) (P 1) ~ N 4)
+_test_Div_RoundHalfAway_N4_P1 =  Dict
+_test_Rem_RoundHalfAway_N4_P1 :: Dict (K.Rem 'K.RoundHalfAway (N 4) (P 1) ~ P 0)
+_test_Rem_RoundHalfAway_N4_P1 =  Dict
+_test_Div_RoundHalfAway_N4_P2 :: Dict (K.Div 'K.RoundHalfAway (N 4) (P 2) ~ N 2)
+_test_Div_RoundHalfAway_N4_P2 =  Dict
+_test_Rem_RoundHalfAway_N4_P2 :: Dict (K.Rem 'K.RoundHalfAway (N 4) (P 2) ~ P 0)
+_test_Rem_RoundHalfAway_N4_P2 =  Dict
+_test_Div_RoundHalfAway_N4_P3 :: Dict (K.Div 'K.RoundHalfAway (N 4) (P 3) ~ N 1)
+_test_Div_RoundHalfAway_N4_P3 =  Dict
+_test_Rem_RoundHalfAway_N4_P3 :: Dict (K.Rem 'K.RoundHalfAway (N 4) (P 3) ~ N 1)
+_test_Rem_RoundHalfAway_N4_P3 =  Dict
+_test_Div_RoundHalfAway_N4_P4 :: Dict (K.Div 'K.RoundHalfAway (N 4) (P 4) ~ N 1)
+_test_Div_RoundHalfAway_N4_P4 =  Dict
+_test_Rem_RoundHalfAway_N4_P4 :: Dict (K.Rem 'K.RoundHalfAway (N 4) (P 4) ~ P 0)
+_test_Rem_RoundHalfAway_N4_P4 =  Dict
+_test_Div_RoundHalfAway_P0_N1 :: Dict (K.Div 'K.RoundHalfAway (P 0) (N 1) ~ P 0)
+_test_Div_RoundHalfAway_P0_N1 =  Dict
+_test_Rem_RoundHalfAway_P0_N1 :: Dict (K.Rem 'K.RoundHalfAway (P 0) (N 1) ~ P 0)
+_test_Rem_RoundHalfAway_P0_N1 =  Dict
+_test_Div_RoundHalfAway_P0_N2 :: Dict (K.Div 'K.RoundHalfAway (P 0) (N 2) ~ P 0)
+_test_Div_RoundHalfAway_P0_N2 =  Dict
+_test_Rem_RoundHalfAway_P0_N2 :: Dict (K.Rem 'K.RoundHalfAway (P 0) (N 2) ~ P 0)
+_test_Rem_RoundHalfAway_P0_N2 =  Dict
+_test_Div_RoundHalfAway_P0_N3 :: Dict (K.Div 'K.RoundHalfAway (P 0) (N 3) ~ P 0)
+_test_Div_RoundHalfAway_P0_N3 =  Dict
+_test_Rem_RoundHalfAway_P0_N3 :: Dict (K.Rem 'K.RoundHalfAway (P 0) (N 3) ~ P 0)
+_test_Rem_RoundHalfAway_P0_N3 =  Dict
+_test_Div_RoundHalfAway_P0_N4 :: Dict (K.Div 'K.RoundHalfAway (P 0) (N 4) ~ P 0)
+_test_Div_RoundHalfAway_P0_N4 =  Dict
+_test_Rem_RoundHalfAway_P0_N4 :: Dict (K.Rem 'K.RoundHalfAway (P 0) (N 4) ~ P 0)
+_test_Rem_RoundHalfAway_P0_N4 =  Dict
+_test_Div_RoundHalfAway_P0_P1 :: Dict (K.Div 'K.RoundHalfAway (P 0) (P 1) ~ P 0)
+_test_Div_RoundHalfAway_P0_P1 =  Dict
+_test_Rem_RoundHalfAway_P0_P1 :: Dict (K.Rem 'K.RoundHalfAway (P 0) (P 1) ~ P 0)
+_test_Rem_RoundHalfAway_P0_P1 =  Dict
+_test_Div_RoundHalfAway_P0_P2 :: Dict (K.Div 'K.RoundHalfAway (P 0) (P 2) ~ P 0)
+_test_Div_RoundHalfAway_P0_P2 =  Dict
+_test_Rem_RoundHalfAway_P0_P2 :: Dict (K.Rem 'K.RoundHalfAway (P 0) (P 2) ~ P 0)
+_test_Rem_RoundHalfAway_P0_P2 =  Dict
+_test_Div_RoundHalfAway_P0_P3 :: Dict (K.Div 'K.RoundHalfAway (P 0) (P 3) ~ P 0)
+_test_Div_RoundHalfAway_P0_P3 =  Dict
+_test_Rem_RoundHalfAway_P0_P3 :: Dict (K.Rem 'K.RoundHalfAway (P 0) (P 3) ~ P 0)
+_test_Rem_RoundHalfAway_P0_P3 =  Dict
+_test_Div_RoundHalfAway_P0_P4 :: Dict (K.Div 'K.RoundHalfAway (P 0) (P 4) ~ P 0)
+_test_Div_RoundHalfAway_P0_P4 =  Dict
+_test_Rem_RoundHalfAway_P0_P4 :: Dict (K.Rem 'K.RoundHalfAway (P 0) (P 4) ~ P 0)
+_test_Rem_RoundHalfAway_P0_P4 =  Dict
+_test_Div_RoundHalfAway_P1_N1 :: Dict (K.Div 'K.RoundHalfAway (P 1) (N 1) ~ N 1)
+_test_Div_RoundHalfAway_P1_N1 =  Dict
+_test_Rem_RoundHalfAway_P1_N1 :: Dict (K.Rem 'K.RoundHalfAway (P 1) (N 1) ~ P 0)
+_test_Rem_RoundHalfAway_P1_N1 =  Dict
+_test_Div_RoundHalfAway_P1_N2 :: Dict (K.Div 'K.RoundHalfAway (P 1) (N 2) ~ N 1)
+_test_Div_RoundHalfAway_P1_N2 =  Dict
+_test_Rem_RoundHalfAway_P1_N2 :: Dict (K.Rem 'K.RoundHalfAway (P 1) (N 2) ~ N 1)
+_test_Rem_RoundHalfAway_P1_N2 =  Dict
+_test_Div_RoundHalfAway_P1_N3 :: Dict (K.Div 'K.RoundHalfAway (P 1) (N 3) ~ P 0)
+_test_Div_RoundHalfAway_P1_N3 =  Dict
+_test_Rem_RoundHalfAway_P1_N3 :: Dict (K.Rem 'K.RoundHalfAway (P 1) (N 3) ~ P 1)
+_test_Rem_RoundHalfAway_P1_N3 =  Dict
+_test_Div_RoundHalfAway_P1_N4 :: Dict (K.Div 'K.RoundHalfAway (P 1) (N 4) ~ P 0)
+_test_Div_RoundHalfAway_P1_N4 =  Dict
+_test_Rem_RoundHalfAway_P1_N4 :: Dict (K.Rem 'K.RoundHalfAway (P 1) (N 4) ~ P 1)
+_test_Rem_RoundHalfAway_P1_N4 =  Dict
+_test_Div_RoundHalfAway_P1_P1 :: Dict (K.Div 'K.RoundHalfAway (P 1) (P 1) ~ P 1)
+_test_Div_RoundHalfAway_P1_P1 =  Dict
+_test_Rem_RoundHalfAway_P1_P1 :: Dict (K.Rem 'K.RoundHalfAway (P 1) (P 1) ~ P 0)
+_test_Rem_RoundHalfAway_P1_P1 =  Dict
+_test_Div_RoundHalfAway_P1_P2 :: Dict (K.Div 'K.RoundHalfAway (P 1) (P 2) ~ P 1)
+_test_Div_RoundHalfAway_P1_P2 =  Dict
+_test_Rem_RoundHalfAway_P1_P2 :: Dict (K.Rem 'K.RoundHalfAway (P 1) (P 2) ~ N 1)
+_test_Rem_RoundHalfAway_P1_P2 =  Dict
+_test_Div_RoundHalfAway_P1_P3 :: Dict (K.Div 'K.RoundHalfAway (P 1) (P 3) ~ P 0)
+_test_Div_RoundHalfAway_P1_P3 =  Dict
+_test_Rem_RoundHalfAway_P1_P3 :: Dict (K.Rem 'K.RoundHalfAway (P 1) (P 3) ~ P 1)
+_test_Rem_RoundHalfAway_P1_P3 =  Dict
+_test_Div_RoundHalfAway_P1_P4 :: Dict (K.Div 'K.RoundHalfAway (P 1) (P 4) ~ P 0)
+_test_Div_RoundHalfAway_P1_P4 =  Dict
+_test_Rem_RoundHalfAway_P1_P4 :: Dict (K.Rem 'K.RoundHalfAway (P 1) (P 4) ~ P 1)
+_test_Rem_RoundHalfAway_P1_P4 =  Dict
+_test_Div_RoundHalfAway_P2_N1 :: Dict (K.Div 'K.RoundHalfAway (P 2) (N 1) ~ N 2)
+_test_Div_RoundHalfAway_P2_N1 =  Dict
+_test_Rem_RoundHalfAway_P2_N1 :: Dict (K.Rem 'K.RoundHalfAway (P 2) (N 1) ~ P 0)
+_test_Rem_RoundHalfAway_P2_N1 =  Dict
+_test_Div_RoundHalfAway_P2_N2 :: Dict (K.Div 'K.RoundHalfAway (P 2) (N 2) ~ N 1)
+_test_Div_RoundHalfAway_P2_N2 =  Dict
+_test_Rem_RoundHalfAway_P2_N2 :: Dict (K.Rem 'K.RoundHalfAway (P 2) (N 2) ~ P 0)
+_test_Rem_RoundHalfAway_P2_N2 =  Dict
+_test_Div_RoundHalfAway_P2_N3 :: Dict (K.Div 'K.RoundHalfAway (P 2) (N 3) ~ N 1)
+_test_Div_RoundHalfAway_P2_N3 =  Dict
+_test_Rem_RoundHalfAway_P2_N3 :: Dict (K.Rem 'K.RoundHalfAway (P 2) (N 3) ~ N 1)
+_test_Rem_RoundHalfAway_P2_N3 =  Dict
+_test_Div_RoundHalfAway_P2_N4 :: Dict (K.Div 'K.RoundHalfAway (P 2) (N 4) ~ N 1)
+_test_Div_RoundHalfAway_P2_N4 =  Dict
+_test_Rem_RoundHalfAway_P2_N4 :: Dict (K.Rem 'K.RoundHalfAway (P 2) (N 4) ~ N 2)
+_test_Rem_RoundHalfAway_P2_N4 =  Dict
+_test_Div_RoundHalfAway_P2_P1 :: Dict (K.Div 'K.RoundHalfAway (P 2) (P 1) ~ P 2)
+_test_Div_RoundHalfAway_P2_P1 =  Dict
+_test_Rem_RoundHalfAway_P2_P1 :: Dict (K.Rem 'K.RoundHalfAway (P 2) (P 1) ~ P 0)
+_test_Rem_RoundHalfAway_P2_P1 =  Dict
+_test_Div_RoundHalfAway_P2_P2 :: Dict (K.Div 'K.RoundHalfAway (P 2) (P 2) ~ P 1)
+_test_Div_RoundHalfAway_P2_P2 =  Dict
+_test_Rem_RoundHalfAway_P2_P2 :: Dict (K.Rem 'K.RoundHalfAway (P 2) (P 2) ~ P 0)
+_test_Rem_RoundHalfAway_P2_P2 =  Dict
+_test_Div_RoundHalfAway_P2_P3 :: Dict (K.Div 'K.RoundHalfAway (P 2) (P 3) ~ P 1)
+_test_Div_RoundHalfAway_P2_P3 =  Dict
+_test_Rem_RoundHalfAway_P2_P3 :: Dict (K.Rem 'K.RoundHalfAway (P 2) (P 3) ~ N 1)
+_test_Rem_RoundHalfAway_P2_P3 =  Dict
+_test_Div_RoundHalfAway_P2_P4 :: Dict (K.Div 'K.RoundHalfAway (P 2) (P 4) ~ P 1)
+_test_Div_RoundHalfAway_P2_P4 =  Dict
+_test_Rem_RoundHalfAway_P2_P4 :: Dict (K.Rem 'K.RoundHalfAway (P 2) (P 4) ~ N 2)
+_test_Rem_RoundHalfAway_P2_P4 =  Dict
+_test_Div_RoundHalfAway_P3_N1 :: Dict (K.Div 'K.RoundHalfAway (P 3) (N 1) ~ N 3)
+_test_Div_RoundHalfAway_P3_N1 =  Dict
+_test_Rem_RoundHalfAway_P3_N1 :: Dict (K.Rem 'K.RoundHalfAway (P 3) (N 1) ~ P 0)
+_test_Rem_RoundHalfAway_P3_N1 =  Dict
+_test_Div_RoundHalfAway_P3_N2 :: Dict (K.Div 'K.RoundHalfAway (P 3) (N 2) ~ N 2)
+_test_Div_RoundHalfAway_P3_N2 =  Dict
+_test_Rem_RoundHalfAway_P3_N2 :: Dict (K.Rem 'K.RoundHalfAway (P 3) (N 2) ~ N 1)
+_test_Rem_RoundHalfAway_P3_N2 =  Dict
+_test_Div_RoundHalfAway_P3_N3 :: Dict (K.Div 'K.RoundHalfAway (P 3) (N 3) ~ N 1)
+_test_Div_RoundHalfAway_P3_N3 =  Dict
+_test_Rem_RoundHalfAway_P3_N3 :: Dict (K.Rem 'K.RoundHalfAway (P 3) (N 3) ~ P 0)
+_test_Rem_RoundHalfAway_P3_N3 =  Dict
+_test_Div_RoundHalfAway_P3_N4 :: Dict (K.Div 'K.RoundHalfAway (P 3) (N 4) ~ N 1)
+_test_Div_RoundHalfAway_P3_N4 =  Dict
+_test_Rem_RoundHalfAway_P3_N4 :: Dict (K.Rem 'K.RoundHalfAway (P 3) (N 4) ~ N 1)
+_test_Rem_RoundHalfAway_P3_N4 =  Dict
+_test_Div_RoundHalfAway_P3_P1 :: Dict (K.Div 'K.RoundHalfAway (P 3) (P 1) ~ P 3)
+_test_Div_RoundHalfAway_P3_P1 =  Dict
+_test_Rem_RoundHalfAway_P3_P1 :: Dict (K.Rem 'K.RoundHalfAway (P 3) (P 1) ~ P 0)
+_test_Rem_RoundHalfAway_P3_P1 =  Dict
+_test_Div_RoundHalfAway_P3_P2 :: Dict (K.Div 'K.RoundHalfAway (P 3) (P 2) ~ P 2)
+_test_Div_RoundHalfAway_P3_P2 =  Dict
+_test_Rem_RoundHalfAway_P3_P2 :: Dict (K.Rem 'K.RoundHalfAway (P 3) (P 2) ~ N 1)
+_test_Rem_RoundHalfAway_P3_P2 =  Dict
+_test_Div_RoundHalfAway_P3_P3 :: Dict (K.Div 'K.RoundHalfAway (P 3) (P 3) ~ P 1)
+_test_Div_RoundHalfAway_P3_P3 =  Dict
+_test_Rem_RoundHalfAway_P3_P3 :: Dict (K.Rem 'K.RoundHalfAway (P 3) (P 3) ~ P 0)
+_test_Rem_RoundHalfAway_P3_P3 =  Dict
+_test_Div_RoundHalfAway_P3_P4 :: Dict (K.Div 'K.RoundHalfAway (P 3) (P 4) ~ P 1)
+_test_Div_RoundHalfAway_P3_P4 =  Dict
+_test_Rem_RoundHalfAway_P3_P4 :: Dict (K.Rem 'K.RoundHalfAway (P 3) (P 4) ~ N 1)
+_test_Rem_RoundHalfAway_P3_P4 =  Dict
+_test_Div_RoundHalfAway_P4_N1 :: Dict (K.Div 'K.RoundHalfAway (P 4) (N 1) ~ N 4)
+_test_Div_RoundHalfAway_P4_N1 =  Dict
+_test_Rem_RoundHalfAway_P4_N1 :: Dict (K.Rem 'K.RoundHalfAway (P 4) (N 1) ~ P 0)
+_test_Rem_RoundHalfAway_P4_N1 =  Dict
+_test_Div_RoundHalfAway_P4_N2 :: Dict (K.Div 'K.RoundHalfAway (P 4) (N 2) ~ N 2)
+_test_Div_RoundHalfAway_P4_N2 =  Dict
+_test_Rem_RoundHalfAway_P4_N2 :: Dict (K.Rem 'K.RoundHalfAway (P 4) (N 2) ~ P 0)
+_test_Rem_RoundHalfAway_P4_N2 =  Dict
+_test_Div_RoundHalfAway_P4_N3 :: Dict (K.Div 'K.RoundHalfAway (P 4) (N 3) ~ N 1)
+_test_Div_RoundHalfAway_P4_N3 =  Dict
+_test_Rem_RoundHalfAway_P4_N3 :: Dict (K.Rem 'K.RoundHalfAway (P 4) (N 3) ~ P 1)
+_test_Rem_RoundHalfAway_P4_N3 =  Dict
+_test_Div_RoundHalfAway_P4_N4 :: Dict (K.Div 'K.RoundHalfAway (P 4) (N 4) ~ N 1)
+_test_Div_RoundHalfAway_P4_N4 =  Dict
+_test_Rem_RoundHalfAway_P4_N4 :: Dict (K.Rem 'K.RoundHalfAway (P 4) (N 4) ~ P 0)
+_test_Rem_RoundHalfAway_P4_N4 =  Dict
+_test_Div_RoundHalfAway_P4_P1 :: Dict (K.Div 'K.RoundHalfAway (P 4) (P 1) ~ P 4)
+_test_Div_RoundHalfAway_P4_P1 =  Dict
+_test_Rem_RoundHalfAway_P4_P1 :: Dict (K.Rem 'K.RoundHalfAway (P 4) (P 1) ~ P 0)
+_test_Rem_RoundHalfAway_P4_P1 =  Dict
+_test_Div_RoundHalfAway_P4_P2 :: Dict (K.Div 'K.RoundHalfAway (P 4) (P 2) ~ P 2)
+_test_Div_RoundHalfAway_P4_P2 =  Dict
+_test_Rem_RoundHalfAway_P4_P2 :: Dict (K.Rem 'K.RoundHalfAway (P 4) (P 2) ~ P 0)
+_test_Rem_RoundHalfAway_P4_P2 =  Dict
+_test_Div_RoundHalfAway_P4_P3 :: Dict (K.Div 'K.RoundHalfAway (P 4) (P 3) ~ P 1)
+_test_Div_RoundHalfAway_P4_P3 =  Dict
+_test_Rem_RoundHalfAway_P4_P3 :: Dict (K.Rem 'K.RoundHalfAway (P 4) (P 3) ~ P 1)
+_test_Rem_RoundHalfAway_P4_P3 =  Dict
+_test_Div_RoundHalfAway_P4_P4 :: Dict (K.Div 'K.RoundHalfAway (P 4) (P 4) ~ P 1)
+_test_Div_RoundHalfAway_P4_P4 =  Dict
+_test_Rem_RoundHalfAway_P4_P4 :: Dict (K.Rem 'K.RoundHalfAway (P 4) (P 4) ~ P 0)
+_test_Rem_RoundHalfAway_P4_P4 =  Dict
+_test_Div_RoundHalfDown_N1_N1 :: Dict (K.Div 'K.RoundHalfDown (N 1) (N 1) ~ P 1)
+_test_Div_RoundHalfDown_N1_N1 =  Dict
+_test_Rem_RoundHalfDown_N1_N1 :: Dict (K.Rem 'K.RoundHalfDown (N 1) (N 1) ~ P 0)
+_test_Rem_RoundHalfDown_N1_N1 =  Dict
+_test_Div_RoundHalfDown_N1_N2 :: Dict (K.Div 'K.RoundHalfDown (N 1) (N 2) ~ P 0)
+_test_Div_RoundHalfDown_N1_N2 =  Dict
+_test_Rem_RoundHalfDown_N1_N2 :: Dict (K.Rem 'K.RoundHalfDown (N 1) (N 2) ~ N 1)
+_test_Rem_RoundHalfDown_N1_N2 =  Dict
+_test_Div_RoundHalfDown_N1_N3 :: Dict (K.Div 'K.RoundHalfDown (N 1) (N 3) ~ P 0)
+_test_Div_RoundHalfDown_N1_N3 =  Dict
+_test_Rem_RoundHalfDown_N1_N3 :: Dict (K.Rem 'K.RoundHalfDown (N 1) (N 3) ~ N 1)
+_test_Rem_RoundHalfDown_N1_N3 =  Dict
+_test_Div_RoundHalfDown_N1_N4 :: Dict (K.Div 'K.RoundHalfDown (N 1) (N 4) ~ P 0)
+_test_Div_RoundHalfDown_N1_N4 =  Dict
+_test_Rem_RoundHalfDown_N1_N4 :: Dict (K.Rem 'K.RoundHalfDown (N 1) (N 4) ~ N 1)
+_test_Rem_RoundHalfDown_N1_N4 =  Dict
+_test_Div_RoundHalfDown_N1_P1 :: Dict (K.Div 'K.RoundHalfDown (N 1) (P 1) ~ N 1)
+_test_Div_RoundHalfDown_N1_P1 =  Dict
+_test_Rem_RoundHalfDown_N1_P1 :: Dict (K.Rem 'K.RoundHalfDown (N 1) (P 1) ~ P 0)
+_test_Rem_RoundHalfDown_N1_P1 =  Dict
+_test_Div_RoundHalfDown_N1_P2 :: Dict (K.Div 'K.RoundHalfDown (N 1) (P 2) ~ N 1)
+_test_Div_RoundHalfDown_N1_P2 =  Dict
+_test_Rem_RoundHalfDown_N1_P2 :: Dict (K.Rem 'K.RoundHalfDown (N 1) (P 2) ~ P 1)
+_test_Rem_RoundHalfDown_N1_P2 =  Dict
+_test_Div_RoundHalfDown_N1_P3 :: Dict (K.Div 'K.RoundHalfDown (N 1) (P 3) ~ P 0)
+_test_Div_RoundHalfDown_N1_P3 =  Dict
+_test_Rem_RoundHalfDown_N1_P3 :: Dict (K.Rem 'K.RoundHalfDown (N 1) (P 3) ~ N 1)
+_test_Rem_RoundHalfDown_N1_P3 =  Dict
+_test_Div_RoundHalfDown_N1_P4 :: Dict (K.Div 'K.RoundHalfDown (N 1) (P 4) ~ P 0)
+_test_Div_RoundHalfDown_N1_P4 =  Dict
+_test_Rem_RoundHalfDown_N1_P4 :: Dict (K.Rem 'K.RoundHalfDown (N 1) (P 4) ~ N 1)
+_test_Rem_RoundHalfDown_N1_P4 =  Dict
+_test_Div_RoundHalfDown_N2_N1 :: Dict (K.Div 'K.RoundHalfDown (N 2) (N 1) ~ P 2)
+_test_Div_RoundHalfDown_N2_N1 =  Dict
+_test_Rem_RoundHalfDown_N2_N1 :: Dict (K.Rem 'K.RoundHalfDown (N 2) (N 1) ~ P 0)
+_test_Rem_RoundHalfDown_N2_N1 =  Dict
+_test_Div_RoundHalfDown_N2_N2 :: Dict (K.Div 'K.RoundHalfDown (N 2) (N 2) ~ P 1)
+_test_Div_RoundHalfDown_N2_N2 =  Dict
+_test_Rem_RoundHalfDown_N2_N2 :: Dict (K.Rem 'K.RoundHalfDown (N 2) (N 2) ~ P 0)
+_test_Rem_RoundHalfDown_N2_N2 =  Dict
+_test_Div_RoundHalfDown_N2_N3 :: Dict (K.Div 'K.RoundHalfDown (N 2) (N 3) ~ P 1)
+_test_Div_RoundHalfDown_N2_N3 =  Dict
+_test_Rem_RoundHalfDown_N2_N3 :: Dict (K.Rem 'K.RoundHalfDown (N 2) (N 3) ~ P 1)
+_test_Rem_RoundHalfDown_N2_N3 =  Dict
+_test_Div_RoundHalfDown_N2_N4 :: Dict (K.Div 'K.RoundHalfDown (N 2) (N 4) ~ P 0)
+_test_Div_RoundHalfDown_N2_N4 =  Dict
+_test_Rem_RoundHalfDown_N2_N4 :: Dict (K.Rem 'K.RoundHalfDown (N 2) (N 4) ~ N 2)
+_test_Rem_RoundHalfDown_N2_N4 =  Dict
+_test_Div_RoundHalfDown_N2_P1 :: Dict (K.Div 'K.RoundHalfDown (N 2) (P 1) ~ N 2)
+_test_Div_RoundHalfDown_N2_P1 =  Dict
+_test_Rem_RoundHalfDown_N2_P1 :: Dict (K.Rem 'K.RoundHalfDown (N 2) (P 1) ~ P 0)
+_test_Rem_RoundHalfDown_N2_P1 =  Dict
+_test_Div_RoundHalfDown_N2_P2 :: Dict (K.Div 'K.RoundHalfDown (N 2) (P 2) ~ N 1)
+_test_Div_RoundHalfDown_N2_P2 =  Dict
+_test_Rem_RoundHalfDown_N2_P2 :: Dict (K.Rem 'K.RoundHalfDown (N 2) (P 2) ~ P 0)
+_test_Rem_RoundHalfDown_N2_P2 =  Dict
+_test_Div_RoundHalfDown_N2_P3 :: Dict (K.Div 'K.RoundHalfDown (N 2) (P 3) ~ N 1)
+_test_Div_RoundHalfDown_N2_P3 =  Dict
+_test_Rem_RoundHalfDown_N2_P3 :: Dict (K.Rem 'K.RoundHalfDown (N 2) (P 3) ~ P 1)
+_test_Rem_RoundHalfDown_N2_P3 =  Dict
+_test_Div_RoundHalfDown_N2_P4 :: Dict (K.Div 'K.RoundHalfDown (N 2) (P 4) ~ N 1)
+_test_Div_RoundHalfDown_N2_P4 =  Dict
+_test_Rem_RoundHalfDown_N2_P4 :: Dict (K.Rem 'K.RoundHalfDown (N 2) (P 4) ~ P 2)
+_test_Rem_RoundHalfDown_N2_P4 =  Dict
+_test_Div_RoundHalfDown_N3_N1 :: Dict (K.Div 'K.RoundHalfDown (N 3) (N 1) ~ P 3)
+_test_Div_RoundHalfDown_N3_N1 =  Dict
+_test_Rem_RoundHalfDown_N3_N1 :: Dict (K.Rem 'K.RoundHalfDown (N 3) (N 1) ~ P 0)
+_test_Rem_RoundHalfDown_N3_N1 =  Dict
+_test_Div_RoundHalfDown_N3_N2 :: Dict (K.Div 'K.RoundHalfDown (N 3) (N 2) ~ P 1)
+_test_Div_RoundHalfDown_N3_N2 =  Dict
+_test_Rem_RoundHalfDown_N3_N2 :: Dict (K.Rem 'K.RoundHalfDown (N 3) (N 2) ~ N 1)
+_test_Rem_RoundHalfDown_N3_N2 =  Dict
+_test_Div_RoundHalfDown_N3_N3 :: Dict (K.Div 'K.RoundHalfDown (N 3) (N 3) ~ P 1)
+_test_Div_RoundHalfDown_N3_N3 =  Dict
+_test_Rem_RoundHalfDown_N3_N3 :: Dict (K.Rem 'K.RoundHalfDown (N 3) (N 3) ~ P 0)
+_test_Rem_RoundHalfDown_N3_N3 =  Dict
+_test_Div_RoundHalfDown_N3_N4 :: Dict (K.Div 'K.RoundHalfDown (N 3) (N 4) ~ P 1)
+_test_Div_RoundHalfDown_N3_N4 =  Dict
+_test_Rem_RoundHalfDown_N3_N4 :: Dict (K.Rem 'K.RoundHalfDown (N 3) (N 4) ~ P 1)
+_test_Rem_RoundHalfDown_N3_N4 =  Dict
+_test_Div_RoundHalfDown_N3_P1 :: Dict (K.Div 'K.RoundHalfDown (N 3) (P 1) ~ N 3)
+_test_Div_RoundHalfDown_N3_P1 =  Dict
+_test_Rem_RoundHalfDown_N3_P1 :: Dict (K.Rem 'K.RoundHalfDown (N 3) (P 1) ~ P 0)
+_test_Rem_RoundHalfDown_N3_P1 =  Dict
+_test_Div_RoundHalfDown_N3_P2 :: Dict (K.Div 'K.RoundHalfDown (N 3) (P 2) ~ N 2)
+_test_Div_RoundHalfDown_N3_P2 =  Dict
+_test_Rem_RoundHalfDown_N3_P2 :: Dict (K.Rem 'K.RoundHalfDown (N 3) (P 2) ~ P 1)
+_test_Rem_RoundHalfDown_N3_P2 =  Dict
+_test_Div_RoundHalfDown_N3_P3 :: Dict (K.Div 'K.RoundHalfDown (N 3) (P 3) ~ N 1)
+_test_Div_RoundHalfDown_N3_P3 =  Dict
+_test_Rem_RoundHalfDown_N3_P3 :: Dict (K.Rem 'K.RoundHalfDown (N 3) (P 3) ~ P 0)
+_test_Rem_RoundHalfDown_N3_P3 =  Dict
+_test_Div_RoundHalfDown_N3_P4 :: Dict (K.Div 'K.RoundHalfDown (N 3) (P 4) ~ N 1)
+_test_Div_RoundHalfDown_N3_P4 =  Dict
+_test_Rem_RoundHalfDown_N3_P4 :: Dict (K.Rem 'K.RoundHalfDown (N 3) (P 4) ~ P 1)
+_test_Rem_RoundHalfDown_N3_P4 =  Dict
+_test_Div_RoundHalfDown_N4_N1 :: Dict (K.Div 'K.RoundHalfDown (N 4) (N 1) ~ P 4)
+_test_Div_RoundHalfDown_N4_N1 =  Dict
+_test_Rem_RoundHalfDown_N4_N1 :: Dict (K.Rem 'K.RoundHalfDown (N 4) (N 1) ~ P 0)
+_test_Rem_RoundHalfDown_N4_N1 =  Dict
+_test_Div_RoundHalfDown_N4_N2 :: Dict (K.Div 'K.RoundHalfDown (N 4) (N 2) ~ P 2)
+_test_Div_RoundHalfDown_N4_N2 =  Dict
+_test_Rem_RoundHalfDown_N4_N2 :: Dict (K.Rem 'K.RoundHalfDown (N 4) (N 2) ~ P 0)
+_test_Rem_RoundHalfDown_N4_N2 =  Dict
+_test_Div_RoundHalfDown_N4_N3 :: Dict (K.Div 'K.RoundHalfDown (N 4) (N 3) ~ P 1)
+_test_Div_RoundHalfDown_N4_N3 =  Dict
+_test_Rem_RoundHalfDown_N4_N3 :: Dict (K.Rem 'K.RoundHalfDown (N 4) (N 3) ~ N 1)
+_test_Rem_RoundHalfDown_N4_N3 =  Dict
+_test_Div_RoundHalfDown_N4_N4 :: Dict (K.Div 'K.RoundHalfDown (N 4) (N 4) ~ P 1)
+_test_Div_RoundHalfDown_N4_N4 =  Dict
+_test_Rem_RoundHalfDown_N4_N4 :: Dict (K.Rem 'K.RoundHalfDown (N 4) (N 4) ~ P 0)
+_test_Rem_RoundHalfDown_N4_N4 =  Dict
+_test_Div_RoundHalfDown_N4_P1 :: Dict (K.Div 'K.RoundHalfDown (N 4) (P 1) ~ N 4)
+_test_Div_RoundHalfDown_N4_P1 =  Dict
+_test_Rem_RoundHalfDown_N4_P1 :: Dict (K.Rem 'K.RoundHalfDown (N 4) (P 1) ~ P 0)
+_test_Rem_RoundHalfDown_N4_P1 =  Dict
+_test_Div_RoundHalfDown_N4_P2 :: Dict (K.Div 'K.RoundHalfDown (N 4) (P 2) ~ N 2)
+_test_Div_RoundHalfDown_N4_P2 =  Dict
+_test_Rem_RoundHalfDown_N4_P2 :: Dict (K.Rem 'K.RoundHalfDown (N 4) (P 2) ~ P 0)
+_test_Rem_RoundHalfDown_N4_P2 =  Dict
+_test_Div_RoundHalfDown_N4_P3 :: Dict (K.Div 'K.RoundHalfDown (N 4) (P 3) ~ N 1)
+_test_Div_RoundHalfDown_N4_P3 =  Dict
+_test_Rem_RoundHalfDown_N4_P3 :: Dict (K.Rem 'K.RoundHalfDown (N 4) (P 3) ~ N 1)
+_test_Rem_RoundHalfDown_N4_P3 =  Dict
+_test_Div_RoundHalfDown_N4_P4 :: Dict (K.Div 'K.RoundHalfDown (N 4) (P 4) ~ N 1)
+_test_Div_RoundHalfDown_N4_P4 =  Dict
+_test_Rem_RoundHalfDown_N4_P4 :: Dict (K.Rem 'K.RoundHalfDown (N 4) (P 4) ~ P 0)
+_test_Rem_RoundHalfDown_N4_P4 =  Dict
+_test_Div_RoundHalfDown_P0_N1 :: Dict (K.Div 'K.RoundHalfDown (P 0) (N 1) ~ P 0)
+_test_Div_RoundHalfDown_P0_N1 =  Dict
+_test_Rem_RoundHalfDown_P0_N1 :: Dict (K.Rem 'K.RoundHalfDown (P 0) (N 1) ~ P 0)
+_test_Rem_RoundHalfDown_P0_N1 =  Dict
+_test_Div_RoundHalfDown_P0_N2 :: Dict (K.Div 'K.RoundHalfDown (P 0) (N 2) ~ P 0)
+_test_Div_RoundHalfDown_P0_N2 =  Dict
+_test_Rem_RoundHalfDown_P0_N2 :: Dict (K.Rem 'K.RoundHalfDown (P 0) (N 2) ~ P 0)
+_test_Rem_RoundHalfDown_P0_N2 =  Dict
+_test_Div_RoundHalfDown_P0_N3 :: Dict (K.Div 'K.RoundHalfDown (P 0) (N 3) ~ P 0)
+_test_Div_RoundHalfDown_P0_N3 =  Dict
+_test_Rem_RoundHalfDown_P0_N3 :: Dict (K.Rem 'K.RoundHalfDown (P 0) (N 3) ~ P 0)
+_test_Rem_RoundHalfDown_P0_N3 =  Dict
+_test_Div_RoundHalfDown_P0_N4 :: Dict (K.Div 'K.RoundHalfDown (P 0) (N 4) ~ P 0)
+_test_Div_RoundHalfDown_P0_N4 =  Dict
+_test_Rem_RoundHalfDown_P0_N4 :: Dict (K.Rem 'K.RoundHalfDown (P 0) (N 4) ~ P 0)
+_test_Rem_RoundHalfDown_P0_N4 =  Dict
+_test_Div_RoundHalfDown_P0_P1 :: Dict (K.Div 'K.RoundHalfDown (P 0) (P 1) ~ P 0)
+_test_Div_RoundHalfDown_P0_P1 =  Dict
+_test_Rem_RoundHalfDown_P0_P1 :: Dict (K.Rem 'K.RoundHalfDown (P 0) (P 1) ~ P 0)
+_test_Rem_RoundHalfDown_P0_P1 =  Dict
+_test_Div_RoundHalfDown_P0_P2 :: Dict (K.Div 'K.RoundHalfDown (P 0) (P 2) ~ P 0)
+_test_Div_RoundHalfDown_P0_P2 =  Dict
+_test_Rem_RoundHalfDown_P0_P2 :: Dict (K.Rem 'K.RoundHalfDown (P 0) (P 2) ~ P 0)
+_test_Rem_RoundHalfDown_P0_P2 =  Dict
+_test_Div_RoundHalfDown_P0_P3 :: Dict (K.Div 'K.RoundHalfDown (P 0) (P 3) ~ P 0)
+_test_Div_RoundHalfDown_P0_P3 =  Dict
+_test_Rem_RoundHalfDown_P0_P3 :: Dict (K.Rem 'K.RoundHalfDown (P 0) (P 3) ~ P 0)
+_test_Rem_RoundHalfDown_P0_P3 =  Dict
+_test_Div_RoundHalfDown_P0_P4 :: Dict (K.Div 'K.RoundHalfDown (P 0) (P 4) ~ P 0)
+_test_Div_RoundHalfDown_P0_P4 =  Dict
+_test_Rem_RoundHalfDown_P0_P4 :: Dict (K.Rem 'K.RoundHalfDown (P 0) (P 4) ~ P 0)
+_test_Rem_RoundHalfDown_P0_P4 =  Dict
+_test_Div_RoundHalfDown_P1_N1 :: Dict (K.Div 'K.RoundHalfDown (P 1) (N 1) ~ N 1)
+_test_Div_RoundHalfDown_P1_N1 =  Dict
+_test_Rem_RoundHalfDown_P1_N1 :: Dict (K.Rem 'K.RoundHalfDown (P 1) (N 1) ~ P 0)
+_test_Rem_RoundHalfDown_P1_N1 =  Dict
+_test_Div_RoundHalfDown_P1_N2 :: Dict (K.Div 'K.RoundHalfDown (P 1) (N 2) ~ N 1)
+_test_Div_RoundHalfDown_P1_N2 =  Dict
+_test_Rem_RoundHalfDown_P1_N2 :: Dict (K.Rem 'K.RoundHalfDown (P 1) (N 2) ~ N 1)
+_test_Rem_RoundHalfDown_P1_N2 =  Dict
+_test_Div_RoundHalfDown_P1_N3 :: Dict (K.Div 'K.RoundHalfDown (P 1) (N 3) ~ P 0)
+_test_Div_RoundHalfDown_P1_N3 =  Dict
+_test_Rem_RoundHalfDown_P1_N3 :: Dict (K.Rem 'K.RoundHalfDown (P 1) (N 3) ~ P 1)
+_test_Rem_RoundHalfDown_P1_N3 =  Dict
+_test_Div_RoundHalfDown_P1_N4 :: Dict (K.Div 'K.RoundHalfDown (P 1) (N 4) ~ P 0)
+_test_Div_RoundHalfDown_P1_N4 =  Dict
+_test_Rem_RoundHalfDown_P1_N4 :: Dict (K.Rem 'K.RoundHalfDown (P 1) (N 4) ~ P 1)
+_test_Rem_RoundHalfDown_P1_N4 =  Dict
+_test_Div_RoundHalfDown_P1_P1 :: Dict (K.Div 'K.RoundHalfDown (P 1) (P 1) ~ P 1)
+_test_Div_RoundHalfDown_P1_P1 =  Dict
+_test_Rem_RoundHalfDown_P1_P1 :: Dict (K.Rem 'K.RoundHalfDown (P 1) (P 1) ~ P 0)
+_test_Rem_RoundHalfDown_P1_P1 =  Dict
+_test_Div_RoundHalfDown_P1_P2 :: Dict (K.Div 'K.RoundHalfDown (P 1) (P 2) ~ P 0)
+_test_Div_RoundHalfDown_P1_P2 =  Dict
+_test_Rem_RoundHalfDown_P1_P2 :: Dict (K.Rem 'K.RoundHalfDown (P 1) (P 2) ~ P 1)
+_test_Rem_RoundHalfDown_P1_P2 =  Dict
+_test_Div_RoundHalfDown_P1_P3 :: Dict (K.Div 'K.RoundHalfDown (P 1) (P 3) ~ P 0)
+_test_Div_RoundHalfDown_P1_P3 =  Dict
+_test_Rem_RoundHalfDown_P1_P3 :: Dict (K.Rem 'K.RoundHalfDown (P 1) (P 3) ~ P 1)
+_test_Rem_RoundHalfDown_P1_P3 =  Dict
+_test_Div_RoundHalfDown_P1_P4 :: Dict (K.Div 'K.RoundHalfDown (P 1) (P 4) ~ P 0)
+_test_Div_RoundHalfDown_P1_P4 =  Dict
+_test_Rem_RoundHalfDown_P1_P4 :: Dict (K.Rem 'K.RoundHalfDown (P 1) (P 4) ~ P 1)
+_test_Rem_RoundHalfDown_P1_P4 =  Dict
+_test_Div_RoundHalfDown_P2_N1 :: Dict (K.Div 'K.RoundHalfDown (P 2) (N 1) ~ N 2)
+_test_Div_RoundHalfDown_P2_N1 =  Dict
+_test_Rem_RoundHalfDown_P2_N1 :: Dict (K.Rem 'K.RoundHalfDown (P 2) (N 1) ~ P 0)
+_test_Rem_RoundHalfDown_P2_N1 =  Dict
+_test_Div_RoundHalfDown_P2_N2 :: Dict (K.Div 'K.RoundHalfDown (P 2) (N 2) ~ N 1)
+_test_Div_RoundHalfDown_P2_N2 =  Dict
+_test_Rem_RoundHalfDown_P2_N2 :: Dict (K.Rem 'K.RoundHalfDown (P 2) (N 2) ~ P 0)
+_test_Rem_RoundHalfDown_P2_N2 =  Dict
+_test_Div_RoundHalfDown_P2_N3 :: Dict (K.Div 'K.RoundHalfDown (P 2) (N 3) ~ N 1)
+_test_Div_RoundHalfDown_P2_N3 =  Dict
+_test_Rem_RoundHalfDown_P2_N3 :: Dict (K.Rem 'K.RoundHalfDown (P 2) (N 3) ~ N 1)
+_test_Rem_RoundHalfDown_P2_N3 =  Dict
+_test_Div_RoundHalfDown_P2_N4 :: Dict (K.Div 'K.RoundHalfDown (P 2) (N 4) ~ N 1)
+_test_Div_RoundHalfDown_P2_N4 =  Dict
+_test_Rem_RoundHalfDown_P2_N4 :: Dict (K.Rem 'K.RoundHalfDown (P 2) (N 4) ~ N 2)
+_test_Rem_RoundHalfDown_P2_N4 =  Dict
+_test_Div_RoundHalfDown_P2_P1 :: Dict (K.Div 'K.RoundHalfDown (P 2) (P 1) ~ P 2)
+_test_Div_RoundHalfDown_P2_P1 =  Dict
+_test_Rem_RoundHalfDown_P2_P1 :: Dict (K.Rem 'K.RoundHalfDown (P 2) (P 1) ~ P 0)
+_test_Rem_RoundHalfDown_P2_P1 =  Dict
+_test_Div_RoundHalfDown_P2_P2 :: Dict (K.Div 'K.RoundHalfDown (P 2) (P 2) ~ P 1)
+_test_Div_RoundHalfDown_P2_P2 =  Dict
+_test_Rem_RoundHalfDown_P2_P2 :: Dict (K.Rem 'K.RoundHalfDown (P 2) (P 2) ~ P 0)
+_test_Rem_RoundHalfDown_P2_P2 =  Dict
+_test_Div_RoundHalfDown_P2_P3 :: Dict (K.Div 'K.RoundHalfDown (P 2) (P 3) ~ P 1)
+_test_Div_RoundHalfDown_P2_P3 =  Dict
+_test_Rem_RoundHalfDown_P2_P3 :: Dict (K.Rem 'K.RoundHalfDown (P 2) (P 3) ~ N 1)
+_test_Rem_RoundHalfDown_P2_P3 =  Dict
+_test_Div_RoundHalfDown_P2_P4 :: Dict (K.Div 'K.RoundHalfDown (P 2) (P 4) ~ P 0)
+_test_Div_RoundHalfDown_P2_P4 =  Dict
+_test_Rem_RoundHalfDown_P2_P4 :: Dict (K.Rem 'K.RoundHalfDown (P 2) (P 4) ~ P 2)
+_test_Rem_RoundHalfDown_P2_P4 =  Dict
+_test_Div_RoundHalfDown_P3_N1 :: Dict (K.Div 'K.RoundHalfDown (P 3) (N 1) ~ N 3)
+_test_Div_RoundHalfDown_P3_N1 =  Dict
+_test_Rem_RoundHalfDown_P3_N1 :: Dict (K.Rem 'K.RoundHalfDown (P 3) (N 1) ~ P 0)
+_test_Rem_RoundHalfDown_P3_N1 =  Dict
+_test_Div_RoundHalfDown_P3_N2 :: Dict (K.Div 'K.RoundHalfDown (P 3) (N 2) ~ N 2)
+_test_Div_RoundHalfDown_P3_N2 =  Dict
+_test_Rem_RoundHalfDown_P3_N2 :: Dict (K.Rem 'K.RoundHalfDown (P 3) (N 2) ~ N 1)
+_test_Rem_RoundHalfDown_P3_N2 =  Dict
+_test_Div_RoundHalfDown_P3_N3 :: Dict (K.Div 'K.RoundHalfDown (P 3) (N 3) ~ N 1)
+_test_Div_RoundHalfDown_P3_N3 =  Dict
+_test_Rem_RoundHalfDown_P3_N3 :: Dict (K.Rem 'K.RoundHalfDown (P 3) (N 3) ~ P 0)
+_test_Rem_RoundHalfDown_P3_N3 =  Dict
+_test_Div_RoundHalfDown_P3_N4 :: Dict (K.Div 'K.RoundHalfDown (P 3) (N 4) ~ N 1)
+_test_Div_RoundHalfDown_P3_N4 =  Dict
+_test_Rem_RoundHalfDown_P3_N4 :: Dict (K.Rem 'K.RoundHalfDown (P 3) (N 4) ~ N 1)
+_test_Rem_RoundHalfDown_P3_N4 =  Dict
+_test_Div_RoundHalfDown_P3_P1 :: Dict (K.Div 'K.RoundHalfDown (P 3) (P 1) ~ P 3)
+_test_Div_RoundHalfDown_P3_P1 =  Dict
+_test_Rem_RoundHalfDown_P3_P1 :: Dict (K.Rem 'K.RoundHalfDown (P 3) (P 1) ~ P 0)
+_test_Rem_RoundHalfDown_P3_P1 =  Dict
+_test_Div_RoundHalfDown_P3_P2 :: Dict (K.Div 'K.RoundHalfDown (P 3) (P 2) ~ P 1)
+_test_Div_RoundHalfDown_P3_P2 =  Dict
+_test_Rem_RoundHalfDown_P3_P2 :: Dict (K.Rem 'K.RoundHalfDown (P 3) (P 2) ~ P 1)
+_test_Rem_RoundHalfDown_P3_P2 =  Dict
+_test_Div_RoundHalfDown_P3_P3 :: Dict (K.Div 'K.RoundHalfDown (P 3) (P 3) ~ P 1)
+_test_Div_RoundHalfDown_P3_P3 =  Dict
+_test_Rem_RoundHalfDown_P3_P3 :: Dict (K.Rem 'K.RoundHalfDown (P 3) (P 3) ~ P 0)
+_test_Rem_RoundHalfDown_P3_P3 =  Dict
+_test_Div_RoundHalfDown_P3_P4 :: Dict (K.Div 'K.RoundHalfDown (P 3) (P 4) ~ P 1)
+_test_Div_RoundHalfDown_P3_P4 =  Dict
+_test_Rem_RoundHalfDown_P3_P4 :: Dict (K.Rem 'K.RoundHalfDown (P 3) (P 4) ~ N 1)
+_test_Rem_RoundHalfDown_P3_P4 =  Dict
+_test_Div_RoundHalfDown_P4_N1 :: Dict (K.Div 'K.RoundHalfDown (P 4) (N 1) ~ N 4)
+_test_Div_RoundHalfDown_P4_N1 =  Dict
+_test_Rem_RoundHalfDown_P4_N1 :: Dict (K.Rem 'K.RoundHalfDown (P 4) (N 1) ~ P 0)
+_test_Rem_RoundHalfDown_P4_N1 =  Dict
+_test_Div_RoundHalfDown_P4_N2 :: Dict (K.Div 'K.RoundHalfDown (P 4) (N 2) ~ N 2)
+_test_Div_RoundHalfDown_P4_N2 =  Dict
+_test_Rem_RoundHalfDown_P4_N2 :: Dict (K.Rem 'K.RoundHalfDown (P 4) (N 2) ~ P 0)
+_test_Rem_RoundHalfDown_P4_N2 =  Dict
+_test_Div_RoundHalfDown_P4_N3 :: Dict (K.Div 'K.RoundHalfDown (P 4) (N 3) ~ N 1)
+_test_Div_RoundHalfDown_P4_N3 =  Dict
+_test_Rem_RoundHalfDown_P4_N3 :: Dict (K.Rem 'K.RoundHalfDown (P 4) (N 3) ~ P 1)
+_test_Rem_RoundHalfDown_P4_N3 =  Dict
+_test_Div_RoundHalfDown_P4_N4 :: Dict (K.Div 'K.RoundHalfDown (P 4) (N 4) ~ N 1)
+_test_Div_RoundHalfDown_P4_N4 =  Dict
+_test_Rem_RoundHalfDown_P4_N4 :: Dict (K.Rem 'K.RoundHalfDown (P 4) (N 4) ~ P 0)
+_test_Rem_RoundHalfDown_P4_N4 =  Dict
+_test_Div_RoundHalfDown_P4_P1 :: Dict (K.Div 'K.RoundHalfDown (P 4) (P 1) ~ P 4)
+_test_Div_RoundHalfDown_P4_P1 =  Dict
+_test_Rem_RoundHalfDown_P4_P1 :: Dict (K.Rem 'K.RoundHalfDown (P 4) (P 1) ~ P 0)
+_test_Rem_RoundHalfDown_P4_P1 =  Dict
+_test_Div_RoundHalfDown_P4_P2 :: Dict (K.Div 'K.RoundHalfDown (P 4) (P 2) ~ P 2)
+_test_Div_RoundHalfDown_P4_P2 =  Dict
+_test_Rem_RoundHalfDown_P4_P2 :: Dict (K.Rem 'K.RoundHalfDown (P 4) (P 2) ~ P 0)
+_test_Rem_RoundHalfDown_P4_P2 =  Dict
+_test_Div_RoundHalfDown_P4_P3 :: Dict (K.Div 'K.RoundHalfDown (P 4) (P 3) ~ P 1)
+_test_Div_RoundHalfDown_P4_P3 =  Dict
+_test_Rem_RoundHalfDown_P4_P3 :: Dict (K.Rem 'K.RoundHalfDown (P 4) (P 3) ~ P 1)
+_test_Rem_RoundHalfDown_P4_P3 =  Dict
+_test_Div_RoundHalfDown_P4_P4 :: Dict (K.Div 'K.RoundHalfDown (P 4) (P 4) ~ P 1)
+_test_Div_RoundHalfDown_P4_P4 =  Dict
+_test_Rem_RoundHalfDown_P4_P4 :: Dict (K.Rem 'K.RoundHalfDown (P 4) (P 4) ~ P 0)
+_test_Rem_RoundHalfDown_P4_P4 =  Dict
+_test_Div_RoundHalfEven_N1_N1 :: Dict (K.Div 'K.RoundHalfEven (N 1) (N 1) ~ P 1)
+_test_Div_RoundHalfEven_N1_N1 =  Dict
+_test_Rem_RoundHalfEven_N1_N1 :: Dict (K.Rem 'K.RoundHalfEven (N 1) (N 1) ~ P 0)
+_test_Rem_RoundHalfEven_N1_N1 =  Dict
+_test_Div_RoundHalfEven_N1_N2 :: Dict (K.Div 'K.RoundHalfEven (N 1) (N 2) ~ P 0)
+_test_Div_RoundHalfEven_N1_N2 =  Dict
+_test_Rem_RoundHalfEven_N1_N2 :: Dict (K.Rem 'K.RoundHalfEven (N 1) (N 2) ~ N 1)
+_test_Rem_RoundHalfEven_N1_N2 =  Dict
+_test_Div_RoundHalfEven_N1_N3 :: Dict (K.Div 'K.RoundHalfEven (N 1) (N 3) ~ P 0)
+_test_Div_RoundHalfEven_N1_N3 =  Dict
+_test_Rem_RoundHalfEven_N1_N3 :: Dict (K.Rem 'K.RoundHalfEven (N 1) (N 3) ~ N 1)
+_test_Rem_RoundHalfEven_N1_N3 =  Dict
+_test_Div_RoundHalfEven_N1_N4 :: Dict (K.Div 'K.RoundHalfEven (N 1) (N 4) ~ P 0)
+_test_Div_RoundHalfEven_N1_N4 =  Dict
+_test_Rem_RoundHalfEven_N1_N4 :: Dict (K.Rem 'K.RoundHalfEven (N 1) (N 4) ~ N 1)
+_test_Rem_RoundHalfEven_N1_N4 =  Dict
+_test_Div_RoundHalfEven_N1_P1 :: Dict (K.Div 'K.RoundHalfEven (N 1) (P 1) ~ N 1)
+_test_Div_RoundHalfEven_N1_P1 =  Dict
+_test_Rem_RoundHalfEven_N1_P1 :: Dict (K.Rem 'K.RoundHalfEven (N 1) (P 1) ~ P 0)
+_test_Rem_RoundHalfEven_N1_P1 =  Dict
+_test_Div_RoundHalfEven_N1_P2 :: Dict (K.Div 'K.RoundHalfEven (N 1) (P 2) ~ P 0)
+_test_Div_RoundHalfEven_N1_P2 =  Dict
+_test_Rem_RoundHalfEven_N1_P2 :: Dict (K.Rem 'K.RoundHalfEven (N 1) (P 2) ~ N 1)
+_test_Rem_RoundHalfEven_N1_P2 =  Dict
+_test_Div_RoundHalfEven_N1_P3 :: Dict (K.Div 'K.RoundHalfEven (N 1) (P 3) ~ P 0)
+_test_Div_RoundHalfEven_N1_P3 =  Dict
+_test_Rem_RoundHalfEven_N1_P3 :: Dict (K.Rem 'K.RoundHalfEven (N 1) (P 3) ~ N 1)
+_test_Rem_RoundHalfEven_N1_P3 =  Dict
+_test_Div_RoundHalfEven_N1_P4 :: Dict (K.Div 'K.RoundHalfEven (N 1) (P 4) ~ P 0)
+_test_Div_RoundHalfEven_N1_P4 =  Dict
+_test_Rem_RoundHalfEven_N1_P4 :: Dict (K.Rem 'K.RoundHalfEven (N 1) (P 4) ~ N 1)
+_test_Rem_RoundHalfEven_N1_P4 =  Dict
+_test_Div_RoundHalfEven_N2_N1 :: Dict (K.Div 'K.RoundHalfEven (N 2) (N 1) ~ P 2)
+_test_Div_RoundHalfEven_N2_N1 =  Dict
+_test_Rem_RoundHalfEven_N2_N1 :: Dict (K.Rem 'K.RoundHalfEven (N 2) (N 1) ~ P 0)
+_test_Rem_RoundHalfEven_N2_N1 =  Dict
+_test_Div_RoundHalfEven_N2_N2 :: Dict (K.Div 'K.RoundHalfEven (N 2) (N 2) ~ P 1)
+_test_Div_RoundHalfEven_N2_N2 =  Dict
+_test_Rem_RoundHalfEven_N2_N2 :: Dict (K.Rem 'K.RoundHalfEven (N 2) (N 2) ~ P 0)
+_test_Rem_RoundHalfEven_N2_N2 =  Dict
+_test_Div_RoundHalfEven_N2_N3 :: Dict (K.Div 'K.RoundHalfEven (N 2) (N 3) ~ P 1)
+_test_Div_RoundHalfEven_N2_N3 =  Dict
+_test_Rem_RoundHalfEven_N2_N3 :: Dict (K.Rem 'K.RoundHalfEven (N 2) (N 3) ~ P 1)
+_test_Rem_RoundHalfEven_N2_N3 =  Dict
+_test_Div_RoundHalfEven_N2_N4 :: Dict (K.Div 'K.RoundHalfEven (N 2) (N 4) ~ P 0)
+_test_Div_RoundHalfEven_N2_N4 =  Dict
+_test_Rem_RoundHalfEven_N2_N4 :: Dict (K.Rem 'K.RoundHalfEven (N 2) (N 4) ~ N 2)
+_test_Rem_RoundHalfEven_N2_N4 =  Dict
+_test_Div_RoundHalfEven_N2_P1 :: Dict (K.Div 'K.RoundHalfEven (N 2) (P 1) ~ N 2)
+_test_Div_RoundHalfEven_N2_P1 =  Dict
+_test_Rem_RoundHalfEven_N2_P1 :: Dict (K.Rem 'K.RoundHalfEven (N 2) (P 1) ~ P 0)
+_test_Rem_RoundHalfEven_N2_P1 =  Dict
+_test_Div_RoundHalfEven_N2_P2 :: Dict (K.Div 'K.RoundHalfEven (N 2) (P 2) ~ N 1)
+_test_Div_RoundHalfEven_N2_P2 =  Dict
+_test_Rem_RoundHalfEven_N2_P2 :: Dict (K.Rem 'K.RoundHalfEven (N 2) (P 2) ~ P 0)
+_test_Rem_RoundHalfEven_N2_P2 =  Dict
+_test_Div_RoundHalfEven_N2_P3 :: Dict (K.Div 'K.RoundHalfEven (N 2) (P 3) ~ N 1)
+_test_Div_RoundHalfEven_N2_P3 =  Dict
+_test_Rem_RoundHalfEven_N2_P3 :: Dict (K.Rem 'K.RoundHalfEven (N 2) (P 3) ~ P 1)
+_test_Rem_RoundHalfEven_N2_P3 =  Dict
+_test_Div_RoundHalfEven_N2_P4 :: Dict (K.Div 'K.RoundHalfEven (N 2) (P 4) ~ P 0)
+_test_Div_RoundHalfEven_N2_P4 =  Dict
+_test_Rem_RoundHalfEven_N2_P4 :: Dict (K.Rem 'K.RoundHalfEven (N 2) (P 4) ~ N 2)
+_test_Rem_RoundHalfEven_N2_P4 =  Dict
+_test_Div_RoundHalfEven_N3_N1 :: Dict (K.Div 'K.RoundHalfEven (N 3) (N 1) ~ P 3)
+_test_Div_RoundHalfEven_N3_N1 =  Dict
+_test_Rem_RoundHalfEven_N3_N1 :: Dict (K.Rem 'K.RoundHalfEven (N 3) (N 1) ~ P 0)
+_test_Rem_RoundHalfEven_N3_N1 =  Dict
+_test_Div_RoundHalfEven_N3_N2 :: Dict (K.Div 'K.RoundHalfEven (N 3) (N 2) ~ P 2)
+_test_Div_RoundHalfEven_N3_N2 =  Dict
+_test_Rem_RoundHalfEven_N3_N2 :: Dict (K.Rem 'K.RoundHalfEven (N 3) (N 2) ~ P 1)
+_test_Rem_RoundHalfEven_N3_N2 =  Dict
+_test_Div_RoundHalfEven_N3_N3 :: Dict (K.Div 'K.RoundHalfEven (N 3) (N 3) ~ P 1)
+_test_Div_RoundHalfEven_N3_N3 =  Dict
+_test_Rem_RoundHalfEven_N3_N3 :: Dict (K.Rem 'K.RoundHalfEven (N 3) (N 3) ~ P 0)
+_test_Rem_RoundHalfEven_N3_N3 =  Dict
+_test_Div_RoundHalfEven_N3_N4 :: Dict (K.Div 'K.RoundHalfEven (N 3) (N 4) ~ P 1)
+_test_Div_RoundHalfEven_N3_N4 =  Dict
+_test_Rem_RoundHalfEven_N3_N4 :: Dict (K.Rem 'K.RoundHalfEven (N 3) (N 4) ~ P 1)
+_test_Rem_RoundHalfEven_N3_N4 =  Dict
+_test_Div_RoundHalfEven_N3_P1 :: Dict (K.Div 'K.RoundHalfEven (N 3) (P 1) ~ N 3)
+_test_Div_RoundHalfEven_N3_P1 =  Dict
+_test_Rem_RoundHalfEven_N3_P1 :: Dict (K.Rem 'K.RoundHalfEven (N 3) (P 1) ~ P 0)
+_test_Rem_RoundHalfEven_N3_P1 =  Dict
+_test_Div_RoundHalfEven_N3_P2 :: Dict (K.Div 'K.RoundHalfEven (N 3) (P 2) ~ N 2)
+_test_Div_RoundHalfEven_N3_P2 =  Dict
+_test_Rem_RoundHalfEven_N3_P2 :: Dict (K.Rem 'K.RoundHalfEven (N 3) (P 2) ~ P 1)
+_test_Rem_RoundHalfEven_N3_P2 =  Dict
+_test_Div_RoundHalfEven_N3_P3 :: Dict (K.Div 'K.RoundHalfEven (N 3) (P 3) ~ N 1)
+_test_Div_RoundHalfEven_N3_P3 =  Dict
+_test_Rem_RoundHalfEven_N3_P3 :: Dict (K.Rem 'K.RoundHalfEven (N 3) (P 3) ~ P 0)
+_test_Rem_RoundHalfEven_N3_P3 =  Dict
+_test_Div_RoundHalfEven_N3_P4 :: Dict (K.Div 'K.RoundHalfEven (N 3) (P 4) ~ N 1)
+_test_Div_RoundHalfEven_N3_P4 =  Dict
+_test_Rem_RoundHalfEven_N3_P4 :: Dict (K.Rem 'K.RoundHalfEven (N 3) (P 4) ~ P 1)
+_test_Rem_RoundHalfEven_N3_P4 =  Dict
+_test_Div_RoundHalfEven_N4_N1 :: Dict (K.Div 'K.RoundHalfEven (N 4) (N 1) ~ P 4)
+_test_Div_RoundHalfEven_N4_N1 =  Dict
+_test_Rem_RoundHalfEven_N4_N1 :: Dict (K.Rem 'K.RoundHalfEven (N 4) (N 1) ~ P 0)
+_test_Rem_RoundHalfEven_N4_N1 =  Dict
+_test_Div_RoundHalfEven_N4_N2 :: Dict (K.Div 'K.RoundHalfEven (N 4) (N 2) ~ P 2)
+_test_Div_RoundHalfEven_N4_N2 =  Dict
+_test_Rem_RoundHalfEven_N4_N2 :: Dict (K.Rem 'K.RoundHalfEven (N 4) (N 2) ~ P 0)
+_test_Rem_RoundHalfEven_N4_N2 =  Dict
+_test_Div_RoundHalfEven_N4_N3 :: Dict (K.Div 'K.RoundHalfEven (N 4) (N 3) ~ P 1)
+_test_Div_RoundHalfEven_N4_N3 =  Dict
+_test_Rem_RoundHalfEven_N4_N3 :: Dict (K.Rem 'K.RoundHalfEven (N 4) (N 3) ~ N 1)
+_test_Rem_RoundHalfEven_N4_N3 =  Dict
+_test_Div_RoundHalfEven_N4_N4 :: Dict (K.Div 'K.RoundHalfEven (N 4) (N 4) ~ P 1)
+_test_Div_RoundHalfEven_N4_N4 =  Dict
+_test_Rem_RoundHalfEven_N4_N4 :: Dict (K.Rem 'K.RoundHalfEven (N 4) (N 4) ~ P 0)
+_test_Rem_RoundHalfEven_N4_N4 =  Dict
+_test_Div_RoundHalfEven_N4_P1 :: Dict (K.Div 'K.RoundHalfEven (N 4) (P 1) ~ N 4)
+_test_Div_RoundHalfEven_N4_P1 =  Dict
+_test_Rem_RoundHalfEven_N4_P1 :: Dict (K.Rem 'K.RoundHalfEven (N 4) (P 1) ~ P 0)
+_test_Rem_RoundHalfEven_N4_P1 =  Dict
+_test_Div_RoundHalfEven_N4_P2 :: Dict (K.Div 'K.RoundHalfEven (N 4) (P 2) ~ N 2)
+_test_Div_RoundHalfEven_N4_P2 =  Dict
+_test_Rem_RoundHalfEven_N4_P2 :: Dict (K.Rem 'K.RoundHalfEven (N 4) (P 2) ~ P 0)
+_test_Rem_RoundHalfEven_N4_P2 =  Dict
+_test_Div_RoundHalfEven_N4_P3 :: Dict (K.Div 'K.RoundHalfEven (N 4) (P 3) ~ N 1)
+_test_Div_RoundHalfEven_N4_P3 =  Dict
+_test_Rem_RoundHalfEven_N4_P3 :: Dict (K.Rem 'K.RoundHalfEven (N 4) (P 3) ~ N 1)
+_test_Rem_RoundHalfEven_N4_P3 =  Dict
+_test_Div_RoundHalfEven_N4_P4 :: Dict (K.Div 'K.RoundHalfEven (N 4) (P 4) ~ N 1)
+_test_Div_RoundHalfEven_N4_P4 =  Dict
+_test_Rem_RoundHalfEven_N4_P4 :: Dict (K.Rem 'K.RoundHalfEven (N 4) (P 4) ~ P 0)
+_test_Rem_RoundHalfEven_N4_P4 =  Dict
+_test_Div_RoundHalfEven_P0_N1 :: Dict (K.Div 'K.RoundHalfEven (P 0) (N 1) ~ P 0)
+_test_Div_RoundHalfEven_P0_N1 =  Dict
+_test_Rem_RoundHalfEven_P0_N1 :: Dict (K.Rem 'K.RoundHalfEven (P 0) (N 1) ~ P 0)
+_test_Rem_RoundHalfEven_P0_N1 =  Dict
+_test_Div_RoundHalfEven_P0_N2 :: Dict (K.Div 'K.RoundHalfEven (P 0) (N 2) ~ P 0)
+_test_Div_RoundHalfEven_P0_N2 =  Dict
+_test_Rem_RoundHalfEven_P0_N2 :: Dict (K.Rem 'K.RoundHalfEven (P 0) (N 2) ~ P 0)
+_test_Rem_RoundHalfEven_P0_N2 =  Dict
+_test_Div_RoundHalfEven_P0_N3 :: Dict (K.Div 'K.RoundHalfEven (P 0) (N 3) ~ P 0)
+_test_Div_RoundHalfEven_P0_N3 =  Dict
+_test_Rem_RoundHalfEven_P0_N3 :: Dict (K.Rem 'K.RoundHalfEven (P 0) (N 3) ~ P 0)
+_test_Rem_RoundHalfEven_P0_N3 =  Dict
+_test_Div_RoundHalfEven_P0_N4 :: Dict (K.Div 'K.RoundHalfEven (P 0) (N 4) ~ P 0)
+_test_Div_RoundHalfEven_P0_N4 =  Dict
+_test_Rem_RoundHalfEven_P0_N4 :: Dict (K.Rem 'K.RoundHalfEven (P 0) (N 4) ~ P 0)
+_test_Rem_RoundHalfEven_P0_N4 =  Dict
+_test_Div_RoundHalfEven_P0_P1 :: Dict (K.Div 'K.RoundHalfEven (P 0) (P 1) ~ P 0)
+_test_Div_RoundHalfEven_P0_P1 =  Dict
+_test_Rem_RoundHalfEven_P0_P1 :: Dict (K.Rem 'K.RoundHalfEven (P 0) (P 1) ~ P 0)
+_test_Rem_RoundHalfEven_P0_P1 =  Dict
+_test_Div_RoundHalfEven_P0_P2 :: Dict (K.Div 'K.RoundHalfEven (P 0) (P 2) ~ P 0)
+_test_Div_RoundHalfEven_P0_P2 =  Dict
+_test_Rem_RoundHalfEven_P0_P2 :: Dict (K.Rem 'K.RoundHalfEven (P 0) (P 2) ~ P 0)
+_test_Rem_RoundHalfEven_P0_P2 =  Dict
+_test_Div_RoundHalfEven_P0_P3 :: Dict (K.Div 'K.RoundHalfEven (P 0) (P 3) ~ P 0)
+_test_Div_RoundHalfEven_P0_P3 =  Dict
+_test_Rem_RoundHalfEven_P0_P3 :: Dict (K.Rem 'K.RoundHalfEven (P 0) (P 3) ~ P 0)
+_test_Rem_RoundHalfEven_P0_P3 =  Dict
+_test_Div_RoundHalfEven_P0_P4 :: Dict (K.Div 'K.RoundHalfEven (P 0) (P 4) ~ P 0)
+_test_Div_RoundHalfEven_P0_P4 =  Dict
+_test_Rem_RoundHalfEven_P0_P4 :: Dict (K.Rem 'K.RoundHalfEven (P 0) (P 4) ~ P 0)
+_test_Rem_RoundHalfEven_P0_P4 =  Dict
+_test_Div_RoundHalfEven_P1_N1 :: Dict (K.Div 'K.RoundHalfEven (P 1) (N 1) ~ N 1)
+_test_Div_RoundHalfEven_P1_N1 =  Dict
+_test_Rem_RoundHalfEven_P1_N1 :: Dict (K.Rem 'K.RoundHalfEven (P 1) (N 1) ~ P 0)
+_test_Rem_RoundHalfEven_P1_N1 =  Dict
+_test_Div_RoundHalfEven_P1_N2 :: Dict (K.Div 'K.RoundHalfEven (P 1) (N 2) ~ P 0)
+_test_Div_RoundHalfEven_P1_N2 =  Dict
+_test_Rem_RoundHalfEven_P1_N2 :: Dict (K.Rem 'K.RoundHalfEven (P 1) (N 2) ~ P 1)
+_test_Rem_RoundHalfEven_P1_N2 =  Dict
+_test_Div_RoundHalfEven_P1_N3 :: Dict (K.Div 'K.RoundHalfEven (P 1) (N 3) ~ P 0)
+_test_Div_RoundHalfEven_P1_N3 =  Dict
+_test_Rem_RoundHalfEven_P1_N3 :: Dict (K.Rem 'K.RoundHalfEven (P 1) (N 3) ~ P 1)
+_test_Rem_RoundHalfEven_P1_N3 =  Dict
+_test_Div_RoundHalfEven_P1_N4 :: Dict (K.Div 'K.RoundHalfEven (P 1) (N 4) ~ P 0)
+_test_Div_RoundHalfEven_P1_N4 =  Dict
+_test_Rem_RoundHalfEven_P1_N4 :: Dict (K.Rem 'K.RoundHalfEven (P 1) (N 4) ~ P 1)
+_test_Rem_RoundHalfEven_P1_N4 =  Dict
+_test_Div_RoundHalfEven_P1_P1 :: Dict (K.Div 'K.RoundHalfEven (P 1) (P 1) ~ P 1)
+_test_Div_RoundHalfEven_P1_P1 =  Dict
+_test_Rem_RoundHalfEven_P1_P1 :: Dict (K.Rem 'K.RoundHalfEven (P 1) (P 1) ~ P 0)
+_test_Rem_RoundHalfEven_P1_P1 =  Dict
+_test_Div_RoundHalfEven_P1_P2 :: Dict (K.Div 'K.RoundHalfEven (P 1) (P 2) ~ P 0)
+_test_Div_RoundHalfEven_P1_P2 =  Dict
+_test_Rem_RoundHalfEven_P1_P2 :: Dict (K.Rem 'K.RoundHalfEven (P 1) (P 2) ~ P 1)
+_test_Rem_RoundHalfEven_P1_P2 =  Dict
+_test_Div_RoundHalfEven_P1_P3 :: Dict (K.Div 'K.RoundHalfEven (P 1) (P 3) ~ P 0)
+_test_Div_RoundHalfEven_P1_P3 =  Dict
+_test_Rem_RoundHalfEven_P1_P3 :: Dict (K.Rem 'K.RoundHalfEven (P 1) (P 3) ~ P 1)
+_test_Rem_RoundHalfEven_P1_P3 =  Dict
+_test_Div_RoundHalfEven_P1_P4 :: Dict (K.Div 'K.RoundHalfEven (P 1) (P 4) ~ P 0)
+_test_Div_RoundHalfEven_P1_P4 =  Dict
+_test_Rem_RoundHalfEven_P1_P4 :: Dict (K.Rem 'K.RoundHalfEven (P 1) (P 4) ~ P 1)
+_test_Rem_RoundHalfEven_P1_P4 =  Dict
+_test_Div_RoundHalfEven_P2_N1 :: Dict (K.Div 'K.RoundHalfEven (P 2) (N 1) ~ N 2)
+_test_Div_RoundHalfEven_P2_N1 =  Dict
+_test_Rem_RoundHalfEven_P2_N1 :: Dict (K.Rem 'K.RoundHalfEven (P 2) (N 1) ~ P 0)
+_test_Rem_RoundHalfEven_P2_N1 =  Dict
+_test_Div_RoundHalfEven_P2_N2 :: Dict (K.Div 'K.RoundHalfEven (P 2) (N 2) ~ N 1)
+_test_Div_RoundHalfEven_P2_N2 =  Dict
+_test_Rem_RoundHalfEven_P2_N2 :: Dict (K.Rem 'K.RoundHalfEven (P 2) (N 2) ~ P 0)
+_test_Rem_RoundHalfEven_P2_N2 =  Dict
+_test_Div_RoundHalfEven_P2_N3 :: Dict (K.Div 'K.RoundHalfEven (P 2) (N 3) ~ N 1)
+_test_Div_RoundHalfEven_P2_N3 =  Dict
+_test_Rem_RoundHalfEven_P2_N3 :: Dict (K.Rem 'K.RoundHalfEven (P 2) (N 3) ~ N 1)
+_test_Rem_RoundHalfEven_P2_N3 =  Dict
+_test_Div_RoundHalfEven_P2_N4 :: Dict (K.Div 'K.RoundHalfEven (P 2) (N 4) ~ P 0)
+_test_Div_RoundHalfEven_P2_N4 =  Dict
+_test_Rem_RoundHalfEven_P2_N4 :: Dict (K.Rem 'K.RoundHalfEven (P 2) (N 4) ~ P 2)
+_test_Rem_RoundHalfEven_P2_N4 =  Dict
+_test_Div_RoundHalfEven_P2_P1 :: Dict (K.Div 'K.RoundHalfEven (P 2) (P 1) ~ P 2)
+_test_Div_RoundHalfEven_P2_P1 =  Dict
+_test_Rem_RoundHalfEven_P2_P1 :: Dict (K.Rem 'K.RoundHalfEven (P 2) (P 1) ~ P 0)
+_test_Rem_RoundHalfEven_P2_P1 =  Dict
+_test_Div_RoundHalfEven_P2_P2 :: Dict (K.Div 'K.RoundHalfEven (P 2) (P 2) ~ P 1)
+_test_Div_RoundHalfEven_P2_P2 =  Dict
+_test_Rem_RoundHalfEven_P2_P2 :: Dict (K.Rem 'K.RoundHalfEven (P 2) (P 2) ~ P 0)
+_test_Rem_RoundHalfEven_P2_P2 =  Dict
+_test_Div_RoundHalfEven_P2_P3 :: Dict (K.Div 'K.RoundHalfEven (P 2) (P 3) ~ P 1)
+_test_Div_RoundHalfEven_P2_P3 =  Dict
+_test_Rem_RoundHalfEven_P2_P3 :: Dict (K.Rem 'K.RoundHalfEven (P 2) (P 3) ~ N 1)
+_test_Rem_RoundHalfEven_P2_P3 =  Dict
+_test_Div_RoundHalfEven_P2_P4 :: Dict (K.Div 'K.RoundHalfEven (P 2) (P 4) ~ P 0)
+_test_Div_RoundHalfEven_P2_P4 =  Dict
+_test_Rem_RoundHalfEven_P2_P4 :: Dict (K.Rem 'K.RoundHalfEven (P 2) (P 4) ~ P 2)
+_test_Rem_RoundHalfEven_P2_P4 =  Dict
+_test_Div_RoundHalfEven_P3_N1 :: Dict (K.Div 'K.RoundHalfEven (P 3) (N 1) ~ N 3)
+_test_Div_RoundHalfEven_P3_N1 =  Dict
+_test_Rem_RoundHalfEven_P3_N1 :: Dict (K.Rem 'K.RoundHalfEven (P 3) (N 1) ~ P 0)
+_test_Rem_RoundHalfEven_P3_N1 =  Dict
+_test_Div_RoundHalfEven_P3_N2 :: Dict (K.Div 'K.RoundHalfEven (P 3) (N 2) ~ N 2)
+_test_Div_RoundHalfEven_P3_N2 =  Dict
+_test_Rem_RoundHalfEven_P3_N2 :: Dict (K.Rem 'K.RoundHalfEven (P 3) (N 2) ~ N 1)
+_test_Rem_RoundHalfEven_P3_N2 =  Dict
+_test_Div_RoundHalfEven_P3_N3 :: Dict (K.Div 'K.RoundHalfEven (P 3) (N 3) ~ N 1)
+_test_Div_RoundHalfEven_P3_N3 =  Dict
+_test_Rem_RoundHalfEven_P3_N3 :: Dict (K.Rem 'K.RoundHalfEven (P 3) (N 3) ~ P 0)
+_test_Rem_RoundHalfEven_P3_N3 =  Dict
+_test_Div_RoundHalfEven_P3_N4 :: Dict (K.Div 'K.RoundHalfEven (P 3) (N 4) ~ N 1)
+_test_Div_RoundHalfEven_P3_N4 =  Dict
+_test_Rem_RoundHalfEven_P3_N4 :: Dict (K.Rem 'K.RoundHalfEven (P 3) (N 4) ~ N 1)
+_test_Rem_RoundHalfEven_P3_N4 =  Dict
+_test_Div_RoundHalfEven_P3_P1 :: Dict (K.Div 'K.RoundHalfEven (P 3) (P 1) ~ P 3)
+_test_Div_RoundHalfEven_P3_P1 =  Dict
+_test_Rem_RoundHalfEven_P3_P1 :: Dict (K.Rem 'K.RoundHalfEven (P 3) (P 1) ~ P 0)
+_test_Rem_RoundHalfEven_P3_P1 =  Dict
+_test_Div_RoundHalfEven_P3_P2 :: Dict (K.Div 'K.RoundHalfEven (P 3) (P 2) ~ P 2)
+_test_Div_RoundHalfEven_P3_P2 =  Dict
+_test_Rem_RoundHalfEven_P3_P2 :: Dict (K.Rem 'K.RoundHalfEven (P 3) (P 2) ~ N 1)
+_test_Rem_RoundHalfEven_P3_P2 =  Dict
+_test_Div_RoundHalfEven_P3_P3 :: Dict (K.Div 'K.RoundHalfEven (P 3) (P 3) ~ P 1)
+_test_Div_RoundHalfEven_P3_P3 =  Dict
+_test_Rem_RoundHalfEven_P3_P3 :: Dict (K.Rem 'K.RoundHalfEven (P 3) (P 3) ~ P 0)
+_test_Rem_RoundHalfEven_P3_P3 =  Dict
+_test_Div_RoundHalfEven_P3_P4 :: Dict (K.Div 'K.RoundHalfEven (P 3) (P 4) ~ P 1)
+_test_Div_RoundHalfEven_P3_P4 =  Dict
+_test_Rem_RoundHalfEven_P3_P4 :: Dict (K.Rem 'K.RoundHalfEven (P 3) (P 4) ~ N 1)
+_test_Rem_RoundHalfEven_P3_P4 =  Dict
+_test_Div_RoundHalfEven_P4_N1 :: Dict (K.Div 'K.RoundHalfEven (P 4) (N 1) ~ N 4)
+_test_Div_RoundHalfEven_P4_N1 =  Dict
+_test_Rem_RoundHalfEven_P4_N1 :: Dict (K.Rem 'K.RoundHalfEven (P 4) (N 1) ~ P 0)
+_test_Rem_RoundHalfEven_P4_N1 =  Dict
+_test_Div_RoundHalfEven_P4_N2 :: Dict (K.Div 'K.RoundHalfEven (P 4) (N 2) ~ N 2)
+_test_Div_RoundHalfEven_P4_N2 =  Dict
+_test_Rem_RoundHalfEven_P4_N2 :: Dict (K.Rem 'K.RoundHalfEven (P 4) (N 2) ~ P 0)
+_test_Rem_RoundHalfEven_P4_N2 =  Dict
+_test_Div_RoundHalfEven_P4_N3 :: Dict (K.Div 'K.RoundHalfEven (P 4) (N 3) ~ N 1)
+_test_Div_RoundHalfEven_P4_N3 =  Dict
+_test_Rem_RoundHalfEven_P4_N3 :: Dict (K.Rem 'K.RoundHalfEven (P 4) (N 3) ~ P 1)
+_test_Rem_RoundHalfEven_P4_N3 =  Dict
+_test_Div_RoundHalfEven_P4_N4 :: Dict (K.Div 'K.RoundHalfEven (P 4) (N 4) ~ N 1)
+_test_Div_RoundHalfEven_P4_N4 =  Dict
+_test_Rem_RoundHalfEven_P4_N4 :: Dict (K.Rem 'K.RoundHalfEven (P 4) (N 4) ~ P 0)
+_test_Rem_RoundHalfEven_P4_N4 =  Dict
+_test_Div_RoundHalfEven_P4_P1 :: Dict (K.Div 'K.RoundHalfEven (P 4) (P 1) ~ P 4)
+_test_Div_RoundHalfEven_P4_P1 =  Dict
+_test_Rem_RoundHalfEven_P4_P1 :: Dict (K.Rem 'K.RoundHalfEven (P 4) (P 1) ~ P 0)
+_test_Rem_RoundHalfEven_P4_P1 =  Dict
+_test_Div_RoundHalfEven_P4_P2 :: Dict (K.Div 'K.RoundHalfEven (P 4) (P 2) ~ P 2)
+_test_Div_RoundHalfEven_P4_P2 =  Dict
+_test_Rem_RoundHalfEven_P4_P2 :: Dict (K.Rem 'K.RoundHalfEven (P 4) (P 2) ~ P 0)
+_test_Rem_RoundHalfEven_P4_P2 =  Dict
+_test_Div_RoundHalfEven_P4_P3 :: Dict (K.Div 'K.RoundHalfEven (P 4) (P 3) ~ P 1)
+_test_Div_RoundHalfEven_P4_P3 =  Dict
+_test_Rem_RoundHalfEven_P4_P3 :: Dict (K.Rem 'K.RoundHalfEven (P 4) (P 3) ~ P 1)
+_test_Rem_RoundHalfEven_P4_P3 =  Dict
+_test_Div_RoundHalfEven_P4_P4 :: Dict (K.Div 'K.RoundHalfEven (P 4) (P 4) ~ P 1)
+_test_Div_RoundHalfEven_P4_P4 =  Dict
+_test_Rem_RoundHalfEven_P4_P4 :: Dict (K.Rem 'K.RoundHalfEven (P 4) (P 4) ~ P 0)
+_test_Rem_RoundHalfEven_P4_P4 =  Dict
+_test_Div_RoundHalfOdd_N1_N1 :: Dict (K.Div 'K.RoundHalfOdd (N 1) (N 1) ~ P 1)
+_test_Div_RoundHalfOdd_N1_N1 =  Dict
+_test_Rem_RoundHalfOdd_N1_N1 :: Dict (K.Rem 'K.RoundHalfOdd (N 1) (N 1) ~ P 0)
+_test_Rem_RoundHalfOdd_N1_N1 =  Dict
+_test_Div_RoundHalfOdd_N1_N2 :: Dict (K.Div 'K.RoundHalfOdd (N 1) (N 2) ~ P 1)
+_test_Div_RoundHalfOdd_N1_N2 =  Dict
+_test_Rem_RoundHalfOdd_N1_N2 :: Dict (K.Rem 'K.RoundHalfOdd (N 1) (N 2) ~ P 1)
+_test_Rem_RoundHalfOdd_N1_N2 =  Dict
+_test_Div_RoundHalfOdd_N1_N3 :: Dict (K.Div 'K.RoundHalfOdd (N 1) (N 3) ~ P 0)
+_test_Div_RoundHalfOdd_N1_N3 =  Dict
+_test_Rem_RoundHalfOdd_N1_N3 :: Dict (K.Rem 'K.RoundHalfOdd (N 1) (N 3) ~ N 1)
+_test_Rem_RoundHalfOdd_N1_N3 =  Dict
+_test_Div_RoundHalfOdd_N1_N4 :: Dict (K.Div 'K.RoundHalfOdd (N 1) (N 4) ~ P 0)
+_test_Div_RoundHalfOdd_N1_N4 =  Dict
+_test_Rem_RoundHalfOdd_N1_N4 :: Dict (K.Rem 'K.RoundHalfOdd (N 1) (N 4) ~ N 1)
+_test_Rem_RoundHalfOdd_N1_N4 =  Dict
+_test_Div_RoundHalfOdd_N1_P1 :: Dict (K.Div 'K.RoundHalfOdd (N 1) (P 1) ~ N 1)
+_test_Div_RoundHalfOdd_N1_P1 =  Dict
+_test_Rem_RoundHalfOdd_N1_P1 :: Dict (K.Rem 'K.RoundHalfOdd (N 1) (P 1) ~ P 0)
+_test_Rem_RoundHalfOdd_N1_P1 =  Dict
+_test_Div_RoundHalfOdd_N1_P2 :: Dict (K.Div 'K.RoundHalfOdd (N 1) (P 2) ~ N 1)
+_test_Div_RoundHalfOdd_N1_P2 =  Dict
+_test_Rem_RoundHalfOdd_N1_P2 :: Dict (K.Rem 'K.RoundHalfOdd (N 1) (P 2) ~ P 1)
+_test_Rem_RoundHalfOdd_N1_P2 =  Dict
+_test_Div_RoundHalfOdd_N1_P3 :: Dict (K.Div 'K.RoundHalfOdd (N 1) (P 3) ~ P 0)
+_test_Div_RoundHalfOdd_N1_P3 =  Dict
+_test_Rem_RoundHalfOdd_N1_P3 :: Dict (K.Rem 'K.RoundHalfOdd (N 1) (P 3) ~ N 1)
+_test_Rem_RoundHalfOdd_N1_P3 =  Dict
+_test_Div_RoundHalfOdd_N1_P4 :: Dict (K.Div 'K.RoundHalfOdd (N 1) (P 4) ~ P 0)
+_test_Div_RoundHalfOdd_N1_P4 =  Dict
+_test_Rem_RoundHalfOdd_N1_P4 :: Dict (K.Rem 'K.RoundHalfOdd (N 1) (P 4) ~ N 1)
+_test_Rem_RoundHalfOdd_N1_P4 =  Dict
+_test_Div_RoundHalfOdd_N2_N1 :: Dict (K.Div 'K.RoundHalfOdd (N 2) (N 1) ~ P 2)
+_test_Div_RoundHalfOdd_N2_N1 =  Dict
+_test_Rem_RoundHalfOdd_N2_N1 :: Dict (K.Rem 'K.RoundHalfOdd (N 2) (N 1) ~ P 0)
+_test_Rem_RoundHalfOdd_N2_N1 =  Dict
+_test_Div_RoundHalfOdd_N2_N2 :: Dict (K.Div 'K.RoundHalfOdd (N 2) (N 2) ~ P 1)
+_test_Div_RoundHalfOdd_N2_N2 =  Dict
+_test_Rem_RoundHalfOdd_N2_N2 :: Dict (K.Rem 'K.RoundHalfOdd (N 2) (N 2) ~ P 0)
+_test_Rem_RoundHalfOdd_N2_N2 =  Dict
+_test_Div_RoundHalfOdd_N2_N3 :: Dict (K.Div 'K.RoundHalfOdd (N 2) (N 3) ~ P 1)
+_test_Div_RoundHalfOdd_N2_N3 =  Dict
+_test_Rem_RoundHalfOdd_N2_N3 :: Dict (K.Rem 'K.RoundHalfOdd (N 2) (N 3) ~ P 1)
+_test_Rem_RoundHalfOdd_N2_N3 =  Dict
+_test_Div_RoundHalfOdd_N2_N4 :: Dict (K.Div 'K.RoundHalfOdd (N 2) (N 4) ~ P 1)
+_test_Div_RoundHalfOdd_N2_N4 =  Dict
+_test_Rem_RoundHalfOdd_N2_N4 :: Dict (K.Rem 'K.RoundHalfOdd (N 2) (N 4) ~ P 2)
+_test_Rem_RoundHalfOdd_N2_N4 =  Dict
+_test_Div_RoundHalfOdd_N2_P1 :: Dict (K.Div 'K.RoundHalfOdd (N 2) (P 1) ~ N 2)
+_test_Div_RoundHalfOdd_N2_P1 =  Dict
+_test_Rem_RoundHalfOdd_N2_P1 :: Dict (K.Rem 'K.RoundHalfOdd (N 2) (P 1) ~ P 0)
+_test_Rem_RoundHalfOdd_N2_P1 =  Dict
+_test_Div_RoundHalfOdd_N2_P2 :: Dict (K.Div 'K.RoundHalfOdd (N 2) (P 2) ~ N 1)
+_test_Div_RoundHalfOdd_N2_P2 =  Dict
+_test_Rem_RoundHalfOdd_N2_P2 :: Dict (K.Rem 'K.RoundHalfOdd (N 2) (P 2) ~ P 0)
+_test_Rem_RoundHalfOdd_N2_P2 =  Dict
+_test_Div_RoundHalfOdd_N2_P3 :: Dict (K.Div 'K.RoundHalfOdd (N 2) (P 3) ~ N 1)
+_test_Div_RoundHalfOdd_N2_P3 =  Dict
+_test_Rem_RoundHalfOdd_N2_P3 :: Dict (K.Rem 'K.RoundHalfOdd (N 2) (P 3) ~ P 1)
+_test_Rem_RoundHalfOdd_N2_P3 =  Dict
+_test_Div_RoundHalfOdd_N2_P4 :: Dict (K.Div 'K.RoundHalfOdd (N 2) (P 4) ~ N 1)
+_test_Div_RoundHalfOdd_N2_P4 =  Dict
+_test_Rem_RoundHalfOdd_N2_P4 :: Dict (K.Rem 'K.RoundHalfOdd (N 2) (P 4) ~ P 2)
+_test_Rem_RoundHalfOdd_N2_P4 =  Dict
+_test_Div_RoundHalfOdd_N3_N1 :: Dict (K.Div 'K.RoundHalfOdd (N 3) (N 1) ~ P 3)
+_test_Div_RoundHalfOdd_N3_N1 =  Dict
+_test_Rem_RoundHalfOdd_N3_N1 :: Dict (K.Rem 'K.RoundHalfOdd (N 3) (N 1) ~ P 0)
+_test_Rem_RoundHalfOdd_N3_N1 =  Dict
+_test_Div_RoundHalfOdd_N3_N2 :: Dict (K.Div 'K.RoundHalfOdd (N 3) (N 2) ~ P 1)
+_test_Div_RoundHalfOdd_N3_N2 =  Dict
+_test_Rem_RoundHalfOdd_N3_N2 :: Dict (K.Rem 'K.RoundHalfOdd (N 3) (N 2) ~ N 1)
+_test_Rem_RoundHalfOdd_N3_N2 =  Dict
+_test_Div_RoundHalfOdd_N3_N3 :: Dict (K.Div 'K.RoundHalfOdd (N 3) (N 3) ~ P 1)
+_test_Div_RoundHalfOdd_N3_N3 =  Dict
+_test_Rem_RoundHalfOdd_N3_N3 :: Dict (K.Rem 'K.RoundHalfOdd (N 3) (N 3) ~ P 0)
+_test_Rem_RoundHalfOdd_N3_N3 =  Dict
+_test_Div_RoundHalfOdd_N3_N4 :: Dict (K.Div 'K.RoundHalfOdd (N 3) (N 4) ~ P 1)
+_test_Div_RoundHalfOdd_N3_N4 =  Dict
+_test_Rem_RoundHalfOdd_N3_N4 :: Dict (K.Rem 'K.RoundHalfOdd (N 3) (N 4) ~ P 1)
+_test_Rem_RoundHalfOdd_N3_N4 =  Dict
+_test_Div_RoundHalfOdd_N3_P1 :: Dict (K.Div 'K.RoundHalfOdd (N 3) (P 1) ~ N 3)
+_test_Div_RoundHalfOdd_N3_P1 =  Dict
+_test_Rem_RoundHalfOdd_N3_P1 :: Dict (K.Rem 'K.RoundHalfOdd (N 3) (P 1) ~ P 0)
+_test_Rem_RoundHalfOdd_N3_P1 =  Dict
+_test_Div_RoundHalfOdd_N3_P2 :: Dict (K.Div 'K.RoundHalfOdd (N 3) (P 2) ~ N 1)
+_test_Div_RoundHalfOdd_N3_P2 =  Dict
+_test_Rem_RoundHalfOdd_N3_P2 :: Dict (K.Rem 'K.RoundHalfOdd (N 3) (P 2) ~ N 1)
+_test_Rem_RoundHalfOdd_N3_P2 =  Dict
+_test_Div_RoundHalfOdd_N3_P3 :: Dict (K.Div 'K.RoundHalfOdd (N 3) (P 3) ~ N 1)
+_test_Div_RoundHalfOdd_N3_P3 =  Dict
+_test_Rem_RoundHalfOdd_N3_P3 :: Dict (K.Rem 'K.RoundHalfOdd (N 3) (P 3) ~ P 0)
+_test_Rem_RoundHalfOdd_N3_P3 =  Dict
+_test_Div_RoundHalfOdd_N3_P4 :: Dict (K.Div 'K.RoundHalfOdd (N 3) (P 4) ~ N 1)
+_test_Div_RoundHalfOdd_N3_P4 =  Dict
+_test_Rem_RoundHalfOdd_N3_P4 :: Dict (K.Rem 'K.RoundHalfOdd (N 3) (P 4) ~ P 1)
+_test_Rem_RoundHalfOdd_N3_P4 =  Dict
+_test_Div_RoundHalfOdd_N4_N1 :: Dict (K.Div 'K.RoundHalfOdd (N 4) (N 1) ~ P 4)
+_test_Div_RoundHalfOdd_N4_N1 =  Dict
+_test_Rem_RoundHalfOdd_N4_N1 :: Dict (K.Rem 'K.RoundHalfOdd (N 4) (N 1) ~ P 0)
+_test_Rem_RoundHalfOdd_N4_N1 =  Dict
+_test_Div_RoundHalfOdd_N4_N2 :: Dict (K.Div 'K.RoundHalfOdd (N 4) (N 2) ~ P 2)
+_test_Div_RoundHalfOdd_N4_N2 =  Dict
+_test_Rem_RoundHalfOdd_N4_N2 :: Dict (K.Rem 'K.RoundHalfOdd (N 4) (N 2) ~ P 0)
+_test_Rem_RoundHalfOdd_N4_N2 =  Dict
+_test_Div_RoundHalfOdd_N4_N3 :: Dict (K.Div 'K.RoundHalfOdd (N 4) (N 3) ~ P 1)
+_test_Div_RoundHalfOdd_N4_N3 =  Dict
+_test_Rem_RoundHalfOdd_N4_N3 :: Dict (K.Rem 'K.RoundHalfOdd (N 4) (N 3) ~ N 1)
+_test_Rem_RoundHalfOdd_N4_N3 =  Dict
+_test_Div_RoundHalfOdd_N4_N4 :: Dict (K.Div 'K.RoundHalfOdd (N 4) (N 4) ~ P 1)
+_test_Div_RoundHalfOdd_N4_N4 =  Dict
+_test_Rem_RoundHalfOdd_N4_N4 :: Dict (K.Rem 'K.RoundHalfOdd (N 4) (N 4) ~ P 0)
+_test_Rem_RoundHalfOdd_N4_N4 =  Dict
+_test_Div_RoundHalfOdd_N4_P1 :: Dict (K.Div 'K.RoundHalfOdd (N 4) (P 1) ~ N 4)
+_test_Div_RoundHalfOdd_N4_P1 =  Dict
+_test_Rem_RoundHalfOdd_N4_P1 :: Dict (K.Rem 'K.RoundHalfOdd (N 4) (P 1) ~ P 0)
+_test_Rem_RoundHalfOdd_N4_P1 =  Dict
+_test_Div_RoundHalfOdd_N4_P2 :: Dict (K.Div 'K.RoundHalfOdd (N 4) (P 2) ~ N 2)
+_test_Div_RoundHalfOdd_N4_P2 =  Dict
+_test_Rem_RoundHalfOdd_N4_P2 :: Dict (K.Rem 'K.RoundHalfOdd (N 4) (P 2) ~ P 0)
+_test_Rem_RoundHalfOdd_N4_P2 =  Dict
+_test_Div_RoundHalfOdd_N4_P3 :: Dict (K.Div 'K.RoundHalfOdd (N 4) (P 3) ~ N 1)
+_test_Div_RoundHalfOdd_N4_P3 =  Dict
+_test_Rem_RoundHalfOdd_N4_P3 :: Dict (K.Rem 'K.RoundHalfOdd (N 4) (P 3) ~ N 1)
+_test_Rem_RoundHalfOdd_N4_P3 =  Dict
+_test_Div_RoundHalfOdd_N4_P4 :: Dict (K.Div 'K.RoundHalfOdd (N 4) (P 4) ~ N 1)
+_test_Div_RoundHalfOdd_N4_P4 =  Dict
+_test_Rem_RoundHalfOdd_N4_P4 :: Dict (K.Rem 'K.RoundHalfOdd (N 4) (P 4) ~ P 0)
+_test_Rem_RoundHalfOdd_N4_P4 =  Dict
+_test_Div_RoundHalfOdd_P0_N1 :: Dict (K.Div 'K.RoundHalfOdd (P 0) (N 1) ~ P 0)
+_test_Div_RoundHalfOdd_P0_N1 =  Dict
+_test_Rem_RoundHalfOdd_P0_N1 :: Dict (K.Rem 'K.RoundHalfOdd (P 0) (N 1) ~ P 0)
+_test_Rem_RoundHalfOdd_P0_N1 =  Dict
+_test_Div_RoundHalfOdd_P0_N2 :: Dict (K.Div 'K.RoundHalfOdd (P 0) (N 2) ~ P 0)
+_test_Div_RoundHalfOdd_P0_N2 =  Dict
+_test_Rem_RoundHalfOdd_P0_N2 :: Dict (K.Rem 'K.RoundHalfOdd (P 0) (N 2) ~ P 0)
+_test_Rem_RoundHalfOdd_P0_N2 =  Dict
+_test_Div_RoundHalfOdd_P0_N3 :: Dict (K.Div 'K.RoundHalfOdd (P 0) (N 3) ~ P 0)
+_test_Div_RoundHalfOdd_P0_N3 =  Dict
+_test_Rem_RoundHalfOdd_P0_N3 :: Dict (K.Rem 'K.RoundHalfOdd (P 0) (N 3) ~ P 0)
+_test_Rem_RoundHalfOdd_P0_N3 =  Dict
+_test_Div_RoundHalfOdd_P0_N4 :: Dict (K.Div 'K.RoundHalfOdd (P 0) (N 4) ~ P 0)
+_test_Div_RoundHalfOdd_P0_N4 =  Dict
+_test_Rem_RoundHalfOdd_P0_N4 :: Dict (K.Rem 'K.RoundHalfOdd (P 0) (N 4) ~ P 0)
+_test_Rem_RoundHalfOdd_P0_N4 =  Dict
+_test_Div_RoundHalfOdd_P0_P1 :: Dict (K.Div 'K.RoundHalfOdd (P 0) (P 1) ~ P 0)
+_test_Div_RoundHalfOdd_P0_P1 =  Dict
+_test_Rem_RoundHalfOdd_P0_P1 :: Dict (K.Rem 'K.RoundHalfOdd (P 0) (P 1) ~ P 0)
+_test_Rem_RoundHalfOdd_P0_P1 =  Dict
+_test_Div_RoundHalfOdd_P0_P2 :: Dict (K.Div 'K.RoundHalfOdd (P 0) (P 2) ~ P 0)
+_test_Div_RoundHalfOdd_P0_P2 =  Dict
+_test_Rem_RoundHalfOdd_P0_P2 :: Dict (K.Rem 'K.RoundHalfOdd (P 0) (P 2) ~ P 0)
+_test_Rem_RoundHalfOdd_P0_P2 =  Dict
+_test_Div_RoundHalfOdd_P0_P3 :: Dict (K.Div 'K.RoundHalfOdd (P 0) (P 3) ~ P 0)
+_test_Div_RoundHalfOdd_P0_P3 =  Dict
+_test_Rem_RoundHalfOdd_P0_P3 :: Dict (K.Rem 'K.RoundHalfOdd (P 0) (P 3) ~ P 0)
+_test_Rem_RoundHalfOdd_P0_P3 =  Dict
+_test_Div_RoundHalfOdd_P0_P4 :: Dict (K.Div 'K.RoundHalfOdd (P 0) (P 4) ~ P 0)
+_test_Div_RoundHalfOdd_P0_P4 =  Dict
+_test_Rem_RoundHalfOdd_P0_P4 :: Dict (K.Rem 'K.RoundHalfOdd (P 0) (P 4) ~ P 0)
+_test_Rem_RoundHalfOdd_P0_P4 =  Dict
+_test_Div_RoundHalfOdd_P1_N1 :: Dict (K.Div 'K.RoundHalfOdd (P 1) (N 1) ~ N 1)
+_test_Div_RoundHalfOdd_P1_N1 =  Dict
+_test_Rem_RoundHalfOdd_P1_N1 :: Dict (K.Rem 'K.RoundHalfOdd (P 1) (N 1) ~ P 0)
+_test_Rem_RoundHalfOdd_P1_N1 =  Dict
+_test_Div_RoundHalfOdd_P1_N2 :: Dict (K.Div 'K.RoundHalfOdd (P 1) (N 2) ~ N 1)
+_test_Div_RoundHalfOdd_P1_N2 =  Dict
+_test_Rem_RoundHalfOdd_P1_N2 :: Dict (K.Rem 'K.RoundHalfOdd (P 1) (N 2) ~ N 1)
+_test_Rem_RoundHalfOdd_P1_N2 =  Dict
+_test_Div_RoundHalfOdd_P1_N3 :: Dict (K.Div 'K.RoundHalfOdd (P 1) (N 3) ~ P 0)
+_test_Div_RoundHalfOdd_P1_N3 =  Dict
+_test_Rem_RoundHalfOdd_P1_N3 :: Dict (K.Rem 'K.RoundHalfOdd (P 1) (N 3) ~ P 1)
+_test_Rem_RoundHalfOdd_P1_N3 =  Dict
+_test_Div_RoundHalfOdd_P1_N4 :: Dict (K.Div 'K.RoundHalfOdd (P 1) (N 4) ~ P 0)
+_test_Div_RoundHalfOdd_P1_N4 =  Dict
+_test_Rem_RoundHalfOdd_P1_N4 :: Dict (K.Rem 'K.RoundHalfOdd (P 1) (N 4) ~ P 1)
+_test_Rem_RoundHalfOdd_P1_N4 =  Dict
+_test_Div_RoundHalfOdd_P1_P1 :: Dict (K.Div 'K.RoundHalfOdd (P 1) (P 1) ~ P 1)
+_test_Div_RoundHalfOdd_P1_P1 =  Dict
+_test_Rem_RoundHalfOdd_P1_P1 :: Dict (K.Rem 'K.RoundHalfOdd (P 1) (P 1) ~ P 0)
+_test_Rem_RoundHalfOdd_P1_P1 =  Dict
+_test_Div_RoundHalfOdd_P1_P2 :: Dict (K.Div 'K.RoundHalfOdd (P 1) (P 2) ~ P 1)
+_test_Div_RoundHalfOdd_P1_P2 =  Dict
+_test_Rem_RoundHalfOdd_P1_P2 :: Dict (K.Rem 'K.RoundHalfOdd (P 1) (P 2) ~ N 1)
+_test_Rem_RoundHalfOdd_P1_P2 =  Dict
+_test_Div_RoundHalfOdd_P1_P3 :: Dict (K.Div 'K.RoundHalfOdd (P 1) (P 3) ~ P 0)
+_test_Div_RoundHalfOdd_P1_P3 =  Dict
+_test_Rem_RoundHalfOdd_P1_P3 :: Dict (K.Rem 'K.RoundHalfOdd (P 1) (P 3) ~ P 1)
+_test_Rem_RoundHalfOdd_P1_P3 =  Dict
+_test_Div_RoundHalfOdd_P1_P4 :: Dict (K.Div 'K.RoundHalfOdd (P 1) (P 4) ~ P 0)
+_test_Div_RoundHalfOdd_P1_P4 =  Dict
+_test_Rem_RoundHalfOdd_P1_P4 :: Dict (K.Rem 'K.RoundHalfOdd (P 1) (P 4) ~ P 1)
+_test_Rem_RoundHalfOdd_P1_P4 =  Dict
+_test_Div_RoundHalfOdd_P2_N1 :: Dict (K.Div 'K.RoundHalfOdd (P 2) (N 1) ~ N 2)
+_test_Div_RoundHalfOdd_P2_N1 =  Dict
+_test_Rem_RoundHalfOdd_P2_N1 :: Dict (K.Rem 'K.RoundHalfOdd (P 2) (N 1) ~ P 0)
+_test_Rem_RoundHalfOdd_P2_N1 =  Dict
+_test_Div_RoundHalfOdd_P2_N2 :: Dict (K.Div 'K.RoundHalfOdd (P 2) (N 2) ~ N 1)
+_test_Div_RoundHalfOdd_P2_N2 =  Dict
+_test_Rem_RoundHalfOdd_P2_N2 :: Dict (K.Rem 'K.RoundHalfOdd (P 2) (N 2) ~ P 0)
+_test_Rem_RoundHalfOdd_P2_N2 =  Dict
+_test_Div_RoundHalfOdd_P2_N3 :: Dict (K.Div 'K.RoundHalfOdd (P 2) (N 3) ~ N 1)
+_test_Div_RoundHalfOdd_P2_N3 =  Dict
+_test_Rem_RoundHalfOdd_P2_N3 :: Dict (K.Rem 'K.RoundHalfOdd (P 2) (N 3) ~ N 1)
+_test_Rem_RoundHalfOdd_P2_N3 =  Dict
+_test_Div_RoundHalfOdd_P2_N4 :: Dict (K.Div 'K.RoundHalfOdd (P 2) (N 4) ~ N 1)
+_test_Div_RoundHalfOdd_P2_N4 =  Dict
+_test_Rem_RoundHalfOdd_P2_N4 :: Dict (K.Rem 'K.RoundHalfOdd (P 2) (N 4) ~ N 2)
+_test_Rem_RoundHalfOdd_P2_N4 =  Dict
+_test_Div_RoundHalfOdd_P2_P1 :: Dict (K.Div 'K.RoundHalfOdd (P 2) (P 1) ~ P 2)
+_test_Div_RoundHalfOdd_P2_P1 =  Dict
+_test_Rem_RoundHalfOdd_P2_P1 :: Dict (K.Rem 'K.RoundHalfOdd (P 2) (P 1) ~ P 0)
+_test_Rem_RoundHalfOdd_P2_P1 =  Dict
+_test_Div_RoundHalfOdd_P2_P2 :: Dict (K.Div 'K.RoundHalfOdd (P 2) (P 2) ~ P 1)
+_test_Div_RoundHalfOdd_P2_P2 =  Dict
+_test_Rem_RoundHalfOdd_P2_P2 :: Dict (K.Rem 'K.RoundHalfOdd (P 2) (P 2) ~ P 0)
+_test_Rem_RoundHalfOdd_P2_P2 =  Dict
+_test_Div_RoundHalfOdd_P2_P3 :: Dict (K.Div 'K.RoundHalfOdd (P 2) (P 3) ~ P 1)
+_test_Div_RoundHalfOdd_P2_P3 =  Dict
+_test_Rem_RoundHalfOdd_P2_P3 :: Dict (K.Rem 'K.RoundHalfOdd (P 2) (P 3) ~ N 1)
+_test_Rem_RoundHalfOdd_P2_P3 =  Dict
+_test_Div_RoundHalfOdd_P2_P4 :: Dict (K.Div 'K.RoundHalfOdd (P 2) (P 4) ~ P 1)
+_test_Div_RoundHalfOdd_P2_P4 =  Dict
+_test_Rem_RoundHalfOdd_P2_P4 :: Dict (K.Rem 'K.RoundHalfOdd (P 2) (P 4) ~ N 2)
+_test_Rem_RoundHalfOdd_P2_P4 =  Dict
+_test_Div_RoundHalfOdd_P3_N1 :: Dict (K.Div 'K.RoundHalfOdd (P 3) (N 1) ~ N 3)
+_test_Div_RoundHalfOdd_P3_N1 =  Dict
+_test_Rem_RoundHalfOdd_P3_N1 :: Dict (K.Rem 'K.RoundHalfOdd (P 3) (N 1) ~ P 0)
+_test_Rem_RoundHalfOdd_P3_N1 =  Dict
+_test_Div_RoundHalfOdd_P3_N2 :: Dict (K.Div 'K.RoundHalfOdd (P 3) (N 2) ~ N 1)
+_test_Div_RoundHalfOdd_P3_N2 =  Dict
+_test_Rem_RoundHalfOdd_P3_N2 :: Dict (K.Rem 'K.RoundHalfOdd (P 3) (N 2) ~ P 1)
+_test_Rem_RoundHalfOdd_P3_N2 =  Dict
+_test_Div_RoundHalfOdd_P3_N3 :: Dict (K.Div 'K.RoundHalfOdd (P 3) (N 3) ~ N 1)
+_test_Div_RoundHalfOdd_P3_N3 =  Dict
+_test_Rem_RoundHalfOdd_P3_N3 :: Dict (K.Rem 'K.RoundHalfOdd (P 3) (N 3) ~ P 0)
+_test_Rem_RoundHalfOdd_P3_N3 =  Dict
+_test_Div_RoundHalfOdd_P3_N4 :: Dict (K.Div 'K.RoundHalfOdd (P 3) (N 4) ~ N 1)
+_test_Div_RoundHalfOdd_P3_N4 =  Dict
+_test_Rem_RoundHalfOdd_P3_N4 :: Dict (K.Rem 'K.RoundHalfOdd (P 3) (N 4) ~ N 1)
+_test_Rem_RoundHalfOdd_P3_N4 =  Dict
+_test_Div_RoundHalfOdd_P3_P1 :: Dict (K.Div 'K.RoundHalfOdd (P 3) (P 1) ~ P 3)
+_test_Div_RoundHalfOdd_P3_P1 =  Dict
+_test_Rem_RoundHalfOdd_P3_P1 :: Dict (K.Rem 'K.RoundHalfOdd (P 3) (P 1) ~ P 0)
+_test_Rem_RoundHalfOdd_P3_P1 =  Dict
+_test_Div_RoundHalfOdd_P3_P2 :: Dict (K.Div 'K.RoundHalfOdd (P 3) (P 2) ~ P 1)
+_test_Div_RoundHalfOdd_P3_P2 =  Dict
+_test_Rem_RoundHalfOdd_P3_P2 :: Dict (K.Rem 'K.RoundHalfOdd (P 3) (P 2) ~ P 1)
+_test_Rem_RoundHalfOdd_P3_P2 =  Dict
+_test_Div_RoundHalfOdd_P3_P3 :: Dict (K.Div 'K.RoundHalfOdd (P 3) (P 3) ~ P 1)
+_test_Div_RoundHalfOdd_P3_P3 =  Dict
+_test_Rem_RoundHalfOdd_P3_P3 :: Dict (K.Rem 'K.RoundHalfOdd (P 3) (P 3) ~ P 0)
+_test_Rem_RoundHalfOdd_P3_P3 =  Dict
+_test_Div_RoundHalfOdd_P3_P4 :: Dict (K.Div 'K.RoundHalfOdd (P 3) (P 4) ~ P 1)
+_test_Div_RoundHalfOdd_P3_P4 =  Dict
+_test_Rem_RoundHalfOdd_P3_P4 :: Dict (K.Rem 'K.RoundHalfOdd (P 3) (P 4) ~ N 1)
+_test_Rem_RoundHalfOdd_P3_P4 =  Dict
+_test_Div_RoundHalfOdd_P4_N1 :: Dict (K.Div 'K.RoundHalfOdd (P 4) (N 1) ~ N 4)
+_test_Div_RoundHalfOdd_P4_N1 =  Dict
+_test_Rem_RoundHalfOdd_P4_N1 :: Dict (K.Rem 'K.RoundHalfOdd (P 4) (N 1) ~ P 0)
+_test_Rem_RoundHalfOdd_P4_N1 =  Dict
+_test_Div_RoundHalfOdd_P4_N2 :: Dict (K.Div 'K.RoundHalfOdd (P 4) (N 2) ~ N 2)
+_test_Div_RoundHalfOdd_P4_N2 =  Dict
+_test_Rem_RoundHalfOdd_P4_N2 :: Dict (K.Rem 'K.RoundHalfOdd (P 4) (N 2) ~ P 0)
+_test_Rem_RoundHalfOdd_P4_N2 =  Dict
+_test_Div_RoundHalfOdd_P4_N3 :: Dict (K.Div 'K.RoundHalfOdd (P 4) (N 3) ~ N 1)
+_test_Div_RoundHalfOdd_P4_N3 =  Dict
+_test_Rem_RoundHalfOdd_P4_N3 :: Dict (K.Rem 'K.RoundHalfOdd (P 4) (N 3) ~ P 1)
+_test_Rem_RoundHalfOdd_P4_N3 =  Dict
+_test_Div_RoundHalfOdd_P4_N4 :: Dict (K.Div 'K.RoundHalfOdd (P 4) (N 4) ~ N 1)
+_test_Div_RoundHalfOdd_P4_N4 =  Dict
+_test_Rem_RoundHalfOdd_P4_N4 :: Dict (K.Rem 'K.RoundHalfOdd (P 4) (N 4) ~ P 0)
+_test_Rem_RoundHalfOdd_P4_N4 =  Dict
+_test_Div_RoundHalfOdd_P4_P1 :: Dict (K.Div 'K.RoundHalfOdd (P 4) (P 1) ~ P 4)
+_test_Div_RoundHalfOdd_P4_P1 =  Dict
+_test_Rem_RoundHalfOdd_P4_P1 :: Dict (K.Rem 'K.RoundHalfOdd (P 4) (P 1) ~ P 0)
+_test_Rem_RoundHalfOdd_P4_P1 =  Dict
+_test_Div_RoundHalfOdd_P4_P2 :: Dict (K.Div 'K.RoundHalfOdd (P 4) (P 2) ~ P 2)
+_test_Div_RoundHalfOdd_P4_P2 =  Dict
+_test_Rem_RoundHalfOdd_P4_P2 :: Dict (K.Rem 'K.RoundHalfOdd (P 4) (P 2) ~ P 0)
+_test_Rem_RoundHalfOdd_P4_P2 =  Dict
+_test_Div_RoundHalfOdd_P4_P3 :: Dict (K.Div 'K.RoundHalfOdd (P 4) (P 3) ~ P 1)
+_test_Div_RoundHalfOdd_P4_P3 =  Dict
+_test_Rem_RoundHalfOdd_P4_P3 :: Dict (K.Rem 'K.RoundHalfOdd (P 4) (P 3) ~ P 1)
+_test_Rem_RoundHalfOdd_P4_P3 =  Dict
+_test_Div_RoundHalfOdd_P4_P4 :: Dict (K.Div 'K.RoundHalfOdd (P 4) (P 4) ~ P 1)
+_test_Div_RoundHalfOdd_P4_P4 =  Dict
+_test_Rem_RoundHalfOdd_P4_P4 :: Dict (K.Rem 'K.RoundHalfOdd (P 4) (P 4) ~ P 0)
+_test_Rem_RoundHalfOdd_P4_P4 =  Dict
+_test_Div_RoundHalfUp_N1_N1 :: Dict (K.Div 'K.RoundHalfUp (N 1) (N 1) ~ P 1)
+_test_Div_RoundHalfUp_N1_N1 =  Dict
+_test_Rem_RoundHalfUp_N1_N1 :: Dict (K.Rem 'K.RoundHalfUp (N 1) (N 1) ~ P 0)
+_test_Rem_RoundHalfUp_N1_N1 =  Dict
+_test_Div_RoundHalfUp_N1_N2 :: Dict (K.Div 'K.RoundHalfUp (N 1) (N 2) ~ P 1)
+_test_Div_RoundHalfUp_N1_N2 =  Dict
+_test_Rem_RoundHalfUp_N1_N2 :: Dict (K.Rem 'K.RoundHalfUp (N 1) (N 2) ~ P 1)
+_test_Rem_RoundHalfUp_N1_N2 =  Dict
+_test_Div_RoundHalfUp_N1_N3 :: Dict (K.Div 'K.RoundHalfUp (N 1) (N 3) ~ P 0)
+_test_Div_RoundHalfUp_N1_N3 =  Dict
+_test_Rem_RoundHalfUp_N1_N3 :: Dict (K.Rem 'K.RoundHalfUp (N 1) (N 3) ~ N 1)
+_test_Rem_RoundHalfUp_N1_N3 =  Dict
+_test_Div_RoundHalfUp_N1_N4 :: Dict (K.Div 'K.RoundHalfUp (N 1) (N 4) ~ P 0)
+_test_Div_RoundHalfUp_N1_N4 =  Dict
+_test_Rem_RoundHalfUp_N1_N4 :: Dict (K.Rem 'K.RoundHalfUp (N 1) (N 4) ~ N 1)
+_test_Rem_RoundHalfUp_N1_N4 =  Dict
+_test_Div_RoundHalfUp_N1_P1 :: Dict (K.Div 'K.RoundHalfUp (N 1) (P 1) ~ N 1)
+_test_Div_RoundHalfUp_N1_P1 =  Dict
+_test_Rem_RoundHalfUp_N1_P1 :: Dict (K.Rem 'K.RoundHalfUp (N 1) (P 1) ~ P 0)
+_test_Rem_RoundHalfUp_N1_P1 =  Dict
+_test_Div_RoundHalfUp_N1_P2 :: Dict (K.Div 'K.RoundHalfUp (N 1) (P 2) ~ P 0)
+_test_Div_RoundHalfUp_N1_P2 =  Dict
+_test_Rem_RoundHalfUp_N1_P2 :: Dict (K.Rem 'K.RoundHalfUp (N 1) (P 2) ~ N 1)
+_test_Rem_RoundHalfUp_N1_P2 =  Dict
+_test_Div_RoundHalfUp_N1_P3 :: Dict (K.Div 'K.RoundHalfUp (N 1) (P 3) ~ P 0)
+_test_Div_RoundHalfUp_N1_P3 =  Dict
+_test_Rem_RoundHalfUp_N1_P3 :: Dict (K.Rem 'K.RoundHalfUp (N 1) (P 3) ~ N 1)
+_test_Rem_RoundHalfUp_N1_P3 =  Dict
+_test_Div_RoundHalfUp_N1_P4 :: Dict (K.Div 'K.RoundHalfUp (N 1) (P 4) ~ P 0)
+_test_Div_RoundHalfUp_N1_P4 =  Dict
+_test_Rem_RoundHalfUp_N1_P4 :: Dict (K.Rem 'K.RoundHalfUp (N 1) (P 4) ~ N 1)
+_test_Rem_RoundHalfUp_N1_P4 =  Dict
+_test_Div_RoundHalfUp_N2_N1 :: Dict (K.Div 'K.RoundHalfUp (N 2) (N 1) ~ P 2)
+_test_Div_RoundHalfUp_N2_N1 =  Dict
+_test_Rem_RoundHalfUp_N2_N1 :: Dict (K.Rem 'K.RoundHalfUp (N 2) (N 1) ~ P 0)
+_test_Rem_RoundHalfUp_N2_N1 =  Dict
+_test_Div_RoundHalfUp_N2_N2 :: Dict (K.Div 'K.RoundHalfUp (N 2) (N 2) ~ P 1)
+_test_Div_RoundHalfUp_N2_N2 =  Dict
+_test_Rem_RoundHalfUp_N2_N2 :: Dict (K.Rem 'K.RoundHalfUp (N 2) (N 2) ~ P 0)
+_test_Rem_RoundHalfUp_N2_N2 =  Dict
+_test_Div_RoundHalfUp_N2_N3 :: Dict (K.Div 'K.RoundHalfUp (N 2) (N 3) ~ P 1)
+_test_Div_RoundHalfUp_N2_N3 =  Dict
+_test_Rem_RoundHalfUp_N2_N3 :: Dict (K.Rem 'K.RoundHalfUp (N 2) (N 3) ~ P 1)
+_test_Rem_RoundHalfUp_N2_N3 =  Dict
+_test_Div_RoundHalfUp_N2_N4 :: Dict (K.Div 'K.RoundHalfUp (N 2) (N 4) ~ P 1)
+_test_Div_RoundHalfUp_N2_N4 =  Dict
+_test_Rem_RoundHalfUp_N2_N4 :: Dict (K.Rem 'K.RoundHalfUp (N 2) (N 4) ~ P 2)
+_test_Rem_RoundHalfUp_N2_N4 =  Dict
+_test_Div_RoundHalfUp_N2_P1 :: Dict (K.Div 'K.RoundHalfUp (N 2) (P 1) ~ N 2)
+_test_Div_RoundHalfUp_N2_P1 =  Dict
+_test_Rem_RoundHalfUp_N2_P1 :: Dict (K.Rem 'K.RoundHalfUp (N 2) (P 1) ~ P 0)
+_test_Rem_RoundHalfUp_N2_P1 =  Dict
+_test_Div_RoundHalfUp_N2_P2 :: Dict (K.Div 'K.RoundHalfUp (N 2) (P 2) ~ N 1)
+_test_Div_RoundHalfUp_N2_P2 =  Dict
+_test_Rem_RoundHalfUp_N2_P2 :: Dict (K.Rem 'K.RoundHalfUp (N 2) (P 2) ~ P 0)
+_test_Rem_RoundHalfUp_N2_P2 =  Dict
+_test_Div_RoundHalfUp_N2_P3 :: Dict (K.Div 'K.RoundHalfUp (N 2) (P 3) ~ N 1)
+_test_Div_RoundHalfUp_N2_P3 =  Dict
+_test_Rem_RoundHalfUp_N2_P3 :: Dict (K.Rem 'K.RoundHalfUp (N 2) (P 3) ~ P 1)
+_test_Rem_RoundHalfUp_N2_P3 =  Dict
+_test_Div_RoundHalfUp_N2_P4 :: Dict (K.Div 'K.RoundHalfUp (N 2) (P 4) ~ P 0)
+_test_Div_RoundHalfUp_N2_P4 =  Dict
+_test_Rem_RoundHalfUp_N2_P4 :: Dict (K.Rem 'K.RoundHalfUp (N 2) (P 4) ~ N 2)
+_test_Rem_RoundHalfUp_N2_P4 =  Dict
+_test_Div_RoundHalfUp_N3_N1 :: Dict (K.Div 'K.RoundHalfUp (N 3) (N 1) ~ P 3)
+_test_Div_RoundHalfUp_N3_N1 =  Dict
+_test_Rem_RoundHalfUp_N3_N1 :: Dict (K.Rem 'K.RoundHalfUp (N 3) (N 1) ~ P 0)
+_test_Rem_RoundHalfUp_N3_N1 =  Dict
+_test_Div_RoundHalfUp_N3_N2 :: Dict (K.Div 'K.RoundHalfUp (N 3) (N 2) ~ P 2)
+_test_Div_RoundHalfUp_N3_N2 =  Dict
+_test_Rem_RoundHalfUp_N3_N2 :: Dict (K.Rem 'K.RoundHalfUp (N 3) (N 2) ~ P 1)
+_test_Rem_RoundHalfUp_N3_N2 =  Dict
+_test_Div_RoundHalfUp_N3_N3 :: Dict (K.Div 'K.RoundHalfUp (N 3) (N 3) ~ P 1)
+_test_Div_RoundHalfUp_N3_N3 =  Dict
+_test_Rem_RoundHalfUp_N3_N3 :: Dict (K.Rem 'K.RoundHalfUp (N 3) (N 3) ~ P 0)
+_test_Rem_RoundHalfUp_N3_N3 =  Dict
+_test_Div_RoundHalfUp_N3_N4 :: Dict (K.Div 'K.RoundHalfUp (N 3) (N 4) ~ P 1)
+_test_Div_RoundHalfUp_N3_N4 =  Dict
+_test_Rem_RoundHalfUp_N3_N4 :: Dict (K.Rem 'K.RoundHalfUp (N 3) (N 4) ~ P 1)
+_test_Rem_RoundHalfUp_N3_N4 =  Dict
+_test_Div_RoundHalfUp_N3_P1 :: Dict (K.Div 'K.RoundHalfUp (N 3) (P 1) ~ N 3)
+_test_Div_RoundHalfUp_N3_P1 =  Dict
+_test_Rem_RoundHalfUp_N3_P1 :: Dict (K.Rem 'K.RoundHalfUp (N 3) (P 1) ~ P 0)
+_test_Rem_RoundHalfUp_N3_P1 =  Dict
+_test_Div_RoundHalfUp_N3_P2 :: Dict (K.Div 'K.RoundHalfUp (N 3) (P 2) ~ N 1)
+_test_Div_RoundHalfUp_N3_P2 =  Dict
+_test_Rem_RoundHalfUp_N3_P2 :: Dict (K.Rem 'K.RoundHalfUp (N 3) (P 2) ~ N 1)
+_test_Rem_RoundHalfUp_N3_P2 =  Dict
+_test_Div_RoundHalfUp_N3_P3 :: Dict (K.Div 'K.RoundHalfUp (N 3) (P 3) ~ N 1)
+_test_Div_RoundHalfUp_N3_P3 =  Dict
+_test_Rem_RoundHalfUp_N3_P3 :: Dict (K.Rem 'K.RoundHalfUp (N 3) (P 3) ~ P 0)
+_test_Rem_RoundHalfUp_N3_P3 =  Dict
+_test_Div_RoundHalfUp_N3_P4 :: Dict (K.Div 'K.RoundHalfUp (N 3) (P 4) ~ N 1)
+_test_Div_RoundHalfUp_N3_P4 =  Dict
+_test_Rem_RoundHalfUp_N3_P4 :: Dict (K.Rem 'K.RoundHalfUp (N 3) (P 4) ~ P 1)
+_test_Rem_RoundHalfUp_N3_P4 =  Dict
+_test_Div_RoundHalfUp_N4_N1 :: Dict (K.Div 'K.RoundHalfUp (N 4) (N 1) ~ P 4)
+_test_Div_RoundHalfUp_N4_N1 =  Dict
+_test_Rem_RoundHalfUp_N4_N1 :: Dict (K.Rem 'K.RoundHalfUp (N 4) (N 1) ~ P 0)
+_test_Rem_RoundHalfUp_N4_N1 =  Dict
+_test_Div_RoundHalfUp_N4_N2 :: Dict (K.Div 'K.RoundHalfUp (N 4) (N 2) ~ P 2)
+_test_Div_RoundHalfUp_N4_N2 =  Dict
+_test_Rem_RoundHalfUp_N4_N2 :: Dict (K.Rem 'K.RoundHalfUp (N 4) (N 2) ~ P 0)
+_test_Rem_RoundHalfUp_N4_N2 =  Dict
+_test_Div_RoundHalfUp_N4_N3 :: Dict (K.Div 'K.RoundHalfUp (N 4) (N 3) ~ P 1)
+_test_Div_RoundHalfUp_N4_N3 =  Dict
+_test_Rem_RoundHalfUp_N4_N3 :: Dict (K.Rem 'K.RoundHalfUp (N 4) (N 3) ~ N 1)
+_test_Rem_RoundHalfUp_N4_N3 =  Dict
+_test_Div_RoundHalfUp_N4_N4 :: Dict (K.Div 'K.RoundHalfUp (N 4) (N 4) ~ P 1)
+_test_Div_RoundHalfUp_N4_N4 =  Dict
+_test_Rem_RoundHalfUp_N4_N4 :: Dict (K.Rem 'K.RoundHalfUp (N 4) (N 4) ~ P 0)
+_test_Rem_RoundHalfUp_N4_N4 =  Dict
+_test_Div_RoundHalfUp_N4_P1 :: Dict (K.Div 'K.RoundHalfUp (N 4) (P 1) ~ N 4)
+_test_Div_RoundHalfUp_N4_P1 =  Dict
+_test_Rem_RoundHalfUp_N4_P1 :: Dict (K.Rem 'K.RoundHalfUp (N 4) (P 1) ~ P 0)
+_test_Rem_RoundHalfUp_N4_P1 =  Dict
+_test_Div_RoundHalfUp_N4_P2 :: Dict (K.Div 'K.RoundHalfUp (N 4) (P 2) ~ N 2)
+_test_Div_RoundHalfUp_N4_P2 =  Dict
+_test_Rem_RoundHalfUp_N4_P2 :: Dict (K.Rem 'K.RoundHalfUp (N 4) (P 2) ~ P 0)
+_test_Rem_RoundHalfUp_N4_P2 =  Dict
+_test_Div_RoundHalfUp_N4_P3 :: Dict (K.Div 'K.RoundHalfUp (N 4) (P 3) ~ N 1)
+_test_Div_RoundHalfUp_N4_P3 =  Dict
+_test_Rem_RoundHalfUp_N4_P3 :: Dict (K.Rem 'K.RoundHalfUp (N 4) (P 3) ~ N 1)
+_test_Rem_RoundHalfUp_N4_P3 =  Dict
+_test_Div_RoundHalfUp_N4_P4 :: Dict (K.Div 'K.RoundHalfUp (N 4) (P 4) ~ N 1)
+_test_Div_RoundHalfUp_N4_P4 =  Dict
+_test_Rem_RoundHalfUp_N4_P4 :: Dict (K.Rem 'K.RoundHalfUp (N 4) (P 4) ~ P 0)
+_test_Rem_RoundHalfUp_N4_P4 =  Dict
+_test_Div_RoundHalfUp_P0_N1 :: Dict (K.Div 'K.RoundHalfUp (P 0) (N 1) ~ P 0)
+_test_Div_RoundHalfUp_P0_N1 =  Dict
+_test_Rem_RoundHalfUp_P0_N1 :: Dict (K.Rem 'K.RoundHalfUp (P 0) (N 1) ~ P 0)
+_test_Rem_RoundHalfUp_P0_N1 =  Dict
+_test_Div_RoundHalfUp_P0_N2 :: Dict (K.Div 'K.RoundHalfUp (P 0) (N 2) ~ P 0)
+_test_Div_RoundHalfUp_P0_N2 =  Dict
+_test_Rem_RoundHalfUp_P0_N2 :: Dict (K.Rem 'K.RoundHalfUp (P 0) (N 2) ~ P 0)
+_test_Rem_RoundHalfUp_P0_N2 =  Dict
+_test_Div_RoundHalfUp_P0_N3 :: Dict (K.Div 'K.RoundHalfUp (P 0) (N 3) ~ P 0)
+_test_Div_RoundHalfUp_P0_N3 =  Dict
+_test_Rem_RoundHalfUp_P0_N3 :: Dict (K.Rem 'K.RoundHalfUp (P 0) (N 3) ~ P 0)
+_test_Rem_RoundHalfUp_P0_N3 =  Dict
+_test_Div_RoundHalfUp_P0_N4 :: Dict (K.Div 'K.RoundHalfUp (P 0) (N 4) ~ P 0)
+_test_Div_RoundHalfUp_P0_N4 =  Dict
+_test_Rem_RoundHalfUp_P0_N4 :: Dict (K.Rem 'K.RoundHalfUp (P 0) (N 4) ~ P 0)
+_test_Rem_RoundHalfUp_P0_N4 =  Dict
+_test_Div_RoundHalfUp_P0_P1 :: Dict (K.Div 'K.RoundHalfUp (P 0) (P 1) ~ P 0)
+_test_Div_RoundHalfUp_P0_P1 =  Dict
+_test_Rem_RoundHalfUp_P0_P1 :: Dict (K.Rem 'K.RoundHalfUp (P 0) (P 1) ~ P 0)
+_test_Rem_RoundHalfUp_P0_P1 =  Dict
+_test_Div_RoundHalfUp_P0_P2 :: Dict (K.Div 'K.RoundHalfUp (P 0) (P 2) ~ P 0)
+_test_Div_RoundHalfUp_P0_P2 =  Dict
+_test_Rem_RoundHalfUp_P0_P2 :: Dict (K.Rem 'K.RoundHalfUp (P 0) (P 2) ~ P 0)
+_test_Rem_RoundHalfUp_P0_P2 =  Dict
+_test_Div_RoundHalfUp_P0_P3 :: Dict (K.Div 'K.RoundHalfUp (P 0) (P 3) ~ P 0)
+_test_Div_RoundHalfUp_P0_P3 =  Dict
+_test_Rem_RoundHalfUp_P0_P3 :: Dict (K.Rem 'K.RoundHalfUp (P 0) (P 3) ~ P 0)
+_test_Rem_RoundHalfUp_P0_P3 =  Dict
+_test_Div_RoundHalfUp_P0_P4 :: Dict (K.Div 'K.RoundHalfUp (P 0) (P 4) ~ P 0)
+_test_Div_RoundHalfUp_P0_P4 =  Dict
+_test_Rem_RoundHalfUp_P0_P4 :: Dict (K.Rem 'K.RoundHalfUp (P 0) (P 4) ~ P 0)
+_test_Rem_RoundHalfUp_P0_P4 =  Dict
+_test_Div_RoundHalfUp_P1_N1 :: Dict (K.Div 'K.RoundHalfUp (P 1) (N 1) ~ N 1)
+_test_Div_RoundHalfUp_P1_N1 =  Dict
+_test_Rem_RoundHalfUp_P1_N1 :: Dict (K.Rem 'K.RoundHalfUp (P 1) (N 1) ~ P 0)
+_test_Rem_RoundHalfUp_P1_N1 =  Dict
+_test_Div_RoundHalfUp_P1_N2 :: Dict (K.Div 'K.RoundHalfUp (P 1) (N 2) ~ P 0)
+_test_Div_RoundHalfUp_P1_N2 =  Dict
+_test_Rem_RoundHalfUp_P1_N2 :: Dict (K.Rem 'K.RoundHalfUp (P 1) (N 2) ~ P 1)
+_test_Rem_RoundHalfUp_P1_N2 =  Dict
+_test_Div_RoundHalfUp_P1_N3 :: Dict (K.Div 'K.RoundHalfUp (P 1) (N 3) ~ P 0)
+_test_Div_RoundHalfUp_P1_N3 =  Dict
+_test_Rem_RoundHalfUp_P1_N3 :: Dict (K.Rem 'K.RoundHalfUp (P 1) (N 3) ~ P 1)
+_test_Rem_RoundHalfUp_P1_N3 =  Dict
+_test_Div_RoundHalfUp_P1_N4 :: Dict (K.Div 'K.RoundHalfUp (P 1) (N 4) ~ P 0)
+_test_Div_RoundHalfUp_P1_N4 =  Dict
+_test_Rem_RoundHalfUp_P1_N4 :: Dict (K.Rem 'K.RoundHalfUp (P 1) (N 4) ~ P 1)
+_test_Rem_RoundHalfUp_P1_N4 =  Dict
+_test_Div_RoundHalfUp_P1_P1 :: Dict (K.Div 'K.RoundHalfUp (P 1) (P 1) ~ P 1)
+_test_Div_RoundHalfUp_P1_P1 =  Dict
+_test_Rem_RoundHalfUp_P1_P1 :: Dict (K.Rem 'K.RoundHalfUp (P 1) (P 1) ~ P 0)
+_test_Rem_RoundHalfUp_P1_P1 =  Dict
+_test_Div_RoundHalfUp_P1_P2 :: Dict (K.Div 'K.RoundHalfUp (P 1) (P 2) ~ P 1)
+_test_Div_RoundHalfUp_P1_P2 =  Dict
+_test_Rem_RoundHalfUp_P1_P2 :: Dict (K.Rem 'K.RoundHalfUp (P 1) (P 2) ~ N 1)
+_test_Rem_RoundHalfUp_P1_P2 =  Dict
+_test_Div_RoundHalfUp_P1_P3 :: Dict (K.Div 'K.RoundHalfUp (P 1) (P 3) ~ P 0)
+_test_Div_RoundHalfUp_P1_P3 =  Dict
+_test_Rem_RoundHalfUp_P1_P3 :: Dict (K.Rem 'K.RoundHalfUp (P 1) (P 3) ~ P 1)
+_test_Rem_RoundHalfUp_P1_P3 =  Dict
+_test_Div_RoundHalfUp_P1_P4 :: Dict (K.Div 'K.RoundHalfUp (P 1) (P 4) ~ P 0)
+_test_Div_RoundHalfUp_P1_P4 =  Dict
+_test_Rem_RoundHalfUp_P1_P4 :: Dict (K.Rem 'K.RoundHalfUp (P 1) (P 4) ~ P 1)
+_test_Rem_RoundHalfUp_P1_P4 =  Dict
+_test_Div_RoundHalfUp_P2_N1 :: Dict (K.Div 'K.RoundHalfUp (P 2) (N 1) ~ N 2)
+_test_Div_RoundHalfUp_P2_N1 =  Dict
+_test_Rem_RoundHalfUp_P2_N1 :: Dict (K.Rem 'K.RoundHalfUp (P 2) (N 1) ~ P 0)
+_test_Rem_RoundHalfUp_P2_N1 =  Dict
+_test_Div_RoundHalfUp_P2_N2 :: Dict (K.Div 'K.RoundHalfUp (P 2) (N 2) ~ N 1)
+_test_Div_RoundHalfUp_P2_N2 =  Dict
+_test_Rem_RoundHalfUp_P2_N2 :: Dict (K.Rem 'K.RoundHalfUp (P 2) (N 2) ~ P 0)
+_test_Rem_RoundHalfUp_P2_N2 =  Dict
+_test_Div_RoundHalfUp_P2_N3 :: Dict (K.Div 'K.RoundHalfUp (P 2) (N 3) ~ N 1)
+_test_Div_RoundHalfUp_P2_N3 =  Dict
+_test_Rem_RoundHalfUp_P2_N3 :: Dict (K.Rem 'K.RoundHalfUp (P 2) (N 3) ~ N 1)
+_test_Rem_RoundHalfUp_P2_N3 =  Dict
+_test_Div_RoundHalfUp_P2_N4 :: Dict (K.Div 'K.RoundHalfUp (P 2) (N 4) ~ P 0)
+_test_Div_RoundHalfUp_P2_N4 =  Dict
+_test_Rem_RoundHalfUp_P2_N4 :: Dict (K.Rem 'K.RoundHalfUp (P 2) (N 4) ~ P 2)
+_test_Rem_RoundHalfUp_P2_N4 =  Dict
+_test_Div_RoundHalfUp_P2_P1 :: Dict (K.Div 'K.RoundHalfUp (P 2) (P 1) ~ P 2)
+_test_Div_RoundHalfUp_P2_P1 =  Dict
+_test_Rem_RoundHalfUp_P2_P1 :: Dict (K.Rem 'K.RoundHalfUp (P 2) (P 1) ~ P 0)
+_test_Rem_RoundHalfUp_P2_P1 =  Dict
+_test_Div_RoundHalfUp_P2_P2 :: Dict (K.Div 'K.RoundHalfUp (P 2) (P 2) ~ P 1)
+_test_Div_RoundHalfUp_P2_P2 =  Dict
+_test_Rem_RoundHalfUp_P2_P2 :: Dict (K.Rem 'K.RoundHalfUp (P 2) (P 2) ~ P 0)
+_test_Rem_RoundHalfUp_P2_P2 =  Dict
+_test_Div_RoundHalfUp_P2_P3 :: Dict (K.Div 'K.RoundHalfUp (P 2) (P 3) ~ P 1)
+_test_Div_RoundHalfUp_P2_P3 =  Dict
+_test_Rem_RoundHalfUp_P2_P3 :: Dict (K.Rem 'K.RoundHalfUp (P 2) (P 3) ~ N 1)
+_test_Rem_RoundHalfUp_P2_P3 =  Dict
+_test_Div_RoundHalfUp_P2_P4 :: Dict (K.Div 'K.RoundHalfUp (P 2) (P 4) ~ P 1)
+_test_Div_RoundHalfUp_P2_P4 =  Dict
+_test_Rem_RoundHalfUp_P2_P4 :: Dict (K.Rem 'K.RoundHalfUp (P 2) (P 4) ~ N 2)
+_test_Rem_RoundHalfUp_P2_P4 =  Dict
+_test_Div_RoundHalfUp_P3_N1 :: Dict (K.Div 'K.RoundHalfUp (P 3) (N 1) ~ N 3)
+_test_Div_RoundHalfUp_P3_N1 =  Dict
+_test_Rem_RoundHalfUp_P3_N1 :: Dict (K.Rem 'K.RoundHalfUp (P 3) (N 1) ~ P 0)
+_test_Rem_RoundHalfUp_P3_N1 =  Dict
+_test_Div_RoundHalfUp_P3_N2 :: Dict (K.Div 'K.RoundHalfUp (P 3) (N 2) ~ N 1)
+_test_Div_RoundHalfUp_P3_N2 =  Dict
+_test_Rem_RoundHalfUp_P3_N2 :: Dict (K.Rem 'K.RoundHalfUp (P 3) (N 2) ~ P 1)
+_test_Rem_RoundHalfUp_P3_N2 =  Dict
+_test_Div_RoundHalfUp_P3_N3 :: Dict (K.Div 'K.RoundHalfUp (P 3) (N 3) ~ N 1)
+_test_Div_RoundHalfUp_P3_N3 =  Dict
+_test_Rem_RoundHalfUp_P3_N3 :: Dict (K.Rem 'K.RoundHalfUp (P 3) (N 3) ~ P 0)
+_test_Rem_RoundHalfUp_P3_N3 =  Dict
+_test_Div_RoundHalfUp_P3_N4 :: Dict (K.Div 'K.RoundHalfUp (P 3) (N 4) ~ N 1)
+_test_Div_RoundHalfUp_P3_N4 =  Dict
+_test_Rem_RoundHalfUp_P3_N4 :: Dict (K.Rem 'K.RoundHalfUp (P 3) (N 4) ~ N 1)
+_test_Rem_RoundHalfUp_P3_N4 =  Dict
+_test_Div_RoundHalfUp_P3_P1 :: Dict (K.Div 'K.RoundHalfUp (P 3) (P 1) ~ P 3)
+_test_Div_RoundHalfUp_P3_P1 =  Dict
+_test_Rem_RoundHalfUp_P3_P1 :: Dict (K.Rem 'K.RoundHalfUp (P 3) (P 1) ~ P 0)
+_test_Rem_RoundHalfUp_P3_P1 =  Dict
+_test_Div_RoundHalfUp_P3_P2 :: Dict (K.Div 'K.RoundHalfUp (P 3) (P 2) ~ P 2)
+_test_Div_RoundHalfUp_P3_P2 =  Dict
+_test_Rem_RoundHalfUp_P3_P2 :: Dict (K.Rem 'K.RoundHalfUp (P 3) (P 2) ~ N 1)
+_test_Rem_RoundHalfUp_P3_P2 =  Dict
+_test_Div_RoundHalfUp_P3_P3 :: Dict (K.Div 'K.RoundHalfUp (P 3) (P 3) ~ P 1)
+_test_Div_RoundHalfUp_P3_P3 =  Dict
+_test_Rem_RoundHalfUp_P3_P3 :: Dict (K.Rem 'K.RoundHalfUp (P 3) (P 3) ~ P 0)
+_test_Rem_RoundHalfUp_P3_P3 =  Dict
+_test_Div_RoundHalfUp_P3_P4 :: Dict (K.Div 'K.RoundHalfUp (P 3) (P 4) ~ P 1)
+_test_Div_RoundHalfUp_P3_P4 =  Dict
+_test_Rem_RoundHalfUp_P3_P4 :: Dict (K.Rem 'K.RoundHalfUp (P 3) (P 4) ~ N 1)
+_test_Rem_RoundHalfUp_P3_P4 =  Dict
+_test_Div_RoundHalfUp_P4_N1 :: Dict (K.Div 'K.RoundHalfUp (P 4) (N 1) ~ N 4)
+_test_Div_RoundHalfUp_P4_N1 =  Dict
+_test_Rem_RoundHalfUp_P4_N1 :: Dict (K.Rem 'K.RoundHalfUp (P 4) (N 1) ~ P 0)
+_test_Rem_RoundHalfUp_P4_N1 =  Dict
+_test_Div_RoundHalfUp_P4_N2 :: Dict (K.Div 'K.RoundHalfUp (P 4) (N 2) ~ N 2)
+_test_Div_RoundHalfUp_P4_N2 =  Dict
+_test_Rem_RoundHalfUp_P4_N2 :: Dict (K.Rem 'K.RoundHalfUp (P 4) (N 2) ~ P 0)
+_test_Rem_RoundHalfUp_P4_N2 =  Dict
+_test_Div_RoundHalfUp_P4_N3 :: Dict (K.Div 'K.RoundHalfUp (P 4) (N 3) ~ N 1)
+_test_Div_RoundHalfUp_P4_N3 =  Dict
+_test_Rem_RoundHalfUp_P4_N3 :: Dict (K.Rem 'K.RoundHalfUp (P 4) (N 3) ~ P 1)
+_test_Rem_RoundHalfUp_P4_N3 =  Dict
+_test_Div_RoundHalfUp_P4_N4 :: Dict (K.Div 'K.RoundHalfUp (P 4) (N 4) ~ N 1)
+_test_Div_RoundHalfUp_P4_N4 =  Dict
+_test_Rem_RoundHalfUp_P4_N4 :: Dict (K.Rem 'K.RoundHalfUp (P 4) (N 4) ~ P 0)
+_test_Rem_RoundHalfUp_P4_N4 =  Dict
+_test_Div_RoundHalfUp_P4_P1 :: Dict (K.Div 'K.RoundHalfUp (P 4) (P 1) ~ P 4)
+_test_Div_RoundHalfUp_P4_P1 =  Dict
+_test_Rem_RoundHalfUp_P4_P1 :: Dict (K.Rem 'K.RoundHalfUp (P 4) (P 1) ~ P 0)
+_test_Rem_RoundHalfUp_P4_P1 =  Dict
+_test_Div_RoundHalfUp_P4_P2 :: Dict (K.Div 'K.RoundHalfUp (P 4) (P 2) ~ P 2)
+_test_Div_RoundHalfUp_P4_P2 =  Dict
+_test_Rem_RoundHalfUp_P4_P2 :: Dict (K.Rem 'K.RoundHalfUp (P 4) (P 2) ~ P 0)
+_test_Rem_RoundHalfUp_P4_P2 =  Dict
+_test_Div_RoundHalfUp_P4_P3 :: Dict (K.Div 'K.RoundHalfUp (P 4) (P 3) ~ P 1)
+_test_Div_RoundHalfUp_P4_P3 =  Dict
+_test_Rem_RoundHalfUp_P4_P3 :: Dict (K.Rem 'K.RoundHalfUp (P 4) (P 3) ~ P 1)
+_test_Rem_RoundHalfUp_P4_P3 =  Dict
+_test_Div_RoundHalfUp_P4_P4 :: Dict (K.Div 'K.RoundHalfUp (P 4) (P 4) ~ P 1)
+_test_Div_RoundHalfUp_P4_P4 =  Dict
+_test_Rem_RoundHalfUp_P4_P4 :: Dict (K.Rem 'K.RoundHalfUp (P 4) (P 4) ~ P 0)
+_test_Rem_RoundHalfUp_P4_P4 =  Dict
+_test_Div_RoundHalfZero_N1_N1 :: Dict (K.Div 'K.RoundHalfZero (N 1) (N 1) ~ P 1)
+_test_Div_RoundHalfZero_N1_N1 =  Dict
+_test_Rem_RoundHalfZero_N1_N1 :: Dict (K.Rem 'K.RoundHalfZero (N 1) (N 1) ~ P 0)
+_test_Rem_RoundHalfZero_N1_N1 =  Dict
+_test_Div_RoundHalfZero_N1_N2 :: Dict (K.Div 'K.RoundHalfZero (N 1) (N 2) ~ P 0)
+_test_Div_RoundHalfZero_N1_N2 =  Dict
+_test_Rem_RoundHalfZero_N1_N2 :: Dict (K.Rem 'K.RoundHalfZero (N 1) (N 2) ~ N 1)
+_test_Rem_RoundHalfZero_N1_N2 =  Dict
+_test_Div_RoundHalfZero_N1_N3 :: Dict (K.Div 'K.RoundHalfZero (N 1) (N 3) ~ P 0)
+_test_Div_RoundHalfZero_N1_N3 =  Dict
+_test_Rem_RoundHalfZero_N1_N3 :: Dict (K.Rem 'K.RoundHalfZero (N 1) (N 3) ~ N 1)
+_test_Rem_RoundHalfZero_N1_N3 =  Dict
+_test_Div_RoundHalfZero_N1_N4 :: Dict (K.Div 'K.RoundHalfZero (N 1) (N 4) ~ P 0)
+_test_Div_RoundHalfZero_N1_N4 =  Dict
+_test_Rem_RoundHalfZero_N1_N4 :: Dict (K.Rem 'K.RoundHalfZero (N 1) (N 4) ~ N 1)
+_test_Rem_RoundHalfZero_N1_N4 =  Dict
+_test_Div_RoundHalfZero_N1_P1 :: Dict (K.Div 'K.RoundHalfZero (N 1) (P 1) ~ N 1)
+_test_Div_RoundHalfZero_N1_P1 =  Dict
+_test_Rem_RoundHalfZero_N1_P1 :: Dict (K.Rem 'K.RoundHalfZero (N 1) (P 1) ~ P 0)
+_test_Rem_RoundHalfZero_N1_P1 =  Dict
+_test_Div_RoundHalfZero_N1_P2 :: Dict (K.Div 'K.RoundHalfZero (N 1) (P 2) ~ P 0)
+_test_Div_RoundHalfZero_N1_P2 =  Dict
+_test_Rem_RoundHalfZero_N1_P2 :: Dict (K.Rem 'K.RoundHalfZero (N 1) (P 2) ~ N 1)
+_test_Rem_RoundHalfZero_N1_P2 =  Dict
+_test_Div_RoundHalfZero_N1_P3 :: Dict (K.Div 'K.RoundHalfZero (N 1) (P 3) ~ P 0)
+_test_Div_RoundHalfZero_N1_P3 =  Dict
+_test_Rem_RoundHalfZero_N1_P3 :: Dict (K.Rem 'K.RoundHalfZero (N 1) (P 3) ~ N 1)
+_test_Rem_RoundHalfZero_N1_P3 =  Dict
+_test_Div_RoundHalfZero_N1_P4 :: Dict (K.Div 'K.RoundHalfZero (N 1) (P 4) ~ P 0)
+_test_Div_RoundHalfZero_N1_P4 =  Dict
+_test_Rem_RoundHalfZero_N1_P4 :: Dict (K.Rem 'K.RoundHalfZero (N 1) (P 4) ~ N 1)
+_test_Rem_RoundHalfZero_N1_P4 =  Dict
+_test_Div_RoundHalfZero_N2_N1 :: Dict (K.Div 'K.RoundHalfZero (N 2) (N 1) ~ P 2)
+_test_Div_RoundHalfZero_N2_N1 =  Dict
+_test_Rem_RoundHalfZero_N2_N1 :: Dict (K.Rem 'K.RoundHalfZero (N 2) (N 1) ~ P 0)
+_test_Rem_RoundHalfZero_N2_N1 =  Dict
+_test_Div_RoundHalfZero_N2_N2 :: Dict (K.Div 'K.RoundHalfZero (N 2) (N 2) ~ P 1)
+_test_Div_RoundHalfZero_N2_N2 =  Dict
+_test_Rem_RoundHalfZero_N2_N2 :: Dict (K.Rem 'K.RoundHalfZero (N 2) (N 2) ~ P 0)
+_test_Rem_RoundHalfZero_N2_N2 =  Dict
+_test_Div_RoundHalfZero_N2_N3 :: Dict (K.Div 'K.RoundHalfZero (N 2) (N 3) ~ P 1)
+_test_Div_RoundHalfZero_N2_N3 =  Dict
+_test_Rem_RoundHalfZero_N2_N3 :: Dict (K.Rem 'K.RoundHalfZero (N 2) (N 3) ~ P 1)
+_test_Rem_RoundHalfZero_N2_N3 =  Dict
+_test_Div_RoundHalfZero_N2_N4 :: Dict (K.Div 'K.RoundHalfZero (N 2) (N 4) ~ P 0)
+_test_Div_RoundHalfZero_N2_N4 =  Dict
+_test_Rem_RoundHalfZero_N2_N4 :: Dict (K.Rem 'K.RoundHalfZero (N 2) (N 4) ~ N 2)
+_test_Rem_RoundHalfZero_N2_N4 =  Dict
+_test_Div_RoundHalfZero_N2_P1 :: Dict (K.Div 'K.RoundHalfZero (N 2) (P 1) ~ N 2)
+_test_Div_RoundHalfZero_N2_P1 =  Dict
+_test_Rem_RoundHalfZero_N2_P1 :: Dict (K.Rem 'K.RoundHalfZero (N 2) (P 1) ~ P 0)
+_test_Rem_RoundHalfZero_N2_P1 =  Dict
+_test_Div_RoundHalfZero_N2_P2 :: Dict (K.Div 'K.RoundHalfZero (N 2) (P 2) ~ N 1)
+_test_Div_RoundHalfZero_N2_P2 =  Dict
+_test_Rem_RoundHalfZero_N2_P2 :: Dict (K.Rem 'K.RoundHalfZero (N 2) (P 2) ~ P 0)
+_test_Rem_RoundHalfZero_N2_P2 =  Dict
+_test_Div_RoundHalfZero_N2_P3 :: Dict (K.Div 'K.RoundHalfZero (N 2) (P 3) ~ N 1)
+_test_Div_RoundHalfZero_N2_P3 =  Dict
+_test_Rem_RoundHalfZero_N2_P3 :: Dict (K.Rem 'K.RoundHalfZero (N 2) (P 3) ~ P 1)
+_test_Rem_RoundHalfZero_N2_P3 =  Dict
+_test_Div_RoundHalfZero_N2_P4 :: Dict (K.Div 'K.RoundHalfZero (N 2) (P 4) ~ P 0)
+_test_Div_RoundHalfZero_N2_P4 =  Dict
+_test_Rem_RoundHalfZero_N2_P4 :: Dict (K.Rem 'K.RoundHalfZero (N 2) (P 4) ~ N 2)
+_test_Rem_RoundHalfZero_N2_P4 =  Dict
+_test_Div_RoundHalfZero_N3_N1 :: Dict (K.Div 'K.RoundHalfZero (N 3) (N 1) ~ P 3)
+_test_Div_RoundHalfZero_N3_N1 =  Dict
+_test_Rem_RoundHalfZero_N3_N1 :: Dict (K.Rem 'K.RoundHalfZero (N 3) (N 1) ~ P 0)
+_test_Rem_RoundHalfZero_N3_N1 =  Dict
+_test_Div_RoundHalfZero_N3_N2 :: Dict (K.Div 'K.RoundHalfZero (N 3) (N 2) ~ P 1)
+_test_Div_RoundHalfZero_N3_N2 =  Dict
+_test_Rem_RoundHalfZero_N3_N2 :: Dict (K.Rem 'K.RoundHalfZero (N 3) (N 2) ~ N 1)
+_test_Rem_RoundHalfZero_N3_N2 =  Dict
+_test_Div_RoundHalfZero_N3_N3 :: Dict (K.Div 'K.RoundHalfZero (N 3) (N 3) ~ P 1)
+_test_Div_RoundHalfZero_N3_N3 =  Dict
+_test_Rem_RoundHalfZero_N3_N3 :: Dict (K.Rem 'K.RoundHalfZero (N 3) (N 3) ~ P 0)
+_test_Rem_RoundHalfZero_N3_N3 =  Dict
+_test_Div_RoundHalfZero_N3_N4 :: Dict (K.Div 'K.RoundHalfZero (N 3) (N 4) ~ P 1)
+_test_Div_RoundHalfZero_N3_N4 =  Dict
+_test_Rem_RoundHalfZero_N3_N4 :: Dict (K.Rem 'K.RoundHalfZero (N 3) (N 4) ~ P 1)
+_test_Rem_RoundHalfZero_N3_N4 =  Dict
+_test_Div_RoundHalfZero_N3_P1 :: Dict (K.Div 'K.RoundHalfZero (N 3) (P 1) ~ N 3)
+_test_Div_RoundHalfZero_N3_P1 =  Dict
+_test_Rem_RoundHalfZero_N3_P1 :: Dict (K.Rem 'K.RoundHalfZero (N 3) (P 1) ~ P 0)
+_test_Rem_RoundHalfZero_N3_P1 =  Dict
+_test_Div_RoundHalfZero_N3_P2 :: Dict (K.Div 'K.RoundHalfZero (N 3) (P 2) ~ N 1)
+_test_Div_RoundHalfZero_N3_P2 =  Dict
+_test_Rem_RoundHalfZero_N3_P2 :: Dict (K.Rem 'K.RoundHalfZero (N 3) (P 2) ~ N 1)
+_test_Rem_RoundHalfZero_N3_P2 =  Dict
+_test_Div_RoundHalfZero_N3_P3 :: Dict (K.Div 'K.RoundHalfZero (N 3) (P 3) ~ N 1)
+_test_Div_RoundHalfZero_N3_P3 =  Dict
+_test_Rem_RoundHalfZero_N3_P3 :: Dict (K.Rem 'K.RoundHalfZero (N 3) (P 3) ~ P 0)
+_test_Rem_RoundHalfZero_N3_P3 =  Dict
+_test_Div_RoundHalfZero_N3_P4 :: Dict (K.Div 'K.RoundHalfZero (N 3) (P 4) ~ N 1)
+_test_Div_RoundHalfZero_N3_P4 =  Dict
+_test_Rem_RoundHalfZero_N3_P4 :: Dict (K.Rem 'K.RoundHalfZero (N 3) (P 4) ~ P 1)
+_test_Rem_RoundHalfZero_N3_P4 =  Dict
+_test_Div_RoundHalfZero_N4_N1 :: Dict (K.Div 'K.RoundHalfZero (N 4) (N 1) ~ P 4)
+_test_Div_RoundHalfZero_N4_N1 =  Dict
+_test_Rem_RoundHalfZero_N4_N1 :: Dict (K.Rem 'K.RoundHalfZero (N 4) (N 1) ~ P 0)
+_test_Rem_RoundHalfZero_N4_N1 =  Dict
+_test_Div_RoundHalfZero_N4_N2 :: Dict (K.Div 'K.RoundHalfZero (N 4) (N 2) ~ P 2)
+_test_Div_RoundHalfZero_N4_N2 =  Dict
+_test_Rem_RoundHalfZero_N4_N2 :: Dict (K.Rem 'K.RoundHalfZero (N 4) (N 2) ~ P 0)
+_test_Rem_RoundHalfZero_N4_N2 =  Dict
+_test_Div_RoundHalfZero_N4_N3 :: Dict (K.Div 'K.RoundHalfZero (N 4) (N 3) ~ P 1)
+_test_Div_RoundHalfZero_N4_N3 =  Dict
+_test_Rem_RoundHalfZero_N4_N3 :: Dict (K.Rem 'K.RoundHalfZero (N 4) (N 3) ~ N 1)
+_test_Rem_RoundHalfZero_N4_N3 =  Dict
+_test_Div_RoundHalfZero_N4_N4 :: Dict (K.Div 'K.RoundHalfZero (N 4) (N 4) ~ P 1)
+_test_Div_RoundHalfZero_N4_N4 =  Dict
+_test_Rem_RoundHalfZero_N4_N4 :: Dict (K.Rem 'K.RoundHalfZero (N 4) (N 4) ~ P 0)
+_test_Rem_RoundHalfZero_N4_N4 =  Dict
+_test_Div_RoundHalfZero_N4_P1 :: Dict (K.Div 'K.RoundHalfZero (N 4) (P 1) ~ N 4)
+_test_Div_RoundHalfZero_N4_P1 =  Dict
+_test_Rem_RoundHalfZero_N4_P1 :: Dict (K.Rem 'K.RoundHalfZero (N 4) (P 1) ~ P 0)
+_test_Rem_RoundHalfZero_N4_P1 =  Dict
+_test_Div_RoundHalfZero_N4_P2 :: Dict (K.Div 'K.RoundHalfZero (N 4) (P 2) ~ N 2)
+_test_Div_RoundHalfZero_N4_P2 =  Dict
+_test_Rem_RoundHalfZero_N4_P2 :: Dict (K.Rem 'K.RoundHalfZero (N 4) (P 2) ~ P 0)
+_test_Rem_RoundHalfZero_N4_P2 =  Dict
+_test_Div_RoundHalfZero_N4_P3 :: Dict (K.Div 'K.RoundHalfZero (N 4) (P 3) ~ N 1)
+_test_Div_RoundHalfZero_N4_P3 =  Dict
+_test_Rem_RoundHalfZero_N4_P3 :: Dict (K.Rem 'K.RoundHalfZero (N 4) (P 3) ~ N 1)
+_test_Rem_RoundHalfZero_N4_P3 =  Dict
+_test_Div_RoundHalfZero_N4_P4 :: Dict (K.Div 'K.RoundHalfZero (N 4) (P 4) ~ N 1)
+_test_Div_RoundHalfZero_N4_P4 =  Dict
+_test_Rem_RoundHalfZero_N4_P4 :: Dict (K.Rem 'K.RoundHalfZero (N 4) (P 4) ~ P 0)
+_test_Rem_RoundHalfZero_N4_P4 =  Dict
+_test_Div_RoundHalfZero_P0_N1 :: Dict (K.Div 'K.RoundHalfZero (P 0) (N 1) ~ P 0)
+_test_Div_RoundHalfZero_P0_N1 =  Dict
+_test_Rem_RoundHalfZero_P0_N1 :: Dict (K.Rem 'K.RoundHalfZero (P 0) (N 1) ~ P 0)
+_test_Rem_RoundHalfZero_P0_N1 =  Dict
+_test_Div_RoundHalfZero_P0_N2 :: Dict (K.Div 'K.RoundHalfZero (P 0) (N 2) ~ P 0)
+_test_Div_RoundHalfZero_P0_N2 =  Dict
+_test_Rem_RoundHalfZero_P0_N2 :: Dict (K.Rem 'K.RoundHalfZero (P 0) (N 2) ~ P 0)
+_test_Rem_RoundHalfZero_P0_N2 =  Dict
+_test_Div_RoundHalfZero_P0_N3 :: Dict (K.Div 'K.RoundHalfZero (P 0) (N 3) ~ P 0)
+_test_Div_RoundHalfZero_P0_N3 =  Dict
+_test_Rem_RoundHalfZero_P0_N3 :: Dict (K.Rem 'K.RoundHalfZero (P 0) (N 3) ~ P 0)
+_test_Rem_RoundHalfZero_P0_N3 =  Dict
+_test_Div_RoundHalfZero_P0_N4 :: Dict (K.Div 'K.RoundHalfZero (P 0) (N 4) ~ P 0)
+_test_Div_RoundHalfZero_P0_N4 =  Dict
+_test_Rem_RoundHalfZero_P0_N4 :: Dict (K.Rem 'K.RoundHalfZero (P 0) (N 4) ~ P 0)
+_test_Rem_RoundHalfZero_P0_N4 =  Dict
+_test_Div_RoundHalfZero_P0_P1 :: Dict (K.Div 'K.RoundHalfZero (P 0) (P 1) ~ P 0)
+_test_Div_RoundHalfZero_P0_P1 =  Dict
+_test_Rem_RoundHalfZero_P0_P1 :: Dict (K.Rem 'K.RoundHalfZero (P 0) (P 1) ~ P 0)
+_test_Rem_RoundHalfZero_P0_P1 =  Dict
+_test_Div_RoundHalfZero_P0_P2 :: Dict (K.Div 'K.RoundHalfZero (P 0) (P 2) ~ P 0)
+_test_Div_RoundHalfZero_P0_P2 =  Dict
+_test_Rem_RoundHalfZero_P0_P2 :: Dict (K.Rem 'K.RoundHalfZero (P 0) (P 2) ~ P 0)
+_test_Rem_RoundHalfZero_P0_P2 =  Dict
+_test_Div_RoundHalfZero_P0_P3 :: Dict (K.Div 'K.RoundHalfZero (P 0) (P 3) ~ P 0)
+_test_Div_RoundHalfZero_P0_P3 =  Dict
+_test_Rem_RoundHalfZero_P0_P3 :: Dict (K.Rem 'K.RoundHalfZero (P 0) (P 3) ~ P 0)
+_test_Rem_RoundHalfZero_P0_P3 =  Dict
+_test_Div_RoundHalfZero_P0_P4 :: Dict (K.Div 'K.RoundHalfZero (P 0) (P 4) ~ P 0)
+_test_Div_RoundHalfZero_P0_P4 =  Dict
+_test_Rem_RoundHalfZero_P0_P4 :: Dict (K.Rem 'K.RoundHalfZero (P 0) (P 4) ~ P 0)
+_test_Rem_RoundHalfZero_P0_P4 =  Dict
+_test_Div_RoundHalfZero_P1_N1 :: Dict (K.Div 'K.RoundHalfZero (P 1) (N 1) ~ N 1)
+_test_Div_RoundHalfZero_P1_N1 =  Dict
+_test_Rem_RoundHalfZero_P1_N1 :: Dict (K.Rem 'K.RoundHalfZero (P 1) (N 1) ~ P 0)
+_test_Rem_RoundHalfZero_P1_N1 =  Dict
+_test_Div_RoundHalfZero_P1_N2 :: Dict (K.Div 'K.RoundHalfZero (P 1) (N 2) ~ P 0)
+_test_Div_RoundHalfZero_P1_N2 =  Dict
+_test_Rem_RoundHalfZero_P1_N2 :: Dict (K.Rem 'K.RoundHalfZero (P 1) (N 2) ~ P 1)
+_test_Rem_RoundHalfZero_P1_N2 =  Dict
+_test_Div_RoundHalfZero_P1_N3 :: Dict (K.Div 'K.RoundHalfZero (P 1) (N 3) ~ P 0)
+_test_Div_RoundHalfZero_P1_N3 =  Dict
+_test_Rem_RoundHalfZero_P1_N3 :: Dict (K.Rem 'K.RoundHalfZero (P 1) (N 3) ~ P 1)
+_test_Rem_RoundHalfZero_P1_N3 =  Dict
+_test_Div_RoundHalfZero_P1_N4 :: Dict (K.Div 'K.RoundHalfZero (P 1) (N 4) ~ P 0)
+_test_Div_RoundHalfZero_P1_N4 =  Dict
+_test_Rem_RoundHalfZero_P1_N4 :: Dict (K.Rem 'K.RoundHalfZero (P 1) (N 4) ~ P 1)
+_test_Rem_RoundHalfZero_P1_N4 =  Dict
+_test_Div_RoundHalfZero_P1_P1 :: Dict (K.Div 'K.RoundHalfZero (P 1) (P 1) ~ P 1)
+_test_Div_RoundHalfZero_P1_P1 =  Dict
+_test_Rem_RoundHalfZero_P1_P1 :: Dict (K.Rem 'K.RoundHalfZero (P 1) (P 1) ~ P 0)
+_test_Rem_RoundHalfZero_P1_P1 =  Dict
+_test_Div_RoundHalfZero_P1_P2 :: Dict (K.Div 'K.RoundHalfZero (P 1) (P 2) ~ P 0)
+_test_Div_RoundHalfZero_P1_P2 =  Dict
+_test_Rem_RoundHalfZero_P1_P2 :: Dict (K.Rem 'K.RoundHalfZero (P 1) (P 2) ~ P 1)
+_test_Rem_RoundHalfZero_P1_P2 =  Dict
+_test_Div_RoundHalfZero_P1_P3 :: Dict (K.Div 'K.RoundHalfZero (P 1) (P 3) ~ P 0)
+_test_Div_RoundHalfZero_P1_P3 =  Dict
+_test_Rem_RoundHalfZero_P1_P3 :: Dict (K.Rem 'K.RoundHalfZero (P 1) (P 3) ~ P 1)
+_test_Rem_RoundHalfZero_P1_P3 =  Dict
+_test_Div_RoundHalfZero_P1_P4 :: Dict (K.Div 'K.RoundHalfZero (P 1) (P 4) ~ P 0)
+_test_Div_RoundHalfZero_P1_P4 =  Dict
+_test_Rem_RoundHalfZero_P1_P4 :: Dict (K.Rem 'K.RoundHalfZero (P 1) (P 4) ~ P 1)
+_test_Rem_RoundHalfZero_P1_P4 =  Dict
+_test_Div_RoundHalfZero_P2_N1 :: Dict (K.Div 'K.RoundHalfZero (P 2) (N 1) ~ N 2)
+_test_Div_RoundHalfZero_P2_N1 =  Dict
+_test_Rem_RoundHalfZero_P2_N1 :: Dict (K.Rem 'K.RoundHalfZero (P 2) (N 1) ~ P 0)
+_test_Rem_RoundHalfZero_P2_N1 =  Dict
+_test_Div_RoundHalfZero_P2_N2 :: Dict (K.Div 'K.RoundHalfZero (P 2) (N 2) ~ N 1)
+_test_Div_RoundHalfZero_P2_N2 =  Dict
+_test_Rem_RoundHalfZero_P2_N2 :: Dict (K.Rem 'K.RoundHalfZero (P 2) (N 2) ~ P 0)
+_test_Rem_RoundHalfZero_P2_N2 =  Dict
+_test_Div_RoundHalfZero_P2_N3 :: Dict (K.Div 'K.RoundHalfZero (P 2) (N 3) ~ N 1)
+_test_Div_RoundHalfZero_P2_N3 =  Dict
+_test_Rem_RoundHalfZero_P2_N3 :: Dict (K.Rem 'K.RoundHalfZero (P 2) (N 3) ~ N 1)
+_test_Rem_RoundHalfZero_P2_N3 =  Dict
+_test_Div_RoundHalfZero_P2_N4 :: Dict (K.Div 'K.RoundHalfZero (P 2) (N 4) ~ P 0)
+_test_Div_RoundHalfZero_P2_N4 =  Dict
+_test_Rem_RoundHalfZero_P2_N4 :: Dict (K.Rem 'K.RoundHalfZero (P 2) (N 4) ~ P 2)
+_test_Rem_RoundHalfZero_P2_N4 =  Dict
+_test_Div_RoundHalfZero_P2_P1 :: Dict (K.Div 'K.RoundHalfZero (P 2) (P 1) ~ P 2)
+_test_Div_RoundHalfZero_P2_P1 =  Dict
+_test_Rem_RoundHalfZero_P2_P1 :: Dict (K.Rem 'K.RoundHalfZero (P 2) (P 1) ~ P 0)
+_test_Rem_RoundHalfZero_P2_P1 =  Dict
+_test_Div_RoundHalfZero_P2_P2 :: Dict (K.Div 'K.RoundHalfZero (P 2) (P 2) ~ P 1)
+_test_Div_RoundHalfZero_P2_P2 =  Dict
+_test_Rem_RoundHalfZero_P2_P2 :: Dict (K.Rem 'K.RoundHalfZero (P 2) (P 2) ~ P 0)
+_test_Rem_RoundHalfZero_P2_P2 =  Dict
+_test_Div_RoundHalfZero_P2_P3 :: Dict (K.Div 'K.RoundHalfZero (P 2) (P 3) ~ P 1)
+_test_Div_RoundHalfZero_P2_P3 =  Dict
+_test_Rem_RoundHalfZero_P2_P3 :: Dict (K.Rem 'K.RoundHalfZero (P 2) (P 3) ~ N 1)
+_test_Rem_RoundHalfZero_P2_P3 =  Dict
+_test_Div_RoundHalfZero_P2_P4 :: Dict (K.Div 'K.RoundHalfZero (P 2) (P 4) ~ P 0)
+_test_Div_RoundHalfZero_P2_P4 =  Dict
+_test_Rem_RoundHalfZero_P2_P4 :: Dict (K.Rem 'K.RoundHalfZero (P 2) (P 4) ~ P 2)
+_test_Rem_RoundHalfZero_P2_P4 =  Dict
+_test_Div_RoundHalfZero_P3_N1 :: Dict (K.Div 'K.RoundHalfZero (P 3) (N 1) ~ N 3)
+_test_Div_RoundHalfZero_P3_N1 =  Dict
+_test_Rem_RoundHalfZero_P3_N1 :: Dict (K.Rem 'K.RoundHalfZero (P 3) (N 1) ~ P 0)
+_test_Rem_RoundHalfZero_P3_N1 =  Dict
+_test_Div_RoundHalfZero_P3_N2 :: Dict (K.Div 'K.RoundHalfZero (P 3) (N 2) ~ N 1)
+_test_Div_RoundHalfZero_P3_N2 =  Dict
+_test_Rem_RoundHalfZero_P3_N2 :: Dict (K.Rem 'K.RoundHalfZero (P 3) (N 2) ~ P 1)
+_test_Rem_RoundHalfZero_P3_N2 =  Dict
+_test_Div_RoundHalfZero_P3_N3 :: Dict (K.Div 'K.RoundHalfZero (P 3) (N 3) ~ N 1)
+_test_Div_RoundHalfZero_P3_N3 =  Dict
+_test_Rem_RoundHalfZero_P3_N3 :: Dict (K.Rem 'K.RoundHalfZero (P 3) (N 3) ~ P 0)
+_test_Rem_RoundHalfZero_P3_N3 =  Dict
+_test_Div_RoundHalfZero_P3_N4 :: Dict (K.Div 'K.RoundHalfZero (P 3) (N 4) ~ N 1)
+_test_Div_RoundHalfZero_P3_N4 =  Dict
+_test_Rem_RoundHalfZero_P3_N4 :: Dict (K.Rem 'K.RoundHalfZero (P 3) (N 4) ~ N 1)
+_test_Rem_RoundHalfZero_P3_N4 =  Dict
+_test_Div_RoundHalfZero_P3_P1 :: Dict (K.Div 'K.RoundHalfZero (P 3) (P 1) ~ P 3)
+_test_Div_RoundHalfZero_P3_P1 =  Dict
+_test_Rem_RoundHalfZero_P3_P1 :: Dict (K.Rem 'K.RoundHalfZero (P 3) (P 1) ~ P 0)
+_test_Rem_RoundHalfZero_P3_P1 =  Dict
+_test_Div_RoundHalfZero_P3_P2 :: Dict (K.Div 'K.RoundHalfZero (P 3) (P 2) ~ P 1)
+_test_Div_RoundHalfZero_P3_P2 =  Dict
+_test_Rem_RoundHalfZero_P3_P2 :: Dict (K.Rem 'K.RoundHalfZero (P 3) (P 2) ~ P 1)
+_test_Rem_RoundHalfZero_P3_P2 =  Dict
+_test_Div_RoundHalfZero_P3_P3 :: Dict (K.Div 'K.RoundHalfZero (P 3) (P 3) ~ P 1)
+_test_Div_RoundHalfZero_P3_P3 =  Dict
+_test_Rem_RoundHalfZero_P3_P3 :: Dict (K.Rem 'K.RoundHalfZero (P 3) (P 3) ~ P 0)
+_test_Rem_RoundHalfZero_P3_P3 =  Dict
+_test_Div_RoundHalfZero_P3_P4 :: Dict (K.Div 'K.RoundHalfZero (P 3) (P 4) ~ P 1)
+_test_Div_RoundHalfZero_P3_P4 =  Dict
+_test_Rem_RoundHalfZero_P3_P4 :: Dict (K.Rem 'K.RoundHalfZero (P 3) (P 4) ~ N 1)
+_test_Rem_RoundHalfZero_P3_P4 =  Dict
+_test_Div_RoundHalfZero_P4_N1 :: Dict (K.Div 'K.RoundHalfZero (P 4) (N 1) ~ N 4)
+_test_Div_RoundHalfZero_P4_N1 =  Dict
+_test_Rem_RoundHalfZero_P4_N1 :: Dict (K.Rem 'K.RoundHalfZero (P 4) (N 1) ~ P 0)
+_test_Rem_RoundHalfZero_P4_N1 =  Dict
+_test_Div_RoundHalfZero_P4_N2 :: Dict (K.Div 'K.RoundHalfZero (P 4) (N 2) ~ N 2)
+_test_Div_RoundHalfZero_P4_N2 =  Dict
+_test_Rem_RoundHalfZero_P4_N2 :: Dict (K.Rem 'K.RoundHalfZero (P 4) (N 2) ~ P 0)
+_test_Rem_RoundHalfZero_P4_N2 =  Dict
+_test_Div_RoundHalfZero_P4_N3 :: Dict (K.Div 'K.RoundHalfZero (P 4) (N 3) ~ N 1)
+_test_Div_RoundHalfZero_P4_N3 =  Dict
+_test_Rem_RoundHalfZero_P4_N3 :: Dict (K.Rem 'K.RoundHalfZero (P 4) (N 3) ~ P 1)
+_test_Rem_RoundHalfZero_P4_N3 =  Dict
+_test_Div_RoundHalfZero_P4_N4 :: Dict (K.Div 'K.RoundHalfZero (P 4) (N 4) ~ N 1)
+_test_Div_RoundHalfZero_P4_N4 =  Dict
+_test_Rem_RoundHalfZero_P4_N4 :: Dict (K.Rem 'K.RoundHalfZero (P 4) (N 4) ~ P 0)
+_test_Rem_RoundHalfZero_P4_N4 =  Dict
+_test_Div_RoundHalfZero_P4_P1 :: Dict (K.Div 'K.RoundHalfZero (P 4) (P 1) ~ P 4)
+_test_Div_RoundHalfZero_P4_P1 =  Dict
+_test_Rem_RoundHalfZero_P4_P1 :: Dict (K.Rem 'K.RoundHalfZero (P 4) (P 1) ~ P 0)
+_test_Rem_RoundHalfZero_P4_P1 =  Dict
+_test_Div_RoundHalfZero_P4_P2 :: Dict (K.Div 'K.RoundHalfZero (P 4) (P 2) ~ P 2)
+_test_Div_RoundHalfZero_P4_P2 =  Dict
+_test_Rem_RoundHalfZero_P4_P2 :: Dict (K.Rem 'K.RoundHalfZero (P 4) (P 2) ~ P 0)
+_test_Rem_RoundHalfZero_P4_P2 =  Dict
+_test_Div_RoundHalfZero_P4_P3 :: Dict (K.Div 'K.RoundHalfZero (P 4) (P 3) ~ P 1)
+_test_Div_RoundHalfZero_P4_P3 =  Dict
+_test_Rem_RoundHalfZero_P4_P3 :: Dict (K.Rem 'K.RoundHalfZero (P 4) (P 3) ~ P 1)
+_test_Rem_RoundHalfZero_P4_P3 =  Dict
+_test_Div_RoundHalfZero_P4_P4 :: Dict (K.Div 'K.RoundHalfZero (P 4) (P 4) ~ P 1)
+_test_Div_RoundHalfZero_P4_P4 =  Dict
+_test_Rem_RoundHalfZero_P4_P4 :: Dict (K.Rem 'K.RoundHalfZero (P 4) (P 4) ~ P 0)
+_test_Rem_RoundHalfZero_P4_P4 =  Dict
+_test_Div_RoundUp_N1_N1 :: Dict (K.Div 'K.RoundUp (N 1) (N 1) ~ P 1)
+_test_Div_RoundUp_N1_N1 =  Dict
+_test_Rem_RoundUp_N1_N1 :: Dict (K.Rem 'K.RoundUp (N 1) (N 1) ~ P 0)
+_test_Rem_RoundUp_N1_N1 =  Dict
+_test_Div_RoundUp_N1_N2 :: Dict (K.Div 'K.RoundUp (N 1) (N 2) ~ P 1)
+_test_Div_RoundUp_N1_N2 =  Dict
+_test_Rem_RoundUp_N1_N2 :: Dict (K.Rem 'K.RoundUp (N 1) (N 2) ~ P 1)
+_test_Rem_RoundUp_N1_N2 =  Dict
+_test_Div_RoundUp_N1_N3 :: Dict (K.Div 'K.RoundUp (N 1) (N 3) ~ P 1)
+_test_Div_RoundUp_N1_N3 =  Dict
+_test_Rem_RoundUp_N1_N3 :: Dict (K.Rem 'K.RoundUp (N 1) (N 3) ~ P 2)
+_test_Rem_RoundUp_N1_N3 =  Dict
+_test_Div_RoundUp_N1_N4 :: Dict (K.Div 'K.RoundUp (N 1) (N 4) ~ P 1)
+_test_Div_RoundUp_N1_N4 =  Dict
+_test_Rem_RoundUp_N1_N4 :: Dict (K.Rem 'K.RoundUp (N 1) (N 4) ~ P 3)
+_test_Rem_RoundUp_N1_N4 =  Dict
+_test_Div_RoundUp_N1_P1 :: Dict (K.Div 'K.RoundUp (N 1) (P 1) ~ N 1)
+_test_Div_RoundUp_N1_P1 =  Dict
+_test_Rem_RoundUp_N1_P1 :: Dict (K.Rem 'K.RoundUp (N 1) (P 1) ~ P 0)
+_test_Rem_RoundUp_N1_P1 =  Dict
+_test_Div_RoundUp_N1_P2 :: Dict (K.Div 'K.RoundUp (N 1) (P 2) ~ P 0)
+_test_Div_RoundUp_N1_P2 =  Dict
+_test_Rem_RoundUp_N1_P2 :: Dict (K.Rem 'K.RoundUp (N 1) (P 2) ~ N 1)
+_test_Rem_RoundUp_N1_P2 =  Dict
+_test_Div_RoundUp_N1_P3 :: Dict (K.Div 'K.RoundUp (N 1) (P 3) ~ P 0)
+_test_Div_RoundUp_N1_P3 =  Dict
+_test_Rem_RoundUp_N1_P3 :: Dict (K.Rem 'K.RoundUp (N 1) (P 3) ~ N 1)
+_test_Rem_RoundUp_N1_P3 =  Dict
+_test_Div_RoundUp_N1_P4 :: Dict (K.Div 'K.RoundUp (N 1) (P 4) ~ P 0)
+_test_Div_RoundUp_N1_P4 =  Dict
+_test_Rem_RoundUp_N1_P4 :: Dict (K.Rem 'K.RoundUp (N 1) (P 4) ~ N 1)
+_test_Rem_RoundUp_N1_P4 =  Dict
+_test_Div_RoundUp_N2_N1 :: Dict (K.Div 'K.RoundUp (N 2) (N 1) ~ P 2)
+_test_Div_RoundUp_N2_N1 =  Dict
+_test_Rem_RoundUp_N2_N1 :: Dict (K.Rem 'K.RoundUp (N 2) (N 1) ~ P 0)
+_test_Rem_RoundUp_N2_N1 =  Dict
+_test_Div_RoundUp_N2_N2 :: Dict (K.Div 'K.RoundUp (N 2) (N 2) ~ P 1)
+_test_Div_RoundUp_N2_N2 =  Dict
+_test_Rem_RoundUp_N2_N2 :: Dict (K.Rem 'K.RoundUp (N 2) (N 2) ~ P 0)
+_test_Rem_RoundUp_N2_N2 =  Dict
+_test_Div_RoundUp_N2_N3 :: Dict (K.Div 'K.RoundUp (N 2) (N 3) ~ P 1)
+_test_Div_RoundUp_N2_N3 =  Dict
+_test_Rem_RoundUp_N2_N3 :: Dict (K.Rem 'K.RoundUp (N 2) (N 3) ~ P 1)
+_test_Rem_RoundUp_N2_N3 =  Dict
+_test_Div_RoundUp_N2_N4 :: Dict (K.Div 'K.RoundUp (N 2) (N 4) ~ P 1)
+_test_Div_RoundUp_N2_N4 =  Dict
+_test_Rem_RoundUp_N2_N4 :: Dict (K.Rem 'K.RoundUp (N 2) (N 4) ~ P 2)
+_test_Rem_RoundUp_N2_N4 =  Dict
+_test_Div_RoundUp_N2_P1 :: Dict (K.Div 'K.RoundUp (N 2) (P 1) ~ N 2)
+_test_Div_RoundUp_N2_P1 =  Dict
+_test_Rem_RoundUp_N2_P1 :: Dict (K.Rem 'K.RoundUp (N 2) (P 1) ~ P 0)
+_test_Rem_RoundUp_N2_P1 =  Dict
+_test_Div_RoundUp_N2_P2 :: Dict (K.Div 'K.RoundUp (N 2) (P 2) ~ N 1)
+_test_Div_RoundUp_N2_P2 =  Dict
+_test_Rem_RoundUp_N2_P2 :: Dict (K.Rem 'K.RoundUp (N 2) (P 2) ~ P 0)
+_test_Rem_RoundUp_N2_P2 =  Dict
+_test_Div_RoundUp_N2_P3 :: Dict (K.Div 'K.RoundUp (N 2) (P 3) ~ P 0)
+_test_Div_RoundUp_N2_P3 =  Dict
+_test_Rem_RoundUp_N2_P3 :: Dict (K.Rem 'K.RoundUp (N 2) (P 3) ~ N 2)
+_test_Rem_RoundUp_N2_P3 =  Dict
+_test_Div_RoundUp_N2_P4 :: Dict (K.Div 'K.RoundUp (N 2) (P 4) ~ P 0)
+_test_Div_RoundUp_N2_P4 =  Dict
+_test_Rem_RoundUp_N2_P4 :: Dict (K.Rem 'K.RoundUp (N 2) (P 4) ~ N 2)
+_test_Rem_RoundUp_N2_P4 =  Dict
+_test_Div_RoundUp_N3_N1 :: Dict (K.Div 'K.RoundUp (N 3) (N 1) ~ P 3)
+_test_Div_RoundUp_N3_N1 =  Dict
+_test_Rem_RoundUp_N3_N1 :: Dict (K.Rem 'K.RoundUp (N 3) (N 1) ~ P 0)
+_test_Rem_RoundUp_N3_N1 =  Dict
+_test_Div_RoundUp_N3_N2 :: Dict (K.Div 'K.RoundUp (N 3) (N 2) ~ P 2)
+_test_Div_RoundUp_N3_N2 =  Dict
+_test_Rem_RoundUp_N3_N2 :: Dict (K.Rem 'K.RoundUp (N 3) (N 2) ~ P 1)
+_test_Rem_RoundUp_N3_N2 =  Dict
+_test_Div_RoundUp_N3_N3 :: Dict (K.Div 'K.RoundUp (N 3) (N 3) ~ P 1)
+_test_Div_RoundUp_N3_N3 =  Dict
+_test_Rem_RoundUp_N3_N3 :: Dict (K.Rem 'K.RoundUp (N 3) (N 3) ~ P 0)
+_test_Rem_RoundUp_N3_N3 =  Dict
+_test_Div_RoundUp_N3_N4 :: Dict (K.Div 'K.RoundUp (N 3) (N 4) ~ P 1)
+_test_Div_RoundUp_N3_N4 =  Dict
+_test_Rem_RoundUp_N3_N4 :: Dict (K.Rem 'K.RoundUp (N 3) (N 4) ~ P 1)
+_test_Rem_RoundUp_N3_N4 =  Dict
+_test_Div_RoundUp_N3_P1 :: Dict (K.Div 'K.RoundUp (N 3) (P 1) ~ N 3)
+_test_Div_RoundUp_N3_P1 =  Dict
+_test_Rem_RoundUp_N3_P1 :: Dict (K.Rem 'K.RoundUp (N 3) (P 1) ~ P 0)
+_test_Rem_RoundUp_N3_P1 =  Dict
+_test_Div_RoundUp_N3_P2 :: Dict (K.Div 'K.RoundUp (N 3) (P 2) ~ N 1)
+_test_Div_RoundUp_N3_P2 =  Dict
+_test_Rem_RoundUp_N3_P2 :: Dict (K.Rem 'K.RoundUp (N 3) (P 2) ~ N 1)
+_test_Rem_RoundUp_N3_P2 =  Dict
+_test_Div_RoundUp_N3_P3 :: Dict (K.Div 'K.RoundUp (N 3) (P 3) ~ N 1)
+_test_Div_RoundUp_N3_P3 =  Dict
+_test_Rem_RoundUp_N3_P3 :: Dict (K.Rem 'K.RoundUp (N 3) (P 3) ~ P 0)
+_test_Rem_RoundUp_N3_P3 =  Dict
+_test_Div_RoundUp_N3_P4 :: Dict (K.Div 'K.RoundUp (N 3) (P 4) ~ P 0)
+_test_Div_RoundUp_N3_P4 =  Dict
+_test_Rem_RoundUp_N3_P4 :: Dict (K.Rem 'K.RoundUp (N 3) (P 4) ~ N 3)
+_test_Rem_RoundUp_N3_P4 =  Dict
+_test_Div_RoundUp_N4_N1 :: Dict (K.Div 'K.RoundUp (N 4) (N 1) ~ P 4)
+_test_Div_RoundUp_N4_N1 =  Dict
+_test_Rem_RoundUp_N4_N1 :: Dict (K.Rem 'K.RoundUp (N 4) (N 1) ~ P 0)
+_test_Rem_RoundUp_N4_N1 =  Dict
+_test_Div_RoundUp_N4_N2 :: Dict (K.Div 'K.RoundUp (N 4) (N 2) ~ P 2)
+_test_Div_RoundUp_N4_N2 =  Dict
+_test_Rem_RoundUp_N4_N2 :: Dict (K.Rem 'K.RoundUp (N 4) (N 2) ~ P 0)
+_test_Rem_RoundUp_N4_N2 =  Dict
+_test_Div_RoundUp_N4_N3 :: Dict (K.Div 'K.RoundUp (N 4) (N 3) ~ P 2)
+_test_Div_RoundUp_N4_N3 =  Dict
+_test_Rem_RoundUp_N4_N3 :: Dict (K.Rem 'K.RoundUp (N 4) (N 3) ~ P 2)
+_test_Rem_RoundUp_N4_N3 =  Dict
+_test_Div_RoundUp_N4_N4 :: Dict (K.Div 'K.RoundUp (N 4) (N 4) ~ P 1)
+_test_Div_RoundUp_N4_N4 =  Dict
+_test_Rem_RoundUp_N4_N4 :: Dict (K.Rem 'K.RoundUp (N 4) (N 4) ~ P 0)
+_test_Rem_RoundUp_N4_N4 =  Dict
+_test_Div_RoundUp_N4_P1 :: Dict (K.Div 'K.RoundUp (N 4) (P 1) ~ N 4)
+_test_Div_RoundUp_N4_P1 =  Dict
+_test_Rem_RoundUp_N4_P1 :: Dict (K.Rem 'K.RoundUp (N 4) (P 1) ~ P 0)
+_test_Rem_RoundUp_N4_P1 =  Dict
+_test_Div_RoundUp_N4_P2 :: Dict (K.Div 'K.RoundUp (N 4) (P 2) ~ N 2)
+_test_Div_RoundUp_N4_P2 =  Dict
+_test_Rem_RoundUp_N4_P2 :: Dict (K.Rem 'K.RoundUp (N 4) (P 2) ~ P 0)
+_test_Rem_RoundUp_N4_P2 =  Dict
+_test_Div_RoundUp_N4_P3 :: Dict (K.Div 'K.RoundUp (N 4) (P 3) ~ N 1)
+_test_Div_RoundUp_N4_P3 =  Dict
+_test_Rem_RoundUp_N4_P3 :: Dict (K.Rem 'K.RoundUp (N 4) (P 3) ~ N 1)
+_test_Rem_RoundUp_N4_P3 =  Dict
+_test_Div_RoundUp_N4_P4 :: Dict (K.Div 'K.RoundUp (N 4) (P 4) ~ N 1)
+_test_Div_RoundUp_N4_P4 =  Dict
+_test_Rem_RoundUp_N4_P4 :: Dict (K.Rem 'K.RoundUp (N 4) (P 4) ~ P 0)
+_test_Rem_RoundUp_N4_P4 =  Dict
+_test_Div_RoundUp_P0_N1 :: Dict (K.Div 'K.RoundUp (P 0) (N 1) ~ P 0)
+_test_Div_RoundUp_P0_N1 =  Dict
+_test_Rem_RoundUp_P0_N1 :: Dict (K.Rem 'K.RoundUp (P 0) (N 1) ~ P 0)
+_test_Rem_RoundUp_P0_N1 =  Dict
+_test_Div_RoundUp_P0_N2 :: Dict (K.Div 'K.RoundUp (P 0) (N 2) ~ P 0)
+_test_Div_RoundUp_P0_N2 =  Dict
+_test_Rem_RoundUp_P0_N2 :: Dict (K.Rem 'K.RoundUp (P 0) (N 2) ~ P 0)
+_test_Rem_RoundUp_P0_N2 =  Dict
+_test_Div_RoundUp_P0_N3 :: Dict (K.Div 'K.RoundUp (P 0) (N 3) ~ P 0)
+_test_Div_RoundUp_P0_N3 =  Dict
+_test_Rem_RoundUp_P0_N3 :: Dict (K.Rem 'K.RoundUp (P 0) (N 3) ~ P 0)
+_test_Rem_RoundUp_P0_N3 =  Dict
+_test_Div_RoundUp_P0_N4 :: Dict (K.Div 'K.RoundUp (P 0) (N 4) ~ P 0)
+_test_Div_RoundUp_P0_N4 =  Dict
+_test_Rem_RoundUp_P0_N4 :: Dict (K.Rem 'K.RoundUp (P 0) (N 4) ~ P 0)
+_test_Rem_RoundUp_P0_N4 =  Dict
+_test_Div_RoundUp_P0_P1 :: Dict (K.Div 'K.RoundUp (P 0) (P 1) ~ P 0)
+_test_Div_RoundUp_P0_P1 =  Dict
+_test_Rem_RoundUp_P0_P1 :: Dict (K.Rem 'K.RoundUp (P 0) (P 1) ~ P 0)
+_test_Rem_RoundUp_P0_P1 =  Dict
+_test_Div_RoundUp_P0_P2 :: Dict (K.Div 'K.RoundUp (P 0) (P 2) ~ P 0)
+_test_Div_RoundUp_P0_P2 =  Dict
+_test_Rem_RoundUp_P0_P2 :: Dict (K.Rem 'K.RoundUp (P 0) (P 2) ~ P 0)
+_test_Rem_RoundUp_P0_P2 =  Dict
+_test_Div_RoundUp_P0_P3 :: Dict (K.Div 'K.RoundUp (P 0) (P 3) ~ P 0)
+_test_Div_RoundUp_P0_P3 =  Dict
+_test_Rem_RoundUp_P0_P3 :: Dict (K.Rem 'K.RoundUp (P 0) (P 3) ~ P 0)
+_test_Rem_RoundUp_P0_P3 =  Dict
+_test_Div_RoundUp_P0_P4 :: Dict (K.Div 'K.RoundUp (P 0) (P 4) ~ P 0)
+_test_Div_RoundUp_P0_P4 =  Dict
+_test_Rem_RoundUp_P0_P4 :: Dict (K.Rem 'K.RoundUp (P 0) (P 4) ~ P 0)
+_test_Rem_RoundUp_P0_P4 =  Dict
+_test_Div_RoundUp_P1_N1 :: Dict (K.Div 'K.RoundUp (P 1) (N 1) ~ N 1)
+_test_Div_RoundUp_P1_N1 =  Dict
+_test_Rem_RoundUp_P1_N1 :: Dict (K.Rem 'K.RoundUp (P 1) (N 1) ~ P 0)
+_test_Rem_RoundUp_P1_N1 =  Dict
+_test_Div_RoundUp_P1_N2 :: Dict (K.Div 'K.RoundUp (P 1) (N 2) ~ P 0)
+_test_Div_RoundUp_P1_N2 =  Dict
+_test_Rem_RoundUp_P1_N2 :: Dict (K.Rem 'K.RoundUp (P 1) (N 2) ~ P 1)
+_test_Rem_RoundUp_P1_N2 =  Dict
+_test_Div_RoundUp_P1_N3 :: Dict (K.Div 'K.RoundUp (P 1) (N 3) ~ P 0)
+_test_Div_RoundUp_P1_N3 =  Dict
+_test_Rem_RoundUp_P1_N3 :: Dict (K.Rem 'K.RoundUp (P 1) (N 3) ~ P 1)
+_test_Rem_RoundUp_P1_N3 =  Dict
+_test_Div_RoundUp_P1_N4 :: Dict (K.Div 'K.RoundUp (P 1) (N 4) ~ P 0)
+_test_Div_RoundUp_P1_N4 =  Dict
+_test_Rem_RoundUp_P1_N4 :: Dict (K.Rem 'K.RoundUp (P 1) (N 4) ~ P 1)
+_test_Rem_RoundUp_P1_N4 =  Dict
+_test_Div_RoundUp_P1_P1 :: Dict (K.Div 'K.RoundUp (P 1) (P 1) ~ P 1)
+_test_Div_RoundUp_P1_P1 =  Dict
+_test_Rem_RoundUp_P1_P1 :: Dict (K.Rem 'K.RoundUp (P 1) (P 1) ~ P 0)
+_test_Rem_RoundUp_P1_P1 =  Dict
+_test_Div_RoundUp_P1_P2 :: Dict (K.Div 'K.RoundUp (P 1) (P 2) ~ P 1)
+_test_Div_RoundUp_P1_P2 =  Dict
+_test_Rem_RoundUp_P1_P2 :: Dict (K.Rem 'K.RoundUp (P 1) (P 2) ~ N 1)
+_test_Rem_RoundUp_P1_P2 =  Dict
+_test_Div_RoundUp_P1_P3 :: Dict (K.Div 'K.RoundUp (P 1) (P 3) ~ P 1)
+_test_Div_RoundUp_P1_P3 =  Dict
+_test_Rem_RoundUp_P1_P3 :: Dict (K.Rem 'K.RoundUp (P 1) (P 3) ~ N 2)
+_test_Rem_RoundUp_P1_P3 =  Dict
+_test_Div_RoundUp_P1_P4 :: Dict (K.Div 'K.RoundUp (P 1) (P 4) ~ P 1)
+_test_Div_RoundUp_P1_P4 =  Dict
+_test_Rem_RoundUp_P1_P4 :: Dict (K.Rem 'K.RoundUp (P 1) (P 4) ~ N 3)
+_test_Rem_RoundUp_P1_P4 =  Dict
+_test_Div_RoundUp_P2_N1 :: Dict (K.Div 'K.RoundUp (P 2) (N 1) ~ N 2)
+_test_Div_RoundUp_P2_N1 =  Dict
+_test_Rem_RoundUp_P2_N1 :: Dict (K.Rem 'K.RoundUp (P 2) (N 1) ~ P 0)
+_test_Rem_RoundUp_P2_N1 =  Dict
+_test_Div_RoundUp_P2_N2 :: Dict (K.Div 'K.RoundUp (P 2) (N 2) ~ N 1)
+_test_Div_RoundUp_P2_N2 =  Dict
+_test_Rem_RoundUp_P2_N2 :: Dict (K.Rem 'K.RoundUp (P 2) (N 2) ~ P 0)
+_test_Rem_RoundUp_P2_N2 =  Dict
+_test_Div_RoundUp_P2_N3 :: Dict (K.Div 'K.RoundUp (P 2) (N 3) ~ P 0)
+_test_Div_RoundUp_P2_N3 =  Dict
+_test_Rem_RoundUp_P2_N3 :: Dict (K.Rem 'K.RoundUp (P 2) (N 3) ~ P 2)
+_test_Rem_RoundUp_P2_N3 =  Dict
+_test_Div_RoundUp_P2_N4 :: Dict (K.Div 'K.RoundUp (P 2) (N 4) ~ P 0)
+_test_Div_RoundUp_P2_N4 =  Dict
+_test_Rem_RoundUp_P2_N4 :: Dict (K.Rem 'K.RoundUp (P 2) (N 4) ~ P 2)
+_test_Rem_RoundUp_P2_N4 =  Dict
+_test_Div_RoundUp_P2_P1 :: Dict (K.Div 'K.RoundUp (P 2) (P 1) ~ P 2)
+_test_Div_RoundUp_P2_P1 =  Dict
+_test_Rem_RoundUp_P2_P1 :: Dict (K.Rem 'K.RoundUp (P 2) (P 1) ~ P 0)
+_test_Rem_RoundUp_P2_P1 =  Dict
+_test_Div_RoundUp_P2_P2 :: Dict (K.Div 'K.RoundUp (P 2) (P 2) ~ P 1)
+_test_Div_RoundUp_P2_P2 =  Dict
+_test_Rem_RoundUp_P2_P2 :: Dict (K.Rem 'K.RoundUp (P 2) (P 2) ~ P 0)
+_test_Rem_RoundUp_P2_P2 =  Dict
+_test_Div_RoundUp_P2_P3 :: Dict (K.Div 'K.RoundUp (P 2) (P 3) ~ P 1)
+_test_Div_RoundUp_P2_P3 =  Dict
+_test_Rem_RoundUp_P2_P3 :: Dict (K.Rem 'K.RoundUp (P 2) (P 3) ~ N 1)
+_test_Rem_RoundUp_P2_P3 =  Dict
+_test_Div_RoundUp_P2_P4 :: Dict (K.Div 'K.RoundUp (P 2) (P 4) ~ P 1)
+_test_Div_RoundUp_P2_P4 =  Dict
+_test_Rem_RoundUp_P2_P4 :: Dict (K.Rem 'K.RoundUp (P 2) (P 4) ~ N 2)
+_test_Rem_RoundUp_P2_P4 =  Dict
+_test_Div_RoundUp_P3_N1 :: Dict (K.Div 'K.RoundUp (P 3) (N 1) ~ N 3)
+_test_Div_RoundUp_P3_N1 =  Dict
+_test_Rem_RoundUp_P3_N1 :: Dict (K.Rem 'K.RoundUp (P 3) (N 1) ~ P 0)
+_test_Rem_RoundUp_P3_N1 =  Dict
+_test_Div_RoundUp_P3_N2 :: Dict (K.Div 'K.RoundUp (P 3) (N 2) ~ N 1)
+_test_Div_RoundUp_P3_N2 =  Dict
+_test_Rem_RoundUp_P3_N2 :: Dict (K.Rem 'K.RoundUp (P 3) (N 2) ~ P 1)
+_test_Rem_RoundUp_P3_N2 =  Dict
+_test_Div_RoundUp_P3_N3 :: Dict (K.Div 'K.RoundUp (P 3) (N 3) ~ N 1)
+_test_Div_RoundUp_P3_N3 =  Dict
+_test_Rem_RoundUp_P3_N3 :: Dict (K.Rem 'K.RoundUp (P 3) (N 3) ~ P 0)
+_test_Rem_RoundUp_P3_N3 =  Dict
+_test_Div_RoundUp_P3_N4 :: Dict (K.Div 'K.RoundUp (P 3) (N 4) ~ P 0)
+_test_Div_RoundUp_P3_N4 =  Dict
+_test_Rem_RoundUp_P3_N4 :: Dict (K.Rem 'K.RoundUp (P 3) (N 4) ~ P 3)
+_test_Rem_RoundUp_P3_N4 =  Dict
+_test_Div_RoundUp_P3_P1 :: Dict (K.Div 'K.RoundUp (P 3) (P 1) ~ P 3)
+_test_Div_RoundUp_P3_P1 =  Dict
+_test_Rem_RoundUp_P3_P1 :: Dict (K.Rem 'K.RoundUp (P 3) (P 1) ~ P 0)
+_test_Rem_RoundUp_P3_P1 =  Dict
+_test_Div_RoundUp_P3_P2 :: Dict (K.Div 'K.RoundUp (P 3) (P 2) ~ P 2)
+_test_Div_RoundUp_P3_P2 =  Dict
+_test_Rem_RoundUp_P3_P2 :: Dict (K.Rem 'K.RoundUp (P 3) (P 2) ~ N 1)
+_test_Rem_RoundUp_P3_P2 =  Dict
+_test_Div_RoundUp_P3_P3 :: Dict (K.Div 'K.RoundUp (P 3) (P 3) ~ P 1)
+_test_Div_RoundUp_P3_P3 =  Dict
+_test_Rem_RoundUp_P3_P3 :: Dict (K.Rem 'K.RoundUp (P 3) (P 3) ~ P 0)
+_test_Rem_RoundUp_P3_P3 =  Dict
+_test_Div_RoundUp_P3_P4 :: Dict (K.Div 'K.RoundUp (P 3) (P 4) ~ P 1)
+_test_Div_RoundUp_P3_P4 =  Dict
+_test_Rem_RoundUp_P3_P4 :: Dict (K.Rem 'K.RoundUp (P 3) (P 4) ~ N 1)
+_test_Rem_RoundUp_P3_P4 =  Dict
+_test_Div_RoundUp_P4_N1 :: Dict (K.Div 'K.RoundUp (P 4) (N 1) ~ N 4)
+_test_Div_RoundUp_P4_N1 =  Dict
+_test_Rem_RoundUp_P4_N1 :: Dict (K.Rem 'K.RoundUp (P 4) (N 1) ~ P 0)
+_test_Rem_RoundUp_P4_N1 =  Dict
+_test_Div_RoundUp_P4_N2 :: Dict (K.Div 'K.RoundUp (P 4) (N 2) ~ N 2)
+_test_Div_RoundUp_P4_N2 =  Dict
+_test_Rem_RoundUp_P4_N2 :: Dict (K.Rem 'K.RoundUp (P 4) (N 2) ~ P 0)
+_test_Rem_RoundUp_P4_N2 =  Dict
+_test_Div_RoundUp_P4_N3 :: Dict (K.Div 'K.RoundUp (P 4) (N 3) ~ N 1)
+_test_Div_RoundUp_P4_N3 =  Dict
+_test_Rem_RoundUp_P4_N3 :: Dict (K.Rem 'K.RoundUp (P 4) (N 3) ~ P 1)
+_test_Rem_RoundUp_P4_N3 =  Dict
+_test_Div_RoundUp_P4_N4 :: Dict (K.Div 'K.RoundUp (P 4) (N 4) ~ N 1)
+_test_Div_RoundUp_P4_N4 =  Dict
+_test_Rem_RoundUp_P4_N4 :: Dict (K.Rem 'K.RoundUp (P 4) (N 4) ~ P 0)
+_test_Rem_RoundUp_P4_N4 =  Dict
+_test_Div_RoundUp_P4_P1 :: Dict (K.Div 'K.RoundUp (P 4) (P 1) ~ P 4)
+_test_Div_RoundUp_P4_P1 =  Dict
+_test_Rem_RoundUp_P4_P1 :: Dict (K.Rem 'K.RoundUp (P 4) (P 1) ~ P 0)
+_test_Rem_RoundUp_P4_P1 =  Dict
+_test_Div_RoundUp_P4_P2 :: Dict (K.Div 'K.RoundUp (P 4) (P 2) ~ P 2)
+_test_Div_RoundUp_P4_P2 =  Dict
+_test_Rem_RoundUp_P4_P2 :: Dict (K.Rem 'K.RoundUp (P 4) (P 2) ~ P 0)
+_test_Rem_RoundUp_P4_P2 =  Dict
+_test_Div_RoundUp_P4_P3 :: Dict (K.Div 'K.RoundUp (P 4) (P 3) ~ P 2)
+_test_Div_RoundUp_P4_P3 =  Dict
+_test_Rem_RoundUp_P4_P3 :: Dict (K.Rem 'K.RoundUp (P 4) (P 3) ~ N 2)
+_test_Rem_RoundUp_P4_P3 =  Dict
+_test_Div_RoundUp_P4_P4 :: Dict (K.Div 'K.RoundUp (P 4) (P 4) ~ P 1)
+_test_Div_RoundUp_P4_P4 =  Dict
+_test_Rem_RoundUp_P4_P4 :: Dict (K.Rem 'K.RoundUp (P 4) (P 4) ~ P 0)
+_test_Rem_RoundUp_P4_P4 =  Dict
+_test_Div_RoundZero_N1_N1 :: Dict (K.Div 'K.RoundZero (N 1) (N 1) ~ P 1)
+_test_Div_RoundZero_N1_N1 =  Dict
+_test_Rem_RoundZero_N1_N1 :: Dict (K.Rem 'K.RoundZero (N 1) (N 1) ~ P 0)
+_test_Rem_RoundZero_N1_N1 =  Dict
+_test_Div_RoundZero_N1_N2 :: Dict (K.Div 'K.RoundZero (N 1) (N 2) ~ P 0)
+_test_Div_RoundZero_N1_N2 =  Dict
+_test_Rem_RoundZero_N1_N2 :: Dict (K.Rem 'K.RoundZero (N 1) (N 2) ~ N 1)
+_test_Rem_RoundZero_N1_N2 =  Dict
+_test_Div_RoundZero_N1_N3 :: Dict (K.Div 'K.RoundZero (N 1) (N 3) ~ P 0)
+_test_Div_RoundZero_N1_N3 =  Dict
+_test_Rem_RoundZero_N1_N3 :: Dict (K.Rem 'K.RoundZero (N 1) (N 3) ~ N 1)
+_test_Rem_RoundZero_N1_N3 =  Dict
+_test_Div_RoundZero_N1_N4 :: Dict (K.Div 'K.RoundZero (N 1) (N 4) ~ P 0)
+_test_Div_RoundZero_N1_N4 =  Dict
+_test_Rem_RoundZero_N1_N4 :: Dict (K.Rem 'K.RoundZero (N 1) (N 4) ~ N 1)
+_test_Rem_RoundZero_N1_N4 =  Dict
+_test_Div_RoundZero_N1_P1 :: Dict (K.Div 'K.RoundZero (N 1) (P 1) ~ N 1)
+_test_Div_RoundZero_N1_P1 =  Dict
+_test_Rem_RoundZero_N1_P1 :: Dict (K.Rem 'K.RoundZero (N 1) (P 1) ~ P 0)
+_test_Rem_RoundZero_N1_P1 =  Dict
+_test_Div_RoundZero_N1_P2 :: Dict (K.Div 'K.RoundZero (N 1) (P 2) ~ P 0)
+_test_Div_RoundZero_N1_P2 =  Dict
+_test_Rem_RoundZero_N1_P2 :: Dict (K.Rem 'K.RoundZero (N 1) (P 2) ~ N 1)
+_test_Rem_RoundZero_N1_P2 =  Dict
+_test_Div_RoundZero_N1_P3 :: Dict (K.Div 'K.RoundZero (N 1) (P 3) ~ P 0)
+_test_Div_RoundZero_N1_P3 =  Dict
+_test_Rem_RoundZero_N1_P3 :: Dict (K.Rem 'K.RoundZero (N 1) (P 3) ~ N 1)
+_test_Rem_RoundZero_N1_P3 =  Dict
+_test_Div_RoundZero_N1_P4 :: Dict (K.Div 'K.RoundZero (N 1) (P 4) ~ P 0)
+_test_Div_RoundZero_N1_P4 =  Dict
+_test_Rem_RoundZero_N1_P4 :: Dict (K.Rem 'K.RoundZero (N 1) (P 4) ~ N 1)
+_test_Rem_RoundZero_N1_P4 =  Dict
+_test_Div_RoundZero_N2_N1 :: Dict (K.Div 'K.RoundZero (N 2) (N 1) ~ P 2)
+_test_Div_RoundZero_N2_N1 =  Dict
+_test_Rem_RoundZero_N2_N1 :: Dict (K.Rem 'K.RoundZero (N 2) (N 1) ~ P 0)
+_test_Rem_RoundZero_N2_N1 =  Dict
+_test_Div_RoundZero_N2_N2 :: Dict (K.Div 'K.RoundZero (N 2) (N 2) ~ P 1)
+_test_Div_RoundZero_N2_N2 =  Dict
+_test_Rem_RoundZero_N2_N2 :: Dict (K.Rem 'K.RoundZero (N 2) (N 2) ~ P 0)
+_test_Rem_RoundZero_N2_N2 =  Dict
+_test_Div_RoundZero_N2_N3 :: Dict (K.Div 'K.RoundZero (N 2) (N 3) ~ P 0)
+_test_Div_RoundZero_N2_N3 =  Dict
+_test_Rem_RoundZero_N2_N3 :: Dict (K.Rem 'K.RoundZero (N 2) (N 3) ~ N 2)
+_test_Rem_RoundZero_N2_N3 =  Dict
+_test_Div_RoundZero_N2_N4 :: Dict (K.Div 'K.RoundZero (N 2) (N 4) ~ P 0)
+_test_Div_RoundZero_N2_N4 =  Dict
+_test_Rem_RoundZero_N2_N4 :: Dict (K.Rem 'K.RoundZero (N 2) (N 4) ~ N 2)
+_test_Rem_RoundZero_N2_N4 =  Dict
+_test_Div_RoundZero_N2_P1 :: Dict (K.Div 'K.RoundZero (N 2) (P 1) ~ N 2)
+_test_Div_RoundZero_N2_P1 =  Dict
+_test_Rem_RoundZero_N2_P1 :: Dict (K.Rem 'K.RoundZero (N 2) (P 1) ~ P 0)
+_test_Rem_RoundZero_N2_P1 =  Dict
+_test_Div_RoundZero_N2_P2 :: Dict (K.Div 'K.RoundZero (N 2) (P 2) ~ N 1)
+_test_Div_RoundZero_N2_P2 =  Dict
+_test_Rem_RoundZero_N2_P2 :: Dict (K.Rem 'K.RoundZero (N 2) (P 2) ~ P 0)
+_test_Rem_RoundZero_N2_P2 =  Dict
+_test_Div_RoundZero_N2_P3 :: Dict (K.Div 'K.RoundZero (N 2) (P 3) ~ P 0)
+_test_Div_RoundZero_N2_P3 =  Dict
+_test_Rem_RoundZero_N2_P3 :: Dict (K.Rem 'K.RoundZero (N 2) (P 3) ~ N 2)
+_test_Rem_RoundZero_N2_P3 =  Dict
+_test_Div_RoundZero_N2_P4 :: Dict (K.Div 'K.RoundZero (N 2) (P 4) ~ P 0)
+_test_Div_RoundZero_N2_P4 =  Dict
+_test_Rem_RoundZero_N2_P4 :: Dict (K.Rem 'K.RoundZero (N 2) (P 4) ~ N 2)
+_test_Rem_RoundZero_N2_P4 =  Dict
+_test_Div_RoundZero_N3_N1 :: Dict (K.Div 'K.RoundZero (N 3) (N 1) ~ P 3)
+_test_Div_RoundZero_N3_N1 =  Dict
+_test_Rem_RoundZero_N3_N1 :: Dict (K.Rem 'K.RoundZero (N 3) (N 1) ~ P 0)
+_test_Rem_RoundZero_N3_N1 =  Dict
+_test_Div_RoundZero_N3_N2 :: Dict (K.Div 'K.RoundZero (N 3) (N 2) ~ P 1)
+_test_Div_RoundZero_N3_N2 =  Dict
+_test_Rem_RoundZero_N3_N2 :: Dict (K.Rem 'K.RoundZero (N 3) (N 2) ~ N 1)
+_test_Rem_RoundZero_N3_N2 =  Dict
+_test_Div_RoundZero_N3_N3 :: Dict (K.Div 'K.RoundZero (N 3) (N 3) ~ P 1)
+_test_Div_RoundZero_N3_N3 =  Dict
+_test_Rem_RoundZero_N3_N3 :: Dict (K.Rem 'K.RoundZero (N 3) (N 3) ~ P 0)
+_test_Rem_RoundZero_N3_N3 =  Dict
+_test_Div_RoundZero_N3_N4 :: Dict (K.Div 'K.RoundZero (N 3) (N 4) ~ P 0)
+_test_Div_RoundZero_N3_N4 =  Dict
+_test_Rem_RoundZero_N3_N4 :: Dict (K.Rem 'K.RoundZero (N 3) (N 4) ~ N 3)
+_test_Rem_RoundZero_N3_N4 =  Dict
+_test_Div_RoundZero_N3_P1 :: Dict (K.Div 'K.RoundZero (N 3) (P 1) ~ N 3)
+_test_Div_RoundZero_N3_P1 =  Dict
+_test_Rem_RoundZero_N3_P1 :: Dict (K.Rem 'K.RoundZero (N 3) (P 1) ~ P 0)
+_test_Rem_RoundZero_N3_P1 =  Dict
+_test_Div_RoundZero_N3_P2 :: Dict (K.Div 'K.RoundZero (N 3) (P 2) ~ N 1)
+_test_Div_RoundZero_N3_P2 =  Dict
+_test_Rem_RoundZero_N3_P2 :: Dict (K.Rem 'K.RoundZero (N 3) (P 2) ~ N 1)
+_test_Rem_RoundZero_N3_P2 =  Dict
+_test_Div_RoundZero_N3_P3 :: Dict (K.Div 'K.RoundZero (N 3) (P 3) ~ N 1)
+_test_Div_RoundZero_N3_P3 =  Dict
+_test_Rem_RoundZero_N3_P3 :: Dict (K.Rem 'K.RoundZero (N 3) (P 3) ~ P 0)
+_test_Rem_RoundZero_N3_P3 =  Dict
+_test_Div_RoundZero_N3_P4 :: Dict (K.Div 'K.RoundZero (N 3) (P 4) ~ P 0)
+_test_Div_RoundZero_N3_P4 =  Dict
+_test_Rem_RoundZero_N3_P4 :: Dict (K.Rem 'K.RoundZero (N 3) (P 4) ~ N 3)
+_test_Rem_RoundZero_N3_P4 =  Dict
+_test_Div_RoundZero_N4_N1 :: Dict (K.Div 'K.RoundZero (N 4) (N 1) ~ P 4)
+_test_Div_RoundZero_N4_N1 =  Dict
+_test_Rem_RoundZero_N4_N1 :: Dict (K.Rem 'K.RoundZero (N 4) (N 1) ~ P 0)
+_test_Rem_RoundZero_N4_N1 =  Dict
+_test_Div_RoundZero_N4_N2 :: Dict (K.Div 'K.RoundZero (N 4) (N 2) ~ P 2)
+_test_Div_RoundZero_N4_N2 =  Dict
+_test_Rem_RoundZero_N4_N2 :: Dict (K.Rem 'K.RoundZero (N 4) (N 2) ~ P 0)
+_test_Rem_RoundZero_N4_N2 =  Dict
+_test_Div_RoundZero_N4_N3 :: Dict (K.Div 'K.RoundZero (N 4) (N 3) ~ P 1)
+_test_Div_RoundZero_N4_N3 =  Dict
+_test_Rem_RoundZero_N4_N3 :: Dict (K.Rem 'K.RoundZero (N 4) (N 3) ~ N 1)
+_test_Rem_RoundZero_N4_N3 =  Dict
+_test_Div_RoundZero_N4_N4 :: Dict (K.Div 'K.RoundZero (N 4) (N 4) ~ P 1)
+_test_Div_RoundZero_N4_N4 =  Dict
+_test_Rem_RoundZero_N4_N4 :: Dict (K.Rem 'K.RoundZero (N 4) (N 4) ~ P 0)
+_test_Rem_RoundZero_N4_N4 =  Dict
+_test_Div_RoundZero_N4_P1 :: Dict (K.Div 'K.RoundZero (N 4) (P 1) ~ N 4)
+_test_Div_RoundZero_N4_P1 =  Dict
+_test_Rem_RoundZero_N4_P1 :: Dict (K.Rem 'K.RoundZero (N 4) (P 1) ~ P 0)
+_test_Rem_RoundZero_N4_P1 =  Dict
+_test_Div_RoundZero_N4_P2 :: Dict (K.Div 'K.RoundZero (N 4) (P 2) ~ N 2)
+_test_Div_RoundZero_N4_P2 =  Dict
+_test_Rem_RoundZero_N4_P2 :: Dict (K.Rem 'K.RoundZero (N 4) (P 2) ~ P 0)
+_test_Rem_RoundZero_N4_P2 =  Dict
+_test_Div_RoundZero_N4_P3 :: Dict (K.Div 'K.RoundZero (N 4) (P 3) ~ N 1)
+_test_Div_RoundZero_N4_P3 =  Dict
+_test_Rem_RoundZero_N4_P3 :: Dict (K.Rem 'K.RoundZero (N 4) (P 3) ~ N 1)
+_test_Rem_RoundZero_N4_P3 =  Dict
+_test_Div_RoundZero_N4_P4 :: Dict (K.Div 'K.RoundZero (N 4) (P 4) ~ N 1)
+_test_Div_RoundZero_N4_P4 =  Dict
+_test_Rem_RoundZero_N4_P4 :: Dict (K.Rem 'K.RoundZero (N 4) (P 4) ~ P 0)
+_test_Rem_RoundZero_N4_P4 =  Dict
+_test_Div_RoundZero_P0_N1 :: Dict (K.Div 'K.RoundZero (P 0) (N 1) ~ P 0)
+_test_Div_RoundZero_P0_N1 =  Dict
+_test_Rem_RoundZero_P0_N1 :: Dict (K.Rem 'K.RoundZero (P 0) (N 1) ~ P 0)
+_test_Rem_RoundZero_P0_N1 =  Dict
+_test_Div_RoundZero_P0_N2 :: Dict (K.Div 'K.RoundZero (P 0) (N 2) ~ P 0)
+_test_Div_RoundZero_P0_N2 =  Dict
+_test_Rem_RoundZero_P0_N2 :: Dict (K.Rem 'K.RoundZero (P 0) (N 2) ~ P 0)
+_test_Rem_RoundZero_P0_N2 =  Dict
+_test_Div_RoundZero_P0_N3 :: Dict (K.Div 'K.RoundZero (P 0) (N 3) ~ P 0)
+_test_Div_RoundZero_P0_N3 =  Dict
+_test_Rem_RoundZero_P0_N3 :: Dict (K.Rem 'K.RoundZero (P 0) (N 3) ~ P 0)
+_test_Rem_RoundZero_P0_N3 =  Dict
+_test_Div_RoundZero_P0_N4 :: Dict (K.Div 'K.RoundZero (P 0) (N 4) ~ P 0)
+_test_Div_RoundZero_P0_N4 =  Dict
+_test_Rem_RoundZero_P0_N4 :: Dict (K.Rem 'K.RoundZero (P 0) (N 4) ~ P 0)
+_test_Rem_RoundZero_P0_N4 =  Dict
+_test_Div_RoundZero_P0_P1 :: Dict (K.Div 'K.RoundZero (P 0) (P 1) ~ P 0)
+_test_Div_RoundZero_P0_P1 =  Dict
+_test_Rem_RoundZero_P0_P1 :: Dict (K.Rem 'K.RoundZero (P 0) (P 1) ~ P 0)
+_test_Rem_RoundZero_P0_P1 =  Dict
+_test_Div_RoundZero_P0_P2 :: Dict (K.Div 'K.RoundZero (P 0) (P 2) ~ P 0)
+_test_Div_RoundZero_P0_P2 =  Dict
+_test_Rem_RoundZero_P0_P2 :: Dict (K.Rem 'K.RoundZero (P 0) (P 2) ~ P 0)
+_test_Rem_RoundZero_P0_P2 =  Dict
+_test_Div_RoundZero_P0_P3 :: Dict (K.Div 'K.RoundZero (P 0) (P 3) ~ P 0)
+_test_Div_RoundZero_P0_P3 =  Dict
+_test_Rem_RoundZero_P0_P3 :: Dict (K.Rem 'K.RoundZero (P 0) (P 3) ~ P 0)
+_test_Rem_RoundZero_P0_P3 =  Dict
+_test_Div_RoundZero_P0_P4 :: Dict (K.Div 'K.RoundZero (P 0) (P 4) ~ P 0)
+_test_Div_RoundZero_P0_P4 =  Dict
+_test_Rem_RoundZero_P0_P4 :: Dict (K.Rem 'K.RoundZero (P 0) (P 4) ~ P 0)
+_test_Rem_RoundZero_P0_P4 =  Dict
+_test_Div_RoundZero_P1_N1 :: Dict (K.Div 'K.RoundZero (P 1) (N 1) ~ N 1)
+_test_Div_RoundZero_P1_N1 =  Dict
+_test_Rem_RoundZero_P1_N1 :: Dict (K.Rem 'K.RoundZero (P 1) (N 1) ~ P 0)
+_test_Rem_RoundZero_P1_N1 =  Dict
+_test_Div_RoundZero_P1_N2 :: Dict (K.Div 'K.RoundZero (P 1) (N 2) ~ P 0)
+_test_Div_RoundZero_P1_N2 =  Dict
+_test_Rem_RoundZero_P1_N2 :: Dict (K.Rem 'K.RoundZero (P 1) (N 2) ~ P 1)
+_test_Rem_RoundZero_P1_N2 =  Dict
+_test_Div_RoundZero_P1_N3 :: Dict (K.Div 'K.RoundZero (P 1) (N 3) ~ P 0)
+_test_Div_RoundZero_P1_N3 =  Dict
+_test_Rem_RoundZero_P1_N3 :: Dict (K.Rem 'K.RoundZero (P 1) (N 3) ~ P 1)
+_test_Rem_RoundZero_P1_N3 =  Dict
+_test_Div_RoundZero_P1_N4 :: Dict (K.Div 'K.RoundZero (P 1) (N 4) ~ P 0)
+_test_Div_RoundZero_P1_N4 =  Dict
+_test_Rem_RoundZero_P1_N4 :: Dict (K.Rem 'K.RoundZero (P 1) (N 4) ~ P 1)
+_test_Rem_RoundZero_P1_N4 =  Dict
+_test_Div_RoundZero_P1_P1 :: Dict (K.Div 'K.RoundZero (P 1) (P 1) ~ P 1)
+_test_Div_RoundZero_P1_P1 =  Dict
+_test_Rem_RoundZero_P1_P1 :: Dict (K.Rem 'K.RoundZero (P 1) (P 1) ~ P 0)
+_test_Rem_RoundZero_P1_P1 =  Dict
+_test_Div_RoundZero_P1_P2 :: Dict (K.Div 'K.RoundZero (P 1) (P 2) ~ P 0)
+_test_Div_RoundZero_P1_P2 =  Dict
+_test_Rem_RoundZero_P1_P2 :: Dict (K.Rem 'K.RoundZero (P 1) (P 2) ~ P 1)
+_test_Rem_RoundZero_P1_P2 =  Dict
+_test_Div_RoundZero_P1_P3 :: Dict (K.Div 'K.RoundZero (P 1) (P 3) ~ P 0)
+_test_Div_RoundZero_P1_P3 =  Dict
+_test_Rem_RoundZero_P1_P3 :: Dict (K.Rem 'K.RoundZero (P 1) (P 3) ~ P 1)
+_test_Rem_RoundZero_P1_P3 =  Dict
+_test_Div_RoundZero_P1_P4 :: Dict (K.Div 'K.RoundZero (P 1) (P 4) ~ P 0)
+_test_Div_RoundZero_P1_P4 =  Dict
+_test_Rem_RoundZero_P1_P4 :: Dict (K.Rem 'K.RoundZero (P 1) (P 4) ~ P 1)
+_test_Rem_RoundZero_P1_P4 =  Dict
+_test_Div_RoundZero_P2_N1 :: Dict (K.Div 'K.RoundZero (P 2) (N 1) ~ N 2)
+_test_Div_RoundZero_P2_N1 =  Dict
+_test_Rem_RoundZero_P2_N1 :: Dict (K.Rem 'K.RoundZero (P 2) (N 1) ~ P 0)
+_test_Rem_RoundZero_P2_N1 =  Dict
+_test_Div_RoundZero_P2_N2 :: Dict (K.Div 'K.RoundZero (P 2) (N 2) ~ N 1)
+_test_Div_RoundZero_P2_N2 =  Dict
+_test_Rem_RoundZero_P2_N2 :: Dict (K.Rem 'K.RoundZero (P 2) (N 2) ~ P 0)
+_test_Rem_RoundZero_P2_N2 =  Dict
+_test_Div_RoundZero_P2_N3 :: Dict (K.Div 'K.RoundZero (P 2) (N 3) ~ P 0)
+_test_Div_RoundZero_P2_N3 =  Dict
+_test_Rem_RoundZero_P2_N3 :: Dict (K.Rem 'K.RoundZero (P 2) (N 3) ~ P 2)
+_test_Rem_RoundZero_P2_N3 =  Dict
+_test_Div_RoundZero_P2_N4 :: Dict (K.Div 'K.RoundZero (P 2) (N 4) ~ P 0)
+_test_Div_RoundZero_P2_N4 =  Dict
+_test_Rem_RoundZero_P2_N4 :: Dict (K.Rem 'K.RoundZero (P 2) (N 4) ~ P 2)
+_test_Rem_RoundZero_P2_N4 =  Dict
+_test_Div_RoundZero_P2_P1 :: Dict (K.Div 'K.RoundZero (P 2) (P 1) ~ P 2)
+_test_Div_RoundZero_P2_P1 =  Dict
+_test_Rem_RoundZero_P2_P1 :: Dict (K.Rem 'K.RoundZero (P 2) (P 1) ~ P 0)
+_test_Rem_RoundZero_P2_P1 =  Dict
+_test_Div_RoundZero_P2_P2 :: Dict (K.Div 'K.RoundZero (P 2) (P 2) ~ P 1)
+_test_Div_RoundZero_P2_P2 =  Dict
+_test_Rem_RoundZero_P2_P2 :: Dict (K.Rem 'K.RoundZero (P 2) (P 2) ~ P 0)
+_test_Rem_RoundZero_P2_P2 =  Dict
+_test_Div_RoundZero_P2_P3 :: Dict (K.Div 'K.RoundZero (P 2) (P 3) ~ P 0)
+_test_Div_RoundZero_P2_P3 =  Dict
+_test_Rem_RoundZero_P2_P3 :: Dict (K.Rem 'K.RoundZero (P 2) (P 3) ~ P 2)
+_test_Rem_RoundZero_P2_P3 =  Dict
+_test_Div_RoundZero_P2_P4 :: Dict (K.Div 'K.RoundZero (P 2) (P 4) ~ P 0)
+_test_Div_RoundZero_P2_P4 =  Dict
+_test_Rem_RoundZero_P2_P4 :: Dict (K.Rem 'K.RoundZero (P 2) (P 4) ~ P 2)
+_test_Rem_RoundZero_P2_P4 =  Dict
+_test_Div_RoundZero_P3_N1 :: Dict (K.Div 'K.RoundZero (P 3) (N 1) ~ N 3)
+_test_Div_RoundZero_P3_N1 =  Dict
+_test_Rem_RoundZero_P3_N1 :: Dict (K.Rem 'K.RoundZero (P 3) (N 1) ~ P 0)
+_test_Rem_RoundZero_P3_N1 =  Dict
+_test_Div_RoundZero_P3_N2 :: Dict (K.Div 'K.RoundZero (P 3) (N 2) ~ N 1)
+_test_Div_RoundZero_P3_N2 =  Dict
+_test_Rem_RoundZero_P3_N2 :: Dict (K.Rem 'K.RoundZero (P 3) (N 2) ~ P 1)
+_test_Rem_RoundZero_P3_N2 =  Dict
+_test_Div_RoundZero_P3_N3 :: Dict (K.Div 'K.RoundZero (P 3) (N 3) ~ N 1)
+_test_Div_RoundZero_P3_N3 =  Dict
+_test_Rem_RoundZero_P3_N3 :: Dict (K.Rem 'K.RoundZero (P 3) (N 3) ~ P 0)
+_test_Rem_RoundZero_P3_N3 =  Dict
+_test_Div_RoundZero_P3_N4 :: Dict (K.Div 'K.RoundZero (P 3) (N 4) ~ P 0)
+_test_Div_RoundZero_P3_N4 =  Dict
+_test_Rem_RoundZero_P3_N4 :: Dict (K.Rem 'K.RoundZero (P 3) (N 4) ~ P 3)
+_test_Rem_RoundZero_P3_N4 =  Dict
+_test_Div_RoundZero_P3_P1 :: Dict (K.Div 'K.RoundZero (P 3) (P 1) ~ P 3)
+_test_Div_RoundZero_P3_P1 =  Dict
+_test_Rem_RoundZero_P3_P1 :: Dict (K.Rem 'K.RoundZero (P 3) (P 1) ~ P 0)
+_test_Rem_RoundZero_P3_P1 =  Dict
+_test_Div_RoundZero_P3_P2 :: Dict (K.Div 'K.RoundZero (P 3) (P 2) ~ P 1)
+_test_Div_RoundZero_P3_P2 =  Dict
+_test_Rem_RoundZero_P3_P2 :: Dict (K.Rem 'K.RoundZero (P 3) (P 2) ~ P 1)
+_test_Rem_RoundZero_P3_P2 =  Dict
+_test_Div_RoundZero_P3_P3 :: Dict (K.Div 'K.RoundZero (P 3) (P 3) ~ P 1)
+_test_Div_RoundZero_P3_P3 =  Dict
+_test_Rem_RoundZero_P3_P3 :: Dict (K.Rem 'K.RoundZero (P 3) (P 3) ~ P 0)
+_test_Rem_RoundZero_P3_P3 =  Dict
+_test_Div_RoundZero_P3_P4 :: Dict (K.Div 'K.RoundZero (P 3) (P 4) ~ P 0)
+_test_Div_RoundZero_P3_P4 =  Dict
+_test_Rem_RoundZero_P3_P4 :: Dict (K.Rem 'K.RoundZero (P 3) (P 4) ~ P 3)
+_test_Rem_RoundZero_P3_P4 =  Dict
+_test_Div_RoundZero_P4_N1 :: Dict (K.Div 'K.RoundZero (P 4) (N 1) ~ N 4)
+_test_Div_RoundZero_P4_N1 =  Dict
+_test_Rem_RoundZero_P4_N1 :: Dict (K.Rem 'K.RoundZero (P 4) (N 1) ~ P 0)
+_test_Rem_RoundZero_P4_N1 =  Dict
+_test_Div_RoundZero_P4_N2 :: Dict (K.Div 'K.RoundZero (P 4) (N 2) ~ N 2)
+_test_Div_RoundZero_P4_N2 =  Dict
+_test_Rem_RoundZero_P4_N2 :: Dict (K.Rem 'K.RoundZero (P 4) (N 2) ~ P 0)
+_test_Rem_RoundZero_P4_N2 =  Dict
+_test_Div_RoundZero_P4_N3 :: Dict (K.Div 'K.RoundZero (P 4) (N 3) ~ N 1)
+_test_Div_RoundZero_P4_N3 =  Dict
+_test_Rem_RoundZero_P4_N3 :: Dict (K.Rem 'K.RoundZero (P 4) (N 3) ~ P 1)
+_test_Rem_RoundZero_P4_N3 =  Dict
+_test_Div_RoundZero_P4_N4 :: Dict (K.Div 'K.RoundZero (P 4) (N 4) ~ N 1)
+_test_Div_RoundZero_P4_N4 =  Dict
+_test_Rem_RoundZero_P4_N4 :: Dict (K.Rem 'K.RoundZero (P 4) (N 4) ~ P 0)
+_test_Rem_RoundZero_P4_N4 =  Dict
+_test_Div_RoundZero_P4_P1 :: Dict (K.Div 'K.RoundZero (P 4) (P 1) ~ P 4)
+_test_Div_RoundZero_P4_P1 =  Dict
+_test_Rem_RoundZero_P4_P1 :: Dict (K.Rem 'K.RoundZero (P 4) (P 1) ~ P 0)
+_test_Rem_RoundZero_P4_P1 =  Dict
+_test_Div_RoundZero_P4_P2 :: Dict (K.Div 'K.RoundZero (P 4) (P 2) ~ P 2)
+_test_Div_RoundZero_P4_P2 =  Dict
+_test_Rem_RoundZero_P4_P2 :: Dict (K.Rem 'K.RoundZero (P 4) (P 2) ~ P 0)
+_test_Rem_RoundZero_P4_P2 =  Dict
+_test_Div_RoundZero_P4_P3 :: Dict (K.Div 'K.RoundZero (P 4) (P 3) ~ P 1)
+_test_Div_RoundZero_P4_P3 =  Dict
+_test_Rem_RoundZero_P4_P3 :: Dict (K.Rem 'K.RoundZero (P 4) (P 3) ~ P 1)
+_test_Rem_RoundZero_P4_P3 =  Dict
+_test_Div_RoundZero_P4_P4 :: Dict (K.Div 'K.RoundZero (P 4) (P 4) ~ P 1)
+_test_Div_RoundZero_P4_P4 =  Dict
+_test_Rem_RoundZero_P4_P4 :: Dict (K.Rem 'K.RoundZero (P 4) (P 4) ~ P 0)
+_test_Rem_RoundZero_P4_P4 =  Dict
