23.12/10.45 YES 26.02/11.22 proof of /export/starexec/sandbox/benchmark/theBenchmark.hs 26.02/11.22 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 26.02/11.22 26.02/11.22 26.02/11.22 H-Termination with start terms of the given HASKELL could be proven: 26.02/11.22 26.02/11.22 (0) HASKELL 26.02/11.22 (1) LR [EQUIVALENT, 0 ms] 26.02/11.22 (2) HASKELL 26.02/11.22 (3) CR [EQUIVALENT, 0 ms] 26.02/11.22 (4) HASKELL 26.02/11.22 (5) BR [EQUIVALENT, 0 ms] 26.02/11.22 (6) HASKELL 26.02/11.22 (7) COR [EQUIVALENT, 15 ms] 26.02/11.22 (8) HASKELL 26.02/11.22 (9) LetRed [EQUIVALENT, 0 ms] 26.02/11.22 (10) HASKELL 26.02/11.22 (11) NumRed [SOUND, 0 ms] 26.02/11.22 (12) HASKELL 26.02/11.22 (13) Narrow [SOUND, 0 ms] 26.02/11.22 (14) AND 26.02/11.22 (15) QDP 26.02/11.22 (16) QDPSizeChangeProof [EQUIVALENT, 0 ms] 26.02/11.22 (17) YES 26.02/11.22 (18) QDP 26.02/11.22 (19) DependencyGraphProof [EQUIVALENT, 0 ms] 26.02/11.22 (20) AND 26.02/11.22 (21) QDP 26.02/11.22 (22) QDPSizeChangeProof [EQUIVALENT, 0 ms] 26.02/11.22 (23) YES 26.02/11.22 (24) QDP 26.02/11.22 (25) TransformationProof [EQUIVALENT, 0 ms] 26.02/11.22 (26) QDP 26.02/11.22 (27) TransformationProof [EQUIVALENT, 0 ms] 26.02/11.22 (28) QDP 26.02/11.22 (29) QDPSizeChangeProof [EQUIVALENT, 0 ms] 26.02/11.22 (30) YES 26.02/11.22 (31) QDP 26.02/11.22 (32) QDPSizeChangeProof [EQUIVALENT, 0 ms] 26.02/11.22 (33) YES 26.02/11.22 (34) QDP 26.02/11.22 (35) QDPSizeChangeProof [EQUIVALENT, 0 ms] 26.02/11.22 (36) YES 26.02/11.22 (37) QDP 26.02/11.22 (38) QDPSizeChangeProof [EQUIVALENT, 0 ms] 26.02/11.22 (39) YES 26.02/11.22 (40) QDP 26.02/11.22 (41) QDPSizeChangeProof [EQUIVALENT, 0 ms] 26.02/11.22 (42) YES 26.02/11.22 (43) QDP 26.02/11.22 (44) DependencyGraphProof [EQUIVALENT, 0 ms] 26.02/11.22 (45) AND 26.02/11.22 (46) QDP 26.02/11.22 (47) QDPSizeChangeProof [EQUIVALENT, 0 ms] 26.02/11.22 (48) YES 26.02/11.22 (49) QDP 26.02/11.22 (50) QDPSizeChangeProof [EQUIVALENT, 0 ms] 26.02/11.22 (51) YES 26.02/11.22 (52) QDP 26.02/11.22 (53) QDPSizeChangeProof [EQUIVALENT, 0 ms] 26.02/11.22 (54) YES 26.02/11.22 (55) QDP 26.02/11.22 (56) QDPSizeChangeProof [EQUIVALENT, 0 ms] 26.02/11.22 (57) YES 26.02/11.22 26.02/11.22 26.02/11.22 ---------------------------------------- 26.02/11.22 26.02/11.22 (0) 26.02/11.22 Obligation: 26.02/11.22 mainModule Main 26.02/11.22 module FiniteMap where { 26.02/11.22 import qualified Main; 26.02/11.22 import qualified Maybe; 26.02/11.22 import qualified Prelude; 26.02/11.22 data FiniteMap b a = EmptyFM | Branch b a Int (FiniteMap b a) (FiniteMap b a) ; 26.02/11.22 26.02/11.22 instance (Eq a, Eq b) => Eq FiniteMap a b where { 26.02/11.22 } 26.02/11.22 addToFM :: Ord a => FiniteMap a b -> a -> b -> FiniteMap a b; 26.02/11.22 addToFM fm key elt = addToFM_C (\old new ->new) fm key elt; 26.02/11.22 26.02/11.22 addToFM_C :: Ord b => (a -> a -> a) -> FiniteMap b a -> b -> a -> FiniteMap b a; 26.02/11.22 addToFM_C combiner EmptyFM key elt = unitFM key elt; 26.02/11.22 addToFM_C combiner (Branch key elt size fm_l fm_r) new_key new_elt | new_key < key = mkBalBranch key elt (addToFM_C combiner fm_l new_key new_elt) fm_r 26.02/11.22 | new_key > key = mkBalBranch key elt fm_l (addToFM_C combiner fm_r new_key new_elt) 26.02/11.22 | otherwise = Branch new_key (combiner elt new_elt) size fm_l fm_r; 26.02/11.22 26.02/11.22 emptyFM :: FiniteMap a b; 26.02/11.22 emptyFM = EmptyFM; 26.02/11.22 26.02/11.22 findMax :: FiniteMap b a -> (b,a); 26.02/11.22 findMax (Branch key elt _ _ EmptyFM) = (key,elt); 26.02/11.22 findMax (Branch key elt _ _ fm_r) = findMax fm_r; 26.02/11.22 26.02/11.22 findMin :: FiniteMap a b -> (a,b); 26.02/11.22 findMin (Branch key elt _ EmptyFM _) = (key,elt); 26.02/11.22 findMin (Branch key elt _ fm_l _) = findMin fm_l; 26.02/11.22 26.02/11.22 mkBalBranch :: Ord b => b -> a -> FiniteMap b a -> FiniteMap b a -> FiniteMap b a; 26.02/11.22 mkBalBranch key elt fm_L fm_R | size_l + size_r < 2 = mkBranch 1 key elt fm_L fm_R 26.02/11.22 | size_r > sIZE_RATIO * size_l = case fm_R of { 26.02/11.22 Branch _ _ _ fm_rl fm_rr | sizeFM fm_rl < 2 * sizeFM fm_rr -> single_L fm_L fm_R 26.02/11.22 | otherwise -> double_L fm_L fm_R; 26.02/11.22 } 26.02/11.22 | size_l > sIZE_RATIO * size_r = case fm_L of { 26.02/11.22 Branch _ _ _ fm_ll fm_lr | sizeFM fm_lr < 2 * sizeFM fm_ll -> single_R fm_L fm_R 26.02/11.22 | otherwise -> double_R fm_L fm_R; 26.02/11.22 } 26.02/11.22 | otherwise = mkBranch 2 key elt fm_L fm_R where { 26.02/11.22 double_L fm_l (Branch key_r elt_r _ (Branch key_rl elt_rl _ fm_rll fm_rlr) fm_rr) = mkBranch 5 key_rl elt_rl (mkBranch 6 key elt fm_l fm_rll) (mkBranch 7 key_r elt_r fm_rlr fm_rr); 26.02/11.22 double_R (Branch key_l elt_l _ fm_ll (Branch key_lr elt_lr _ fm_lrl fm_lrr)) fm_r = mkBranch 10 key_lr elt_lr (mkBranch 11 key_l elt_l fm_ll fm_lrl) (mkBranch 12 key elt fm_lrr fm_r); 26.02/11.22 single_L fm_l (Branch key_r elt_r _ fm_rl fm_rr) = mkBranch 3 key_r elt_r (mkBranch 4 key elt fm_l fm_rl) fm_rr; 26.02/11.22 single_R (Branch key_l elt_l _ fm_ll fm_lr) fm_r = mkBranch 8 key_l elt_l fm_ll (mkBranch 9 key elt fm_lr fm_r); 26.02/11.22 size_l = sizeFM fm_L; 26.02/11.22 size_r = sizeFM fm_R; 26.02/11.22 }; 26.02/11.22 26.02/11.22 mkBranch :: Ord b => Int -> b -> a -> FiniteMap b a -> FiniteMap b a -> FiniteMap b a; 26.02/11.22 mkBranch which key elt fm_l fm_r = let { 26.02/11.22 result = Branch key elt (unbox (1 + left_size + right_size)) fm_l fm_r; 26.02/11.22 } in result where { 26.02/11.22 balance_ok = True; 26.02/11.22 left_ok = case fm_l of { 26.02/11.22 EmptyFM-> True; 26.02/11.22 Branch left_key _ _ _ _-> let { 26.02/11.22 biggest_left_key = fst (findMax fm_l); 26.02/11.22 } in biggest_left_key < key; 26.02/11.22 } ; 26.02/11.22 left_size = sizeFM fm_l; 26.02/11.22 right_ok = case fm_r of { 26.02/11.22 EmptyFM-> True; 26.02/11.22 Branch right_key _ _ _ _-> let { 26.02/11.22 smallest_right_key = fst (findMin fm_r); 26.02/11.22 } in key < smallest_right_key; 26.02/11.22 } ; 26.02/11.22 right_size = sizeFM fm_r; 26.02/11.22 unbox :: Int -> Int; 26.02/11.22 unbox x = x; 26.02/11.22 }; 26.02/11.22 26.02/11.22 mkVBalBranch :: Ord a => a -> b -> FiniteMap a b -> FiniteMap a b -> FiniteMap a b; 26.02/11.22 mkVBalBranch key elt EmptyFM fm_r = addToFM fm_r key elt; 26.02/11.22 mkVBalBranch key elt fm_l EmptyFM = addToFM fm_l key elt; 26.02/11.22 mkVBalBranch key elt fm_l@(Branch key_l elt_l _ fm_ll fm_lr) fm_r@(Branch key_r elt_r _ fm_rl fm_rr) | sIZE_RATIO * size_l < size_r = mkBalBranch key_r elt_r (mkVBalBranch key elt fm_l fm_rl) fm_rr 26.02/11.22 | sIZE_RATIO * size_r < size_l = mkBalBranch key_l elt_l fm_ll (mkVBalBranch key elt fm_lr fm_r) 26.02/11.22 | otherwise = mkBranch 13 key elt fm_l fm_r where { 26.02/11.22 size_l = sizeFM fm_l; 26.02/11.22 size_r = sizeFM fm_r; 26.02/11.22 }; 26.02/11.22 26.02/11.22 plusFM :: Ord b => FiniteMap b a -> FiniteMap b a -> FiniteMap b a; 26.02/11.22 plusFM EmptyFM fm2 = fm2; 26.02/11.22 plusFM fm1 EmptyFM = fm1; 26.02/11.22 plusFM fm1 (Branch split_key elt1 _ left right) = mkVBalBranch split_key elt1 (plusFM lts left) (plusFM gts right) where { 26.02/11.22 gts = splitGT fm1 split_key; 26.02/11.22 lts = splitLT fm1 split_key; 26.02/11.22 }; 26.02/11.22 26.02/11.22 sIZE_RATIO :: Int; 26.02/11.22 sIZE_RATIO = 5; 26.02/11.22 26.02/11.22 sizeFM :: FiniteMap a b -> Int; 26.02/11.22 sizeFM EmptyFM = 0; 26.02/11.22 sizeFM (Branch _ _ size _ _) = size; 26.02/11.22 26.02/11.22 splitGT :: Ord a => FiniteMap a b -> a -> FiniteMap a b; 26.02/11.22 splitGT EmptyFM split_key = emptyFM; 26.02/11.22 splitGT (Branch key elt _ fm_l fm_r) split_key | split_key > key = splitGT fm_r split_key 26.02/11.22 | split_key < key = mkVBalBranch key elt (splitGT fm_l split_key) fm_r 26.02/11.22 | otherwise = fm_r; 26.02/11.22 26.02/11.22 splitLT :: Ord b => FiniteMap b a -> b -> FiniteMap b a; 26.02/11.22 splitLT EmptyFM split_key = emptyFM; 26.02/11.22 splitLT (Branch key elt _ fm_l fm_r) split_key | split_key < key = splitLT fm_l split_key 26.02/11.22 | split_key > key = mkVBalBranch key elt fm_l (splitLT fm_r split_key) 26.02/11.22 | otherwise = fm_l; 26.02/11.22 26.02/11.22 unitFM :: a -> b -> FiniteMap a b; 26.02/11.22 unitFM key elt = Branch key elt 1 emptyFM emptyFM; 26.02/11.22 26.02/11.22 } 26.02/11.22 module Maybe where { 26.02/11.22 import qualified FiniteMap; 26.02/11.22 import qualified Main; 26.02/11.22 import qualified Prelude; 26.02/11.22 } 26.02/11.22 module Main where { 26.02/11.22 import qualified FiniteMap; 26.02/11.22 import qualified Maybe; 26.02/11.22 import qualified Prelude; 26.02/11.22 } 26.02/11.22 26.02/11.22 ---------------------------------------- 26.02/11.22 26.02/11.22 (1) LR (EQUIVALENT) 26.02/11.22 Lambda Reductions: 26.02/11.22 The following Lambda expression 26.02/11.22 "\oldnew->new" 26.02/11.22 is transformed to 26.02/11.22 "addToFM0 old new = new; 26.02/11.22 " 26.02/11.22 26.02/11.22 ---------------------------------------- 26.02/11.22 26.02/11.22 (2) 26.02/11.22 Obligation: 26.02/11.22 mainModule Main 26.02/11.22 module FiniteMap where { 26.02/11.22 import qualified Main; 26.02/11.22 import qualified Maybe; 26.02/11.22 import qualified Prelude; 26.02/11.22 data FiniteMap b a = EmptyFM | Branch b a Int (FiniteMap b a) (FiniteMap b a) ; 26.02/11.22 26.02/11.22 instance (Eq a, Eq b) => Eq FiniteMap a b where { 26.02/11.22 } 26.02/11.22 addToFM :: Ord a => FiniteMap a b -> a -> b -> FiniteMap a b; 26.02/11.22 addToFM fm key elt = addToFM_C addToFM0 fm key elt; 26.02/11.22 26.02/11.22 addToFM0 old new = new; 26.02/11.22 26.02/11.22 addToFM_C :: Ord b => (a -> a -> a) -> FiniteMap b a -> b -> a -> FiniteMap b a; 26.02/11.22 addToFM_C combiner EmptyFM key elt = unitFM key elt; 26.02/11.22 addToFM_C combiner (Branch key elt size fm_l fm_r) new_key new_elt | new_key < key = mkBalBranch key elt (addToFM_C combiner fm_l new_key new_elt) fm_r 26.02/11.22 | new_key > key = mkBalBranch key elt fm_l (addToFM_C combiner fm_r new_key new_elt) 26.02/11.22 | otherwise = Branch new_key (combiner elt new_elt) size fm_l fm_r; 26.02/11.22 26.02/11.22 emptyFM :: FiniteMap a b; 26.02/11.22 emptyFM = EmptyFM; 26.02/11.22 26.02/11.22 findMax :: FiniteMap a b -> (a,b); 26.02/11.22 findMax (Branch key elt _ _ EmptyFM) = (key,elt); 26.02/11.22 findMax (Branch key elt _ _ fm_r) = findMax fm_r; 26.02/11.22 26.02/11.22 findMin :: FiniteMap a b -> (a,b); 26.02/11.22 findMin (Branch key elt _ EmptyFM _) = (key,elt); 26.02/11.22 findMin (Branch key elt _ fm_l _) = findMin fm_l; 26.02/11.22 26.02/11.22 mkBalBranch :: Ord a => a -> b -> FiniteMap a b -> FiniteMap a b -> FiniteMap a b; 26.02/11.22 mkBalBranch key elt fm_L fm_R | size_l + size_r < 2 = mkBranch 1 key elt fm_L fm_R 26.02/11.22 | size_r > sIZE_RATIO * size_l = case fm_R of { 26.02/11.22 Branch _ _ _ fm_rl fm_rr | sizeFM fm_rl < 2 * sizeFM fm_rr -> single_L fm_L fm_R 26.02/11.22 | otherwise -> double_L fm_L fm_R; 26.02/11.22 } 26.02/11.22 | size_l > sIZE_RATIO * size_r = case fm_L of { 26.02/11.22 Branch _ _ _ fm_ll fm_lr | sizeFM fm_lr < 2 * sizeFM fm_ll -> single_R fm_L fm_R 26.02/11.22 | otherwise -> double_R fm_L fm_R; 26.02/11.22 } 26.02/11.22 | otherwise = mkBranch 2 key elt fm_L fm_R where { 26.02/11.22 double_L fm_l (Branch key_r elt_r _ (Branch key_rl elt_rl _ fm_rll fm_rlr) fm_rr) = mkBranch 5 key_rl elt_rl (mkBranch 6 key elt fm_l fm_rll) (mkBranch 7 key_r elt_r fm_rlr fm_rr); 26.02/11.22 double_R (Branch key_l elt_l _ fm_ll (Branch key_lr elt_lr _ fm_lrl fm_lrr)) fm_r = mkBranch 10 key_lr elt_lr (mkBranch 11 key_l elt_l fm_ll fm_lrl) (mkBranch 12 key elt fm_lrr fm_r); 26.02/11.22 single_L fm_l (Branch key_r elt_r _ fm_rl fm_rr) = mkBranch 3 key_r elt_r (mkBranch 4 key elt fm_l fm_rl) fm_rr; 26.02/11.22 single_R (Branch key_l elt_l _ fm_ll fm_lr) fm_r = mkBranch 8 key_l elt_l fm_ll (mkBranch 9 key elt fm_lr fm_r); 26.02/11.22 size_l = sizeFM fm_L; 26.02/11.22 size_r = sizeFM fm_R; 26.02/11.22 }; 26.02/11.22 26.02/11.22 mkBranch :: Ord a => Int -> a -> b -> FiniteMap a b -> FiniteMap a b -> FiniteMap a b; 26.02/11.22 mkBranch which key elt fm_l fm_r = let { 26.02/11.22 result = Branch key elt (unbox (1 + left_size + right_size)) fm_l fm_r; 26.02/11.22 } in result where { 26.02/11.22 balance_ok = True; 26.02/11.22 left_ok = case fm_l of { 26.02/11.22 EmptyFM-> True; 26.02/11.22 Branch left_key _ _ _ _-> let { 26.02/11.22 biggest_left_key = fst (findMax fm_l); 26.02/11.22 } in biggest_left_key < key; 26.02/11.22 } ; 26.02/11.22 left_size = sizeFM fm_l; 26.02/11.22 right_ok = case fm_r of { 26.02/11.22 EmptyFM-> True; 26.02/11.22 Branch right_key _ _ _ _-> let { 26.02/11.22 smallest_right_key = fst (findMin fm_r); 26.02/11.22 } in key < smallest_right_key; 26.02/11.22 } ; 26.02/11.22 right_size = sizeFM fm_r; 26.02/11.22 unbox :: Int -> Int; 26.02/11.22 unbox x = x; 26.02/11.22 }; 26.02/11.22 26.02/11.22 mkVBalBranch :: Ord a => a -> b -> FiniteMap a b -> FiniteMap a b -> FiniteMap a b; 26.02/11.22 mkVBalBranch key elt EmptyFM fm_r = addToFM fm_r key elt; 26.02/11.22 mkVBalBranch key elt fm_l EmptyFM = addToFM fm_l key elt; 26.02/11.22 mkVBalBranch key elt fm_l@(Branch key_l elt_l _ fm_ll fm_lr) fm_r@(Branch key_r elt_r _ fm_rl fm_rr) | sIZE_RATIO * size_l < size_r = mkBalBranch key_r elt_r (mkVBalBranch key elt fm_l fm_rl) fm_rr 26.02/11.22 | sIZE_RATIO * size_r < size_l = mkBalBranch key_l elt_l fm_ll (mkVBalBranch key elt fm_lr fm_r) 26.02/11.22 | otherwise = mkBranch 13 key elt fm_l fm_r where { 26.02/11.22 size_l = sizeFM fm_l; 26.02/11.22 size_r = sizeFM fm_r; 26.02/11.22 }; 26.02/11.22 26.02/11.22 plusFM :: Ord a => FiniteMap a b -> FiniteMap a b -> FiniteMap a b; 26.02/11.22 plusFM EmptyFM fm2 = fm2; 26.02/11.22 plusFM fm1 EmptyFM = fm1; 26.02/11.22 plusFM fm1 (Branch split_key elt1 _ left right) = mkVBalBranch split_key elt1 (plusFM lts left) (plusFM gts right) where { 26.02/11.22 gts = splitGT fm1 split_key; 26.02/11.22 lts = splitLT fm1 split_key; 26.02/11.22 }; 26.02/11.22 26.02/11.22 sIZE_RATIO :: Int; 26.02/11.22 sIZE_RATIO = 5; 26.02/11.22 26.02/11.22 sizeFM :: FiniteMap a b -> Int; 26.02/11.22 sizeFM EmptyFM = 0; 26.02/11.22 sizeFM (Branch _ _ size _ _) = size; 26.02/11.22 26.02/11.22 splitGT :: Ord a => FiniteMap a b -> a -> FiniteMap a b; 26.02/11.22 splitGT EmptyFM split_key = emptyFM; 26.02/11.22 splitGT (Branch key elt _ fm_l fm_r) split_key | split_key > key = splitGT fm_r split_key 26.02/11.22 | split_key < key = mkVBalBranch key elt (splitGT fm_l split_key) fm_r 26.02/11.22 | otherwise = fm_r; 26.02/11.22 26.02/11.22 splitLT :: Ord a => FiniteMap a b -> a -> FiniteMap a b; 26.02/11.22 splitLT EmptyFM split_key = emptyFM; 26.02/11.22 splitLT (Branch key elt _ fm_l fm_r) split_key | split_key < key = splitLT fm_l split_key 26.02/11.22 | split_key > key = mkVBalBranch key elt fm_l (splitLT fm_r split_key) 26.02/11.22 | otherwise = fm_l; 26.02/11.22 26.02/11.22 unitFM :: b -> a -> FiniteMap b a; 26.02/11.22 unitFM key elt = Branch key elt 1 emptyFM emptyFM; 26.02/11.22 26.02/11.22 } 26.02/11.22 module Maybe where { 26.02/11.22 import qualified FiniteMap; 26.02/11.22 import qualified Main; 26.02/11.22 import qualified Prelude; 26.02/11.22 } 26.02/11.22 module Main where { 26.02/11.22 import qualified FiniteMap; 26.02/11.22 import qualified Maybe; 26.02/11.22 import qualified Prelude; 26.02/11.22 } 26.02/11.22 26.02/11.22 ---------------------------------------- 26.02/11.22 26.02/11.22 (3) CR (EQUIVALENT) 26.02/11.22 Case Reductions: 26.02/11.22 The following Case expression 26.02/11.22 "case fm_r of { 26.02/11.22 EmptyFM -> True; 26.02/11.22 Branch right_key _ _ _ _ -> let { 26.02/11.22 smallest_right_key = fst (findMin fm_r); 26.02/11.22 } in key < smallest_right_key} 26.02/11.22 " 26.02/11.22 is transformed to 26.02/11.22 "right_ok0 fm_r key EmptyFM = True; 26.02/11.22 right_ok0 fm_r key (Branch right_key _ _ _ _) = let { 26.02/11.22 smallest_right_key = fst (findMin fm_r); 26.02/11.22 } in key < smallest_right_key; 26.02/11.22 " 26.02/11.22 The following Case expression 26.02/11.22 "case fm_l of { 26.02/11.22 EmptyFM -> True; 26.02/11.22 Branch left_key _ _ _ _ -> let { 26.02/11.22 biggest_left_key = fst (findMax fm_l); 26.02/11.22 } in biggest_left_key < key} 26.02/11.22 " 26.02/11.22 is transformed to 26.02/11.22 "left_ok0 fm_l key EmptyFM = True; 26.02/11.22 left_ok0 fm_l key (Branch left_key _ _ _ _) = let { 26.02/11.22 biggest_left_key = fst (findMax fm_l); 26.02/11.22 } in biggest_left_key < key; 26.02/11.22 " 26.02/11.22 The following Case expression 26.02/11.22 "case fm_R of { 26.02/11.22 Branch _ _ _ fm_rl fm_rr |sizeFM fm_rl < 2 * sizeFM fm_rrsingle_L fm_L fm_R|otherwisedouble_L fm_L fm_R} 26.02/11.22 " 26.02/11.22 is transformed to 26.02/11.22 "mkBalBranch0 fm_L fm_R (Branch _ _ _ fm_rl fm_rr)|sizeFM fm_rl < 2 * sizeFM fm_rrsingle_L fm_L fm_R|otherwisedouble_L fm_L fm_R; 26.02/11.22 " 26.02/11.22 The following Case expression 26.02/11.22 "case fm_L of { 26.02/11.22 Branch _ _ _ fm_ll fm_lr |sizeFM fm_lr < 2 * sizeFM fm_llsingle_R fm_L fm_R|otherwisedouble_R fm_L fm_R} 26.02/11.22 " 26.02/11.22 is transformed to 26.02/11.22 "mkBalBranch1 fm_L fm_R (Branch _ _ _ fm_ll fm_lr)|sizeFM fm_lr < 2 * sizeFM fm_llsingle_R fm_L fm_R|otherwisedouble_R fm_L fm_R; 26.02/11.22 " 26.02/11.22 26.02/11.22 ---------------------------------------- 26.02/11.22 26.02/11.22 (4) 26.02/11.22 Obligation: 26.02/11.22 mainModule Main 26.02/11.22 module FiniteMap where { 26.02/11.22 import qualified Main; 26.02/11.22 import qualified Maybe; 26.02/11.22 import qualified Prelude; 26.02/11.22 data FiniteMap b a = EmptyFM | Branch b a Int (FiniteMap b a) (FiniteMap b a) ; 26.02/11.22 26.02/11.22 instance (Eq a, Eq b) => Eq FiniteMap b a where { 26.02/11.22 } 26.02/11.22 addToFM :: Ord a => FiniteMap a b -> a -> b -> FiniteMap a b; 26.02/11.22 addToFM fm key elt = addToFM_C addToFM0 fm key elt; 26.02/11.22 26.02/11.22 addToFM0 old new = new; 26.02/11.22 26.02/11.22 addToFM_C :: Ord a => (b -> b -> b) -> FiniteMap a b -> a -> b -> FiniteMap a b; 26.02/11.22 addToFM_C combiner EmptyFM key elt = unitFM key elt; 26.02/11.22 addToFM_C combiner (Branch key elt size fm_l fm_r) new_key new_elt | new_key < key = mkBalBranch key elt (addToFM_C combiner fm_l new_key new_elt) fm_r 26.02/11.22 | new_key > key = mkBalBranch key elt fm_l (addToFM_C combiner fm_r new_key new_elt) 26.02/11.22 | otherwise = Branch new_key (combiner elt new_elt) size fm_l fm_r; 26.02/11.22 26.02/11.22 emptyFM :: FiniteMap a b; 26.02/11.22 emptyFM = EmptyFM; 26.02/11.22 26.02/11.22 findMax :: FiniteMap a b -> (a,b); 26.02/11.22 findMax (Branch key elt _ _ EmptyFM) = (key,elt); 26.02/11.22 findMax (Branch key elt _ _ fm_r) = findMax fm_r; 26.02/11.22 26.02/11.22 findMin :: FiniteMap a b -> (a,b); 26.02/11.22 findMin (Branch key elt _ EmptyFM _) = (key,elt); 26.02/11.22 findMin (Branch key elt _ fm_l _) = findMin fm_l; 26.02/11.22 26.02/11.22 mkBalBranch :: Ord a => a -> b -> FiniteMap a b -> FiniteMap a b -> FiniteMap a b; 26.02/11.22 mkBalBranch key elt fm_L fm_R | size_l + size_r < 2 = mkBranch 1 key elt fm_L fm_R 26.02/11.22 | size_r > sIZE_RATIO * size_l = mkBalBranch0 fm_L fm_R fm_R 26.02/11.22 | size_l > sIZE_RATIO * size_r = mkBalBranch1 fm_L fm_R fm_L 26.02/11.22 | otherwise = mkBranch 2 key elt fm_L fm_R where { 26.02/11.22 double_L fm_l (Branch key_r elt_r _ (Branch key_rl elt_rl _ fm_rll fm_rlr) fm_rr) = mkBranch 5 key_rl elt_rl (mkBranch 6 key elt fm_l fm_rll) (mkBranch 7 key_r elt_r fm_rlr fm_rr); 26.02/11.22 double_R (Branch key_l elt_l _ fm_ll (Branch key_lr elt_lr _ fm_lrl fm_lrr)) fm_r = mkBranch 10 key_lr elt_lr (mkBranch 11 key_l elt_l fm_ll fm_lrl) (mkBranch 12 key elt fm_lrr fm_r); 26.02/11.22 mkBalBranch0 fm_L fm_R (Branch _ _ _ fm_rl fm_rr) | sizeFM fm_rl < 2 * sizeFM fm_rr = single_L fm_L fm_R 26.02/11.22 | otherwise = double_L fm_L fm_R; 26.02/11.22 mkBalBranch1 fm_L fm_R (Branch _ _ _ fm_ll fm_lr) | sizeFM fm_lr < 2 * sizeFM fm_ll = single_R fm_L fm_R 26.02/11.22 | otherwise = double_R fm_L fm_R; 26.02/11.22 single_L fm_l (Branch key_r elt_r _ fm_rl fm_rr) = mkBranch 3 key_r elt_r (mkBranch 4 key elt fm_l fm_rl) fm_rr; 26.02/11.22 single_R (Branch key_l elt_l _ fm_ll fm_lr) fm_r = mkBranch 8 key_l elt_l fm_ll (mkBranch 9 key elt fm_lr fm_r); 26.02/11.22 size_l = sizeFM fm_L; 26.02/11.22 size_r = sizeFM fm_R; 26.02/11.22 }; 26.02/11.22 26.02/11.22 mkBranch :: Ord a => Int -> a -> b -> FiniteMap a b -> FiniteMap a b -> FiniteMap a b; 26.02/11.22 mkBranch which key elt fm_l fm_r = let { 26.02/11.22 result = Branch key elt (unbox (1 + left_size + right_size)) fm_l fm_r; 26.02/11.22 } in result where { 26.02/11.22 balance_ok = True; 26.02/11.22 left_ok = left_ok0 fm_l key fm_l; 26.02/11.22 left_ok0 fm_l key EmptyFM = True; 26.02/11.22 left_ok0 fm_l key (Branch left_key _ _ _ _) = let { 26.02/11.22 biggest_left_key = fst (findMax fm_l); 26.02/11.22 } in biggest_left_key < key; 26.02/11.22 left_size = sizeFM fm_l; 26.02/11.22 right_ok = right_ok0 fm_r key fm_r; 26.02/11.22 right_ok0 fm_r key EmptyFM = True; 26.02/11.22 right_ok0 fm_r key (Branch right_key _ _ _ _) = let { 26.02/11.22 smallest_right_key = fst (findMin fm_r); 26.02/11.22 } in key < smallest_right_key; 26.02/11.22 right_size = sizeFM fm_r; 26.02/11.22 unbox :: Int -> Int; 26.02/11.22 unbox x = x; 26.02/11.22 }; 26.02/11.22 26.02/11.22 mkVBalBranch :: Ord a => a -> b -> FiniteMap a b -> FiniteMap a b -> FiniteMap a b; 26.02/11.22 mkVBalBranch key elt EmptyFM fm_r = addToFM fm_r key elt; 26.02/11.22 mkVBalBranch key elt fm_l EmptyFM = addToFM fm_l key elt; 26.02/11.22 mkVBalBranch key elt fm_l@(Branch key_l elt_l _ fm_ll fm_lr) fm_r@(Branch key_r elt_r _ fm_rl fm_rr) | sIZE_RATIO * size_l < size_r = mkBalBranch key_r elt_r (mkVBalBranch key elt fm_l fm_rl) fm_rr 26.02/11.22 | sIZE_RATIO * size_r < size_l = mkBalBranch key_l elt_l fm_ll (mkVBalBranch key elt fm_lr fm_r) 26.02/11.22 | otherwise = mkBranch 13 key elt fm_l fm_r where { 26.02/11.22 size_l = sizeFM fm_l; 26.02/11.22 size_r = sizeFM fm_r; 26.02/11.22 }; 26.02/11.22 26.02/11.22 plusFM :: Ord b => FiniteMap b a -> FiniteMap b a -> FiniteMap b a; 26.02/11.22 plusFM EmptyFM fm2 = fm2; 26.02/11.22 plusFM fm1 EmptyFM = fm1; 26.02/11.22 plusFM fm1 (Branch split_key elt1 _ left right) = mkVBalBranch split_key elt1 (plusFM lts left) (plusFM gts right) where { 26.02/11.22 gts = splitGT fm1 split_key; 26.02/11.22 lts = splitLT fm1 split_key; 26.02/11.22 }; 26.02/11.22 26.02/11.22 sIZE_RATIO :: Int; 26.02/11.22 sIZE_RATIO = 5; 26.02/11.22 26.02/11.22 sizeFM :: FiniteMap a b -> Int; 26.02/11.22 sizeFM EmptyFM = 0; 26.02/11.22 sizeFM (Branch _ _ size _ _) = size; 26.02/11.22 26.02/11.22 splitGT :: Ord b => FiniteMap b a -> b -> FiniteMap b a; 26.02/11.22 splitGT EmptyFM split_key = emptyFM; 26.02/11.22 splitGT (Branch key elt _ fm_l fm_r) split_key | split_key > key = splitGT fm_r split_key 26.02/11.22 | split_key < key = mkVBalBranch key elt (splitGT fm_l split_key) fm_r 26.02/11.22 | otherwise = fm_r; 26.02/11.22 26.02/11.22 splitLT :: Ord a => FiniteMap a b -> a -> FiniteMap a b; 26.02/11.22 splitLT EmptyFM split_key = emptyFM; 26.02/11.22 splitLT (Branch key elt _ fm_l fm_r) split_key | split_key < key = splitLT fm_l split_key 26.02/11.22 | split_key > key = mkVBalBranch key elt fm_l (splitLT fm_r split_key) 26.02/11.22 | otherwise = fm_l; 26.02/11.22 26.02/11.22 unitFM :: b -> a -> FiniteMap b a; 26.02/11.22 unitFM key elt = Branch key elt 1 emptyFM emptyFM; 26.02/11.22 26.02/11.22 } 26.02/11.22 module Maybe where { 26.02/11.22 import qualified FiniteMap; 26.02/11.22 import qualified Main; 26.02/11.22 import qualified Prelude; 26.02/11.22 } 26.02/11.22 module Main where { 26.02/11.22 import qualified FiniteMap; 26.02/11.22 import qualified Maybe; 26.02/11.22 import qualified Prelude; 26.02/11.22 } 26.02/11.22 26.02/11.22 ---------------------------------------- 26.02/11.22 26.02/11.22 (5) BR (EQUIVALENT) 26.02/11.22 Replaced joker patterns by fresh variables and removed binding patterns. 26.02/11.22 26.02/11.22 Binding Reductions: 26.02/11.22 The bind variable of the following binding Pattern 26.02/11.22 "fm_l@(Branch wv ww wx wy wz)" 26.02/11.22 is replaced by the following term 26.02/11.22 "Branch wv ww wx wy wz" 26.02/11.22 The bind variable of the following binding Pattern 26.02/11.22 "fm_r@(Branch xv xw xx xy xz)" 26.02/11.22 is replaced by the following term 26.02/11.22 "Branch xv xw xx xy xz" 26.02/11.22 26.02/11.22 ---------------------------------------- 26.02/11.22 26.02/11.22 (6) 26.02/11.22 Obligation: 26.02/11.22 mainModule Main 26.02/11.22 module FiniteMap where { 26.02/11.22 import qualified Main; 26.02/11.22 import qualified Maybe; 26.02/11.22 import qualified Prelude; 26.02/11.22 data FiniteMap b a = EmptyFM | Branch b a Int (FiniteMap b a) (FiniteMap b a) ; 26.02/11.22 26.02/11.22 instance (Eq a, Eq b) => Eq FiniteMap b a where { 26.02/11.22 } 26.02/11.22 addToFM :: Ord b => FiniteMap b a -> b -> a -> FiniteMap b a; 26.02/11.22 addToFM fm key elt = addToFM_C addToFM0 fm key elt; 26.02/11.22 26.02/11.22 addToFM0 old new = new; 26.02/11.22 26.02/11.22 addToFM_C :: Ord a => (b -> b -> b) -> FiniteMap a b -> a -> b -> FiniteMap a b; 26.02/11.23 addToFM_C combiner EmptyFM key elt = unitFM key elt; 26.02/11.23 addToFM_C combiner (Branch key elt size fm_l fm_r) new_key new_elt | new_key < key = mkBalBranch key elt (addToFM_C combiner fm_l new_key new_elt) fm_r 26.02/11.23 | new_key > key = mkBalBranch key elt fm_l (addToFM_C combiner fm_r new_key new_elt) 26.02/11.23 | otherwise = Branch new_key (combiner elt new_elt) size fm_l fm_r; 26.02/11.23 26.02/11.23 emptyFM :: FiniteMap b a; 26.02/11.23 emptyFM = EmptyFM; 26.02/11.23 26.02/11.23 findMax :: FiniteMap a b -> (a,b); 26.02/11.23 findMax (Branch key elt zy zz EmptyFM) = (key,elt); 26.02/11.23 findMax (Branch key elt vuu vuv fm_r) = findMax fm_r; 26.02/11.23 26.02/11.23 findMin :: FiniteMap b a -> (b,a); 26.02/11.23 findMin (Branch key elt vxu EmptyFM vxv) = (key,elt); 26.02/11.23 findMin (Branch key elt vxw fm_l vxx) = findMin fm_l; 26.02/11.23 26.02/11.23 mkBalBranch :: Ord a => a -> b -> FiniteMap a b -> FiniteMap a b -> FiniteMap a b; 26.02/11.23 mkBalBranch key elt fm_L fm_R | size_l + size_r < 2 = mkBranch 1 key elt fm_L fm_R 26.02/11.23 | size_r > sIZE_RATIO * size_l = mkBalBranch0 fm_L fm_R fm_R 26.02/11.23 | size_l > sIZE_RATIO * size_r = mkBalBranch1 fm_L fm_R fm_L 26.02/11.23 | otherwise = mkBranch 2 key elt fm_L fm_R where { 26.02/11.23 double_L fm_l (Branch key_r elt_r vvw (Branch key_rl elt_rl vvx fm_rll fm_rlr) fm_rr) = mkBranch 5 key_rl elt_rl (mkBranch 6 key elt fm_l fm_rll) (mkBranch 7 key_r elt_r fm_rlr fm_rr); 26.02/11.23 double_R (Branch key_l elt_l vux fm_ll (Branch key_lr elt_lr vuy fm_lrl fm_lrr)) fm_r = mkBranch 10 key_lr elt_lr (mkBranch 11 key_l elt_l fm_ll fm_lrl) (mkBranch 12 key elt fm_lrr fm_r); 26.02/11.23 mkBalBranch0 fm_L fm_R (Branch vvy vvz vwu fm_rl fm_rr) | sizeFM fm_rl < 2 * sizeFM fm_rr = single_L fm_L fm_R 26.02/11.23 | otherwise = double_L fm_L fm_R; 26.02/11.23 mkBalBranch1 fm_L fm_R (Branch vuz vvu vvv fm_ll fm_lr) | sizeFM fm_lr < 2 * sizeFM fm_ll = single_R fm_L fm_R 26.02/11.23 | otherwise = double_R fm_L fm_R; 26.02/11.23 single_L fm_l (Branch key_r elt_r vwv fm_rl fm_rr) = mkBranch 3 key_r elt_r (mkBranch 4 key elt fm_l fm_rl) fm_rr; 26.02/11.23 single_R (Branch key_l elt_l vuw fm_ll fm_lr) fm_r = mkBranch 8 key_l elt_l fm_ll (mkBranch 9 key elt fm_lr fm_r); 26.02/11.23 size_l = sizeFM fm_L; 26.02/11.23 size_r = sizeFM fm_R; 26.02/11.23 }; 26.02/11.23 26.02/11.23 mkBranch :: Ord a => Int -> a -> b -> FiniteMap a b -> FiniteMap a b -> FiniteMap a b; 26.02/11.23 mkBranch which key elt fm_l fm_r = let { 26.02/11.23 result = Branch key elt (unbox (1 + left_size + right_size)) fm_l fm_r; 26.02/11.23 } in result where { 26.02/11.23 balance_ok = True; 26.02/11.23 left_ok = left_ok0 fm_l key fm_l; 26.02/11.23 left_ok0 fm_l key EmptyFM = True; 26.02/11.23 left_ok0 fm_l key (Branch left_key yw yx yy yz) = let { 26.02/11.23 biggest_left_key = fst (findMax fm_l); 26.02/11.23 } in biggest_left_key < key; 26.02/11.23 left_size = sizeFM fm_l; 26.02/11.23 right_ok = right_ok0 fm_r key fm_r; 26.02/11.23 right_ok0 fm_r key EmptyFM = True; 26.02/11.23 right_ok0 fm_r key (Branch right_key zu zv zw zx) = let { 26.02/11.23 smallest_right_key = fst (findMin fm_r); 26.02/11.23 } in key < smallest_right_key; 26.02/11.23 right_size = sizeFM fm_r; 26.02/11.23 unbox :: Int -> Int; 26.02/11.23 unbox x = x; 26.02/11.23 }; 26.02/11.23 26.02/11.23 mkVBalBranch :: Ord a => a -> b -> FiniteMap a b -> FiniteMap a b -> FiniteMap a b; 26.02/11.23 mkVBalBranch key elt EmptyFM fm_r = addToFM fm_r key elt; 26.02/11.23 mkVBalBranch key elt fm_l EmptyFM = addToFM fm_l key elt; 26.02/11.23 mkVBalBranch key elt (Branch wv ww wx wy wz) (Branch xv xw xx xy xz) | sIZE_RATIO * size_l < size_r = mkBalBranch xv xw (mkVBalBranch key elt (Branch wv ww wx wy wz) xy) xz 26.02/11.23 | sIZE_RATIO * size_r < size_l = mkBalBranch wv ww wy (mkVBalBranch key elt wz (Branch xv xw xx xy xz)) 26.02/11.23 | otherwise = mkBranch 13 key elt (Branch wv ww wx wy wz) (Branch xv xw xx xy xz) where { 26.02/11.23 size_l = sizeFM (Branch wv ww wx wy wz); 26.02/11.23 size_r = sizeFM (Branch xv xw xx xy xz); 26.02/11.23 }; 26.02/11.23 26.02/11.23 plusFM :: Ord b => FiniteMap b a -> FiniteMap b a -> FiniteMap b a; 26.02/11.23 plusFM EmptyFM fm2 = fm2; 26.02/11.23 plusFM fm1 EmptyFM = fm1; 26.02/11.23 plusFM fm1 (Branch split_key elt1 vz left right) = mkVBalBranch split_key elt1 (plusFM lts left) (plusFM gts right) where { 26.02/11.23 gts = splitGT fm1 split_key; 26.02/11.23 lts = splitLT fm1 split_key; 26.02/11.23 }; 26.02/11.23 26.02/11.23 sIZE_RATIO :: Int; 26.02/11.23 sIZE_RATIO = 5; 26.02/11.23 26.02/11.23 sizeFM :: FiniteMap b a -> Int; 26.02/11.23 sizeFM EmptyFM = 0; 26.02/11.23 sizeFM (Branch vww vwx size vwy vwz) = size; 26.02/11.23 26.02/11.23 splitGT :: Ord b => FiniteMap b a -> b -> FiniteMap b a; 26.02/11.23 splitGT EmptyFM split_key = emptyFM; 26.02/11.23 splitGT (Branch key elt yu fm_l fm_r) split_key | split_key > key = splitGT fm_r split_key 26.02/11.23 | split_key < key = mkVBalBranch key elt (splitGT fm_l split_key) fm_r 26.02/11.23 | otherwise = fm_r; 26.02/11.23 26.02/11.23 splitLT :: Ord a => FiniteMap a b -> a -> FiniteMap a b; 26.02/11.23 splitLT EmptyFM split_key = emptyFM; 26.02/11.23 splitLT (Branch key elt yv fm_l fm_r) split_key | split_key < key = splitLT fm_l split_key 26.02/11.23 | split_key > key = mkVBalBranch key elt fm_l (splitLT fm_r split_key) 26.02/11.23 | otherwise = fm_l; 26.02/11.23 26.02/11.23 unitFM :: a -> b -> FiniteMap a b; 26.02/11.23 unitFM key elt = Branch key elt 1 emptyFM emptyFM; 26.02/11.23 26.02/11.23 } 26.02/11.23 module Maybe where { 26.02/11.23 import qualified FiniteMap; 26.02/11.23 import qualified Main; 26.02/11.23 import qualified Prelude; 26.02/11.23 } 26.02/11.23 module Main where { 26.02/11.23 import qualified FiniteMap; 26.02/11.23 import qualified Maybe; 26.02/11.23 import qualified Prelude; 26.02/11.23 } 26.02/11.23 26.02/11.23 ---------------------------------------- 26.02/11.23 26.02/11.23 (7) COR (EQUIVALENT) 26.02/11.23 Cond Reductions: 26.02/11.23 The following Function with conditions 26.02/11.23 "undefined |Falseundefined; 26.02/11.23 " 26.02/11.23 is transformed to 26.02/11.23 "undefined = undefined1; 26.02/11.23 " 26.02/11.23 "undefined0 True = undefined; 26.02/11.23 " 26.02/11.23 "undefined1 = undefined0 False; 26.02/11.23 " 26.02/11.23 The following Function with conditions 26.02/11.23 "addToFM_C combiner EmptyFM key elt = unitFM key elt; 26.02/11.23 addToFM_C combiner (Branch key elt size fm_l fm_r) new_key new_elt|new_key < keymkBalBranch key elt (addToFM_C combiner fm_l new_key new_elt) fm_r|new_key > keymkBalBranch key elt fm_l (addToFM_C combiner fm_r new_key new_elt)|otherwiseBranch new_key (combiner elt new_elt) size fm_l fm_r; 27.17/11.47 " 27.17/11.47 is transformed to 27.17/11.47 "addToFM_C combiner EmptyFM key elt = addToFM_C4 combiner EmptyFM key elt; 27.17/11.47 addToFM_C combiner (Branch key elt size fm_l fm_r) new_key new_elt = addToFM_C3 combiner (Branch key elt size fm_l fm_r) new_key new_elt; 27.17/11.47 " 27.17/11.47 "addToFM_C2 combiner key elt size fm_l fm_r new_key new_elt True = mkBalBranch key elt (addToFM_C combiner fm_l new_key new_elt) fm_r; 27.17/11.47 addToFM_C2 combiner key elt size fm_l fm_r new_key new_elt False = addToFM_C1 combiner key elt size fm_l fm_r new_key new_elt (new_key > key); 27.17/11.47 " 27.17/11.47 "addToFM_C0 combiner key elt size fm_l fm_r new_key new_elt True = Branch new_key (combiner elt new_elt) size fm_l fm_r; 27.17/11.47 " 27.17/11.47 "addToFM_C1 combiner key elt size fm_l fm_r new_key new_elt True = mkBalBranch key elt fm_l (addToFM_C combiner fm_r new_key new_elt); 27.17/11.47 addToFM_C1 combiner key elt size fm_l fm_r new_key new_elt False = addToFM_C0 combiner key elt size fm_l fm_r new_key new_elt otherwise; 27.17/11.47 " 27.17/11.47 "addToFM_C3 combiner (Branch key elt size fm_l fm_r) new_key new_elt = addToFM_C2 combiner key elt size fm_l fm_r new_key new_elt (new_key < key); 27.17/11.47 " 27.17/11.47 "addToFM_C4 combiner EmptyFM key elt = unitFM key elt; 27.17/11.47 addToFM_C4 vyu vyv vyw vyx = addToFM_C3 vyu vyv vyw vyx; 27.17/11.47 " 27.17/11.47 The following Function with conditions 27.17/11.47 "mkVBalBranch key elt EmptyFM fm_r = addToFM fm_r key elt; 27.17/11.47 mkVBalBranch key elt fm_l EmptyFM = addToFM fm_l key elt; 27.17/11.47 mkVBalBranch key elt (Branch wv ww wx wy wz) (Branch xv xw xx xy xz)|sIZE_RATIO * size_l < size_rmkBalBranch xv xw (mkVBalBranch key elt (Branch wv ww wx wy wz) xy) xz|sIZE_RATIO * size_r < size_lmkBalBranch wv ww wy (mkVBalBranch key elt wz (Branch xv xw xx xy xz))|otherwisemkBranch 13 key elt (Branch wv ww wx wy wz) (Branch xv xw xx xy xz) where { 27.17/11.47 size_l = sizeFM (Branch wv ww wx wy wz); 27.17/11.47 ; 27.17/11.47 size_r = sizeFM (Branch xv xw xx xy xz); 27.17/11.47 } 27.17/11.47 ; 27.17/11.47 " 27.17/11.47 is transformed to 27.17/11.47 "mkVBalBranch key elt EmptyFM fm_r = mkVBalBranch5 key elt EmptyFM fm_r; 27.17/11.47 mkVBalBranch key elt fm_l EmptyFM = mkVBalBranch4 key elt fm_l EmptyFM; 27.17/11.47 mkVBalBranch key elt (Branch wv ww wx wy wz) (Branch xv xw xx xy xz) = mkVBalBranch3 key elt (Branch wv ww wx wy wz) (Branch xv xw xx xy xz); 27.17/11.47 " 27.17/11.47 "mkVBalBranch3 key elt (Branch wv ww wx wy wz) (Branch xv xw xx xy xz) = mkVBalBranch2 key elt wv ww wx wy wz xv xw xx xy xz (sIZE_RATIO * size_l < size_r) where { 27.17/11.47 mkVBalBranch0 key elt wv ww wx wy wz xv xw xx xy xz True = mkBranch 13 key elt (Branch wv ww wx wy wz) (Branch xv xw xx xy xz); 27.17/11.47 ; 27.17/11.47 mkVBalBranch1 key elt wv ww wx wy wz xv xw xx xy xz True = mkBalBranch wv ww wy (mkVBalBranch key elt wz (Branch xv xw xx xy xz)); 27.17/11.47 mkVBalBranch1 key elt wv ww wx wy wz xv xw xx xy xz False = mkVBalBranch0 key elt wv ww wx wy wz xv xw xx xy xz otherwise; 27.17/11.47 ; 27.17/11.47 mkVBalBranch2 key elt wv ww wx wy wz xv xw xx xy xz True = mkBalBranch xv xw (mkVBalBranch key elt (Branch wv ww wx wy wz) xy) xz; 27.17/11.47 mkVBalBranch2 key elt wv ww wx wy wz xv xw xx xy xz False = mkVBalBranch1 key elt wv ww wx wy wz xv xw xx xy xz (sIZE_RATIO * size_r < size_l); 27.17/11.47 ; 27.17/11.47 size_l = sizeFM (Branch wv ww wx wy wz); 27.17/11.47 ; 27.17/11.47 size_r = sizeFM (Branch xv xw xx xy xz); 27.17/11.47 } 27.17/11.47 ; 27.17/11.47 " 27.17/11.47 "mkVBalBranch4 key elt fm_l EmptyFM = addToFM fm_l key elt; 27.17/11.47 mkVBalBranch4 vzv vzw vzx vzy = mkVBalBranch3 vzv vzw vzx vzy; 27.17/11.47 " 27.17/11.47 "mkVBalBranch5 key elt EmptyFM fm_r = addToFM fm_r key elt; 27.17/11.47 mkVBalBranch5 wuu wuv wuw wux = mkVBalBranch4 wuu wuv wuw wux; 27.17/11.47 " 27.17/11.47 The following Function with conditions 27.17/11.47 "splitGT EmptyFM split_key = emptyFM; 27.17/11.47 splitGT (Branch key elt yu fm_l fm_r) split_key|split_key > keysplitGT fm_r split_key|split_key < keymkVBalBranch key elt (splitGT fm_l split_key) fm_r|otherwisefm_r; 27.17/11.47 " 27.17/11.47 is transformed to 27.17/11.47 "splitGT EmptyFM split_key = splitGT4 EmptyFM split_key; 27.17/11.47 splitGT (Branch key elt yu fm_l fm_r) split_key = splitGT3 (Branch key elt yu fm_l fm_r) split_key; 27.17/11.47 " 27.17/11.47 "splitGT1 key elt yu fm_l fm_r split_key True = mkVBalBranch key elt (splitGT fm_l split_key) fm_r; 27.17/11.47 splitGT1 key elt yu fm_l fm_r split_key False = splitGT0 key elt yu fm_l fm_r split_key otherwise; 27.17/11.47 " 27.17/11.47 "splitGT2 key elt yu fm_l fm_r split_key True = splitGT fm_r split_key; 27.17/11.47 splitGT2 key elt yu fm_l fm_r split_key False = splitGT1 key elt yu fm_l fm_r split_key (split_key < key); 27.17/11.47 " 27.17/11.47 "splitGT0 key elt yu fm_l fm_r split_key True = fm_r; 27.17/11.47 " 27.17/11.47 "splitGT3 (Branch key elt yu fm_l fm_r) split_key = splitGT2 key elt yu fm_l fm_r split_key (split_key > key); 27.17/11.47 " 27.17/11.47 "splitGT4 EmptyFM split_key = emptyFM; 27.17/11.47 splitGT4 wvu wvv = splitGT3 wvu wvv; 27.17/11.47 " 27.17/11.47 The following Function with conditions 27.17/11.47 "splitLT EmptyFM split_key = emptyFM; 27.17/11.47 splitLT (Branch key elt yv fm_l fm_r) split_key|split_key < keysplitLT fm_l split_key|split_key > keymkVBalBranch key elt fm_l (splitLT fm_r split_key)|otherwisefm_l; 27.17/11.47 " 27.17/11.47 is transformed to 27.17/11.47 "splitLT EmptyFM split_key = splitLT4 EmptyFM split_key; 27.17/11.47 splitLT (Branch key elt yv fm_l fm_r) split_key = splitLT3 (Branch key elt yv fm_l fm_r) split_key; 27.17/11.47 " 27.17/11.47 "splitLT2 key elt yv fm_l fm_r split_key True = splitLT fm_l split_key; 27.17/11.47 splitLT2 key elt yv fm_l fm_r split_key False = splitLT1 key elt yv fm_l fm_r split_key (split_key > key); 27.17/11.47 " 27.17/11.47 "splitLT1 key elt yv fm_l fm_r split_key True = mkVBalBranch key elt fm_l (splitLT fm_r split_key); 27.17/11.47 splitLT1 key elt yv fm_l fm_r split_key False = splitLT0 key elt yv fm_l fm_r split_key otherwise; 27.17/11.47 " 27.17/11.47 "splitLT0 key elt yv fm_l fm_r split_key True = fm_l; 27.17/11.47 " 27.17/11.47 "splitLT3 (Branch key elt yv fm_l fm_r) split_key = splitLT2 key elt yv fm_l fm_r split_key (split_key < key); 27.17/11.47 " 27.17/11.47 "splitLT4 EmptyFM split_key = emptyFM; 27.17/11.47 splitLT4 wvy wvz = splitLT3 wvy wvz; 27.17/11.47 " 27.17/11.47 The following Function with conditions 27.17/11.47 "mkBalBranch1 fm_L fm_R (Branch vuz vvu vvv fm_ll fm_lr)|sizeFM fm_lr < 2 * sizeFM fm_llsingle_R fm_L fm_R|otherwisedouble_R fm_L fm_R; 27.17/11.47 " 27.17/11.47 is transformed to 27.17/11.47 "mkBalBranch1 fm_L fm_R (Branch vuz vvu vvv fm_ll fm_lr) = mkBalBranch12 fm_L fm_R (Branch vuz vvu vvv fm_ll fm_lr); 27.17/11.47 " 27.17/11.47 "mkBalBranch11 fm_L fm_R vuz vvu vvv fm_ll fm_lr True = single_R fm_L fm_R; 27.17/11.47 mkBalBranch11 fm_L fm_R vuz vvu vvv fm_ll fm_lr False = mkBalBranch10 fm_L fm_R vuz vvu vvv fm_ll fm_lr otherwise; 27.17/11.48 " 27.17/11.48 "mkBalBranch10 fm_L fm_R vuz vvu vvv fm_ll fm_lr True = double_R fm_L fm_R; 27.17/11.48 " 27.17/11.48 "mkBalBranch12 fm_L fm_R (Branch vuz vvu vvv fm_ll fm_lr) = mkBalBranch11 fm_L fm_R vuz vvu vvv fm_ll fm_lr (sizeFM fm_lr < 2 * sizeFM fm_ll); 27.17/11.48 " 27.17/11.48 The following Function with conditions 27.17/11.48 "mkBalBranch0 fm_L fm_R (Branch vvy vvz vwu fm_rl fm_rr)|sizeFM fm_rl < 2 * sizeFM fm_rrsingle_L fm_L fm_R|otherwisedouble_L fm_L fm_R; 27.17/11.48 " 27.17/11.48 is transformed to 27.17/11.48 "mkBalBranch0 fm_L fm_R (Branch vvy vvz vwu fm_rl fm_rr) = mkBalBranch02 fm_L fm_R (Branch vvy vvz vwu fm_rl fm_rr); 27.17/11.48 " 27.17/11.48 "mkBalBranch01 fm_L fm_R vvy vvz vwu fm_rl fm_rr True = single_L fm_L fm_R; 27.17/11.48 mkBalBranch01 fm_L fm_R vvy vvz vwu fm_rl fm_rr False = mkBalBranch00 fm_L fm_R vvy vvz vwu fm_rl fm_rr otherwise; 27.17/11.48 " 27.17/11.48 "mkBalBranch00 fm_L fm_R vvy vvz vwu fm_rl fm_rr True = double_L fm_L fm_R; 27.17/11.48 " 27.17/11.48 "mkBalBranch02 fm_L fm_R (Branch vvy vvz vwu fm_rl fm_rr) = mkBalBranch01 fm_L fm_R vvy vvz vwu fm_rl fm_rr (sizeFM fm_rl < 2 * sizeFM fm_rr); 27.17/11.48 " 27.17/11.48 The following Function with conditions 27.17/11.48 "mkBalBranch key elt fm_L fm_R|size_l + size_r < 2mkBranch 1 key elt fm_L fm_R|size_r > sIZE_RATIO * size_lmkBalBranch0 fm_L fm_R fm_R|size_l > sIZE_RATIO * size_rmkBalBranch1 fm_L fm_R fm_L|otherwisemkBranch 2 key elt fm_L fm_R where { 27.17/11.48 double_L fm_l (Branch key_r elt_r vvw (Branch key_rl elt_rl vvx fm_rll fm_rlr) fm_rr) = mkBranch 5 key_rl elt_rl (mkBranch 6 key elt fm_l fm_rll) (mkBranch 7 key_r elt_r fm_rlr fm_rr); 27.17/11.48 ; 27.17/11.48 double_R (Branch key_l elt_l vux fm_ll (Branch key_lr elt_lr vuy fm_lrl fm_lrr)) fm_r = mkBranch 10 key_lr elt_lr (mkBranch 11 key_l elt_l fm_ll fm_lrl) (mkBranch 12 key elt fm_lrr fm_r); 27.17/11.48 ; 27.17/11.48 mkBalBranch0 fm_L fm_R (Branch vvy vvz vwu fm_rl fm_rr)|sizeFM fm_rl < 2 * sizeFM fm_rrsingle_L fm_L fm_R|otherwisedouble_L fm_L fm_R; 27.17/11.48 ; 27.17/11.48 mkBalBranch1 fm_L fm_R (Branch vuz vvu vvv fm_ll fm_lr)|sizeFM fm_lr < 2 * sizeFM fm_llsingle_R fm_L fm_R|otherwisedouble_R fm_L fm_R; 27.17/11.48 ; 27.17/11.48 single_L fm_l (Branch key_r elt_r vwv fm_rl fm_rr) = mkBranch 3 key_r elt_r (mkBranch 4 key elt fm_l fm_rl) fm_rr; 27.17/11.48 ; 27.17/11.48 single_R (Branch key_l elt_l vuw fm_ll fm_lr) fm_r = mkBranch 8 key_l elt_l fm_ll (mkBranch 9 key elt fm_lr fm_r); 27.17/11.48 ; 27.17/11.48 size_l = sizeFM fm_L; 27.17/11.48 ; 27.17/11.48 size_r = sizeFM fm_R; 27.17/11.48 } 27.17/11.48 ; 27.17/11.48 " 27.17/11.48 is transformed to 27.17/11.48 "mkBalBranch key elt fm_L fm_R = mkBalBranch6 key elt fm_L fm_R; 27.17/11.48 " 27.17/11.48 "mkBalBranch6 key elt fm_L fm_R = mkBalBranch5 key elt fm_L fm_R (size_l + size_r < 2) where { 27.17/11.48 double_L fm_l (Branch key_r elt_r vvw (Branch key_rl elt_rl vvx fm_rll fm_rlr) fm_rr) = mkBranch 5 key_rl elt_rl (mkBranch 6 key elt fm_l fm_rll) (mkBranch 7 key_r elt_r fm_rlr fm_rr); 27.17/11.48 ; 27.17/11.48 double_R (Branch key_l elt_l vux fm_ll (Branch key_lr elt_lr vuy fm_lrl fm_lrr)) fm_r = mkBranch 10 key_lr elt_lr (mkBranch 11 key_l elt_l fm_ll fm_lrl) (mkBranch 12 key elt fm_lrr fm_r); 27.17/11.48 ; 27.17/11.48 mkBalBranch0 fm_L fm_R (Branch vvy vvz vwu fm_rl fm_rr) = mkBalBranch02 fm_L fm_R (Branch vvy vvz vwu fm_rl fm_rr); 27.17/11.48 ; 27.17/11.48 mkBalBranch00 fm_L fm_R vvy vvz vwu fm_rl fm_rr True = double_L fm_L fm_R; 27.17/11.48 ; 27.17/11.48 mkBalBranch01 fm_L fm_R vvy vvz vwu fm_rl fm_rr True = single_L fm_L fm_R; 27.17/11.48 mkBalBranch01 fm_L fm_R vvy vvz vwu fm_rl fm_rr False = mkBalBranch00 fm_L fm_R vvy vvz vwu fm_rl fm_rr otherwise; 27.17/11.48 ; 27.17/11.48 mkBalBranch02 fm_L fm_R (Branch vvy vvz vwu fm_rl fm_rr) = mkBalBranch01 fm_L fm_R vvy vvz vwu fm_rl fm_rr (sizeFM fm_rl < 2 * sizeFM fm_rr); 27.17/11.48 ; 27.17/11.48 mkBalBranch1 fm_L fm_R (Branch vuz vvu vvv fm_ll fm_lr) = mkBalBranch12 fm_L fm_R (Branch vuz vvu vvv fm_ll fm_lr); 27.17/11.48 ; 27.17/11.48 mkBalBranch10 fm_L fm_R vuz vvu vvv fm_ll fm_lr True = double_R fm_L fm_R; 27.17/11.48 ; 27.17/11.48 mkBalBranch11 fm_L fm_R vuz vvu vvv fm_ll fm_lr True = single_R fm_L fm_R; 27.17/11.48 mkBalBranch11 fm_L fm_R vuz vvu vvv fm_ll fm_lr False = mkBalBranch10 fm_L fm_R vuz vvu vvv fm_ll fm_lr otherwise; 27.17/11.48 ; 27.17/11.48 mkBalBranch12 fm_L fm_R (Branch vuz vvu vvv fm_ll fm_lr) = mkBalBranch11 fm_L fm_R vuz vvu vvv fm_ll fm_lr (sizeFM fm_lr < 2 * sizeFM fm_ll); 27.17/11.48 ; 27.17/11.48 mkBalBranch2 key elt fm_L fm_R True = mkBranch 2 key elt fm_L fm_R; 27.17/11.48 ; 27.17/11.48 mkBalBranch3 key elt fm_L fm_R True = mkBalBranch1 fm_L fm_R fm_L; 27.17/11.48 mkBalBranch3 key elt fm_L fm_R False = mkBalBranch2 key elt fm_L fm_R otherwise; 27.17/11.48 ; 27.17/11.48 mkBalBranch4 key elt fm_L fm_R True = mkBalBranch0 fm_L fm_R fm_R; 27.17/11.48 mkBalBranch4 key elt fm_L fm_R False = mkBalBranch3 key elt fm_L fm_R (size_l > sIZE_RATIO * size_r); 27.17/11.48 ; 27.17/11.48 mkBalBranch5 key elt fm_L fm_R True = mkBranch 1 key elt fm_L fm_R; 27.17/11.48 mkBalBranch5 key elt fm_L fm_R False = mkBalBranch4 key elt fm_L fm_R (size_r > sIZE_RATIO * size_l); 27.17/11.48 ; 27.17/11.48 single_L fm_l (Branch key_r elt_r vwv fm_rl fm_rr) = mkBranch 3 key_r elt_r (mkBranch 4 key elt fm_l fm_rl) fm_rr; 27.17/11.48 ; 27.17/11.48 single_R (Branch key_l elt_l vuw fm_ll fm_lr) fm_r = mkBranch 8 key_l elt_l fm_ll (mkBranch 9 key elt fm_lr fm_r); 27.17/11.48 ; 27.17/11.48 size_l = sizeFM fm_L; 27.17/11.48 ; 27.17/11.48 size_r = sizeFM fm_R; 27.17/11.48 } 27.17/11.48 ; 27.17/11.48 " 27.17/11.48 27.17/11.48 ---------------------------------------- 27.17/11.48 27.17/11.48 (8) 27.17/11.48 Obligation: 27.17/11.48 mainModule Main 27.17/11.48 module FiniteMap where { 27.17/11.48 import qualified Main; 27.17/11.48 import qualified Maybe; 27.17/11.48 import qualified Prelude; 27.17/11.48 data FiniteMap a b = EmptyFM | Branch a b Int (FiniteMap a b) (FiniteMap a b) ; 27.17/11.48 27.17/11.48 instance (Eq a, Eq b) => Eq FiniteMap b a where { 27.17/11.48 } 27.17/11.48 addToFM :: Ord a => FiniteMap a b -> a -> b -> FiniteMap a b; 27.17/11.48 addToFM fm key elt = addToFM_C addToFM0 fm key elt; 27.17/11.48 27.17/11.48 addToFM0 old new = new; 27.17/11.48 27.17/11.48 addToFM_C :: Ord a => (b -> b -> b) -> FiniteMap a b -> a -> b -> FiniteMap a b; 27.17/11.48 addToFM_C combiner EmptyFM key elt = addToFM_C4 combiner EmptyFM key elt; 27.17/11.48 addToFM_C combiner (Branch key elt size fm_l fm_r) new_key new_elt = addToFM_C3 combiner (Branch key elt size fm_l fm_r) new_key new_elt; 27.17/11.48 27.17/11.48 addToFM_C0 combiner key elt size fm_l fm_r new_key new_elt True = Branch new_key (combiner elt new_elt) size fm_l fm_r; 27.17/11.48 27.17/11.48 addToFM_C1 combiner key elt size fm_l fm_r new_key new_elt True = mkBalBranch key elt fm_l (addToFM_C combiner fm_r new_key new_elt); 27.17/11.48 addToFM_C1 combiner key elt size fm_l fm_r new_key new_elt False = addToFM_C0 combiner key elt size fm_l fm_r new_key new_elt otherwise; 27.17/11.48 27.17/11.48 addToFM_C2 combiner key elt size fm_l fm_r new_key new_elt True = mkBalBranch key elt (addToFM_C combiner fm_l new_key new_elt) fm_r; 27.17/11.48 addToFM_C2 combiner key elt size fm_l fm_r new_key new_elt False = addToFM_C1 combiner key elt size fm_l fm_r new_key new_elt (new_key > key); 27.17/11.48 27.17/11.48 addToFM_C3 combiner (Branch key elt size fm_l fm_r) new_key new_elt = addToFM_C2 combiner key elt size fm_l fm_r new_key new_elt (new_key < key); 27.17/11.48 27.17/11.48 addToFM_C4 combiner EmptyFM key elt = unitFM key elt; 27.17/11.48 addToFM_C4 vyu vyv vyw vyx = addToFM_C3 vyu vyv vyw vyx; 27.17/11.48 27.17/11.48 emptyFM :: FiniteMap b a; 27.17/11.48 emptyFM = EmptyFM; 27.17/11.48 27.17/11.48 findMax :: FiniteMap b a -> (b,a); 27.17/11.48 findMax (Branch key elt zy zz EmptyFM) = (key,elt); 27.17/11.48 findMax (Branch key elt vuu vuv fm_r) = findMax fm_r; 27.17/11.48 27.17/11.48 findMin :: FiniteMap b a -> (b,a); 27.17/11.48 findMin (Branch key elt vxu EmptyFM vxv) = (key,elt); 27.17/11.48 findMin (Branch key elt vxw fm_l vxx) = findMin fm_l; 27.17/11.48 27.17/11.48 mkBalBranch :: Ord b => b -> a -> FiniteMap b a -> FiniteMap b a -> FiniteMap b a; 27.17/11.48 mkBalBranch key elt fm_L fm_R = mkBalBranch6 key elt fm_L fm_R; 27.17/11.48 27.17/11.48 mkBalBranch6 key elt fm_L fm_R = mkBalBranch5 key elt fm_L fm_R (size_l + size_r < 2) where { 27.17/11.48 double_L fm_l (Branch key_r elt_r vvw (Branch key_rl elt_rl vvx fm_rll fm_rlr) fm_rr) = mkBranch 5 key_rl elt_rl (mkBranch 6 key elt fm_l fm_rll) (mkBranch 7 key_r elt_r fm_rlr fm_rr); 27.17/11.48 double_R (Branch key_l elt_l vux fm_ll (Branch key_lr elt_lr vuy fm_lrl fm_lrr)) fm_r = mkBranch 10 key_lr elt_lr (mkBranch 11 key_l elt_l fm_ll fm_lrl) (mkBranch 12 key elt fm_lrr fm_r); 27.17/11.48 mkBalBranch0 fm_L fm_R (Branch vvy vvz vwu fm_rl fm_rr) = mkBalBranch02 fm_L fm_R (Branch vvy vvz vwu fm_rl fm_rr); 27.17/11.48 mkBalBranch00 fm_L fm_R vvy vvz vwu fm_rl fm_rr True = double_L fm_L fm_R; 27.17/11.48 mkBalBranch01 fm_L fm_R vvy vvz vwu fm_rl fm_rr True = single_L fm_L fm_R; 27.17/11.48 mkBalBranch01 fm_L fm_R vvy vvz vwu fm_rl fm_rr False = mkBalBranch00 fm_L fm_R vvy vvz vwu fm_rl fm_rr otherwise; 27.17/11.48 mkBalBranch02 fm_L fm_R (Branch vvy vvz vwu fm_rl fm_rr) = mkBalBranch01 fm_L fm_R vvy vvz vwu fm_rl fm_rr (sizeFM fm_rl < 2 * sizeFM fm_rr); 27.17/11.48 mkBalBranch1 fm_L fm_R (Branch vuz vvu vvv fm_ll fm_lr) = mkBalBranch12 fm_L fm_R (Branch vuz vvu vvv fm_ll fm_lr); 27.17/11.48 mkBalBranch10 fm_L fm_R vuz vvu vvv fm_ll fm_lr True = double_R fm_L fm_R; 27.17/11.48 mkBalBranch11 fm_L fm_R vuz vvu vvv fm_ll fm_lr True = single_R fm_L fm_R; 27.17/11.48 mkBalBranch11 fm_L fm_R vuz vvu vvv fm_ll fm_lr False = mkBalBranch10 fm_L fm_R vuz vvu vvv fm_ll fm_lr otherwise; 27.17/11.48 mkBalBranch12 fm_L fm_R (Branch vuz vvu vvv fm_ll fm_lr) = mkBalBranch11 fm_L fm_R vuz vvu vvv fm_ll fm_lr (sizeFM fm_lr < 2 * sizeFM fm_ll); 27.17/11.48 mkBalBranch2 key elt fm_L fm_R True = mkBranch 2 key elt fm_L fm_R; 27.17/11.48 mkBalBranch3 key elt fm_L fm_R True = mkBalBranch1 fm_L fm_R fm_L; 27.17/11.48 mkBalBranch3 key elt fm_L fm_R False = mkBalBranch2 key elt fm_L fm_R otherwise; 27.17/11.48 mkBalBranch4 key elt fm_L fm_R True = mkBalBranch0 fm_L fm_R fm_R; 27.17/11.48 mkBalBranch4 key elt fm_L fm_R False = mkBalBranch3 key elt fm_L fm_R (size_l > sIZE_RATIO * size_r); 27.17/11.48 mkBalBranch5 key elt fm_L fm_R True = mkBranch 1 key elt fm_L fm_R; 27.17/11.48 mkBalBranch5 key elt fm_L fm_R False = mkBalBranch4 key elt fm_L fm_R (size_r > sIZE_RATIO * size_l); 27.17/11.48 single_L fm_l (Branch key_r elt_r vwv fm_rl fm_rr) = mkBranch 3 key_r elt_r (mkBranch 4 key elt fm_l fm_rl) fm_rr; 27.17/11.48 single_R (Branch key_l elt_l vuw fm_ll fm_lr) fm_r = mkBranch 8 key_l elt_l fm_ll (mkBranch 9 key elt fm_lr fm_r); 27.17/11.48 size_l = sizeFM fm_L; 27.17/11.48 size_r = sizeFM fm_R; 27.17/11.48 }; 27.17/11.48 27.17/11.48 mkBranch :: Ord b => Int -> b -> a -> FiniteMap b a -> FiniteMap b a -> FiniteMap b a; 27.17/11.48 mkBranch which key elt fm_l fm_r = let { 27.17/11.48 result = Branch key elt (unbox (1 + left_size + right_size)) fm_l fm_r; 27.17/11.48 } in result where { 27.17/11.48 balance_ok = True; 27.17/11.48 left_ok = left_ok0 fm_l key fm_l; 27.17/11.48 left_ok0 fm_l key EmptyFM = True; 27.17/11.48 left_ok0 fm_l key (Branch left_key yw yx yy yz) = let { 27.17/11.48 biggest_left_key = fst (findMax fm_l); 27.17/11.48 } in biggest_left_key < key; 27.17/11.48 left_size = sizeFM fm_l; 27.17/11.48 right_ok = right_ok0 fm_r key fm_r; 27.17/11.48 right_ok0 fm_r key EmptyFM = True; 27.17/11.48 right_ok0 fm_r key (Branch right_key zu zv zw zx) = let { 27.17/11.48 smallest_right_key = fst (findMin fm_r); 27.17/11.48 } in key < smallest_right_key; 27.17/11.48 right_size = sizeFM fm_r; 27.17/11.48 unbox :: Int -> Int; 27.17/11.48 unbox x = x; 27.17/11.48 }; 27.17/11.48 27.17/11.48 mkVBalBranch :: Ord a => a -> b -> FiniteMap a b -> FiniteMap a b -> FiniteMap a b; 27.17/11.48 mkVBalBranch key elt EmptyFM fm_r = mkVBalBranch5 key elt EmptyFM fm_r; 27.17/11.48 mkVBalBranch key elt fm_l EmptyFM = mkVBalBranch4 key elt fm_l EmptyFM; 27.17/11.48 mkVBalBranch key elt (Branch wv ww wx wy wz) (Branch xv xw xx xy xz) = mkVBalBranch3 key elt (Branch wv ww wx wy wz) (Branch xv xw xx xy xz); 27.17/11.48 27.17/11.48 mkVBalBranch3 key elt (Branch wv ww wx wy wz) (Branch xv xw xx xy xz) = mkVBalBranch2 key elt wv ww wx wy wz xv xw xx xy xz (sIZE_RATIO * size_l < size_r) where { 27.17/11.48 mkVBalBranch0 key elt wv ww wx wy wz xv xw xx xy xz True = mkBranch 13 key elt (Branch wv ww wx wy wz) (Branch xv xw xx xy xz); 27.17/11.48 mkVBalBranch1 key elt wv ww wx wy wz xv xw xx xy xz True = mkBalBranch wv ww wy (mkVBalBranch key elt wz (Branch xv xw xx xy xz)); 27.17/11.48 mkVBalBranch1 key elt wv ww wx wy wz xv xw xx xy xz False = mkVBalBranch0 key elt wv ww wx wy wz xv xw xx xy xz otherwise; 27.17/11.48 mkVBalBranch2 key elt wv ww wx wy wz xv xw xx xy xz True = mkBalBranch xv xw (mkVBalBranch key elt (Branch wv ww wx wy wz) xy) xz; 27.17/11.48 mkVBalBranch2 key elt wv ww wx wy wz xv xw xx xy xz False = mkVBalBranch1 key elt wv ww wx wy wz xv xw xx xy xz (sIZE_RATIO * size_r < size_l); 27.17/11.48 size_l = sizeFM (Branch wv ww wx wy wz); 27.17/11.48 size_r = sizeFM (Branch xv xw xx xy xz); 27.17/11.48 }; 27.17/11.48 27.17/11.48 mkVBalBranch4 key elt fm_l EmptyFM = addToFM fm_l key elt; 27.17/11.48 mkVBalBranch4 vzv vzw vzx vzy = mkVBalBranch3 vzv vzw vzx vzy; 27.17/11.48 27.17/11.48 mkVBalBranch5 key elt EmptyFM fm_r = addToFM fm_r key elt; 27.17/11.48 mkVBalBranch5 wuu wuv wuw wux = mkVBalBranch4 wuu wuv wuw wux; 27.17/11.48 27.17/11.48 plusFM :: Ord b => FiniteMap b a -> FiniteMap b a -> FiniteMap b a; 27.17/11.48 plusFM EmptyFM fm2 = fm2; 27.17/11.48 plusFM fm1 EmptyFM = fm1; 27.17/11.48 plusFM fm1 (Branch split_key elt1 vz left right) = mkVBalBranch split_key elt1 (plusFM lts left) (plusFM gts right) where { 27.17/11.48 gts = splitGT fm1 split_key; 27.17/11.48 lts = splitLT fm1 split_key; 27.17/11.48 }; 27.17/11.48 27.17/11.48 sIZE_RATIO :: Int; 27.17/11.48 sIZE_RATIO = 5; 27.17/11.48 27.17/11.48 sizeFM :: FiniteMap b a -> Int; 27.17/11.48 sizeFM EmptyFM = 0; 27.17/11.48 sizeFM (Branch vww vwx size vwy vwz) = size; 27.17/11.48 27.17/11.48 splitGT :: Ord b => FiniteMap b a -> b -> FiniteMap b a; 27.17/11.48 splitGT EmptyFM split_key = splitGT4 EmptyFM split_key; 27.17/11.48 splitGT (Branch key elt yu fm_l fm_r) split_key = splitGT3 (Branch key elt yu fm_l fm_r) split_key; 27.17/11.48 27.17/11.48 splitGT0 key elt yu fm_l fm_r split_key True = fm_r; 27.17/11.48 27.17/11.48 splitGT1 key elt yu fm_l fm_r split_key True = mkVBalBranch key elt (splitGT fm_l split_key) fm_r; 27.17/11.48 splitGT1 key elt yu fm_l fm_r split_key False = splitGT0 key elt yu fm_l fm_r split_key otherwise; 27.17/11.48 27.17/11.48 splitGT2 key elt yu fm_l fm_r split_key True = splitGT fm_r split_key; 27.17/11.48 splitGT2 key elt yu fm_l fm_r split_key False = splitGT1 key elt yu fm_l fm_r split_key (split_key < key); 27.17/11.48 27.17/11.48 splitGT3 (Branch key elt yu fm_l fm_r) split_key = splitGT2 key elt yu fm_l fm_r split_key (split_key > key); 27.17/11.48 27.17/11.48 splitGT4 EmptyFM split_key = emptyFM; 27.17/11.48 splitGT4 wvu wvv = splitGT3 wvu wvv; 27.17/11.48 27.17/11.48 splitLT :: Ord b => FiniteMap b a -> b -> FiniteMap b a; 27.17/11.48 splitLT EmptyFM split_key = splitLT4 EmptyFM split_key; 27.17/11.48 splitLT (Branch key elt yv fm_l fm_r) split_key = splitLT3 (Branch key elt yv fm_l fm_r) split_key; 27.17/11.48 27.17/11.48 splitLT0 key elt yv fm_l fm_r split_key True = fm_l; 27.17/11.48 27.17/11.48 splitLT1 key elt yv fm_l fm_r split_key True = mkVBalBranch key elt fm_l (splitLT fm_r split_key); 27.17/11.48 splitLT1 key elt yv fm_l fm_r split_key False = splitLT0 key elt yv fm_l fm_r split_key otherwise; 27.17/11.48 27.17/11.48 splitLT2 key elt yv fm_l fm_r split_key True = splitLT fm_l split_key; 27.17/11.48 splitLT2 key elt yv fm_l fm_r split_key False = splitLT1 key elt yv fm_l fm_r split_key (split_key > key); 27.17/11.48 27.17/11.48 splitLT3 (Branch key elt yv fm_l fm_r) split_key = splitLT2 key elt yv fm_l fm_r split_key (split_key < key); 27.17/11.48 27.17/11.48 splitLT4 EmptyFM split_key = emptyFM; 27.17/11.48 splitLT4 wvy wvz = splitLT3 wvy wvz; 27.17/11.48 27.17/11.48 unitFM :: a -> b -> FiniteMap a b; 27.17/11.48 unitFM key elt = Branch key elt 1 emptyFM emptyFM; 27.17/11.48 27.17/11.48 } 27.17/11.48 module Maybe where { 27.17/11.48 import qualified FiniteMap; 27.17/11.48 import qualified Main; 27.17/11.48 import qualified Prelude; 27.17/11.48 } 27.17/11.48 module Main where { 27.17/11.48 import qualified FiniteMap; 27.17/11.48 import qualified Maybe; 27.17/11.48 import qualified Prelude; 27.17/11.48 } 27.17/11.48 27.17/11.48 ---------------------------------------- 27.17/11.48 27.17/11.48 (9) LetRed (EQUIVALENT) 27.17/11.48 Let/Where Reductions: 27.17/11.48 The bindings of the following Let/Where expression 27.17/11.48 "mkBalBranch5 key elt fm_L fm_R (size_l + size_r < 2) where { 27.17/11.48 double_L fm_l (Branch key_r elt_r vvw (Branch key_rl elt_rl vvx fm_rll fm_rlr) fm_rr) = mkBranch 5 key_rl elt_rl (mkBranch 6 key elt fm_l fm_rll) (mkBranch 7 key_r elt_r fm_rlr fm_rr); 27.17/11.48 ; 27.17/11.48 double_R (Branch key_l elt_l vux fm_ll (Branch key_lr elt_lr vuy fm_lrl fm_lrr)) fm_r = mkBranch 10 key_lr elt_lr (mkBranch 11 key_l elt_l fm_ll fm_lrl) (mkBranch 12 key elt fm_lrr fm_r); 27.17/11.48 ; 27.17/11.48 mkBalBranch0 fm_L fm_R (Branch vvy vvz vwu fm_rl fm_rr) = mkBalBranch02 fm_L fm_R (Branch vvy vvz vwu fm_rl fm_rr); 27.17/11.48 ; 27.17/11.48 mkBalBranch00 fm_L fm_R vvy vvz vwu fm_rl fm_rr True = double_L fm_L fm_R; 27.17/11.48 ; 27.17/11.48 mkBalBranch01 fm_L fm_R vvy vvz vwu fm_rl fm_rr True = single_L fm_L fm_R; 27.17/11.48 mkBalBranch01 fm_L fm_R vvy vvz vwu fm_rl fm_rr False = mkBalBranch00 fm_L fm_R vvy vvz vwu fm_rl fm_rr otherwise; 27.17/11.48 ; 27.17/11.48 mkBalBranch02 fm_L fm_R (Branch vvy vvz vwu fm_rl fm_rr) = mkBalBranch01 fm_L fm_R vvy vvz vwu fm_rl fm_rr (sizeFM fm_rl < 2 * sizeFM fm_rr); 27.17/11.48 ; 27.17/11.48 mkBalBranch1 fm_L fm_R (Branch vuz vvu vvv fm_ll fm_lr) = mkBalBranch12 fm_L fm_R (Branch vuz vvu vvv fm_ll fm_lr); 27.17/11.48 ; 27.17/11.48 mkBalBranch10 fm_L fm_R vuz vvu vvv fm_ll fm_lr True = double_R fm_L fm_R; 27.17/11.48 ; 27.17/11.48 mkBalBranch11 fm_L fm_R vuz vvu vvv fm_ll fm_lr True = single_R fm_L fm_R; 27.17/11.48 mkBalBranch11 fm_L fm_R vuz vvu vvv fm_ll fm_lr False = mkBalBranch10 fm_L fm_R vuz vvu vvv fm_ll fm_lr otherwise; 27.17/11.48 ; 27.17/11.48 mkBalBranch12 fm_L fm_R (Branch vuz vvu vvv fm_ll fm_lr) = mkBalBranch11 fm_L fm_R vuz vvu vvv fm_ll fm_lr (sizeFM fm_lr < 2 * sizeFM fm_ll); 27.17/11.48 ; 27.17/11.48 mkBalBranch2 key elt fm_L fm_R True = mkBranch 2 key elt fm_L fm_R; 27.17/11.48 ; 27.17/11.48 mkBalBranch3 key elt fm_L fm_R True = mkBalBranch1 fm_L fm_R fm_L; 27.17/11.48 mkBalBranch3 key elt fm_L fm_R False = mkBalBranch2 key elt fm_L fm_R otherwise; 27.17/11.48 ; 27.17/11.48 mkBalBranch4 key elt fm_L fm_R True = mkBalBranch0 fm_L fm_R fm_R; 27.17/11.48 mkBalBranch4 key elt fm_L fm_R False = mkBalBranch3 key elt fm_L fm_R (size_l > sIZE_RATIO * size_r); 27.17/11.48 ; 27.17/11.48 mkBalBranch5 key elt fm_L fm_R True = mkBranch 1 key elt fm_L fm_R; 27.17/11.48 mkBalBranch5 key elt fm_L fm_R False = mkBalBranch4 key elt fm_L fm_R (size_r > sIZE_RATIO * size_l); 27.17/11.48 ; 27.17/11.48 single_L fm_l (Branch key_r elt_r vwv fm_rl fm_rr) = mkBranch 3 key_r elt_r (mkBranch 4 key elt fm_l fm_rl) fm_rr; 27.17/11.48 ; 27.17/11.48 single_R (Branch key_l elt_l vuw fm_ll fm_lr) fm_r = mkBranch 8 key_l elt_l fm_ll (mkBranch 9 key elt fm_lr fm_r); 27.17/11.48 ; 27.17/11.48 size_l = sizeFM fm_L; 27.17/11.48 ; 27.17/11.48 size_r = sizeFM fm_R; 27.17/11.48 } 27.17/11.48 " 27.17/11.48 are unpacked to the following functions on top level 27.17/11.48 "mkBalBranch6Double_R www wwx wwy wwz (Branch key_l elt_l vux fm_ll (Branch key_lr elt_lr vuy fm_lrl fm_lrr)) fm_r = mkBranch 10 key_lr elt_lr (mkBranch 11 key_l elt_l fm_ll fm_lrl) (mkBranch 12 www wwx fm_lrr fm_r); 27.17/11.48 " 27.17/11.48 "mkBalBranch6MkBalBranch5 www wwx wwy wwz key elt fm_L fm_R True = mkBranch 1 key elt fm_L fm_R; 27.17/11.48 mkBalBranch6MkBalBranch5 www wwx wwy wwz key elt fm_L fm_R False = mkBalBranch6MkBalBranch4 www wwx wwy wwz key elt fm_L fm_R (mkBalBranch6Size_r www wwx wwy wwz > sIZE_RATIO * mkBalBranch6Size_l www wwx wwy wwz); 27.17/11.48 " 27.17/11.48 "mkBalBranch6MkBalBranch3 www wwx wwy wwz key elt fm_L fm_R True = mkBalBranch6MkBalBranch1 www wwx wwy wwz fm_L fm_R fm_L; 27.17/11.48 mkBalBranch6MkBalBranch3 www wwx wwy wwz key elt fm_L fm_R False = mkBalBranch6MkBalBranch2 www wwx wwy wwz key elt fm_L fm_R otherwise; 27.17/11.48 " 27.17/11.48 "mkBalBranch6MkBalBranch02 www wwx wwy wwz fm_L fm_R (Branch vvy vvz vwu fm_rl fm_rr) = mkBalBranch6MkBalBranch01 www wwx wwy wwz fm_L fm_R vvy vvz vwu fm_rl fm_rr (sizeFM fm_rl < 2 * sizeFM fm_rr); 27.17/11.48 " 27.17/11.48 "mkBalBranch6MkBalBranch00 www wwx wwy wwz fm_L fm_R vvy vvz vwu fm_rl fm_rr True = mkBalBranch6Double_L www wwx wwy wwz fm_L fm_R; 27.17/11.48 " 27.17/11.48 "mkBalBranch6MkBalBranch01 www wwx wwy wwz fm_L fm_R vvy vvz vwu fm_rl fm_rr True = mkBalBranch6Single_L www wwx wwy wwz fm_L fm_R; 27.17/11.48 mkBalBranch6MkBalBranch01 www wwx wwy wwz fm_L fm_R vvy vvz vwu fm_rl fm_rr False = mkBalBranch6MkBalBranch00 www wwx wwy wwz fm_L fm_R vvy vvz vwu fm_rl fm_rr otherwise; 27.17/11.48 " 27.17/11.48 "mkBalBranch6Single_R www wwx wwy wwz (Branch key_l elt_l vuw fm_ll fm_lr) fm_r = mkBranch 8 key_l elt_l fm_ll (mkBranch 9 www wwx fm_lr fm_r); 27.17/11.48 " 27.17/11.48 "mkBalBranch6Size_l www wwx wwy wwz = sizeFM wwy; 27.17/11.48 " 27.17/11.48 "mkBalBranch6MkBalBranch4 www wwx wwy wwz key elt fm_L fm_R True = mkBalBranch6MkBalBranch0 www wwx wwy wwz fm_L fm_R fm_R; 27.17/11.48 mkBalBranch6MkBalBranch4 www wwx wwy wwz key elt fm_L fm_R False = mkBalBranch6MkBalBranch3 www wwx wwy wwz key elt fm_L fm_R (mkBalBranch6Size_l www wwx wwy wwz > sIZE_RATIO * mkBalBranch6Size_r www wwx wwy wwz); 27.17/11.48 " 27.17/11.48 "mkBalBranch6Size_r www wwx wwy wwz = sizeFM wwz; 27.17/11.48 " 27.17/11.48 "mkBalBranch6MkBalBranch1 www wwx wwy wwz fm_L fm_R (Branch vuz vvu vvv fm_ll fm_lr) = mkBalBranch6MkBalBranch12 www wwx wwy wwz fm_L fm_R (Branch vuz vvu vvv fm_ll fm_lr); 27.17/11.48 " 27.17/11.48 "mkBalBranch6MkBalBranch11 www wwx wwy wwz fm_L fm_R vuz vvu vvv fm_ll fm_lr True = mkBalBranch6Single_R www wwx wwy wwz fm_L fm_R; 27.17/11.48 mkBalBranch6MkBalBranch11 www wwx wwy wwz fm_L fm_R vuz vvu vvv fm_ll fm_lr False = mkBalBranch6MkBalBranch10 www wwx wwy wwz fm_L fm_R vuz vvu vvv fm_ll fm_lr otherwise; 27.17/11.48 " 27.17/11.48 "mkBalBranch6MkBalBranch10 www wwx wwy wwz fm_L fm_R vuz vvu vvv fm_ll fm_lr True = mkBalBranch6Double_R www wwx wwy wwz fm_L fm_R; 27.17/11.48 " 27.17/11.48 "mkBalBranch6Single_L www wwx wwy wwz fm_l (Branch key_r elt_r vwv fm_rl fm_rr) = mkBranch 3 key_r elt_r (mkBranch 4 www wwx fm_l fm_rl) fm_rr; 27.17/11.48 " 27.17/11.48 "mkBalBranch6MkBalBranch0 www wwx wwy wwz fm_L fm_R (Branch vvy vvz vwu fm_rl fm_rr) = mkBalBranch6MkBalBranch02 www wwx wwy wwz fm_L fm_R (Branch vvy vvz vwu fm_rl fm_rr); 27.17/11.48 " 27.17/11.48 "mkBalBranch6Double_L www wwx wwy wwz fm_l (Branch key_r elt_r vvw (Branch key_rl elt_rl vvx fm_rll fm_rlr) fm_rr) = mkBranch 5 key_rl elt_rl (mkBranch 6 www wwx fm_l fm_rll) (mkBranch 7 key_r elt_r fm_rlr fm_rr); 27.17/11.48 " 27.17/11.48 "mkBalBranch6MkBalBranch12 www wwx wwy wwz fm_L fm_R (Branch vuz vvu vvv fm_ll fm_lr) = mkBalBranch6MkBalBranch11 www wwx wwy wwz fm_L fm_R vuz vvu vvv fm_ll fm_lr (sizeFM fm_lr < 2 * sizeFM fm_ll); 27.17/11.48 " 27.17/11.48 "mkBalBranch6MkBalBranch2 www wwx wwy wwz key elt fm_L fm_R True = mkBranch 2 key elt fm_L fm_R; 27.17/11.48 " 27.17/11.48 The bindings of the following Let/Where expression 27.17/11.48 "let { 27.17/11.48 result = Branch key elt (unbox (1 + left_size + right_size)) fm_l fm_r; 27.17/11.48 } in result where { 27.17/11.48 balance_ok = True; 27.17/11.48 ; 27.17/11.48 left_ok = left_ok0 fm_l key fm_l; 27.17/11.48 ; 27.17/11.48 left_ok0 fm_l key EmptyFM = True; 27.17/11.48 left_ok0 fm_l key (Branch left_key yw yx yy yz) = let { 27.17/11.48 biggest_left_key = fst (findMax fm_l); 27.17/11.48 } in biggest_left_key < key; 27.17/11.48 ; 27.17/11.48 left_size = sizeFM fm_l; 27.17/11.48 ; 27.17/11.48 right_ok = right_ok0 fm_r key fm_r; 27.17/11.48 ; 27.17/11.48 right_ok0 fm_r key EmptyFM = True; 27.17/11.48 right_ok0 fm_r key (Branch right_key zu zv zw zx) = let { 27.17/11.48 smallest_right_key = fst (findMin fm_r); 27.17/11.48 } in key < smallest_right_key; 27.17/11.48 ; 27.17/11.48 right_size = sizeFM fm_r; 27.17/11.48 ; 27.17/11.48 unbox x = x; 27.17/11.48 } 27.17/11.48 " 27.17/11.48 are unpacked to the following functions on top level 27.17/11.48 "mkBranchUnbox wxu wxv wxw x = x; 27.17/11.48 " 27.17/11.48 "mkBranchLeft_size wxu wxv wxw = sizeFM wxu; 27.17/11.48 " 27.17/11.48 "mkBranchLeft_ok0 wxu wxv wxw fm_l key EmptyFM = True; 27.17/11.48 mkBranchLeft_ok0 wxu wxv wxw fm_l key (Branch left_key yw yx yy yz) = mkBranchLeft_ok0Biggest_left_key fm_l < key; 27.17/11.48 " 27.17/11.48 "mkBranchRight_ok wxu wxv wxw = mkBranchRight_ok0 wxu wxv wxw wxv wxw wxv; 27.17/11.48 " 27.17/11.48 "mkBranchBalance_ok wxu wxv wxw = True; 27.17/11.48 " 27.17/11.48 "mkBranchLeft_ok wxu wxv wxw = mkBranchLeft_ok0 wxu wxv wxw wxu wxw wxu; 27.17/11.48 " 27.17/11.48 "mkBranchRight_size wxu wxv wxw = sizeFM wxv; 27.17/11.48 " 27.17/11.48 "mkBranchRight_ok0 wxu wxv wxw fm_r key EmptyFM = True; 27.17/11.48 mkBranchRight_ok0 wxu wxv wxw fm_r key (Branch right_key zu zv zw zx) = key < mkBranchRight_ok0Smallest_right_key fm_r; 27.17/11.48 " 27.17/11.48 The bindings of the following Let/Where expression 27.17/11.48 "let { 27.17/11.48 result = Branch key elt (unbox (1 + left_size + right_size)) fm_l fm_r; 27.17/11.48 } in result" 27.17/11.48 are unpacked to the following functions on top level 27.17/11.48 "mkBranchResult wxx wxy wxz wyu = Branch wxx wxy (mkBranchUnbox wxz wyu wxx (1 + mkBranchLeft_size wxz wyu wxx + mkBranchRight_size wxz wyu wxx)) wxz wyu; 27.17/11.48 " 27.17/11.48 The bindings of the following Let/Where expression 27.17/11.48 "mkVBalBranch split_key elt1 (plusFM lts left) (plusFM gts right) where { 27.17/11.48 gts = splitGT fm1 split_key; 27.17/11.48 ; 27.17/11.48 lts = splitLT fm1 split_key; 27.17/11.48 } 27.17/11.48 " 27.17/11.48 are unpacked to the following functions on top level 27.17/11.48 "plusFMGts wyv wyw = splitGT wyv wyw; 27.17/11.48 " 27.17/11.48 "plusFMLts wyv wyw = splitLT wyv wyw; 27.17/11.48 " 27.17/11.48 The bindings of the following Let/Where expression 27.17/11.48 "mkVBalBranch2 key elt wv ww wx wy wz xv xw xx xy xz (sIZE_RATIO * size_l < size_r) where { 27.17/11.48 mkVBalBranch0 key elt wv ww wx wy wz xv xw xx xy xz True = mkBranch 13 key elt (Branch wv ww wx wy wz) (Branch xv xw xx xy xz); 27.17/11.48 ; 27.17/11.48 mkVBalBranch1 key elt wv ww wx wy wz xv xw xx xy xz True = mkBalBranch wv ww wy (mkVBalBranch key elt wz (Branch xv xw xx xy xz)); 27.17/11.48 mkVBalBranch1 key elt wv ww wx wy wz xv xw xx xy xz False = mkVBalBranch0 key elt wv ww wx wy wz xv xw xx xy xz otherwise; 27.17/11.48 ; 27.17/11.48 mkVBalBranch2 key elt wv ww wx wy wz xv xw xx xy xz True = mkBalBranch xv xw (mkVBalBranch key elt (Branch wv ww wx wy wz) xy) xz; 27.17/11.48 mkVBalBranch2 key elt wv ww wx wy wz xv xw xx xy xz False = mkVBalBranch1 key elt wv ww wx wy wz xv xw xx xy xz (sIZE_RATIO * size_r < size_l); 27.17/11.48 ; 27.17/11.48 size_l = sizeFM (Branch wv ww wx wy wz); 27.17/11.48 ; 27.17/11.48 size_r = sizeFM (Branch xv xw xx xy xz); 27.17/11.48 } 27.17/11.48 " 27.17/11.48 are unpacked to the following functions on top level 27.17/11.48 "mkVBalBranch3Size_r wyx wyy wyz wzu wzv wzw wzx wzy wzz xuu = sizeFM (Branch wyx wyy wyz wzu wzv); 27.17/11.48 " 27.17/11.48 "mkVBalBranch3MkVBalBranch0 wyx wyy wyz wzu wzv wzw wzx wzy wzz xuu key elt wv ww wx wy wz xv xw xx xy xz True = mkBranch 13 key elt (Branch wv ww wx wy wz) (Branch xv xw xx xy xz); 27.17/11.48 " 27.17/11.48 "mkVBalBranch3MkVBalBranch1 wyx wyy wyz wzu wzv wzw wzx wzy wzz xuu key elt wv ww wx wy wz xv xw xx xy xz True = mkBalBranch wv ww wy (mkVBalBranch key elt wz (Branch xv xw xx xy xz)); 27.17/11.48 mkVBalBranch3MkVBalBranch1 wyx wyy wyz wzu wzv wzw wzx wzy wzz xuu key elt wv ww wx wy wz xv xw xx xy xz False = mkVBalBranch3MkVBalBranch0 wyx wyy wyz wzu wzv wzw wzx wzy wzz xuu key elt wv ww wx wy wz xv xw xx xy xz otherwise; 27.17/11.48 " 27.17/11.48 "mkVBalBranch3MkVBalBranch2 wyx wyy wyz wzu wzv wzw wzx wzy wzz xuu key elt wv ww wx wy wz xv xw xx xy xz True = mkBalBranch xv xw (mkVBalBranch key elt (Branch wv ww wx wy wz) xy) xz; 27.17/11.48 mkVBalBranch3MkVBalBranch2 wyx wyy wyz wzu wzv wzw wzx wzy wzz xuu key elt wv ww wx wy wz xv xw xx xy xz False = mkVBalBranch3MkVBalBranch1 wyx wyy wyz wzu wzv wzw wzx wzy wzz xuu key elt wv ww wx wy wz xv xw xx xy xz (sIZE_RATIO * mkVBalBranch3Size_r wyx wyy wyz wzu wzv wzw wzx wzy wzz xuu < mkVBalBranch3Size_l wyx wyy wyz wzu wzv wzw wzx wzy wzz xuu); 27.17/11.48 " 27.17/11.48 "mkVBalBranch3Size_l wyx wyy wyz wzu wzv wzw wzx wzy wzz xuu = sizeFM (Branch wzw wzx wzy wzz xuu); 27.17/11.48 " 27.17/11.48 The bindings of the following Let/Where expression 27.17/11.48 "let { 27.17/11.48 biggest_left_key = fst (findMax fm_l); 27.17/11.48 } in biggest_left_key < key" 27.17/11.48 are unpacked to the following functions on top level 27.17/11.48 "mkBranchLeft_ok0Biggest_left_key xuv = fst (findMax xuv); 27.17/11.48 " 27.17/11.48 The bindings of the following Let/Where expression 27.17/11.48 "let { 27.17/11.48 smallest_right_key = fst (findMin fm_r); 27.17/11.48 } in key < smallest_right_key" 27.17/11.48 are unpacked to the following functions on top level 27.17/11.48 "mkBranchRight_ok0Smallest_right_key xuw = fst (findMin xuw); 27.17/11.48 " 27.17/11.48 27.17/11.48 ---------------------------------------- 27.17/11.48 27.17/11.48 (10) 27.17/11.48 Obligation: 27.17/11.48 mainModule Main 27.17/11.48 module FiniteMap where { 27.17/11.48 import qualified Main; 27.17/11.48 import qualified Maybe; 27.17/11.48 import qualified Prelude; 27.17/11.48 data FiniteMap a b = EmptyFM | Branch a b Int (FiniteMap a b) (FiniteMap a b) ; 27.17/11.48 27.17/11.48 instance (Eq a, Eq b) => Eq FiniteMap b a where { 27.17/11.48 } 27.17/11.48 addToFM :: Ord a => FiniteMap a b -> a -> b -> FiniteMap a b; 27.17/11.48 addToFM fm key elt = addToFM_C addToFM0 fm key elt; 27.17/11.48 27.17/11.48 addToFM0 old new = new; 27.17/11.48 27.17/11.48 addToFM_C :: Ord b => (a -> a -> a) -> FiniteMap b a -> b -> a -> FiniteMap b a; 27.17/11.48 addToFM_C combiner EmptyFM key elt = addToFM_C4 combiner EmptyFM key elt; 27.17/11.48 addToFM_C combiner (Branch key elt size fm_l fm_r) new_key new_elt = addToFM_C3 combiner (Branch key elt size fm_l fm_r) new_key new_elt; 27.17/11.48 27.17/11.48 addToFM_C0 combiner key elt size fm_l fm_r new_key new_elt True = Branch new_key (combiner elt new_elt) size fm_l fm_r; 27.17/11.48 27.17/11.48 addToFM_C1 combiner key elt size fm_l fm_r new_key new_elt True = mkBalBranch key elt fm_l (addToFM_C combiner fm_r new_key new_elt); 27.17/11.48 addToFM_C1 combiner key elt size fm_l fm_r new_key new_elt False = addToFM_C0 combiner key elt size fm_l fm_r new_key new_elt otherwise; 27.17/11.48 27.17/11.48 addToFM_C2 combiner key elt size fm_l fm_r new_key new_elt True = mkBalBranch key elt (addToFM_C combiner fm_l new_key new_elt) fm_r; 27.17/11.48 addToFM_C2 combiner key elt size fm_l fm_r new_key new_elt False = addToFM_C1 combiner key elt size fm_l fm_r new_key new_elt (new_key > key); 27.17/11.48 27.17/11.48 addToFM_C3 combiner (Branch key elt size fm_l fm_r) new_key new_elt = addToFM_C2 combiner key elt size fm_l fm_r new_key new_elt (new_key < key); 27.17/11.48 27.17/11.48 addToFM_C4 combiner EmptyFM key elt = unitFM key elt; 27.17/11.48 addToFM_C4 vyu vyv vyw vyx = addToFM_C3 vyu vyv vyw vyx; 27.17/11.48 27.17/11.48 emptyFM :: FiniteMap a b; 27.17/11.48 emptyFM = EmptyFM; 27.17/11.48 27.17/11.48 findMax :: FiniteMap a b -> (a,b); 27.17/11.48 findMax (Branch key elt zy zz EmptyFM) = (key,elt); 27.17/11.48 findMax (Branch key elt vuu vuv fm_r) = findMax fm_r; 27.17/11.48 27.17/11.48 findMin :: FiniteMap a b -> (a,b); 27.17/11.48 findMin (Branch key elt vxu EmptyFM vxv) = (key,elt); 27.17/11.48 findMin (Branch key elt vxw fm_l vxx) = findMin fm_l; 27.17/11.48 27.17/11.48 mkBalBranch :: Ord a => a -> b -> FiniteMap a b -> FiniteMap a b -> FiniteMap a b; 27.17/11.48 mkBalBranch key elt fm_L fm_R = mkBalBranch6 key elt fm_L fm_R; 27.17/11.48 27.17/11.48 mkBalBranch6 key elt fm_L fm_R = mkBalBranch6MkBalBranch5 key elt fm_L fm_R key elt fm_L fm_R (mkBalBranch6Size_l key elt fm_L fm_R + mkBalBranch6Size_r key elt fm_L fm_R < 2); 27.17/11.48 27.17/11.48 mkBalBranch6Double_L www wwx wwy wwz fm_l (Branch key_r elt_r vvw (Branch key_rl elt_rl vvx fm_rll fm_rlr) fm_rr) = mkBranch 5 key_rl elt_rl (mkBranch 6 www wwx fm_l fm_rll) (mkBranch 7 key_r elt_r fm_rlr fm_rr); 27.17/11.48 27.17/11.48 mkBalBranch6Double_R www wwx wwy wwz (Branch key_l elt_l vux fm_ll (Branch key_lr elt_lr vuy fm_lrl fm_lrr)) fm_r = mkBranch 10 key_lr elt_lr (mkBranch 11 key_l elt_l fm_ll fm_lrl) (mkBranch 12 www wwx fm_lrr fm_r); 27.17/11.48 27.17/11.48 mkBalBranch6MkBalBranch0 www wwx wwy wwz fm_L fm_R (Branch vvy vvz vwu fm_rl fm_rr) = mkBalBranch6MkBalBranch02 www wwx wwy wwz fm_L fm_R (Branch vvy vvz vwu fm_rl fm_rr); 27.17/11.48 27.17/11.48 mkBalBranch6MkBalBranch00 www wwx wwy wwz fm_L fm_R vvy vvz vwu fm_rl fm_rr True = mkBalBranch6Double_L www wwx wwy wwz fm_L fm_R; 27.17/11.48 27.17/11.48 mkBalBranch6MkBalBranch01 www wwx wwy wwz fm_L fm_R vvy vvz vwu fm_rl fm_rr True = mkBalBranch6Single_L www wwx wwy wwz fm_L fm_R; 27.17/11.48 mkBalBranch6MkBalBranch01 www wwx wwy wwz fm_L fm_R vvy vvz vwu fm_rl fm_rr False = mkBalBranch6MkBalBranch00 www wwx wwy wwz fm_L fm_R vvy vvz vwu fm_rl fm_rr otherwise; 27.17/11.48 27.17/11.48 mkBalBranch6MkBalBranch02 www wwx wwy wwz fm_L fm_R (Branch vvy vvz vwu fm_rl fm_rr) = mkBalBranch6MkBalBranch01 www wwx wwy wwz fm_L fm_R vvy vvz vwu fm_rl fm_rr (sizeFM fm_rl < 2 * sizeFM fm_rr); 27.17/11.48 27.17/11.48 mkBalBranch6MkBalBranch1 www wwx wwy wwz fm_L fm_R (Branch vuz vvu vvv fm_ll fm_lr) = mkBalBranch6MkBalBranch12 www wwx wwy wwz fm_L fm_R (Branch vuz vvu vvv fm_ll fm_lr); 27.17/11.48 27.17/11.48 mkBalBranch6MkBalBranch10 www wwx wwy wwz fm_L fm_R vuz vvu vvv fm_ll fm_lr True = mkBalBranch6Double_R www wwx wwy wwz fm_L fm_R; 27.17/11.48 27.17/11.48 mkBalBranch6MkBalBranch11 www wwx wwy wwz fm_L fm_R vuz vvu vvv fm_ll fm_lr True = mkBalBranch6Single_R www wwx wwy wwz fm_L fm_R; 27.17/11.48 mkBalBranch6MkBalBranch11 www wwx wwy wwz fm_L fm_R vuz vvu vvv fm_ll fm_lr False = mkBalBranch6MkBalBranch10 www wwx wwy wwz fm_L fm_R vuz vvu vvv fm_ll fm_lr otherwise; 27.17/11.48 27.17/11.48 mkBalBranch6MkBalBranch12 www wwx wwy wwz fm_L fm_R (Branch vuz vvu vvv fm_ll fm_lr) = mkBalBranch6MkBalBranch11 www wwx wwy wwz fm_L fm_R vuz vvu vvv fm_ll fm_lr (sizeFM fm_lr < 2 * sizeFM fm_ll); 27.17/11.48 27.17/11.48 mkBalBranch6MkBalBranch2 www wwx wwy wwz key elt fm_L fm_R True = mkBranch 2 key elt fm_L fm_R; 27.17/11.48 27.17/11.48 mkBalBranch6MkBalBranch3 www wwx wwy wwz key elt fm_L fm_R True = mkBalBranch6MkBalBranch1 www wwx wwy wwz fm_L fm_R fm_L; 27.17/11.48 mkBalBranch6MkBalBranch3 www wwx wwy wwz key elt fm_L fm_R False = mkBalBranch6MkBalBranch2 www wwx wwy wwz key elt fm_L fm_R otherwise; 27.17/11.48 27.17/11.48 mkBalBranch6MkBalBranch4 www wwx wwy wwz key elt fm_L fm_R True = mkBalBranch6MkBalBranch0 www wwx wwy wwz fm_L fm_R fm_R; 27.17/11.48 mkBalBranch6MkBalBranch4 www wwx wwy wwz key elt fm_L fm_R False = mkBalBranch6MkBalBranch3 www wwx wwy wwz key elt fm_L fm_R (mkBalBranch6Size_l www wwx wwy wwz > sIZE_RATIO * mkBalBranch6Size_r www wwx wwy wwz); 27.17/11.48 27.17/11.48 mkBalBranch6MkBalBranch5 www wwx wwy wwz key elt fm_L fm_R True = mkBranch 1 key elt fm_L fm_R; 27.17/11.48 mkBalBranch6MkBalBranch5 www wwx wwy wwz key elt fm_L fm_R False = mkBalBranch6MkBalBranch4 www wwx wwy wwz key elt fm_L fm_R (mkBalBranch6Size_r www wwx wwy wwz > sIZE_RATIO * mkBalBranch6Size_l www wwx wwy wwz); 27.17/11.48 27.17/11.48 mkBalBranch6Single_L www wwx wwy wwz fm_l (Branch key_r elt_r vwv fm_rl fm_rr) = mkBranch 3 key_r elt_r (mkBranch 4 www wwx fm_l fm_rl) fm_rr; 27.17/11.48 27.17/11.48 mkBalBranch6Single_R www wwx wwy wwz (Branch key_l elt_l vuw fm_ll fm_lr) fm_r = mkBranch 8 key_l elt_l fm_ll (mkBranch 9 www wwx fm_lr fm_r); 27.17/11.48 27.17/11.48 mkBalBranch6Size_l www wwx wwy wwz = sizeFM wwy; 27.17/11.48 27.17/11.48 mkBalBranch6Size_r www wwx wwy wwz = sizeFM wwz; 27.17/11.48 27.17/11.48 mkBranch :: Ord b => Int -> b -> a -> FiniteMap b a -> FiniteMap b a -> FiniteMap b a; 27.17/11.48 mkBranch which key elt fm_l fm_r = mkBranchResult key elt fm_l fm_r; 27.17/11.48 27.17/11.48 mkBranchBalance_ok wxu wxv wxw = True; 27.17/11.48 27.17/11.48 mkBranchLeft_ok wxu wxv wxw = mkBranchLeft_ok0 wxu wxv wxw wxu wxw wxu; 27.17/11.48 27.17/11.48 mkBranchLeft_ok0 wxu wxv wxw fm_l key EmptyFM = True; 27.17/11.48 mkBranchLeft_ok0 wxu wxv wxw fm_l key (Branch left_key yw yx yy yz) = mkBranchLeft_ok0Biggest_left_key fm_l < key; 27.17/11.48 27.17/11.48 mkBranchLeft_ok0Biggest_left_key xuv = fst (findMax xuv); 27.17/11.48 27.17/11.48 mkBranchLeft_size wxu wxv wxw = sizeFM wxu; 27.17/11.48 27.17/11.48 mkBranchResult wxx wxy wxz wyu = Branch wxx wxy (mkBranchUnbox wxz wyu wxx (1 + mkBranchLeft_size wxz wyu wxx + mkBranchRight_size wxz wyu wxx)) wxz wyu; 27.17/11.48 27.17/11.48 mkBranchRight_ok wxu wxv wxw = mkBranchRight_ok0 wxu wxv wxw wxv wxw wxv; 27.17/11.48 27.17/11.48 mkBranchRight_ok0 wxu wxv wxw fm_r key EmptyFM = True; 27.17/11.48 mkBranchRight_ok0 wxu wxv wxw fm_r key (Branch right_key zu zv zw zx) = key < mkBranchRight_ok0Smallest_right_key fm_r; 27.17/11.48 27.17/11.48 mkBranchRight_ok0Smallest_right_key xuw = fst (findMin xuw); 27.17/11.48 27.17/11.48 mkBranchRight_size wxu wxv wxw = sizeFM wxv; 27.17/11.48 27.17/11.48 mkBranchUnbox :: Ord a => -> (FiniteMap a b) ( -> (FiniteMap a b) ( -> a (Int -> Int))); 27.17/11.48 mkBranchUnbox wxu wxv wxw x = x; 27.17/11.48 27.17/11.48 mkVBalBranch :: Ord a => a -> b -> FiniteMap a b -> FiniteMap a b -> FiniteMap a b; 27.17/11.48 mkVBalBranch key elt EmptyFM fm_r = mkVBalBranch5 key elt EmptyFM fm_r; 27.17/11.48 mkVBalBranch key elt fm_l EmptyFM = mkVBalBranch4 key elt fm_l EmptyFM; 27.17/11.48 mkVBalBranch key elt (Branch wv ww wx wy wz) (Branch xv xw xx xy xz) = mkVBalBranch3 key elt (Branch wv ww wx wy wz) (Branch xv xw xx xy xz); 27.17/11.48 27.17/11.48 mkVBalBranch3 key elt (Branch wv ww wx wy wz) (Branch xv xw xx xy xz) = mkVBalBranch3MkVBalBranch2 xv xw xx xy xz wv ww wx wy wz key elt wv ww wx wy wz xv xw xx xy xz (sIZE_RATIO * mkVBalBranch3Size_l xv xw xx xy xz wv ww wx wy wz < mkVBalBranch3Size_r xv xw xx xy xz wv ww wx wy wz); 27.17/11.48 27.17/11.48 mkVBalBranch3MkVBalBranch0 wyx wyy wyz wzu wzv wzw wzx wzy wzz xuu key elt wv ww wx wy wz xv xw xx xy xz True = mkBranch 13 key elt (Branch wv ww wx wy wz) (Branch xv xw xx xy xz); 27.17/11.48 27.17/11.48 mkVBalBranch3MkVBalBranch1 wyx wyy wyz wzu wzv wzw wzx wzy wzz xuu key elt wv ww wx wy wz xv xw xx xy xz True = mkBalBranch wv ww wy (mkVBalBranch key elt wz (Branch xv xw xx xy xz)); 27.17/11.48 mkVBalBranch3MkVBalBranch1 wyx wyy wyz wzu wzv wzw wzx wzy wzz xuu key elt wv ww wx wy wz xv xw xx xy xz False = mkVBalBranch3MkVBalBranch0 wyx wyy wyz wzu wzv wzw wzx wzy wzz xuu key elt wv ww wx wy wz xv xw xx xy xz otherwise; 27.17/11.48 27.17/11.48 mkVBalBranch3MkVBalBranch2 wyx wyy wyz wzu wzv wzw wzx wzy wzz xuu key elt wv ww wx wy wz xv xw xx xy xz True = mkBalBranch xv xw (mkVBalBranch key elt (Branch wv ww wx wy wz) xy) xz; 27.17/11.48 mkVBalBranch3MkVBalBranch2 wyx wyy wyz wzu wzv wzw wzx wzy wzz xuu key elt wv ww wx wy wz xv xw xx xy xz False = mkVBalBranch3MkVBalBranch1 wyx wyy wyz wzu wzv wzw wzx wzy wzz xuu key elt wv ww wx wy wz xv xw xx xy xz (sIZE_RATIO * mkVBalBranch3Size_r wyx wyy wyz wzu wzv wzw wzx wzy wzz xuu < mkVBalBranch3Size_l wyx wyy wyz wzu wzv wzw wzx wzy wzz xuu); 27.17/11.48 27.17/11.48 mkVBalBranch3Size_l wyx wyy wyz wzu wzv wzw wzx wzy wzz xuu = sizeFM (Branch wzw wzx wzy wzz xuu); 27.17/11.48 27.17/11.48 mkVBalBranch3Size_r wyx wyy wyz wzu wzv wzw wzx wzy wzz xuu = sizeFM (Branch wyx wyy wyz wzu wzv); 27.17/11.48 27.17/11.48 mkVBalBranch4 key elt fm_l EmptyFM = addToFM fm_l key elt; 27.17/11.48 mkVBalBranch4 vzv vzw vzx vzy = mkVBalBranch3 vzv vzw vzx vzy; 27.17/11.48 27.17/11.48 mkVBalBranch5 key elt EmptyFM fm_r = addToFM fm_r key elt; 27.17/11.48 mkVBalBranch5 wuu wuv wuw wux = mkVBalBranch4 wuu wuv wuw wux; 27.17/11.48 27.17/11.48 plusFM :: Ord a => FiniteMap a b -> FiniteMap a b -> FiniteMap a b; 27.17/11.48 plusFM EmptyFM fm2 = fm2; 27.17/11.48 plusFM fm1 EmptyFM = fm1; 27.17/11.48 plusFM fm1 (Branch split_key elt1 vz left right) = mkVBalBranch split_key elt1 (plusFM (plusFMLts fm1 split_key) left) (plusFM (plusFMGts fm1 split_key) right); 27.17/11.48 27.17/11.48 plusFMGts wyv wyw = splitGT wyv wyw; 27.17/11.48 27.17/11.48 plusFMLts wyv wyw = splitLT wyv wyw; 27.17/11.48 27.17/11.48 sIZE_RATIO :: Int; 27.17/11.48 sIZE_RATIO = 5; 27.17/11.48 27.17/11.48 sizeFM :: FiniteMap a b -> Int; 27.17/11.48 sizeFM EmptyFM = 0; 27.17/11.48 sizeFM (Branch vww vwx size vwy vwz) = size; 27.17/11.48 27.17/11.48 splitGT :: Ord a => FiniteMap a b -> a -> FiniteMap a b; 27.17/11.48 splitGT EmptyFM split_key = splitGT4 EmptyFM split_key; 27.17/11.48 splitGT (Branch key elt yu fm_l fm_r) split_key = splitGT3 (Branch key elt yu fm_l fm_r) split_key; 27.17/11.48 27.17/11.48 splitGT0 key elt yu fm_l fm_r split_key True = fm_r; 27.17/11.48 27.17/11.48 splitGT1 key elt yu fm_l fm_r split_key True = mkVBalBranch key elt (splitGT fm_l split_key) fm_r; 27.17/11.48 splitGT1 key elt yu fm_l fm_r split_key False = splitGT0 key elt yu fm_l fm_r split_key otherwise; 27.17/11.48 27.17/11.48 splitGT2 key elt yu fm_l fm_r split_key True = splitGT fm_r split_key; 27.17/11.48 splitGT2 key elt yu fm_l fm_r split_key False = splitGT1 key elt yu fm_l fm_r split_key (split_key < key); 27.17/11.48 27.17/11.48 splitGT3 (Branch key elt yu fm_l fm_r) split_key = splitGT2 key elt yu fm_l fm_r split_key (split_key > key); 27.17/11.48 27.17/11.48 splitGT4 EmptyFM split_key = emptyFM; 27.17/11.48 splitGT4 wvu wvv = splitGT3 wvu wvv; 27.17/11.48 27.17/11.48 splitLT :: Ord b => FiniteMap b a -> b -> FiniteMap b a; 27.17/11.48 splitLT EmptyFM split_key = splitLT4 EmptyFM split_key; 27.17/11.48 splitLT (Branch key elt yv fm_l fm_r) split_key = splitLT3 (Branch key elt yv fm_l fm_r) split_key; 27.17/11.48 27.17/11.48 splitLT0 key elt yv fm_l fm_r split_key True = fm_l; 27.17/11.48 27.17/11.48 splitLT1 key elt yv fm_l fm_r split_key True = mkVBalBranch key elt fm_l (splitLT fm_r split_key); 27.17/11.48 splitLT1 key elt yv fm_l fm_r split_key False = splitLT0 key elt yv fm_l fm_r split_key otherwise; 27.17/11.48 27.17/11.48 splitLT2 key elt yv fm_l fm_r split_key True = splitLT fm_l split_key; 27.17/11.48 splitLT2 key elt yv fm_l fm_r split_key False = splitLT1 key elt yv fm_l fm_r split_key (split_key > key); 27.17/11.48 27.17/11.48 splitLT3 (Branch key elt yv fm_l fm_r) split_key = splitLT2 key elt yv fm_l fm_r split_key (split_key < key); 27.17/11.48 27.17/11.48 splitLT4 EmptyFM split_key = emptyFM; 27.17/11.48 splitLT4 wvy wvz = splitLT3 wvy wvz; 27.17/11.48 27.17/11.48 unitFM :: b -> a -> FiniteMap b a; 27.17/11.48 unitFM key elt = Branch key elt 1 emptyFM emptyFM; 27.17/11.48 27.17/11.48 } 27.17/11.48 module Maybe where { 27.17/11.48 import qualified FiniteMap; 27.17/11.48 import qualified Main; 27.17/11.48 import qualified Prelude; 27.17/11.48 } 27.17/11.48 module Main where { 27.17/11.48 import qualified FiniteMap; 27.17/11.48 import qualified Maybe; 27.17/11.48 import qualified Prelude; 27.17/11.48 } 27.17/11.48 27.17/11.48 ---------------------------------------- 27.17/11.48 27.17/11.48 (11) NumRed (SOUND) 27.17/11.48 Num Reduction:All numbers are transformed to their corresponding representation with Succ, Pred and Zero. 27.17/11.48 ---------------------------------------- 27.17/11.48 27.17/11.48 (12) 27.17/11.48 Obligation: 27.17/11.48 mainModule Main 27.17/11.48 module FiniteMap where { 27.17/11.48 import qualified Main; 27.17/11.48 import qualified Maybe; 27.17/11.48 import qualified Prelude; 27.17/11.48 data FiniteMap a b = EmptyFM | Branch a b Int (FiniteMap a b) (FiniteMap a b) ; 27.17/11.48 27.17/11.48 instance (Eq a, Eq b) => Eq FiniteMap a b where { 27.17/11.48 } 27.17/11.48 addToFM :: Ord b => FiniteMap b a -> b -> a -> FiniteMap b a; 27.17/11.48 addToFM fm key elt = addToFM_C addToFM0 fm key elt; 27.17/11.48 27.17/11.48 addToFM0 old new = new; 27.17/11.48 27.17/11.48 addToFM_C :: Ord a => (b -> b -> b) -> FiniteMap a b -> a -> b -> FiniteMap a b; 27.17/11.48 addToFM_C combiner EmptyFM key elt = addToFM_C4 combiner EmptyFM key elt; 27.17/11.48 addToFM_C combiner (Branch key elt size fm_l fm_r) new_key new_elt = addToFM_C3 combiner (Branch key elt size fm_l fm_r) new_key new_elt; 27.17/11.48 27.17/11.48 addToFM_C0 combiner key elt size fm_l fm_r new_key new_elt True = Branch new_key (combiner elt new_elt) size fm_l fm_r; 27.17/11.48 27.17/11.48 addToFM_C1 combiner key elt size fm_l fm_r new_key new_elt True = mkBalBranch key elt fm_l (addToFM_C combiner fm_r new_key new_elt); 27.17/11.48 addToFM_C1 combiner key elt size fm_l fm_r new_key new_elt False = addToFM_C0 combiner key elt size fm_l fm_r new_key new_elt otherwise; 27.17/11.48 27.17/11.48 addToFM_C2 combiner key elt size fm_l fm_r new_key new_elt True = mkBalBranch key elt (addToFM_C combiner fm_l new_key new_elt) fm_r; 27.17/11.48 addToFM_C2 combiner key elt size fm_l fm_r new_key new_elt False = addToFM_C1 combiner key elt size fm_l fm_r new_key new_elt (new_key > key); 27.17/11.48 27.17/11.48 addToFM_C3 combiner (Branch key elt size fm_l fm_r) new_key new_elt = addToFM_C2 combiner key elt size fm_l fm_r new_key new_elt (new_key < key); 27.17/11.48 27.17/11.48 addToFM_C4 combiner EmptyFM key elt = unitFM key elt; 27.17/11.48 addToFM_C4 vyu vyv vyw vyx = addToFM_C3 vyu vyv vyw vyx; 27.17/11.48 27.17/11.48 emptyFM :: FiniteMap a b; 27.17/11.48 emptyFM = EmptyFM; 27.17/11.48 27.17/11.48 findMax :: FiniteMap a b -> (a,b); 27.17/11.48 findMax (Branch key elt zy zz EmptyFM) = (key,elt); 27.17/11.48 findMax (Branch key elt vuu vuv fm_r) = findMax fm_r; 27.17/11.48 27.17/11.48 findMin :: FiniteMap a b -> (a,b); 27.17/11.48 findMin (Branch key elt vxu EmptyFM vxv) = (key,elt); 27.17/11.48 findMin (Branch key elt vxw fm_l vxx) = findMin fm_l; 27.17/11.48 27.17/11.48 mkBalBranch :: Ord b => b -> a -> FiniteMap b a -> FiniteMap b a -> FiniteMap b a; 27.17/11.48 mkBalBranch key elt fm_L fm_R = mkBalBranch6 key elt fm_L fm_R; 27.17/11.48 27.17/11.48 mkBalBranch6 key elt fm_L fm_R = mkBalBranch6MkBalBranch5 key elt fm_L fm_R key elt fm_L fm_R (mkBalBranch6Size_l key elt fm_L fm_R + mkBalBranch6Size_r key elt fm_L fm_R < Pos (Succ (Succ Zero))); 27.17/11.48 27.17/11.48 mkBalBranch6Double_L www wwx wwy wwz fm_l (Branch key_r elt_r vvw (Branch key_rl elt_rl vvx fm_rll fm_rlr) fm_rr) = mkBranch (Pos (Succ (Succ (Succ (Succ (Succ Zero)))))) key_rl elt_rl (mkBranch (Pos (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))) www wwx fm_l fm_rll) (mkBranch (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))) key_r elt_r fm_rlr fm_rr); 27.17/11.48 27.17/11.48 mkBalBranch6Double_R www wwx wwy wwz (Branch key_l elt_l vux fm_ll (Branch key_lr elt_lr vuy fm_lrl fm_lrr)) fm_r = mkBranch (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))) key_lr elt_lr (mkBranch (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))))))) key_l elt_l fm_ll fm_lrl) (mkBranch (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))))) www wwx fm_lrr fm_r); 27.17/11.48 27.17/11.48 mkBalBranch6MkBalBranch0 www wwx wwy wwz fm_L fm_R (Branch vvy vvz vwu fm_rl fm_rr) = mkBalBranch6MkBalBranch02 www wwx wwy wwz fm_L fm_R (Branch vvy vvz vwu fm_rl fm_rr); 27.17/11.48 27.17/11.48 mkBalBranch6MkBalBranch00 www wwx wwy wwz fm_L fm_R vvy vvz vwu fm_rl fm_rr True = mkBalBranch6Double_L www wwx wwy wwz fm_L fm_R; 27.17/11.48 27.17/11.48 mkBalBranch6MkBalBranch01 www wwx wwy wwz fm_L fm_R vvy vvz vwu fm_rl fm_rr True = mkBalBranch6Single_L www wwx wwy wwz fm_L fm_R; 27.17/11.48 mkBalBranch6MkBalBranch01 www wwx wwy wwz fm_L fm_R vvy vvz vwu fm_rl fm_rr False = mkBalBranch6MkBalBranch00 www wwx wwy wwz fm_L fm_R vvy vvz vwu fm_rl fm_rr otherwise; 27.17/11.48 27.17/11.48 mkBalBranch6MkBalBranch02 www wwx wwy wwz fm_L fm_R (Branch vvy vvz vwu fm_rl fm_rr) = mkBalBranch6MkBalBranch01 www wwx wwy wwz fm_L fm_R vvy vvz vwu fm_rl fm_rr (sizeFM fm_rl < Pos (Succ (Succ Zero)) * sizeFM fm_rr); 27.17/11.48 27.17/11.48 mkBalBranch6MkBalBranch1 www wwx wwy wwz fm_L fm_R (Branch vuz vvu vvv fm_ll fm_lr) = mkBalBranch6MkBalBranch12 www wwx wwy wwz fm_L fm_R (Branch vuz vvu vvv fm_ll fm_lr); 27.17/11.48 27.17/11.48 mkBalBranch6MkBalBranch10 www wwx wwy wwz fm_L fm_R vuz vvu vvv fm_ll fm_lr True = mkBalBranch6Double_R www wwx wwy wwz fm_L fm_R; 27.17/11.48 27.17/11.48 mkBalBranch6MkBalBranch11 www wwx wwy wwz fm_L fm_R vuz vvu vvv fm_ll fm_lr True = mkBalBranch6Single_R www wwx wwy wwz fm_L fm_R; 27.17/11.48 mkBalBranch6MkBalBranch11 www wwx wwy wwz fm_L fm_R vuz vvu vvv fm_ll fm_lr False = mkBalBranch6MkBalBranch10 www wwx wwy wwz fm_L fm_R vuz vvu vvv fm_ll fm_lr otherwise; 27.17/11.48 27.17/11.48 mkBalBranch6MkBalBranch12 www wwx wwy wwz fm_L fm_R (Branch vuz vvu vvv fm_ll fm_lr) = mkBalBranch6MkBalBranch11 www wwx wwy wwz fm_L fm_R vuz vvu vvv fm_ll fm_lr (sizeFM fm_lr < Pos (Succ (Succ Zero)) * sizeFM fm_ll); 27.17/11.48 27.17/11.48 mkBalBranch6MkBalBranch2 www wwx wwy wwz key elt fm_L fm_R True = mkBranch (Pos (Succ (Succ Zero))) key elt fm_L fm_R; 27.17/11.48 27.17/11.48 mkBalBranch6MkBalBranch3 www wwx wwy wwz key elt fm_L fm_R True = mkBalBranch6MkBalBranch1 www wwx wwy wwz fm_L fm_R fm_L; 27.17/11.48 mkBalBranch6MkBalBranch3 www wwx wwy wwz key elt fm_L fm_R False = mkBalBranch6MkBalBranch2 www wwx wwy wwz key elt fm_L fm_R otherwise; 27.17/11.48 27.17/11.48 mkBalBranch6MkBalBranch4 www wwx wwy wwz key elt fm_L fm_R True = mkBalBranch6MkBalBranch0 www wwx wwy wwz fm_L fm_R fm_R; 27.17/11.48 mkBalBranch6MkBalBranch4 www wwx wwy wwz key elt fm_L fm_R False = mkBalBranch6MkBalBranch3 www wwx wwy wwz key elt fm_L fm_R (mkBalBranch6Size_l www wwx wwy wwz > sIZE_RATIO * mkBalBranch6Size_r www wwx wwy wwz); 27.17/11.48 27.17/11.48 mkBalBranch6MkBalBranch5 www wwx wwy wwz key elt fm_L fm_R True = mkBranch (Pos (Succ Zero)) key elt fm_L fm_R; 27.17/11.48 mkBalBranch6MkBalBranch5 www wwx wwy wwz key elt fm_L fm_R False = mkBalBranch6MkBalBranch4 www wwx wwy wwz key elt fm_L fm_R (mkBalBranch6Size_r www wwx wwy wwz > sIZE_RATIO * mkBalBranch6Size_l www wwx wwy wwz); 27.17/11.48 27.17/11.48 mkBalBranch6Single_L www wwx wwy wwz fm_l (Branch key_r elt_r vwv fm_rl fm_rr) = mkBranch (Pos (Succ (Succ (Succ Zero)))) key_r elt_r (mkBranch (Pos (Succ (Succ (Succ (Succ Zero))))) www wwx fm_l fm_rl) fm_rr; 27.17/11.48 27.17/11.48 mkBalBranch6Single_R www wwx wwy wwz (Branch key_l elt_l vuw fm_ll fm_lr) fm_r = mkBranch (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))) key_l elt_l fm_ll (mkBranch (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))))) www wwx fm_lr fm_r); 27.17/11.48 27.17/11.48 mkBalBranch6Size_l www wwx wwy wwz = sizeFM wwy; 27.17/11.48 27.17/11.48 mkBalBranch6Size_r www wwx wwy wwz = sizeFM wwz; 27.17/11.48 27.17/11.48 mkBranch :: Ord b => Int -> b -> a -> FiniteMap b a -> FiniteMap b a -> FiniteMap b a; 27.17/11.48 mkBranch which key elt fm_l fm_r = mkBranchResult key elt fm_l fm_r; 27.17/11.48 27.17/11.48 mkBranchBalance_ok wxu wxv wxw = True; 27.17/11.48 27.17/11.48 mkBranchLeft_ok wxu wxv wxw = mkBranchLeft_ok0 wxu wxv wxw wxu wxw wxu; 27.17/11.48 27.17/11.48 mkBranchLeft_ok0 wxu wxv wxw fm_l key EmptyFM = True; 27.17/11.48 mkBranchLeft_ok0 wxu wxv wxw fm_l key (Branch left_key yw yx yy yz) = mkBranchLeft_ok0Biggest_left_key fm_l < key; 27.17/11.48 27.17/11.48 mkBranchLeft_ok0Biggest_left_key xuv = fst (findMax xuv); 27.17/11.48 27.17/11.48 mkBranchLeft_size wxu wxv wxw = sizeFM wxu; 27.17/11.48 27.17/11.48 mkBranchResult wxx wxy wxz wyu = Branch wxx wxy (mkBranchUnbox wxz wyu wxx (Pos (Succ Zero) + mkBranchLeft_size wxz wyu wxx + mkBranchRight_size wxz wyu wxx)) wxz wyu; 27.17/11.48 27.17/11.48 mkBranchRight_ok wxu wxv wxw = mkBranchRight_ok0 wxu wxv wxw wxv wxw wxv; 27.17/11.48 27.17/11.48 mkBranchRight_ok0 wxu wxv wxw fm_r key EmptyFM = True; 27.17/11.48 mkBranchRight_ok0 wxu wxv wxw fm_r key (Branch right_key zu zv zw zx) = key < mkBranchRight_ok0Smallest_right_key fm_r; 27.17/11.48 27.17/11.48 mkBranchRight_ok0Smallest_right_key xuw = fst (findMin xuw); 27.17/11.48 27.17/11.48 mkBranchRight_size wxu wxv wxw = sizeFM wxv; 27.17/11.48 27.17/11.48 mkBranchUnbox :: Ord a => -> (FiniteMap a b) ( -> (FiniteMap a b) ( -> a (Int -> Int))); 27.17/11.48 mkBranchUnbox wxu wxv wxw x = x; 27.17/11.48 27.17/11.48 mkVBalBranch :: Ord b => b -> a -> FiniteMap b a -> FiniteMap b a -> FiniteMap b a; 27.17/11.48 mkVBalBranch key elt EmptyFM fm_r = mkVBalBranch5 key elt EmptyFM fm_r; 27.17/11.48 mkVBalBranch key elt fm_l EmptyFM = mkVBalBranch4 key elt fm_l EmptyFM; 27.17/11.48 mkVBalBranch key elt (Branch wv ww wx wy wz) (Branch xv xw xx xy xz) = mkVBalBranch3 key elt (Branch wv ww wx wy wz) (Branch xv xw xx xy xz); 27.17/11.48 27.17/11.48 mkVBalBranch3 key elt (Branch wv ww wx wy wz) (Branch xv xw xx xy xz) = mkVBalBranch3MkVBalBranch2 xv xw xx xy xz wv ww wx wy wz key elt wv ww wx wy wz xv xw xx xy xz (sIZE_RATIO * mkVBalBranch3Size_l xv xw xx xy xz wv ww wx wy wz < mkVBalBranch3Size_r xv xw xx xy xz wv ww wx wy wz); 27.17/11.48 27.17/11.48 mkVBalBranch3MkVBalBranch0 wyx wyy wyz wzu wzv wzw wzx wzy wzz xuu key elt wv ww wx wy wz xv xw xx xy xz True = mkBranch (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))))))))) key elt (Branch wv ww wx wy wz) (Branch xv xw xx xy xz); 27.17/11.48 27.17/11.48 mkVBalBranch3MkVBalBranch1 wyx wyy wyz wzu wzv wzw wzx wzy wzz xuu key elt wv ww wx wy wz xv xw xx xy xz True = mkBalBranch wv ww wy (mkVBalBranch key elt wz (Branch xv xw xx xy xz)); 27.17/11.48 mkVBalBranch3MkVBalBranch1 wyx wyy wyz wzu wzv wzw wzx wzy wzz xuu key elt wv ww wx wy wz xv xw xx xy xz False = mkVBalBranch3MkVBalBranch0 wyx wyy wyz wzu wzv wzw wzx wzy wzz xuu key elt wv ww wx wy wz xv xw xx xy xz otherwise; 27.17/11.48 27.17/11.48 mkVBalBranch3MkVBalBranch2 wyx wyy wyz wzu wzv wzw wzx wzy wzz xuu key elt wv ww wx wy wz xv xw xx xy xz True = mkBalBranch xv xw (mkVBalBranch key elt (Branch wv ww wx wy wz) xy) xz; 27.17/11.48 mkVBalBranch3MkVBalBranch2 wyx wyy wyz wzu wzv wzw wzx wzy wzz xuu key elt wv ww wx wy wz xv xw xx xy xz False = mkVBalBranch3MkVBalBranch1 wyx wyy wyz wzu wzv wzw wzx wzy wzz xuu key elt wv ww wx wy wz xv xw xx xy xz (sIZE_RATIO * mkVBalBranch3Size_r wyx wyy wyz wzu wzv wzw wzx wzy wzz xuu < mkVBalBranch3Size_l wyx wyy wyz wzu wzv wzw wzx wzy wzz xuu); 27.17/11.48 27.17/11.48 mkVBalBranch3Size_l wyx wyy wyz wzu wzv wzw wzx wzy wzz xuu = sizeFM (Branch wzw wzx wzy wzz xuu); 27.17/11.48 27.17/11.48 mkVBalBranch3Size_r wyx wyy wyz wzu wzv wzw wzx wzy wzz xuu = sizeFM (Branch wyx wyy wyz wzu wzv); 27.17/11.48 27.17/11.48 mkVBalBranch4 key elt fm_l EmptyFM = addToFM fm_l key elt; 27.17/11.48 mkVBalBranch4 vzv vzw vzx vzy = mkVBalBranch3 vzv vzw vzx vzy; 27.17/11.48 27.17/11.48 mkVBalBranch5 key elt EmptyFM fm_r = addToFM fm_r key elt; 27.17/11.48 mkVBalBranch5 wuu wuv wuw wux = mkVBalBranch4 wuu wuv wuw wux; 27.17/11.48 27.17/11.48 plusFM :: Ord a => FiniteMap a b -> FiniteMap a b -> FiniteMap a b; 27.17/11.48 plusFM EmptyFM fm2 = fm2; 27.17/11.48 plusFM fm1 EmptyFM = fm1; 27.17/11.48 plusFM fm1 (Branch split_key elt1 vz left right) = mkVBalBranch split_key elt1 (plusFM (plusFMLts fm1 split_key) left) (plusFM (plusFMGts fm1 split_key) right); 27.17/11.48 27.17/11.48 plusFMGts wyv wyw = splitGT wyv wyw; 27.17/11.48 27.17/11.48 plusFMLts wyv wyw = splitLT wyv wyw; 27.17/11.48 27.17/11.48 sIZE_RATIO :: Int; 27.17/11.48 sIZE_RATIO = Pos (Succ (Succ (Succ (Succ (Succ Zero))))); 27.17/11.48 27.17/11.48 sizeFM :: FiniteMap b a -> Int; 27.17/11.48 sizeFM EmptyFM = Pos Zero; 27.17/11.48 sizeFM (Branch vww vwx size vwy vwz) = size; 27.17/11.48 27.17/11.48 splitGT :: Ord b => FiniteMap b a -> b -> FiniteMap b a; 27.17/11.48 splitGT EmptyFM split_key = splitGT4 EmptyFM split_key; 27.17/11.48 splitGT (Branch key elt yu fm_l fm_r) split_key = splitGT3 (Branch key elt yu fm_l fm_r) split_key; 27.17/11.48 27.17/11.48 splitGT0 key elt yu fm_l fm_r split_key True = fm_r; 27.17/11.48 27.17/11.48 splitGT1 key elt yu fm_l fm_r split_key True = mkVBalBranch key elt (splitGT fm_l split_key) fm_r; 27.17/11.48 splitGT1 key elt yu fm_l fm_r split_key False = splitGT0 key elt yu fm_l fm_r split_key otherwise; 27.17/11.48 27.17/11.48 splitGT2 key elt yu fm_l fm_r split_key True = splitGT fm_r split_key; 27.17/11.48 splitGT2 key elt yu fm_l fm_r split_key False = splitGT1 key elt yu fm_l fm_r split_key (split_key < key); 27.17/11.48 27.17/11.48 splitGT3 (Branch key elt yu fm_l fm_r) split_key = splitGT2 key elt yu fm_l fm_r split_key (split_key > key); 27.17/11.48 27.17/11.48 splitGT4 EmptyFM split_key = emptyFM; 27.17/11.48 splitGT4 wvu wvv = splitGT3 wvu wvv; 27.17/11.48 27.17/11.48 splitLT :: Ord b => FiniteMap b a -> b -> FiniteMap b a; 27.17/11.48 splitLT EmptyFM split_key = splitLT4 EmptyFM split_key; 27.17/11.48 splitLT (Branch key elt yv fm_l fm_r) split_key = splitLT3 (Branch key elt yv fm_l fm_r) split_key; 27.17/11.48 27.17/11.48 splitLT0 key elt yv fm_l fm_r split_key True = fm_l; 27.17/11.48 27.17/11.48 splitLT1 key elt yv fm_l fm_r split_key True = mkVBalBranch key elt fm_l (splitLT fm_r split_key); 27.17/11.48 splitLT1 key elt yv fm_l fm_r split_key False = splitLT0 key elt yv fm_l fm_r split_key otherwise; 27.17/11.48 27.17/11.48 splitLT2 key elt yv fm_l fm_r split_key True = splitLT fm_l split_key; 27.17/11.48 splitLT2 key elt yv fm_l fm_r split_key False = splitLT1 key elt yv fm_l fm_r split_key (split_key > key); 27.17/11.48 27.17/11.48 splitLT3 (Branch key elt yv fm_l fm_r) split_key = splitLT2 key elt yv fm_l fm_r split_key (split_key < key); 27.17/11.48 27.17/11.48 splitLT4 EmptyFM split_key = emptyFM; 27.17/11.48 splitLT4 wvy wvz = splitLT3 wvy wvz; 27.17/11.48 27.17/11.48 unitFM :: b -> a -> FiniteMap b a; 27.17/11.48 unitFM key elt = Branch key elt (Pos (Succ Zero)) emptyFM emptyFM; 27.17/11.48 27.17/11.48 } 27.17/11.48 module Maybe where { 27.17/11.48 import qualified FiniteMap; 27.17/11.48 import qualified Main; 27.17/11.48 import qualified Prelude; 27.17/11.48 } 27.17/11.48 module Main where { 27.17/11.48 import qualified FiniteMap; 27.17/11.48 import qualified Maybe; 27.17/11.48 import qualified Prelude; 27.17/11.48 } 27.17/11.48 27.17/11.48 ---------------------------------------- 27.17/11.48 27.17/11.48 (13) Narrow (SOUND) 27.17/11.48 Haskell To QDPs 27.17/11.48 27.17/11.48 digraph dp_graph { 27.17/11.48 node [outthreshold=100, inthreshold=100];1[label="FiniteMap.plusFM",fontsize=16,color="grey",shape="box"];1 -> 3[label="",style="dashed", color="grey", weight=3]; 27.17/11.48 3[label="FiniteMap.plusFM xux3",fontsize=16,color="grey",shape="box"];3 -> 4[label="",style="dashed", color="grey", weight=3]; 27.17/11.48 4[label="FiniteMap.plusFM xux3 xux4",fontsize=16,color="burlywood",shape="triangle"];10932[label="xux3/FiniteMap.EmptyFM",fontsize=10,color="white",style="solid",shape="box"];4 -> 10932[label="",style="solid", color="burlywood", weight=9]; 27.17/11.48 10932 -> 5[label="",style="solid", color="burlywood", weight=3]; 27.17/11.48 10933[label="xux3/FiniteMap.Branch xux30 xux31 xux32 xux33 xux34",fontsize=10,color="white",style="solid",shape="box"];4 -> 10933[label="",style="solid", color="burlywood", weight=9]; 27.17/11.48 10933 -> 6[label="",style="solid", color="burlywood", weight=3]; 27.17/11.48 5[label="FiniteMap.plusFM FiniteMap.EmptyFM xux4",fontsize=16,color="black",shape="box"];5 -> 7[label="",style="solid", color="black", weight=3]; 27.17/11.48 6[label="FiniteMap.plusFM (FiniteMap.Branch xux30 xux31 xux32 xux33 xux34) xux4",fontsize=16,color="burlywood",shape="box"];10934[label="xux4/FiniteMap.EmptyFM",fontsize=10,color="white",style="solid",shape="box"];6 -> 10934[label="",style="solid", color="burlywood", weight=9]; 27.17/11.48 10934 -> 8[label="",style="solid", color="burlywood", weight=3]; 27.17/11.48 10935[label="xux4/FiniteMap.Branch xux40 xux41 xux42 xux43 xux44",fontsize=10,color="white",style="solid",shape="box"];6 -> 10935[label="",style="solid", color="burlywood", weight=9]; 27.17/11.48 10935 -> 9[label="",style="solid", color="burlywood", weight=3]; 27.17/11.48 7[label="xux4",fontsize=16,color="green",shape="box"];8[label="FiniteMap.plusFM (FiniteMap.Branch xux30 xux31 xux32 xux33 xux34) FiniteMap.EmptyFM",fontsize=16,color="black",shape="box"];8 -> 10[label="",style="solid", color="black", weight=3]; 27.17/11.48 9[label="FiniteMap.plusFM (FiniteMap.Branch xux30 xux31 xux32 xux33 xux34) (FiniteMap.Branch xux40 xux41 xux42 xux43 xux44)",fontsize=16,color="black",shape="box"];9 -> 11[label="",style="solid", color="black", weight=3]; 27.17/11.48 10[label="FiniteMap.Branch xux30 xux31 xux32 xux33 xux34",fontsize=16,color="green",shape="box"];11 -> 12[label="",style="dashed", color="red", weight=0]; 27.17/11.48 11[label="FiniteMap.mkVBalBranch xux40 xux41 (FiniteMap.plusFM (FiniteMap.plusFMLts (FiniteMap.Branch xux30 xux31 xux32 xux33 xux34) xux40) xux43) (FiniteMap.plusFM (FiniteMap.plusFMGts (FiniteMap.Branch xux30 xux31 xux32 xux33 xux34) xux40) xux44)",fontsize=16,color="magenta"];11 -> 13[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 11 -> 14[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 13 -> 4[label="",style="dashed", color="red", weight=0]; 27.17/11.48 13[label="FiniteMap.plusFM (FiniteMap.plusFMGts (FiniteMap.Branch xux30 xux31 xux32 xux33 xux34) xux40) xux44",fontsize=16,color="magenta"];13 -> 15[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 13 -> 16[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 14 -> 4[label="",style="dashed", color="red", weight=0]; 27.17/11.48 14[label="FiniteMap.plusFM (FiniteMap.plusFMLts (FiniteMap.Branch xux30 xux31 xux32 xux33 xux34) xux40) xux43",fontsize=16,color="magenta"];14 -> 17[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 14 -> 18[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 12[label="FiniteMap.mkVBalBranch xux40 xux41 xux6 xux5",fontsize=16,color="burlywood",shape="triangle"];10936[label="xux6/FiniteMap.EmptyFM",fontsize=10,color="white",style="solid",shape="box"];12 -> 10936[label="",style="solid", color="burlywood", weight=9]; 27.17/11.48 10936 -> 19[label="",style="solid", color="burlywood", weight=3]; 27.17/11.48 10937[label="xux6/FiniteMap.Branch xux60 xux61 xux62 xux63 xux64",fontsize=10,color="white",style="solid",shape="box"];12 -> 10937[label="",style="solid", color="burlywood", weight=9]; 27.17/11.48 10937 -> 20[label="",style="solid", color="burlywood", weight=3]; 27.17/11.48 15[label="FiniteMap.plusFMGts (FiniteMap.Branch xux30 xux31 xux32 xux33 xux34) xux40",fontsize=16,color="black",shape="box"];15 -> 21[label="",style="solid", color="black", weight=3]; 27.17/11.48 16[label="xux44",fontsize=16,color="green",shape="box"];17[label="FiniteMap.plusFMLts (FiniteMap.Branch xux30 xux31 xux32 xux33 xux34) xux40",fontsize=16,color="black",shape="box"];17 -> 22[label="",style="solid", color="black", weight=3]; 27.17/11.48 18[label="xux43",fontsize=16,color="green",shape="box"];19[label="FiniteMap.mkVBalBranch xux40 xux41 FiniteMap.EmptyFM xux5",fontsize=16,color="black",shape="box"];19 -> 23[label="",style="solid", color="black", weight=3]; 27.17/11.48 20[label="FiniteMap.mkVBalBranch xux40 xux41 (FiniteMap.Branch xux60 xux61 xux62 xux63 xux64) xux5",fontsize=16,color="burlywood",shape="box"];10938[label="xux5/FiniteMap.EmptyFM",fontsize=10,color="white",style="solid",shape="box"];20 -> 10938[label="",style="solid", color="burlywood", weight=9]; 27.17/11.48 10938 -> 24[label="",style="solid", color="burlywood", weight=3]; 27.17/11.48 10939[label="xux5/FiniteMap.Branch xux50 xux51 xux52 xux53 xux54",fontsize=10,color="white",style="solid",shape="box"];20 -> 10939[label="",style="solid", color="burlywood", weight=9]; 27.17/11.48 10939 -> 25[label="",style="solid", color="burlywood", weight=3]; 27.17/11.48 21[label="FiniteMap.splitGT (FiniteMap.Branch xux30 xux31 xux32 xux33 xux34) xux40",fontsize=16,color="black",shape="box"];21 -> 26[label="",style="solid", color="black", weight=3]; 27.17/11.48 22[label="FiniteMap.splitLT (FiniteMap.Branch xux30 xux31 xux32 xux33 xux34) xux40",fontsize=16,color="black",shape="box"];22 -> 27[label="",style="solid", color="black", weight=3]; 27.17/11.48 23[label="FiniteMap.mkVBalBranch5 xux40 xux41 FiniteMap.EmptyFM xux5",fontsize=16,color="black",shape="box"];23 -> 28[label="",style="solid", color="black", weight=3]; 27.17/11.48 24[label="FiniteMap.mkVBalBranch xux40 xux41 (FiniteMap.Branch xux60 xux61 xux62 xux63 xux64) FiniteMap.EmptyFM",fontsize=16,color="black",shape="box"];24 -> 29[label="",style="solid", color="black", weight=3]; 27.17/11.48 25[label="FiniteMap.mkVBalBranch xux40 xux41 (FiniteMap.Branch xux60 xux61 xux62 xux63 xux64) (FiniteMap.Branch xux50 xux51 xux52 xux53 xux54)",fontsize=16,color="black",shape="box"];25 -> 30[label="",style="solid", color="black", weight=3]; 27.17/11.48 26[label="FiniteMap.splitGT3 (FiniteMap.Branch xux30 xux31 xux32 xux33 xux34) xux40",fontsize=16,color="black",shape="triangle"];26 -> 31[label="",style="solid", color="black", weight=3]; 27.17/11.48 27[label="FiniteMap.splitLT3 (FiniteMap.Branch xux30 xux31 xux32 xux33 xux34) xux40",fontsize=16,color="black",shape="triangle"];27 -> 32[label="",style="solid", color="black", weight=3]; 27.17/11.48 28[label="FiniteMap.addToFM xux5 xux40 xux41",fontsize=16,color="black",shape="triangle"];28 -> 33[label="",style="solid", color="black", weight=3]; 27.17/11.48 29[label="FiniteMap.mkVBalBranch4 xux40 xux41 (FiniteMap.Branch xux60 xux61 xux62 xux63 xux64) FiniteMap.EmptyFM",fontsize=16,color="black",shape="box"];29 -> 34[label="",style="solid", color="black", weight=3]; 27.17/11.48 30[label="FiniteMap.mkVBalBranch3 xux40 xux41 (FiniteMap.Branch xux60 xux61 xux62 xux63 xux64) (FiniteMap.Branch xux50 xux51 xux52 xux53 xux54)",fontsize=16,color="black",shape="box"];30 -> 35[label="",style="solid", color="black", weight=3]; 27.17/11.48 31[label="FiniteMap.splitGT2 xux30 xux31 xux32 xux33 xux34 xux40 (xux40 > xux30)",fontsize=16,color="black",shape="box"];31 -> 36[label="",style="solid", color="black", weight=3]; 27.17/11.48 32[label="FiniteMap.splitLT2 xux30 xux31 xux32 xux33 xux34 xux40 (xux40 < xux30)",fontsize=16,color="black",shape="box"];32 -> 37[label="",style="solid", color="black", weight=3]; 27.17/11.48 33[label="FiniteMap.addToFM_C FiniteMap.addToFM0 xux5 xux40 xux41",fontsize=16,color="burlywood",shape="triangle"];10940[label="xux5/FiniteMap.EmptyFM",fontsize=10,color="white",style="solid",shape="box"];33 -> 10940[label="",style="solid", color="burlywood", weight=9]; 27.17/11.48 10940 -> 38[label="",style="solid", color="burlywood", weight=3]; 27.17/11.48 10941[label="xux5/FiniteMap.Branch xux50 xux51 xux52 xux53 xux54",fontsize=10,color="white",style="solid",shape="box"];33 -> 10941[label="",style="solid", color="burlywood", weight=9]; 27.17/11.48 10941 -> 39[label="",style="solid", color="burlywood", weight=3]; 27.17/11.48 34 -> 28[label="",style="dashed", color="red", weight=0]; 27.17/11.48 34[label="FiniteMap.addToFM (FiniteMap.Branch xux60 xux61 xux62 xux63 xux64) xux40 xux41",fontsize=16,color="magenta"];34 -> 40[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 35 -> 7270[label="",style="dashed", color="red", weight=0]; 27.17/11.48 35[label="FiniteMap.mkVBalBranch3MkVBalBranch2 xux50 xux51 xux52 xux53 xux54 xux60 xux61 xux62 xux63 xux64 xux40 xux41 xux60 xux61 xux62 xux63 xux64 xux50 xux51 xux52 xux53 xux54 (FiniteMap.sIZE_RATIO * FiniteMap.mkVBalBranch3Size_l xux50 xux51 xux52 xux53 xux54 xux60 xux61 xux62 xux63 xux64 < FiniteMap.mkVBalBranch3Size_r xux50 xux51 xux52 xux53 xux54 xux60 xux61 xux62 xux63 xux64)",fontsize=16,color="magenta"];35 -> 7271[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 35 -> 7272[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 35 -> 7273[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 35 -> 7274[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 35 -> 7275[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 35 -> 7276[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 35 -> 7277[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 35 -> 7278[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 35 -> 7279[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 35 -> 7280[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 35 -> 7281[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 35 -> 7282[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 35 -> 7283[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 36[label="FiniteMap.splitGT2 xux30 xux31 xux32 xux33 xux34 xux40 (compare xux40 xux30 == GT)",fontsize=16,color="black",shape="box"];36 -> 42[label="",style="solid", color="black", weight=3]; 27.17/11.48 37[label="FiniteMap.splitLT2 xux30 xux31 xux32 xux33 xux34 xux40 (compare xux40 xux30 == LT)",fontsize=16,color="black",shape="box"];37 -> 43[label="",style="solid", color="black", weight=3]; 27.17/11.48 38[label="FiniteMap.addToFM_C FiniteMap.addToFM0 FiniteMap.EmptyFM xux40 xux41",fontsize=16,color="black",shape="box"];38 -> 44[label="",style="solid", color="black", weight=3]; 27.17/11.48 39[label="FiniteMap.addToFM_C FiniteMap.addToFM0 (FiniteMap.Branch xux50 xux51 xux52 xux53 xux54) xux40 xux41",fontsize=16,color="black",shape="box"];39 -> 45[label="",style="solid", color="black", weight=3]; 27.17/11.48 40[label="FiniteMap.Branch xux60 xux61 xux62 xux63 xux64",fontsize=16,color="green",shape="box"];7271[label="xux54",fontsize=16,color="green",shape="box"];7272[label="xux63",fontsize=16,color="green",shape="box"];7273[label="xux62",fontsize=16,color="green",shape="box"];7274[label="xux50",fontsize=16,color="green",shape="box"];7275[label="xux51",fontsize=16,color="green",shape="box"];7276[label="xux52",fontsize=16,color="green",shape="box"];7277[label="xux60",fontsize=16,color="green",shape="box"];7278[label="xux41",fontsize=16,color="green",shape="box"];7279[label="FiniteMap.sIZE_RATIO * FiniteMap.mkVBalBranch3Size_l xux50 xux51 xux52 xux53 xux54 xux60 xux61 xux62 xux63 xux64 < FiniteMap.mkVBalBranch3Size_r xux50 xux51 xux52 xux53 xux54 xux60 xux61 xux62 xux63 xux64",fontsize=16,color="black",shape="box"];7279 -> 8680[label="",style="solid", color="black", weight=3]; 27.17/11.48 7280[label="xux53",fontsize=16,color="green",shape="box"];7281[label="xux40",fontsize=16,color="green",shape="box"];7282[label="xux61",fontsize=16,color="green",shape="box"];7283[label="xux64",fontsize=16,color="green",shape="box"];7270[label="FiniteMap.mkVBalBranch3MkVBalBranch2 xux2790 xux2791 xux2792 xux2793 xux2794 xux2850 xux2851 xux2852 xux2853 xux2854 xux286 xux287 xux2850 xux2851 xux2852 xux2853 xux2854 xux2790 xux2791 xux2792 xux2793 xux2794 xux575",fontsize=16,color="burlywood",shape="triangle"];10942[label="xux575/False",fontsize=10,color="white",style="solid",shape="box"];7270 -> 10942[label="",style="solid", color="burlywood", weight=9]; 27.17/11.48 10942 -> 8681[label="",style="solid", color="burlywood", weight=3]; 27.17/11.48 10943[label="xux575/True",fontsize=10,color="white",style="solid",shape="box"];7270 -> 10943[label="",style="solid", color="burlywood", weight=9]; 27.17/11.48 10943 -> 8682[label="",style="solid", color="burlywood", weight=3]; 27.17/11.48 42[label="FiniteMap.splitGT2 xux30 xux31 xux32 xux33 xux34 xux40 (primCmpChar xux40 xux30 == GT)",fontsize=16,color="burlywood",shape="box"];10944[label="xux40/Char xux400",fontsize=10,color="white",style="solid",shape="box"];42 -> 10944[label="",style="solid", color="burlywood", weight=9]; 27.17/11.48 10944 -> 47[label="",style="solid", color="burlywood", weight=3]; 27.17/11.48 43[label="FiniteMap.splitLT2 xux30 xux31 xux32 xux33 xux34 xux40 (primCmpChar xux40 xux30 == LT)",fontsize=16,color="burlywood",shape="box"];10945[label="xux40/Char xux400",fontsize=10,color="white",style="solid",shape="box"];43 -> 10945[label="",style="solid", color="burlywood", weight=9]; 27.17/11.48 10945 -> 48[label="",style="solid", color="burlywood", weight=3]; 27.17/11.48 44[label="FiniteMap.addToFM_C4 FiniteMap.addToFM0 FiniteMap.EmptyFM xux40 xux41",fontsize=16,color="black",shape="box"];44 -> 49[label="",style="solid", color="black", weight=3]; 27.17/11.48 45[label="FiniteMap.addToFM_C3 FiniteMap.addToFM0 (FiniteMap.Branch xux50 xux51 xux52 xux53 xux54) xux40 xux41",fontsize=16,color="black",shape="box"];45 -> 50[label="",style="solid", color="black", weight=3]; 27.17/11.48 8680[label="compare (FiniteMap.sIZE_RATIO * FiniteMap.mkVBalBranch3Size_l xux50 xux51 xux52 xux53 xux54 xux60 xux61 xux62 xux63 xux64) (FiniteMap.mkVBalBranch3Size_r xux50 xux51 xux52 xux53 xux54 xux60 xux61 xux62 xux63 xux64) == LT",fontsize=16,color="black",shape="box"];8680 -> 8698[label="",style="solid", color="black", weight=3]; 27.17/11.48 8681[label="FiniteMap.mkVBalBranch3MkVBalBranch2 xux2790 xux2791 xux2792 xux2793 xux2794 xux2850 xux2851 xux2852 xux2853 xux2854 xux286 xux287 xux2850 xux2851 xux2852 xux2853 xux2854 xux2790 xux2791 xux2792 xux2793 xux2794 False",fontsize=16,color="black",shape="box"];8681 -> 8699[label="",style="solid", color="black", weight=3]; 27.17/11.48 8682[label="FiniteMap.mkVBalBranch3MkVBalBranch2 xux2790 xux2791 xux2792 xux2793 xux2794 xux2850 xux2851 xux2852 xux2853 xux2854 xux286 xux287 xux2850 xux2851 xux2852 xux2853 xux2854 xux2790 xux2791 xux2792 xux2793 xux2794 True",fontsize=16,color="black",shape="box"];8682 -> 8700[label="",style="solid", color="black", weight=3]; 27.17/11.48 47[label="FiniteMap.splitGT2 xux30 xux31 xux32 xux33 xux34 (Char xux400) (primCmpChar (Char xux400) xux30 == GT)",fontsize=16,color="burlywood",shape="box"];10946[label="xux30/Char xux300",fontsize=10,color="white",style="solid",shape="box"];47 -> 10946[label="",style="solid", color="burlywood", weight=9]; 27.17/11.48 10946 -> 52[label="",style="solid", color="burlywood", weight=3]; 27.17/11.48 48[label="FiniteMap.splitLT2 xux30 xux31 xux32 xux33 xux34 (Char xux400) (primCmpChar (Char xux400) xux30 == LT)",fontsize=16,color="burlywood",shape="box"];10947[label="xux30/Char xux300",fontsize=10,color="white",style="solid",shape="box"];48 -> 10947[label="",style="solid", color="burlywood", weight=9]; 27.17/11.48 10947 -> 53[label="",style="solid", color="burlywood", weight=3]; 27.17/11.48 49[label="FiniteMap.unitFM xux40 xux41",fontsize=16,color="black",shape="box"];49 -> 54[label="",style="solid", color="black", weight=3]; 27.17/11.48 50 -> 9235[label="",style="dashed", color="red", weight=0]; 27.17/11.48 50[label="FiniteMap.addToFM_C2 FiniteMap.addToFM0 xux50 xux51 xux52 xux53 xux54 xux40 xux41 (xux40 < xux50)",fontsize=16,color="magenta"];50 -> 9236[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 50 -> 9237[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 50 -> 9238[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 50 -> 9239[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 50 -> 9240[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 50 -> 9241[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 50 -> 9242[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 50 -> 9243[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 8698[label="primCmpInt (FiniteMap.sIZE_RATIO * FiniteMap.mkVBalBranch3Size_l xux50 xux51 xux52 xux53 xux54 xux60 xux61 xux62 xux63 xux64) (FiniteMap.mkVBalBranch3Size_r xux50 xux51 xux52 xux53 xux54 xux60 xux61 xux62 xux63 xux64) == LT",fontsize=16,color="black",shape="box"];8698 -> 8709[label="",style="solid", color="black", weight=3]; 27.17/11.48 8699[label="FiniteMap.mkVBalBranch3MkVBalBranch1 xux2790 xux2791 xux2792 xux2793 xux2794 xux2850 xux2851 xux2852 xux2853 xux2854 xux286 xux287 xux2850 xux2851 xux2852 xux2853 xux2854 xux2790 xux2791 xux2792 xux2793 xux2794 (FiniteMap.sIZE_RATIO * FiniteMap.mkVBalBranch3Size_r xux2790 xux2791 xux2792 xux2793 xux2794 xux2850 xux2851 xux2852 xux2853 xux2854 < FiniteMap.mkVBalBranch3Size_l xux2790 xux2791 xux2792 xux2793 xux2794 xux2850 xux2851 xux2852 xux2853 xux2854)",fontsize=16,color="black",shape="box"];8699 -> 8710[label="",style="solid", color="black", weight=3]; 27.17/11.48 8700[label="FiniteMap.mkBalBranch xux2790 xux2791 (FiniteMap.mkVBalBranch xux286 xux287 (FiniteMap.Branch xux2850 xux2851 xux2852 xux2853 xux2854) xux2793) xux2794",fontsize=16,color="black",shape="box"];8700 -> 8711[label="",style="solid", color="black", weight=3]; 27.17/11.48 52[label="FiniteMap.splitGT2 (Char xux300) xux31 xux32 xux33 xux34 (Char xux400) (primCmpChar (Char xux400) (Char xux300) == GT)",fontsize=16,color="black",shape="box"];52 -> 57[label="",style="solid", color="black", weight=3]; 27.17/11.48 53[label="FiniteMap.splitLT2 (Char xux300) xux31 xux32 xux33 xux34 (Char xux400) (primCmpChar (Char xux400) (Char xux300) == LT)",fontsize=16,color="black",shape="box"];53 -> 58[label="",style="solid", color="black", weight=3]; 27.17/11.48 54[label="FiniteMap.Branch xux40 xux41 (Pos (Succ Zero)) FiniteMap.emptyFM FiniteMap.emptyFM",fontsize=16,color="green",shape="box"];54 -> 59[label="",style="dashed", color="green", weight=3]; 27.17/11.48 54 -> 60[label="",style="dashed", color="green", weight=3]; 27.17/11.48 9236[label="xux51",fontsize=16,color="green",shape="box"];9237[label="xux52",fontsize=16,color="green",shape="box"];9238[label="xux50",fontsize=16,color="green",shape="box"];9239[label="xux53",fontsize=16,color="green",shape="box"];9240[label="xux40",fontsize=16,color="green",shape="box"];9241[label="xux41",fontsize=16,color="green",shape="box"];9242[label="xux40 < xux50",fontsize=16,color="black",shape="triangle"];9242 -> 9396[label="",style="solid", color="black", weight=3]; 27.17/11.48 9243[label="xux54",fontsize=16,color="green",shape="box"];9235[label="FiniteMap.addToFM_C2 FiniteMap.addToFM0 xux639 xux640 xux641 xux642 xux643 xux644 xux645 xux646",fontsize=16,color="burlywood",shape="triangle"];10948[label="xux646/False",fontsize=10,color="white",style="solid",shape="box"];9235 -> 10948[label="",style="solid", color="burlywood", weight=9]; 27.17/11.48 10948 -> 9397[label="",style="solid", color="burlywood", weight=3]; 27.17/11.48 10949[label="xux646/True",fontsize=10,color="white",style="solid",shape="box"];9235 -> 10949[label="",style="solid", color="burlywood", weight=9]; 27.17/11.48 10949 -> 9398[label="",style="solid", color="burlywood", weight=3]; 27.17/11.48 8709[label="primCmpInt (primMulInt FiniteMap.sIZE_RATIO (FiniteMap.mkVBalBranch3Size_l xux50 xux51 xux52 xux53 xux54 xux60 xux61 xux62 xux63 xux64)) (FiniteMap.mkVBalBranch3Size_r xux50 xux51 xux52 xux53 xux54 xux60 xux61 xux62 xux63 xux64) == LT",fontsize=16,color="black",shape="box"];8709 -> 8721[label="",style="solid", color="black", weight=3]; 27.17/11.48 8710[label="FiniteMap.mkVBalBranch3MkVBalBranch1 xux2790 xux2791 xux2792 xux2793 xux2794 xux2850 xux2851 xux2852 xux2853 xux2854 xux286 xux287 xux2850 xux2851 xux2852 xux2853 xux2854 xux2790 xux2791 xux2792 xux2793 xux2794 (compare (FiniteMap.sIZE_RATIO * FiniteMap.mkVBalBranch3Size_r xux2790 xux2791 xux2792 xux2793 xux2794 xux2850 xux2851 xux2852 xux2853 xux2854) (FiniteMap.mkVBalBranch3Size_l xux2790 xux2791 xux2792 xux2793 xux2794 xux2850 xux2851 xux2852 xux2853 xux2854) == LT)",fontsize=16,color="black",shape="box"];8710 -> 8722[label="",style="solid", color="black", weight=3]; 27.17/11.48 8711[label="FiniteMap.mkBalBranch6 xux2790 xux2791 (FiniteMap.mkVBalBranch xux286 xux287 (FiniteMap.Branch xux2850 xux2851 xux2852 xux2853 xux2854) xux2793) xux2794",fontsize=16,color="black",shape="box"];8711 -> 8723[label="",style="solid", color="black", weight=3]; 27.17/11.48 57[label="FiniteMap.splitGT2 (Char xux300) xux31 xux32 xux33 xux34 (Char xux400) (primCmpNat xux400 xux300 == GT)",fontsize=16,color="burlywood",shape="box"];10950[label="xux400/Succ xux4000",fontsize=10,color="white",style="solid",shape="box"];57 -> 10950[label="",style="solid", color="burlywood", weight=9]; 27.17/11.48 10950 -> 63[label="",style="solid", color="burlywood", weight=3]; 27.17/11.48 10951[label="xux400/Zero",fontsize=10,color="white",style="solid",shape="box"];57 -> 10951[label="",style="solid", color="burlywood", weight=9]; 27.17/11.48 10951 -> 64[label="",style="solid", color="burlywood", weight=3]; 27.17/11.48 58[label="FiniteMap.splitLT2 (Char xux300) xux31 xux32 xux33 xux34 (Char xux400) (primCmpNat xux400 xux300 == LT)",fontsize=16,color="burlywood",shape="box"];10952[label="xux400/Succ xux4000",fontsize=10,color="white",style="solid",shape="box"];58 -> 10952[label="",style="solid", color="burlywood", weight=9]; 27.17/11.48 10952 -> 65[label="",style="solid", color="burlywood", weight=3]; 27.17/11.48 10953[label="xux400/Zero",fontsize=10,color="white",style="solid",shape="box"];58 -> 10953[label="",style="solid", color="burlywood", weight=9]; 27.17/11.48 10953 -> 66[label="",style="solid", color="burlywood", weight=3]; 27.17/11.48 59[label="FiniteMap.emptyFM",fontsize=16,color="black",shape="triangle"];59 -> 67[label="",style="solid", color="black", weight=3]; 27.17/11.48 60 -> 59[label="",style="dashed", color="red", weight=0]; 27.17/11.48 60[label="FiniteMap.emptyFM",fontsize=16,color="magenta"];9396[label="compare xux40 xux50 == LT",fontsize=16,color="black",shape="box"];9396 -> 9409[label="",style="solid", color="black", weight=3]; 27.17/11.48 9397[label="FiniteMap.addToFM_C2 FiniteMap.addToFM0 xux639 xux640 xux641 xux642 xux643 xux644 xux645 False",fontsize=16,color="black",shape="box"];9397 -> 9410[label="",style="solid", color="black", weight=3]; 27.17/11.48 9398[label="FiniteMap.addToFM_C2 FiniteMap.addToFM0 xux639 xux640 xux641 xux642 xux643 xux644 xux645 True",fontsize=16,color="black",shape="box"];9398 -> 9411[label="",style="solid", color="black", weight=3]; 27.17/11.48 8721 -> 9966[label="",style="dashed", color="red", weight=0]; 27.17/11.48 8721[label="primCmpInt (primMulInt (Pos (Succ (Succ (Succ (Succ (Succ Zero)))))) (FiniteMap.mkVBalBranch3Size_l xux50 xux51 xux52 xux53 xux54 xux60 xux61 xux62 xux63 xux64)) (FiniteMap.mkVBalBranch3Size_r xux50 xux51 xux52 xux53 xux54 xux60 xux61 xux62 xux63 xux64) == LT",fontsize=16,color="magenta"];8721 -> 9967[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 8721 -> 9968[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 8721 -> 9969[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 8721 -> 9970[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 8721 -> 9971[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 8721 -> 9972[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 8721 -> 9973[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 8721 -> 9974[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 8721 -> 9975[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 8721 -> 9976[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 8721 -> 9977[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 8722[label="FiniteMap.mkVBalBranch3MkVBalBranch1 xux2790 xux2791 xux2792 xux2793 xux2794 xux2850 xux2851 xux2852 xux2853 xux2854 xux286 xux287 xux2850 xux2851 xux2852 xux2853 xux2854 xux2790 xux2791 xux2792 xux2793 xux2794 (primCmpInt (FiniteMap.sIZE_RATIO * FiniteMap.mkVBalBranch3Size_r xux2790 xux2791 xux2792 xux2793 xux2794 xux2850 xux2851 xux2852 xux2853 xux2854) (FiniteMap.mkVBalBranch3Size_l xux2790 xux2791 xux2792 xux2793 xux2794 xux2850 xux2851 xux2852 xux2853 xux2854) == LT)",fontsize=16,color="black",shape="box"];8722 -> 8727[label="",style="solid", color="black", weight=3]; 27.17/11.48 8723 -> 10006[label="",style="dashed", color="red", weight=0]; 27.17/11.48 8723[label="FiniteMap.mkBalBranch6MkBalBranch5 xux2790 xux2791 (FiniteMap.mkVBalBranch xux286 xux287 (FiniteMap.Branch xux2850 xux2851 xux2852 xux2853 xux2854) xux2793) xux2794 xux2790 xux2791 (FiniteMap.mkVBalBranch xux286 xux287 (FiniteMap.Branch xux2850 xux2851 xux2852 xux2853 xux2854) xux2793) xux2794 (FiniteMap.mkBalBranch6Size_l xux2790 xux2791 (FiniteMap.mkVBalBranch xux286 xux287 (FiniteMap.Branch xux2850 xux2851 xux2852 xux2853 xux2854) xux2793) xux2794 + FiniteMap.mkBalBranch6Size_r xux2790 xux2791 (FiniteMap.mkVBalBranch xux286 xux287 (FiniteMap.Branch xux2850 xux2851 xux2852 xux2853 xux2854) xux2793) xux2794 < Pos (Succ (Succ Zero)))",fontsize=16,color="magenta"];8723 -> 10007[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 8723 -> 10008[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 8723 -> 10009[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 8723 -> 10010[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 8723 -> 10011[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 8723 -> 10012[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 63[label="FiniteMap.splitGT2 (Char xux300) xux31 xux32 xux33 xux34 (Char (Succ xux4000)) (primCmpNat (Succ xux4000) xux300 == GT)",fontsize=16,color="burlywood",shape="box"];10954[label="xux300/Succ xux3000",fontsize=10,color="white",style="solid",shape="box"];63 -> 10954[label="",style="solid", color="burlywood", weight=9]; 27.17/11.48 10954 -> 70[label="",style="solid", color="burlywood", weight=3]; 27.17/11.48 10955[label="xux300/Zero",fontsize=10,color="white",style="solid",shape="box"];63 -> 10955[label="",style="solid", color="burlywood", weight=9]; 27.17/11.48 10955 -> 71[label="",style="solid", color="burlywood", weight=3]; 27.17/11.48 64[label="FiniteMap.splitGT2 (Char xux300) xux31 xux32 xux33 xux34 (Char Zero) (primCmpNat Zero xux300 == GT)",fontsize=16,color="burlywood",shape="box"];10956[label="xux300/Succ xux3000",fontsize=10,color="white",style="solid",shape="box"];64 -> 10956[label="",style="solid", color="burlywood", weight=9]; 27.17/11.48 10956 -> 72[label="",style="solid", color="burlywood", weight=3]; 27.17/11.48 10957[label="xux300/Zero",fontsize=10,color="white",style="solid",shape="box"];64 -> 10957[label="",style="solid", color="burlywood", weight=9]; 27.17/11.48 10957 -> 73[label="",style="solid", color="burlywood", weight=3]; 27.17/11.48 65[label="FiniteMap.splitLT2 (Char xux300) xux31 xux32 xux33 xux34 (Char (Succ xux4000)) (primCmpNat (Succ xux4000) xux300 == LT)",fontsize=16,color="burlywood",shape="box"];10958[label="xux300/Succ xux3000",fontsize=10,color="white",style="solid",shape="box"];65 -> 10958[label="",style="solid", color="burlywood", weight=9]; 27.17/11.48 10958 -> 74[label="",style="solid", color="burlywood", weight=3]; 27.17/11.48 10959[label="xux300/Zero",fontsize=10,color="white",style="solid",shape="box"];65 -> 10959[label="",style="solid", color="burlywood", weight=9]; 27.17/11.48 10959 -> 75[label="",style="solid", color="burlywood", weight=3]; 27.17/11.48 66[label="FiniteMap.splitLT2 (Char xux300) xux31 xux32 xux33 xux34 (Char Zero) (primCmpNat Zero xux300 == LT)",fontsize=16,color="burlywood",shape="box"];10960[label="xux300/Succ xux3000",fontsize=10,color="white",style="solid",shape="box"];66 -> 10960[label="",style="solid", color="burlywood", weight=9]; 27.17/11.48 10960 -> 76[label="",style="solid", color="burlywood", weight=3]; 27.17/11.48 10961[label="xux300/Zero",fontsize=10,color="white",style="solid",shape="box"];66 -> 10961[label="",style="solid", color="burlywood", weight=9]; 27.17/11.48 10961 -> 77[label="",style="solid", color="burlywood", weight=3]; 27.17/11.48 67[label="FiniteMap.EmptyFM",fontsize=16,color="green",shape="box"];9409[label="primCmpChar xux40 xux50 == LT",fontsize=16,color="burlywood",shape="box"];10962[label="xux40/Char xux400",fontsize=10,color="white",style="solid",shape="box"];9409 -> 10962[label="",style="solid", color="burlywood", weight=9]; 27.17/11.48 10962 -> 9458[label="",style="solid", color="burlywood", weight=3]; 27.17/11.48 9410 -> 9459[label="",style="dashed", color="red", weight=0]; 27.17/11.48 9410[label="FiniteMap.addToFM_C1 FiniteMap.addToFM0 xux639 xux640 xux641 xux642 xux643 xux644 xux645 (xux644 > xux639)",fontsize=16,color="magenta"];9410 -> 9460[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 9410 -> 9461[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 9410 -> 9462[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 9410 -> 9463[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 9410 -> 9464[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 9410 -> 9465[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 9410 -> 9466[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 9410 -> 9467[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 9411[label="FiniteMap.mkBalBranch xux639 xux640 (FiniteMap.addToFM_C FiniteMap.addToFM0 xux642 xux644 xux645) xux643",fontsize=16,color="black",shape="box"];9411 -> 9468[label="",style="solid", color="black", weight=3]; 27.17/11.48 9967[label="xux52",fontsize=16,color="green",shape="box"];9968[label="xux50",fontsize=16,color="green",shape="box"];9969[label="xux63",fontsize=16,color="green",shape="box"];9970[label="xux54",fontsize=16,color="green",shape="box"];9971[label="xux62",fontsize=16,color="green",shape="box"];9972[label="FiniteMap.mkVBalBranch3Size_l xux50 xux51 xux52 xux53 xux54 xux60 xux61 xux62 xux63 xux64",fontsize=16,color="black",shape="box"];9972 -> 10002[label="",style="solid", color="black", weight=3]; 27.17/11.48 9973[label="xux53",fontsize=16,color="green",shape="box"];9974[label="xux51",fontsize=16,color="green",shape="box"];9975[label="xux60",fontsize=16,color="green",shape="box"];9976[label="xux61",fontsize=16,color="green",shape="box"];9977[label="xux64",fontsize=16,color="green",shape="box"];9966[label="primCmpInt (primMulInt (Pos (Succ (Succ (Succ (Succ (Succ Zero)))))) xux736) (FiniteMap.mkVBalBranch3Size_r xux27930 xux27931 xux27932 xux27933 xux27934 xux2850 xux2851 xux2852 xux2853 xux2854) == LT",fontsize=16,color="burlywood",shape="triangle"];10963[label="xux736/Pos xux7360",fontsize=10,color="white",style="solid",shape="box"];9966 -> 10963[label="",style="solid", color="burlywood", weight=9]; 27.17/11.48 10963 -> 10003[label="",style="solid", color="burlywood", weight=3]; 27.17/11.48 10964[label="xux736/Neg xux7360",fontsize=10,color="white",style="solid",shape="box"];9966 -> 10964[label="",style="solid", color="burlywood", weight=9]; 27.17/11.48 10964 -> 10004[label="",style="solid", color="burlywood", weight=3]; 27.17/11.48 8727[label="FiniteMap.mkVBalBranch3MkVBalBranch1 xux2790 xux2791 xux2792 xux2793 xux2794 xux2850 xux2851 xux2852 xux2853 xux2854 xux286 xux287 xux2850 xux2851 xux2852 xux2853 xux2854 xux2790 xux2791 xux2792 xux2793 xux2794 (primCmpInt (primMulInt FiniteMap.sIZE_RATIO (FiniteMap.mkVBalBranch3Size_r xux2790 xux2791 xux2792 xux2793 xux2794 xux2850 xux2851 xux2852 xux2853 xux2854)) (FiniteMap.mkVBalBranch3Size_l xux2790 xux2791 xux2792 xux2793 xux2794 xux2850 xux2851 xux2852 xux2853 xux2854) == LT)",fontsize=16,color="black",shape="box"];8727 -> 8740[label="",style="solid", color="black", weight=3]; 27.17/11.48 10007[label="xux2794",fontsize=16,color="green",shape="box"];10008[label="xux2794",fontsize=16,color="green",shape="box"];10009 -> 10189[label="",style="dashed", color="red", weight=0]; 27.17/11.48 10009[label="FiniteMap.mkBalBranch6Size_l xux2790 xux2791 (FiniteMap.mkVBalBranch xux286 xux287 (FiniteMap.Branch xux2850 xux2851 xux2852 xux2853 xux2854) xux2793) xux2794 + FiniteMap.mkBalBranch6Size_r xux2790 xux2791 (FiniteMap.mkVBalBranch xux286 xux287 (FiniteMap.Branch xux2850 xux2851 xux2852 xux2853 xux2854) xux2793) xux2794 < Pos (Succ (Succ Zero))",fontsize=16,color="magenta"];10009 -> 10190[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 10009 -> 10191[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 10009 -> 10192[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 10009 -> 10193[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 10009 -> 10194[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 10010[label="xux2790",fontsize=16,color="green",shape="box"];10011[label="FiniteMap.mkVBalBranch xux286 xux287 (FiniteMap.Branch xux2850 xux2851 xux2852 xux2853 xux2854) xux2793",fontsize=16,color="burlywood",shape="triangle"];10965[label="xux2793/FiniteMap.EmptyFM",fontsize=10,color="white",style="solid",shape="box"];10011 -> 10965[label="",style="solid", color="burlywood", weight=9]; 27.17/11.48 10965 -> 10169[label="",style="solid", color="burlywood", weight=3]; 27.17/11.48 10966[label="xux2793/FiniteMap.Branch xux27930 xux27931 xux27932 xux27933 xux27934",fontsize=10,color="white",style="solid",shape="box"];10011 -> 10966[label="",style="solid", color="burlywood", weight=9]; 27.17/11.48 10966 -> 10170[label="",style="solid", color="burlywood", weight=3]; 27.17/11.48 10012[label="xux2791",fontsize=16,color="green",shape="box"];10006[label="FiniteMap.mkBalBranch6MkBalBranch5 xux657 xux658 xux660 xux723 xux657 xux658 xux660 xux722 xux737",fontsize=16,color="burlywood",shape="triangle"];10967[label="xux737/False",fontsize=10,color="white",style="solid",shape="box"];10006 -> 10967[label="",style="solid", color="burlywood", weight=9]; 27.17/11.48 10967 -> 10171[label="",style="solid", color="burlywood", weight=3]; 27.17/11.48 10968[label="xux737/True",fontsize=10,color="white",style="solid",shape="box"];10006 -> 10968[label="",style="solid", color="burlywood", weight=9]; 27.17/11.48 10968 -> 10172[label="",style="solid", color="burlywood", weight=3]; 27.17/11.48 70[label="FiniteMap.splitGT2 (Char (Succ xux3000)) xux31 xux32 xux33 xux34 (Char (Succ xux4000)) (primCmpNat (Succ xux4000) (Succ xux3000) == GT)",fontsize=16,color="black",shape="box"];70 -> 81[label="",style="solid", color="black", weight=3]; 27.17/11.48 71[label="FiniteMap.splitGT2 (Char Zero) xux31 xux32 xux33 xux34 (Char (Succ xux4000)) (primCmpNat (Succ xux4000) Zero == GT)",fontsize=16,color="black",shape="box"];71 -> 82[label="",style="solid", color="black", weight=3]; 27.17/11.48 72[label="FiniteMap.splitGT2 (Char (Succ xux3000)) xux31 xux32 xux33 xux34 (Char Zero) (primCmpNat Zero (Succ xux3000) == GT)",fontsize=16,color="black",shape="box"];72 -> 83[label="",style="solid", color="black", weight=3]; 27.17/11.48 73[label="FiniteMap.splitGT2 (Char Zero) xux31 xux32 xux33 xux34 (Char Zero) (primCmpNat Zero Zero == GT)",fontsize=16,color="black",shape="box"];73 -> 84[label="",style="solid", color="black", weight=3]; 27.17/11.48 74[label="FiniteMap.splitLT2 (Char (Succ xux3000)) xux31 xux32 xux33 xux34 (Char (Succ xux4000)) (primCmpNat (Succ xux4000) (Succ xux3000) == LT)",fontsize=16,color="black",shape="box"];74 -> 85[label="",style="solid", color="black", weight=3]; 27.17/11.48 75[label="FiniteMap.splitLT2 (Char Zero) xux31 xux32 xux33 xux34 (Char (Succ xux4000)) (primCmpNat (Succ xux4000) Zero == LT)",fontsize=16,color="black",shape="box"];75 -> 86[label="",style="solid", color="black", weight=3]; 27.17/11.48 76[label="FiniteMap.splitLT2 (Char (Succ xux3000)) xux31 xux32 xux33 xux34 (Char Zero) (primCmpNat Zero (Succ xux3000) == LT)",fontsize=16,color="black",shape="box"];76 -> 87[label="",style="solid", color="black", weight=3]; 27.17/11.48 77[label="FiniteMap.splitLT2 (Char Zero) xux31 xux32 xux33 xux34 (Char Zero) (primCmpNat Zero Zero == LT)",fontsize=16,color="black",shape="box"];77 -> 88[label="",style="solid", color="black", weight=3]; 27.17/11.48 9458[label="primCmpChar (Char xux400) xux50 == LT",fontsize=16,color="burlywood",shape="box"];10969[label="xux50/Char xux500",fontsize=10,color="white",style="solid",shape="box"];9458 -> 10969[label="",style="solid", color="burlywood", weight=9]; 27.17/11.48 10969 -> 9469[label="",style="solid", color="burlywood", weight=3]; 27.17/11.48 9460[label="xux643",fontsize=16,color="green",shape="box"];9461[label="xux645",fontsize=16,color="green",shape="box"];9462[label="xux644 > xux639",fontsize=16,color="blue",shape="box"];10970[label="> :: ((@3) a b c) -> ((@3) a b c) -> Bool",fontsize=10,color="white",style="solid",shape="box"];9462 -> 10970[label="",style="solid", color="blue", weight=9]; 27.17/11.48 10970 -> 9470[label="",style="solid", color="blue", weight=3]; 27.17/11.48 10971[label="> :: ([] a) -> ([] a) -> Bool",fontsize=10,color="white",style="solid",shape="box"];9462 -> 10971[label="",style="solid", color="blue", weight=9]; 27.17/11.48 10971 -> 9471[label="",style="solid", color="blue", weight=3]; 27.17/11.48 10972[label="> :: Float -> Float -> Bool",fontsize=10,color="white",style="solid",shape="box"];9462 -> 10972[label="",style="solid", color="blue", weight=9]; 27.17/11.48 10972 -> 9472[label="",style="solid", color="blue", weight=3]; 27.17/11.48 10973[label="> :: Int -> Int -> Bool",fontsize=10,color="white",style="solid",shape="box"];9462 -> 10973[label="",style="solid", color="blue", weight=9]; 27.17/11.48 10973 -> 9473[label="",style="solid", color="blue", weight=3]; 27.17/11.48 10974[label="> :: Ordering -> Ordering -> Bool",fontsize=10,color="white",style="solid",shape="box"];9462 -> 10974[label="",style="solid", color="blue", weight=9]; 27.17/11.48 10974 -> 9474[label="",style="solid", color="blue", weight=3]; 27.17/11.48 10975[label="> :: ((@2) a b) -> ((@2) a b) -> Bool",fontsize=10,color="white",style="solid",shape="box"];9462 -> 10975[label="",style="solid", color="blue", weight=9]; 27.17/11.48 10975 -> 9475[label="",style="solid", color="blue", weight=3]; 27.17/11.48 10976[label="> :: () -> () -> Bool",fontsize=10,color="white",style="solid",shape="box"];9462 -> 10976[label="",style="solid", color="blue", weight=9]; 27.17/11.48 10976 -> 9476[label="",style="solid", color="blue", weight=3]; 27.17/11.48 10977[label="> :: (Ratio a) -> (Ratio a) -> Bool",fontsize=10,color="white",style="solid",shape="box"];9462 -> 10977[label="",style="solid", color="blue", weight=9]; 27.17/11.48 10977 -> 9477[label="",style="solid", color="blue", weight=3]; 27.17/11.48 10978[label="> :: Double -> Double -> Bool",fontsize=10,color="white",style="solid",shape="box"];9462 -> 10978[label="",style="solid", color="blue", weight=9]; 27.17/11.48 10978 -> 9478[label="",style="solid", color="blue", weight=3]; 27.17/11.48 10979[label="> :: Integer -> Integer -> Bool",fontsize=10,color="white",style="solid",shape="box"];9462 -> 10979[label="",style="solid", color="blue", weight=9]; 27.17/11.48 10979 -> 9479[label="",style="solid", color="blue", weight=3]; 27.17/11.48 10980[label="> :: Char -> Char -> Bool",fontsize=10,color="white",style="solid",shape="box"];9462 -> 10980[label="",style="solid", color="blue", weight=9]; 27.17/11.48 10980 -> 9480[label="",style="solid", color="blue", weight=3]; 27.17/11.48 10981[label="> :: (Maybe a) -> (Maybe a) -> Bool",fontsize=10,color="white",style="solid",shape="box"];9462 -> 10981[label="",style="solid", color="blue", weight=9]; 27.17/11.48 10981 -> 9481[label="",style="solid", color="blue", weight=3]; 27.17/11.48 10982[label="> :: Bool -> Bool -> Bool",fontsize=10,color="white",style="solid",shape="box"];9462 -> 10982[label="",style="solid", color="blue", weight=9]; 27.17/11.48 10982 -> 9482[label="",style="solid", color="blue", weight=3]; 27.17/11.48 10983[label="> :: (Either a b) -> (Either a b) -> Bool",fontsize=10,color="white",style="solid",shape="box"];9462 -> 10983[label="",style="solid", color="blue", weight=9]; 27.17/11.48 10983 -> 9483[label="",style="solid", color="blue", weight=3]; 27.17/11.48 9463[label="xux644",fontsize=16,color="green",shape="box"];9464[label="xux639",fontsize=16,color="green",shape="box"];9465[label="xux641",fontsize=16,color="green",shape="box"];9466[label="xux642",fontsize=16,color="green",shape="box"];9467[label="xux640",fontsize=16,color="green",shape="box"];9459[label="FiniteMap.addToFM_C1 FiniteMap.addToFM0 xux657 xux658 xux659 xux660 xux661 xux662 xux663 xux664",fontsize=16,color="burlywood",shape="triangle"];10984[label="xux664/False",fontsize=10,color="white",style="solid",shape="box"];9459 -> 10984[label="",style="solid", color="burlywood", weight=9]; 27.17/11.48 10984 -> 9484[label="",style="solid", color="burlywood", weight=3]; 27.17/11.48 10985[label="xux664/True",fontsize=10,color="white",style="solid",shape="box"];9459 -> 10985[label="",style="solid", color="burlywood", weight=9]; 27.17/11.48 10985 -> 9485[label="",style="solid", color="burlywood", weight=3]; 27.17/11.48 9468[label="FiniteMap.mkBalBranch6 xux639 xux640 (FiniteMap.addToFM_C FiniteMap.addToFM0 xux642 xux644 xux645) xux643",fontsize=16,color="black",shape="box"];9468 -> 9490[label="",style="solid", color="black", weight=3]; 27.17/11.48 10002 -> 9167[label="",style="dashed", color="red", weight=0]; 27.17/11.48 10002[label="FiniteMap.sizeFM (FiniteMap.Branch xux60 xux61 xux62 xux63 xux64)",fontsize=16,color="magenta"];10002 -> 10173[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 10002 -> 10174[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 10002 -> 10175[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 10002 -> 10176[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 10002 -> 10177[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 10003[label="primCmpInt (primMulInt (Pos (Succ (Succ (Succ (Succ (Succ Zero)))))) (Pos xux7360)) (FiniteMap.mkVBalBranch3Size_r xux27930 xux27931 xux27932 xux27933 xux27934 xux2850 xux2851 xux2852 xux2853 xux2854) == LT",fontsize=16,color="black",shape="box"];10003 -> 10178[label="",style="solid", color="black", weight=3]; 27.17/11.48 10004[label="primCmpInt (primMulInt (Pos (Succ (Succ (Succ (Succ (Succ Zero)))))) (Neg xux7360)) (FiniteMap.mkVBalBranch3Size_r xux27930 xux27931 xux27932 xux27933 xux27934 xux2850 xux2851 xux2852 xux2853 xux2854) == LT",fontsize=16,color="black",shape="box"];10004 -> 10179[label="",style="solid", color="black", weight=3]; 27.17/11.48 8740[label="FiniteMap.mkVBalBranch3MkVBalBranch1 xux2790 xux2791 xux2792 xux2793 xux2794 xux2850 xux2851 xux2852 xux2853 xux2854 xux286 xux287 xux2850 xux2851 xux2852 xux2853 xux2854 xux2790 xux2791 xux2792 xux2793 xux2794 (primCmpInt (primMulInt (Pos (Succ (Succ (Succ (Succ (Succ Zero)))))) (FiniteMap.mkVBalBranch3Size_r xux2790 xux2791 xux2792 xux2793 xux2794 xux2850 xux2851 xux2852 xux2853 xux2854)) (FiniteMap.mkVBalBranch3Size_l xux2790 xux2791 xux2792 xux2793 xux2794 xux2850 xux2851 xux2852 xux2853 xux2854) == LT)",fontsize=16,color="black",shape="box"];8740 -> 8751[label="",style="solid", color="black", weight=3]; 27.17/11.48 10190[label="xux2794",fontsize=16,color="green",shape="box"];10191[label="xux2790",fontsize=16,color="green",shape="box"];10192 -> 10011[label="",style="dashed", color="red", weight=0]; 27.17/11.48 10192[label="FiniteMap.mkVBalBranch xux286 xux287 (FiniteMap.Branch xux2850 xux2851 xux2852 xux2853 xux2854) xux2793",fontsize=16,color="magenta"];10193[label="xux2794",fontsize=16,color="green",shape="box"];10194[label="xux2791",fontsize=16,color="green",shape="box"];10189[label="FiniteMap.mkBalBranch6Size_l xux657 xux658 xux660 xux739 + FiniteMap.mkBalBranch6Size_r xux657 xux658 xux660 xux738 < Pos (Succ (Succ Zero))",fontsize=16,color="black",shape="triangle"];10189 -> 10222[label="",style="solid", color="black", weight=3]; 27.17/11.48 10169[label="FiniteMap.mkVBalBranch xux286 xux287 (FiniteMap.Branch xux2850 xux2851 xux2852 xux2853 xux2854) FiniteMap.EmptyFM",fontsize=16,color="black",shape="box"];10169 -> 10223[label="",style="solid", color="black", weight=3]; 27.17/11.48 10170[label="FiniteMap.mkVBalBranch xux286 xux287 (FiniteMap.Branch xux2850 xux2851 xux2852 xux2853 xux2854) (FiniteMap.Branch xux27930 xux27931 xux27932 xux27933 xux27934)",fontsize=16,color="black",shape="box"];10170 -> 10224[label="",style="solid", color="black", weight=3]; 27.17/11.48 10171[label="FiniteMap.mkBalBranch6MkBalBranch5 xux657 xux658 xux660 xux723 xux657 xux658 xux660 xux722 False",fontsize=16,color="black",shape="box"];10171 -> 10225[label="",style="solid", color="black", weight=3]; 27.17/11.48 10172[label="FiniteMap.mkBalBranch6MkBalBranch5 xux657 xux658 xux660 xux723 xux657 xux658 xux660 xux722 True",fontsize=16,color="black",shape="box"];10172 -> 10226[label="",style="solid", color="black", weight=3]; 27.17/11.48 81 -> 2429[label="",style="dashed", color="red", weight=0]; 27.17/11.48 81[label="FiniteMap.splitGT2 (Char (Succ xux3000)) xux31 xux32 xux33 xux34 (Char (Succ xux4000)) (primCmpNat xux4000 xux3000 == GT)",fontsize=16,color="magenta"];81 -> 2430[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 81 -> 2431[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 81 -> 2432[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 81 -> 2433[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 81 -> 2434[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 81 -> 2435[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 81 -> 2436[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 81 -> 2437[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 82[label="FiniteMap.splitGT2 (Char Zero) xux31 xux32 xux33 xux34 (Char (Succ xux4000)) (GT == GT)",fontsize=16,color="black",shape="box"];82 -> 94[label="",style="solid", color="black", weight=3]; 27.17/11.48 83[label="FiniteMap.splitGT2 (Char (Succ xux3000)) xux31 xux32 xux33 xux34 (Char Zero) (LT == GT)",fontsize=16,color="black",shape="box"];83 -> 95[label="",style="solid", color="black", weight=3]; 27.17/11.48 84[label="FiniteMap.splitGT2 (Char Zero) xux31 xux32 xux33 xux34 (Char Zero) (EQ == GT)",fontsize=16,color="black",shape="box"];84 -> 96[label="",style="solid", color="black", weight=3]; 27.17/11.48 85 -> 2530[label="",style="dashed", color="red", weight=0]; 27.17/11.48 85[label="FiniteMap.splitLT2 (Char (Succ xux3000)) xux31 xux32 xux33 xux34 (Char (Succ xux4000)) (primCmpNat xux4000 xux3000 == LT)",fontsize=16,color="magenta"];85 -> 2531[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 85 -> 2532[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 85 -> 2533[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 85 -> 2534[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 85 -> 2535[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 85 -> 2536[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 85 -> 2537[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 85 -> 2538[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 86[label="FiniteMap.splitLT2 (Char Zero) xux31 xux32 xux33 xux34 (Char (Succ xux4000)) (GT == LT)",fontsize=16,color="black",shape="box"];86 -> 99[label="",style="solid", color="black", weight=3]; 27.17/11.48 87[label="FiniteMap.splitLT2 (Char (Succ xux3000)) xux31 xux32 xux33 xux34 (Char Zero) (LT == LT)",fontsize=16,color="black",shape="box"];87 -> 100[label="",style="solid", color="black", weight=3]; 27.17/11.48 88[label="FiniteMap.splitLT2 (Char Zero) xux31 xux32 xux33 xux34 (Char Zero) (EQ == LT)",fontsize=16,color="black",shape="box"];88 -> 101[label="",style="solid", color="black", weight=3]; 27.17/11.48 9469[label="primCmpChar (Char xux400) (Char xux500) == LT",fontsize=16,color="black",shape="box"];9469 -> 9491[label="",style="solid", color="black", weight=3]; 27.17/11.48 9470[label="xux644 > xux639",fontsize=16,color="black",shape="box"];9470 -> 9492[label="",style="solid", color="black", weight=3]; 27.17/11.48 9471[label="xux644 > xux639",fontsize=16,color="black",shape="box"];9471 -> 9493[label="",style="solid", color="black", weight=3]; 27.17/11.48 9472[label="xux644 > xux639",fontsize=16,color="black",shape="box"];9472 -> 9494[label="",style="solid", color="black", weight=3]; 27.17/11.48 9473[label="xux644 > xux639",fontsize=16,color="black",shape="triangle"];9473 -> 9495[label="",style="solid", color="black", weight=3]; 27.17/11.48 9474[label="xux644 > xux639",fontsize=16,color="black",shape="box"];9474 -> 9496[label="",style="solid", color="black", weight=3]; 27.17/11.48 9475[label="xux644 > xux639",fontsize=16,color="black",shape="box"];9475 -> 9497[label="",style="solid", color="black", weight=3]; 27.17/11.48 9476[label="xux644 > xux639",fontsize=16,color="black",shape="box"];9476 -> 9498[label="",style="solid", color="black", weight=3]; 27.17/11.48 9477[label="xux644 > xux639",fontsize=16,color="black",shape="box"];9477 -> 9499[label="",style="solid", color="black", weight=3]; 27.17/11.48 9478[label="xux644 > xux639",fontsize=16,color="black",shape="box"];9478 -> 9500[label="",style="solid", color="black", weight=3]; 27.17/11.48 9479[label="xux644 > xux639",fontsize=16,color="black",shape="box"];9479 -> 9501[label="",style="solid", color="black", weight=3]; 27.17/11.48 9480[label="xux644 > xux639",fontsize=16,color="black",shape="box"];9480 -> 9502[label="",style="solid", color="black", weight=3]; 27.17/11.48 9481[label="xux644 > xux639",fontsize=16,color="black",shape="box"];9481 -> 9503[label="",style="solid", color="black", weight=3]; 27.17/11.48 9482[label="xux644 > xux639",fontsize=16,color="black",shape="box"];9482 -> 9504[label="",style="solid", color="black", weight=3]; 27.17/11.48 9483[label="xux644 > xux639",fontsize=16,color="black",shape="box"];9483 -> 9505[label="",style="solid", color="black", weight=3]; 27.17/11.48 9484[label="FiniteMap.addToFM_C1 FiniteMap.addToFM0 xux657 xux658 xux659 xux660 xux661 xux662 xux663 False",fontsize=16,color="black",shape="box"];9484 -> 9506[label="",style="solid", color="black", weight=3]; 27.17/11.48 9485[label="FiniteMap.addToFM_C1 FiniteMap.addToFM0 xux657 xux658 xux659 xux660 xux661 xux662 xux663 True",fontsize=16,color="black",shape="box"];9485 -> 9507[label="",style="solid", color="black", weight=3]; 27.17/11.48 9490 -> 10006[label="",style="dashed", color="red", weight=0]; 27.17/11.48 9490[label="FiniteMap.mkBalBranch6MkBalBranch5 xux639 xux640 (FiniteMap.addToFM_C FiniteMap.addToFM0 xux642 xux644 xux645) xux643 xux639 xux640 (FiniteMap.addToFM_C FiniteMap.addToFM0 xux642 xux644 xux645) xux643 (FiniteMap.mkBalBranch6Size_l xux639 xux640 (FiniteMap.addToFM_C FiniteMap.addToFM0 xux642 xux644 xux645) xux643 + FiniteMap.mkBalBranch6Size_r xux639 xux640 (FiniteMap.addToFM_C FiniteMap.addToFM0 xux642 xux644 xux645) xux643 < Pos (Succ (Succ Zero)))",fontsize=16,color="magenta"];9490 -> 10025[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 9490 -> 10026[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 9490 -> 10027[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 9490 -> 10028[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 9490 -> 10029[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 9490 -> 10030[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 10173[label="xux63",fontsize=16,color="green",shape="box"];10174[label="xux62",fontsize=16,color="green",shape="box"];10175[label="xux60",fontsize=16,color="green",shape="box"];10176[label="xux61",fontsize=16,color="green",shape="box"];10177[label="xux64",fontsize=16,color="green",shape="box"];9167[label="FiniteMap.sizeFM (FiniteMap.Branch xux2850 xux2851 xux2852 xux2853 xux2854)",fontsize=16,color="black",shape="triangle"];9167 -> 9212[label="",style="solid", color="black", weight=3]; 27.17/11.48 10178 -> 10288[label="",style="dashed", color="red", weight=0]; 27.17/11.48 10178[label="primCmpInt (Pos (primMulNat (Succ (Succ (Succ (Succ (Succ Zero))))) xux7360)) (FiniteMap.mkVBalBranch3Size_r xux27930 xux27931 xux27932 xux27933 xux27934 xux2850 xux2851 xux2852 xux2853 xux2854) == LT",fontsize=16,color="magenta"];10178 -> 10289[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 10179 -> 10296[label="",style="dashed", color="red", weight=0]; 27.17/11.48 10179[label="primCmpInt (Neg (primMulNat (Succ (Succ (Succ (Succ (Succ Zero))))) xux7360)) (FiniteMap.mkVBalBranch3Size_r xux27930 xux27931 xux27932 xux27933 xux27934 xux2850 xux2851 xux2852 xux2853 xux2854) == LT",fontsize=16,color="magenta"];10179 -> 10297[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 8751[label="FiniteMap.mkVBalBranch3MkVBalBranch1 xux2790 xux2791 xux2792 xux2793 xux2794 xux2850 xux2851 xux2852 xux2853 xux2854 xux286 xux287 xux2850 xux2851 xux2852 xux2853 xux2854 xux2790 xux2791 xux2792 xux2793 xux2794 (primCmpInt (primMulInt (Pos (Succ (Succ (Succ (Succ (Succ Zero)))))) (FiniteMap.sizeFM (FiniteMap.Branch xux2790 xux2791 xux2792 xux2793 xux2794))) (FiniteMap.mkVBalBranch3Size_l xux2790 xux2791 xux2792 xux2793 xux2794 xux2850 xux2851 xux2852 xux2853 xux2854) == LT)",fontsize=16,color="black",shape="box"];8751 -> 8775[label="",style="solid", color="black", weight=3]; 27.17/11.48 10222[label="compare (FiniteMap.mkBalBranch6Size_l xux657 xux658 xux660 xux739 + FiniteMap.mkBalBranch6Size_r xux657 xux658 xux660 xux738) (Pos (Succ (Succ Zero))) == LT",fontsize=16,color="black",shape="box"];10222 -> 10251[label="",style="solid", color="black", weight=3]; 27.17/11.48 10223[label="FiniteMap.mkVBalBranch4 xux286 xux287 (FiniteMap.Branch xux2850 xux2851 xux2852 xux2853 xux2854) FiniteMap.EmptyFM",fontsize=16,color="black",shape="box"];10223 -> 10252[label="",style="solid", color="black", weight=3]; 27.17/11.48 10224[label="FiniteMap.mkVBalBranch3 xux286 xux287 (FiniteMap.Branch xux2850 xux2851 xux2852 xux2853 xux2854) (FiniteMap.Branch xux27930 xux27931 xux27932 xux27933 xux27934)",fontsize=16,color="black",shape="triangle"];10224 -> 10253[label="",style="solid", color="black", weight=3]; 27.17/11.48 10225 -> 10254[label="",style="dashed", color="red", weight=0]; 27.17/11.48 10225[label="FiniteMap.mkBalBranch6MkBalBranch4 xux657 xux658 xux660 xux723 xux657 xux658 xux660 xux722 (FiniteMap.mkBalBranch6Size_r xux657 xux658 xux660 xux723 > FiniteMap.sIZE_RATIO * FiniteMap.mkBalBranch6Size_l xux657 xux658 xux660 xux723)",fontsize=16,color="magenta"];10225 -> 10255[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 10226[label="FiniteMap.mkBranch (Pos (Succ Zero)) xux657 xux658 xux660 xux722",fontsize=16,color="black",shape="box"];10226 -> 10256[label="",style="solid", color="black", weight=3]; 27.17/11.48 2430[label="xux34",fontsize=16,color="green",shape="box"];2431[label="xux4000",fontsize=16,color="green",shape="box"];2432[label="xux32",fontsize=16,color="green",shape="box"];2433[label="xux3000",fontsize=16,color="green",shape="box"];2434[label="xux3000",fontsize=16,color="green",shape="box"];2435[label="xux33",fontsize=16,color="green",shape="box"];2436[label="xux31",fontsize=16,color="green",shape="box"];2437[label="xux4000",fontsize=16,color="green",shape="box"];2429[label="FiniteMap.splitGT2 (Char (Succ xux185)) xux186 xux187 xux188 xux189 (Char (Succ xux190)) (primCmpNat xux191 xux192 == GT)",fontsize=16,color="burlywood",shape="triangle"];10986[label="xux191/Succ xux1910",fontsize=10,color="white",style="solid",shape="box"];2429 -> 10986[label="",style="solid", color="burlywood", weight=9]; 27.17/11.48 10986 -> 2510[label="",style="solid", color="burlywood", weight=3]; 27.17/11.48 10987[label="xux191/Zero",fontsize=10,color="white",style="solid",shape="box"];2429 -> 10987[label="",style="solid", color="burlywood", weight=9]; 27.17/11.48 10987 -> 2511[label="",style="solid", color="burlywood", weight=3]; 27.17/11.48 94[label="FiniteMap.splitGT2 (Char Zero) xux31 xux32 xux33 xux34 (Char (Succ xux4000)) True",fontsize=16,color="black",shape="box"];94 -> 112[label="",style="solid", color="black", weight=3]; 27.17/11.48 95[label="FiniteMap.splitGT2 (Char (Succ xux3000)) xux31 xux32 xux33 xux34 (Char Zero) False",fontsize=16,color="black",shape="box"];95 -> 113[label="",style="solid", color="black", weight=3]; 27.17/11.48 96[label="FiniteMap.splitGT2 (Char Zero) xux31 xux32 xux33 xux34 (Char Zero) False",fontsize=16,color="black",shape="box"];96 -> 114[label="",style="solid", color="black", weight=3]; 27.17/11.48 2531[label="xux31",fontsize=16,color="green",shape="box"];2532[label="xux34",fontsize=16,color="green",shape="box"];2533[label="xux3000",fontsize=16,color="green",shape="box"];2534[label="xux3000",fontsize=16,color="green",shape="box"];2535[label="xux4000",fontsize=16,color="green",shape="box"];2536[label="xux4000",fontsize=16,color="green",shape="box"];2537[label="xux33",fontsize=16,color="green",shape="box"];2538[label="xux32",fontsize=16,color="green",shape="box"];2530[label="FiniteMap.splitLT2 (Char (Succ xux194)) xux195 xux196 xux197 xux198 (Char (Succ xux199)) (primCmpNat xux200 xux201 == LT)",fontsize=16,color="burlywood",shape="triangle"];10988[label="xux200/Succ xux2000",fontsize=10,color="white",style="solid",shape="box"];2530 -> 10988[label="",style="solid", color="burlywood", weight=9]; 27.17/11.48 10988 -> 2611[label="",style="solid", color="burlywood", weight=3]; 27.17/11.48 10989[label="xux200/Zero",fontsize=10,color="white",style="solid",shape="box"];2530 -> 10989[label="",style="solid", color="burlywood", weight=9]; 27.17/11.48 10989 -> 2612[label="",style="solid", color="burlywood", weight=3]; 27.17/11.48 99[label="FiniteMap.splitLT2 (Char Zero) xux31 xux32 xux33 xux34 (Char (Succ xux4000)) False",fontsize=16,color="black",shape="box"];99 -> 119[label="",style="solid", color="black", weight=3]; 27.17/11.48 100[label="FiniteMap.splitLT2 (Char (Succ xux3000)) xux31 xux32 xux33 xux34 (Char Zero) True",fontsize=16,color="black",shape="box"];100 -> 120[label="",style="solid", color="black", weight=3]; 27.17/11.48 101[label="FiniteMap.splitLT2 (Char Zero) xux31 xux32 xux33 xux34 (Char Zero) False",fontsize=16,color="black",shape="box"];101 -> 121[label="",style="solid", color="black", weight=3]; 27.17/11.48 9491 -> 6306[label="",style="dashed", color="red", weight=0]; 27.17/11.48 9491[label="primCmpNat xux400 xux500 == LT",fontsize=16,color="magenta"];9491 -> 9534[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 9491 -> 9535[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 9492[label="compare xux644 xux639 == GT",fontsize=16,color="black",shape="box"];9492 -> 9536[label="",style="solid", color="black", weight=3]; 27.17/11.48 9493[label="compare xux644 xux639 == GT",fontsize=16,color="black",shape="box"];9493 -> 9537[label="",style="solid", color="black", weight=3]; 27.17/11.48 9494[label="compare xux644 xux639 == GT",fontsize=16,color="black",shape="box"];9494 -> 9538[label="",style="solid", color="black", weight=3]; 27.17/11.48 9495[label="compare xux644 xux639 == GT",fontsize=16,color="black",shape="box"];9495 -> 9539[label="",style="solid", color="black", weight=3]; 27.17/11.48 9496[label="compare xux644 xux639 == GT",fontsize=16,color="black",shape="box"];9496 -> 9540[label="",style="solid", color="black", weight=3]; 27.17/11.48 9497[label="compare xux644 xux639 == GT",fontsize=16,color="black",shape="box"];9497 -> 9541[label="",style="solid", color="black", weight=3]; 27.17/11.48 9498[label="compare xux644 xux639 == GT",fontsize=16,color="black",shape="box"];9498 -> 9542[label="",style="solid", color="black", weight=3]; 27.17/11.48 9499[label="compare xux644 xux639 == GT",fontsize=16,color="black",shape="box"];9499 -> 9543[label="",style="solid", color="black", weight=3]; 27.17/11.48 9500[label="compare xux644 xux639 == GT",fontsize=16,color="black",shape="box"];9500 -> 9544[label="",style="solid", color="black", weight=3]; 27.17/11.48 9501[label="compare xux644 xux639 == GT",fontsize=16,color="black",shape="box"];9501 -> 9545[label="",style="solid", color="black", weight=3]; 27.17/11.48 9502[label="compare xux644 xux639 == GT",fontsize=16,color="black",shape="box"];9502 -> 9546[label="",style="solid", color="black", weight=3]; 27.17/11.48 9503[label="compare xux644 xux639 == GT",fontsize=16,color="black",shape="box"];9503 -> 9547[label="",style="solid", color="black", weight=3]; 27.17/11.48 9504[label="compare xux644 xux639 == GT",fontsize=16,color="black",shape="box"];9504 -> 9548[label="",style="solid", color="black", weight=3]; 27.17/11.48 9505[label="compare xux644 xux639 == GT",fontsize=16,color="black",shape="box"];9505 -> 9549[label="",style="solid", color="black", weight=3]; 27.17/11.48 9506[label="FiniteMap.addToFM_C0 FiniteMap.addToFM0 xux657 xux658 xux659 xux660 xux661 xux662 xux663 otherwise",fontsize=16,color="black",shape="box"];9506 -> 9550[label="",style="solid", color="black", weight=3]; 27.17/11.48 9507[label="FiniteMap.mkBalBranch xux657 xux658 xux660 (FiniteMap.addToFM_C FiniteMap.addToFM0 xux661 xux662 xux663)",fontsize=16,color="black",shape="box"];9507 -> 9551[label="",style="solid", color="black", weight=3]; 27.17/11.48 10025[label="xux643",fontsize=16,color="green",shape="box"];10026[label="xux643",fontsize=16,color="green",shape="box"];10027 -> 10189[label="",style="dashed", color="red", weight=0]; 27.17/11.48 10027[label="FiniteMap.mkBalBranch6Size_l xux639 xux640 (FiniteMap.addToFM_C FiniteMap.addToFM0 xux642 xux644 xux645) xux643 + FiniteMap.mkBalBranch6Size_r xux639 xux640 (FiniteMap.addToFM_C FiniteMap.addToFM0 xux642 xux644 xux645) xux643 < Pos (Succ (Succ Zero))",fontsize=16,color="magenta"];10027 -> 10195[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 10027 -> 10196[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 10027 -> 10197[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 10027 -> 10198[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 10027 -> 10199[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 10028[label="xux639",fontsize=16,color="green",shape="box"];10029[label="FiniteMap.addToFM_C FiniteMap.addToFM0 xux642 xux644 xux645",fontsize=16,color="burlywood",shape="triangle"];10990[label="xux642/FiniteMap.EmptyFM",fontsize=10,color="white",style="solid",shape="box"];10029 -> 10990[label="",style="solid", color="burlywood", weight=9]; 27.17/11.48 10990 -> 10181[label="",style="solid", color="burlywood", weight=3]; 27.17/11.48 10991[label="xux642/FiniteMap.Branch xux6420 xux6421 xux6422 xux6423 xux6424",fontsize=10,color="white",style="solid",shape="box"];10029 -> 10991[label="",style="solid", color="burlywood", weight=9]; 27.17/11.48 10991 -> 10182[label="",style="solid", color="burlywood", weight=3]; 27.17/11.48 10030[label="xux640",fontsize=16,color="green",shape="box"];9212[label="xux2852",fontsize=16,color="green",shape="box"];10289[label="primMulNat (Succ (Succ (Succ (Succ (Succ Zero))))) xux7360",fontsize=16,color="burlywood",shape="triangle"];10992[label="xux7360/Succ xux73600",fontsize=10,color="white",style="solid",shape="box"];10289 -> 10992[label="",style="solid", color="burlywood", weight=9]; 27.17/11.48 10992 -> 10292[label="",style="solid", color="burlywood", weight=3]; 27.17/11.48 10993[label="xux7360/Zero",fontsize=10,color="white",style="solid",shape="box"];10289 -> 10993[label="",style="solid", color="burlywood", weight=9]; 27.17/11.48 10993 -> 10293[label="",style="solid", color="burlywood", weight=3]; 27.17/11.48 10288[label="primCmpInt (Pos xux741) (FiniteMap.mkVBalBranch3Size_r xux27930 xux27931 xux27932 xux27933 xux27934 xux2850 xux2851 xux2852 xux2853 xux2854) == LT",fontsize=16,color="burlywood",shape="triangle"];10994[label="xux741/Succ xux7410",fontsize=10,color="white",style="solid",shape="box"];10288 -> 10994[label="",style="solid", color="burlywood", weight=9]; 27.17/11.48 10994 -> 10294[label="",style="solid", color="burlywood", weight=3]; 27.17/11.48 10995[label="xux741/Zero",fontsize=10,color="white",style="solid",shape="box"];10288 -> 10995[label="",style="solid", color="burlywood", weight=9]; 27.17/11.48 10995 -> 10295[label="",style="solid", color="burlywood", weight=3]; 27.17/11.48 10297 -> 10289[label="",style="dashed", color="red", weight=0]; 27.17/11.48 10297[label="primMulNat (Succ (Succ (Succ (Succ (Succ Zero))))) xux7360",fontsize=16,color="magenta"];10297 -> 10300[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 10296[label="primCmpInt (Neg xux743) (FiniteMap.mkVBalBranch3Size_r xux27930 xux27931 xux27932 xux27933 xux27934 xux2850 xux2851 xux2852 xux2853 xux2854) == LT",fontsize=16,color="burlywood",shape="triangle"];10996[label="xux743/Succ xux7430",fontsize=10,color="white",style="solid",shape="box"];10296 -> 10996[label="",style="solid", color="burlywood", weight=9]; 27.17/11.48 10996 -> 10301[label="",style="solid", color="burlywood", weight=3]; 27.17/11.48 10997[label="xux743/Zero",fontsize=10,color="white",style="solid",shape="box"];10296 -> 10997[label="",style="solid", color="burlywood", weight=9]; 27.17/11.48 10997 -> 10302[label="",style="solid", color="burlywood", weight=3]; 27.17/11.48 8775[label="FiniteMap.mkVBalBranch3MkVBalBranch1 xux2790 xux2791 xux2792 xux2793 xux2794 xux2850 xux2851 xux2852 xux2853 xux2854 xux286 xux287 xux2850 xux2851 xux2852 xux2853 xux2854 xux2790 xux2791 xux2792 xux2793 xux2794 (primCmpInt (primMulInt (Pos (Succ (Succ (Succ (Succ (Succ Zero)))))) xux2792) (FiniteMap.mkVBalBranch3Size_l xux2790 xux2791 xux2792 xux2793 xux2794 xux2850 xux2851 xux2852 xux2853 xux2854) == LT)",fontsize=16,color="burlywood",shape="box"];10998[label="xux2792/Pos xux27920",fontsize=10,color="white",style="solid",shape="box"];8775 -> 10998[label="",style="solid", color="burlywood", weight=9]; 27.17/11.48 10998 -> 8783[label="",style="solid", color="burlywood", weight=3]; 27.17/11.48 10999[label="xux2792/Neg xux27920",fontsize=10,color="white",style="solid",shape="box"];8775 -> 10999[label="",style="solid", color="burlywood", weight=9]; 27.17/11.48 10999 -> 8784[label="",style="solid", color="burlywood", weight=3]; 27.17/11.48 10251[label="primCmpInt (FiniteMap.mkBalBranch6Size_l xux657 xux658 xux660 xux739 + FiniteMap.mkBalBranch6Size_r xux657 xux658 xux660 xux738) (Pos (Succ (Succ Zero))) == LT",fontsize=16,color="black",shape="box"];10251 -> 10261[label="",style="solid", color="black", weight=3]; 27.17/11.48 10252[label="FiniteMap.addToFM (FiniteMap.Branch xux2850 xux2851 xux2852 xux2853 xux2854) xux286 xux287",fontsize=16,color="black",shape="triangle"];10252 -> 10262[label="",style="solid", color="black", weight=3]; 27.17/11.48 10253 -> 7270[label="",style="dashed", color="red", weight=0]; 27.17/11.48 10253[label="FiniteMap.mkVBalBranch3MkVBalBranch2 xux27930 xux27931 xux27932 xux27933 xux27934 xux2850 xux2851 xux2852 xux2853 xux2854 xux286 xux287 xux2850 xux2851 xux2852 xux2853 xux2854 xux27930 xux27931 xux27932 xux27933 xux27934 (FiniteMap.sIZE_RATIO * FiniteMap.mkVBalBranch3Size_l xux27930 xux27931 xux27932 xux27933 xux27934 xux2850 xux2851 xux2852 xux2853 xux2854 < FiniteMap.mkVBalBranch3Size_r xux27930 xux27931 xux27932 xux27933 xux27934 xux2850 xux2851 xux2852 xux2853 xux2854)",fontsize=16,color="magenta"];10253 -> 10263[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 10253 -> 10264[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 10253 -> 10265[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 10253 -> 10266[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 10253 -> 10267[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 10253 -> 10268[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 10255 -> 9473[label="",style="dashed", color="red", weight=0]; 27.17/11.48 10255[label="FiniteMap.mkBalBranch6Size_r xux657 xux658 xux660 xux723 > FiniteMap.sIZE_RATIO * FiniteMap.mkBalBranch6Size_l xux657 xux658 xux660 xux723",fontsize=16,color="magenta"];10255 -> 10269[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 10255 -> 10270[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 10254[label="FiniteMap.mkBalBranch6MkBalBranch4 xux657 xux658 xux660 xux723 xux657 xux658 xux660 xux722 xux740",fontsize=16,color="burlywood",shape="triangle"];11000[label="xux740/False",fontsize=10,color="white",style="solid",shape="box"];10254 -> 11000[label="",style="solid", color="burlywood", weight=9]; 27.17/11.48 11000 -> 10271[label="",style="solid", color="burlywood", weight=3]; 27.17/11.48 11001[label="xux740/True",fontsize=10,color="white",style="solid",shape="box"];10254 -> 11001[label="",style="solid", color="burlywood", weight=9]; 27.17/11.48 11001 -> 10272[label="",style="solid", color="burlywood", weight=3]; 27.17/11.48 10256[label="FiniteMap.mkBranchResult xux657 xux658 xux660 xux722",fontsize=16,color="black",shape="triangle"];10256 -> 10287[label="",style="solid", color="black", weight=3]; 27.17/11.48 2510[label="FiniteMap.splitGT2 (Char (Succ xux185)) xux186 xux187 xux188 xux189 (Char (Succ xux190)) (primCmpNat (Succ xux1910) xux192 == GT)",fontsize=16,color="burlywood",shape="box"];11002[label="xux192/Succ xux1920",fontsize=10,color="white",style="solid",shape="box"];2510 -> 11002[label="",style="solid", color="burlywood", weight=9]; 27.17/11.48 11002 -> 2613[label="",style="solid", color="burlywood", weight=3]; 27.17/11.48 11003[label="xux192/Zero",fontsize=10,color="white",style="solid",shape="box"];2510 -> 11003[label="",style="solid", color="burlywood", weight=9]; 27.17/11.48 11003 -> 2614[label="",style="solid", color="burlywood", weight=3]; 27.17/11.48 2511[label="FiniteMap.splitGT2 (Char (Succ xux185)) xux186 xux187 xux188 xux189 (Char (Succ xux190)) (primCmpNat Zero xux192 == GT)",fontsize=16,color="burlywood",shape="box"];11004[label="xux192/Succ xux1920",fontsize=10,color="white",style="solid",shape="box"];2511 -> 11004[label="",style="solid", color="burlywood", weight=9]; 27.17/11.48 11004 -> 2615[label="",style="solid", color="burlywood", weight=3]; 27.17/11.48 11005[label="xux192/Zero",fontsize=10,color="white",style="solid",shape="box"];2511 -> 11005[label="",style="solid", color="burlywood", weight=9]; 27.17/11.48 11005 -> 2616[label="",style="solid", color="burlywood", weight=3]; 27.17/11.48 112[label="FiniteMap.splitGT xux34 (Char (Succ xux4000))",fontsize=16,color="burlywood",shape="triangle"];11006[label="xux34/FiniteMap.EmptyFM",fontsize=10,color="white",style="solid",shape="box"];112 -> 11006[label="",style="solid", color="burlywood", weight=9]; 27.17/11.48 11006 -> 134[label="",style="solid", color="burlywood", weight=3]; 27.17/11.48 11007[label="xux34/FiniteMap.Branch xux340 xux341 xux342 xux343 xux344",fontsize=10,color="white",style="solid",shape="box"];112 -> 11007[label="",style="solid", color="burlywood", weight=9]; 27.17/11.48 11007 -> 135[label="",style="solid", color="burlywood", weight=3]; 27.17/11.48 113[label="FiniteMap.splitGT1 (Char (Succ xux3000)) xux31 xux32 xux33 xux34 (Char Zero) (Char Zero < Char (Succ xux3000))",fontsize=16,color="black",shape="box"];113 -> 136[label="",style="solid", color="black", weight=3]; 27.17/11.48 114[label="FiniteMap.splitGT1 (Char Zero) xux31 xux32 xux33 xux34 (Char Zero) (Char Zero < Char Zero)",fontsize=16,color="black",shape="box"];114 -> 137[label="",style="solid", color="black", weight=3]; 27.17/11.48 2611[label="FiniteMap.splitLT2 (Char (Succ xux194)) xux195 xux196 xux197 xux198 (Char (Succ xux199)) (primCmpNat (Succ xux2000) xux201 == LT)",fontsize=16,color="burlywood",shape="box"];11008[label="xux201/Succ xux2010",fontsize=10,color="white",style="solid",shape="box"];2611 -> 11008[label="",style="solid", color="burlywood", weight=9]; 27.17/11.48 11008 -> 2732[label="",style="solid", color="burlywood", weight=3]; 27.17/11.48 11009[label="xux201/Zero",fontsize=10,color="white",style="solid",shape="box"];2611 -> 11009[label="",style="solid", color="burlywood", weight=9]; 27.17/11.48 11009 -> 2733[label="",style="solid", color="burlywood", weight=3]; 27.17/11.48 2612[label="FiniteMap.splitLT2 (Char (Succ xux194)) xux195 xux196 xux197 xux198 (Char (Succ xux199)) (primCmpNat Zero xux201 == LT)",fontsize=16,color="burlywood",shape="box"];11010[label="xux201/Succ xux2010",fontsize=10,color="white",style="solid",shape="box"];2612 -> 11010[label="",style="solid", color="burlywood", weight=9]; 27.17/11.48 11010 -> 2734[label="",style="solid", color="burlywood", weight=3]; 27.17/11.48 11011[label="xux201/Zero",fontsize=10,color="white",style="solid",shape="box"];2612 -> 11011[label="",style="solid", color="burlywood", weight=9]; 27.17/11.48 11011 -> 2735[label="",style="solid", color="burlywood", weight=3]; 27.17/11.48 119[label="FiniteMap.splitLT1 (Char Zero) xux31 xux32 xux33 xux34 (Char (Succ xux4000)) (Char (Succ xux4000) > Char Zero)",fontsize=16,color="black",shape="box"];119 -> 142[label="",style="solid", color="black", weight=3]; 27.17/11.48 120[label="FiniteMap.splitLT xux33 (Char Zero)",fontsize=16,color="burlywood",shape="box"];11012[label="xux33/FiniteMap.EmptyFM",fontsize=10,color="white",style="solid",shape="box"];120 -> 11012[label="",style="solid", color="burlywood", weight=9]; 27.17/11.48 11012 -> 143[label="",style="solid", color="burlywood", weight=3]; 27.17/11.48 11013[label="xux33/FiniteMap.Branch xux330 xux331 xux332 xux333 xux334",fontsize=10,color="white",style="solid",shape="box"];120 -> 11013[label="",style="solid", color="burlywood", weight=9]; 27.17/11.48 11013 -> 144[label="",style="solid", color="burlywood", weight=3]; 27.17/11.48 121[label="FiniteMap.splitLT1 (Char Zero) xux31 xux32 xux33 xux34 (Char Zero) (Char Zero > Char Zero)",fontsize=16,color="black",shape="box"];121 -> 145[label="",style="solid", color="black", weight=3]; 27.17/11.48 9534[label="xux500",fontsize=16,color="green",shape="box"];9535[label="xux400",fontsize=16,color="green",shape="box"];6306[label="primCmpNat xux28600 xux28100 == LT",fontsize=16,color="burlywood",shape="triangle"];11014[label="xux28600/Succ xux286000",fontsize=10,color="white",style="solid",shape="box"];6306 -> 11014[label="",style="solid", color="burlywood", weight=9]; 27.17/11.48 11014 -> 6335[label="",style="solid", color="burlywood", weight=3]; 27.17/11.48 11015[label="xux28600/Zero",fontsize=10,color="white",style="solid",shape="box"];6306 -> 11015[label="",style="solid", color="burlywood", weight=9]; 27.17/11.48 11015 -> 6336[label="",style="solid", color="burlywood", weight=3]; 27.17/11.48 9536[label="error []",fontsize=16,color="red",shape="box"];9537[label="error []",fontsize=16,color="red",shape="box"];9538[label="error []",fontsize=16,color="red",shape="box"];9539[label="primCmpInt xux644 xux639 == GT",fontsize=16,color="burlywood",shape="box"];11016[label="xux644/Pos xux6440",fontsize=10,color="white",style="solid",shape="box"];9539 -> 11016[label="",style="solid", color="burlywood", weight=9]; 27.17/11.48 11016 -> 9567[label="",style="solid", color="burlywood", weight=3]; 27.17/11.48 11017[label="xux644/Neg xux6440",fontsize=10,color="white",style="solid",shape="box"];9539 -> 11017[label="",style="solid", color="burlywood", weight=9]; 27.17/11.48 11017 -> 9568[label="",style="solid", color="burlywood", weight=3]; 27.17/11.48 9540[label="error []",fontsize=16,color="red",shape="box"];9541[label="error []",fontsize=16,color="red",shape="box"];9542[label="error []",fontsize=16,color="red",shape="box"];9543[label="error []",fontsize=16,color="red",shape="box"];9544[label="error []",fontsize=16,color="red",shape="box"];9545[label="error []",fontsize=16,color="red",shape="box"];9546[label="primCmpChar xux644 xux639 == GT",fontsize=16,color="burlywood",shape="box"];11018[label="xux644/Char xux6440",fontsize=10,color="white",style="solid",shape="box"];9546 -> 11018[label="",style="solid", color="burlywood", weight=9]; 27.17/11.48 11018 -> 9569[label="",style="solid", color="burlywood", weight=3]; 27.17/11.48 9547[label="error []",fontsize=16,color="red",shape="box"];9548[label="error []",fontsize=16,color="red",shape="box"];9549[label="error []",fontsize=16,color="red",shape="box"];9550[label="FiniteMap.addToFM_C0 FiniteMap.addToFM0 xux657 xux658 xux659 xux660 xux661 xux662 xux663 True",fontsize=16,color="black",shape="box"];9550 -> 9570[label="",style="solid", color="black", weight=3]; 27.17/11.48 9551[label="FiniteMap.mkBalBranch6 xux657 xux658 xux660 (FiniteMap.addToFM_C FiniteMap.addToFM0 xux661 xux662 xux663)",fontsize=16,color="black",shape="box"];9551 -> 9571[label="",style="solid", color="black", weight=3]; 27.17/11.48 10195[label="xux643",fontsize=16,color="green",shape="box"];10196[label="xux639",fontsize=16,color="green",shape="box"];10197 -> 10029[label="",style="dashed", color="red", weight=0]; 27.17/11.48 10197[label="FiniteMap.addToFM_C FiniteMap.addToFM0 xux642 xux644 xux645",fontsize=16,color="magenta"];10198[label="xux643",fontsize=16,color="green",shape="box"];10199[label="xux640",fontsize=16,color="green",shape="box"];10181[label="FiniteMap.addToFM_C FiniteMap.addToFM0 FiniteMap.EmptyFM xux644 xux645",fontsize=16,color="black",shape="box"];10181 -> 10231[label="",style="solid", color="black", weight=3]; 27.17/11.48 10182[label="FiniteMap.addToFM_C FiniteMap.addToFM0 (FiniteMap.Branch xux6420 xux6421 xux6422 xux6423 xux6424) xux644 xux645",fontsize=16,color="black",shape="box"];10182 -> 10232[label="",style="solid", color="black", weight=3]; 27.17/11.48 10292[label="primMulNat (Succ (Succ (Succ (Succ (Succ Zero))))) (Succ xux73600)",fontsize=16,color="black",shape="box"];10292 -> 10303[label="",style="solid", color="black", weight=3]; 27.17/11.48 10293[label="primMulNat (Succ (Succ (Succ (Succ (Succ Zero))))) Zero",fontsize=16,color="black",shape="box"];10293 -> 10304[label="",style="solid", color="black", weight=3]; 27.17/11.48 10294[label="primCmpInt (Pos (Succ xux7410)) (FiniteMap.mkVBalBranch3Size_r xux27930 xux27931 xux27932 xux27933 xux27934 xux2850 xux2851 xux2852 xux2853 xux2854) == LT",fontsize=16,color="black",shape="box"];10294 -> 10305[label="",style="solid", color="black", weight=3]; 27.17/11.48 10295[label="primCmpInt (Pos Zero) (FiniteMap.mkVBalBranch3Size_r xux27930 xux27931 xux27932 xux27933 xux27934 xux2850 xux2851 xux2852 xux2853 xux2854) == LT",fontsize=16,color="black",shape="box"];10295 -> 10306[label="",style="solid", color="black", weight=3]; 27.17/11.48 10300[label="xux7360",fontsize=16,color="green",shape="box"];10301[label="primCmpInt (Neg (Succ xux7430)) (FiniteMap.mkVBalBranch3Size_r xux27930 xux27931 xux27932 xux27933 xux27934 xux2850 xux2851 xux2852 xux2853 xux2854) == LT",fontsize=16,color="black",shape="box"];10301 -> 10372[label="",style="solid", color="black", weight=3]; 27.17/11.48 10302[label="primCmpInt (Neg Zero) (FiniteMap.mkVBalBranch3Size_r xux27930 xux27931 xux27932 xux27933 xux27934 xux2850 xux2851 xux2852 xux2853 xux2854) == LT",fontsize=16,color="black",shape="box"];10302 -> 10373[label="",style="solid", color="black", weight=3]; 27.17/11.48 8783[label="FiniteMap.mkVBalBranch3MkVBalBranch1 xux2790 xux2791 (Pos xux27920) xux2793 xux2794 xux2850 xux2851 xux2852 xux2853 xux2854 xux286 xux287 xux2850 xux2851 xux2852 xux2853 xux2854 xux2790 xux2791 (Pos xux27920) xux2793 xux2794 (primCmpInt (primMulInt (Pos (Succ (Succ (Succ (Succ (Succ Zero)))))) (Pos xux27920)) (FiniteMap.mkVBalBranch3Size_l xux2790 xux2791 (Pos xux27920) xux2793 xux2794 xux2850 xux2851 xux2852 xux2853 xux2854) == LT)",fontsize=16,color="black",shape="box"];8783 -> 8826[label="",style="solid", color="black", weight=3]; 27.17/11.48 8784[label="FiniteMap.mkVBalBranch3MkVBalBranch1 xux2790 xux2791 (Neg xux27920) xux2793 xux2794 xux2850 xux2851 xux2852 xux2853 xux2854 xux286 xux287 xux2850 xux2851 xux2852 xux2853 xux2854 xux2790 xux2791 (Neg xux27920) xux2793 xux2794 (primCmpInt (primMulInt (Pos (Succ (Succ (Succ (Succ (Succ Zero)))))) (Neg xux27920)) (FiniteMap.mkVBalBranch3Size_l xux2790 xux2791 (Neg xux27920) xux2793 xux2794 xux2850 xux2851 xux2852 xux2853 xux2854) == LT)",fontsize=16,color="black",shape="box"];8784 -> 8827[label="",style="solid", color="black", weight=3]; 27.17/11.48 10261 -> 10399[label="",style="dashed", color="red", weight=0]; 27.17/11.48 10261[label="primCmpInt (primPlusInt (FiniteMap.mkBalBranch6Size_l xux657 xux658 xux660 xux739) (FiniteMap.mkBalBranch6Size_r xux657 xux658 xux660 xux738)) (Pos (Succ (Succ Zero))) == LT",fontsize=16,color="magenta"];10261 -> 10400[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 10261 -> 10401[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 10262 -> 10029[label="",style="dashed", color="red", weight=0]; 27.17/11.48 10262[label="FiniteMap.addToFM_C FiniteMap.addToFM0 (FiniteMap.Branch xux2850 xux2851 xux2852 xux2853 xux2854) xux286 xux287",fontsize=16,color="magenta"];10262 -> 10308[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 10262 -> 10309[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 10262 -> 10310[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 10263[label="xux27934",fontsize=16,color="green",shape="box"];10264[label="xux27930",fontsize=16,color="green",shape="box"];10265[label="xux27931",fontsize=16,color="green",shape="box"];10266[label="xux27932",fontsize=16,color="green",shape="box"];10267[label="FiniteMap.sIZE_RATIO * FiniteMap.mkVBalBranch3Size_l xux27930 xux27931 xux27932 xux27933 xux27934 xux2850 xux2851 xux2852 xux2853 xux2854 < FiniteMap.mkVBalBranch3Size_r xux27930 xux27931 xux27932 xux27933 xux27934 xux2850 xux2851 xux2852 xux2853 xux2854",fontsize=16,color="black",shape="box"];10267 -> 10311[label="",style="solid", color="black", weight=3]; 27.17/11.48 10268[label="xux27933",fontsize=16,color="green",shape="box"];10269 -> 10474[label="",style="dashed", color="red", weight=0]; 27.17/11.48 10269[label="FiniteMap.sIZE_RATIO * FiniteMap.mkBalBranch6Size_l xux657 xux658 xux660 xux723",fontsize=16,color="magenta"];10269 -> 10475[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 10270[label="FiniteMap.mkBalBranch6Size_r xux657 xux658 xux660 xux723",fontsize=16,color="black",shape="triangle"];10270 -> 10313[label="",style="solid", color="black", weight=3]; 27.17/11.48 10271[label="FiniteMap.mkBalBranch6MkBalBranch4 xux657 xux658 xux660 xux723 xux657 xux658 xux660 xux722 False",fontsize=16,color="black",shape="box"];10271 -> 10314[label="",style="solid", color="black", weight=3]; 27.17/11.48 10272[label="FiniteMap.mkBalBranch6MkBalBranch4 xux657 xux658 xux660 xux723 xux657 xux658 xux660 xux722 True",fontsize=16,color="black",shape="box"];10272 -> 10315[label="",style="solid", color="black", weight=3]; 27.17/11.48 10287[label="FiniteMap.Branch xux657 xux658 (FiniteMap.mkBranchUnbox xux660 xux722 xux657 (Pos (Succ Zero) + FiniteMap.mkBranchLeft_size xux660 xux722 xux657 + FiniteMap.mkBranchRight_size xux660 xux722 xux657)) xux660 xux722",fontsize=16,color="green",shape="box"];10287 -> 10316[label="",style="dashed", color="green", weight=3]; 27.17/11.48 2613[label="FiniteMap.splitGT2 (Char (Succ xux185)) xux186 xux187 xux188 xux189 (Char (Succ xux190)) (primCmpNat (Succ xux1910) (Succ xux1920) == GT)",fontsize=16,color="black",shape="box"];2613 -> 2736[label="",style="solid", color="black", weight=3]; 27.17/11.48 2614[label="FiniteMap.splitGT2 (Char (Succ xux185)) xux186 xux187 xux188 xux189 (Char (Succ xux190)) (primCmpNat (Succ xux1910) Zero == GT)",fontsize=16,color="black",shape="box"];2614 -> 2737[label="",style="solid", color="black", weight=3]; 27.17/11.48 2615[label="FiniteMap.splitGT2 (Char (Succ xux185)) xux186 xux187 xux188 xux189 (Char (Succ xux190)) (primCmpNat Zero (Succ xux1920) == GT)",fontsize=16,color="black",shape="box"];2615 -> 2738[label="",style="solid", color="black", weight=3]; 27.17/11.48 2616[label="FiniteMap.splitGT2 (Char (Succ xux185)) xux186 xux187 xux188 xux189 (Char (Succ xux190)) (primCmpNat Zero Zero == GT)",fontsize=16,color="black",shape="box"];2616 -> 2739[label="",style="solid", color="black", weight=3]; 27.17/11.48 134[label="FiniteMap.splitGT FiniteMap.EmptyFM (Char (Succ xux4000))",fontsize=16,color="black",shape="box"];134 -> 159[label="",style="solid", color="black", weight=3]; 27.17/11.48 135[label="FiniteMap.splitGT (FiniteMap.Branch xux340 xux341 xux342 xux343 xux344) (Char (Succ xux4000))",fontsize=16,color="black",shape="box"];135 -> 160[label="",style="solid", color="black", weight=3]; 27.17/11.48 136[label="FiniteMap.splitGT1 (Char (Succ xux3000)) xux31 xux32 xux33 xux34 (Char Zero) (compare (Char Zero) (Char (Succ xux3000)) == LT)",fontsize=16,color="black",shape="box"];136 -> 161[label="",style="solid", color="black", weight=3]; 27.17/11.48 137[label="FiniteMap.splitGT1 (Char Zero) xux31 xux32 xux33 xux34 (Char Zero) (compare (Char Zero) (Char Zero) == LT)",fontsize=16,color="black",shape="box"];137 -> 162[label="",style="solid", color="black", weight=3]; 27.17/11.48 2732[label="FiniteMap.splitLT2 (Char (Succ xux194)) xux195 xux196 xux197 xux198 (Char (Succ xux199)) (primCmpNat (Succ xux2000) (Succ xux2010) == LT)",fontsize=16,color="black",shape="box"];2732 -> 2856[label="",style="solid", color="black", weight=3]; 27.17/11.48 2733[label="FiniteMap.splitLT2 (Char (Succ xux194)) xux195 xux196 xux197 xux198 (Char (Succ xux199)) (primCmpNat (Succ xux2000) Zero == LT)",fontsize=16,color="black",shape="box"];2733 -> 2857[label="",style="solid", color="black", weight=3]; 27.17/11.48 2734[label="FiniteMap.splitLT2 (Char (Succ xux194)) xux195 xux196 xux197 xux198 (Char (Succ xux199)) (primCmpNat Zero (Succ xux2010) == LT)",fontsize=16,color="black",shape="box"];2734 -> 2858[label="",style="solid", color="black", weight=3]; 27.17/11.48 2735[label="FiniteMap.splitLT2 (Char (Succ xux194)) xux195 xux196 xux197 xux198 (Char (Succ xux199)) (primCmpNat Zero Zero == LT)",fontsize=16,color="black",shape="box"];2735 -> 2859[label="",style="solid", color="black", weight=3]; 27.17/11.48 142[label="FiniteMap.splitLT1 (Char Zero) xux31 xux32 xux33 xux34 (Char (Succ xux4000)) (compare (Char (Succ xux4000)) (Char Zero) == GT)",fontsize=16,color="black",shape="box"];142 -> 168[label="",style="solid", color="black", weight=3]; 27.17/11.48 143[label="FiniteMap.splitLT FiniteMap.EmptyFM (Char Zero)",fontsize=16,color="black",shape="box"];143 -> 169[label="",style="solid", color="black", weight=3]; 27.17/11.48 144[label="FiniteMap.splitLT (FiniteMap.Branch xux330 xux331 xux332 xux333 xux334) (Char Zero)",fontsize=16,color="black",shape="box"];144 -> 170[label="",style="solid", color="black", weight=3]; 27.17/11.48 145[label="FiniteMap.splitLT1 (Char Zero) xux31 xux32 xux33 xux34 (Char Zero) (compare (Char Zero) (Char Zero) == GT)",fontsize=16,color="black",shape="box"];145 -> 171[label="",style="solid", color="black", weight=3]; 27.17/11.48 6335[label="primCmpNat (Succ xux286000) xux28100 == LT",fontsize=16,color="burlywood",shape="box"];11019[label="xux28100/Succ xux281000",fontsize=10,color="white",style="solid",shape="box"];6335 -> 11019[label="",style="solid", color="burlywood", weight=9]; 27.17/11.48 11019 -> 6388[label="",style="solid", color="burlywood", weight=3]; 27.17/11.48 11020[label="xux28100/Zero",fontsize=10,color="white",style="solid",shape="box"];6335 -> 11020[label="",style="solid", color="burlywood", weight=9]; 27.17/11.48 11020 -> 6389[label="",style="solid", color="burlywood", weight=3]; 27.17/11.48 6336[label="primCmpNat Zero xux28100 == LT",fontsize=16,color="burlywood",shape="box"];11021[label="xux28100/Succ xux281000",fontsize=10,color="white",style="solid",shape="box"];6336 -> 11021[label="",style="solid", color="burlywood", weight=9]; 27.17/11.48 11021 -> 6390[label="",style="solid", color="burlywood", weight=3]; 27.17/11.48 11022[label="xux28100/Zero",fontsize=10,color="white",style="solid",shape="box"];6336 -> 11022[label="",style="solid", color="burlywood", weight=9]; 27.17/11.48 11022 -> 6391[label="",style="solid", color="burlywood", weight=3]; 27.17/11.48 9567[label="primCmpInt (Pos xux6440) xux639 == GT",fontsize=16,color="burlywood",shape="box"];11023[label="xux6440/Succ xux64400",fontsize=10,color="white",style="solid",shape="box"];9567 -> 11023[label="",style="solid", color="burlywood", weight=9]; 27.17/11.48 11023 -> 9588[label="",style="solid", color="burlywood", weight=3]; 27.17/11.48 11024[label="xux6440/Zero",fontsize=10,color="white",style="solid",shape="box"];9567 -> 11024[label="",style="solid", color="burlywood", weight=9]; 27.17/11.48 11024 -> 9589[label="",style="solid", color="burlywood", weight=3]; 27.17/11.48 9568[label="primCmpInt (Neg xux6440) xux639 == GT",fontsize=16,color="burlywood",shape="box"];11025[label="xux6440/Succ xux64400",fontsize=10,color="white",style="solid",shape="box"];9568 -> 11025[label="",style="solid", color="burlywood", weight=9]; 27.17/11.48 11025 -> 9590[label="",style="solid", color="burlywood", weight=3]; 27.17/11.48 11026[label="xux6440/Zero",fontsize=10,color="white",style="solid",shape="box"];9568 -> 11026[label="",style="solid", color="burlywood", weight=9]; 27.17/11.48 11026 -> 9591[label="",style="solid", color="burlywood", weight=3]; 27.17/11.48 9569[label="primCmpChar (Char xux6440) xux639 == GT",fontsize=16,color="burlywood",shape="box"];11027[label="xux639/Char xux6390",fontsize=10,color="white",style="solid",shape="box"];9569 -> 11027[label="",style="solid", color="burlywood", weight=9]; 27.17/11.48 11027 -> 9592[label="",style="solid", color="burlywood", weight=3]; 27.17/11.48 9570[label="FiniteMap.Branch xux662 (FiniteMap.addToFM0 xux658 xux663) xux659 xux660 xux661",fontsize=16,color="green",shape="box"];9570 -> 9593[label="",style="dashed", color="green", weight=3]; 27.17/11.48 9571 -> 10006[label="",style="dashed", color="red", weight=0]; 27.17/11.48 9571[label="FiniteMap.mkBalBranch6MkBalBranch5 xux657 xux658 xux660 (FiniteMap.addToFM_C FiniteMap.addToFM0 xux661 xux662 xux663) xux657 xux658 xux660 (FiniteMap.addToFM_C FiniteMap.addToFM0 xux661 xux662 xux663) (FiniteMap.mkBalBranch6Size_l xux657 xux658 xux660 (FiniteMap.addToFM_C FiniteMap.addToFM0 xux661 xux662 xux663) + FiniteMap.mkBalBranch6Size_r xux657 xux658 xux660 (FiniteMap.addToFM_C FiniteMap.addToFM0 xux661 xux662 xux663) < Pos (Succ (Succ Zero)))",fontsize=16,color="magenta"];9571 -> 10045[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 9571 -> 10046[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 9571 -> 10047[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 10231[label="FiniteMap.addToFM_C4 FiniteMap.addToFM0 FiniteMap.EmptyFM xux644 xux645",fontsize=16,color="black",shape="box"];10231 -> 10273[label="",style="solid", color="black", weight=3]; 27.17/11.48 10232[label="FiniteMap.addToFM_C3 FiniteMap.addToFM0 (FiniteMap.Branch xux6420 xux6421 xux6422 xux6423 xux6424) xux644 xux645",fontsize=16,color="black",shape="box"];10232 -> 10274[label="",style="solid", color="black", weight=3]; 27.17/11.48 10303 -> 3702[label="",style="dashed", color="red", weight=0]; 27.17/11.48 10303[label="primPlusNat (primMulNat (Succ (Succ (Succ (Succ Zero)))) (Succ xux73600)) (Succ xux73600)",fontsize=16,color="magenta"];10303 -> 10374[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 10303 -> 10375[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 10304[label="Zero",fontsize=16,color="green",shape="box"];10305 -> 9114[label="",style="dashed", color="red", weight=0]; 27.17/11.48 10305[label="primCmpInt (Pos (Succ xux7410)) (FiniteMap.sizeFM (FiniteMap.Branch xux27930 xux27931 xux27932 xux27933 xux27934)) == LT",fontsize=16,color="magenta"];10305 -> 10376[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 10305 -> 10377[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 10306 -> 8867[label="",style="dashed", color="red", weight=0]; 27.17/11.48 10306[label="primCmpInt (Pos Zero) (FiniteMap.sizeFM (FiniteMap.Branch xux27930 xux27931 xux27932 xux27933 xux27934)) == LT",fontsize=16,color="magenta"];10306 -> 10378[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 10372 -> 9120[label="",style="dashed", color="red", weight=0]; 27.17/11.48 10372[label="primCmpInt (Neg (Succ xux7430)) (FiniteMap.sizeFM (FiniteMap.Branch xux27930 xux27931 xux27932 xux27933 xux27934)) == LT",fontsize=16,color="magenta"];10372 -> 10381[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 10372 -> 10382[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 10373 -> 9032[label="",style="dashed", color="red", weight=0]; 27.17/11.48 10373[label="primCmpInt (Neg Zero) (FiniteMap.sizeFM (FiniteMap.Branch xux27930 xux27931 xux27932 xux27933 xux27934)) == LT",fontsize=16,color="magenta"];10373 -> 10383[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 8826[label="FiniteMap.mkVBalBranch3MkVBalBranch1 xux2790 xux2791 (Pos xux27920) xux2793 xux2794 xux2850 xux2851 xux2852 xux2853 xux2854 xux286 xux287 xux2850 xux2851 xux2852 xux2853 xux2854 xux2790 xux2791 (Pos xux27920) xux2793 xux2794 (primCmpInt (Pos (primMulNat (Succ (Succ (Succ (Succ (Succ Zero))))) xux27920)) (FiniteMap.mkVBalBranch3Size_l xux2790 xux2791 (Pos xux27920) xux2793 xux2794 xux2850 xux2851 xux2852 xux2853 xux2854) == LT)",fontsize=16,color="burlywood",shape="box"];11028[label="xux27920/Succ xux279200",fontsize=10,color="white",style="solid",shape="box"];8826 -> 11028[label="",style="solid", color="burlywood", weight=9]; 27.17/11.48 11028 -> 8857[label="",style="solid", color="burlywood", weight=3]; 27.17/11.48 11029[label="xux27920/Zero",fontsize=10,color="white",style="solid",shape="box"];8826 -> 11029[label="",style="solid", color="burlywood", weight=9]; 27.17/11.48 11029 -> 8858[label="",style="solid", color="burlywood", weight=3]; 27.17/11.48 8827[label="FiniteMap.mkVBalBranch3MkVBalBranch1 xux2790 xux2791 (Neg xux27920) xux2793 xux2794 xux2850 xux2851 xux2852 xux2853 xux2854 xux286 xux287 xux2850 xux2851 xux2852 xux2853 xux2854 xux2790 xux2791 (Neg xux27920) xux2793 xux2794 (primCmpInt (Neg (primMulNat (Succ (Succ (Succ (Succ (Succ Zero))))) xux27920)) (FiniteMap.mkVBalBranch3Size_l xux2790 xux2791 (Neg xux27920) xux2793 xux2794 xux2850 xux2851 xux2852 xux2853 xux2854) == LT)",fontsize=16,color="burlywood",shape="box"];11030[label="xux27920/Succ xux279200",fontsize=10,color="white",style="solid",shape="box"];8827 -> 11030[label="",style="solid", color="burlywood", weight=9]; 27.17/11.48 11030 -> 8859[label="",style="solid", color="burlywood", weight=3]; 27.17/11.48 11031[label="xux27920/Zero",fontsize=10,color="white",style="solid",shape="box"];8827 -> 11031[label="",style="solid", color="burlywood", weight=9]; 27.17/11.48 11031 -> 8860[label="",style="solid", color="burlywood", weight=3]; 27.17/11.48 10400 -> 10270[label="",style="dashed", color="red", weight=0]; 27.17/11.48 10400[label="FiniteMap.mkBalBranch6Size_r xux657 xux658 xux660 xux738",fontsize=16,color="magenta"];10400 -> 10405[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 10401[label="FiniteMap.mkBalBranch6Size_l xux657 xux658 xux660 xux739",fontsize=16,color="black",shape="triangle"];10401 -> 10406[label="",style="solid", color="black", weight=3]; 27.17/11.48 10399[label="primCmpInt (primPlusInt xux748 xux745) (Pos (Succ (Succ Zero))) == LT",fontsize=16,color="burlywood",shape="triangle"];11032[label="xux748/Pos xux7480",fontsize=10,color="white",style="solid",shape="box"];10399 -> 11032[label="",style="solid", color="burlywood", weight=9]; 27.17/11.48 11032 -> 10407[label="",style="solid", color="burlywood", weight=3]; 27.17/11.48 11033[label="xux748/Neg xux7480",fontsize=10,color="white",style="solid",shape="box"];10399 -> 11033[label="",style="solid", color="burlywood", weight=9]; 27.17/11.48 11033 -> 10408[label="",style="solid", color="burlywood", weight=3]; 27.17/11.48 10308[label="FiniteMap.Branch xux2850 xux2851 xux2852 xux2853 xux2854",fontsize=16,color="green",shape="box"];10309[label="xux286",fontsize=16,color="green",shape="box"];10310[label="xux287",fontsize=16,color="green",shape="box"];10311[label="compare (FiniteMap.sIZE_RATIO * FiniteMap.mkVBalBranch3Size_l xux27930 xux27931 xux27932 xux27933 xux27934 xux2850 xux2851 xux2852 xux2853 xux2854) (FiniteMap.mkVBalBranch3Size_r xux27930 xux27931 xux27932 xux27933 xux27934 xux2850 xux2851 xux2852 xux2853 xux2854) == LT",fontsize=16,color="black",shape="box"];10311 -> 10384[label="",style="solid", color="black", weight=3]; 27.17/11.48 10475 -> 10401[label="",style="dashed", color="red", weight=0]; 27.17/11.48 10475[label="FiniteMap.mkBalBranch6Size_l xux657 xux658 xux660 xux723",fontsize=16,color="magenta"];10475 -> 10477[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 10474[label="FiniteMap.sIZE_RATIO * xux750",fontsize=16,color="black",shape="triangle"];10474 -> 10478[label="",style="solid", color="black", weight=3]; 27.17/11.48 10313[label="FiniteMap.sizeFM xux723",fontsize=16,color="burlywood",shape="triangle"];11034[label="xux723/FiniteMap.EmptyFM",fontsize=10,color="white",style="solid",shape="box"];10313 -> 11034[label="",style="solid", color="burlywood", weight=9]; 27.17/11.48 11034 -> 10386[label="",style="solid", color="burlywood", weight=3]; 27.17/11.48 11035[label="xux723/FiniteMap.Branch xux7230 xux7231 xux7232 xux7233 xux7234",fontsize=10,color="white",style="solid",shape="box"];10313 -> 11035[label="",style="solid", color="burlywood", weight=9]; 27.17/11.48 11035 -> 10387[label="",style="solid", color="burlywood", weight=3]; 27.17/11.48 10314 -> 10388[label="",style="dashed", color="red", weight=0]; 27.17/11.48 10314[label="FiniteMap.mkBalBranch6MkBalBranch3 xux657 xux658 xux660 xux723 xux657 xux658 xux660 xux722 (FiniteMap.mkBalBranch6Size_l xux657 xux658 xux660 xux723 > FiniteMap.sIZE_RATIO * FiniteMap.mkBalBranch6Size_r xux657 xux658 xux660 xux723)",fontsize=16,color="magenta"];10314 -> 10389[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 10315[label="FiniteMap.mkBalBranch6MkBalBranch0 xux657 xux658 xux660 xux723 xux660 xux722 xux722",fontsize=16,color="burlywood",shape="box"];11036[label="xux722/FiniteMap.EmptyFM",fontsize=10,color="white",style="solid",shape="box"];10315 -> 11036[label="",style="solid", color="burlywood", weight=9]; 27.17/11.48 11036 -> 10390[label="",style="solid", color="burlywood", weight=3]; 27.17/11.48 11037[label="xux722/FiniteMap.Branch xux7220 xux7221 xux7222 xux7223 xux7224",fontsize=10,color="white",style="solid",shape="box"];10315 -> 11037[label="",style="solid", color="burlywood", weight=9]; 27.17/11.48 11037 -> 10391[label="",style="solid", color="burlywood", weight=3]; 27.17/11.48 10316[label="FiniteMap.mkBranchUnbox xux660 xux722 xux657 (Pos (Succ Zero) + FiniteMap.mkBranchLeft_size xux660 xux722 xux657 + FiniteMap.mkBranchRight_size xux660 xux722 xux657)",fontsize=16,color="black",shape="box"];10316 -> 10392[label="",style="solid", color="black", weight=3]; 27.17/11.48 2736 -> 2429[label="",style="dashed", color="red", weight=0]; 27.17/11.48 2736[label="FiniteMap.splitGT2 (Char (Succ xux185)) xux186 xux187 xux188 xux189 (Char (Succ xux190)) (primCmpNat xux1910 xux1920 == GT)",fontsize=16,color="magenta"];2736 -> 2860[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 2736 -> 2861[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 2737[label="FiniteMap.splitGT2 (Char (Succ xux185)) xux186 xux187 xux188 xux189 (Char (Succ xux190)) (GT == GT)",fontsize=16,color="black",shape="box"];2737 -> 2862[label="",style="solid", color="black", weight=3]; 27.17/11.48 2738[label="FiniteMap.splitGT2 (Char (Succ xux185)) xux186 xux187 xux188 xux189 (Char (Succ xux190)) (LT == GT)",fontsize=16,color="black",shape="box"];2738 -> 2863[label="",style="solid", color="black", weight=3]; 27.17/11.48 2739[label="FiniteMap.splitGT2 (Char (Succ xux185)) xux186 xux187 xux188 xux189 (Char (Succ xux190)) (EQ == GT)",fontsize=16,color="black",shape="box"];2739 -> 2864[label="",style="solid", color="black", weight=3]; 27.17/11.48 159[label="FiniteMap.splitGT4 FiniteMap.EmptyFM (Char (Succ xux4000))",fontsize=16,color="black",shape="box"];159 -> 188[label="",style="solid", color="black", weight=3]; 27.17/11.48 160 -> 26[label="",style="dashed", color="red", weight=0]; 27.17/11.48 160[label="FiniteMap.splitGT3 (FiniteMap.Branch xux340 xux341 xux342 xux343 xux344) (Char (Succ xux4000))",fontsize=16,color="magenta"];160 -> 189[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 160 -> 190[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 160 -> 191[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 160 -> 192[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 160 -> 193[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 160 -> 194[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 161[label="FiniteMap.splitGT1 (Char (Succ xux3000)) xux31 xux32 xux33 xux34 (Char Zero) (primCmpChar (Char Zero) (Char (Succ xux3000)) == LT)",fontsize=16,color="black",shape="box"];161 -> 195[label="",style="solid", color="black", weight=3]; 27.17/11.48 162[label="FiniteMap.splitGT1 (Char Zero) xux31 xux32 xux33 xux34 (Char Zero) (primCmpChar (Char Zero) (Char Zero) == LT)",fontsize=16,color="black",shape="box"];162 -> 196[label="",style="solid", color="black", weight=3]; 27.17/11.48 2856 -> 2530[label="",style="dashed", color="red", weight=0]; 27.17/11.48 2856[label="FiniteMap.splitLT2 (Char (Succ xux194)) xux195 xux196 xux197 xux198 (Char (Succ xux199)) (primCmpNat xux2000 xux2010 == LT)",fontsize=16,color="magenta"];2856 -> 2922[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 2856 -> 2923[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 2857[label="FiniteMap.splitLT2 (Char (Succ xux194)) xux195 xux196 xux197 xux198 (Char (Succ xux199)) (GT == LT)",fontsize=16,color="black",shape="box"];2857 -> 2924[label="",style="solid", color="black", weight=3]; 27.17/11.48 2858[label="FiniteMap.splitLT2 (Char (Succ xux194)) xux195 xux196 xux197 xux198 (Char (Succ xux199)) (LT == LT)",fontsize=16,color="black",shape="box"];2858 -> 2925[label="",style="solid", color="black", weight=3]; 27.17/11.48 2859[label="FiniteMap.splitLT2 (Char (Succ xux194)) xux195 xux196 xux197 xux198 (Char (Succ xux199)) (EQ == LT)",fontsize=16,color="black",shape="box"];2859 -> 2926[label="",style="solid", color="black", weight=3]; 27.17/11.48 168[label="FiniteMap.splitLT1 (Char Zero) xux31 xux32 xux33 xux34 (Char (Succ xux4000)) (primCmpChar (Char (Succ xux4000)) (Char Zero) == GT)",fontsize=16,color="black",shape="box"];168 -> 204[label="",style="solid", color="black", weight=3]; 27.17/11.48 169[label="FiniteMap.splitLT4 FiniteMap.EmptyFM (Char Zero)",fontsize=16,color="black",shape="box"];169 -> 205[label="",style="solid", color="black", weight=3]; 27.17/11.48 170 -> 27[label="",style="dashed", color="red", weight=0]; 27.17/11.48 170[label="FiniteMap.splitLT3 (FiniteMap.Branch xux330 xux331 xux332 xux333 xux334) (Char Zero)",fontsize=16,color="magenta"];170 -> 206[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 170 -> 207[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 170 -> 208[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 170 -> 209[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 170 -> 210[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 170 -> 211[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 171[label="FiniteMap.splitLT1 (Char Zero) xux31 xux32 xux33 xux34 (Char Zero) (primCmpChar (Char Zero) (Char Zero) == GT)",fontsize=16,color="black",shape="box"];171 -> 212[label="",style="solid", color="black", weight=3]; 27.17/11.48 6388[label="primCmpNat (Succ xux286000) (Succ xux281000) == LT",fontsize=16,color="black",shape="box"];6388 -> 6570[label="",style="solid", color="black", weight=3]; 27.17/11.48 6389[label="primCmpNat (Succ xux286000) Zero == LT",fontsize=16,color="black",shape="box"];6389 -> 6571[label="",style="solid", color="black", weight=3]; 27.17/11.48 6390[label="primCmpNat Zero (Succ xux281000) == LT",fontsize=16,color="black",shape="box"];6390 -> 6572[label="",style="solid", color="black", weight=3]; 27.17/11.48 6391[label="primCmpNat Zero Zero == LT",fontsize=16,color="black",shape="box"];6391 -> 6573[label="",style="solid", color="black", weight=3]; 27.17/11.48 9588[label="primCmpInt (Pos (Succ xux64400)) xux639 == GT",fontsize=16,color="burlywood",shape="box"];11038[label="xux639/Pos xux6390",fontsize=10,color="white",style="solid",shape="box"];9588 -> 11038[label="",style="solid", color="burlywood", weight=9]; 27.17/11.48 11038 -> 9616[label="",style="solid", color="burlywood", weight=3]; 27.17/11.48 11039[label="xux639/Neg xux6390",fontsize=10,color="white",style="solid",shape="box"];9588 -> 11039[label="",style="solid", color="burlywood", weight=9]; 27.17/11.48 11039 -> 9617[label="",style="solid", color="burlywood", weight=3]; 27.17/11.48 9589[label="primCmpInt (Pos Zero) xux639 == GT",fontsize=16,color="burlywood",shape="box"];11040[label="xux639/Pos xux6390",fontsize=10,color="white",style="solid",shape="box"];9589 -> 11040[label="",style="solid", color="burlywood", weight=9]; 27.17/11.48 11040 -> 9618[label="",style="solid", color="burlywood", weight=3]; 27.17/11.48 11041[label="xux639/Neg xux6390",fontsize=10,color="white",style="solid",shape="box"];9589 -> 11041[label="",style="solid", color="burlywood", weight=9]; 27.17/11.48 11041 -> 9619[label="",style="solid", color="burlywood", weight=3]; 27.17/11.48 9590[label="primCmpInt (Neg (Succ xux64400)) xux639 == GT",fontsize=16,color="burlywood",shape="box"];11042[label="xux639/Pos xux6390",fontsize=10,color="white",style="solid",shape="box"];9590 -> 11042[label="",style="solid", color="burlywood", weight=9]; 27.17/11.48 11042 -> 9620[label="",style="solid", color="burlywood", weight=3]; 27.17/11.48 11043[label="xux639/Neg xux6390",fontsize=10,color="white",style="solid",shape="box"];9590 -> 11043[label="",style="solid", color="burlywood", weight=9]; 27.17/11.48 11043 -> 9621[label="",style="solid", color="burlywood", weight=3]; 27.17/11.48 9591[label="primCmpInt (Neg Zero) xux639 == GT",fontsize=16,color="burlywood",shape="box"];11044[label="xux639/Pos xux6390",fontsize=10,color="white",style="solid",shape="box"];9591 -> 11044[label="",style="solid", color="burlywood", weight=9]; 27.17/11.48 11044 -> 9622[label="",style="solid", color="burlywood", weight=3]; 27.17/11.48 11045[label="xux639/Neg xux6390",fontsize=10,color="white",style="solid",shape="box"];9591 -> 11045[label="",style="solid", color="burlywood", weight=9]; 27.17/11.48 11045 -> 9623[label="",style="solid", color="burlywood", weight=3]; 27.17/11.48 9592[label="primCmpChar (Char xux6440) (Char xux6390) == GT",fontsize=16,color="black",shape="box"];9592 -> 9624[label="",style="solid", color="black", weight=3]; 27.17/11.48 9593[label="FiniteMap.addToFM0 xux658 xux663",fontsize=16,color="black",shape="box"];9593 -> 9625[label="",style="solid", color="black", weight=3]; 27.17/11.48 10045 -> 10029[label="",style="dashed", color="red", weight=0]; 27.17/11.48 10045[label="FiniteMap.addToFM_C FiniteMap.addToFM0 xux661 xux662 xux663",fontsize=16,color="magenta"];10045 -> 10183[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 10045 -> 10184[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 10045 -> 10185[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 10046 -> 10029[label="",style="dashed", color="red", weight=0]; 27.17/11.48 10046[label="FiniteMap.addToFM_C FiniteMap.addToFM0 xux661 xux662 xux663",fontsize=16,color="magenta"];10046 -> 10186[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 10046 -> 10187[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 10046 -> 10188[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 10047 -> 10189[label="",style="dashed", color="red", weight=0]; 27.17/11.48 10047[label="FiniteMap.mkBalBranch6Size_l xux657 xux658 xux660 (FiniteMap.addToFM_C FiniteMap.addToFM0 xux661 xux662 xux663) + FiniteMap.mkBalBranch6Size_r xux657 xux658 xux660 (FiniteMap.addToFM_C FiniteMap.addToFM0 xux661 xux662 xux663) < Pos (Succ (Succ Zero))",fontsize=16,color="magenta"];10047 -> 10200[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 10047 -> 10201[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 10273[label="FiniteMap.unitFM xux644 xux645",fontsize=16,color="black",shape="box"];10273 -> 10317[label="",style="solid", color="black", weight=3]; 27.17/11.48 10274 -> 9235[label="",style="dashed", color="red", weight=0]; 27.17/11.48 10274[label="FiniteMap.addToFM_C2 FiniteMap.addToFM0 xux6420 xux6421 xux6422 xux6423 xux6424 xux644 xux645 (xux644 < xux6420)",fontsize=16,color="magenta"];10274 -> 10318[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 10274 -> 10319[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 10274 -> 10320[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 10274 -> 10321[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 10274 -> 10322[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 10274 -> 10323[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 10374[label="Succ xux73600",fontsize=16,color="green",shape="box"];10375 -> 8864[label="",style="dashed", color="red", weight=0]; 27.17/11.48 10375[label="primMulNat (Succ (Succ (Succ (Succ Zero)))) (Succ xux73600)",fontsize=16,color="magenta"];10375 -> 10393[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 3702[label="primPlusNat xux210 xux16",fontsize=16,color="burlywood",shape="triangle"];11046[label="xux210/Succ xux2100",fontsize=10,color="white",style="solid",shape="box"];3702 -> 11046[label="",style="solid", color="burlywood", weight=9]; 27.17/11.48 11046 -> 3821[label="",style="solid", color="burlywood", weight=3]; 27.17/11.48 11047[label="xux210/Zero",fontsize=10,color="white",style="solid",shape="box"];3702 -> 11047[label="",style="solid", color="burlywood", weight=9]; 27.17/11.48 11047 -> 3822[label="",style="solid", color="burlywood", weight=3]; 27.17/11.48 10376[label="xux7410",fontsize=16,color="green",shape="box"];10377 -> 10313[label="",style="dashed", color="red", weight=0]; 27.17/11.48 10377[label="FiniteMap.sizeFM (FiniteMap.Branch xux27930 xux27931 xux27932 xux27933 xux27934)",fontsize=16,color="magenta"];10377 -> 10394[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 9114[label="primCmpInt (Pos (Succ xux6010)) xux52 == LT",fontsize=16,color="burlywood",shape="triangle"];11048[label="xux52/Pos xux520",fontsize=10,color="white",style="solid",shape="box"];9114 -> 11048[label="",style="solid", color="burlywood", weight=9]; 27.17/11.48 11048 -> 9151[label="",style="solid", color="burlywood", weight=3]; 27.17/11.48 11049[label="xux52/Neg xux520",fontsize=10,color="white",style="solid",shape="box"];9114 -> 11049[label="",style="solid", color="burlywood", weight=9]; 27.17/11.48 11049 -> 9152[label="",style="solid", color="burlywood", weight=3]; 27.17/11.48 10378 -> 10313[label="",style="dashed", color="red", weight=0]; 27.17/11.48 10378[label="FiniteMap.sizeFM (FiniteMap.Branch xux27930 xux27931 xux27932 xux27933 xux27934)",fontsize=16,color="magenta"];10378 -> 10395[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 8867[label="primCmpInt (Pos Zero) xux52 == LT",fontsize=16,color="burlywood",shape="triangle"];11050[label="xux52/Pos xux520",fontsize=10,color="white",style="solid",shape="box"];8867 -> 11050[label="",style="solid", color="burlywood", weight=9]; 27.17/11.48 11050 -> 9077[label="",style="solid", color="burlywood", weight=3]; 27.17/11.48 11051[label="xux52/Neg xux520",fontsize=10,color="white",style="solid",shape="box"];8867 -> 11051[label="",style="solid", color="burlywood", weight=9]; 27.17/11.48 11051 -> 9078[label="",style="solid", color="burlywood", weight=3]; 27.17/11.48 10381[label="xux7430",fontsize=16,color="green",shape="box"];10382 -> 10313[label="",style="dashed", color="red", weight=0]; 27.17/11.48 10382[label="FiniteMap.sizeFM (FiniteMap.Branch xux27930 xux27931 xux27932 xux27933 xux27934)",fontsize=16,color="magenta"];10382 -> 10396[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 9120[label="primCmpInt (Neg (Succ xux6020)) xux52 == LT",fontsize=16,color="burlywood",shape="triangle"];11052[label="xux52/Pos xux520",fontsize=10,color="white",style="solid",shape="box"];9120 -> 11052[label="",style="solid", color="burlywood", weight=9]; 27.17/11.48 11052 -> 9158[label="",style="solid", color="burlywood", weight=3]; 27.17/11.48 11053[label="xux52/Neg xux520",fontsize=10,color="white",style="solid",shape="box"];9120 -> 11053[label="",style="solid", color="burlywood", weight=9]; 27.17/11.48 11053 -> 9159[label="",style="solid", color="burlywood", weight=3]; 27.17/11.48 10383 -> 10313[label="",style="dashed", color="red", weight=0]; 27.17/11.48 10383[label="FiniteMap.sizeFM (FiniteMap.Branch xux27930 xux27931 xux27932 xux27933 xux27934)",fontsize=16,color="magenta"];10383 -> 10397[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 9032[label="primCmpInt (Neg Zero) xux52 == LT",fontsize=16,color="burlywood",shape="triangle"];11054[label="xux52/Pos xux520",fontsize=10,color="white",style="solid",shape="box"];9032 -> 11054[label="",style="solid", color="burlywood", weight=9]; 27.17/11.48 11054 -> 9082[label="",style="solid", color="burlywood", weight=3]; 27.17/11.48 11055[label="xux52/Neg xux520",fontsize=10,color="white",style="solid",shape="box"];9032 -> 11055[label="",style="solid", color="burlywood", weight=9]; 27.17/11.48 11055 -> 9083[label="",style="solid", color="burlywood", weight=3]; 27.17/11.48 8857[label="FiniteMap.mkVBalBranch3MkVBalBranch1 xux2790 xux2791 (Pos (Succ xux279200)) xux2793 xux2794 xux2850 xux2851 xux2852 xux2853 xux2854 xux286 xux287 xux2850 xux2851 xux2852 xux2853 xux2854 xux2790 xux2791 (Pos (Succ xux279200)) xux2793 xux2794 (primCmpInt (Pos (primMulNat (Succ (Succ (Succ (Succ (Succ Zero))))) (Succ xux279200))) (FiniteMap.mkVBalBranch3Size_l xux2790 xux2791 (Pos (Succ xux279200)) xux2793 xux2794 xux2850 xux2851 xux2852 xux2853 xux2854) == LT)",fontsize=16,color="black",shape="box"];8857 -> 9033[label="",style="solid", color="black", weight=3]; 27.17/11.48 8858[label="FiniteMap.mkVBalBranch3MkVBalBranch1 xux2790 xux2791 (Pos Zero) xux2793 xux2794 xux2850 xux2851 xux2852 xux2853 xux2854 xux286 xux287 xux2850 xux2851 xux2852 xux2853 xux2854 xux2790 xux2791 (Pos Zero) xux2793 xux2794 (primCmpInt (Pos (primMulNat (Succ (Succ (Succ (Succ (Succ Zero))))) Zero)) (FiniteMap.mkVBalBranch3Size_l xux2790 xux2791 (Pos Zero) xux2793 xux2794 xux2850 xux2851 xux2852 xux2853 xux2854) == LT)",fontsize=16,color="black",shape="box"];8858 -> 9034[label="",style="solid", color="black", weight=3]; 27.17/11.48 8859[label="FiniteMap.mkVBalBranch3MkVBalBranch1 xux2790 xux2791 (Neg (Succ xux279200)) xux2793 xux2794 xux2850 xux2851 xux2852 xux2853 xux2854 xux286 xux287 xux2850 xux2851 xux2852 xux2853 xux2854 xux2790 xux2791 (Neg (Succ xux279200)) xux2793 xux2794 (primCmpInt (Neg (primMulNat (Succ (Succ (Succ (Succ (Succ Zero))))) (Succ xux279200))) (FiniteMap.mkVBalBranch3Size_l xux2790 xux2791 (Neg (Succ xux279200)) xux2793 xux2794 xux2850 xux2851 xux2852 xux2853 xux2854) == LT)",fontsize=16,color="black",shape="box"];8859 -> 9035[label="",style="solid", color="black", weight=3]; 27.17/11.48 8860[label="FiniteMap.mkVBalBranch3MkVBalBranch1 xux2790 xux2791 (Neg Zero) xux2793 xux2794 xux2850 xux2851 xux2852 xux2853 xux2854 xux286 xux287 xux2850 xux2851 xux2852 xux2853 xux2854 xux2790 xux2791 (Neg Zero) xux2793 xux2794 (primCmpInt (Neg (primMulNat (Succ (Succ (Succ (Succ (Succ Zero))))) Zero)) (FiniteMap.mkVBalBranch3Size_l xux2790 xux2791 (Neg Zero) xux2793 xux2794 xux2850 xux2851 xux2852 xux2853 xux2854) == LT)",fontsize=16,color="black",shape="box"];8860 -> 9036[label="",style="solid", color="black", weight=3]; 27.17/11.48 10405[label="xux738",fontsize=16,color="green",shape="box"];10406 -> 10313[label="",style="dashed", color="red", weight=0]; 27.17/11.48 10406[label="FiniteMap.sizeFM xux660",fontsize=16,color="magenta"];10406 -> 10412[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 10407[label="primCmpInt (primPlusInt (Pos xux7480) xux745) (Pos (Succ (Succ Zero))) == LT",fontsize=16,color="burlywood",shape="box"];11056[label="xux745/Pos xux7450",fontsize=10,color="white",style="solid",shape="box"];10407 -> 11056[label="",style="solid", color="burlywood", weight=9]; 27.17/11.48 11056 -> 10413[label="",style="solid", color="burlywood", weight=3]; 27.17/11.48 11057[label="xux745/Neg xux7450",fontsize=10,color="white",style="solid",shape="box"];10407 -> 11057[label="",style="solid", color="burlywood", weight=9]; 27.17/11.48 11057 -> 10414[label="",style="solid", color="burlywood", weight=3]; 27.17/11.48 10408[label="primCmpInt (primPlusInt (Neg xux7480) xux745) (Pos (Succ (Succ Zero))) == LT",fontsize=16,color="burlywood",shape="box"];11058[label="xux745/Pos xux7450",fontsize=10,color="white",style="solid",shape="box"];10408 -> 11058[label="",style="solid", color="burlywood", weight=9]; 27.17/11.48 11058 -> 10415[label="",style="solid", color="burlywood", weight=3]; 27.17/11.48 11059[label="xux745/Neg xux7450",fontsize=10,color="white",style="solid",shape="box"];10408 -> 11059[label="",style="solid", color="burlywood", weight=9]; 27.17/11.48 11059 -> 10416[label="",style="solid", color="burlywood", weight=3]; 27.17/11.48 10384[label="primCmpInt (FiniteMap.sIZE_RATIO * FiniteMap.mkVBalBranch3Size_l xux27930 xux27931 xux27932 xux27933 xux27934 xux2850 xux2851 xux2852 xux2853 xux2854) (FiniteMap.mkVBalBranch3Size_r xux27930 xux27931 xux27932 xux27933 xux27934 xux2850 xux2851 xux2852 xux2853 xux2854) == LT",fontsize=16,color="black",shape="box"];10384 -> 10409[label="",style="solid", color="black", weight=3]; 27.17/11.48 10477[label="xux723",fontsize=16,color="green",shape="box"];10478[label="primMulInt FiniteMap.sIZE_RATIO xux750",fontsize=16,color="black",shape="box"];10478 -> 10502[label="",style="solid", color="black", weight=3]; 27.17/11.48 10386[label="FiniteMap.sizeFM FiniteMap.EmptyFM",fontsize=16,color="black",shape="box"];10386 -> 10417[label="",style="solid", color="black", weight=3]; 27.17/11.48 10387[label="FiniteMap.sizeFM (FiniteMap.Branch xux7230 xux7231 xux7232 xux7233 xux7234)",fontsize=16,color="black",shape="box"];10387 -> 10418[label="",style="solid", color="black", weight=3]; 27.17/11.48 10389 -> 9473[label="",style="dashed", color="red", weight=0]; 27.17/11.48 10389[label="FiniteMap.mkBalBranch6Size_l xux657 xux658 xux660 xux723 > FiniteMap.sIZE_RATIO * FiniteMap.mkBalBranch6Size_r xux657 xux658 xux660 xux723",fontsize=16,color="magenta"];10389 -> 10419[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 10389 -> 10420[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 10388[label="FiniteMap.mkBalBranch6MkBalBranch3 xux657 xux658 xux660 xux723 xux657 xux658 xux660 xux722 xux746",fontsize=16,color="burlywood",shape="triangle"];11060[label="xux746/False",fontsize=10,color="white",style="solid",shape="box"];10388 -> 11060[label="",style="solid", color="burlywood", weight=9]; 27.17/11.48 11060 -> 10421[label="",style="solid", color="burlywood", weight=3]; 27.17/11.48 11061[label="xux746/True",fontsize=10,color="white",style="solid",shape="box"];10388 -> 11061[label="",style="solid", color="burlywood", weight=9]; 27.17/11.48 11061 -> 10422[label="",style="solid", color="burlywood", weight=3]; 27.17/11.48 10390[label="FiniteMap.mkBalBranch6MkBalBranch0 xux657 xux658 xux660 xux723 xux660 FiniteMap.EmptyFM FiniteMap.EmptyFM",fontsize=16,color="black",shape="box"];10390 -> 10423[label="",style="solid", color="black", weight=3]; 27.17/11.48 10391[label="FiniteMap.mkBalBranch6MkBalBranch0 xux657 xux658 xux660 xux723 xux660 (FiniteMap.Branch xux7220 xux7221 xux7222 xux7223 xux7224) (FiniteMap.Branch xux7220 xux7221 xux7222 xux7223 xux7224)",fontsize=16,color="black",shape="box"];10391 -> 10424[label="",style="solid", color="black", weight=3]; 27.17/11.48 10392[label="Pos (Succ Zero) + FiniteMap.mkBranchLeft_size xux660 xux722 xux657 + FiniteMap.mkBranchRight_size xux660 xux722 xux657",fontsize=16,color="black",shape="box"];10392 -> 10425[label="",style="solid", color="black", weight=3]; 27.17/11.48 2860[label="xux1910",fontsize=16,color="green",shape="box"];2861[label="xux1920",fontsize=16,color="green",shape="box"];2862[label="FiniteMap.splitGT2 (Char (Succ xux185)) xux186 xux187 xux188 xux189 (Char (Succ xux190)) True",fontsize=16,color="black",shape="box"];2862 -> 2927[label="",style="solid", color="black", weight=3]; 27.17/11.48 2863[label="FiniteMap.splitGT2 (Char (Succ xux185)) xux186 xux187 xux188 xux189 (Char (Succ xux190)) False",fontsize=16,color="black",shape="triangle"];2863 -> 2928[label="",style="solid", color="black", weight=3]; 27.17/11.48 2864 -> 2863[label="",style="dashed", color="red", weight=0]; 27.17/11.48 2864[label="FiniteMap.splitGT2 (Char (Succ xux185)) xux186 xux187 xux188 xux189 (Char (Succ xux190)) False",fontsize=16,color="magenta"];188 -> 59[label="",style="dashed", color="red", weight=0]; 27.17/11.48 188[label="FiniteMap.emptyFM",fontsize=16,color="magenta"];189[label="xux341",fontsize=16,color="green",shape="box"];190[label="xux343",fontsize=16,color="green",shape="box"];191[label="xux342",fontsize=16,color="green",shape="box"];192[label="Char (Succ xux4000)",fontsize=16,color="green",shape="box"];193[label="xux340",fontsize=16,color="green",shape="box"];194[label="xux344",fontsize=16,color="green",shape="box"];195[label="FiniteMap.splitGT1 (Char (Succ xux3000)) xux31 xux32 xux33 xux34 (Char Zero) (primCmpNat Zero (Succ xux3000) == LT)",fontsize=16,color="black",shape="box"];195 -> 233[label="",style="solid", color="black", weight=3]; 27.17/11.48 196[label="FiniteMap.splitGT1 (Char Zero) xux31 xux32 xux33 xux34 (Char Zero) (primCmpNat Zero Zero == LT)",fontsize=16,color="black",shape="box"];196 -> 234[label="",style="solid", color="black", weight=3]; 27.17/11.48 2922[label="xux2010",fontsize=16,color="green",shape="box"];2923[label="xux2000",fontsize=16,color="green",shape="box"];2924[label="FiniteMap.splitLT2 (Char (Succ xux194)) xux195 xux196 xux197 xux198 (Char (Succ xux199)) False",fontsize=16,color="black",shape="triangle"];2924 -> 2949[label="",style="solid", color="black", weight=3]; 27.17/11.48 2925[label="FiniteMap.splitLT2 (Char (Succ xux194)) xux195 xux196 xux197 xux198 (Char (Succ xux199)) True",fontsize=16,color="black",shape="box"];2925 -> 2950[label="",style="solid", color="black", weight=3]; 27.17/11.48 2926 -> 2924[label="",style="dashed", color="red", weight=0]; 27.17/11.48 2926[label="FiniteMap.splitLT2 (Char (Succ xux194)) xux195 xux196 xux197 xux198 (Char (Succ xux199)) False",fontsize=16,color="magenta"];204[label="FiniteMap.splitLT1 (Char Zero) xux31 xux32 xux33 xux34 (Char (Succ xux4000)) (primCmpNat (Succ xux4000) Zero == GT)",fontsize=16,color="black",shape="box"];204 -> 243[label="",style="solid", color="black", weight=3]; 27.17/11.48 205 -> 59[label="",style="dashed", color="red", weight=0]; 27.17/11.48 205[label="FiniteMap.emptyFM",fontsize=16,color="magenta"];206[label="xux331",fontsize=16,color="green",shape="box"];207[label="xux333",fontsize=16,color="green",shape="box"];208[label="xux332",fontsize=16,color="green",shape="box"];209[label="Char Zero",fontsize=16,color="green",shape="box"];210[label="xux330",fontsize=16,color="green",shape="box"];211[label="xux334",fontsize=16,color="green",shape="box"];212[label="FiniteMap.splitLT1 (Char Zero) xux31 xux32 xux33 xux34 (Char Zero) (primCmpNat Zero Zero == GT)",fontsize=16,color="black",shape="box"];212 -> 244[label="",style="solid", color="black", weight=3]; 27.17/11.48 6570 -> 6306[label="",style="dashed", color="red", weight=0]; 27.17/11.48 6570[label="primCmpNat xux286000 xux281000 == LT",fontsize=16,color="magenta"];6570 -> 6591[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 6570 -> 6592[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 6571 -> 6158[label="",style="dashed", color="red", weight=0]; 27.17/11.48 6571[label="GT == LT",fontsize=16,color="magenta"];6572 -> 6163[label="",style="dashed", color="red", weight=0]; 27.17/11.48 6572[label="LT == LT",fontsize=16,color="magenta"];6573 -> 6274[label="",style="dashed", color="red", weight=0]; 27.17/11.48 6573[label="EQ == LT",fontsize=16,color="magenta"];9616[label="primCmpInt (Pos (Succ xux64400)) (Pos xux6390) == GT",fontsize=16,color="black",shape="box"];9616 -> 9669[label="",style="solid", color="black", weight=3]; 27.17/11.48 9617[label="primCmpInt (Pos (Succ xux64400)) (Neg xux6390) == GT",fontsize=16,color="black",shape="box"];9617 -> 9670[label="",style="solid", color="black", weight=3]; 27.17/11.48 9618[label="primCmpInt (Pos Zero) (Pos xux6390) == GT",fontsize=16,color="burlywood",shape="box"];11062[label="xux6390/Succ xux63900",fontsize=10,color="white",style="solid",shape="box"];9618 -> 11062[label="",style="solid", color="burlywood", weight=9]; 27.17/11.48 11062 -> 9671[label="",style="solid", color="burlywood", weight=3]; 27.17/11.48 11063[label="xux6390/Zero",fontsize=10,color="white",style="solid",shape="box"];9618 -> 11063[label="",style="solid", color="burlywood", weight=9]; 27.17/11.48 11063 -> 9672[label="",style="solid", color="burlywood", weight=3]; 27.17/11.48 9619[label="primCmpInt (Pos Zero) (Neg xux6390) == GT",fontsize=16,color="burlywood",shape="box"];11064[label="xux6390/Succ xux63900",fontsize=10,color="white",style="solid",shape="box"];9619 -> 11064[label="",style="solid", color="burlywood", weight=9]; 27.17/11.48 11064 -> 9673[label="",style="solid", color="burlywood", weight=3]; 27.17/11.48 11065[label="xux6390/Zero",fontsize=10,color="white",style="solid",shape="box"];9619 -> 11065[label="",style="solid", color="burlywood", weight=9]; 27.17/11.48 11065 -> 9674[label="",style="solid", color="burlywood", weight=3]; 27.17/11.48 9620[label="primCmpInt (Neg (Succ xux64400)) (Pos xux6390) == GT",fontsize=16,color="black",shape="box"];9620 -> 9675[label="",style="solid", color="black", weight=3]; 27.17/11.48 9621[label="primCmpInt (Neg (Succ xux64400)) (Neg xux6390) == GT",fontsize=16,color="black",shape="box"];9621 -> 9676[label="",style="solid", color="black", weight=3]; 27.17/11.48 9622[label="primCmpInt (Neg Zero) (Pos xux6390) == GT",fontsize=16,color="burlywood",shape="box"];11066[label="xux6390/Succ xux63900",fontsize=10,color="white",style="solid",shape="box"];9622 -> 11066[label="",style="solid", color="burlywood", weight=9]; 27.17/11.48 11066 -> 9677[label="",style="solid", color="burlywood", weight=3]; 27.17/11.48 11067[label="xux6390/Zero",fontsize=10,color="white",style="solid",shape="box"];9622 -> 11067[label="",style="solid", color="burlywood", weight=9]; 27.17/11.48 11067 -> 9678[label="",style="solid", color="burlywood", weight=3]; 27.17/11.48 9623[label="primCmpInt (Neg Zero) (Neg xux6390) == GT",fontsize=16,color="burlywood",shape="box"];11068[label="xux6390/Succ xux63900",fontsize=10,color="white",style="solid",shape="box"];9623 -> 11068[label="",style="solid", color="burlywood", weight=9]; 27.17/11.48 11068 -> 9679[label="",style="solid", color="burlywood", weight=3]; 27.17/11.48 11069[label="xux6390/Zero",fontsize=10,color="white",style="solid",shape="box"];9623 -> 11069[label="",style="solid", color="burlywood", weight=9]; 27.17/11.48 11069 -> 9680[label="",style="solid", color="burlywood", weight=3]; 27.17/11.48 9624[label="primCmpNat xux6440 xux6390 == GT",fontsize=16,color="burlywood",shape="triangle"];11070[label="xux6440/Succ xux64400",fontsize=10,color="white",style="solid",shape="box"];9624 -> 11070[label="",style="solid", color="burlywood", weight=9]; 27.17/11.48 11070 -> 9681[label="",style="solid", color="burlywood", weight=3]; 27.17/11.48 11071[label="xux6440/Zero",fontsize=10,color="white",style="solid",shape="box"];9624 -> 11071[label="",style="solid", color="burlywood", weight=9]; 27.17/11.48 11071 -> 9682[label="",style="solid", color="burlywood", weight=3]; 27.17/11.48 9625[label="xux663",fontsize=16,color="green",shape="box"];10183[label="xux661",fontsize=16,color="green",shape="box"];10184[label="xux662",fontsize=16,color="green",shape="box"];10185[label="xux663",fontsize=16,color="green",shape="box"];10186[label="xux661",fontsize=16,color="green",shape="box"];10187[label="xux662",fontsize=16,color="green",shape="box"];10188[label="xux663",fontsize=16,color="green",shape="box"];10200 -> 10029[label="",style="dashed", color="red", weight=0]; 27.17/11.48 10200[label="FiniteMap.addToFM_C FiniteMap.addToFM0 xux661 xux662 xux663",fontsize=16,color="magenta"];10200 -> 10233[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 10200 -> 10234[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 10200 -> 10235[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 10201 -> 10029[label="",style="dashed", color="red", weight=0]; 27.17/11.48 10201[label="FiniteMap.addToFM_C FiniteMap.addToFM0 xux661 xux662 xux663",fontsize=16,color="magenta"];10201 -> 10236[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 10201 -> 10237[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 10201 -> 10238[label="",style="dashed", color="magenta", weight=3]; 27.17/11.48 10317[label="FiniteMap.Branch xux644 xux645 (Pos (Succ Zero)) FiniteMap.emptyFM FiniteMap.emptyFM",fontsize=16,color="green",shape="box"];10317 -> 10426[label="",style="dashed", color="green", weight=3]; 27.17/11.48 10317 -> 10427[label="",style="dashed", color="green", weight=3]; 27.17/11.48 10318[label="xux6421",fontsize=16,color="green",shape="box"];10319[label="xux6422",fontsize=16,color="green",shape="box"];10320[label="xux6420",fontsize=16,color="green",shape="box"];10321[label="xux6423",fontsize=16,color="green",shape="box"];10322[label="xux644 < xux6420",fontsize=16,color="blue",shape="box"];11072[label="< :: ((@3) a b c) -> ((@3) a b c) -> Bool",fontsize=10,color="white",style="solid",shape="box"];10322 -> 11072[label="",style="solid", color="blue", weight=9]; 27.17/11.48 11072 -> 10428[label="",style="solid", color="blue", weight=3]; 27.17/11.48 11073[label="< :: ([] a) -> ([] a) -> Bool",fontsize=10,color="white",style="solid",shape="box"];10322 -> 11073[label="",style="solid", color="blue", weight=9]; 27.17/11.48 11073 -> 10429[label="",style="solid", color="blue", weight=3]; 27.17/11.48 11074[label="< :: Float -> Float -> Bool",fontsize=10,color="white",style="solid",shape="box"];10322 -> 11074[label="",style="solid", color="blue", weight=9]; 27.17/11.48 11074 -> 10430[label="",style="solid", color="blue", weight=3]; 27.17/11.48 11075[label="< :: Int -> Int -> Bool",fontsize=10,color="white",style="solid",shape="box"];10322 -> 11075[label="",style="solid", color="blue", weight=9]; 27.17/11.48 11075 -> 10431[label="",style="solid", color="blue", weight=3]; 27.17/11.48 11076[label="< :: Ordering -> Ordering -> Bool",fontsize=10,color="white",style="solid",shape="box"];10322 -> 11076[label="",style="solid", color="blue", weight=9]; 27.17/11.48 11076 -> 10432[label="",style="solid", color="blue", weight=3]; 27.17/11.48 11077[label="< :: ((@2) a b) -> ((@2) a b) -> Bool",fontsize=10,color="white",style="solid",shape="box"];10322 -> 11077[label="",style="solid", color="blue", weight=9]; 27.17/11.48 11077 -> 10433[label="",style="solid", color="blue", weight=3]; 27.17/11.48 11078[label="< :: () -> () -> Bool",fontsize=10,color="white",style="solid",shape="box"];10322 -> 11078[label="",style="solid", color="blue", weight=9]; 27.17/11.48 11078 -> 10434[label="",style="solid", color="blue", weight=3]; 27.17/11.48 11079[label="< :: (Ratio a) -> (Ratio a) -> Bool",fontsize=10,color="white",style="solid",shape="box"];10322 -> 11079[label="",style="solid", color="blue", weight=9]; 27.17/11.48 11079 -> 10435[label="",style="solid", color="blue", weight=3]; 27.17/11.48 11080[label="< :: Double -> Double -> Bool",fontsize=10,color="white",style="solid",shape="box"];10322 -> 11080[label="",style="solid", color="blue", weight=9]; 27.17/11.48 11080 -> 10436[label="",style="solid", color="blue", weight=3]; 27.17/11.48 11081[label="< :: Integer -> Integer -> Bool",fontsize=10,color="white",style="solid",shape="box"];10322 -> 11081[label="",style="solid", color="blue", weight=9]; 27.17/11.49 11081 -> 10437[label="",style="solid", color="blue", weight=3]; 27.17/11.49 11082[label="< :: Char -> Char -> Bool",fontsize=10,color="white",style="solid",shape="box"];10322 -> 11082[label="",style="solid", color="blue", weight=9]; 27.17/11.49 11082 -> 10438[label="",style="solid", color="blue", weight=3]; 27.17/11.49 11083[label="< :: (Maybe a) -> (Maybe a) -> Bool",fontsize=10,color="white",style="solid",shape="box"];10322 -> 11083[label="",style="solid", color="blue", weight=9]; 27.17/11.49 11083 -> 10439[label="",style="solid", color="blue", weight=3]; 27.17/11.49 11084[label="< :: Bool -> Bool -> Bool",fontsize=10,color="white",style="solid",shape="box"];10322 -> 11084[label="",style="solid", color="blue", weight=9]; 27.17/11.49 11084 -> 10440[label="",style="solid", color="blue", weight=3]; 27.17/11.49 11085[label="< :: (Either a b) -> (Either a b) -> Bool",fontsize=10,color="white",style="solid",shape="box"];10322 -> 11085[label="",style="solid", color="blue", weight=9]; 27.17/11.49 11085 -> 10441[label="",style="solid", color="blue", weight=3]; 27.17/11.49 10323[label="xux6424",fontsize=16,color="green",shape="box"];10393[label="xux73600",fontsize=16,color="green",shape="box"];8864[label="primMulNat (Succ (Succ (Succ (Succ Zero)))) (Succ xux6200)",fontsize=16,color="black",shape="triangle"];8864 -> 9074[label="",style="solid", color="black", weight=3]; 27.17/11.49 3821[label="primPlusNat (Succ xux2100) xux16",fontsize=16,color="burlywood",shape="box"];11086[label="xux16/Succ xux160",fontsize=10,color="white",style="solid",shape="box"];3821 -> 11086[label="",style="solid", color="burlywood", weight=9]; 27.17/11.49 11086 -> 3918[label="",style="solid", color="burlywood", weight=3]; 27.17/11.49 11087[label="xux16/Zero",fontsize=10,color="white",style="solid",shape="box"];3821 -> 11087[label="",style="solid", color="burlywood", weight=9]; 27.17/11.49 11087 -> 3919[label="",style="solid", color="burlywood", weight=3]; 27.17/11.49 3822[label="primPlusNat Zero xux16",fontsize=16,color="burlywood",shape="box"];11088[label="xux16/Succ xux160",fontsize=10,color="white",style="solid",shape="box"];3822 -> 11088[label="",style="solid", color="burlywood", weight=9]; 27.17/11.49 11088 -> 3920[label="",style="solid", color="burlywood", weight=3]; 27.17/11.49 11089[label="xux16/Zero",fontsize=10,color="white",style="solid",shape="box"];3822 -> 11089[label="",style="solid", color="burlywood", weight=9]; 27.17/11.49 11089 -> 3921[label="",style="solid", color="burlywood", weight=3]; 27.17/11.49 10394[label="FiniteMap.Branch xux27930 xux27931 xux27932 xux27933 xux27934",fontsize=16,color="green",shape="box"];9151[label="primCmpInt (Pos (Succ xux6010)) (Pos xux520) == LT",fontsize=16,color="black",shape="box"];9151 -> 9191[label="",style="solid", color="black", weight=3]; 27.17/11.49 9152[label="primCmpInt (Pos (Succ xux6010)) (Neg xux520) == LT",fontsize=16,color="black",shape="box"];9152 -> 9192[label="",style="solid", color="black", weight=3]; 27.17/11.49 10395[label="FiniteMap.Branch xux27930 xux27931 xux27932 xux27933 xux27934",fontsize=16,color="green",shape="box"];9077[label="primCmpInt (Pos Zero) (Pos xux520) == LT",fontsize=16,color="burlywood",shape="box"];11090[label="xux520/Succ xux5200",fontsize=10,color="white",style="solid",shape="box"];9077 -> 11090[label="",style="solid", color="burlywood", weight=9]; 27.17/11.49 11090 -> 9116[label="",style="solid", color="burlywood", weight=3]; 27.17/11.49 11091[label="xux520/Zero",fontsize=10,color="white",style="solid",shape="box"];9077 -> 11091[label="",style="solid", color="burlywood", weight=9]; 27.17/11.49 11091 -> 9117[label="",style="solid", color="burlywood", weight=3]; 27.17/11.49 9078[label="primCmpInt (Pos Zero) (Neg xux520) == LT",fontsize=16,color="burlywood",shape="box"];11092[label="xux520/Succ xux5200",fontsize=10,color="white",style="solid",shape="box"];9078 -> 11092[label="",style="solid", color="burlywood", weight=9]; 27.17/11.49 11092 -> 9118[label="",style="solid", color="burlywood", weight=3]; 27.17/11.49 11093[label="xux520/Zero",fontsize=10,color="white",style="solid",shape="box"];9078 -> 11093[label="",style="solid", color="burlywood", weight=9]; 27.17/11.49 11093 -> 9119[label="",style="solid", color="burlywood", weight=3]; 27.17/11.49 10396[label="FiniteMap.Branch xux27930 xux27931 xux27932 xux27933 xux27934",fontsize=16,color="green",shape="box"];9158[label="primCmpInt (Neg (Succ xux6020)) (Pos xux520) == LT",fontsize=16,color="black",shape="box"];9158 -> 9195[label="",style="solid", color="black", weight=3]; 27.17/11.49 9159[label="primCmpInt (Neg (Succ xux6020)) (Neg xux520) == LT",fontsize=16,color="black",shape="box"];9159 -> 9196[label="",style="solid", color="black", weight=3]; 27.17/11.49 10397[label="FiniteMap.Branch xux27930 xux27931 xux27932 xux27933 xux27934",fontsize=16,color="green",shape="box"];9082[label="primCmpInt (Neg Zero) (Pos xux520) == LT",fontsize=16,color="burlywood",shape="box"];11094[label="xux520/Succ xux5200",fontsize=10,color="white",style="solid",shape="box"];9082 -> 11094[label="",style="solid", color="burlywood", weight=9]; 27.17/11.49 11094 -> 9122[label="",style="solid", color="burlywood", weight=3]; 27.17/11.49 11095[label="xux520/Zero",fontsize=10,color="white",style="solid",shape="box"];9082 -> 11095[label="",style="solid", color="burlywood", weight=9]; 27.17/11.49 11095 -> 9123[label="",style="solid", color="burlywood", weight=3]; 27.17/11.49 9083[label="primCmpInt (Neg Zero) (Neg xux520) == LT",fontsize=16,color="burlywood",shape="box"];11096[label="xux520/Succ xux5200",fontsize=10,color="white",style="solid",shape="box"];9083 -> 11096[label="",style="solid", color="burlywood", weight=9]; 27.17/11.49 11096 -> 9124[label="",style="solid", color="burlywood", weight=3]; 27.17/11.49 11097[label="xux520/Zero",fontsize=10,color="white",style="solid",shape="box"];9083 -> 11097[label="",style="solid", color="burlywood", weight=9]; 27.17/11.49 11097 -> 9125[label="",style="solid", color="burlywood", weight=3]; 27.17/11.49 9033 -> 9199[label="",style="dashed", color="red", weight=0]; 27.17/11.49 9033[label="FiniteMap.mkVBalBranch3MkVBalBranch1 xux2790 xux2791 (Pos (Succ xux279200)) xux2793 xux2794 xux2850 xux2851 xux2852 xux2853 xux2854 xux286 xux287 xux2850 xux2851 xux2852 xux2853 xux2854 xux2790 xux2791 (Pos (Succ xux279200)) xux2793 xux2794 (primCmpInt (Pos (primPlusNat (primMulNat (Succ (Succ (Succ (Succ Zero)))) (Succ xux279200)) (Succ xux279200))) (FiniteMap.mkVBalBranch3Size_l xux2790 xux2791 (Pos (Succ xux279200)) xux2793 xux2794 xux2850 xux2851 xux2852 xux2853 xux2854) == LT)",fontsize=16,color="magenta"];9033 -> 9200[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 9034 -> 9090[label="",style="dashed", color="red", weight=0]; 27.17/11.49 9034[label="FiniteMap.mkVBalBranch3MkVBalBranch1 xux2790 xux2791 (Pos Zero) xux2793 xux2794 xux2850 xux2851 xux2852 xux2853 xux2854 xux286 xux287 xux2850 xux2851 xux2852 xux2853 xux2854 xux2790 xux2791 (Pos Zero) xux2793 xux2794 (primCmpInt (Pos Zero) (FiniteMap.mkVBalBranch3Size_l xux2790 xux2791 (Pos Zero) xux2793 xux2794 xux2850 xux2851 xux2852 xux2853 xux2854) == LT)",fontsize=16,color="magenta"];9034 -> 9091[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 9035 -> 9215[label="",style="dashed", color="red", weight=0]; 27.17/11.49 9035[label="FiniteMap.mkVBalBranch3MkVBalBranch1 xux2790 xux2791 (Neg (Succ xux279200)) xux2793 xux2794 xux2850 xux2851 xux2852 xux2853 xux2854 xux286 xux287 xux2850 xux2851 xux2852 xux2853 xux2854 xux2790 xux2791 (Neg (Succ xux279200)) xux2793 xux2794 (primCmpInt (Neg (primPlusNat (primMulNat (Succ (Succ (Succ (Succ Zero)))) (Succ xux279200)) (Succ xux279200))) (FiniteMap.mkVBalBranch3Size_l xux2790 xux2791 (Neg (Succ xux279200)) xux2793 xux2794 xux2850 xux2851 xux2852 xux2853 xux2854) == LT)",fontsize=16,color="magenta"];9035 -> 9216[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 9036 -> 9099[label="",style="dashed", color="red", weight=0]; 27.17/11.49 9036[label="FiniteMap.mkVBalBranch3MkVBalBranch1 xux2790 xux2791 (Neg Zero) xux2793 xux2794 xux2850 xux2851 xux2852 xux2853 xux2854 xux286 xux287 xux2850 xux2851 xux2852 xux2853 xux2854 xux2790 xux2791 (Neg Zero) xux2793 xux2794 (primCmpInt (Neg Zero) (FiniteMap.mkVBalBranch3Size_l xux2790 xux2791 (Neg Zero) xux2793 xux2794 xux2850 xux2851 xux2852 xux2853 xux2854) == LT)",fontsize=16,color="magenta"];9036 -> 9100[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10412[label="xux660",fontsize=16,color="green",shape="box"];10413[label="primCmpInt (primPlusInt (Pos xux7480) (Pos xux7450)) (Pos (Succ (Succ Zero))) == LT",fontsize=16,color="black",shape="box"];10413 -> 10470[label="",style="solid", color="black", weight=3]; 27.17/11.49 10414[label="primCmpInt (primPlusInt (Pos xux7480) (Neg xux7450)) (Pos (Succ (Succ Zero))) == LT",fontsize=16,color="black",shape="box"];10414 -> 10471[label="",style="solid", color="black", weight=3]; 27.17/11.49 10415[label="primCmpInt (primPlusInt (Neg xux7480) (Pos xux7450)) (Pos (Succ (Succ Zero))) == LT",fontsize=16,color="black",shape="box"];10415 -> 10472[label="",style="solid", color="black", weight=3]; 27.17/11.49 10416[label="primCmpInt (primPlusInt (Neg xux7480) (Neg xux7450)) (Pos (Succ (Succ Zero))) == LT",fontsize=16,color="black",shape="box"];10416 -> 10473[label="",style="solid", color="black", weight=3]; 27.17/11.49 10409[label="primCmpInt (primMulInt FiniteMap.sIZE_RATIO (FiniteMap.mkVBalBranch3Size_l xux27930 xux27931 xux27932 xux27933 xux27934 xux2850 xux2851 xux2852 xux2853 xux2854)) (FiniteMap.mkVBalBranch3Size_r xux27930 xux27931 xux27932 xux27933 xux27934 xux2850 xux2851 xux2852 xux2853 xux2854) == LT",fontsize=16,color="black",shape="box"];10409 -> 10442[label="",style="solid", color="black", weight=3]; 27.17/11.49 10502[label="primMulInt (Pos (Succ (Succ (Succ (Succ (Succ Zero)))))) xux750",fontsize=16,color="burlywood",shape="box"];11098[label="xux750/Pos xux7500",fontsize=10,color="white",style="solid",shape="box"];10502 -> 11098[label="",style="solid", color="burlywood", weight=9]; 27.17/11.49 11098 -> 10509[label="",style="solid", color="burlywood", weight=3]; 27.17/11.49 11099[label="xux750/Neg xux7500",fontsize=10,color="white",style="solid",shape="box"];10502 -> 11099[label="",style="solid", color="burlywood", weight=9]; 27.17/11.49 11099 -> 10510[label="",style="solid", color="burlywood", weight=3]; 27.17/11.49 10417[label="Pos Zero",fontsize=16,color="green",shape="box"];10418[label="xux7232",fontsize=16,color="green",shape="box"];10419 -> 10474[label="",style="dashed", color="red", weight=0]; 27.17/11.49 10419[label="FiniteMap.sIZE_RATIO * FiniteMap.mkBalBranch6Size_r xux657 xux658 xux660 xux723",fontsize=16,color="magenta"];10419 -> 10476[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10420 -> 10401[label="",style="dashed", color="red", weight=0]; 27.17/11.49 10420[label="FiniteMap.mkBalBranch6Size_l xux657 xux658 xux660 xux723",fontsize=16,color="magenta"];10420 -> 10479[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10421[label="FiniteMap.mkBalBranch6MkBalBranch3 xux657 xux658 xux660 xux723 xux657 xux658 xux660 xux722 False",fontsize=16,color="black",shape="box"];10421 -> 10480[label="",style="solid", color="black", weight=3]; 27.17/11.49 10422[label="FiniteMap.mkBalBranch6MkBalBranch3 xux657 xux658 xux660 xux723 xux657 xux658 xux660 xux722 True",fontsize=16,color="black",shape="box"];10422 -> 10481[label="",style="solid", color="black", weight=3]; 27.17/11.49 10423[label="error []",fontsize=16,color="red",shape="box"];10424[label="FiniteMap.mkBalBranch6MkBalBranch02 xux657 xux658 xux660 xux723 xux660 (FiniteMap.Branch xux7220 xux7221 xux7222 xux7223 xux7224) (FiniteMap.Branch xux7220 xux7221 xux7222 xux7223 xux7224)",fontsize=16,color="black",shape="box"];10424 -> 10482[label="",style="solid", color="black", weight=3]; 27.17/11.49 10425 -> 10720[label="",style="dashed", color="red", weight=0]; 27.17/11.49 10425[label="primPlusInt (Pos (Succ Zero) + FiniteMap.mkBranchLeft_size xux660 xux722 xux657) (FiniteMap.mkBranchRight_size xux660 xux722 xux657)",fontsize=16,color="magenta"];10425 -> 10721[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10425 -> 10722[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 2927 -> 112[label="",style="dashed", color="red", weight=0]; 27.17/11.49 2927[label="FiniteMap.splitGT xux189 (Char (Succ xux190))",fontsize=16,color="magenta"];2927 -> 2951[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 2927 -> 2952[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 2928 -> 6345[label="",style="dashed", color="red", weight=0]; 27.17/11.49 2928[label="FiniteMap.splitGT1 (Char (Succ xux185)) xux186 xux187 xux188 xux189 (Char (Succ xux190)) (Char (Succ xux190) < Char (Succ xux185))",fontsize=16,color="magenta"];2928 -> 6346[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 2928 -> 6347[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 2928 -> 6348[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 2928 -> 6349[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 2928 -> 6350[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 2928 -> 6351[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 2928 -> 6352[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 233[label="FiniteMap.splitGT1 (Char (Succ xux3000)) xux31 xux32 xux33 xux34 (Char Zero) (LT == LT)",fontsize=16,color="black",shape="box"];233 -> 270[label="",style="solid", color="black", weight=3]; 27.17/11.49 234[label="FiniteMap.splitGT1 (Char Zero) xux31 xux32 xux33 xux34 (Char Zero) (EQ == LT)",fontsize=16,color="black",shape="box"];234 -> 271[label="",style="solid", color="black", weight=3]; 27.17/11.49 2949[label="FiniteMap.splitLT1 (Char (Succ xux194)) xux195 xux196 xux197 xux198 (Char (Succ xux199)) (Char (Succ xux199) > Char (Succ xux194))",fontsize=16,color="black",shape="box"];2949 -> 2999[label="",style="solid", color="black", weight=3]; 27.17/11.49 2950 -> 376[label="",style="dashed", color="red", weight=0]; 27.17/11.49 2950[label="FiniteMap.splitLT xux197 (Char (Succ xux199))",fontsize=16,color="magenta"];2950 -> 3000[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 2950 -> 3001[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 243[label="FiniteMap.splitLT1 (Char Zero) xux31 xux32 xux33 xux34 (Char (Succ xux4000)) (GT == GT)",fontsize=16,color="black",shape="box"];243 -> 281[label="",style="solid", color="black", weight=3]; 27.17/11.49 244[label="FiniteMap.splitLT1 (Char Zero) xux31 xux32 xux33 xux34 (Char Zero) (EQ == GT)",fontsize=16,color="black",shape="box"];244 -> 282[label="",style="solid", color="black", weight=3]; 27.17/11.49 6591[label="xux281000",fontsize=16,color="green",shape="box"];6592[label="xux286000",fontsize=16,color="green",shape="box"];6158[label="GT == LT",fontsize=16,color="black",shape="triangle"];6158 -> 6272[label="",style="solid", color="black", weight=3]; 27.17/11.49 6163[label="LT == LT",fontsize=16,color="black",shape="triangle"];6163 -> 6277[label="",style="solid", color="black", weight=3]; 27.17/11.49 6274[label="EQ == LT",fontsize=16,color="black",shape="triangle"];6274 -> 6310[label="",style="solid", color="black", weight=3]; 27.17/11.49 9669 -> 9624[label="",style="dashed", color="red", weight=0]; 27.17/11.49 9669[label="primCmpNat (Succ xux64400) xux6390 == GT",fontsize=16,color="magenta"];9669 -> 9709[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 9669 -> 9710[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 9670[label="GT == GT",fontsize=16,color="black",shape="triangle"];9670 -> 9711[label="",style="solid", color="black", weight=3]; 27.17/11.49 9671[label="primCmpInt (Pos Zero) (Pos (Succ xux63900)) == GT",fontsize=16,color="black",shape="box"];9671 -> 9712[label="",style="solid", color="black", weight=3]; 27.17/11.49 9672[label="primCmpInt (Pos Zero) (Pos Zero) == GT",fontsize=16,color="black",shape="box"];9672 -> 9713[label="",style="solid", color="black", weight=3]; 27.17/11.49 9673[label="primCmpInt (Pos Zero) (Neg (Succ xux63900)) == GT",fontsize=16,color="black",shape="box"];9673 -> 9714[label="",style="solid", color="black", weight=3]; 27.17/11.49 9674[label="primCmpInt (Pos Zero) (Neg Zero) == GT",fontsize=16,color="black",shape="box"];9674 -> 9715[label="",style="solid", color="black", weight=3]; 27.17/11.49 9675[label="LT == GT",fontsize=16,color="black",shape="triangle"];9675 -> 9716[label="",style="solid", color="black", weight=3]; 27.17/11.49 9676 -> 9624[label="",style="dashed", color="red", weight=0]; 27.17/11.49 9676[label="primCmpNat xux6390 (Succ xux64400) == GT",fontsize=16,color="magenta"];9676 -> 9717[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 9676 -> 9718[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 9677[label="primCmpInt (Neg Zero) (Pos (Succ xux63900)) == GT",fontsize=16,color="black",shape="box"];9677 -> 9719[label="",style="solid", color="black", weight=3]; 27.17/11.49 9678[label="primCmpInt (Neg Zero) (Pos Zero) == GT",fontsize=16,color="black",shape="box"];9678 -> 9720[label="",style="solid", color="black", weight=3]; 27.17/11.49 9679[label="primCmpInt (Neg Zero) (Neg (Succ xux63900)) == GT",fontsize=16,color="black",shape="box"];9679 -> 9721[label="",style="solid", color="black", weight=3]; 27.17/11.49 9680[label="primCmpInt (Neg Zero) (Neg Zero) == GT",fontsize=16,color="black",shape="box"];9680 -> 9722[label="",style="solid", color="black", weight=3]; 27.17/11.49 9681[label="primCmpNat (Succ xux64400) xux6390 == GT",fontsize=16,color="burlywood",shape="box"];11100[label="xux6390/Succ xux63900",fontsize=10,color="white",style="solid",shape="box"];9681 -> 11100[label="",style="solid", color="burlywood", weight=9]; 27.17/11.49 11100 -> 9723[label="",style="solid", color="burlywood", weight=3]; 27.17/11.49 11101[label="xux6390/Zero",fontsize=10,color="white",style="solid",shape="box"];9681 -> 11101[label="",style="solid", color="burlywood", weight=9]; 27.17/11.49 11101 -> 9724[label="",style="solid", color="burlywood", weight=3]; 27.17/11.49 9682[label="primCmpNat Zero xux6390 == GT",fontsize=16,color="burlywood",shape="box"];11102[label="xux6390/Succ xux63900",fontsize=10,color="white",style="solid",shape="box"];9682 -> 11102[label="",style="solid", color="burlywood", weight=9]; 27.17/11.49 11102 -> 9725[label="",style="solid", color="burlywood", weight=3]; 27.17/11.49 11103[label="xux6390/Zero",fontsize=10,color="white",style="solid",shape="box"];9682 -> 11103[label="",style="solid", color="burlywood", weight=9]; 27.17/11.49 11103 -> 9726[label="",style="solid", color="burlywood", weight=3]; 27.17/11.49 10233[label="xux661",fontsize=16,color="green",shape="box"];10234[label="xux662",fontsize=16,color="green",shape="box"];10235[label="xux663",fontsize=16,color="green",shape="box"];10236[label="xux661",fontsize=16,color="green",shape="box"];10237[label="xux662",fontsize=16,color="green",shape="box"];10238[label="xux663",fontsize=16,color="green",shape="box"];10426[label="FiniteMap.emptyFM",fontsize=16,color="black",shape="triangle"];10426 -> 10484[label="",style="solid", color="black", weight=3]; 27.17/11.49 10427 -> 10426[label="",style="dashed", color="red", weight=0]; 27.17/11.49 10427[label="FiniteMap.emptyFM",fontsize=16,color="magenta"];10428[label="xux644 < xux6420",fontsize=16,color="black",shape="box"];10428 -> 10485[label="",style="solid", color="black", weight=3]; 27.17/11.49 10429[label="xux644 < xux6420",fontsize=16,color="black",shape="box"];10429 -> 10486[label="",style="solid", color="black", weight=3]; 27.17/11.49 10430[label="xux644 < xux6420",fontsize=16,color="black",shape="box"];10430 -> 10487[label="",style="solid", color="black", weight=3]; 27.17/11.49 10431[label="xux644 < xux6420",fontsize=16,color="black",shape="triangle"];10431 -> 10488[label="",style="solid", color="black", weight=3]; 27.17/11.49 10432[label="xux644 < xux6420",fontsize=16,color="black",shape="box"];10432 -> 10489[label="",style="solid", color="black", weight=3]; 27.17/11.49 10433[label="xux644 < xux6420",fontsize=16,color="black",shape="box"];10433 -> 10490[label="",style="solid", color="black", weight=3]; 27.17/11.49 10434[label="xux644 < xux6420",fontsize=16,color="black",shape="box"];10434 -> 10491[label="",style="solid", color="black", weight=3]; 27.17/11.49 10435[label="xux644 < xux6420",fontsize=16,color="black",shape="box"];10435 -> 10492[label="",style="solid", color="black", weight=3]; 27.17/11.49 10436[label="xux644 < xux6420",fontsize=16,color="black",shape="box"];10436 -> 10493[label="",style="solid", color="black", weight=3]; 27.17/11.49 10437[label="xux644 < xux6420",fontsize=16,color="black",shape="box"];10437 -> 10494[label="",style="solid", color="black", weight=3]; 27.17/11.49 10438 -> 9242[label="",style="dashed", color="red", weight=0]; 27.17/11.49 10438[label="xux644 < xux6420",fontsize=16,color="magenta"];10438 -> 10495[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10438 -> 10496[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10439[label="xux644 < xux6420",fontsize=16,color="black",shape="box"];10439 -> 10497[label="",style="solid", color="black", weight=3]; 27.17/11.49 10440[label="xux644 < xux6420",fontsize=16,color="black",shape="box"];10440 -> 10498[label="",style="solid", color="black", weight=3]; 27.17/11.49 10441[label="xux644 < xux6420",fontsize=16,color="black",shape="box"];10441 -> 10499[label="",style="solid", color="black", weight=3]; 27.17/11.49 9074 -> 3702[label="",style="dashed", color="red", weight=0]; 27.17/11.49 9074[label="primPlusNat (primMulNat (Succ (Succ (Succ Zero))) (Succ xux6200)) (Succ xux6200)",fontsize=16,color="magenta"];9074 -> 9112[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 9074 -> 9113[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 3918[label="primPlusNat (Succ xux2100) (Succ xux160)",fontsize=16,color="black",shape="box"];3918 -> 3952[label="",style="solid", color="black", weight=3]; 27.17/11.49 3919[label="primPlusNat (Succ xux2100) Zero",fontsize=16,color="black",shape="box"];3919 -> 3953[label="",style="solid", color="black", weight=3]; 27.17/11.49 3920[label="primPlusNat Zero (Succ xux160)",fontsize=16,color="black",shape="box"];3920 -> 3954[label="",style="solid", color="black", weight=3]; 27.17/11.49 3921[label="primPlusNat Zero Zero",fontsize=16,color="black",shape="box"];3921 -> 3955[label="",style="solid", color="black", weight=3]; 27.17/11.49 9191 -> 6306[label="",style="dashed", color="red", weight=0]; 27.17/11.49 9191[label="primCmpNat (Succ xux6010) xux520 == LT",fontsize=16,color="magenta"];9191 -> 9423[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 9191 -> 9424[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 9192 -> 6158[label="",style="dashed", color="red", weight=0]; 27.17/11.49 9192[label="GT == LT",fontsize=16,color="magenta"];9116[label="primCmpInt (Pos Zero) (Pos (Succ xux5200)) == LT",fontsize=16,color="black",shape="box"];9116 -> 9154[label="",style="solid", color="black", weight=3]; 27.17/11.49 9117[label="primCmpInt (Pos Zero) (Pos Zero) == LT",fontsize=16,color="black",shape="box"];9117 -> 9155[label="",style="solid", color="black", weight=3]; 27.17/11.49 9118[label="primCmpInt (Pos Zero) (Neg (Succ xux5200)) == LT",fontsize=16,color="black",shape="box"];9118 -> 9156[label="",style="solid", color="black", weight=3]; 27.17/11.49 9119[label="primCmpInt (Pos Zero) (Neg Zero) == LT",fontsize=16,color="black",shape="box"];9119 -> 9157[label="",style="solid", color="black", weight=3]; 27.17/11.49 9195 -> 6163[label="",style="dashed", color="red", weight=0]; 27.17/11.49 9195[label="LT == LT",fontsize=16,color="magenta"];9196 -> 6306[label="",style="dashed", color="red", weight=0]; 27.17/11.49 9196[label="primCmpNat xux520 (Succ xux6020) == LT",fontsize=16,color="magenta"];9196 -> 9425[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 9196 -> 9426[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 9122[label="primCmpInt (Neg Zero) (Pos (Succ xux5200)) == LT",fontsize=16,color="black",shape="box"];9122 -> 9160[label="",style="solid", color="black", weight=3]; 27.17/11.49 9123[label="primCmpInt (Neg Zero) (Pos Zero) == LT",fontsize=16,color="black",shape="box"];9123 -> 9161[label="",style="solid", color="black", weight=3]; 27.17/11.49 9124[label="primCmpInt (Neg Zero) (Neg (Succ xux5200)) == LT",fontsize=16,color="black",shape="box"];9124 -> 9162[label="",style="solid", color="black", weight=3]; 27.17/11.49 9125[label="primCmpInt (Neg Zero) (Neg Zero) == LT",fontsize=16,color="black",shape="box"];9125 -> 9163[label="",style="solid", color="black", weight=3]; 27.17/11.49 9200 -> 9204[label="",style="dashed", color="red", weight=0]; 27.17/11.49 9200[label="primCmpInt (Pos (primPlusNat (primMulNat (Succ (Succ (Succ (Succ Zero)))) (Succ xux279200)) (Succ xux279200))) (FiniteMap.mkVBalBranch3Size_l xux2790 xux2791 (Pos (Succ xux279200)) xux2793 xux2794 xux2850 xux2851 xux2852 xux2853 xux2854) == LT",fontsize=16,color="magenta"];9200 -> 9205[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 9199[label="FiniteMap.mkVBalBranch3MkVBalBranch1 xux2790 xux2791 (Pos (Succ xux279200)) xux2793 xux2794 xux2850 xux2851 xux2852 xux2853 xux2854 xux286 xux287 xux2850 xux2851 xux2852 xux2853 xux2854 xux2790 xux2791 (Pos (Succ xux279200)) xux2793 xux2794 xux623",fontsize=16,color="burlywood",shape="triangle"];11104[label="xux623/False",fontsize=10,color="white",style="solid",shape="box"];9199 -> 11104[label="",style="solid", color="burlywood", weight=9]; 27.17/11.49 11104 -> 9206[label="",style="solid", color="burlywood", weight=3]; 27.17/11.49 11105[label="xux623/True",fontsize=10,color="white",style="solid",shape="box"];9199 -> 11105[label="",style="solid", color="burlywood", weight=9]; 27.17/11.49 11105 -> 9207[label="",style="solid", color="burlywood", weight=3]; 27.17/11.49 9091 -> 8867[label="",style="dashed", color="red", weight=0]; 27.17/11.49 9091[label="primCmpInt (Pos Zero) (FiniteMap.mkVBalBranch3Size_l xux2790 xux2791 (Pos Zero) xux2793 xux2794 xux2850 xux2851 xux2852 xux2853 xux2854) == LT",fontsize=16,color="magenta"];9091 -> 9130[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 9090[label="FiniteMap.mkVBalBranch3MkVBalBranch1 xux2790 xux2791 (Pos Zero) xux2793 xux2794 xux2850 xux2851 xux2852 xux2853 xux2854 xux286 xux287 xux2850 xux2851 xux2852 xux2853 xux2854 xux2790 xux2791 (Pos Zero) xux2793 xux2794 xux619",fontsize=16,color="burlywood",shape="triangle"];11106[label="xux619/False",fontsize=10,color="white",style="solid",shape="box"];9090 -> 11106[label="",style="solid", color="burlywood", weight=9]; 27.17/11.49 11106 -> 9131[label="",style="solid", color="burlywood", weight=3]; 27.17/11.49 11107[label="xux619/True",fontsize=10,color="white",style="solid",shape="box"];9090 -> 11107[label="",style="solid", color="burlywood", weight=9]; 27.17/11.49 11107 -> 9132[label="",style="solid", color="burlywood", weight=3]; 27.17/11.49 9216 -> 9220[label="",style="dashed", color="red", weight=0]; 27.17/11.49 9216[label="primCmpInt (Neg (primPlusNat (primMulNat (Succ (Succ (Succ (Succ Zero)))) (Succ xux279200)) (Succ xux279200))) (FiniteMap.mkVBalBranch3Size_l xux2790 xux2791 (Neg (Succ xux279200)) xux2793 xux2794 xux2850 xux2851 xux2852 xux2853 xux2854) == LT",fontsize=16,color="magenta"];9216 -> 9221[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 9215[label="FiniteMap.mkVBalBranch3MkVBalBranch1 xux2790 xux2791 (Neg (Succ xux279200)) xux2793 xux2794 xux2850 xux2851 xux2852 xux2853 xux2854 xux286 xux287 xux2850 xux2851 xux2852 xux2853 xux2854 xux2790 xux2791 (Neg (Succ xux279200)) xux2793 xux2794 xux626",fontsize=16,color="burlywood",shape="triangle"];11108[label="xux626/False",fontsize=10,color="white",style="solid",shape="box"];9215 -> 11108[label="",style="solid", color="burlywood", weight=9]; 27.17/11.49 11108 -> 9222[label="",style="solid", color="burlywood", weight=3]; 27.17/11.49 11109[label="xux626/True",fontsize=10,color="white",style="solid",shape="box"];9215 -> 11109[label="",style="solid", color="burlywood", weight=9]; 27.17/11.49 11109 -> 9223[label="",style="solid", color="burlywood", weight=3]; 27.17/11.49 9100 -> 9032[label="",style="dashed", color="red", weight=0]; 27.17/11.49 9100[label="primCmpInt (Neg Zero) (FiniteMap.mkVBalBranch3Size_l xux2790 xux2791 (Neg Zero) xux2793 xux2794 xux2850 xux2851 xux2852 xux2853 xux2854) == LT",fontsize=16,color="magenta"];9100 -> 9137[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 9099[label="FiniteMap.mkVBalBranch3MkVBalBranch1 xux2790 xux2791 (Neg Zero) xux2793 xux2794 xux2850 xux2851 xux2852 xux2853 xux2854 xux286 xux287 xux2850 xux2851 xux2852 xux2853 xux2854 xux2790 xux2791 (Neg Zero) xux2793 xux2794 xux622",fontsize=16,color="burlywood",shape="triangle"];11110[label="xux622/False",fontsize=10,color="white",style="solid",shape="box"];9099 -> 11110[label="",style="solid", color="burlywood", weight=9]; 27.17/11.49 11110 -> 9138[label="",style="solid", color="burlywood", weight=3]; 27.17/11.49 11111[label="xux622/True",fontsize=10,color="white",style="solid",shape="box"];9099 -> 11111[label="",style="solid", color="burlywood", weight=9]; 27.17/11.49 11111 -> 9139[label="",style="solid", color="burlywood", weight=3]; 27.17/11.49 10470 -> 10500[label="",style="dashed", color="red", weight=0]; 27.17/11.49 10470[label="primCmpInt (Pos (primPlusNat xux7480 xux7450)) (Pos (Succ (Succ Zero))) == LT",fontsize=16,color="magenta"];10470 -> 10501[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10471[label="primCmpInt (primMinusNat xux7480 xux7450) (Pos (Succ (Succ Zero))) == LT",fontsize=16,color="burlywood",shape="triangle"];11112[label="xux7480/Succ xux74800",fontsize=10,color="white",style="solid",shape="box"];10471 -> 11112[label="",style="solid", color="burlywood", weight=9]; 27.17/11.49 11112 -> 10503[label="",style="solid", color="burlywood", weight=3]; 27.17/11.49 11113[label="xux7480/Zero",fontsize=10,color="white",style="solid",shape="box"];10471 -> 11113[label="",style="solid", color="burlywood", weight=9]; 27.17/11.49 11113 -> 10504[label="",style="solid", color="burlywood", weight=3]; 27.17/11.49 10472 -> 10471[label="",style="dashed", color="red", weight=0]; 27.17/11.49 10472[label="primCmpInt (primMinusNat xux7450 xux7480) (Pos (Succ (Succ Zero))) == LT",fontsize=16,color="magenta"];10472 -> 10505[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10472 -> 10506[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10473 -> 10507[label="",style="dashed", color="red", weight=0]; 27.17/11.49 10473[label="primCmpInt (Neg (primPlusNat xux7480 xux7450)) (Pos (Succ (Succ Zero))) == LT",fontsize=16,color="magenta"];10473 -> 10508[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10442 -> 9966[label="",style="dashed", color="red", weight=0]; 27.17/11.49 10442[label="primCmpInt (primMulInt (Pos (Succ (Succ (Succ (Succ (Succ Zero)))))) (FiniteMap.mkVBalBranch3Size_l xux27930 xux27931 xux27932 xux27933 xux27934 xux2850 xux2851 xux2852 xux2853 xux2854)) (FiniteMap.mkVBalBranch3Size_r xux27930 xux27931 xux27932 xux27933 xux27934 xux2850 xux2851 xux2852 xux2853 xux2854) == LT",fontsize=16,color="magenta"];10442 -> 10511[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10509[label="primMulInt (Pos (Succ (Succ (Succ (Succ (Succ Zero)))))) (Pos xux7500)",fontsize=16,color="black",shape="box"];10509 -> 10517[label="",style="solid", color="black", weight=3]; 27.17/11.49 10510[label="primMulInt (Pos (Succ (Succ (Succ (Succ (Succ Zero)))))) (Neg xux7500)",fontsize=16,color="black",shape="box"];10510 -> 10518[label="",style="solid", color="black", weight=3]; 27.17/11.49 10476 -> 10270[label="",style="dashed", color="red", weight=0]; 27.17/11.49 10476[label="FiniteMap.mkBalBranch6Size_r xux657 xux658 xux660 xux723",fontsize=16,color="magenta"];10479[label="xux723",fontsize=16,color="green",shape="box"];10480[label="FiniteMap.mkBalBranch6MkBalBranch2 xux657 xux658 xux660 xux723 xux657 xux658 xux660 xux722 otherwise",fontsize=16,color="black",shape="box"];10480 -> 10512[label="",style="solid", color="black", weight=3]; 27.17/11.49 10481[label="FiniteMap.mkBalBranch6MkBalBranch1 xux657 xux658 xux660 xux723 xux660 xux722 xux660",fontsize=16,color="burlywood",shape="box"];11114[label="xux660/FiniteMap.EmptyFM",fontsize=10,color="white",style="solid",shape="box"];10481 -> 11114[label="",style="solid", color="burlywood", weight=9]; 27.17/11.49 11114 -> 10513[label="",style="solid", color="burlywood", weight=3]; 27.17/11.49 11115[label="xux660/FiniteMap.Branch xux6600 xux6601 xux6602 xux6603 xux6604",fontsize=10,color="white",style="solid",shape="box"];10481 -> 11115[label="",style="solid", color="burlywood", weight=9]; 27.17/11.49 11115 -> 10514[label="",style="solid", color="burlywood", weight=3]; 27.17/11.49 10482 -> 10515[label="",style="dashed", color="red", weight=0]; 27.17/11.49 10482[label="FiniteMap.mkBalBranch6MkBalBranch01 xux657 xux658 xux660 xux723 xux660 (FiniteMap.Branch xux7220 xux7221 xux7222 xux7223 xux7224) xux7220 xux7221 xux7222 xux7223 xux7224 (FiniteMap.sizeFM xux7223 < Pos (Succ (Succ Zero)) * FiniteMap.sizeFM xux7224)",fontsize=16,color="magenta"];10482 -> 10516[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10721[label="Pos (Succ Zero) + FiniteMap.mkBranchLeft_size xux660 xux722 xux657",fontsize=16,color="black",shape="triangle"];10721 -> 10753[label="",style="solid", color="black", weight=3]; 27.17/11.49 10722[label="FiniteMap.mkBranchRight_size xux660 xux722 xux657",fontsize=16,color="black",shape="triangle"];10722 -> 10754[label="",style="solid", color="black", weight=3]; 27.17/11.49 10720[label="primPlusInt xux766 xux765",fontsize=16,color="burlywood",shape="triangle"];11116[label="xux766/Pos xux7660",fontsize=10,color="white",style="solid",shape="box"];10720 -> 11116[label="",style="solid", color="burlywood", weight=9]; 27.17/11.49 11116 -> 10755[label="",style="solid", color="burlywood", weight=3]; 27.17/11.49 11117[label="xux766/Neg xux7660",fontsize=10,color="white",style="solid",shape="box"];10720 -> 11117[label="",style="solid", color="burlywood", weight=9]; 27.17/11.49 11117 -> 10756[label="",style="solid", color="burlywood", weight=3]; 27.17/11.49 2951[label="xux190",fontsize=16,color="green",shape="box"];2952[label="xux189",fontsize=16,color="green",shape="box"];6346[label="xux185",fontsize=16,color="green",shape="box"];6347[label="xux187",fontsize=16,color="green",shape="box"];6348[label="xux188",fontsize=16,color="green",shape="box"];6349[label="xux190",fontsize=16,color="green",shape="box"];6350[label="xux186",fontsize=16,color="green",shape="box"];6351[label="xux189",fontsize=16,color="green",shape="box"];6352[label="Char (Succ xux190) < Char (Succ xux185)",fontsize=16,color="black",shape="box"];6352 -> 6379[label="",style="solid", color="black", weight=3]; 27.17/11.49 6345[label="FiniteMap.splitGT1 (Char (Succ xux511)) xux512 xux513 xux514 xux515 (Char (Succ xux516)) xux532",fontsize=16,color="burlywood",shape="triangle"];11118[label="xux532/False",fontsize=10,color="white",style="solid",shape="box"];6345 -> 11118[label="",style="solid", color="burlywood", weight=9]; 27.17/11.49 11118 -> 6380[label="",style="solid", color="burlywood", weight=3]; 27.17/11.49 11119[label="xux532/True",fontsize=10,color="white",style="solid",shape="box"];6345 -> 11119[label="",style="solid", color="burlywood", weight=9]; 27.17/11.49 11119 -> 6381[label="",style="solid", color="burlywood", weight=3]; 27.17/11.49 270[label="FiniteMap.splitGT1 (Char (Succ xux3000)) xux31 xux32 xux33 xux34 (Char Zero) True",fontsize=16,color="black",shape="box"];270 -> 312[label="",style="solid", color="black", weight=3]; 27.17/11.49 271[label="FiniteMap.splitGT1 (Char Zero) xux31 xux32 xux33 xux34 (Char Zero) False",fontsize=16,color="black",shape="box"];271 -> 313[label="",style="solid", color="black", weight=3]; 27.17/11.49 2999[label="FiniteMap.splitLT1 (Char (Succ xux194)) xux195 xux196 xux197 xux198 (Char (Succ xux199)) (compare (Char (Succ xux199)) (Char (Succ xux194)) == GT)",fontsize=16,color="black",shape="box"];2999 -> 3216[label="",style="solid", color="black", weight=3]; 27.17/11.49 3000[label="xux199",fontsize=16,color="green",shape="box"];3001[label="xux197",fontsize=16,color="green",shape="box"];376[label="FiniteMap.splitLT xux34 (Char (Succ xux4000))",fontsize=16,color="burlywood",shape="triangle"];11120[label="xux34/FiniteMap.EmptyFM",fontsize=10,color="white",style="solid",shape="box"];376 -> 11120[label="",style="solid", color="burlywood", weight=9]; 27.17/11.49 11120 -> 425[label="",style="solid", color="burlywood", weight=3]; 27.17/11.49 11121[label="xux34/FiniteMap.Branch xux340 xux341 xux342 xux343 xux344",fontsize=10,color="white",style="solid",shape="box"];376 -> 11121[label="",style="solid", color="burlywood", weight=9]; 27.17/11.49 11121 -> 426[label="",style="solid", color="burlywood", weight=3]; 27.17/11.49 281[label="FiniteMap.splitLT1 (Char Zero) xux31 xux32 xux33 xux34 (Char (Succ xux4000)) True",fontsize=16,color="black",shape="box"];281 -> 330[label="",style="solid", color="black", weight=3]; 27.17/11.49 282[label="FiniteMap.splitLT1 (Char Zero) xux31 xux32 xux33 xux34 (Char Zero) False",fontsize=16,color="black",shape="box"];282 -> 331[label="",style="solid", color="black", weight=3]; 27.17/11.49 6272[label="False",fontsize=16,color="green",shape="box"];6277[label="True",fontsize=16,color="green",shape="box"];6310[label="False",fontsize=16,color="green",shape="box"];9709[label="xux6390",fontsize=16,color="green",shape="box"];9710[label="Succ xux64400",fontsize=16,color="green",shape="box"];9711[label="True",fontsize=16,color="green",shape="box"];9712 -> 9624[label="",style="dashed", color="red", weight=0]; 27.17/11.49 9712[label="primCmpNat Zero (Succ xux63900) == GT",fontsize=16,color="magenta"];9712 -> 9753[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 9712 -> 9754[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 9713[label="EQ == GT",fontsize=16,color="black",shape="triangle"];9713 -> 9755[label="",style="solid", color="black", weight=3]; 27.17/11.49 9714 -> 9670[label="",style="dashed", color="red", weight=0]; 27.17/11.49 9714[label="GT == GT",fontsize=16,color="magenta"];9715 -> 9713[label="",style="dashed", color="red", weight=0]; 27.17/11.49 9715[label="EQ == GT",fontsize=16,color="magenta"];9716[label="False",fontsize=16,color="green",shape="box"];9717[label="Succ xux64400",fontsize=16,color="green",shape="box"];9718[label="xux6390",fontsize=16,color="green",shape="box"];9719 -> 9675[label="",style="dashed", color="red", weight=0]; 27.17/11.49 9719[label="LT == GT",fontsize=16,color="magenta"];9720 -> 9713[label="",style="dashed", color="red", weight=0]; 27.17/11.49 9720[label="EQ == GT",fontsize=16,color="magenta"];9721 -> 9624[label="",style="dashed", color="red", weight=0]; 27.17/11.49 9721[label="primCmpNat (Succ xux63900) Zero == GT",fontsize=16,color="magenta"];9721 -> 9756[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 9721 -> 9757[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 9722 -> 9713[label="",style="dashed", color="red", weight=0]; 27.17/11.49 9722[label="EQ == GT",fontsize=16,color="magenta"];9723[label="primCmpNat (Succ xux64400) (Succ xux63900) == GT",fontsize=16,color="black",shape="box"];9723 -> 9758[label="",style="solid", color="black", weight=3]; 27.17/11.49 9724[label="primCmpNat (Succ xux64400) Zero == GT",fontsize=16,color="black",shape="box"];9724 -> 9759[label="",style="solid", color="black", weight=3]; 27.17/11.49 9725[label="primCmpNat Zero (Succ xux63900) == GT",fontsize=16,color="black",shape="box"];9725 -> 9760[label="",style="solid", color="black", weight=3]; 27.17/11.49 9726[label="primCmpNat Zero Zero == GT",fontsize=16,color="black",shape="box"];9726 -> 9761[label="",style="solid", color="black", weight=3]; 27.17/11.49 10484[label="FiniteMap.EmptyFM",fontsize=16,color="green",shape="box"];10485[label="compare xux644 xux6420 == LT",fontsize=16,color="black",shape="box"];10485 -> 10520[label="",style="solid", color="black", weight=3]; 27.17/11.49 10486[label="compare xux644 xux6420 == LT",fontsize=16,color="black",shape="box"];10486 -> 10521[label="",style="solid", color="black", weight=3]; 27.17/11.49 10487[label="compare xux644 xux6420 == LT",fontsize=16,color="black",shape="box"];10487 -> 10522[label="",style="solid", color="black", weight=3]; 27.17/11.49 10488[label="compare xux644 xux6420 == LT",fontsize=16,color="black",shape="box"];10488 -> 10523[label="",style="solid", color="black", weight=3]; 27.17/11.49 10489[label="compare xux644 xux6420 == LT",fontsize=16,color="black",shape="box"];10489 -> 10524[label="",style="solid", color="black", weight=3]; 27.17/11.49 10490[label="compare xux644 xux6420 == LT",fontsize=16,color="black",shape="box"];10490 -> 10525[label="",style="solid", color="black", weight=3]; 27.17/11.49 10491[label="compare xux644 xux6420 == LT",fontsize=16,color="black",shape="box"];10491 -> 10526[label="",style="solid", color="black", weight=3]; 27.17/11.49 10492[label="compare xux644 xux6420 == LT",fontsize=16,color="black",shape="box"];10492 -> 10527[label="",style="solid", color="black", weight=3]; 27.17/11.49 10493[label="compare xux644 xux6420 == LT",fontsize=16,color="black",shape="box"];10493 -> 10528[label="",style="solid", color="black", weight=3]; 27.17/11.49 10494[label="compare xux644 xux6420 == LT",fontsize=16,color="black",shape="box"];10494 -> 10529[label="",style="solid", color="black", weight=3]; 27.17/11.49 10495[label="xux644",fontsize=16,color="green",shape="box"];10496[label="xux6420",fontsize=16,color="green",shape="box"];10497[label="compare xux644 xux6420 == LT",fontsize=16,color="black",shape="box"];10497 -> 10530[label="",style="solid", color="black", weight=3]; 27.17/11.49 10498[label="compare xux644 xux6420 == LT",fontsize=16,color="black",shape="box"];10498 -> 10531[label="",style="solid", color="black", weight=3]; 27.17/11.49 10499[label="compare xux644 xux6420 == LT",fontsize=16,color="black",shape="box"];10499 -> 10532[label="",style="solid", color="black", weight=3]; 27.17/11.49 9112[label="Succ xux6200",fontsize=16,color="green",shape="box"];9113[label="primMulNat (Succ (Succ (Succ Zero))) (Succ xux6200)",fontsize=16,color="black",shape="box"];9113 -> 9150[label="",style="solid", color="black", weight=3]; 27.17/11.49 3952[label="Succ (Succ (primPlusNat xux2100 xux160))",fontsize=16,color="green",shape="box"];3952 -> 4057[label="",style="dashed", color="green", weight=3]; 27.17/11.49 3953[label="Succ xux2100",fontsize=16,color="green",shape="box"];3954[label="Succ xux160",fontsize=16,color="green",shape="box"];3955[label="Zero",fontsize=16,color="green",shape="box"];9423[label="xux520",fontsize=16,color="green",shape="box"];9424[label="Succ xux6010",fontsize=16,color="green",shape="box"];9154 -> 6306[label="",style="dashed", color="red", weight=0]; 27.17/11.49 9154[label="primCmpNat Zero (Succ xux5200) == LT",fontsize=16,color="magenta"];9154 -> 9193[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 9154 -> 9194[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 9155 -> 6274[label="",style="dashed", color="red", weight=0]; 27.17/11.49 9155[label="EQ == LT",fontsize=16,color="magenta"];9156 -> 6158[label="",style="dashed", color="red", weight=0]; 27.17/11.49 9156[label="GT == LT",fontsize=16,color="magenta"];9157 -> 6274[label="",style="dashed", color="red", weight=0]; 27.17/11.49 9157[label="EQ == LT",fontsize=16,color="magenta"];9425[label="Succ xux6020",fontsize=16,color="green",shape="box"];9426[label="xux520",fontsize=16,color="green",shape="box"];9160 -> 6163[label="",style="dashed", color="red", weight=0]; 27.17/11.49 9160[label="LT == LT",fontsize=16,color="magenta"];9161 -> 6274[label="",style="dashed", color="red", weight=0]; 27.17/11.49 9161[label="EQ == LT",fontsize=16,color="magenta"];9162 -> 6306[label="",style="dashed", color="red", weight=0]; 27.17/11.49 9162[label="primCmpNat (Succ xux5200) Zero == LT",fontsize=16,color="magenta"];9162 -> 9197[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 9162 -> 9198[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 9163 -> 6274[label="",style="dashed", color="red", weight=0]; 27.17/11.49 9163[label="EQ == LT",fontsize=16,color="magenta"];9205 -> 3702[label="",style="dashed", color="red", weight=0]; 27.17/11.49 9205[label="primPlusNat (primMulNat (Succ (Succ (Succ (Succ Zero)))) (Succ xux279200)) (Succ xux279200)",fontsize=16,color="magenta"];9205 -> 9208[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 9205 -> 9209[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 9204[label="primCmpInt (Pos xux624) (FiniteMap.mkVBalBranch3Size_l xux2790 xux2791 (Pos (Succ xux279200)) xux2793 xux2794 xux2850 xux2851 xux2852 xux2853 xux2854) == LT",fontsize=16,color="burlywood",shape="triangle"];11122[label="xux624/Succ xux6240",fontsize=10,color="white",style="solid",shape="box"];9204 -> 11122[label="",style="solid", color="burlywood", weight=9]; 27.17/11.49 11122 -> 9210[label="",style="solid", color="burlywood", weight=3]; 27.17/11.49 11123[label="xux624/Zero",fontsize=10,color="white",style="solid",shape="box"];9204 -> 11123[label="",style="solid", color="burlywood", weight=9]; 27.17/11.49 11123 -> 9211[label="",style="solid", color="burlywood", weight=3]; 27.17/11.49 9206[label="FiniteMap.mkVBalBranch3MkVBalBranch1 xux2790 xux2791 (Pos (Succ xux279200)) xux2793 xux2794 xux2850 xux2851 xux2852 xux2853 xux2854 xux286 xux287 xux2850 xux2851 xux2852 xux2853 xux2854 xux2790 xux2791 (Pos (Succ xux279200)) xux2793 xux2794 False",fontsize=16,color="black",shape="box"];9206 -> 9224[label="",style="solid", color="black", weight=3]; 27.17/11.49 9207[label="FiniteMap.mkVBalBranch3MkVBalBranch1 xux2790 xux2791 (Pos (Succ xux279200)) xux2793 xux2794 xux2850 xux2851 xux2852 xux2853 xux2854 xux286 xux287 xux2850 xux2851 xux2852 xux2853 xux2854 xux2790 xux2791 (Pos (Succ xux279200)) xux2793 xux2794 True",fontsize=16,color="black",shape="box"];9207 -> 9225[label="",style="solid", color="black", weight=3]; 27.17/11.49 9130[label="FiniteMap.mkVBalBranch3Size_l xux2790 xux2791 (Pos Zero) xux2793 xux2794 xux2850 xux2851 xux2852 xux2853 xux2854",fontsize=16,color="black",shape="box"];9130 -> 9167[label="",style="solid", color="black", weight=3]; 27.17/11.49 9131[label="FiniteMap.mkVBalBranch3MkVBalBranch1 xux2790 xux2791 (Pos Zero) xux2793 xux2794 xux2850 xux2851 xux2852 xux2853 xux2854 xux286 xux287 xux2850 xux2851 xux2852 xux2853 xux2854 xux2790 xux2791 (Pos Zero) xux2793 xux2794 False",fontsize=16,color="black",shape="box"];9131 -> 9168[label="",style="solid", color="black", weight=3]; 27.17/11.49 9132[label="FiniteMap.mkVBalBranch3MkVBalBranch1 xux2790 xux2791 (Pos Zero) xux2793 xux2794 xux2850 xux2851 xux2852 xux2853 xux2854 xux286 xux287 xux2850 xux2851 xux2852 xux2853 xux2854 xux2790 xux2791 (Pos Zero) xux2793 xux2794 True",fontsize=16,color="black",shape="box"];9132 -> 9169[label="",style="solid", color="black", weight=3]; 27.17/11.49 9221 -> 3702[label="",style="dashed", color="red", weight=0]; 27.17/11.49 9221[label="primPlusNat (primMulNat (Succ (Succ (Succ (Succ Zero)))) (Succ xux279200)) (Succ xux279200)",fontsize=16,color="magenta"];9221 -> 9226[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 9221 -> 9227[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 9220[label="primCmpInt (Neg xux628) (FiniteMap.mkVBalBranch3Size_l xux2790 xux2791 (Neg (Succ xux279200)) xux2793 xux2794 xux2850 xux2851 xux2852 xux2853 xux2854) == LT",fontsize=16,color="burlywood",shape="triangle"];11124[label="xux628/Succ xux6280",fontsize=10,color="white",style="solid",shape="box"];9220 -> 11124[label="",style="solid", color="burlywood", weight=9]; 27.17/11.49 11124 -> 9228[label="",style="solid", color="burlywood", weight=3]; 27.17/11.49 11125[label="xux628/Zero",fontsize=10,color="white",style="solid",shape="box"];9220 -> 11125[label="",style="solid", color="burlywood", weight=9]; 27.17/11.49 11125 -> 9229[label="",style="solid", color="burlywood", weight=3]; 27.17/11.49 9222[label="FiniteMap.mkVBalBranch3MkVBalBranch1 xux2790 xux2791 (Neg (Succ xux279200)) xux2793 xux2794 xux2850 xux2851 xux2852 xux2853 xux2854 xux286 xux287 xux2850 xux2851 xux2852 xux2853 xux2854 xux2790 xux2791 (Neg (Succ xux279200)) xux2793 xux2794 False",fontsize=16,color="black",shape="box"];9222 -> 9399[label="",style="solid", color="black", weight=3]; 27.17/11.49 9223[label="FiniteMap.mkVBalBranch3MkVBalBranch1 xux2790 xux2791 (Neg (Succ xux279200)) xux2793 xux2794 xux2850 xux2851 xux2852 xux2853 xux2854 xux286 xux287 xux2850 xux2851 xux2852 xux2853 xux2854 xux2790 xux2791 (Neg (Succ xux279200)) xux2793 xux2794 True",fontsize=16,color="black",shape="box"];9223 -> 9400[label="",style="solid", color="black", weight=3]; 27.17/11.49 9137[label="FiniteMap.mkVBalBranch3Size_l xux2790 xux2791 (Neg Zero) xux2793 xux2794 xux2850 xux2851 xux2852 xux2853 xux2854",fontsize=16,color="black",shape="box"];9137 -> 9173[label="",style="solid", color="black", weight=3]; 27.17/11.49 9138[label="FiniteMap.mkVBalBranch3MkVBalBranch1 xux2790 xux2791 (Neg Zero) xux2793 xux2794 xux2850 xux2851 xux2852 xux2853 xux2854 xux286 xux287 xux2850 xux2851 xux2852 xux2853 xux2854 xux2790 xux2791 (Neg Zero) xux2793 xux2794 False",fontsize=16,color="black",shape="box"];9138 -> 9174[label="",style="solid", color="black", weight=3]; 27.17/11.49 9139[label="FiniteMap.mkVBalBranch3MkVBalBranch1 xux2790 xux2791 (Neg Zero) xux2793 xux2794 xux2850 xux2851 xux2852 xux2853 xux2854 xux286 xux287 xux2850 xux2851 xux2852 xux2853 xux2854 xux2790 xux2791 (Neg Zero) xux2793 xux2794 True",fontsize=16,color="black",shape="box"];9139 -> 9175[label="",style="solid", color="black", weight=3]; 27.17/11.49 10501 -> 3702[label="",style="dashed", color="red", weight=0]; 27.17/11.49 10501[label="primPlusNat xux7480 xux7450",fontsize=16,color="magenta"];10501 -> 10533[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10501 -> 10534[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10500[label="primCmpInt (Pos xux751) (Pos (Succ (Succ Zero))) == LT",fontsize=16,color="burlywood",shape="triangle"];11126[label="xux751/Succ xux7510",fontsize=10,color="white",style="solid",shape="box"];10500 -> 11126[label="",style="solid", color="burlywood", weight=9]; 27.17/11.49 11126 -> 10535[label="",style="solid", color="burlywood", weight=3]; 27.17/11.49 11127[label="xux751/Zero",fontsize=10,color="white",style="solid",shape="box"];10500 -> 11127[label="",style="solid", color="burlywood", weight=9]; 27.17/11.49 11127 -> 10536[label="",style="solid", color="burlywood", weight=3]; 27.17/11.49 10503[label="primCmpInt (primMinusNat (Succ xux74800) xux7450) (Pos (Succ (Succ Zero))) == LT",fontsize=16,color="burlywood",shape="box"];11128[label="xux7450/Succ xux74500",fontsize=10,color="white",style="solid",shape="box"];10503 -> 11128[label="",style="solid", color="burlywood", weight=9]; 27.17/11.49 11128 -> 10537[label="",style="solid", color="burlywood", weight=3]; 27.17/11.49 11129[label="xux7450/Zero",fontsize=10,color="white",style="solid",shape="box"];10503 -> 11129[label="",style="solid", color="burlywood", weight=9]; 27.17/11.49 11129 -> 10538[label="",style="solid", color="burlywood", weight=3]; 27.17/11.49 10504[label="primCmpInt (primMinusNat Zero xux7450) (Pos (Succ (Succ Zero))) == LT",fontsize=16,color="burlywood",shape="box"];11130[label="xux7450/Succ xux74500",fontsize=10,color="white",style="solid",shape="box"];10504 -> 11130[label="",style="solid", color="burlywood", weight=9]; 27.17/11.49 11130 -> 10539[label="",style="solid", color="burlywood", weight=3]; 27.17/11.49 11131[label="xux7450/Zero",fontsize=10,color="white",style="solid",shape="box"];10504 -> 11131[label="",style="solid", color="burlywood", weight=9]; 27.17/11.49 11131 -> 10540[label="",style="solid", color="burlywood", weight=3]; 27.17/11.49 10505[label="xux7450",fontsize=16,color="green",shape="box"];10506[label="xux7480",fontsize=16,color="green",shape="box"];10508 -> 3702[label="",style="dashed", color="red", weight=0]; 27.17/11.49 10508[label="primPlusNat xux7480 xux7450",fontsize=16,color="magenta"];10508 -> 10541[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10508 -> 10542[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10507[label="primCmpInt (Neg xux752) (Pos (Succ (Succ Zero))) == LT",fontsize=16,color="burlywood",shape="triangle"];11132[label="xux752/Succ xux7520",fontsize=10,color="white",style="solid",shape="box"];10507 -> 11132[label="",style="solid", color="burlywood", weight=9]; 27.17/11.49 11132 -> 10543[label="",style="solid", color="burlywood", weight=3]; 27.17/11.49 11133[label="xux752/Zero",fontsize=10,color="white",style="solid",shape="box"];10507 -> 11133[label="",style="solid", color="burlywood", weight=9]; 27.17/11.49 11133 -> 10544[label="",style="solid", color="burlywood", weight=3]; 27.17/11.49 10511[label="FiniteMap.mkVBalBranch3Size_l xux27930 xux27931 xux27932 xux27933 xux27934 xux2850 xux2851 xux2852 xux2853 xux2854",fontsize=16,color="black",shape="box"];10511 -> 10545[label="",style="solid", color="black", weight=3]; 27.17/11.49 10517[label="Pos (primMulNat (Succ (Succ (Succ (Succ (Succ Zero))))) xux7500)",fontsize=16,color="green",shape="box"];10517 -> 10556[label="",style="dashed", color="green", weight=3]; 27.17/11.49 10518[label="Neg (primMulNat (Succ (Succ (Succ (Succ (Succ Zero))))) xux7500)",fontsize=16,color="green",shape="box"];10518 -> 10557[label="",style="dashed", color="green", weight=3]; 27.17/11.49 10512[label="FiniteMap.mkBalBranch6MkBalBranch2 xux657 xux658 xux660 xux723 xux657 xux658 xux660 xux722 True",fontsize=16,color="black",shape="box"];10512 -> 10546[label="",style="solid", color="black", weight=3]; 27.17/11.49 10513[label="FiniteMap.mkBalBranch6MkBalBranch1 xux657 xux658 FiniteMap.EmptyFM xux723 FiniteMap.EmptyFM xux722 FiniteMap.EmptyFM",fontsize=16,color="black",shape="box"];10513 -> 10547[label="",style="solid", color="black", weight=3]; 27.17/11.49 10514[label="FiniteMap.mkBalBranch6MkBalBranch1 xux657 xux658 (FiniteMap.Branch xux6600 xux6601 xux6602 xux6603 xux6604) xux723 (FiniteMap.Branch xux6600 xux6601 xux6602 xux6603 xux6604) xux722 (FiniteMap.Branch xux6600 xux6601 xux6602 xux6603 xux6604)",fontsize=16,color="black",shape="box"];10514 -> 10548[label="",style="solid", color="black", weight=3]; 27.17/11.49 10516 -> 10431[label="",style="dashed", color="red", weight=0]; 27.17/11.49 10516[label="FiniteMap.sizeFM xux7223 < Pos (Succ (Succ Zero)) * FiniteMap.sizeFM xux7224",fontsize=16,color="magenta"];10516 -> 10549[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10516 -> 10550[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10515[label="FiniteMap.mkBalBranch6MkBalBranch01 xux657 xux658 xux660 xux723 xux660 (FiniteMap.Branch xux7220 xux7221 xux7222 xux7223 xux7224) xux7220 xux7221 xux7222 xux7223 xux7224 xux753",fontsize=16,color="burlywood",shape="triangle"];11134[label="xux753/False",fontsize=10,color="white",style="solid",shape="box"];10515 -> 11134[label="",style="solid", color="burlywood", weight=9]; 27.17/11.49 11134 -> 10551[label="",style="solid", color="burlywood", weight=3]; 27.17/11.49 11135[label="xux753/True",fontsize=10,color="white",style="solid",shape="box"];10515 -> 11135[label="",style="solid", color="burlywood", weight=9]; 27.17/11.49 11135 -> 10552[label="",style="solid", color="burlywood", weight=3]; 27.17/11.49 10753 -> 10720[label="",style="dashed", color="red", weight=0]; 27.17/11.49 10753[label="primPlusInt (Pos (Succ Zero)) (FiniteMap.mkBranchLeft_size xux660 xux722 xux657)",fontsize=16,color="magenta"];10753 -> 10805[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10753 -> 10806[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10754 -> 10313[label="",style="dashed", color="red", weight=0]; 27.17/11.49 10754[label="FiniteMap.sizeFM xux722",fontsize=16,color="magenta"];10754 -> 10807[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10755[label="primPlusInt (Pos xux7660) xux765",fontsize=16,color="burlywood",shape="box"];11136[label="xux765/Pos xux7650",fontsize=10,color="white",style="solid",shape="box"];10755 -> 11136[label="",style="solid", color="burlywood", weight=9]; 27.17/11.49 11136 -> 10808[label="",style="solid", color="burlywood", weight=3]; 27.17/11.49 11137[label="xux765/Neg xux7650",fontsize=10,color="white",style="solid",shape="box"];10755 -> 11137[label="",style="solid", color="burlywood", weight=9]; 27.17/11.49 11137 -> 10809[label="",style="solid", color="burlywood", weight=3]; 27.17/11.49 10756[label="primPlusInt (Neg xux7660) xux765",fontsize=16,color="burlywood",shape="box"];11138[label="xux765/Pos xux7650",fontsize=10,color="white",style="solid",shape="box"];10756 -> 11138[label="",style="solid", color="burlywood", weight=9]; 27.17/11.49 11138 -> 10810[label="",style="solid", color="burlywood", weight=3]; 27.17/11.49 11139[label="xux765/Neg xux7650",fontsize=10,color="white",style="solid",shape="box"];10756 -> 11139[label="",style="solid", color="burlywood", weight=9]; 27.17/11.49 11139 -> 10811[label="",style="solid", color="burlywood", weight=3]; 27.17/11.49 6379[label="compare (Char (Succ xux190)) (Char (Succ xux185)) == LT",fontsize=16,color="black",shape="box"];6379 -> 6399[label="",style="solid", color="black", weight=3]; 27.17/11.49 6380[label="FiniteMap.splitGT1 (Char (Succ xux511)) xux512 xux513 xux514 xux515 (Char (Succ xux516)) False",fontsize=16,color="black",shape="box"];6380 -> 6400[label="",style="solid", color="black", weight=3]; 27.17/11.49 6381[label="FiniteMap.splitGT1 (Char (Succ xux511)) xux512 xux513 xux514 xux515 (Char (Succ xux516)) True",fontsize=16,color="black",shape="box"];6381 -> 6401[label="",style="solid", color="black", weight=3]; 27.17/11.49 312 -> 12[label="",style="dashed", color="red", weight=0]; 27.17/11.49 312[label="FiniteMap.mkVBalBranch (Char (Succ xux3000)) xux31 (FiniteMap.splitGT xux33 (Char Zero)) xux34",fontsize=16,color="magenta"];312 -> 361[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 312 -> 362[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 312 -> 363[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 312 -> 364[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 313[label="FiniteMap.splitGT0 (Char Zero) xux31 xux32 xux33 xux34 (Char Zero) otherwise",fontsize=16,color="black",shape="box"];313 -> 365[label="",style="solid", color="black", weight=3]; 27.17/11.49 3216[label="FiniteMap.splitLT1 (Char (Succ xux194)) xux195 xux196 xux197 xux198 (Char (Succ xux199)) (primCmpChar (Char (Succ xux199)) (Char (Succ xux194)) == GT)",fontsize=16,color="black",shape="box"];3216 -> 3254[label="",style="solid", color="black", weight=3]; 27.17/11.49 425[label="FiniteMap.splitLT FiniteMap.EmptyFM (Char (Succ xux4000))",fontsize=16,color="black",shape="box"];425 -> 604[label="",style="solid", color="black", weight=3]; 27.17/11.49 426[label="FiniteMap.splitLT (FiniteMap.Branch xux340 xux341 xux342 xux343 xux344) (Char (Succ xux4000))",fontsize=16,color="black",shape="box"];426 -> 605[label="",style="solid", color="black", weight=3]; 27.17/11.49 330 -> 12[label="",style="dashed", color="red", weight=0]; 27.17/11.49 330[label="FiniteMap.mkVBalBranch (Char Zero) xux31 xux33 (FiniteMap.splitLT xux34 (Char (Succ xux4000)))",fontsize=16,color="magenta"];330 -> 376[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 330 -> 377[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 330 -> 378[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 330 -> 379[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 331[label="FiniteMap.splitLT0 (Char Zero) xux31 xux32 xux33 xux34 (Char Zero) otherwise",fontsize=16,color="black",shape="box"];331 -> 380[label="",style="solid", color="black", weight=3]; 27.17/11.49 9753[label="Succ xux63900",fontsize=16,color="green",shape="box"];9754[label="Zero",fontsize=16,color="green",shape="box"];9755[label="False",fontsize=16,color="green",shape="box"];9756[label="Zero",fontsize=16,color="green",shape="box"];9757[label="Succ xux63900",fontsize=16,color="green",shape="box"];9758 -> 9624[label="",style="dashed", color="red", weight=0]; 27.17/11.49 9758[label="primCmpNat xux64400 xux63900 == GT",fontsize=16,color="magenta"];9758 -> 9777[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 9758 -> 9778[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 9759 -> 9670[label="",style="dashed", color="red", weight=0]; 27.17/11.49 9759[label="GT == GT",fontsize=16,color="magenta"];9760 -> 9675[label="",style="dashed", color="red", weight=0]; 27.17/11.49 9760[label="LT == GT",fontsize=16,color="magenta"];9761 -> 9713[label="",style="dashed", color="red", weight=0]; 27.17/11.49 9761[label="EQ == GT",fontsize=16,color="magenta"];10520[label="error []",fontsize=16,color="red",shape="box"];10521[label="error []",fontsize=16,color="red",shape="box"];10522[label="error []",fontsize=16,color="red",shape="box"];10523[label="primCmpInt xux644 xux6420 == LT",fontsize=16,color="burlywood",shape="triangle"];11140[label="xux644/Pos xux6440",fontsize=10,color="white",style="solid",shape="box"];10523 -> 11140[label="",style="solid", color="burlywood", weight=9]; 27.17/11.49 11140 -> 10596[label="",style="solid", color="burlywood", weight=3]; 27.17/11.49 11141[label="xux644/Neg xux6440",fontsize=10,color="white",style="solid",shape="box"];10523 -> 11141[label="",style="solid", color="burlywood", weight=9]; 27.17/11.49 11141 -> 10597[label="",style="solid", color="burlywood", weight=3]; 27.17/11.49 10524[label="error []",fontsize=16,color="red",shape="box"];10525[label="error []",fontsize=16,color="red",shape="box"];10526[label="error []",fontsize=16,color="red",shape="box"];10527[label="error []",fontsize=16,color="red",shape="box"];10528[label="error []",fontsize=16,color="red",shape="box"];10529[label="error []",fontsize=16,color="red",shape="box"];10530[label="error []",fontsize=16,color="red",shape="box"];10531[label="error []",fontsize=16,color="red",shape="box"];10532[label="error []",fontsize=16,color="red",shape="box"];9150 -> 3702[label="",style="dashed", color="red", weight=0]; 27.17/11.49 9150[label="primPlusNat (primMulNat (Succ (Succ Zero)) (Succ xux6200)) (Succ xux6200)",fontsize=16,color="magenta"];9150 -> 9189[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 9150 -> 9190[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 4057 -> 3702[label="",style="dashed", color="red", weight=0]; 27.17/11.49 4057[label="primPlusNat xux2100 xux160",fontsize=16,color="magenta"];4057 -> 4165[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 4057 -> 4166[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 9193[label="Succ xux5200",fontsize=16,color="green",shape="box"];9194[label="Zero",fontsize=16,color="green",shape="box"];9197[label="Zero",fontsize=16,color="green",shape="box"];9198[label="Succ xux5200",fontsize=16,color="green",shape="box"];9208[label="Succ xux279200",fontsize=16,color="green",shape="box"];9209 -> 8864[label="",style="dashed", color="red", weight=0]; 27.17/11.49 9209[label="primMulNat (Succ (Succ (Succ (Succ Zero)))) (Succ xux279200)",fontsize=16,color="magenta"];9209 -> 9230[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 9210[label="primCmpInt (Pos (Succ xux6240)) (FiniteMap.mkVBalBranch3Size_l xux2790 xux2791 (Pos (Succ xux279200)) xux2793 xux2794 xux2850 xux2851 xux2852 xux2853 xux2854) == LT",fontsize=16,color="black",shape="box"];9210 -> 9231[label="",style="solid", color="black", weight=3]; 27.17/11.49 9211[label="primCmpInt (Pos Zero) (FiniteMap.mkVBalBranch3Size_l xux2790 xux2791 (Pos (Succ xux279200)) xux2793 xux2794 xux2850 xux2851 xux2852 xux2853 xux2854) == LT",fontsize=16,color="black",shape="box"];9211 -> 9232[label="",style="solid", color="black", weight=3]; 27.17/11.49 9224[label="FiniteMap.mkVBalBranch3MkVBalBranch0 xux2790 xux2791 (Pos (Succ xux279200)) xux2793 xux2794 xux2850 xux2851 xux2852 xux2853 xux2854 xux286 xux287 xux2850 xux2851 xux2852 xux2853 xux2854 xux2790 xux2791 (Pos (Succ xux279200)) xux2793 xux2794 otherwise",fontsize=16,color="black",shape="box"];9224 -> 9401[label="",style="solid", color="black", weight=3]; 27.17/11.49 9225[label="FiniteMap.mkBalBranch xux2850 xux2851 xux2853 (FiniteMap.mkVBalBranch xux286 xux287 xux2854 (FiniteMap.Branch xux2790 xux2791 (Pos (Succ xux279200)) xux2793 xux2794))",fontsize=16,color="black",shape="box"];9225 -> 9402[label="",style="solid", color="black", weight=3]; 27.17/11.49 9168[label="FiniteMap.mkVBalBranch3MkVBalBranch0 xux2790 xux2791 (Pos Zero) xux2793 xux2794 xux2850 xux2851 xux2852 xux2853 xux2854 xux286 xux287 xux2850 xux2851 xux2852 xux2853 xux2854 xux2790 xux2791 (Pos Zero) xux2793 xux2794 otherwise",fontsize=16,color="black",shape="box"];9168 -> 9213[label="",style="solid", color="black", weight=3]; 27.17/11.49 9169[label="FiniteMap.mkBalBranch xux2850 xux2851 xux2853 (FiniteMap.mkVBalBranch xux286 xux287 xux2854 (FiniteMap.Branch xux2790 xux2791 (Pos Zero) xux2793 xux2794))",fontsize=16,color="black",shape="box"];9169 -> 9214[label="",style="solid", color="black", weight=3]; 27.17/11.49 9226[label="Succ xux279200",fontsize=16,color="green",shape="box"];9227 -> 8864[label="",style="dashed", color="red", weight=0]; 27.17/11.49 9227[label="primMulNat (Succ (Succ (Succ (Succ Zero)))) (Succ xux279200)",fontsize=16,color="magenta"];9227 -> 9403[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 9228[label="primCmpInt (Neg (Succ xux6280)) (FiniteMap.mkVBalBranch3Size_l xux2790 xux2791 (Neg (Succ xux279200)) xux2793 xux2794 xux2850 xux2851 xux2852 xux2853 xux2854) == LT",fontsize=16,color="black",shape="box"];9228 -> 9404[label="",style="solid", color="black", weight=3]; 27.17/11.49 9229[label="primCmpInt (Neg Zero) (FiniteMap.mkVBalBranch3Size_l xux2790 xux2791 (Neg (Succ xux279200)) xux2793 xux2794 xux2850 xux2851 xux2852 xux2853 xux2854) == LT",fontsize=16,color="black",shape="box"];9229 -> 9405[label="",style="solid", color="black", weight=3]; 27.17/11.49 9399[label="FiniteMap.mkVBalBranch3MkVBalBranch0 xux2790 xux2791 (Neg (Succ xux279200)) xux2793 xux2794 xux2850 xux2851 xux2852 xux2853 xux2854 xux286 xux287 xux2850 xux2851 xux2852 xux2853 xux2854 xux2790 xux2791 (Neg (Succ xux279200)) xux2793 xux2794 otherwise",fontsize=16,color="black",shape="box"];9399 -> 9412[label="",style="solid", color="black", weight=3]; 27.17/11.49 9400[label="FiniteMap.mkBalBranch xux2850 xux2851 xux2853 (FiniteMap.mkVBalBranch xux286 xux287 xux2854 (FiniteMap.Branch xux2790 xux2791 (Neg (Succ xux279200)) xux2793 xux2794))",fontsize=16,color="black",shape="box"];9400 -> 9413[label="",style="solid", color="black", weight=3]; 27.17/11.49 9173 -> 9167[label="",style="dashed", color="red", weight=0]; 27.17/11.49 9173[label="FiniteMap.sizeFM (FiniteMap.Branch xux2850 xux2851 xux2852 xux2853 xux2854)",fontsize=16,color="magenta"];9174[label="FiniteMap.mkVBalBranch3MkVBalBranch0 xux2790 xux2791 (Neg Zero) xux2793 xux2794 xux2850 xux2851 xux2852 xux2853 xux2854 xux286 xux287 xux2850 xux2851 xux2852 xux2853 xux2854 xux2790 xux2791 (Neg Zero) xux2793 xux2794 otherwise",fontsize=16,color="black",shape="box"];9174 -> 9233[label="",style="solid", color="black", weight=3]; 27.17/11.49 9175[label="FiniteMap.mkBalBranch xux2850 xux2851 xux2853 (FiniteMap.mkVBalBranch xux286 xux287 xux2854 (FiniteMap.Branch xux2790 xux2791 (Neg Zero) xux2793 xux2794))",fontsize=16,color="black",shape="box"];9175 -> 9234[label="",style="solid", color="black", weight=3]; 27.17/11.49 10533[label="xux7450",fontsize=16,color="green",shape="box"];10534[label="xux7480",fontsize=16,color="green",shape="box"];10535[label="primCmpInt (Pos (Succ xux7510)) (Pos (Succ (Succ Zero))) == LT",fontsize=16,color="black",shape="box"];10535 -> 10598[label="",style="solid", color="black", weight=3]; 27.17/11.49 10536[label="primCmpInt (Pos Zero) (Pos (Succ (Succ Zero))) == LT",fontsize=16,color="black",shape="box"];10536 -> 10599[label="",style="solid", color="black", weight=3]; 27.17/11.49 10537[label="primCmpInt (primMinusNat (Succ xux74800) (Succ xux74500)) (Pos (Succ (Succ Zero))) == LT",fontsize=16,color="black",shape="box"];10537 -> 10600[label="",style="solid", color="black", weight=3]; 27.17/11.49 10538[label="primCmpInt (primMinusNat (Succ xux74800) Zero) (Pos (Succ (Succ Zero))) == LT",fontsize=16,color="black",shape="box"];10538 -> 10601[label="",style="solid", color="black", weight=3]; 27.17/11.49 10539[label="primCmpInt (primMinusNat Zero (Succ xux74500)) (Pos (Succ (Succ Zero))) == LT",fontsize=16,color="black",shape="box"];10539 -> 10602[label="",style="solid", color="black", weight=3]; 27.17/11.49 10540[label="primCmpInt (primMinusNat Zero Zero) (Pos (Succ (Succ Zero))) == LT",fontsize=16,color="black",shape="box"];10540 -> 10603[label="",style="solid", color="black", weight=3]; 27.17/11.49 10541[label="xux7450",fontsize=16,color="green",shape="box"];10542[label="xux7480",fontsize=16,color="green",shape="box"];10543[label="primCmpInt (Neg (Succ xux7520)) (Pos (Succ (Succ Zero))) == LT",fontsize=16,color="black",shape="box"];10543 -> 10604[label="",style="solid", color="black", weight=3]; 27.17/11.49 10544[label="primCmpInt (Neg Zero) (Pos (Succ (Succ Zero))) == LT",fontsize=16,color="black",shape="box"];10544 -> 10605[label="",style="solid", color="black", weight=3]; 27.17/11.49 10545 -> 10313[label="",style="dashed", color="red", weight=0]; 27.17/11.49 10545[label="FiniteMap.sizeFM (FiniteMap.Branch xux2850 xux2851 xux2852 xux2853 xux2854)",fontsize=16,color="magenta"];10545 -> 10606[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10556 -> 10289[label="",style="dashed", color="red", weight=0]; 27.17/11.49 10556[label="primMulNat (Succ (Succ (Succ (Succ (Succ Zero))))) xux7500",fontsize=16,color="magenta"];10556 -> 10607[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10557 -> 10289[label="",style="dashed", color="red", weight=0]; 27.17/11.49 10557[label="primMulNat (Succ (Succ (Succ (Succ (Succ Zero))))) xux7500",fontsize=16,color="magenta"];10557 -> 10608[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10546[label="FiniteMap.mkBranch (Pos (Succ (Succ Zero))) xux657 xux658 xux660 xux722",fontsize=16,color="black",shape="box"];10546 -> 10609[label="",style="solid", color="black", weight=3]; 27.17/11.49 10547[label="error []",fontsize=16,color="red",shape="box"];10548[label="FiniteMap.mkBalBranch6MkBalBranch12 xux657 xux658 (FiniteMap.Branch xux6600 xux6601 xux6602 xux6603 xux6604) xux723 (FiniteMap.Branch xux6600 xux6601 xux6602 xux6603 xux6604) xux722 (FiniteMap.Branch xux6600 xux6601 xux6602 xux6603 xux6604)",fontsize=16,color="black",shape="box"];10548 -> 10610[label="",style="solid", color="black", weight=3]; 27.17/11.49 10549 -> 10611[label="",style="dashed", color="red", weight=0]; 27.17/11.49 10549[label="Pos (Succ (Succ Zero)) * FiniteMap.sizeFM xux7224",fontsize=16,color="magenta"];10549 -> 10612[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10550 -> 10313[label="",style="dashed", color="red", weight=0]; 27.17/11.49 10550[label="FiniteMap.sizeFM xux7223",fontsize=16,color="magenta"];10550 -> 10613[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10551[label="FiniteMap.mkBalBranch6MkBalBranch01 xux657 xux658 xux660 xux723 xux660 (FiniteMap.Branch xux7220 xux7221 xux7222 xux7223 xux7224) xux7220 xux7221 xux7222 xux7223 xux7224 False",fontsize=16,color="black",shape="box"];10551 -> 10614[label="",style="solid", color="black", weight=3]; 27.17/11.49 10552[label="FiniteMap.mkBalBranch6MkBalBranch01 xux657 xux658 xux660 xux723 xux660 (FiniteMap.Branch xux7220 xux7221 xux7222 xux7223 xux7224) xux7220 xux7221 xux7222 xux7223 xux7224 True",fontsize=16,color="black",shape="box"];10552 -> 10615[label="",style="solid", color="black", weight=3]; 27.17/11.49 10805[label="Pos (Succ Zero)",fontsize=16,color="green",shape="box"];10806[label="FiniteMap.mkBranchLeft_size xux660 xux722 xux657",fontsize=16,color="black",shape="box"];10806 -> 10828[label="",style="solid", color="black", weight=3]; 27.17/11.49 10807[label="xux722",fontsize=16,color="green",shape="box"];10808[label="primPlusInt (Pos xux7660) (Pos xux7650)",fontsize=16,color="black",shape="box"];10808 -> 10829[label="",style="solid", color="black", weight=3]; 27.17/11.49 10809[label="primPlusInt (Pos xux7660) (Neg xux7650)",fontsize=16,color="black",shape="box"];10809 -> 10830[label="",style="solid", color="black", weight=3]; 27.17/11.49 10810[label="primPlusInt (Neg xux7660) (Pos xux7650)",fontsize=16,color="black",shape="box"];10810 -> 10831[label="",style="solid", color="black", weight=3]; 27.17/11.49 10811[label="primPlusInt (Neg xux7660) (Neg xux7650)",fontsize=16,color="black",shape="box"];10811 -> 10832[label="",style="solid", color="black", weight=3]; 27.17/11.49 6399[label="primCmpChar (Char (Succ xux190)) (Char (Succ xux185)) == LT",fontsize=16,color="black",shape="box"];6399 -> 6547[label="",style="solid", color="black", weight=3]; 27.17/11.49 6400[label="FiniteMap.splitGT0 (Char (Succ xux511)) xux512 xux513 xux514 xux515 (Char (Succ xux516)) otherwise",fontsize=16,color="black",shape="box"];6400 -> 6548[label="",style="solid", color="black", weight=3]; 27.17/11.49 6401 -> 12[label="",style="dashed", color="red", weight=0]; 27.17/11.49 6401[label="FiniteMap.mkVBalBranch (Char (Succ xux511)) xux512 (FiniteMap.splitGT xux514 (Char (Succ xux516))) xux515",fontsize=16,color="magenta"];6401 -> 6549[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 6401 -> 6550[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 6401 -> 6551[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 6401 -> 6552[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 361[label="xux34",fontsize=16,color="green",shape="box"];362[label="Char (Succ xux3000)",fontsize=16,color="green",shape="box"];363[label="xux31",fontsize=16,color="green",shape="box"];364[label="FiniteMap.splitGT xux33 (Char Zero)",fontsize=16,color="burlywood",shape="box"];11142[label="xux33/FiniteMap.EmptyFM",fontsize=10,color="white",style="solid",shape="box"];364 -> 11142[label="",style="solid", color="burlywood", weight=9]; 27.17/11.49 11142 -> 411[label="",style="solid", color="burlywood", weight=3]; 27.17/11.49 11143[label="xux33/FiniteMap.Branch xux330 xux331 xux332 xux333 xux334",fontsize=10,color="white",style="solid",shape="box"];364 -> 11143[label="",style="solid", color="burlywood", weight=9]; 27.17/11.49 11143 -> 412[label="",style="solid", color="burlywood", weight=3]; 27.17/11.49 365[label="FiniteMap.splitGT0 (Char Zero) xux31 xux32 xux33 xux34 (Char Zero) True",fontsize=16,color="black",shape="box"];365 -> 413[label="",style="solid", color="black", weight=3]; 27.17/11.49 3254 -> 6171[label="",style="dashed", color="red", weight=0]; 27.17/11.49 3254[label="FiniteMap.splitLT1 (Char (Succ xux194)) xux195 xux196 xux197 xux198 (Char (Succ xux199)) (primCmpNat (Succ xux199) (Succ xux194) == GT)",fontsize=16,color="magenta"];3254 -> 6172[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 3254 -> 6173[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 3254 -> 6174[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 3254 -> 6175[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 3254 -> 6176[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 3254 -> 6177[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 3254 -> 6178[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 3254 -> 6179[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 604[label="FiniteMap.splitLT4 FiniteMap.EmptyFM (Char (Succ xux4000))",fontsize=16,color="black",shape="box"];604 -> 662[label="",style="solid", color="black", weight=3]; 27.17/11.49 605 -> 27[label="",style="dashed", color="red", weight=0]; 27.17/11.49 605[label="FiniteMap.splitLT3 (FiniteMap.Branch xux340 xux341 xux342 xux343 xux344) (Char (Succ xux4000))",fontsize=16,color="magenta"];605 -> 663[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 605 -> 664[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 605 -> 665[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 605 -> 666[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 605 -> 667[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 605 -> 668[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 377[label="Char Zero",fontsize=16,color="green",shape="box"];378[label="xux31",fontsize=16,color="green",shape="box"];379[label="xux33",fontsize=16,color="green",shape="box"];380[label="FiniteMap.splitLT0 (Char Zero) xux31 xux32 xux33 xux34 (Char Zero) True",fontsize=16,color="black",shape="box"];380 -> 427[label="",style="solid", color="black", weight=3]; 27.17/11.49 9777[label="xux63900",fontsize=16,color="green",shape="box"];9778[label="xux64400",fontsize=16,color="green",shape="box"];10596[label="primCmpInt (Pos xux6440) xux6420 == LT",fontsize=16,color="burlywood",shape="box"];11144[label="xux6440/Succ xux64400",fontsize=10,color="white",style="solid",shape="box"];10596 -> 11144[label="",style="solid", color="burlywood", weight=9]; 27.17/11.49 11144 -> 10619[label="",style="solid", color="burlywood", weight=3]; 27.17/11.49 11145[label="xux6440/Zero",fontsize=10,color="white",style="solid",shape="box"];10596 -> 11145[label="",style="solid", color="burlywood", weight=9]; 27.17/11.49 11145 -> 10620[label="",style="solid", color="burlywood", weight=3]; 27.17/11.49 10597[label="primCmpInt (Neg xux6440) xux6420 == LT",fontsize=16,color="burlywood",shape="box"];11146[label="xux6440/Succ xux64400",fontsize=10,color="white",style="solid",shape="box"];10597 -> 11146[label="",style="solid", color="burlywood", weight=9]; 27.17/11.49 11146 -> 10621[label="",style="solid", color="burlywood", weight=3]; 27.17/11.49 11147[label="xux6440/Zero",fontsize=10,color="white",style="solid",shape="box"];10597 -> 11147[label="",style="solid", color="burlywood", weight=9]; 27.17/11.49 11147 -> 10622[label="",style="solid", color="burlywood", weight=3]; 27.17/11.49 9189[label="Succ xux6200",fontsize=16,color="green",shape="box"];9190[label="primMulNat (Succ (Succ Zero)) (Succ xux6200)",fontsize=16,color="black",shape="box"];9190 -> 9422[label="",style="solid", color="black", weight=3]; 27.17/11.49 4165[label="xux160",fontsize=16,color="green",shape="box"];4166[label="xux2100",fontsize=16,color="green",shape="box"];9230[label="xux279200",fontsize=16,color="green",shape="box"];9231 -> 9114[label="",style="dashed", color="red", weight=0]; 27.17/11.49 9231[label="primCmpInt (Pos (Succ xux6240)) (FiniteMap.sizeFM (FiniteMap.Branch xux2850 xux2851 xux2852 xux2853 xux2854)) == LT",fontsize=16,color="magenta"];9231 -> 9427[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 9231 -> 9428[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 9232 -> 8867[label="",style="dashed", color="red", weight=0]; 27.17/11.49 9232[label="primCmpInt (Pos Zero) (FiniteMap.sizeFM (FiniteMap.Branch xux2850 xux2851 xux2852 xux2853 xux2854)) == LT",fontsize=16,color="magenta"];9232 -> 9429[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 9401[label="FiniteMap.mkVBalBranch3MkVBalBranch0 xux2790 xux2791 (Pos (Succ xux279200)) xux2793 xux2794 xux2850 xux2851 xux2852 xux2853 xux2854 xux286 xux287 xux2850 xux2851 xux2852 xux2853 xux2854 xux2790 xux2791 (Pos (Succ xux279200)) xux2793 xux2794 True",fontsize=16,color="black",shape="box"];9401 -> 9430[label="",style="solid", color="black", weight=3]; 27.17/11.49 9402[label="FiniteMap.mkBalBranch6 xux2850 xux2851 xux2853 (FiniteMap.mkVBalBranch xux286 xux287 xux2854 (FiniteMap.Branch xux2790 xux2791 (Pos (Succ xux279200)) xux2793 xux2794))",fontsize=16,color="black",shape="box"];9402 -> 9431[label="",style="solid", color="black", weight=3]; 27.17/11.49 9213[label="FiniteMap.mkVBalBranch3MkVBalBranch0 xux2790 xux2791 (Pos Zero) xux2793 xux2794 xux2850 xux2851 xux2852 xux2853 xux2854 xux286 xux287 xux2850 xux2851 xux2852 xux2853 xux2854 xux2790 xux2791 (Pos Zero) xux2793 xux2794 True",fontsize=16,color="black",shape="box"];9213 -> 9432[label="",style="solid", color="black", weight=3]; 27.17/11.49 9214[label="FiniteMap.mkBalBranch6 xux2850 xux2851 xux2853 (FiniteMap.mkVBalBranch xux286 xux287 xux2854 (FiniteMap.Branch xux2790 xux2791 (Pos Zero) xux2793 xux2794))",fontsize=16,color="black",shape="box"];9214 -> 9433[label="",style="solid", color="black", weight=3]; 27.17/11.49 9403[label="xux279200",fontsize=16,color="green",shape="box"];9404 -> 9120[label="",style="dashed", color="red", weight=0]; 27.17/11.49 9404[label="primCmpInt (Neg (Succ xux6280)) (FiniteMap.sizeFM (FiniteMap.Branch xux2850 xux2851 xux2852 xux2853 xux2854)) == LT",fontsize=16,color="magenta"];9404 -> 9434[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 9404 -> 9435[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 9405 -> 9032[label="",style="dashed", color="red", weight=0]; 27.17/11.49 9405[label="primCmpInt (Neg Zero) (FiniteMap.sizeFM (FiniteMap.Branch xux2850 xux2851 xux2852 xux2853 xux2854)) == LT",fontsize=16,color="magenta"];9405 -> 9436[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 9412[label="FiniteMap.mkVBalBranch3MkVBalBranch0 xux2790 xux2791 (Neg (Succ xux279200)) xux2793 xux2794 xux2850 xux2851 xux2852 xux2853 xux2854 xux286 xux287 xux2850 xux2851 xux2852 xux2853 xux2854 xux2790 xux2791 (Neg (Succ xux279200)) xux2793 xux2794 True",fontsize=16,color="black",shape="box"];9412 -> 9486[label="",style="solid", color="black", weight=3]; 27.17/11.49 9413[label="FiniteMap.mkBalBranch6 xux2850 xux2851 xux2853 (FiniteMap.mkVBalBranch xux286 xux287 xux2854 (FiniteMap.Branch xux2790 xux2791 (Neg (Succ xux279200)) xux2793 xux2794))",fontsize=16,color="black",shape="box"];9413 -> 9487[label="",style="solid", color="black", weight=3]; 27.17/11.49 9233[label="FiniteMap.mkVBalBranch3MkVBalBranch0 xux2790 xux2791 (Neg Zero) xux2793 xux2794 xux2850 xux2851 xux2852 xux2853 xux2854 xux286 xux287 xux2850 xux2851 xux2852 xux2853 xux2854 xux2790 xux2791 (Neg Zero) xux2793 xux2794 True",fontsize=16,color="black",shape="box"];9233 -> 9437[label="",style="solid", color="black", weight=3]; 27.17/11.49 9234[label="FiniteMap.mkBalBranch6 xux2850 xux2851 xux2853 (FiniteMap.mkVBalBranch xux286 xux287 xux2854 (FiniteMap.Branch xux2790 xux2791 (Neg Zero) xux2793 xux2794))",fontsize=16,color="black",shape="box"];9234 -> 9438[label="",style="solid", color="black", weight=3]; 27.17/11.49 10598 -> 6306[label="",style="dashed", color="red", weight=0]; 27.17/11.49 10598[label="primCmpNat (Succ xux7510) (Succ (Succ Zero)) == LT",fontsize=16,color="magenta"];10598 -> 10623[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10598 -> 10624[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10599 -> 6306[label="",style="dashed", color="red", weight=0]; 27.17/11.49 10599[label="primCmpNat Zero (Succ (Succ Zero)) == LT",fontsize=16,color="magenta"];10599 -> 10625[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10599 -> 10626[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10600 -> 10523[label="",style="dashed", color="red", weight=0]; 27.17/11.49 10600[label="primCmpInt (primMinusNat xux74800 xux74500) (Pos (Succ (Succ Zero))) == LT",fontsize=16,color="magenta"];10600 -> 10627[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10600 -> 10628[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10601 -> 10523[label="",style="dashed", color="red", weight=0]; 27.17/11.49 10601[label="primCmpInt (Pos (Succ xux74800)) (Pos (Succ (Succ Zero))) == LT",fontsize=16,color="magenta"];10601 -> 10629[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10601 -> 10630[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10602 -> 10523[label="",style="dashed", color="red", weight=0]; 27.17/11.49 10602[label="primCmpInt (Neg (Succ xux74500)) (Pos (Succ (Succ Zero))) == LT",fontsize=16,color="magenta"];10602 -> 10631[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10602 -> 10632[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10603 -> 10523[label="",style="dashed", color="red", weight=0]; 27.17/11.49 10603[label="primCmpInt (Pos Zero) (Pos (Succ (Succ Zero))) == LT",fontsize=16,color="magenta"];10603 -> 10633[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10603 -> 10634[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10604 -> 6163[label="",style="dashed", color="red", weight=0]; 27.17/11.49 10604[label="LT == LT",fontsize=16,color="magenta"];10605 -> 6163[label="",style="dashed", color="red", weight=0]; 27.17/11.49 10605[label="LT == LT",fontsize=16,color="magenta"];10606[label="FiniteMap.Branch xux2850 xux2851 xux2852 xux2853 xux2854",fontsize=16,color="green",shape="box"];10607[label="xux7500",fontsize=16,color="green",shape="box"];10608[label="xux7500",fontsize=16,color="green",shape="box"];10609 -> 10256[label="",style="dashed", color="red", weight=0]; 27.17/11.49 10609[label="FiniteMap.mkBranchResult xux657 xux658 xux660 xux722",fontsize=16,color="magenta"];10610 -> 10635[label="",style="dashed", color="red", weight=0]; 27.17/11.49 10610[label="FiniteMap.mkBalBranch6MkBalBranch11 xux657 xux658 (FiniteMap.Branch xux6600 xux6601 xux6602 xux6603 xux6604) xux723 (FiniteMap.Branch xux6600 xux6601 xux6602 xux6603 xux6604) xux722 xux6600 xux6601 xux6602 xux6603 xux6604 (FiniteMap.sizeFM xux6604 < Pos (Succ (Succ Zero)) * FiniteMap.sizeFM xux6603)",fontsize=16,color="magenta"];10610 -> 10636[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10612 -> 10313[label="",style="dashed", color="red", weight=0]; 27.17/11.49 10612[label="FiniteMap.sizeFM xux7224",fontsize=16,color="magenta"];10612 -> 10637[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10611[label="Pos (Succ (Succ Zero)) * xux758",fontsize=16,color="black",shape="triangle"];10611 -> 10638[label="",style="solid", color="black", weight=3]; 27.17/11.49 10613[label="xux7223",fontsize=16,color="green",shape="box"];10614[label="FiniteMap.mkBalBranch6MkBalBranch00 xux657 xux658 xux660 xux723 xux660 (FiniteMap.Branch xux7220 xux7221 xux7222 xux7223 xux7224) xux7220 xux7221 xux7222 xux7223 xux7224 otherwise",fontsize=16,color="black",shape="box"];10614 -> 10639[label="",style="solid", color="black", weight=3]; 27.17/11.49 10615[label="FiniteMap.mkBalBranch6Single_L xux657 xux658 xux660 xux723 xux660 (FiniteMap.Branch xux7220 xux7221 xux7222 xux7223 xux7224)",fontsize=16,color="black",shape="box"];10615 -> 10640[label="",style="solid", color="black", weight=3]; 27.17/11.49 10828 -> 10313[label="",style="dashed", color="red", weight=0]; 27.17/11.49 10828[label="FiniteMap.sizeFM xux660",fontsize=16,color="magenta"];10828 -> 10848[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10829[label="Pos (primPlusNat xux7660 xux7650)",fontsize=16,color="green",shape="box"];10829 -> 10849[label="",style="dashed", color="green", weight=3]; 27.17/11.49 10830 -> 10628[label="",style="dashed", color="red", weight=0]; 27.17/11.49 10830[label="primMinusNat xux7660 xux7650",fontsize=16,color="magenta"];10830 -> 10850[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10830 -> 10851[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10831 -> 10628[label="",style="dashed", color="red", weight=0]; 27.17/11.49 10831[label="primMinusNat xux7650 xux7660",fontsize=16,color="magenta"];10831 -> 10852[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10831 -> 10853[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10832[label="Neg (primPlusNat xux7660 xux7650)",fontsize=16,color="green",shape="box"];10832 -> 10854[label="",style="dashed", color="green", weight=3]; 27.17/11.49 6547 -> 6306[label="",style="dashed", color="red", weight=0]; 27.17/11.49 6547[label="primCmpNat (Succ xux190) (Succ xux185) == LT",fontsize=16,color="magenta"];6547 -> 6555[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 6547 -> 6556[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 6548[label="FiniteMap.splitGT0 (Char (Succ xux511)) xux512 xux513 xux514 xux515 (Char (Succ xux516)) True",fontsize=16,color="black",shape="box"];6548 -> 6557[label="",style="solid", color="black", weight=3]; 27.17/11.49 6549[label="xux515",fontsize=16,color="green",shape="box"];6550[label="Char (Succ xux511)",fontsize=16,color="green",shape="box"];6551[label="xux512",fontsize=16,color="green",shape="box"];6552 -> 112[label="",style="dashed", color="red", weight=0]; 27.17/11.49 6552[label="FiniteMap.splitGT xux514 (Char (Succ xux516))",fontsize=16,color="magenta"];6552 -> 6558[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 6552 -> 6559[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 411[label="FiniteMap.splitGT FiniteMap.EmptyFM (Char Zero)",fontsize=16,color="black",shape="box"];411 -> 584[label="",style="solid", color="black", weight=3]; 27.17/11.49 412[label="FiniteMap.splitGT (FiniteMap.Branch xux330 xux331 xux332 xux333 xux334) (Char Zero)",fontsize=16,color="black",shape="box"];412 -> 585[label="",style="solid", color="black", weight=3]; 27.17/11.49 413[label="xux34",fontsize=16,color="green",shape="box"];6172[label="xux198",fontsize=16,color="green",shape="box"];6173[label="Succ xux194",fontsize=16,color="green",shape="box"];6174[label="xux196",fontsize=16,color="green",shape="box"];6175[label="Succ xux199",fontsize=16,color="green",shape="box"];6176[label="xux195",fontsize=16,color="green",shape="box"];6177[label="xux199",fontsize=16,color="green",shape="box"];6178[label="xux194",fontsize=16,color="green",shape="box"];6179[label="xux197",fontsize=16,color="green",shape="box"];6171[label="FiniteMap.splitLT1 (Char (Succ xux520)) xux521 xux522 xux523 xux524 (Char (Succ xux525)) (primCmpNat xux526 xux527 == GT)",fontsize=16,color="burlywood",shape="triangle"];11148[label="xux526/Succ xux5260",fontsize=10,color="white",style="solid",shape="box"];6171 -> 11148[label="",style="solid", color="burlywood", weight=9]; 27.17/11.49 11148 -> 6284[label="",style="solid", color="burlywood", weight=3]; 27.17/11.49 11149[label="xux526/Zero",fontsize=10,color="white",style="solid",shape="box"];6171 -> 11149[label="",style="solid", color="burlywood", weight=9]; 27.17/11.49 11149 -> 6285[label="",style="solid", color="burlywood", weight=3]; 27.17/11.49 662 -> 59[label="",style="dashed", color="red", weight=0]; 27.17/11.49 662[label="FiniteMap.emptyFM",fontsize=16,color="magenta"];663[label="xux341",fontsize=16,color="green",shape="box"];664[label="xux343",fontsize=16,color="green",shape="box"];665[label="xux342",fontsize=16,color="green",shape="box"];666[label="Char (Succ xux4000)",fontsize=16,color="green",shape="box"];667[label="xux340",fontsize=16,color="green",shape="box"];668[label="xux344",fontsize=16,color="green",shape="box"];427[label="xux33",fontsize=16,color="green",shape="box"];10619[label="primCmpInt (Pos (Succ xux64400)) xux6420 == LT",fontsize=16,color="burlywood",shape="box"];11150[label="xux6420/Pos xux64200",fontsize=10,color="white",style="solid",shape="box"];10619 -> 11150[label="",style="solid", color="burlywood", weight=9]; 27.17/11.49 11150 -> 10645[label="",style="solid", color="burlywood", weight=3]; 27.17/11.49 11151[label="xux6420/Neg xux64200",fontsize=10,color="white",style="solid",shape="box"];10619 -> 11151[label="",style="solid", color="burlywood", weight=9]; 27.17/11.49 11151 -> 10646[label="",style="solid", color="burlywood", weight=3]; 27.17/11.49 10620[label="primCmpInt (Pos Zero) xux6420 == LT",fontsize=16,color="burlywood",shape="box"];11152[label="xux6420/Pos xux64200",fontsize=10,color="white",style="solid",shape="box"];10620 -> 11152[label="",style="solid", color="burlywood", weight=9]; 27.17/11.49 11152 -> 10647[label="",style="solid", color="burlywood", weight=3]; 27.17/11.49 11153[label="xux6420/Neg xux64200",fontsize=10,color="white",style="solid",shape="box"];10620 -> 11153[label="",style="solid", color="burlywood", weight=9]; 27.17/11.49 11153 -> 10648[label="",style="solid", color="burlywood", weight=3]; 27.17/11.49 10621[label="primCmpInt (Neg (Succ xux64400)) xux6420 == LT",fontsize=16,color="burlywood",shape="box"];11154[label="xux6420/Pos xux64200",fontsize=10,color="white",style="solid",shape="box"];10621 -> 11154[label="",style="solid", color="burlywood", weight=9]; 27.17/11.49 11154 -> 10649[label="",style="solid", color="burlywood", weight=3]; 27.17/11.49 11155[label="xux6420/Neg xux64200",fontsize=10,color="white",style="solid",shape="box"];10621 -> 11155[label="",style="solid", color="burlywood", weight=9]; 27.17/11.49 11155 -> 10650[label="",style="solid", color="burlywood", weight=3]; 27.17/11.49 10622[label="primCmpInt (Neg Zero) xux6420 == LT",fontsize=16,color="burlywood",shape="box"];11156[label="xux6420/Pos xux64200",fontsize=10,color="white",style="solid",shape="box"];10622 -> 11156[label="",style="solid", color="burlywood", weight=9]; 27.17/11.49 11156 -> 10651[label="",style="solid", color="burlywood", weight=3]; 27.17/11.49 11157[label="xux6420/Neg xux64200",fontsize=10,color="white",style="solid",shape="box"];10622 -> 11157[label="",style="solid", color="burlywood", weight=9]; 27.17/11.49 11157 -> 10652[label="",style="solid", color="burlywood", weight=3]; 27.17/11.49 9422 -> 3702[label="",style="dashed", color="red", weight=0]; 27.17/11.49 9422[label="primPlusNat (primMulNat (Succ Zero) (Succ xux6200)) (Succ xux6200)",fontsize=16,color="magenta"];9422 -> 9517[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 9422 -> 9518[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 9427[label="xux6240",fontsize=16,color="green",shape="box"];9428 -> 9167[label="",style="dashed", color="red", weight=0]; 27.17/11.49 9428[label="FiniteMap.sizeFM (FiniteMap.Branch xux2850 xux2851 xux2852 xux2853 xux2854)",fontsize=16,color="magenta"];9429 -> 9167[label="",style="dashed", color="red", weight=0]; 27.17/11.49 9429[label="FiniteMap.sizeFM (FiniteMap.Branch xux2850 xux2851 xux2852 xux2853 xux2854)",fontsize=16,color="magenta"];9430 -> 9519[label="",style="dashed", color="red", weight=0]; 27.17/11.49 9430[label="FiniteMap.mkBranch (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))))))))) xux286 xux287 (FiniteMap.Branch xux2850 xux2851 xux2852 xux2853 xux2854) (FiniteMap.Branch xux2790 xux2791 (Pos (Succ xux279200)) xux2793 xux2794)",fontsize=16,color="magenta"];9430 -> 9520[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 9430 -> 9521[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 9430 -> 9522[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 9430 -> 9523[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 9430 -> 9524[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 9430 -> 9525[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 9430 -> 9526[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 9430 -> 9527[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 9430 -> 9528[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 9430 -> 9529[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 9430 -> 9530[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 9430 -> 9531[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 9430 -> 9532[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 9431 -> 10006[label="",style="dashed", color="red", weight=0]; 27.17/11.49 9431[label="FiniteMap.mkBalBranch6MkBalBranch5 xux2850 xux2851 xux2853 (FiniteMap.mkVBalBranch xux286 xux287 xux2854 (FiniteMap.Branch xux2790 xux2791 (Pos (Succ xux279200)) xux2793 xux2794)) xux2850 xux2851 xux2853 (FiniteMap.mkVBalBranch xux286 xux287 xux2854 (FiniteMap.Branch xux2790 xux2791 (Pos (Succ xux279200)) xux2793 xux2794)) (FiniteMap.mkBalBranch6Size_l xux2850 xux2851 xux2853 (FiniteMap.mkVBalBranch xux286 xux287 xux2854 (FiniteMap.Branch xux2790 xux2791 (Pos (Succ xux279200)) xux2793 xux2794)) + FiniteMap.mkBalBranch6Size_r xux2850 xux2851 xux2853 (FiniteMap.mkVBalBranch xux286 xux287 xux2854 (FiniteMap.Branch xux2790 xux2791 (Pos (Succ xux279200)) xux2793 xux2794)) < Pos (Succ (Succ Zero)))",fontsize=16,color="magenta"];9431 -> 10072[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 9431 -> 10073[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 9431 -> 10074[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 9431 -> 10075[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 9431 -> 10076[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 9431 -> 10077[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 9432 -> 9553[label="",style="dashed", color="red", weight=0]; 27.17/11.49 9432[label="FiniteMap.mkBranch (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))))))))) xux286 xux287 (FiniteMap.Branch xux2850 xux2851 xux2852 xux2853 xux2854) (FiniteMap.Branch xux2790 xux2791 (Pos Zero) xux2793 xux2794)",fontsize=16,color="magenta"];9432 -> 9554[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 9432 -> 9555[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 9432 -> 9556[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 9432 -> 9557[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 9432 -> 9558[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 9432 -> 9559[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 9432 -> 9560[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 9432 -> 9561[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 9432 -> 9562[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 9432 -> 9563[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 9432 -> 9564[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 9432 -> 9565[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 9433 -> 10006[label="",style="dashed", color="red", weight=0]; 27.17/11.49 9433[label="FiniteMap.mkBalBranch6MkBalBranch5 xux2850 xux2851 xux2853 (FiniteMap.mkVBalBranch xux286 xux287 xux2854 (FiniteMap.Branch xux2790 xux2791 (Pos Zero) xux2793 xux2794)) xux2850 xux2851 xux2853 (FiniteMap.mkVBalBranch xux286 xux287 xux2854 (FiniteMap.Branch xux2790 xux2791 (Pos Zero) xux2793 xux2794)) (FiniteMap.mkBalBranch6Size_l xux2850 xux2851 xux2853 (FiniteMap.mkVBalBranch xux286 xux287 xux2854 (FiniteMap.Branch xux2790 xux2791 (Pos Zero) xux2793 xux2794)) + FiniteMap.mkBalBranch6Size_r xux2850 xux2851 xux2853 (FiniteMap.mkVBalBranch xux286 xux287 xux2854 (FiniteMap.Branch xux2790 xux2791 (Pos Zero) xux2793 xux2794)) < Pos (Succ (Succ Zero)))",fontsize=16,color="magenta"];9433 -> 10078[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 9433 -> 10079[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 9433 -> 10080[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 9433 -> 10081[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 9433 -> 10082[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 9433 -> 10083[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 9434[label="xux6280",fontsize=16,color="green",shape="box"];9435 -> 9167[label="",style="dashed", color="red", weight=0]; 27.17/11.49 9435[label="FiniteMap.sizeFM (FiniteMap.Branch xux2850 xux2851 xux2852 xux2853 xux2854)",fontsize=16,color="magenta"];9436 -> 9167[label="",style="dashed", color="red", weight=0]; 27.17/11.49 9436[label="FiniteMap.sizeFM (FiniteMap.Branch xux2850 xux2851 xux2852 xux2853 xux2854)",fontsize=16,color="magenta"];9486 -> 9573[label="",style="dashed", color="red", weight=0]; 27.17/11.49 9486[label="FiniteMap.mkBranch (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))))))))) xux286 xux287 (FiniteMap.Branch xux2850 xux2851 xux2852 xux2853 xux2854) (FiniteMap.Branch xux2790 xux2791 (Neg (Succ xux279200)) xux2793 xux2794)",fontsize=16,color="magenta"];9486 -> 9574[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 9486 -> 9575[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 9486 -> 9576[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 9486 -> 9577[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 9486 -> 9578[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 9486 -> 9579[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 9486 -> 9580[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 9486 -> 9581[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 9486 -> 9582[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 9486 -> 9583[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 9486 -> 9584[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 9486 -> 9585[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 9486 -> 9586[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 9487 -> 10006[label="",style="dashed", color="red", weight=0]; 27.17/11.49 9487[label="FiniteMap.mkBalBranch6MkBalBranch5 xux2850 xux2851 xux2853 (FiniteMap.mkVBalBranch xux286 xux287 xux2854 (FiniteMap.Branch xux2790 xux2791 (Neg (Succ xux279200)) xux2793 xux2794)) xux2850 xux2851 xux2853 (FiniteMap.mkVBalBranch xux286 xux287 xux2854 (FiniteMap.Branch xux2790 xux2791 (Neg (Succ xux279200)) xux2793 xux2794)) (FiniteMap.mkBalBranch6Size_l xux2850 xux2851 xux2853 (FiniteMap.mkVBalBranch xux286 xux287 xux2854 (FiniteMap.Branch xux2790 xux2791 (Neg (Succ xux279200)) xux2793 xux2794)) + FiniteMap.mkBalBranch6Size_r xux2850 xux2851 xux2853 (FiniteMap.mkVBalBranch xux286 xux287 xux2854 (FiniteMap.Branch xux2790 xux2791 (Neg (Succ xux279200)) xux2793 xux2794)) < Pos (Succ (Succ Zero)))",fontsize=16,color="magenta"];9487 -> 10084[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 9487 -> 10085[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 9487 -> 10086[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 9487 -> 10087[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 9487 -> 10088[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 9487 -> 10089[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 9437 -> 9596[label="",style="dashed", color="red", weight=0]; 27.17/11.49 9437[label="FiniteMap.mkBranch (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))))))))) xux286 xux287 (FiniteMap.Branch xux2850 xux2851 xux2852 xux2853 xux2854) (FiniteMap.Branch xux2790 xux2791 (Neg Zero) xux2793 xux2794)",fontsize=16,color="magenta"];9437 -> 9597[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 9437 -> 9598[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 9437 -> 9599[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 9437 -> 9600[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 9437 -> 9601[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 9437 -> 9602[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 9437 -> 9603[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 9437 -> 9604[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 9437 -> 9605[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 9437 -> 9606[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 9437 -> 9607[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 9437 -> 9608[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 9438 -> 10006[label="",style="dashed", color="red", weight=0]; 27.17/11.49 9438[label="FiniteMap.mkBalBranch6MkBalBranch5 xux2850 xux2851 xux2853 (FiniteMap.mkVBalBranch xux286 xux287 xux2854 (FiniteMap.Branch xux2790 xux2791 (Neg Zero) xux2793 xux2794)) xux2850 xux2851 xux2853 (FiniteMap.mkVBalBranch xux286 xux287 xux2854 (FiniteMap.Branch xux2790 xux2791 (Neg Zero) xux2793 xux2794)) (FiniteMap.mkBalBranch6Size_l xux2850 xux2851 xux2853 (FiniteMap.mkVBalBranch xux286 xux287 xux2854 (FiniteMap.Branch xux2790 xux2791 (Neg Zero) xux2793 xux2794)) + FiniteMap.mkBalBranch6Size_r xux2850 xux2851 xux2853 (FiniteMap.mkVBalBranch xux286 xux287 xux2854 (FiniteMap.Branch xux2790 xux2791 (Neg Zero) xux2793 xux2794)) < Pos (Succ (Succ Zero)))",fontsize=16,color="magenta"];9438 -> 10090[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 9438 -> 10091[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 9438 -> 10092[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 9438 -> 10093[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 9438 -> 10094[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 9438 -> 10095[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10623[label="Succ (Succ Zero)",fontsize=16,color="green",shape="box"];10624[label="Succ xux7510",fontsize=16,color="green",shape="box"];10625[label="Succ (Succ Zero)",fontsize=16,color="green",shape="box"];10626[label="Zero",fontsize=16,color="green",shape="box"];10627[label="Pos (Succ (Succ Zero))",fontsize=16,color="green",shape="box"];10628[label="primMinusNat xux74800 xux74500",fontsize=16,color="burlywood",shape="triangle"];11158[label="xux74800/Succ xux748000",fontsize=10,color="white",style="solid",shape="box"];10628 -> 11158[label="",style="solid", color="burlywood", weight=9]; 27.17/11.49 11158 -> 10653[label="",style="solid", color="burlywood", weight=3]; 27.17/11.49 11159[label="xux74800/Zero",fontsize=10,color="white",style="solid",shape="box"];10628 -> 11159[label="",style="solid", color="burlywood", weight=9]; 27.17/11.49 11159 -> 10654[label="",style="solid", color="burlywood", weight=3]; 27.17/11.49 10629[label="Pos (Succ (Succ Zero))",fontsize=16,color="green",shape="box"];10630[label="Pos (Succ xux74800)",fontsize=16,color="green",shape="box"];10631[label="Pos (Succ (Succ Zero))",fontsize=16,color="green",shape="box"];10632[label="Neg (Succ xux74500)",fontsize=16,color="green",shape="box"];10633[label="Pos (Succ (Succ Zero))",fontsize=16,color="green",shape="box"];10634[label="Pos Zero",fontsize=16,color="green",shape="box"];10636 -> 10431[label="",style="dashed", color="red", weight=0]; 27.17/11.49 10636[label="FiniteMap.sizeFM xux6604 < Pos (Succ (Succ Zero)) * FiniteMap.sizeFM xux6603",fontsize=16,color="magenta"];10636 -> 10655[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10636 -> 10656[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10635[label="FiniteMap.mkBalBranch6MkBalBranch11 xux657 xux658 (FiniteMap.Branch xux6600 xux6601 xux6602 xux6603 xux6604) xux723 (FiniteMap.Branch xux6600 xux6601 xux6602 xux6603 xux6604) xux722 xux6600 xux6601 xux6602 xux6603 xux6604 xux759",fontsize=16,color="burlywood",shape="triangle"];11160[label="xux759/False",fontsize=10,color="white",style="solid",shape="box"];10635 -> 11160[label="",style="solid", color="burlywood", weight=9]; 27.17/11.49 11160 -> 10657[label="",style="solid", color="burlywood", weight=3]; 27.17/11.49 11161[label="xux759/True",fontsize=10,color="white",style="solid",shape="box"];10635 -> 11161[label="",style="solid", color="burlywood", weight=9]; 27.17/11.49 11161 -> 10658[label="",style="solid", color="burlywood", weight=3]; 27.17/11.49 10637[label="xux7224",fontsize=16,color="green",shape="box"];10638[label="primMulInt (Pos (Succ (Succ Zero))) xux758",fontsize=16,color="burlywood",shape="box"];11162[label="xux758/Pos xux7580",fontsize=10,color="white",style="solid",shape="box"];10638 -> 11162[label="",style="solid", color="burlywood", weight=9]; 27.17/11.49 11162 -> 10659[label="",style="solid", color="burlywood", weight=3]; 27.17/11.49 11163[label="xux758/Neg xux7580",fontsize=10,color="white",style="solid",shape="box"];10638 -> 11163[label="",style="solid", color="burlywood", weight=9]; 27.17/11.49 11163 -> 10660[label="",style="solid", color="burlywood", weight=3]; 27.17/11.49 10639[label="FiniteMap.mkBalBranch6MkBalBranch00 xux657 xux658 xux660 xux723 xux660 (FiniteMap.Branch xux7220 xux7221 xux7222 xux7223 xux7224) xux7220 xux7221 xux7222 xux7223 xux7224 True",fontsize=16,color="black",shape="box"];10639 -> 10661[label="",style="solid", color="black", weight=3]; 27.17/11.49 10640[label="FiniteMap.mkBranch (Pos (Succ (Succ (Succ Zero)))) xux7220 xux7221 (FiniteMap.mkBranch (Pos (Succ (Succ (Succ (Succ Zero))))) xux657 xux658 xux660 xux7223) xux7224",fontsize=16,color="black",shape="box"];10640 -> 10662[label="",style="solid", color="black", weight=3]; 27.17/11.49 10848[label="xux660",fontsize=16,color="green",shape="box"];10849 -> 3702[label="",style="dashed", color="red", weight=0]; 27.17/11.49 10849[label="primPlusNat xux7660 xux7650",fontsize=16,color="magenta"];10849 -> 10895[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10849 -> 10896[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10850[label="xux7660",fontsize=16,color="green",shape="box"];10851[label="xux7650",fontsize=16,color="green",shape="box"];10852[label="xux7650",fontsize=16,color="green",shape="box"];10853[label="xux7660",fontsize=16,color="green",shape="box"];10854 -> 3702[label="",style="dashed", color="red", weight=0]; 27.17/11.49 10854[label="primPlusNat xux7660 xux7650",fontsize=16,color="magenta"];10854 -> 10897[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10854 -> 10898[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 6555[label="Succ xux185",fontsize=16,color="green",shape="box"];6556[label="Succ xux190",fontsize=16,color="green",shape="box"];6557[label="xux515",fontsize=16,color="green",shape="box"];6558[label="xux516",fontsize=16,color="green",shape="box"];6559[label="xux514",fontsize=16,color="green",shape="box"];584[label="FiniteMap.splitGT4 FiniteMap.EmptyFM (Char Zero)",fontsize=16,color="black",shape="box"];584 -> 643[label="",style="solid", color="black", weight=3]; 27.17/11.49 585 -> 26[label="",style="dashed", color="red", weight=0]; 27.17/11.49 585[label="FiniteMap.splitGT3 (FiniteMap.Branch xux330 xux331 xux332 xux333 xux334) (Char Zero)",fontsize=16,color="magenta"];585 -> 644[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 585 -> 645[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 585 -> 646[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 585 -> 647[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 585 -> 648[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 585 -> 649[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 6284[label="FiniteMap.splitLT1 (Char (Succ xux520)) xux521 xux522 xux523 xux524 (Char (Succ xux525)) (primCmpNat (Succ xux5260) xux527 == GT)",fontsize=16,color="burlywood",shape="box"];11164[label="xux527/Succ xux5270",fontsize=10,color="white",style="solid",shape="box"];6284 -> 11164[label="",style="solid", color="burlywood", weight=9]; 27.17/11.49 11164 -> 6315[label="",style="solid", color="burlywood", weight=3]; 27.17/11.49 11165[label="xux527/Zero",fontsize=10,color="white",style="solid",shape="box"];6284 -> 11165[label="",style="solid", color="burlywood", weight=9]; 27.17/11.49 11165 -> 6316[label="",style="solid", color="burlywood", weight=3]; 27.17/11.49 6285[label="FiniteMap.splitLT1 (Char (Succ xux520)) xux521 xux522 xux523 xux524 (Char (Succ xux525)) (primCmpNat Zero xux527 == GT)",fontsize=16,color="burlywood",shape="box"];11166[label="xux527/Succ xux5270",fontsize=10,color="white",style="solid",shape="box"];6285 -> 11166[label="",style="solid", color="burlywood", weight=9]; 27.17/11.49 11166 -> 6317[label="",style="solid", color="burlywood", weight=3]; 27.17/11.49 11167[label="xux527/Zero",fontsize=10,color="white",style="solid",shape="box"];6285 -> 11167[label="",style="solid", color="burlywood", weight=9]; 27.17/11.49 11167 -> 6318[label="",style="solid", color="burlywood", weight=3]; 27.17/11.49 10645[label="primCmpInt (Pos (Succ xux64400)) (Pos xux64200) == LT",fontsize=16,color="black",shape="box"];10645 -> 10680[label="",style="solid", color="black", weight=3]; 27.17/11.49 10646[label="primCmpInt (Pos (Succ xux64400)) (Neg xux64200) == LT",fontsize=16,color="black",shape="box"];10646 -> 10681[label="",style="solid", color="black", weight=3]; 27.17/11.49 10647[label="primCmpInt (Pos Zero) (Pos xux64200) == LT",fontsize=16,color="burlywood",shape="box"];11168[label="xux64200/Succ xux642000",fontsize=10,color="white",style="solid",shape="box"];10647 -> 11168[label="",style="solid", color="burlywood", weight=9]; 27.17/11.49 11168 -> 10682[label="",style="solid", color="burlywood", weight=3]; 27.17/11.49 11169[label="xux64200/Zero",fontsize=10,color="white",style="solid",shape="box"];10647 -> 11169[label="",style="solid", color="burlywood", weight=9]; 27.17/11.49 11169 -> 10683[label="",style="solid", color="burlywood", weight=3]; 27.17/11.49 10648[label="primCmpInt (Pos Zero) (Neg xux64200) == LT",fontsize=16,color="burlywood",shape="box"];11170[label="xux64200/Succ xux642000",fontsize=10,color="white",style="solid",shape="box"];10648 -> 11170[label="",style="solid", color="burlywood", weight=9]; 27.17/11.49 11170 -> 10684[label="",style="solid", color="burlywood", weight=3]; 27.17/11.49 11171[label="xux64200/Zero",fontsize=10,color="white",style="solid",shape="box"];10648 -> 11171[label="",style="solid", color="burlywood", weight=9]; 27.17/11.49 11171 -> 10685[label="",style="solid", color="burlywood", weight=3]; 27.17/11.49 10649[label="primCmpInt (Neg (Succ xux64400)) (Pos xux64200) == LT",fontsize=16,color="black",shape="box"];10649 -> 10686[label="",style="solid", color="black", weight=3]; 27.17/11.49 10650[label="primCmpInt (Neg (Succ xux64400)) (Neg xux64200) == LT",fontsize=16,color="black",shape="box"];10650 -> 10687[label="",style="solid", color="black", weight=3]; 27.17/11.49 10651[label="primCmpInt (Neg Zero) (Pos xux64200) == LT",fontsize=16,color="burlywood",shape="box"];11172[label="xux64200/Succ xux642000",fontsize=10,color="white",style="solid",shape="box"];10651 -> 11172[label="",style="solid", color="burlywood", weight=9]; 27.17/11.49 11172 -> 10688[label="",style="solid", color="burlywood", weight=3]; 27.17/11.49 11173[label="xux64200/Zero",fontsize=10,color="white",style="solid",shape="box"];10651 -> 11173[label="",style="solid", color="burlywood", weight=9]; 27.17/11.49 11173 -> 10689[label="",style="solid", color="burlywood", weight=3]; 27.17/11.49 10652[label="primCmpInt (Neg Zero) (Neg xux64200) == LT",fontsize=16,color="burlywood",shape="box"];11174[label="xux64200/Succ xux642000",fontsize=10,color="white",style="solid",shape="box"];10652 -> 11174[label="",style="solid", color="burlywood", weight=9]; 27.17/11.49 11174 -> 10690[label="",style="solid", color="burlywood", weight=3]; 27.17/11.49 11175[label="xux64200/Zero",fontsize=10,color="white",style="solid",shape="box"];10652 -> 11175[label="",style="solid", color="burlywood", weight=9]; 27.17/11.49 11175 -> 10691[label="",style="solid", color="burlywood", weight=3]; 27.17/11.49 9517[label="Succ xux6200",fontsize=16,color="green",shape="box"];9518[label="primMulNat (Succ Zero) (Succ xux6200)",fontsize=16,color="black",shape="triangle"];9518 -> 9765[label="",style="solid", color="black", weight=3]; 27.17/11.49 9520[label="xux286",fontsize=16,color="green",shape="box"];9521[label="xux2853",fontsize=16,color="green",shape="box"];9522[label="xux2851",fontsize=16,color="green",shape="box"];9523[label="xux2852",fontsize=16,color="green",shape="box"];9524[label="xux2794",fontsize=16,color="green",shape="box"];9525[label="xux287",fontsize=16,color="green",shape="box"];9526[label="xux279200",fontsize=16,color="green",shape="box"];9527[label="xux2791",fontsize=16,color="green",shape="box"];9528[label="xux2850",fontsize=16,color="green",shape="box"];9529[label="xux2790",fontsize=16,color="green",shape="box"];9530[label="xux2793",fontsize=16,color="green",shape="box"];9531[label="Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))))))",fontsize=16,color="green",shape="box"];9532[label="xux2854",fontsize=16,color="green",shape="box"];9519[label="FiniteMap.mkBranch (Pos (Succ xux667)) xux668 xux669 (FiniteMap.Branch xux670 xux671 xux672 xux673 xux674) (FiniteMap.Branch xux675 xux676 (Pos (Succ xux677)) xux678 xux679)",fontsize=16,color="black",shape="triangle"];9519 -> 9766[label="",style="solid", color="black", weight=3]; 27.17/11.49 10072[label="FiniteMap.mkVBalBranch xux286 xux287 xux2854 (FiniteMap.Branch xux2790 xux2791 (Pos (Succ xux279200)) xux2793 xux2794)",fontsize=16,color="burlywood",shape="triangle"];11176[label="xux2854/FiniteMap.EmptyFM",fontsize=10,color="white",style="solid",shape="box"];10072 -> 11176[label="",style="solid", color="burlywood", weight=9]; 27.17/11.49 11176 -> 10239[label="",style="solid", color="burlywood", weight=3]; 27.17/11.49 11177[label="xux2854/FiniteMap.Branch xux28540 xux28541 xux28542 xux28543 xux28544",fontsize=10,color="white",style="solid",shape="box"];10072 -> 11177[label="",style="solid", color="burlywood", weight=9]; 27.17/11.49 11177 -> 10240[label="",style="solid", color="burlywood", weight=3]; 27.17/11.49 10073 -> 10072[label="",style="dashed", color="red", weight=0]; 27.17/11.49 10073[label="FiniteMap.mkVBalBranch xux286 xux287 xux2854 (FiniteMap.Branch xux2790 xux2791 (Pos (Succ xux279200)) xux2793 xux2794)",fontsize=16,color="magenta"];10074 -> 10189[label="",style="dashed", color="red", weight=0]; 27.17/11.49 10074[label="FiniteMap.mkBalBranch6Size_l xux2850 xux2851 xux2853 (FiniteMap.mkVBalBranch xux286 xux287 xux2854 (FiniteMap.Branch xux2790 xux2791 (Pos (Succ xux279200)) xux2793 xux2794)) + FiniteMap.mkBalBranch6Size_r xux2850 xux2851 xux2853 (FiniteMap.mkVBalBranch xux286 xux287 xux2854 (FiniteMap.Branch xux2790 xux2791 (Pos (Succ xux279200)) xux2793 xux2794)) < Pos (Succ (Succ Zero))",fontsize=16,color="magenta"];10074 -> 10202[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10074 -> 10203[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10074 -> 10204[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10074 -> 10205[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10074 -> 10206[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10075[label="xux2850",fontsize=16,color="green",shape="box"];10076[label="xux2853",fontsize=16,color="green",shape="box"];10077[label="xux2851",fontsize=16,color="green",shape="box"];9554[label="xux287",fontsize=16,color="green",shape="box"];9555[label="xux2851",fontsize=16,color="green",shape="box"];9556[label="xux2853",fontsize=16,color="green",shape="box"];9557[label="xux2790",fontsize=16,color="green",shape="box"];9558[label="xux2850",fontsize=16,color="green",shape="box"];9559[label="xux2852",fontsize=16,color="green",shape="box"];9560[label="xux2793",fontsize=16,color="green",shape="box"];9561[label="xux286",fontsize=16,color="green",shape="box"];9562[label="xux2794",fontsize=16,color="green",shape="box"];9563[label="xux2854",fontsize=16,color="green",shape="box"];9564[label="Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))))))",fontsize=16,color="green",shape="box"];9565[label="xux2791",fontsize=16,color="green",shape="box"];9553[label="FiniteMap.mkBranch (Pos (Succ xux681)) xux682 xux683 (FiniteMap.Branch xux684 xux685 xux686 xux687 xux688) (FiniteMap.Branch xux689 xux690 (Pos Zero) xux691 xux692)",fontsize=16,color="black",shape="triangle"];9553 -> 9779[label="",style="solid", color="black", weight=3]; 27.17/11.49 10078[label="FiniteMap.mkVBalBranch xux286 xux287 xux2854 (FiniteMap.Branch xux2790 xux2791 (Pos Zero) xux2793 xux2794)",fontsize=16,color="burlywood",shape="triangle"];11178[label="xux2854/FiniteMap.EmptyFM",fontsize=10,color="white",style="solid",shape="box"];10078 -> 11178[label="",style="solid", color="burlywood", weight=9]; 27.17/11.49 11178 -> 10241[label="",style="solid", color="burlywood", weight=3]; 27.17/11.49 11179[label="xux2854/FiniteMap.Branch xux28540 xux28541 xux28542 xux28543 xux28544",fontsize=10,color="white",style="solid",shape="box"];10078 -> 11179[label="",style="solid", color="burlywood", weight=9]; 27.17/11.49 11179 -> 10242[label="",style="solid", color="burlywood", weight=3]; 27.17/11.49 10079 -> 10078[label="",style="dashed", color="red", weight=0]; 27.17/11.49 10079[label="FiniteMap.mkVBalBranch xux286 xux287 xux2854 (FiniteMap.Branch xux2790 xux2791 (Pos Zero) xux2793 xux2794)",fontsize=16,color="magenta"];10080 -> 10189[label="",style="dashed", color="red", weight=0]; 27.17/11.49 10080[label="FiniteMap.mkBalBranch6Size_l xux2850 xux2851 xux2853 (FiniteMap.mkVBalBranch xux286 xux287 xux2854 (FiniteMap.Branch xux2790 xux2791 (Pos Zero) xux2793 xux2794)) + FiniteMap.mkBalBranch6Size_r xux2850 xux2851 xux2853 (FiniteMap.mkVBalBranch xux286 xux287 xux2854 (FiniteMap.Branch xux2790 xux2791 (Pos Zero) xux2793 xux2794)) < Pos (Succ (Succ Zero))",fontsize=16,color="magenta"];10080 -> 10207[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10080 -> 10208[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10080 -> 10209[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10080 -> 10210[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10080 -> 10211[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10081[label="xux2850",fontsize=16,color="green",shape="box"];10082[label="xux2853",fontsize=16,color="green",shape="box"];10083[label="xux2851",fontsize=16,color="green",shape="box"];9574[label="xux2852",fontsize=16,color="green",shape="box"];9575[label="xux2794",fontsize=16,color="green",shape="box"];9576[label="Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))))))",fontsize=16,color="green",shape="box"];9577[label="xux2854",fontsize=16,color="green",shape="box"];9578[label="xux2793",fontsize=16,color="green",shape="box"];9579[label="xux2853",fontsize=16,color="green",shape="box"];9580[label="xux286",fontsize=16,color="green",shape="box"];9581[label="xux279200",fontsize=16,color="green",shape="box"];9582[label="xux287",fontsize=16,color="green",shape="box"];9583[label="xux2791",fontsize=16,color="green",shape="box"];9584[label="xux2790",fontsize=16,color="green",shape="box"];9585[label="xux2851",fontsize=16,color="green",shape="box"];9586[label="xux2850",fontsize=16,color="green",shape="box"];9573[label="FiniteMap.mkBranch (Pos (Succ xux694)) xux695 xux696 (FiniteMap.Branch xux697 xux698 xux699 xux700 xux701) (FiniteMap.Branch xux702 xux703 (Neg (Succ xux704)) xux705 xux706)",fontsize=16,color="black",shape="triangle"];9573 -> 9812[label="",style="solid", color="black", weight=3]; 27.17/11.49 10084[label="FiniteMap.mkVBalBranch xux286 xux287 xux2854 (FiniteMap.Branch xux2790 xux2791 (Neg (Succ xux279200)) xux2793 xux2794)",fontsize=16,color="burlywood",shape="triangle"];11180[label="xux2854/FiniteMap.EmptyFM",fontsize=10,color="white",style="solid",shape="box"];10084 -> 11180[label="",style="solid", color="burlywood", weight=9]; 27.17/11.49 11180 -> 10243[label="",style="solid", color="burlywood", weight=3]; 27.17/11.49 11181[label="xux2854/FiniteMap.Branch xux28540 xux28541 xux28542 xux28543 xux28544",fontsize=10,color="white",style="solid",shape="box"];10084 -> 11181[label="",style="solid", color="burlywood", weight=9]; 27.17/11.49 11181 -> 10244[label="",style="solid", color="burlywood", weight=3]; 27.17/11.49 10085 -> 10084[label="",style="dashed", color="red", weight=0]; 27.17/11.49 10085[label="FiniteMap.mkVBalBranch xux286 xux287 xux2854 (FiniteMap.Branch xux2790 xux2791 (Neg (Succ xux279200)) xux2793 xux2794)",fontsize=16,color="magenta"];10086 -> 10189[label="",style="dashed", color="red", weight=0]; 27.17/11.49 10086[label="FiniteMap.mkBalBranch6Size_l xux2850 xux2851 xux2853 (FiniteMap.mkVBalBranch xux286 xux287 xux2854 (FiniteMap.Branch xux2790 xux2791 (Neg (Succ xux279200)) xux2793 xux2794)) + FiniteMap.mkBalBranch6Size_r xux2850 xux2851 xux2853 (FiniteMap.mkVBalBranch xux286 xux287 xux2854 (FiniteMap.Branch xux2790 xux2791 (Neg (Succ xux279200)) xux2793 xux2794)) < Pos (Succ (Succ Zero))",fontsize=16,color="magenta"];10086 -> 10212[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10086 -> 10213[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10086 -> 10214[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10086 -> 10215[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10086 -> 10216[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10087[label="xux2850",fontsize=16,color="green",shape="box"];10088[label="xux2853",fontsize=16,color="green",shape="box"];10089[label="xux2851",fontsize=16,color="green",shape="box"];9597[label="xux2850",fontsize=16,color="green",shape="box"];9598[label="xux286",fontsize=16,color="green",shape="box"];9599[label="xux2791",fontsize=16,color="green",shape="box"];9600[label="xux2851",fontsize=16,color="green",shape="box"];9601[label="xux2793",fontsize=16,color="green",shape="box"];9602[label="xux2852",fontsize=16,color="green",shape="box"];9603[label="Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))))))",fontsize=16,color="green",shape="box"];9604[label="xux2790",fontsize=16,color="green",shape="box"];9605[label="xux2853",fontsize=16,color="green",shape="box"];9606[label="xux2794",fontsize=16,color="green",shape="box"];9607[label="xux287",fontsize=16,color="green",shape="box"];9608[label="xux2854",fontsize=16,color="green",shape="box"];9596[label="FiniteMap.mkBranch (Pos (Succ xux708)) xux709 xux710 (FiniteMap.Branch xux711 xux712 xux713 xux714 xux715) (FiniteMap.Branch xux716 xux717 (Neg Zero) xux718 xux719)",fontsize=16,color="black",shape="triangle"];9596 -> 9836[label="",style="solid", color="black", weight=3]; 27.17/11.49 10090[label="FiniteMap.mkVBalBranch xux286 xux287 xux2854 (FiniteMap.Branch xux2790 xux2791 (Neg Zero) xux2793 xux2794)",fontsize=16,color="burlywood",shape="triangle"];11182[label="xux2854/FiniteMap.EmptyFM",fontsize=10,color="white",style="solid",shape="box"];10090 -> 11182[label="",style="solid", color="burlywood", weight=9]; 27.17/11.49 11182 -> 10245[label="",style="solid", color="burlywood", weight=3]; 27.17/11.49 11183[label="xux2854/FiniteMap.Branch xux28540 xux28541 xux28542 xux28543 xux28544",fontsize=10,color="white",style="solid",shape="box"];10090 -> 11183[label="",style="solid", color="burlywood", weight=9]; 27.17/11.49 11183 -> 10246[label="",style="solid", color="burlywood", weight=3]; 27.17/11.49 10091 -> 10090[label="",style="dashed", color="red", weight=0]; 27.17/11.49 10091[label="FiniteMap.mkVBalBranch xux286 xux287 xux2854 (FiniteMap.Branch xux2790 xux2791 (Neg Zero) xux2793 xux2794)",fontsize=16,color="magenta"];10092 -> 10189[label="",style="dashed", color="red", weight=0]; 27.17/11.49 10092[label="FiniteMap.mkBalBranch6Size_l xux2850 xux2851 xux2853 (FiniteMap.mkVBalBranch xux286 xux287 xux2854 (FiniteMap.Branch xux2790 xux2791 (Neg Zero) xux2793 xux2794)) + FiniteMap.mkBalBranch6Size_r xux2850 xux2851 xux2853 (FiniteMap.mkVBalBranch xux286 xux287 xux2854 (FiniteMap.Branch xux2790 xux2791 (Neg Zero) xux2793 xux2794)) < Pos (Succ (Succ Zero))",fontsize=16,color="magenta"];10092 -> 10217[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10092 -> 10218[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10092 -> 10219[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10092 -> 10220[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10092 -> 10221[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10093[label="xux2850",fontsize=16,color="green",shape="box"];10094[label="xux2853",fontsize=16,color="green",shape="box"];10095[label="xux2851",fontsize=16,color="green",shape="box"];10653[label="primMinusNat (Succ xux748000) xux74500",fontsize=16,color="burlywood",shape="box"];11184[label="xux74500/Succ xux745000",fontsize=10,color="white",style="solid",shape="box"];10653 -> 11184[label="",style="solid", color="burlywood", weight=9]; 27.17/11.49 11184 -> 10692[label="",style="solid", color="burlywood", weight=3]; 27.17/11.49 11185[label="xux74500/Zero",fontsize=10,color="white",style="solid",shape="box"];10653 -> 11185[label="",style="solid", color="burlywood", weight=9]; 27.17/11.49 11185 -> 10693[label="",style="solid", color="burlywood", weight=3]; 27.17/11.49 10654[label="primMinusNat Zero xux74500",fontsize=16,color="burlywood",shape="box"];11186[label="xux74500/Succ xux745000",fontsize=10,color="white",style="solid",shape="box"];10654 -> 11186[label="",style="solid", color="burlywood", weight=9]; 27.17/11.49 11186 -> 10694[label="",style="solid", color="burlywood", weight=3]; 27.17/11.49 11187[label="xux74500/Zero",fontsize=10,color="white",style="solid",shape="box"];10654 -> 11187[label="",style="solid", color="burlywood", weight=9]; 27.17/11.49 11187 -> 10695[label="",style="solid", color="burlywood", weight=3]; 27.17/11.49 10655 -> 10611[label="",style="dashed", color="red", weight=0]; 27.17/11.49 10655[label="Pos (Succ (Succ Zero)) * FiniteMap.sizeFM xux6603",fontsize=16,color="magenta"];10655 -> 10696[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10656 -> 10313[label="",style="dashed", color="red", weight=0]; 27.17/11.49 10656[label="FiniteMap.sizeFM xux6604",fontsize=16,color="magenta"];10656 -> 10697[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10657[label="FiniteMap.mkBalBranch6MkBalBranch11 xux657 xux658 (FiniteMap.Branch xux6600 xux6601 xux6602 xux6603 xux6604) xux723 (FiniteMap.Branch xux6600 xux6601 xux6602 xux6603 xux6604) xux722 xux6600 xux6601 xux6602 xux6603 xux6604 False",fontsize=16,color="black",shape="box"];10657 -> 10698[label="",style="solid", color="black", weight=3]; 27.17/11.49 10658[label="FiniteMap.mkBalBranch6MkBalBranch11 xux657 xux658 (FiniteMap.Branch xux6600 xux6601 xux6602 xux6603 xux6604) xux723 (FiniteMap.Branch xux6600 xux6601 xux6602 xux6603 xux6604) xux722 xux6600 xux6601 xux6602 xux6603 xux6604 True",fontsize=16,color="black",shape="box"];10658 -> 10699[label="",style="solid", color="black", weight=3]; 27.17/11.49 10659[label="primMulInt (Pos (Succ (Succ Zero))) (Pos xux7580)",fontsize=16,color="black",shape="box"];10659 -> 10700[label="",style="solid", color="black", weight=3]; 27.17/11.49 10660[label="primMulInt (Pos (Succ (Succ Zero))) (Neg xux7580)",fontsize=16,color="black",shape="box"];10660 -> 10701[label="",style="solid", color="black", weight=3]; 27.17/11.49 10661[label="FiniteMap.mkBalBranch6Double_L xux657 xux658 xux660 xux723 xux660 (FiniteMap.Branch xux7220 xux7221 xux7222 xux7223 xux7224)",fontsize=16,color="burlywood",shape="box"];11188[label="xux7223/FiniteMap.EmptyFM",fontsize=10,color="white",style="solid",shape="box"];10661 -> 11188[label="",style="solid", color="burlywood", weight=9]; 27.17/11.49 11188 -> 10702[label="",style="solid", color="burlywood", weight=3]; 27.17/11.49 11189[label="xux7223/FiniteMap.Branch xux72230 xux72231 xux72232 xux72233 xux72234",fontsize=10,color="white",style="solid",shape="box"];10661 -> 11189[label="",style="solid", color="burlywood", weight=9]; 27.17/11.49 11189 -> 10703[label="",style="solid", color="burlywood", weight=3]; 27.17/11.49 10662 -> 10256[label="",style="dashed", color="red", weight=0]; 27.17/11.49 10662[label="FiniteMap.mkBranchResult xux7220 xux7221 (FiniteMap.mkBranch (Pos (Succ (Succ (Succ (Succ Zero))))) xux657 xux658 xux660 xux7223) xux7224",fontsize=16,color="magenta"];10662 -> 10704[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10662 -> 10705[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10662 -> 10706[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10662 -> 10707[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10895[label="xux7650",fontsize=16,color="green",shape="box"];10896[label="xux7660",fontsize=16,color="green",shape="box"];10897[label="xux7650",fontsize=16,color="green",shape="box"];10898[label="xux7660",fontsize=16,color="green",shape="box"];643 -> 59[label="",style="dashed", color="red", weight=0]; 27.17/11.49 643[label="FiniteMap.emptyFM",fontsize=16,color="magenta"];644[label="xux331",fontsize=16,color="green",shape="box"];645[label="xux333",fontsize=16,color="green",shape="box"];646[label="xux332",fontsize=16,color="green",shape="box"];647[label="Char Zero",fontsize=16,color="green",shape="box"];648[label="xux330",fontsize=16,color="green",shape="box"];649[label="xux334",fontsize=16,color="green",shape="box"];6315[label="FiniteMap.splitLT1 (Char (Succ xux520)) xux521 xux522 xux523 xux524 (Char (Succ xux525)) (primCmpNat (Succ xux5260) (Succ xux5270) == GT)",fontsize=16,color="black",shape="box"];6315 -> 6339[label="",style="solid", color="black", weight=3]; 27.17/11.49 6316[label="FiniteMap.splitLT1 (Char (Succ xux520)) xux521 xux522 xux523 xux524 (Char (Succ xux525)) (primCmpNat (Succ xux5260) Zero == GT)",fontsize=16,color="black",shape="box"];6316 -> 6340[label="",style="solid", color="black", weight=3]; 27.17/11.49 6317[label="FiniteMap.splitLT1 (Char (Succ xux520)) xux521 xux522 xux523 xux524 (Char (Succ xux525)) (primCmpNat Zero (Succ xux5270) == GT)",fontsize=16,color="black",shape="box"];6317 -> 6341[label="",style="solid", color="black", weight=3]; 27.17/11.49 6318[label="FiniteMap.splitLT1 (Char (Succ xux520)) xux521 xux522 xux523 xux524 (Char (Succ xux525)) (primCmpNat Zero Zero == GT)",fontsize=16,color="black",shape="box"];6318 -> 6342[label="",style="solid", color="black", weight=3]; 27.17/11.49 10680 -> 6306[label="",style="dashed", color="red", weight=0]; 27.17/11.49 10680[label="primCmpNat (Succ xux64400) xux64200 == LT",fontsize=16,color="magenta"];10680 -> 10757[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10680 -> 10758[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10681 -> 6158[label="",style="dashed", color="red", weight=0]; 27.17/11.49 10681[label="GT == LT",fontsize=16,color="magenta"];10682[label="primCmpInt (Pos Zero) (Pos (Succ xux642000)) == LT",fontsize=16,color="black",shape="box"];10682 -> 10759[label="",style="solid", color="black", weight=3]; 27.17/11.49 10683[label="primCmpInt (Pos Zero) (Pos Zero) == LT",fontsize=16,color="black",shape="box"];10683 -> 10760[label="",style="solid", color="black", weight=3]; 27.17/11.49 10684[label="primCmpInt (Pos Zero) (Neg (Succ xux642000)) == LT",fontsize=16,color="black",shape="box"];10684 -> 10761[label="",style="solid", color="black", weight=3]; 27.17/11.49 10685[label="primCmpInt (Pos Zero) (Neg Zero) == LT",fontsize=16,color="black",shape="box"];10685 -> 10762[label="",style="solid", color="black", weight=3]; 27.17/11.49 10686 -> 6163[label="",style="dashed", color="red", weight=0]; 27.17/11.49 10686[label="LT == LT",fontsize=16,color="magenta"];10687 -> 6306[label="",style="dashed", color="red", weight=0]; 27.17/11.49 10687[label="primCmpNat xux64200 (Succ xux64400) == LT",fontsize=16,color="magenta"];10687 -> 10763[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10687 -> 10764[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10688[label="primCmpInt (Neg Zero) (Pos (Succ xux642000)) == LT",fontsize=16,color="black",shape="box"];10688 -> 10765[label="",style="solid", color="black", weight=3]; 27.17/11.49 10689[label="primCmpInt (Neg Zero) (Pos Zero) == LT",fontsize=16,color="black",shape="box"];10689 -> 10766[label="",style="solid", color="black", weight=3]; 27.17/11.49 10690[label="primCmpInt (Neg Zero) (Neg (Succ xux642000)) == LT",fontsize=16,color="black",shape="box"];10690 -> 10767[label="",style="solid", color="black", weight=3]; 27.17/11.49 10691[label="primCmpInt (Neg Zero) (Neg Zero) == LT",fontsize=16,color="black",shape="box"];10691 -> 10768[label="",style="solid", color="black", weight=3]; 27.17/11.49 9765 -> 3702[label="",style="dashed", color="red", weight=0]; 27.17/11.49 9765[label="primPlusNat (primMulNat Zero (Succ xux6200)) (Succ xux6200)",fontsize=16,color="magenta"];9765 -> 9877[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 9765 -> 9878[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 9766[label="FiniteMap.mkBranchResult xux668 xux669 (FiniteMap.Branch xux670 xux671 xux672 xux673 xux674) (FiniteMap.Branch xux675 xux676 (Pos (Succ xux677)) xux678 xux679)",fontsize=16,color="black",shape="box"];9766 -> 9879[label="",style="solid", color="black", weight=3]; 27.17/11.49 10239[label="FiniteMap.mkVBalBranch xux286 xux287 FiniteMap.EmptyFM (FiniteMap.Branch xux2790 xux2791 (Pos (Succ xux279200)) xux2793 xux2794)",fontsize=16,color="black",shape="box"];10239 -> 10275[label="",style="solid", color="black", weight=3]; 27.17/11.49 10240[label="FiniteMap.mkVBalBranch xux286 xux287 (FiniteMap.Branch xux28540 xux28541 xux28542 xux28543 xux28544) (FiniteMap.Branch xux2790 xux2791 (Pos (Succ xux279200)) xux2793 xux2794)",fontsize=16,color="black",shape="box"];10240 -> 10276[label="",style="solid", color="black", weight=3]; 27.17/11.49 10202 -> 10072[label="",style="dashed", color="red", weight=0]; 27.17/11.49 10202[label="FiniteMap.mkVBalBranch xux286 xux287 xux2854 (FiniteMap.Branch xux2790 xux2791 (Pos (Succ xux279200)) xux2793 xux2794)",fontsize=16,color="magenta"];10203[label="xux2850",fontsize=16,color="green",shape="box"];10204[label="xux2853",fontsize=16,color="green",shape="box"];10205 -> 10072[label="",style="dashed", color="red", weight=0]; 27.17/11.49 10205[label="FiniteMap.mkVBalBranch xux286 xux287 xux2854 (FiniteMap.Branch xux2790 xux2791 (Pos (Succ xux279200)) xux2793 xux2794)",fontsize=16,color="magenta"];10206[label="xux2851",fontsize=16,color="green",shape="box"];9779[label="FiniteMap.mkBranchResult xux682 xux683 (FiniteMap.Branch xux684 xux685 xux686 xux687 xux688) (FiniteMap.Branch xux689 xux690 (Pos Zero) xux691 xux692)",fontsize=16,color="black",shape="box"];9779 -> 9885[label="",style="solid", color="black", weight=3]; 27.17/11.49 10241[label="FiniteMap.mkVBalBranch xux286 xux287 FiniteMap.EmptyFM (FiniteMap.Branch xux2790 xux2791 (Pos Zero) xux2793 xux2794)",fontsize=16,color="black",shape="box"];10241 -> 10277[label="",style="solid", color="black", weight=3]; 27.17/11.49 10242[label="FiniteMap.mkVBalBranch xux286 xux287 (FiniteMap.Branch xux28540 xux28541 xux28542 xux28543 xux28544) (FiniteMap.Branch xux2790 xux2791 (Pos Zero) xux2793 xux2794)",fontsize=16,color="black",shape="box"];10242 -> 10278[label="",style="solid", color="black", weight=3]; 27.17/11.49 10207 -> 10078[label="",style="dashed", color="red", weight=0]; 27.17/11.49 10207[label="FiniteMap.mkVBalBranch xux286 xux287 xux2854 (FiniteMap.Branch xux2790 xux2791 (Pos Zero) xux2793 xux2794)",fontsize=16,color="magenta"];10208[label="xux2850",fontsize=16,color="green",shape="box"];10209[label="xux2853",fontsize=16,color="green",shape="box"];10210 -> 10078[label="",style="dashed", color="red", weight=0]; 27.17/11.49 10210[label="FiniteMap.mkVBalBranch xux286 xux287 xux2854 (FiniteMap.Branch xux2790 xux2791 (Pos Zero) xux2793 xux2794)",fontsize=16,color="magenta"];10211[label="xux2851",fontsize=16,color="green",shape="box"];9812[label="FiniteMap.mkBranchResult xux695 xux696 (FiniteMap.Branch xux697 xux698 xux699 xux700 xux701) (FiniteMap.Branch xux702 xux703 (Neg (Succ xux704)) xux705 xux706)",fontsize=16,color="black",shape="box"];9812 -> 9891[label="",style="solid", color="black", weight=3]; 27.17/11.49 10243[label="FiniteMap.mkVBalBranch xux286 xux287 FiniteMap.EmptyFM (FiniteMap.Branch xux2790 xux2791 (Neg (Succ xux279200)) xux2793 xux2794)",fontsize=16,color="black",shape="box"];10243 -> 10279[label="",style="solid", color="black", weight=3]; 27.17/11.49 10244[label="FiniteMap.mkVBalBranch xux286 xux287 (FiniteMap.Branch xux28540 xux28541 xux28542 xux28543 xux28544) (FiniteMap.Branch xux2790 xux2791 (Neg (Succ xux279200)) xux2793 xux2794)",fontsize=16,color="black",shape="box"];10244 -> 10280[label="",style="solid", color="black", weight=3]; 27.17/11.49 10212 -> 10084[label="",style="dashed", color="red", weight=0]; 27.17/11.49 10212[label="FiniteMap.mkVBalBranch xux286 xux287 xux2854 (FiniteMap.Branch xux2790 xux2791 (Neg (Succ xux279200)) xux2793 xux2794)",fontsize=16,color="magenta"];10213[label="xux2850",fontsize=16,color="green",shape="box"];10214[label="xux2853",fontsize=16,color="green",shape="box"];10215 -> 10084[label="",style="dashed", color="red", weight=0]; 27.17/11.49 10215[label="FiniteMap.mkVBalBranch xux286 xux287 xux2854 (FiniteMap.Branch xux2790 xux2791 (Neg (Succ xux279200)) xux2793 xux2794)",fontsize=16,color="magenta"];10216[label="xux2851",fontsize=16,color="green",shape="box"];9836[label="FiniteMap.mkBranchResult xux709 xux710 (FiniteMap.Branch xux711 xux712 xux713 xux714 xux715) (FiniteMap.Branch xux716 xux717 (Neg Zero) xux718 xux719)",fontsize=16,color="black",shape="box"];9836 -> 9897[label="",style="solid", color="black", weight=3]; 27.17/11.49 10245[label="FiniteMap.mkVBalBranch xux286 xux287 FiniteMap.EmptyFM (FiniteMap.Branch xux2790 xux2791 (Neg Zero) xux2793 xux2794)",fontsize=16,color="black",shape="box"];10245 -> 10281[label="",style="solid", color="black", weight=3]; 27.17/11.49 10246[label="FiniteMap.mkVBalBranch xux286 xux287 (FiniteMap.Branch xux28540 xux28541 xux28542 xux28543 xux28544) (FiniteMap.Branch xux2790 xux2791 (Neg Zero) xux2793 xux2794)",fontsize=16,color="black",shape="box"];10246 -> 10282[label="",style="solid", color="black", weight=3]; 27.17/11.49 10217 -> 10090[label="",style="dashed", color="red", weight=0]; 27.17/11.49 10217[label="FiniteMap.mkVBalBranch xux286 xux287 xux2854 (FiniteMap.Branch xux2790 xux2791 (Neg Zero) xux2793 xux2794)",fontsize=16,color="magenta"];10218[label="xux2850",fontsize=16,color="green",shape="box"];10219[label="xux2853",fontsize=16,color="green",shape="box"];10220 -> 10090[label="",style="dashed", color="red", weight=0]; 27.17/11.49 10220[label="FiniteMap.mkVBalBranch xux286 xux287 xux2854 (FiniteMap.Branch xux2790 xux2791 (Neg Zero) xux2793 xux2794)",fontsize=16,color="magenta"];10221[label="xux2851",fontsize=16,color="green",shape="box"];10692[label="primMinusNat (Succ xux748000) (Succ xux745000)",fontsize=16,color="black",shape="box"];10692 -> 10769[label="",style="solid", color="black", weight=3]; 27.17/11.49 10693[label="primMinusNat (Succ xux748000) Zero",fontsize=16,color="black",shape="box"];10693 -> 10770[label="",style="solid", color="black", weight=3]; 27.17/11.49 10694[label="primMinusNat Zero (Succ xux745000)",fontsize=16,color="black",shape="box"];10694 -> 10771[label="",style="solid", color="black", weight=3]; 27.17/11.49 10695[label="primMinusNat Zero Zero",fontsize=16,color="black",shape="box"];10695 -> 10772[label="",style="solid", color="black", weight=3]; 27.17/11.49 10696 -> 10313[label="",style="dashed", color="red", weight=0]; 27.17/11.49 10696[label="FiniteMap.sizeFM xux6603",fontsize=16,color="magenta"];10696 -> 10773[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10697[label="xux6604",fontsize=16,color="green",shape="box"];10698[label="FiniteMap.mkBalBranch6MkBalBranch10 xux657 xux658 (FiniteMap.Branch xux6600 xux6601 xux6602 xux6603 xux6604) xux723 (FiniteMap.Branch xux6600 xux6601 xux6602 xux6603 xux6604) xux722 xux6600 xux6601 xux6602 xux6603 xux6604 otherwise",fontsize=16,color="black",shape="box"];10698 -> 10774[label="",style="solid", color="black", weight=3]; 27.17/11.49 10699[label="FiniteMap.mkBalBranch6Single_R xux657 xux658 (FiniteMap.Branch xux6600 xux6601 xux6602 xux6603 xux6604) xux723 (FiniteMap.Branch xux6600 xux6601 xux6602 xux6603 xux6604) xux722",fontsize=16,color="black",shape="box"];10699 -> 10775[label="",style="solid", color="black", weight=3]; 27.17/11.49 10700[label="Pos (primMulNat (Succ (Succ Zero)) xux7580)",fontsize=16,color="green",shape="box"];10700 -> 10776[label="",style="dashed", color="green", weight=3]; 27.17/11.49 10701[label="Neg (primMulNat (Succ (Succ Zero)) xux7580)",fontsize=16,color="green",shape="box"];10701 -> 10777[label="",style="dashed", color="green", weight=3]; 27.17/11.49 10702[label="FiniteMap.mkBalBranch6Double_L xux657 xux658 xux660 xux723 xux660 (FiniteMap.Branch xux7220 xux7221 xux7222 FiniteMap.EmptyFM xux7224)",fontsize=16,color="black",shape="box"];10702 -> 10778[label="",style="solid", color="black", weight=3]; 27.17/11.49 10703[label="FiniteMap.mkBalBranch6Double_L xux657 xux658 xux660 xux723 xux660 (FiniteMap.Branch xux7220 xux7221 xux7222 (FiniteMap.Branch xux72230 xux72231 xux72232 xux72233 xux72234) xux7224)",fontsize=16,color="black",shape="box"];10703 -> 10779[label="",style="solid", color="black", weight=3]; 27.17/11.49 10704[label="xux7224",fontsize=16,color="green",shape="box"];10705[label="xux7220",fontsize=16,color="green",shape="box"];10706[label="FiniteMap.mkBranch (Pos (Succ (Succ (Succ (Succ Zero))))) xux657 xux658 xux660 xux7223",fontsize=16,color="black",shape="box"];10706 -> 10780[label="",style="solid", color="black", weight=3]; 27.17/11.49 10707[label="xux7221",fontsize=16,color="green",shape="box"];6339 -> 6171[label="",style="dashed", color="red", weight=0]; 27.17/11.49 6339[label="FiniteMap.splitLT1 (Char (Succ xux520)) xux521 xux522 xux523 xux524 (Char (Succ xux525)) (primCmpNat xux5260 xux5270 == GT)",fontsize=16,color="magenta"];6339 -> 6392[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 6339 -> 6393[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 6340[label="FiniteMap.splitLT1 (Char (Succ xux520)) xux521 xux522 xux523 xux524 (Char (Succ xux525)) (GT == GT)",fontsize=16,color="black",shape="box"];6340 -> 6394[label="",style="solid", color="black", weight=3]; 27.17/11.49 6341[label="FiniteMap.splitLT1 (Char (Succ xux520)) xux521 xux522 xux523 xux524 (Char (Succ xux525)) (LT == GT)",fontsize=16,color="black",shape="box"];6341 -> 6395[label="",style="solid", color="black", weight=3]; 27.17/11.49 6342[label="FiniteMap.splitLT1 (Char (Succ xux520)) xux521 xux522 xux523 xux524 (Char (Succ xux525)) (EQ == GT)",fontsize=16,color="black",shape="box"];6342 -> 6396[label="",style="solid", color="black", weight=3]; 27.17/11.49 10757[label="xux64200",fontsize=16,color="green",shape="box"];10758[label="Succ xux64400",fontsize=16,color="green",shape="box"];10759 -> 6306[label="",style="dashed", color="red", weight=0]; 27.17/11.49 10759[label="primCmpNat Zero (Succ xux642000) == LT",fontsize=16,color="magenta"];10759 -> 10812[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10759 -> 10813[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10760 -> 6274[label="",style="dashed", color="red", weight=0]; 27.17/11.49 10760[label="EQ == LT",fontsize=16,color="magenta"];10761 -> 6158[label="",style="dashed", color="red", weight=0]; 27.17/11.49 10761[label="GT == LT",fontsize=16,color="magenta"];10762 -> 6274[label="",style="dashed", color="red", weight=0]; 27.17/11.49 10762[label="EQ == LT",fontsize=16,color="magenta"];10763[label="Succ xux64400",fontsize=16,color="green",shape="box"];10764[label="xux64200",fontsize=16,color="green",shape="box"];10765 -> 6163[label="",style="dashed", color="red", weight=0]; 27.17/11.49 10765[label="LT == LT",fontsize=16,color="magenta"];10766 -> 6274[label="",style="dashed", color="red", weight=0]; 27.17/11.49 10766[label="EQ == LT",fontsize=16,color="magenta"];10767 -> 6306[label="",style="dashed", color="red", weight=0]; 27.17/11.49 10767[label="primCmpNat (Succ xux642000) Zero == LT",fontsize=16,color="magenta"];10767 -> 10814[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10767 -> 10815[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10768 -> 6274[label="",style="dashed", color="red", weight=0]; 27.17/11.49 10768[label="EQ == LT",fontsize=16,color="magenta"];9877[label="Succ xux6200",fontsize=16,color="green",shape="box"];9878[label="primMulNat Zero (Succ xux6200)",fontsize=16,color="black",shape="box"];9878 -> 9925[label="",style="solid", color="black", weight=3]; 27.17/11.49 9879[label="FiniteMap.Branch xux668 xux669 (FiniteMap.mkBranchUnbox (FiniteMap.Branch xux670 xux671 xux672 xux673 xux674) (FiniteMap.Branch xux675 xux676 (Pos (Succ xux677)) xux678 xux679) xux668 (Pos (Succ Zero) + FiniteMap.mkBranchLeft_size (FiniteMap.Branch xux670 xux671 xux672 xux673 xux674) (FiniteMap.Branch xux675 xux676 (Pos (Succ xux677)) xux678 xux679) xux668 + FiniteMap.mkBranchRight_size (FiniteMap.Branch xux670 xux671 xux672 xux673 xux674) (FiniteMap.Branch xux675 xux676 (Pos (Succ xux677)) xux678 xux679) xux668)) (FiniteMap.Branch xux670 xux671 xux672 xux673 xux674) (FiniteMap.Branch xux675 xux676 (Pos (Succ xux677)) xux678 xux679)",fontsize=16,color="green",shape="box"];9879 -> 9926[label="",style="dashed", color="green", weight=3]; 27.17/11.49 10275[label="FiniteMap.mkVBalBranch5 xux286 xux287 FiniteMap.EmptyFM (FiniteMap.Branch xux2790 xux2791 (Pos (Succ xux279200)) xux2793 xux2794)",fontsize=16,color="black",shape="box"];10275 -> 10324[label="",style="solid", color="black", weight=3]; 27.17/11.49 10276 -> 10224[label="",style="dashed", color="red", weight=0]; 27.17/11.49 10276[label="FiniteMap.mkVBalBranch3 xux286 xux287 (FiniteMap.Branch xux28540 xux28541 xux28542 xux28543 xux28544) (FiniteMap.Branch xux2790 xux2791 (Pos (Succ xux279200)) xux2793 xux2794)",fontsize=16,color="magenta"];10276 -> 10325[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10276 -> 10326[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10276 -> 10327[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10276 -> 10328[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10276 -> 10329[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10276 -> 10330[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10276 -> 10331[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10276 -> 10332[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10276 -> 10333[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10276 -> 10334[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 9885[label="FiniteMap.Branch xux682 xux683 (FiniteMap.mkBranchUnbox (FiniteMap.Branch xux684 xux685 xux686 xux687 xux688) (FiniteMap.Branch xux689 xux690 (Pos Zero) xux691 xux692) xux682 (Pos (Succ Zero) + FiniteMap.mkBranchLeft_size (FiniteMap.Branch xux684 xux685 xux686 xux687 xux688) (FiniteMap.Branch xux689 xux690 (Pos Zero) xux691 xux692) xux682 + FiniteMap.mkBranchRight_size (FiniteMap.Branch xux684 xux685 xux686 xux687 xux688) (FiniteMap.Branch xux689 xux690 (Pos Zero) xux691 xux692) xux682)) (FiniteMap.Branch xux684 xux685 xux686 xux687 xux688) (FiniteMap.Branch xux689 xux690 (Pos Zero) xux691 xux692)",fontsize=16,color="green",shape="box"];9885 -> 9936[label="",style="dashed", color="green", weight=3]; 27.17/11.49 10277[label="FiniteMap.mkVBalBranch5 xux286 xux287 FiniteMap.EmptyFM (FiniteMap.Branch xux2790 xux2791 (Pos Zero) xux2793 xux2794)",fontsize=16,color="black",shape="box"];10277 -> 10335[label="",style="solid", color="black", weight=3]; 27.17/11.49 10278 -> 10224[label="",style="dashed", color="red", weight=0]; 27.17/11.49 10278[label="FiniteMap.mkVBalBranch3 xux286 xux287 (FiniteMap.Branch xux28540 xux28541 xux28542 xux28543 xux28544) (FiniteMap.Branch xux2790 xux2791 (Pos Zero) xux2793 xux2794)",fontsize=16,color="magenta"];10278 -> 10336[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10278 -> 10337[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10278 -> 10338[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10278 -> 10339[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10278 -> 10340[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10278 -> 10341[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10278 -> 10342[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10278 -> 10343[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10278 -> 10344[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10278 -> 10345[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 9891[label="FiniteMap.Branch xux695 xux696 (FiniteMap.mkBranchUnbox (FiniteMap.Branch xux697 xux698 xux699 xux700 xux701) (FiniteMap.Branch xux702 xux703 (Neg (Succ xux704)) xux705 xux706) xux695 (Pos (Succ Zero) + FiniteMap.mkBranchLeft_size (FiniteMap.Branch xux697 xux698 xux699 xux700 xux701) (FiniteMap.Branch xux702 xux703 (Neg (Succ xux704)) xux705 xux706) xux695 + FiniteMap.mkBranchRight_size (FiniteMap.Branch xux697 xux698 xux699 xux700 xux701) (FiniteMap.Branch xux702 xux703 (Neg (Succ xux704)) xux705 xux706) xux695)) (FiniteMap.Branch xux697 xux698 xux699 xux700 xux701) (FiniteMap.Branch xux702 xux703 (Neg (Succ xux704)) xux705 xux706)",fontsize=16,color="green",shape="box"];9891 -> 9946[label="",style="dashed", color="green", weight=3]; 27.17/11.49 10279[label="FiniteMap.mkVBalBranch5 xux286 xux287 FiniteMap.EmptyFM (FiniteMap.Branch xux2790 xux2791 (Neg (Succ xux279200)) xux2793 xux2794)",fontsize=16,color="black",shape="box"];10279 -> 10346[label="",style="solid", color="black", weight=3]; 27.17/11.49 10280 -> 10224[label="",style="dashed", color="red", weight=0]; 27.17/11.49 10280[label="FiniteMap.mkVBalBranch3 xux286 xux287 (FiniteMap.Branch xux28540 xux28541 xux28542 xux28543 xux28544) (FiniteMap.Branch xux2790 xux2791 (Neg (Succ xux279200)) xux2793 xux2794)",fontsize=16,color="magenta"];10280 -> 10347[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10280 -> 10348[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10280 -> 10349[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10280 -> 10350[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10280 -> 10351[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10280 -> 10352[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10280 -> 10353[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10280 -> 10354[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10280 -> 10355[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10280 -> 10356[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 9897[label="FiniteMap.Branch xux709 xux710 (FiniteMap.mkBranchUnbox (FiniteMap.Branch xux711 xux712 xux713 xux714 xux715) (FiniteMap.Branch xux716 xux717 (Neg Zero) xux718 xux719) xux709 (Pos (Succ Zero) + FiniteMap.mkBranchLeft_size (FiniteMap.Branch xux711 xux712 xux713 xux714 xux715) (FiniteMap.Branch xux716 xux717 (Neg Zero) xux718 xux719) xux709 + FiniteMap.mkBranchRight_size (FiniteMap.Branch xux711 xux712 xux713 xux714 xux715) (FiniteMap.Branch xux716 xux717 (Neg Zero) xux718 xux719) xux709)) (FiniteMap.Branch xux711 xux712 xux713 xux714 xux715) (FiniteMap.Branch xux716 xux717 (Neg Zero) xux718 xux719)",fontsize=16,color="green",shape="box"];9897 -> 9956[label="",style="dashed", color="green", weight=3]; 27.17/11.49 10281[label="FiniteMap.mkVBalBranch5 xux286 xux287 FiniteMap.EmptyFM (FiniteMap.Branch xux2790 xux2791 (Neg Zero) xux2793 xux2794)",fontsize=16,color="black",shape="box"];10281 -> 10357[label="",style="solid", color="black", weight=3]; 27.17/11.49 10282 -> 10224[label="",style="dashed", color="red", weight=0]; 27.17/11.49 10282[label="FiniteMap.mkVBalBranch3 xux286 xux287 (FiniteMap.Branch xux28540 xux28541 xux28542 xux28543 xux28544) (FiniteMap.Branch xux2790 xux2791 (Neg Zero) xux2793 xux2794)",fontsize=16,color="magenta"];10282 -> 10358[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10282 -> 10359[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10282 -> 10360[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10282 -> 10361[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10282 -> 10362[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10282 -> 10363[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10282 -> 10364[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10282 -> 10365[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10282 -> 10366[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10282 -> 10367[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10769 -> 10628[label="",style="dashed", color="red", weight=0]; 27.17/11.49 10769[label="primMinusNat xux748000 xux745000",fontsize=16,color="magenta"];10769 -> 10816[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10769 -> 10817[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10770[label="Pos (Succ xux748000)",fontsize=16,color="green",shape="box"];10771[label="Neg (Succ xux745000)",fontsize=16,color="green",shape="box"];10772[label="Pos Zero",fontsize=16,color="green",shape="box"];10773[label="xux6603",fontsize=16,color="green",shape="box"];10774[label="FiniteMap.mkBalBranch6MkBalBranch10 xux657 xux658 (FiniteMap.Branch xux6600 xux6601 xux6602 xux6603 xux6604) xux723 (FiniteMap.Branch xux6600 xux6601 xux6602 xux6603 xux6604) xux722 xux6600 xux6601 xux6602 xux6603 xux6604 True",fontsize=16,color="black",shape="box"];10774 -> 10818[label="",style="solid", color="black", weight=3]; 27.17/11.49 10775 -> 10858[label="",style="dashed", color="red", weight=0]; 27.17/11.49 10775[label="FiniteMap.mkBranch (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))) xux6600 xux6601 xux6603 (FiniteMap.mkBranch (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))))) xux657 xux658 xux6604 xux722)",fontsize=16,color="magenta"];10775 -> 10859[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10775 -> 10860[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10775 -> 10861[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10775 -> 10862[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10775 -> 10863[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10775 -> 10864[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10775 -> 10865[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10775 -> 10866[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10775 -> 10867[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10776[label="primMulNat (Succ (Succ Zero)) xux7580",fontsize=16,color="burlywood",shape="triangle"];11190[label="xux7580/Succ xux75800",fontsize=10,color="white",style="solid",shape="box"];10776 -> 11190[label="",style="solid", color="burlywood", weight=9]; 27.17/11.49 11190 -> 10833[label="",style="solid", color="burlywood", weight=3]; 27.17/11.49 11191[label="xux7580/Zero",fontsize=10,color="white",style="solid",shape="box"];10776 -> 11191[label="",style="solid", color="burlywood", weight=9]; 27.17/11.49 11191 -> 10834[label="",style="solid", color="burlywood", weight=3]; 27.17/11.49 10777 -> 10776[label="",style="dashed", color="red", weight=0]; 27.17/11.49 10777[label="primMulNat (Succ (Succ Zero)) xux7580",fontsize=16,color="magenta"];10777 -> 10835[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10778[label="error []",fontsize=16,color="red",shape="box"];10779 -> 10858[label="",style="dashed", color="red", weight=0]; 27.17/11.49 10779[label="FiniteMap.mkBranch (Pos (Succ (Succ (Succ (Succ (Succ Zero)))))) xux72230 xux72231 (FiniteMap.mkBranch (Pos (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))) xux657 xux658 xux660 xux72233) (FiniteMap.mkBranch (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))) xux7220 xux7221 xux72234 xux7224)",fontsize=16,color="magenta"];10779 -> 10868[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10779 -> 10869[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10779 -> 10870[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10779 -> 10871[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10779 -> 10872[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10779 -> 10873[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10779 -> 10874[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10779 -> 10875[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10779 -> 10876[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10780 -> 10256[label="",style="dashed", color="red", weight=0]; 27.17/11.49 10780[label="FiniteMap.mkBranchResult xux657 xux658 xux660 xux7223",fontsize=16,color="magenta"];10780 -> 10855[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 6392[label="xux5270",fontsize=16,color="green",shape="box"];6393[label="xux5260",fontsize=16,color="green",shape="box"];6394[label="FiniteMap.splitLT1 (Char (Succ xux520)) xux521 xux522 xux523 xux524 (Char (Succ xux525)) True",fontsize=16,color="black",shape="box"];6394 -> 6574[label="",style="solid", color="black", weight=3]; 27.17/11.49 6395[label="FiniteMap.splitLT1 (Char (Succ xux520)) xux521 xux522 xux523 xux524 (Char (Succ xux525)) False",fontsize=16,color="black",shape="triangle"];6395 -> 6575[label="",style="solid", color="black", weight=3]; 27.17/11.49 6396 -> 6395[label="",style="dashed", color="red", weight=0]; 27.17/11.49 6396[label="FiniteMap.splitLT1 (Char (Succ xux520)) xux521 xux522 xux523 xux524 (Char (Succ xux525)) False",fontsize=16,color="magenta"];10812[label="Succ xux642000",fontsize=16,color="green",shape="box"];10813[label="Zero",fontsize=16,color="green",shape="box"];10814[label="Zero",fontsize=16,color="green",shape="box"];10815[label="Succ xux642000",fontsize=16,color="green",shape="box"];9925[label="Zero",fontsize=16,color="green",shape="box"];9926[label="FiniteMap.mkBranchUnbox (FiniteMap.Branch xux670 xux671 xux672 xux673 xux674) (FiniteMap.Branch xux675 xux676 (Pos (Succ xux677)) xux678 xux679) xux668 (Pos (Succ Zero) + FiniteMap.mkBranchLeft_size (FiniteMap.Branch xux670 xux671 xux672 xux673 xux674) (FiniteMap.Branch xux675 xux676 (Pos (Succ xux677)) xux678 xux679) xux668 + FiniteMap.mkBranchRight_size (FiniteMap.Branch xux670 xux671 xux672 xux673 xux674) (FiniteMap.Branch xux675 xux676 (Pos (Succ xux677)) xux678 xux679) xux668)",fontsize=16,color="black",shape="box"];9926 -> 10247[label="",style="solid", color="black", weight=3]; 27.17/11.49 10324 -> 10252[label="",style="dashed", color="red", weight=0]; 27.17/11.49 10324[label="FiniteMap.addToFM (FiniteMap.Branch xux2790 xux2791 (Pos (Succ xux279200)) xux2793 xux2794) xux286 xux287",fontsize=16,color="magenta"];10324 -> 10446[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10324 -> 10447[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10324 -> 10448[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10324 -> 10449[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10324 -> 10450[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10325[label="Pos (Succ xux279200)",fontsize=16,color="green",shape="box"];10326[label="xux2790",fontsize=16,color="green",shape="box"];10327[label="xux28543",fontsize=16,color="green",shape="box"];10328[label="xux28542",fontsize=16,color="green",shape="box"];10329[label="xux2794",fontsize=16,color="green",shape="box"];10330[label="xux2793",fontsize=16,color="green",shape="box"];10331[label="xux28540",fontsize=16,color="green",shape="box"];10332[label="xux28541",fontsize=16,color="green",shape="box"];10333[label="xux2791",fontsize=16,color="green",shape="box"];10334[label="xux28544",fontsize=16,color="green",shape="box"];9936[label="FiniteMap.mkBranchUnbox (FiniteMap.Branch xux684 xux685 xux686 xux687 xux688) (FiniteMap.Branch xux689 xux690 (Pos Zero) xux691 xux692) xux682 (Pos (Succ Zero) + FiniteMap.mkBranchLeft_size (FiniteMap.Branch xux684 xux685 xux686 xux687 xux688) (FiniteMap.Branch xux689 xux690 (Pos Zero) xux691 xux692) xux682 + FiniteMap.mkBranchRight_size (FiniteMap.Branch xux684 xux685 xux686 xux687 xux688) (FiniteMap.Branch xux689 xux690 (Pos Zero) xux691 xux692) xux682)",fontsize=16,color="black",shape="box"];9936 -> 10248[label="",style="solid", color="black", weight=3]; 27.17/11.49 10335 -> 10252[label="",style="dashed", color="red", weight=0]; 27.17/11.49 10335[label="FiniteMap.addToFM (FiniteMap.Branch xux2790 xux2791 (Pos Zero) xux2793 xux2794) xux286 xux287",fontsize=16,color="magenta"];10335 -> 10451[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10335 -> 10452[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10335 -> 10453[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10335 -> 10454[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10335 -> 10455[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10336[label="Pos Zero",fontsize=16,color="green",shape="box"];10337[label="xux2790",fontsize=16,color="green",shape="box"];10338[label="xux28543",fontsize=16,color="green",shape="box"];10339[label="xux28542",fontsize=16,color="green",shape="box"];10340[label="xux2794",fontsize=16,color="green",shape="box"];10341[label="xux2793",fontsize=16,color="green",shape="box"];10342[label="xux28540",fontsize=16,color="green",shape="box"];10343[label="xux28541",fontsize=16,color="green",shape="box"];10344[label="xux2791",fontsize=16,color="green",shape="box"];10345[label="xux28544",fontsize=16,color="green",shape="box"];9946[label="FiniteMap.mkBranchUnbox (FiniteMap.Branch xux697 xux698 xux699 xux700 xux701) (FiniteMap.Branch xux702 xux703 (Neg (Succ xux704)) xux705 xux706) xux695 (Pos (Succ Zero) + FiniteMap.mkBranchLeft_size (FiniteMap.Branch xux697 xux698 xux699 xux700 xux701) (FiniteMap.Branch xux702 xux703 (Neg (Succ xux704)) xux705 xux706) xux695 + FiniteMap.mkBranchRight_size (FiniteMap.Branch xux697 xux698 xux699 xux700 xux701) (FiniteMap.Branch xux702 xux703 (Neg (Succ xux704)) xux705 xux706) xux695)",fontsize=16,color="black",shape="box"];9946 -> 10249[label="",style="solid", color="black", weight=3]; 27.17/11.49 10346 -> 10252[label="",style="dashed", color="red", weight=0]; 27.17/11.49 10346[label="FiniteMap.addToFM (FiniteMap.Branch xux2790 xux2791 (Neg (Succ xux279200)) xux2793 xux2794) xux286 xux287",fontsize=16,color="magenta"];10346 -> 10456[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10346 -> 10457[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10346 -> 10458[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10346 -> 10459[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10346 -> 10460[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10347[label="Neg (Succ xux279200)",fontsize=16,color="green",shape="box"];10348[label="xux2790",fontsize=16,color="green",shape="box"];10349[label="xux28543",fontsize=16,color="green",shape="box"];10350[label="xux28542",fontsize=16,color="green",shape="box"];10351[label="xux2794",fontsize=16,color="green",shape="box"];10352[label="xux2793",fontsize=16,color="green",shape="box"];10353[label="xux28540",fontsize=16,color="green",shape="box"];10354[label="xux28541",fontsize=16,color="green",shape="box"];10355[label="xux2791",fontsize=16,color="green",shape="box"];10356[label="xux28544",fontsize=16,color="green",shape="box"];9956[label="FiniteMap.mkBranchUnbox (FiniteMap.Branch xux711 xux712 xux713 xux714 xux715) (FiniteMap.Branch xux716 xux717 (Neg Zero) xux718 xux719) xux709 (Pos (Succ Zero) + FiniteMap.mkBranchLeft_size (FiniteMap.Branch xux711 xux712 xux713 xux714 xux715) (FiniteMap.Branch xux716 xux717 (Neg Zero) xux718 xux719) xux709 + FiniteMap.mkBranchRight_size (FiniteMap.Branch xux711 xux712 xux713 xux714 xux715) (FiniteMap.Branch xux716 xux717 (Neg Zero) xux718 xux719) xux709)",fontsize=16,color="black",shape="box"];9956 -> 10250[label="",style="solid", color="black", weight=3]; 27.17/11.49 10357 -> 10252[label="",style="dashed", color="red", weight=0]; 27.17/11.49 10357[label="FiniteMap.addToFM (FiniteMap.Branch xux2790 xux2791 (Neg Zero) xux2793 xux2794) xux286 xux287",fontsize=16,color="magenta"];10357 -> 10461[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10357 -> 10462[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10357 -> 10463[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10357 -> 10464[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10357 -> 10465[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10358[label="Neg Zero",fontsize=16,color="green",shape="box"];10359[label="xux2790",fontsize=16,color="green",shape="box"];10360[label="xux28543",fontsize=16,color="green",shape="box"];10361[label="xux28542",fontsize=16,color="green",shape="box"];10362[label="xux2794",fontsize=16,color="green",shape="box"];10363[label="xux2793",fontsize=16,color="green",shape="box"];10364[label="xux28540",fontsize=16,color="green",shape="box"];10365[label="xux28541",fontsize=16,color="green",shape="box"];10366[label="xux2791",fontsize=16,color="green",shape="box"];10367[label="xux28544",fontsize=16,color="green",shape="box"];10816[label="xux748000",fontsize=16,color="green",shape="box"];10817[label="xux745000",fontsize=16,color="green",shape="box"];10818[label="FiniteMap.mkBalBranch6Double_R xux657 xux658 (FiniteMap.Branch xux6600 xux6601 xux6602 xux6603 xux6604) xux723 (FiniteMap.Branch xux6600 xux6601 xux6602 xux6603 xux6604) xux722",fontsize=16,color="burlywood",shape="box"];11192[label="xux6604/FiniteMap.EmptyFM",fontsize=10,color="white",style="solid",shape="box"];10818 -> 11192[label="",style="solid", color="burlywood", weight=9]; 27.17/11.49 11192 -> 10856[label="",style="solid", color="burlywood", weight=3]; 27.17/11.49 11193[label="xux6604/FiniteMap.Branch xux66040 xux66041 xux66042 xux66043 xux66044",fontsize=10,color="white",style="solid",shape="box"];10818 -> 11193[label="",style="solid", color="burlywood", weight=9]; 27.17/11.49 11193 -> 10857[label="",style="solid", color="burlywood", weight=3]; 27.17/11.49 10859[label="xux6603",fontsize=16,color="green",shape="box"];10860[label="xux6604",fontsize=16,color="green",shape="box"];10861[label="xux6601",fontsize=16,color="green",shape="box"];10862[label="Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))",fontsize=16,color="green",shape="box"];10863[label="xux658",fontsize=16,color="green",shape="box"];10864[label="xux657",fontsize=16,color="green",shape="box"];10865[label="xux722",fontsize=16,color="green",shape="box"];10866[label="Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))",fontsize=16,color="green",shape="box"];10867[label="xux6600",fontsize=16,color="green",shape="box"];10858[label="FiniteMap.mkBranch (Pos (Succ xux789)) xux790 xux791 xux792 (FiniteMap.mkBranch (Pos (Succ xux793)) xux794 xux795 xux796 xux797)",fontsize=16,color="black",shape="triangle"];10858 -> 10899[label="",style="solid", color="black", weight=3]; 27.17/11.49 10833[label="primMulNat (Succ (Succ Zero)) (Succ xux75800)",fontsize=16,color="black",shape="box"];10833 -> 10900[label="",style="solid", color="black", weight=3]; 27.17/11.49 10834[label="primMulNat (Succ (Succ Zero)) Zero",fontsize=16,color="black",shape="box"];10834 -> 10901[label="",style="solid", color="black", weight=3]; 27.17/11.49 10835[label="xux7580",fontsize=16,color="green",shape="box"];10868[label="FiniteMap.mkBranch (Pos (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))) xux657 xux658 xux660 xux72233",fontsize=16,color="black",shape="box"];10868 -> 10902[label="",style="solid", color="black", weight=3]; 27.17/11.49 10869[label="xux72234",fontsize=16,color="green",shape="box"];10870[label="xux72231",fontsize=16,color="green",shape="box"];10871[label="Succ (Succ (Succ (Succ (Succ (Succ Zero)))))",fontsize=16,color="green",shape="box"];10872[label="xux7221",fontsize=16,color="green",shape="box"];10873[label="xux7220",fontsize=16,color="green",shape="box"];10874[label="xux7224",fontsize=16,color="green",shape="box"];10875[label="Succ (Succ (Succ (Succ Zero)))",fontsize=16,color="green",shape="box"];10876[label="xux72230",fontsize=16,color="green",shape="box"];10855[label="xux7223",fontsize=16,color="green",shape="box"];6574 -> 12[label="",style="dashed", color="red", weight=0]; 27.17/11.49 6574[label="FiniteMap.mkVBalBranch (Char (Succ xux520)) xux521 xux523 (FiniteMap.splitLT xux524 (Char (Succ xux525)))",fontsize=16,color="magenta"];6574 -> 6593[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 6574 -> 6594[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 6574 -> 6595[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 6574 -> 6596[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 6575[label="FiniteMap.splitLT0 (Char (Succ xux520)) xux521 xux522 xux523 xux524 (Char (Succ xux525)) otherwise",fontsize=16,color="black",shape="box"];6575 -> 6597[label="",style="solid", color="black", weight=3]; 27.17/11.49 10247[label="Pos (Succ Zero) + FiniteMap.mkBranchLeft_size (FiniteMap.Branch xux670 xux671 xux672 xux673 xux674) (FiniteMap.Branch xux675 xux676 (Pos (Succ xux677)) xux678 xux679) xux668 + FiniteMap.mkBranchRight_size (FiniteMap.Branch xux670 xux671 xux672 xux673 xux674) (FiniteMap.Branch xux675 xux676 (Pos (Succ xux677)) xux678 xux679) xux668",fontsize=16,color="black",shape="box"];10247 -> 10283[label="",style="solid", color="black", weight=3]; 27.17/11.49 10446[label="xux2793",fontsize=16,color="green",shape="box"];10447[label="Pos (Succ xux279200)",fontsize=16,color="green",shape="box"];10448[label="xux2790",fontsize=16,color="green",shape="box"];10449[label="xux2791",fontsize=16,color="green",shape="box"];10450[label="xux2794",fontsize=16,color="green",shape="box"];10248[label="Pos (Succ Zero) + FiniteMap.mkBranchLeft_size (FiniteMap.Branch xux684 xux685 xux686 xux687 xux688) (FiniteMap.Branch xux689 xux690 (Pos Zero) xux691 xux692) xux682 + FiniteMap.mkBranchRight_size (FiniteMap.Branch xux684 xux685 xux686 xux687 xux688) (FiniteMap.Branch xux689 xux690 (Pos Zero) xux691 xux692) xux682",fontsize=16,color="black",shape="box"];10248 -> 10284[label="",style="solid", color="black", weight=3]; 27.17/11.49 10451[label="xux2793",fontsize=16,color="green",shape="box"];10452[label="Pos Zero",fontsize=16,color="green",shape="box"];10453[label="xux2790",fontsize=16,color="green",shape="box"];10454[label="xux2791",fontsize=16,color="green",shape="box"];10455[label="xux2794",fontsize=16,color="green",shape="box"];10249[label="Pos (Succ Zero) + FiniteMap.mkBranchLeft_size (FiniteMap.Branch xux697 xux698 xux699 xux700 xux701) (FiniteMap.Branch xux702 xux703 (Neg (Succ xux704)) xux705 xux706) xux695 + FiniteMap.mkBranchRight_size (FiniteMap.Branch xux697 xux698 xux699 xux700 xux701) (FiniteMap.Branch xux702 xux703 (Neg (Succ xux704)) xux705 xux706) xux695",fontsize=16,color="black",shape="box"];10249 -> 10285[label="",style="solid", color="black", weight=3]; 27.17/11.49 10456[label="xux2793",fontsize=16,color="green",shape="box"];10457[label="Neg (Succ xux279200)",fontsize=16,color="green",shape="box"];10458[label="xux2790",fontsize=16,color="green",shape="box"];10459[label="xux2791",fontsize=16,color="green",shape="box"];10460[label="xux2794",fontsize=16,color="green",shape="box"];10250[label="Pos (Succ Zero) + FiniteMap.mkBranchLeft_size (FiniteMap.Branch xux711 xux712 xux713 xux714 xux715) (FiniteMap.Branch xux716 xux717 (Neg Zero) xux718 xux719) xux709 + FiniteMap.mkBranchRight_size (FiniteMap.Branch xux711 xux712 xux713 xux714 xux715) (FiniteMap.Branch xux716 xux717 (Neg Zero) xux718 xux719) xux709",fontsize=16,color="black",shape="box"];10250 -> 10286[label="",style="solid", color="black", weight=3]; 27.17/11.49 10461[label="xux2793",fontsize=16,color="green",shape="box"];10462[label="Neg Zero",fontsize=16,color="green",shape="box"];10463[label="xux2790",fontsize=16,color="green",shape="box"];10464[label="xux2791",fontsize=16,color="green",shape="box"];10465[label="xux2794",fontsize=16,color="green",shape="box"];10856[label="FiniteMap.mkBalBranch6Double_R xux657 xux658 (FiniteMap.Branch xux6600 xux6601 xux6602 xux6603 FiniteMap.EmptyFM) xux723 (FiniteMap.Branch xux6600 xux6601 xux6602 xux6603 FiniteMap.EmptyFM) xux722",fontsize=16,color="black",shape="box"];10856 -> 10903[label="",style="solid", color="black", weight=3]; 27.17/11.49 10857[label="FiniteMap.mkBalBranch6Double_R xux657 xux658 (FiniteMap.Branch xux6600 xux6601 xux6602 xux6603 (FiniteMap.Branch xux66040 xux66041 xux66042 xux66043 xux66044)) xux723 (FiniteMap.Branch xux6600 xux6601 xux6602 xux6603 (FiniteMap.Branch xux66040 xux66041 xux66042 xux66043 xux66044)) xux722",fontsize=16,color="black",shape="box"];10857 -> 10904[label="",style="solid", color="black", weight=3]; 27.17/11.49 10899 -> 10256[label="",style="dashed", color="red", weight=0]; 27.17/11.49 10899[label="FiniteMap.mkBranchResult xux790 xux791 xux792 (FiniteMap.mkBranch (Pos (Succ xux793)) xux794 xux795 xux796 xux797)",fontsize=16,color="magenta"];10899 -> 10905[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10899 -> 10906[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10899 -> 10907[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10899 -> 10908[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10900 -> 3702[label="",style="dashed", color="red", weight=0]; 27.17/11.49 10900[label="primPlusNat (primMulNat (Succ Zero) (Succ xux75800)) (Succ xux75800)",fontsize=16,color="magenta"];10900 -> 10909[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10900 -> 10910[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10901[label="Zero",fontsize=16,color="green",shape="box"];10902 -> 10256[label="",style="dashed", color="red", weight=0]; 27.17/11.49 10902[label="FiniteMap.mkBranchResult xux657 xux658 xux660 xux72233",fontsize=16,color="magenta"];10902 -> 10911[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 6593 -> 376[label="",style="dashed", color="red", weight=0]; 27.17/11.49 6593[label="FiniteMap.splitLT xux524 (Char (Succ xux525))",fontsize=16,color="magenta"];6593 -> 6759[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 6593 -> 6760[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 6594[label="Char (Succ xux520)",fontsize=16,color="green",shape="box"];6595[label="xux521",fontsize=16,color="green",shape="box"];6596[label="xux523",fontsize=16,color="green",shape="box"];6597[label="FiniteMap.splitLT0 (Char (Succ xux520)) xux521 xux522 xux523 xux524 (Char (Succ xux525)) True",fontsize=16,color="black",shape="box"];6597 -> 6761[label="",style="solid", color="black", weight=3]; 27.17/11.49 10283 -> 10720[label="",style="dashed", color="red", weight=0]; 27.17/11.49 10283[label="primPlusInt (Pos (Succ Zero) + FiniteMap.mkBranchLeft_size (FiniteMap.Branch xux670 xux671 xux672 xux673 xux674) (FiniteMap.Branch xux675 xux676 (Pos (Succ xux677)) xux678 xux679) xux668) (FiniteMap.mkBranchRight_size (FiniteMap.Branch xux670 xux671 xux672 xux673 xux674) (FiniteMap.Branch xux675 xux676 (Pos (Succ xux677)) xux678 xux679) xux668)",fontsize=16,color="magenta"];10283 -> 10737[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10283 -> 10738[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10284 -> 10720[label="",style="dashed", color="red", weight=0]; 27.17/11.49 10284[label="primPlusInt (Pos (Succ Zero) + FiniteMap.mkBranchLeft_size (FiniteMap.Branch xux684 xux685 xux686 xux687 xux688) (FiniteMap.Branch xux689 xux690 (Pos Zero) xux691 xux692) xux682) (FiniteMap.mkBranchRight_size (FiniteMap.Branch xux684 xux685 xux686 xux687 xux688) (FiniteMap.Branch xux689 xux690 (Pos Zero) xux691 xux692) xux682)",fontsize=16,color="magenta"];10284 -> 10739[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10284 -> 10740[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10285 -> 10720[label="",style="dashed", color="red", weight=0]; 27.17/11.49 10285[label="primPlusInt (Pos (Succ Zero) + FiniteMap.mkBranchLeft_size (FiniteMap.Branch xux697 xux698 xux699 xux700 xux701) (FiniteMap.Branch xux702 xux703 (Neg (Succ xux704)) xux705 xux706) xux695) (FiniteMap.mkBranchRight_size (FiniteMap.Branch xux697 xux698 xux699 xux700 xux701) (FiniteMap.Branch xux702 xux703 (Neg (Succ xux704)) xux705 xux706) xux695)",fontsize=16,color="magenta"];10285 -> 10741[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10285 -> 10742[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10286 -> 10720[label="",style="dashed", color="red", weight=0]; 27.17/11.49 10286[label="primPlusInt (Pos (Succ Zero) + FiniteMap.mkBranchLeft_size (FiniteMap.Branch xux711 xux712 xux713 xux714 xux715) (FiniteMap.Branch xux716 xux717 (Neg Zero) xux718 xux719) xux709) (FiniteMap.mkBranchRight_size (FiniteMap.Branch xux711 xux712 xux713 xux714 xux715) (FiniteMap.Branch xux716 xux717 (Neg Zero) xux718 xux719) xux709)",fontsize=16,color="magenta"];10286 -> 10743[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10286 -> 10744[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10903[label="error []",fontsize=16,color="red",shape="box"];10904 -> 10858[label="",style="dashed", color="red", weight=0]; 27.17/11.49 10904[label="FiniteMap.mkBranch (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))) xux66040 xux66041 (FiniteMap.mkBranch (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))))))) xux6600 xux6601 xux6603 xux66043) (FiniteMap.mkBranch (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))))) xux657 xux658 xux66044 xux722)",fontsize=16,color="magenta"];10904 -> 10912[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10904 -> 10913[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10904 -> 10914[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10904 -> 10915[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10904 -> 10916[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10904 -> 10917[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10904 -> 10918[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10904 -> 10919[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10904 -> 10920[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10905[label="FiniteMap.mkBranch (Pos (Succ xux793)) xux794 xux795 xux796 xux797",fontsize=16,color="black",shape="triangle"];10905 -> 10921[label="",style="solid", color="black", weight=3]; 27.17/11.49 10906[label="xux790",fontsize=16,color="green",shape="box"];10907[label="xux792",fontsize=16,color="green",shape="box"];10908[label="xux791",fontsize=16,color="green",shape="box"];10909[label="Succ xux75800",fontsize=16,color="green",shape="box"];10910 -> 9518[label="",style="dashed", color="red", weight=0]; 27.17/11.49 10910[label="primMulNat (Succ Zero) (Succ xux75800)",fontsize=16,color="magenta"];10910 -> 10922[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10911[label="xux72233",fontsize=16,color="green",shape="box"];6759[label="xux525",fontsize=16,color="green",shape="box"];6760[label="xux524",fontsize=16,color="green",shape="box"];6761[label="xux523",fontsize=16,color="green",shape="box"];10737 -> 10721[label="",style="dashed", color="red", weight=0]; 27.17/11.49 10737[label="Pos (Succ Zero) + FiniteMap.mkBranchLeft_size (FiniteMap.Branch xux670 xux671 xux672 xux673 xux674) (FiniteMap.Branch xux675 xux676 (Pos (Succ xux677)) xux678 xux679) xux668",fontsize=16,color="magenta"];10737 -> 10781[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10737 -> 10782[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10737 -> 10783[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10738 -> 10722[label="",style="dashed", color="red", weight=0]; 27.17/11.49 10738[label="FiniteMap.mkBranchRight_size (FiniteMap.Branch xux670 xux671 xux672 xux673 xux674) (FiniteMap.Branch xux675 xux676 (Pos (Succ xux677)) xux678 xux679) xux668",fontsize=16,color="magenta"];10738 -> 10784[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10738 -> 10785[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10738 -> 10786[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10739 -> 10721[label="",style="dashed", color="red", weight=0]; 27.17/11.49 10739[label="Pos (Succ Zero) + FiniteMap.mkBranchLeft_size (FiniteMap.Branch xux684 xux685 xux686 xux687 xux688) (FiniteMap.Branch xux689 xux690 (Pos Zero) xux691 xux692) xux682",fontsize=16,color="magenta"];10739 -> 10787[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10739 -> 10788[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10739 -> 10789[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10740 -> 10722[label="",style="dashed", color="red", weight=0]; 27.17/11.49 10740[label="FiniteMap.mkBranchRight_size (FiniteMap.Branch xux684 xux685 xux686 xux687 xux688) (FiniteMap.Branch xux689 xux690 (Pos Zero) xux691 xux692) xux682",fontsize=16,color="magenta"];10740 -> 10790[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10740 -> 10791[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10740 -> 10792[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10741 -> 10721[label="",style="dashed", color="red", weight=0]; 27.17/11.49 10741[label="Pos (Succ Zero) + FiniteMap.mkBranchLeft_size (FiniteMap.Branch xux697 xux698 xux699 xux700 xux701) (FiniteMap.Branch xux702 xux703 (Neg (Succ xux704)) xux705 xux706) xux695",fontsize=16,color="magenta"];10741 -> 10793[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10741 -> 10794[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10741 -> 10795[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10742 -> 10722[label="",style="dashed", color="red", weight=0]; 27.17/11.49 10742[label="FiniteMap.mkBranchRight_size (FiniteMap.Branch xux697 xux698 xux699 xux700 xux701) (FiniteMap.Branch xux702 xux703 (Neg (Succ xux704)) xux705 xux706) xux695",fontsize=16,color="magenta"];10742 -> 10796[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10742 -> 10797[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10742 -> 10798[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10743 -> 10721[label="",style="dashed", color="red", weight=0]; 27.17/11.49 10743[label="Pos (Succ Zero) + FiniteMap.mkBranchLeft_size (FiniteMap.Branch xux711 xux712 xux713 xux714 xux715) (FiniteMap.Branch xux716 xux717 (Neg Zero) xux718 xux719) xux709",fontsize=16,color="magenta"];10743 -> 10799[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10743 -> 10800[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10743 -> 10801[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10744 -> 10722[label="",style="dashed", color="red", weight=0]; 27.17/11.49 10744[label="FiniteMap.mkBranchRight_size (FiniteMap.Branch xux711 xux712 xux713 xux714 xux715) (FiniteMap.Branch xux716 xux717 (Neg Zero) xux718 xux719) xux709",fontsize=16,color="magenta"];10744 -> 10802[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10744 -> 10803[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10744 -> 10804[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10912 -> 10905[label="",style="dashed", color="red", weight=0]; 27.17/11.49 10912[label="FiniteMap.mkBranch (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))))))) xux6600 xux6601 xux6603 xux66043",fontsize=16,color="magenta"];10912 -> 10923[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10912 -> 10924[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10912 -> 10925[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10912 -> 10926[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10912 -> 10927[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10913[label="xux66044",fontsize=16,color="green",shape="box"];10914[label="xux66041",fontsize=16,color="green",shape="box"];10915[label="Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))",fontsize=16,color="green",shape="box"];10916[label="xux658",fontsize=16,color="green",shape="box"];10917[label="xux657",fontsize=16,color="green",shape="box"];10918[label="xux722",fontsize=16,color="green",shape="box"];10919[label="Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))",fontsize=16,color="green",shape="box"];10920[label="xux66040",fontsize=16,color="green",shape="box"];10921 -> 10256[label="",style="dashed", color="red", weight=0]; 27.17/11.49 10921[label="FiniteMap.mkBranchResult xux794 xux795 xux796 xux797",fontsize=16,color="magenta"];10921 -> 10928[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10921 -> 10929[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10921 -> 10930[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10921 -> 10931[label="",style="dashed", color="magenta", weight=3]; 27.17/11.49 10922[label="xux75800",fontsize=16,color="green",shape="box"];10781[label="FiniteMap.Branch xux675 xux676 (Pos (Succ xux677)) xux678 xux679",fontsize=16,color="green",shape="box"];10782[label="xux668",fontsize=16,color="green",shape="box"];10783[label="FiniteMap.Branch xux670 xux671 xux672 xux673 xux674",fontsize=16,color="green",shape="box"];10784[label="FiniteMap.Branch xux675 xux676 (Pos (Succ xux677)) xux678 xux679",fontsize=16,color="green",shape="box"];10785[label="xux668",fontsize=16,color="green",shape="box"];10786[label="FiniteMap.Branch xux670 xux671 xux672 xux673 xux674",fontsize=16,color="green",shape="box"];10787[label="FiniteMap.Branch xux689 xux690 (Pos Zero) xux691 xux692",fontsize=16,color="green",shape="box"];10788[label="xux682",fontsize=16,color="green",shape="box"];10789[label="FiniteMap.Branch xux684 xux685 xux686 xux687 xux688",fontsize=16,color="green",shape="box"];10790[label="FiniteMap.Branch xux689 xux690 (Pos Zero) xux691 xux692",fontsize=16,color="green",shape="box"];10791[label="xux682",fontsize=16,color="green",shape="box"];10792[label="FiniteMap.Branch xux684 xux685 xux686 xux687 xux688",fontsize=16,color="green",shape="box"];10793[label="FiniteMap.Branch xux702 xux703 (Neg (Succ xux704)) xux705 xux706",fontsize=16,color="green",shape="box"];10794[label="xux695",fontsize=16,color="green",shape="box"];10795[label="FiniteMap.Branch xux697 xux698 xux699 xux700 xux701",fontsize=16,color="green",shape="box"];10796[label="FiniteMap.Branch xux702 xux703 (Neg (Succ xux704)) xux705 xux706",fontsize=16,color="green",shape="box"];10797[label="xux695",fontsize=16,color="green",shape="box"];10798[label="FiniteMap.Branch xux697 xux698 xux699 xux700 xux701",fontsize=16,color="green",shape="box"];10799[label="FiniteMap.Branch xux716 xux717 (Neg Zero) xux718 xux719",fontsize=16,color="green",shape="box"];10800[label="xux709",fontsize=16,color="green",shape="box"];10801[label="FiniteMap.Branch xux711 xux712 xux713 xux714 xux715",fontsize=16,color="green",shape="box"];10802[label="FiniteMap.Branch xux716 xux717 (Neg Zero) xux718 xux719",fontsize=16,color="green",shape="box"];10803[label="xux709",fontsize=16,color="green",shape="box"];10804[label="FiniteMap.Branch xux711 xux712 xux713 xux714 xux715",fontsize=16,color="green",shape="box"];10923[label="xux6603",fontsize=16,color="green",shape="box"];10924[label="Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))))",fontsize=16,color="green",shape="box"];10925[label="xux6601",fontsize=16,color="green",shape="box"];10926[label="xux6600",fontsize=16,color="green",shape="box"];10927[label="xux66043",fontsize=16,color="green",shape="box"];10928[label="xux797",fontsize=16,color="green",shape="box"];10929[label="xux794",fontsize=16,color="green",shape="box"];10930[label="xux796",fontsize=16,color="green",shape="box"];10931[label="xux795",fontsize=16,color="green",shape="box"];} 27.17/11.49 27.17/11.49 ---------------------------------------- 27.17/11.49 27.17/11.49 (14) 27.17/11.49 Complex Obligation (AND) 27.17/11.49 27.17/11.49 ---------------------------------------- 27.17/11.49 27.17/11.49 (15) 27.17/11.49 Obligation: 27.17/11.49 Q DP problem: 27.17/11.49 The TRS P consists of the following rules: 27.17/11.49 27.17/11.49 new_addToFM_C1(xux657, xux658, xux659, xux660, xux661, xux662, xux663, True, h, ba) -> new_addToFM_C(xux661, xux662, xux663, h, ba) 27.17/11.49 new_addToFM_C2(xux639, xux640, xux641, xux642, xux643, xux644, xux645, True, bb, bc) -> new_addToFM_C(xux642, xux644, xux645, bb, bc) 27.17/11.49 new_addToFM_C2(xux639, xux640, xux641, xux642, xux643, xux644, xux645, False, bb, bc) -> new_addToFM_C1(xux639, xux640, xux641, xux642, xux643, xux644, xux645, new_gt(xux644, xux639, bb), bb, bc) 27.17/11.49 new_addToFM_C2(xux639, xux640, xux641, Branch(xux6420, xux6421, xux6422, xux6423, xux6424), xux643, xux644, xux645, True, bb, bc) -> new_addToFM_C2(xux6420, xux6421, xux6422, xux6423, xux6424, xux644, xux645, new_lt(xux644, xux6420, bb), bb, bc) 27.17/11.49 new_addToFM_C(Branch(xux6420, xux6421, xux6422, xux6423, xux6424), xux644, xux645, bb, bc) -> new_addToFM_C2(xux6420, xux6421, xux6422, xux6423, xux6424, xux644, xux645, new_lt(xux644, xux6420, bb), bb, bc) 27.17/11.49 27.17/11.49 The TRS R consists of the following rules: 27.17/11.49 27.17/11.49 new_gt0(Neg(Zero), Neg(Succ(xux63900))) -> new_esEs7(Succ(xux63900), Zero) 27.17/11.49 new_lt(xux644, xux6420, ty_Int) -> new_lt0(xux644, xux6420) 27.17/11.49 new_esEs2(Pos(Succ(xux64400)), Neg(xux64200)) -> new_esEs4 27.17/11.49 new_gt0(Neg(Succ(xux64400)), Neg(xux6390)) -> new_esEs7(xux6390, Succ(xux64400)) 27.17/11.49 new_gt(xux644, xux639, ty_Ordering) -> error([]) 27.17/11.49 new_lt(xux644, xux6420, ty_Ordering) -> error([]) 27.17/11.49 new_lt(xux644, xux6420, app(ty_Ratio, cb)) -> error([]) 27.17/11.49 new_gt0(Pos(Zero), Pos(Succ(xux63900))) -> new_esEs7(Zero, Succ(xux63900)) 27.17/11.49 new_lt(xux644, xux6420, app(app(app(ty_@3, bd), be), bf)) -> error([]) 27.17/11.49 new_esEs2(Neg(Succ(xux64400)), Pos(xux64200)) -> new_esEs6 27.17/11.49 new_gt0(Neg(Zero), Neg(Zero)) -> new_esEs1 27.17/11.49 new_gt0(Pos(Succ(xux64400)), Pos(xux6390)) -> new_esEs7(Succ(xux64400), xux6390) 27.17/11.49 new_lt1(Char(xux400), Char(xux500)) -> new_esEs3(xux400, xux500) 27.17/11.49 new_gt(xux644, xux639, app(app(app(ty_@3, bd), be), bf)) -> error([]) 27.17/11.49 new_esEs2(Pos(Zero), Pos(Zero)) -> new_esEs5 27.17/11.49 new_esEs8 -> True 27.17/11.49 new_esEs1 -> False 27.17/11.49 new_esEs4 -> False 27.17/11.49 new_gt0(Neg(Zero), Pos(Succ(xux63900))) -> new_esEs9 27.17/11.49 new_gt0(Pos(Zero), Pos(Zero)) -> new_esEs1 27.17/11.49 new_lt(xux644, xux6420, ty_Char) -> new_lt1(xux644, xux6420) 27.17/11.49 new_esEs2(Neg(Succ(xux64400)), Neg(xux64200)) -> new_esEs3(xux64200, Succ(xux64400)) 27.17/11.49 new_lt(xux644, xux6420, ty_Float) -> error([]) 27.17/11.49 new_gt(xux644, xux639, app(app(ty_Either, cd), ce)) -> error([]) 27.17/11.49 new_gt(xux644, xux639, ty_Integer) -> error([]) 27.17/11.49 new_esEs7(Zero, Zero) -> new_esEs1 27.17/11.49 new_lt(xux644, xux6420, app(ty_Maybe, cc)) -> error([]) 27.17/11.49 new_lt(xux644, xux6420, ty_Bool) -> error([]) 27.17/11.49 new_gt(xux644, xux639, app(ty_[], bg)) -> error([]) 27.17/11.49 new_lt(xux644, xux6420, ty_Double) -> error([]) 27.17/11.49 new_esEs5 -> False 27.17/11.49 new_lt(xux644, xux6420, app(app(ty_@2, bh), ca)) -> error([]) 27.17/11.49 new_esEs3(Succ(xux286000), Zero) -> new_esEs4 27.17/11.49 new_gt0(Pos(Succ(xux64400)), Neg(xux6390)) -> new_esEs8 27.17/11.49 new_gt(Char(xux6440), Char(xux6390), ty_Char) -> new_esEs7(xux6440, xux6390) 27.17/11.49 new_esEs7(Zero, Succ(xux63900)) -> new_esEs9 27.17/11.49 new_lt(xux644, xux6420, ty_@0) -> error([]) 27.17/11.49 new_esEs2(Neg(Zero), Neg(Succ(xux642000))) -> new_esEs3(Succ(xux642000), Zero) 27.17/11.49 new_esEs2(Pos(Zero), Neg(Succ(xux642000))) -> new_esEs4 27.17/11.49 new_esEs9 -> False 27.17/11.49 new_gt(xux644, xux639, app(app(ty_@2, bh), ca)) -> error([]) 27.17/11.49 new_esEs2(Pos(Zero), Pos(Succ(xux642000))) -> new_esEs3(Zero, Succ(xux642000)) 27.17/11.49 new_gt(xux644, xux639, ty_Double) -> error([]) 27.17/11.49 new_esEs7(Succ(xux64400), Succ(xux63900)) -> new_esEs7(xux64400, xux63900) 27.17/11.49 new_gt(xux644, xux639, ty_Bool) -> error([]) 27.17/11.49 new_lt(xux644, xux6420, app(ty_[], bg)) -> error([]) 27.17/11.49 new_gt0(Pos(Zero), Neg(Zero)) -> new_esEs1 27.17/11.49 new_gt0(Neg(Zero), Pos(Zero)) -> new_esEs1 27.17/11.49 new_esEs3(Succ(xux286000), Succ(xux281000)) -> new_esEs3(xux286000, xux281000) 27.17/11.49 new_esEs3(Zero, Succ(xux281000)) -> new_esEs6 27.17/11.49 new_gt(xux644, xux639, ty_@0) -> error([]) 27.17/11.49 new_gt0(Neg(Succ(xux64400)), Pos(xux6390)) -> new_esEs9 27.17/11.49 new_lt(xux644, xux6420, app(app(ty_Either, cd), ce)) -> error([]) 27.17/11.49 new_gt0(Pos(Zero), Neg(Succ(xux63900))) -> new_esEs8 27.17/11.49 new_esEs2(Pos(Succ(xux64400)), Pos(xux64200)) -> new_esEs3(Succ(xux64400), xux64200) 27.17/11.49 new_esEs6 -> True 27.17/11.49 new_gt(xux644, xux639, ty_Float) -> error([]) 27.17/11.49 new_lt0(xux644, xux6420) -> new_esEs2(xux644, xux6420) 27.17/11.49 new_esEs2(Pos(Zero), Neg(Zero)) -> new_esEs5 27.17/11.49 new_esEs2(Neg(Zero), Pos(Zero)) -> new_esEs5 27.17/11.49 new_gt(xux644, xux639, app(ty_Maybe, cc)) -> error([]) 27.17/11.49 new_lt(xux644, xux6420, ty_Integer) -> error([]) 27.17/11.49 new_esEs3(Zero, Zero) -> new_esEs5 27.17/11.49 new_gt(xux644, xux639, ty_Int) -> new_gt0(xux644, xux639) 27.17/11.49 new_esEs2(Neg(Zero), Neg(Zero)) -> new_esEs5 27.17/11.49 new_esEs7(Succ(xux64400), Zero) -> new_esEs8 27.17/11.49 new_gt(xux644, xux639, app(ty_Ratio, cb)) -> error([]) 27.17/11.49 new_esEs2(Neg(Zero), Pos(Succ(xux642000))) -> new_esEs6 27.17/11.49 27.17/11.49 The set Q consists of the following terms: 27.17/11.49 27.17/11.49 new_lt(x0, x1, app(ty_Maybe, x2)) 27.17/11.49 new_esEs9 27.17/11.49 new_lt(x0, x1, ty_Ordering) 27.17/11.49 new_gt(x0, x1, app(app(app(ty_@3, x2), x3), x4)) 27.17/11.49 new_esEs3(Succ(x0), Zero) 27.17/11.49 new_esEs7(Succ(x0), Zero) 27.17/11.49 new_esEs7(Zero, Succ(x0)) 27.17/11.49 new_lt(x0, x1, app(ty_Ratio, x2)) 27.17/11.49 new_lt(x0, x1, ty_Float) 27.17/11.49 new_gt0(Neg(Zero), Neg(Succ(x0))) 27.17/11.49 new_gt(x0, x1, app(app(ty_Either, x2), x3)) 27.17/11.49 new_esEs7(Zero, Zero) 27.17/11.49 new_lt(x0, x1, ty_Bool) 27.17/11.49 new_esEs2(Pos(Succ(x0)), Neg(x1)) 27.17/11.49 new_esEs2(Neg(Succ(x0)), Pos(x1)) 27.17/11.49 new_gt0(Neg(Zero), Pos(Succ(x0))) 27.17/11.49 new_gt0(Pos(Zero), Neg(Succ(x0))) 27.17/11.49 new_gt(x0, x1, app(ty_[], x2)) 27.17/11.49 new_gt(x0, x1, app(app(ty_@2, x2), x3)) 27.17/11.49 new_lt(x0, x1, ty_@0) 27.17/11.49 new_esEs3(Succ(x0), Succ(x1)) 27.17/11.49 new_gt0(Pos(Succ(x0)), Pos(x1)) 27.17/11.49 new_gt0(Pos(Zero), Pos(Zero)) 27.17/11.49 new_esEs3(Zero, Zero) 27.17/11.49 new_esEs2(Pos(Zero), Neg(Succ(x0))) 27.17/11.49 new_esEs2(Neg(Zero), Pos(Succ(x0))) 27.17/11.49 new_esEs2(Pos(Succ(x0)), Pos(x1)) 27.17/11.49 new_gt0(Pos(Succ(x0)), Neg(x1)) 27.17/11.49 new_gt0(Neg(Succ(x0)), Pos(x1)) 27.17/11.49 new_gt(Char(x0), Char(x1), ty_Char) 27.17/11.49 new_gt(x0, x1, ty_Integer) 27.17/11.49 new_gt(x0, x1, ty_Float) 27.17/11.49 new_esEs2(Neg(Zero), Neg(Zero)) 27.17/11.49 new_esEs8 27.17/11.49 new_gt(x0, x1, app(ty_Ratio, x2)) 27.17/11.49 new_gt0(Neg(Succ(x0)), Neg(x1)) 27.17/11.49 new_gt(x0, x1, ty_Bool) 27.17/11.49 new_lt(x0, x1, app(app(ty_Either, x2), x3)) 27.17/11.49 new_lt(x0, x1, app(app(app(ty_@3, x2), x3), x4)) 27.17/11.49 new_esEs2(Pos(Zero), Neg(Zero)) 27.17/11.49 new_esEs2(Neg(Zero), Pos(Zero)) 27.17/11.49 new_gt(x0, x1, ty_Ordering) 27.17/11.49 new_lt(x0, x1, ty_Integer) 27.17/11.49 new_esEs2(Pos(Zero), Pos(Succ(x0))) 27.17/11.49 new_gt(x0, x1, app(ty_Maybe, x2)) 27.17/11.49 new_esEs3(Zero, Succ(x0)) 27.17/11.49 new_lt(x0, x1, ty_Int) 27.17/11.49 new_esEs5 27.17/11.49 new_gt(x0, x1, ty_Double) 27.17/11.49 new_lt1(Char(x0), Char(x1)) 27.17/11.49 new_gt0(Pos(Zero), Pos(Succ(x0))) 27.17/11.49 new_esEs6 27.17/11.49 new_lt(x0, x1, ty_Char) 27.17/11.49 new_esEs1 27.17/11.49 new_gt0(Pos(Zero), Neg(Zero)) 27.17/11.49 new_gt0(Neg(Zero), Pos(Zero)) 27.17/11.49 new_esEs2(Neg(Zero), Neg(Succ(x0))) 27.17/11.49 new_gt(x0, x1, ty_@0) 27.17/11.49 new_lt(x0, x1, app(app(ty_@2, x2), x3)) 27.17/11.49 new_esEs2(Pos(Zero), Pos(Zero)) 27.17/11.49 new_gt0(Neg(Zero), Neg(Zero)) 27.17/11.49 new_lt(x0, x1, ty_Double) 27.17/11.49 new_lt(x0, x1, app(ty_[], x2)) 27.17/11.49 new_lt0(x0, x1) 27.17/11.49 new_esEs4 27.17/11.49 new_esEs2(Neg(Succ(x0)), Neg(x1)) 27.17/11.49 new_esEs7(Succ(x0), Succ(x1)) 27.17/11.49 new_gt(x0, x1, ty_Int) 27.17/11.49 27.17/11.49 We have to consider all minimal (P,Q,R)-chains. 27.17/11.49 ---------------------------------------- 27.17/11.49 27.17/11.49 (16) QDPSizeChangeProof (EQUIVALENT) 27.17/11.49 By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. 27.17/11.49 27.17/11.49 From the DPs we obtained the following set of size-change graphs: 27.17/11.49 *new_addToFM_C(Branch(xux6420, xux6421, xux6422, xux6423, xux6424), xux644, xux645, bb, bc) -> new_addToFM_C2(xux6420, xux6421, xux6422, xux6423, xux6424, xux644, xux645, new_lt(xux644, xux6420, bb), bb, bc) 27.17/11.49 The graph contains the following edges 1 > 1, 1 > 2, 1 > 3, 1 > 4, 1 > 5, 2 >= 6, 3 >= 7, 4 >= 9, 5 >= 10 27.17/11.49 27.17/11.49 27.17/11.49 *new_addToFM_C2(xux639, xux640, xux641, xux642, xux643, xux644, xux645, False, bb, bc) -> new_addToFM_C1(xux639, xux640, xux641, xux642, xux643, xux644, xux645, new_gt(xux644, xux639, bb), bb, bc) 27.17/11.49 The graph contains the following edges 1 >= 1, 2 >= 2, 3 >= 3, 4 >= 4, 5 >= 5, 6 >= 6, 7 >= 7, 9 >= 9, 10 >= 10 27.17/11.49 27.17/11.49 27.17/11.49 *new_addToFM_C2(xux639, xux640, xux641, Branch(xux6420, xux6421, xux6422, xux6423, xux6424), xux643, xux644, xux645, True, bb, bc) -> new_addToFM_C2(xux6420, xux6421, xux6422, xux6423, xux6424, xux644, xux645, new_lt(xux644, xux6420, bb), bb, bc) 27.17/11.49 The graph contains the following edges 4 > 1, 4 > 2, 4 > 3, 4 > 4, 4 > 5, 6 >= 6, 7 >= 7, 9 >= 9, 10 >= 10 27.17/11.49 27.17/11.49 27.17/11.49 *new_addToFM_C1(xux657, xux658, xux659, xux660, xux661, xux662, xux663, True, h, ba) -> new_addToFM_C(xux661, xux662, xux663, h, ba) 27.17/11.49 The graph contains the following edges 5 >= 1, 6 >= 2, 7 >= 3, 9 >= 4, 10 >= 5 27.17/11.49 27.17/11.49 27.17/11.49 *new_addToFM_C2(xux639, xux640, xux641, xux642, xux643, xux644, xux645, True, bb, bc) -> new_addToFM_C(xux642, xux644, xux645, bb, bc) 27.17/11.49 The graph contains the following edges 4 >= 1, 6 >= 2, 7 >= 3, 9 >= 4, 10 >= 5 27.17/11.49 27.17/11.49 27.17/11.49 ---------------------------------------- 27.17/11.49 27.17/11.49 (17) 27.17/11.49 YES 27.17/11.49 27.17/11.49 ---------------------------------------- 27.17/11.49 27.17/11.49 (18) 27.17/11.49 Obligation: 27.17/11.49 Q DP problem: 27.17/11.49 The TRS P consists of the following rules: 27.17/11.49 27.17/11.49 new_splitGT(Branch(xux340, xux341, xux342, xux343, xux344), xux4000, h) -> new_splitGT3(xux340, xux341, xux342, xux343, xux344, Char(Succ(xux4000)), h) 27.17/11.49 new_splitGT20(xux185, xux186, xux187, xux188, xux189, xux190, ba) -> new_splitGT1(xux185, xux186, xux187, xux188, xux189, xux190, new_esEs3(Succ(xux190), Succ(xux185)), ba) 27.17/11.49 new_splitGT3(Char(Zero), xux31, xux32, xux33, Branch(xux340, xux341, xux342, xux343, xux344), Char(Succ(xux4000)), h) -> new_splitGT3(xux340, xux341, xux342, xux343, xux344, Char(Succ(xux4000)), h) 27.17/11.49 new_splitGT2(xux185, xux186, xux187, xux188, xux189, xux190, Zero, Succ(xux1920), ba) -> new_splitGT1(xux185, xux186, xux187, xux188, xux189, xux190, new_esEs3(Succ(xux190), Succ(xux185)), ba) 27.17/11.49 new_splitGT3(Char(Succ(xux3000)), xux31, xux32, Branch(xux330, xux331, xux332, xux333, xux334), xux34, Char(Zero), h) -> new_splitGT3(xux330, xux331, xux332, xux333, xux334, Char(Zero), h) 27.17/11.49 new_splitGT2(xux185, xux186, xux187, xux188, xux189, xux190, Succ(xux1910), Succ(xux1920), ba) -> new_splitGT2(xux185, xux186, xux187, xux188, xux189, xux190, xux1910, xux1920, ba) 27.17/11.49 new_splitGT1(xux511, xux512, xux513, xux514, xux515, xux516, True, bb) -> new_splitGT(xux514, xux516, bb) 27.17/11.49 new_splitGT3(Char(Succ(xux3000)), xux31, xux32, xux33, xux34, Char(Succ(xux4000)), h) -> new_splitGT2(xux3000, xux31, xux32, xux33, xux34, xux4000, xux4000, xux3000, h) 27.17/11.49 new_splitGT2(xux185, xux186, xux187, xux188, xux189, xux190, Zero, Zero, ba) -> new_splitGT20(xux185, xux186, xux187, xux188, xux189, xux190, ba) 27.17/11.49 new_splitGT2(xux185, xux186, xux187, xux188, xux189, xux190, Succ(xux1910), Zero, ba) -> new_splitGT(xux189, xux190, ba) 27.17/11.49 27.17/11.49 The TRS R consists of the following rules: 27.17/11.49 27.17/11.49 new_esEs5 -> False 27.17/11.49 new_esEs3(Succ(xux286000), Zero) -> new_esEs4 27.17/11.49 new_esEs6 -> True 27.17/11.49 new_esEs3(Succ(xux286000), Succ(xux281000)) -> new_esEs3(xux286000, xux281000) 27.17/11.49 new_esEs4 -> False 27.17/11.49 new_esEs3(Zero, Succ(xux281000)) -> new_esEs6 27.17/11.49 new_esEs3(Zero, Zero) -> new_esEs5 27.17/11.49 27.17/11.49 The set Q consists of the following terms: 27.17/11.49 27.17/11.49 new_esEs5 27.17/11.49 new_esEs3(Succ(x0), Zero) 27.17/11.49 new_esEs3(Succ(x0), Succ(x1)) 27.17/11.49 new_esEs4 27.17/11.49 new_esEs6 27.17/11.49 new_esEs3(Zero, Succ(x0)) 27.17/11.49 new_esEs3(Zero, Zero) 27.17/11.49 27.17/11.49 We have to consider all minimal (P,Q,R)-chains. 27.17/11.49 ---------------------------------------- 27.17/11.49 27.17/11.49 (19) DependencyGraphProof (EQUIVALENT) 27.17/11.49 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs. 27.17/11.49 ---------------------------------------- 27.17/11.49 27.17/11.49 (20) 27.17/11.49 Complex Obligation (AND) 27.17/11.49 27.17/11.49 ---------------------------------------- 27.17/11.49 27.17/11.49 (21) 27.17/11.49 Obligation: 27.17/11.49 Q DP problem: 27.17/11.49 The TRS P consists of the following rules: 27.17/11.49 27.17/11.49 new_splitGT3(Char(Succ(xux3000)), xux31, xux32, Branch(xux330, xux331, xux332, xux333, xux334), xux34, Char(Zero), h) -> new_splitGT3(xux330, xux331, xux332, xux333, xux334, Char(Zero), h) 27.17/11.49 27.17/11.49 The TRS R consists of the following rules: 27.17/11.49 27.17/11.49 new_esEs5 -> False 27.17/11.49 new_esEs3(Succ(xux286000), Zero) -> new_esEs4 27.17/11.49 new_esEs6 -> True 27.17/11.49 new_esEs3(Succ(xux286000), Succ(xux281000)) -> new_esEs3(xux286000, xux281000) 27.17/11.49 new_esEs4 -> False 27.17/11.49 new_esEs3(Zero, Succ(xux281000)) -> new_esEs6 27.17/11.49 new_esEs3(Zero, Zero) -> new_esEs5 27.17/11.49 27.17/11.49 The set Q consists of the following terms: 27.17/11.49 27.17/11.49 new_esEs5 27.17/11.49 new_esEs3(Succ(x0), Zero) 27.17/11.49 new_esEs3(Succ(x0), Succ(x1)) 27.17/11.49 new_esEs4 27.17/11.49 new_esEs6 27.17/11.49 new_esEs3(Zero, Succ(x0)) 27.17/11.49 new_esEs3(Zero, Zero) 27.17/11.49 27.17/11.49 We have to consider all minimal (P,Q,R)-chains. 27.17/11.49 ---------------------------------------- 27.17/11.49 27.17/11.49 (22) QDPSizeChangeProof (EQUIVALENT) 27.17/11.49 By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. 27.17/11.49 27.17/11.49 From the DPs we obtained the following set of size-change graphs: 27.17/11.49 *new_splitGT3(Char(Succ(xux3000)), xux31, xux32, Branch(xux330, xux331, xux332, xux333, xux334), xux34, Char(Zero), h) -> new_splitGT3(xux330, xux331, xux332, xux333, xux334, Char(Zero), h) 27.17/11.49 The graph contains the following edges 4 > 1, 4 > 2, 4 > 3, 4 > 4, 4 > 5, 6 >= 6, 7 >= 7 27.17/11.49 27.17/11.49 27.17/11.49 ---------------------------------------- 27.17/11.49 27.17/11.49 (23) 27.17/11.49 YES 27.17/11.49 27.17/11.49 ---------------------------------------- 27.17/11.49 27.17/11.49 (24) 27.17/11.49 Obligation: 27.17/11.49 Q DP problem: 27.17/11.49 The TRS P consists of the following rules: 27.17/11.49 27.17/11.49 new_splitGT3(Char(Zero), xux31, xux32, xux33, Branch(xux340, xux341, xux342, xux343, xux344), Char(Succ(xux4000)), h) -> new_splitGT3(xux340, xux341, xux342, xux343, xux344, Char(Succ(xux4000)), h) 27.17/11.49 new_splitGT3(Char(Succ(xux3000)), xux31, xux32, xux33, xux34, Char(Succ(xux4000)), h) -> new_splitGT2(xux3000, xux31, xux32, xux33, xux34, xux4000, xux4000, xux3000, h) 27.17/11.49 new_splitGT2(xux185, xux186, xux187, xux188, xux189, xux190, Zero, Succ(xux1920), ba) -> new_splitGT1(xux185, xux186, xux187, xux188, xux189, xux190, new_esEs3(Succ(xux190), Succ(xux185)), ba) 27.17/11.49 new_splitGT1(xux511, xux512, xux513, xux514, xux515, xux516, True, bb) -> new_splitGT(xux514, xux516, bb) 27.17/11.49 new_splitGT(Branch(xux340, xux341, xux342, xux343, xux344), xux4000, h) -> new_splitGT3(xux340, xux341, xux342, xux343, xux344, Char(Succ(xux4000)), h) 27.17/11.49 new_splitGT2(xux185, xux186, xux187, xux188, xux189, xux190, Succ(xux1910), Succ(xux1920), ba) -> new_splitGT2(xux185, xux186, xux187, xux188, xux189, xux190, xux1910, xux1920, ba) 27.17/11.49 new_splitGT2(xux185, xux186, xux187, xux188, xux189, xux190, Zero, Zero, ba) -> new_splitGT20(xux185, xux186, xux187, xux188, xux189, xux190, ba) 27.17/11.49 new_splitGT20(xux185, xux186, xux187, xux188, xux189, xux190, ba) -> new_splitGT1(xux185, xux186, xux187, xux188, xux189, xux190, new_esEs3(Succ(xux190), Succ(xux185)), ba) 27.17/11.49 new_splitGT2(xux185, xux186, xux187, xux188, xux189, xux190, Succ(xux1910), Zero, ba) -> new_splitGT(xux189, xux190, ba) 27.17/11.49 27.17/11.49 The TRS R consists of the following rules: 27.17/11.49 27.17/11.49 new_esEs5 -> False 27.17/11.49 new_esEs3(Succ(xux286000), Zero) -> new_esEs4 27.17/11.49 new_esEs6 -> True 27.17/11.49 new_esEs3(Succ(xux286000), Succ(xux281000)) -> new_esEs3(xux286000, xux281000) 27.17/11.49 new_esEs4 -> False 27.17/11.49 new_esEs3(Zero, Succ(xux281000)) -> new_esEs6 27.17/11.49 new_esEs3(Zero, Zero) -> new_esEs5 27.17/11.49 27.17/11.49 The set Q consists of the following terms: 27.17/11.49 27.17/11.49 new_esEs5 27.17/11.49 new_esEs3(Succ(x0), Zero) 27.17/11.49 new_esEs3(Succ(x0), Succ(x1)) 27.17/11.49 new_esEs4 27.17/11.49 new_esEs6 27.17/11.49 new_esEs3(Zero, Succ(x0)) 27.17/11.49 new_esEs3(Zero, Zero) 27.17/11.49 27.17/11.49 We have to consider all minimal (P,Q,R)-chains. 27.17/11.49 ---------------------------------------- 27.17/11.49 27.17/11.49 (25) TransformationProof (EQUIVALENT) 27.17/11.49 By rewriting [LPAR04] the rule new_splitGT2(xux185, xux186, xux187, xux188, xux189, xux190, Zero, Succ(xux1920), ba) -> new_splitGT1(xux185, xux186, xux187, xux188, xux189, xux190, new_esEs3(Succ(xux190), Succ(xux185)), ba) at position [6] we obtained the following new rules [LPAR04]: 27.17/11.49 27.17/11.49 (new_splitGT2(xux185, xux186, xux187, xux188, xux189, xux190, Zero, Succ(xux1920), ba) -> new_splitGT1(xux185, xux186, xux187, xux188, xux189, xux190, new_esEs3(xux190, xux185), ba),new_splitGT2(xux185, xux186, xux187, xux188, xux189, xux190, Zero, Succ(xux1920), ba) -> new_splitGT1(xux185, xux186, xux187, xux188, xux189, xux190, new_esEs3(xux190, xux185), ba)) 27.17/11.49 27.17/11.49 27.17/11.49 ---------------------------------------- 27.17/11.49 27.17/11.49 (26) 27.17/11.49 Obligation: 27.17/11.49 Q DP problem: 27.17/11.49 The TRS P consists of the following rules: 27.17/11.49 27.17/11.49 new_splitGT3(Char(Zero), xux31, xux32, xux33, Branch(xux340, xux341, xux342, xux343, xux344), Char(Succ(xux4000)), h) -> new_splitGT3(xux340, xux341, xux342, xux343, xux344, Char(Succ(xux4000)), h) 27.17/11.49 new_splitGT3(Char(Succ(xux3000)), xux31, xux32, xux33, xux34, Char(Succ(xux4000)), h) -> new_splitGT2(xux3000, xux31, xux32, xux33, xux34, xux4000, xux4000, xux3000, h) 27.17/11.49 new_splitGT1(xux511, xux512, xux513, xux514, xux515, xux516, True, bb) -> new_splitGT(xux514, xux516, bb) 27.17/11.49 new_splitGT(Branch(xux340, xux341, xux342, xux343, xux344), xux4000, h) -> new_splitGT3(xux340, xux341, xux342, xux343, xux344, Char(Succ(xux4000)), h) 27.17/11.49 new_splitGT2(xux185, xux186, xux187, xux188, xux189, xux190, Succ(xux1910), Succ(xux1920), ba) -> new_splitGT2(xux185, xux186, xux187, xux188, xux189, xux190, xux1910, xux1920, ba) 27.17/11.49 new_splitGT2(xux185, xux186, xux187, xux188, xux189, xux190, Zero, Zero, ba) -> new_splitGT20(xux185, xux186, xux187, xux188, xux189, xux190, ba) 27.17/11.49 new_splitGT20(xux185, xux186, xux187, xux188, xux189, xux190, ba) -> new_splitGT1(xux185, xux186, xux187, xux188, xux189, xux190, new_esEs3(Succ(xux190), Succ(xux185)), ba) 27.17/11.49 new_splitGT2(xux185, xux186, xux187, xux188, xux189, xux190, Succ(xux1910), Zero, ba) -> new_splitGT(xux189, xux190, ba) 27.17/11.49 new_splitGT2(xux185, xux186, xux187, xux188, xux189, xux190, Zero, Succ(xux1920), ba) -> new_splitGT1(xux185, xux186, xux187, xux188, xux189, xux190, new_esEs3(xux190, xux185), ba) 27.17/11.49 27.17/11.49 The TRS R consists of the following rules: 27.17/11.49 27.17/11.49 new_esEs5 -> False 27.17/11.49 new_esEs3(Succ(xux286000), Zero) -> new_esEs4 27.17/11.49 new_esEs6 -> True 27.17/11.49 new_esEs3(Succ(xux286000), Succ(xux281000)) -> new_esEs3(xux286000, xux281000) 27.17/11.49 new_esEs4 -> False 27.17/11.49 new_esEs3(Zero, Succ(xux281000)) -> new_esEs6 27.17/11.49 new_esEs3(Zero, Zero) -> new_esEs5 27.17/11.49 27.17/11.49 The set Q consists of the following terms: 27.17/11.49 27.17/11.49 new_esEs5 27.17/11.49 new_esEs3(Succ(x0), Zero) 27.17/11.49 new_esEs3(Succ(x0), Succ(x1)) 27.17/11.49 new_esEs4 27.17/11.49 new_esEs6 27.17/11.49 new_esEs3(Zero, Succ(x0)) 27.17/11.49 new_esEs3(Zero, Zero) 27.17/11.49 27.17/11.49 We have to consider all minimal (P,Q,R)-chains. 27.17/11.49 ---------------------------------------- 27.17/11.49 27.17/11.49 (27) TransformationProof (EQUIVALENT) 27.17/11.49 By rewriting [LPAR04] the rule new_splitGT20(xux185, xux186, xux187, xux188, xux189, xux190, ba) -> new_splitGT1(xux185, xux186, xux187, xux188, xux189, xux190, new_esEs3(Succ(xux190), Succ(xux185)), ba) at position [6] we obtained the following new rules [LPAR04]: 27.17/11.49 27.17/11.49 (new_splitGT20(xux185, xux186, xux187, xux188, xux189, xux190, ba) -> new_splitGT1(xux185, xux186, xux187, xux188, xux189, xux190, new_esEs3(xux190, xux185), ba),new_splitGT20(xux185, xux186, xux187, xux188, xux189, xux190, ba) -> new_splitGT1(xux185, xux186, xux187, xux188, xux189, xux190, new_esEs3(xux190, xux185), ba)) 27.17/11.49 27.17/11.49 27.17/11.49 ---------------------------------------- 27.17/11.49 27.17/11.49 (28) 27.17/11.49 Obligation: 27.17/11.49 Q DP problem: 27.17/11.49 The TRS P consists of the following rules: 27.17/11.49 27.17/11.49 new_splitGT3(Char(Zero), xux31, xux32, xux33, Branch(xux340, xux341, xux342, xux343, xux344), Char(Succ(xux4000)), h) -> new_splitGT3(xux340, xux341, xux342, xux343, xux344, Char(Succ(xux4000)), h) 27.17/11.49 new_splitGT3(Char(Succ(xux3000)), xux31, xux32, xux33, xux34, Char(Succ(xux4000)), h) -> new_splitGT2(xux3000, xux31, xux32, xux33, xux34, xux4000, xux4000, xux3000, h) 27.17/11.49 new_splitGT1(xux511, xux512, xux513, xux514, xux515, xux516, True, bb) -> new_splitGT(xux514, xux516, bb) 27.17/11.49 new_splitGT(Branch(xux340, xux341, xux342, xux343, xux344), xux4000, h) -> new_splitGT3(xux340, xux341, xux342, xux343, xux344, Char(Succ(xux4000)), h) 27.17/11.49 new_splitGT2(xux185, xux186, xux187, xux188, xux189, xux190, Succ(xux1910), Succ(xux1920), ba) -> new_splitGT2(xux185, xux186, xux187, xux188, xux189, xux190, xux1910, xux1920, ba) 27.17/11.49 new_splitGT2(xux185, xux186, xux187, xux188, xux189, xux190, Zero, Zero, ba) -> new_splitGT20(xux185, xux186, xux187, xux188, xux189, xux190, ba) 27.17/11.49 new_splitGT2(xux185, xux186, xux187, xux188, xux189, xux190, Succ(xux1910), Zero, ba) -> new_splitGT(xux189, xux190, ba) 27.17/11.49 new_splitGT2(xux185, xux186, xux187, xux188, xux189, xux190, Zero, Succ(xux1920), ba) -> new_splitGT1(xux185, xux186, xux187, xux188, xux189, xux190, new_esEs3(xux190, xux185), ba) 27.17/11.49 new_splitGT20(xux185, xux186, xux187, xux188, xux189, xux190, ba) -> new_splitGT1(xux185, xux186, xux187, xux188, xux189, xux190, new_esEs3(xux190, xux185), ba) 27.17/11.49 27.17/11.49 The TRS R consists of the following rules: 27.17/11.49 27.17/11.49 new_esEs5 -> False 27.17/11.49 new_esEs3(Succ(xux286000), Zero) -> new_esEs4 27.17/11.49 new_esEs6 -> True 27.17/11.49 new_esEs3(Succ(xux286000), Succ(xux281000)) -> new_esEs3(xux286000, xux281000) 27.17/11.49 new_esEs4 -> False 27.17/11.49 new_esEs3(Zero, Succ(xux281000)) -> new_esEs6 27.17/11.49 new_esEs3(Zero, Zero) -> new_esEs5 27.17/11.49 27.17/11.49 The set Q consists of the following terms: 27.17/11.49 27.17/11.49 new_esEs5 27.17/11.49 new_esEs3(Succ(x0), Zero) 27.17/11.49 new_esEs3(Succ(x0), Succ(x1)) 27.17/11.49 new_esEs4 27.17/11.49 new_esEs6 27.17/11.49 new_esEs3(Zero, Succ(x0)) 27.17/11.49 new_esEs3(Zero, Zero) 27.17/11.49 27.17/11.49 We have to consider all minimal (P,Q,R)-chains. 27.17/11.49 ---------------------------------------- 27.17/11.49 27.17/11.49 (29) QDPSizeChangeProof (EQUIVALENT) 27.17/11.49 By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. 27.17/11.49 27.17/11.49 From the DPs we obtained the following set of size-change graphs: 27.17/11.49 *new_splitGT3(Char(Zero), xux31, xux32, xux33, Branch(xux340, xux341, xux342, xux343, xux344), Char(Succ(xux4000)), h) -> new_splitGT3(xux340, xux341, xux342, xux343, xux344, Char(Succ(xux4000)), h) 27.17/11.49 The graph contains the following edges 5 > 1, 5 > 2, 5 > 3, 5 > 4, 5 > 5, 6 >= 6, 7 >= 7 27.17/11.49 27.17/11.49 27.17/11.49 *new_splitGT3(Char(Succ(xux3000)), xux31, xux32, xux33, xux34, Char(Succ(xux4000)), h) -> new_splitGT2(xux3000, xux31, xux32, xux33, xux34, xux4000, xux4000, xux3000, h) 27.17/11.49 The graph contains the following edges 1 > 1, 2 >= 2, 3 >= 3, 4 >= 4, 5 >= 5, 6 > 6, 6 > 7, 1 > 8, 7 >= 9 27.17/11.49 27.17/11.49 27.17/11.49 *new_splitGT(Branch(xux340, xux341, xux342, xux343, xux344), xux4000, h) -> new_splitGT3(xux340, xux341, xux342, xux343, xux344, Char(Succ(xux4000)), h) 27.17/11.49 The graph contains the following edges 1 > 1, 1 > 2, 1 > 3, 1 > 4, 1 > 5, 3 >= 7 27.17/11.49 27.17/11.49 27.17/11.49 *new_splitGT2(xux185, xux186, xux187, xux188, xux189, xux190, Zero, Succ(xux1920), ba) -> new_splitGT1(xux185, xux186, xux187, xux188, xux189, xux190, new_esEs3(xux190, xux185), ba) 27.17/11.49 The graph contains the following edges 1 >= 1, 2 >= 2, 3 >= 3, 4 >= 4, 5 >= 5, 6 >= 6, 9 >= 8 27.17/11.49 27.17/11.49 27.17/11.49 *new_splitGT20(xux185, xux186, xux187, xux188, xux189, xux190, ba) -> new_splitGT1(xux185, xux186, xux187, xux188, xux189, xux190, new_esEs3(xux190, xux185), ba) 27.17/11.49 The graph contains the following edges 1 >= 1, 2 >= 2, 3 >= 3, 4 >= 4, 5 >= 5, 6 >= 6, 7 >= 8 27.17/11.49 27.17/11.49 27.17/11.49 *new_splitGT1(xux511, xux512, xux513, xux514, xux515, xux516, True, bb) -> new_splitGT(xux514, xux516, bb) 27.17/11.49 The graph contains the following edges 4 >= 1, 6 >= 2, 8 >= 3 27.17/11.49 27.17/11.49 27.17/11.49 *new_splitGT2(xux185, xux186, xux187, xux188, xux189, xux190, Succ(xux1910), Zero, ba) -> new_splitGT(xux189, xux190, ba) 27.17/11.49 The graph contains the following edges 5 >= 1, 6 >= 2, 9 >= 3 27.17/11.49 27.17/11.49 27.17/11.49 *new_splitGT2(xux185, xux186, xux187, xux188, xux189, xux190, Succ(xux1910), Succ(xux1920), ba) -> new_splitGT2(xux185, xux186, xux187, xux188, xux189, xux190, xux1910, xux1920, ba) 27.17/11.49 The graph contains the following edges 1 >= 1, 2 >= 2, 3 >= 3, 4 >= 4, 5 >= 5, 6 >= 6, 7 > 7, 8 > 8, 9 >= 9 27.17/11.49 27.17/11.49 27.17/11.49 *new_splitGT2(xux185, xux186, xux187, xux188, xux189, xux190, Zero, Zero, ba) -> new_splitGT20(xux185, xux186, xux187, xux188, xux189, xux190, ba) 27.17/11.49 The graph contains the following edges 1 >= 1, 2 >= 2, 3 >= 3, 4 >= 4, 5 >= 5, 6 >= 6, 9 >= 7 27.17/11.49 27.17/11.49 27.17/11.49 ---------------------------------------- 27.17/11.49 27.17/11.49 (30) 27.17/11.49 YES 27.17/11.49 27.17/11.49 ---------------------------------------- 27.17/11.49 27.17/11.49 (31) 27.17/11.49 Obligation: 27.17/11.49 Q DP problem: 27.17/11.49 The TRS P consists of the following rules: 27.17/11.49 27.17/11.49 new_plusFM(Branch(xux30, xux31, xux32, xux33, xux34), Branch(xux40, xux41, xux42, xux43, xux44), h) -> new_plusFM(new_splitLT30(xux30, xux31, xux32, xux33, xux34, xux40, h), xux43, h) 27.17/11.49 new_plusFM(Branch(xux30, xux31, xux32, xux33, xux34), Branch(xux40, xux41, xux42, xux43, xux44), h) -> new_plusFM(new_splitGT30(xux30, xux31, xux32, xux33, xux34, xux40, h), xux44, h) 27.17/11.49 27.17/11.49 The TRS R consists of the following rules: 27.17/11.49 27.17/11.49 new_esEs2(Pos(Succ(xux64400)), Neg(xux64200)) -> new_esEs4 27.17/11.49 new_primPlusNat0(Zero, Zero) -> Zero 27.17/11.49 new_mkBalBranch6MkBalBranch01(xux657, xux658, xux660, xux723, xux7220, xux7221, xux7222, EmptyFM, xux7224, False, dc, dd) -> error([]) 27.17/11.49 new_mkVBalBranch7(xux286, xux287, Branch(xux28540, xux28541, xux28542, xux28543, xux28544), xux2790, xux2791, xux279200, xux2793, xux2794, bc, bd) -> new_mkVBalBranch30(xux286, xux287, xux28540, xux28541, xux28542, xux28543, xux28544, xux2790, xux2791, Pos(Succ(xux279200)), xux2793, xux2794, bc, bd) 27.17/11.49 new_splitLT22(xux194, xux195, xux196, xux197, xux198, xux199, eg) -> new_splitLT10(xux194, xux195, xux196, xux197, xux198, xux199, Succ(xux199), Succ(xux194), eg) 27.17/11.49 new_mkBranch1(xux681, xux682, xux683, xux684, xux685, xux686, xux687, xux688, xux689, xux690, xux691, xux692, ec, ed) -> Branch(xux682, xux683, new_primPlusInt(new_ps(Branch(xux684, xux685, xux686, xux687, xux688), Branch(xux689, xux690, Pos(Zero), xux691, xux692), xux682, ec, ed), new_mkBranchRight_size(Branch(xux684, xux685, xux686, xux687, xux688), Branch(xux689, xux690, Pos(Zero), xux691, xux692), xux682, ec, ed)), Branch(xux684, xux685, xux686, xux687, xux688), Branch(xux689, xux690, Pos(Zero), xux691, xux692)) 27.17/11.49 new_splitGT10(xux511, xux512, xux513, xux514, xux515, xux516, False, eb) -> xux515 27.17/11.49 new_sr(Neg(xux7500)) -> Neg(new_primMulNat1(xux7500)) 27.17/11.49 new_lt1(Char(xux400), Char(xux500)) -> new_esEs3(xux400, xux500) 27.17/11.49 new_mkBranchResult(xux657, xux658, xux660, xux722, dc, dd) -> Branch(xux657, xux658, new_primPlusInt(new_ps(xux660, xux722, xux657, dc, dd), new_mkBranchRight_size(xux660, xux722, xux657, dc, dd)), xux660, xux722) 27.17/11.49 new_mkVBalBranch8(xux286, xux287, EmptyFM, xux2790, xux2791, xux2793, xux2794, bc, bd) -> new_addToFM0(xux2790, xux2791, Neg(Zero), xux2793, xux2794, xux286, xux287, bc, bd) 27.17/11.49 new_mkBranchRight_size(xux660, xux722, xux657, dc, dd) -> new_sizeFM(xux722, dc, dd) 27.17/11.49 new_esEs8 -> True 27.17/11.49 new_primPlusInt(Neg(xux7660), Neg(xux7650)) -> Neg(new_primPlusNat0(xux7660, xux7650)) 27.17/11.49 new_esEs12(Pos(Succ(xux5200))) -> new_esEs3(Zero, Succ(xux5200)) 27.17/11.49 new_primMulNat2(Succ(xux75800)) -> new_primPlusNat0(new_primMulNat0(xux75800), Succ(xux75800)) 27.17/11.49 new_emptyFM(be, bf) -> EmptyFM 27.17/11.49 new_esEs13(Zero, xux2790, xux2791, xux279200, xux2793, xux2794, xux2850, xux2851, xux2852, xux2853, xux2854, bc, bd) -> new_esEs14(new_sizeFM0(xux2850, xux2851, xux2852, xux2853, xux2854, bc, bd)) 27.17/11.49 new_addToFM0(xux2850, xux2851, xux2852, xux2853, xux2854, xux286, xux287, bc, bd) -> new_addToFM_C0(Branch(xux2850, xux2851, xux2852, xux2853, xux2854), xux286, xux287, bc, bd) 27.17/11.49 new_mkVBalBranch3MkVBalBranch13(xux2790, xux2791, xux2793, xux2794, xux2850, xux2851, xux2852, xux2853, xux2854, xux286, xux287, True, bc, bd) -> new_mkBalBranch6MkBalBranch5(xux2850, xux2851, xux2853, new_mkVBalBranch6(xux286, xux287, xux2854, xux2790, xux2791, xux2793, xux2794, bc, bd), new_mkVBalBranch6(xux286, xux287, xux2854, xux2790, xux2791, xux2793, xux2794, bc, bd), new_lt2(xux2850, xux2851, xux2853, new_mkVBalBranch6(xux286, xux287, xux2854, xux2790, xux2791, xux2793, xux2794, bc, bd), new_mkVBalBranch6(xux286, xux287, xux2854, xux2790, xux2791, xux2793, xux2794, bc, bd), bc, bd), bc, bd) 27.17/11.49 new_lt(xux644, xux6420, ty_Float) -> error([]) 27.17/11.49 new_gt(xux644, xux639, app(app(ty_Either, cg), da)) -> error([]) 27.17/11.49 new_gt(xux644, xux639, ty_Integer) -> error([]) 27.17/11.49 new_lt(xux644, xux6420, ty_Bool) -> error([]) 27.17/11.49 new_mkVBalBranch9(xux286, xux287, xux2850, xux2851, xux2852, xux2853, xux2854, Branch(xux27930, xux27931, xux27932, xux27933, xux27934), bc, bd) -> new_mkVBalBranch30(xux286, xux287, xux2850, xux2851, xux2852, xux2853, xux2854, xux27930, xux27931, xux27932, xux27933, xux27934, bc, bd) 27.17/11.49 new_esEs14(Pos(Zero)) -> new_esEs5 27.17/11.49 new_lt2(xux657, xux658, xux660, xux739, xux738, dc, dd) -> new_esEs22(new_mkBalBranch6Size_l(xux657, xux658, xux660, xux739, dc, dd), new_mkBalBranch6Size_r(xux657, xux658, xux660, xux738, dc, dd)) 27.17/11.49 new_lt(xux644, xux6420, ty_Double) -> error([]) 27.17/11.49 new_mkBalBranch6MkBalBranch01(xux657, xux658, xux660, xux723, xux7220, xux7221, xux7222, Branch(xux72230, xux72231, xux72232, xux72233, xux72234), xux7224, False, dc, dd) -> new_mkBranch0(Succ(Succ(Succ(Succ(Zero)))), xux72230, xux72231, new_mkBranchResult(xux657, xux658, xux660, xux72233, dc, dd), Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), xux7220, xux7221, xux72234, xux7224, dc, dd) 27.17/11.49 new_gt0(Pos(Succ(xux64400)), Neg(xux6390)) -> new_esEs8 27.17/11.49 new_gt(Char(xux6440), Char(xux6390), ty_Char) -> new_esEs7(xux6440, xux6390) 27.17/11.49 new_splitGT4(EmptyFM, h) -> new_emptyFM0(h) 27.17/11.49 new_splitLT21(xux194, xux195, xux196, xux197, xux198, xux199, Succ(xux2000), Succ(xux2010), eg) -> new_splitLT21(xux194, xux195, xux196, xux197, xux198, xux199, xux2000, xux2010, eg) 27.17/11.49 new_mkVBalBranch3MkVBalBranch20(xux2790, xux2791, Neg(Zero), xux2793, xux2794, xux2850, xux2851, xux2852, xux2853, xux2854, xux286, xux287, False, bc, bd) -> new_mkVBalBranch3MkVBalBranch14(xux2790, xux2791, xux2793, xux2794, xux2850, xux2851, xux2852, xux2853, xux2854, xux286, xux287, new_esEs14(new_sizeFM0(xux2850, xux2851, xux2852, xux2853, xux2854, bc, bd)), bc, bd) 27.17/11.49 new_gt(xux644, xux639, ty_Double) -> error([]) 27.17/11.49 new_mkBalBranch6MkBalBranch4(xux657, xux658, xux660, xux723, xux722, False, dc, dd) -> new_mkBalBranch6MkBalBranch3(xux657, xux658, xux660, xux723, xux722, new_gt0(new_mkBalBranch6Size_l(xux657, xux658, xux660, xux723, dc, dd), new_sr(new_mkBalBranch6Size_r(xux657, xux658, xux660, xux723, dc, dd))), dc, dd) 27.17/11.49 new_mkVBalBranch30(xux286, xux287, xux2850, xux2851, xux2852, xux2853, xux2854, xux27930, xux27931, xux27932, xux27933, xux27934, bc, bd) -> new_mkVBalBranch3MkVBalBranch20(xux27930, xux27931, xux27932, xux27933, xux27934, xux2850, xux2851, xux2852, xux2853, xux2854, xux286, xux287, new_esEs10(new_sizeFM(Branch(xux2850, xux2851, xux2852, xux2853, xux2854), bc, bd), xux27930, xux27931, xux27932, xux27933, xux27934, xux2850, xux2851, xux2852, xux2853, xux2854, bc, bd), bc, bd) 27.17/11.49 new_esEs19(Zero) -> new_esEs3(Zero, Succ(Succ(Zero))) 27.17/11.49 new_esEs18(Zero, xux27930, xux27931, xux27932, xux27933, xux27934, xux2850, xux2851, xux2852, xux2853, xux2854, bc, bd) -> new_esEs12(new_sizeFM(Branch(xux27930, xux27931, xux27932, xux27933, xux27934), bc, bd)) 27.17/11.49 new_gt0(Pos(Zero), Neg(Zero)) -> new_esEs1 27.17/11.49 new_gt0(Neg(Zero), Pos(Zero)) -> new_esEs1 27.17/11.49 new_esEs3(Succ(xux286000), Succ(xux281000)) -> new_esEs3(xux286000, xux281000) 27.17/11.49 new_gt(xux644, xux639, ty_@0) -> error([]) 27.17/11.49 new_mkBalBranch6MkBalBranch01(xux657, xux658, xux660, xux723, xux7220, xux7221, xux7222, xux7223, xux7224, True, dc, dd) -> new_mkBranchResult(xux7220, xux7221, new_mkBranchResult(xux657, xux658, xux660, xux7223, dc, dd), xux7224, dc, dd) 27.17/11.49 new_mkVBalBranch3MkVBalBranch13(xux2790, xux2791, xux2793, xux2794, xux2850, xux2851, xux2852, xux2853, xux2854, xux286, xux287, False, bc, bd) -> new_mkBranch1(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))))), xux286, xux287, xux2850, xux2851, xux2852, xux2853, xux2854, xux2790, xux2791, xux2793, xux2794, bc, bd) 27.17/11.49 new_splitLT30(Char(Zero), xux31, xux32, xux33, xux34, Char(Zero), h) -> xux33 27.17/11.49 new_primMinusNat0(Zero, Zero) -> Pos(Zero) 27.17/11.49 new_splitGT30(Char(Succ(xux3000)), xux31, xux32, xux33, xux34, Char(Succ(xux4000)), h) -> new_splitGT21(xux3000, xux31, xux32, xux33, xux34, xux4000, xux4000, xux3000, h) 27.17/11.49 new_mkVBalBranch5(xux40, xux41, Branch(xux60, xux61, xux62, xux63, xux64), EmptyFM, h) -> new_addToFM(Branch(xux60, xux61, xux62, xux63, xux64), xux40, xux41, h) 27.17/11.49 new_primPlusInt(Pos(xux7660), Neg(xux7650)) -> new_primMinusNat0(xux7660, xux7650) 27.17/11.49 new_primPlusInt(Neg(xux7660), Pos(xux7650)) -> new_primMinusNat0(xux7650, xux7660) 27.17/11.49 new_gt(xux644, xux639, app(ty_Maybe, cf)) -> error([]) 27.17/11.49 new_esEs2(Pos(Zero), Neg(Zero)) -> new_esEs5 27.17/11.49 new_esEs2(Neg(Zero), Pos(Zero)) -> new_esEs5 27.17/11.49 new_mkVBalBranch6(xux286, xux287, EmptyFM, xux2790, xux2791, xux2793, xux2794, bc, bd) -> new_addToFM0(xux2790, xux2791, Pos(Zero), xux2793, xux2794, xux286, xux287, bc, bd) 27.17/11.49 new_mkVBalBranch10(xux286, xux287, Branch(xux28540, xux28541, xux28542, xux28543, xux28544), xux2790, xux2791, xux279200, xux2793, xux2794, bc, bd) -> new_mkVBalBranch30(xux286, xux287, xux28540, xux28541, xux28542, xux28543, xux28544, xux2790, xux2791, Neg(Succ(xux279200)), xux2793, xux2794, bc, bd) 27.17/11.49 new_esEs17(xux6010, Pos(xux520)) -> new_esEs3(Succ(xux6010), xux520) 27.17/11.49 new_addToFM_C20(xux639, xux640, xux641, xux642, xux643, xux644, xux645, False, be, bf) -> new_addToFM_C10(xux639, xux640, xux641, xux642, xux643, xux644, xux645, new_gt(xux644, xux639, be), be, bf) 27.17/11.49 new_esEs14(Pos(Succ(xux5200))) -> new_esEs6 27.17/11.49 new_mkBranch0(xux789, xux790, xux791, xux792, xux793, xux794, xux795, xux796, xux797, dg, dh) -> new_mkBranchResult(xux790, xux791, xux792, new_mkBranch3(xux793, xux794, xux795, xux796, xux797, dg, dh), dg, dh) 27.17/11.49 new_esEs7(Succ(xux64400), Zero) -> new_esEs8 27.17/11.49 new_gt(xux644, xux639, app(ty_Ratio, ce)) -> error([]) 27.17/11.49 new_esEs2(Neg(Zero), Pos(Succ(xux642000))) -> new_esEs6 27.17/11.49 new_splitLT10(xux520, xux521, xux522, xux523, xux524, xux525, Succ(xux5260), Zero, db) -> new_mkVBalBranch5(Char(Succ(xux520)), xux521, xux523, new_splitLT0(xux524, xux525, db), db) 27.17/11.49 new_mkVBalBranch5(xux40, xux41, Branch(xux60, xux61, xux62, xux63, xux64), Branch(xux50, xux51, xux52, xux53, xux54), h) -> new_mkVBalBranch3MkVBalBranch20(xux50, xux51, xux52, xux53, xux54, xux60, xux61, xux62, xux63, xux64, xux40, xux41, new_esEs10(new_sizeFM0(xux60, xux61, xux62, xux63, xux64, ty_Char, h), xux50, xux51, xux52, xux53, xux54, xux60, xux61, xux62, xux63, xux64, ty_Char, h), ty_Char, h) 27.17/11.49 new_esEs21(Succ(xux7520)) -> new_esEs6 27.17/11.49 new_gt0(Neg(Succ(xux64400)), Neg(xux6390)) -> new_esEs7(xux6390, Succ(xux64400)) 27.17/11.49 new_gt(xux644, xux639, ty_Ordering) -> error([]) 27.17/11.49 new_splitLT10(xux520, xux521, xux522, xux523, xux524, xux525, Zero, Succ(xux5270), db) -> new_splitLT11(xux520, xux521, xux522, xux523, xux524, xux525, db) 27.17/11.49 new_esEs16(xux6020, Neg(xux520)) -> new_esEs3(xux520, Succ(xux6020)) 27.17/11.49 new_mkVBalBranch3MkVBalBranch14(xux2790, xux2791, xux2793, xux2794, xux2850, xux2851, xux2852, xux2853, xux2854, xux286, xux287, False, bc, bd) -> new_mkBranch4(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))))), xux286, xux287, xux2850, xux2851, xux2852, xux2853, xux2854, xux2790, xux2791, xux2793, xux2794, bc, bd) 27.17/11.49 new_splitGT21(xux185, xux186, xux187, xux188, xux189, xux190, Succ(xux1910), Zero, ea) -> new_splitGT0(xux189, xux190, ea) 27.17/11.49 new_mkVBalBranch3MkVBalBranch14(xux2790, xux2791, xux2793, xux2794, xux2850, xux2851, xux2852, xux2853, xux2854, xux286, xux287, True, bc, bd) -> new_mkBalBranch6MkBalBranch5(xux2850, xux2851, xux2853, new_mkVBalBranch8(xux286, xux287, xux2854, xux2790, xux2791, xux2793, xux2794, bc, bd), new_mkVBalBranch8(xux286, xux287, xux2854, xux2790, xux2791, xux2793, xux2794, bc, bd), new_lt2(xux2850, xux2851, xux2853, new_mkVBalBranch8(xux286, xux287, xux2854, xux2790, xux2791, xux2793, xux2794, bc, bd), new_mkVBalBranch8(xux286, xux287, xux2854, xux2790, xux2791, xux2793, xux2794, bc, bd), bc, bd), bc, bd) 27.17/11.49 new_esEs20(Zero, Zero) -> new_esEs2(Pos(Zero), Pos(Succ(Succ(Zero)))) 27.17/11.49 new_esEs22(Pos(xux7480), Neg(xux7450)) -> new_esEs20(xux7480, xux7450) 27.17/11.49 new_esEs22(Neg(xux7480), Pos(xux7450)) -> new_esEs20(xux7450, xux7480) 27.17/11.49 new_esEs17(xux6010, Neg(xux520)) -> new_esEs4 27.17/11.49 new_splitLT21(xux194, xux195, xux196, xux197, xux198, xux199, Succ(xux2000), Zero, eg) -> new_splitLT22(xux194, xux195, xux196, xux197, xux198, xux199, eg) 27.17/11.49 new_esEs4 -> False 27.17/11.49 new_gt0(Neg(Zero), Pos(Succ(xux63900))) -> new_esEs9 27.17/11.49 new_esEs10(Neg(xux7360), xux27930, xux27931, xux27932, xux27933, xux27934, xux2850, xux2851, xux2852, xux2853, xux2854, bc, bd) -> new_esEs15(new_primMulNat1(xux7360), xux27930, xux27931, xux27932, xux27933, xux27934, xux2850, xux2851, xux2852, xux2853, xux2854, bc, bd) 27.17/11.49 new_mkVBalBranch3MkVBalBranch20(xux2790, xux2791, Pos(Zero), xux2793, xux2794, xux2850, xux2851, xux2852, xux2853, xux2854, xux286, xux287, False, bc, bd) -> new_mkVBalBranch3MkVBalBranch13(xux2790, xux2791, xux2793, xux2794, xux2850, xux2851, xux2852, xux2853, xux2854, xux286, xux287, new_esEs12(new_sizeFM0(xux2850, xux2851, xux2852, xux2853, xux2854, bc, bd)), bc, bd) 27.17/11.49 new_esEs16(xux6020, Pos(xux520)) -> new_esEs6 27.17/11.49 new_mkBalBranch6MkBalBranch5(xux657, xux658, xux660, xux723, xux722, True, dc, dd) -> new_mkBranchResult(xux657, xux658, xux660, xux722, dc, dd) 27.17/11.49 new_esEs12(Pos(Zero)) -> new_esEs5 27.17/11.49 new_lt(xux644, xux6420, ty_Char) -> new_lt1(xux644, xux6420) 27.17/11.49 new_primMulNat2(Zero) -> Zero 27.17/11.49 new_splitLT30(Char(Succ(xux3000)), xux31, xux32, xux33, xux34, Char(Succ(xux4000)), h) -> new_splitLT21(xux3000, xux31, xux32, xux33, xux34, xux4000, xux4000, xux3000, h) 27.17/11.49 new_primMulNat(xux6200) -> new_primPlusNat0(new_primPlusNat0(new_primPlusNat0(new_primMulNat0(xux6200), Succ(xux6200)), Succ(xux6200)), Succ(xux6200)) 27.17/11.49 new_primMinusNat0(Succ(xux748000), Zero) -> Pos(Succ(xux748000)) 27.17/11.49 new_gt(xux644, xux639, app(ty_[], cb)) -> error([]) 27.17/11.49 new_splitLT10(xux520, xux521, xux522, xux523, xux524, xux525, Succ(xux5260), Succ(xux5270), db) -> new_splitLT10(xux520, xux521, xux522, xux523, xux524, xux525, xux5260, xux5270, db) 27.17/11.49 new_sr0(Pos(xux7580)) -> Pos(new_primMulNat2(xux7580)) 27.17/11.49 new_esEs11(Succ(xux6240), xux2790, xux2791, xux279200, xux2793, xux2794, xux2850, xux2851, xux2852, xux2853, xux2854, bc, bd) -> new_esEs17(xux6240, new_sizeFM0(xux2850, xux2851, xux2852, xux2853, xux2854, bc, bd)) 27.17/11.49 new_esEs5 -> False 27.17/11.49 new_primPlusInt(Pos(xux7660), Pos(xux7650)) -> Pos(new_primPlusNat0(xux7660, xux7650)) 27.17/11.49 new_splitLT11(xux520, xux521, xux522, xux523, xux524, xux525, db) -> xux523 27.17/11.49 new_addToFM_C20(xux639, xux640, xux641, xux642, xux643, xux644, xux645, True, be, bf) -> new_mkBalBranch6MkBalBranch5(xux639, xux640, new_addToFM_C0(xux642, xux644, xux645, be, bf), xux643, xux643, new_lt2(xux639, xux640, new_addToFM_C0(xux642, xux644, xux645, be, bf), xux643, xux643, be, bf), be, bf) 27.17/11.49 new_splitLT0(EmptyFM, xux4000, h) -> new_emptyFM0(h) 27.17/11.49 new_mkVBalBranch3MkVBalBranch15(xux2790, xux2791, xux279200, xux2793, xux2794, xux2850, xux2851, xux2852, xux2853, xux2854, xux286, xux287, False, bc, bd) -> new_mkBranch2(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))))), xux286, xux287, xux2850, xux2851, xux2852, xux2853, xux2854, xux2790, xux2791, xux279200, xux2793, xux2794, bc, bd) 27.17/11.49 new_gt(xux644, xux639, ty_Bool) -> error([]) 27.17/11.49 new_gt0(Neg(Succ(xux64400)), Pos(xux6390)) -> new_esEs9 27.17/11.49 new_splitGT4(Branch(xux330, xux331, xux332, xux333, xux334), h) -> new_splitGT30(xux330, xux331, xux332, xux333, xux334, Char(Zero), h) 27.17/11.49 new_esEs6 -> True 27.17/11.49 new_splitLT0(Branch(xux340, xux341, xux342, xux343, xux344), xux4000, h) -> new_splitLT30(xux340, xux341, xux342, xux343, xux344, Char(Succ(xux4000)), h) 27.17/11.49 new_addToFM(xux5, xux40, xux41, h) -> new_addToFM_C3(xux5, xux40, xux41, h) 27.17/11.49 new_esEs3(Zero, Zero) -> new_esEs5 27.17/11.49 new_gt(xux644, xux639, ty_Int) -> new_gt0(xux644, xux639) 27.17/11.49 new_splitLT30(Char(Zero), xux31, xux32, xux33, xux34, Char(Succ(xux4000)), h) -> new_mkVBalBranch5(Char(Zero), xux31, xux33, new_splitLT0(xux34, xux4000, h), h) 27.17/11.49 new_esEs12(Neg(Succ(xux5200))) -> new_esEs4 27.17/11.49 new_sizeFM(EmptyFM, dc, dd) -> Pos(Zero) 27.17/11.49 new_esEs2(Neg(Zero), Neg(Zero)) -> new_esEs5 27.17/11.49 new_mkVBalBranch5(xux40, xux41, EmptyFM, xux5, h) -> new_addToFM(xux5, xux40, xux41, h) 27.17/11.49 new_splitLT30(Char(Succ(xux3000)), xux31, xux32, EmptyFM, xux34, Char(Zero), h) -> new_emptyFM0(h) 27.17/11.49 new_mkBalBranch6Size_l(xux657, xux658, xux660, xux739, dc, dd) -> new_sizeFM(xux660, dc, dd) 27.17/11.49 new_mkBranch4(xux708, xux709, xux710, xux711, xux712, xux713, xux714, xux715, xux716, xux717, xux718, xux719, ee, ef) -> Branch(xux709, xux710, new_primPlusInt(new_ps(Branch(xux711, xux712, xux713, xux714, xux715), Branch(xux716, xux717, Neg(Zero), xux718, xux719), xux709, ee, ef), new_mkBranchRight_size(Branch(xux711, xux712, xux713, xux714, xux715), Branch(xux716, xux717, Neg(Zero), xux718, xux719), xux709, ee, ef)), Branch(xux711, xux712, xux713, xux714, xux715), Branch(xux716, xux717, Neg(Zero), xux718, xux719)) 27.17/11.49 new_lt(xux644, xux6420, ty_Int) -> new_lt0(xux644, xux6420) 27.17/11.49 new_esEs14(Neg(Zero)) -> new_esEs5 27.17/11.49 new_addToFM_C10(xux657, xux658, xux659, xux660, xux661, xux662, xux663, False, dc, dd) -> Branch(xux662, xux663, xux659, xux660, xux661) 27.17/11.49 new_lt(xux644, xux6420, ty_Ordering) -> error([]) 27.17/11.49 new_splitLT10(xux520, xux521, xux522, xux523, xux524, xux525, Zero, Zero, db) -> new_splitLT11(xux520, xux521, xux522, xux523, xux524, xux525, db) 27.17/11.49 new_gt0(Pos(Zero), Pos(Succ(xux63900))) -> new_esEs7(Zero, Succ(xux63900)) 27.17/11.49 new_splitGT21(xux185, xux186, xux187, xux188, xux189, xux190, Zero, Succ(xux1920), ea) -> new_splitGT22(xux185, xux186, xux187, xux188, xux189, xux190, ea) 27.17/11.49 new_lt(xux644, xux6420, app(app(app(ty_@3, bg), bh), ca)) -> error([]) 27.17/11.49 new_mkVBalBranch6(xux286, xux287, Branch(xux28540, xux28541, xux28542, xux28543, xux28544), xux2790, xux2791, xux2793, xux2794, bc, bd) -> new_mkVBalBranch30(xux286, xux287, xux28540, xux28541, xux28542, xux28543, xux28544, xux2790, xux2791, Pos(Zero), xux2793, xux2794, bc, bd) 27.17/11.49 new_gt0(Neg(Zero), Neg(Zero)) -> new_esEs1 27.17/11.49 new_esEs2(Neg(Succ(xux64400)), Pos(xux64200)) -> new_esEs6 27.17/11.49 new_sr0(Neg(xux7580)) -> Neg(new_primMulNat2(xux7580)) 27.17/11.49 new_sizeFM(Branch(xux7230, xux7231, xux7232, xux7233, xux7234), dc, dd) -> xux7232 27.17/11.49 new_gt0(Pos(Succ(xux64400)), Pos(xux6390)) -> new_esEs7(Succ(xux64400), xux6390) 27.17/11.49 new_splitLT21(xux194, xux195, xux196, xux197, xux198, xux199, Zero, Zero, eg) -> new_splitLT22(xux194, xux195, xux196, xux197, xux198, xux199, eg) 27.17/11.49 new_splitGT0(EmptyFM, xux4000, h) -> new_emptyFM0(h) 27.17/11.49 new_mkVBalBranch8(xux286, xux287, Branch(xux28540, xux28541, xux28542, xux28543, xux28544), xux2790, xux2791, xux2793, xux2794, bc, bd) -> new_mkVBalBranch30(xux286, xux287, xux28540, xux28541, xux28542, xux28543, xux28544, xux2790, xux2791, Neg(Zero), xux2793, xux2794, bc, bd) 27.17/11.49 new_primMinusNat0(Succ(xux748000), Succ(xux745000)) -> new_primMinusNat0(xux748000, xux745000) 27.17/11.49 new_esEs22(Pos(xux7480), Pos(xux7450)) -> new_esEs19(new_primPlusNat0(xux7480, xux7450)) 27.17/11.49 new_mkBalBranch6MkBalBranch11(xux657, xux658, xux6600, xux6601, xux6602, xux6603, xux6604, xux723, xux722, True, dc, dd) -> new_mkBranch0(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), xux6600, xux6601, xux6603, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), xux657, xux658, xux6604, xux722, dc, dd) 27.17/11.49 new_splitGT0(Branch(xux340, xux341, xux342, xux343, xux344), xux4000, h) -> new_splitGT30(xux340, xux341, xux342, xux343, xux344, Char(Succ(xux4000)), h) 27.17/11.49 new_esEs10(Pos(xux7360), xux27930, xux27931, xux27932, xux27933, xux27934, xux2850, xux2851, xux2852, xux2853, xux2854, bc, bd) -> new_esEs18(new_primMulNat1(xux7360), xux27930, xux27931, xux27932, xux27933, xux27934, xux2850, xux2851, xux2852, xux2853, xux2854, bc, bd) 27.17/11.49 new_esEs20(Zero, Succ(xux74500)) -> new_esEs2(Neg(Succ(xux74500)), Pos(Succ(Succ(Zero)))) 27.17/11.49 new_esEs15(Succ(xux7430), xux27930, xux27931, xux27932, xux27933, xux27934, xux2850, xux2851, xux2852, xux2853, xux2854, bc, bd) -> new_esEs16(xux7430, new_sizeFM(Branch(xux27930, xux27931, xux27932, xux27933, xux27934), bc, bd)) 27.17/11.49 new_mkBranch(xux694, xux695, xux696, xux697, xux698, xux699, xux700, xux701, xux702, xux703, xux704, xux705, xux706, ba, bb) -> Branch(xux695, xux696, new_primPlusInt(new_ps(Branch(xux697, xux698, xux699, xux700, xux701), Branch(xux702, xux703, Neg(Succ(xux704)), xux705, xux706), xux695, ba, bb), new_mkBranchRight_size(Branch(xux697, xux698, xux699, xux700, xux701), Branch(xux702, xux703, Neg(Succ(xux704)), xux705, xux706), xux695, ba, bb)), Branch(xux697, xux698, xux699, xux700, xux701), Branch(xux702, xux703, Neg(Succ(xux704)), xux705, xux706)) 27.17/11.49 new_primPlusNat0(Succ(xux2100), Succ(xux160)) -> Succ(Succ(new_primPlusNat0(xux2100, xux160))) 27.17/11.49 new_esEs2(Neg(Succ(xux64400)), Neg(xux64200)) -> new_esEs3(xux64200, Succ(xux64400)) 27.17/11.49 new_splitGT30(Char(Zero), xux31, xux32, xux33, xux34, Char(Zero), h) -> xux34 27.17/11.49 new_esEs7(Zero, Zero) -> new_esEs1 27.17/11.49 new_mkBalBranch6Size_r(xux657, xux658, xux660, xux723, dc, dd) -> new_sizeFM(xux723, dc, dd) 27.17/11.49 new_lt(xux644, xux6420, app(app(ty_@2, cc), cd)) -> error([]) 27.17/11.49 new_mkVBalBranch3MkVBalBranch20(xux2790, xux2791, xux2792, xux2793, xux2794, xux2850, xux2851, xux2852, xux2853, xux2854, xux286, xux287, True, bc, bd) -> new_mkBalBranch6MkBalBranch5(xux2790, xux2791, new_mkVBalBranch9(xux286, xux287, xux2850, xux2851, xux2852, xux2853, xux2854, xux2793, bc, bd), xux2794, xux2794, new_lt2(xux2790, xux2791, new_mkVBalBranch9(xux286, xux287, xux2850, xux2851, xux2852, xux2853, xux2854, xux2793, bc, bd), xux2794, xux2794, bc, bd), bc, bd) 27.17/11.49 new_esEs20(Succ(xux74800), Succ(xux74500)) -> new_esEs2(new_primMinusNat0(xux74800, xux74500), Pos(Succ(Succ(Zero)))) 27.17/11.49 new_esEs12(Neg(Zero)) -> new_esEs5 27.17/11.49 new_addToFM_C3(EmptyFM, xux40, xux41, h) -> Branch(xux40, xux41, Pos(Succ(Zero)), new_emptyFM0(h), new_emptyFM0(h)) 27.17/11.49 new_sr(Pos(xux7500)) -> Pos(new_primMulNat1(xux7500)) 27.17/11.49 new_lt(xux644, xux6420, ty_@0) -> error([]) 27.17/11.49 new_esEs2(Neg(Zero), Neg(Succ(xux642000))) -> new_esEs3(Succ(xux642000), Zero) 27.17/11.49 new_esEs9 -> False 27.17/11.49 new_esEs2(Pos(Zero), Pos(Succ(xux642000))) -> new_esEs3(Zero, Succ(xux642000)) 27.17/11.49 new_splitGT21(xux185, xux186, xux187, xux188, xux189, xux190, Succ(xux1910), Succ(xux1920), ea) -> new_splitGT21(xux185, xux186, xux187, xux188, xux189, xux190, xux1910, xux1920, ea) 27.17/11.49 new_mkBalBranch6MkBalBranch11(xux657, xux658, xux6600, xux6601, xux6602, xux6603, Branch(xux66040, xux66041, xux66042, xux66043, xux66044), xux723, xux722, False, dc, dd) -> new_mkBranch0(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), xux66040, xux66041, new_mkBranch3(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))), xux6600, xux6601, xux6603, xux66043, dc, dd), Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))))), xux657, xux658, xux66044, xux722, dc, dd) 27.17/11.49 new_addToFM_C3(Branch(xux50, xux51, xux52, xux53, xux54), xux40, xux41, h) -> new_addToFM_C20(xux50, xux51, xux52, xux53, xux54, xux40, xux41, new_lt1(xux40, xux50), ty_Char, h) 27.17/11.49 new_esEs18(Succ(xux7410), xux27930, xux27931, xux27932, xux27933, xux27934, xux2850, xux2851, xux2852, xux2853, xux2854, bc, bd) -> new_esEs17(xux7410, new_sizeFM(Branch(xux27930, xux27931, xux27932, xux27933, xux27934), bc, bd)) 27.17/11.49 new_esEs3(Zero, Succ(xux281000)) -> new_esEs6 27.17/11.49 new_esEs14(Neg(Succ(xux5200))) -> new_esEs3(Succ(xux5200), Zero) 27.17/11.49 new_gt0(Pos(Zero), Neg(Succ(xux63900))) -> new_esEs8 27.17/11.49 new_gt(xux644, xux639, ty_Float) -> error([]) 27.17/11.49 new_lt0(xux644, xux6420) -> new_esEs2(xux644, xux6420) 27.17/11.49 new_esEs11(Zero, xux2790, xux2791, xux279200, xux2793, xux2794, xux2850, xux2851, xux2852, xux2853, xux2854, bc, bd) -> new_esEs12(new_sizeFM0(xux2850, xux2851, xux2852, xux2853, xux2854, bc, bd)) 27.17/11.49 new_mkBalBranch6MkBalBranch3(xux657, xux658, xux660, xux723, xux722, False, dc, dd) -> new_mkBranchResult(xux657, xux658, xux660, xux722, dc, dd) 27.17/11.49 new_mkVBalBranch7(xux286, xux287, EmptyFM, xux2790, xux2791, xux279200, xux2793, xux2794, bc, bd) -> new_addToFM0(xux2790, xux2791, Pos(Succ(xux279200)), xux2793, xux2794, xux286, xux287, bc, bd) 27.17/11.49 new_gt0(Neg(Zero), Neg(Succ(xux63900))) -> new_esEs7(Succ(xux63900), Zero) 27.17/11.49 new_primPlusNat0(Succ(xux2100), Zero) -> Succ(xux2100) 27.17/11.49 new_primPlusNat0(Zero, Succ(xux160)) -> Succ(xux160) 27.17/11.49 new_lt(xux644, xux6420, app(ty_Ratio, ce)) -> error([]) 27.17/11.49 new_esEs15(Zero, xux27930, xux27931, xux27932, xux27933, xux27934, xux2850, xux2851, xux2852, xux2853, xux2854, bc, bd) -> new_esEs14(new_sizeFM(Branch(xux27930, xux27931, xux27932, xux27933, xux27934), bc, bd)) 27.17/11.49 new_splitGT21(xux185, xux186, xux187, xux188, xux189, xux190, Zero, Zero, ea) -> new_splitGT22(xux185, xux186, xux187, xux188, xux189, xux190, ea) 27.17/11.49 new_mkVBalBranch3MkVBalBranch16(xux2790, xux2791, xux279200, xux2793, xux2794, xux2850, xux2851, xux2852, xux2853, xux2854, xux286, xux287, False, bc, bd) -> new_mkBranch(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))))), xux286, xux287, xux2850, xux2851, xux2852, xux2853, xux2854, xux2790, xux2791, xux279200, xux2793, xux2794, bc, bd) 27.17/11.49 new_mkBalBranch6MkBalBranch4(xux657, xux658, xux660, xux723, EmptyFM, True, dc, dd) -> error([]) 27.17/11.49 new_gt(xux644, xux639, app(app(app(ty_@3, bg), bh), ca)) -> error([]) 27.17/11.49 new_esEs13(Succ(xux6280), xux2790, xux2791, xux279200, xux2793, xux2794, xux2850, xux2851, xux2852, xux2853, xux2854, bc, bd) -> new_esEs16(xux6280, new_sizeFM0(xux2850, xux2851, xux2852, xux2853, xux2854, bc, bd)) 27.17/11.49 new_primMulNat1(Zero) -> Zero 27.17/11.49 new_mkBalBranch6MkBalBranch11(xux657, xux658, xux6600, xux6601, xux6602, xux6603, EmptyFM, xux723, xux722, False, dc, dd) -> error([]) 27.17/11.49 new_mkBalBranch6MkBalBranch3(xux657, xux658, EmptyFM, xux723, xux722, True, dc, dd) -> error([]) 27.17/11.49 new_esEs2(Pos(Zero), Pos(Zero)) -> new_esEs5 27.17/11.49 new_emptyFM0(h) -> EmptyFM 27.17/11.49 new_esEs1 -> False 27.17/11.49 new_mkBalBranch6MkBalBranch3(xux657, xux658, Branch(xux6600, xux6601, xux6602, xux6603, xux6604), xux723, xux722, True, dc, dd) -> new_mkBalBranch6MkBalBranch11(xux657, xux658, xux6600, xux6601, xux6602, xux6603, xux6604, xux723, xux722, new_lt0(new_sizeFM(xux6604, dc, dd), new_sr0(new_sizeFM(xux6603, dc, dd))), dc, dd) 27.17/11.49 new_addToFM_C0(EmptyFM, xux644, xux645, be, bf) -> Branch(xux644, xux645, Pos(Succ(Zero)), new_emptyFM(be, bf), new_emptyFM(be, bf)) 27.17/11.49 new_splitLT30(Char(Succ(xux3000)), xux31, xux32, Branch(xux330, xux331, xux332, xux333, xux334), xux34, Char(Zero), h) -> new_splitLT30(xux330, xux331, xux332, xux333, xux334, Char(Zero), h) 27.17/11.49 new_primMinusNat0(Zero, Succ(xux745000)) -> Neg(Succ(xux745000)) 27.17/11.49 new_esEs19(Succ(xux7510)) -> new_esEs3(Succ(xux7510), Succ(Succ(Zero))) 27.17/11.49 new_splitGT22(xux185, xux186, xux187, xux188, xux189, xux190, ea) -> new_splitGT10(xux185, xux186, xux187, xux188, xux189, xux190, new_esEs3(Succ(xux190), Succ(xux185)), ea) 27.17/11.49 new_mkVBalBranch3MkVBalBranch15(xux2790, xux2791, xux279200, xux2793, xux2794, xux2850, xux2851, xux2852, xux2853, xux2854, xux286, xux287, True, bc, bd) -> new_mkBalBranch6MkBalBranch5(xux2850, xux2851, xux2853, new_mkVBalBranch7(xux286, xux287, xux2854, xux2790, xux2791, xux279200, xux2793, xux2794, bc, bd), new_mkVBalBranch7(xux286, xux287, xux2854, xux2790, xux2791, xux279200, xux2793, xux2794, bc, bd), new_lt2(xux2850, xux2851, xux2853, new_mkVBalBranch7(xux286, xux287, xux2854, xux2790, xux2791, xux279200, xux2793, xux2794, bc, bd), new_mkVBalBranch7(xux286, xux287, xux2854, xux2790, xux2791, xux279200, xux2793, xux2794, bc, bd), bc, bd), bc, bd) 27.17/11.49 new_splitLT21(xux194, xux195, xux196, xux197, xux198, xux199, Zero, Succ(xux2010), eg) -> new_splitLT0(xux197, xux199, eg) 27.17/11.49 new_gt0(Pos(Zero), Pos(Zero)) -> new_esEs1 27.17/11.49 new_mkVBalBranch9(xux286, xux287, xux2850, xux2851, xux2852, xux2853, xux2854, EmptyFM, bc, bd) -> new_addToFM0(xux2850, xux2851, xux2852, xux2853, xux2854, xux286, xux287, bc, bd) 27.17/11.49 new_lt(xux644, xux6420, app(ty_Maybe, cf)) -> error([]) 27.17/11.49 new_mkVBalBranch10(xux286, xux287, EmptyFM, xux2790, xux2791, xux279200, xux2793, xux2794, bc, bd) -> new_addToFM0(xux2790, xux2791, Neg(Succ(xux279200)), xux2793, xux2794, xux286, xux287, bc, bd) 27.17/11.49 new_addToFM_C0(Branch(xux6420, xux6421, xux6422, xux6423, xux6424), xux644, xux645, be, bf) -> new_addToFM_C20(xux6420, xux6421, xux6422, xux6423, xux6424, xux644, xux645, new_lt(xux644, xux6420, be), be, bf) 27.17/11.49 new_sizeFM0(xux2850, xux2851, xux2852, xux2853, xux2854, bc, bd) -> xux2852 27.17/11.49 new_esEs3(Succ(xux286000), Zero) -> new_esEs4 27.17/11.49 new_primMulNat1(Succ(xux73600)) -> new_primPlusNat0(new_primMulNat(xux73600), Succ(xux73600)) 27.17/11.49 new_mkBranch3(xux793, xux794, xux795, xux796, xux797, dg, dh) -> new_mkBranchResult(xux794, xux795, xux796, xux797, dg, dh) 27.17/11.49 new_esEs7(Zero, Succ(xux63900)) -> new_esEs9 27.17/11.49 new_splitGT10(xux511, xux512, xux513, xux514, xux515, xux516, True, eb) -> new_mkVBalBranch5(Char(Succ(xux511)), xux512, new_splitGT0(xux514, xux516, eb), xux515, eb) 27.17/11.49 new_mkBalBranch6MkBalBranch4(xux657, xux658, xux660, xux723, Branch(xux7220, xux7221, xux7222, xux7223, xux7224), True, dc, dd) -> new_mkBalBranch6MkBalBranch01(xux657, xux658, xux660, xux723, xux7220, xux7221, xux7222, xux7223, xux7224, new_lt0(new_sizeFM(xux7223, dc, dd), new_sr0(new_sizeFM(xux7224, dc, dd))), dc, dd) 27.17/11.49 new_esEs21(Zero) -> new_esEs6 27.17/11.49 new_esEs2(Pos(Zero), Neg(Succ(xux642000))) -> new_esEs4 27.17/11.49 new_gt(xux644, xux639, app(app(ty_@2, cc), cd)) -> error([]) 27.17/11.49 new_mkVBalBranch3MkVBalBranch20(xux2790, xux2791, Neg(Succ(xux279200)), xux2793, xux2794, xux2850, xux2851, xux2852, xux2853, xux2854, xux286, xux287, False, bc, bd) -> new_mkVBalBranch3MkVBalBranch16(xux2790, xux2791, xux279200, xux2793, xux2794, xux2850, xux2851, xux2852, xux2853, xux2854, xux286, xux287, new_esEs13(new_primPlusNat0(new_primMulNat(xux279200), Succ(xux279200)), xux2790, xux2791, xux279200, xux2793, xux2794, xux2850, xux2851, xux2852, xux2853, xux2854, bc, bd), bc, bd) 27.17/11.49 new_esEs7(Succ(xux64400), Succ(xux63900)) -> new_esEs7(xux64400, xux63900) 27.17/11.49 new_lt(xux644, xux6420, app(ty_[], cb)) -> error([]) 27.17/11.49 new_mkBranch2(xux667, xux668, xux669, xux670, xux671, xux672, xux673, xux674, xux675, xux676, xux677, xux678, xux679, de, df) -> Branch(xux668, xux669, new_primPlusInt(new_ps(Branch(xux670, xux671, xux672, xux673, xux674), Branch(xux675, xux676, Pos(Succ(xux677)), xux678, xux679), xux668, de, df), new_mkBranchRight_size(Branch(xux670, xux671, xux672, xux673, xux674), Branch(xux675, xux676, Pos(Succ(xux677)), xux678, xux679), xux668, de, df)), Branch(xux670, xux671, xux672, xux673, xux674), Branch(xux675, xux676, Pos(Succ(xux677)), xux678, xux679)) 27.17/11.49 new_esEs20(Succ(xux74800), Zero) -> new_esEs2(Pos(Succ(xux74800)), Pos(Succ(Succ(Zero)))) 27.17/11.49 new_lt(xux644, xux6420, app(app(ty_Either, cg), da)) -> error([]) 27.17/11.49 new_splitGT30(Char(Zero), xux31, xux32, xux33, xux34, Char(Succ(xux4000)), h) -> new_splitGT0(xux34, xux4000, h) 27.17/11.49 new_primMulNat0(xux6200) -> new_primPlusNat0(Zero, Succ(xux6200)) 27.17/11.49 new_splitGT30(Char(Succ(xux3000)), xux31, xux32, xux33, xux34, Char(Zero), h) -> new_mkVBalBranch5(Char(Succ(xux3000)), xux31, new_splitGT4(xux33, h), xux34, h) 27.17/11.50 new_addToFM_C10(xux657, xux658, xux659, xux660, xux661, xux662, xux663, True, dc, dd) -> new_mkBalBranch6MkBalBranch5(xux657, xux658, xux660, new_addToFM_C0(xux661, xux662, xux663, dc, dd), new_addToFM_C0(xux661, xux662, xux663, dc, dd), new_lt2(xux657, xux658, xux660, new_addToFM_C0(xux661, xux662, xux663, dc, dd), new_addToFM_C0(xux661, xux662, xux663, dc, dd), dc, dd), dc, dd) 27.17/11.50 new_esEs2(Pos(Succ(xux64400)), Pos(xux64200)) -> new_esEs3(Succ(xux64400), xux64200) 27.17/11.50 new_mkBalBranch6MkBalBranch5(xux657, xux658, xux660, xux723, xux722, False, dc, dd) -> new_mkBalBranch6MkBalBranch4(xux657, xux658, xux660, xux723, xux722, new_gt0(new_mkBalBranch6Size_r(xux657, xux658, xux660, xux723, dc, dd), new_sr(new_mkBalBranch6Size_l(xux657, xux658, xux660, xux723, dc, dd))), dc, dd) 27.17/11.50 new_mkVBalBranch3MkVBalBranch20(xux2790, xux2791, Pos(Succ(xux279200)), xux2793, xux2794, xux2850, xux2851, xux2852, xux2853, xux2854, xux286, xux287, False, bc, bd) -> new_mkVBalBranch3MkVBalBranch15(xux2790, xux2791, xux279200, xux2793, xux2794, xux2850, xux2851, xux2852, xux2853, xux2854, xux286, xux287, new_esEs11(new_primPlusNat0(new_primMulNat(xux279200), Succ(xux279200)), xux2790, xux2791, xux279200, xux2793, xux2794, xux2850, xux2851, xux2852, xux2853, xux2854, bc, bd), bc, bd) 27.17/11.50 new_lt(xux644, xux6420, ty_Integer) -> error([]) 27.17/11.50 new_mkVBalBranch3MkVBalBranch16(xux2790, xux2791, xux279200, xux2793, xux2794, xux2850, xux2851, xux2852, xux2853, xux2854, xux286, xux287, True, bc, bd) -> new_mkBalBranch6MkBalBranch5(xux2850, xux2851, xux2853, new_mkVBalBranch10(xux286, xux287, xux2854, xux2790, xux2791, xux279200, xux2793, xux2794, bc, bd), new_mkVBalBranch10(xux286, xux287, xux2854, xux2790, xux2791, xux279200, xux2793, xux2794, bc, bd), new_lt2(xux2850, xux2851, xux2853, new_mkVBalBranch10(xux286, xux287, xux2854, xux2790, xux2791, xux279200, xux2793, xux2794, bc, bd), new_mkVBalBranch10(xux286, xux287, xux2854, xux2790, xux2791, xux279200, xux2793, xux2794, bc, bd), bc, bd), bc, bd) 27.17/11.50 new_ps(xux660, xux722, xux657, dc, dd) -> new_primPlusInt(Pos(Succ(Zero)), new_sizeFM(xux660, dc, dd)) 27.17/11.50 new_esEs22(Neg(xux7480), Neg(xux7450)) -> new_esEs21(new_primPlusNat0(xux7480, xux7450)) 27.17/11.50 27.17/11.50 The set Q consists of the following terms: 27.17/11.50 27.17/11.50 new_esEs20(Zero, Succ(x0)) 27.17/11.50 new_addToFM_C3(Branch(x0, x1, x2, x3, x4), x5, x6, x7) 27.17/11.50 new_lt(x0, x1, app(app(ty_@2, x2), x3)) 27.17/11.50 new_addToFM_C3(EmptyFM, x0, x1, x2) 27.17/11.50 new_lt(x0, x1, ty_Bool) 27.17/11.50 new_mkBranch0(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10) 27.17/11.50 new_esEs18(Zero, x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11) 27.17/11.50 new_lt(x0, x1, ty_@0) 27.17/11.50 new_gt0(Pos(Succ(x0)), Pos(x1)) 27.17/11.50 new_primMulNat2(Zero) 27.17/11.50 new_mkBalBranch6MkBalBranch3(x0, x1, Branch(x2, x3, x4, x5, x6), x7, x8, True, x9, x10) 27.17/11.50 new_sr(Neg(x0)) 27.17/11.50 new_gt0(Pos(Succ(x0)), Neg(x1)) 27.17/11.50 new_gt0(Neg(Succ(x0)), Pos(x1)) 27.17/11.50 new_gt0(Neg(Succ(x0)), Neg(x1)) 27.17/11.50 new_splitGT10(x0, x1, x2, x3, x4, x5, False, x6) 27.17/11.50 new_splitLT0(EmptyFM, x0, x1) 27.17/11.50 new_gt(x0, x1, app(ty_Ratio, x2)) 27.17/11.50 new_primMinusNat0(Zero, Zero) 27.17/11.50 new_esEs2(Pos(Zero), Pos(Succ(x0))) 27.17/11.50 new_esEs12(Pos(Succ(x0))) 27.17/11.50 new_splitLT30(Char(Zero), x0, x1, x2, x3, Char(Zero), x4) 27.17/11.50 new_esEs10(Neg(x0), x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12) 27.17/11.50 new_esEs14(Neg(Succ(x0))) 27.17/11.50 new_esEs5 27.17/11.50 new_primMulNat2(Succ(x0)) 27.17/11.50 new_gt(x0, x1, app(app(ty_Either, x2), x3)) 27.17/11.50 new_esEs6 27.17/11.50 new_gt0(Pos(Zero), Pos(Succ(x0))) 27.17/11.50 new_gt0(Pos(Zero), Neg(Zero)) 27.17/11.50 new_gt0(Neg(Zero), Pos(Zero)) 27.17/11.50 new_sr(Pos(x0)) 27.17/11.50 new_esEs15(Zero, x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11) 27.17/11.50 new_splitGT30(Char(Succ(x0)), x1, x2, x3, x4, Char(Zero), x5) 27.17/11.50 new_esEs19(Succ(x0)) 27.17/11.50 new_esEs2(Pos(Zero), Pos(Zero)) 27.17/11.50 new_splitLT0(Branch(x0, x1, x2, x3, x4), x5, x6) 27.17/11.50 new_mkVBalBranch10(x0, x1, EmptyFM, x2, x3, x4, x5, x6, x7, x8) 27.17/11.50 new_primPlusNat0(Zero, Zero) 27.17/11.50 new_mkVBalBranch3MkVBalBranch16(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, True, x12, x13) 27.17/11.50 new_esEs7(Succ(x0), Succ(x1)) 27.17/11.50 new_esEs9 27.17/11.50 new_mkVBalBranch9(x0, x1, x2, x3, x4, x5, x6, EmptyFM, x7, x8) 27.17/11.50 new_esEs7(Succ(x0), Zero) 27.17/11.50 new_mkVBalBranch30(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13) 27.17/11.50 new_addToFM_C10(x0, x1, x2, x3, x4, x5, x6, True, x7, x8) 27.17/11.50 new_mkVBalBranch10(x0, x1, Branch(x2, x3, x4, x5, x6), x7, x8, x9, x10, x11, x12, x13) 27.17/11.50 new_primMinusNat0(Succ(x0), Succ(x1)) 27.17/11.50 new_esEs7(Zero, Succ(x0)) 27.17/11.50 new_mkVBalBranch8(x0, x1, EmptyFM, x2, x3, x4, x5, x6, x7) 27.17/11.50 new_splitLT10(x0, x1, x2, x3, x4, x5, Succ(x6), Zero, x7) 27.17/11.50 new_splitGT30(Char(Zero), x0, x1, x2, x3, Char(Zero), x4) 27.17/11.50 new_gt0(Neg(Zero), Neg(Succ(x0))) 27.17/11.50 new_splitLT30(Char(Succ(x0)), x1, x2, Branch(x3, x4, x5, x6, x7), x8, Char(Zero), x9) 27.17/11.50 new_mkBalBranch6MkBalBranch11(x0, x1, x2, x3, x4, x5, x6, x7, x8, True, x9, x10) 27.17/11.50 new_sr0(Neg(x0)) 27.17/11.50 new_esEs20(Zero, Zero) 27.17/11.50 new_esEs18(Succ(x0), x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12) 27.17/11.50 new_splitLT10(x0, x1, x2, x3, x4, x5, Succ(x6), Succ(x7), x8) 27.17/11.50 new_mkBranch1(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13) 27.17/11.50 new_sr0(Pos(x0)) 27.17/11.50 new_gt0(Pos(Zero), Pos(Zero)) 27.17/11.50 new_splitLT30(Char(Succ(x0)), x1, x2, EmptyFM, x3, Char(Zero), x4) 27.17/11.50 new_lt(x0, x1, app(app(ty_Either, x2), x3)) 27.17/11.50 new_primMinusNat0(Zero, Succ(x0)) 27.17/11.50 new_gt(Char(x0), Char(x1), ty_Char) 27.17/11.50 new_lt(x0, x1, app(ty_Maybe, x2)) 27.17/11.50 new_esEs2(Neg(Zero), Neg(Zero)) 27.17/11.50 new_esEs17(x0, Pos(x1)) 27.17/11.50 new_splitLT21(x0, x1, x2, x3, x4, x5, Zero, Succ(x6), x7) 27.17/11.50 new_esEs8 27.17/11.50 new_esEs10(Pos(x0), x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12) 27.17/11.50 new_mkVBalBranch3MkVBalBranch14(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, False, x11, x12) 27.17/11.50 new_mkVBalBranch3MkVBalBranch20(x0, x1, Neg(Zero), x2, x3, x4, x5, x6, x7, x8, x9, x10, False, x11, x12) 27.17/11.50 new_mkVBalBranch3MkVBalBranch15(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, False, x12, x13) 27.17/11.50 new_splitGT10(x0, x1, x2, x3, x4, x5, True, x6) 27.17/11.50 new_mkBalBranch6MkBalBranch01(x0, x1, x2, x3, x4, x5, x6, x7, x8, True, x9, x10) 27.17/11.50 new_gt(x0, x1, ty_Ordering) 27.17/11.50 new_esEs14(Pos(Succ(x0))) 27.17/11.50 new_primMulNat1(Succ(x0)) 27.17/11.50 new_mkVBalBranch3MkVBalBranch13(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, True, x11, x12) 27.17/11.50 new_splitGT30(Char(Zero), x0, x1, x2, x3, Char(Succ(x4)), x5) 27.17/11.50 new_esEs21(Succ(x0)) 27.17/11.50 new_primPlusNat0(Succ(x0), Succ(x1)) 27.17/11.50 new_mkBalBranch6MkBalBranch5(x0, x1, x2, x3, x4, False, x5, x6) 27.17/11.50 new_splitLT21(x0, x1, x2, x3, x4, x5, Succ(x6), Succ(x7), x8) 27.17/11.50 new_mkVBalBranch3MkVBalBranch20(x0, x1, Pos(Succ(x2)), x3, x4, x5, x6, x7, x8, x9, x10, x11, False, x12, x13) 27.17/11.50 new_mkVBalBranch3MkVBalBranch20(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, True, x12, x13) 27.17/11.50 new_esEs2(Neg(Zero), Neg(Succ(x0))) 27.17/11.50 new_splitGT30(Char(Succ(x0)), x1, x2, x3, x4, Char(Succ(x5)), x6) 27.17/11.50 new_esEs20(Succ(x0), Zero) 27.17/11.50 new_esEs21(Zero) 27.17/11.50 new_esEs11(Succ(x0), x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12) 27.17/11.50 new_primPlusInt(Pos(x0), Pos(x1)) 27.17/11.50 new_mkBalBranch6MkBalBranch01(x0, x1, x2, x3, x4, x5, x6, Branch(x7, x8, x9, x10, x11), x12, False, x13, x14) 27.17/11.50 new_splitGT21(x0, x1, x2, x3, x4, x5, Succ(x6), Succ(x7), x8) 27.17/11.50 new_mkBranch3(x0, x1, x2, x3, x4, x5, x6) 27.17/11.50 new_esEs13(Zero, x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11) 27.17/11.50 new_primMulNat(x0) 27.17/11.50 new_splitGT0(Branch(x0, x1, x2, x3, x4), x5, x6) 27.17/11.50 new_gt(x0, x1, app(app(app(ty_@3, x2), x3), x4)) 27.17/11.50 new_mkBranchRight_size(x0, x1, x2, x3, x4) 27.17/11.50 new_lt(x0, x1, ty_Ordering) 27.17/11.50 new_mkBalBranch6Size_r(x0, x1, x2, x3, x4, x5) 27.17/11.50 new_esEs22(Neg(x0), Neg(x1)) 27.17/11.50 new_mkVBalBranch7(x0, x1, EmptyFM, x2, x3, x4, x5, x6, x7, x8) 27.17/11.50 new_esEs3(Succ(x0), Zero) 27.17/11.50 new_splitGT4(EmptyFM, x0) 27.17/11.50 new_esEs19(Zero) 27.17/11.50 new_mkBalBranch6MkBalBranch01(x0, x1, x2, x3, x4, x5, x6, EmptyFM, x7, False, x8, x9) 27.17/11.50 new_lt(x0, x1, ty_Float) 27.17/11.50 new_esEs7(Zero, Zero) 27.17/11.50 new_mkVBalBranch7(x0, x1, Branch(x2, x3, x4, x5, x6), x7, x8, x9, x10, x11, x12, x13) 27.17/11.50 new_mkBalBranch6MkBalBranch11(x0, x1, x2, x3, x4, x5, Branch(x6, x7, x8, x9, x10), x11, x12, False, x13, x14) 27.17/11.50 new_esEs2(Pos(Succ(x0)), Neg(x1)) 27.17/11.50 new_esEs2(Neg(Succ(x0)), Pos(x1)) 27.17/11.50 new_mkBranch4(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13) 27.17/11.50 new_esEs3(Succ(x0), Succ(x1)) 27.17/11.50 new_primPlusInt(Pos(x0), Neg(x1)) 27.17/11.50 new_primPlusInt(Neg(x0), Pos(x1)) 27.17/11.50 new_splitGT21(x0, x1, x2, x3, x4, x5, Succ(x6), Zero, x7) 27.17/11.50 new_esEs16(x0, Neg(x1)) 27.17/11.50 new_mkBranch(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14) 27.17/11.50 new_sizeFM0(x0, x1, x2, x3, x4, x5, x6) 27.17/11.50 new_esEs3(Zero, Zero) 27.17/11.50 new_primPlusNat0(Zero, Succ(x0)) 27.17/11.50 new_esEs2(Pos(Succ(x0)), Pos(x1)) 27.17/11.50 new_primPlusInt(Neg(x0), Neg(x1)) 27.17/11.50 new_lt(x0, x1, app(ty_Ratio, x2)) 27.17/11.50 new_gt(x0, x1, ty_Integer) 27.17/11.50 new_mkBalBranch6MkBalBranch3(x0, x1, x2, x3, x4, False, x5, x6) 27.17/11.50 new_lt(x0, x1, app(ty_[], x2)) 27.17/11.50 new_gt(x0, x1, ty_Bool) 27.17/11.50 new_gt(x0, x1, app(ty_Maybe, x2)) 27.17/11.50 new_esEs16(x0, Pos(x1)) 27.17/11.50 new_mkBalBranch6MkBalBranch4(x0, x1, x2, x3, x4, False, x5, x6) 27.17/11.50 new_lt(x0, x1, ty_Int) 27.17/11.50 new_mkVBalBranch3MkVBalBranch20(x0, x1, Pos(Zero), x2, x3, x4, x5, x6, x7, x8, x9, x10, False, x11, x12) 27.17/11.50 new_splitGT22(x0, x1, x2, x3, x4, x5, x6) 27.17/11.50 new_esEs14(Pos(Zero)) 27.17/11.50 new_mkBalBranch6MkBalBranch4(x0, x1, x2, x3, Branch(x4, x5, x6, x7, x8), True, x9, x10) 27.17/11.50 new_esEs12(Neg(Zero)) 27.17/11.50 new_addToFM(x0, x1, x2, x3) 27.17/11.50 new_lt(x0, x1, ty_Char) 27.17/11.50 new_lt2(x0, x1, x2, x3, x4, x5, x6) 27.17/11.50 new_esEs22(Pos(x0), Pos(x1)) 27.17/11.50 new_splitLT11(x0, x1, x2, x3, x4, x5, x6) 27.17/11.50 new_mkVBalBranch3MkVBalBranch13(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, False, x11, x12) 27.17/11.50 new_lt(x0, x1, ty_Double) 27.17/11.50 new_gt(x0, x1, app(app(ty_@2, x2), x3)) 27.17/11.50 new_emptyFM0(x0) 27.17/11.50 new_lt0(x0, x1) 27.17/11.50 new_esEs2(Neg(Succ(x0)), Neg(x1)) 27.17/11.50 new_mkVBalBranch5(x0, x1, EmptyFM, x2, x3) 27.17/11.50 new_addToFM_C0(Branch(x0, x1, x2, x3, x4), x5, x6, x7, x8) 27.17/11.50 new_splitGT0(EmptyFM, x0, x1) 27.17/11.50 new_addToFM0(x0, x1, x2, x3, x4, x5, x6, x7, x8) 27.17/11.50 new_esEs11(Zero, x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11) 27.17/11.50 new_mkVBalBranch6(x0, x1, EmptyFM, x2, x3, x4, x5, x6, x7) 27.17/11.50 new_lt(x0, x1, app(app(app(ty_@3, x2), x3), x4)) 27.17/11.50 new_primPlusNat0(Succ(x0), Zero) 27.17/11.50 new_splitLT30(Char(Zero), x0, x1, x2, x3, Char(Succ(x4)), x5) 27.17/11.50 new_esEs20(Succ(x0), Succ(x1)) 27.17/11.50 new_mkVBalBranch6(x0, x1, Branch(x2, x3, x4, x5, x6), x7, x8, x9, x10, x11, x12) 27.17/11.50 new_addToFM_C20(x0, x1, x2, x3, x4, x5, x6, False, x7, x8) 27.17/11.50 new_esEs17(x0, Neg(x1)) 27.17/11.50 new_splitLT10(x0, x1, x2, x3, x4, x5, Zero, Zero, x6) 27.17/11.50 new_addToFM_C10(x0, x1, x2, x3, x4, x5, x6, False, x7, x8) 27.17/11.50 new_splitLT21(x0, x1, x2, x3, x4, x5, Zero, Zero, x6) 27.17/11.50 new_gt0(Neg(Zero), Pos(Succ(x0))) 27.17/11.50 new_gt0(Pos(Zero), Neg(Succ(x0))) 27.17/11.50 new_esEs13(Succ(x0), x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12) 27.17/11.50 new_emptyFM(x0, x1) 27.17/11.50 new_splitLT30(Char(Succ(x0)), x1, x2, x3, x4, Char(Succ(x5)), x6) 27.17/11.50 new_mkBalBranch6Size_l(x0, x1, x2, x3, x4, x5) 27.17/11.50 new_mkVBalBranch3MkVBalBranch20(x0, x1, Neg(Succ(x2)), x3, x4, x5, x6, x7, x8, x9, x10, x11, False, x12, x13) 27.17/11.50 new_esEs2(Neg(Zero), Pos(Succ(x0))) 27.17/11.50 new_esEs2(Pos(Zero), Neg(Succ(x0))) 27.17/11.50 new_addToFM_C20(x0, x1, x2, x3, x4, x5, x6, True, x7, x8) 27.17/11.50 new_mkBalBranch6MkBalBranch5(x0, x1, x2, x3, x4, True, x5, x6) 27.17/11.50 new_mkVBalBranch9(x0, x1, x2, x3, x4, x5, x6, Branch(x7, x8, x9, x10, x11), x12, x13) 27.17/11.50 new_gt(x0, x1, ty_Float) 27.17/11.50 new_mkVBalBranch8(x0, x1, Branch(x2, x3, x4, x5, x6), x7, x8, x9, x10, x11, x12) 27.17/11.50 new_mkVBalBranch5(x0, x1, Branch(x2, x3, x4, x5, x6), EmptyFM, x7) 27.17/11.50 new_mkVBalBranch3MkVBalBranch14(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, True, x11, x12) 27.17/11.50 new_esEs14(Neg(Zero)) 27.17/11.50 new_sizeFM(Branch(x0, x1, x2, x3, x4), x5, x6) 27.17/11.50 new_esEs2(Pos(Zero), Neg(Zero)) 27.17/11.50 new_esEs2(Neg(Zero), Pos(Zero)) 27.17/11.50 new_mkVBalBranch3MkVBalBranch15(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, True, x12, x13) 27.17/11.50 new_lt(x0, x1, ty_Integer) 27.17/11.50 new_splitLT22(x0, x1, x2, x3, x4, x5, x6) 27.17/11.50 new_sizeFM(EmptyFM, x0, x1) 27.17/11.50 new_splitLT21(x0, x1, x2, x3, x4, x5, Succ(x6), Zero, x7) 27.17/11.50 new_esEs3(Zero, Succ(x0)) 27.17/11.50 new_mkBranchResult(x0, x1, x2, x3, x4, x5) 27.17/11.50 new_mkVBalBranch3MkVBalBranch16(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, False, x12, x13) 27.17/11.50 new_mkBalBranch6MkBalBranch4(x0, x1, x2, x3, EmptyFM, True, x4, x5) 27.17/11.50 new_gt(x0, x1, ty_Double) 27.17/11.50 new_primMulNat0(x0) 27.17/11.50 new_lt1(Char(x0), Char(x1)) 27.17/11.50 new_splitGT21(x0, x1, x2, x3, x4, x5, Zero, Succ(x6), x7) 27.17/11.50 new_mkBalBranch6MkBalBranch3(x0, x1, EmptyFM, x2, x3, True, x4, x5) 27.17/11.50 new_mkBranch2(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14) 27.17/11.50 new_esEs1 27.17/11.50 new_gt(x0, x1, ty_@0) 27.17/11.50 new_mkVBalBranch5(x0, x1, Branch(x2, x3, x4, x5, x6), Branch(x7, x8, x9, x10, x11), x12) 27.17/11.50 new_ps(x0, x1, x2, x3, x4) 27.17/11.50 new_splitGT4(Branch(x0, x1, x2, x3, x4), x5) 27.17/11.50 new_esEs12(Neg(Succ(x0))) 27.17/11.50 new_splitGT21(x0, x1, x2, x3, x4, x5, Zero, Zero, x6) 27.17/11.50 new_splitLT10(x0, x1, x2, x3, x4, x5, Zero, Succ(x6), x7) 27.17/11.50 new_esEs22(Pos(x0), Neg(x1)) 27.17/11.50 new_esEs22(Neg(x0), Pos(x1)) 27.17/11.50 new_gt(x0, x1, app(ty_[], x2)) 27.17/11.50 new_gt0(Neg(Zero), Neg(Zero)) 27.17/11.50 new_esEs15(Succ(x0), x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12) 27.17/11.50 new_esEs4 27.17/11.50 new_esEs12(Pos(Zero)) 27.17/11.50 new_primMulNat1(Zero) 27.17/11.50 new_addToFM_C0(EmptyFM, x0, x1, x2, x3) 27.17/11.50 new_primMinusNat0(Succ(x0), Zero) 27.17/11.50 new_gt(x0, x1, ty_Int) 27.17/11.50 new_mkBalBranch6MkBalBranch11(x0, x1, x2, x3, x4, x5, EmptyFM, x6, x7, False, x8, x9) 27.17/11.50 27.17/11.50 We have to consider all minimal (P,Q,R)-chains. 27.17/11.50 ---------------------------------------- 27.17/11.50 27.17/11.50 (32) QDPSizeChangeProof (EQUIVALENT) 27.17/11.50 By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. 27.17/11.50 27.17/11.50 From the DPs we obtained the following set of size-change graphs: 27.17/11.50 *new_plusFM(Branch(xux30, xux31, xux32, xux33, xux34), Branch(xux40, xux41, xux42, xux43, xux44), h) -> new_plusFM(new_splitLT30(xux30, xux31, xux32, xux33, xux34, xux40, h), xux43, h) 27.17/11.50 The graph contains the following edges 2 > 2, 3 >= 3 27.17/11.50 27.17/11.50 27.17/11.50 *new_plusFM(Branch(xux30, xux31, xux32, xux33, xux34), Branch(xux40, xux41, xux42, xux43, xux44), h) -> new_plusFM(new_splitGT30(xux30, xux31, xux32, xux33, xux34, xux40, h), xux44, h) 27.17/11.50 The graph contains the following edges 2 > 2, 3 >= 3 27.17/11.50 27.17/11.50 27.17/11.50 ---------------------------------------- 27.17/11.50 27.17/11.50 (33) 27.17/11.50 YES 27.17/11.50 27.17/11.50 ---------------------------------------- 27.17/11.50 27.17/11.50 (34) 27.17/11.50 Obligation: 27.17/11.50 Q DP problem: 27.17/11.50 The TRS P consists of the following rules: 27.17/11.50 27.17/11.50 new_esEs0(Succ(xux286000), Succ(xux281000)) -> new_esEs0(xux286000, xux281000) 27.17/11.50 27.17/11.50 R is empty. 27.17/11.50 Q is empty. 27.17/11.50 We have to consider all minimal (P,Q,R)-chains. 27.17/11.50 ---------------------------------------- 27.17/11.50 27.17/11.50 (35) QDPSizeChangeProof (EQUIVALENT) 27.17/11.50 By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. 27.17/11.50 27.17/11.50 From the DPs we obtained the following set of size-change graphs: 27.17/11.50 *new_esEs0(Succ(xux286000), Succ(xux281000)) -> new_esEs0(xux286000, xux281000) 27.17/11.50 The graph contains the following edges 1 > 1, 2 > 2 27.17/11.50 27.17/11.50 27.17/11.50 ---------------------------------------- 27.17/11.50 27.17/11.50 (36) 27.17/11.50 YES 27.17/11.50 27.17/11.50 ---------------------------------------- 27.17/11.50 27.17/11.50 (37) 27.17/11.50 Obligation: 27.17/11.50 Q DP problem: 27.17/11.50 The TRS P consists of the following rules: 27.17/11.50 27.17/11.50 new_esEs(Succ(xux64400), Succ(xux63900)) -> new_esEs(xux64400, xux63900) 27.17/11.50 27.17/11.50 R is empty. 27.17/11.50 Q is empty. 27.17/11.50 We have to consider all minimal (P,Q,R)-chains. 27.17/11.50 ---------------------------------------- 27.17/11.50 27.17/11.50 (38) QDPSizeChangeProof (EQUIVALENT) 27.17/11.50 By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. 27.17/11.50 27.17/11.50 From the DPs we obtained the following set of size-change graphs: 27.17/11.50 *new_esEs(Succ(xux64400), Succ(xux63900)) -> new_esEs(xux64400, xux63900) 27.17/11.50 The graph contains the following edges 1 > 1, 2 > 2 27.17/11.50 27.17/11.50 27.17/11.50 ---------------------------------------- 27.17/11.50 27.17/11.50 (39) 27.17/11.50 YES 27.17/11.50 27.17/11.50 ---------------------------------------- 27.17/11.50 27.17/11.50 (40) 27.17/11.50 Obligation: 27.17/11.50 Q DP problem: 27.17/11.50 The TRS P consists of the following rules: 27.17/11.50 27.17/11.50 new_mkVBalBranch3MkVBalBranch2(xux2790, xux2791, xux2792, xux2793, xux2794, xux2850, xux2851, xux2852, xux2853, xux2854, xux286, xux287, True, h, ba) -> new_mkVBalBranch(xux286, xux287, xux2850, xux2851, xux2852, xux2853, xux2854, xux2793, h, ba) 27.17/11.50 new_mkVBalBranch(xux286, xux287, xux2850, xux2851, xux2852, xux2853, xux2854, Branch(xux27930, xux27931, xux27932, xux27933, xux27934), h, ba) -> new_mkVBalBranch3MkVBalBranch2(xux27930, xux27931, xux27932, xux27933, xux27934, xux2850, xux2851, xux2852, xux2853, xux2854, xux286, xux287, new_esEs10(new_sizeFM(Branch(xux2850, xux2851, xux2852, xux2853, xux2854), h, ba), xux27930, xux27931, xux27932, xux27933, xux27934, xux2850, xux2851, xux2852, xux2853, xux2854, h, ba), h, ba) 27.17/11.50 new_mkVBalBranch3MkVBalBranch1(xux2790, xux2791, xux279200, xux2793, xux2794, xux2850, xux2851, xux2852, xux2853, xux2854, xux286, xux287, True, h, ba) -> new_mkVBalBranch0(xux286, xux287, xux2854, xux2790, xux2791, xux279200, xux2793, xux2794, h, ba) 27.17/11.50 new_mkVBalBranch3(xux286, xux287, xux2850, xux2851, xux2852, xux2853, xux2854, xux27930, xux27931, xux27932, xux27933, xux27934, h, ba) -> new_mkVBalBranch3MkVBalBranch2(xux27930, xux27931, xux27932, xux27933, xux27934, xux2850, xux2851, xux2852, xux2853, xux2854, xux286, xux287, new_esEs10(new_sizeFM(Branch(xux2850, xux2851, xux2852, xux2853, xux2854), h, ba), xux27930, xux27931, xux27932, xux27933, xux27934, xux2850, xux2851, xux2852, xux2853, xux2854, h, ba), h, ba) 27.17/11.50 new_mkVBalBranch3MkVBalBranch11(xux2790, xux2791, xux279200, xux2793, xux2794, xux2850, xux2851, xux2852, xux2853, Branch(xux28540, xux28541, xux28542, xux28543, xux28544), xux286, xux287, True, h, ba) -> new_mkVBalBranch3(xux286, xux287, xux28540, xux28541, xux28542, xux28543, xux28544, xux2790, xux2791, Neg(Succ(xux279200)), xux2793, xux2794, h, ba) 27.17/11.50 new_mkVBalBranch3MkVBalBranch12(xux2790, xux2791, xux2793, xux2794, xux2850, xux2851, xux2852, xux2853, xux2854, xux286, xux287, True, h, ba) -> new_mkVBalBranch4(xux286, xux287, xux2854, xux2790, xux2791, xux2793, xux2794, h, ba) 27.17/11.50 new_mkVBalBranch3MkVBalBranch12(xux2790, xux2791, xux2793, xux2794, xux2850, xux2851, xux2852, xux2853, Branch(xux28540, xux28541, xux28542, xux28543, xux28544), xux286, xux287, True, h, ba) -> new_mkVBalBranch3(xux286, xux287, xux28540, xux28541, xux28542, xux28543, xux28544, xux2790, xux2791, Neg(Zero), xux2793, xux2794, h, ba) 27.17/11.50 new_mkVBalBranch1(xux286, xux287, Branch(xux28540, xux28541, xux28542, xux28543, xux28544), xux2790, xux2791, xux2793, xux2794, h, ba) -> new_mkVBalBranch3(xux286, xux287, xux28540, xux28541, xux28542, xux28543, xux28544, xux2790, xux2791, Pos(Zero), xux2793, xux2794, h, ba) 27.17/11.50 new_mkVBalBranch3MkVBalBranch2(xux2790, xux2791, Neg(Zero), xux2793, xux2794, xux2850, xux2851, xux2852, xux2853, xux2854, xux286, xux287, False, h, ba) -> new_mkVBalBranch3MkVBalBranch12(xux2790, xux2791, xux2793, xux2794, xux2850, xux2851, xux2852, xux2853, xux2854, xux286, xux287, new_esEs14(new_sizeFM0(xux2850, xux2851, xux2852, xux2853, xux2854, h, ba)), h, ba) 27.17/11.50 new_mkVBalBranch2(xux286, xux287, Branch(xux28540, xux28541, xux28542, xux28543, xux28544), xux2790, xux2791, xux279200, xux2793, xux2794, h, ba) -> new_mkVBalBranch3(xux286, xux287, xux28540, xux28541, xux28542, xux28543, xux28544, xux2790, xux2791, Neg(Succ(xux279200)), xux2793, xux2794, h, ba) 27.17/11.50 new_mkVBalBranch3MkVBalBranch11(xux2790, xux2791, xux279200, xux2793, xux2794, xux2850, xux2851, xux2852, xux2853, xux2854, xux286, xux287, True, h, ba) -> new_mkVBalBranch2(xux286, xux287, xux2854, xux2790, xux2791, xux279200, xux2793, xux2794, h, ba) 27.17/11.50 new_mkVBalBranch3MkVBalBranch2(xux2790, xux2791, xux2792, Branch(xux27930, xux27931, xux27932, xux27933, xux27934), xux2794, xux2850, xux2851, xux2852, xux2853, xux2854, xux286, xux287, True, h, ba) -> new_mkVBalBranch3MkVBalBranch2(xux27930, xux27931, xux27932, xux27933, xux27934, xux2850, xux2851, xux2852, xux2853, xux2854, xux286, xux287, new_esEs10(new_sizeFM(Branch(xux2850, xux2851, xux2852, xux2853, xux2854), h, ba), xux27930, xux27931, xux27932, xux27933, xux27934, xux2850, xux2851, xux2852, xux2853, xux2854, h, ba), h, ba) 27.17/11.50 new_mkVBalBranch0(xux286, xux287, Branch(xux28540, xux28541, xux28542, xux28543, xux28544), xux2790, xux2791, xux279200, xux2793, xux2794, h, ba) -> new_mkVBalBranch3(xux286, xux287, xux28540, xux28541, xux28542, xux28543, xux28544, xux2790, xux2791, Pos(Succ(xux279200)), xux2793, xux2794, h, ba) 27.17/11.50 new_mkVBalBranch3MkVBalBranch10(xux2790, xux2791, xux2793, xux2794, xux2850, xux2851, xux2852, xux2853, xux2854, xux286, xux287, True, h, ba) -> new_mkVBalBranch1(xux286, xux287, xux2854, xux2790, xux2791, xux2793, xux2794, h, ba) 27.17/11.50 new_mkVBalBranch3MkVBalBranch1(xux2790, xux2791, xux279200, xux2793, xux2794, xux2850, xux2851, xux2852, xux2853, Branch(xux28540, xux28541, xux28542, xux28543, xux28544), xux286, xux287, True, h, ba) -> new_mkVBalBranch3(xux286, xux287, xux28540, xux28541, xux28542, xux28543, xux28544, xux2790, xux2791, Pos(Succ(xux279200)), xux2793, xux2794, h, ba) 27.17/11.50 new_mkVBalBranch3MkVBalBranch2(xux2790, xux2791, Pos(Succ(xux279200)), xux2793, xux2794, xux2850, xux2851, xux2852, xux2853, xux2854, xux286, xux287, False, h, ba) -> new_mkVBalBranch3MkVBalBranch1(xux2790, xux2791, xux279200, xux2793, xux2794, xux2850, xux2851, xux2852, xux2853, xux2854, xux286, xux287, new_esEs11(new_primPlusNat0(new_primMulNat(xux279200), Succ(xux279200)), xux2790, xux2791, xux279200, xux2793, xux2794, xux2850, xux2851, xux2852, xux2853, xux2854, h, ba), h, ba) 27.17/11.50 new_mkVBalBranch3MkVBalBranch2(xux2790, xux2791, Pos(Zero), xux2793, xux2794, xux2850, xux2851, xux2852, xux2853, xux2854, xux286, xux287, False, h, ba) -> new_mkVBalBranch3MkVBalBranch10(xux2790, xux2791, xux2793, xux2794, xux2850, xux2851, xux2852, xux2853, xux2854, xux286, xux287, new_esEs12(new_sizeFM0(xux2850, xux2851, xux2852, xux2853, xux2854, h, ba)), h, ba) 27.17/11.50 new_mkVBalBranch3MkVBalBranch2(xux2790, xux2791, Neg(Succ(xux279200)), xux2793, xux2794, xux2850, xux2851, xux2852, xux2853, xux2854, xux286, xux287, False, h, ba) -> new_mkVBalBranch3MkVBalBranch11(xux2790, xux2791, xux279200, xux2793, xux2794, xux2850, xux2851, xux2852, xux2853, xux2854, xux286, xux287, new_esEs13(new_primPlusNat0(new_primMulNat(xux279200), Succ(xux279200)), xux2790, xux2791, xux279200, xux2793, xux2794, xux2850, xux2851, xux2852, xux2853, xux2854, h, ba), h, ba) 27.17/11.50 new_mkVBalBranch4(xux286, xux287, Branch(xux28540, xux28541, xux28542, xux28543, xux28544), xux2790, xux2791, xux2793, xux2794, h, ba) -> new_mkVBalBranch3(xux286, xux287, xux28540, xux28541, xux28542, xux28543, xux28544, xux2790, xux2791, Neg(Zero), xux2793, xux2794, h, ba) 27.17/11.50 new_mkVBalBranch3MkVBalBranch10(xux2790, xux2791, xux2793, xux2794, xux2850, xux2851, xux2852, xux2853, Branch(xux28540, xux28541, xux28542, xux28543, xux28544), xux286, xux287, True, h, ba) -> new_mkVBalBranch3(xux286, xux287, xux28540, xux28541, xux28542, xux28543, xux28544, xux2790, xux2791, Pos(Zero), xux2793, xux2794, h, ba) 27.17/11.50 27.17/11.50 The TRS R consists of the following rules: 27.17/11.50 27.17/11.50 new_esEs14(Pos(Zero)) -> new_esEs5 27.17/11.50 new_sizeFM0(xux2850, xux2851, xux2852, xux2853, xux2854, h, ba) -> xux2852 27.17/11.50 new_esEs14(Neg(Zero)) -> new_esEs5 27.17/11.50 new_esEs5 -> False 27.17/11.50 new_esEs11(Succ(xux6240), xux2790, xux2791, xux279200, xux2793, xux2794, xux2850, xux2851, xux2852, xux2853, xux2854, h, ba) -> new_esEs17(xux6240, new_sizeFM0(xux2850, xux2851, xux2852, xux2853, xux2854, h, ba)) 27.17/11.50 new_primPlusNat0(Succ(xux2100), Zero) -> Succ(xux2100) 27.17/11.50 new_primPlusNat0(Zero, Succ(xux160)) -> Succ(xux160) 27.17/11.50 new_esEs3(Succ(xux286000), Zero) -> new_esEs4 27.17/11.50 new_primPlusNat0(Zero, Zero) -> Zero 27.17/11.50 new_primMulNat1(Succ(xux73600)) -> new_primPlusNat0(new_primMulNat(xux73600), Succ(xux73600)) 27.17/11.50 new_esEs16(xux6020, Neg(xux520)) -> new_esEs3(xux520, Succ(xux6020)) 27.17/11.50 new_esEs12(Neg(Zero)) -> new_esEs5 27.17/11.50 new_esEs15(Zero, xux27930, xux27931, xux27932, xux27933, xux27934, xux2850, xux2851, xux2852, xux2853, xux2854, h, ba) -> new_esEs14(new_sizeFM(Branch(xux27930, xux27931, xux27932, xux27933, xux27934), h, ba)) 27.17/11.50 new_sizeFM(Branch(xux7230, xux7231, xux7232, xux7233, xux7234), bb, bc) -> xux7232 27.17/11.50 new_esEs18(Zero, xux27930, xux27931, xux27932, xux27933, xux27934, xux2850, xux2851, xux2852, xux2853, xux2854, h, ba) -> new_esEs12(new_sizeFM(Branch(xux27930, xux27931, xux27932, xux27933, xux27934), h, ba)) 27.17/11.50 new_esEs18(Succ(xux7410), xux27930, xux27931, xux27932, xux27933, xux27934, xux2850, xux2851, xux2852, xux2853, xux2854, h, ba) -> new_esEs17(xux7410, new_sizeFM(Branch(xux27930, xux27931, xux27932, xux27933, xux27934), h, ba)) 27.17/11.50 new_esEs3(Succ(xux286000), Succ(xux281000)) -> new_esEs3(xux286000, xux281000) 27.17/11.50 new_esEs3(Zero, Succ(xux281000)) -> new_esEs6 27.17/11.50 new_esEs14(Neg(Succ(xux5200))) -> new_esEs3(Succ(xux5200), Zero) 27.17/11.50 new_esEs13(Succ(xux6280), xux2790, xux2791, xux279200, xux2793, xux2794, xux2850, xux2851, xux2852, xux2853, xux2854, h, ba) -> new_esEs16(xux6280, new_sizeFM0(xux2850, xux2851, xux2852, xux2853, xux2854, h, ba)) 27.17/11.50 new_primMulNat1(Zero) -> Zero 27.17/11.50 new_esEs17(xux6010, Neg(xux520)) -> new_esEs4 27.17/11.50 new_primMulNat0(xux6200) -> new_primPlusNat0(Zero, Succ(xux6200)) 27.17/11.50 new_esEs6 -> True 27.17/11.50 new_esEs12(Pos(Succ(xux5200))) -> new_esEs3(Zero, Succ(xux5200)) 27.17/11.50 new_esEs4 -> False 27.17/11.50 new_esEs10(Pos(xux7360), xux27930, xux27931, xux27932, xux27933, xux27934, xux2850, xux2851, xux2852, xux2853, xux2854, h, ba) -> new_esEs18(new_primMulNat1(xux7360), xux27930, xux27931, xux27932, xux27933, xux27934, xux2850, xux2851, xux2852, xux2853, xux2854, h, ba) 27.17/11.50 new_esEs11(Zero, xux2790, xux2791, xux279200, xux2793, xux2794, xux2850, xux2851, xux2852, xux2853, xux2854, h, ba) -> new_esEs12(new_sizeFM0(xux2850, xux2851, xux2852, xux2853, xux2854, h, ba)) 27.17/11.50 new_esEs10(Neg(xux7360), xux27930, xux27931, xux27932, xux27933, xux27934, xux2850, xux2851, xux2852, xux2853, xux2854, h, ba) -> new_esEs15(new_primMulNat1(xux7360), xux27930, xux27931, xux27932, xux27933, xux27934, xux2850, xux2851, xux2852, xux2853, xux2854, h, ba) 27.17/11.50 new_esEs13(Zero, xux2790, xux2791, xux279200, xux2793, xux2794, xux2850, xux2851, xux2852, xux2853, xux2854, h, ba) -> new_esEs14(new_sizeFM0(xux2850, xux2851, xux2852, xux2853, xux2854, h, ba)) 27.17/11.50 new_esEs3(Zero, Zero) -> new_esEs5 27.17/11.50 new_esEs15(Succ(xux7430), xux27930, xux27931, xux27932, xux27933, xux27934, xux2850, xux2851, xux2852, xux2853, xux2854, h, ba) -> new_esEs16(xux7430, new_sizeFM(Branch(xux27930, xux27931, xux27932, xux27933, xux27934), h, ba)) 27.17/11.50 new_esEs16(xux6020, Pos(xux520)) -> new_esEs6 27.17/11.50 new_esEs12(Pos(Zero)) -> new_esEs5 27.17/11.50 new_esEs17(xux6010, Pos(xux520)) -> new_esEs3(Succ(xux6010), xux520) 27.17/11.50 new_esEs12(Neg(Succ(xux5200))) -> new_esEs4 27.17/11.50 new_esEs14(Pos(Succ(xux5200))) -> new_esEs6 27.17/11.50 new_sizeFM(EmptyFM, bb, bc) -> Pos(Zero) 27.17/11.50 new_primPlusNat0(Succ(xux2100), Succ(xux160)) -> Succ(Succ(new_primPlusNat0(xux2100, xux160))) 27.17/11.50 new_primMulNat(xux6200) -> new_primPlusNat0(new_primPlusNat0(new_primPlusNat0(new_primMulNat0(xux6200), Succ(xux6200)), Succ(xux6200)), Succ(xux6200)) 27.17/11.50 27.17/11.50 The set Q consists of the following terms: 27.17/11.50 27.17/11.50 new_esEs14(Neg(Zero)) 27.17/11.50 new_esEs3(Succ(x0), Zero) 27.17/11.50 new_esEs10(Neg(x0), x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12) 27.17/11.50 new_esEs14(Pos(Succ(x0))) 27.17/11.50 new_primPlusNat0(Succ(x0), Zero) 27.17/11.50 new_primMulNat1(Succ(x0)) 27.17/11.50 new_esEs11(Zero, x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11) 27.17/11.50 new_esEs3(Zero, Succ(x0)) 27.17/11.50 new_esEs14(Neg(Succ(x0))) 27.17/11.50 new_esEs12(Pos(Succ(x0))) 27.17/11.50 new_esEs10(Pos(x0), x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12) 27.17/11.50 new_esEs16(x0, Pos(x1)) 27.17/11.50 new_esEs5 27.17/11.50 new_sizeFM(EmptyFM, x0, x1) 27.17/11.50 new_esEs14(Pos(Zero)) 27.17/11.50 new_esEs17(x0, Neg(x1)) 27.17/11.50 new_esEs18(Zero, x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11) 27.17/11.50 new_primMulNat0(x0) 27.17/11.50 new_primPlusNat0(Succ(x0), Succ(x1)) 27.17/11.50 new_esEs12(Neg(Zero)) 27.17/11.50 new_esEs13(Succ(x0), x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12) 27.17/11.50 new_esEs6 27.17/11.50 new_esEs18(Succ(x0), x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12) 27.17/11.50 new_esEs3(Succ(x0), Succ(x1)) 27.17/11.50 new_esEs13(Zero, x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11) 27.17/11.50 new_esEs16(x0, Neg(x1)) 27.17/11.50 new_esEs12(Neg(Succ(x0))) 27.17/11.50 new_sizeFM0(x0, x1, x2, x3, x4, x5, x6) 27.17/11.50 new_esEs11(Succ(x0), x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12) 27.17/11.50 new_primPlusNat0(Zero, Succ(x0)) 27.17/11.50 new_sizeFM(Branch(x0, x1, x2, x3, x4), x5, x6) 27.17/11.50 new_esEs3(Zero, Zero) 27.17/11.50 new_esEs15(Succ(x0), x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12) 27.17/11.50 new_esEs15(Zero, x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11) 27.17/11.50 new_esEs4 27.17/11.50 new_esEs12(Pos(Zero)) 27.17/11.50 new_primMulNat1(Zero) 27.17/11.50 new_primPlusNat0(Zero, Zero) 27.17/11.50 new_esEs17(x0, Pos(x1)) 27.17/11.50 new_primMulNat(x0) 27.17/11.50 27.17/11.50 We have to consider all minimal (P,Q,R)-chains. 27.17/11.50 ---------------------------------------- 27.17/11.50 27.17/11.50 (41) QDPSizeChangeProof (EQUIVALENT) 27.17/11.50 By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. 27.17/11.50 27.17/11.50 From the DPs we obtained the following set of size-change graphs: 27.17/11.50 *new_mkVBalBranch(xux286, xux287, xux2850, xux2851, xux2852, xux2853, xux2854, Branch(xux27930, xux27931, xux27932, xux27933, xux27934), h, ba) -> new_mkVBalBranch3MkVBalBranch2(xux27930, xux27931, xux27932, xux27933, xux27934, xux2850, xux2851, xux2852, xux2853, xux2854, xux286, xux287, new_esEs10(new_sizeFM(Branch(xux2850, xux2851, xux2852, xux2853, xux2854), h, ba), xux27930, xux27931, xux27932, xux27933, xux27934, xux2850, xux2851, xux2852, xux2853, xux2854, h, ba), h, ba) 27.17/11.50 The graph contains the following edges 8 > 1, 8 > 2, 8 > 3, 8 > 4, 8 > 5, 3 >= 6, 4 >= 7, 5 >= 8, 6 >= 9, 7 >= 10, 1 >= 11, 2 >= 12, 9 >= 14, 10 >= 15 27.17/11.50 27.17/11.50 27.17/11.50 *new_mkVBalBranch3MkVBalBranch2(xux2790, xux2791, xux2792, Branch(xux27930, xux27931, xux27932, xux27933, xux27934), xux2794, xux2850, xux2851, xux2852, xux2853, xux2854, xux286, xux287, True, h, ba) -> new_mkVBalBranch3MkVBalBranch2(xux27930, xux27931, xux27932, xux27933, xux27934, xux2850, xux2851, xux2852, xux2853, xux2854, xux286, xux287, new_esEs10(new_sizeFM(Branch(xux2850, xux2851, xux2852, xux2853, xux2854), h, ba), xux27930, xux27931, xux27932, xux27933, xux27934, xux2850, xux2851, xux2852, xux2853, xux2854, h, ba), h, ba) 27.17/11.50 The graph contains the following edges 4 > 1, 4 > 2, 4 > 3, 4 > 4, 4 > 5, 6 >= 6, 7 >= 7, 8 >= 8, 9 >= 9, 10 >= 10, 11 >= 11, 12 >= 12, 14 >= 14, 15 >= 15 27.17/11.50 27.17/11.50 27.17/11.50 *new_mkVBalBranch3(xux286, xux287, xux2850, xux2851, xux2852, xux2853, xux2854, xux27930, xux27931, xux27932, xux27933, xux27934, h, ba) -> new_mkVBalBranch3MkVBalBranch2(xux27930, xux27931, xux27932, xux27933, xux27934, xux2850, xux2851, xux2852, xux2853, xux2854, xux286, xux287, new_esEs10(new_sizeFM(Branch(xux2850, xux2851, xux2852, xux2853, xux2854), h, ba), xux27930, xux27931, xux27932, xux27933, xux27934, xux2850, xux2851, xux2852, xux2853, xux2854, h, ba), h, ba) 27.17/11.50 The graph contains the following edges 8 >= 1, 9 >= 2, 10 >= 3, 11 >= 4, 12 >= 5, 3 >= 6, 4 >= 7, 5 >= 8, 6 >= 9, 7 >= 10, 1 >= 11, 2 >= 12, 13 >= 14, 14 >= 15 27.17/11.50 27.17/11.50 27.17/11.50 *new_mkVBalBranch3MkVBalBranch2(xux2790, xux2791, xux2792, xux2793, xux2794, xux2850, xux2851, xux2852, xux2853, xux2854, xux286, xux287, True, h, ba) -> new_mkVBalBranch(xux286, xux287, xux2850, xux2851, xux2852, xux2853, xux2854, xux2793, h, ba) 27.17/11.50 The graph contains the following edges 11 >= 1, 12 >= 2, 6 >= 3, 7 >= 4, 8 >= 5, 9 >= 6, 10 >= 7, 4 >= 8, 14 >= 9, 15 >= 10 27.17/11.50 27.17/11.50 27.17/11.50 *new_mkVBalBranch3MkVBalBranch2(xux2790, xux2791, Pos(Succ(xux279200)), xux2793, xux2794, xux2850, xux2851, xux2852, xux2853, xux2854, xux286, xux287, False, h, ba) -> new_mkVBalBranch3MkVBalBranch1(xux2790, xux2791, xux279200, xux2793, xux2794, xux2850, xux2851, xux2852, xux2853, xux2854, xux286, xux287, new_esEs11(new_primPlusNat0(new_primMulNat(xux279200), Succ(xux279200)), xux2790, xux2791, xux279200, xux2793, xux2794, xux2850, xux2851, xux2852, xux2853, xux2854, h, ba), h, ba) 27.17/11.50 The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3, 4 >= 4, 5 >= 5, 6 >= 6, 7 >= 7, 8 >= 8, 9 >= 9, 10 >= 10, 11 >= 11, 12 >= 12, 14 >= 14, 15 >= 15 27.17/11.50 27.17/11.50 27.17/11.50 *new_mkVBalBranch0(xux286, xux287, Branch(xux28540, xux28541, xux28542, xux28543, xux28544), xux2790, xux2791, xux279200, xux2793, xux2794, h, ba) -> new_mkVBalBranch3(xux286, xux287, xux28540, xux28541, xux28542, xux28543, xux28544, xux2790, xux2791, Pos(Succ(xux279200)), xux2793, xux2794, h, ba) 27.17/11.50 The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3, 3 > 4, 3 > 5, 3 > 6, 3 > 7, 4 >= 8, 5 >= 9, 7 >= 11, 8 >= 12, 9 >= 13, 10 >= 14 27.17/11.50 27.17/11.50 27.17/11.50 *new_mkVBalBranch3MkVBalBranch2(xux2790, xux2791, Neg(Succ(xux279200)), xux2793, xux2794, xux2850, xux2851, xux2852, xux2853, xux2854, xux286, xux287, False, h, ba) -> new_mkVBalBranch3MkVBalBranch11(xux2790, xux2791, xux279200, xux2793, xux2794, xux2850, xux2851, xux2852, xux2853, xux2854, xux286, xux287, new_esEs13(new_primPlusNat0(new_primMulNat(xux279200), Succ(xux279200)), xux2790, xux2791, xux279200, xux2793, xux2794, xux2850, xux2851, xux2852, xux2853, xux2854, h, ba), h, ba) 27.17/11.50 The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3, 4 >= 4, 5 >= 5, 6 >= 6, 7 >= 7, 8 >= 8, 9 >= 9, 10 >= 10, 11 >= 11, 12 >= 12, 14 >= 14, 15 >= 15 27.17/11.50 27.17/11.50 27.17/11.50 *new_mkVBalBranch3MkVBalBranch2(xux2790, xux2791, Neg(Zero), xux2793, xux2794, xux2850, xux2851, xux2852, xux2853, xux2854, xux286, xux287, False, h, ba) -> new_mkVBalBranch3MkVBalBranch12(xux2790, xux2791, xux2793, xux2794, xux2850, xux2851, xux2852, xux2853, xux2854, xux286, xux287, new_esEs14(new_sizeFM0(xux2850, xux2851, xux2852, xux2853, xux2854, h, ba)), h, ba) 27.17/11.50 The graph contains the following edges 1 >= 1, 2 >= 2, 4 >= 3, 5 >= 4, 6 >= 5, 7 >= 6, 8 >= 7, 9 >= 8, 10 >= 9, 11 >= 10, 12 >= 11, 14 >= 13, 15 >= 14 27.17/11.50 27.17/11.50 27.17/11.50 *new_mkVBalBranch3MkVBalBranch2(xux2790, xux2791, Pos(Zero), xux2793, xux2794, xux2850, xux2851, xux2852, xux2853, xux2854, xux286, xux287, False, h, ba) -> new_mkVBalBranch3MkVBalBranch10(xux2790, xux2791, xux2793, xux2794, xux2850, xux2851, xux2852, xux2853, xux2854, xux286, xux287, new_esEs12(new_sizeFM0(xux2850, xux2851, xux2852, xux2853, xux2854, h, ba)), h, ba) 27.17/11.50 The graph contains the following edges 1 >= 1, 2 >= 2, 4 >= 3, 5 >= 4, 6 >= 5, 7 >= 6, 8 >= 7, 9 >= 8, 10 >= 9, 11 >= 10, 12 >= 11, 14 >= 13, 15 >= 14 27.17/11.50 27.17/11.50 27.17/11.50 *new_mkVBalBranch4(xux286, xux287, Branch(xux28540, xux28541, xux28542, xux28543, xux28544), xux2790, xux2791, xux2793, xux2794, h, ba) -> new_mkVBalBranch3(xux286, xux287, xux28540, xux28541, xux28542, xux28543, xux28544, xux2790, xux2791, Neg(Zero), xux2793, xux2794, h, ba) 27.17/11.50 The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3, 3 > 4, 3 > 5, 3 > 6, 3 > 7, 4 >= 8, 5 >= 9, 6 >= 11, 7 >= 12, 8 >= 13, 9 >= 14 27.17/11.50 27.17/11.50 27.17/11.50 *new_mkVBalBranch3MkVBalBranch10(xux2790, xux2791, xux2793, xux2794, xux2850, xux2851, xux2852, xux2853, xux2854, xux286, xux287, True, h, ba) -> new_mkVBalBranch1(xux286, xux287, xux2854, xux2790, xux2791, xux2793, xux2794, h, ba) 27.17/11.50 The graph contains the following edges 10 >= 1, 11 >= 2, 9 >= 3, 1 >= 4, 2 >= 5, 3 >= 6, 4 >= 7, 13 >= 8, 14 >= 9 27.17/11.50 27.17/11.50 27.17/11.50 *new_mkVBalBranch3MkVBalBranch12(xux2790, xux2791, xux2793, xux2794, xux2850, xux2851, xux2852, xux2853, Branch(xux28540, xux28541, xux28542, xux28543, xux28544), xux286, xux287, True, h, ba) -> new_mkVBalBranch3(xux286, xux287, xux28540, xux28541, xux28542, xux28543, xux28544, xux2790, xux2791, Neg(Zero), xux2793, xux2794, h, ba) 27.17/11.50 The graph contains the following edges 10 >= 1, 11 >= 2, 9 > 3, 9 > 4, 9 > 5, 9 > 6, 9 > 7, 1 >= 8, 2 >= 9, 3 >= 11, 4 >= 12, 13 >= 13, 14 >= 14 27.17/11.50 27.17/11.50 27.17/11.50 *new_mkVBalBranch3MkVBalBranch12(xux2790, xux2791, xux2793, xux2794, xux2850, xux2851, xux2852, xux2853, xux2854, xux286, xux287, True, h, ba) -> new_mkVBalBranch4(xux286, xux287, xux2854, xux2790, xux2791, xux2793, xux2794, h, ba) 27.17/11.50 The graph contains the following edges 10 >= 1, 11 >= 2, 9 >= 3, 1 >= 4, 2 >= 5, 3 >= 6, 4 >= 7, 13 >= 8, 14 >= 9 27.17/11.50 27.17/11.50 27.17/11.50 *new_mkVBalBranch3MkVBalBranch11(xux2790, xux2791, xux279200, xux2793, xux2794, xux2850, xux2851, xux2852, xux2853, xux2854, xux286, xux287, True, h, ba) -> new_mkVBalBranch2(xux286, xux287, xux2854, xux2790, xux2791, xux279200, xux2793, xux2794, h, ba) 27.17/11.50 The graph contains the following edges 11 >= 1, 12 >= 2, 10 >= 3, 1 >= 4, 2 >= 5, 3 >= 6, 4 >= 7, 5 >= 8, 14 >= 9, 15 >= 10 27.17/11.50 27.17/11.50 27.17/11.50 *new_mkVBalBranch3MkVBalBranch1(xux2790, xux2791, xux279200, xux2793, xux2794, xux2850, xux2851, xux2852, xux2853, xux2854, xux286, xux287, True, h, ba) -> new_mkVBalBranch0(xux286, xux287, xux2854, xux2790, xux2791, xux279200, xux2793, xux2794, h, ba) 27.17/11.50 The graph contains the following edges 11 >= 1, 12 >= 2, 10 >= 3, 1 >= 4, 2 >= 5, 3 >= 6, 4 >= 7, 5 >= 8, 14 >= 9, 15 >= 10 27.17/11.50 27.17/11.50 27.17/11.50 *new_mkVBalBranch2(xux286, xux287, Branch(xux28540, xux28541, xux28542, xux28543, xux28544), xux2790, xux2791, xux279200, xux2793, xux2794, h, ba) -> new_mkVBalBranch3(xux286, xux287, xux28540, xux28541, xux28542, xux28543, xux28544, xux2790, xux2791, Neg(Succ(xux279200)), xux2793, xux2794, h, ba) 27.17/11.50 The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3, 3 > 4, 3 > 5, 3 > 6, 3 > 7, 4 >= 8, 5 >= 9, 7 >= 11, 8 >= 12, 9 >= 13, 10 >= 14 27.17/11.50 27.17/11.50 27.17/11.50 *new_mkVBalBranch1(xux286, xux287, Branch(xux28540, xux28541, xux28542, xux28543, xux28544), xux2790, xux2791, xux2793, xux2794, h, ba) -> new_mkVBalBranch3(xux286, xux287, xux28540, xux28541, xux28542, xux28543, xux28544, xux2790, xux2791, Pos(Zero), xux2793, xux2794, h, ba) 27.17/11.50 The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3, 3 > 4, 3 > 5, 3 > 6, 3 > 7, 4 >= 8, 5 >= 9, 6 >= 11, 7 >= 12, 8 >= 13, 9 >= 14 27.17/11.50 27.17/11.50 27.17/11.50 *new_mkVBalBranch3MkVBalBranch1(xux2790, xux2791, xux279200, xux2793, xux2794, xux2850, xux2851, xux2852, xux2853, Branch(xux28540, xux28541, xux28542, xux28543, xux28544), xux286, xux287, True, h, ba) -> new_mkVBalBranch3(xux286, xux287, xux28540, xux28541, xux28542, xux28543, xux28544, xux2790, xux2791, Pos(Succ(xux279200)), xux2793, xux2794, h, ba) 27.17/11.50 The graph contains the following edges 11 >= 1, 12 >= 2, 10 > 3, 10 > 4, 10 > 5, 10 > 6, 10 > 7, 1 >= 8, 2 >= 9, 4 >= 11, 5 >= 12, 14 >= 13, 15 >= 14 27.17/11.50 27.17/11.50 27.17/11.50 *new_mkVBalBranch3MkVBalBranch10(xux2790, xux2791, xux2793, xux2794, xux2850, xux2851, xux2852, xux2853, Branch(xux28540, xux28541, xux28542, xux28543, xux28544), xux286, xux287, True, h, ba) -> new_mkVBalBranch3(xux286, xux287, xux28540, xux28541, xux28542, xux28543, xux28544, xux2790, xux2791, Pos(Zero), xux2793, xux2794, h, ba) 27.17/11.50 The graph contains the following edges 10 >= 1, 11 >= 2, 9 > 3, 9 > 4, 9 > 5, 9 > 6, 9 > 7, 1 >= 8, 2 >= 9, 3 >= 11, 4 >= 12, 13 >= 13, 14 >= 14 27.17/11.50 27.17/11.50 27.17/11.50 *new_mkVBalBranch3MkVBalBranch11(xux2790, xux2791, xux279200, xux2793, xux2794, xux2850, xux2851, xux2852, xux2853, Branch(xux28540, xux28541, xux28542, xux28543, xux28544), xux286, xux287, True, h, ba) -> new_mkVBalBranch3(xux286, xux287, xux28540, xux28541, xux28542, xux28543, xux28544, xux2790, xux2791, Neg(Succ(xux279200)), xux2793, xux2794, h, ba) 27.17/11.50 The graph contains the following edges 11 >= 1, 12 >= 2, 10 > 3, 10 > 4, 10 > 5, 10 > 6, 10 > 7, 1 >= 8, 2 >= 9, 4 >= 11, 5 >= 12, 14 >= 13, 15 >= 14 27.17/11.50 27.17/11.50 27.17/11.50 ---------------------------------------- 27.17/11.50 27.17/11.50 (42) 27.17/11.50 YES 27.17/11.50 27.17/11.50 ---------------------------------------- 27.17/11.50 27.17/11.50 (43) 27.17/11.50 Obligation: 27.17/11.50 Q DP problem: 27.17/11.50 The TRS P consists of the following rules: 27.17/11.50 27.17/11.50 new_splitLT1(xux520, xux521, xux522, xux523, xux524, xux525, Succ(xux5260), Succ(xux5270), h) -> new_splitLT1(xux520, xux521, xux522, xux523, xux524, xux525, xux5260, xux5270, h) 27.17/11.50 new_splitLT(Branch(xux340, xux341, xux342, xux343, xux344), xux4000, ba) -> new_splitLT3(xux340, xux341, xux342, xux343, xux344, Char(Succ(xux4000)), ba) 27.17/11.50 new_splitLT3(Char(Zero), xux31, xux32, xux33, Branch(xux340, xux341, xux342, xux343, xux344), Char(Succ(xux4000)), ba) -> new_splitLT3(xux340, xux341, xux342, xux343, xux344, Char(Succ(xux4000)), ba) 27.17/11.50 new_splitLT2(xux194, xux195, xux196, xux197, xux198, xux199, Succ(xux2000), Zero, bb) -> new_splitLT1(xux194, xux195, xux196, xux197, xux198, xux199, Succ(xux199), Succ(xux194), bb) 27.17/11.50 new_splitLT2(xux194, xux195, xux196, xux197, xux198, xux199, Succ(xux2000), Succ(xux2010), bb) -> new_splitLT2(xux194, xux195, xux196, xux197, xux198, xux199, xux2000, xux2010, bb) 27.17/11.50 new_splitLT1(xux520, xux521, xux522, xux523, xux524, xux525, Succ(xux5260), Zero, h) -> new_splitLT(xux524, xux525, h) 27.17/11.50 new_splitLT2(xux194, xux195, xux196, xux197, xux198, xux199, Zero, Succ(xux2010), bb) -> new_splitLT(xux197, xux199, bb) 27.17/11.50 new_splitLT2(xux194, xux195, xux196, xux197, xux198, xux199, Zero, Zero, bb) -> new_splitLT20(xux194, xux195, xux196, xux197, xux198, xux199, bb) 27.17/11.50 new_splitLT20(xux194, xux195, xux196, xux197, xux198, xux199, bb) -> new_splitLT1(xux194, xux195, xux196, xux197, xux198, xux199, Succ(xux199), Succ(xux194), bb) 27.17/11.50 new_splitLT3(Char(Succ(xux3000)), xux31, xux32, Branch(xux330, xux331, xux332, xux333, xux334), xux34, Char(Zero), ba) -> new_splitLT3(xux330, xux331, xux332, xux333, xux334, Char(Zero), ba) 27.17/11.50 new_splitLT3(Char(Succ(xux3000)), xux31, xux32, xux33, xux34, Char(Succ(xux4000)), ba) -> new_splitLT2(xux3000, xux31, xux32, xux33, xux34, xux4000, xux4000, xux3000, ba) 27.17/11.50 27.17/11.50 R is empty. 27.17/11.50 Q is empty. 27.17/11.50 We have to consider all minimal (P,Q,R)-chains. 27.17/11.50 ---------------------------------------- 27.17/11.50 27.17/11.50 (44) DependencyGraphProof (EQUIVALENT) 27.17/11.50 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs. 27.17/11.50 ---------------------------------------- 27.17/11.50 27.17/11.50 (45) 27.17/11.50 Complex Obligation (AND) 27.17/11.50 27.17/11.50 ---------------------------------------- 27.17/11.50 27.17/11.50 (46) 27.17/11.50 Obligation: 27.17/11.50 Q DP problem: 27.17/11.50 The TRS P consists of the following rules: 27.17/11.50 27.17/11.50 new_splitLT3(Char(Succ(xux3000)), xux31, xux32, Branch(xux330, xux331, xux332, xux333, xux334), xux34, Char(Zero), ba) -> new_splitLT3(xux330, xux331, xux332, xux333, xux334, Char(Zero), ba) 27.17/11.50 27.17/11.50 R is empty. 27.17/11.50 Q is empty. 27.17/11.50 We have to consider all minimal (P,Q,R)-chains. 27.17/11.50 ---------------------------------------- 27.17/11.50 27.17/11.50 (47) QDPSizeChangeProof (EQUIVALENT) 27.17/11.50 By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. 27.17/11.50 27.17/11.50 From the DPs we obtained the following set of size-change graphs: 27.17/11.50 *new_splitLT3(Char(Succ(xux3000)), xux31, xux32, Branch(xux330, xux331, xux332, xux333, xux334), xux34, Char(Zero), ba) -> new_splitLT3(xux330, xux331, xux332, xux333, xux334, Char(Zero), ba) 27.17/11.50 The graph contains the following edges 4 > 1, 4 > 2, 4 > 3, 4 > 4, 4 > 5, 6 >= 6, 7 >= 7 27.17/11.50 27.17/11.50 27.17/11.50 ---------------------------------------- 27.17/11.50 27.17/11.50 (48) 27.17/11.50 YES 27.17/11.50 27.17/11.50 ---------------------------------------- 27.17/11.50 27.17/11.50 (49) 27.17/11.50 Obligation: 27.17/11.50 Q DP problem: 27.17/11.50 The TRS P consists of the following rules: 27.17/11.50 27.17/11.50 new_splitLT1(xux520, xux521, xux522, xux523, xux524, xux525, Succ(xux5260), Zero, h) -> new_splitLT(xux524, xux525, h) 27.17/11.50 new_splitLT(Branch(xux340, xux341, xux342, xux343, xux344), xux4000, ba) -> new_splitLT3(xux340, xux341, xux342, xux343, xux344, Char(Succ(xux4000)), ba) 27.17/11.50 new_splitLT3(Char(Zero), xux31, xux32, xux33, Branch(xux340, xux341, xux342, xux343, xux344), Char(Succ(xux4000)), ba) -> new_splitLT3(xux340, xux341, xux342, xux343, xux344, Char(Succ(xux4000)), ba) 27.17/11.50 new_splitLT3(Char(Succ(xux3000)), xux31, xux32, xux33, xux34, Char(Succ(xux4000)), ba) -> new_splitLT2(xux3000, xux31, xux32, xux33, xux34, xux4000, xux4000, xux3000, ba) 27.17/11.50 new_splitLT2(xux194, xux195, xux196, xux197, xux198, xux199, Succ(xux2000), Zero, bb) -> new_splitLT1(xux194, xux195, xux196, xux197, xux198, xux199, Succ(xux199), Succ(xux194), bb) 27.17/11.50 new_splitLT1(xux520, xux521, xux522, xux523, xux524, xux525, Succ(xux5260), Succ(xux5270), h) -> new_splitLT1(xux520, xux521, xux522, xux523, xux524, xux525, xux5260, xux5270, h) 27.17/11.50 new_splitLT2(xux194, xux195, xux196, xux197, xux198, xux199, Succ(xux2000), Succ(xux2010), bb) -> new_splitLT2(xux194, xux195, xux196, xux197, xux198, xux199, xux2000, xux2010, bb) 27.17/11.50 new_splitLT2(xux194, xux195, xux196, xux197, xux198, xux199, Zero, Succ(xux2010), bb) -> new_splitLT(xux197, xux199, bb) 27.17/11.50 new_splitLT2(xux194, xux195, xux196, xux197, xux198, xux199, Zero, Zero, bb) -> new_splitLT20(xux194, xux195, xux196, xux197, xux198, xux199, bb) 27.17/11.50 new_splitLT20(xux194, xux195, xux196, xux197, xux198, xux199, bb) -> new_splitLT1(xux194, xux195, xux196, xux197, xux198, xux199, Succ(xux199), Succ(xux194), bb) 27.17/11.50 27.17/11.50 R is empty. 27.17/11.50 Q is empty. 27.17/11.50 We have to consider all minimal (P,Q,R)-chains. 27.17/11.50 ---------------------------------------- 27.17/11.50 27.17/11.50 (50) QDPSizeChangeProof (EQUIVALENT) 27.17/11.50 By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. 27.17/11.50 27.17/11.50 From the DPs we obtained the following set of size-change graphs: 27.17/11.50 *new_splitLT(Branch(xux340, xux341, xux342, xux343, xux344), xux4000, ba) -> new_splitLT3(xux340, xux341, xux342, xux343, xux344, Char(Succ(xux4000)), ba) 27.17/11.50 The graph contains the following edges 1 > 1, 1 > 2, 1 > 3, 1 > 4, 1 > 5, 3 >= 7 27.17/11.50 27.17/11.50 27.17/11.50 *new_splitLT1(xux520, xux521, xux522, xux523, xux524, xux525, Succ(xux5260), Succ(xux5270), h) -> new_splitLT1(xux520, xux521, xux522, xux523, xux524, xux525, xux5260, xux5270, h) 27.17/11.50 The graph contains the following edges 1 >= 1, 2 >= 2, 3 >= 3, 4 >= 4, 5 >= 5, 6 >= 6, 7 > 7, 8 > 8, 9 >= 9 27.17/11.50 27.17/11.50 27.17/11.50 *new_splitLT3(Char(Zero), xux31, xux32, xux33, Branch(xux340, xux341, xux342, xux343, xux344), Char(Succ(xux4000)), ba) -> new_splitLT3(xux340, xux341, xux342, xux343, xux344, Char(Succ(xux4000)), ba) 27.17/11.50 The graph contains the following edges 5 > 1, 5 > 2, 5 > 3, 5 > 4, 5 > 5, 6 >= 6, 7 >= 7 27.17/11.50 27.17/11.50 27.17/11.50 *new_splitLT3(Char(Succ(xux3000)), xux31, xux32, xux33, xux34, Char(Succ(xux4000)), ba) -> new_splitLT2(xux3000, xux31, xux32, xux33, xux34, xux4000, xux4000, xux3000, ba) 27.17/11.50 The graph contains the following edges 1 > 1, 2 >= 2, 3 >= 3, 4 >= 4, 5 >= 5, 6 > 6, 6 > 7, 1 > 8, 7 >= 9 27.17/11.50 27.17/11.50 27.17/11.50 *new_splitLT2(xux194, xux195, xux196, xux197, xux198, xux199, Zero, Succ(xux2010), bb) -> new_splitLT(xux197, xux199, bb) 27.17/11.50 The graph contains the following edges 4 >= 1, 6 >= 2, 9 >= 3 27.17/11.50 27.17/11.50 27.17/11.50 *new_splitLT1(xux520, xux521, xux522, xux523, xux524, xux525, Succ(xux5260), Zero, h) -> new_splitLT(xux524, xux525, h) 27.17/11.50 The graph contains the following edges 5 >= 1, 6 >= 2, 9 >= 3 27.17/11.50 27.17/11.50 27.17/11.50 *new_splitLT20(xux194, xux195, xux196, xux197, xux198, xux199, bb) -> new_splitLT1(xux194, xux195, xux196, xux197, xux198, xux199, Succ(xux199), Succ(xux194), bb) 27.17/11.50 The graph contains the following edges 1 >= 1, 2 >= 2, 3 >= 3, 4 >= 4, 5 >= 5, 6 >= 6, 7 >= 9 27.17/11.50 27.17/11.50 27.17/11.50 *new_splitLT2(xux194, xux195, xux196, xux197, xux198, xux199, Succ(xux2000), Succ(xux2010), bb) -> new_splitLT2(xux194, xux195, xux196, xux197, xux198, xux199, xux2000, xux2010, bb) 27.17/11.50 The graph contains the following edges 1 >= 1, 2 >= 2, 3 >= 3, 4 >= 4, 5 >= 5, 6 >= 6, 7 > 7, 8 > 8, 9 >= 9 27.17/11.50 27.17/11.50 27.17/11.50 *new_splitLT2(xux194, xux195, xux196, xux197, xux198, xux199, Succ(xux2000), Zero, bb) -> new_splitLT1(xux194, xux195, xux196, xux197, xux198, xux199, Succ(xux199), Succ(xux194), bb) 27.17/11.50 The graph contains the following edges 1 >= 1, 2 >= 2, 3 >= 3, 4 >= 4, 5 >= 5, 6 >= 6, 9 >= 9 27.17/11.50 27.17/11.50 27.17/11.50 *new_splitLT2(xux194, xux195, xux196, xux197, xux198, xux199, Zero, Zero, bb) -> new_splitLT20(xux194, xux195, xux196, xux197, xux198, xux199, bb) 27.17/11.50 The graph contains the following edges 1 >= 1, 2 >= 2, 3 >= 3, 4 >= 4, 5 >= 5, 6 >= 6, 9 >= 7 27.17/11.50 27.17/11.50 27.17/11.50 ---------------------------------------- 27.17/11.50 27.17/11.50 (51) 27.17/11.50 YES 27.17/11.50 27.17/11.50 ---------------------------------------- 27.17/11.50 27.17/11.50 (52) 27.17/11.50 Obligation: 27.17/11.50 Q DP problem: 27.17/11.50 The TRS P consists of the following rules: 27.17/11.50 27.17/11.50 new_primMinusNat(Succ(xux748000), Succ(xux745000)) -> new_primMinusNat(xux748000, xux745000) 27.17/11.50 27.17/11.50 R is empty. 27.17/11.50 Q is empty. 27.17/11.50 We have to consider all minimal (P,Q,R)-chains. 27.17/11.50 ---------------------------------------- 27.17/11.50 27.17/11.50 (53) QDPSizeChangeProof (EQUIVALENT) 27.17/11.50 By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. 27.17/11.50 27.17/11.50 From the DPs we obtained the following set of size-change graphs: 27.17/11.50 *new_primMinusNat(Succ(xux748000), Succ(xux745000)) -> new_primMinusNat(xux748000, xux745000) 27.17/11.50 The graph contains the following edges 1 > 1, 2 > 2 27.17/11.50 27.17/11.50 27.17/11.50 ---------------------------------------- 27.17/11.50 27.17/11.50 (54) 27.17/11.50 YES 27.17/11.50 27.17/11.50 ---------------------------------------- 27.17/11.50 27.17/11.50 (55) 27.17/11.50 Obligation: 27.17/11.50 Q DP problem: 27.17/11.50 The TRS P consists of the following rules: 27.17/11.50 27.17/11.50 new_primPlusNat(Succ(xux2100), Succ(xux160)) -> new_primPlusNat(xux2100, xux160) 27.17/11.50 27.17/11.50 R is empty. 27.17/11.50 Q is empty. 27.17/11.50 We have to consider all minimal (P,Q,R)-chains. 27.17/11.50 ---------------------------------------- 27.17/11.50 27.17/11.50 (56) QDPSizeChangeProof (EQUIVALENT) 27.17/11.50 By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. 27.17/11.50 27.17/11.50 From the DPs we obtained the following set of size-change graphs: 27.17/11.50 *new_primPlusNat(Succ(xux2100), Succ(xux160)) -> new_primPlusNat(xux2100, xux160) 27.17/11.50 The graph contains the following edges 1 > 1, 2 > 2 27.17/11.50 27.17/11.50 27.17/11.50 ---------------------------------------- 27.17/11.50 27.17/11.50 (57) 27.17/11.50 YES 27.45/11.64 EOF