23.75/10.37 YES 26.71/11.13 proof of /export/starexec/sandbox/benchmark/theBenchmark.hs 26.71/11.13 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 26.71/11.13 26.71/11.13 26.71/11.13 H-Termination with start terms of the given HASKELL could be proven: 26.71/11.13 26.71/11.13 (0) HASKELL 26.71/11.13 (1) LR [EQUIVALENT, 0 ms] 26.71/11.13 (2) HASKELL 26.71/11.13 (3) CR [EQUIVALENT, 0 ms] 26.71/11.13 (4) HASKELL 26.71/11.13 (5) BR [EQUIVALENT, 0 ms] 26.71/11.13 (6) HASKELL 26.71/11.13 (7) COR [EQUIVALENT, 13 ms] 26.71/11.13 (8) HASKELL 26.71/11.13 (9) LetRed [EQUIVALENT, 0 ms] 26.71/11.13 (10) HASKELL 26.71/11.13 (11) NumRed [SOUND, 18 ms] 26.71/11.13 (12) HASKELL 26.71/11.13 (13) Narrow [SOUND, 0 ms] 26.71/11.13 (14) AND 26.71/11.13 (15) QDP 26.71/11.13 (16) QDPSizeChangeProof [EQUIVALENT, 0 ms] 26.71/11.13 (17) YES 26.71/11.13 (18) QDP 26.71/11.13 (19) QDPSizeChangeProof [EQUIVALENT, 0 ms] 26.71/11.13 (20) YES 26.71/11.13 (21) QDP 26.71/11.13 (22) DependencyGraphProof [EQUIVALENT, 0 ms] 26.71/11.13 (23) AND 26.71/11.13 (24) QDP 26.71/11.13 (25) QDPSizeChangeProof [EQUIVALENT, 0 ms] 26.71/11.13 (26) YES 26.71/11.13 (27) QDP 26.71/11.13 (28) QDPSizeChangeProof [EQUIVALENT, 0 ms] 26.71/11.13 (29) YES 26.71/11.13 (30) QDP 26.71/11.13 (31) QDPSizeChangeProof [EQUIVALENT, 0 ms] 26.71/11.13 (32) YES 26.71/11.13 (33) QDP 26.71/11.13 (34) DependencyGraphProof [EQUIVALENT, 0 ms] 26.71/11.13 (35) AND 26.71/11.13 (36) QDP 26.71/11.13 (37) QDPSizeChangeProof [EQUIVALENT, 0 ms] 26.71/11.13 (38) YES 26.71/11.13 (39) QDP 26.71/11.13 (40) QDPSizeChangeProof [EQUIVALENT, 0 ms] 26.71/11.13 (41) YES 26.71/11.13 (42) QDP 26.71/11.13 (43) QDPSizeChangeProof [EQUIVALENT, 0 ms] 26.71/11.13 (44) YES 26.71/11.13 (45) QDP 26.71/11.13 (46) QDPSizeChangeProof [EQUIVALENT, 0 ms] 26.71/11.13 (47) YES 26.71/11.13 (48) QDP 26.71/11.13 (49) QDPSizeChangeProof [EQUIVALENT, 0 ms] 26.71/11.13 (50) YES 26.71/11.13 (51) QDP 26.71/11.13 (52) QDPSizeChangeProof [EQUIVALENT, 0 ms] 26.71/11.13 (53) YES 26.71/11.13 26.71/11.13 26.71/11.13 ---------------------------------------- 26.71/11.13 26.71/11.13 (0) 26.71/11.13 Obligation: 26.71/11.13 mainModule Main 26.71/11.13 module FiniteMap where { 26.71/11.13 import qualified Main; 26.71/11.13 import qualified Maybe; 26.71/11.13 import qualified Prelude; 26.71/11.13 data FiniteMap b a = EmptyFM | Branch b a Int (FiniteMap b a) (FiniteMap b a) ; 26.71/11.13 26.71/11.13 instance (Eq a, Eq b) => Eq FiniteMap a b where { 26.71/11.13 } 26.71/11.13 addToFM :: Ord a => FiniteMap a b -> a -> b -> FiniteMap a b; 26.71/11.13 addToFM fm key elt = addToFM_C (\old new ->new) fm key elt; 26.71/11.13 26.71/11.13 addToFM_C :: Ord a => (b -> b -> b) -> FiniteMap a b -> a -> b -> FiniteMap a b; 26.71/11.13 addToFM_C combiner EmptyFM key elt = unitFM key elt; 26.71/11.13 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.71/11.13 | new_key > key = mkBalBranch key elt fm_l (addToFM_C combiner fm_r new_key new_elt) 26.71/11.13 | otherwise = Branch new_key (combiner elt new_elt) size fm_l fm_r; 26.71/11.13 26.71/11.13 emptyFM :: FiniteMap a b; 26.71/11.13 emptyFM = EmptyFM; 26.71/11.13 26.71/11.13 findMax :: FiniteMap a b -> (a,b); 26.71/11.13 findMax (Branch key elt _ _ EmptyFM) = (key,elt); 26.71/11.13 findMax (Branch key elt _ _ fm_r) = findMax fm_r; 26.71/11.13 26.71/11.13 findMin :: FiniteMap b a -> (b,a); 26.71/11.13 findMin (Branch key elt _ EmptyFM _) = (key,elt); 26.71/11.13 findMin (Branch key elt _ fm_l _) = findMin fm_l; 26.71/11.13 26.71/11.13 mkBalBranch :: Ord b => b -> a -> FiniteMap b a -> FiniteMap b a -> FiniteMap b a; 26.71/11.13 mkBalBranch key elt fm_L fm_R | size_l + size_r < 2 = mkBranch 1 key elt fm_L fm_R 26.71/11.13 | size_r > sIZE_RATIO * size_l = case fm_R of { 26.71/11.13 Branch _ _ _ fm_rl fm_rr | sizeFM fm_rl < 2 * sizeFM fm_rr -> single_L fm_L fm_R 26.71/11.13 | otherwise -> double_L fm_L fm_R; 26.71/11.13 } 26.71/11.13 | size_l > sIZE_RATIO * size_r = case fm_L of { 26.71/11.13 Branch _ _ _ fm_ll fm_lr | sizeFM fm_lr < 2 * sizeFM fm_ll -> single_R fm_L fm_R 26.71/11.13 | otherwise -> double_R fm_L fm_R; 26.71/11.13 } 26.71/11.13 | otherwise = mkBranch 2 key elt fm_L fm_R where { 26.71/11.13 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.71/11.13 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.71/11.13 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.71/11.13 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.71/11.13 size_l = sizeFM fm_L; 26.71/11.13 size_r = sizeFM fm_R; 26.71/11.13 }; 26.71/11.13 26.71/11.13 mkBranch :: Ord a => Int -> a -> b -> FiniteMap a b -> FiniteMap a b -> FiniteMap a b; 26.71/11.13 mkBranch which key elt fm_l fm_r = let { 26.71/11.13 result = Branch key elt (unbox (1 + left_size + right_size)) fm_l fm_r; 26.71/11.13 } in result where { 26.71/11.13 balance_ok = True; 26.71/11.13 left_ok = case fm_l of { 26.71/11.13 EmptyFM-> True; 26.71/11.13 Branch left_key _ _ _ _-> let { 26.71/11.13 biggest_left_key = fst (findMax fm_l); 26.71/11.13 } in biggest_left_key < key; 26.71/11.13 } ; 26.71/11.13 left_size = sizeFM fm_l; 26.71/11.13 right_ok = case fm_r of { 26.71/11.13 EmptyFM-> True; 26.71/11.13 Branch right_key _ _ _ _-> let { 26.71/11.13 smallest_right_key = fst (findMin fm_r); 26.71/11.13 } in key < smallest_right_key; 26.71/11.13 } ; 26.71/11.13 right_size = sizeFM fm_r; 26.71/11.13 unbox :: Int -> Int; 26.71/11.13 unbox x = x; 26.71/11.13 }; 26.71/11.13 26.71/11.13 mkVBalBranch :: Ord a => a -> b -> FiniteMap a b -> FiniteMap a b -> FiniteMap a b; 26.71/11.13 mkVBalBranch key elt EmptyFM fm_r = addToFM fm_r key elt; 26.71/11.13 mkVBalBranch key elt fm_l EmptyFM = addToFM fm_l key elt; 26.71/11.13 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.71/11.13 | sIZE_RATIO * size_r < size_l = mkBalBranch key_l elt_l fm_ll (mkVBalBranch key elt fm_lr fm_r) 26.71/11.13 | otherwise = mkBranch 13 key elt fm_l fm_r where { 26.71/11.13 size_l = sizeFM fm_l; 26.71/11.13 size_r = sizeFM fm_r; 26.71/11.13 }; 26.71/11.13 26.71/11.13 plusFM :: Ord b => FiniteMap b a -> FiniteMap b a -> FiniteMap b a; 26.71/11.13 plusFM EmptyFM fm2 = fm2; 26.71/11.13 plusFM fm1 EmptyFM = fm1; 26.71/11.13 plusFM fm1 (Branch split_key elt1 _ left right) = mkVBalBranch split_key elt1 (plusFM lts left) (plusFM gts right) where { 26.71/11.13 gts = splitGT fm1 split_key; 26.71/11.13 lts = splitLT fm1 split_key; 26.71/11.13 }; 26.71/11.13 26.71/11.13 sIZE_RATIO :: Int; 26.71/11.13 sIZE_RATIO = 5; 26.71/11.13 26.71/11.13 sizeFM :: FiniteMap a b -> Int; 26.71/11.13 sizeFM EmptyFM = 0; 26.71/11.13 sizeFM (Branch _ _ size _ _) = size; 26.71/11.13 26.71/11.13 splitGT :: Ord b => FiniteMap b a -> b -> FiniteMap b a; 26.71/11.13 splitGT EmptyFM split_key = emptyFM; 26.71/11.13 splitGT (Branch key elt _ fm_l fm_r) split_key | split_key > key = splitGT fm_r split_key 26.71/11.13 | split_key < key = mkVBalBranch key elt (splitGT fm_l split_key) fm_r 26.71/11.13 | otherwise = fm_r; 26.71/11.13 26.71/11.13 splitLT :: Ord b => FiniteMap b a -> b -> FiniteMap b a; 26.71/11.13 splitLT EmptyFM split_key = emptyFM; 26.71/11.13 splitLT (Branch key elt _ fm_l fm_r) split_key | split_key < key = splitLT fm_l split_key 26.71/11.13 | split_key > key = mkVBalBranch key elt fm_l (splitLT fm_r split_key) 26.71/11.13 | otherwise = fm_l; 26.71/11.13 26.71/11.13 unitFM :: a -> b -> FiniteMap a b; 26.71/11.13 unitFM key elt = Branch key elt 1 emptyFM emptyFM; 26.71/11.13 26.71/11.13 } 26.71/11.13 module Maybe where { 26.71/11.13 import qualified FiniteMap; 26.71/11.13 import qualified Main; 26.71/11.13 import qualified Prelude; 26.71/11.13 } 26.71/11.13 module Main where { 26.71/11.13 import qualified FiniteMap; 26.71/11.13 import qualified Maybe; 26.71/11.13 import qualified Prelude; 26.71/11.13 } 26.71/11.13 26.71/11.13 ---------------------------------------- 26.71/11.13 26.71/11.13 (1) LR (EQUIVALENT) 26.71/11.13 Lambda Reductions: 26.71/11.13 The following Lambda expression 26.71/11.13 "\oldnew->new" 26.71/11.13 is transformed to 26.71/11.13 "addToFM0 old new = new; 26.71/11.13 " 26.71/11.13 26.71/11.13 ---------------------------------------- 26.71/11.13 26.71/11.13 (2) 26.71/11.13 Obligation: 26.71/11.13 mainModule Main 26.71/11.13 module FiniteMap where { 26.71/11.13 import qualified Main; 26.71/11.13 import qualified Maybe; 26.71/11.13 import qualified Prelude; 26.71/11.13 data FiniteMap a b = EmptyFM | Branch a b Int (FiniteMap a b) (FiniteMap a b) ; 26.71/11.13 26.71/11.13 instance (Eq a, Eq b) => Eq FiniteMap b a where { 26.71/11.13 } 26.71/11.13 addToFM :: Ord a => FiniteMap a b -> a -> b -> FiniteMap a b; 26.71/11.13 addToFM fm key elt = addToFM_C addToFM0 fm key elt; 26.71/11.13 26.71/11.13 addToFM0 old new = new; 26.71/11.13 26.71/11.13 addToFM_C :: Ord b => (a -> a -> a) -> FiniteMap b a -> b -> a -> FiniteMap b a; 26.71/11.13 addToFM_C combiner EmptyFM key elt = unitFM key elt; 26.71/11.13 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.71/11.13 | new_key > key = mkBalBranch key elt fm_l (addToFM_C combiner fm_r new_key new_elt) 26.71/11.13 | otherwise = Branch new_key (combiner elt new_elt) size fm_l fm_r; 26.71/11.13 26.71/11.13 emptyFM :: FiniteMap a b; 26.71/11.13 emptyFM = EmptyFM; 26.71/11.13 26.71/11.13 findMax :: FiniteMap a b -> (a,b); 26.71/11.13 findMax (Branch key elt _ _ EmptyFM) = (key,elt); 26.71/11.13 findMax (Branch key elt _ _ fm_r) = findMax fm_r; 26.71/11.13 26.71/11.13 findMin :: FiniteMap b a -> (b,a); 26.71/11.13 findMin (Branch key elt _ EmptyFM _) = (key,elt); 26.71/11.13 findMin (Branch key elt _ fm_l _) = findMin fm_l; 26.71/11.13 26.71/11.13 mkBalBranch :: Ord b => b -> a -> FiniteMap b a -> FiniteMap b a -> FiniteMap b a; 26.71/11.13 mkBalBranch key elt fm_L fm_R | size_l + size_r < 2 = mkBranch 1 key elt fm_L fm_R 26.71/11.13 | size_r > sIZE_RATIO * size_l = case fm_R of { 26.71/11.13 Branch _ _ _ fm_rl fm_rr | sizeFM fm_rl < 2 * sizeFM fm_rr -> single_L fm_L fm_R 26.71/11.13 | otherwise -> double_L fm_L fm_R; 26.71/11.13 } 26.71/11.13 | size_l > sIZE_RATIO * size_r = case fm_L of { 26.71/11.13 Branch _ _ _ fm_ll fm_lr | sizeFM fm_lr < 2 * sizeFM fm_ll -> single_R fm_L fm_R 26.71/11.13 | otherwise -> double_R fm_L fm_R; 26.71/11.13 } 26.71/11.13 | otherwise = mkBranch 2 key elt fm_L fm_R where { 26.71/11.13 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.71/11.13 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.71/11.13 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.71/11.13 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.71/11.13 size_l = sizeFM fm_L; 26.71/11.13 size_r = sizeFM fm_R; 26.71/11.13 }; 26.71/11.13 26.71/11.13 mkBranch :: Ord a => Int -> a -> b -> FiniteMap a b -> FiniteMap a b -> FiniteMap a b; 26.71/11.13 mkBranch which key elt fm_l fm_r = let { 26.71/11.13 result = Branch key elt (unbox (1 + left_size + right_size)) fm_l fm_r; 26.71/11.13 } in result where { 26.71/11.13 balance_ok = True; 26.71/11.13 left_ok = case fm_l of { 26.71/11.13 EmptyFM-> True; 26.71/11.13 Branch left_key _ _ _ _-> let { 26.71/11.13 biggest_left_key = fst (findMax fm_l); 26.71/11.13 } in biggest_left_key < key; 26.71/11.13 } ; 26.71/11.13 left_size = sizeFM fm_l; 26.71/11.13 right_ok = case fm_r of { 26.71/11.13 EmptyFM-> True; 26.71/11.13 Branch right_key _ _ _ _-> let { 26.71/11.13 smallest_right_key = fst (findMin fm_r); 26.71/11.13 } in key < smallest_right_key; 26.71/11.13 } ; 26.71/11.13 right_size = sizeFM fm_r; 26.71/11.13 unbox :: Int -> Int; 26.71/11.13 unbox x = x; 26.71/11.13 }; 26.71/11.13 26.71/11.13 mkVBalBranch :: Ord a => a -> b -> FiniteMap a b -> FiniteMap a b -> FiniteMap a b; 26.71/11.13 mkVBalBranch key elt EmptyFM fm_r = addToFM fm_r key elt; 26.71/11.13 mkVBalBranch key elt fm_l EmptyFM = addToFM fm_l key elt; 26.71/11.13 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.71/11.13 | sIZE_RATIO * size_r < size_l = mkBalBranch key_l elt_l fm_ll (mkVBalBranch key elt fm_lr fm_r) 26.71/11.13 | otherwise = mkBranch 13 key elt fm_l fm_r where { 26.71/11.13 size_l = sizeFM fm_l; 26.71/11.13 size_r = sizeFM fm_r; 26.71/11.13 }; 26.71/11.13 26.71/11.13 plusFM :: Ord b => FiniteMap b a -> FiniteMap b a -> FiniteMap b a; 26.71/11.13 plusFM EmptyFM fm2 = fm2; 26.71/11.13 plusFM fm1 EmptyFM = fm1; 26.71/11.13 plusFM fm1 (Branch split_key elt1 _ left right) = mkVBalBranch split_key elt1 (plusFM lts left) (plusFM gts right) where { 26.71/11.13 gts = splitGT fm1 split_key; 26.71/11.13 lts = splitLT fm1 split_key; 26.71/11.13 }; 26.71/11.13 26.71/11.13 sIZE_RATIO :: Int; 26.71/11.13 sIZE_RATIO = 5; 26.71/11.13 26.71/11.13 sizeFM :: FiniteMap b a -> Int; 26.71/11.13 sizeFM EmptyFM = 0; 26.71/11.13 sizeFM (Branch _ _ size _ _) = size; 26.71/11.13 26.71/11.13 splitGT :: Ord a => FiniteMap a b -> a -> FiniteMap a b; 26.71/11.13 splitGT EmptyFM split_key = emptyFM; 26.71/11.13 splitGT (Branch key elt _ fm_l fm_r) split_key | split_key > key = splitGT fm_r split_key 26.71/11.13 | split_key < key = mkVBalBranch key elt (splitGT fm_l split_key) fm_r 26.71/11.13 | otherwise = fm_r; 26.71/11.13 26.71/11.13 splitLT :: Ord a => FiniteMap a b -> a -> FiniteMap a b; 26.71/11.13 splitLT EmptyFM split_key = emptyFM; 26.71/11.13 splitLT (Branch key elt _ fm_l fm_r) split_key | split_key < key = splitLT fm_l split_key 26.71/11.13 | split_key > key = mkVBalBranch key elt fm_l (splitLT fm_r split_key) 26.71/11.13 | otherwise = fm_l; 26.71/11.13 26.71/11.13 unitFM :: b -> a -> FiniteMap b a; 26.71/11.13 unitFM key elt = Branch key elt 1 emptyFM emptyFM; 26.71/11.13 26.71/11.13 } 26.71/11.13 module Maybe where { 26.71/11.13 import qualified FiniteMap; 26.71/11.13 import qualified Main; 26.71/11.13 import qualified Prelude; 26.71/11.13 } 26.71/11.13 module Main where { 26.71/11.13 import qualified FiniteMap; 26.71/11.13 import qualified Maybe; 26.71/11.13 import qualified Prelude; 26.71/11.13 } 26.71/11.13 26.71/11.13 ---------------------------------------- 26.71/11.13 26.71/11.13 (3) CR (EQUIVALENT) 26.71/11.13 Case Reductions: 26.71/11.13 The following Case expression 26.71/11.13 "case fm_r of { 26.71/11.13 EmptyFM -> True; 26.71/11.13 Branch right_key _ _ _ _ -> let { 26.71/11.13 smallest_right_key = fst (findMin fm_r); 26.71/11.13 } in key < smallest_right_key} 26.71/11.13 " 26.71/11.13 is transformed to 26.71/11.13 "right_ok0 fm_r key EmptyFM = True; 26.71/11.13 right_ok0 fm_r key (Branch right_key _ _ _ _) = let { 26.71/11.13 smallest_right_key = fst (findMin fm_r); 26.71/11.13 } in key < smallest_right_key; 26.71/11.13 " 26.71/11.13 The following Case expression 26.71/11.13 "case fm_l of { 26.71/11.13 EmptyFM -> True; 26.71/11.13 Branch left_key _ _ _ _ -> let { 26.71/11.13 biggest_left_key = fst (findMax fm_l); 26.71/11.13 } in biggest_left_key < key} 26.71/11.13 " 26.71/11.13 is transformed to 26.71/11.13 "left_ok0 fm_l key EmptyFM = True; 26.71/11.13 left_ok0 fm_l key (Branch left_key _ _ _ _) = let { 26.71/11.13 biggest_left_key = fst (findMax fm_l); 26.71/11.13 } in biggest_left_key < key; 26.71/11.13 " 26.71/11.13 The following Case expression 26.71/11.13 "case fm_R of { 26.71/11.13 Branch _ _ _ fm_rl fm_rr |sizeFM fm_rl < 2 * sizeFM fm_rrsingle_L fm_L fm_R|otherwisedouble_L fm_L fm_R} 26.71/11.13 " 26.71/11.13 is transformed to 26.71/11.13 "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.71/11.13 " 26.71/11.13 The following Case expression 26.71/11.13 "case fm_L of { 26.71/11.13 Branch _ _ _ fm_ll fm_lr |sizeFM fm_lr < 2 * sizeFM fm_llsingle_R fm_L fm_R|otherwisedouble_R fm_L fm_R} 26.71/11.13 " 26.71/11.13 is transformed to 26.71/11.13 "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.71/11.13 " 26.71/11.13 26.71/11.13 ---------------------------------------- 26.71/11.13 26.71/11.13 (4) 26.71/11.13 Obligation: 26.71/11.13 mainModule Main 26.71/11.13 module FiniteMap where { 26.71/11.13 import qualified Main; 26.71/11.13 import qualified Maybe; 26.71/11.13 import qualified Prelude; 26.71/11.13 data FiniteMap b a = EmptyFM | Branch b a Int (FiniteMap b a) (FiniteMap b a) ; 26.71/11.13 26.71/11.13 instance (Eq a, Eq b) => Eq FiniteMap b a where { 26.71/11.13 } 26.71/11.13 addToFM :: Ord b => FiniteMap b a -> b -> a -> FiniteMap b a; 26.71/11.13 addToFM fm key elt = addToFM_C addToFM0 fm key elt; 26.71/11.13 26.71/11.13 addToFM0 old new = new; 26.71/11.13 26.71/11.13 addToFM_C :: Ord b => (a -> a -> a) -> FiniteMap b a -> b -> a -> FiniteMap b a; 26.71/11.13 addToFM_C combiner EmptyFM key elt = unitFM key elt; 26.71/11.13 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.71/11.13 | new_key > key = mkBalBranch key elt fm_l (addToFM_C combiner fm_r new_key new_elt) 26.71/11.13 | otherwise = Branch new_key (combiner elt new_elt) size fm_l fm_r; 26.71/11.13 26.71/11.13 emptyFM :: FiniteMap b a; 26.71/11.13 emptyFM = EmptyFM; 26.71/11.13 26.71/11.13 findMax :: FiniteMap b a -> (b,a); 26.71/11.13 findMax (Branch key elt _ _ EmptyFM) = (key,elt); 26.71/11.13 findMax (Branch key elt _ _ fm_r) = findMax fm_r; 26.71/11.13 26.71/11.13 findMin :: FiniteMap b a -> (b,a); 26.71/11.13 findMin (Branch key elt _ EmptyFM _) = (key,elt); 26.71/11.13 findMin (Branch key elt _ fm_l _) = findMin fm_l; 26.71/11.13 26.71/11.13 mkBalBranch :: Ord a => a -> b -> FiniteMap a b -> FiniteMap a b -> FiniteMap a b; 26.71/11.13 mkBalBranch key elt fm_L fm_R | size_l + size_r < 2 = mkBranch 1 key elt fm_L fm_R 26.71/11.13 | size_r > sIZE_RATIO * size_l = mkBalBranch0 fm_L fm_R fm_R 26.71/11.13 | size_l > sIZE_RATIO * size_r = mkBalBranch1 fm_L fm_R fm_L 26.71/11.13 | otherwise = mkBranch 2 key elt fm_L fm_R where { 26.71/11.13 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.71/11.13 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.71/11.13 mkBalBranch0 fm_L fm_R (Branch _ _ _ fm_rl fm_rr) | sizeFM fm_rl < 2 * sizeFM fm_rr = single_L fm_L fm_R 26.71/11.13 | otherwise = double_L fm_L fm_R; 26.71/11.13 mkBalBranch1 fm_L fm_R (Branch _ _ _ fm_ll fm_lr) | sizeFM fm_lr < 2 * sizeFM fm_ll = single_R fm_L fm_R 26.71/11.13 | otherwise = double_R fm_L fm_R; 26.71/11.13 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.71/11.13 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.71/11.13 size_l = sizeFM fm_L; 26.71/11.13 size_r = sizeFM fm_R; 26.71/11.13 }; 26.71/11.13 26.71/11.13 mkBranch :: Ord a => Int -> a -> b -> FiniteMap a b -> FiniteMap a b -> FiniteMap a b; 26.71/11.13 mkBranch which key elt fm_l fm_r = let { 26.71/11.13 result = Branch key elt (unbox (1 + left_size + right_size)) fm_l fm_r; 26.71/11.13 } in result where { 26.71/11.13 balance_ok = True; 26.71/11.13 left_ok = left_ok0 fm_l key fm_l; 26.71/11.13 left_ok0 fm_l key EmptyFM = True; 26.71/11.13 left_ok0 fm_l key (Branch left_key _ _ _ _) = let { 26.71/11.13 biggest_left_key = fst (findMax fm_l); 26.71/11.13 } in biggest_left_key < key; 26.71/11.13 left_size = sizeFM fm_l; 26.71/11.13 right_ok = right_ok0 fm_r key fm_r; 26.71/11.13 right_ok0 fm_r key EmptyFM = True; 26.71/11.13 right_ok0 fm_r key (Branch right_key _ _ _ _) = let { 26.71/11.13 smallest_right_key = fst (findMin fm_r); 26.71/11.13 } in key < smallest_right_key; 26.71/11.13 right_size = sizeFM fm_r; 26.71/11.13 unbox :: Int -> Int; 26.71/11.13 unbox x = x; 26.71/11.13 }; 26.71/11.13 26.71/11.13 mkVBalBranch :: Ord b => b -> a -> FiniteMap b a -> FiniteMap b a -> FiniteMap b a; 26.71/11.13 mkVBalBranch key elt EmptyFM fm_r = addToFM fm_r key elt; 26.71/11.13 mkVBalBranch key elt fm_l EmptyFM = addToFM fm_l key elt; 26.71/11.13 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.71/11.13 | sIZE_RATIO * size_r < size_l = mkBalBranch key_l elt_l fm_ll (mkVBalBranch key elt fm_lr fm_r) 26.71/11.13 | otherwise = mkBranch 13 key elt fm_l fm_r where { 26.71/11.13 size_l = sizeFM fm_l; 26.71/11.13 size_r = sizeFM fm_r; 26.71/11.13 }; 26.71/11.13 26.71/11.13 plusFM :: Ord b => FiniteMap b a -> FiniteMap b a -> FiniteMap b a; 26.71/11.13 plusFM EmptyFM fm2 = fm2; 26.71/11.13 plusFM fm1 EmptyFM = fm1; 26.71/11.13 plusFM fm1 (Branch split_key elt1 _ left right) = mkVBalBranch split_key elt1 (plusFM lts left) (plusFM gts right) where { 26.71/11.13 gts = splitGT fm1 split_key; 26.71/11.13 lts = splitLT fm1 split_key; 26.71/11.13 }; 26.71/11.13 26.71/11.13 sIZE_RATIO :: Int; 26.71/11.13 sIZE_RATIO = 5; 26.71/11.13 26.71/11.13 sizeFM :: FiniteMap b a -> Int; 26.71/11.13 sizeFM EmptyFM = 0; 26.71/11.13 sizeFM (Branch _ _ size _ _) = size; 26.71/11.13 26.71/11.13 splitGT :: Ord b => FiniteMap b a -> b -> FiniteMap b a; 26.71/11.13 splitGT EmptyFM split_key = emptyFM; 26.71/11.13 splitGT (Branch key elt _ fm_l fm_r) split_key | split_key > key = splitGT fm_r split_key 26.71/11.13 | split_key < key = mkVBalBranch key elt (splitGT fm_l split_key) fm_r 26.71/11.13 | otherwise = fm_r; 26.71/11.13 26.71/11.13 splitLT :: Ord a => FiniteMap a b -> a -> FiniteMap a b; 26.71/11.13 splitLT EmptyFM split_key = emptyFM; 26.71/11.13 splitLT (Branch key elt _ fm_l fm_r) split_key | split_key < key = splitLT fm_l split_key 26.71/11.13 | split_key > key = mkVBalBranch key elt fm_l (splitLT fm_r split_key) 26.71/11.13 | otherwise = fm_l; 26.71/11.13 26.71/11.13 unitFM :: b -> a -> FiniteMap b a; 26.71/11.13 unitFM key elt = Branch key elt 1 emptyFM emptyFM; 26.71/11.13 26.71/11.13 } 26.71/11.13 module Maybe where { 26.71/11.13 import qualified FiniteMap; 26.71/11.13 import qualified Main; 26.71/11.13 import qualified Prelude; 26.71/11.13 } 26.71/11.13 module Main where { 26.71/11.13 import qualified FiniteMap; 26.71/11.13 import qualified Maybe; 26.71/11.13 import qualified Prelude; 26.71/11.13 } 26.71/11.13 26.71/11.13 ---------------------------------------- 26.71/11.13 26.71/11.13 (5) BR (EQUIVALENT) 26.71/11.13 Replaced joker patterns by fresh variables and removed binding patterns. 26.71/11.13 26.71/11.13 Binding Reductions: 26.71/11.13 The bind variable of the following binding Pattern 26.71/11.13 "fm_l@(Branch wv ww wx wy wz)" 26.71/11.13 is replaced by the following term 26.71/11.13 "Branch wv ww wx wy wz" 26.71/11.13 The bind variable of the following binding Pattern 26.71/11.13 "fm_r@(Branch xv xw xx xy xz)" 26.71/11.13 is replaced by the following term 26.71/11.13 "Branch xv xw xx xy xz" 26.71/11.13 26.71/11.13 ---------------------------------------- 26.71/11.13 26.71/11.13 (6) 26.71/11.13 Obligation: 26.71/11.13 mainModule Main 26.71/11.13 module FiniteMap where { 26.71/11.13 import qualified Main; 26.71/11.13 import qualified Maybe; 26.71/11.13 import qualified Prelude; 26.71/11.13 data FiniteMap a b = EmptyFM | Branch a b Int (FiniteMap a b) (FiniteMap a b) ; 26.71/11.13 26.71/11.13 instance (Eq a, Eq b) => Eq FiniteMap a b where { 26.71/11.13 } 26.71/11.13 addToFM :: Ord b => FiniteMap b a -> b -> a -> FiniteMap b a; 26.71/11.13 addToFM fm key elt = addToFM_C addToFM0 fm key elt; 26.71/11.13 26.71/11.13 addToFM0 old new = new; 26.71/11.13 26.71/11.13 addToFM_C :: Ord a => (b -> b -> b) -> FiniteMap a b -> a -> b -> FiniteMap a b; 26.71/11.13 addToFM_C combiner EmptyFM key elt = unitFM key elt; 26.71/11.13 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.71/11.13 | new_key > key = mkBalBranch key elt fm_l (addToFM_C combiner fm_r new_key new_elt) 26.71/11.13 | otherwise = Branch new_key (combiner elt new_elt) size fm_l fm_r; 26.71/11.13 26.71/11.13 emptyFM :: FiniteMap b a; 26.71/11.13 emptyFM = EmptyFM; 26.71/11.13 26.71/11.13 findMax :: FiniteMap a b -> (a,b); 26.71/11.13 findMax (Branch key elt zy zz EmptyFM) = (key,elt); 26.71/11.13 findMax (Branch key elt vuu vuv fm_r) = findMax fm_r; 26.71/11.13 26.71/11.13 findMin :: FiniteMap a b -> (a,b); 26.71/11.13 findMin (Branch key elt vxu EmptyFM vxv) = (key,elt); 26.71/11.13 findMin (Branch key elt vxw fm_l vxx) = findMin fm_l; 26.71/11.13 26.71/11.13 mkBalBranch :: Ord b => b -> a -> FiniteMap b a -> FiniteMap b a -> FiniteMap b a; 26.71/11.13 mkBalBranch key elt fm_L fm_R | size_l + size_r < 2 = mkBranch 1 key elt fm_L fm_R 26.71/11.13 | size_r > sIZE_RATIO * size_l = mkBalBranch0 fm_L fm_R fm_R 26.71/11.13 | size_l > sIZE_RATIO * size_r = mkBalBranch1 fm_L fm_R fm_L 26.71/11.13 | otherwise = mkBranch 2 key elt fm_L fm_R where { 26.71/11.13 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.71/11.13 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.71/11.13 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.71/11.13 | otherwise = double_L fm_L fm_R; 26.71/11.13 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.71/11.13 | otherwise = double_R fm_L fm_R; 26.71/11.13 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.71/11.13 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.71/11.13 size_l = sizeFM fm_L; 26.71/11.13 size_r = sizeFM fm_R; 26.71/11.13 }; 26.71/11.13 26.71/11.13 mkBranch :: Ord a => Int -> a -> b -> FiniteMap a b -> FiniteMap a b -> FiniteMap a b; 26.71/11.13 mkBranch which key elt fm_l fm_r = let { 26.71/11.13 result = Branch key elt (unbox (1 + left_size + right_size)) fm_l fm_r; 26.71/11.13 } in result where { 26.71/11.13 balance_ok = True; 26.71/11.13 left_ok = left_ok0 fm_l key fm_l; 26.71/11.13 left_ok0 fm_l key EmptyFM = True; 26.71/11.13 left_ok0 fm_l key (Branch left_key yw yx yy yz) = let { 26.71/11.13 biggest_left_key = fst (findMax fm_l); 26.71/11.13 } in biggest_left_key < key; 26.71/11.13 left_size = sizeFM fm_l; 26.71/11.13 right_ok = right_ok0 fm_r key fm_r; 26.71/11.13 right_ok0 fm_r key EmptyFM = True; 26.71/11.13 right_ok0 fm_r key (Branch right_key zu zv zw zx) = let { 26.71/11.13 smallest_right_key = fst (findMin fm_r); 26.71/11.13 } in key < smallest_right_key; 26.71/11.13 right_size = sizeFM fm_r; 26.71/11.13 unbox :: Int -> Int; 26.71/11.13 unbox x = x; 26.71/11.13 }; 26.71/11.13 26.71/11.13 mkVBalBranch :: Ord b => b -> a -> FiniteMap b a -> FiniteMap b a -> FiniteMap b a; 26.71/11.13 mkVBalBranch key elt EmptyFM fm_r = addToFM fm_r key elt; 26.71/11.13 mkVBalBranch key elt fm_l EmptyFM = addToFM fm_l key elt; 26.71/11.13 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.71/11.13 | sIZE_RATIO * size_r < size_l = mkBalBranch wv ww wy (mkVBalBranch key elt wz (Branch xv xw xx xy xz)) 26.71/11.13 | otherwise = mkBranch 13 key elt (Branch wv ww wx wy wz) (Branch xv xw xx xy xz) where { 26.71/11.13 size_l = sizeFM (Branch wv ww wx wy wz); 26.71/11.13 size_r = sizeFM (Branch xv xw xx xy xz); 26.71/11.13 }; 26.71/11.13 26.71/11.13 plusFM :: Ord b => FiniteMap b a -> FiniteMap b a -> FiniteMap b a; 26.71/11.13 plusFM EmptyFM fm2 = fm2; 26.71/11.13 plusFM fm1 EmptyFM = fm1; 26.71/11.13 plusFM fm1 (Branch split_key elt1 vz left right) = mkVBalBranch split_key elt1 (plusFM lts left) (plusFM gts right) where { 26.71/11.13 gts = splitGT fm1 split_key; 26.71/11.13 lts = splitLT fm1 split_key; 26.71/11.13 }; 26.71/11.13 26.71/11.13 sIZE_RATIO :: Int; 26.71/11.13 sIZE_RATIO = 5; 26.71/11.13 26.71/11.13 sizeFM :: FiniteMap a b -> Int; 26.71/11.13 sizeFM EmptyFM = 0; 26.71/11.13 sizeFM (Branch vww vwx size vwy vwz) = size; 26.71/11.13 26.71/11.13 splitGT :: Ord b => FiniteMap b a -> b -> FiniteMap b a; 26.71/11.13 splitGT EmptyFM split_key = emptyFM; 26.71/11.13 splitGT (Branch key elt yu fm_l fm_r) split_key | split_key > key = splitGT fm_r split_key 26.71/11.13 | split_key < key = mkVBalBranch key elt (splitGT fm_l split_key) fm_r 26.71/11.13 | otherwise = fm_r; 26.71/11.13 26.71/11.13 splitLT :: Ord b => FiniteMap b a -> b -> FiniteMap b a; 26.71/11.13 splitLT EmptyFM split_key = emptyFM; 26.71/11.13 splitLT (Branch key elt yv fm_l fm_r) split_key | split_key < key = splitLT fm_l split_key 26.71/11.13 | split_key > key = mkVBalBranch key elt fm_l (splitLT fm_r split_key) 26.71/11.13 | otherwise = fm_l; 26.71/11.13 26.71/11.13 unitFM :: b -> a -> FiniteMap b a; 26.71/11.13 unitFM key elt = Branch key elt 1 emptyFM emptyFM; 26.71/11.13 26.71/11.13 } 26.71/11.13 module Maybe where { 26.71/11.13 import qualified FiniteMap; 26.71/11.13 import qualified Main; 26.71/11.13 import qualified Prelude; 26.71/11.13 } 26.71/11.13 module Main where { 26.71/11.13 import qualified FiniteMap; 26.71/11.13 import qualified Maybe; 26.71/11.13 import qualified Prelude; 26.71/11.13 } 26.71/11.13 26.71/11.13 ---------------------------------------- 26.71/11.13 26.71/11.13 (7) COR (EQUIVALENT) 26.71/11.13 Cond Reductions: 26.71/11.13 The following Function with conditions 26.71/11.13 "compare x y|x == yEQ|x <= yLT|otherwiseGT; 26.71/11.13 " 26.71/11.13 is transformed to 26.71/11.13 "compare x y = compare3 x y; 26.71/11.13 " 26.71/11.13 "compare1 x y True = LT; 26.71/11.13 compare1 x y False = compare0 x y otherwise; 26.71/11.13 " 26.71/11.13 "compare2 x y True = EQ; 26.71/11.13 compare2 x y False = compare1 x y (x <= y); 26.71/11.13 " 26.71/11.13 "compare0 x y True = GT; 26.71/11.13 " 26.71/11.13 "compare3 x y = compare2 x y (x == y); 26.71/11.13 " 26.71/11.13 The following Function with conditions 26.71/11.13 "undefined |Falseundefined; 26.71/11.13 " 26.71/11.13 is transformed to 26.71/11.13 "undefined = undefined1; 27.26/11.24 " 27.26/11.24 "undefined0 True = undefined; 27.26/11.24 " 27.26/11.24 "undefined1 = undefined0 False; 27.26/11.24 " 27.26/11.24 The following Function with conditions 27.26/11.24 "addToFM_C combiner EmptyFM key elt = unitFM key elt; 27.26/11.24 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.26/11.24 " 27.26/11.24 is transformed to 27.26/11.24 "addToFM_C combiner EmptyFM key elt = addToFM_C4 combiner EmptyFM key elt; 27.26/11.24 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.26/11.24 " 27.26/11.24 "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.26/11.24 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.26/11.24 " 27.26/11.24 "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.26/11.24 " 27.26/11.24 "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.26/11.24 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.26/11.24 " 27.26/11.24 "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.26/11.24 " 27.26/11.24 "addToFM_C4 combiner EmptyFM key elt = unitFM key elt; 27.26/11.24 addToFM_C4 vyu vyv vyw vyx = addToFM_C3 vyu vyv vyw vyx; 27.26/11.24 " 27.26/11.24 The following Function with conditions 27.26/11.24 "mkVBalBranch key elt EmptyFM fm_r = addToFM fm_r key elt; 27.26/11.24 mkVBalBranch key elt fm_l EmptyFM = addToFM fm_l key elt; 27.26/11.24 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.26/11.24 size_l = sizeFM (Branch wv ww wx wy wz); 27.26/11.24 ; 27.26/11.24 size_r = sizeFM (Branch xv xw xx xy xz); 27.26/11.24 } 27.26/11.24 ; 27.26/11.24 " 27.26/11.24 is transformed to 27.26/11.24 "mkVBalBranch key elt EmptyFM fm_r = mkVBalBranch5 key elt EmptyFM fm_r; 27.26/11.24 mkVBalBranch key elt fm_l EmptyFM = mkVBalBranch4 key elt fm_l EmptyFM; 27.26/11.24 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.26/11.24 " 27.26/11.24 "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.26/11.24 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.26/11.24 ; 27.26/11.24 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.26/11.24 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.26/11.24 ; 27.26/11.24 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.26/11.24 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.26/11.24 ; 27.26/11.24 size_l = sizeFM (Branch wv ww wx wy wz); 27.26/11.24 ; 27.26/11.24 size_r = sizeFM (Branch xv xw xx xy xz); 27.26/11.24 } 27.26/11.24 ; 27.26/11.24 " 27.26/11.24 "mkVBalBranch4 key elt fm_l EmptyFM = addToFM fm_l key elt; 27.26/11.24 mkVBalBranch4 vzv vzw vzx vzy = mkVBalBranch3 vzv vzw vzx vzy; 27.26/11.24 " 27.26/11.24 "mkVBalBranch5 key elt EmptyFM fm_r = addToFM fm_r key elt; 27.26/11.24 mkVBalBranch5 wuu wuv wuw wux = mkVBalBranch4 wuu wuv wuw wux; 27.26/11.24 " 27.26/11.24 The following Function with conditions 27.26/11.24 "splitGT EmptyFM split_key = emptyFM; 27.26/11.24 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.26/11.24 " 27.26/11.24 is transformed to 27.26/11.24 "splitGT EmptyFM split_key = splitGT4 EmptyFM split_key; 27.26/11.24 splitGT (Branch key elt yu fm_l fm_r) split_key = splitGT3 (Branch key elt yu fm_l fm_r) split_key; 27.26/11.24 " 27.26/11.24 "splitGT0 key elt yu fm_l fm_r split_key True = fm_r; 27.26/11.24 " 27.26/11.24 "splitGT2 key elt yu fm_l fm_r split_key True = splitGT fm_r split_key; 27.26/11.24 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.26/11.24 " 27.26/11.24 "splitGT1 key elt yu fm_l fm_r split_key True = mkVBalBranch key elt (splitGT fm_l split_key) fm_r; 27.26/11.24 splitGT1 key elt yu fm_l fm_r split_key False = splitGT0 key elt yu fm_l fm_r split_key otherwise; 27.26/11.24 " 27.26/11.24 "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.26/11.24 " 27.26/11.24 "splitGT4 EmptyFM split_key = emptyFM; 27.26/11.24 splitGT4 wvu wvv = splitGT3 wvu wvv; 27.26/11.24 " 27.26/11.24 The following Function with conditions 27.26/11.24 "splitLT EmptyFM split_key = emptyFM; 27.26/11.24 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.26/11.24 " 27.26/11.24 is transformed to 27.26/11.24 "splitLT EmptyFM split_key = splitLT4 EmptyFM split_key; 27.26/11.24 splitLT (Branch key elt yv fm_l fm_r) split_key = splitLT3 (Branch key elt yv fm_l fm_r) split_key; 27.26/11.24 " 27.26/11.24 "splitLT2 key elt yv fm_l fm_r split_key True = splitLT fm_l split_key; 27.26/11.24 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.26/11.24 " 27.26/11.24 "splitLT1 key elt yv fm_l fm_r split_key True = mkVBalBranch key elt fm_l (splitLT fm_r split_key); 27.26/11.24 splitLT1 key elt yv fm_l fm_r split_key False = splitLT0 key elt yv fm_l fm_r split_key otherwise; 27.26/11.24 " 27.26/11.24 "splitLT0 key elt yv fm_l fm_r split_key True = fm_l; 27.26/11.24 " 27.26/11.24 "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.26/11.24 " 27.26/11.24 "splitLT4 EmptyFM split_key = emptyFM; 27.26/11.24 splitLT4 wvy wvz = splitLT3 wvy wvz; 27.26/11.24 " 27.26/11.24 The following Function with conditions 27.26/11.24 "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.26/11.24 " 27.26/11.24 is transformed to 27.26/11.24 "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.26/11.24 " 27.26/11.24 "mkBalBranch10 fm_L fm_R vuz vvu vvv fm_ll fm_lr True = double_R fm_L fm_R; 27.26/11.24 " 27.26/11.24 "mkBalBranch11 fm_L fm_R vuz vvu vvv fm_ll fm_lr True = single_R fm_L fm_R; 27.26/11.24 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.26/11.24 " 27.26/11.24 "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.26/11.24 " 27.26/11.24 The following Function with conditions 27.26/11.24 "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.26/11.24 " 27.26/11.24 is transformed to 27.26/11.24 "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.26/11.24 " 27.26/11.24 "mkBalBranch00 fm_L fm_R vvy vvz vwu fm_rl fm_rr True = double_L fm_L fm_R; 27.26/11.24 " 27.26/11.24 "mkBalBranch01 fm_L fm_R vvy vvz vwu fm_rl fm_rr True = single_L fm_L fm_R; 27.26/11.24 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.26/11.24 " 27.26/11.24 "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.26/11.24 " 27.26/11.24 The following Function with conditions 27.26/11.24 "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.26/11.24 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.26/11.24 ; 27.26/11.24 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.26/11.24 ; 27.26/11.24 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.26/11.24 ; 27.26/11.24 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.26/11.24 ; 27.26/11.24 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.26/11.24 ; 27.26/11.24 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.26/11.24 ; 27.26/11.24 size_l = sizeFM fm_L; 27.26/11.24 ; 27.26/11.24 size_r = sizeFM fm_R; 27.26/11.24 } 27.26/11.24 ; 27.26/11.24 " 27.26/11.24 is transformed to 27.26/11.24 "mkBalBranch key elt fm_L fm_R = mkBalBranch6 key elt fm_L fm_R; 27.26/11.24 " 27.26/11.24 "mkBalBranch6 key elt fm_L fm_R = mkBalBranch5 key elt fm_L fm_R (size_l + size_r < 2) where { 27.26/11.24 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.26/11.24 ; 27.26/11.24 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.26/11.24 ; 27.26/11.24 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.26/11.24 ; 27.26/11.24 mkBalBranch00 fm_L fm_R vvy vvz vwu fm_rl fm_rr True = double_L fm_L fm_R; 27.26/11.24 ; 27.26/11.24 mkBalBranch01 fm_L fm_R vvy vvz vwu fm_rl fm_rr True = single_L fm_L fm_R; 27.26/11.24 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.26/11.24 ; 27.26/11.24 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.26/11.24 ; 27.26/11.24 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.26/11.24 ; 27.26/11.24 mkBalBranch10 fm_L fm_R vuz vvu vvv fm_ll fm_lr True = double_R fm_L fm_R; 27.26/11.24 ; 27.26/11.24 mkBalBranch11 fm_L fm_R vuz vvu vvv fm_ll fm_lr True = single_R fm_L fm_R; 27.26/11.24 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.26/11.24 ; 27.26/11.24 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.26/11.24 ; 27.26/11.24 mkBalBranch2 key elt fm_L fm_R True = mkBranch 2 key elt fm_L fm_R; 27.26/11.24 ; 27.26/11.24 mkBalBranch3 key elt fm_L fm_R True = mkBalBranch1 fm_L fm_R fm_L; 27.26/11.24 mkBalBranch3 key elt fm_L fm_R False = mkBalBranch2 key elt fm_L fm_R otherwise; 27.26/11.24 ; 27.26/11.24 mkBalBranch4 key elt fm_L fm_R True = mkBalBranch0 fm_L fm_R fm_R; 27.26/11.24 mkBalBranch4 key elt fm_L fm_R False = mkBalBranch3 key elt fm_L fm_R (size_l > sIZE_RATIO * size_r); 27.26/11.24 ; 27.26/11.24 mkBalBranch5 key elt fm_L fm_R True = mkBranch 1 key elt fm_L fm_R; 27.26/11.24 mkBalBranch5 key elt fm_L fm_R False = mkBalBranch4 key elt fm_L fm_R (size_r > sIZE_RATIO * size_l); 27.26/11.24 ; 27.26/11.24 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.26/11.24 ; 27.26/11.24 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.26/11.24 ; 27.26/11.24 size_l = sizeFM fm_L; 27.26/11.24 ; 27.26/11.24 size_r = sizeFM fm_R; 27.26/11.24 } 27.26/11.24 ; 27.26/11.24 " 27.26/11.24 27.26/11.24 ---------------------------------------- 27.26/11.24 27.26/11.24 (8) 27.26/11.24 Obligation: 27.26/11.24 mainModule Main 27.26/11.24 module FiniteMap where { 27.26/11.24 import qualified Main; 27.26/11.24 import qualified Maybe; 27.26/11.24 import qualified Prelude; 27.26/11.24 data FiniteMap a b = EmptyFM | Branch a b Int (FiniteMap a b) (FiniteMap a b) ; 27.26/11.24 27.26/11.24 instance (Eq a, Eq b) => Eq FiniteMap a b where { 27.26/11.24 } 27.26/11.24 addToFM :: Ord b => FiniteMap b a -> b -> a -> FiniteMap b a; 27.26/11.24 addToFM fm key elt = addToFM_C addToFM0 fm key elt; 27.26/11.24 27.26/11.24 addToFM0 old new = new; 27.26/11.24 27.26/11.24 addToFM_C :: Ord a => (b -> b -> b) -> FiniteMap a b -> a -> b -> FiniteMap a b; 27.26/11.24 addToFM_C combiner EmptyFM key elt = addToFM_C4 combiner EmptyFM key elt; 27.26/11.24 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.26/11.24 27.26/11.24 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.26/11.24 27.26/11.24 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.26/11.24 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.26/11.24 27.26/11.24 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.26/11.24 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.26/11.24 27.26/11.24 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.26/11.24 27.26/11.24 addToFM_C4 combiner EmptyFM key elt = unitFM key elt; 27.26/11.24 addToFM_C4 vyu vyv vyw vyx = addToFM_C3 vyu vyv vyw vyx; 27.26/11.24 27.26/11.24 emptyFM :: FiniteMap a b; 27.26/11.24 emptyFM = EmptyFM; 27.26/11.24 27.26/11.24 findMax :: FiniteMap b a -> (b,a); 27.26/11.24 findMax (Branch key elt zy zz EmptyFM) = (key,elt); 27.26/11.24 findMax (Branch key elt vuu vuv fm_r) = findMax fm_r; 27.26/11.24 27.26/11.24 findMin :: FiniteMap a b -> (a,b); 27.26/11.24 findMin (Branch key elt vxu EmptyFM vxv) = (key,elt); 27.26/11.24 findMin (Branch key elt vxw fm_l vxx) = findMin fm_l; 27.26/11.24 27.26/11.24 mkBalBranch :: Ord b => b -> a -> FiniteMap b a -> FiniteMap b a -> FiniteMap b a; 27.26/11.24 mkBalBranch key elt fm_L fm_R = mkBalBranch6 key elt fm_L fm_R; 27.26/11.24 27.26/11.24 mkBalBranch6 key elt fm_L fm_R = mkBalBranch5 key elt fm_L fm_R (size_l + size_r < 2) where { 27.26/11.24 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.26/11.24 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.26/11.24 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.26/11.24 mkBalBranch00 fm_L fm_R vvy vvz vwu fm_rl fm_rr True = double_L fm_L fm_R; 27.26/11.24 mkBalBranch01 fm_L fm_R vvy vvz vwu fm_rl fm_rr True = single_L fm_L fm_R; 27.26/11.24 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.26/11.24 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.26/11.24 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.26/11.24 mkBalBranch10 fm_L fm_R vuz vvu vvv fm_ll fm_lr True = double_R fm_L fm_R; 27.26/11.24 mkBalBranch11 fm_L fm_R vuz vvu vvv fm_ll fm_lr True = single_R fm_L fm_R; 27.26/11.24 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.26/11.24 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.26/11.24 mkBalBranch2 key elt fm_L fm_R True = mkBranch 2 key elt fm_L fm_R; 27.26/11.24 mkBalBranch3 key elt fm_L fm_R True = mkBalBranch1 fm_L fm_R fm_L; 27.26/11.24 mkBalBranch3 key elt fm_L fm_R False = mkBalBranch2 key elt fm_L fm_R otherwise; 27.26/11.24 mkBalBranch4 key elt fm_L fm_R True = mkBalBranch0 fm_L fm_R fm_R; 27.26/11.24 mkBalBranch4 key elt fm_L fm_R False = mkBalBranch3 key elt fm_L fm_R (size_l > sIZE_RATIO * size_r); 27.26/11.24 mkBalBranch5 key elt fm_L fm_R True = mkBranch 1 key elt fm_L fm_R; 27.26/11.24 mkBalBranch5 key elt fm_L fm_R False = mkBalBranch4 key elt fm_L fm_R (size_r > sIZE_RATIO * size_l); 27.26/11.24 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.26/11.24 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.26/11.24 size_l = sizeFM fm_L; 27.26/11.24 size_r = sizeFM fm_R; 27.26/11.24 }; 27.26/11.24 27.26/11.24 mkBranch :: Ord a => Int -> a -> b -> FiniteMap a b -> FiniteMap a b -> FiniteMap a b; 27.26/11.24 mkBranch which key elt fm_l fm_r = let { 27.26/11.24 result = Branch key elt (unbox (1 + left_size + right_size)) fm_l fm_r; 27.26/11.24 } in result where { 27.26/11.24 balance_ok = True; 27.26/11.24 left_ok = left_ok0 fm_l key fm_l; 27.26/11.24 left_ok0 fm_l key EmptyFM = True; 27.26/11.24 left_ok0 fm_l key (Branch left_key yw yx yy yz) = let { 27.26/11.24 biggest_left_key = fst (findMax fm_l); 27.26/11.24 } in biggest_left_key < key; 27.26/11.24 left_size = sizeFM fm_l; 27.26/11.24 right_ok = right_ok0 fm_r key fm_r; 27.26/11.24 right_ok0 fm_r key EmptyFM = True; 27.26/11.24 right_ok0 fm_r key (Branch right_key zu zv zw zx) = let { 27.26/11.24 smallest_right_key = fst (findMin fm_r); 27.26/11.24 } in key < smallest_right_key; 27.26/11.24 right_size = sizeFM fm_r; 27.26/11.24 unbox :: Int -> Int; 27.26/11.24 unbox x = x; 27.26/11.24 }; 27.26/11.24 27.26/11.24 mkVBalBranch :: Ord b => b -> a -> FiniteMap b a -> FiniteMap b a -> FiniteMap b a; 27.26/11.24 mkVBalBranch key elt EmptyFM fm_r = mkVBalBranch5 key elt EmptyFM fm_r; 27.26/11.28 mkVBalBranch key elt fm_l EmptyFM = mkVBalBranch4 key elt fm_l EmptyFM; 27.26/11.28 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.26/11.28 27.26/11.28 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.26/11.28 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.26/11.28 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.26/11.28 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.26/11.28 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.26/11.28 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.26/11.28 size_l = sizeFM (Branch wv ww wx wy wz); 27.26/11.28 size_r = sizeFM (Branch xv xw xx xy xz); 27.26/11.28 }; 27.26/11.28 27.26/11.28 mkVBalBranch4 key elt fm_l EmptyFM = addToFM fm_l key elt; 27.26/11.28 mkVBalBranch4 vzv vzw vzx vzy = mkVBalBranch3 vzv vzw vzx vzy; 27.26/11.28 27.26/11.28 mkVBalBranch5 key elt EmptyFM fm_r = addToFM fm_r key elt; 27.26/11.28 mkVBalBranch5 wuu wuv wuw wux = mkVBalBranch4 wuu wuv wuw wux; 27.26/11.28 27.26/11.28 plusFM :: Ord b => FiniteMap b a -> FiniteMap b a -> FiniteMap b a; 27.26/11.28 plusFM EmptyFM fm2 = fm2; 27.26/11.28 plusFM fm1 EmptyFM = fm1; 27.26/11.28 plusFM fm1 (Branch split_key elt1 vz left right) = mkVBalBranch split_key elt1 (plusFM lts left) (plusFM gts right) where { 27.26/11.28 gts = splitGT fm1 split_key; 27.26/11.28 lts = splitLT fm1 split_key; 27.26/11.28 }; 27.26/11.28 27.26/11.28 sIZE_RATIO :: Int; 27.26/11.28 sIZE_RATIO = 5; 27.26/11.28 27.26/11.28 sizeFM :: FiniteMap a b -> Int; 27.26/11.28 sizeFM EmptyFM = 0; 27.26/11.28 sizeFM (Branch vww vwx size vwy vwz) = size; 27.26/11.28 27.26/11.28 splitGT :: Ord a => FiniteMap a b -> a -> FiniteMap a b; 27.26/11.28 splitGT EmptyFM split_key = splitGT4 EmptyFM split_key; 27.26/11.28 splitGT (Branch key elt yu fm_l fm_r) split_key = splitGT3 (Branch key elt yu fm_l fm_r) split_key; 27.26/11.28 27.26/11.28 splitGT0 key elt yu fm_l fm_r split_key True = fm_r; 27.26/11.28 27.26/11.28 splitGT1 key elt yu fm_l fm_r split_key True = mkVBalBranch key elt (splitGT fm_l split_key) fm_r; 27.26/11.28 splitGT1 key elt yu fm_l fm_r split_key False = splitGT0 key elt yu fm_l fm_r split_key otherwise; 27.26/11.28 27.26/11.28 splitGT2 key elt yu fm_l fm_r split_key True = splitGT fm_r split_key; 27.26/11.28 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.26/11.28 27.26/11.28 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.26/11.28 27.26/11.28 splitGT4 EmptyFM split_key = emptyFM; 27.26/11.28 splitGT4 wvu wvv = splitGT3 wvu wvv; 27.26/11.28 27.26/11.28 splitLT :: Ord b => FiniteMap b a -> b -> FiniteMap b a; 27.26/11.28 splitLT EmptyFM split_key = splitLT4 EmptyFM split_key; 27.26/11.28 splitLT (Branch key elt yv fm_l fm_r) split_key = splitLT3 (Branch key elt yv fm_l fm_r) split_key; 27.26/11.28 27.26/11.28 splitLT0 key elt yv fm_l fm_r split_key True = fm_l; 27.26/11.28 27.26/11.28 splitLT1 key elt yv fm_l fm_r split_key True = mkVBalBranch key elt fm_l (splitLT fm_r split_key); 27.26/11.28 splitLT1 key elt yv fm_l fm_r split_key False = splitLT0 key elt yv fm_l fm_r split_key otherwise; 27.26/11.28 27.26/11.28 splitLT2 key elt yv fm_l fm_r split_key True = splitLT fm_l split_key; 27.26/11.28 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.26/11.28 27.26/11.28 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.26/11.28 27.26/11.28 splitLT4 EmptyFM split_key = emptyFM; 27.26/11.28 splitLT4 wvy wvz = splitLT3 wvy wvz; 27.26/11.28 27.26/11.28 unitFM :: a -> b -> FiniteMap a b; 27.26/11.28 unitFM key elt = Branch key elt 1 emptyFM emptyFM; 27.26/11.28 27.26/11.28 } 27.26/11.28 module Maybe where { 27.26/11.28 import qualified FiniteMap; 27.26/11.28 import qualified Main; 27.26/11.28 import qualified Prelude; 27.26/11.28 } 27.26/11.28 module Main where { 27.26/11.28 import qualified FiniteMap; 27.26/11.28 import qualified Maybe; 27.26/11.28 import qualified Prelude; 27.26/11.28 } 27.26/11.28 27.26/11.28 ---------------------------------------- 27.26/11.28 27.26/11.28 (9) LetRed (EQUIVALENT) 27.26/11.28 Let/Where Reductions: 27.26/11.28 The bindings of the following Let/Where expression 27.26/11.28 "mkBalBranch5 key elt fm_L fm_R (size_l + size_r < 2) where { 27.26/11.28 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.26/11.28 ; 27.26/11.28 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.26/11.28 ; 27.26/11.28 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.26/11.28 ; 27.26/11.28 mkBalBranch00 fm_L fm_R vvy vvz vwu fm_rl fm_rr True = double_L fm_L fm_R; 27.26/11.28 ; 27.26/11.28 mkBalBranch01 fm_L fm_R vvy vvz vwu fm_rl fm_rr True = single_L fm_L fm_R; 27.26/11.28 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.26/11.28 ; 27.26/11.28 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.26/11.28 ; 27.26/11.28 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.26/11.28 ; 27.26/11.28 mkBalBranch10 fm_L fm_R vuz vvu vvv fm_ll fm_lr True = double_R fm_L fm_R; 27.26/11.28 ; 27.26/11.28 mkBalBranch11 fm_L fm_R vuz vvu vvv fm_ll fm_lr True = single_R fm_L fm_R; 27.26/11.28 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.26/11.28 ; 27.26/11.28 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.26/11.28 ; 27.26/11.28 mkBalBranch2 key elt fm_L fm_R True = mkBranch 2 key elt fm_L fm_R; 27.26/11.28 ; 27.26/11.28 mkBalBranch3 key elt fm_L fm_R True = mkBalBranch1 fm_L fm_R fm_L; 27.26/11.28 mkBalBranch3 key elt fm_L fm_R False = mkBalBranch2 key elt fm_L fm_R otherwise; 27.26/11.28 ; 27.26/11.28 mkBalBranch4 key elt fm_L fm_R True = mkBalBranch0 fm_L fm_R fm_R; 27.26/11.28 mkBalBranch4 key elt fm_L fm_R False = mkBalBranch3 key elt fm_L fm_R (size_l > sIZE_RATIO * size_r); 27.26/11.28 ; 27.26/11.28 mkBalBranch5 key elt fm_L fm_R True = mkBranch 1 key elt fm_L fm_R; 27.26/11.28 mkBalBranch5 key elt fm_L fm_R False = mkBalBranch4 key elt fm_L fm_R (size_r > sIZE_RATIO * size_l); 27.26/11.28 ; 27.26/11.28 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.26/11.28 ; 27.26/11.28 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.26/11.28 ; 27.26/11.28 size_l = sizeFM fm_L; 27.26/11.28 ; 27.26/11.28 size_r = sizeFM fm_R; 27.26/11.28 } 27.26/11.28 " 27.26/11.28 are unpacked to the following functions on top level 27.26/11.28 "mkBalBranch6MkBalBranch5 www wwx wwy wwz key elt fm_L fm_R True = mkBranch 1 key elt fm_L fm_R; 27.26/11.28 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.26/11.28 " 27.26/11.28 "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.26/11.28 " 27.26/11.28 "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.26/11.28 " 27.26/11.28 "mkBalBranch6MkBalBranch2 www wwx wwy wwz key elt fm_L fm_R True = mkBranch 2 key elt fm_L fm_R; 27.26/11.28 " 27.26/11.28 "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.26/11.28 " 27.26/11.28 "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.26/11.28 " 27.26/11.28 "mkBalBranch6MkBalBranch3 www wwx wwy wwz key elt fm_L fm_R True = mkBalBranch6MkBalBranch1 www wwx wwy wwz fm_L fm_R fm_L; 27.26/11.28 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.26/11.28 " 27.26/11.28 "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.26/11.28 " 27.26/11.28 "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.26/11.28 " 27.26/11.28 "mkBalBranch6Size_l www wwx wwy wwz = sizeFM wwy; 27.26/11.28 " 27.26/11.28 "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.26/11.28 " 27.26/11.28 "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.26/11.28 " 27.26/11.28 "mkBalBranch6Size_r www wwx wwy wwz = sizeFM wwz; 27.26/11.28 " 27.26/11.28 "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.26/11.28 " 27.26/11.28 "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.26/11.28 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.26/11.28 " 27.26/11.28 "mkBalBranch6MkBalBranch4 www wwx wwy wwz key elt fm_L fm_R True = mkBalBranch6MkBalBranch0 www wwx wwy wwz fm_L fm_R fm_R; 27.26/11.28 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.26/11.28 " 27.26/11.28 "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.26/11.28 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.26/11.28 " 27.26/11.28 "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.26/11.28 " 27.26/11.28 The bindings of the following Let/Where expression 27.26/11.28 "let { 27.26/11.28 result = Branch key elt (unbox (1 + left_size + right_size)) fm_l fm_r; 27.26/11.28 } in result where { 27.26/11.28 balance_ok = True; 27.26/11.28 ; 27.26/11.28 left_ok = left_ok0 fm_l key fm_l; 27.26/11.28 ; 27.26/11.28 left_ok0 fm_l key EmptyFM = True; 27.26/11.28 left_ok0 fm_l key (Branch left_key yw yx yy yz) = let { 27.26/11.28 biggest_left_key = fst (findMax fm_l); 27.26/11.28 } in biggest_left_key < key; 27.26/11.28 ; 27.26/11.28 left_size = sizeFM fm_l; 27.26/11.28 ; 27.26/11.28 right_ok = right_ok0 fm_r key fm_r; 27.26/11.28 ; 27.26/11.28 right_ok0 fm_r key EmptyFM = True; 27.26/11.28 right_ok0 fm_r key (Branch right_key zu zv zw zx) = let { 27.26/11.28 smallest_right_key = fst (findMin fm_r); 27.26/11.28 } in key < smallest_right_key; 27.26/11.28 ; 27.26/11.28 right_size = sizeFM fm_r; 27.26/11.28 ; 27.26/11.28 unbox x = x; 27.26/11.28 } 27.26/11.28 " 27.26/11.28 are unpacked to the following functions on top level 27.26/11.28 "mkBranchLeft_ok0 wxu wxv wxw fm_l key EmptyFM = True; 27.26/11.28 mkBranchLeft_ok0 wxu wxv wxw fm_l key (Branch left_key yw yx yy yz) = mkBranchLeft_ok0Biggest_left_key fm_l < key; 27.26/11.28 " 27.26/11.28 "mkBranchLeft_ok wxu wxv wxw = mkBranchLeft_ok0 wxu wxv wxw wxu wxv wxu; 27.26/11.28 " 27.26/11.28 "mkBranchRight_size wxu wxv wxw = sizeFM wxw; 27.26/11.28 " 27.26/11.28 "mkBranchLeft_size wxu wxv wxw = sizeFM wxu; 27.26/11.28 " 27.26/11.28 "mkBranchBalance_ok wxu wxv wxw = True; 27.26/11.28 " 27.26/11.28 "mkBranchRight_ok wxu wxv wxw = mkBranchRight_ok0 wxu wxv wxw wxw wxv wxw; 27.26/11.28 " 27.26/11.28 "mkBranchUnbox wxu wxv wxw x = x; 27.26/11.28 " 27.26/11.28 "mkBranchRight_ok0 wxu wxv wxw fm_r key EmptyFM = True; 27.26/11.28 mkBranchRight_ok0 wxu wxv wxw fm_r key (Branch right_key zu zv zw zx) = key < mkBranchRight_ok0Smallest_right_key fm_r; 27.26/11.28 " 27.26/11.28 The bindings of the following Let/Where expression 27.26/11.28 "let { 27.26/11.28 result = Branch key elt (unbox (1 + left_size + right_size)) fm_l fm_r; 27.26/11.28 } in result" 27.26/11.28 are unpacked to the following functions on top level 27.26/11.28 "mkBranchResult wxx wxy wxz wyu = Branch wxx wxy (mkBranchUnbox wxz wxx wyu (1 + mkBranchLeft_size wxz wxx wyu + mkBranchRight_size wxz wxx wyu)) wxz wyu; 27.26/11.28 " 27.26/11.28 The bindings of the following Let/Where expression 27.26/11.28 "mkVBalBranch split_key elt1 (plusFM lts left) (plusFM gts right) where { 27.26/11.28 gts = splitGT fm1 split_key; 27.26/11.28 ; 27.26/11.28 lts = splitLT fm1 split_key; 27.26/11.28 } 27.26/11.28 " 27.26/11.28 are unpacked to the following functions on top level 27.26/11.28 "plusFMLts wyv wyw = splitLT wyv wyw; 27.26/11.28 " 27.26/11.28 "plusFMGts wyv wyw = splitGT wyv wyw; 27.26/11.28 " 27.26/11.28 The bindings of the following Let/Where expression 27.26/11.28 "mkVBalBranch2 key elt wv ww wx wy wz xv xw xx xy xz (sIZE_RATIO * size_l < size_r) where { 27.26/11.28 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.26/11.28 ; 27.26/11.28 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.26/11.28 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.26/11.28 ; 27.26/11.28 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.26/11.28 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.26/11.28 ; 27.26/11.28 size_l = sizeFM (Branch wv ww wx wy wz); 27.26/11.28 ; 27.26/11.28 size_r = sizeFM (Branch xv xw xx xy xz); 27.26/11.28 } 27.26/11.28 " 27.26/11.28 are unpacked to the following functions on top level 27.26/11.28 "mkVBalBranch3Size_l wyx wyy wyz wzu wzv wzw wzx wzy wzz xuu = sizeFM (Branch wyx wyy wyz wzu wzv); 27.26/11.28 " 27.26/11.28 "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.26/11.28 " 27.26/11.28 "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.26/11.28 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.26/11.28 " 27.26/11.28 "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.26/11.28 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.26/11.28 " 27.26/11.28 "mkVBalBranch3Size_r wyx wyy wyz wzu wzv wzw wzx wzy wzz xuu = sizeFM (Branch wzw wzx wzy wzz xuu); 27.26/11.28 " 27.26/11.28 The bindings of the following Let/Where expression 27.26/11.28 "let { 27.26/11.28 biggest_left_key = fst (findMax fm_l); 27.26/11.28 } in biggest_left_key < key" 27.26/11.28 are unpacked to the following functions on top level 27.26/11.28 "mkBranchLeft_ok0Biggest_left_key xuv = fst (findMax xuv); 27.26/11.28 " 27.26/11.28 The bindings of the following Let/Where expression 27.26/11.28 "let { 27.26/11.28 smallest_right_key = fst (findMin fm_r); 27.26/11.28 } in key < smallest_right_key" 27.26/11.28 are unpacked to the following functions on top level 27.26/11.28 "mkBranchRight_ok0Smallest_right_key xuw = fst (findMin xuw); 27.26/11.28 " 27.26/11.28 27.26/11.28 ---------------------------------------- 27.26/11.28 27.26/11.28 (10) 27.26/11.28 Obligation: 27.26/11.28 mainModule Main 27.26/11.28 module FiniteMap where { 27.26/11.28 import qualified Main; 27.26/11.28 import qualified Maybe; 27.26/11.28 import qualified Prelude; 27.26/11.28 data FiniteMap a b = EmptyFM | Branch a b Int (FiniteMap a b) (FiniteMap a b) ; 27.26/11.28 27.26/11.28 instance (Eq a, Eq b) => Eq FiniteMap b a where { 27.26/11.28 } 27.26/11.28 addToFM :: Ord b => FiniteMap b a -> b -> a -> FiniteMap b a; 27.26/11.28 addToFM fm key elt = addToFM_C addToFM0 fm key elt; 27.26/11.28 27.26/11.28 addToFM0 old new = new; 27.26/11.28 27.26/11.28 addToFM_C :: Ord a => (b -> b -> b) -> FiniteMap a b -> a -> b -> FiniteMap a b; 27.26/11.28 addToFM_C combiner EmptyFM key elt = addToFM_C4 combiner EmptyFM key elt; 27.26/11.28 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.26/11.28 27.26/11.28 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.26/11.28 27.26/11.28 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.26/11.28 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.26/11.28 27.26/11.28 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.26/11.28 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.26/11.28 27.26/11.28 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.26/11.28 27.26/11.28 addToFM_C4 combiner EmptyFM key elt = unitFM key elt; 27.26/11.28 addToFM_C4 vyu vyv vyw vyx = addToFM_C3 vyu vyv vyw vyx; 27.26/11.28 27.26/11.28 emptyFM :: FiniteMap a b; 27.26/11.28 emptyFM = EmptyFM; 27.61/11.33 27.61/11.33 findMax :: FiniteMap b a -> (b,a); 27.61/11.33 findMax (Branch key elt zy zz EmptyFM) = (key,elt); 27.61/11.33 findMax (Branch key elt vuu vuv fm_r) = findMax fm_r; 27.61/11.33 27.61/11.33 findMin :: FiniteMap b a -> (b,a); 27.61/11.33 findMin (Branch key elt vxu EmptyFM vxv) = (key,elt); 27.61/11.33 findMin (Branch key elt vxw fm_l vxx) = findMin fm_l; 27.61/11.33 27.61/11.33 mkBalBranch :: Ord b => b -> a -> FiniteMap b a -> FiniteMap b a -> FiniteMap b a; 27.61/11.33 mkBalBranch key elt fm_L fm_R = mkBalBranch6 key elt fm_L fm_R; 27.61/11.33 27.61/11.33 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.61/11.33 27.61/11.33 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.61/11.33 27.61/11.33 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.61/11.33 27.61/11.33 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.61/11.33 27.61/11.33 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.61/11.33 27.61/11.33 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.61/11.33 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.61/11.33 27.61/11.33 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.61/11.33 27.61/11.33 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.61/11.33 27.61/11.33 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.61/11.33 27.61/11.33 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.61/11.33 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.61/11.33 27.61/11.33 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.61/11.33 27.61/11.33 mkBalBranch6MkBalBranch2 www wwx wwy wwz key elt fm_L fm_R True = mkBranch 2 key elt fm_L fm_R; 27.61/11.33 27.61/11.33 mkBalBranch6MkBalBranch3 www wwx wwy wwz key elt fm_L fm_R True = mkBalBranch6MkBalBranch1 www wwx wwy wwz fm_L fm_R fm_L; 27.61/11.33 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.61/11.33 27.61/11.33 mkBalBranch6MkBalBranch4 www wwx wwy wwz key elt fm_L fm_R True = mkBalBranch6MkBalBranch0 www wwx wwy wwz fm_L fm_R fm_R; 27.61/11.33 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.61/11.33 27.61/11.33 mkBalBranch6MkBalBranch5 www wwx wwy wwz key elt fm_L fm_R True = mkBranch 1 key elt fm_L fm_R; 27.61/11.33 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.61/11.33 27.61/11.33 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.61/11.33 27.61/11.33 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.61/11.33 27.61/11.33 mkBalBranch6Size_l www wwx wwy wwz = sizeFM wwy; 27.61/11.33 27.61/11.33 mkBalBranch6Size_r www wwx wwy wwz = sizeFM wwz; 27.61/11.33 27.61/11.33 mkBranch :: Ord a => Int -> a -> b -> FiniteMap a b -> FiniteMap a b -> FiniteMap a b; 27.61/11.33 mkBranch which key elt fm_l fm_r = mkBranchResult key elt fm_l fm_r; 27.61/11.33 27.61/11.33 mkBranchBalance_ok wxu wxv wxw = True; 27.61/11.33 27.61/11.33 mkBranchLeft_ok wxu wxv wxw = mkBranchLeft_ok0 wxu wxv wxw wxu wxv wxu; 27.61/11.33 27.61/11.33 mkBranchLeft_ok0 wxu wxv wxw fm_l key EmptyFM = True; 27.61/11.33 mkBranchLeft_ok0 wxu wxv wxw fm_l key (Branch left_key yw yx yy yz) = mkBranchLeft_ok0Biggest_left_key fm_l < key; 27.61/11.33 27.61/11.33 mkBranchLeft_ok0Biggest_left_key xuv = fst (findMax xuv); 27.61/11.33 27.61/11.33 mkBranchLeft_size wxu wxv wxw = sizeFM wxu; 27.61/11.33 27.61/11.33 mkBranchResult wxx wxy wxz wyu = Branch wxx wxy (mkBranchUnbox wxz wxx wyu (1 + mkBranchLeft_size wxz wxx wyu + mkBranchRight_size wxz wxx wyu)) wxz wyu; 27.61/11.33 27.61/11.33 mkBranchRight_ok wxu wxv wxw = mkBranchRight_ok0 wxu wxv wxw wxw wxv wxw; 27.61/11.33 27.61/11.33 mkBranchRight_ok0 wxu wxv wxw fm_r key EmptyFM = True; 27.61/11.33 mkBranchRight_ok0 wxu wxv wxw fm_r key (Branch right_key zu zv zw zx) = key < mkBranchRight_ok0Smallest_right_key fm_r; 27.61/11.33 27.61/11.33 mkBranchRight_ok0Smallest_right_key xuw = fst (findMin xuw); 27.61/11.33 27.61/11.33 mkBranchRight_size wxu wxv wxw = sizeFM wxw; 27.61/11.33 27.61/11.33 mkBranchUnbox :: Ord a => -> (FiniteMap a b) ( -> a ( -> (FiniteMap a b) (Int -> Int))); 27.61/11.33 mkBranchUnbox wxu wxv wxw x = x; 27.61/11.33 27.61/11.33 mkVBalBranch :: Ord a => a -> b -> FiniteMap a b -> FiniteMap a b -> FiniteMap a b; 27.61/11.33 mkVBalBranch key elt EmptyFM fm_r = mkVBalBranch5 key elt EmptyFM fm_r; 27.61/11.33 mkVBalBranch key elt fm_l EmptyFM = mkVBalBranch4 key elt fm_l EmptyFM; 27.61/11.33 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.61/11.33 27.61/11.33 mkVBalBranch3 key elt (Branch wv ww wx wy wz) (Branch xv xw xx xy xz) = mkVBalBranch3MkVBalBranch2 wv ww wx wy wz xv xw xx xy xz key elt wv ww wx wy wz xv xw xx xy xz (sIZE_RATIO * mkVBalBranch3Size_l wv ww wx wy wz xv xw xx xy xz < mkVBalBranch3Size_r wv ww wx wy wz xv xw xx xy xz); 27.61/11.33 27.61/11.33 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.61/11.33 27.61/11.33 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.61/11.33 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.61/11.33 27.61/11.33 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.61/11.33 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.61/11.33 27.61/11.33 mkVBalBranch3Size_l wyx wyy wyz wzu wzv wzw wzx wzy wzz xuu = sizeFM (Branch wyx wyy wyz wzu wzv); 27.61/11.33 27.61/11.33 mkVBalBranch3Size_r wyx wyy wyz wzu wzv wzw wzx wzy wzz xuu = sizeFM (Branch wzw wzx wzy wzz xuu); 27.61/11.33 27.61/11.33 mkVBalBranch4 key elt fm_l EmptyFM = addToFM fm_l key elt; 27.61/11.33 mkVBalBranch4 vzv vzw vzx vzy = mkVBalBranch3 vzv vzw vzx vzy; 27.61/11.33 27.61/11.33 mkVBalBranch5 key elt EmptyFM fm_r = addToFM fm_r key elt; 27.61/11.33 mkVBalBranch5 wuu wuv wuw wux = mkVBalBranch4 wuu wuv wuw wux; 27.61/11.33 27.61/11.33 plusFM :: Ord b => FiniteMap b a -> FiniteMap b a -> FiniteMap b a; 27.61/11.33 plusFM EmptyFM fm2 = fm2; 27.61/11.33 plusFM fm1 EmptyFM = fm1; 27.61/11.33 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.61/11.33 27.61/11.33 plusFMGts wyv wyw = splitGT wyv wyw; 27.61/11.33 27.61/11.33 plusFMLts wyv wyw = splitLT wyv wyw; 27.61/11.33 27.61/11.33 sIZE_RATIO :: Int; 27.61/11.33 sIZE_RATIO = 5; 27.61/11.33 27.61/11.33 sizeFM :: FiniteMap b a -> Int; 27.61/11.33 sizeFM EmptyFM = 0; 27.61/11.33 sizeFM (Branch vww vwx size vwy vwz) = size; 27.61/11.33 27.61/11.33 splitGT :: Ord b => FiniteMap b a -> b -> FiniteMap b a; 27.61/11.33 splitGT EmptyFM split_key = splitGT4 EmptyFM split_key; 27.61/11.33 splitGT (Branch key elt yu fm_l fm_r) split_key = splitGT3 (Branch key elt yu fm_l fm_r) split_key; 27.61/11.33 27.61/11.33 splitGT0 key elt yu fm_l fm_r split_key True = fm_r; 27.61/11.33 27.61/11.33 splitGT1 key elt yu fm_l fm_r split_key True = mkVBalBranch key elt (splitGT fm_l split_key) fm_r; 27.61/11.33 splitGT1 key elt yu fm_l fm_r split_key False = splitGT0 key elt yu fm_l fm_r split_key otherwise; 27.61/11.33 27.61/11.33 splitGT2 key elt yu fm_l fm_r split_key True = splitGT fm_r split_key; 27.61/11.33 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.61/11.33 27.61/11.33 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.61/11.33 27.61/11.33 splitGT4 EmptyFM split_key = emptyFM; 27.61/11.33 splitGT4 wvu wvv = splitGT3 wvu wvv; 27.61/11.33 27.61/11.33 splitLT :: Ord a => FiniteMap a b -> a -> FiniteMap a b; 27.61/11.33 splitLT EmptyFM split_key = splitLT4 EmptyFM split_key; 27.61/11.33 splitLT (Branch key elt yv fm_l fm_r) split_key = splitLT3 (Branch key elt yv fm_l fm_r) split_key; 27.61/11.33 27.61/11.33 splitLT0 key elt yv fm_l fm_r split_key True = fm_l; 27.61/11.33 27.61/11.33 splitLT1 key elt yv fm_l fm_r split_key True = mkVBalBranch key elt fm_l (splitLT fm_r split_key); 27.61/11.33 splitLT1 key elt yv fm_l fm_r split_key False = splitLT0 key elt yv fm_l fm_r split_key otherwise; 27.61/11.33 27.61/11.33 splitLT2 key elt yv fm_l fm_r split_key True = splitLT fm_l split_key; 27.61/11.33 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.61/11.33 27.61/11.33 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.61/11.33 27.61/11.33 splitLT4 EmptyFM split_key = emptyFM; 27.61/11.33 splitLT4 wvy wvz = splitLT3 wvy wvz; 27.61/11.33 27.61/11.33 unitFM :: b -> a -> FiniteMap b a; 27.61/11.33 unitFM key elt = Branch key elt 1 emptyFM emptyFM; 27.61/11.33 27.61/11.33 } 27.61/11.33 module Maybe where { 27.61/11.33 import qualified FiniteMap; 27.61/11.33 import qualified Main; 27.61/11.33 import qualified Prelude; 27.61/11.33 } 27.61/11.33 module Main where { 27.61/11.33 import qualified FiniteMap; 27.61/11.33 import qualified Maybe; 27.61/11.33 import qualified Prelude; 27.61/11.33 } 27.61/11.33 27.61/11.33 ---------------------------------------- 27.61/11.33 27.61/11.33 (11) NumRed (SOUND) 27.61/11.33 Num Reduction:All numbers are transformed to their corresponding representation with Succ, Pred and Zero. 27.61/11.33 ---------------------------------------- 27.61/11.33 27.61/11.33 (12) 27.61/11.33 Obligation: 27.61/11.33 mainModule Main 27.61/11.33 module FiniteMap where { 27.61/11.33 import qualified Main; 27.61/11.33 import qualified Maybe; 27.61/11.33 import qualified Prelude; 27.61/11.33 data FiniteMap a b = EmptyFM | Branch a b Int (FiniteMap a b) (FiniteMap a b) ; 27.61/11.33 27.61/11.33 instance (Eq a, Eq b) => Eq FiniteMap b a where { 27.61/11.33 } 27.61/11.33 addToFM :: Ord a => FiniteMap a b -> a -> b -> FiniteMap a b; 27.61/11.33 addToFM fm key elt = addToFM_C addToFM0 fm key elt; 27.61/11.33 27.61/11.33 addToFM0 old new = new; 27.61/11.33 27.61/11.33 addToFM_C :: Ord a => (b -> b -> b) -> FiniteMap a b -> a -> b -> FiniteMap a b; 27.61/11.33 addToFM_C combiner EmptyFM key elt = addToFM_C4 combiner EmptyFM key elt; 27.61/11.33 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.61/11.33 27.61/11.33 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.61/11.33 27.61/11.33 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.61/11.33 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.61/11.33 27.61/11.33 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.61/11.33 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.61/11.33 27.61/11.33 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.61/11.33 27.61/11.33 addToFM_C4 combiner EmptyFM key elt = unitFM key elt; 27.61/11.33 addToFM_C4 vyu vyv vyw vyx = addToFM_C3 vyu vyv vyw vyx; 27.61/11.33 27.61/11.33 emptyFM :: FiniteMap a b; 27.61/11.33 emptyFM = EmptyFM; 27.61/11.33 27.61/11.33 findMax :: FiniteMap b a -> (b,a); 27.61/11.33 findMax (Branch key elt zy zz EmptyFM) = (key,elt); 27.61/11.33 findMax (Branch key elt vuu vuv fm_r) = findMax fm_r; 27.61/11.33 27.61/11.33 findMin :: FiniteMap b a -> (b,a); 27.61/11.33 findMin (Branch key elt vxu EmptyFM vxv) = (key,elt); 27.61/11.33 findMin (Branch key elt vxw fm_l vxx) = findMin fm_l; 27.61/11.33 27.61/11.33 mkBalBranch :: Ord a => a -> b -> FiniteMap a b -> FiniteMap a b -> FiniteMap a b; 27.61/11.33 mkBalBranch key elt fm_L fm_R = mkBalBranch6 key elt fm_L fm_R; 27.61/11.33 27.61/11.33 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.61/11.33 27.61/11.33 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.61/11.33 27.61/11.33 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.61/11.33 27.61/11.33 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.61/11.33 27.61/11.33 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.61/11.33 27.61/11.33 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.61/11.33 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.61/11.33 27.61/11.33 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.61/11.33 27.61/11.33 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.61/11.33 27.61/11.33 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.61/11.33 27.61/11.33 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.61/11.33 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.61/11.33 27.61/11.33 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.61/11.33 27.61/11.33 mkBalBranch6MkBalBranch2 www wwx wwy wwz key elt fm_L fm_R True = mkBranch (Pos (Succ (Succ Zero))) key elt fm_L fm_R; 27.61/11.33 27.61/11.33 mkBalBranch6MkBalBranch3 www wwx wwy wwz key elt fm_L fm_R True = mkBalBranch6MkBalBranch1 www wwx wwy wwz fm_L fm_R fm_L; 27.61/11.33 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.61/11.33 27.61/11.33 mkBalBranch6MkBalBranch4 www wwx wwy wwz key elt fm_L fm_R True = mkBalBranch6MkBalBranch0 www wwx wwy wwz fm_L fm_R fm_R; 27.61/11.33 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.61/11.33 27.61/11.33 mkBalBranch6MkBalBranch5 www wwx wwy wwz key elt fm_L fm_R True = mkBranch (Pos (Succ Zero)) key elt fm_L fm_R; 27.61/11.33 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.61/11.33 27.61/11.33 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.61/11.33 27.61/11.33 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.61/11.33 27.61/11.33 mkBalBranch6Size_l www wwx wwy wwz = sizeFM wwy; 27.61/11.33 27.61/11.33 mkBalBranch6Size_r www wwx wwy wwz = sizeFM wwz; 27.61/11.33 27.61/11.33 mkBranch :: Ord a => Int -> a -> b -> FiniteMap a b -> FiniteMap a b -> FiniteMap a b; 27.61/11.33 mkBranch which key elt fm_l fm_r = mkBranchResult key elt fm_l fm_r; 27.61/11.33 27.61/11.33 mkBranchBalance_ok wxu wxv wxw = True; 27.61/11.33 27.61/11.33 mkBranchLeft_ok wxu wxv wxw = mkBranchLeft_ok0 wxu wxv wxw wxu wxv wxu; 27.61/11.33 27.61/11.33 mkBranchLeft_ok0 wxu wxv wxw fm_l key EmptyFM = True; 27.61/11.33 mkBranchLeft_ok0 wxu wxv wxw fm_l key (Branch left_key yw yx yy yz) = mkBranchLeft_ok0Biggest_left_key fm_l < key; 27.61/11.33 27.61/11.33 mkBranchLeft_ok0Biggest_left_key xuv = fst (findMax xuv); 27.61/11.33 27.61/11.33 mkBranchLeft_size wxu wxv wxw = sizeFM wxu; 27.61/11.33 27.61/11.33 mkBranchResult wxx wxy wxz wyu = Branch wxx wxy (mkBranchUnbox wxz wxx wyu (Pos (Succ Zero) + mkBranchLeft_size wxz wxx wyu + mkBranchRight_size wxz wxx wyu)) wxz wyu; 27.61/11.33 27.61/11.33 mkBranchRight_ok wxu wxv wxw = mkBranchRight_ok0 wxu wxv wxw wxw wxv wxw; 27.61/11.33 27.61/11.33 mkBranchRight_ok0 wxu wxv wxw fm_r key EmptyFM = True; 27.61/11.33 mkBranchRight_ok0 wxu wxv wxw fm_r key (Branch right_key zu zv zw zx) = key < mkBranchRight_ok0Smallest_right_key fm_r; 27.61/11.33 27.61/11.33 mkBranchRight_ok0Smallest_right_key xuw = fst (findMin xuw); 27.61/11.33 27.61/11.33 mkBranchRight_size wxu wxv wxw = sizeFM wxw; 27.61/11.33 27.61/11.33 mkBranchUnbox :: Ord a => -> (FiniteMap a b) ( -> a ( -> (FiniteMap a b) (Int -> Int))); 27.61/11.33 mkBranchUnbox wxu wxv wxw x = x; 27.61/11.33 27.61/11.33 mkVBalBranch :: Ord a => a -> b -> FiniteMap a b -> FiniteMap a b -> FiniteMap a b; 27.61/11.33 mkVBalBranch key elt EmptyFM fm_r = mkVBalBranch5 key elt EmptyFM fm_r; 27.61/11.33 mkVBalBranch key elt fm_l EmptyFM = mkVBalBranch4 key elt fm_l EmptyFM; 27.61/11.33 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.61/11.33 27.61/11.33 mkVBalBranch3 key elt (Branch wv ww wx wy wz) (Branch xv xw xx xy xz) = mkVBalBranch3MkVBalBranch2 wv ww wx wy wz xv xw xx xy xz key elt wv ww wx wy wz xv xw xx xy xz (sIZE_RATIO * mkVBalBranch3Size_l wv ww wx wy wz xv xw xx xy xz < mkVBalBranch3Size_r wv ww wx wy wz xv xw xx xy xz); 27.61/11.33 27.61/11.33 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.61/11.33 27.61/11.33 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.61/11.33 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.61/11.33 27.61/11.33 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.61/11.33 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.61/11.33 27.61/11.33 mkVBalBranch3Size_l wyx wyy wyz wzu wzv wzw wzx wzy wzz xuu = sizeFM (Branch wyx wyy wyz wzu wzv); 27.61/11.33 27.61/11.33 mkVBalBranch3Size_r wyx wyy wyz wzu wzv wzw wzx wzy wzz xuu = sizeFM (Branch wzw wzx wzy wzz xuu); 27.61/11.33 27.61/11.33 mkVBalBranch4 key elt fm_l EmptyFM = addToFM fm_l key elt; 27.61/11.33 mkVBalBranch4 vzv vzw vzx vzy = mkVBalBranch3 vzv vzw vzx vzy; 27.61/11.33 27.61/11.33 mkVBalBranch5 key elt EmptyFM fm_r = addToFM fm_r key elt; 27.61/11.33 mkVBalBranch5 wuu wuv wuw wux = mkVBalBranch4 wuu wuv wuw wux; 27.61/11.33 27.61/11.33 plusFM :: Ord b => FiniteMap b a -> FiniteMap b a -> FiniteMap b a; 27.61/11.33 plusFM EmptyFM fm2 = fm2; 27.61/11.33 plusFM fm1 EmptyFM = fm1; 27.61/11.33 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.61/11.33 27.61/11.33 plusFMGts wyv wyw = splitGT wyv wyw; 27.61/11.33 27.61/11.33 plusFMLts wyv wyw = splitLT wyv wyw; 27.61/11.33 27.61/11.33 sIZE_RATIO :: Int; 27.61/11.33 sIZE_RATIO = Pos (Succ (Succ (Succ (Succ (Succ Zero))))); 27.61/11.33 27.61/11.33 sizeFM :: FiniteMap b a -> Int; 27.61/11.33 sizeFM EmptyFM = Pos Zero; 27.61/11.33 sizeFM (Branch vww vwx size vwy vwz) = size; 27.61/11.33 27.61/11.33 splitGT :: Ord a => FiniteMap a b -> a -> FiniteMap a b; 27.61/11.33 splitGT EmptyFM split_key = splitGT4 EmptyFM split_key; 27.61/11.33 splitGT (Branch key elt yu fm_l fm_r) split_key = splitGT3 (Branch key elt yu fm_l fm_r) split_key; 27.61/11.33 27.61/11.33 splitGT0 key elt yu fm_l fm_r split_key True = fm_r; 27.61/11.33 27.61/11.33 splitGT1 key elt yu fm_l fm_r split_key True = mkVBalBranch key elt (splitGT fm_l split_key) fm_r; 27.61/11.33 splitGT1 key elt yu fm_l fm_r split_key False = splitGT0 key elt yu fm_l fm_r split_key otherwise; 27.61/11.33 27.61/11.33 splitGT2 key elt yu fm_l fm_r split_key True = splitGT fm_r split_key; 27.61/11.33 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.61/11.33 27.61/11.33 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.61/11.33 27.61/11.33 splitGT4 EmptyFM split_key = emptyFM; 27.61/11.33 splitGT4 wvu wvv = splitGT3 wvu wvv; 27.61/11.33 27.61/11.33 splitLT :: Ord b => FiniteMap b a -> b -> FiniteMap b a; 27.61/11.33 splitLT EmptyFM split_key = splitLT4 EmptyFM split_key; 27.61/11.33 splitLT (Branch key elt yv fm_l fm_r) split_key = splitLT3 (Branch key elt yv fm_l fm_r) split_key; 27.61/11.33 27.61/11.33 splitLT0 key elt yv fm_l fm_r split_key True = fm_l; 27.61/11.33 27.61/11.33 splitLT1 key elt yv fm_l fm_r split_key True = mkVBalBranch key elt fm_l (splitLT fm_r split_key); 27.61/11.33 splitLT1 key elt yv fm_l fm_r split_key False = splitLT0 key elt yv fm_l fm_r split_key otherwise; 27.61/11.33 27.61/11.33 splitLT2 key elt yv fm_l fm_r split_key True = splitLT fm_l split_key; 27.61/11.33 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.61/11.33 27.61/11.33 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.61/11.33 27.61/11.33 splitLT4 EmptyFM split_key = emptyFM; 27.61/11.33 splitLT4 wvy wvz = splitLT3 wvy wvz; 27.61/11.33 27.61/11.33 unitFM :: a -> b -> FiniteMap a b; 27.61/11.33 unitFM key elt = Branch key elt (Pos (Succ Zero)) emptyFM emptyFM; 27.61/11.33 27.61/11.33 } 27.61/11.33 module Maybe where { 27.61/11.33 import qualified FiniteMap; 27.61/11.33 import qualified Main; 27.61/11.33 import qualified Prelude; 27.61/11.33 } 27.61/11.33 module Main where { 27.61/11.33 import qualified FiniteMap; 27.61/11.33 import qualified Maybe; 27.61/11.33 import qualified Prelude; 27.61/11.33 } 27.61/11.33 27.61/11.33 ---------------------------------------- 27.61/11.33 27.61/11.33 (13) Narrow (SOUND) 27.61/11.33 Haskell To QDPs 27.61/11.33 27.61/11.33 digraph dp_graph { 27.61/11.33 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.61/11.33 3[label="FiniteMap.plusFM xux3",fontsize=16,color="grey",shape="box"];3 -> 4[label="",style="dashed", color="grey", weight=3]; 27.61/11.33 4[label="FiniteMap.plusFM xux3 xux4",fontsize=16,color="burlywood",shape="triangle"];8966[label="xux3/FiniteMap.EmptyFM",fontsize=10,color="white",style="solid",shape="box"];4 -> 8966[label="",style="solid", color="burlywood", weight=9]; 27.61/11.33 8966 -> 5[label="",style="solid", color="burlywood", weight=3]; 27.61/11.33 8967[label="xux3/FiniteMap.Branch xux30 xux31 xux32 xux33 xux34",fontsize=10,color="white",style="solid",shape="box"];4 -> 8967[label="",style="solid", color="burlywood", weight=9]; 27.61/11.33 8967 -> 6[label="",style="solid", color="burlywood", weight=3]; 27.61/11.33 5[label="FiniteMap.plusFM FiniteMap.EmptyFM xux4",fontsize=16,color="black",shape="box"];5 -> 7[label="",style="solid", color="black", weight=3]; 27.61/11.33 6[label="FiniteMap.plusFM (FiniteMap.Branch xux30 xux31 xux32 xux33 xux34) xux4",fontsize=16,color="burlywood",shape="box"];8968[label="xux4/FiniteMap.EmptyFM",fontsize=10,color="white",style="solid",shape="box"];6 -> 8968[label="",style="solid", color="burlywood", weight=9]; 27.61/11.33 8968 -> 8[label="",style="solid", color="burlywood", weight=3]; 27.61/11.33 8969[label="xux4/FiniteMap.Branch xux40 xux41 xux42 xux43 xux44",fontsize=10,color="white",style="solid",shape="box"];6 -> 8969[label="",style="solid", color="burlywood", weight=9]; 27.61/11.33 8969 -> 9[label="",style="solid", color="burlywood", weight=3]; 27.61/11.33 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.61/11.33 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.61/11.33 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.61/11.33 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.61/11.33 11 -> 14[label="",style="dashed", color="magenta", weight=3]; 27.61/11.33 13 -> 4[label="",style="dashed", color="red", weight=0]; 27.61/11.33 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.61/11.33 13 -> 16[label="",style="dashed", color="magenta", weight=3]; 27.61/11.33 14 -> 4[label="",style="dashed", color="red", weight=0]; 27.61/11.33 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.61/11.33 14 -> 18[label="",style="dashed", color="magenta", weight=3]; 27.61/11.33 12[label="FiniteMap.mkVBalBranch xux40 xux41 xux6 xux5",fontsize=16,color="burlywood",shape="triangle"];8970[label="xux6/FiniteMap.EmptyFM",fontsize=10,color="white",style="solid",shape="box"];12 -> 8970[label="",style="solid", color="burlywood", weight=9]; 27.61/11.33 8970 -> 19[label="",style="solid", color="burlywood", weight=3]; 27.61/11.33 8971[label="xux6/FiniteMap.Branch xux60 xux61 xux62 xux63 xux64",fontsize=10,color="white",style="solid",shape="box"];12 -> 8971[label="",style="solid", color="burlywood", weight=9]; 27.61/11.33 8971 -> 20[label="",style="solid", color="burlywood", weight=3]; 27.61/11.33 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.61/11.33 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.61/11.33 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.61/11.33 20[label="FiniteMap.mkVBalBranch xux40 xux41 (FiniteMap.Branch xux60 xux61 xux62 xux63 xux64) xux5",fontsize=16,color="burlywood",shape="box"];8972[label="xux5/FiniteMap.EmptyFM",fontsize=10,color="white",style="solid",shape="box"];20 -> 8972[label="",style="solid", color="burlywood", weight=9]; 27.61/11.33 8972 -> 24[label="",style="solid", color="burlywood", weight=3]; 27.61/11.33 8973[label="xux5/FiniteMap.Branch xux50 xux51 xux52 xux53 xux54",fontsize=10,color="white",style="solid",shape="box"];20 -> 8973[label="",style="solid", color="burlywood", weight=9]; 27.61/11.33 8973 -> 25[label="",style="solid", color="burlywood", weight=3]; 27.61/11.33 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.61/11.33 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.61/11.33 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.61/11.33 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.61/11.33 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.61/11.33 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.61/11.33 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.61/11.33 28[label="FiniteMap.addToFM xux5 xux40 xux41",fontsize=16,color="black",shape="triangle"];28 -> 33[label="",style="solid", color="black", weight=3]; 27.61/11.33 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.61/11.33 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.61/11.33 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.61/11.33 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.61/11.33 33[label="FiniteMap.addToFM_C FiniteMap.addToFM0 xux5 xux40 xux41",fontsize=16,color="burlywood",shape="triangle"];8974[label="xux5/FiniteMap.EmptyFM",fontsize=10,color="white",style="solid",shape="box"];33 -> 8974[label="",style="solid", color="burlywood", weight=9]; 27.61/11.33 8974 -> 38[label="",style="solid", color="burlywood", weight=3]; 27.61/11.33 8975[label="xux5/FiniteMap.Branch xux50 xux51 xux52 xux53 xux54",fontsize=10,color="white",style="solid",shape="box"];33 -> 8975[label="",style="solid", color="burlywood", weight=9]; 27.61/11.33 8975 -> 39[label="",style="solid", color="burlywood", weight=3]; 27.61/11.33 34 -> 28[label="",style="dashed", color="red", weight=0]; 27.61/11.33 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.61/11.33 35 -> 4681[label="",style="dashed", color="red", weight=0]; 27.61/11.33 35[label="FiniteMap.mkVBalBranch3MkVBalBranch2 xux60 xux61 xux62 xux63 xux64 xux50 xux51 xux52 xux53 xux54 xux40 xux41 xux60 xux61 xux62 xux63 xux64 xux50 xux51 xux52 xux53 xux54 (FiniteMap.sIZE_RATIO * FiniteMap.mkVBalBranch3Size_l xux60 xux61 xux62 xux63 xux64 xux50 xux51 xux52 xux53 xux54 < FiniteMap.mkVBalBranch3Size_r xux60 xux61 xux62 xux63 xux64 xux50 xux51 xux52 xux53 xux54)",fontsize=16,color="magenta"];35 -> 4682[label="",style="dashed", color="magenta", weight=3]; 27.61/11.33 35 -> 4683[label="",style="dashed", color="magenta", weight=3]; 27.61/11.33 35 -> 4684[label="",style="dashed", color="magenta", weight=3]; 27.61/11.33 35 -> 4685[label="",style="dashed", color="magenta", weight=3]; 27.61/11.33 35 -> 4686[label="",style="dashed", color="magenta", weight=3]; 27.61/11.33 35 -> 4687[label="",style="dashed", color="magenta", weight=3]; 27.61/11.33 35 -> 4688[label="",style="dashed", color="magenta", weight=3]; 27.61/11.33 35 -> 4689[label="",style="dashed", color="magenta", weight=3]; 27.61/11.33 35 -> 4690[label="",style="dashed", color="magenta", weight=3]; 27.61/11.33 35 -> 4691[label="",style="dashed", color="magenta", weight=3]; 27.61/11.33 35 -> 4692[label="",style="dashed", color="magenta", weight=3]; 27.61/11.33 35 -> 4693[label="",style="dashed", color="magenta", weight=3]; 27.61/11.33 35 -> 4694[label="",style="dashed", color="magenta", weight=3]; 27.61/11.33 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.61/11.33 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.61/11.33 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.61/11.33 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.61/11.33 40[label="FiniteMap.Branch xux60 xux61 xux62 xux63 xux64",fontsize=16,color="green",shape="box"];4682[label="xux51",fontsize=16,color="green",shape="box"];4683[label="xux61",fontsize=16,color="green",shape="box"];4684[label="xux54",fontsize=16,color="green",shape="box"];4685[label="xux53",fontsize=16,color="green",shape="box"];4686[label="xux60",fontsize=16,color="green",shape="box"];4687[label="xux50",fontsize=16,color="green",shape="box"];4688[label="xux41",fontsize=16,color="green",shape="box"];4689[label="FiniteMap.sIZE_RATIO * FiniteMap.mkVBalBranch3Size_l xux60 xux61 xux62 xux63 xux64 xux50 xux51 xux52 xux53 xux54 < FiniteMap.mkVBalBranch3Size_r xux60 xux61 xux62 xux63 xux64 xux50 xux51 xux52 xux53 xux54",fontsize=16,color="black",shape="box"];4689 -> 6312[label="",style="solid", color="black", weight=3]; 27.61/11.33 4690[label="xux52",fontsize=16,color="green",shape="box"];4691[label="xux64",fontsize=16,color="green",shape="box"];4692[label="xux63",fontsize=16,color="green",shape="box"];4693[label="xux62",fontsize=16,color="green",shape="box"];4694[label="xux40",fontsize=16,color="green",shape="box"];4681[label="FiniteMap.mkVBalBranch3MkVBalBranch2 xux1340 xux1341 xux1342 xux1343 xux1344 xux1380 xux1381 xux1382 xux1383 xux1384 xux140 xux141 xux1340 xux1341 xux1342 xux1343 xux1344 xux1380 xux1381 xux1382 xux1383 xux1384 xux380",fontsize=16,color="burlywood",shape="triangle"];8976[label="xux380/False",fontsize=10,color="white",style="solid",shape="box"];4681 -> 8976[label="",style="solid", color="burlywood", weight=9]; 27.61/11.33 8976 -> 6313[label="",style="solid", color="burlywood", weight=3]; 27.61/11.33 8977[label="xux380/True",fontsize=10,color="white",style="solid",shape="box"];4681 -> 8977[label="",style="solid", color="burlywood", weight=9]; 27.61/11.33 8977 -> 6314[label="",style="solid", color="burlywood", weight=3]; 27.61/11.33 42[label="FiniteMap.splitGT2 xux30 xux31 xux32 xux33 xux34 xux40 (compare3 xux40 xux30 == GT)",fontsize=16,color="black",shape="box"];42 -> 47[label="",style="solid", color="black", weight=3]; 27.61/11.33 43[label="FiniteMap.splitLT2 xux30 xux31 xux32 xux33 xux34 xux40 (compare3 xux40 xux30 == LT)",fontsize=16,color="black",shape="box"];43 -> 48[label="",style="solid", color="black", weight=3]; 27.61/11.33 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.61/11.33 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.61/11.33 6312[label="compare (FiniteMap.sIZE_RATIO * FiniteMap.mkVBalBranch3Size_l xux60 xux61 xux62 xux63 xux64 xux50 xux51 xux52 xux53 xux54) (FiniteMap.mkVBalBranch3Size_r xux60 xux61 xux62 xux63 xux64 xux50 xux51 xux52 xux53 xux54) == LT",fontsize=16,color="black",shape="box"];6312 -> 6352[label="",style="solid", color="black", weight=3]; 27.61/11.33 6313[label="FiniteMap.mkVBalBranch3MkVBalBranch2 xux1340 xux1341 xux1342 xux1343 xux1344 xux1380 xux1381 xux1382 xux1383 xux1384 xux140 xux141 xux1340 xux1341 xux1342 xux1343 xux1344 xux1380 xux1381 xux1382 xux1383 xux1384 False",fontsize=16,color="black",shape="box"];6313 -> 6353[label="",style="solid", color="black", weight=3]; 27.61/11.33 6314[label="FiniteMap.mkVBalBranch3MkVBalBranch2 xux1340 xux1341 xux1342 xux1343 xux1344 xux1380 xux1381 xux1382 xux1383 xux1384 xux140 xux141 xux1340 xux1341 xux1342 xux1343 xux1344 xux1380 xux1381 xux1382 xux1383 xux1384 True",fontsize=16,color="black",shape="box"];6314 -> 6354[label="",style="solid", color="black", weight=3]; 27.61/11.33 47[label="FiniteMap.splitGT2 xux30 xux31 xux32 xux33 xux34 xux40 (compare2 xux40 xux30 (xux40 == xux30) == GT)",fontsize=16,color="burlywood",shape="box"];8978[label="xux40/False",fontsize=10,color="white",style="solid",shape="box"];47 -> 8978[label="",style="solid", color="burlywood", weight=9]; 27.61/11.33 8978 -> 52[label="",style="solid", color="burlywood", weight=3]; 27.61/11.33 8979[label="xux40/True",fontsize=10,color="white",style="solid",shape="box"];47 -> 8979[label="",style="solid", color="burlywood", weight=9]; 27.61/11.33 8979 -> 53[label="",style="solid", color="burlywood", weight=3]; 27.61/11.33 48[label="FiniteMap.splitLT2 xux30 xux31 xux32 xux33 xux34 xux40 (compare2 xux40 xux30 (xux40 == xux30) == LT)",fontsize=16,color="burlywood",shape="box"];8980[label="xux40/False",fontsize=10,color="white",style="solid",shape="box"];48 -> 8980[label="",style="solid", color="burlywood", weight=9]; 27.61/11.33 8980 -> 54[label="",style="solid", color="burlywood", weight=3]; 27.61/11.33 8981[label="xux40/True",fontsize=10,color="white",style="solid",shape="box"];48 -> 8981[label="",style="solid", color="burlywood", weight=9]; 27.61/11.33 8981 -> 55[label="",style="solid", color="burlywood", weight=3]; 27.61/11.33 49[label="FiniteMap.unitFM xux40 xux41",fontsize=16,color="black",shape="box"];49 -> 56[label="",style="solid", color="black", weight=3]; 27.61/11.33 50 -> 7118[label="",style="dashed", color="red", weight=0]; 27.61/11.33 50[label="FiniteMap.addToFM_C2 FiniteMap.addToFM0 xux50 xux51 xux52 xux53 xux54 xux40 xux41 (xux40 < xux50)",fontsize=16,color="magenta"];50 -> 7119[label="",style="dashed", color="magenta", weight=3]; 27.61/11.33 50 -> 7120[label="",style="dashed", color="magenta", weight=3]; 27.61/11.33 50 -> 7121[label="",style="dashed", color="magenta", weight=3]; 27.61/11.33 50 -> 7122[label="",style="dashed", color="magenta", weight=3]; 27.61/11.33 50 -> 7123[label="",style="dashed", color="magenta", weight=3]; 27.61/11.33 50 -> 7124[label="",style="dashed", color="magenta", weight=3]; 27.61/11.33 50 -> 7125[label="",style="dashed", color="magenta", weight=3]; 27.61/11.33 50 -> 7126[label="",style="dashed", color="magenta", weight=3]; 27.61/11.33 6352[label="primCmpInt (FiniteMap.sIZE_RATIO * FiniteMap.mkVBalBranch3Size_l xux60 xux61 xux62 xux63 xux64 xux50 xux51 xux52 xux53 xux54) (FiniteMap.mkVBalBranch3Size_r xux60 xux61 xux62 xux63 xux64 xux50 xux51 xux52 xux53 xux54) == LT",fontsize=16,color="black",shape="box"];6352 -> 6438[label="",style="solid", color="black", weight=3]; 27.61/11.33 6353[label="FiniteMap.mkVBalBranch3MkVBalBranch1 xux1340 xux1341 xux1342 xux1343 xux1344 xux1380 xux1381 xux1382 xux1383 xux1384 xux140 xux141 xux1340 xux1341 xux1342 xux1343 xux1344 xux1380 xux1381 xux1382 xux1383 xux1384 (FiniteMap.sIZE_RATIO * FiniteMap.mkVBalBranch3Size_r xux1340 xux1341 xux1342 xux1343 xux1344 xux1380 xux1381 xux1382 xux1383 xux1384 < FiniteMap.mkVBalBranch3Size_l xux1340 xux1341 xux1342 xux1343 xux1344 xux1380 xux1381 xux1382 xux1383 xux1384)",fontsize=16,color="black",shape="box"];6353 -> 6439[label="",style="solid", color="black", weight=3]; 27.61/11.33 6354[label="FiniteMap.mkBalBranch xux1380 xux1381 (FiniteMap.mkVBalBranch xux140 xux141 (FiniteMap.Branch xux1340 xux1341 xux1342 xux1343 xux1344) xux1383) xux1384",fontsize=16,color="black",shape="box"];6354 -> 6440[label="",style="solid", color="black", weight=3]; 27.61/11.33 52[label="FiniteMap.splitGT2 xux30 xux31 xux32 xux33 xux34 False (compare2 False xux30 (False == xux30) == GT)",fontsize=16,color="burlywood",shape="box"];8982[label="xux30/False",fontsize=10,color="white",style="solid",shape="box"];52 -> 8982[label="",style="solid", color="burlywood", weight=9]; 27.61/11.33 8982 -> 59[label="",style="solid", color="burlywood", weight=3]; 27.61/11.33 8983[label="xux30/True",fontsize=10,color="white",style="solid",shape="box"];52 -> 8983[label="",style="solid", color="burlywood", weight=9]; 27.61/11.33 8983 -> 60[label="",style="solid", color="burlywood", weight=3]; 27.61/11.33 53[label="FiniteMap.splitGT2 xux30 xux31 xux32 xux33 xux34 True (compare2 True xux30 (True == xux30) == GT)",fontsize=16,color="burlywood",shape="box"];8984[label="xux30/False",fontsize=10,color="white",style="solid",shape="box"];53 -> 8984[label="",style="solid", color="burlywood", weight=9]; 27.61/11.33 8984 -> 61[label="",style="solid", color="burlywood", weight=3]; 27.61/11.33 8985[label="xux30/True",fontsize=10,color="white",style="solid",shape="box"];53 -> 8985[label="",style="solid", color="burlywood", weight=9]; 27.61/11.33 8985 -> 62[label="",style="solid", color="burlywood", weight=3]; 27.61/11.33 54[label="FiniteMap.splitLT2 xux30 xux31 xux32 xux33 xux34 False (compare2 False xux30 (False == xux30) == LT)",fontsize=16,color="burlywood",shape="box"];8986[label="xux30/False",fontsize=10,color="white",style="solid",shape="box"];54 -> 8986[label="",style="solid", color="burlywood", weight=9]; 27.61/11.33 8986 -> 63[label="",style="solid", color="burlywood", weight=3]; 27.61/11.33 8987[label="xux30/True",fontsize=10,color="white",style="solid",shape="box"];54 -> 8987[label="",style="solid", color="burlywood", weight=9]; 27.61/11.33 8987 -> 64[label="",style="solid", color="burlywood", weight=3]; 27.61/11.33 55[label="FiniteMap.splitLT2 xux30 xux31 xux32 xux33 xux34 True (compare2 True xux30 (True == xux30) == LT)",fontsize=16,color="burlywood",shape="box"];8988[label="xux30/False",fontsize=10,color="white",style="solid",shape="box"];55 -> 8988[label="",style="solid", color="burlywood", weight=9]; 27.61/11.33 8988 -> 65[label="",style="solid", color="burlywood", weight=3]; 27.61/11.33 8989[label="xux30/True",fontsize=10,color="white",style="solid",shape="box"];55 -> 8989[label="",style="solid", color="burlywood", weight=9]; 27.61/11.33 8989 -> 66[label="",style="solid", color="burlywood", weight=3]; 27.61/11.33 56[label="FiniteMap.Branch xux40 xux41 (Pos (Succ Zero)) FiniteMap.emptyFM FiniteMap.emptyFM",fontsize=16,color="green",shape="box"];56 -> 67[label="",style="dashed", color="green", weight=3]; 27.61/11.33 56 -> 68[label="",style="dashed", color="green", weight=3]; 27.61/11.33 7119[label="xux54",fontsize=16,color="green",shape="box"];7120[label="xux40",fontsize=16,color="green",shape="box"];7121[label="xux52",fontsize=16,color="green",shape="box"];7122[label="xux53",fontsize=16,color="green",shape="box"];7123[label="xux50",fontsize=16,color="green",shape="box"];7124[label="xux41",fontsize=16,color="green",shape="box"];7125[label="xux51",fontsize=16,color="green",shape="box"];7126[label="xux40 < xux50",fontsize=16,color="black",shape="triangle"];7126 -> 7303[label="",style="solid", color="black", weight=3]; 27.61/11.33 7118[label="FiniteMap.addToFM_C2 FiniteMap.addToFM0 xux475 xux476 xux477 xux478 xux479 xux480 xux481 xux482",fontsize=16,color="burlywood",shape="triangle"];8990[label="xux482/False",fontsize=10,color="white",style="solid",shape="box"];7118 -> 8990[label="",style="solid", color="burlywood", weight=9]; 27.61/11.33 8990 -> 7304[label="",style="solid", color="burlywood", weight=3]; 27.61/11.33 8991[label="xux482/True",fontsize=10,color="white",style="solid",shape="box"];7118 -> 8991[label="",style="solid", color="burlywood", weight=9]; 27.61/11.33 8991 -> 7305[label="",style="solid", color="burlywood", weight=3]; 27.61/11.33 6438[label="primCmpInt (primMulInt FiniteMap.sIZE_RATIO (FiniteMap.mkVBalBranch3Size_l xux60 xux61 xux62 xux63 xux64 xux50 xux51 xux52 xux53 xux54)) (FiniteMap.mkVBalBranch3Size_r xux60 xux61 xux62 xux63 xux64 xux50 xux51 xux52 xux53 xux54) == LT",fontsize=16,color="black",shape="box"];6438 -> 6513[label="",style="solid", color="black", weight=3]; 27.61/11.33 6439[label="FiniteMap.mkVBalBranch3MkVBalBranch1 xux1340 xux1341 xux1342 xux1343 xux1344 xux1380 xux1381 xux1382 xux1383 xux1384 xux140 xux141 xux1340 xux1341 xux1342 xux1343 xux1344 xux1380 xux1381 xux1382 xux1383 xux1384 (compare (FiniteMap.sIZE_RATIO * FiniteMap.mkVBalBranch3Size_r xux1340 xux1341 xux1342 xux1343 xux1344 xux1380 xux1381 xux1382 xux1383 xux1384) (FiniteMap.mkVBalBranch3Size_l xux1340 xux1341 xux1342 xux1343 xux1344 xux1380 xux1381 xux1382 xux1383 xux1384) == LT)",fontsize=16,color="black",shape="box"];6439 -> 6514[label="",style="solid", color="black", weight=3]; 27.61/11.33 6440[label="FiniteMap.mkBalBranch6 xux1380 xux1381 (FiniteMap.mkVBalBranch xux140 xux141 (FiniteMap.Branch xux1340 xux1341 xux1342 xux1343 xux1344) xux1383) xux1384",fontsize=16,color="black",shape="box"];6440 -> 6515[label="",style="solid", color="black", weight=3]; 27.61/11.33 59[label="FiniteMap.splitGT2 False xux31 xux32 xux33 xux34 False (compare2 False False (False == False) == GT)",fontsize=16,color="black",shape="box"];59 -> 71[label="",style="solid", color="black", weight=3]; 27.61/11.33 60[label="FiniteMap.splitGT2 True xux31 xux32 xux33 xux34 False (compare2 False True (False == True) == GT)",fontsize=16,color="black",shape="box"];60 -> 72[label="",style="solid", color="black", weight=3]; 27.61/11.33 61[label="FiniteMap.splitGT2 False xux31 xux32 xux33 xux34 True (compare2 True False (True == False) == GT)",fontsize=16,color="black",shape="box"];61 -> 73[label="",style="solid", color="black", weight=3]; 27.61/11.33 62[label="FiniteMap.splitGT2 True xux31 xux32 xux33 xux34 True (compare2 True True (True == True) == GT)",fontsize=16,color="black",shape="box"];62 -> 74[label="",style="solid", color="black", weight=3]; 27.61/11.33 63[label="FiniteMap.splitLT2 False xux31 xux32 xux33 xux34 False (compare2 False False (False == False) == LT)",fontsize=16,color="black",shape="box"];63 -> 75[label="",style="solid", color="black", weight=3]; 27.61/11.33 64[label="FiniteMap.splitLT2 True xux31 xux32 xux33 xux34 False (compare2 False True (False == True) == LT)",fontsize=16,color="black",shape="box"];64 -> 76[label="",style="solid", color="black", weight=3]; 27.61/11.33 65[label="FiniteMap.splitLT2 False xux31 xux32 xux33 xux34 True (compare2 True False (True == False) == LT)",fontsize=16,color="black",shape="box"];65 -> 77[label="",style="solid", color="black", weight=3]; 27.61/11.33 66[label="FiniteMap.splitLT2 True xux31 xux32 xux33 xux34 True (compare2 True True (True == True) == LT)",fontsize=16,color="black",shape="box"];66 -> 78[label="",style="solid", color="black", weight=3]; 27.61/11.33 67[label="FiniteMap.emptyFM",fontsize=16,color="black",shape="triangle"];67 -> 79[label="",style="solid", color="black", weight=3]; 27.61/11.33 68 -> 67[label="",style="dashed", color="red", weight=0]; 27.61/11.33 68[label="FiniteMap.emptyFM",fontsize=16,color="magenta"];7303[label="compare xux40 xux50 == LT",fontsize=16,color="black",shape="box"];7303 -> 7316[label="",style="solid", color="black", weight=3]; 27.61/11.33 7304[label="FiniteMap.addToFM_C2 FiniteMap.addToFM0 xux475 xux476 xux477 xux478 xux479 xux480 xux481 False",fontsize=16,color="black",shape="box"];7304 -> 7317[label="",style="solid", color="black", weight=3]; 27.61/11.33 7305[label="FiniteMap.addToFM_C2 FiniteMap.addToFM0 xux475 xux476 xux477 xux478 xux479 xux480 xux481 True",fontsize=16,color="black",shape="box"];7305 -> 7318[label="",style="solid", color="black", weight=3]; 27.61/11.33 6513[label="primCmpInt (primMulInt (Pos (Succ (Succ (Succ (Succ (Succ Zero)))))) (FiniteMap.mkVBalBranch3Size_l xux60 xux61 xux62 xux63 xux64 xux50 xux51 xux52 xux53 xux54)) (FiniteMap.mkVBalBranch3Size_r xux60 xux61 xux62 xux63 xux64 xux50 xux51 xux52 xux53 xux54) == LT",fontsize=16,color="black",shape="box"];6513 -> 6545[label="",style="solid", color="black", weight=3]; 27.61/11.33 6514[label="FiniteMap.mkVBalBranch3MkVBalBranch1 xux1340 xux1341 xux1342 xux1343 xux1344 xux1380 xux1381 xux1382 xux1383 xux1384 xux140 xux141 xux1340 xux1341 xux1342 xux1343 xux1344 xux1380 xux1381 xux1382 xux1383 xux1384 (primCmpInt (FiniteMap.sIZE_RATIO * FiniteMap.mkVBalBranch3Size_r xux1340 xux1341 xux1342 xux1343 xux1344 xux1380 xux1381 xux1382 xux1383 xux1384) (FiniteMap.mkVBalBranch3Size_l xux1340 xux1341 xux1342 xux1343 xux1344 xux1380 xux1381 xux1382 xux1383 xux1384) == LT)",fontsize=16,color="black",shape="box"];6514 -> 6546[label="",style="solid", color="black", weight=3]; 27.61/11.33 6515[label="FiniteMap.mkBalBranch6MkBalBranch5 xux1380 xux1381 (FiniteMap.mkVBalBranch xux140 xux141 (FiniteMap.Branch xux1340 xux1341 xux1342 xux1343 xux1344) xux1383) xux1384 xux1380 xux1381 (FiniteMap.mkVBalBranch xux140 xux141 (FiniteMap.Branch xux1340 xux1341 xux1342 xux1343 xux1344) xux1383) xux1384 (FiniteMap.mkBalBranch6Size_l xux1380 xux1381 (FiniteMap.mkVBalBranch xux140 xux141 (FiniteMap.Branch xux1340 xux1341 xux1342 xux1343 xux1344) xux1383) xux1384 + FiniteMap.mkBalBranch6Size_r xux1380 xux1381 (FiniteMap.mkVBalBranch xux140 xux141 (FiniteMap.Branch xux1340 xux1341 xux1342 xux1343 xux1344) xux1383) xux1384 < Pos (Succ (Succ Zero)))",fontsize=16,color="black",shape="box"];6515 -> 6547[label="",style="solid", color="black", weight=3]; 27.61/11.33 71[label="FiniteMap.splitGT2 False xux31 xux32 xux33 xux34 False (compare2 False False True == GT)",fontsize=16,color="black",shape="box"];71 -> 82[label="",style="solid", color="black", weight=3]; 27.61/11.33 72[label="FiniteMap.splitGT2 True xux31 xux32 xux33 xux34 False (compare2 False True False == GT)",fontsize=16,color="black",shape="box"];72 -> 83[label="",style="solid", color="black", weight=3]; 27.61/11.33 73[label="FiniteMap.splitGT2 False xux31 xux32 xux33 xux34 True (compare2 True False False == GT)",fontsize=16,color="black",shape="box"];73 -> 84[label="",style="solid", color="black", weight=3]; 27.61/11.33 74[label="FiniteMap.splitGT2 True xux31 xux32 xux33 xux34 True (compare2 True True True == GT)",fontsize=16,color="black",shape="box"];74 -> 85[label="",style="solid", color="black", weight=3]; 27.61/11.33 75[label="FiniteMap.splitLT2 False xux31 xux32 xux33 xux34 False (compare2 False False True == LT)",fontsize=16,color="black",shape="box"];75 -> 86[label="",style="solid", color="black", weight=3]; 27.61/11.33 76[label="FiniteMap.splitLT2 True xux31 xux32 xux33 xux34 False (compare2 False True False == LT)",fontsize=16,color="black",shape="box"];76 -> 87[label="",style="solid", color="black", weight=3]; 27.61/11.33 77[label="FiniteMap.splitLT2 False xux31 xux32 xux33 xux34 True (compare2 True False False == LT)",fontsize=16,color="black",shape="box"];77 -> 88[label="",style="solid", color="black", weight=3]; 27.61/11.33 78[label="FiniteMap.splitLT2 True xux31 xux32 xux33 xux34 True (compare2 True True True == LT)",fontsize=16,color="black",shape="box"];78 -> 89[label="",style="solid", color="black", weight=3]; 27.61/11.33 79[label="FiniteMap.EmptyFM",fontsize=16,color="green",shape="box"];7316[label="compare3 xux40 xux50 == LT",fontsize=16,color="black",shape="box"];7316 -> 7365[label="",style="solid", color="black", weight=3]; 27.61/11.33 7317 -> 7366[label="",style="dashed", color="red", weight=0]; 27.61/11.33 7317[label="FiniteMap.addToFM_C1 FiniteMap.addToFM0 xux475 xux476 xux477 xux478 xux479 xux480 xux481 (xux480 > xux475)",fontsize=16,color="magenta"];7317 -> 7367[label="",style="dashed", color="magenta", weight=3]; 27.61/11.33 7317 -> 7368[label="",style="dashed", color="magenta", weight=3]; 27.61/11.33 7317 -> 7369[label="",style="dashed", color="magenta", weight=3]; 27.61/11.33 7317 -> 7370[label="",style="dashed", color="magenta", weight=3]; 27.61/11.33 7317 -> 7371[label="",style="dashed", color="magenta", weight=3]; 27.61/11.33 7317 -> 7372[label="",style="dashed", color="magenta", weight=3]; 27.61/11.33 7317 -> 7373[label="",style="dashed", color="magenta", weight=3]; 27.61/11.33 7317 -> 7374[label="",style="dashed", color="magenta", weight=3]; 27.61/11.33 7318[label="FiniteMap.mkBalBranch xux475 xux476 (FiniteMap.addToFM_C FiniteMap.addToFM0 xux478 xux480 xux481) xux479",fontsize=16,color="black",shape="box"];7318 -> 7375[label="",style="solid", color="black", weight=3]; 27.61/11.33 6545[label="primCmpInt (primMulInt (Pos (Succ (Succ (Succ (Succ (Succ Zero)))))) (FiniteMap.sizeFM (FiniteMap.Branch xux60 xux61 xux62 xux63 xux64))) (FiniteMap.mkVBalBranch3Size_r xux60 xux61 xux62 xux63 xux64 xux50 xux51 xux52 xux53 xux54) == LT",fontsize=16,color="black",shape="box"];6545 -> 6550[label="",style="solid", color="black", weight=3]; 27.61/11.33 6546[label="FiniteMap.mkVBalBranch3MkVBalBranch1 xux1340 xux1341 xux1342 xux1343 xux1344 xux1380 xux1381 xux1382 xux1383 xux1384 xux140 xux141 xux1340 xux1341 xux1342 xux1343 xux1344 xux1380 xux1381 xux1382 xux1383 xux1384 (primCmpInt (primMulInt FiniteMap.sIZE_RATIO (FiniteMap.mkVBalBranch3Size_r xux1340 xux1341 xux1342 xux1343 xux1344 xux1380 xux1381 xux1382 xux1383 xux1384)) (FiniteMap.mkVBalBranch3Size_l xux1340 xux1341 xux1342 xux1343 xux1344 xux1380 xux1381 xux1382 xux1383 xux1384) == LT)",fontsize=16,color="black",shape="box"];6546 -> 6551[label="",style="solid", color="black", weight=3]; 27.61/11.33 6547[label="FiniteMap.mkBalBranch6MkBalBranch5 xux1380 xux1381 (FiniteMap.mkVBalBranch xux140 xux141 (FiniteMap.Branch xux1340 xux1341 xux1342 xux1343 xux1344) xux1383) xux1384 xux1380 xux1381 (FiniteMap.mkVBalBranch xux140 xux141 (FiniteMap.Branch xux1340 xux1341 xux1342 xux1343 xux1344) xux1383) xux1384 (compare (FiniteMap.mkBalBranch6Size_l xux1380 xux1381 (FiniteMap.mkVBalBranch xux140 xux141 (FiniteMap.Branch xux1340 xux1341 xux1342 xux1343 xux1344) xux1383) xux1384 + FiniteMap.mkBalBranch6Size_r xux1380 xux1381 (FiniteMap.mkVBalBranch xux140 xux141 (FiniteMap.Branch xux1340 xux1341 xux1342 xux1343 xux1344) xux1383) xux1384) (Pos (Succ (Succ Zero))) == LT)",fontsize=16,color="black",shape="box"];6547 -> 6552[label="",style="solid", color="black", weight=3]; 27.61/11.33 82[label="FiniteMap.splitGT2 False xux31 xux32 xux33 xux34 False (EQ == GT)",fontsize=16,color="black",shape="box"];82 -> 94[label="",style="solid", color="black", weight=3]; 27.61/11.33 83[label="FiniteMap.splitGT2 True xux31 xux32 xux33 xux34 False (compare1 False True (False <= True) == GT)",fontsize=16,color="black",shape="box"];83 -> 95[label="",style="solid", color="black", weight=3]; 27.61/11.33 84[label="FiniteMap.splitGT2 False xux31 xux32 xux33 xux34 True (compare1 True False (True <= False) == GT)",fontsize=16,color="black",shape="box"];84 -> 96[label="",style="solid", color="black", weight=3]; 27.61/11.33 85[label="FiniteMap.splitGT2 True xux31 xux32 xux33 xux34 True (EQ == GT)",fontsize=16,color="black",shape="box"];85 -> 97[label="",style="solid", color="black", weight=3]; 27.61/11.33 86[label="FiniteMap.splitLT2 False xux31 xux32 xux33 xux34 False (EQ == LT)",fontsize=16,color="black",shape="box"];86 -> 98[label="",style="solid", color="black", weight=3]; 27.61/11.33 87[label="FiniteMap.splitLT2 True xux31 xux32 xux33 xux34 False (compare1 False True (False <= True) == LT)",fontsize=16,color="black",shape="box"];87 -> 99[label="",style="solid", color="black", weight=3]; 27.61/11.33 88[label="FiniteMap.splitLT2 False xux31 xux32 xux33 xux34 True (compare1 True False (True <= False) == LT)",fontsize=16,color="black",shape="box"];88 -> 100[label="",style="solid", color="black", weight=3]; 27.61/11.33 89[label="FiniteMap.splitLT2 True xux31 xux32 xux33 xux34 True (EQ == LT)",fontsize=16,color="black",shape="box"];89 -> 101[label="",style="solid", color="black", weight=3]; 27.61/11.33 7365[label="compare2 xux40 xux50 (xux40 == xux50) == LT",fontsize=16,color="burlywood",shape="box"];8992[label="xux40/False",fontsize=10,color="white",style="solid",shape="box"];7365 -> 8992[label="",style="solid", color="burlywood", weight=9]; 27.61/11.33 8992 -> 7376[label="",style="solid", color="burlywood", weight=3]; 27.61/11.33 8993[label="xux40/True",fontsize=10,color="white",style="solid",shape="box"];7365 -> 8993[label="",style="solid", color="burlywood", weight=9]; 27.61/11.33 8993 -> 7377[label="",style="solid", color="burlywood", weight=3]; 27.61/11.33 7367[label="xux480",fontsize=16,color="green",shape="box"];7368[label="xux476",fontsize=16,color="green",shape="box"];7369[label="xux477",fontsize=16,color="green",shape="box"];7370[label="xux478",fontsize=16,color="green",shape="box"];7371[label="xux481",fontsize=16,color="green",shape="box"];7372[label="xux479",fontsize=16,color="green",shape="box"];7373[label="xux480 > xux475",fontsize=16,color="blue",shape="box"];8994[label="> :: ((@2) a b) -> ((@2) a b) -> Bool",fontsize=10,color="white",style="solid",shape="box"];7373 -> 8994[label="",style="solid", color="blue", weight=9]; 27.61/11.33 8994 -> 7378[label="",style="solid", color="blue", weight=3]; 27.61/11.33 8995[label="> :: Float -> Float -> Bool",fontsize=10,color="white",style="solid",shape="box"];7373 -> 8995[label="",style="solid", color="blue", weight=9]; 27.61/11.33 8995 -> 7379[label="",style="solid", color="blue", weight=3]; 27.61/11.33 8996[label="> :: Double -> Double -> Bool",fontsize=10,color="white",style="solid",shape="box"];7373 -> 8996[label="",style="solid", color="blue", weight=9]; 27.61/11.33 8996 -> 7380[label="",style="solid", color="blue", weight=3]; 27.61/11.33 8997[label="> :: Int -> Int -> Bool",fontsize=10,color="white",style="solid",shape="box"];7373 -> 8997[label="",style="solid", color="blue", weight=9]; 27.61/11.33 8997 -> 7381[label="",style="solid", color="blue", weight=3]; 27.61/11.33 8998[label="> :: (Ratio a) -> (Ratio a) -> Bool",fontsize=10,color="white",style="solid",shape="box"];7373 -> 8998[label="",style="solid", color="blue", weight=9]; 27.61/11.33 8998 -> 7382[label="",style="solid", color="blue", weight=3]; 27.61/11.33 8999[label="> :: Char -> Char -> Bool",fontsize=10,color="white",style="solid",shape="box"];7373 -> 8999[label="",style="solid", color="blue", weight=9]; 27.61/11.33 8999 -> 7383[label="",style="solid", color="blue", weight=3]; 27.61/11.33 9000[label="> :: Bool -> Bool -> Bool",fontsize=10,color="white",style="solid",shape="box"];7373 -> 9000[label="",style="solid", color="blue", weight=9]; 27.61/11.33 9000 -> 7384[label="",style="solid", color="blue", weight=3]; 27.61/11.33 9001[label="> :: (Either a b) -> (Either a b) -> Bool",fontsize=10,color="white",style="solid",shape="box"];7373 -> 9001[label="",style="solid", color="blue", weight=9]; 27.61/11.33 9001 -> 7385[label="",style="solid", color="blue", weight=3]; 27.61/11.33 9002[label="> :: Integer -> Integer -> Bool",fontsize=10,color="white",style="solid",shape="box"];7373 -> 9002[label="",style="solid", color="blue", weight=9]; 27.61/11.33 9002 -> 7386[label="",style="solid", color="blue", weight=3]; 27.61/11.33 9003[label="> :: ((@3) a b c) -> ((@3) a b c) -> Bool",fontsize=10,color="white",style="solid",shape="box"];7373 -> 9003[label="",style="solid", color="blue", weight=9]; 27.61/11.33 9003 -> 7387[label="",style="solid", color="blue", weight=3]; 27.61/11.33 9004[label="> :: Ordering -> Ordering -> Bool",fontsize=10,color="white",style="solid",shape="box"];7373 -> 9004[label="",style="solid", color="blue", weight=9]; 27.61/11.33 9004 -> 7388[label="",style="solid", color="blue", weight=3]; 27.61/11.33 9005[label="> :: ([] a) -> ([] a) -> Bool",fontsize=10,color="white",style="solid",shape="box"];7373 -> 9005[label="",style="solid", color="blue", weight=9]; 27.61/11.33 9005 -> 7389[label="",style="solid", color="blue", weight=3]; 27.61/11.33 9006[label="> :: (Maybe a) -> (Maybe a) -> Bool",fontsize=10,color="white",style="solid",shape="box"];7373 -> 9006[label="",style="solid", color="blue", weight=9]; 27.61/11.33 9006 -> 7390[label="",style="solid", color="blue", weight=3]; 27.61/11.33 9007[label="> :: () -> () -> Bool",fontsize=10,color="white",style="solid",shape="box"];7373 -> 9007[label="",style="solid", color="blue", weight=9]; 27.61/11.33 9007 -> 7391[label="",style="solid", color="blue", weight=3]; 27.61/11.33 7374[label="xux475",fontsize=16,color="green",shape="box"];7366[label="FiniteMap.addToFM_C1 FiniteMap.addToFM0 xux493 xux494 xux495 xux496 xux497 xux498 xux499 xux500",fontsize=16,color="burlywood",shape="triangle"];9008[label="xux500/False",fontsize=10,color="white",style="solid",shape="box"];7366 -> 9008[label="",style="solid", color="burlywood", weight=9]; 27.61/11.33 9008 -> 7392[label="",style="solid", color="burlywood", weight=3]; 27.61/11.33 9009[label="xux500/True",fontsize=10,color="white",style="solid",shape="box"];7366 -> 9009[label="",style="solid", color="burlywood", weight=9]; 27.61/11.33 9009 -> 7393[label="",style="solid", color="burlywood", weight=3]; 27.61/11.33 7375[label="FiniteMap.mkBalBranch6 xux475 xux476 (FiniteMap.addToFM_C FiniteMap.addToFM0 xux478 xux480 xux481) xux479",fontsize=16,color="black",shape="box"];7375 -> 7398[label="",style="solid", color="black", weight=3]; 27.61/11.33 6550[label="primCmpInt (primMulInt (Pos (Succ (Succ (Succ (Succ (Succ Zero)))))) xux62) (FiniteMap.mkVBalBranch3Size_r xux60 xux61 xux62 xux63 xux64 xux50 xux51 xux52 xux53 xux54) == LT",fontsize=16,color="burlywood",shape="box"];9010[label="xux62/Pos xux620",fontsize=10,color="white",style="solid",shape="box"];6550 -> 9010[label="",style="solid", color="burlywood", weight=9]; 27.61/11.33 9010 -> 6577[label="",style="solid", color="burlywood", weight=3]; 27.61/11.33 9011[label="xux62/Neg xux620",fontsize=10,color="white",style="solid",shape="box"];6550 -> 9011[label="",style="solid", color="burlywood", weight=9]; 27.61/11.33 9011 -> 6578[label="",style="solid", color="burlywood", weight=3]; 27.61/11.33 6551[label="FiniteMap.mkVBalBranch3MkVBalBranch1 xux1340 xux1341 xux1342 xux1343 xux1344 xux1380 xux1381 xux1382 xux1383 xux1384 xux140 xux141 xux1340 xux1341 xux1342 xux1343 xux1344 xux1380 xux1381 xux1382 xux1383 xux1384 (primCmpInt (primMulInt (Pos (Succ (Succ (Succ (Succ (Succ Zero)))))) (FiniteMap.mkVBalBranch3Size_r xux1340 xux1341 xux1342 xux1343 xux1344 xux1380 xux1381 xux1382 xux1383 xux1384)) (FiniteMap.mkVBalBranch3Size_l xux1340 xux1341 xux1342 xux1343 xux1344 xux1380 xux1381 xux1382 xux1383 xux1384) == LT)",fontsize=16,color="black",shape="box"];6551 -> 6579[label="",style="solid", color="black", weight=3]; 27.61/11.33 6552 -> 7658[label="",style="dashed", color="red", weight=0]; 27.61/11.33 6552[label="FiniteMap.mkBalBranch6MkBalBranch5 xux1380 xux1381 (FiniteMap.mkVBalBranch xux140 xux141 (FiniteMap.Branch xux1340 xux1341 xux1342 xux1343 xux1344) xux1383) xux1384 xux1380 xux1381 (FiniteMap.mkVBalBranch xux140 xux141 (FiniteMap.Branch xux1340 xux1341 xux1342 xux1343 xux1344) xux1383) xux1384 (primCmpInt (FiniteMap.mkBalBranch6Size_l xux1380 xux1381 (FiniteMap.mkVBalBranch xux140 xux141 (FiniteMap.Branch xux1340 xux1341 xux1342 xux1343 xux1344) xux1383) xux1384 + FiniteMap.mkBalBranch6Size_r xux1380 xux1381 (FiniteMap.mkVBalBranch xux140 xux141 (FiniteMap.Branch xux1340 xux1341 xux1342 xux1343 xux1344) xux1383) xux1384) (Pos (Succ (Succ Zero))) == LT)",fontsize=16,color="magenta"];6552 -> 7659[label="",style="dashed", color="magenta", weight=3]; 27.61/11.33 6552 -> 7660[label="",style="dashed", color="magenta", weight=3]; 27.61/11.33 6552 -> 7661[label="",style="dashed", color="magenta", weight=3]; 27.61/11.33 6552 -> 7662[label="",style="dashed", color="magenta", weight=3]; 27.61/11.33 6552 -> 7663[label="",style="dashed", color="magenta", weight=3]; 27.61/11.33 6552 -> 7664[label="",style="dashed", color="magenta", weight=3]; 27.61/11.33 6552 -> 7665[label="",style="dashed", color="magenta", weight=3]; 27.61/11.33 94[label="FiniteMap.splitGT2 False xux31 xux32 xux33 xux34 False False",fontsize=16,color="black",shape="box"];94 -> 108[label="",style="solid", color="black", weight=3]; 27.61/11.33 95[label="FiniteMap.splitGT2 True xux31 xux32 xux33 xux34 False (compare1 False True True == GT)",fontsize=16,color="black",shape="box"];95 -> 109[label="",style="solid", color="black", weight=3]; 27.61/11.33 96[label="FiniteMap.splitGT2 False xux31 xux32 xux33 xux34 True (compare1 True False False == GT)",fontsize=16,color="black",shape="box"];96 -> 110[label="",style="solid", color="black", weight=3]; 27.61/11.33 97[label="FiniteMap.splitGT2 True xux31 xux32 xux33 xux34 True False",fontsize=16,color="black",shape="box"];97 -> 111[label="",style="solid", color="black", weight=3]; 27.61/11.33 98[label="FiniteMap.splitLT2 False xux31 xux32 xux33 xux34 False False",fontsize=16,color="black",shape="box"];98 -> 112[label="",style="solid", color="black", weight=3]; 27.61/11.33 99[label="FiniteMap.splitLT2 True xux31 xux32 xux33 xux34 False (compare1 False True True == LT)",fontsize=16,color="black",shape="box"];99 -> 113[label="",style="solid", color="black", weight=3]; 27.61/11.33 100[label="FiniteMap.splitLT2 False xux31 xux32 xux33 xux34 True (compare1 True False False == LT)",fontsize=16,color="black",shape="box"];100 -> 114[label="",style="solid", color="black", weight=3]; 27.61/11.33 101[label="FiniteMap.splitLT2 True xux31 xux32 xux33 xux34 True False",fontsize=16,color="black",shape="box"];101 -> 115[label="",style="solid", color="black", weight=3]; 27.61/11.33 7376[label="compare2 False xux50 (False == xux50) == LT",fontsize=16,color="burlywood",shape="box"];9012[label="xux50/False",fontsize=10,color="white",style="solid",shape="box"];7376 -> 9012[label="",style="solid", color="burlywood", weight=9]; 27.61/11.33 9012 -> 7399[label="",style="solid", color="burlywood", weight=3]; 27.61/11.33 9013[label="xux50/True",fontsize=10,color="white",style="solid",shape="box"];7376 -> 9013[label="",style="solid", color="burlywood", weight=9]; 27.61/11.33 9013 -> 7400[label="",style="solid", color="burlywood", weight=3]; 27.61/11.33 7377[label="compare2 True xux50 (True == xux50) == LT",fontsize=16,color="burlywood",shape="box"];9014[label="xux50/False",fontsize=10,color="white",style="solid",shape="box"];7377 -> 9014[label="",style="solid", color="burlywood", weight=9]; 27.61/11.33 9014 -> 7401[label="",style="solid", color="burlywood", weight=3]; 27.61/11.33 9015[label="xux50/True",fontsize=10,color="white",style="solid",shape="box"];7377 -> 9015[label="",style="solid", color="burlywood", weight=9]; 27.61/11.33 9015 -> 7402[label="",style="solid", color="burlywood", weight=3]; 27.61/11.33 7378[label="xux480 > xux475",fontsize=16,color="black",shape="box"];7378 -> 7403[label="",style="solid", color="black", weight=3]; 27.61/11.33 7379[label="xux480 > xux475",fontsize=16,color="black",shape="box"];7379 -> 7404[label="",style="solid", color="black", weight=3]; 27.61/11.33 7380[label="xux480 > xux475",fontsize=16,color="black",shape="box"];7380 -> 7405[label="",style="solid", color="black", weight=3]; 27.61/11.33 7381[label="xux480 > xux475",fontsize=16,color="black",shape="triangle"];7381 -> 7406[label="",style="solid", color="black", weight=3]; 27.61/11.33 7382[label="xux480 > xux475",fontsize=16,color="black",shape="box"];7382 -> 7407[label="",style="solid", color="black", weight=3]; 27.61/11.33 7383[label="xux480 > xux475",fontsize=16,color="black",shape="box"];7383 -> 7408[label="",style="solid", color="black", weight=3]; 27.61/11.33 7384[label="xux480 > xux475",fontsize=16,color="black",shape="box"];7384 -> 7409[label="",style="solid", color="black", weight=3]; 27.61/11.33 7385[label="xux480 > xux475",fontsize=16,color="black",shape="box"];7385 -> 7410[label="",style="solid", color="black", weight=3]; 27.61/11.33 7386[label="xux480 > xux475",fontsize=16,color="black",shape="box"];7386 -> 7411[label="",style="solid", color="black", weight=3]; 27.61/11.33 7387[label="xux480 > xux475",fontsize=16,color="black",shape="box"];7387 -> 7412[label="",style="solid", color="black", weight=3]; 27.61/11.33 7388[label="xux480 > xux475",fontsize=16,color="black",shape="box"];7388 -> 7413[label="",style="solid", color="black", weight=3]; 27.61/11.33 7389[label="xux480 > xux475",fontsize=16,color="black",shape="box"];7389 -> 7414[label="",style="solid", color="black", weight=3]; 27.61/11.33 7390[label="xux480 > xux475",fontsize=16,color="black",shape="box"];7390 -> 7415[label="",style="solid", color="black", weight=3]; 27.61/11.33 7391[label="xux480 > xux475",fontsize=16,color="black",shape="box"];7391 -> 7416[label="",style="solid", color="black", weight=3]; 27.61/11.33 7392[label="FiniteMap.addToFM_C1 FiniteMap.addToFM0 xux493 xux494 xux495 xux496 xux497 xux498 xux499 False",fontsize=16,color="black",shape="box"];7392 -> 7417[label="",style="solid", color="black", weight=3]; 27.61/11.33 7393[label="FiniteMap.addToFM_C1 FiniteMap.addToFM0 xux493 xux494 xux495 xux496 xux497 xux498 xux499 True",fontsize=16,color="black",shape="box"];7393 -> 7418[label="",style="solid", color="black", weight=3]; 27.61/11.33 7398[label="FiniteMap.mkBalBranch6MkBalBranch5 xux475 xux476 (FiniteMap.addToFM_C FiniteMap.addToFM0 xux478 xux480 xux481) xux479 xux475 xux476 (FiniteMap.addToFM_C FiniteMap.addToFM0 xux478 xux480 xux481) xux479 (FiniteMap.mkBalBranch6Size_l xux475 xux476 (FiniteMap.addToFM_C FiniteMap.addToFM0 xux478 xux480 xux481) xux479 + FiniteMap.mkBalBranch6Size_r xux475 xux476 (FiniteMap.addToFM_C FiniteMap.addToFM0 xux478 xux480 xux481) xux479 < Pos (Succ (Succ Zero)))",fontsize=16,color="black",shape="box"];7398 -> 7448[label="",style="solid", color="black", weight=3]; 27.61/11.33 6577[label="primCmpInt (primMulInt (Pos (Succ (Succ (Succ (Succ (Succ Zero)))))) (Pos xux620)) (FiniteMap.mkVBalBranch3Size_r xux60 xux61 (Pos xux620) xux63 xux64 xux50 xux51 xux52 xux53 xux54) == LT",fontsize=16,color="black",shape="box"];6577 -> 6599[label="",style="solid", color="black", weight=3]; 27.61/11.33 6578[label="primCmpInt (primMulInt (Pos (Succ (Succ (Succ (Succ (Succ Zero)))))) (Neg xux620)) (FiniteMap.mkVBalBranch3Size_r xux60 xux61 (Neg xux620) xux63 xux64 xux50 xux51 xux52 xux53 xux54) == LT",fontsize=16,color="black",shape="box"];6578 -> 6600[label="",style="solid", color="black", weight=3]; 27.61/11.33 6579[label="FiniteMap.mkVBalBranch3MkVBalBranch1 xux1340 xux1341 xux1342 xux1343 xux1344 xux1380 xux1381 xux1382 xux1383 xux1384 xux140 xux141 xux1340 xux1341 xux1342 xux1343 xux1344 xux1380 xux1381 xux1382 xux1383 xux1384 (primCmpInt (primMulInt (Pos (Succ (Succ (Succ (Succ (Succ Zero)))))) (FiniteMap.sizeFM (FiniteMap.Branch xux1380 xux1381 xux1382 xux1383 xux1384))) (FiniteMap.mkVBalBranch3Size_l xux1340 xux1341 xux1342 xux1343 xux1344 xux1380 xux1381 xux1382 xux1383 xux1384) == LT)",fontsize=16,color="black",shape="box"];6579 -> 6601[label="",style="solid", color="black", weight=3]; 27.61/11.33 7659[label="xux1384",fontsize=16,color="green",shape="box"];7660[label="xux1381",fontsize=16,color="green",shape="box"];7661[label="xux1384",fontsize=16,color="green",shape="box"];7662[label="xux1384",fontsize=16,color="green",shape="box"];7663[label="FiniteMap.mkVBalBranch xux140 xux141 (FiniteMap.Branch xux1340 xux1341 xux1342 xux1343 xux1344) xux1383",fontsize=16,color="burlywood",shape="box"];9016[label="xux1383/FiniteMap.EmptyFM",fontsize=10,color="white",style="solid",shape="box"];7663 -> 9016[label="",style="solid", color="burlywood", weight=9]; 27.61/11.33 9016 -> 7677[label="",style="solid", color="burlywood", weight=3]; 27.61/11.33 9017[label="xux1383/FiniteMap.Branch xux13830 xux13831 xux13832 xux13833 xux13834",fontsize=10,color="white",style="solid",shape="box"];7663 -> 9017[label="",style="solid", color="burlywood", weight=9]; 27.61/11.33 9017 -> 7678[label="",style="solid", color="burlywood", weight=3]; 27.61/11.33 7664[label="xux1384",fontsize=16,color="green",shape="box"];7665[label="xux1380",fontsize=16,color="green",shape="box"];7658[label="FiniteMap.mkBalBranch6MkBalBranch5 xux493 xux494 xux496 xux558 xux493 xux494 xux496 xux557 (primCmpInt (FiniteMap.mkBalBranch6Size_l xux493 xux494 xux496 xux560 + FiniteMap.mkBalBranch6Size_r xux493 xux494 xux496 xux559) (Pos (Succ (Succ Zero))) == LT)",fontsize=16,color="black",shape="triangle"];7658 -> 7679[label="",style="solid", color="black", weight=3]; 27.61/11.33 108[label="FiniteMap.splitGT1 False xux31 xux32 xux33 xux34 False (False < False)",fontsize=16,color="black",shape="box"];108 -> 124[label="",style="solid", color="black", weight=3]; 27.61/11.33 109[label="FiniteMap.splitGT2 True xux31 xux32 xux33 xux34 False (LT == GT)",fontsize=16,color="black",shape="box"];109 -> 125[label="",style="solid", color="black", weight=3]; 27.61/11.33 110[label="FiniteMap.splitGT2 False xux31 xux32 xux33 xux34 True (compare0 True False otherwise == GT)",fontsize=16,color="black",shape="box"];110 -> 126[label="",style="solid", color="black", weight=3]; 27.61/11.33 111[label="FiniteMap.splitGT1 True xux31 xux32 xux33 xux34 True (True < True)",fontsize=16,color="black",shape="box"];111 -> 127[label="",style="solid", color="black", weight=3]; 27.61/11.33 112[label="FiniteMap.splitLT1 False xux31 xux32 xux33 xux34 False (False > False)",fontsize=16,color="black",shape="box"];112 -> 128[label="",style="solid", color="black", weight=3]; 27.61/11.33 113[label="FiniteMap.splitLT2 True xux31 xux32 xux33 xux34 False (LT == LT)",fontsize=16,color="black",shape="box"];113 -> 129[label="",style="solid", color="black", weight=3]; 27.61/11.33 114[label="FiniteMap.splitLT2 False xux31 xux32 xux33 xux34 True (compare0 True False otherwise == LT)",fontsize=16,color="black",shape="box"];114 -> 130[label="",style="solid", color="black", weight=3]; 27.61/11.33 115[label="FiniteMap.splitLT1 True xux31 xux32 xux33 xux34 True (True > True)",fontsize=16,color="black",shape="box"];115 -> 131[label="",style="solid", color="black", weight=3]; 27.61/11.33 7399[label="compare2 False False (False == False) == LT",fontsize=16,color="black",shape="box"];7399 -> 7449[label="",style="solid", color="black", weight=3]; 27.61/11.33 7400[label="compare2 False True (False == True) == LT",fontsize=16,color="black",shape="box"];7400 -> 7450[label="",style="solid", color="black", weight=3]; 27.61/11.33 7401[label="compare2 True False (True == False) == LT",fontsize=16,color="black",shape="box"];7401 -> 7451[label="",style="solid", color="black", weight=3]; 27.61/11.33 7402[label="compare2 True True (True == True) == LT",fontsize=16,color="black",shape="box"];7402 -> 7452[label="",style="solid", color="black", weight=3]; 27.61/11.33 7403[label="compare xux480 xux475 == GT",fontsize=16,color="black",shape="box"];7403 -> 7453[label="",style="solid", color="black", weight=3]; 27.61/11.33 7404[label="compare xux480 xux475 == GT",fontsize=16,color="black",shape="box"];7404 -> 7454[label="",style="solid", color="black", weight=3]; 27.61/11.33 7405[label="compare xux480 xux475 == GT",fontsize=16,color="black",shape="box"];7405 -> 7455[label="",style="solid", color="black", weight=3]; 27.61/11.33 7406[label="compare xux480 xux475 == GT",fontsize=16,color="black",shape="box"];7406 -> 7456[label="",style="solid", color="black", weight=3]; 27.61/11.33 7407[label="compare xux480 xux475 == GT",fontsize=16,color="black",shape="box"];7407 -> 7457[label="",style="solid", color="black", weight=3]; 27.61/11.33 7408[label="compare xux480 xux475 == GT",fontsize=16,color="black",shape="box"];7408 -> 7458[label="",style="solid", color="black", weight=3]; 27.61/11.33 7409[label="compare xux480 xux475 == GT",fontsize=16,color="black",shape="box"];7409 -> 7459[label="",style="solid", color="black", weight=3]; 27.61/11.33 7410[label="compare xux480 xux475 == GT",fontsize=16,color="black",shape="box"];7410 -> 7460[label="",style="solid", color="black", weight=3]; 27.61/11.33 7411[label="compare xux480 xux475 == GT",fontsize=16,color="black",shape="box"];7411 -> 7461[label="",style="solid", color="black", weight=3]; 27.61/11.33 7412[label="compare xux480 xux475 == GT",fontsize=16,color="black",shape="box"];7412 -> 7462[label="",style="solid", color="black", weight=3]; 27.61/11.33 7413[label="compare xux480 xux475 == GT",fontsize=16,color="black",shape="box"];7413 -> 7463[label="",style="solid", color="black", weight=3]; 27.61/11.33 7414[label="compare xux480 xux475 == GT",fontsize=16,color="black",shape="box"];7414 -> 7464[label="",style="solid", color="black", weight=3]; 27.61/11.33 7415[label="compare xux480 xux475 == GT",fontsize=16,color="black",shape="box"];7415 -> 7465[label="",style="solid", color="black", weight=3]; 27.61/11.33 7416[label="compare xux480 xux475 == GT",fontsize=16,color="black",shape="box"];7416 -> 7466[label="",style="solid", color="black", weight=3]; 27.61/11.33 7417[label="FiniteMap.addToFM_C0 FiniteMap.addToFM0 xux493 xux494 xux495 xux496 xux497 xux498 xux499 otherwise",fontsize=16,color="black",shape="box"];7417 -> 7467[label="",style="solid", color="black", weight=3]; 27.61/11.33 7418[label="FiniteMap.mkBalBranch xux493 xux494 xux496 (FiniteMap.addToFM_C FiniteMap.addToFM0 xux497 xux498 xux499)",fontsize=16,color="black",shape="box"];7418 -> 7468[label="",style="solid", color="black", weight=3]; 27.61/11.33 7448[label="FiniteMap.mkBalBranch6MkBalBranch5 xux475 xux476 (FiniteMap.addToFM_C FiniteMap.addToFM0 xux478 xux480 xux481) xux479 xux475 xux476 (FiniteMap.addToFM_C FiniteMap.addToFM0 xux478 xux480 xux481) xux479 (compare (FiniteMap.mkBalBranch6Size_l xux475 xux476 (FiniteMap.addToFM_C FiniteMap.addToFM0 xux478 xux480 xux481) xux479 + FiniteMap.mkBalBranch6Size_r xux475 xux476 (FiniteMap.addToFM_C FiniteMap.addToFM0 xux478 xux480 xux481) xux479) (Pos (Succ (Succ Zero))) == LT)",fontsize=16,color="black",shape="box"];7448 -> 7483[label="",style="solid", color="black", weight=3]; 27.61/11.33 6599[label="primCmpInt (Pos (primMulNat (Succ (Succ (Succ (Succ (Succ Zero))))) xux620)) (FiniteMap.mkVBalBranch3Size_r xux60 xux61 (Pos xux620) xux63 xux64 xux50 xux51 xux52 xux53 xux54) == LT",fontsize=16,color="burlywood",shape="box"];9018[label="xux620/Succ xux6200",fontsize=10,color="white",style="solid",shape="box"];6599 -> 9018[label="",style="solid", color="burlywood", weight=9]; 27.61/11.33 9018 -> 6622[label="",style="solid", color="burlywood", weight=3]; 27.61/11.33 9019[label="xux620/Zero",fontsize=10,color="white",style="solid",shape="box"];6599 -> 9019[label="",style="solid", color="burlywood", weight=9]; 27.61/11.33 9019 -> 6623[label="",style="solid", color="burlywood", weight=3]; 27.61/11.33 6600[label="primCmpInt (Neg (primMulNat (Succ (Succ (Succ (Succ (Succ Zero))))) xux620)) (FiniteMap.mkVBalBranch3Size_r xux60 xux61 (Neg xux620) xux63 xux64 xux50 xux51 xux52 xux53 xux54) == LT",fontsize=16,color="burlywood",shape="box"];9020[label="xux620/Succ xux6200",fontsize=10,color="white",style="solid",shape="box"];6600 -> 9020[label="",style="solid", color="burlywood", weight=9]; 27.61/11.33 9020 -> 6624[label="",style="solid", color="burlywood", weight=3]; 27.61/11.33 9021[label="xux620/Zero",fontsize=10,color="white",style="solid",shape="box"];6600 -> 9021[label="",style="solid", color="burlywood", weight=9]; 27.61/11.33 9021 -> 6625[label="",style="solid", color="burlywood", weight=3]; 27.61/11.33 6601[label="FiniteMap.mkVBalBranch3MkVBalBranch1 xux1340 xux1341 xux1342 xux1343 xux1344 xux1380 xux1381 xux1382 xux1383 xux1384 xux140 xux141 xux1340 xux1341 xux1342 xux1343 xux1344 xux1380 xux1381 xux1382 xux1383 xux1384 (primCmpInt (primMulInt (Pos (Succ (Succ (Succ (Succ (Succ Zero)))))) xux1382) (FiniteMap.mkVBalBranch3Size_l xux1340 xux1341 xux1342 xux1343 xux1344 xux1380 xux1381 xux1382 xux1383 xux1384) == LT)",fontsize=16,color="burlywood",shape="box"];9022[label="xux1382/Pos xux13820",fontsize=10,color="white",style="solid",shape="box"];6601 -> 9022[label="",style="solid", color="burlywood", weight=9]; 27.61/11.33 9022 -> 6626[label="",style="solid", color="burlywood", weight=3]; 27.61/11.33 9023[label="xux1382/Neg xux13820",fontsize=10,color="white",style="solid",shape="box"];6601 -> 9023[label="",style="solid", color="burlywood", weight=9]; 27.61/11.33 9023 -> 6627[label="",style="solid", color="burlywood", weight=3]; 27.61/11.33 7677[label="FiniteMap.mkVBalBranch xux140 xux141 (FiniteMap.Branch xux1340 xux1341 xux1342 xux1343 xux1344) FiniteMap.EmptyFM",fontsize=16,color="black",shape="box"];7677 -> 7735[label="",style="solid", color="black", weight=3]; 27.61/11.33 7678[label="FiniteMap.mkVBalBranch xux140 xux141 (FiniteMap.Branch xux1340 xux1341 xux1342 xux1343 xux1344) (FiniteMap.Branch xux13830 xux13831 xux13832 xux13833 xux13834)",fontsize=16,color="black",shape="box"];7678 -> 7736[label="",style="solid", color="black", weight=3]; 27.61/11.33 7679[label="FiniteMap.mkBalBranch6MkBalBranch5 xux493 xux494 xux496 xux558 xux493 xux494 xux496 xux557 (primCmpInt (primPlusInt (FiniteMap.mkBalBranch6Size_l xux493 xux494 xux496 xux560) (FiniteMap.mkBalBranch6Size_r xux493 xux494 xux496 xux559)) (Pos (Succ (Succ Zero))) == LT)",fontsize=16,color="black",shape="box"];7679 -> 7737[label="",style="solid", color="black", weight=3]; 27.61/11.33 124[label="FiniteMap.splitGT1 False xux31 xux32 xux33 xux34 False (compare False False == LT)",fontsize=16,color="black",shape="box"];124 -> 140[label="",style="solid", color="black", weight=3]; 27.61/11.33 125[label="FiniteMap.splitGT2 True xux31 xux32 xux33 xux34 False False",fontsize=16,color="black",shape="box"];125 -> 141[label="",style="solid", color="black", weight=3]; 27.61/11.33 126[label="FiniteMap.splitGT2 False xux31 xux32 xux33 xux34 True (compare0 True False True == GT)",fontsize=16,color="black",shape="box"];126 -> 142[label="",style="solid", color="black", weight=3]; 27.61/11.33 127[label="FiniteMap.splitGT1 True xux31 xux32 xux33 xux34 True (compare True True == LT)",fontsize=16,color="black",shape="box"];127 -> 143[label="",style="solid", color="black", weight=3]; 27.61/11.33 128[label="FiniteMap.splitLT1 False xux31 xux32 xux33 xux34 False (compare False False == GT)",fontsize=16,color="black",shape="box"];128 -> 144[label="",style="solid", color="black", weight=3]; 27.61/11.33 129[label="FiniteMap.splitLT2 True xux31 xux32 xux33 xux34 False True",fontsize=16,color="black",shape="box"];129 -> 145[label="",style="solid", color="black", weight=3]; 27.61/11.33 130[label="FiniteMap.splitLT2 False xux31 xux32 xux33 xux34 True (compare0 True False True == LT)",fontsize=16,color="black",shape="box"];130 -> 146[label="",style="solid", color="black", weight=3]; 27.61/11.33 131[label="FiniteMap.splitLT1 True xux31 xux32 xux33 xux34 True (compare True True == GT)",fontsize=16,color="black",shape="box"];131 -> 147[label="",style="solid", color="black", weight=3]; 27.61/11.33 7449[label="compare2 False False True == LT",fontsize=16,color="black",shape="box"];7449 -> 7484[label="",style="solid", color="black", weight=3]; 27.61/11.33 7450[label="compare2 False True False == LT",fontsize=16,color="black",shape="box"];7450 -> 7485[label="",style="solid", color="black", weight=3]; 27.61/11.33 7451[label="compare2 True False False == LT",fontsize=16,color="black",shape="box"];7451 -> 7486[label="",style="solid", color="black", weight=3]; 27.61/11.33 7452[label="compare2 True True True == LT",fontsize=16,color="black",shape="box"];7452 -> 7487[label="",style="solid", color="black", weight=3]; 27.61/11.33 7453[label="compare3 xux480 xux475 == GT",fontsize=16,color="black",shape="box"];7453 -> 7488[label="",style="solid", color="black", weight=3]; 27.61/11.33 7454[label="compare3 xux480 xux475 == GT",fontsize=16,color="black",shape="box"];7454 -> 7489[label="",style="solid", color="black", weight=3]; 27.61/11.33 7455[label="compare3 xux480 xux475 == GT",fontsize=16,color="black",shape="box"];7455 -> 7490[label="",style="solid", color="black", weight=3]; 27.61/11.33 7456[label="primCmpInt xux480 xux475 == GT",fontsize=16,color="burlywood",shape="box"];9024[label="xux480/Pos xux4800",fontsize=10,color="white",style="solid",shape="box"];7456 -> 9024[label="",style="solid", color="burlywood", weight=9]; 27.61/11.33 9024 -> 7491[label="",style="solid", color="burlywood", weight=3]; 27.61/11.33 9025[label="xux480/Neg xux4800",fontsize=10,color="white",style="solid",shape="box"];7456 -> 9025[label="",style="solid", color="burlywood", weight=9]; 27.61/11.33 9025 -> 7492[label="",style="solid", color="burlywood", weight=3]; 27.61/11.33 7457[label="compare3 xux480 xux475 == GT",fontsize=16,color="black",shape="box"];7457 -> 7493[label="",style="solid", color="black", weight=3]; 27.61/11.33 7458[label="compare3 xux480 xux475 == GT",fontsize=16,color="black",shape="box"];7458 -> 7494[label="",style="solid", color="black", weight=3]; 27.61/11.33 7459[label="compare3 xux480 xux475 == GT",fontsize=16,color="black",shape="box"];7459 -> 7495[label="",style="solid", color="black", weight=3]; 27.61/11.33 7460[label="compare3 xux480 xux475 == GT",fontsize=16,color="black",shape="box"];7460 -> 7496[label="",style="solid", color="black", weight=3]; 27.61/11.33 7461[label="compare3 xux480 xux475 == GT",fontsize=16,color="black",shape="box"];7461 -> 7497[label="",style="solid", color="black", weight=3]; 27.61/11.33 7462[label="compare3 xux480 xux475 == GT",fontsize=16,color="black",shape="box"];7462 -> 7498[label="",style="solid", color="black", weight=3]; 27.61/11.33 7463[label="compare3 xux480 xux475 == GT",fontsize=16,color="black",shape="box"];7463 -> 7499[label="",style="solid", color="black", weight=3]; 27.61/11.33 7464[label="compare3 xux480 xux475 == GT",fontsize=16,color="black",shape="box"];7464 -> 7500[label="",style="solid", color="black", weight=3]; 27.61/11.33 7465[label="compare3 xux480 xux475 == GT",fontsize=16,color="black",shape="box"];7465 -> 7501[label="",style="solid", color="black", weight=3]; 27.61/11.33 7466[label="compare3 xux480 xux475 == GT",fontsize=16,color="black",shape="box"];7466 -> 7502[label="",style="solid", color="black", weight=3]; 27.61/11.33 7467[label="FiniteMap.addToFM_C0 FiniteMap.addToFM0 xux493 xux494 xux495 xux496 xux497 xux498 xux499 True",fontsize=16,color="black",shape="box"];7467 -> 7503[label="",style="solid", color="black", weight=3]; 27.61/11.33 7468[label="FiniteMap.mkBalBranch6 xux493 xux494 xux496 (FiniteMap.addToFM_C FiniteMap.addToFM0 xux497 xux498 xux499)",fontsize=16,color="black",shape="box"];7468 -> 7504[label="",style="solid", color="black", weight=3]; 27.61/11.33 7483 -> 7658[label="",style="dashed", color="red", weight=0]; 27.61/11.33 7483[label="FiniteMap.mkBalBranch6MkBalBranch5 xux475 xux476 (FiniteMap.addToFM_C FiniteMap.addToFM0 xux478 xux480 xux481) xux479 xux475 xux476 (FiniteMap.addToFM_C FiniteMap.addToFM0 xux478 xux480 xux481) xux479 (primCmpInt (FiniteMap.mkBalBranch6Size_l xux475 xux476 (FiniteMap.addToFM_C FiniteMap.addToFM0 xux478 xux480 xux481) xux479 + FiniteMap.mkBalBranch6Size_r xux475 xux476 (FiniteMap.addToFM_C FiniteMap.addToFM0 xux478 xux480 xux481) xux479) (Pos (Succ (Succ Zero))) == LT)",fontsize=16,color="magenta"];7483 -> 7666[label="",style="dashed", color="magenta", weight=3]; 27.61/11.33 7483 -> 7667[label="",style="dashed", color="magenta", weight=3]; 27.61/11.33 7483 -> 7668[label="",style="dashed", color="magenta", weight=3]; 27.61/11.33 7483 -> 7669[label="",style="dashed", color="magenta", weight=3]; 27.61/11.33 7483 -> 7670[label="",style="dashed", color="magenta", weight=3]; 27.61/11.33 7483 -> 7671[label="",style="dashed", color="magenta", weight=3]; 27.61/11.33 7483 -> 7672[label="",style="dashed", color="magenta", weight=3]; 27.61/11.33 6622[label="primCmpInt (Pos (primMulNat (Succ (Succ (Succ (Succ (Succ Zero))))) (Succ xux6200))) (FiniteMap.mkVBalBranch3Size_r xux60 xux61 (Pos (Succ xux6200)) xux63 xux64 xux50 xux51 xux52 xux53 xux54) == LT",fontsize=16,color="black",shape="box"];6622 -> 6652[label="",style="solid", color="black", weight=3]; 27.61/11.33 6623[label="primCmpInt (Pos (primMulNat (Succ (Succ (Succ (Succ (Succ Zero))))) Zero)) (FiniteMap.mkVBalBranch3Size_r xux60 xux61 (Pos Zero) xux63 xux64 xux50 xux51 xux52 xux53 xux54) == LT",fontsize=16,color="black",shape="box"];6623 -> 6653[label="",style="solid", color="black", weight=3]; 27.61/11.33 6624[label="primCmpInt (Neg (primMulNat (Succ (Succ (Succ (Succ (Succ Zero))))) (Succ xux6200))) (FiniteMap.mkVBalBranch3Size_r xux60 xux61 (Neg (Succ xux6200)) xux63 xux64 xux50 xux51 xux52 xux53 xux54) == LT",fontsize=16,color="black",shape="box"];6624 -> 6654[label="",style="solid", color="black", weight=3]; 27.61/11.33 6625[label="primCmpInt (Neg (primMulNat (Succ (Succ (Succ (Succ (Succ Zero))))) Zero)) (FiniteMap.mkVBalBranch3Size_r xux60 xux61 (Neg Zero) xux63 xux64 xux50 xux51 xux52 xux53 xux54) == LT",fontsize=16,color="black",shape="box"];6625 -> 6655[label="",style="solid", color="black", weight=3]; 27.61/11.33 6626[label="FiniteMap.mkVBalBranch3MkVBalBranch1 xux1340 xux1341 xux1342 xux1343 xux1344 xux1380 xux1381 (Pos xux13820) xux1383 xux1384 xux140 xux141 xux1340 xux1341 xux1342 xux1343 xux1344 xux1380 xux1381 (Pos xux13820) xux1383 xux1384 (primCmpInt (primMulInt (Pos (Succ (Succ (Succ (Succ (Succ Zero)))))) (Pos xux13820)) (FiniteMap.mkVBalBranch3Size_l xux1340 xux1341 xux1342 xux1343 xux1344 xux1380 xux1381 (Pos xux13820) xux1383 xux1384) == LT)",fontsize=16,color="black",shape="box"];6626 -> 6656[label="",style="solid", color="black", weight=3]; 27.61/11.33 6627[label="FiniteMap.mkVBalBranch3MkVBalBranch1 xux1340 xux1341 xux1342 xux1343 xux1344 xux1380 xux1381 (Neg xux13820) xux1383 xux1384 xux140 xux141 xux1340 xux1341 xux1342 xux1343 xux1344 xux1380 xux1381 (Neg xux13820) xux1383 xux1384 (primCmpInt (primMulInt (Pos (Succ (Succ (Succ (Succ (Succ Zero)))))) (Neg xux13820)) (FiniteMap.mkVBalBranch3Size_l xux1340 xux1341 xux1342 xux1343 xux1344 xux1380 xux1381 (Neg xux13820) xux1383 xux1384) == LT)",fontsize=16,color="black",shape="box"];6627 -> 6657[label="",style="solid", color="black", weight=3]; 27.61/11.33 7735[label="FiniteMap.mkVBalBranch4 xux140 xux141 (FiniteMap.Branch xux1340 xux1341 xux1342 xux1343 xux1344) FiniteMap.EmptyFM",fontsize=16,color="black",shape="box"];7735 -> 7795[label="",style="solid", color="black", weight=3]; 27.61/11.33 7736[label="FiniteMap.mkVBalBranch3 xux140 xux141 (FiniteMap.Branch xux1340 xux1341 xux1342 xux1343 xux1344) (FiniteMap.Branch xux13830 xux13831 xux13832 xux13833 xux13834)",fontsize=16,color="black",shape="triangle"];7736 -> 7796[label="",style="solid", color="black", weight=3]; 27.61/11.33 7737[label="FiniteMap.mkBalBranch6MkBalBranch5 xux493 xux494 xux496 xux558 xux493 xux494 xux496 xux557 (primCmpInt (primPlusInt (FiniteMap.sizeFM xux496) (FiniteMap.mkBalBranch6Size_r xux493 xux494 xux496 xux559)) (Pos (Succ (Succ Zero))) == LT)",fontsize=16,color="burlywood",shape="box"];9026[label="xux496/FiniteMap.EmptyFM",fontsize=10,color="white",style="solid",shape="box"];7737 -> 9026[label="",style="solid", color="burlywood", weight=9]; 27.61/11.33 9026 -> 7797[label="",style="solid", color="burlywood", weight=3]; 27.61/11.33 9027[label="xux496/FiniteMap.Branch xux4960 xux4961 xux4962 xux4963 xux4964",fontsize=10,color="white",style="solid",shape="box"];7737 -> 9027[label="",style="solid", color="burlywood", weight=9]; 27.61/11.33 9027 -> 7798[label="",style="solid", color="burlywood", weight=3]; 27.61/11.33 140[label="FiniteMap.splitGT1 False xux31 xux32 xux33 xux34 False (compare3 False False == LT)",fontsize=16,color="black",shape="box"];140 -> 156[label="",style="solid", color="black", weight=3]; 27.61/11.33 141[label="FiniteMap.splitGT1 True xux31 xux32 xux33 xux34 False (False < True)",fontsize=16,color="black",shape="box"];141 -> 157[label="",style="solid", color="black", weight=3]; 27.61/11.33 142[label="FiniteMap.splitGT2 False xux31 xux32 xux33 xux34 True (GT == GT)",fontsize=16,color="black",shape="box"];142 -> 158[label="",style="solid", color="black", weight=3]; 27.61/11.33 143[label="FiniteMap.splitGT1 True xux31 xux32 xux33 xux34 True (compare3 True True == LT)",fontsize=16,color="black",shape="box"];143 -> 159[label="",style="solid", color="black", weight=3]; 27.61/11.33 144[label="FiniteMap.splitLT1 False xux31 xux32 xux33 xux34 False (compare3 False False == GT)",fontsize=16,color="black",shape="box"];144 -> 160[label="",style="solid", color="black", weight=3]; 27.61/11.33 145[label="FiniteMap.splitLT xux33 False",fontsize=16,color="burlywood",shape="box"];9028[label="xux33/FiniteMap.EmptyFM",fontsize=10,color="white",style="solid",shape="box"];145 -> 9028[label="",style="solid", color="burlywood", weight=9]; 27.61/11.33 9028 -> 161[label="",style="solid", color="burlywood", weight=3]; 27.61/11.33 9029[label="xux33/FiniteMap.Branch xux330 xux331 xux332 xux333 xux334",fontsize=10,color="white",style="solid",shape="box"];145 -> 9029[label="",style="solid", color="burlywood", weight=9]; 27.61/11.33 9029 -> 162[label="",style="solid", color="burlywood", weight=3]; 27.61/11.33 146[label="FiniteMap.splitLT2 False xux31 xux32 xux33 xux34 True (GT == LT)",fontsize=16,color="black",shape="box"];146 -> 163[label="",style="solid", color="black", weight=3]; 27.61/11.33 147[label="FiniteMap.splitLT1 True xux31 xux32 xux33 xux34 True (compare3 True True == GT)",fontsize=16,color="black",shape="box"];147 -> 164[label="",style="solid", color="black", weight=3]; 27.61/11.33 7484 -> 7041[label="",style="dashed", color="red", weight=0]; 27.61/11.33 7484[label="EQ == LT",fontsize=16,color="magenta"];7485[label="compare1 False True (False <= True) == LT",fontsize=16,color="black",shape="box"];7485 -> 7521[label="",style="solid", color="black", weight=3]; 27.61/11.33 7486[label="compare1 True False (True <= False) == LT",fontsize=16,color="black",shape="box"];7486 -> 7522[label="",style="solid", color="black", weight=3]; 27.61/11.33 7487 -> 7041[label="",style="dashed", color="red", weight=0]; 27.61/11.33 7487[label="EQ == LT",fontsize=16,color="magenta"];7488[label="compare2 xux480 xux475 (xux480 == xux475) == GT",fontsize=16,color="black",shape="box"];7488 -> 7523[label="",style="solid", color="black", weight=3]; 27.61/11.33 7489[label="compare2 xux480 xux475 (xux480 == xux475) == GT",fontsize=16,color="black",shape="box"];7489 -> 7524[label="",style="solid", color="black", weight=3]; 27.61/11.33 7490[label="compare2 xux480 xux475 (xux480 == xux475) == GT",fontsize=16,color="black",shape="box"];7490 -> 7525[label="",style="solid", color="black", weight=3]; 27.61/11.33 7491[label="primCmpInt (Pos xux4800) xux475 == GT",fontsize=16,color="burlywood",shape="box"];9030[label="xux4800/Succ xux48000",fontsize=10,color="white",style="solid",shape="box"];7491 -> 9030[label="",style="solid", color="burlywood", weight=9]; 27.61/11.33 9030 -> 7526[label="",style="solid", color="burlywood", weight=3]; 27.61/11.33 9031[label="xux4800/Zero",fontsize=10,color="white",style="solid",shape="box"];7491 -> 9031[label="",style="solid", color="burlywood", weight=9]; 27.61/11.33 9031 -> 7527[label="",style="solid", color="burlywood", weight=3]; 27.61/11.33 7492[label="primCmpInt (Neg xux4800) xux475 == GT",fontsize=16,color="burlywood",shape="box"];9032[label="xux4800/Succ xux48000",fontsize=10,color="white",style="solid",shape="box"];7492 -> 9032[label="",style="solid", color="burlywood", weight=9]; 27.61/11.33 9032 -> 7528[label="",style="solid", color="burlywood", weight=3]; 27.61/11.33 9033[label="xux4800/Zero",fontsize=10,color="white",style="solid",shape="box"];7492 -> 9033[label="",style="solid", color="burlywood", weight=9]; 27.61/11.33 9033 -> 7529[label="",style="solid", color="burlywood", weight=3]; 27.61/11.33 7493[label="compare2 xux480 xux475 (xux480 == xux475) == GT",fontsize=16,color="black",shape="box"];7493 -> 7530[label="",style="solid", color="black", weight=3]; 27.61/11.33 7494[label="compare2 xux480 xux475 (xux480 == xux475) == GT",fontsize=16,color="black",shape="box"];7494 -> 7531[label="",style="solid", color="black", weight=3]; 27.61/11.33 7495[label="compare2 xux480 xux475 (xux480 == xux475) == GT",fontsize=16,color="burlywood",shape="box"];9034[label="xux480/False",fontsize=10,color="white",style="solid",shape="box"];7495 -> 9034[label="",style="solid", color="burlywood", weight=9]; 27.61/11.33 9034 -> 7532[label="",style="solid", color="burlywood", weight=3]; 27.61/11.33 9035[label="xux480/True",fontsize=10,color="white",style="solid",shape="box"];7495 -> 9035[label="",style="solid", color="burlywood", weight=9]; 27.61/11.33 9035 -> 7533[label="",style="solid", color="burlywood", weight=3]; 27.61/11.33 7496[label="compare2 xux480 xux475 (xux480 == xux475) == GT",fontsize=16,color="black",shape="box"];7496 -> 7534[label="",style="solid", color="black", weight=3]; 27.61/11.33 7497[label="compare2 xux480 xux475 (xux480 == xux475) == GT",fontsize=16,color="black",shape="box"];7497 -> 7535[label="",style="solid", color="black", weight=3]; 27.61/11.33 7498[label="compare2 xux480 xux475 (xux480 == xux475) == GT",fontsize=16,color="black",shape="box"];7498 -> 7536[label="",style="solid", color="black", weight=3]; 27.61/11.33 7499[label="compare2 xux480 xux475 (xux480 == xux475) == GT",fontsize=16,color="burlywood",shape="box"];9036[label="xux480/LT",fontsize=10,color="white",style="solid",shape="box"];7499 -> 9036[label="",style="solid", color="burlywood", weight=9]; 27.61/11.33 9036 -> 7537[label="",style="solid", color="burlywood", weight=3]; 27.61/11.33 9037[label="xux480/EQ",fontsize=10,color="white",style="solid",shape="box"];7499 -> 9037[label="",style="solid", color="burlywood", weight=9]; 27.61/11.33 9037 -> 7538[label="",style="solid", color="burlywood", weight=3]; 27.61/11.33 9038[label="xux480/GT",fontsize=10,color="white",style="solid",shape="box"];7499 -> 9038[label="",style="solid", color="burlywood", weight=9]; 27.61/11.33 9038 -> 7539[label="",style="solid", color="burlywood", weight=3]; 27.61/11.33 7500[label="compare2 xux480 xux475 (xux480 == xux475) == GT",fontsize=16,color="black",shape="box"];7500 -> 7540[label="",style="solid", color="black", weight=3]; 27.61/11.33 7501[label="compare2 xux480 xux475 (xux480 == xux475) == GT",fontsize=16,color="black",shape="box"];7501 -> 7541[label="",style="solid", color="black", weight=3]; 27.61/11.33 7502[label="compare2 xux480 xux475 (xux480 == xux475) == GT",fontsize=16,color="black",shape="box"];7502 -> 7542[label="",style="solid", color="black", weight=3]; 27.61/11.33 7503[label="FiniteMap.Branch xux498 (FiniteMap.addToFM0 xux494 xux499) xux495 xux496 xux497",fontsize=16,color="green",shape="box"];7503 -> 7543[label="",style="dashed", color="green", weight=3]; 27.61/11.33 7504[label="FiniteMap.mkBalBranch6MkBalBranch5 xux493 xux494 xux496 (FiniteMap.addToFM_C FiniteMap.addToFM0 xux497 xux498 xux499) xux493 xux494 xux496 (FiniteMap.addToFM_C FiniteMap.addToFM0 xux497 xux498 xux499) (FiniteMap.mkBalBranch6Size_l xux493 xux494 xux496 (FiniteMap.addToFM_C FiniteMap.addToFM0 xux497 xux498 xux499) + FiniteMap.mkBalBranch6Size_r xux493 xux494 xux496 (FiniteMap.addToFM_C FiniteMap.addToFM0 xux497 xux498 xux499) < Pos (Succ (Succ Zero)))",fontsize=16,color="black",shape="box"];7504 -> 7544[label="",style="solid", color="black", weight=3]; 27.61/11.33 7666[label="xux479",fontsize=16,color="green",shape="box"];7667[label="xux476",fontsize=16,color="green",shape="box"];7668[label="xux479",fontsize=16,color="green",shape="box"];7669[label="xux479",fontsize=16,color="green",shape="box"];7670[label="FiniteMap.addToFM_C FiniteMap.addToFM0 xux478 xux480 xux481",fontsize=16,color="burlywood",shape="triangle"];9039[label="xux478/FiniteMap.EmptyFM",fontsize=10,color="white",style="solid",shape="box"];7670 -> 9039[label="",style="solid", color="burlywood", weight=9]; 27.61/11.33 9039 -> 7680[label="",style="solid", color="burlywood", weight=3]; 27.61/11.33 9040[label="xux478/FiniteMap.Branch xux4780 xux4781 xux4782 xux4783 xux4784",fontsize=10,color="white",style="solid",shape="box"];7670 -> 9040[label="",style="solid", color="burlywood", weight=9]; 27.61/11.33 9040 -> 7681[label="",style="solid", color="burlywood", weight=3]; 27.61/11.33 7671[label="xux479",fontsize=16,color="green",shape="box"];7672[label="xux475",fontsize=16,color="green",shape="box"];6652 -> 6804[label="",style="dashed", color="red", weight=0]; 27.61/11.33 6652[label="primCmpInt (Pos (primPlusNat (primMulNat (Succ (Succ (Succ (Succ Zero)))) (Succ xux6200)) (Succ xux6200))) (FiniteMap.mkVBalBranch3Size_r xux60 xux61 (Pos (Succ xux6200)) xux63 xux64 xux50 xux51 xux52 xux53 xux54) == LT",fontsize=16,color="magenta"];6652 -> 6805[label="",style="dashed", color="magenta", weight=3]; 27.61/11.33 6653[label="primCmpInt (Pos Zero) (FiniteMap.mkVBalBranch3Size_r xux60 xux61 (Pos Zero) xux63 xux64 xux50 xux51 xux52 xux53 xux54) == LT",fontsize=16,color="black",shape="box"];6653 -> 6806[label="",style="solid", color="black", weight=3]; 27.61/11.33 6654 -> 6807[label="",style="dashed", color="red", weight=0]; 27.61/11.33 6654[label="primCmpInt (Neg (primPlusNat (primMulNat (Succ (Succ (Succ (Succ Zero)))) (Succ xux6200)) (Succ xux6200))) (FiniteMap.mkVBalBranch3Size_r xux60 xux61 (Neg (Succ xux6200)) xux63 xux64 xux50 xux51 xux52 xux53 xux54) == LT",fontsize=16,color="magenta"];6654 -> 6808[label="",style="dashed", color="magenta", weight=3]; 27.61/11.33 6655[label="primCmpInt (Neg Zero) (FiniteMap.mkVBalBranch3Size_r xux60 xux61 (Neg Zero) xux63 xux64 xux50 xux51 xux52 xux53 xux54) == LT",fontsize=16,color="black",shape="box"];6655 -> 6809[label="",style="solid", color="black", weight=3]; 27.61/11.33 6656[label="FiniteMap.mkVBalBranch3MkVBalBranch1 xux1340 xux1341 xux1342 xux1343 xux1344 xux1380 xux1381 (Pos xux13820) xux1383 xux1384 xux140 xux141 xux1340 xux1341 xux1342 xux1343 xux1344 xux1380 xux1381 (Pos xux13820) xux1383 xux1384 (primCmpInt (Pos (primMulNat (Succ (Succ (Succ (Succ (Succ Zero))))) xux13820)) (FiniteMap.mkVBalBranch3Size_l xux1340 xux1341 xux1342 xux1343 xux1344 xux1380 xux1381 (Pos xux13820) xux1383 xux1384) == LT)",fontsize=16,color="burlywood",shape="box"];9041[label="xux13820/Succ xux138200",fontsize=10,color="white",style="solid",shape="box"];6656 -> 9041[label="",style="solid", color="burlywood", weight=9]; 27.61/11.33 9041 -> 6810[label="",style="solid", color="burlywood", weight=3]; 27.61/11.33 9042[label="xux13820/Zero",fontsize=10,color="white",style="solid",shape="box"];6656 -> 9042[label="",style="solid", color="burlywood", weight=9]; 27.61/11.33 9042 -> 6811[label="",style="solid", color="burlywood", weight=3]; 27.61/11.33 6657[label="FiniteMap.mkVBalBranch3MkVBalBranch1 xux1340 xux1341 xux1342 xux1343 xux1344 xux1380 xux1381 (Neg xux13820) xux1383 xux1384 xux140 xux141 xux1340 xux1341 xux1342 xux1343 xux1344 xux1380 xux1381 (Neg xux13820) xux1383 xux1384 (primCmpInt (Neg (primMulNat (Succ (Succ (Succ (Succ (Succ Zero))))) xux13820)) (FiniteMap.mkVBalBranch3Size_l xux1340 xux1341 xux1342 xux1343 xux1344 xux1380 xux1381 (Neg xux13820) xux1383 xux1384) == LT)",fontsize=16,color="burlywood",shape="box"];9043[label="xux13820/Succ xux138200",fontsize=10,color="white",style="solid",shape="box"];6657 -> 9043[label="",style="solid", color="burlywood", weight=9]; 27.61/11.33 9043 -> 6812[label="",style="solid", color="burlywood", weight=3]; 27.61/11.33 9044[label="xux13820/Zero",fontsize=10,color="white",style="solid",shape="box"];6657 -> 9044[label="",style="solid", color="burlywood", weight=9]; 27.61/11.33 9044 -> 6813[label="",style="solid", color="burlywood", weight=3]; 27.61/11.33 7795[label="FiniteMap.addToFM (FiniteMap.Branch xux1340 xux1341 xux1342 xux1343 xux1344) xux140 xux141",fontsize=16,color="black",shape="triangle"];7795 -> 7824[label="",style="solid", color="black", weight=3]; 27.61/11.33 7796 -> 4681[label="",style="dashed", color="red", weight=0]; 27.61/11.33 7796[label="FiniteMap.mkVBalBranch3MkVBalBranch2 xux1340 xux1341 xux1342 xux1343 xux1344 xux13830 xux13831 xux13832 xux13833 xux13834 xux140 xux141 xux1340 xux1341 xux1342 xux1343 xux1344 xux13830 xux13831 xux13832 xux13833 xux13834 (FiniteMap.sIZE_RATIO * FiniteMap.mkVBalBranch3Size_l xux1340 xux1341 xux1342 xux1343 xux1344 xux13830 xux13831 xux13832 xux13833 xux13834 < FiniteMap.mkVBalBranch3Size_r xux1340 xux1341 xux1342 xux1343 xux1344 xux13830 xux13831 xux13832 xux13833 xux13834)",fontsize=16,color="magenta"];7796 -> 7825[label="",style="dashed", color="magenta", weight=3]; 27.61/11.33 7796 -> 7826[label="",style="dashed", color="magenta", weight=3]; 27.61/11.33 7796 -> 7827[label="",style="dashed", color="magenta", weight=3]; 27.61/11.33 7796 -> 7828[label="",style="dashed", color="magenta", weight=3]; 27.61/11.33 7796 -> 7829[label="",style="dashed", color="magenta", weight=3]; 27.61/11.33 7796 -> 7830[label="",style="dashed", color="magenta", weight=3]; 27.61/11.33 7797[label="FiniteMap.mkBalBranch6MkBalBranch5 xux493 xux494 FiniteMap.EmptyFM xux558 xux493 xux494 FiniteMap.EmptyFM xux557 (primCmpInt (primPlusInt (FiniteMap.sizeFM FiniteMap.EmptyFM) (FiniteMap.mkBalBranch6Size_r xux493 xux494 FiniteMap.EmptyFM xux559)) (Pos (Succ (Succ Zero))) == LT)",fontsize=16,color="black",shape="box"];7797 -> 7831[label="",style="solid", color="black", weight=3]; 27.61/11.33 7798[label="FiniteMap.mkBalBranch6MkBalBranch5 xux493 xux494 (FiniteMap.Branch xux4960 xux4961 xux4962 xux4963 xux4964) xux558 xux493 xux494 (FiniteMap.Branch xux4960 xux4961 xux4962 xux4963 xux4964) xux557 (primCmpInt (primPlusInt (FiniteMap.sizeFM (FiniteMap.Branch xux4960 xux4961 xux4962 xux4963 xux4964)) (FiniteMap.mkBalBranch6Size_r xux493 xux494 (FiniteMap.Branch xux4960 xux4961 xux4962 xux4963 xux4964) xux559)) (Pos (Succ (Succ Zero))) == LT)",fontsize=16,color="black",shape="box"];7798 -> 7832[label="",style="solid", color="black", weight=3]; 27.61/11.33 156[label="FiniteMap.splitGT1 False xux31 xux32 xux33 xux34 False (compare2 False False (False == False) == LT)",fontsize=16,color="black",shape="box"];156 -> 173[label="",style="solid", color="black", weight=3]; 27.61/11.33 157[label="FiniteMap.splitGT1 True xux31 xux32 xux33 xux34 False (compare False True == LT)",fontsize=16,color="black",shape="box"];157 -> 174[label="",style="solid", color="black", weight=3]; 27.61/11.33 158[label="FiniteMap.splitGT2 False xux31 xux32 xux33 xux34 True True",fontsize=16,color="black",shape="box"];158 -> 175[label="",style="solid", color="black", weight=3]; 27.61/11.33 159[label="FiniteMap.splitGT1 True xux31 xux32 xux33 xux34 True (compare2 True True (True == True) == LT)",fontsize=16,color="black",shape="box"];159 -> 176[label="",style="solid", color="black", weight=3]; 27.61/11.33 160[label="FiniteMap.splitLT1 False xux31 xux32 xux33 xux34 False (compare2 False False (False == False) == GT)",fontsize=16,color="black",shape="box"];160 -> 177[label="",style="solid", color="black", weight=3]; 27.61/11.33 161[label="FiniteMap.splitLT FiniteMap.EmptyFM False",fontsize=16,color="black",shape="box"];161 -> 178[label="",style="solid", color="black", weight=3]; 27.61/11.33 162[label="FiniteMap.splitLT (FiniteMap.Branch xux330 xux331 xux332 xux333 xux334) False",fontsize=16,color="black",shape="box"];162 -> 179[label="",style="solid", color="black", weight=3]; 27.61/11.33 163[label="FiniteMap.splitLT2 False xux31 xux32 xux33 xux34 True False",fontsize=16,color="black",shape="box"];163 -> 180[label="",style="solid", color="black", weight=3]; 27.61/11.33 164[label="FiniteMap.splitLT1 True xux31 xux32 xux33 xux34 True (compare2 True True (True == True) == GT)",fontsize=16,color="black",shape="box"];164 -> 181[label="",style="solid", color="black", weight=3]; 27.61/11.33 7041[label="EQ == LT",fontsize=16,color="black",shape="triangle"];7041 -> 7076[label="",style="solid", color="black", weight=3]; 27.61/11.33 7521[label="compare1 False True True == LT",fontsize=16,color="black",shape="box"];7521 -> 7566[label="",style="solid", color="black", weight=3]; 27.61/11.33 7522[label="compare1 True False False == LT",fontsize=16,color="black",shape="box"];7522 -> 7567[label="",style="solid", color="black", weight=3]; 27.61/11.33 7523[label="error []",fontsize=16,color="red",shape="box"];7524[label="error []",fontsize=16,color="red",shape="box"];7525[label="error []",fontsize=16,color="red",shape="box"];7526[label="primCmpInt (Pos (Succ xux48000)) xux475 == GT",fontsize=16,color="burlywood",shape="box"];9045[label="xux475/Pos xux4750",fontsize=10,color="white",style="solid",shape="box"];7526 -> 9045[label="",style="solid", color="burlywood", weight=9]; 27.61/11.33 9045 -> 7568[label="",style="solid", color="burlywood", weight=3]; 27.61/11.33 9046[label="xux475/Neg xux4750",fontsize=10,color="white",style="solid",shape="box"];7526 -> 9046[label="",style="solid", color="burlywood", weight=9]; 27.61/11.33 9046 -> 7569[label="",style="solid", color="burlywood", weight=3]; 27.61/11.33 7527[label="primCmpInt (Pos Zero) xux475 == GT",fontsize=16,color="burlywood",shape="box"];9047[label="xux475/Pos xux4750",fontsize=10,color="white",style="solid",shape="box"];7527 -> 9047[label="",style="solid", color="burlywood", weight=9]; 27.61/11.33 9047 -> 7570[label="",style="solid", color="burlywood", weight=3]; 27.61/11.33 9048[label="xux475/Neg xux4750",fontsize=10,color="white",style="solid",shape="box"];7527 -> 9048[label="",style="solid", color="burlywood", weight=9]; 27.61/11.33 9048 -> 7571[label="",style="solid", color="burlywood", weight=3]; 27.61/11.33 7528[label="primCmpInt (Neg (Succ xux48000)) xux475 == GT",fontsize=16,color="burlywood",shape="box"];9049[label="xux475/Pos xux4750",fontsize=10,color="white",style="solid",shape="box"];7528 -> 9049[label="",style="solid", color="burlywood", weight=9]; 27.61/11.33 9049 -> 7572[label="",style="solid", color="burlywood", weight=3]; 27.61/11.33 9050[label="xux475/Neg xux4750",fontsize=10,color="white",style="solid",shape="box"];7528 -> 9050[label="",style="solid", color="burlywood", weight=9]; 27.61/11.33 9050 -> 7573[label="",style="solid", color="burlywood", weight=3]; 27.61/11.33 7529[label="primCmpInt (Neg Zero) xux475 == GT",fontsize=16,color="burlywood",shape="box"];9051[label="xux475/Pos xux4750",fontsize=10,color="white",style="solid",shape="box"];7529 -> 9051[label="",style="solid", color="burlywood", weight=9]; 27.61/11.33 9051 -> 7574[label="",style="solid", color="burlywood", weight=3]; 27.61/11.33 9052[label="xux475/Neg xux4750",fontsize=10,color="white",style="solid",shape="box"];7529 -> 9052[label="",style="solid", color="burlywood", weight=9]; 27.61/11.33 9052 -> 7575[label="",style="solid", color="burlywood", weight=3]; 27.61/11.33 7530[label="error []",fontsize=16,color="red",shape="box"];7531[label="error []",fontsize=16,color="red",shape="box"];7532[label="compare2 False xux475 (False == xux475) == GT",fontsize=16,color="burlywood",shape="box"];9053[label="xux475/False",fontsize=10,color="white",style="solid",shape="box"];7532 -> 9053[label="",style="solid", color="burlywood", weight=9]; 27.61/11.33 9053 -> 7576[label="",style="solid", color="burlywood", weight=3]; 27.61/11.33 9054[label="xux475/True",fontsize=10,color="white",style="solid",shape="box"];7532 -> 9054[label="",style="solid", color="burlywood", weight=9]; 27.61/11.33 9054 -> 7577[label="",style="solid", color="burlywood", weight=3]; 27.61/11.33 7533[label="compare2 True xux475 (True == xux475) == GT",fontsize=16,color="burlywood",shape="box"];9055[label="xux475/False",fontsize=10,color="white",style="solid",shape="box"];7533 -> 9055[label="",style="solid", color="burlywood", weight=9]; 27.61/11.33 9055 -> 7578[label="",style="solid", color="burlywood", weight=3]; 27.61/11.33 9056[label="xux475/True",fontsize=10,color="white",style="solid",shape="box"];7533 -> 9056[label="",style="solid", color="burlywood", weight=9]; 27.61/11.33 9056 -> 7579[label="",style="solid", color="burlywood", weight=3]; 27.61/11.33 7534[label="error []",fontsize=16,color="red",shape="box"];7535[label="error []",fontsize=16,color="red",shape="box"];7536[label="error []",fontsize=16,color="red",shape="box"];7537[label="compare2 LT xux475 (LT == xux475) == GT",fontsize=16,color="burlywood",shape="box"];9057[label="xux475/LT",fontsize=10,color="white",style="solid",shape="box"];7537 -> 9057[label="",style="solid", color="burlywood", weight=9]; 27.61/11.33 9057 -> 7580[label="",style="solid", color="burlywood", weight=3]; 27.61/11.33 9058[label="xux475/EQ",fontsize=10,color="white",style="solid",shape="box"];7537 -> 9058[label="",style="solid", color="burlywood", weight=9]; 27.61/11.33 9058 -> 7581[label="",style="solid", color="burlywood", weight=3]; 27.61/11.33 9059[label="xux475/GT",fontsize=10,color="white",style="solid",shape="box"];7537 -> 9059[label="",style="solid", color="burlywood", weight=9]; 27.61/11.33 9059 -> 7582[label="",style="solid", color="burlywood", weight=3]; 27.61/11.33 7538[label="compare2 EQ xux475 (EQ == xux475) == GT",fontsize=16,color="burlywood",shape="box"];9060[label="xux475/LT",fontsize=10,color="white",style="solid",shape="box"];7538 -> 9060[label="",style="solid", color="burlywood", weight=9]; 27.61/11.33 9060 -> 7583[label="",style="solid", color="burlywood", weight=3]; 27.61/11.33 9061[label="xux475/EQ",fontsize=10,color="white",style="solid",shape="box"];7538 -> 9061[label="",style="solid", color="burlywood", weight=9]; 27.61/11.33 9061 -> 7584[label="",style="solid", color="burlywood", weight=3]; 27.61/11.33 9062[label="xux475/GT",fontsize=10,color="white",style="solid",shape="box"];7538 -> 9062[label="",style="solid", color="burlywood", weight=9]; 27.61/11.33 9062 -> 7585[label="",style="solid", color="burlywood", weight=3]; 27.61/11.33 7539[label="compare2 GT xux475 (GT == xux475) == GT",fontsize=16,color="burlywood",shape="box"];9063[label="xux475/LT",fontsize=10,color="white",style="solid",shape="box"];7539 -> 9063[label="",style="solid", color="burlywood", weight=9]; 27.61/11.33 9063 -> 7586[label="",style="solid", color="burlywood", weight=3]; 27.61/11.33 9064[label="xux475/EQ",fontsize=10,color="white",style="solid",shape="box"];7539 -> 9064[label="",style="solid", color="burlywood", weight=9]; 27.61/11.33 9064 -> 7587[label="",style="solid", color="burlywood", weight=3]; 27.61/11.33 9065[label="xux475/GT",fontsize=10,color="white",style="solid",shape="box"];7539 -> 9065[label="",style="solid", color="burlywood", weight=9]; 27.61/11.33 9065 -> 7588[label="",style="solid", color="burlywood", weight=3]; 27.61/11.33 7540[label="error []",fontsize=16,color="red",shape="box"];7541[label="error []",fontsize=16,color="red",shape="box"];7542[label="error []",fontsize=16,color="red",shape="box"];7543[label="FiniteMap.addToFM0 xux494 xux499",fontsize=16,color="black",shape="box"];7543 -> 7589[label="",style="solid", color="black", weight=3]; 27.61/11.33 7544[label="FiniteMap.mkBalBranch6MkBalBranch5 xux493 xux494 xux496 (FiniteMap.addToFM_C FiniteMap.addToFM0 xux497 xux498 xux499) xux493 xux494 xux496 (FiniteMap.addToFM_C FiniteMap.addToFM0 xux497 xux498 xux499) (compare (FiniteMap.mkBalBranch6Size_l xux493 xux494 xux496 (FiniteMap.addToFM_C FiniteMap.addToFM0 xux497 xux498 xux499) + FiniteMap.mkBalBranch6Size_r xux493 xux494 xux496 (FiniteMap.addToFM_C FiniteMap.addToFM0 xux497 xux498 xux499)) (Pos (Succ (Succ Zero))) == LT)",fontsize=16,color="black",shape="box"];7544 -> 7590[label="",style="solid", color="black", weight=3]; 27.61/11.33 7680[label="FiniteMap.addToFM_C FiniteMap.addToFM0 FiniteMap.EmptyFM xux480 xux481",fontsize=16,color="black",shape="box"];7680 -> 7738[label="",style="solid", color="black", weight=3]; 27.61/11.33 7681[label="FiniteMap.addToFM_C FiniteMap.addToFM0 (FiniteMap.Branch xux4780 xux4781 xux4782 xux4783 xux4784) xux480 xux481",fontsize=16,color="black",shape="box"];7681 -> 7739[label="",style="solid", color="black", weight=3]; 27.61/11.33 6805 -> 2054[label="",style="dashed", color="red", weight=0]; 27.61/11.33 6805[label="primPlusNat (primMulNat (Succ (Succ (Succ (Succ Zero)))) (Succ xux6200)) (Succ xux6200)",fontsize=16,color="magenta"];6805 -> 6816[label="",style="dashed", color="magenta", weight=3]; 27.61/11.33 6805 -> 6817[label="",style="dashed", color="magenta", weight=3]; 27.61/11.33 6804[label="primCmpInt (Pos xux446) (FiniteMap.mkVBalBranch3Size_r xux60 xux61 (Pos (Succ xux6200)) xux63 xux64 xux50 xux51 xux52 xux53 xux54) == LT",fontsize=16,color="burlywood",shape="triangle"];9066[label="xux446/Succ xux4460",fontsize=10,color="white",style="solid",shape="box"];6804 -> 9066[label="",style="solid", color="burlywood", weight=9]; 27.61/11.33 9066 -> 6818[label="",style="solid", color="burlywood", weight=3]; 27.61/11.33 9067[label="xux446/Zero",fontsize=10,color="white",style="solid",shape="box"];6804 -> 9067[label="",style="solid", color="burlywood", weight=9]; 27.61/11.33 9067 -> 6819[label="",style="solid", color="burlywood", weight=3]; 27.61/11.33 6806[label="primCmpInt (Pos Zero) (FiniteMap.sizeFM (FiniteMap.Branch xux50 xux51 xux52 xux53 xux54)) == LT",fontsize=16,color="black",shape="box"];6806 -> 6820[label="",style="solid", color="black", weight=3]; 27.61/11.33 6808 -> 2054[label="",style="dashed", color="red", weight=0]; 27.61/11.33 6808[label="primPlusNat (primMulNat (Succ (Succ (Succ (Succ Zero)))) (Succ xux6200)) (Succ xux6200)",fontsize=16,color="magenta"];6808 -> 6821[label="",style="dashed", color="magenta", weight=3]; 27.61/11.33 6808 -> 6822[label="",style="dashed", color="magenta", weight=3]; 27.61/11.33 6807[label="primCmpInt (Neg xux447) (FiniteMap.mkVBalBranch3Size_r xux60 xux61 (Neg (Succ xux6200)) xux63 xux64 xux50 xux51 xux52 xux53 xux54) == LT",fontsize=16,color="burlywood",shape="triangle"];9068[label="xux447/Succ xux4470",fontsize=10,color="white",style="solid",shape="box"];6807 -> 9068[label="",style="solid", color="burlywood", weight=9]; 27.61/11.33 9068 -> 6823[label="",style="solid", color="burlywood", weight=3]; 27.61/11.33 9069[label="xux447/Zero",fontsize=10,color="white",style="solid",shape="box"];6807 -> 9069[label="",style="solid", color="burlywood", weight=9]; 27.61/11.33 9069 -> 6824[label="",style="solid", color="burlywood", weight=3]; 27.61/11.33 6809[label="primCmpInt (Neg Zero) (FiniteMap.sizeFM (FiniteMap.Branch xux50 xux51 xux52 xux53 xux54)) == LT",fontsize=16,color="black",shape="box"];6809 -> 6920[label="",style="solid", color="black", weight=3]; 27.61/11.33 6810[label="FiniteMap.mkVBalBranch3MkVBalBranch1 xux1340 xux1341 xux1342 xux1343 xux1344 xux1380 xux1381 (Pos (Succ xux138200)) xux1383 xux1384 xux140 xux141 xux1340 xux1341 xux1342 xux1343 xux1344 xux1380 xux1381 (Pos (Succ xux138200)) xux1383 xux1384 (primCmpInt (Pos (primMulNat (Succ (Succ (Succ (Succ (Succ Zero))))) (Succ xux138200))) (FiniteMap.mkVBalBranch3Size_l xux1340 xux1341 xux1342 xux1343 xux1344 xux1380 xux1381 (Pos (Succ xux138200)) xux1383 xux1384) == LT)",fontsize=16,color="black",shape="box"];6810 -> 6921[label="",style="solid", color="black", weight=3]; 27.61/11.34 6811[label="FiniteMap.mkVBalBranch3MkVBalBranch1 xux1340 xux1341 xux1342 xux1343 xux1344 xux1380 xux1381 (Pos Zero) xux1383 xux1384 xux140 xux141 xux1340 xux1341 xux1342 xux1343 xux1344 xux1380 xux1381 (Pos Zero) xux1383 xux1384 (primCmpInt (Pos (primMulNat (Succ (Succ (Succ (Succ (Succ Zero))))) Zero)) (FiniteMap.mkVBalBranch3Size_l xux1340 xux1341 xux1342 xux1343 xux1344 xux1380 xux1381 (Pos Zero) xux1383 xux1384) == LT)",fontsize=16,color="black",shape="box"];6811 -> 6922[label="",style="solid", color="black", weight=3]; 27.61/11.34 6812[label="FiniteMap.mkVBalBranch3MkVBalBranch1 xux1340 xux1341 xux1342 xux1343 xux1344 xux1380 xux1381 (Neg (Succ xux138200)) xux1383 xux1384 xux140 xux141 xux1340 xux1341 xux1342 xux1343 xux1344 xux1380 xux1381 (Neg (Succ xux138200)) xux1383 xux1384 (primCmpInt (Neg (primMulNat (Succ (Succ (Succ (Succ (Succ Zero))))) (Succ xux138200))) (FiniteMap.mkVBalBranch3Size_l xux1340 xux1341 xux1342 xux1343 xux1344 xux1380 xux1381 (Neg (Succ xux138200)) xux1383 xux1384) == LT)",fontsize=16,color="black",shape="box"];6812 -> 6923[label="",style="solid", color="black", weight=3]; 27.61/11.34 6813[label="FiniteMap.mkVBalBranch3MkVBalBranch1 xux1340 xux1341 xux1342 xux1343 xux1344 xux1380 xux1381 (Neg Zero) xux1383 xux1384 xux140 xux141 xux1340 xux1341 xux1342 xux1343 xux1344 xux1380 xux1381 (Neg Zero) xux1383 xux1384 (primCmpInt (Neg (primMulNat (Succ (Succ (Succ (Succ (Succ Zero))))) Zero)) (FiniteMap.mkVBalBranch3Size_l xux1340 xux1341 xux1342 xux1343 xux1344 xux1380 xux1381 (Neg Zero) xux1383 xux1384) == LT)",fontsize=16,color="black",shape="box"];6813 -> 6924[label="",style="solid", color="black", weight=3]; 27.61/11.34 7824 -> 7670[label="",style="dashed", color="red", weight=0]; 27.61/11.34 7824[label="FiniteMap.addToFM_C FiniteMap.addToFM0 (FiniteMap.Branch xux1340 xux1341 xux1342 xux1343 xux1344) xux140 xux141",fontsize=16,color="magenta"];7824 -> 7859[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7824 -> 7860[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7824 -> 7861[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7825[label="xux13831",fontsize=16,color="green",shape="box"];7826[label="xux13834",fontsize=16,color="green",shape="box"];7827[label="xux13833",fontsize=16,color="green",shape="box"];7828[label="xux13830",fontsize=16,color="green",shape="box"];7829[label="FiniteMap.sIZE_RATIO * FiniteMap.mkVBalBranch3Size_l xux1340 xux1341 xux1342 xux1343 xux1344 xux13830 xux13831 xux13832 xux13833 xux13834 < FiniteMap.mkVBalBranch3Size_r xux1340 xux1341 xux1342 xux1343 xux1344 xux13830 xux13831 xux13832 xux13833 xux13834",fontsize=16,color="black",shape="box"];7829 -> 7862[label="",style="solid", color="black", weight=3]; 27.61/11.34 7830[label="xux13832",fontsize=16,color="green",shape="box"];7831 -> 8033[label="",style="dashed", color="red", weight=0]; 27.61/11.34 7831[label="FiniteMap.mkBalBranch6MkBalBranch5 xux493 xux494 FiniteMap.EmptyFM xux558 xux493 xux494 FiniteMap.EmptyFM xux557 (primCmpInt (primPlusInt (Pos Zero) (FiniteMap.mkBalBranch6Size_r xux493 xux494 FiniteMap.EmptyFM xux559)) (Pos (Succ (Succ Zero))) == LT)",fontsize=16,color="magenta"];7831 -> 8034[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7832[label="FiniteMap.mkBalBranch6MkBalBranch5 xux493 xux494 (FiniteMap.Branch xux4960 xux4961 xux4962 xux4963 xux4964) xux558 xux493 xux494 (FiniteMap.Branch xux4960 xux4961 xux4962 xux4963 xux4964) xux557 (primCmpInt (primPlusInt xux4962 (FiniteMap.mkBalBranch6Size_r xux493 xux494 (FiniteMap.Branch xux4960 xux4961 xux4962 xux4963 xux4964) xux559)) (Pos (Succ (Succ Zero))) == LT)",fontsize=16,color="burlywood",shape="box"];9070[label="xux4962/Pos xux49620",fontsize=10,color="white",style="solid",shape="box"];7832 -> 9070[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9070 -> 7864[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 9071[label="xux4962/Neg xux49620",fontsize=10,color="white",style="solid",shape="box"];7832 -> 9071[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9071 -> 7865[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 173[label="FiniteMap.splitGT1 False xux31 xux32 xux33 xux34 False (compare2 False False True == LT)",fontsize=16,color="black",shape="box"];173 -> 192[label="",style="solid", color="black", weight=3]; 27.61/11.34 174[label="FiniteMap.splitGT1 True xux31 xux32 xux33 xux34 False (compare3 False True == LT)",fontsize=16,color="black",shape="box"];174 -> 193[label="",style="solid", color="black", weight=3]; 27.61/11.34 175[label="FiniteMap.splitGT xux34 True",fontsize=16,color="burlywood",shape="box"];9072[label="xux34/FiniteMap.EmptyFM",fontsize=10,color="white",style="solid",shape="box"];175 -> 9072[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9072 -> 194[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 9073[label="xux34/FiniteMap.Branch xux340 xux341 xux342 xux343 xux344",fontsize=10,color="white",style="solid",shape="box"];175 -> 9073[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9073 -> 195[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 176[label="FiniteMap.splitGT1 True xux31 xux32 xux33 xux34 True (compare2 True True True == LT)",fontsize=16,color="black",shape="box"];176 -> 196[label="",style="solid", color="black", weight=3]; 27.61/11.34 177[label="FiniteMap.splitLT1 False xux31 xux32 xux33 xux34 False (compare2 False False True == GT)",fontsize=16,color="black",shape="box"];177 -> 197[label="",style="solid", color="black", weight=3]; 27.61/11.34 178[label="FiniteMap.splitLT4 FiniteMap.EmptyFM False",fontsize=16,color="black",shape="box"];178 -> 198[label="",style="solid", color="black", weight=3]; 27.61/11.34 179 -> 27[label="",style="dashed", color="red", weight=0]; 27.61/11.34 179[label="FiniteMap.splitLT3 (FiniteMap.Branch xux330 xux331 xux332 xux333 xux334) False",fontsize=16,color="magenta"];179 -> 199[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 179 -> 200[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 179 -> 201[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 179 -> 202[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 179 -> 203[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 179 -> 204[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 180[label="FiniteMap.splitLT1 False xux31 xux32 xux33 xux34 True (True > False)",fontsize=16,color="black",shape="box"];180 -> 205[label="",style="solid", color="black", weight=3]; 27.61/11.34 181[label="FiniteMap.splitLT1 True xux31 xux32 xux33 xux34 True (compare2 True True True == GT)",fontsize=16,color="black",shape="box"];181 -> 206[label="",style="solid", color="black", weight=3]; 27.61/11.34 7076[label="False",fontsize=16,color="green",shape="box"];7566 -> 7046[label="",style="dashed", color="red", weight=0]; 27.61/11.34 7566[label="LT == LT",fontsize=16,color="magenta"];7567[label="compare0 True False otherwise == LT",fontsize=16,color="black",shape="box"];7567 -> 7632[label="",style="solid", color="black", weight=3]; 27.61/11.34 7568[label="primCmpInt (Pos (Succ xux48000)) (Pos xux4750) == GT",fontsize=16,color="black",shape="box"];7568 -> 7633[label="",style="solid", color="black", weight=3]; 27.61/11.34 7569[label="primCmpInt (Pos (Succ xux48000)) (Neg xux4750) == GT",fontsize=16,color="black",shape="box"];7569 -> 7634[label="",style="solid", color="black", weight=3]; 27.61/11.34 7570[label="primCmpInt (Pos Zero) (Pos xux4750) == GT",fontsize=16,color="burlywood",shape="box"];9074[label="xux4750/Succ xux47500",fontsize=10,color="white",style="solid",shape="box"];7570 -> 9074[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9074 -> 7635[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 9075[label="xux4750/Zero",fontsize=10,color="white",style="solid",shape="box"];7570 -> 9075[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9075 -> 7636[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 7571[label="primCmpInt (Pos Zero) (Neg xux4750) == GT",fontsize=16,color="burlywood",shape="box"];9076[label="xux4750/Succ xux47500",fontsize=10,color="white",style="solid",shape="box"];7571 -> 9076[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9076 -> 7637[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 9077[label="xux4750/Zero",fontsize=10,color="white",style="solid",shape="box"];7571 -> 9077[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9077 -> 7638[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 7572[label="primCmpInt (Neg (Succ xux48000)) (Pos xux4750) == GT",fontsize=16,color="black",shape="box"];7572 -> 7639[label="",style="solid", color="black", weight=3]; 27.61/11.34 7573[label="primCmpInt (Neg (Succ xux48000)) (Neg xux4750) == GT",fontsize=16,color="black",shape="box"];7573 -> 7640[label="",style="solid", color="black", weight=3]; 27.61/11.34 7574[label="primCmpInt (Neg Zero) (Pos xux4750) == GT",fontsize=16,color="burlywood",shape="box"];9078[label="xux4750/Succ xux47500",fontsize=10,color="white",style="solid",shape="box"];7574 -> 9078[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9078 -> 7641[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 9079[label="xux4750/Zero",fontsize=10,color="white",style="solid",shape="box"];7574 -> 9079[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9079 -> 7642[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 7575[label="primCmpInt (Neg Zero) (Neg xux4750) == GT",fontsize=16,color="burlywood",shape="box"];9080[label="xux4750/Succ xux47500",fontsize=10,color="white",style="solid",shape="box"];7575 -> 9080[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9080 -> 7643[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 9081[label="xux4750/Zero",fontsize=10,color="white",style="solid",shape="box"];7575 -> 9081[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9081 -> 7644[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 7576[label="compare2 False False (False == False) == GT",fontsize=16,color="black",shape="box"];7576 -> 7645[label="",style="solid", color="black", weight=3]; 27.61/11.34 7577[label="compare2 False True (False == True) == GT",fontsize=16,color="black",shape="box"];7577 -> 7646[label="",style="solid", color="black", weight=3]; 27.61/11.34 7578[label="compare2 True False (True == False) == GT",fontsize=16,color="black",shape="box"];7578 -> 7647[label="",style="solid", color="black", weight=3]; 27.61/11.34 7579[label="compare2 True True (True == True) == GT",fontsize=16,color="black",shape="box"];7579 -> 7648[label="",style="solid", color="black", weight=3]; 27.61/11.34 7580[label="compare2 LT LT (LT == LT) == GT",fontsize=16,color="black",shape="box"];7580 -> 7649[label="",style="solid", color="black", weight=3]; 27.61/11.34 7581[label="compare2 LT EQ (LT == EQ) == GT",fontsize=16,color="black",shape="box"];7581 -> 7650[label="",style="solid", color="black", weight=3]; 27.61/11.34 7582[label="compare2 LT GT (LT == GT) == GT",fontsize=16,color="black",shape="box"];7582 -> 7651[label="",style="solid", color="black", weight=3]; 27.61/11.34 7583[label="compare2 EQ LT (EQ == LT) == GT",fontsize=16,color="black",shape="box"];7583 -> 7652[label="",style="solid", color="black", weight=3]; 27.61/11.34 7584[label="compare2 EQ EQ (EQ == EQ) == GT",fontsize=16,color="black",shape="box"];7584 -> 7653[label="",style="solid", color="black", weight=3]; 27.61/11.34 7585[label="compare2 EQ GT (EQ == GT) == GT",fontsize=16,color="black",shape="box"];7585 -> 7654[label="",style="solid", color="black", weight=3]; 27.61/11.34 7586[label="compare2 GT LT (GT == LT) == GT",fontsize=16,color="black",shape="box"];7586 -> 7655[label="",style="solid", color="black", weight=3]; 27.61/11.34 7587[label="compare2 GT EQ (GT == EQ) == GT",fontsize=16,color="black",shape="box"];7587 -> 7656[label="",style="solid", color="black", weight=3]; 27.61/11.34 7588[label="compare2 GT GT (GT == GT) == GT",fontsize=16,color="black",shape="box"];7588 -> 7657[label="",style="solid", color="black", weight=3]; 27.61/11.34 7589[label="xux499",fontsize=16,color="green",shape="box"];7590 -> 7658[label="",style="dashed", color="red", weight=0]; 27.61/11.34 7590[label="FiniteMap.mkBalBranch6MkBalBranch5 xux493 xux494 xux496 (FiniteMap.addToFM_C FiniteMap.addToFM0 xux497 xux498 xux499) xux493 xux494 xux496 (FiniteMap.addToFM_C FiniteMap.addToFM0 xux497 xux498 xux499) (primCmpInt (FiniteMap.mkBalBranch6Size_l xux493 xux494 xux496 (FiniteMap.addToFM_C FiniteMap.addToFM0 xux497 xux498 xux499) + FiniteMap.mkBalBranch6Size_r xux493 xux494 xux496 (FiniteMap.addToFM_C FiniteMap.addToFM0 xux497 xux498 xux499)) (Pos (Succ (Succ Zero))) == LT)",fontsize=16,color="magenta"];7590 -> 7673[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7590 -> 7674[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7590 -> 7675[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7590 -> 7676[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7738[label="FiniteMap.addToFM_C4 FiniteMap.addToFM0 FiniteMap.EmptyFM xux480 xux481",fontsize=16,color="black",shape="box"];7738 -> 7799[label="",style="solid", color="black", weight=3]; 27.61/11.34 7739[label="FiniteMap.addToFM_C3 FiniteMap.addToFM0 (FiniteMap.Branch xux4780 xux4781 xux4782 xux4783 xux4784) xux480 xux481",fontsize=16,color="black",shape="box"];7739 -> 7800[label="",style="solid", color="black", weight=3]; 27.61/11.34 6816[label="Succ xux6200",fontsize=16,color="green",shape="box"];6817[label="primMulNat (Succ (Succ (Succ (Succ Zero)))) (Succ xux6200)",fontsize=16,color="black",shape="triangle"];6817 -> 6962[label="",style="solid", color="black", weight=3]; 27.61/11.34 2054[label="primPlusNat xux210 xux11",fontsize=16,color="burlywood",shape="triangle"];9082[label="xux210/Succ xux2100",fontsize=10,color="white",style="solid",shape="box"];2054 -> 9082[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9082 -> 2159[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 9083[label="xux210/Zero",fontsize=10,color="white",style="solid",shape="box"];2054 -> 9083[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9083 -> 2160[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 6818[label="primCmpInt (Pos (Succ xux4460)) (FiniteMap.mkVBalBranch3Size_r xux60 xux61 (Pos (Succ xux6200)) xux63 xux64 xux50 xux51 xux52 xux53 xux54) == LT",fontsize=16,color="black",shape="box"];6818 -> 6963[label="",style="solid", color="black", weight=3]; 27.61/11.34 6819[label="primCmpInt (Pos Zero) (FiniteMap.mkVBalBranch3Size_r xux60 xux61 (Pos (Succ xux6200)) xux63 xux64 xux50 xux51 xux52 xux53 xux54) == LT",fontsize=16,color="black",shape="box"];6819 -> 6964[label="",style="solid", color="black", weight=3]; 27.61/11.34 6820[label="primCmpInt (Pos Zero) xux52 == LT",fontsize=16,color="burlywood",shape="triangle"];9084[label="xux52/Pos xux520",fontsize=10,color="white",style="solid",shape="box"];6820 -> 9084[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9084 -> 6965[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 9085[label="xux52/Neg xux520",fontsize=10,color="white",style="solid",shape="box"];6820 -> 9085[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9085 -> 6966[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 6821[label="Succ xux6200",fontsize=16,color="green",shape="box"];6822 -> 6817[label="",style="dashed", color="red", weight=0]; 27.61/11.34 6822[label="primMulNat (Succ (Succ (Succ (Succ Zero)))) (Succ xux6200)",fontsize=16,color="magenta"];6822 -> 6967[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 6823[label="primCmpInt (Neg (Succ xux4470)) (FiniteMap.mkVBalBranch3Size_r xux60 xux61 (Neg (Succ xux6200)) xux63 xux64 xux50 xux51 xux52 xux53 xux54) == LT",fontsize=16,color="black",shape="box"];6823 -> 6968[label="",style="solid", color="black", weight=3]; 27.61/11.34 6824[label="primCmpInt (Neg Zero) (FiniteMap.mkVBalBranch3Size_r xux60 xux61 (Neg (Succ xux6200)) xux63 xux64 xux50 xux51 xux52 xux53 xux54) == LT",fontsize=16,color="black",shape="box"];6824 -> 6969[label="",style="solid", color="black", weight=3]; 27.61/11.34 6920[label="primCmpInt (Neg Zero) xux52 == LT",fontsize=16,color="burlywood",shape="triangle"];9086[label="xux52/Pos xux520",fontsize=10,color="white",style="solid",shape="box"];6920 -> 9086[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9086 -> 6970[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 9087[label="xux52/Neg xux520",fontsize=10,color="white",style="solid",shape="box"];6920 -> 9087[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9087 -> 6971[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 6921 -> 7082[label="",style="dashed", color="red", weight=0]; 27.61/11.34 6921[label="FiniteMap.mkVBalBranch3MkVBalBranch1 xux1340 xux1341 xux1342 xux1343 xux1344 xux1380 xux1381 (Pos (Succ xux138200)) xux1383 xux1384 xux140 xux141 xux1340 xux1341 xux1342 xux1343 xux1344 xux1380 xux1381 (Pos (Succ xux138200)) xux1383 xux1384 (primCmpInt (Pos (primPlusNat (primMulNat (Succ (Succ (Succ (Succ Zero)))) (Succ xux138200)) (Succ xux138200))) (FiniteMap.mkVBalBranch3Size_l xux1340 xux1341 xux1342 xux1343 xux1344 xux1380 xux1381 (Pos (Succ xux138200)) xux1383 xux1384) == LT)",fontsize=16,color="magenta"];6921 -> 7083[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 6922 -> 6978[label="",style="dashed", color="red", weight=0]; 27.61/11.34 6922[label="FiniteMap.mkVBalBranch3MkVBalBranch1 xux1340 xux1341 xux1342 xux1343 xux1344 xux1380 xux1381 (Pos Zero) xux1383 xux1384 xux140 xux141 xux1340 xux1341 xux1342 xux1343 xux1344 xux1380 xux1381 (Pos Zero) xux1383 xux1384 (primCmpInt (Pos Zero) (FiniteMap.mkVBalBranch3Size_l xux1340 xux1341 xux1342 xux1343 xux1344 xux1380 xux1381 (Pos Zero) xux1383 xux1384) == LT)",fontsize=16,color="magenta"];6922 -> 6979[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 6923 -> 7098[label="",style="dashed", color="red", weight=0]; 27.61/11.34 6923[label="FiniteMap.mkVBalBranch3MkVBalBranch1 xux1340 xux1341 xux1342 xux1343 xux1344 xux1380 xux1381 (Neg (Succ xux138200)) xux1383 xux1384 xux140 xux141 xux1340 xux1341 xux1342 xux1343 xux1344 xux1380 xux1381 (Neg (Succ xux138200)) xux1383 xux1384 (primCmpInt (Neg (primPlusNat (primMulNat (Succ (Succ (Succ (Succ Zero)))) (Succ xux138200)) (Succ xux138200))) (FiniteMap.mkVBalBranch3Size_l xux1340 xux1341 xux1342 xux1343 xux1344 xux1380 xux1381 (Neg (Succ xux138200)) xux1383 xux1384) == LT)",fontsize=16,color="magenta"];6923 -> 7099[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 6924 -> 6987[label="",style="dashed", color="red", weight=0]; 27.61/11.34 6924[label="FiniteMap.mkVBalBranch3MkVBalBranch1 xux1340 xux1341 xux1342 xux1343 xux1344 xux1380 xux1381 (Neg Zero) xux1383 xux1384 xux140 xux141 xux1340 xux1341 xux1342 xux1343 xux1344 xux1380 xux1381 (Neg Zero) xux1383 xux1384 (primCmpInt (Neg Zero) (FiniteMap.mkVBalBranch3Size_l xux1340 xux1341 xux1342 xux1343 xux1344 xux1380 xux1381 (Neg Zero) xux1383 xux1384) == LT)",fontsize=16,color="magenta"];6924 -> 6988[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7859[label="xux140",fontsize=16,color="green",shape="box"];7860[label="FiniteMap.Branch xux1340 xux1341 xux1342 xux1343 xux1344",fontsize=16,color="green",shape="box"];7861[label="xux141",fontsize=16,color="green",shape="box"];7862[label="compare (FiniteMap.sIZE_RATIO * FiniteMap.mkVBalBranch3Size_l xux1340 xux1341 xux1342 xux1343 xux1344 xux13830 xux13831 xux13832 xux13833 xux13834) (FiniteMap.mkVBalBranch3Size_r xux1340 xux1341 xux1342 xux1343 xux1344 xux13830 xux13831 xux13832 xux13833 xux13834) == LT",fontsize=16,color="black",shape="box"];7862 -> 7935[label="",style="solid", color="black", weight=3]; 27.61/11.34 8034 -> 7992[label="",style="dashed", color="red", weight=0]; 27.61/11.34 8034[label="primCmpInt (primPlusInt (Pos Zero) (FiniteMap.mkBalBranch6Size_r xux493 xux494 FiniteMap.EmptyFM xux559)) (Pos (Succ (Succ Zero))) == LT",fontsize=16,color="magenta"];8034 -> 8039[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8034 -> 8040[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8033[label="FiniteMap.mkBalBranch6MkBalBranch5 xux493 xux494 FiniteMap.EmptyFM xux558 xux493 xux494 FiniteMap.EmptyFM xux557 xux562",fontsize=16,color="burlywood",shape="triangle"];9088[label="xux562/False",fontsize=10,color="white",style="solid",shape="box"];8033 -> 9088[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9088 -> 8041[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 9089[label="xux562/True",fontsize=10,color="white",style="solid",shape="box"];8033 -> 9089[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9089 -> 8042[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 7864[label="FiniteMap.mkBalBranch6MkBalBranch5 xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Pos xux49620) xux4963 xux4964) xux558 xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Pos xux49620) xux4963 xux4964) xux557 (primCmpInt (primPlusInt (Pos xux49620) (FiniteMap.mkBalBranch6Size_r xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Pos xux49620) xux4963 xux4964) xux559)) (Pos (Succ (Succ Zero))) == LT)",fontsize=16,color="black",shape="box"];7864 -> 7938[label="",style="solid", color="black", weight=3]; 27.61/11.34 7865[label="FiniteMap.mkBalBranch6MkBalBranch5 xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Neg xux49620) xux4963 xux4964) xux558 xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Neg xux49620) xux4963 xux4964) xux557 (primCmpInt (primPlusInt (Neg xux49620) (FiniteMap.mkBalBranch6Size_r xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Neg xux49620) xux4963 xux4964) xux559)) (Pos (Succ (Succ Zero))) == LT)",fontsize=16,color="black",shape="box"];7865 -> 7939[label="",style="solid", color="black", weight=3]; 27.61/11.34 192[label="FiniteMap.splitGT1 False xux31 xux32 xux33 xux34 False (EQ == LT)",fontsize=16,color="black",shape="box"];192 -> 221[label="",style="solid", color="black", weight=3]; 27.61/11.34 193[label="FiniteMap.splitGT1 True xux31 xux32 xux33 xux34 False (compare2 False True (False == True) == LT)",fontsize=16,color="black",shape="box"];193 -> 222[label="",style="solid", color="black", weight=3]; 27.61/11.34 194[label="FiniteMap.splitGT FiniteMap.EmptyFM True",fontsize=16,color="black",shape="box"];194 -> 223[label="",style="solid", color="black", weight=3]; 27.61/11.34 195[label="FiniteMap.splitGT (FiniteMap.Branch xux340 xux341 xux342 xux343 xux344) True",fontsize=16,color="black",shape="box"];195 -> 224[label="",style="solid", color="black", weight=3]; 27.61/11.34 196[label="FiniteMap.splitGT1 True xux31 xux32 xux33 xux34 True (EQ == LT)",fontsize=16,color="black",shape="box"];196 -> 225[label="",style="solid", color="black", weight=3]; 27.61/11.34 197[label="FiniteMap.splitLT1 False xux31 xux32 xux33 xux34 False (EQ == GT)",fontsize=16,color="black",shape="box"];197 -> 226[label="",style="solid", color="black", weight=3]; 27.61/11.34 198 -> 67[label="",style="dashed", color="red", weight=0]; 27.61/11.34 198[label="FiniteMap.emptyFM",fontsize=16,color="magenta"];199[label="xux334",fontsize=16,color="green",shape="box"];200[label="xux333",fontsize=16,color="green",shape="box"];201[label="False",fontsize=16,color="green",shape="box"];202[label="xux330",fontsize=16,color="green",shape="box"];203[label="xux332",fontsize=16,color="green",shape="box"];204[label="xux331",fontsize=16,color="green",shape="box"];205[label="FiniteMap.splitLT1 False xux31 xux32 xux33 xux34 True (compare True False == GT)",fontsize=16,color="black",shape="box"];205 -> 227[label="",style="solid", color="black", weight=3]; 27.61/11.34 206[label="FiniteMap.splitLT1 True xux31 xux32 xux33 xux34 True (EQ == GT)",fontsize=16,color="black",shape="box"];206 -> 228[label="",style="solid", color="black", weight=3]; 27.61/11.34 7046[label="LT == LT",fontsize=16,color="black",shape="triangle"];7046 -> 7080[label="",style="solid", color="black", weight=3]; 27.61/11.34 7632[label="compare0 True False True == LT",fontsize=16,color="black",shape="box"];7632 -> 7682[label="",style="solid", color="black", weight=3]; 27.61/11.34 7633[label="primCmpNat (Succ xux48000) xux4750 == GT",fontsize=16,color="burlywood",shape="triangle"];9090[label="xux4750/Succ xux47500",fontsize=10,color="white",style="solid",shape="box"];7633 -> 9090[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9090 -> 7683[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 9091[label="xux4750/Zero",fontsize=10,color="white",style="solid",shape="box"];7633 -> 9091[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9091 -> 7684[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 7634[label="GT == GT",fontsize=16,color="black",shape="triangle"];7634 -> 7685[label="",style="solid", color="black", weight=3]; 27.61/11.34 7635[label="primCmpInt (Pos Zero) (Pos (Succ xux47500)) == GT",fontsize=16,color="black",shape="box"];7635 -> 7686[label="",style="solid", color="black", weight=3]; 27.61/11.34 7636[label="primCmpInt (Pos Zero) (Pos Zero) == GT",fontsize=16,color="black",shape="box"];7636 -> 7687[label="",style="solid", color="black", weight=3]; 27.61/11.34 7637[label="primCmpInt (Pos Zero) (Neg (Succ xux47500)) == GT",fontsize=16,color="black",shape="box"];7637 -> 7688[label="",style="solid", color="black", weight=3]; 27.61/11.34 7638[label="primCmpInt (Pos Zero) (Neg Zero) == GT",fontsize=16,color="black",shape="box"];7638 -> 7689[label="",style="solid", color="black", weight=3]; 27.61/11.34 7639[label="LT == GT",fontsize=16,color="black",shape="triangle"];7639 -> 7690[label="",style="solid", color="black", weight=3]; 27.61/11.34 7640[label="primCmpNat xux4750 (Succ xux48000) == GT",fontsize=16,color="burlywood",shape="triangle"];9092[label="xux4750/Succ xux47500",fontsize=10,color="white",style="solid",shape="box"];7640 -> 9092[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9092 -> 7691[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 9093[label="xux4750/Zero",fontsize=10,color="white",style="solid",shape="box"];7640 -> 9093[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9093 -> 7692[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 7641[label="primCmpInt (Neg Zero) (Pos (Succ xux47500)) == GT",fontsize=16,color="black",shape="box"];7641 -> 7693[label="",style="solid", color="black", weight=3]; 27.61/11.34 7642[label="primCmpInt (Neg Zero) (Pos Zero) == GT",fontsize=16,color="black",shape="box"];7642 -> 7694[label="",style="solid", color="black", weight=3]; 27.61/11.34 7643[label="primCmpInt (Neg Zero) (Neg (Succ xux47500)) == GT",fontsize=16,color="black",shape="box"];7643 -> 7695[label="",style="solid", color="black", weight=3]; 27.61/11.34 7644[label="primCmpInt (Neg Zero) (Neg Zero) == GT",fontsize=16,color="black",shape="box"];7644 -> 7696[label="",style="solid", color="black", weight=3]; 27.61/11.34 7645[label="compare2 False False True == GT",fontsize=16,color="black",shape="box"];7645 -> 7697[label="",style="solid", color="black", weight=3]; 27.61/11.34 7646[label="compare2 False True False == GT",fontsize=16,color="black",shape="box"];7646 -> 7698[label="",style="solid", color="black", weight=3]; 27.61/11.34 7647[label="compare2 True False False == GT",fontsize=16,color="black",shape="box"];7647 -> 7699[label="",style="solid", color="black", weight=3]; 27.61/11.34 7648[label="compare2 True True True == GT",fontsize=16,color="black",shape="box"];7648 -> 7700[label="",style="solid", color="black", weight=3]; 27.61/11.34 7649[label="compare2 LT LT True == GT",fontsize=16,color="black",shape="box"];7649 -> 7701[label="",style="solid", color="black", weight=3]; 27.61/11.34 7650[label="compare2 LT EQ False == GT",fontsize=16,color="black",shape="box"];7650 -> 7702[label="",style="solid", color="black", weight=3]; 27.61/11.34 7651[label="compare2 LT GT False == GT",fontsize=16,color="black",shape="box"];7651 -> 7703[label="",style="solid", color="black", weight=3]; 27.61/11.34 7652[label="compare2 EQ LT False == GT",fontsize=16,color="black",shape="box"];7652 -> 7704[label="",style="solid", color="black", weight=3]; 27.61/11.34 7653[label="compare2 EQ EQ True == GT",fontsize=16,color="black",shape="box"];7653 -> 7705[label="",style="solid", color="black", weight=3]; 27.61/11.34 7654[label="compare2 EQ GT False == GT",fontsize=16,color="black",shape="box"];7654 -> 7706[label="",style="solid", color="black", weight=3]; 27.61/11.34 7655[label="compare2 GT LT False == GT",fontsize=16,color="black",shape="box"];7655 -> 7707[label="",style="solid", color="black", weight=3]; 27.61/11.34 7656[label="compare2 GT EQ False == GT",fontsize=16,color="black",shape="box"];7656 -> 7708[label="",style="solid", color="black", weight=3]; 27.61/11.34 7657[label="compare2 GT GT True == GT",fontsize=16,color="black",shape="box"];7657 -> 7709[label="",style="solid", color="black", weight=3]; 27.61/11.34 7673 -> 7670[label="",style="dashed", color="red", weight=0]; 27.61/11.34 7673[label="FiniteMap.addToFM_C FiniteMap.addToFM0 xux497 xux498 xux499",fontsize=16,color="magenta"];7673 -> 7710[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7673 -> 7711[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7673 -> 7712[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7674 -> 7670[label="",style="dashed", color="red", weight=0]; 27.61/11.34 7674[label="FiniteMap.addToFM_C FiniteMap.addToFM0 xux497 xux498 xux499",fontsize=16,color="magenta"];7674 -> 7713[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7674 -> 7714[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7674 -> 7715[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7675 -> 7670[label="",style="dashed", color="red", weight=0]; 27.61/11.34 7675[label="FiniteMap.addToFM_C FiniteMap.addToFM0 xux497 xux498 xux499",fontsize=16,color="magenta"];7675 -> 7716[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7675 -> 7717[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7675 -> 7718[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7676 -> 7670[label="",style="dashed", color="red", weight=0]; 27.61/11.34 7676[label="FiniteMap.addToFM_C FiniteMap.addToFM0 xux497 xux498 xux499",fontsize=16,color="magenta"];7676 -> 7719[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7676 -> 7720[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7676 -> 7721[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7799[label="FiniteMap.unitFM xux480 xux481",fontsize=16,color="black",shape="box"];7799 -> 7833[label="",style="solid", color="black", weight=3]; 27.61/11.34 7800 -> 7118[label="",style="dashed", color="red", weight=0]; 27.61/11.34 7800[label="FiniteMap.addToFM_C2 FiniteMap.addToFM0 xux4780 xux4781 xux4782 xux4783 xux4784 xux480 xux481 (xux480 < xux4780)",fontsize=16,color="magenta"];7800 -> 7834[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7800 -> 7835[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7800 -> 7836[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7800 -> 7837[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7800 -> 7838[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7800 -> 7839[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 6962 -> 2054[label="",style="dashed", color="red", weight=0]; 27.61/11.34 6962[label="primPlusNat (primMulNat (Succ (Succ (Succ Zero))) (Succ xux6200)) (Succ xux6200)",fontsize=16,color="magenta"];6962 -> 7000[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 6962 -> 7001[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 2159[label="primPlusNat (Succ xux2100) xux11",fontsize=16,color="burlywood",shape="box"];9094[label="xux11/Succ xux110",fontsize=10,color="white",style="solid",shape="box"];2159 -> 9094[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9094 -> 2244[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 9095[label="xux11/Zero",fontsize=10,color="white",style="solid",shape="box"];2159 -> 9095[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9095 -> 2245[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 2160[label="primPlusNat Zero xux11",fontsize=16,color="burlywood",shape="box"];9096[label="xux11/Succ xux110",fontsize=10,color="white",style="solid",shape="box"];2160 -> 9096[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9096 -> 2246[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 9097[label="xux11/Zero",fontsize=10,color="white",style="solid",shape="box"];2160 -> 9097[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9097 -> 2247[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 6963[label="primCmpInt (Pos (Succ xux4460)) (FiniteMap.sizeFM (FiniteMap.Branch xux50 xux51 xux52 xux53 xux54)) == LT",fontsize=16,color="black",shape="box"];6963 -> 7002[label="",style="solid", color="black", weight=3]; 27.61/11.34 6964 -> 6820[label="",style="dashed", color="red", weight=0]; 27.61/11.34 6964[label="primCmpInt (Pos Zero) (FiniteMap.sizeFM (FiniteMap.Branch xux50 xux51 xux52 xux53 xux54)) == LT",fontsize=16,color="magenta"];6964 -> 7003[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 6965[label="primCmpInt (Pos Zero) (Pos xux520) == LT",fontsize=16,color="burlywood",shape="box"];9098[label="xux520/Succ xux5200",fontsize=10,color="white",style="solid",shape="box"];6965 -> 9098[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9098 -> 7004[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 9099[label="xux520/Zero",fontsize=10,color="white",style="solid",shape="box"];6965 -> 9099[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9099 -> 7005[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 6966[label="primCmpInt (Pos Zero) (Neg xux520) == LT",fontsize=16,color="burlywood",shape="box"];9100[label="xux520/Succ xux5200",fontsize=10,color="white",style="solid",shape="box"];6966 -> 9100[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9100 -> 7006[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 9101[label="xux520/Zero",fontsize=10,color="white",style="solid",shape="box"];6966 -> 9101[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9101 -> 7007[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 6967[label="xux6200",fontsize=16,color="green",shape="box"];6968[label="primCmpInt (Neg (Succ xux4470)) (FiniteMap.sizeFM (FiniteMap.Branch xux50 xux51 xux52 xux53 xux54)) == LT",fontsize=16,color="black",shape="box"];6968 -> 7008[label="",style="solid", color="black", weight=3]; 27.61/11.34 6969 -> 6920[label="",style="dashed", color="red", weight=0]; 27.61/11.34 6969[label="primCmpInt (Neg Zero) (FiniteMap.sizeFM (FiniteMap.Branch xux50 xux51 xux52 xux53 xux54)) == LT",fontsize=16,color="magenta"];6969 -> 7009[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 6970[label="primCmpInt (Neg Zero) (Pos xux520) == LT",fontsize=16,color="burlywood",shape="box"];9102[label="xux520/Succ xux5200",fontsize=10,color="white",style="solid",shape="box"];6970 -> 9102[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9102 -> 7010[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 9103[label="xux520/Zero",fontsize=10,color="white",style="solid",shape="box"];6970 -> 9103[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9103 -> 7011[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 6971[label="primCmpInt (Neg Zero) (Neg xux520) == LT",fontsize=16,color="burlywood",shape="box"];9104[label="xux520/Succ xux5200",fontsize=10,color="white",style="solid",shape="box"];6971 -> 9104[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9104 -> 7012[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 9105[label="xux520/Zero",fontsize=10,color="white",style="solid",shape="box"];6971 -> 9105[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9105 -> 7013[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 7083 -> 7087[label="",style="dashed", color="red", weight=0]; 27.61/11.34 7083[label="primCmpInt (Pos (primPlusNat (primMulNat (Succ (Succ (Succ (Succ Zero)))) (Succ xux138200)) (Succ xux138200))) (FiniteMap.mkVBalBranch3Size_l xux1340 xux1341 xux1342 xux1343 xux1344 xux1380 xux1381 (Pos (Succ xux138200)) xux1383 xux1384) == LT",fontsize=16,color="magenta"];7083 -> 7088[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7082[label="FiniteMap.mkVBalBranch3MkVBalBranch1 xux1340 xux1341 xux1342 xux1343 xux1344 xux1380 xux1381 (Pos (Succ xux138200)) xux1383 xux1384 xux140 xux141 xux1340 xux1341 xux1342 xux1343 xux1344 xux1380 xux1381 (Pos (Succ xux138200)) xux1383 xux1384 xux459",fontsize=16,color="burlywood",shape="triangle"];9106[label="xux459/False",fontsize=10,color="white",style="solid",shape="box"];7082 -> 9106[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9106 -> 7089[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 9107[label="xux459/True",fontsize=10,color="white",style="solid",shape="box"];7082 -> 9107[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9107 -> 7090[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 6979 -> 6820[label="",style="dashed", color="red", weight=0]; 27.61/11.34 6979[label="primCmpInt (Pos Zero) (FiniteMap.mkVBalBranch3Size_l xux1340 xux1341 xux1342 xux1343 xux1344 xux1380 xux1381 (Pos Zero) xux1383 xux1384) == LT",fontsize=16,color="magenta"];6979 -> 7018[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 6978[label="FiniteMap.mkVBalBranch3MkVBalBranch1 xux1340 xux1341 xux1342 xux1343 xux1344 xux1380 xux1381 (Pos Zero) xux1383 xux1384 xux140 xux141 xux1340 xux1341 xux1342 xux1343 xux1344 xux1380 xux1381 (Pos Zero) xux1383 xux1384 xux455",fontsize=16,color="burlywood",shape="triangle"];9108[label="xux455/False",fontsize=10,color="white",style="solid",shape="box"];6978 -> 9108[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9108 -> 7019[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 9109[label="xux455/True",fontsize=10,color="white",style="solid",shape="box"];6978 -> 9109[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9109 -> 7020[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 7099 -> 7103[label="",style="dashed", color="red", weight=0]; 27.61/11.34 7099[label="primCmpInt (Neg (primPlusNat (primMulNat (Succ (Succ (Succ (Succ Zero)))) (Succ xux138200)) (Succ xux138200))) (FiniteMap.mkVBalBranch3Size_l xux1340 xux1341 xux1342 xux1343 xux1344 xux1380 xux1381 (Neg (Succ xux138200)) xux1383 xux1384) == LT",fontsize=16,color="magenta"];7099 -> 7104[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7098[label="FiniteMap.mkVBalBranch3MkVBalBranch1 xux1340 xux1341 xux1342 xux1343 xux1344 xux1380 xux1381 (Neg (Succ xux138200)) xux1383 xux1384 xux140 xux141 xux1340 xux1341 xux1342 xux1343 xux1344 xux1380 xux1381 (Neg (Succ xux138200)) xux1383 xux1384 xux462",fontsize=16,color="burlywood",shape="triangle"];9110[label="xux462/False",fontsize=10,color="white",style="solid",shape="box"];7098 -> 9110[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9110 -> 7105[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 9111[label="xux462/True",fontsize=10,color="white",style="solid",shape="box"];7098 -> 9111[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9111 -> 7106[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 6988 -> 6920[label="",style="dashed", color="red", weight=0]; 27.61/11.34 6988[label="primCmpInt (Neg Zero) (FiniteMap.mkVBalBranch3Size_l xux1340 xux1341 xux1342 xux1343 xux1344 xux1380 xux1381 (Neg Zero) xux1383 xux1384) == LT",fontsize=16,color="magenta"];6988 -> 7025[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 6987[label="FiniteMap.mkVBalBranch3MkVBalBranch1 xux1340 xux1341 xux1342 xux1343 xux1344 xux1380 xux1381 (Neg Zero) xux1383 xux1384 xux140 xux141 xux1340 xux1341 xux1342 xux1343 xux1344 xux1380 xux1381 (Neg Zero) xux1383 xux1384 xux458",fontsize=16,color="burlywood",shape="triangle"];9112[label="xux458/False",fontsize=10,color="white",style="solid",shape="box"];6987 -> 9112[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9112 -> 7026[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 9113[label="xux458/True",fontsize=10,color="white",style="solid",shape="box"];6987 -> 9113[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9113 -> 7027[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 7935[label="primCmpInt (FiniteMap.sIZE_RATIO * FiniteMap.mkVBalBranch3Size_l xux1340 xux1341 xux1342 xux1343 xux1344 xux13830 xux13831 xux13832 xux13833 xux13834) (FiniteMap.mkVBalBranch3Size_r xux1340 xux1341 xux1342 xux1343 xux1344 xux13830 xux13831 xux13832 xux13833 xux13834) == LT",fontsize=16,color="black",shape="box"];7935 -> 7982[label="",style="solid", color="black", weight=3]; 27.61/11.34 8039[label="primPlusInt (Pos Zero) (FiniteMap.mkBalBranch6Size_r xux493 xux494 FiniteMap.EmptyFM xux559)",fontsize=16,color="black",shape="box"];8039 -> 8047[label="",style="solid", color="black", weight=3]; 27.61/11.34 8040[label="Pos (Succ (Succ Zero))",fontsize=16,color="green",shape="box"];7992[label="primCmpInt xux480 xux4780 == LT",fontsize=16,color="burlywood",shape="triangle"];9114[label="xux480/Pos xux4800",fontsize=10,color="white",style="solid",shape="box"];7992 -> 9114[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9114 -> 8017[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 9115[label="xux480/Neg xux4800",fontsize=10,color="white",style="solid",shape="box"];7992 -> 9115[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9115 -> 8018[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 8041[label="FiniteMap.mkBalBranch6MkBalBranch5 xux493 xux494 FiniteMap.EmptyFM xux558 xux493 xux494 FiniteMap.EmptyFM xux557 False",fontsize=16,color="black",shape="box"];8041 -> 8048[label="",style="solid", color="black", weight=3]; 27.61/11.34 8042[label="FiniteMap.mkBalBranch6MkBalBranch5 xux493 xux494 FiniteMap.EmptyFM xux558 xux493 xux494 FiniteMap.EmptyFM xux557 True",fontsize=16,color="black",shape="box"];8042 -> 8049[label="",style="solid", color="black", weight=3]; 27.61/11.34 7938 -> 8043[label="",style="dashed", color="red", weight=0]; 27.61/11.34 7938[label="FiniteMap.mkBalBranch6MkBalBranch5 xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Pos xux49620) xux4963 xux4964) xux558 xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Pos xux49620) xux4963 xux4964) xux557 (primCmpInt (primPlusInt (Pos xux49620) (FiniteMap.sizeFM xux559)) (Pos (Succ (Succ Zero))) == LT)",fontsize=16,color="magenta"];7938 -> 8044[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7939 -> 8058[label="",style="dashed", color="red", weight=0]; 27.61/11.34 7939[label="FiniteMap.mkBalBranch6MkBalBranch5 xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Neg xux49620) xux4963 xux4964) xux558 xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Neg xux49620) xux4963 xux4964) xux557 (primCmpInt (primPlusInt (Neg xux49620) (FiniteMap.sizeFM xux559)) (Pos (Succ (Succ Zero))) == LT)",fontsize=16,color="magenta"];7939 -> 8059[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 221[label="FiniteMap.splitGT1 False xux31 xux32 xux33 xux34 False False",fontsize=16,color="black",shape="box"];221 -> 244[label="",style="solid", color="black", weight=3]; 27.61/11.34 222[label="FiniteMap.splitGT1 True xux31 xux32 xux33 xux34 False (compare2 False True False == LT)",fontsize=16,color="black",shape="box"];222 -> 245[label="",style="solid", color="black", weight=3]; 27.61/11.34 223[label="FiniteMap.splitGT4 FiniteMap.EmptyFM True",fontsize=16,color="black",shape="box"];223 -> 246[label="",style="solid", color="black", weight=3]; 27.61/11.34 224 -> 26[label="",style="dashed", color="red", weight=0]; 27.61/11.34 224[label="FiniteMap.splitGT3 (FiniteMap.Branch xux340 xux341 xux342 xux343 xux344) True",fontsize=16,color="magenta"];224 -> 247[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 224 -> 248[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 224 -> 249[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 224 -> 250[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 224 -> 251[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 224 -> 252[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 225[label="FiniteMap.splitGT1 True xux31 xux32 xux33 xux34 True False",fontsize=16,color="black",shape="box"];225 -> 253[label="",style="solid", color="black", weight=3]; 27.61/11.34 226[label="FiniteMap.splitLT1 False xux31 xux32 xux33 xux34 False False",fontsize=16,color="black",shape="box"];226 -> 254[label="",style="solid", color="black", weight=3]; 27.61/11.34 227[label="FiniteMap.splitLT1 False xux31 xux32 xux33 xux34 True (compare3 True False == GT)",fontsize=16,color="black",shape="box"];227 -> 255[label="",style="solid", color="black", weight=3]; 27.61/11.34 228[label="FiniteMap.splitLT1 True xux31 xux32 xux33 xux34 True False",fontsize=16,color="black",shape="box"];228 -> 256[label="",style="solid", color="black", weight=3]; 27.61/11.34 7080[label="True",fontsize=16,color="green",shape="box"];7682 -> 7042[label="",style="dashed", color="red", weight=0]; 27.61/11.34 7682[label="GT == LT",fontsize=16,color="magenta"];7683[label="primCmpNat (Succ xux48000) (Succ xux47500) == GT",fontsize=16,color="black",shape="box"];7683 -> 7740[label="",style="solid", color="black", weight=3]; 27.61/11.34 7684[label="primCmpNat (Succ xux48000) Zero == GT",fontsize=16,color="black",shape="box"];7684 -> 7741[label="",style="solid", color="black", weight=3]; 27.61/11.34 7685[label="True",fontsize=16,color="green",shape="box"];7686 -> 7640[label="",style="dashed", color="red", weight=0]; 27.61/11.34 7686[label="primCmpNat Zero (Succ xux47500) == GT",fontsize=16,color="magenta"];7686 -> 7742[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7686 -> 7743[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7687[label="EQ == GT",fontsize=16,color="black",shape="triangle"];7687 -> 7744[label="",style="solid", color="black", weight=3]; 27.61/11.34 7688 -> 7634[label="",style="dashed", color="red", weight=0]; 27.61/11.34 7688[label="GT == GT",fontsize=16,color="magenta"];7689 -> 7687[label="",style="dashed", color="red", weight=0]; 27.61/11.34 7689[label="EQ == GT",fontsize=16,color="magenta"];7690[label="False",fontsize=16,color="green",shape="box"];7691[label="primCmpNat (Succ xux47500) (Succ xux48000) == GT",fontsize=16,color="black",shape="box"];7691 -> 7745[label="",style="solid", color="black", weight=3]; 27.61/11.34 7692[label="primCmpNat Zero (Succ xux48000) == GT",fontsize=16,color="black",shape="box"];7692 -> 7746[label="",style="solid", color="black", weight=3]; 27.61/11.34 7693 -> 7639[label="",style="dashed", color="red", weight=0]; 27.61/11.34 7693[label="LT == GT",fontsize=16,color="magenta"];7694 -> 7687[label="",style="dashed", color="red", weight=0]; 27.61/11.34 7694[label="EQ == GT",fontsize=16,color="magenta"];7695 -> 7633[label="",style="dashed", color="red", weight=0]; 27.61/11.34 7695[label="primCmpNat (Succ xux47500) Zero == GT",fontsize=16,color="magenta"];7695 -> 7747[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7695 -> 7748[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7696 -> 7687[label="",style="dashed", color="red", weight=0]; 27.61/11.34 7696[label="EQ == GT",fontsize=16,color="magenta"];7697 -> 7687[label="",style="dashed", color="red", weight=0]; 27.61/11.34 7697[label="EQ == GT",fontsize=16,color="magenta"];7698[label="compare1 False True (False <= True) == GT",fontsize=16,color="black",shape="box"];7698 -> 7749[label="",style="solid", color="black", weight=3]; 27.61/11.34 7699[label="compare1 True False (True <= False) == GT",fontsize=16,color="black",shape="box"];7699 -> 7750[label="",style="solid", color="black", weight=3]; 27.61/11.34 7700 -> 7687[label="",style="dashed", color="red", weight=0]; 27.61/11.34 7700[label="EQ == GT",fontsize=16,color="magenta"];7701 -> 7687[label="",style="dashed", color="red", weight=0]; 27.61/11.34 7701[label="EQ == GT",fontsize=16,color="magenta"];7702[label="compare1 LT EQ (LT <= EQ) == GT",fontsize=16,color="black",shape="box"];7702 -> 7751[label="",style="solid", color="black", weight=3]; 27.61/11.34 7703[label="compare1 LT GT (LT <= GT) == GT",fontsize=16,color="black",shape="box"];7703 -> 7752[label="",style="solid", color="black", weight=3]; 27.61/11.34 7704[label="compare1 EQ LT (EQ <= LT) == GT",fontsize=16,color="black",shape="box"];7704 -> 7753[label="",style="solid", color="black", weight=3]; 27.61/11.34 7705 -> 7687[label="",style="dashed", color="red", weight=0]; 27.61/11.34 7705[label="EQ == GT",fontsize=16,color="magenta"];7706[label="compare1 EQ GT (EQ <= GT) == GT",fontsize=16,color="black",shape="box"];7706 -> 7754[label="",style="solid", color="black", weight=3]; 27.61/11.34 7707[label="compare1 GT LT (GT <= LT) == GT",fontsize=16,color="black",shape="box"];7707 -> 7755[label="",style="solid", color="black", weight=3]; 27.61/11.34 7708[label="compare1 GT EQ (GT <= EQ) == GT",fontsize=16,color="black",shape="box"];7708 -> 7756[label="",style="solid", color="black", weight=3]; 27.61/11.34 7709 -> 7687[label="",style="dashed", color="red", weight=0]; 27.61/11.34 7709[label="EQ == GT",fontsize=16,color="magenta"];7710[label="xux498",fontsize=16,color="green",shape="box"];7711[label="xux497",fontsize=16,color="green",shape="box"];7712[label="xux499",fontsize=16,color="green",shape="box"];7713[label="xux498",fontsize=16,color="green",shape="box"];7714[label="xux497",fontsize=16,color="green",shape="box"];7715[label="xux499",fontsize=16,color="green",shape="box"];7716[label="xux498",fontsize=16,color="green",shape="box"];7717[label="xux497",fontsize=16,color="green",shape="box"];7718[label="xux499",fontsize=16,color="green",shape="box"];7719[label="xux498",fontsize=16,color="green",shape="box"];7720[label="xux497",fontsize=16,color="green",shape="box"];7721[label="xux499",fontsize=16,color="green",shape="box"];7833[label="FiniteMap.Branch xux480 xux481 (Pos (Succ Zero)) FiniteMap.emptyFM FiniteMap.emptyFM",fontsize=16,color="green",shape="box"];7833 -> 7866[label="",style="dashed", color="green", weight=3]; 27.61/11.34 7833 -> 7867[label="",style="dashed", color="green", weight=3]; 27.61/11.34 7834[label="xux4784",fontsize=16,color="green",shape="box"];7835[label="xux4782",fontsize=16,color="green",shape="box"];7836[label="xux4783",fontsize=16,color="green",shape="box"];7837[label="xux4780",fontsize=16,color="green",shape="box"];7838[label="xux4781",fontsize=16,color="green",shape="box"];7839[label="xux480 < xux4780",fontsize=16,color="blue",shape="box"];9116[label="< :: ((@2) a b) -> ((@2) a b) -> Bool",fontsize=10,color="white",style="solid",shape="box"];7839 -> 9116[label="",style="solid", color="blue", weight=9]; 27.61/11.34 9116 -> 7868[label="",style="solid", color="blue", weight=3]; 27.61/11.34 9117[label="< :: Float -> Float -> Bool",fontsize=10,color="white",style="solid",shape="box"];7839 -> 9117[label="",style="solid", color="blue", weight=9]; 27.61/11.34 9117 -> 7869[label="",style="solid", color="blue", weight=3]; 27.61/11.34 9118[label="< :: Double -> Double -> Bool",fontsize=10,color="white",style="solid",shape="box"];7839 -> 9118[label="",style="solid", color="blue", weight=9]; 27.61/11.34 9118 -> 7870[label="",style="solid", color="blue", weight=3]; 27.61/11.34 9119[label="< :: Int -> Int -> Bool",fontsize=10,color="white",style="solid",shape="box"];7839 -> 9119[label="",style="solid", color="blue", weight=9]; 27.61/11.34 9119 -> 7871[label="",style="solid", color="blue", weight=3]; 27.61/11.34 9120[label="< :: (Ratio a) -> (Ratio a) -> Bool",fontsize=10,color="white",style="solid",shape="box"];7839 -> 9120[label="",style="solid", color="blue", weight=9]; 27.61/11.34 9120 -> 7872[label="",style="solid", color="blue", weight=3]; 27.61/11.34 9121[label="< :: Char -> Char -> Bool",fontsize=10,color="white",style="solid",shape="box"];7839 -> 9121[label="",style="solid", color="blue", weight=9]; 27.61/11.34 9121 -> 7873[label="",style="solid", color="blue", weight=3]; 27.61/11.34 9122[label="< :: Bool -> Bool -> Bool",fontsize=10,color="white",style="solid",shape="box"];7839 -> 9122[label="",style="solid", color="blue", weight=9]; 27.61/11.34 9122 -> 7874[label="",style="solid", color="blue", weight=3]; 27.61/11.34 9123[label="< :: (Either a b) -> (Either a b) -> Bool",fontsize=10,color="white",style="solid",shape="box"];7839 -> 9123[label="",style="solid", color="blue", weight=9]; 27.61/11.34 9123 -> 7875[label="",style="solid", color="blue", weight=3]; 27.61/11.34 9124[label="< :: Integer -> Integer -> Bool",fontsize=10,color="white",style="solid",shape="box"];7839 -> 9124[label="",style="solid", color="blue", weight=9]; 27.61/11.34 9124 -> 7876[label="",style="solid", color="blue", weight=3]; 27.61/11.34 9125[label="< :: ((@3) a b c) -> ((@3) a b c) -> Bool",fontsize=10,color="white",style="solid",shape="box"];7839 -> 9125[label="",style="solid", color="blue", weight=9]; 27.61/11.34 9125 -> 7877[label="",style="solid", color="blue", weight=3]; 27.61/11.34 9126[label="< :: Ordering -> Ordering -> Bool",fontsize=10,color="white",style="solid",shape="box"];7839 -> 9126[label="",style="solid", color="blue", weight=9]; 27.61/11.34 9126 -> 7878[label="",style="solid", color="blue", weight=3]; 27.61/11.34 9127[label="< :: ([] a) -> ([] a) -> Bool",fontsize=10,color="white",style="solid",shape="box"];7839 -> 9127[label="",style="solid", color="blue", weight=9]; 27.61/11.34 9127 -> 7879[label="",style="solid", color="blue", weight=3]; 27.61/11.34 9128[label="< :: (Maybe a) -> (Maybe a) -> Bool",fontsize=10,color="white",style="solid",shape="box"];7839 -> 9128[label="",style="solid", color="blue", weight=9]; 27.61/11.34 9128 -> 7880[label="",style="solid", color="blue", weight=3]; 27.61/11.34 9129[label="< :: () -> () -> Bool",fontsize=10,color="white",style="solid",shape="box"];7839 -> 9129[label="",style="solid", color="blue", weight=9]; 27.61/11.34 9129 -> 7881[label="",style="solid", color="blue", weight=3]; 27.61/11.34 7000[label="Succ xux6200",fontsize=16,color="green",shape="box"];7001[label="primMulNat (Succ (Succ (Succ Zero))) (Succ xux6200)",fontsize=16,color="black",shape="box"];7001 -> 7036[label="",style="solid", color="black", weight=3]; 27.61/11.34 2244[label="primPlusNat (Succ xux2100) (Succ xux110)",fontsize=16,color="black",shape="box"];2244 -> 2288[label="",style="solid", color="black", weight=3]; 27.61/11.34 2245[label="primPlusNat (Succ xux2100) Zero",fontsize=16,color="black",shape="box"];2245 -> 2289[label="",style="solid", color="black", weight=3]; 27.61/11.34 2246[label="primPlusNat Zero (Succ xux110)",fontsize=16,color="black",shape="box"];2246 -> 2290[label="",style="solid", color="black", weight=3]; 27.61/11.34 2247[label="primPlusNat Zero Zero",fontsize=16,color="black",shape="box"];2247 -> 2291[label="",style="solid", color="black", weight=3]; 27.61/11.34 7002[label="primCmpInt (Pos (Succ xux4460)) xux52 == LT",fontsize=16,color="burlywood",shape="triangle"];9130[label="xux52/Pos xux520",fontsize=10,color="white",style="solid",shape="box"];7002 -> 9130[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9130 -> 7037[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 9131[label="xux52/Neg xux520",fontsize=10,color="white",style="solid",shape="box"];7002 -> 9131[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9131 -> 7038[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 7003[label="FiniteMap.sizeFM (FiniteMap.Branch xux50 xux51 xux52 xux53 xux54)",fontsize=16,color="black",shape="triangle"];7003 -> 7039[label="",style="solid", color="black", weight=3]; 27.61/11.34 7004[label="primCmpInt (Pos Zero) (Pos (Succ xux5200)) == LT",fontsize=16,color="black",shape="box"];7004 -> 7040[label="",style="solid", color="black", weight=3]; 27.61/11.34 7005[label="primCmpInt (Pos Zero) (Pos Zero) == LT",fontsize=16,color="black",shape="box"];7005 -> 7041[label="",style="solid", color="black", weight=3]; 27.61/11.34 7006[label="primCmpInt (Pos Zero) (Neg (Succ xux5200)) == LT",fontsize=16,color="black",shape="box"];7006 -> 7042[label="",style="solid", color="black", weight=3]; 27.61/11.34 7007[label="primCmpInt (Pos Zero) (Neg Zero) == LT",fontsize=16,color="black",shape="box"];7007 -> 7043[label="",style="solid", color="black", weight=3]; 27.61/11.34 7008[label="primCmpInt (Neg (Succ xux4470)) xux52 == LT",fontsize=16,color="burlywood",shape="triangle"];9132[label="xux52/Pos xux520",fontsize=10,color="white",style="solid",shape="box"];7008 -> 9132[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9132 -> 7044[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 9133[label="xux52/Neg xux520",fontsize=10,color="white",style="solid",shape="box"];7008 -> 9133[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9133 -> 7045[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 7009 -> 7003[label="",style="dashed", color="red", weight=0]; 27.61/11.34 7009[label="FiniteMap.sizeFM (FiniteMap.Branch xux50 xux51 xux52 xux53 xux54)",fontsize=16,color="magenta"];7010[label="primCmpInt (Neg Zero) (Pos (Succ xux5200)) == LT",fontsize=16,color="black",shape="box"];7010 -> 7046[label="",style="solid", color="black", weight=3]; 27.61/11.34 7011[label="primCmpInt (Neg Zero) (Pos Zero) == LT",fontsize=16,color="black",shape="box"];7011 -> 7047[label="",style="solid", color="black", weight=3]; 27.61/11.34 7012[label="primCmpInt (Neg Zero) (Neg (Succ xux5200)) == LT",fontsize=16,color="black",shape="box"];7012 -> 7048[label="",style="solid", color="black", weight=3]; 27.61/11.34 7013[label="primCmpInt (Neg Zero) (Neg Zero) == LT",fontsize=16,color="black",shape="box"];7013 -> 7049[label="",style="solid", color="black", weight=3]; 27.61/11.34 7088 -> 2054[label="",style="dashed", color="red", weight=0]; 27.61/11.34 7088[label="primPlusNat (primMulNat (Succ (Succ (Succ (Succ Zero)))) (Succ xux138200)) (Succ xux138200)",fontsize=16,color="magenta"];7088 -> 7091[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7088 -> 7092[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7087[label="primCmpInt (Pos xux460) (FiniteMap.mkVBalBranch3Size_l xux1340 xux1341 xux1342 xux1343 xux1344 xux1380 xux1381 (Pos (Succ xux138200)) xux1383 xux1384) == LT",fontsize=16,color="burlywood",shape="triangle"];9134[label="xux460/Succ xux4600",fontsize=10,color="white",style="solid",shape="box"];7087 -> 9134[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9134 -> 7093[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 9135[label="xux460/Zero",fontsize=10,color="white",style="solid",shape="box"];7087 -> 9135[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9135 -> 7094[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 7089[label="FiniteMap.mkVBalBranch3MkVBalBranch1 xux1340 xux1341 xux1342 xux1343 xux1344 xux1380 xux1381 (Pos (Succ xux138200)) xux1383 xux1384 xux140 xux141 xux1340 xux1341 xux1342 xux1343 xux1344 xux1380 xux1381 (Pos (Succ xux138200)) xux1383 xux1384 False",fontsize=16,color="black",shape="box"];7089 -> 7107[label="",style="solid", color="black", weight=3]; 27.61/11.34 7090[label="FiniteMap.mkVBalBranch3MkVBalBranch1 xux1340 xux1341 xux1342 xux1343 xux1344 xux1380 xux1381 (Pos (Succ xux138200)) xux1383 xux1384 xux140 xux141 xux1340 xux1341 xux1342 xux1343 xux1344 xux1380 xux1381 (Pos (Succ xux138200)) xux1383 xux1384 True",fontsize=16,color="black",shape="box"];7090 -> 7108[label="",style="solid", color="black", weight=3]; 27.61/11.34 7018[label="FiniteMap.mkVBalBranch3Size_l xux1340 xux1341 xux1342 xux1343 xux1344 xux1380 xux1381 (Pos Zero) xux1383 xux1384",fontsize=16,color="black",shape="box"];7018 -> 7053[label="",style="solid", color="black", weight=3]; 27.61/11.34 7019[label="FiniteMap.mkVBalBranch3MkVBalBranch1 xux1340 xux1341 xux1342 xux1343 xux1344 xux1380 xux1381 (Pos Zero) xux1383 xux1384 xux140 xux141 xux1340 xux1341 xux1342 xux1343 xux1344 xux1380 xux1381 (Pos Zero) xux1383 xux1384 False",fontsize=16,color="black",shape="box"];7019 -> 7054[label="",style="solid", color="black", weight=3]; 27.61/11.34 7020[label="FiniteMap.mkVBalBranch3MkVBalBranch1 xux1340 xux1341 xux1342 xux1343 xux1344 xux1380 xux1381 (Pos Zero) xux1383 xux1384 xux140 xux141 xux1340 xux1341 xux1342 xux1343 xux1344 xux1380 xux1381 (Pos Zero) xux1383 xux1384 True",fontsize=16,color="black",shape="box"];7020 -> 7055[label="",style="solid", color="black", weight=3]; 27.61/11.34 7104 -> 2054[label="",style="dashed", color="red", weight=0]; 27.61/11.34 7104[label="primPlusNat (primMulNat (Succ (Succ (Succ (Succ Zero)))) (Succ xux138200)) (Succ xux138200)",fontsize=16,color="magenta"];7104 -> 7109[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7104 -> 7110[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7103[label="primCmpInt (Neg xux464) (FiniteMap.mkVBalBranch3Size_l xux1340 xux1341 xux1342 xux1343 xux1344 xux1380 xux1381 (Neg (Succ xux138200)) xux1383 xux1384) == LT",fontsize=16,color="burlywood",shape="triangle"];9136[label="xux464/Succ xux4640",fontsize=10,color="white",style="solid",shape="box"];7103 -> 9136[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9136 -> 7111[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 9137[label="xux464/Zero",fontsize=10,color="white",style="solid",shape="box"];7103 -> 9137[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9137 -> 7112[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 7105[label="FiniteMap.mkVBalBranch3MkVBalBranch1 xux1340 xux1341 xux1342 xux1343 xux1344 xux1380 xux1381 (Neg (Succ xux138200)) xux1383 xux1384 xux140 xux141 xux1340 xux1341 xux1342 xux1343 xux1344 xux1380 xux1381 (Neg (Succ xux138200)) xux1383 xux1384 False",fontsize=16,color="black",shape="box"];7105 -> 7306[label="",style="solid", color="black", weight=3]; 27.61/11.34 7106[label="FiniteMap.mkVBalBranch3MkVBalBranch1 xux1340 xux1341 xux1342 xux1343 xux1344 xux1380 xux1381 (Neg (Succ xux138200)) xux1383 xux1384 xux140 xux141 xux1340 xux1341 xux1342 xux1343 xux1344 xux1380 xux1381 (Neg (Succ xux138200)) xux1383 xux1384 True",fontsize=16,color="black",shape="box"];7106 -> 7307[label="",style="solid", color="black", weight=3]; 27.61/11.34 7025[label="FiniteMap.mkVBalBranch3Size_l xux1340 xux1341 xux1342 xux1343 xux1344 xux1380 xux1381 (Neg Zero) xux1383 xux1384",fontsize=16,color="black",shape="box"];7025 -> 7059[label="",style="solid", color="black", weight=3]; 27.61/11.34 7026[label="FiniteMap.mkVBalBranch3MkVBalBranch1 xux1340 xux1341 xux1342 xux1343 xux1344 xux1380 xux1381 (Neg Zero) xux1383 xux1384 xux140 xux141 xux1340 xux1341 xux1342 xux1343 xux1344 xux1380 xux1381 (Neg Zero) xux1383 xux1384 False",fontsize=16,color="black",shape="box"];7026 -> 7060[label="",style="solid", color="black", weight=3]; 27.61/11.34 7027[label="FiniteMap.mkVBalBranch3MkVBalBranch1 xux1340 xux1341 xux1342 xux1343 xux1344 xux1380 xux1381 (Neg Zero) xux1383 xux1384 xux140 xux141 xux1340 xux1341 xux1342 xux1343 xux1344 xux1380 xux1381 (Neg Zero) xux1383 xux1384 True",fontsize=16,color="black",shape="box"];7027 -> 7061[label="",style="solid", color="black", weight=3]; 27.61/11.34 7982[label="primCmpInt (primMulInt FiniteMap.sIZE_RATIO (FiniteMap.mkVBalBranch3Size_l xux1340 xux1341 xux1342 xux1343 xux1344 xux13830 xux13831 xux13832 xux13833 xux13834)) (FiniteMap.mkVBalBranch3Size_r xux1340 xux1341 xux1342 xux1343 xux1344 xux13830 xux13831 xux13832 xux13833 xux13834) == LT",fontsize=16,color="black",shape="box"];7982 -> 8006[label="",style="solid", color="black", weight=3]; 27.61/11.34 8047[label="primPlusInt (Pos Zero) (FiniteMap.sizeFM xux559)",fontsize=16,color="burlywood",shape="box"];9138[label="xux559/FiniteMap.EmptyFM",fontsize=10,color="white",style="solid",shape="box"];8047 -> 9138[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9138 -> 8062[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 9139[label="xux559/FiniteMap.Branch xux5590 xux5591 xux5592 xux5593 xux5594",fontsize=10,color="white",style="solid",shape="box"];8047 -> 9139[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9139 -> 8063[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 8017[label="primCmpInt (Pos xux4800) xux4780 == LT",fontsize=16,color="burlywood",shape="box"];9140[label="xux4800/Succ xux48000",fontsize=10,color="white",style="solid",shape="box"];8017 -> 9140[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9140 -> 8050[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 9141[label="xux4800/Zero",fontsize=10,color="white",style="solid",shape="box"];8017 -> 9141[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9141 -> 8051[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 8018[label="primCmpInt (Neg xux4800) xux4780 == LT",fontsize=16,color="burlywood",shape="box"];9142[label="xux4800/Succ xux48000",fontsize=10,color="white",style="solid",shape="box"];8018 -> 9142[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9142 -> 8052[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 9143[label="xux4800/Zero",fontsize=10,color="white",style="solid",shape="box"];8018 -> 9143[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9143 -> 8053[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 8048 -> 8064[label="",style="dashed", color="red", weight=0]; 27.61/11.34 8048[label="FiniteMap.mkBalBranch6MkBalBranch4 xux493 xux494 FiniteMap.EmptyFM xux558 xux493 xux494 FiniteMap.EmptyFM xux557 (FiniteMap.mkBalBranch6Size_r xux493 xux494 FiniteMap.EmptyFM xux558 > FiniteMap.sIZE_RATIO * FiniteMap.mkBalBranch6Size_l xux493 xux494 FiniteMap.EmptyFM xux558)",fontsize=16,color="magenta"];8048 -> 8065[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8049 -> 8702[label="",style="dashed", color="red", weight=0]; 27.61/11.34 8049[label="FiniteMap.mkBranch (Pos (Succ Zero)) xux493 xux494 FiniteMap.EmptyFM xux557",fontsize=16,color="magenta"];8049 -> 8703[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8049 -> 8704[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8049 -> 8705[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8049 -> 8706[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8049 -> 8707[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8044 -> 7992[label="",style="dashed", color="red", weight=0]; 27.61/11.34 8044[label="primCmpInt (primPlusInt (Pos xux49620) (FiniteMap.sizeFM xux559)) (Pos (Succ (Succ Zero))) == LT",fontsize=16,color="magenta"];8044 -> 8054[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8044 -> 8055[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8043[label="FiniteMap.mkBalBranch6MkBalBranch5 xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Pos xux49620) xux4963 xux4964) xux558 xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Pos xux49620) xux4963 xux4964) xux557 xux564",fontsize=16,color="burlywood",shape="triangle"];9144[label="xux564/False",fontsize=10,color="white",style="solid",shape="box"];8043 -> 9144[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9144 -> 8056[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 9145[label="xux564/True",fontsize=10,color="white",style="solid",shape="box"];8043 -> 9145[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9145 -> 8057[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 8059 -> 7992[label="",style="dashed", color="red", weight=0]; 27.61/11.34 8059[label="primCmpInt (primPlusInt (Neg xux49620) (FiniteMap.sizeFM xux559)) (Pos (Succ (Succ Zero))) == LT",fontsize=16,color="magenta"];8059 -> 8067[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8059 -> 8068[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8058[label="FiniteMap.mkBalBranch6MkBalBranch5 xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Neg xux49620) xux4963 xux4964) xux558 xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Neg xux49620) xux4963 xux4964) xux557 xux565",fontsize=16,color="burlywood",shape="triangle"];9146[label="xux565/False",fontsize=10,color="white",style="solid",shape="box"];8058 -> 9146[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9146 -> 8069[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 9147[label="xux565/True",fontsize=10,color="white",style="solid",shape="box"];8058 -> 9147[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9147 -> 8070[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 244[label="FiniteMap.splitGT0 False xux31 xux32 xux33 xux34 False otherwise",fontsize=16,color="black",shape="box"];244 -> 273[label="",style="solid", color="black", weight=3]; 27.61/11.34 245[label="FiniteMap.splitGT1 True xux31 xux32 xux33 xux34 False (compare1 False True (False <= True) == LT)",fontsize=16,color="black",shape="box"];245 -> 274[label="",style="solid", color="black", weight=3]; 27.61/11.34 246 -> 67[label="",style="dashed", color="red", weight=0]; 27.61/11.34 246[label="FiniteMap.emptyFM",fontsize=16,color="magenta"];247[label="xux344",fontsize=16,color="green",shape="box"];248[label="xux343",fontsize=16,color="green",shape="box"];249[label="True",fontsize=16,color="green",shape="box"];250[label="xux340",fontsize=16,color="green",shape="box"];251[label="xux342",fontsize=16,color="green",shape="box"];252[label="xux341",fontsize=16,color="green",shape="box"];253[label="FiniteMap.splitGT0 True xux31 xux32 xux33 xux34 True otherwise",fontsize=16,color="black",shape="box"];253 -> 275[label="",style="solid", color="black", weight=3]; 27.61/11.34 254[label="FiniteMap.splitLT0 False xux31 xux32 xux33 xux34 False otherwise",fontsize=16,color="black",shape="box"];254 -> 276[label="",style="solid", color="black", weight=3]; 27.61/11.34 255[label="FiniteMap.splitLT1 False xux31 xux32 xux33 xux34 True (compare2 True False (True == False) == GT)",fontsize=16,color="black",shape="box"];255 -> 277[label="",style="solid", color="black", weight=3]; 27.61/11.34 256[label="FiniteMap.splitLT0 True xux31 xux32 xux33 xux34 True otherwise",fontsize=16,color="black",shape="box"];256 -> 278[label="",style="solid", color="black", weight=3]; 27.61/11.34 7042[label="GT == LT",fontsize=16,color="black",shape="triangle"];7042 -> 7077[label="",style="solid", color="black", weight=3]; 27.61/11.34 7740[label="primCmpNat xux48000 xux47500 == GT",fontsize=16,color="burlywood",shape="triangle"];9148[label="xux48000/Succ xux480000",fontsize=10,color="white",style="solid",shape="box"];7740 -> 9148[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9148 -> 7801[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 9149[label="xux48000/Zero",fontsize=10,color="white",style="solid",shape="box"];7740 -> 9149[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9149 -> 7802[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 7741 -> 7634[label="",style="dashed", color="red", weight=0]; 27.61/11.34 7741[label="GT == GT",fontsize=16,color="magenta"];7742[label="Zero",fontsize=16,color="green",shape="box"];7743[label="xux47500",fontsize=16,color="green",shape="box"];7744[label="False",fontsize=16,color="green",shape="box"];7745 -> 7740[label="",style="dashed", color="red", weight=0]; 27.61/11.34 7745[label="primCmpNat xux47500 xux48000 == GT",fontsize=16,color="magenta"];7745 -> 7803[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7745 -> 7804[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7746 -> 7639[label="",style="dashed", color="red", weight=0]; 27.61/11.34 7746[label="LT == GT",fontsize=16,color="magenta"];7747[label="Zero",fontsize=16,color="green",shape="box"];7748[label="xux47500",fontsize=16,color="green",shape="box"];7749[label="compare1 False True True == GT",fontsize=16,color="black",shape="box"];7749 -> 7805[label="",style="solid", color="black", weight=3]; 27.61/11.34 7750[label="compare1 True False False == GT",fontsize=16,color="black",shape="box"];7750 -> 7806[label="",style="solid", color="black", weight=3]; 27.61/11.34 7751[label="error []",fontsize=16,color="red",shape="box"];7752[label="error []",fontsize=16,color="red",shape="box"];7753[label="error []",fontsize=16,color="red",shape="box"];7754[label="error []",fontsize=16,color="red",shape="box"];7755[label="error []",fontsize=16,color="red",shape="box"];7756[label="error []",fontsize=16,color="red",shape="box"];7866[label="FiniteMap.emptyFM",fontsize=16,color="black",shape="triangle"];7866 -> 7940[label="",style="solid", color="black", weight=3]; 27.61/11.34 7867 -> 7866[label="",style="dashed", color="red", weight=0]; 27.61/11.34 7867[label="FiniteMap.emptyFM",fontsize=16,color="magenta"];7868[label="xux480 < xux4780",fontsize=16,color="black",shape="box"];7868 -> 7941[label="",style="solid", color="black", weight=3]; 27.61/11.34 7869[label="xux480 < xux4780",fontsize=16,color="black",shape="box"];7869 -> 7942[label="",style="solid", color="black", weight=3]; 27.61/11.34 7870[label="xux480 < xux4780",fontsize=16,color="black",shape="box"];7870 -> 7943[label="",style="solid", color="black", weight=3]; 27.61/11.34 7871[label="xux480 < xux4780",fontsize=16,color="black",shape="triangle"];7871 -> 7944[label="",style="solid", color="black", weight=3]; 27.61/11.34 7872[label="xux480 < xux4780",fontsize=16,color="black",shape="box"];7872 -> 7945[label="",style="solid", color="black", weight=3]; 27.61/11.34 7873[label="xux480 < xux4780",fontsize=16,color="black",shape="box"];7873 -> 7946[label="",style="solid", color="black", weight=3]; 27.61/11.34 7874 -> 7126[label="",style="dashed", color="red", weight=0]; 27.61/11.34 7874[label="xux480 < xux4780",fontsize=16,color="magenta"];7874 -> 7947[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7874 -> 7948[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7875[label="xux480 < xux4780",fontsize=16,color="black",shape="box"];7875 -> 7949[label="",style="solid", color="black", weight=3]; 27.61/11.34 7876[label="xux480 < xux4780",fontsize=16,color="black",shape="box"];7876 -> 7950[label="",style="solid", color="black", weight=3]; 27.61/11.34 7877[label="xux480 < xux4780",fontsize=16,color="black",shape="box"];7877 -> 7951[label="",style="solid", color="black", weight=3]; 27.61/11.34 7878[label="xux480 < xux4780",fontsize=16,color="black",shape="box"];7878 -> 7952[label="",style="solid", color="black", weight=3]; 27.61/11.34 7879[label="xux480 < xux4780",fontsize=16,color="black",shape="box"];7879 -> 7953[label="",style="solid", color="black", weight=3]; 27.61/11.34 7880[label="xux480 < xux4780",fontsize=16,color="black",shape="box"];7880 -> 7954[label="",style="solid", color="black", weight=3]; 27.61/11.34 7881[label="xux480 < xux4780",fontsize=16,color="black",shape="box"];7881 -> 7955[label="",style="solid", color="black", weight=3]; 27.61/11.34 7036 -> 2054[label="",style="dashed", color="red", weight=0]; 27.61/11.34 7036[label="primPlusNat (primMulNat (Succ (Succ Zero)) (Succ xux6200)) (Succ xux6200)",fontsize=16,color="magenta"];7036 -> 7071[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7036 -> 7072[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 2288[label="Succ (Succ (primPlusNat xux2100 xux110))",fontsize=16,color="green",shape="box"];2288 -> 2378[label="",style="dashed", color="green", weight=3]; 27.61/11.34 2289[label="Succ xux2100",fontsize=16,color="green",shape="box"];2290[label="Succ xux110",fontsize=16,color="green",shape="box"];2291[label="Zero",fontsize=16,color="green",shape="box"];7037[label="primCmpInt (Pos (Succ xux4460)) (Pos xux520) == LT",fontsize=16,color="black",shape="box"];7037 -> 7073[label="",style="solid", color="black", weight=3]; 27.61/11.34 7038[label="primCmpInt (Pos (Succ xux4460)) (Neg xux520) == LT",fontsize=16,color="black",shape="box"];7038 -> 7074[label="",style="solid", color="black", weight=3]; 27.61/11.34 7039[label="xux52",fontsize=16,color="green",shape="box"];7040[label="primCmpNat Zero (Succ xux5200) == LT",fontsize=16,color="black",shape="box"];7040 -> 7075[label="",style="solid", color="black", weight=3]; 27.61/11.34 7043 -> 7041[label="",style="dashed", color="red", weight=0]; 27.61/11.34 7043[label="EQ == LT",fontsize=16,color="magenta"];7044[label="primCmpInt (Neg (Succ xux4470)) (Pos xux520) == LT",fontsize=16,color="black",shape="box"];7044 -> 7078[label="",style="solid", color="black", weight=3]; 27.61/11.34 7045[label="primCmpInt (Neg (Succ xux4470)) (Neg xux520) == LT",fontsize=16,color="black",shape="box"];7045 -> 7079[label="",style="solid", color="black", weight=3]; 27.61/11.34 7047 -> 7041[label="",style="dashed", color="red", weight=0]; 27.61/11.34 7047[label="EQ == LT",fontsize=16,color="magenta"];7048[label="primCmpNat (Succ xux5200) Zero == LT",fontsize=16,color="black",shape="box"];7048 -> 7081[label="",style="solid", color="black", weight=3]; 27.61/11.34 7049 -> 7041[label="",style="dashed", color="red", weight=0]; 27.61/11.34 7049[label="EQ == LT",fontsize=16,color="magenta"];7091[label="Succ xux138200",fontsize=16,color="green",shape="box"];7092 -> 6817[label="",style="dashed", color="red", weight=0]; 27.61/11.34 7092[label="primMulNat (Succ (Succ (Succ (Succ Zero)))) (Succ xux138200)",fontsize=16,color="magenta"];7092 -> 7113[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7093[label="primCmpInt (Pos (Succ xux4600)) (FiniteMap.mkVBalBranch3Size_l xux1340 xux1341 xux1342 xux1343 xux1344 xux1380 xux1381 (Pos (Succ xux138200)) xux1383 xux1384) == LT",fontsize=16,color="black",shape="box"];7093 -> 7114[label="",style="solid", color="black", weight=3]; 27.61/11.34 7094[label="primCmpInt (Pos Zero) (FiniteMap.mkVBalBranch3Size_l xux1340 xux1341 xux1342 xux1343 xux1344 xux1380 xux1381 (Pos (Succ xux138200)) xux1383 xux1384) == LT",fontsize=16,color="black",shape="box"];7094 -> 7115[label="",style="solid", color="black", weight=3]; 27.61/11.34 7107[label="FiniteMap.mkVBalBranch3MkVBalBranch0 xux1340 xux1341 xux1342 xux1343 xux1344 xux1380 xux1381 (Pos (Succ xux138200)) xux1383 xux1384 xux140 xux141 xux1340 xux1341 xux1342 xux1343 xux1344 xux1380 xux1381 (Pos (Succ xux138200)) xux1383 xux1384 otherwise",fontsize=16,color="black",shape="box"];7107 -> 7308[label="",style="solid", color="black", weight=3]; 27.61/11.34 7108[label="FiniteMap.mkBalBranch xux1340 xux1341 xux1343 (FiniteMap.mkVBalBranch xux140 xux141 xux1344 (FiniteMap.Branch xux1380 xux1381 (Pos (Succ xux138200)) xux1383 xux1384))",fontsize=16,color="black",shape="box"];7108 -> 7309[label="",style="solid", color="black", weight=3]; 27.61/11.34 7053[label="FiniteMap.sizeFM (FiniteMap.Branch xux1340 xux1341 xux1342 xux1343 xux1344)",fontsize=16,color="black",shape="triangle"];7053 -> 7095[label="",style="solid", color="black", weight=3]; 27.61/11.34 7054[label="FiniteMap.mkVBalBranch3MkVBalBranch0 xux1340 xux1341 xux1342 xux1343 xux1344 xux1380 xux1381 (Pos Zero) xux1383 xux1384 xux140 xux141 xux1340 xux1341 xux1342 xux1343 xux1344 xux1380 xux1381 (Pos Zero) xux1383 xux1384 otherwise",fontsize=16,color="black",shape="box"];7054 -> 7096[label="",style="solid", color="black", weight=3]; 27.61/11.34 7055[label="FiniteMap.mkBalBranch xux1340 xux1341 xux1343 (FiniteMap.mkVBalBranch xux140 xux141 xux1344 (FiniteMap.Branch xux1380 xux1381 (Pos Zero) xux1383 xux1384))",fontsize=16,color="black",shape="box"];7055 -> 7097[label="",style="solid", color="black", weight=3]; 27.61/11.34 7109[label="Succ xux138200",fontsize=16,color="green",shape="box"];7110 -> 6817[label="",style="dashed", color="red", weight=0]; 27.61/11.34 7110[label="primMulNat (Succ (Succ (Succ (Succ Zero)))) (Succ xux138200)",fontsize=16,color="magenta"];7110 -> 7310[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7111[label="primCmpInt (Neg (Succ xux4640)) (FiniteMap.mkVBalBranch3Size_l xux1340 xux1341 xux1342 xux1343 xux1344 xux1380 xux1381 (Neg (Succ xux138200)) xux1383 xux1384) == LT",fontsize=16,color="black",shape="box"];7111 -> 7311[label="",style="solid", color="black", weight=3]; 27.61/11.34 7112[label="primCmpInt (Neg Zero) (FiniteMap.mkVBalBranch3Size_l xux1340 xux1341 xux1342 xux1343 xux1344 xux1380 xux1381 (Neg (Succ xux138200)) xux1383 xux1384) == LT",fontsize=16,color="black",shape="box"];7112 -> 7312[label="",style="solid", color="black", weight=3]; 27.61/11.34 7306[label="FiniteMap.mkVBalBranch3MkVBalBranch0 xux1340 xux1341 xux1342 xux1343 xux1344 xux1380 xux1381 (Neg (Succ xux138200)) xux1383 xux1384 xux140 xux141 xux1340 xux1341 xux1342 xux1343 xux1344 xux1380 xux1381 (Neg (Succ xux138200)) xux1383 xux1384 otherwise",fontsize=16,color="black",shape="box"];7306 -> 7319[label="",style="solid", color="black", weight=3]; 27.61/11.34 7307[label="FiniteMap.mkBalBranch xux1340 xux1341 xux1343 (FiniteMap.mkVBalBranch xux140 xux141 xux1344 (FiniteMap.Branch xux1380 xux1381 (Neg (Succ xux138200)) xux1383 xux1384))",fontsize=16,color="black",shape="box"];7307 -> 7320[label="",style="solid", color="black", weight=3]; 27.61/11.34 7059 -> 7053[label="",style="dashed", color="red", weight=0]; 27.61/11.34 7059[label="FiniteMap.sizeFM (FiniteMap.Branch xux1340 xux1341 xux1342 xux1343 xux1344)",fontsize=16,color="magenta"];7060[label="FiniteMap.mkVBalBranch3MkVBalBranch0 xux1340 xux1341 xux1342 xux1343 xux1344 xux1380 xux1381 (Neg Zero) xux1383 xux1384 xux140 xux141 xux1340 xux1341 xux1342 xux1343 xux1344 xux1380 xux1381 (Neg Zero) xux1383 xux1384 otherwise",fontsize=16,color="black",shape="box"];7060 -> 7116[label="",style="solid", color="black", weight=3]; 27.61/11.34 7061[label="FiniteMap.mkBalBranch xux1340 xux1341 xux1343 (FiniteMap.mkVBalBranch xux140 xux141 xux1344 (FiniteMap.Branch xux1380 xux1381 (Neg Zero) xux1383 xux1384))",fontsize=16,color="black",shape="box"];7061 -> 7117[label="",style="solid", color="black", weight=3]; 27.61/11.34 8006 -> 7992[label="",style="dashed", color="red", weight=0]; 27.61/11.34 8006[label="primCmpInt (primMulInt (Pos (Succ (Succ (Succ (Succ (Succ Zero)))))) (FiniteMap.mkVBalBranch3Size_l xux1340 xux1341 xux1342 xux1343 xux1344 xux13830 xux13831 xux13832 xux13833 xux13834)) (FiniteMap.mkVBalBranch3Size_r xux1340 xux1341 xux1342 xux1343 xux1344 xux13830 xux13831 xux13832 xux13833 xux13834) == LT",fontsize=16,color="magenta"];8006 -> 8031[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8006 -> 8032[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8062[label="primPlusInt (Pos Zero) (FiniteMap.sizeFM FiniteMap.EmptyFM)",fontsize=16,color="black",shape="box"];8062 -> 8071[label="",style="solid", color="black", weight=3]; 27.61/11.34 8063[label="primPlusInt (Pos Zero) (FiniteMap.sizeFM (FiniteMap.Branch xux5590 xux5591 xux5592 xux5593 xux5594))",fontsize=16,color="black",shape="box"];8063 -> 8072[label="",style="solid", color="black", weight=3]; 27.61/11.34 8050[label="primCmpInt (Pos (Succ xux48000)) xux4780 == LT",fontsize=16,color="burlywood",shape="box"];9150[label="xux4780/Pos xux47800",fontsize=10,color="white",style="solid",shape="box"];8050 -> 9150[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9150 -> 8073[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 9151[label="xux4780/Neg xux47800",fontsize=10,color="white",style="solid",shape="box"];8050 -> 9151[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9151 -> 8074[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 8051[label="primCmpInt (Pos Zero) xux4780 == LT",fontsize=16,color="burlywood",shape="box"];9152[label="xux4780/Pos xux47800",fontsize=10,color="white",style="solid",shape="box"];8051 -> 9152[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9152 -> 8075[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 9153[label="xux4780/Neg xux47800",fontsize=10,color="white",style="solid",shape="box"];8051 -> 9153[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9153 -> 8076[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 8052[label="primCmpInt (Neg (Succ xux48000)) xux4780 == LT",fontsize=16,color="burlywood",shape="box"];9154[label="xux4780/Pos xux47800",fontsize=10,color="white",style="solid",shape="box"];8052 -> 9154[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9154 -> 8077[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 9155[label="xux4780/Neg xux47800",fontsize=10,color="white",style="solid",shape="box"];8052 -> 9155[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9155 -> 8078[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 8053[label="primCmpInt (Neg Zero) xux4780 == LT",fontsize=16,color="burlywood",shape="box"];9156[label="xux4780/Pos xux47800",fontsize=10,color="white",style="solid",shape="box"];8053 -> 9156[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9156 -> 8079[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 9157[label="xux4780/Neg xux47800",fontsize=10,color="white",style="solid",shape="box"];8053 -> 9157[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9157 -> 8080[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 8065 -> 7381[label="",style="dashed", color="red", weight=0]; 27.61/11.34 8065[label="FiniteMap.mkBalBranch6Size_r xux493 xux494 FiniteMap.EmptyFM xux558 > FiniteMap.sIZE_RATIO * FiniteMap.mkBalBranch6Size_l xux493 xux494 FiniteMap.EmptyFM xux558",fontsize=16,color="magenta"];8065 -> 8081[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8065 -> 8082[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8064[label="FiniteMap.mkBalBranch6MkBalBranch4 xux493 xux494 FiniteMap.EmptyFM xux558 xux493 xux494 FiniteMap.EmptyFM xux557 xux566",fontsize=16,color="burlywood",shape="triangle"];9158[label="xux566/False",fontsize=10,color="white",style="solid",shape="box"];8064 -> 9158[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9158 -> 8083[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 9159[label="xux566/True",fontsize=10,color="white",style="solid",shape="box"];8064 -> 9159[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9159 -> 8084[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 8703[label="xux493",fontsize=16,color="green",shape="box"];8704[label="FiniteMap.EmptyFM",fontsize=16,color="green",shape="box"];8705[label="Zero",fontsize=16,color="green",shape="box"];8706[label="xux494",fontsize=16,color="green",shape="box"];8707[label="xux557",fontsize=16,color="green",shape="box"];8702[label="FiniteMap.mkBranch (Pos (Succ xux631)) xux632 xux633 xux634 xux635",fontsize=16,color="black",shape="triangle"];8702 -> 8853[label="",style="solid", color="black", weight=3]; 27.61/11.34 8054[label="primPlusInt (Pos xux49620) (FiniteMap.sizeFM xux559)",fontsize=16,color="burlywood",shape="box"];9160[label="xux559/FiniteMap.EmptyFM",fontsize=10,color="white",style="solid",shape="box"];8054 -> 9160[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9160 -> 8085[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 9161[label="xux559/FiniteMap.Branch xux5590 xux5591 xux5592 xux5593 xux5594",fontsize=10,color="white",style="solid",shape="box"];8054 -> 9161[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9161 -> 8086[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 8055[label="Pos (Succ (Succ Zero))",fontsize=16,color="green",shape="box"];8056[label="FiniteMap.mkBalBranch6MkBalBranch5 xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Pos xux49620) xux4963 xux4964) xux558 xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Pos xux49620) xux4963 xux4964) xux557 False",fontsize=16,color="black",shape="box"];8056 -> 8087[label="",style="solid", color="black", weight=3]; 27.61/11.34 8057[label="FiniteMap.mkBalBranch6MkBalBranch5 xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Pos xux49620) xux4963 xux4964) xux558 xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Pos xux49620) xux4963 xux4964) xux557 True",fontsize=16,color="black",shape="box"];8057 -> 8088[label="",style="solid", color="black", weight=3]; 27.61/11.34 8067[label="primPlusInt (Neg xux49620) (FiniteMap.sizeFM xux559)",fontsize=16,color="burlywood",shape="box"];9162[label="xux559/FiniteMap.EmptyFM",fontsize=10,color="white",style="solid",shape="box"];8067 -> 9162[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9162 -> 8113[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 9163[label="xux559/FiniteMap.Branch xux5590 xux5591 xux5592 xux5593 xux5594",fontsize=10,color="white",style="solid",shape="box"];8067 -> 9163[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9163 -> 8114[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 8068[label="Pos (Succ (Succ Zero))",fontsize=16,color="green",shape="box"];8069[label="FiniteMap.mkBalBranch6MkBalBranch5 xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Neg xux49620) xux4963 xux4964) xux558 xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Neg xux49620) xux4963 xux4964) xux557 False",fontsize=16,color="black",shape="box"];8069 -> 8115[label="",style="solid", color="black", weight=3]; 27.61/11.34 8070[label="FiniteMap.mkBalBranch6MkBalBranch5 xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Neg xux49620) xux4963 xux4964) xux558 xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Neg xux49620) xux4963 xux4964) xux557 True",fontsize=16,color="black",shape="box"];8070 -> 8116[label="",style="solid", color="black", weight=3]; 27.61/11.34 273[label="FiniteMap.splitGT0 False xux31 xux32 xux33 xux34 False True",fontsize=16,color="black",shape="box"];273 -> 293[label="",style="solid", color="black", weight=3]; 27.61/11.34 274[label="FiniteMap.splitGT1 True xux31 xux32 xux33 xux34 False (compare1 False True True == LT)",fontsize=16,color="black",shape="box"];274 -> 294[label="",style="solid", color="black", weight=3]; 27.61/11.34 275[label="FiniteMap.splitGT0 True xux31 xux32 xux33 xux34 True True",fontsize=16,color="black",shape="box"];275 -> 295[label="",style="solid", color="black", weight=3]; 27.61/11.34 276[label="FiniteMap.splitLT0 False xux31 xux32 xux33 xux34 False True",fontsize=16,color="black",shape="box"];276 -> 296[label="",style="solid", color="black", weight=3]; 27.61/11.34 277[label="FiniteMap.splitLT1 False xux31 xux32 xux33 xux34 True (compare2 True False False == GT)",fontsize=16,color="black",shape="box"];277 -> 297[label="",style="solid", color="black", weight=3]; 27.61/11.34 278[label="FiniteMap.splitLT0 True xux31 xux32 xux33 xux34 True True",fontsize=16,color="black",shape="box"];278 -> 298[label="",style="solid", color="black", weight=3]; 27.61/11.34 7077[label="False",fontsize=16,color="green",shape="box"];7801[label="primCmpNat (Succ xux480000) xux47500 == GT",fontsize=16,color="burlywood",shape="box"];9164[label="xux47500/Succ xux475000",fontsize=10,color="white",style="solid",shape="box"];7801 -> 9164[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9164 -> 7840[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 9165[label="xux47500/Zero",fontsize=10,color="white",style="solid",shape="box"];7801 -> 9165[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9165 -> 7841[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 7802[label="primCmpNat Zero xux47500 == GT",fontsize=16,color="burlywood",shape="box"];9166[label="xux47500/Succ xux475000",fontsize=10,color="white",style="solid",shape="box"];7802 -> 9166[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9166 -> 7842[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 9167[label="xux47500/Zero",fontsize=10,color="white",style="solid",shape="box"];7802 -> 9167[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9167 -> 7843[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 7803[label="xux47500",fontsize=16,color="green",shape="box"];7804[label="xux48000",fontsize=16,color="green",shape="box"];7805 -> 7639[label="",style="dashed", color="red", weight=0]; 27.61/11.34 7805[label="LT == GT",fontsize=16,color="magenta"];7806[label="compare0 True False otherwise == GT",fontsize=16,color="black",shape="box"];7806 -> 7844[label="",style="solid", color="black", weight=3]; 27.61/11.34 7940[label="FiniteMap.EmptyFM",fontsize=16,color="green",shape="box"];7941[label="compare xux480 xux4780 == LT",fontsize=16,color="black",shape="box"];7941 -> 7989[label="",style="solid", color="black", weight=3]; 27.61/11.34 7942[label="compare xux480 xux4780 == LT",fontsize=16,color="black",shape="box"];7942 -> 7990[label="",style="solid", color="black", weight=3]; 27.61/11.34 7943[label="compare xux480 xux4780 == LT",fontsize=16,color="black",shape="box"];7943 -> 7991[label="",style="solid", color="black", weight=3]; 27.61/11.34 7944[label="compare xux480 xux4780 == LT",fontsize=16,color="black",shape="box"];7944 -> 7992[label="",style="solid", color="black", weight=3]; 27.61/11.34 7945[label="compare xux480 xux4780 == LT",fontsize=16,color="black",shape="box"];7945 -> 7993[label="",style="solid", color="black", weight=3]; 27.61/11.34 7946[label="compare xux480 xux4780 == LT",fontsize=16,color="black",shape="box"];7946 -> 7994[label="",style="solid", color="black", weight=3]; 27.61/11.34 7947[label="xux480",fontsize=16,color="green",shape="box"];7948[label="xux4780",fontsize=16,color="green",shape="box"];7949[label="compare xux480 xux4780 == LT",fontsize=16,color="black",shape="box"];7949 -> 7995[label="",style="solid", color="black", weight=3]; 27.61/11.34 7950[label="compare xux480 xux4780 == LT",fontsize=16,color="black",shape="box"];7950 -> 7996[label="",style="solid", color="black", weight=3]; 27.61/11.34 7951[label="compare xux480 xux4780 == LT",fontsize=16,color="black",shape="box"];7951 -> 7997[label="",style="solid", color="black", weight=3]; 27.61/11.34 7952[label="compare xux480 xux4780 == LT",fontsize=16,color="black",shape="box"];7952 -> 7998[label="",style="solid", color="black", weight=3]; 27.61/11.34 7953[label="compare xux480 xux4780 == LT",fontsize=16,color="black",shape="box"];7953 -> 7999[label="",style="solid", color="black", weight=3]; 27.61/11.34 7954[label="compare xux480 xux4780 == LT",fontsize=16,color="black",shape="box"];7954 -> 8000[label="",style="solid", color="black", weight=3]; 27.61/11.34 7955[label="compare xux480 xux4780 == LT",fontsize=16,color="black",shape="box"];7955 -> 8001[label="",style="solid", color="black", weight=3]; 27.61/11.34 7071[label="Succ xux6200",fontsize=16,color="green",shape="box"];7072[label="primMulNat (Succ (Succ Zero)) (Succ xux6200)",fontsize=16,color="black",shape="box"];7072 -> 7329[label="",style="solid", color="black", weight=3]; 27.61/11.34 2378 -> 2054[label="",style="dashed", color="red", weight=0]; 27.61/11.34 2378[label="primPlusNat xux2100 xux110",fontsize=16,color="magenta"];2378 -> 2441[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 2378 -> 2442[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7073[label="primCmpNat (Succ xux4460) xux520 == LT",fontsize=16,color="burlywood",shape="box"];9168[label="xux520/Succ xux5200",fontsize=10,color="white",style="solid",shape="box"];7073 -> 9168[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9168 -> 7330[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 9169[label="xux520/Zero",fontsize=10,color="white",style="solid",shape="box"];7073 -> 9169[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9169 -> 7331[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 7074 -> 7042[label="",style="dashed", color="red", weight=0]; 27.61/11.34 7074[label="GT == LT",fontsize=16,color="magenta"];7075 -> 7046[label="",style="dashed", color="red", weight=0]; 27.61/11.34 7075[label="LT == LT",fontsize=16,color="magenta"];7078 -> 7046[label="",style="dashed", color="red", weight=0]; 27.61/11.34 7078[label="LT == LT",fontsize=16,color="magenta"];7079[label="primCmpNat xux520 (Succ xux4470) == LT",fontsize=16,color="burlywood",shape="box"];9170[label="xux520/Succ xux5200",fontsize=10,color="white",style="solid",shape="box"];7079 -> 9170[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9170 -> 7332[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 9171[label="xux520/Zero",fontsize=10,color="white",style="solid",shape="box"];7079 -> 9171[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9171 -> 7333[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 7081 -> 7042[label="",style="dashed", color="red", weight=0]; 27.61/11.34 7081[label="GT == LT",fontsize=16,color="magenta"];7113[label="xux138200",fontsize=16,color="green",shape="box"];7114 -> 7002[label="",style="dashed", color="red", weight=0]; 27.61/11.34 7114[label="primCmpInt (Pos (Succ xux4600)) (FiniteMap.sizeFM (FiniteMap.Branch xux1340 xux1341 xux1342 xux1343 xux1344)) == LT",fontsize=16,color="magenta"];7114 -> 7334[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7114 -> 7335[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7115 -> 6820[label="",style="dashed", color="red", weight=0]; 27.61/11.34 7115[label="primCmpInt (Pos Zero) (FiniteMap.sizeFM (FiniteMap.Branch xux1340 xux1341 xux1342 xux1343 xux1344)) == LT",fontsize=16,color="magenta"];7115 -> 7336[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7308[label="FiniteMap.mkVBalBranch3MkVBalBranch0 xux1340 xux1341 xux1342 xux1343 xux1344 xux1380 xux1381 (Pos (Succ xux138200)) xux1383 xux1384 xux140 xux141 xux1340 xux1341 xux1342 xux1343 xux1344 xux1380 xux1381 (Pos (Succ xux138200)) xux1383 xux1384 True",fontsize=16,color="black",shape="box"];7308 -> 7337[label="",style="solid", color="black", weight=3]; 27.61/11.34 7309[label="FiniteMap.mkBalBranch6 xux1340 xux1341 xux1343 (FiniteMap.mkVBalBranch xux140 xux141 xux1344 (FiniteMap.Branch xux1380 xux1381 (Pos (Succ xux138200)) xux1383 xux1384))",fontsize=16,color="black",shape="box"];7309 -> 7338[label="",style="solid", color="black", weight=3]; 27.61/11.34 7095[label="xux1342",fontsize=16,color="green",shape="box"];7096[label="FiniteMap.mkVBalBranch3MkVBalBranch0 xux1340 xux1341 xux1342 xux1343 xux1344 xux1380 xux1381 (Pos Zero) xux1383 xux1384 xux140 xux141 xux1340 xux1341 xux1342 xux1343 xux1344 xux1380 xux1381 (Pos Zero) xux1383 xux1384 True",fontsize=16,color="black",shape="box"];7096 -> 7339[label="",style="solid", color="black", weight=3]; 27.61/11.34 7097[label="FiniteMap.mkBalBranch6 xux1340 xux1341 xux1343 (FiniteMap.mkVBalBranch xux140 xux141 xux1344 (FiniteMap.Branch xux1380 xux1381 (Pos Zero) xux1383 xux1384))",fontsize=16,color="black",shape="box"];7097 -> 7340[label="",style="solid", color="black", weight=3]; 27.61/11.34 7310[label="xux138200",fontsize=16,color="green",shape="box"];7311 -> 7008[label="",style="dashed", color="red", weight=0]; 27.61/11.34 7311[label="primCmpInt (Neg (Succ xux4640)) (FiniteMap.sizeFM (FiniteMap.Branch xux1340 xux1341 xux1342 xux1343 xux1344)) == LT",fontsize=16,color="magenta"];7311 -> 7341[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7311 -> 7342[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7312 -> 6920[label="",style="dashed", color="red", weight=0]; 27.61/11.34 7312[label="primCmpInt (Neg Zero) (FiniteMap.sizeFM (FiniteMap.Branch xux1340 xux1341 xux1342 xux1343 xux1344)) == LT",fontsize=16,color="magenta"];7312 -> 7343[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7319[label="FiniteMap.mkVBalBranch3MkVBalBranch0 xux1340 xux1341 xux1342 xux1343 xux1344 xux1380 xux1381 (Neg (Succ xux138200)) xux1383 xux1384 xux140 xux141 xux1340 xux1341 xux1342 xux1343 xux1344 xux1380 xux1381 (Neg (Succ xux138200)) xux1383 xux1384 True",fontsize=16,color="black",shape="box"];7319 -> 7394[label="",style="solid", color="black", weight=3]; 27.61/11.34 7320[label="FiniteMap.mkBalBranch6 xux1340 xux1341 xux1343 (FiniteMap.mkVBalBranch xux140 xux141 xux1344 (FiniteMap.Branch xux1380 xux1381 (Neg (Succ xux138200)) xux1383 xux1384))",fontsize=16,color="black",shape="box"];7320 -> 7395[label="",style="solid", color="black", weight=3]; 27.61/11.34 7116[label="FiniteMap.mkVBalBranch3MkVBalBranch0 xux1340 xux1341 xux1342 xux1343 xux1344 xux1380 xux1381 (Neg Zero) xux1383 xux1384 xux140 xux141 xux1340 xux1341 xux1342 xux1343 xux1344 xux1380 xux1381 (Neg Zero) xux1383 xux1384 True",fontsize=16,color="black",shape="box"];7116 -> 7344[label="",style="solid", color="black", weight=3]; 27.61/11.34 7117[label="FiniteMap.mkBalBranch6 xux1340 xux1341 xux1343 (FiniteMap.mkVBalBranch xux140 xux141 xux1344 (FiniteMap.Branch xux1380 xux1381 (Neg Zero) xux1383 xux1384))",fontsize=16,color="black",shape="box"];7117 -> 7345[label="",style="solid", color="black", weight=3]; 27.61/11.34 8031 -> 8147[label="",style="dashed", color="red", weight=0]; 27.61/11.34 8031[label="primMulInt (Pos (Succ (Succ (Succ (Succ (Succ Zero)))))) (FiniteMap.mkVBalBranch3Size_l xux1340 xux1341 xux1342 xux1343 xux1344 xux13830 xux13831 xux13832 xux13833 xux13834)",fontsize=16,color="magenta"];8031 -> 8148[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8032[label="FiniteMap.mkVBalBranch3Size_r xux1340 xux1341 xux1342 xux1343 xux1344 xux13830 xux13831 xux13832 xux13833 xux13834",fontsize=16,color="black",shape="box"];8032 -> 8090[label="",style="solid", color="black", weight=3]; 27.61/11.34 8071[label="primPlusInt (Pos Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];8071 -> 8117[label="",style="solid", color="black", weight=3]; 27.61/11.34 8072[label="primPlusInt (Pos Zero) xux5592",fontsize=16,color="burlywood",shape="box"];9172[label="xux5592/Pos xux55920",fontsize=10,color="white",style="solid",shape="box"];8072 -> 9172[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9172 -> 8118[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 9173[label="xux5592/Neg xux55920",fontsize=10,color="white",style="solid",shape="box"];8072 -> 9173[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9173 -> 8119[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 8073[label="primCmpInt (Pos (Succ xux48000)) (Pos xux47800) == LT",fontsize=16,color="black",shape="box"];8073 -> 8120[label="",style="solid", color="black", weight=3]; 27.61/11.34 8074[label="primCmpInt (Pos (Succ xux48000)) (Neg xux47800) == LT",fontsize=16,color="black",shape="box"];8074 -> 8121[label="",style="solid", color="black", weight=3]; 27.61/11.34 8075[label="primCmpInt (Pos Zero) (Pos xux47800) == LT",fontsize=16,color="burlywood",shape="box"];9174[label="xux47800/Succ xux478000",fontsize=10,color="white",style="solid",shape="box"];8075 -> 9174[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9174 -> 8122[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 9175[label="xux47800/Zero",fontsize=10,color="white",style="solid",shape="box"];8075 -> 9175[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9175 -> 8123[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 8076[label="primCmpInt (Pos Zero) (Neg xux47800) == LT",fontsize=16,color="burlywood",shape="box"];9176[label="xux47800/Succ xux478000",fontsize=10,color="white",style="solid",shape="box"];8076 -> 9176[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9176 -> 8124[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 9177[label="xux47800/Zero",fontsize=10,color="white",style="solid",shape="box"];8076 -> 9177[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9177 -> 8125[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 8077[label="primCmpInt (Neg (Succ xux48000)) (Pos xux47800) == LT",fontsize=16,color="black",shape="box"];8077 -> 8126[label="",style="solid", color="black", weight=3]; 27.61/11.34 8078[label="primCmpInt (Neg (Succ xux48000)) (Neg xux47800) == LT",fontsize=16,color="black",shape="box"];8078 -> 8127[label="",style="solid", color="black", weight=3]; 27.61/11.34 8079[label="primCmpInt (Neg Zero) (Pos xux47800) == LT",fontsize=16,color="burlywood",shape="box"];9178[label="xux47800/Succ xux478000",fontsize=10,color="white",style="solid",shape="box"];8079 -> 9178[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9178 -> 8128[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 9179[label="xux47800/Zero",fontsize=10,color="white",style="solid",shape="box"];8079 -> 9179[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9179 -> 8129[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 8080[label="primCmpInt (Neg Zero) (Neg xux47800) == LT",fontsize=16,color="burlywood",shape="box"];9180[label="xux47800/Succ xux478000",fontsize=10,color="white",style="solid",shape="box"];8080 -> 9180[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9180 -> 8130[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 9181[label="xux47800/Zero",fontsize=10,color="white",style="solid",shape="box"];8080 -> 9181[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9181 -> 8131[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 8081[label="FiniteMap.mkBalBranch6Size_r xux493 xux494 FiniteMap.EmptyFM xux558",fontsize=16,color="black",shape="triangle"];8081 -> 8132[label="",style="solid", color="black", weight=3]; 27.61/11.34 8082 -> 8258[label="",style="dashed", color="red", weight=0]; 27.61/11.34 8082[label="FiniteMap.sIZE_RATIO * FiniteMap.mkBalBranch6Size_l xux493 xux494 FiniteMap.EmptyFM xux558",fontsize=16,color="magenta"];8082 -> 8259[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8083[label="FiniteMap.mkBalBranch6MkBalBranch4 xux493 xux494 FiniteMap.EmptyFM xux558 xux493 xux494 FiniteMap.EmptyFM xux557 False",fontsize=16,color="black",shape="box"];8083 -> 8134[label="",style="solid", color="black", weight=3]; 27.61/11.34 8084[label="FiniteMap.mkBalBranch6MkBalBranch4 xux493 xux494 FiniteMap.EmptyFM xux558 xux493 xux494 FiniteMap.EmptyFM xux557 True",fontsize=16,color="black",shape="box"];8084 -> 8135[label="",style="solid", color="black", weight=3]; 27.61/11.34 8853[label="FiniteMap.mkBranchResult xux632 xux633 xux634 xux635",fontsize=16,color="black",shape="box"];8853 -> 8913[label="",style="solid", color="black", weight=3]; 27.61/11.34 8085[label="primPlusInt (Pos xux49620) (FiniteMap.sizeFM FiniteMap.EmptyFM)",fontsize=16,color="black",shape="box"];8085 -> 8136[label="",style="solid", color="black", weight=3]; 27.61/11.34 8086[label="primPlusInt (Pos xux49620) (FiniteMap.sizeFM (FiniteMap.Branch xux5590 xux5591 xux5592 xux5593 xux5594))",fontsize=16,color="black",shape="box"];8086 -> 8137[label="",style="solid", color="black", weight=3]; 27.61/11.34 8087 -> 8138[label="",style="dashed", color="red", weight=0]; 27.61/11.34 8087[label="FiniteMap.mkBalBranch6MkBalBranch4 xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Pos xux49620) xux4963 xux4964) xux558 xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Pos xux49620) xux4963 xux4964) xux557 (FiniteMap.mkBalBranch6Size_r xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Pos xux49620) xux4963 xux4964) xux558 > FiniteMap.sIZE_RATIO * FiniteMap.mkBalBranch6Size_l xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Pos xux49620) xux4963 xux4964) xux558)",fontsize=16,color="magenta"];8087 -> 8139[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8088 -> 8702[label="",style="dashed", color="red", weight=0]; 27.61/11.34 8088[label="FiniteMap.mkBranch (Pos (Succ Zero)) xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Pos xux49620) xux4963 xux4964) xux557",fontsize=16,color="magenta"];8088 -> 8708[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8088 -> 8709[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8088 -> 8710[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8088 -> 8711[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8088 -> 8712[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8113[label="primPlusInt (Neg xux49620) (FiniteMap.sizeFM FiniteMap.EmptyFM)",fontsize=16,color="black",shape="box"];8113 -> 8142[label="",style="solid", color="black", weight=3]; 27.61/11.34 8114[label="primPlusInt (Neg xux49620) (FiniteMap.sizeFM (FiniteMap.Branch xux5590 xux5591 xux5592 xux5593 xux5594))",fontsize=16,color="black",shape="box"];8114 -> 8143[label="",style="solid", color="black", weight=3]; 27.61/11.34 8115 -> 8144[label="",style="dashed", color="red", weight=0]; 27.61/11.34 8115[label="FiniteMap.mkBalBranch6MkBalBranch4 xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Neg xux49620) xux4963 xux4964) xux558 xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Neg xux49620) xux4963 xux4964) xux557 (FiniteMap.mkBalBranch6Size_r xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Neg xux49620) xux4963 xux4964) xux558 > FiniteMap.sIZE_RATIO * FiniteMap.mkBalBranch6Size_l xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Neg xux49620) xux4963 xux4964) xux558)",fontsize=16,color="magenta"];8115 -> 8145[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8116 -> 8702[label="",style="dashed", color="red", weight=0]; 27.61/11.34 8116[label="FiniteMap.mkBranch (Pos (Succ Zero)) xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Neg xux49620) xux4963 xux4964) xux557",fontsize=16,color="magenta"];8116 -> 8713[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8116 -> 8714[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8116 -> 8715[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8116 -> 8716[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8116 -> 8717[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 293[label="xux34",fontsize=16,color="green",shape="box"];294[label="FiniteMap.splitGT1 True xux31 xux32 xux33 xux34 False (LT == LT)",fontsize=16,color="black",shape="box"];294 -> 432[label="",style="solid", color="black", weight=3]; 27.61/11.34 295[label="xux34",fontsize=16,color="green",shape="box"];296[label="xux33",fontsize=16,color="green",shape="box"];297[label="FiniteMap.splitLT1 False xux31 xux32 xux33 xux34 True (compare1 True False (True <= False) == GT)",fontsize=16,color="black",shape="box"];297 -> 433[label="",style="solid", color="black", weight=3]; 27.61/11.34 298[label="xux33",fontsize=16,color="green",shape="box"];7840[label="primCmpNat (Succ xux480000) (Succ xux475000) == GT",fontsize=16,color="black",shape="box"];7840 -> 7882[label="",style="solid", color="black", weight=3]; 27.61/11.34 7841[label="primCmpNat (Succ xux480000) Zero == GT",fontsize=16,color="black",shape="box"];7841 -> 7883[label="",style="solid", color="black", weight=3]; 27.61/11.34 7842[label="primCmpNat Zero (Succ xux475000) == GT",fontsize=16,color="black",shape="box"];7842 -> 7884[label="",style="solid", color="black", weight=3]; 27.61/11.34 7843[label="primCmpNat Zero Zero == GT",fontsize=16,color="black",shape="box"];7843 -> 7885[label="",style="solid", color="black", weight=3]; 27.61/11.34 7844[label="compare0 True False True == GT",fontsize=16,color="black",shape="box"];7844 -> 7886[label="",style="solid", color="black", weight=3]; 27.61/11.34 7989[label="compare3 xux480 xux4780 == LT",fontsize=16,color="black",shape="box"];7989 -> 8014[label="",style="solid", color="black", weight=3]; 27.61/11.34 7990[label="compare3 xux480 xux4780 == LT",fontsize=16,color="black",shape="box"];7990 -> 8015[label="",style="solid", color="black", weight=3]; 27.61/11.34 7991[label="compare3 xux480 xux4780 == LT",fontsize=16,color="black",shape="box"];7991 -> 8016[label="",style="solid", color="black", weight=3]; 27.61/11.34 7993[label="compare3 xux480 xux4780 == LT",fontsize=16,color="black",shape="box"];7993 -> 8019[label="",style="solid", color="black", weight=3]; 27.61/11.34 7994[label="compare3 xux480 xux4780 == LT",fontsize=16,color="black",shape="box"];7994 -> 8020[label="",style="solid", color="black", weight=3]; 27.61/11.34 7995[label="compare3 xux480 xux4780 == LT",fontsize=16,color="black",shape="box"];7995 -> 8021[label="",style="solid", color="black", weight=3]; 27.61/11.34 7996[label="compare3 xux480 xux4780 == LT",fontsize=16,color="black",shape="box"];7996 -> 8022[label="",style="solid", color="black", weight=3]; 27.61/11.34 7997[label="compare3 xux480 xux4780 == LT",fontsize=16,color="black",shape="box"];7997 -> 8023[label="",style="solid", color="black", weight=3]; 27.61/11.34 7998[label="compare3 xux480 xux4780 == LT",fontsize=16,color="black",shape="box"];7998 -> 8024[label="",style="solid", color="black", weight=3]; 27.61/11.34 7999[label="compare3 xux480 xux4780 == LT",fontsize=16,color="black",shape="box"];7999 -> 8025[label="",style="solid", color="black", weight=3]; 27.61/11.34 8000[label="compare3 xux480 xux4780 == LT",fontsize=16,color="black",shape="box"];8000 -> 8026[label="",style="solid", color="black", weight=3]; 27.61/11.34 8001[label="compare3 xux480 xux4780 == LT",fontsize=16,color="black",shape="box"];8001 -> 8027[label="",style="solid", color="black", weight=3]; 27.61/11.34 7329 -> 2054[label="",style="dashed", color="red", weight=0]; 27.61/11.34 7329[label="primPlusNat (primMulNat (Succ Zero) (Succ xux6200)) (Succ xux6200)",fontsize=16,color="magenta"];7329 -> 7428[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7329 -> 7429[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 2441[label="xux110",fontsize=16,color="green",shape="box"];2442[label="xux2100",fontsize=16,color="green",shape="box"];7330[label="primCmpNat (Succ xux4460) (Succ xux5200) == LT",fontsize=16,color="black",shape="box"];7330 -> 7430[label="",style="solid", color="black", weight=3]; 27.61/11.34 7331[label="primCmpNat (Succ xux4460) Zero == LT",fontsize=16,color="black",shape="box"];7331 -> 7431[label="",style="solid", color="black", weight=3]; 27.61/11.34 7332[label="primCmpNat (Succ xux5200) (Succ xux4470) == LT",fontsize=16,color="black",shape="box"];7332 -> 7432[label="",style="solid", color="black", weight=3]; 27.61/11.34 7333[label="primCmpNat Zero (Succ xux4470) == LT",fontsize=16,color="black",shape="box"];7333 -> 7433[label="",style="solid", color="black", weight=3]; 27.61/11.34 7334 -> 7053[label="",style="dashed", color="red", weight=0]; 27.61/11.34 7334[label="FiniteMap.sizeFM (FiniteMap.Branch xux1340 xux1341 xux1342 xux1343 xux1344)",fontsize=16,color="magenta"];7335[label="xux4600",fontsize=16,color="green",shape="box"];7336 -> 7053[label="",style="dashed", color="red", weight=0]; 27.61/11.34 7336[label="FiniteMap.sizeFM (FiniteMap.Branch xux1340 xux1341 xux1342 xux1343 xux1344)",fontsize=16,color="magenta"];7337 -> 8702[label="",style="dashed", color="red", weight=0]; 27.61/11.34 7337[label="FiniteMap.mkBranch (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))))))))) xux140 xux141 (FiniteMap.Branch xux1340 xux1341 xux1342 xux1343 xux1344) (FiniteMap.Branch xux1380 xux1381 (Pos (Succ xux138200)) xux1383 xux1384)",fontsize=16,color="magenta"];7337 -> 8718[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7337 -> 8719[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7337 -> 8720[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7337 -> 8721[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7337 -> 8722[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7338[label="FiniteMap.mkBalBranch6MkBalBranch5 xux1340 xux1341 xux1343 (FiniteMap.mkVBalBranch xux140 xux141 xux1344 (FiniteMap.Branch xux1380 xux1381 (Pos (Succ xux138200)) xux1383 xux1384)) xux1340 xux1341 xux1343 (FiniteMap.mkVBalBranch xux140 xux141 xux1344 (FiniteMap.Branch xux1380 xux1381 (Pos (Succ xux138200)) xux1383 xux1384)) (FiniteMap.mkBalBranch6Size_l xux1340 xux1341 xux1343 (FiniteMap.mkVBalBranch xux140 xux141 xux1344 (FiniteMap.Branch xux1380 xux1381 (Pos (Succ xux138200)) xux1383 xux1384)) + FiniteMap.mkBalBranch6Size_r xux1340 xux1341 xux1343 (FiniteMap.mkVBalBranch xux140 xux141 xux1344 (FiniteMap.Branch xux1380 xux1381 (Pos (Succ xux138200)) xux1383 xux1384)) < Pos (Succ (Succ Zero)))",fontsize=16,color="black",shape="box"];7338 -> 7469[label="",style="solid", color="black", weight=3]; 27.61/11.34 7339 -> 8702[label="",style="dashed", color="red", weight=0]; 27.61/11.34 7339[label="FiniteMap.mkBranch (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))))))))) xux140 xux141 (FiniteMap.Branch xux1340 xux1341 xux1342 xux1343 xux1344) (FiniteMap.Branch xux1380 xux1381 (Pos Zero) xux1383 xux1384)",fontsize=16,color="magenta"];7339 -> 8723[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7339 -> 8724[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7339 -> 8725[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7339 -> 8726[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7339 -> 8727[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7340[label="FiniteMap.mkBalBranch6MkBalBranch5 xux1340 xux1341 xux1343 (FiniteMap.mkVBalBranch xux140 xux141 xux1344 (FiniteMap.Branch xux1380 xux1381 (Pos Zero) xux1383 xux1384)) xux1340 xux1341 xux1343 (FiniteMap.mkVBalBranch xux140 xux141 xux1344 (FiniteMap.Branch xux1380 xux1381 (Pos Zero) xux1383 xux1384)) (FiniteMap.mkBalBranch6Size_l xux1340 xux1341 xux1343 (FiniteMap.mkVBalBranch xux140 xux141 xux1344 (FiniteMap.Branch xux1380 xux1381 (Pos Zero) xux1383 xux1384)) + FiniteMap.mkBalBranch6Size_r xux1340 xux1341 xux1343 (FiniteMap.mkVBalBranch xux140 xux141 xux1344 (FiniteMap.Branch xux1380 xux1381 (Pos Zero) xux1383 xux1384)) < Pos (Succ (Succ Zero)))",fontsize=16,color="black",shape="box"];7340 -> 7505[label="",style="solid", color="black", weight=3]; 27.61/11.34 7341 -> 7053[label="",style="dashed", color="red", weight=0]; 27.61/11.34 7341[label="FiniteMap.sizeFM (FiniteMap.Branch xux1340 xux1341 xux1342 xux1343 xux1344)",fontsize=16,color="magenta"];7342[label="xux4640",fontsize=16,color="green",shape="box"];7343 -> 7053[label="",style="dashed", color="red", weight=0]; 27.61/11.34 7343[label="FiniteMap.sizeFM (FiniteMap.Branch xux1340 xux1341 xux1342 xux1343 xux1344)",fontsize=16,color="magenta"];7394 -> 8702[label="",style="dashed", color="red", weight=0]; 27.61/11.34 7394[label="FiniteMap.mkBranch (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))))))))) xux140 xux141 (FiniteMap.Branch xux1340 xux1341 xux1342 xux1343 xux1344) (FiniteMap.Branch xux1380 xux1381 (Neg (Succ xux138200)) xux1383 xux1384)",fontsize=16,color="magenta"];7394 -> 8728[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7394 -> 8729[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7394 -> 8730[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7394 -> 8731[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7394 -> 8732[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7395[label="FiniteMap.mkBalBranch6MkBalBranch5 xux1340 xux1341 xux1343 (FiniteMap.mkVBalBranch xux140 xux141 xux1344 (FiniteMap.Branch xux1380 xux1381 (Neg (Succ xux138200)) xux1383 xux1384)) xux1340 xux1341 xux1343 (FiniteMap.mkVBalBranch xux140 xux141 xux1344 (FiniteMap.Branch xux1380 xux1381 (Neg (Succ xux138200)) xux1383 xux1384)) (FiniteMap.mkBalBranch6Size_l xux1340 xux1341 xux1343 (FiniteMap.mkVBalBranch xux140 xux141 xux1344 (FiniteMap.Branch xux1380 xux1381 (Neg (Succ xux138200)) xux1383 xux1384)) + FiniteMap.mkBalBranch6Size_r xux1340 xux1341 xux1343 (FiniteMap.mkVBalBranch xux140 xux141 xux1344 (FiniteMap.Branch xux1380 xux1381 (Neg (Succ xux138200)) xux1383 xux1384)) < Pos (Succ (Succ Zero)))",fontsize=16,color="black",shape="box"];7395 -> 7545[label="",style="solid", color="black", weight=3]; 27.61/11.34 7344 -> 8702[label="",style="dashed", color="red", weight=0]; 27.61/11.34 7344[label="FiniteMap.mkBranch (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))))))))) xux140 xux141 (FiniteMap.Branch xux1340 xux1341 xux1342 xux1343 xux1344) (FiniteMap.Branch xux1380 xux1381 (Neg Zero) xux1383 xux1384)",fontsize=16,color="magenta"];7344 -> 8733[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7344 -> 8734[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7344 -> 8735[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7344 -> 8736[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7344 -> 8737[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7345[label="FiniteMap.mkBalBranch6MkBalBranch5 xux1340 xux1341 xux1343 (FiniteMap.mkVBalBranch xux140 xux141 xux1344 (FiniteMap.Branch xux1380 xux1381 (Neg Zero) xux1383 xux1384)) xux1340 xux1341 xux1343 (FiniteMap.mkVBalBranch xux140 xux141 xux1344 (FiniteMap.Branch xux1380 xux1381 (Neg Zero) xux1383 xux1384)) (FiniteMap.mkBalBranch6Size_l xux1340 xux1341 xux1343 (FiniteMap.mkVBalBranch xux140 xux141 xux1344 (FiniteMap.Branch xux1380 xux1381 (Neg Zero) xux1383 xux1384)) + FiniteMap.mkBalBranch6Size_r xux1340 xux1341 xux1343 (FiniteMap.mkVBalBranch xux140 xux141 xux1344 (FiniteMap.Branch xux1380 xux1381 (Neg Zero) xux1383 xux1384)) < Pos (Succ (Succ Zero)))",fontsize=16,color="black",shape="box"];7345 -> 7591[label="",style="solid", color="black", weight=3]; 27.61/11.34 8148[label="FiniteMap.mkVBalBranch3Size_l xux1340 xux1341 xux1342 xux1343 xux1344 xux13830 xux13831 xux13832 xux13833 xux13834",fontsize=16,color="black",shape="box"];8148 -> 8150[label="",style="solid", color="black", weight=3]; 27.61/11.34 8147[label="primMulInt (Pos (Succ (Succ (Succ (Succ (Succ Zero)))))) xux571",fontsize=16,color="burlywood",shape="triangle"];9182[label="xux571/Pos xux5710",fontsize=10,color="white",style="solid",shape="box"];8147 -> 9182[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9182 -> 8151[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 9183[label="xux571/Neg xux5710",fontsize=10,color="white",style="solid",shape="box"];8147 -> 9183[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9183 -> 8152[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 8090 -> 7053[label="",style="dashed", color="red", weight=0]; 27.61/11.34 8090[label="FiniteMap.sizeFM (FiniteMap.Branch xux13830 xux13831 xux13832 xux13833 xux13834)",fontsize=16,color="magenta"];8090 -> 8153[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8090 -> 8154[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8090 -> 8155[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8090 -> 8156[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8090 -> 8157[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8117[label="Pos (primPlusNat Zero Zero)",fontsize=16,color="green",shape="box"];8117 -> 8158[label="",style="dashed", color="green", weight=3]; 27.61/11.34 8118[label="primPlusInt (Pos Zero) (Pos xux55920)",fontsize=16,color="black",shape="box"];8118 -> 8159[label="",style="solid", color="black", weight=3]; 27.61/11.34 8119[label="primPlusInt (Pos Zero) (Neg xux55920)",fontsize=16,color="black",shape="box"];8119 -> 8160[label="",style="solid", color="black", weight=3]; 27.61/11.34 8120 -> 7430[label="",style="dashed", color="red", weight=0]; 27.61/11.34 8120[label="primCmpNat (Succ xux48000) xux47800 == LT",fontsize=16,color="magenta"];8120 -> 8161[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8120 -> 8162[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8121 -> 7042[label="",style="dashed", color="red", weight=0]; 27.61/11.34 8121[label="GT == LT",fontsize=16,color="magenta"];8122[label="primCmpInt (Pos Zero) (Pos (Succ xux478000)) == LT",fontsize=16,color="black",shape="box"];8122 -> 8163[label="",style="solid", color="black", weight=3]; 27.61/11.34 8123[label="primCmpInt (Pos Zero) (Pos Zero) == LT",fontsize=16,color="black",shape="box"];8123 -> 8164[label="",style="solid", color="black", weight=3]; 27.61/11.34 8124[label="primCmpInt (Pos Zero) (Neg (Succ xux478000)) == LT",fontsize=16,color="black",shape="box"];8124 -> 8165[label="",style="solid", color="black", weight=3]; 27.61/11.34 8125[label="primCmpInt (Pos Zero) (Neg Zero) == LT",fontsize=16,color="black",shape="box"];8125 -> 8166[label="",style="solid", color="black", weight=3]; 27.61/11.34 8126 -> 7046[label="",style="dashed", color="red", weight=0]; 27.61/11.34 8126[label="LT == LT",fontsize=16,color="magenta"];8127 -> 7430[label="",style="dashed", color="red", weight=0]; 27.61/11.34 8127[label="primCmpNat xux47800 (Succ xux48000) == LT",fontsize=16,color="magenta"];8127 -> 8167[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8127 -> 8168[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8128[label="primCmpInt (Neg Zero) (Pos (Succ xux478000)) == LT",fontsize=16,color="black",shape="box"];8128 -> 8169[label="",style="solid", color="black", weight=3]; 27.61/11.34 8129[label="primCmpInt (Neg Zero) (Pos Zero) == LT",fontsize=16,color="black",shape="box"];8129 -> 8170[label="",style="solid", color="black", weight=3]; 27.61/11.34 8130[label="primCmpInt (Neg Zero) (Neg (Succ xux478000)) == LT",fontsize=16,color="black",shape="box"];8130 -> 8171[label="",style="solid", color="black", weight=3]; 27.61/11.34 8131[label="primCmpInt (Neg Zero) (Neg Zero) == LT",fontsize=16,color="black",shape="box"];8131 -> 8172[label="",style="solid", color="black", weight=3]; 27.61/11.34 8132[label="FiniteMap.sizeFM xux558",fontsize=16,color="burlywood",shape="triangle"];9184[label="xux558/FiniteMap.EmptyFM",fontsize=10,color="white",style="solid",shape="box"];8132 -> 9184[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9184 -> 8173[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 9185[label="xux558/FiniteMap.Branch xux5580 xux5581 xux5582 xux5583 xux5584",fontsize=10,color="white",style="solid",shape="box"];8132 -> 9185[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9185 -> 8174[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 8259 -> 8211[label="",style="dashed", color="red", weight=0]; 27.61/11.34 8259[label="FiniteMap.mkBalBranch6Size_l xux493 xux494 FiniteMap.EmptyFM xux558",fontsize=16,color="magenta"];8258[label="FiniteMap.sIZE_RATIO * xux576",fontsize=16,color="black",shape="triangle"];8258 -> 8263[label="",style="solid", color="black", weight=3]; 27.61/11.34 8134 -> 8176[label="",style="dashed", color="red", weight=0]; 27.61/11.34 8134[label="FiniteMap.mkBalBranch6MkBalBranch3 xux493 xux494 FiniteMap.EmptyFM xux558 xux493 xux494 FiniteMap.EmptyFM xux557 (FiniteMap.mkBalBranch6Size_l xux493 xux494 FiniteMap.EmptyFM xux558 > FiniteMap.sIZE_RATIO * FiniteMap.mkBalBranch6Size_r xux493 xux494 FiniteMap.EmptyFM xux558)",fontsize=16,color="magenta"];8134 -> 8177[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8135[label="FiniteMap.mkBalBranch6MkBalBranch0 xux493 xux494 FiniteMap.EmptyFM xux558 FiniteMap.EmptyFM xux557 xux557",fontsize=16,color="burlywood",shape="box"];9186[label="xux557/FiniteMap.EmptyFM",fontsize=10,color="white",style="solid",shape="box"];8135 -> 9186[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9186 -> 8178[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 9187[label="xux557/FiniteMap.Branch xux5570 xux5571 xux5572 xux5573 xux5574",fontsize=10,color="white",style="solid",shape="box"];8135 -> 9187[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9187 -> 8179[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 8913[label="FiniteMap.Branch xux632 xux633 (FiniteMap.mkBranchUnbox xux634 xux632 xux635 (Pos (Succ Zero) + FiniteMap.mkBranchLeft_size xux634 xux632 xux635 + FiniteMap.mkBranchRight_size xux634 xux632 xux635)) xux634 xux635",fontsize=16,color="green",shape="box"];8913 -> 8924[label="",style="dashed", color="green", weight=3]; 27.61/11.34 8136[label="primPlusInt (Pos xux49620) (Pos Zero)",fontsize=16,color="black",shape="box"];8136 -> 8181[label="",style="solid", color="black", weight=3]; 27.61/11.34 8137[label="primPlusInt (Pos xux49620) xux5592",fontsize=16,color="burlywood",shape="triangle"];9188[label="xux5592/Pos xux55920",fontsize=10,color="white",style="solid",shape="box"];8137 -> 9188[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9188 -> 8182[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 9189[label="xux5592/Neg xux55920",fontsize=10,color="white",style="solid",shape="box"];8137 -> 9189[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9189 -> 8183[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 8139 -> 7381[label="",style="dashed", color="red", weight=0]; 27.61/11.34 8139[label="FiniteMap.mkBalBranch6Size_r xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Pos xux49620) xux4963 xux4964) xux558 > FiniteMap.sIZE_RATIO * FiniteMap.mkBalBranch6Size_l xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Pos xux49620) xux4963 xux4964) xux558",fontsize=16,color="magenta"];8139 -> 8184[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8139 -> 8185[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8138[label="FiniteMap.mkBalBranch6MkBalBranch4 xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Pos xux49620) xux4963 xux4964) xux558 xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Pos xux49620) xux4963 xux4964) xux557 xux569",fontsize=16,color="burlywood",shape="triangle"];9190[label="xux569/False",fontsize=10,color="white",style="solid",shape="box"];8138 -> 9190[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9190 -> 8186[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 9191[label="xux569/True",fontsize=10,color="white",style="solid",shape="box"];8138 -> 9191[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9191 -> 8187[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 8708[label="xux493",fontsize=16,color="green",shape="box"];8709[label="FiniteMap.Branch xux4960 xux4961 (Pos xux49620) xux4963 xux4964",fontsize=16,color="green",shape="box"];8710[label="Zero",fontsize=16,color="green",shape="box"];8711[label="xux494",fontsize=16,color="green",shape="box"];8712[label="xux557",fontsize=16,color="green",shape="box"];8142[label="primPlusInt (Neg xux49620) (Pos Zero)",fontsize=16,color="black",shape="box"];8142 -> 8189[label="",style="solid", color="black", weight=3]; 27.61/11.34 8143[label="primPlusInt (Neg xux49620) xux5592",fontsize=16,color="burlywood",shape="triangle"];9192[label="xux5592/Pos xux55920",fontsize=10,color="white",style="solid",shape="box"];8143 -> 9192[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9192 -> 8190[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 9193[label="xux5592/Neg xux55920",fontsize=10,color="white",style="solid",shape="box"];8143 -> 9193[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9193 -> 8191[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 8145 -> 7381[label="",style="dashed", color="red", weight=0]; 27.61/11.34 8145[label="FiniteMap.mkBalBranch6Size_r xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Neg xux49620) xux4963 xux4964) xux558 > FiniteMap.sIZE_RATIO * FiniteMap.mkBalBranch6Size_l xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Neg xux49620) xux4963 xux4964) xux558",fontsize=16,color="magenta"];8145 -> 8192[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8145 -> 8193[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8144[label="FiniteMap.mkBalBranch6MkBalBranch4 xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Neg xux49620) xux4963 xux4964) xux558 xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Neg xux49620) xux4963 xux4964) xux557 xux570",fontsize=16,color="burlywood",shape="triangle"];9194[label="xux570/False",fontsize=10,color="white",style="solid",shape="box"];8144 -> 9194[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9194 -> 8194[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 9195[label="xux570/True",fontsize=10,color="white",style="solid",shape="box"];8144 -> 9195[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9195 -> 8195[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 8713[label="xux493",fontsize=16,color="green",shape="box"];8714[label="FiniteMap.Branch xux4960 xux4961 (Neg xux49620) xux4963 xux4964",fontsize=16,color="green",shape="box"];8715[label="Zero",fontsize=16,color="green",shape="box"];8716[label="xux494",fontsize=16,color="green",shape="box"];8717[label="xux557",fontsize=16,color="green",shape="box"];432[label="FiniteMap.splitGT1 True xux31 xux32 xux33 xux34 False True",fontsize=16,color="black",shape="box"];432 -> 452[label="",style="solid", color="black", weight=3]; 27.61/11.34 433[label="FiniteMap.splitLT1 False xux31 xux32 xux33 xux34 True (compare1 True False False == GT)",fontsize=16,color="black",shape="box"];433 -> 453[label="",style="solid", color="black", weight=3]; 27.61/11.34 7882 -> 7740[label="",style="dashed", color="red", weight=0]; 27.61/11.34 7882[label="primCmpNat xux480000 xux475000 == GT",fontsize=16,color="magenta"];7882 -> 7956[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7882 -> 7957[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7883 -> 7634[label="",style="dashed", color="red", weight=0]; 27.61/11.34 7883[label="GT == GT",fontsize=16,color="magenta"];7884 -> 7639[label="",style="dashed", color="red", weight=0]; 27.61/11.34 7884[label="LT == GT",fontsize=16,color="magenta"];7885 -> 7687[label="",style="dashed", color="red", weight=0]; 27.61/11.34 7885[label="EQ == GT",fontsize=16,color="magenta"];7886 -> 7634[label="",style="dashed", color="red", weight=0]; 27.61/11.34 7886[label="GT == GT",fontsize=16,color="magenta"];8014[label="compare2 xux480 xux4780 (xux480 == xux4780) == LT",fontsize=16,color="black",shape="box"];8014 -> 8091[label="",style="solid", color="black", weight=3]; 27.61/11.34 8015[label="compare2 xux480 xux4780 (xux480 == xux4780) == LT",fontsize=16,color="black",shape="box"];8015 -> 8092[label="",style="solid", color="black", weight=3]; 27.61/11.34 8016[label="compare2 xux480 xux4780 (xux480 == xux4780) == LT",fontsize=16,color="black",shape="box"];8016 -> 8093[label="",style="solid", color="black", weight=3]; 27.61/11.34 8019[label="compare2 xux480 xux4780 (xux480 == xux4780) == LT",fontsize=16,color="black",shape="box"];8019 -> 8094[label="",style="solid", color="black", weight=3]; 27.61/11.34 8020[label="compare2 xux480 xux4780 (xux480 == xux4780) == LT",fontsize=16,color="black",shape="box"];8020 -> 8095[label="",style="solid", color="black", weight=3]; 27.61/11.34 8021[label="compare2 xux480 xux4780 (xux480 == xux4780) == LT",fontsize=16,color="black",shape="box"];8021 -> 8096[label="",style="solid", color="black", weight=3]; 27.61/11.34 8022[label="compare2 xux480 xux4780 (xux480 == xux4780) == LT",fontsize=16,color="black",shape="box"];8022 -> 8097[label="",style="solid", color="black", weight=3]; 27.61/11.34 8023[label="compare2 xux480 xux4780 (xux480 == xux4780) == LT",fontsize=16,color="black",shape="box"];8023 -> 8098[label="",style="solid", color="black", weight=3]; 27.61/11.34 8024[label="compare2 xux480 xux4780 (xux480 == xux4780) == LT",fontsize=16,color="burlywood",shape="box"];9196[label="xux480/LT",fontsize=10,color="white",style="solid",shape="box"];8024 -> 9196[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9196 -> 8099[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 9197[label="xux480/EQ",fontsize=10,color="white",style="solid",shape="box"];8024 -> 9197[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9197 -> 8100[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 9198[label="xux480/GT",fontsize=10,color="white",style="solid",shape="box"];8024 -> 9198[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9198 -> 8101[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 8025[label="compare2 xux480 xux4780 (xux480 == xux4780) == LT",fontsize=16,color="black",shape="box"];8025 -> 8102[label="",style="solid", color="black", weight=3]; 27.61/11.34 8026[label="compare2 xux480 xux4780 (xux480 == xux4780) == LT",fontsize=16,color="black",shape="box"];8026 -> 8103[label="",style="solid", color="black", weight=3]; 27.61/11.34 8027[label="compare2 xux480 xux4780 (xux480 == xux4780) == LT",fontsize=16,color="black",shape="box"];8027 -> 8104[label="",style="solid", color="black", weight=3]; 27.61/11.34 7428[label="Succ xux6200",fontsize=16,color="green",shape="box"];7429[label="primMulNat (Succ Zero) (Succ xux6200)",fontsize=16,color="black",shape="triangle"];7429 -> 7722[label="",style="solid", color="black", weight=3]; 27.61/11.34 7430[label="primCmpNat xux4460 xux5200 == LT",fontsize=16,color="burlywood",shape="triangle"];9199[label="xux4460/Succ xux44600",fontsize=10,color="white",style="solid",shape="box"];7430 -> 9199[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9199 -> 7723[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 9200[label="xux4460/Zero",fontsize=10,color="white",style="solid",shape="box"];7430 -> 9200[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9200 -> 7724[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 7431 -> 7042[label="",style="dashed", color="red", weight=0]; 27.61/11.34 7431[label="GT == LT",fontsize=16,color="magenta"];7432 -> 7430[label="",style="dashed", color="red", weight=0]; 27.61/11.34 7432[label="primCmpNat xux5200 xux4470 == LT",fontsize=16,color="magenta"];7432 -> 7725[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7432 -> 7726[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7433 -> 7046[label="",style="dashed", color="red", weight=0]; 27.61/11.34 7433[label="LT == LT",fontsize=16,color="magenta"];8718[label="xux140",fontsize=16,color="green",shape="box"];8719[label="FiniteMap.Branch xux1340 xux1341 xux1342 xux1343 xux1344",fontsize=16,color="green",shape="box"];8720[label="Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))))))",fontsize=16,color="green",shape="box"];8721[label="xux141",fontsize=16,color="green",shape="box"];8722[label="FiniteMap.Branch xux1380 xux1381 (Pos (Succ xux138200)) xux1383 xux1384",fontsize=16,color="green",shape="box"];7469[label="FiniteMap.mkBalBranch6MkBalBranch5 xux1340 xux1341 xux1343 (FiniteMap.mkVBalBranch xux140 xux141 xux1344 (FiniteMap.Branch xux1380 xux1381 (Pos (Succ xux138200)) xux1383 xux1384)) xux1340 xux1341 xux1343 (FiniteMap.mkVBalBranch xux140 xux141 xux1344 (FiniteMap.Branch xux1380 xux1381 (Pos (Succ xux138200)) xux1383 xux1384)) (compare (FiniteMap.mkBalBranch6Size_l xux1340 xux1341 xux1343 (FiniteMap.mkVBalBranch xux140 xux141 xux1344 (FiniteMap.Branch xux1380 xux1381 (Pos (Succ xux138200)) xux1383 xux1384)) + FiniteMap.mkBalBranch6Size_r xux1340 xux1341 xux1343 (FiniteMap.mkVBalBranch xux140 xux141 xux1344 (FiniteMap.Branch xux1380 xux1381 (Pos (Succ xux138200)) xux1383 xux1384))) (Pos (Succ (Succ Zero))) == LT)",fontsize=16,color="black",shape="box"];7469 -> 7728[label="",style="solid", color="black", weight=3]; 27.61/11.34 8723[label="xux140",fontsize=16,color="green",shape="box"];8724[label="FiniteMap.Branch xux1340 xux1341 xux1342 xux1343 xux1344",fontsize=16,color="green",shape="box"];8725[label="Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))))))",fontsize=16,color="green",shape="box"];8726[label="xux141",fontsize=16,color="green",shape="box"];8727[label="FiniteMap.Branch xux1380 xux1381 (Pos Zero) xux1383 xux1384",fontsize=16,color="green",shape="box"];7505[label="FiniteMap.mkBalBranch6MkBalBranch5 xux1340 xux1341 xux1343 (FiniteMap.mkVBalBranch xux140 xux141 xux1344 (FiniteMap.Branch xux1380 xux1381 (Pos Zero) xux1383 xux1384)) xux1340 xux1341 xux1343 (FiniteMap.mkVBalBranch xux140 xux141 xux1344 (FiniteMap.Branch xux1380 xux1381 (Pos Zero) xux1383 xux1384)) (compare (FiniteMap.mkBalBranch6Size_l xux1340 xux1341 xux1343 (FiniteMap.mkVBalBranch xux140 xux141 xux1344 (FiniteMap.Branch xux1380 xux1381 (Pos Zero) xux1383 xux1384)) + FiniteMap.mkBalBranch6Size_r xux1340 xux1341 xux1343 (FiniteMap.mkVBalBranch xux140 xux141 xux1344 (FiniteMap.Branch xux1380 xux1381 (Pos Zero) xux1383 xux1384))) (Pos (Succ (Succ Zero))) == LT)",fontsize=16,color="black",shape="box"];7505 -> 7730[label="",style="solid", color="black", weight=3]; 27.61/11.34 8728[label="xux140",fontsize=16,color="green",shape="box"];8729[label="FiniteMap.Branch xux1340 xux1341 xux1342 xux1343 xux1344",fontsize=16,color="green",shape="box"];8730[label="Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))))))",fontsize=16,color="green",shape="box"];8731[label="xux141",fontsize=16,color="green",shape="box"];8732[label="FiniteMap.Branch xux1380 xux1381 (Neg (Succ xux138200)) xux1383 xux1384",fontsize=16,color="green",shape="box"];7545[label="FiniteMap.mkBalBranch6MkBalBranch5 xux1340 xux1341 xux1343 (FiniteMap.mkVBalBranch xux140 xux141 xux1344 (FiniteMap.Branch xux1380 xux1381 (Neg (Succ xux138200)) xux1383 xux1384)) xux1340 xux1341 xux1343 (FiniteMap.mkVBalBranch xux140 xux141 xux1344 (FiniteMap.Branch xux1380 xux1381 (Neg (Succ xux138200)) xux1383 xux1384)) (compare (FiniteMap.mkBalBranch6Size_l xux1340 xux1341 xux1343 (FiniteMap.mkVBalBranch xux140 xux141 xux1344 (FiniteMap.Branch xux1380 xux1381 (Neg (Succ xux138200)) xux1383 xux1384)) + FiniteMap.mkBalBranch6Size_r xux1340 xux1341 xux1343 (FiniteMap.mkVBalBranch xux140 xux141 xux1344 (FiniteMap.Branch xux1380 xux1381 (Neg (Succ xux138200)) xux1383 xux1384))) (Pos (Succ (Succ Zero))) == LT)",fontsize=16,color="black",shape="box"];7545 -> 7732[label="",style="solid", color="black", weight=3]; 27.61/11.34 8733[label="xux140",fontsize=16,color="green",shape="box"];8734[label="FiniteMap.Branch xux1340 xux1341 xux1342 xux1343 xux1344",fontsize=16,color="green",shape="box"];8735[label="Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))))))",fontsize=16,color="green",shape="box"];8736[label="xux141",fontsize=16,color="green",shape="box"];8737[label="FiniteMap.Branch xux1380 xux1381 (Neg Zero) xux1383 xux1384",fontsize=16,color="green",shape="box"];7591[label="FiniteMap.mkBalBranch6MkBalBranch5 xux1340 xux1341 xux1343 (FiniteMap.mkVBalBranch xux140 xux141 xux1344 (FiniteMap.Branch xux1380 xux1381 (Neg Zero) xux1383 xux1384)) xux1340 xux1341 xux1343 (FiniteMap.mkVBalBranch xux140 xux141 xux1344 (FiniteMap.Branch xux1380 xux1381 (Neg Zero) xux1383 xux1384)) (compare (FiniteMap.mkBalBranch6Size_l xux1340 xux1341 xux1343 (FiniteMap.mkVBalBranch xux140 xux141 xux1344 (FiniteMap.Branch xux1380 xux1381 (Neg Zero) xux1383 xux1384)) + FiniteMap.mkBalBranch6Size_r xux1340 xux1341 xux1343 (FiniteMap.mkVBalBranch xux140 xux141 xux1344 (FiniteMap.Branch xux1380 xux1381 (Neg Zero) xux1383 xux1384))) (Pos (Succ (Succ Zero))) == LT)",fontsize=16,color="black",shape="box"];7591 -> 7734[label="",style="solid", color="black", weight=3]; 27.61/11.34 8150 -> 8132[label="",style="dashed", color="red", weight=0]; 27.61/11.34 8150[label="FiniteMap.sizeFM (FiniteMap.Branch xux1340 xux1341 xux1342 xux1343 xux1344)",fontsize=16,color="magenta"];8150 -> 8197[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8151[label="primMulInt (Pos (Succ (Succ (Succ (Succ (Succ Zero)))))) (Pos xux5710)",fontsize=16,color="black",shape="box"];8151 -> 8198[label="",style="solid", color="black", weight=3]; 27.61/11.34 8152[label="primMulInt (Pos (Succ (Succ (Succ (Succ (Succ Zero)))))) (Neg xux5710)",fontsize=16,color="black",shape="box"];8152 -> 8199[label="",style="solid", color="black", weight=3]; 27.61/11.34 8153[label="xux13831",fontsize=16,color="green",shape="box"];8154[label="xux13830",fontsize=16,color="green",shape="box"];8155[label="xux13834",fontsize=16,color="green",shape="box"];8156[label="xux13833",fontsize=16,color="green",shape="box"];8157[label="xux13832",fontsize=16,color="green",shape="box"];8158 -> 2054[label="",style="dashed", color="red", weight=0]; 27.61/11.34 8158[label="primPlusNat Zero Zero",fontsize=16,color="magenta"];8158 -> 8200[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8158 -> 8201[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8159[label="Pos (primPlusNat Zero xux55920)",fontsize=16,color="green",shape="box"];8159 -> 8202[label="",style="dashed", color="green", weight=3]; 27.61/11.34 8160[label="primMinusNat Zero xux55920",fontsize=16,color="burlywood",shape="triangle"];9201[label="xux55920/Succ xux559200",fontsize=10,color="white",style="solid",shape="box"];8160 -> 9201[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9201 -> 8203[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 9202[label="xux55920/Zero",fontsize=10,color="white",style="solid",shape="box"];8160 -> 9202[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9202 -> 8204[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 8161[label="Succ xux48000",fontsize=16,color="green",shape="box"];8162[label="xux47800",fontsize=16,color="green",shape="box"];8163 -> 7430[label="",style="dashed", color="red", weight=0]; 27.61/11.34 8163[label="primCmpNat Zero (Succ xux478000) == LT",fontsize=16,color="magenta"];8163 -> 8205[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8163 -> 8206[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8164 -> 7041[label="",style="dashed", color="red", weight=0]; 27.61/11.34 8164[label="EQ == LT",fontsize=16,color="magenta"];8165 -> 7042[label="",style="dashed", color="red", weight=0]; 27.61/11.34 8165[label="GT == LT",fontsize=16,color="magenta"];8166 -> 7041[label="",style="dashed", color="red", weight=0]; 27.61/11.34 8166[label="EQ == LT",fontsize=16,color="magenta"];8167[label="xux47800",fontsize=16,color="green",shape="box"];8168[label="Succ xux48000",fontsize=16,color="green",shape="box"];8169 -> 7046[label="",style="dashed", color="red", weight=0]; 27.61/11.34 8169[label="LT == LT",fontsize=16,color="magenta"];8170 -> 7041[label="",style="dashed", color="red", weight=0]; 27.61/11.34 8170[label="EQ == LT",fontsize=16,color="magenta"];8171 -> 7430[label="",style="dashed", color="red", weight=0]; 27.61/11.34 8171[label="primCmpNat (Succ xux478000) Zero == LT",fontsize=16,color="magenta"];8171 -> 8207[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8171 -> 8208[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8172 -> 7041[label="",style="dashed", color="red", weight=0]; 27.61/11.34 8172[label="EQ == LT",fontsize=16,color="magenta"];8173[label="FiniteMap.sizeFM FiniteMap.EmptyFM",fontsize=16,color="black",shape="box"];8173 -> 8209[label="",style="solid", color="black", weight=3]; 27.61/11.34 8174[label="FiniteMap.sizeFM (FiniteMap.Branch xux5580 xux5581 xux5582 xux5583 xux5584)",fontsize=16,color="black",shape="box"];8174 -> 8210[label="",style="solid", color="black", weight=3]; 27.61/11.34 8211[label="FiniteMap.mkBalBranch6Size_l xux493 xux494 FiniteMap.EmptyFM xux558",fontsize=16,color="black",shape="triangle"];8211 -> 8257[label="",style="solid", color="black", weight=3]; 27.61/11.34 8263[label="primMulInt FiniteMap.sIZE_RATIO xux576",fontsize=16,color="black",shape="box"];8263 -> 8276[label="",style="solid", color="black", weight=3]; 27.61/11.34 8177 -> 7381[label="",style="dashed", color="red", weight=0]; 27.61/11.34 8177[label="FiniteMap.mkBalBranch6Size_l xux493 xux494 FiniteMap.EmptyFM xux558 > FiniteMap.sIZE_RATIO * FiniteMap.mkBalBranch6Size_r xux493 xux494 FiniteMap.EmptyFM xux558",fontsize=16,color="magenta"];8177 -> 8212[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8177 -> 8213[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8176[label="FiniteMap.mkBalBranch6MkBalBranch3 xux493 xux494 FiniteMap.EmptyFM xux558 xux493 xux494 FiniteMap.EmptyFM xux557 xux572",fontsize=16,color="burlywood",shape="triangle"];9203[label="xux572/False",fontsize=10,color="white",style="solid",shape="box"];8176 -> 9203[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9203 -> 8214[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 9204[label="xux572/True",fontsize=10,color="white",style="solid",shape="box"];8176 -> 9204[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9204 -> 8215[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 8178[label="FiniteMap.mkBalBranch6MkBalBranch0 xux493 xux494 FiniteMap.EmptyFM xux558 FiniteMap.EmptyFM FiniteMap.EmptyFM FiniteMap.EmptyFM",fontsize=16,color="black",shape="box"];8178 -> 8232[label="",style="solid", color="black", weight=3]; 27.61/11.34 8179[label="FiniteMap.mkBalBranch6MkBalBranch0 xux493 xux494 FiniteMap.EmptyFM xux558 FiniteMap.EmptyFM (FiniteMap.Branch xux5570 xux5571 xux5572 xux5573 xux5574) (FiniteMap.Branch xux5570 xux5571 xux5572 xux5573 xux5574)",fontsize=16,color="black",shape="box"];8179 -> 8233[label="",style="solid", color="black", weight=3]; 27.61/11.34 8924[label="FiniteMap.mkBranchUnbox xux634 xux632 xux635 (Pos (Succ Zero) + FiniteMap.mkBranchLeft_size xux634 xux632 xux635 + FiniteMap.mkBranchRight_size xux634 xux632 xux635)",fontsize=16,color="black",shape="box"];8924 -> 8945[label="",style="solid", color="black", weight=3]; 27.61/11.34 8181[label="Pos (primPlusNat xux49620 Zero)",fontsize=16,color="green",shape="box"];8181 -> 8235[label="",style="dashed", color="green", weight=3]; 27.61/11.34 8182[label="primPlusInt (Pos xux49620) (Pos xux55920)",fontsize=16,color="black",shape="box"];8182 -> 8236[label="",style="solid", color="black", weight=3]; 27.61/11.34 8183[label="primPlusInt (Pos xux49620) (Neg xux55920)",fontsize=16,color="black",shape="box"];8183 -> 8237[label="",style="solid", color="black", weight=3]; 27.61/11.34 8184[label="FiniteMap.mkBalBranch6Size_r xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Pos xux49620) xux4963 xux4964) xux558",fontsize=16,color="black",shape="triangle"];8184 -> 8238[label="",style="solid", color="black", weight=3]; 27.61/11.34 8185 -> 8258[label="",style="dashed", color="red", weight=0]; 27.61/11.34 8185[label="FiniteMap.sIZE_RATIO * FiniteMap.mkBalBranch6Size_l xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Pos xux49620) xux4963 xux4964) xux558",fontsize=16,color="magenta"];8185 -> 8260[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8186[label="FiniteMap.mkBalBranch6MkBalBranch4 xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Pos xux49620) xux4963 xux4964) xux558 xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Pos xux49620) xux4963 xux4964) xux557 False",fontsize=16,color="black",shape="box"];8186 -> 8240[label="",style="solid", color="black", weight=3]; 27.61/11.34 8187[label="FiniteMap.mkBalBranch6MkBalBranch4 xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Pos xux49620) xux4963 xux4964) xux558 xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Pos xux49620) xux4963 xux4964) xux557 True",fontsize=16,color="black",shape="box"];8187 -> 8241[label="",style="solid", color="black", weight=3]; 27.61/11.34 8189 -> 8160[label="",style="dashed", color="red", weight=0]; 27.61/11.34 8189[label="primMinusNat Zero xux49620",fontsize=16,color="magenta"];8189 -> 8243[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8190[label="primPlusInt (Neg xux49620) (Pos xux55920)",fontsize=16,color="black",shape="box"];8190 -> 8244[label="",style="solid", color="black", weight=3]; 27.61/11.34 8191[label="primPlusInt (Neg xux49620) (Neg xux55920)",fontsize=16,color="black",shape="box"];8191 -> 8245[label="",style="solid", color="black", weight=3]; 27.61/11.34 8192[label="FiniteMap.mkBalBranch6Size_r xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Neg xux49620) xux4963 xux4964) xux558",fontsize=16,color="black",shape="triangle"];8192 -> 8246[label="",style="solid", color="black", weight=3]; 27.61/11.34 8193 -> 8258[label="",style="dashed", color="red", weight=0]; 27.61/11.34 8193[label="FiniteMap.sIZE_RATIO * FiniteMap.mkBalBranch6Size_l xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Neg xux49620) xux4963 xux4964) xux558",fontsize=16,color="magenta"];8193 -> 8261[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8194[label="FiniteMap.mkBalBranch6MkBalBranch4 xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Neg xux49620) xux4963 xux4964) xux558 xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Neg xux49620) xux4963 xux4964) xux557 False",fontsize=16,color="black",shape="box"];8194 -> 8248[label="",style="solid", color="black", weight=3]; 27.61/11.34 8195[label="FiniteMap.mkBalBranch6MkBalBranch4 xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Neg xux49620) xux4963 xux4964) xux558 xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Neg xux49620) xux4963 xux4964) xux557 True",fontsize=16,color="black",shape="box"];8195 -> 8249[label="",style="solid", color="black", weight=3]; 27.61/11.34 452 -> 12[label="",style="dashed", color="red", weight=0]; 27.61/11.34 452[label="FiniteMap.mkVBalBranch True xux31 (FiniteMap.splitGT xux33 False) xux34",fontsize=16,color="magenta"];452 -> 468[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 452 -> 469[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 452 -> 470[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 452 -> 471[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 453[label="FiniteMap.splitLT1 False xux31 xux32 xux33 xux34 True (compare0 True False otherwise == GT)",fontsize=16,color="black",shape="box"];453 -> 472[label="",style="solid", color="black", weight=3]; 27.61/11.34 7956[label="xux480000",fontsize=16,color="green",shape="box"];7957[label="xux475000",fontsize=16,color="green",shape="box"];8091[label="error []",fontsize=16,color="red",shape="box"];8092[label="error []",fontsize=16,color="red",shape="box"];8093[label="error []",fontsize=16,color="red",shape="box"];8094[label="error []",fontsize=16,color="red",shape="box"];8095[label="error []",fontsize=16,color="red",shape="box"];8096[label="error []",fontsize=16,color="red",shape="box"];8097[label="error []",fontsize=16,color="red",shape="box"];8098[label="error []",fontsize=16,color="red",shape="box"];8099[label="compare2 LT xux4780 (LT == xux4780) == LT",fontsize=16,color="burlywood",shape="box"];9205[label="xux4780/LT",fontsize=10,color="white",style="solid",shape="box"];8099 -> 9205[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9205 -> 8216[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 9206[label="xux4780/EQ",fontsize=10,color="white",style="solid",shape="box"];8099 -> 9206[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9206 -> 8217[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 9207[label="xux4780/GT",fontsize=10,color="white",style="solid",shape="box"];8099 -> 9207[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9207 -> 8218[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 8100[label="compare2 EQ xux4780 (EQ == xux4780) == LT",fontsize=16,color="burlywood",shape="box"];9208[label="xux4780/LT",fontsize=10,color="white",style="solid",shape="box"];8100 -> 9208[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9208 -> 8219[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 9209[label="xux4780/EQ",fontsize=10,color="white",style="solid",shape="box"];8100 -> 9209[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9209 -> 8220[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 9210[label="xux4780/GT",fontsize=10,color="white",style="solid",shape="box"];8100 -> 9210[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9210 -> 8221[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 8101[label="compare2 GT xux4780 (GT == xux4780) == LT",fontsize=16,color="burlywood",shape="box"];9211[label="xux4780/LT",fontsize=10,color="white",style="solid",shape="box"];8101 -> 9211[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9211 -> 8222[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 9212[label="xux4780/EQ",fontsize=10,color="white",style="solid",shape="box"];8101 -> 9212[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9212 -> 8223[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 9213[label="xux4780/GT",fontsize=10,color="white",style="solid",shape="box"];8101 -> 9213[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9213 -> 8224[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 8102[label="error []",fontsize=16,color="red",shape="box"];8103[label="error []",fontsize=16,color="red",shape="box"];8104[label="error []",fontsize=16,color="red",shape="box"];7722 -> 2054[label="",style="dashed", color="red", weight=0]; 27.61/11.34 7722[label="primPlusNat (primMulNat Zero (Succ xux6200)) (Succ xux6200)",fontsize=16,color="magenta"];7722 -> 7757[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7722 -> 7758[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7723[label="primCmpNat (Succ xux44600) xux5200 == LT",fontsize=16,color="burlywood",shape="box"];9214[label="xux5200/Succ xux52000",fontsize=10,color="white",style="solid",shape="box"];7723 -> 9214[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9214 -> 7759[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 9215[label="xux5200/Zero",fontsize=10,color="white",style="solid",shape="box"];7723 -> 9215[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9215 -> 7760[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 7724[label="primCmpNat Zero xux5200 == LT",fontsize=16,color="burlywood",shape="box"];9216[label="xux5200/Succ xux52000",fontsize=10,color="white",style="solid",shape="box"];7724 -> 9216[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9216 -> 7761[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 9217[label="xux5200/Zero",fontsize=10,color="white",style="solid",shape="box"];7724 -> 9217[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9217 -> 7762[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 7725[label="xux5200",fontsize=16,color="green",shape="box"];7726[label="xux4470",fontsize=16,color="green",shape="box"];7728 -> 7658[label="",style="dashed", color="red", weight=0]; 27.61/11.34 7728[label="FiniteMap.mkBalBranch6MkBalBranch5 xux1340 xux1341 xux1343 (FiniteMap.mkVBalBranch xux140 xux141 xux1344 (FiniteMap.Branch xux1380 xux1381 (Pos (Succ xux138200)) xux1383 xux1384)) xux1340 xux1341 xux1343 (FiniteMap.mkVBalBranch xux140 xux141 xux1344 (FiniteMap.Branch xux1380 xux1381 (Pos (Succ xux138200)) xux1383 xux1384)) (primCmpInt (FiniteMap.mkBalBranch6Size_l xux1340 xux1341 xux1343 (FiniteMap.mkVBalBranch xux140 xux141 xux1344 (FiniteMap.Branch xux1380 xux1381 (Pos (Succ xux138200)) xux1383 xux1384)) + FiniteMap.mkBalBranch6Size_r xux1340 xux1341 xux1343 (FiniteMap.mkVBalBranch xux140 xux141 xux1344 (FiniteMap.Branch xux1380 xux1381 (Pos (Succ xux138200)) xux1383 xux1384))) (Pos (Succ (Succ Zero))) == LT)",fontsize=16,color="magenta"];7728 -> 7764[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7728 -> 7765[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7728 -> 7766[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7728 -> 7767[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7728 -> 7768[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7728 -> 7769[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7728 -> 7770[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7730 -> 7658[label="",style="dashed", color="red", weight=0]; 27.61/11.34 7730[label="FiniteMap.mkBalBranch6MkBalBranch5 xux1340 xux1341 xux1343 (FiniteMap.mkVBalBranch xux140 xux141 xux1344 (FiniteMap.Branch xux1380 xux1381 (Pos Zero) xux1383 xux1384)) xux1340 xux1341 xux1343 (FiniteMap.mkVBalBranch xux140 xux141 xux1344 (FiniteMap.Branch xux1380 xux1381 (Pos Zero) xux1383 xux1384)) (primCmpInt (FiniteMap.mkBalBranch6Size_l xux1340 xux1341 xux1343 (FiniteMap.mkVBalBranch xux140 xux141 xux1344 (FiniteMap.Branch xux1380 xux1381 (Pos Zero) xux1383 xux1384)) + FiniteMap.mkBalBranch6Size_r xux1340 xux1341 xux1343 (FiniteMap.mkVBalBranch xux140 xux141 xux1344 (FiniteMap.Branch xux1380 xux1381 (Pos Zero) xux1383 xux1384))) (Pos (Succ (Succ Zero))) == LT)",fontsize=16,color="magenta"];7730 -> 7772[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7730 -> 7773[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7730 -> 7774[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7730 -> 7775[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7730 -> 7776[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7730 -> 7777[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7730 -> 7778[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7732 -> 7658[label="",style="dashed", color="red", weight=0]; 27.61/11.34 7732[label="FiniteMap.mkBalBranch6MkBalBranch5 xux1340 xux1341 xux1343 (FiniteMap.mkVBalBranch xux140 xux141 xux1344 (FiniteMap.Branch xux1380 xux1381 (Neg (Succ xux138200)) xux1383 xux1384)) xux1340 xux1341 xux1343 (FiniteMap.mkVBalBranch xux140 xux141 xux1344 (FiniteMap.Branch xux1380 xux1381 (Neg (Succ xux138200)) xux1383 xux1384)) (primCmpInt (FiniteMap.mkBalBranch6Size_l xux1340 xux1341 xux1343 (FiniteMap.mkVBalBranch xux140 xux141 xux1344 (FiniteMap.Branch xux1380 xux1381 (Neg (Succ xux138200)) xux1383 xux1384)) + FiniteMap.mkBalBranch6Size_r xux1340 xux1341 xux1343 (FiniteMap.mkVBalBranch xux140 xux141 xux1344 (FiniteMap.Branch xux1380 xux1381 (Neg (Succ xux138200)) xux1383 xux1384))) (Pos (Succ (Succ Zero))) == LT)",fontsize=16,color="magenta"];7732 -> 7780[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7732 -> 7781[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7732 -> 7782[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7732 -> 7783[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7732 -> 7784[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7732 -> 7785[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7732 -> 7786[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7734 -> 7658[label="",style="dashed", color="red", weight=0]; 27.61/11.34 7734[label="FiniteMap.mkBalBranch6MkBalBranch5 xux1340 xux1341 xux1343 (FiniteMap.mkVBalBranch xux140 xux141 xux1344 (FiniteMap.Branch xux1380 xux1381 (Neg Zero) xux1383 xux1384)) xux1340 xux1341 xux1343 (FiniteMap.mkVBalBranch xux140 xux141 xux1344 (FiniteMap.Branch xux1380 xux1381 (Neg Zero) xux1383 xux1384)) (primCmpInt (FiniteMap.mkBalBranch6Size_l xux1340 xux1341 xux1343 (FiniteMap.mkVBalBranch xux140 xux141 xux1344 (FiniteMap.Branch xux1380 xux1381 (Neg Zero) xux1383 xux1384)) + FiniteMap.mkBalBranch6Size_r xux1340 xux1341 xux1343 (FiniteMap.mkVBalBranch xux140 xux141 xux1344 (FiniteMap.Branch xux1380 xux1381 (Neg Zero) xux1383 xux1384))) (Pos (Succ (Succ Zero))) == LT)",fontsize=16,color="magenta"];7734 -> 7788[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7734 -> 7789[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7734 -> 7790[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7734 -> 7791[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7734 -> 7792[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7734 -> 7793[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7734 -> 7794[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8197[label="FiniteMap.Branch xux1340 xux1341 xux1342 xux1343 xux1344",fontsize=16,color="green",shape="box"];8198[label="Pos (primMulNat (Succ (Succ (Succ (Succ (Succ Zero))))) xux5710)",fontsize=16,color="green",shape="box"];8198 -> 8251[label="",style="dashed", color="green", weight=3]; 27.61/11.34 8199[label="Neg (primMulNat (Succ (Succ (Succ (Succ (Succ Zero))))) xux5710)",fontsize=16,color="green",shape="box"];8199 -> 8252[label="",style="dashed", color="green", weight=3]; 27.61/11.34 8200[label="Zero",fontsize=16,color="green",shape="box"];8201[label="Zero",fontsize=16,color="green",shape="box"];8202 -> 2054[label="",style="dashed", color="red", weight=0]; 27.61/11.34 8202[label="primPlusNat Zero xux55920",fontsize=16,color="magenta"];8202 -> 8253[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8202 -> 8254[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8203[label="primMinusNat Zero (Succ xux559200)",fontsize=16,color="black",shape="box"];8203 -> 8255[label="",style="solid", color="black", weight=3]; 27.61/11.34 8204[label="primMinusNat Zero Zero",fontsize=16,color="black",shape="box"];8204 -> 8256[label="",style="solid", color="black", weight=3]; 27.61/11.34 8205[label="Zero",fontsize=16,color="green",shape="box"];8206[label="Succ xux478000",fontsize=16,color="green",shape="box"];8207[label="Succ xux478000",fontsize=16,color="green",shape="box"];8208[label="Zero",fontsize=16,color="green",shape="box"];8209[label="Pos Zero",fontsize=16,color="green",shape="box"];8210[label="xux5582",fontsize=16,color="green",shape="box"];8257 -> 8132[label="",style="dashed", color="red", weight=0]; 27.61/11.34 8257[label="FiniteMap.sizeFM FiniteMap.EmptyFM",fontsize=16,color="magenta"];8257 -> 8277[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8276 -> 8147[label="",style="dashed", color="red", weight=0]; 27.61/11.34 8276[label="primMulInt (Pos (Succ (Succ (Succ (Succ (Succ Zero)))))) xux576",fontsize=16,color="magenta"];8276 -> 8287[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8212 -> 8211[label="",style="dashed", color="red", weight=0]; 27.61/11.34 8212[label="FiniteMap.mkBalBranch6Size_l xux493 xux494 FiniteMap.EmptyFM xux558",fontsize=16,color="magenta"];8213 -> 8258[label="",style="dashed", color="red", weight=0]; 27.61/11.34 8213[label="FiniteMap.sIZE_RATIO * FiniteMap.mkBalBranch6Size_r xux493 xux494 FiniteMap.EmptyFM xux558",fontsize=16,color="magenta"];8213 -> 8262[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8214[label="FiniteMap.mkBalBranch6MkBalBranch3 xux493 xux494 FiniteMap.EmptyFM xux558 xux493 xux494 FiniteMap.EmptyFM xux557 False",fontsize=16,color="black",shape="box"];8214 -> 8264[label="",style="solid", color="black", weight=3]; 27.61/11.34 8215[label="FiniteMap.mkBalBranch6MkBalBranch3 xux493 xux494 FiniteMap.EmptyFM xux558 xux493 xux494 FiniteMap.EmptyFM xux557 True",fontsize=16,color="black",shape="box"];8215 -> 8265[label="",style="solid", color="black", weight=3]; 27.61/11.34 8232[label="error []",fontsize=16,color="red",shape="box"];8233[label="FiniteMap.mkBalBranch6MkBalBranch02 xux493 xux494 FiniteMap.EmptyFM xux558 FiniteMap.EmptyFM (FiniteMap.Branch xux5570 xux5571 xux5572 xux5573 xux5574) (FiniteMap.Branch xux5570 xux5571 xux5572 xux5573 xux5574)",fontsize=16,color="black",shape="box"];8233 -> 8266[label="",style="solid", color="black", weight=3]; 27.61/11.34 8945[label="Pos (Succ Zero) + FiniteMap.mkBranchLeft_size xux634 xux632 xux635 + FiniteMap.mkBranchRight_size xux634 xux632 xux635",fontsize=16,color="black",shape="box"];8945 -> 8946[label="",style="solid", color="black", weight=3]; 27.61/11.34 8235 -> 2054[label="",style="dashed", color="red", weight=0]; 27.61/11.34 8235[label="primPlusNat xux49620 Zero",fontsize=16,color="magenta"];8235 -> 8268[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8235 -> 8269[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8236[label="Pos (primPlusNat xux49620 xux55920)",fontsize=16,color="green",shape="box"];8236 -> 8270[label="",style="dashed", color="green", weight=3]; 27.61/11.34 8237[label="primMinusNat xux49620 xux55920",fontsize=16,color="burlywood",shape="triangle"];9218[label="xux49620/Succ xux496200",fontsize=10,color="white",style="solid",shape="box"];8237 -> 9218[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9218 -> 8271[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 9219[label="xux49620/Zero",fontsize=10,color="white",style="solid",shape="box"];8237 -> 9219[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9219 -> 8272[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 8238 -> 8132[label="",style="dashed", color="red", weight=0]; 27.61/11.34 8238[label="FiniteMap.sizeFM xux558",fontsize=16,color="magenta"];8260[label="FiniteMap.mkBalBranch6Size_l xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Pos xux49620) xux4963 xux4964) xux558",fontsize=16,color="black",shape="triangle"];8260 -> 8273[label="",style="solid", color="black", weight=3]; 27.61/11.34 8240 -> 8274[label="",style="dashed", color="red", weight=0]; 27.61/11.34 8240[label="FiniteMap.mkBalBranch6MkBalBranch3 xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Pos xux49620) xux4963 xux4964) xux558 xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Pos xux49620) xux4963 xux4964) xux557 (FiniteMap.mkBalBranch6Size_l xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Pos xux49620) xux4963 xux4964) xux558 > FiniteMap.sIZE_RATIO * FiniteMap.mkBalBranch6Size_r xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Pos xux49620) xux4963 xux4964) xux558)",fontsize=16,color="magenta"];8240 -> 8275[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8241[label="FiniteMap.mkBalBranch6MkBalBranch0 xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Pos xux49620) xux4963 xux4964) xux558 (FiniteMap.Branch xux4960 xux4961 (Pos xux49620) xux4963 xux4964) xux557 xux557",fontsize=16,color="burlywood",shape="box"];9220[label="xux557/FiniteMap.EmptyFM",fontsize=10,color="white",style="solid",shape="box"];8241 -> 9220[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9220 -> 8278[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 9221[label="xux557/FiniteMap.Branch xux5570 xux5571 xux5572 xux5573 xux5574",fontsize=10,color="white",style="solid",shape="box"];8241 -> 9221[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9221 -> 8279[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 8243[label="xux49620",fontsize=16,color="green",shape="box"];8244 -> 8237[label="",style="dashed", color="red", weight=0]; 27.61/11.34 8244[label="primMinusNat xux55920 xux49620",fontsize=16,color="magenta"];8244 -> 8281[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8244 -> 8282[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8245[label="Neg (primPlusNat xux49620 xux55920)",fontsize=16,color="green",shape="box"];8245 -> 8283[label="",style="dashed", color="green", weight=3]; 27.61/11.34 8246 -> 8132[label="",style="dashed", color="red", weight=0]; 27.61/11.34 8246[label="FiniteMap.sizeFM xux558",fontsize=16,color="magenta"];8261[label="FiniteMap.mkBalBranch6Size_l xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Neg xux49620) xux4963 xux4964) xux558",fontsize=16,color="black",shape="triangle"];8261 -> 8284[label="",style="solid", color="black", weight=3]; 27.61/11.34 8248 -> 8285[label="",style="dashed", color="red", weight=0]; 27.61/11.34 8248[label="FiniteMap.mkBalBranch6MkBalBranch3 xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Neg xux49620) xux4963 xux4964) xux558 xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Neg xux49620) xux4963 xux4964) xux557 (FiniteMap.mkBalBranch6Size_l xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Neg xux49620) xux4963 xux4964) xux558 > FiniteMap.sIZE_RATIO * FiniteMap.mkBalBranch6Size_r xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Neg xux49620) xux4963 xux4964) xux558)",fontsize=16,color="magenta"];8248 -> 8286[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8249[label="FiniteMap.mkBalBranch6MkBalBranch0 xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Neg xux49620) xux4963 xux4964) xux558 (FiniteMap.Branch xux4960 xux4961 (Neg xux49620) xux4963 xux4964) xux557 xux557",fontsize=16,color="burlywood",shape="box"];9222[label="xux557/FiniteMap.EmptyFM",fontsize=10,color="white",style="solid",shape="box"];8249 -> 9222[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9222 -> 8288[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 9223[label="xux557/FiniteMap.Branch xux5570 xux5571 xux5572 xux5573 xux5574",fontsize=10,color="white",style="solid",shape="box"];8249 -> 9223[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9223 -> 8289[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 468[label="xux34",fontsize=16,color="green",shape="box"];469[label="FiniteMap.splitGT xux33 False",fontsize=16,color="burlywood",shape="box"];9224[label="xux33/FiniteMap.EmptyFM",fontsize=10,color="white",style="solid",shape="box"];469 -> 9224[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9224 -> 489[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 9225[label="xux33/FiniteMap.Branch xux330 xux331 xux332 xux333 xux334",fontsize=10,color="white",style="solid",shape="box"];469 -> 9225[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9225 -> 490[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 470[label="True",fontsize=16,color="green",shape="box"];471[label="xux31",fontsize=16,color="green",shape="box"];472[label="FiniteMap.splitLT1 False xux31 xux32 xux33 xux34 True (compare0 True False True == GT)",fontsize=16,color="black",shape="box"];472 -> 491[label="",style="solid", color="black", weight=3]; 27.61/11.34 8216[label="compare2 LT LT (LT == LT) == LT",fontsize=16,color="black",shape="box"];8216 -> 8291[label="",style="solid", color="black", weight=3]; 27.61/11.34 8217[label="compare2 LT EQ (LT == EQ) == LT",fontsize=16,color="black",shape="box"];8217 -> 8292[label="",style="solid", color="black", weight=3]; 27.61/11.34 8218[label="compare2 LT GT (LT == GT) == LT",fontsize=16,color="black",shape="box"];8218 -> 8293[label="",style="solid", color="black", weight=3]; 27.61/11.34 8219[label="compare2 EQ LT (EQ == LT) == LT",fontsize=16,color="black",shape="box"];8219 -> 8294[label="",style="solid", color="black", weight=3]; 27.61/11.34 8220[label="compare2 EQ EQ (EQ == EQ) == LT",fontsize=16,color="black",shape="box"];8220 -> 8295[label="",style="solid", color="black", weight=3]; 27.61/11.34 8221[label="compare2 EQ GT (EQ == GT) == LT",fontsize=16,color="black",shape="box"];8221 -> 8296[label="",style="solid", color="black", weight=3]; 27.61/11.34 8222[label="compare2 GT LT (GT == LT) == LT",fontsize=16,color="black",shape="box"];8222 -> 8297[label="",style="solid", color="black", weight=3]; 27.61/11.34 8223[label="compare2 GT EQ (GT == EQ) == LT",fontsize=16,color="black",shape="box"];8223 -> 8298[label="",style="solid", color="black", weight=3]; 27.61/11.34 8224[label="compare2 GT GT (GT == GT) == LT",fontsize=16,color="black",shape="box"];8224 -> 8299[label="",style="solid", color="black", weight=3]; 27.61/11.34 7757[label="Succ xux6200",fontsize=16,color="green",shape="box"];7758[label="primMulNat Zero (Succ xux6200)",fontsize=16,color="black",shape="box"];7758 -> 7807[label="",style="solid", color="black", weight=3]; 27.61/11.34 7759[label="primCmpNat (Succ xux44600) (Succ xux52000) == LT",fontsize=16,color="black",shape="box"];7759 -> 7808[label="",style="solid", color="black", weight=3]; 27.61/11.34 7760[label="primCmpNat (Succ xux44600) Zero == LT",fontsize=16,color="black",shape="box"];7760 -> 7809[label="",style="solid", color="black", weight=3]; 27.61/11.34 7761[label="primCmpNat Zero (Succ xux52000) == LT",fontsize=16,color="black",shape="box"];7761 -> 7810[label="",style="solid", color="black", weight=3]; 27.61/11.34 7762[label="primCmpNat Zero Zero == LT",fontsize=16,color="black",shape="box"];7762 -> 7811[label="",style="solid", color="black", weight=3]; 27.61/11.34 7764[label="FiniteMap.mkVBalBranch xux140 xux141 xux1344 (FiniteMap.Branch xux1380 xux1381 (Pos (Succ xux138200)) xux1383 xux1384)",fontsize=16,color="burlywood",shape="triangle"];9226[label="xux1344/FiniteMap.EmptyFM",fontsize=10,color="white",style="solid",shape="box"];7764 -> 9226[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9226 -> 7813[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 9227[label="xux1344/FiniteMap.Branch xux13440 xux13441 xux13442 xux13443 xux13444",fontsize=10,color="white",style="solid",shape="box"];7764 -> 9227[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9227 -> 7814[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 7765[label="xux1341",fontsize=16,color="green",shape="box"];7766 -> 7764[label="",style="dashed", color="red", weight=0]; 27.61/11.34 7766[label="FiniteMap.mkVBalBranch xux140 xux141 xux1344 (FiniteMap.Branch xux1380 xux1381 (Pos (Succ xux138200)) xux1383 xux1384)",fontsize=16,color="magenta"];7767 -> 7764[label="",style="dashed", color="red", weight=0]; 27.61/11.34 7767[label="FiniteMap.mkVBalBranch xux140 xux141 xux1344 (FiniteMap.Branch xux1380 xux1381 (Pos (Succ xux138200)) xux1383 xux1384)",fontsize=16,color="magenta"];7768[label="xux1343",fontsize=16,color="green",shape="box"];7769 -> 7764[label="",style="dashed", color="red", weight=0]; 27.61/11.34 7769[label="FiniteMap.mkVBalBranch xux140 xux141 xux1344 (FiniteMap.Branch xux1380 xux1381 (Pos (Succ xux138200)) xux1383 xux1384)",fontsize=16,color="magenta"];7770[label="xux1340",fontsize=16,color="green",shape="box"];7772[label="FiniteMap.mkVBalBranch xux140 xux141 xux1344 (FiniteMap.Branch xux1380 xux1381 (Pos Zero) xux1383 xux1384)",fontsize=16,color="burlywood",shape="triangle"];9228[label="xux1344/FiniteMap.EmptyFM",fontsize=10,color="white",style="solid",shape="box"];7772 -> 9228[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9228 -> 7816[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 9229[label="xux1344/FiniteMap.Branch xux13440 xux13441 xux13442 xux13443 xux13444",fontsize=10,color="white",style="solid",shape="box"];7772 -> 9229[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9229 -> 7817[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 7773[label="xux1341",fontsize=16,color="green",shape="box"];7774 -> 7772[label="",style="dashed", color="red", weight=0]; 27.61/11.34 7774[label="FiniteMap.mkVBalBranch xux140 xux141 xux1344 (FiniteMap.Branch xux1380 xux1381 (Pos Zero) xux1383 xux1384)",fontsize=16,color="magenta"];7775 -> 7772[label="",style="dashed", color="red", weight=0]; 27.61/11.34 7775[label="FiniteMap.mkVBalBranch xux140 xux141 xux1344 (FiniteMap.Branch xux1380 xux1381 (Pos Zero) xux1383 xux1384)",fontsize=16,color="magenta"];7776[label="xux1343",fontsize=16,color="green",shape="box"];7777 -> 7772[label="",style="dashed", color="red", weight=0]; 27.61/11.34 7777[label="FiniteMap.mkVBalBranch xux140 xux141 xux1344 (FiniteMap.Branch xux1380 xux1381 (Pos Zero) xux1383 xux1384)",fontsize=16,color="magenta"];7778[label="xux1340",fontsize=16,color="green",shape="box"];7780[label="FiniteMap.mkVBalBranch xux140 xux141 xux1344 (FiniteMap.Branch xux1380 xux1381 (Neg (Succ xux138200)) xux1383 xux1384)",fontsize=16,color="burlywood",shape="triangle"];9230[label="xux1344/FiniteMap.EmptyFM",fontsize=10,color="white",style="solid",shape="box"];7780 -> 9230[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9230 -> 7819[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 9231[label="xux1344/FiniteMap.Branch xux13440 xux13441 xux13442 xux13443 xux13444",fontsize=10,color="white",style="solid",shape="box"];7780 -> 9231[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9231 -> 7820[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 7781[label="xux1341",fontsize=16,color="green",shape="box"];7782 -> 7780[label="",style="dashed", color="red", weight=0]; 27.61/11.34 7782[label="FiniteMap.mkVBalBranch xux140 xux141 xux1344 (FiniteMap.Branch xux1380 xux1381 (Neg (Succ xux138200)) xux1383 xux1384)",fontsize=16,color="magenta"];7783 -> 7780[label="",style="dashed", color="red", weight=0]; 27.61/11.34 7783[label="FiniteMap.mkVBalBranch xux140 xux141 xux1344 (FiniteMap.Branch xux1380 xux1381 (Neg (Succ xux138200)) xux1383 xux1384)",fontsize=16,color="magenta"];7784[label="xux1343",fontsize=16,color="green",shape="box"];7785 -> 7780[label="",style="dashed", color="red", weight=0]; 27.61/11.34 7785[label="FiniteMap.mkVBalBranch xux140 xux141 xux1344 (FiniteMap.Branch xux1380 xux1381 (Neg (Succ xux138200)) xux1383 xux1384)",fontsize=16,color="magenta"];7786[label="xux1340",fontsize=16,color="green",shape="box"];7788[label="FiniteMap.mkVBalBranch xux140 xux141 xux1344 (FiniteMap.Branch xux1380 xux1381 (Neg Zero) xux1383 xux1384)",fontsize=16,color="burlywood",shape="triangle"];9232[label="xux1344/FiniteMap.EmptyFM",fontsize=10,color="white",style="solid",shape="box"];7788 -> 9232[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9232 -> 7822[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 9233[label="xux1344/FiniteMap.Branch xux13440 xux13441 xux13442 xux13443 xux13444",fontsize=10,color="white",style="solid",shape="box"];7788 -> 9233[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9233 -> 7823[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 7789[label="xux1341",fontsize=16,color="green",shape="box"];7790 -> 7788[label="",style="dashed", color="red", weight=0]; 27.61/11.34 7790[label="FiniteMap.mkVBalBranch xux140 xux141 xux1344 (FiniteMap.Branch xux1380 xux1381 (Neg Zero) xux1383 xux1384)",fontsize=16,color="magenta"];7791 -> 7788[label="",style="dashed", color="red", weight=0]; 27.61/11.34 7791[label="FiniteMap.mkVBalBranch xux140 xux141 xux1344 (FiniteMap.Branch xux1380 xux1381 (Neg Zero) xux1383 xux1384)",fontsize=16,color="magenta"];7792[label="xux1343",fontsize=16,color="green",shape="box"];7793 -> 7788[label="",style="dashed", color="red", weight=0]; 27.61/11.34 7793[label="FiniteMap.mkVBalBranch xux140 xux141 xux1344 (FiniteMap.Branch xux1380 xux1381 (Neg Zero) xux1383 xux1384)",fontsize=16,color="magenta"];7794[label="xux1340",fontsize=16,color="green",shape="box"];8251[label="primMulNat (Succ (Succ (Succ (Succ (Succ Zero))))) xux5710",fontsize=16,color="burlywood",shape="triangle"];9234[label="xux5710/Succ xux57100",fontsize=10,color="white",style="solid",shape="box"];8251 -> 9234[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9234 -> 8300[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 9235[label="xux5710/Zero",fontsize=10,color="white",style="solid",shape="box"];8251 -> 9235[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9235 -> 8301[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 8252 -> 8251[label="",style="dashed", color="red", weight=0]; 27.61/11.34 8252[label="primMulNat (Succ (Succ (Succ (Succ (Succ Zero))))) xux5710",fontsize=16,color="magenta"];8252 -> 8302[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8253[label="xux55920",fontsize=16,color="green",shape="box"];8254[label="Zero",fontsize=16,color="green",shape="box"];8255[label="Neg (Succ xux559200)",fontsize=16,color="green",shape="box"];8256[label="Pos Zero",fontsize=16,color="green",shape="box"];8277[label="FiniteMap.EmptyFM",fontsize=16,color="green",shape="box"];8287[label="xux576",fontsize=16,color="green",shape="box"];8262 -> 8081[label="",style="dashed", color="red", weight=0]; 27.61/11.34 8262[label="FiniteMap.mkBalBranch6Size_r xux493 xux494 FiniteMap.EmptyFM xux558",fontsize=16,color="magenta"];8264[label="FiniteMap.mkBalBranch6MkBalBranch2 xux493 xux494 FiniteMap.EmptyFM xux558 xux493 xux494 FiniteMap.EmptyFM xux557 otherwise",fontsize=16,color="black",shape="box"];8264 -> 8303[label="",style="solid", color="black", weight=3]; 27.61/11.34 8265[label="FiniteMap.mkBalBranch6MkBalBranch1 xux493 xux494 FiniteMap.EmptyFM xux558 FiniteMap.EmptyFM xux557 FiniteMap.EmptyFM",fontsize=16,color="black",shape="box"];8265 -> 8304[label="",style="solid", color="black", weight=3]; 27.61/11.34 8266 -> 8305[label="",style="dashed", color="red", weight=0]; 27.61/11.34 8266[label="FiniteMap.mkBalBranch6MkBalBranch01 xux493 xux494 FiniteMap.EmptyFM xux558 FiniteMap.EmptyFM (FiniteMap.Branch xux5570 xux5571 xux5572 xux5573 xux5574) xux5570 xux5571 xux5572 xux5573 xux5574 (FiniteMap.sizeFM xux5573 < Pos (Succ (Succ Zero)) * FiniteMap.sizeFM xux5574)",fontsize=16,color="magenta"];8266 -> 8306[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8946 -> 8948[label="",style="dashed", color="red", weight=0]; 27.61/11.34 8946[label="primPlusInt (Pos (Succ Zero) + FiniteMap.mkBranchLeft_size xux634 xux632 xux635) (FiniteMap.mkBranchRight_size xux634 xux632 xux635)",fontsize=16,color="magenta"];8946 -> 8949[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8268[label="Zero",fontsize=16,color="green",shape="box"];8269[label="xux49620",fontsize=16,color="green",shape="box"];8270 -> 2054[label="",style="dashed", color="red", weight=0]; 27.61/11.34 8270[label="primPlusNat xux49620 xux55920",fontsize=16,color="magenta"];8270 -> 8313[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8270 -> 8314[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8271[label="primMinusNat (Succ xux496200) xux55920",fontsize=16,color="burlywood",shape="box"];9236[label="xux55920/Succ xux559200",fontsize=10,color="white",style="solid",shape="box"];8271 -> 9236[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9236 -> 8315[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 9237[label="xux55920/Zero",fontsize=10,color="white",style="solid",shape="box"];8271 -> 9237[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9237 -> 8316[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 8272[label="primMinusNat Zero xux55920",fontsize=16,color="burlywood",shape="box"];9238[label="xux55920/Succ xux559200",fontsize=10,color="white",style="solid",shape="box"];8272 -> 9238[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9238 -> 8317[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 9239[label="xux55920/Zero",fontsize=10,color="white",style="solid",shape="box"];8272 -> 9239[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9239 -> 8318[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 8273 -> 8132[label="",style="dashed", color="red", weight=0]; 27.61/11.34 8273[label="FiniteMap.sizeFM (FiniteMap.Branch xux4960 xux4961 (Pos xux49620) xux4963 xux4964)",fontsize=16,color="magenta"];8273 -> 8319[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8275 -> 7381[label="",style="dashed", color="red", weight=0]; 27.61/11.34 8275[label="FiniteMap.mkBalBranch6Size_l xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Pos xux49620) xux4963 xux4964) xux558 > FiniteMap.sIZE_RATIO * FiniteMap.mkBalBranch6Size_r xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Pos xux49620) xux4963 xux4964) xux558",fontsize=16,color="magenta"];8275 -> 8320[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8275 -> 8321[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8274[label="FiniteMap.mkBalBranch6MkBalBranch3 xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Pos xux49620) xux4963 xux4964) xux558 xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Pos xux49620) xux4963 xux4964) xux557 xux577",fontsize=16,color="burlywood",shape="triangle"];9240[label="xux577/False",fontsize=10,color="white",style="solid",shape="box"];8274 -> 9240[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9240 -> 8322[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 9241[label="xux577/True",fontsize=10,color="white",style="solid",shape="box"];8274 -> 9241[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9241 -> 8323[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 8278[label="FiniteMap.mkBalBranch6MkBalBranch0 xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Pos xux49620) xux4963 xux4964) xux558 (FiniteMap.Branch xux4960 xux4961 (Pos xux49620) xux4963 xux4964) FiniteMap.EmptyFM FiniteMap.EmptyFM",fontsize=16,color="black",shape="box"];8278 -> 8324[label="",style="solid", color="black", weight=3]; 27.61/11.34 8279[label="FiniteMap.mkBalBranch6MkBalBranch0 xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Pos xux49620) xux4963 xux4964) xux558 (FiniteMap.Branch xux4960 xux4961 (Pos xux49620) xux4963 xux4964) (FiniteMap.Branch xux5570 xux5571 xux5572 xux5573 xux5574) (FiniteMap.Branch xux5570 xux5571 xux5572 xux5573 xux5574)",fontsize=16,color="black",shape="box"];8279 -> 8325[label="",style="solid", color="black", weight=3]; 27.61/11.34 8281[label="xux55920",fontsize=16,color="green",shape="box"];8282[label="xux49620",fontsize=16,color="green",shape="box"];8283 -> 2054[label="",style="dashed", color="red", weight=0]; 27.61/11.34 8283[label="primPlusNat xux49620 xux55920",fontsize=16,color="magenta"];8283 -> 8327[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8283 -> 8328[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8284 -> 8132[label="",style="dashed", color="red", weight=0]; 27.61/11.34 8284[label="FiniteMap.sizeFM (FiniteMap.Branch xux4960 xux4961 (Neg xux49620) xux4963 xux4964)",fontsize=16,color="magenta"];8284 -> 8329[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8286 -> 7381[label="",style="dashed", color="red", weight=0]; 27.61/11.34 8286[label="FiniteMap.mkBalBranch6Size_l xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Neg xux49620) xux4963 xux4964) xux558 > FiniteMap.sIZE_RATIO * FiniteMap.mkBalBranch6Size_r xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Neg xux49620) xux4963 xux4964) xux558",fontsize=16,color="magenta"];8286 -> 8330[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8286 -> 8331[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8285[label="FiniteMap.mkBalBranch6MkBalBranch3 xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Neg xux49620) xux4963 xux4964) xux558 xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Neg xux49620) xux4963 xux4964) xux557 xux581",fontsize=16,color="burlywood",shape="triangle"];9242[label="xux581/False",fontsize=10,color="white",style="solid",shape="box"];8285 -> 9242[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9242 -> 8332[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 9243[label="xux581/True",fontsize=10,color="white",style="solid",shape="box"];8285 -> 9243[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9243 -> 8333[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 8288[label="FiniteMap.mkBalBranch6MkBalBranch0 xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Neg xux49620) xux4963 xux4964) xux558 (FiniteMap.Branch xux4960 xux4961 (Neg xux49620) xux4963 xux4964) FiniteMap.EmptyFM FiniteMap.EmptyFM",fontsize=16,color="black",shape="box"];8288 -> 8334[label="",style="solid", color="black", weight=3]; 27.61/11.34 8289[label="FiniteMap.mkBalBranch6MkBalBranch0 xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Neg xux49620) xux4963 xux4964) xux558 (FiniteMap.Branch xux4960 xux4961 (Neg xux49620) xux4963 xux4964) (FiniteMap.Branch xux5570 xux5571 xux5572 xux5573 xux5574) (FiniteMap.Branch xux5570 xux5571 xux5572 xux5573 xux5574)",fontsize=16,color="black",shape="box"];8289 -> 8335[label="",style="solid", color="black", weight=3]; 27.61/11.34 489[label="FiniteMap.splitGT FiniteMap.EmptyFM False",fontsize=16,color="black",shape="box"];489 -> 508[label="",style="solid", color="black", weight=3]; 27.61/11.34 490[label="FiniteMap.splitGT (FiniteMap.Branch xux330 xux331 xux332 xux333 xux334) False",fontsize=16,color="black",shape="box"];490 -> 509[label="",style="solid", color="black", weight=3]; 27.61/11.34 491[label="FiniteMap.splitLT1 False xux31 xux32 xux33 xux34 True (GT == GT)",fontsize=16,color="black",shape="box"];491 -> 510[label="",style="solid", color="black", weight=3]; 27.61/11.34 8291[label="compare2 LT LT True == LT",fontsize=16,color="black",shape="box"];8291 -> 8337[label="",style="solid", color="black", weight=3]; 27.61/11.34 8292[label="compare2 LT EQ False == LT",fontsize=16,color="black",shape="box"];8292 -> 8338[label="",style="solid", color="black", weight=3]; 27.61/11.34 8293[label="compare2 LT GT False == LT",fontsize=16,color="black",shape="box"];8293 -> 8339[label="",style="solid", color="black", weight=3]; 27.61/11.34 8294[label="compare2 EQ LT False == LT",fontsize=16,color="black",shape="box"];8294 -> 8340[label="",style="solid", color="black", weight=3]; 27.61/11.34 8295[label="compare2 EQ EQ True == LT",fontsize=16,color="black",shape="box"];8295 -> 8341[label="",style="solid", color="black", weight=3]; 27.61/11.34 8296[label="compare2 EQ GT False == LT",fontsize=16,color="black",shape="box"];8296 -> 8342[label="",style="solid", color="black", weight=3]; 27.61/11.34 8297[label="compare2 GT LT False == LT",fontsize=16,color="black",shape="box"];8297 -> 8343[label="",style="solid", color="black", weight=3]; 27.61/11.34 8298[label="compare2 GT EQ False == LT",fontsize=16,color="black",shape="box"];8298 -> 8344[label="",style="solid", color="black", weight=3]; 27.61/11.34 8299[label="compare2 GT GT True == LT",fontsize=16,color="black",shape="box"];8299 -> 8345[label="",style="solid", color="black", weight=3]; 27.61/11.34 7807[label="Zero",fontsize=16,color="green",shape="box"];7808 -> 7430[label="",style="dashed", color="red", weight=0]; 27.61/11.34 7808[label="primCmpNat xux44600 xux52000 == LT",fontsize=16,color="magenta"];7808 -> 7845[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7808 -> 7846[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7809 -> 7042[label="",style="dashed", color="red", weight=0]; 27.61/11.34 7809[label="GT == LT",fontsize=16,color="magenta"];7810 -> 7046[label="",style="dashed", color="red", weight=0]; 27.61/11.34 7810[label="LT == LT",fontsize=16,color="magenta"];7811 -> 7041[label="",style="dashed", color="red", weight=0]; 27.61/11.34 7811[label="EQ == LT",fontsize=16,color="magenta"];7813[label="FiniteMap.mkVBalBranch xux140 xux141 FiniteMap.EmptyFM (FiniteMap.Branch xux1380 xux1381 (Pos (Succ xux138200)) xux1383 xux1384)",fontsize=16,color="black",shape="box"];7813 -> 7848[label="",style="solid", color="black", weight=3]; 27.61/11.34 7814[label="FiniteMap.mkVBalBranch xux140 xux141 (FiniteMap.Branch xux13440 xux13441 xux13442 xux13443 xux13444) (FiniteMap.Branch xux1380 xux1381 (Pos (Succ xux138200)) xux1383 xux1384)",fontsize=16,color="black",shape="box"];7814 -> 7849[label="",style="solid", color="black", weight=3]; 27.61/11.34 7816[label="FiniteMap.mkVBalBranch xux140 xux141 FiniteMap.EmptyFM (FiniteMap.Branch xux1380 xux1381 (Pos Zero) xux1383 xux1384)",fontsize=16,color="black",shape="box"];7816 -> 7851[label="",style="solid", color="black", weight=3]; 27.61/11.34 7817[label="FiniteMap.mkVBalBranch xux140 xux141 (FiniteMap.Branch xux13440 xux13441 xux13442 xux13443 xux13444) (FiniteMap.Branch xux1380 xux1381 (Pos Zero) xux1383 xux1384)",fontsize=16,color="black",shape="box"];7817 -> 7852[label="",style="solid", color="black", weight=3]; 27.61/11.34 7819[label="FiniteMap.mkVBalBranch xux140 xux141 FiniteMap.EmptyFM (FiniteMap.Branch xux1380 xux1381 (Neg (Succ xux138200)) xux1383 xux1384)",fontsize=16,color="black",shape="box"];7819 -> 7854[label="",style="solid", color="black", weight=3]; 27.61/11.34 7820[label="FiniteMap.mkVBalBranch xux140 xux141 (FiniteMap.Branch xux13440 xux13441 xux13442 xux13443 xux13444) (FiniteMap.Branch xux1380 xux1381 (Neg (Succ xux138200)) xux1383 xux1384)",fontsize=16,color="black",shape="box"];7820 -> 7855[label="",style="solid", color="black", weight=3]; 27.61/11.34 7822[label="FiniteMap.mkVBalBranch xux140 xux141 FiniteMap.EmptyFM (FiniteMap.Branch xux1380 xux1381 (Neg Zero) xux1383 xux1384)",fontsize=16,color="black",shape="box"];7822 -> 7857[label="",style="solid", color="black", weight=3]; 27.61/11.34 7823[label="FiniteMap.mkVBalBranch xux140 xux141 (FiniteMap.Branch xux13440 xux13441 xux13442 xux13443 xux13444) (FiniteMap.Branch xux1380 xux1381 (Neg Zero) xux1383 xux1384)",fontsize=16,color="black",shape="box"];7823 -> 7858[label="",style="solid", color="black", weight=3]; 27.61/11.34 8300[label="primMulNat (Succ (Succ (Succ (Succ (Succ Zero))))) (Succ xux57100)",fontsize=16,color="black",shape="box"];8300 -> 8346[label="",style="solid", color="black", weight=3]; 27.61/11.34 8301[label="primMulNat (Succ (Succ (Succ (Succ (Succ Zero))))) Zero",fontsize=16,color="black",shape="box"];8301 -> 8347[label="",style="solid", color="black", weight=3]; 27.61/11.34 8302[label="xux5710",fontsize=16,color="green",shape="box"];8303[label="FiniteMap.mkBalBranch6MkBalBranch2 xux493 xux494 FiniteMap.EmptyFM xux558 xux493 xux494 FiniteMap.EmptyFM xux557 True",fontsize=16,color="black",shape="box"];8303 -> 8348[label="",style="solid", color="black", weight=3]; 27.61/11.34 8304[label="error []",fontsize=16,color="red",shape="box"];8306 -> 7871[label="",style="dashed", color="red", weight=0]; 27.61/11.34 8306[label="FiniteMap.sizeFM xux5573 < Pos (Succ (Succ Zero)) * FiniteMap.sizeFM xux5574",fontsize=16,color="magenta"];8306 -> 8349[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8306 -> 8350[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8305[label="FiniteMap.mkBalBranch6MkBalBranch01 xux493 xux494 FiniteMap.EmptyFM xux558 FiniteMap.EmptyFM (FiniteMap.Branch xux5570 xux5571 xux5572 xux5573 xux5574) xux5570 xux5571 xux5572 xux5573 xux5574 xux585",fontsize=16,color="burlywood",shape="triangle"];9244[label="xux585/False",fontsize=10,color="white",style="solid",shape="box"];8305 -> 9244[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9244 -> 8351[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 9245[label="xux585/True",fontsize=10,color="white",style="solid",shape="box"];8305 -> 9245[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9245 -> 8352[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 8949[label="Pos (Succ Zero) + FiniteMap.mkBranchLeft_size xux634 xux632 xux635",fontsize=16,color="black",shape="box"];8949 -> 8951[label="",style="solid", color="black", weight=3]; 27.61/11.34 8948[label="primPlusInt xux636 (FiniteMap.mkBranchRight_size xux634 xux632 xux635)",fontsize=16,color="burlywood",shape="triangle"];9246[label="xux636/Pos xux6360",fontsize=10,color="white",style="solid",shape="box"];8948 -> 9246[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9246 -> 8952[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 9247[label="xux636/Neg xux6360",fontsize=10,color="white",style="solid",shape="box"];8948 -> 9247[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9247 -> 8953[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 8313[label="xux55920",fontsize=16,color="green",shape="box"];8314[label="xux49620",fontsize=16,color="green",shape="box"];8315[label="primMinusNat (Succ xux496200) (Succ xux559200)",fontsize=16,color="black",shape="box"];8315 -> 8368[label="",style="solid", color="black", weight=3]; 27.61/11.34 8316[label="primMinusNat (Succ xux496200) Zero",fontsize=16,color="black",shape="box"];8316 -> 8369[label="",style="solid", color="black", weight=3]; 27.61/11.34 8317[label="primMinusNat Zero (Succ xux559200)",fontsize=16,color="black",shape="box"];8317 -> 8370[label="",style="solid", color="black", weight=3]; 27.61/11.34 8318[label="primMinusNat Zero Zero",fontsize=16,color="black",shape="box"];8318 -> 8371[label="",style="solid", color="black", weight=3]; 27.61/11.34 8319[label="FiniteMap.Branch xux4960 xux4961 (Pos xux49620) xux4963 xux4964",fontsize=16,color="green",shape="box"];8320 -> 8260[label="",style="dashed", color="red", weight=0]; 27.61/11.34 8320[label="FiniteMap.mkBalBranch6Size_l xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Pos xux49620) xux4963 xux4964) xux558",fontsize=16,color="magenta"];8321 -> 8258[label="",style="dashed", color="red", weight=0]; 27.61/11.34 8321[label="FiniteMap.sIZE_RATIO * FiniteMap.mkBalBranch6Size_r xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Pos xux49620) xux4963 xux4964) xux558",fontsize=16,color="magenta"];8321 -> 8372[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8322[label="FiniteMap.mkBalBranch6MkBalBranch3 xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Pos xux49620) xux4963 xux4964) xux558 xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Pos xux49620) xux4963 xux4964) xux557 False",fontsize=16,color="black",shape="box"];8322 -> 8373[label="",style="solid", color="black", weight=3]; 27.61/11.34 8323[label="FiniteMap.mkBalBranch6MkBalBranch3 xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Pos xux49620) xux4963 xux4964) xux558 xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Pos xux49620) xux4963 xux4964) xux557 True",fontsize=16,color="black",shape="box"];8323 -> 8374[label="",style="solid", color="black", weight=3]; 27.61/11.34 8324[label="error []",fontsize=16,color="red",shape="box"];8325[label="FiniteMap.mkBalBranch6MkBalBranch02 xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Pos xux49620) xux4963 xux4964) xux558 (FiniteMap.Branch xux4960 xux4961 (Pos xux49620) xux4963 xux4964) (FiniteMap.Branch xux5570 xux5571 xux5572 xux5573 xux5574) (FiniteMap.Branch xux5570 xux5571 xux5572 xux5573 xux5574)",fontsize=16,color="black",shape="box"];8325 -> 8375[label="",style="solid", color="black", weight=3]; 27.61/11.34 8327[label="xux55920",fontsize=16,color="green",shape="box"];8328[label="xux49620",fontsize=16,color="green",shape="box"];8329[label="FiniteMap.Branch xux4960 xux4961 (Neg xux49620) xux4963 xux4964",fontsize=16,color="green",shape="box"];8330 -> 8261[label="",style="dashed", color="red", weight=0]; 27.61/11.34 8330[label="FiniteMap.mkBalBranch6Size_l xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Neg xux49620) xux4963 xux4964) xux558",fontsize=16,color="magenta"];8331 -> 8258[label="",style="dashed", color="red", weight=0]; 27.61/11.34 8331[label="FiniteMap.sIZE_RATIO * FiniteMap.mkBalBranch6Size_r xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Neg xux49620) xux4963 xux4964) xux558",fontsize=16,color="magenta"];8331 -> 8377[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8332[label="FiniteMap.mkBalBranch6MkBalBranch3 xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Neg xux49620) xux4963 xux4964) xux558 xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Neg xux49620) xux4963 xux4964) xux557 False",fontsize=16,color="black",shape="box"];8332 -> 8378[label="",style="solid", color="black", weight=3]; 27.61/11.34 8333[label="FiniteMap.mkBalBranch6MkBalBranch3 xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Neg xux49620) xux4963 xux4964) xux558 xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Neg xux49620) xux4963 xux4964) xux557 True",fontsize=16,color="black",shape="box"];8333 -> 8379[label="",style="solid", color="black", weight=3]; 27.61/11.34 8334[label="error []",fontsize=16,color="red",shape="box"];8335[label="FiniteMap.mkBalBranch6MkBalBranch02 xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Neg xux49620) xux4963 xux4964) xux558 (FiniteMap.Branch xux4960 xux4961 (Neg xux49620) xux4963 xux4964) (FiniteMap.Branch xux5570 xux5571 xux5572 xux5573 xux5574) (FiniteMap.Branch xux5570 xux5571 xux5572 xux5573 xux5574)",fontsize=16,color="black",shape="box"];8335 -> 8380[label="",style="solid", color="black", weight=3]; 27.61/11.34 508[label="FiniteMap.splitGT4 FiniteMap.EmptyFM False",fontsize=16,color="black",shape="box"];508 -> 528[label="",style="solid", color="black", weight=3]; 27.61/11.34 509 -> 26[label="",style="dashed", color="red", weight=0]; 27.61/11.34 509[label="FiniteMap.splitGT3 (FiniteMap.Branch xux330 xux331 xux332 xux333 xux334) False",fontsize=16,color="magenta"];509 -> 529[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 509 -> 530[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 509 -> 531[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 509 -> 532[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 509 -> 533[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 509 -> 534[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 510[label="FiniteMap.splitLT1 False xux31 xux32 xux33 xux34 True True",fontsize=16,color="black",shape="box"];510 -> 535[label="",style="solid", color="black", weight=3]; 27.61/11.34 8337 -> 7041[label="",style="dashed", color="red", weight=0]; 27.61/11.34 8337[label="EQ == LT",fontsize=16,color="magenta"];8338[label="compare1 LT EQ (LT <= EQ) == LT",fontsize=16,color="black",shape="box"];8338 -> 8382[label="",style="solid", color="black", weight=3]; 27.61/11.34 8339[label="compare1 LT GT (LT <= GT) == LT",fontsize=16,color="black",shape="box"];8339 -> 8383[label="",style="solid", color="black", weight=3]; 27.61/11.34 8340[label="compare1 EQ LT (EQ <= LT) == LT",fontsize=16,color="black",shape="box"];8340 -> 8384[label="",style="solid", color="black", weight=3]; 27.61/11.34 8341 -> 7041[label="",style="dashed", color="red", weight=0]; 27.61/11.34 8341[label="EQ == LT",fontsize=16,color="magenta"];8342[label="compare1 EQ GT (EQ <= GT) == LT",fontsize=16,color="black",shape="box"];8342 -> 8385[label="",style="solid", color="black", weight=3]; 27.61/11.34 8343[label="compare1 GT LT (GT <= LT) == LT",fontsize=16,color="black",shape="box"];8343 -> 8386[label="",style="solid", color="black", weight=3]; 27.61/11.34 8344[label="compare1 GT EQ (GT <= EQ) == LT",fontsize=16,color="black",shape="box"];8344 -> 8387[label="",style="solid", color="black", weight=3]; 27.61/11.34 8345 -> 7041[label="",style="dashed", color="red", weight=0]; 27.61/11.34 8345[label="EQ == LT",fontsize=16,color="magenta"];7845[label="xux44600",fontsize=16,color="green",shape="box"];7846[label="xux52000",fontsize=16,color="green",shape="box"];7848[label="FiniteMap.mkVBalBranch5 xux140 xux141 FiniteMap.EmptyFM (FiniteMap.Branch xux1380 xux1381 (Pos (Succ xux138200)) xux1383 xux1384)",fontsize=16,color="black",shape="box"];7848 -> 7888[label="",style="solid", color="black", weight=3]; 27.61/11.34 7849 -> 7736[label="",style="dashed", color="red", weight=0]; 27.61/11.34 7849[label="FiniteMap.mkVBalBranch3 xux140 xux141 (FiniteMap.Branch xux13440 xux13441 xux13442 xux13443 xux13444) (FiniteMap.Branch xux1380 xux1381 (Pos (Succ xux138200)) xux1383 xux1384)",fontsize=16,color="magenta"];7849 -> 7889[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7849 -> 7890[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7849 -> 7891[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7849 -> 7892[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7849 -> 7893[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7849 -> 7894[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7849 -> 7895[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7849 -> 7896[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7849 -> 7897[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7849 -> 7898[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7851[label="FiniteMap.mkVBalBranch5 xux140 xux141 FiniteMap.EmptyFM (FiniteMap.Branch xux1380 xux1381 (Pos Zero) xux1383 xux1384)",fontsize=16,color="black",shape="box"];7851 -> 7900[label="",style="solid", color="black", weight=3]; 27.61/11.34 7852 -> 7736[label="",style="dashed", color="red", weight=0]; 27.61/11.34 7852[label="FiniteMap.mkVBalBranch3 xux140 xux141 (FiniteMap.Branch xux13440 xux13441 xux13442 xux13443 xux13444) (FiniteMap.Branch xux1380 xux1381 (Pos Zero) xux1383 xux1384)",fontsize=16,color="magenta"];7852 -> 7901[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7852 -> 7902[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7852 -> 7903[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7852 -> 7904[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7852 -> 7905[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7852 -> 7906[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7852 -> 7907[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7852 -> 7908[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7852 -> 7909[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7852 -> 7910[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7854[label="FiniteMap.mkVBalBranch5 xux140 xux141 FiniteMap.EmptyFM (FiniteMap.Branch xux1380 xux1381 (Neg (Succ xux138200)) xux1383 xux1384)",fontsize=16,color="black",shape="box"];7854 -> 7912[label="",style="solid", color="black", weight=3]; 27.61/11.34 7855 -> 7736[label="",style="dashed", color="red", weight=0]; 27.61/11.34 7855[label="FiniteMap.mkVBalBranch3 xux140 xux141 (FiniteMap.Branch xux13440 xux13441 xux13442 xux13443 xux13444) (FiniteMap.Branch xux1380 xux1381 (Neg (Succ xux138200)) xux1383 xux1384)",fontsize=16,color="magenta"];7855 -> 7913[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7855 -> 7914[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7855 -> 7915[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7855 -> 7916[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7855 -> 7917[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7855 -> 7918[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7855 -> 7919[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7855 -> 7920[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7855 -> 7921[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7855 -> 7922[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7857[label="FiniteMap.mkVBalBranch5 xux140 xux141 FiniteMap.EmptyFM (FiniteMap.Branch xux1380 xux1381 (Neg Zero) xux1383 xux1384)",fontsize=16,color="black",shape="box"];7857 -> 7924[label="",style="solid", color="black", weight=3]; 27.61/11.34 7858 -> 7736[label="",style="dashed", color="red", weight=0]; 27.61/11.34 7858[label="FiniteMap.mkVBalBranch3 xux140 xux141 (FiniteMap.Branch xux13440 xux13441 xux13442 xux13443 xux13444) (FiniteMap.Branch xux1380 xux1381 (Neg Zero) xux1383 xux1384)",fontsize=16,color="magenta"];7858 -> 7925[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7858 -> 7926[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7858 -> 7927[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7858 -> 7928[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7858 -> 7929[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7858 -> 7930[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7858 -> 7931[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7858 -> 7932[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7858 -> 7933[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7858 -> 7934[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8346 -> 2054[label="",style="dashed", color="red", weight=0]; 27.61/11.34 8346[label="primPlusNat (primMulNat (Succ (Succ (Succ (Succ Zero)))) (Succ xux57100)) (Succ xux57100)",fontsize=16,color="magenta"];8346 -> 8388[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8346 -> 8389[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8347[label="Zero",fontsize=16,color="green",shape="box"];8348 -> 8702[label="",style="dashed", color="red", weight=0]; 27.61/11.34 8348[label="FiniteMap.mkBranch (Pos (Succ (Succ Zero))) xux493 xux494 FiniteMap.EmptyFM xux557",fontsize=16,color="magenta"];8348 -> 8758[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8348 -> 8759[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8348 -> 8760[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8348 -> 8761[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8348 -> 8762[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8349 -> 8132[label="",style="dashed", color="red", weight=0]; 27.61/11.34 8349[label="FiniteMap.sizeFM xux5573",fontsize=16,color="magenta"];8349 -> 8391[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8350 -> 8392[label="",style="dashed", color="red", weight=0]; 27.61/11.34 8350[label="Pos (Succ (Succ Zero)) * FiniteMap.sizeFM xux5574",fontsize=16,color="magenta"];8350 -> 8393[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8351[label="FiniteMap.mkBalBranch6MkBalBranch01 xux493 xux494 FiniteMap.EmptyFM xux558 FiniteMap.EmptyFM (FiniteMap.Branch xux5570 xux5571 xux5572 xux5573 xux5574) xux5570 xux5571 xux5572 xux5573 xux5574 False",fontsize=16,color="black",shape="box"];8351 -> 8394[label="",style="solid", color="black", weight=3]; 27.61/11.34 8352[label="FiniteMap.mkBalBranch6MkBalBranch01 xux493 xux494 FiniteMap.EmptyFM xux558 FiniteMap.EmptyFM (FiniteMap.Branch xux5570 xux5571 xux5572 xux5573 xux5574) xux5570 xux5571 xux5572 xux5573 xux5574 True",fontsize=16,color="black",shape="box"];8352 -> 8395[label="",style="solid", color="black", weight=3]; 27.61/11.34 8951 -> 8137[label="",style="dashed", color="red", weight=0]; 27.61/11.34 8951[label="primPlusInt (Pos (Succ Zero)) (FiniteMap.mkBranchLeft_size xux634 xux632 xux635)",fontsize=16,color="magenta"];8951 -> 8954[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8951 -> 8955[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8952[label="primPlusInt (Pos xux6360) (FiniteMap.mkBranchRight_size xux634 xux632 xux635)",fontsize=16,color="black",shape="box"];8952 -> 8956[label="",style="solid", color="black", weight=3]; 27.61/11.34 8953[label="primPlusInt (Neg xux6360) (FiniteMap.mkBranchRight_size xux634 xux632 xux635)",fontsize=16,color="black",shape="box"];8953 -> 8957[label="",style="solid", color="black", weight=3]; 27.61/11.34 8368 -> 8237[label="",style="dashed", color="red", weight=0]; 27.61/11.34 8368[label="primMinusNat xux496200 xux559200",fontsize=16,color="magenta"];8368 -> 8401[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8368 -> 8402[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8369[label="Pos (Succ xux496200)",fontsize=16,color="green",shape="box"];8370[label="Neg (Succ xux559200)",fontsize=16,color="green",shape="box"];8371[label="Pos Zero",fontsize=16,color="green",shape="box"];8372 -> 8184[label="",style="dashed", color="red", weight=0]; 27.61/11.34 8372[label="FiniteMap.mkBalBranch6Size_r xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Pos xux49620) xux4963 xux4964) xux558",fontsize=16,color="magenta"];8373[label="FiniteMap.mkBalBranch6MkBalBranch2 xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Pos xux49620) xux4963 xux4964) xux558 xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Pos xux49620) xux4963 xux4964) xux557 otherwise",fontsize=16,color="black",shape="box"];8373 -> 8403[label="",style="solid", color="black", weight=3]; 27.61/11.34 8374[label="FiniteMap.mkBalBranch6MkBalBranch1 xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Pos xux49620) xux4963 xux4964) xux558 (FiniteMap.Branch xux4960 xux4961 (Pos xux49620) xux4963 xux4964) xux557 (FiniteMap.Branch xux4960 xux4961 (Pos xux49620) xux4963 xux4964)",fontsize=16,color="black",shape="box"];8374 -> 8404[label="",style="solid", color="black", weight=3]; 27.61/11.34 8375 -> 8405[label="",style="dashed", color="red", weight=0]; 27.61/11.34 8375[label="FiniteMap.mkBalBranch6MkBalBranch01 xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Pos xux49620) xux4963 xux4964) xux558 (FiniteMap.Branch xux4960 xux4961 (Pos xux49620) xux4963 xux4964) (FiniteMap.Branch xux5570 xux5571 xux5572 xux5573 xux5574) xux5570 xux5571 xux5572 xux5573 xux5574 (FiniteMap.sizeFM xux5573 < Pos (Succ (Succ Zero)) * FiniteMap.sizeFM xux5574)",fontsize=16,color="magenta"];8375 -> 8406[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8377 -> 8192[label="",style="dashed", color="red", weight=0]; 27.61/11.34 8377[label="FiniteMap.mkBalBranch6Size_r xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Neg xux49620) xux4963 xux4964) xux558",fontsize=16,color="magenta"];8378[label="FiniteMap.mkBalBranch6MkBalBranch2 xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Neg xux49620) xux4963 xux4964) xux558 xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Neg xux49620) xux4963 xux4964) xux557 otherwise",fontsize=16,color="black",shape="box"];8378 -> 8413[label="",style="solid", color="black", weight=3]; 27.61/11.34 8379[label="FiniteMap.mkBalBranch6MkBalBranch1 xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Neg xux49620) xux4963 xux4964) xux558 (FiniteMap.Branch xux4960 xux4961 (Neg xux49620) xux4963 xux4964) xux557 (FiniteMap.Branch xux4960 xux4961 (Neg xux49620) xux4963 xux4964)",fontsize=16,color="black",shape="box"];8379 -> 8414[label="",style="solid", color="black", weight=3]; 27.61/11.34 8380 -> 8415[label="",style="dashed", color="red", weight=0]; 27.61/11.34 8380[label="FiniteMap.mkBalBranch6MkBalBranch01 xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Neg xux49620) xux4963 xux4964) xux558 (FiniteMap.Branch xux4960 xux4961 (Neg xux49620) xux4963 xux4964) (FiniteMap.Branch xux5570 xux5571 xux5572 xux5573 xux5574) xux5570 xux5571 xux5572 xux5573 xux5574 (FiniteMap.sizeFM xux5573 < Pos (Succ (Succ Zero)) * FiniteMap.sizeFM xux5574)",fontsize=16,color="magenta"];8380 -> 8416[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 528 -> 67[label="",style="dashed", color="red", weight=0]; 27.61/11.34 528[label="FiniteMap.emptyFM",fontsize=16,color="magenta"];529[label="xux334",fontsize=16,color="green",shape="box"];530[label="xux333",fontsize=16,color="green",shape="box"];531[label="False",fontsize=16,color="green",shape="box"];532[label="xux330",fontsize=16,color="green",shape="box"];533[label="xux332",fontsize=16,color="green",shape="box"];534[label="xux331",fontsize=16,color="green",shape="box"];535 -> 12[label="",style="dashed", color="red", weight=0]; 27.61/11.34 535[label="FiniteMap.mkVBalBranch False xux31 xux33 (FiniteMap.splitLT xux34 True)",fontsize=16,color="magenta"];535 -> 553[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 535 -> 554[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 535 -> 555[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 535 -> 556[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8382[label="error []",fontsize=16,color="red",shape="box"];8383[label="error []",fontsize=16,color="red",shape="box"];8384[label="error []",fontsize=16,color="red",shape="box"];8385[label="error []",fontsize=16,color="red",shape="box"];8386[label="error []",fontsize=16,color="red",shape="box"];8387[label="error []",fontsize=16,color="red",shape="box"];7888 -> 7795[label="",style="dashed", color="red", weight=0]; 27.61/11.34 7888[label="FiniteMap.addToFM (FiniteMap.Branch xux1380 xux1381 (Pos (Succ xux138200)) xux1383 xux1384) xux140 xux141",fontsize=16,color="magenta"];7888 -> 7959[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7888 -> 7960[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7888 -> 7961[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7888 -> 7962[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7888 -> 7963[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7889[label="xux13441",fontsize=16,color="green",shape="box"];7890[label="Pos (Succ xux138200)",fontsize=16,color="green",shape="box"];7891[label="xux13440",fontsize=16,color="green",shape="box"];7892[label="xux13444",fontsize=16,color="green",shape="box"];7893[label="xux1381",fontsize=16,color="green",shape="box"];7894[label="xux1384",fontsize=16,color="green",shape="box"];7895[label="xux1383",fontsize=16,color="green",shape="box"];7896[label="xux13443",fontsize=16,color="green",shape="box"];7897[label="xux1380",fontsize=16,color="green",shape="box"];7898[label="xux13442",fontsize=16,color="green",shape="box"];7900 -> 7795[label="",style="dashed", color="red", weight=0]; 27.61/11.34 7900[label="FiniteMap.addToFM (FiniteMap.Branch xux1380 xux1381 (Pos Zero) xux1383 xux1384) xux140 xux141",fontsize=16,color="magenta"];7900 -> 7965[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7900 -> 7966[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7900 -> 7967[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7900 -> 7968[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7900 -> 7969[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7901[label="xux13441",fontsize=16,color="green",shape="box"];7902[label="Pos Zero",fontsize=16,color="green",shape="box"];7903[label="xux13440",fontsize=16,color="green",shape="box"];7904[label="xux13444",fontsize=16,color="green",shape="box"];7905[label="xux1381",fontsize=16,color="green",shape="box"];7906[label="xux1384",fontsize=16,color="green",shape="box"];7907[label="xux1383",fontsize=16,color="green",shape="box"];7908[label="xux13443",fontsize=16,color="green",shape="box"];7909[label="xux1380",fontsize=16,color="green",shape="box"];7910[label="xux13442",fontsize=16,color="green",shape="box"];7912 -> 7795[label="",style="dashed", color="red", weight=0]; 27.61/11.34 7912[label="FiniteMap.addToFM (FiniteMap.Branch xux1380 xux1381 (Neg (Succ xux138200)) xux1383 xux1384) xux140 xux141",fontsize=16,color="magenta"];7912 -> 7971[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7912 -> 7972[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7912 -> 7973[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7912 -> 7974[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7912 -> 7975[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7913[label="xux13441",fontsize=16,color="green",shape="box"];7914[label="Neg (Succ xux138200)",fontsize=16,color="green",shape="box"];7915[label="xux13440",fontsize=16,color="green",shape="box"];7916[label="xux13444",fontsize=16,color="green",shape="box"];7917[label="xux1381",fontsize=16,color="green",shape="box"];7918[label="xux1384",fontsize=16,color="green",shape="box"];7919[label="xux1383",fontsize=16,color="green",shape="box"];7920[label="xux13443",fontsize=16,color="green",shape="box"];7921[label="xux1380",fontsize=16,color="green",shape="box"];7922[label="xux13442",fontsize=16,color="green",shape="box"];7924 -> 7795[label="",style="dashed", color="red", weight=0]; 27.61/11.34 7924[label="FiniteMap.addToFM (FiniteMap.Branch xux1380 xux1381 (Neg Zero) xux1383 xux1384) xux140 xux141",fontsize=16,color="magenta"];7924 -> 7977[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7924 -> 7978[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7924 -> 7979[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7924 -> 7980[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7924 -> 7981[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 7925[label="xux13441",fontsize=16,color="green",shape="box"];7926[label="Neg Zero",fontsize=16,color="green",shape="box"];7927[label="xux13440",fontsize=16,color="green",shape="box"];7928[label="xux13444",fontsize=16,color="green",shape="box"];7929[label="xux1381",fontsize=16,color="green",shape="box"];7930[label="xux1384",fontsize=16,color="green",shape="box"];7931[label="xux1383",fontsize=16,color="green",shape="box"];7932[label="xux13443",fontsize=16,color="green",shape="box"];7933[label="xux1380",fontsize=16,color="green",shape="box"];7934[label="xux13442",fontsize=16,color="green",shape="box"];8388[label="Succ xux57100",fontsize=16,color="green",shape="box"];8389 -> 6817[label="",style="dashed", color="red", weight=0]; 27.61/11.34 8389[label="primMulNat (Succ (Succ (Succ (Succ Zero)))) (Succ xux57100)",fontsize=16,color="magenta"];8389 -> 8423[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8758[label="xux493",fontsize=16,color="green",shape="box"];8759[label="FiniteMap.EmptyFM",fontsize=16,color="green",shape="box"];8760[label="Succ Zero",fontsize=16,color="green",shape="box"];8761[label="xux494",fontsize=16,color="green",shape="box"];8762[label="xux557",fontsize=16,color="green",shape="box"];8391[label="xux5573",fontsize=16,color="green",shape="box"];8393 -> 8132[label="",style="dashed", color="red", weight=0]; 27.61/11.34 8393[label="FiniteMap.sizeFM xux5574",fontsize=16,color="magenta"];8393 -> 8424[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8392[label="Pos (Succ (Succ Zero)) * xux591",fontsize=16,color="black",shape="triangle"];8392 -> 8425[label="",style="solid", color="black", weight=3]; 27.61/11.34 8394[label="FiniteMap.mkBalBranch6MkBalBranch00 xux493 xux494 FiniteMap.EmptyFM xux558 FiniteMap.EmptyFM (FiniteMap.Branch xux5570 xux5571 xux5572 xux5573 xux5574) xux5570 xux5571 xux5572 xux5573 xux5574 otherwise",fontsize=16,color="black",shape="box"];8394 -> 8426[label="",style="solid", color="black", weight=3]; 27.61/11.34 8395[label="FiniteMap.mkBalBranch6Single_L xux493 xux494 FiniteMap.EmptyFM xux558 FiniteMap.EmptyFM (FiniteMap.Branch xux5570 xux5571 xux5572 xux5573 xux5574)",fontsize=16,color="black",shape="box"];8395 -> 8427[label="",style="solid", color="black", weight=3]; 27.61/11.34 8954[label="Succ Zero",fontsize=16,color="green",shape="box"];8955[label="FiniteMap.mkBranchLeft_size xux634 xux632 xux635",fontsize=16,color="black",shape="box"];8955 -> 8958[label="",style="solid", color="black", weight=3]; 27.61/11.34 8956 -> 8137[label="",style="dashed", color="red", weight=0]; 27.61/11.34 8956[label="primPlusInt (Pos xux6360) (FiniteMap.sizeFM xux635)",fontsize=16,color="magenta"];8956 -> 8959[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8956 -> 8960[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8957 -> 8143[label="",style="dashed", color="red", weight=0]; 27.61/11.34 8957[label="primPlusInt (Neg xux6360) (FiniteMap.sizeFM xux635)",fontsize=16,color="magenta"];8957 -> 8961[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8957 -> 8962[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8401[label="xux496200",fontsize=16,color="green",shape="box"];8402[label="xux559200",fontsize=16,color="green",shape="box"];8403[label="FiniteMap.mkBalBranch6MkBalBranch2 xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Pos xux49620) xux4963 xux4964) xux558 xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Pos xux49620) xux4963 xux4964) xux557 True",fontsize=16,color="black",shape="box"];8403 -> 8431[label="",style="solid", color="black", weight=3]; 27.61/11.34 8404[label="FiniteMap.mkBalBranch6MkBalBranch12 xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Pos xux49620) xux4963 xux4964) xux558 (FiniteMap.Branch xux4960 xux4961 (Pos xux49620) xux4963 xux4964) xux557 (FiniteMap.Branch xux4960 xux4961 (Pos xux49620) xux4963 xux4964)",fontsize=16,color="black",shape="box"];8404 -> 8432[label="",style="solid", color="black", weight=3]; 27.61/11.34 8406 -> 7871[label="",style="dashed", color="red", weight=0]; 27.61/11.34 8406[label="FiniteMap.sizeFM xux5573 < Pos (Succ (Succ Zero)) * FiniteMap.sizeFM xux5574",fontsize=16,color="magenta"];8406 -> 8433[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8406 -> 8434[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8405[label="FiniteMap.mkBalBranch6MkBalBranch01 xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Pos xux49620) xux4963 xux4964) xux558 (FiniteMap.Branch xux4960 xux4961 (Pos xux49620) xux4963 xux4964) (FiniteMap.Branch xux5570 xux5571 xux5572 xux5573 xux5574) xux5570 xux5571 xux5572 xux5573 xux5574 xux592",fontsize=16,color="burlywood",shape="triangle"];9248[label="xux592/False",fontsize=10,color="white",style="solid",shape="box"];8405 -> 9248[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9248 -> 8435[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 9249[label="xux592/True",fontsize=10,color="white",style="solid",shape="box"];8405 -> 9249[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9249 -> 8436[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 8413[label="FiniteMap.mkBalBranch6MkBalBranch2 xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Neg xux49620) xux4963 xux4964) xux558 xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Neg xux49620) xux4963 xux4964) xux557 True",fontsize=16,color="black",shape="box"];8413 -> 8441[label="",style="solid", color="black", weight=3]; 27.61/11.34 8414[label="FiniteMap.mkBalBranch6MkBalBranch12 xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Neg xux49620) xux4963 xux4964) xux558 (FiniteMap.Branch xux4960 xux4961 (Neg xux49620) xux4963 xux4964) xux557 (FiniteMap.Branch xux4960 xux4961 (Neg xux49620) xux4963 xux4964)",fontsize=16,color="black",shape="box"];8414 -> 8442[label="",style="solid", color="black", weight=3]; 27.61/11.34 8416 -> 7871[label="",style="dashed", color="red", weight=0]; 27.61/11.34 8416[label="FiniteMap.sizeFM xux5573 < Pos (Succ (Succ Zero)) * FiniteMap.sizeFM xux5574",fontsize=16,color="magenta"];8416 -> 8443[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8416 -> 8444[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8415[label="FiniteMap.mkBalBranch6MkBalBranch01 xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Neg xux49620) xux4963 xux4964) xux558 (FiniteMap.Branch xux4960 xux4961 (Neg xux49620) xux4963 xux4964) (FiniteMap.Branch xux5570 xux5571 xux5572 xux5573 xux5574) xux5570 xux5571 xux5572 xux5573 xux5574 xux597",fontsize=16,color="burlywood",shape="triangle"];9250[label="xux597/False",fontsize=10,color="white",style="solid",shape="box"];8415 -> 9250[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9250 -> 8445[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 9251[label="xux597/True",fontsize=10,color="white",style="solid",shape="box"];8415 -> 9251[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9251 -> 8446[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 553[label="FiniteMap.splitLT xux34 True",fontsize=16,color="burlywood",shape="box"];9252[label="xux34/FiniteMap.EmptyFM",fontsize=10,color="white",style="solid",shape="box"];553 -> 9252[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9252 -> 576[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 9253[label="xux34/FiniteMap.Branch xux340 xux341 xux342 xux343 xux344",fontsize=10,color="white",style="solid",shape="box"];553 -> 9253[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9253 -> 577[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 554[label="xux33",fontsize=16,color="green",shape="box"];555[label="False",fontsize=16,color="green",shape="box"];556[label="xux31",fontsize=16,color="green",shape="box"];7959[label="xux1381",fontsize=16,color="green",shape="box"];7960[label="xux1380",fontsize=16,color="green",shape="box"];7961[label="xux1384",fontsize=16,color="green",shape="box"];7962[label="xux1383",fontsize=16,color="green",shape="box"];7963[label="Pos (Succ xux138200)",fontsize=16,color="green",shape="box"];7965[label="xux1381",fontsize=16,color="green",shape="box"];7966[label="xux1380",fontsize=16,color="green",shape="box"];7967[label="xux1384",fontsize=16,color="green",shape="box"];7968[label="xux1383",fontsize=16,color="green",shape="box"];7969[label="Pos Zero",fontsize=16,color="green",shape="box"];7971[label="xux1381",fontsize=16,color="green",shape="box"];7972[label="xux1380",fontsize=16,color="green",shape="box"];7973[label="xux1384",fontsize=16,color="green",shape="box"];7974[label="xux1383",fontsize=16,color="green",shape="box"];7975[label="Neg (Succ xux138200)",fontsize=16,color="green",shape="box"];7977[label="xux1381",fontsize=16,color="green",shape="box"];7978[label="xux1380",fontsize=16,color="green",shape="box"];7979[label="xux1384",fontsize=16,color="green",shape="box"];7980[label="xux1383",fontsize=16,color="green",shape="box"];7981[label="Neg Zero",fontsize=16,color="green",shape="box"];8423[label="xux57100",fontsize=16,color="green",shape="box"];8424[label="xux5574",fontsize=16,color="green",shape="box"];8425[label="primMulInt (Pos (Succ (Succ Zero))) xux591",fontsize=16,color="burlywood",shape="box"];9254[label="xux591/Pos xux5910",fontsize=10,color="white",style="solid",shape="box"];8425 -> 9254[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9254 -> 8466[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 9255[label="xux591/Neg xux5910",fontsize=10,color="white",style="solid",shape="box"];8425 -> 9255[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9255 -> 8467[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 8426[label="FiniteMap.mkBalBranch6MkBalBranch00 xux493 xux494 FiniteMap.EmptyFM xux558 FiniteMap.EmptyFM (FiniteMap.Branch xux5570 xux5571 xux5572 xux5573 xux5574) xux5570 xux5571 xux5572 xux5573 xux5574 True",fontsize=16,color="black",shape="box"];8426 -> 8468[label="",style="solid", color="black", weight=3]; 27.61/11.34 8427 -> 8702[label="",style="dashed", color="red", weight=0]; 27.61/11.34 8427[label="FiniteMap.mkBranch (Pos (Succ (Succ (Succ Zero)))) xux5570 xux5571 (FiniteMap.mkBranch (Pos (Succ (Succ (Succ (Succ Zero))))) xux493 xux494 FiniteMap.EmptyFM xux5573) xux5574",fontsize=16,color="magenta"];8427 -> 8763[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8427 -> 8764[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8427 -> 8765[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8427 -> 8766[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8427 -> 8767[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8958 -> 8132[label="",style="dashed", color="red", weight=0]; 27.61/11.34 8958[label="FiniteMap.sizeFM xux634",fontsize=16,color="magenta"];8958 -> 8963[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8959[label="xux6360",fontsize=16,color="green",shape="box"];8960 -> 8132[label="",style="dashed", color="red", weight=0]; 27.61/11.34 8960[label="FiniteMap.sizeFM xux635",fontsize=16,color="magenta"];8960 -> 8964[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8961[label="xux6360",fontsize=16,color="green",shape="box"];8962 -> 8132[label="",style="dashed", color="red", weight=0]; 27.61/11.34 8962[label="FiniteMap.sizeFM xux635",fontsize=16,color="magenta"];8962 -> 8965[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8431 -> 8702[label="",style="dashed", color="red", weight=0]; 27.61/11.34 8431[label="FiniteMap.mkBranch (Pos (Succ (Succ Zero))) xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Pos xux49620) xux4963 xux4964) xux557",fontsize=16,color="magenta"];8431 -> 8768[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8431 -> 8769[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8431 -> 8770[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8431 -> 8771[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8431 -> 8772[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8432 -> 8471[label="",style="dashed", color="red", weight=0]; 27.61/11.34 8432[label="FiniteMap.mkBalBranch6MkBalBranch11 xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Pos xux49620) xux4963 xux4964) xux558 (FiniteMap.Branch xux4960 xux4961 (Pos xux49620) xux4963 xux4964) xux557 xux4960 xux4961 (Pos xux49620) xux4963 xux4964 (FiniteMap.sizeFM xux4964 < Pos (Succ (Succ Zero)) * FiniteMap.sizeFM xux4963)",fontsize=16,color="magenta"];8432 -> 8472[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8433 -> 8132[label="",style="dashed", color="red", weight=0]; 27.61/11.34 8433[label="FiniteMap.sizeFM xux5573",fontsize=16,color="magenta"];8433 -> 8473[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8434 -> 8392[label="",style="dashed", color="red", weight=0]; 27.61/11.34 8434[label="Pos (Succ (Succ Zero)) * FiniteMap.sizeFM xux5574",fontsize=16,color="magenta"];8434 -> 8474[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8435[label="FiniteMap.mkBalBranch6MkBalBranch01 xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Pos xux49620) xux4963 xux4964) xux558 (FiniteMap.Branch xux4960 xux4961 (Pos xux49620) xux4963 xux4964) (FiniteMap.Branch xux5570 xux5571 xux5572 xux5573 xux5574) xux5570 xux5571 xux5572 xux5573 xux5574 False",fontsize=16,color="black",shape="box"];8435 -> 8475[label="",style="solid", color="black", weight=3]; 27.61/11.34 8436[label="FiniteMap.mkBalBranch6MkBalBranch01 xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Pos xux49620) xux4963 xux4964) xux558 (FiniteMap.Branch xux4960 xux4961 (Pos xux49620) xux4963 xux4964) (FiniteMap.Branch xux5570 xux5571 xux5572 xux5573 xux5574) xux5570 xux5571 xux5572 xux5573 xux5574 True",fontsize=16,color="black",shape="box"];8436 -> 8476[label="",style="solid", color="black", weight=3]; 27.61/11.34 8441 -> 8702[label="",style="dashed", color="red", weight=0]; 27.61/11.34 8441[label="FiniteMap.mkBranch (Pos (Succ (Succ Zero))) xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Neg xux49620) xux4963 xux4964) xux557",fontsize=16,color="magenta"];8441 -> 8773[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8441 -> 8774[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8441 -> 8775[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8441 -> 8776[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8441 -> 8777[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8442 -> 8483[label="",style="dashed", color="red", weight=0]; 27.61/11.34 8442[label="FiniteMap.mkBalBranch6MkBalBranch11 xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Neg xux49620) xux4963 xux4964) xux558 (FiniteMap.Branch xux4960 xux4961 (Neg xux49620) xux4963 xux4964) xux557 xux4960 xux4961 (Neg xux49620) xux4963 xux4964 (FiniteMap.sizeFM xux4964 < Pos (Succ (Succ Zero)) * FiniteMap.sizeFM xux4963)",fontsize=16,color="magenta"];8442 -> 8484[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8443 -> 8132[label="",style="dashed", color="red", weight=0]; 27.61/11.34 8443[label="FiniteMap.sizeFM xux5573",fontsize=16,color="magenta"];8443 -> 8485[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8444 -> 8392[label="",style="dashed", color="red", weight=0]; 27.61/11.34 8444[label="Pos (Succ (Succ Zero)) * FiniteMap.sizeFM xux5574",fontsize=16,color="magenta"];8444 -> 8486[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8445[label="FiniteMap.mkBalBranch6MkBalBranch01 xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Neg xux49620) xux4963 xux4964) xux558 (FiniteMap.Branch xux4960 xux4961 (Neg xux49620) xux4963 xux4964) (FiniteMap.Branch xux5570 xux5571 xux5572 xux5573 xux5574) xux5570 xux5571 xux5572 xux5573 xux5574 False",fontsize=16,color="black",shape="box"];8445 -> 8487[label="",style="solid", color="black", weight=3]; 27.61/11.34 8446[label="FiniteMap.mkBalBranch6MkBalBranch01 xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Neg xux49620) xux4963 xux4964) xux558 (FiniteMap.Branch xux4960 xux4961 (Neg xux49620) xux4963 xux4964) (FiniteMap.Branch xux5570 xux5571 xux5572 xux5573 xux5574) xux5570 xux5571 xux5572 xux5573 xux5574 True",fontsize=16,color="black",shape="box"];8446 -> 8488[label="",style="solid", color="black", weight=3]; 27.61/11.34 576[label="FiniteMap.splitLT FiniteMap.EmptyFM True",fontsize=16,color="black",shape="box"];576 -> 601[label="",style="solid", color="black", weight=3]; 27.61/11.34 577[label="FiniteMap.splitLT (FiniteMap.Branch xux340 xux341 xux342 xux343 xux344) True",fontsize=16,color="black",shape="box"];577 -> 602[label="",style="solid", color="black", weight=3]; 27.61/11.34 8466[label="primMulInt (Pos (Succ (Succ Zero))) (Pos xux5910)",fontsize=16,color="black",shape="box"];8466 -> 8498[label="",style="solid", color="black", weight=3]; 27.61/11.34 8467[label="primMulInt (Pos (Succ (Succ Zero))) (Neg xux5910)",fontsize=16,color="black",shape="box"];8467 -> 8499[label="",style="solid", color="black", weight=3]; 27.61/11.34 8468[label="FiniteMap.mkBalBranch6Double_L xux493 xux494 FiniteMap.EmptyFM xux558 FiniteMap.EmptyFM (FiniteMap.Branch xux5570 xux5571 xux5572 xux5573 xux5574)",fontsize=16,color="burlywood",shape="box"];9256[label="xux5573/FiniteMap.EmptyFM",fontsize=10,color="white",style="solid",shape="box"];8468 -> 9256[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9256 -> 8500[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 9257[label="xux5573/FiniteMap.Branch xux55730 xux55731 xux55732 xux55733 xux55734",fontsize=10,color="white",style="solid",shape="box"];8468 -> 9257[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9257 -> 8501[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 8763[label="xux5570",fontsize=16,color="green",shape="box"];8764 -> 8702[label="",style="dashed", color="red", weight=0]; 27.61/11.34 8764[label="FiniteMap.mkBranch (Pos (Succ (Succ (Succ (Succ Zero))))) xux493 xux494 FiniteMap.EmptyFM xux5573",fontsize=16,color="magenta"];8764 -> 8854[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8764 -> 8855[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8764 -> 8856[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8764 -> 8857[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8764 -> 8858[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8765[label="Succ (Succ Zero)",fontsize=16,color="green",shape="box"];8766[label="xux5571",fontsize=16,color="green",shape="box"];8767[label="xux5574",fontsize=16,color="green",shape="box"];8963[label="xux634",fontsize=16,color="green",shape="box"];8964[label="xux635",fontsize=16,color="green",shape="box"];8965[label="xux635",fontsize=16,color="green",shape="box"];8768[label="xux493",fontsize=16,color="green",shape="box"];8769[label="FiniteMap.Branch xux4960 xux4961 (Pos xux49620) xux4963 xux4964",fontsize=16,color="green",shape="box"];8770[label="Succ Zero",fontsize=16,color="green",shape="box"];8771[label="xux494",fontsize=16,color="green",shape="box"];8772[label="xux557",fontsize=16,color="green",shape="box"];8472 -> 7871[label="",style="dashed", color="red", weight=0]; 27.61/11.34 8472[label="FiniteMap.sizeFM xux4964 < Pos (Succ (Succ Zero)) * FiniteMap.sizeFM xux4963",fontsize=16,color="magenta"];8472 -> 8503[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8472 -> 8504[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8471[label="FiniteMap.mkBalBranch6MkBalBranch11 xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Pos xux49620) xux4963 xux4964) xux558 (FiniteMap.Branch xux4960 xux4961 (Pos xux49620) xux4963 xux4964) xux557 xux4960 xux4961 (Pos xux49620) xux4963 xux4964 xux602",fontsize=16,color="burlywood",shape="triangle"];9258[label="xux602/False",fontsize=10,color="white",style="solid",shape="box"];8471 -> 9258[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9258 -> 8505[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 9259[label="xux602/True",fontsize=10,color="white",style="solid",shape="box"];8471 -> 9259[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9259 -> 8506[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 8473[label="xux5573",fontsize=16,color="green",shape="box"];8474 -> 8132[label="",style="dashed", color="red", weight=0]; 27.61/11.34 8474[label="FiniteMap.sizeFM xux5574",fontsize=16,color="magenta"];8474 -> 8507[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8475[label="FiniteMap.mkBalBranch6MkBalBranch00 xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Pos xux49620) xux4963 xux4964) xux558 (FiniteMap.Branch xux4960 xux4961 (Pos xux49620) xux4963 xux4964) (FiniteMap.Branch xux5570 xux5571 xux5572 xux5573 xux5574) xux5570 xux5571 xux5572 xux5573 xux5574 otherwise",fontsize=16,color="black",shape="box"];8475 -> 8508[label="",style="solid", color="black", weight=3]; 27.61/11.34 8476[label="FiniteMap.mkBalBranch6Single_L xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Pos xux49620) xux4963 xux4964) xux558 (FiniteMap.Branch xux4960 xux4961 (Pos xux49620) xux4963 xux4964) (FiniteMap.Branch xux5570 xux5571 xux5572 xux5573 xux5574)",fontsize=16,color="black",shape="box"];8476 -> 8509[label="",style="solid", color="black", weight=3]; 27.61/11.34 8773[label="xux493",fontsize=16,color="green",shape="box"];8774[label="FiniteMap.Branch xux4960 xux4961 (Neg xux49620) xux4963 xux4964",fontsize=16,color="green",shape="box"];8775[label="Succ Zero",fontsize=16,color="green",shape="box"];8776[label="xux494",fontsize=16,color="green",shape="box"];8777[label="xux557",fontsize=16,color="green",shape="box"];8484 -> 7871[label="",style="dashed", color="red", weight=0]; 27.61/11.34 8484[label="FiniteMap.sizeFM xux4964 < Pos (Succ (Succ Zero)) * FiniteMap.sizeFM xux4963",fontsize=16,color="magenta"];8484 -> 8513[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8484 -> 8514[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8483[label="FiniteMap.mkBalBranch6MkBalBranch11 xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Neg xux49620) xux4963 xux4964) xux558 (FiniteMap.Branch xux4960 xux4961 (Neg xux49620) xux4963 xux4964) xux557 xux4960 xux4961 (Neg xux49620) xux4963 xux4964 xux606",fontsize=16,color="burlywood",shape="triangle"];9260[label="xux606/False",fontsize=10,color="white",style="solid",shape="box"];8483 -> 9260[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9260 -> 8515[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 9261[label="xux606/True",fontsize=10,color="white",style="solid",shape="box"];8483 -> 9261[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9261 -> 8516[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 8485[label="xux5573",fontsize=16,color="green",shape="box"];8486 -> 8132[label="",style="dashed", color="red", weight=0]; 27.61/11.34 8486[label="FiniteMap.sizeFM xux5574",fontsize=16,color="magenta"];8486 -> 8533[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8487[label="FiniteMap.mkBalBranch6MkBalBranch00 xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Neg xux49620) xux4963 xux4964) xux558 (FiniteMap.Branch xux4960 xux4961 (Neg xux49620) xux4963 xux4964) (FiniteMap.Branch xux5570 xux5571 xux5572 xux5573 xux5574) xux5570 xux5571 xux5572 xux5573 xux5574 otherwise",fontsize=16,color="black",shape="box"];8487 -> 8534[label="",style="solid", color="black", weight=3]; 27.61/11.34 8488[label="FiniteMap.mkBalBranch6Single_L xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Neg xux49620) xux4963 xux4964) xux558 (FiniteMap.Branch xux4960 xux4961 (Neg xux49620) xux4963 xux4964) (FiniteMap.Branch xux5570 xux5571 xux5572 xux5573 xux5574)",fontsize=16,color="black",shape="box"];8488 -> 8535[label="",style="solid", color="black", weight=3]; 27.61/11.34 601[label="FiniteMap.splitLT4 FiniteMap.EmptyFM True",fontsize=16,color="black",shape="box"];601 -> 674[label="",style="solid", color="black", weight=3]; 27.61/11.34 602 -> 27[label="",style="dashed", color="red", weight=0]; 27.61/11.34 602[label="FiniteMap.splitLT3 (FiniteMap.Branch xux340 xux341 xux342 xux343 xux344) True",fontsize=16,color="magenta"];602 -> 675[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 602 -> 676[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 602 -> 677[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 602 -> 678[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 602 -> 679[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 602 -> 680[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8498[label="Pos (primMulNat (Succ (Succ Zero)) xux5910)",fontsize=16,color="green",shape="box"];8498 -> 8544[label="",style="dashed", color="green", weight=3]; 27.61/11.34 8499[label="Neg (primMulNat (Succ (Succ Zero)) xux5910)",fontsize=16,color="green",shape="box"];8499 -> 8545[label="",style="dashed", color="green", weight=3]; 27.61/11.34 8500[label="FiniteMap.mkBalBranch6Double_L xux493 xux494 FiniteMap.EmptyFM xux558 FiniteMap.EmptyFM (FiniteMap.Branch xux5570 xux5571 xux5572 FiniteMap.EmptyFM xux5574)",fontsize=16,color="black",shape="box"];8500 -> 8546[label="",style="solid", color="black", weight=3]; 27.61/11.34 8501[label="FiniteMap.mkBalBranch6Double_L xux493 xux494 FiniteMap.EmptyFM xux558 FiniteMap.EmptyFM (FiniteMap.Branch xux5570 xux5571 xux5572 (FiniteMap.Branch xux55730 xux55731 xux55732 xux55733 xux55734) xux5574)",fontsize=16,color="black",shape="box"];8501 -> 8547[label="",style="solid", color="black", weight=3]; 27.61/11.34 8854[label="xux493",fontsize=16,color="green",shape="box"];8855[label="FiniteMap.EmptyFM",fontsize=16,color="green",shape="box"];8856[label="Succ (Succ (Succ Zero))",fontsize=16,color="green",shape="box"];8857[label="xux494",fontsize=16,color="green",shape="box"];8858[label="xux5573",fontsize=16,color="green",shape="box"];8503 -> 8132[label="",style="dashed", color="red", weight=0]; 27.61/11.34 8503[label="FiniteMap.sizeFM xux4964",fontsize=16,color="magenta"];8503 -> 8550[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8504 -> 8392[label="",style="dashed", color="red", weight=0]; 27.61/11.34 8504[label="Pos (Succ (Succ Zero)) * FiniteMap.sizeFM xux4963",fontsize=16,color="magenta"];8504 -> 8551[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8505[label="FiniteMap.mkBalBranch6MkBalBranch11 xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Pos xux49620) xux4963 xux4964) xux558 (FiniteMap.Branch xux4960 xux4961 (Pos xux49620) xux4963 xux4964) xux557 xux4960 xux4961 (Pos xux49620) xux4963 xux4964 False",fontsize=16,color="black",shape="box"];8505 -> 8552[label="",style="solid", color="black", weight=3]; 27.61/11.34 8506[label="FiniteMap.mkBalBranch6MkBalBranch11 xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Pos xux49620) xux4963 xux4964) xux558 (FiniteMap.Branch xux4960 xux4961 (Pos xux49620) xux4963 xux4964) xux557 xux4960 xux4961 (Pos xux49620) xux4963 xux4964 True",fontsize=16,color="black",shape="box"];8506 -> 8553[label="",style="solid", color="black", weight=3]; 27.61/11.34 8507[label="xux5574",fontsize=16,color="green",shape="box"];8508[label="FiniteMap.mkBalBranch6MkBalBranch00 xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Pos xux49620) xux4963 xux4964) xux558 (FiniteMap.Branch xux4960 xux4961 (Pos xux49620) xux4963 xux4964) (FiniteMap.Branch xux5570 xux5571 xux5572 xux5573 xux5574) xux5570 xux5571 xux5572 xux5573 xux5574 True",fontsize=16,color="black",shape="box"];8508 -> 8554[label="",style="solid", color="black", weight=3]; 27.61/11.34 8509 -> 8702[label="",style="dashed", color="red", weight=0]; 27.61/11.34 8509[label="FiniteMap.mkBranch (Pos (Succ (Succ (Succ Zero)))) xux5570 xux5571 (FiniteMap.mkBranch (Pos (Succ (Succ (Succ (Succ Zero))))) xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Pos xux49620) xux4963 xux4964) xux5573) xux5574",fontsize=16,color="magenta"];8509 -> 8778[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8509 -> 8779[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8509 -> 8780[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8509 -> 8781[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8509 -> 8782[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8513 -> 8132[label="",style="dashed", color="red", weight=0]; 27.61/11.34 8513[label="FiniteMap.sizeFM xux4964",fontsize=16,color="magenta"];8513 -> 8556[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8514 -> 8392[label="",style="dashed", color="red", weight=0]; 27.61/11.34 8514[label="Pos (Succ (Succ Zero)) * FiniteMap.sizeFM xux4963",fontsize=16,color="magenta"];8514 -> 8557[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8515[label="FiniteMap.mkBalBranch6MkBalBranch11 xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Neg xux49620) xux4963 xux4964) xux558 (FiniteMap.Branch xux4960 xux4961 (Neg xux49620) xux4963 xux4964) xux557 xux4960 xux4961 (Neg xux49620) xux4963 xux4964 False",fontsize=16,color="black",shape="box"];8515 -> 8558[label="",style="solid", color="black", weight=3]; 27.61/11.34 8516[label="FiniteMap.mkBalBranch6MkBalBranch11 xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Neg xux49620) xux4963 xux4964) xux558 (FiniteMap.Branch xux4960 xux4961 (Neg xux49620) xux4963 xux4964) xux557 xux4960 xux4961 (Neg xux49620) xux4963 xux4964 True",fontsize=16,color="black",shape="box"];8516 -> 8559[label="",style="solid", color="black", weight=3]; 27.61/11.34 8533[label="xux5574",fontsize=16,color="green",shape="box"];8534[label="FiniteMap.mkBalBranch6MkBalBranch00 xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Neg xux49620) xux4963 xux4964) xux558 (FiniteMap.Branch xux4960 xux4961 (Neg xux49620) xux4963 xux4964) (FiniteMap.Branch xux5570 xux5571 xux5572 xux5573 xux5574) xux5570 xux5571 xux5572 xux5573 xux5574 True",fontsize=16,color="black",shape="box"];8534 -> 8570[label="",style="solid", color="black", weight=3]; 27.61/11.34 8535 -> 8702[label="",style="dashed", color="red", weight=0]; 27.61/11.34 8535[label="FiniteMap.mkBranch (Pos (Succ (Succ (Succ Zero)))) xux5570 xux5571 (FiniteMap.mkBranch (Pos (Succ (Succ (Succ (Succ Zero))))) xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Neg xux49620) xux4963 xux4964) xux5573) xux5574",fontsize=16,color="magenta"];8535 -> 8783[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8535 -> 8784[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8535 -> 8785[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8535 -> 8786[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8535 -> 8787[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 674 -> 67[label="",style="dashed", color="red", weight=0]; 27.61/11.34 674[label="FiniteMap.emptyFM",fontsize=16,color="magenta"];675[label="xux344",fontsize=16,color="green",shape="box"];676[label="xux343",fontsize=16,color="green",shape="box"];677[label="True",fontsize=16,color="green",shape="box"];678[label="xux340",fontsize=16,color="green",shape="box"];679[label="xux342",fontsize=16,color="green",shape="box"];680[label="xux341",fontsize=16,color="green",shape="box"];8544[label="primMulNat (Succ (Succ Zero)) xux5910",fontsize=16,color="burlywood",shape="triangle"];9262[label="xux5910/Succ xux59100",fontsize=10,color="white",style="solid",shape="box"];8544 -> 9262[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9262 -> 8575[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 9263[label="xux5910/Zero",fontsize=10,color="white",style="solid",shape="box"];8544 -> 9263[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9263 -> 8576[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 8545 -> 8544[label="",style="dashed", color="red", weight=0]; 27.61/11.34 8545[label="primMulNat (Succ (Succ Zero)) xux5910",fontsize=16,color="magenta"];8545 -> 8577[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8546[label="error []",fontsize=16,color="red",shape="box"];8547 -> 8702[label="",style="dashed", color="red", weight=0]; 27.61/11.34 8547[label="FiniteMap.mkBranch (Pos (Succ (Succ (Succ (Succ (Succ Zero)))))) xux55730 xux55731 (FiniteMap.mkBranch (Pos (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))) xux493 xux494 FiniteMap.EmptyFM xux55733) (FiniteMap.mkBranch (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))) xux5570 xux5571 xux55734 xux5574)",fontsize=16,color="magenta"];8547 -> 8788[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8547 -> 8789[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8547 -> 8790[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8547 -> 8791[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8547 -> 8792[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8550[label="xux4964",fontsize=16,color="green",shape="box"];8551 -> 8132[label="",style="dashed", color="red", weight=0]; 27.61/11.34 8551[label="FiniteMap.sizeFM xux4963",fontsize=16,color="magenta"];8551 -> 8581[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8552[label="FiniteMap.mkBalBranch6MkBalBranch10 xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Pos xux49620) xux4963 xux4964) xux558 (FiniteMap.Branch xux4960 xux4961 (Pos xux49620) xux4963 xux4964) xux557 xux4960 xux4961 (Pos xux49620) xux4963 xux4964 otherwise",fontsize=16,color="black",shape="box"];8552 -> 8582[label="",style="solid", color="black", weight=3]; 27.61/11.34 8553[label="FiniteMap.mkBalBranch6Single_R xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Pos xux49620) xux4963 xux4964) xux558 (FiniteMap.Branch xux4960 xux4961 (Pos xux49620) xux4963 xux4964) xux557",fontsize=16,color="black",shape="box"];8553 -> 8583[label="",style="solid", color="black", weight=3]; 27.61/11.34 8554[label="FiniteMap.mkBalBranch6Double_L xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Pos xux49620) xux4963 xux4964) xux558 (FiniteMap.Branch xux4960 xux4961 (Pos xux49620) xux4963 xux4964) (FiniteMap.Branch xux5570 xux5571 xux5572 xux5573 xux5574)",fontsize=16,color="burlywood",shape="box"];9264[label="xux5573/FiniteMap.EmptyFM",fontsize=10,color="white",style="solid",shape="box"];8554 -> 9264[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9264 -> 8584[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 9265[label="xux5573/FiniteMap.Branch xux55730 xux55731 xux55732 xux55733 xux55734",fontsize=10,color="white",style="solid",shape="box"];8554 -> 9265[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9265 -> 8585[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 8778[label="xux5570",fontsize=16,color="green",shape="box"];8779 -> 8702[label="",style="dashed", color="red", weight=0]; 27.61/11.34 8779[label="FiniteMap.mkBranch (Pos (Succ (Succ (Succ (Succ Zero))))) xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Pos xux49620) xux4963 xux4964) xux5573",fontsize=16,color="magenta"];8779 -> 8859[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8779 -> 8860[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8779 -> 8861[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8779 -> 8862[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8779 -> 8863[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8780[label="Succ (Succ Zero)",fontsize=16,color="green",shape="box"];8781[label="xux5571",fontsize=16,color="green",shape="box"];8782[label="xux5574",fontsize=16,color="green",shape="box"];8556[label="xux4964",fontsize=16,color="green",shape="box"];8557 -> 8132[label="",style="dashed", color="red", weight=0]; 27.61/11.34 8557[label="FiniteMap.sizeFM xux4963",fontsize=16,color="magenta"];8557 -> 8587[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8558[label="FiniteMap.mkBalBranch6MkBalBranch10 xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Neg xux49620) xux4963 xux4964) xux558 (FiniteMap.Branch xux4960 xux4961 (Neg xux49620) xux4963 xux4964) xux557 xux4960 xux4961 (Neg xux49620) xux4963 xux4964 otherwise",fontsize=16,color="black",shape="box"];8558 -> 8588[label="",style="solid", color="black", weight=3]; 27.61/11.34 8559[label="FiniteMap.mkBalBranch6Single_R xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Neg xux49620) xux4963 xux4964) xux558 (FiniteMap.Branch xux4960 xux4961 (Neg xux49620) xux4963 xux4964) xux557",fontsize=16,color="black",shape="box"];8559 -> 8589[label="",style="solid", color="black", weight=3]; 27.61/11.34 8570[label="FiniteMap.mkBalBranch6Double_L xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Neg xux49620) xux4963 xux4964) xux558 (FiniteMap.Branch xux4960 xux4961 (Neg xux49620) xux4963 xux4964) (FiniteMap.Branch xux5570 xux5571 xux5572 xux5573 xux5574)",fontsize=16,color="burlywood",shape="box"];9266[label="xux5573/FiniteMap.EmptyFM",fontsize=10,color="white",style="solid",shape="box"];8570 -> 9266[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9266 -> 8595[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 9267[label="xux5573/FiniteMap.Branch xux55730 xux55731 xux55732 xux55733 xux55734",fontsize=10,color="white",style="solid",shape="box"];8570 -> 9267[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9267 -> 8596[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 8783[label="xux5570",fontsize=16,color="green",shape="box"];8784 -> 8702[label="",style="dashed", color="red", weight=0]; 27.61/11.34 8784[label="FiniteMap.mkBranch (Pos (Succ (Succ (Succ (Succ Zero))))) xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Neg xux49620) xux4963 xux4964) xux5573",fontsize=16,color="magenta"];8784 -> 8864[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8784 -> 8865[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8784 -> 8866[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8784 -> 8867[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8784 -> 8868[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8785[label="Succ (Succ Zero)",fontsize=16,color="green",shape="box"];8786[label="xux5571",fontsize=16,color="green",shape="box"];8787[label="xux5574",fontsize=16,color="green",shape="box"];8575[label="primMulNat (Succ (Succ Zero)) (Succ xux59100)",fontsize=16,color="black",shape="box"];8575 -> 8598[label="",style="solid", color="black", weight=3]; 27.61/11.34 8576[label="primMulNat (Succ (Succ Zero)) Zero",fontsize=16,color="black",shape="box"];8576 -> 8599[label="",style="solid", color="black", weight=3]; 27.61/11.34 8577[label="xux5910",fontsize=16,color="green",shape="box"];8788[label="xux55730",fontsize=16,color="green",shape="box"];8789 -> 8702[label="",style="dashed", color="red", weight=0]; 27.61/11.34 8789[label="FiniteMap.mkBranch (Pos (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))) xux493 xux494 FiniteMap.EmptyFM xux55733",fontsize=16,color="magenta"];8789 -> 8869[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8789 -> 8870[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8789 -> 8871[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8789 -> 8872[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8789 -> 8873[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8790[label="Succ (Succ (Succ (Succ Zero)))",fontsize=16,color="green",shape="box"];8791[label="xux55731",fontsize=16,color="green",shape="box"];8792 -> 8702[label="",style="dashed", color="red", weight=0]; 27.61/11.34 8792[label="FiniteMap.mkBranch (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))) xux5570 xux5571 xux55734 xux5574",fontsize=16,color="magenta"];8792 -> 8874[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8792 -> 8875[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8792 -> 8876[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8792 -> 8877[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8792 -> 8878[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8581[label="xux4963",fontsize=16,color="green",shape="box"];8582[label="FiniteMap.mkBalBranch6MkBalBranch10 xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Pos xux49620) xux4963 xux4964) xux558 (FiniteMap.Branch xux4960 xux4961 (Pos xux49620) xux4963 xux4964) xux557 xux4960 xux4961 (Pos xux49620) xux4963 xux4964 True",fontsize=16,color="black",shape="box"];8582 -> 8634[label="",style="solid", color="black", weight=3]; 27.61/11.34 8583 -> 8702[label="",style="dashed", color="red", weight=0]; 27.61/11.34 8583[label="FiniteMap.mkBranch (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))) xux4960 xux4961 xux4963 (FiniteMap.mkBranch (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))))) xux493 xux494 xux4964 xux557)",fontsize=16,color="magenta"];8583 -> 8798[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8583 -> 8799[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8583 -> 8800[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8583 -> 8801[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8583 -> 8802[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8584[label="FiniteMap.mkBalBranch6Double_L xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Pos xux49620) xux4963 xux4964) xux558 (FiniteMap.Branch xux4960 xux4961 (Pos xux49620) xux4963 xux4964) (FiniteMap.Branch xux5570 xux5571 xux5572 FiniteMap.EmptyFM xux5574)",fontsize=16,color="black",shape="box"];8584 -> 8653[label="",style="solid", color="black", weight=3]; 27.61/11.34 8585[label="FiniteMap.mkBalBranch6Double_L xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Pos xux49620) xux4963 xux4964) xux558 (FiniteMap.Branch xux4960 xux4961 (Pos xux49620) xux4963 xux4964) (FiniteMap.Branch xux5570 xux5571 xux5572 (FiniteMap.Branch xux55730 xux55731 xux55732 xux55733 xux55734) xux5574)",fontsize=16,color="black",shape="box"];8585 -> 8654[label="",style="solid", color="black", weight=3]; 27.61/11.34 8859[label="xux493",fontsize=16,color="green",shape="box"];8860[label="FiniteMap.Branch xux4960 xux4961 (Pos xux49620) xux4963 xux4964",fontsize=16,color="green",shape="box"];8861[label="Succ (Succ (Succ Zero))",fontsize=16,color="green",shape="box"];8862[label="xux494",fontsize=16,color="green",shape="box"];8863[label="xux5573",fontsize=16,color="green",shape="box"];8587[label="xux4963",fontsize=16,color="green",shape="box"];8588[label="FiniteMap.mkBalBranch6MkBalBranch10 xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Neg xux49620) xux4963 xux4964) xux558 (FiniteMap.Branch xux4960 xux4961 (Neg xux49620) xux4963 xux4964) xux557 xux4960 xux4961 (Neg xux49620) xux4963 xux4964 True",fontsize=16,color="black",shape="box"];8588 -> 8657[label="",style="solid", color="black", weight=3]; 27.61/11.34 8589 -> 8702[label="",style="dashed", color="red", weight=0]; 27.61/11.34 8589[label="FiniteMap.mkBranch (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))) xux4960 xux4961 xux4963 (FiniteMap.mkBranch (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))))) xux493 xux494 xux4964 xux557)",fontsize=16,color="magenta"];8589 -> 8803[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8589 -> 8804[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8589 -> 8805[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8589 -> 8806[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8589 -> 8807[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8595[label="FiniteMap.mkBalBranch6Double_L xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Neg xux49620) xux4963 xux4964) xux558 (FiniteMap.Branch xux4960 xux4961 (Neg xux49620) xux4963 xux4964) (FiniteMap.Branch xux5570 xux5571 xux5572 FiniteMap.EmptyFM xux5574)",fontsize=16,color="black",shape="box"];8595 -> 8658[label="",style="solid", color="black", weight=3]; 27.61/11.34 8596[label="FiniteMap.mkBalBranch6Double_L xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Neg xux49620) xux4963 xux4964) xux558 (FiniteMap.Branch xux4960 xux4961 (Neg xux49620) xux4963 xux4964) (FiniteMap.Branch xux5570 xux5571 xux5572 (FiniteMap.Branch xux55730 xux55731 xux55732 xux55733 xux55734) xux5574)",fontsize=16,color="black",shape="box"];8596 -> 8659[label="",style="solid", color="black", weight=3]; 27.61/11.34 8864[label="xux493",fontsize=16,color="green",shape="box"];8865[label="FiniteMap.Branch xux4960 xux4961 (Neg xux49620) xux4963 xux4964",fontsize=16,color="green",shape="box"];8866[label="Succ (Succ (Succ Zero))",fontsize=16,color="green",shape="box"];8867[label="xux494",fontsize=16,color="green",shape="box"];8868[label="xux5573",fontsize=16,color="green",shape="box"];8598 -> 2054[label="",style="dashed", color="red", weight=0]; 27.61/11.34 8598[label="primPlusNat (primMulNat (Succ Zero) (Succ xux59100)) (Succ xux59100)",fontsize=16,color="magenta"];8598 -> 8662[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8598 -> 8663[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8599[label="Zero",fontsize=16,color="green",shape="box"];8869[label="xux493",fontsize=16,color="green",shape="box"];8870[label="FiniteMap.EmptyFM",fontsize=16,color="green",shape="box"];8871[label="Succ (Succ (Succ (Succ (Succ Zero))))",fontsize=16,color="green",shape="box"];8872[label="xux494",fontsize=16,color="green",shape="box"];8873[label="xux55733",fontsize=16,color="green",shape="box"];8874[label="xux5570",fontsize=16,color="green",shape="box"];8875[label="xux55734",fontsize=16,color="green",shape="box"];8876[label="Succ (Succ (Succ (Succ (Succ (Succ Zero)))))",fontsize=16,color="green",shape="box"];8877[label="xux5571",fontsize=16,color="green",shape="box"];8878[label="xux5574",fontsize=16,color="green",shape="box"];8634[label="FiniteMap.mkBalBranch6Double_R xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Pos xux49620) xux4963 xux4964) xux558 (FiniteMap.Branch xux4960 xux4961 (Pos xux49620) xux4963 xux4964) xux557",fontsize=16,color="burlywood",shape="box"];9268[label="xux4964/FiniteMap.EmptyFM",fontsize=10,color="white",style="solid",shape="box"];8634 -> 9268[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9268 -> 8667[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 9269[label="xux4964/FiniteMap.Branch xux49640 xux49641 xux49642 xux49643 xux49644",fontsize=10,color="white",style="solid",shape="box"];8634 -> 9269[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9269 -> 8668[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 8798[label="xux4960",fontsize=16,color="green",shape="box"];8799[label="xux4963",fontsize=16,color="green",shape="box"];8800[label="Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))",fontsize=16,color="green",shape="box"];8801[label="xux4961",fontsize=16,color="green",shape="box"];8802 -> 8702[label="",style="dashed", color="red", weight=0]; 27.61/11.34 8802[label="FiniteMap.mkBranch (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))))) xux493 xux494 xux4964 xux557",fontsize=16,color="magenta"];8802 -> 8879[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8802 -> 8880[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8802 -> 8881[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8802 -> 8882[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8802 -> 8883[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8653[label="error []",fontsize=16,color="red",shape="box"];8654 -> 8702[label="",style="dashed", color="red", weight=0]; 27.61/11.34 8654[label="FiniteMap.mkBranch (Pos (Succ (Succ (Succ (Succ (Succ Zero)))))) xux55730 xux55731 (FiniteMap.mkBranch (Pos (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))) xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Pos xux49620) xux4963 xux4964) xux55733) (FiniteMap.mkBranch (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))) xux5570 xux5571 xux55734 xux5574)",fontsize=16,color="magenta"];8654 -> 8823[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8654 -> 8824[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8654 -> 8825[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8654 -> 8826[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8654 -> 8827[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8657[label="FiniteMap.mkBalBranch6Double_R xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Neg xux49620) xux4963 xux4964) xux558 (FiniteMap.Branch xux4960 xux4961 (Neg xux49620) xux4963 xux4964) xux557",fontsize=16,color="burlywood",shape="box"];9270[label="xux4964/FiniteMap.EmptyFM",fontsize=10,color="white",style="solid",shape="box"];8657 -> 9270[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9270 -> 8684[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 9271[label="xux4964/FiniteMap.Branch xux49640 xux49641 xux49642 xux49643 xux49644",fontsize=10,color="white",style="solid",shape="box"];8657 -> 9271[label="",style="solid", color="burlywood", weight=9]; 27.61/11.34 9271 -> 8685[label="",style="solid", color="burlywood", weight=3]; 27.61/11.34 8803[label="xux4960",fontsize=16,color="green",shape="box"];8804[label="xux4963",fontsize=16,color="green",shape="box"];8805[label="Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))",fontsize=16,color="green",shape="box"];8806[label="xux4961",fontsize=16,color="green",shape="box"];8807 -> 8702[label="",style="dashed", color="red", weight=0]; 27.61/11.34 8807[label="FiniteMap.mkBranch (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))))) xux493 xux494 xux4964 xux557",fontsize=16,color="magenta"];8807 -> 8884[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8807 -> 8885[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8807 -> 8886[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8807 -> 8887[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8807 -> 8888[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8658[label="error []",fontsize=16,color="red",shape="box"];8659 -> 8702[label="",style="dashed", color="red", weight=0]; 27.61/11.34 8659[label="FiniteMap.mkBranch (Pos (Succ (Succ (Succ (Succ (Succ Zero)))))) xux55730 xux55731 (FiniteMap.mkBranch (Pos (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))) xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Neg xux49620) xux4963 xux4964) xux55733) (FiniteMap.mkBranch (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))) xux5570 xux5571 xux55734 xux5574)",fontsize=16,color="magenta"];8659 -> 8833[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8659 -> 8834[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8659 -> 8835[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8659 -> 8836[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8659 -> 8837[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8662[label="Succ xux59100",fontsize=16,color="green",shape="box"];8663 -> 7429[label="",style="dashed", color="red", weight=0]; 27.61/11.34 8663[label="primMulNat (Succ Zero) (Succ xux59100)",fontsize=16,color="magenta"];8663 -> 8695[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8667[label="FiniteMap.mkBalBranch6Double_R xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Pos xux49620) xux4963 FiniteMap.EmptyFM) xux558 (FiniteMap.Branch xux4960 xux4961 (Pos xux49620) xux4963 FiniteMap.EmptyFM) xux557",fontsize=16,color="black",shape="box"];8667 -> 8889[label="",style="solid", color="black", weight=3]; 27.61/11.34 8668[label="FiniteMap.mkBalBranch6Double_R xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Pos xux49620) xux4963 (FiniteMap.Branch xux49640 xux49641 xux49642 xux49643 xux49644)) xux558 (FiniteMap.Branch xux4960 xux4961 (Pos xux49620) xux4963 (FiniteMap.Branch xux49640 xux49641 xux49642 xux49643 xux49644)) xux557",fontsize=16,color="black",shape="box"];8668 -> 8890[label="",style="solid", color="black", weight=3]; 27.61/11.34 8879[label="xux493",fontsize=16,color="green",shape="box"];8880[label="xux4964",fontsize=16,color="green",shape="box"];8881[label="Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))",fontsize=16,color="green",shape="box"];8882[label="xux494",fontsize=16,color="green",shape="box"];8883[label="xux557",fontsize=16,color="green",shape="box"];8823[label="xux55730",fontsize=16,color="green",shape="box"];8824 -> 8702[label="",style="dashed", color="red", weight=0]; 27.61/11.34 8824[label="FiniteMap.mkBranch (Pos (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))) xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Pos xux49620) xux4963 xux4964) xux55733",fontsize=16,color="magenta"];8824 -> 8891[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8824 -> 8892[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8824 -> 8893[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8824 -> 8894[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8824 -> 8895[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8825[label="Succ (Succ (Succ (Succ Zero)))",fontsize=16,color="green",shape="box"];8826[label="xux55731",fontsize=16,color="green",shape="box"];8827 -> 8702[label="",style="dashed", color="red", weight=0]; 27.61/11.34 8827[label="FiniteMap.mkBranch (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))) xux5570 xux5571 xux55734 xux5574",fontsize=16,color="magenta"];8827 -> 8896[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8827 -> 8897[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8827 -> 8898[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8827 -> 8899[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8827 -> 8900[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8684[label="FiniteMap.mkBalBranch6Double_R xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Neg xux49620) xux4963 FiniteMap.EmptyFM) xux558 (FiniteMap.Branch xux4960 xux4961 (Neg xux49620) xux4963 FiniteMap.EmptyFM) xux557",fontsize=16,color="black",shape="box"];8684 -> 8901[label="",style="solid", color="black", weight=3]; 27.61/11.34 8685[label="FiniteMap.mkBalBranch6Double_R xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Neg xux49620) xux4963 (FiniteMap.Branch xux49640 xux49641 xux49642 xux49643 xux49644)) xux558 (FiniteMap.Branch xux4960 xux4961 (Neg xux49620) xux4963 (FiniteMap.Branch xux49640 xux49641 xux49642 xux49643 xux49644)) xux557",fontsize=16,color="black",shape="box"];8685 -> 8902[label="",style="solid", color="black", weight=3]; 27.61/11.34 8884[label="xux493",fontsize=16,color="green",shape="box"];8885[label="xux4964",fontsize=16,color="green",shape="box"];8886[label="Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))",fontsize=16,color="green",shape="box"];8887[label="xux494",fontsize=16,color="green",shape="box"];8888[label="xux557",fontsize=16,color="green",shape="box"];8833[label="xux55730",fontsize=16,color="green",shape="box"];8834 -> 8702[label="",style="dashed", color="red", weight=0]; 27.61/11.34 8834[label="FiniteMap.mkBranch (Pos (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))) xux493 xux494 (FiniteMap.Branch xux4960 xux4961 (Neg xux49620) xux4963 xux4964) xux55733",fontsize=16,color="magenta"];8834 -> 8903[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8834 -> 8904[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8834 -> 8905[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8834 -> 8906[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8834 -> 8907[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8835[label="Succ (Succ (Succ (Succ Zero)))",fontsize=16,color="green",shape="box"];8836[label="xux55731",fontsize=16,color="green",shape="box"];8837 -> 8702[label="",style="dashed", color="red", weight=0]; 27.61/11.34 8837[label="FiniteMap.mkBranch (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))) xux5570 xux5571 xux55734 xux5574",fontsize=16,color="magenta"];8837 -> 8908[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8837 -> 8909[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8837 -> 8910[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8837 -> 8911[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8837 -> 8912[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8695[label="xux59100",fontsize=16,color="green",shape="box"];8889[label="error []",fontsize=16,color="red",shape="box"];8890 -> 8702[label="",style="dashed", color="red", weight=0]; 27.61/11.34 8890[label="FiniteMap.mkBranch (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))) xux49640 xux49641 (FiniteMap.mkBranch (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))))))) xux4960 xux4961 xux4963 xux49643) (FiniteMap.mkBranch (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))))) xux493 xux494 xux49644 xux557)",fontsize=16,color="magenta"];8890 -> 8914[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8890 -> 8915[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8890 -> 8916[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8890 -> 8917[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8890 -> 8918[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8891[label="xux493",fontsize=16,color="green",shape="box"];8892[label="FiniteMap.Branch xux4960 xux4961 (Pos xux49620) xux4963 xux4964",fontsize=16,color="green",shape="box"];8893[label="Succ (Succ (Succ (Succ (Succ Zero))))",fontsize=16,color="green",shape="box"];8894[label="xux494",fontsize=16,color="green",shape="box"];8895[label="xux55733",fontsize=16,color="green",shape="box"];8896[label="xux5570",fontsize=16,color="green",shape="box"];8897[label="xux55734",fontsize=16,color="green",shape="box"];8898[label="Succ (Succ (Succ (Succ (Succ (Succ Zero)))))",fontsize=16,color="green",shape="box"];8899[label="xux5571",fontsize=16,color="green",shape="box"];8900[label="xux5574",fontsize=16,color="green",shape="box"];8901[label="error []",fontsize=16,color="red",shape="box"];8902 -> 8702[label="",style="dashed", color="red", weight=0]; 27.61/11.34 8902[label="FiniteMap.mkBranch (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))) xux49640 xux49641 (FiniteMap.mkBranch (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))))))) xux4960 xux4961 xux4963 xux49643) (FiniteMap.mkBranch (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))))) xux493 xux494 xux49644 xux557)",fontsize=16,color="magenta"];8902 -> 8919[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8902 -> 8920[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8902 -> 8921[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8902 -> 8922[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8902 -> 8923[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8903[label="xux493",fontsize=16,color="green",shape="box"];8904[label="FiniteMap.Branch xux4960 xux4961 (Neg xux49620) xux4963 xux4964",fontsize=16,color="green",shape="box"];8905[label="Succ (Succ (Succ (Succ (Succ Zero))))",fontsize=16,color="green",shape="box"];8906[label="xux494",fontsize=16,color="green",shape="box"];8907[label="xux55733",fontsize=16,color="green",shape="box"];8908[label="xux5570",fontsize=16,color="green",shape="box"];8909[label="xux55734",fontsize=16,color="green",shape="box"];8910[label="Succ (Succ (Succ (Succ (Succ (Succ Zero)))))",fontsize=16,color="green",shape="box"];8911[label="xux5571",fontsize=16,color="green",shape="box"];8912[label="xux5574",fontsize=16,color="green",shape="box"];8914[label="xux49640",fontsize=16,color="green",shape="box"];8915 -> 8702[label="",style="dashed", color="red", weight=0]; 27.61/11.34 8915[label="FiniteMap.mkBranch (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))))))) xux4960 xux4961 xux4963 xux49643",fontsize=16,color="magenta"];8915 -> 8925[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8915 -> 8926[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8915 -> 8927[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8915 -> 8928[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8915 -> 8929[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8916[label="Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))",fontsize=16,color="green",shape="box"];8917[label="xux49641",fontsize=16,color="green",shape="box"];8918 -> 8702[label="",style="dashed", color="red", weight=0]; 27.61/11.34 8918[label="FiniteMap.mkBranch (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))))) xux493 xux494 xux49644 xux557",fontsize=16,color="magenta"];8918 -> 8930[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8918 -> 8931[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8918 -> 8932[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8918 -> 8933[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8918 -> 8934[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8919[label="xux49640",fontsize=16,color="green",shape="box"];8920 -> 8702[label="",style="dashed", color="red", weight=0]; 27.61/11.34 8920[label="FiniteMap.mkBranch (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))))))) xux4960 xux4961 xux4963 xux49643",fontsize=16,color="magenta"];8920 -> 8935[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8920 -> 8936[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8920 -> 8937[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8920 -> 8938[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8920 -> 8939[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8921[label="Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))",fontsize=16,color="green",shape="box"];8922[label="xux49641",fontsize=16,color="green",shape="box"];8923 -> 8702[label="",style="dashed", color="red", weight=0]; 27.61/11.34 8923[label="FiniteMap.mkBranch (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))))) xux493 xux494 xux49644 xux557",fontsize=16,color="magenta"];8923 -> 8940[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8923 -> 8941[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8923 -> 8942[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8923 -> 8943[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8923 -> 8944[label="",style="dashed", color="magenta", weight=3]; 27.61/11.34 8925[label="xux4960",fontsize=16,color="green",shape="box"];8926[label="xux4963",fontsize=16,color="green",shape="box"];8927[label="Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))))",fontsize=16,color="green",shape="box"];8928[label="xux4961",fontsize=16,color="green",shape="box"];8929[label="xux49643",fontsize=16,color="green",shape="box"];8930[label="xux493",fontsize=16,color="green",shape="box"];8931[label="xux49644",fontsize=16,color="green",shape="box"];8932[label="Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))",fontsize=16,color="green",shape="box"];8933[label="xux494",fontsize=16,color="green",shape="box"];8934[label="xux557",fontsize=16,color="green",shape="box"];8935[label="xux4960",fontsize=16,color="green",shape="box"];8936[label="xux4963",fontsize=16,color="green",shape="box"];8937[label="Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))))",fontsize=16,color="green",shape="box"];8938[label="xux4961",fontsize=16,color="green",shape="box"];8939[label="xux49643",fontsize=16,color="green",shape="box"];8940[label="xux493",fontsize=16,color="green",shape="box"];8941[label="xux49644",fontsize=16,color="green",shape="box"];8942[label="Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))",fontsize=16,color="green",shape="box"];8943[label="xux494",fontsize=16,color="green",shape="box"];8944[label="xux557",fontsize=16,color="green",shape="box"];} 27.61/11.35 27.61/11.35 ---------------------------------------- 27.61/11.35 27.61/11.35 (14) 27.61/11.35 Complex Obligation (AND) 27.61/11.35 27.61/11.35 ---------------------------------------- 27.61/11.35 27.61/11.35 (15) 27.61/11.35 Obligation: 27.61/11.35 Q DP problem: 27.61/11.35 The TRS P consists of the following rules: 27.61/11.35 27.61/11.35 new_addToFM_C1(xux493, xux494, xux495, xux496, xux497, xux498, xux499, True, h, ba) -> new_addToFM_C(xux497, xux498, xux499, h, ba) 27.61/11.35 new_addToFM_C2(xux475, xux476, xux477, xux478, xux479, xux480, xux481, False, bb, bc) -> new_addToFM_C1(xux475, xux476, xux477, xux478, xux479, xux480, xux481, new_gt(xux480, xux475, bb), bb, bc) 27.61/11.35 new_addToFM_C2(xux475, xux476, xux477, Branch(xux4780, xux4781, xux4782, xux4783, xux4784), xux479, xux480, xux481, True, bb, bc) -> new_addToFM_C2(xux4780, xux4781, xux4782, xux4783, xux4784, xux480, xux481, new_lt(xux480, xux4780, bb), bb, bc) 27.61/11.35 new_addToFM_C(Branch(xux4780, xux4781, xux4782, xux4783, xux4784), xux480, xux481, bb, bc) -> new_addToFM_C2(xux4780, xux4781, xux4782, xux4783, xux4784, xux480, xux481, new_lt(xux480, xux4780, bb), bb, bc) 27.61/11.35 27.61/11.35 The TRS R consists of the following rules: 27.61/11.35 27.61/11.35 new_lt(GT, GT, ty_Ordering) -> new_esEs10 27.61/11.35 new_lt(xux480, xux4780, ty_Int) -> new_lt0(xux480, xux4780) 27.61/11.35 new_lt0(xux480, xux4780) -> new_esEs7(xux480, xux4780) 27.61/11.35 new_gt0(Neg(Zero), Pos(Succ(xux47500))) -> new_esEs1 27.61/11.35 new_lt1(False, True) -> new_esEs11 27.61/11.35 new_lt(xux480, xux4780, app(ty_Ratio, bf)) -> error([]) 27.61/11.35 new_gt(LT, LT, ty_Ordering) -> new_esEs5 27.61/11.35 new_esEs7(Pos(Zero), Neg(Succ(xux478000))) -> new_esEs9 27.61/11.35 new_lt(xux480, xux4780, app(app(app(ty_@3, ca), cb), cc)) -> error([]) 27.61/11.35 new_lt(EQ, EQ, ty_Ordering) -> new_esEs10 27.61/11.35 new_gt(False, False, ty_Bool) -> new_esEs5 27.61/11.35 new_esEs6(Succ(xux480000), Zero) -> new_esEs3 27.61/11.35 new_esEs2(xux48000, Succ(xux47500)) -> new_esEs6(xux48000, xux47500) 27.61/11.35 new_esEs6(Succ(xux480000), Succ(xux475000)) -> new_esEs6(xux480000, xux475000) 27.61/11.35 new_esEs2(xux48000, Zero) -> new_esEs3 27.61/11.35 new_gt0(Pos(Zero), Neg(Succ(xux47500))) -> new_esEs3 27.61/11.35 new_gt(xux480, xux475, app(app(app(ty_@3, ca), cb), cc)) -> error([]) 27.61/11.35 new_esEs8(Zero, Zero) -> new_esEs10 27.61/11.35 new_gt0(Neg(Zero), Neg(Zero)) -> new_esEs5 27.61/11.35 new_esEs7(Pos(Succ(xux48000)), Neg(xux47800)) -> new_esEs9 27.61/11.35 new_gt0(Pos(Zero), Neg(Zero)) -> new_esEs5 27.61/11.35 new_gt0(Neg(Zero), Pos(Zero)) -> new_esEs5 27.61/11.35 new_esEs1 -> False 27.61/11.35 new_esEs3 -> True 27.61/11.35 new_esEs6(Zero, Zero) -> new_esEs5 27.61/11.35 new_gt(GT, GT, ty_Ordering) -> new_esEs5 27.61/11.35 new_esEs8(Zero, Succ(xux52000)) -> new_esEs11 27.61/11.35 new_esEs7(Pos(Zero), Pos(Succ(xux478000))) -> new_esEs8(Zero, Succ(xux478000)) 27.61/11.35 new_gt(True, True, ty_Bool) -> new_esEs5 27.61/11.35 new_lt(xux480, xux4780, ty_Char) -> error([]) 27.61/11.35 new_lt1(True, False) -> new_esEs9 27.61/11.35 new_esEs11 -> True 27.61/11.35 new_gt(True, False, ty_Bool) -> new_esEs3 27.61/11.35 new_lt(LT, LT, ty_Ordering) -> new_esEs10 27.61/11.35 new_esEs6(Zero, Succ(xux475000)) -> new_esEs1 27.61/11.35 new_lt(xux480, xux4780, ty_Float) -> error([]) 27.61/11.35 new_gt(xux480, xux475, app(app(ty_Either, bg), bh)) -> error([]) 27.61/11.35 new_gt(xux480, xux475, ty_Integer) -> error([]) 27.61/11.35 new_gt(LT, GT, ty_Ordering) -> error([]) 27.61/11.35 new_gt(GT, LT, ty_Ordering) -> error([]) 27.61/11.35 new_lt(xux480, xux4780, app(ty_Maybe, ce)) -> error([]) 27.61/11.35 new_gt(xux480, xux475, app(ty_[], cd)) -> error([]) 27.61/11.35 new_lt(xux480, xux4780, ty_Bool) -> new_lt1(xux480, xux4780) 27.61/11.35 new_lt(xux480, xux4780, ty_Double) -> error([]) 27.61/11.35 new_gt(LT, EQ, ty_Ordering) -> error([]) 27.61/11.35 new_gt(EQ, LT, ty_Ordering) -> error([]) 27.61/11.35 new_lt(xux480, xux4780, app(app(ty_@2, bd), be)) -> error([]) 27.61/11.35 new_esEs5 -> False 27.61/11.35 new_lt1(False, False) -> new_esEs10 27.61/11.35 new_esEs7(Neg(Zero), Neg(Zero)) -> new_esEs10 27.61/11.35 new_esEs7(Pos(Succ(xux48000)), Pos(xux47800)) -> new_esEs8(Succ(xux48000), xux47800) 27.61/11.35 new_lt1(True, True) -> new_esEs10 27.61/11.35 new_gt0(Pos(Succ(xux48000)), Neg(xux4750)) -> new_esEs3 27.61/11.35 new_lt(xux480, xux4780, ty_@0) -> error([]) 27.61/11.35 new_esEs7(Neg(Succ(xux48000)), Neg(xux47800)) -> new_esEs8(xux47800, Succ(xux48000)) 27.61/11.35 new_gt(xux480, xux475, app(app(ty_@2, bd), be)) -> error([]) 27.61/11.35 new_esEs9 -> False 27.61/11.35 new_gt(xux480, xux475, ty_Double) -> error([]) 27.61/11.35 new_gt0(Pos(Zero), Pos(Succ(xux47500))) -> new_esEs4(Zero, xux47500) 27.61/11.35 new_esEs7(Pos(Zero), Pos(Zero)) -> new_esEs10 27.61/11.35 new_lt(LT, EQ, ty_Ordering) -> error([]) 27.61/11.35 new_lt(EQ, LT, ty_Ordering) -> error([]) 27.61/11.35 new_lt(xux480, xux4780, app(ty_[], cd)) -> error([]) 27.61/11.35 new_esEs7(Neg(Succ(xux48000)), Pos(xux47800)) -> new_esEs11 27.61/11.35 new_gt(EQ, GT, ty_Ordering) -> error([]) 27.61/11.35 new_gt(GT, EQ, ty_Ordering) -> error([]) 27.61/11.35 new_gt(False, True, ty_Bool) -> new_esEs1 27.61/11.35 new_gt(xux480, xux475, ty_@0) -> error([]) 27.61/11.35 new_lt(xux480, xux4780, app(app(ty_Either, bg), bh)) -> error([]) 27.61/11.35 new_gt(EQ, EQ, ty_Ordering) -> new_esEs5 27.61/11.35 new_gt0(Pos(Succ(xux48000)), Pos(xux4750)) -> new_esEs2(xux48000, xux4750) 27.61/11.35 new_esEs4(Zero, xux48000) -> new_esEs1 27.61/11.35 new_lt(EQ, GT, ty_Ordering) -> error([]) 27.61/11.35 new_lt(GT, EQ, ty_Ordering) -> error([]) 27.61/11.35 new_gt(xux480, xux475, ty_Char) -> error([]) 27.61/11.35 new_gt0(Neg(Succ(xux48000)), Pos(xux4750)) -> new_esEs1 27.61/11.35 new_gt(xux480, xux475, ty_Float) -> error([]) 27.61/11.35 new_gt(xux480, xux475, app(ty_Maybe, ce)) -> error([]) 27.61/11.35 new_gt0(Pos(Zero), Pos(Zero)) -> new_esEs5 27.61/11.35 new_gt0(Neg(Zero), Neg(Succ(xux47500))) -> new_esEs2(xux47500, Zero) 27.61/11.35 new_esEs7(Neg(Zero), Pos(Succ(xux478000))) -> new_esEs11 27.61/11.35 new_esEs7(Neg(Zero), Neg(Succ(xux478000))) -> new_esEs8(Succ(xux478000), Zero) 27.61/11.35 new_esEs8(Succ(xux44600), Zero) -> new_esEs9 27.61/11.35 new_lt(xux480, xux4780, ty_Integer) -> error([]) 27.61/11.35 new_lt(LT, GT, ty_Ordering) -> error([]) 27.61/11.35 new_lt(GT, LT, ty_Ordering) -> error([]) 27.61/11.35 new_gt(xux480, xux475, ty_Int) -> new_gt0(xux480, xux475) 27.61/11.35 new_esEs8(Succ(xux44600), Succ(xux52000)) -> new_esEs8(xux44600, xux52000) 27.61/11.35 new_esEs10 -> False 27.61/11.35 new_esEs4(Succ(xux47500), xux48000) -> new_esEs6(xux47500, xux48000) 27.61/11.35 new_esEs7(Pos(Zero), Neg(Zero)) -> new_esEs10 27.61/11.35 new_esEs7(Neg(Zero), Pos(Zero)) -> new_esEs10 27.61/11.35 new_gt0(Neg(Succ(xux48000)), Neg(xux4750)) -> new_esEs4(xux4750, xux48000) 27.61/11.35 new_gt(xux480, xux475, app(ty_Ratio, bf)) -> error([]) 27.61/11.35 27.61/11.35 The set Q consists of the following terms: 27.61/11.35 27.61/11.35 new_lt(x0, x1, ty_@0) 27.61/11.35 new_gt(x0, x1, app(app(app(ty_@3, x2), x3), x4)) 27.61/11.35 new_lt(x0, x1, ty_Char) 27.61/11.35 new_esEs9 27.61/11.35 new_esEs6(Zero, Zero) 27.61/11.35 new_esEs2(x0, Succ(x1)) 27.61/11.35 new_gt(x0, x1, app(ty_[], x2)) 27.61/11.35 new_lt(x0, x1, ty_Double) 27.61/11.35 new_gt0(Neg(Succ(x0)), Neg(x1)) 27.61/11.35 new_gt(LT, GT, ty_Ordering) 27.61/11.35 new_gt(GT, LT, ty_Ordering) 27.61/11.35 new_gt(x0, x1, ty_Int) 27.61/11.35 new_esEs8(Zero, Succ(x0)) 27.61/11.35 new_lt(x0, x1, ty_Bool) 27.61/11.35 new_esEs7(Pos(Zero), Neg(Zero)) 27.61/11.35 new_esEs7(Neg(Zero), Pos(Zero)) 27.61/11.35 new_gt(x0, x1, ty_Integer) 27.61/11.35 new_lt(x0, x1, app(app(app(ty_@3, x2), x3), x4)) 27.61/11.35 new_lt(EQ, EQ, ty_Ordering) 27.61/11.35 new_esEs8(Zero, Zero) 27.61/11.35 new_lt1(False, False) 27.61/11.35 new_esEs8(Succ(x0), Zero) 27.61/11.35 new_gt0(Pos(Succ(x0)), Pos(x1)) 27.61/11.35 new_esEs2(x0, Zero) 27.61/11.35 new_lt(LT, EQ, ty_Ordering) 27.61/11.35 new_lt(EQ, LT, ty_Ordering) 27.61/11.35 new_gt(LT, LT, ty_Ordering) 27.61/11.35 new_gt(False, False, ty_Bool) 27.61/11.35 new_esEs6(Succ(x0), Succ(x1)) 27.61/11.35 new_lt(x0, x1, ty_Float) 27.61/11.35 new_gt0(Pos(Zero), Pos(Zero)) 27.61/11.35 new_lt(x0, x1, ty_Integer) 27.61/11.35 new_esEs8(Succ(x0), Succ(x1)) 27.61/11.35 new_lt(GT, GT, ty_Ordering) 27.61/11.35 new_lt0(x0, x1) 27.61/11.35 new_esEs7(Neg(Zero), Neg(Zero)) 27.61/11.35 new_gt(x0, x1, ty_Double) 27.61/11.35 new_gt(x0, x1, ty_Char) 27.61/11.35 new_gt(EQ, GT, ty_Ordering) 27.61/11.35 new_gt(GT, EQ, ty_Ordering) 27.61/11.35 new_esEs4(Zero, x0) 27.61/11.35 new_esEs6(Succ(x0), Zero) 27.61/11.35 new_gt(x0, x1, app(ty_Ratio, x2)) 27.61/11.35 new_esEs7(Pos(Zero), Neg(Succ(x0))) 27.61/11.35 new_esEs7(Neg(Zero), Pos(Succ(x0))) 27.61/11.35 new_esEs3 27.61/11.35 new_gt0(Neg(Zero), Pos(Succ(x0))) 27.61/11.35 new_gt0(Pos(Zero), Neg(Succ(x0))) 27.61/11.35 new_esEs7(Neg(Zero), Neg(Succ(x0))) 27.61/11.35 new_lt(x0, x1, app(app(ty_@2, x2), x3)) 27.61/11.35 new_gt0(Pos(Zero), Pos(Succ(x0))) 27.61/11.35 new_lt(x0, x1, app(ty_[], x2)) 27.61/11.35 new_lt(LT, GT, ty_Ordering) 27.61/11.35 new_lt(GT, LT, ty_Ordering) 27.61/11.35 new_lt(LT, LT, ty_Ordering) 27.61/11.35 new_esEs5 27.61/11.35 new_gt(True, False, ty_Bool) 27.61/11.35 new_gt(False, True, ty_Bool) 27.61/11.35 new_gt0(Neg(Zero), Neg(Succ(x0))) 27.61/11.35 new_esEs10 27.61/11.35 new_esEs7(Pos(Zero), Pos(Succ(x0))) 27.61/11.35 new_esEs7(Pos(Succ(x0)), Pos(x1)) 27.61/11.35 new_esEs11 27.61/11.35 new_gt(x0, x1, ty_Float) 27.61/11.35 new_lt(x0, x1, app(ty_Maybe, x2)) 27.61/11.35 new_esEs6(Zero, Succ(x0)) 27.61/11.35 new_gt(x0, x1, ty_@0) 27.61/11.35 new_gt0(Pos(Zero), Neg(Zero)) 27.61/11.35 new_gt0(Neg(Zero), Pos(Zero)) 27.61/11.35 new_esEs1 27.61/11.35 new_gt(LT, EQ, ty_Ordering) 27.61/11.35 new_gt(EQ, LT, ty_Ordering) 27.61/11.35 new_lt1(False, True) 27.61/11.35 new_lt1(True, False) 27.61/11.35 new_lt(x0, x1, app(ty_Ratio, x2)) 27.61/11.35 new_gt(GT, GT, ty_Ordering) 27.61/11.35 new_gt0(Pos(Succ(x0)), Neg(x1)) 27.61/11.35 new_gt0(Neg(Succ(x0)), Pos(x1)) 27.61/11.35 new_esEs7(Pos(Succ(x0)), Neg(x1)) 27.61/11.35 new_lt1(True, True) 27.61/11.35 new_esEs7(Neg(Succ(x0)), Pos(x1)) 27.61/11.35 new_gt(EQ, EQ, ty_Ordering) 27.61/11.35 new_esEs7(Neg(Succ(x0)), Neg(x1)) 27.61/11.35 new_gt(x0, x1, app(ty_Maybe, x2)) 27.61/11.35 new_gt(x0, x1, app(app(ty_Either, x2), x3)) 27.61/11.35 new_esEs7(Pos(Zero), Pos(Zero)) 27.61/11.35 new_gt(True, True, ty_Bool) 27.61/11.35 new_gt0(Neg(Zero), Neg(Zero)) 27.61/11.35 new_lt(x0, x1, ty_Int) 27.61/11.35 new_lt(x0, x1, app(app(ty_Either, x2), x3)) 27.61/11.35 new_esEs4(Succ(x0), x1) 27.61/11.35 new_lt(EQ, GT, ty_Ordering) 27.61/11.35 new_lt(GT, EQ, ty_Ordering) 27.61/11.35 new_gt(x0, x1, app(app(ty_@2, x2), x3)) 27.61/11.35 27.61/11.35 We have to consider all minimal (P,Q,R)-chains. 27.61/11.35 ---------------------------------------- 27.61/11.35 27.61/11.35 (16) QDPSizeChangeProof (EQUIVALENT) 27.61/11.35 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.61/11.35 27.61/11.35 From the DPs we obtained the following set of size-change graphs: 27.61/11.35 *new_addToFM_C(Branch(xux4780, xux4781, xux4782, xux4783, xux4784), xux480, xux481, bb, bc) -> new_addToFM_C2(xux4780, xux4781, xux4782, xux4783, xux4784, xux480, xux481, new_lt(xux480, xux4780, bb), bb, bc) 27.61/11.35 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.61/11.35 27.61/11.35 27.61/11.35 *new_addToFM_C2(xux475, xux476, xux477, xux478, xux479, xux480, xux481, False, bb, bc) -> new_addToFM_C1(xux475, xux476, xux477, xux478, xux479, xux480, xux481, new_gt(xux480, xux475, bb), bb, bc) 27.61/11.35 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.61/11.35 27.61/11.35 27.61/11.35 *new_addToFM_C1(xux493, xux494, xux495, xux496, xux497, xux498, xux499, True, h, ba) -> new_addToFM_C(xux497, xux498, xux499, h, ba) 27.61/11.35 The graph contains the following edges 5 >= 1, 6 >= 2, 7 >= 3, 9 >= 4, 10 >= 5 27.61/11.35 27.61/11.35 27.61/11.35 *new_addToFM_C2(xux475, xux476, xux477, Branch(xux4780, xux4781, xux4782, xux4783, xux4784), xux479, xux480, xux481, True, bb, bc) -> new_addToFM_C2(xux4780, xux4781, xux4782, xux4783, xux4784, xux480, xux481, new_lt(xux480, xux4780, bb), bb, bc) 27.61/11.35 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.61/11.35 27.61/11.35 27.61/11.35 ---------------------------------------- 27.61/11.35 27.61/11.35 (17) 27.61/11.35 YES 27.61/11.35 27.61/11.35 ---------------------------------------- 27.61/11.35 27.61/11.35 (18) 27.61/11.35 Obligation: 27.61/11.35 Q DP problem: 27.61/11.35 The TRS P consists of the following rules: 27.61/11.35 27.61/11.35 new_mkVBalBranch3MkVBalBranch2(xux1340, xux1341, xux1342, xux1343, xux1344, xux1380, xux1381, Neg(Zero), xux1383, xux1384, xux140, xux141, False, h, ba) -> new_mkVBalBranch3MkVBalBranch12(xux1340, xux1341, xux1342, xux1343, xux1344, xux1380, xux1381, xux1383, xux1384, xux140, xux141, new_esEs15(new_sizeFM0(xux1340, xux1341, xux1342, xux1343, xux1344, h, ba)), h, ba) 27.61/11.35 new_mkVBalBranch(xux140, xux141, Branch(xux13440, xux13441, xux13442, xux13443, xux13444), xux1380, xux1381, xux138200, xux1383, xux1384, h, ba) -> new_mkVBalBranch3(xux140, xux141, xux13440, xux13441, xux13442, xux13443, xux13444, xux1380, xux1381, Pos(Succ(xux138200)), xux1383, xux1384, h, ba) 27.61/11.35 new_mkVBalBranch3MkVBalBranch1(xux1340, xux1341, xux1342, xux1343, Branch(xux13440, xux13441, xux13442, xux13443, xux13444), xux1380, xux1381, xux138200, xux1383, xux1384, xux140, xux141, True, h, ba) -> new_mkVBalBranch3(xux140, xux141, xux13440, xux13441, xux13442, xux13443, xux13444, xux1380, xux1381, Pos(Succ(xux138200)), xux1383, xux1384, h, ba) 27.61/11.35 new_mkVBalBranch3MkVBalBranch11(xux1340, xux1341, xux1342, xux1343, xux1344, xux1380, xux1381, xux138200, xux1383, xux1384, xux140, xux141, True, h, ba) -> new_mkVBalBranch1(xux140, xux141, xux1344, xux1380, xux1381, xux138200, xux1383, xux1384, h, ba) 27.61/11.35 new_mkVBalBranch3MkVBalBranch1(xux1340, xux1341, xux1342, xux1343, xux1344, xux1380, xux1381, xux138200, xux1383, xux1384, xux140, xux141, True, h, ba) -> new_mkVBalBranch(xux140, xux141, xux1344, xux1380, xux1381, xux138200, xux1383, xux1384, h, ba) 27.61/11.35 new_mkVBalBranch3MkVBalBranch10(xux1340, xux1341, xux1342, xux1343, Branch(xux13440, xux13441, xux13442, xux13443, xux13444), xux1380, xux1381, xux1383, xux1384, xux140, xux141, True, h, ba) -> new_mkVBalBranch3(xux140, xux141, xux13440, xux13441, xux13442, xux13443, xux13444, xux1380, xux1381, Pos(Zero), xux1383, xux1384, h, ba) 27.61/11.35 new_mkVBalBranch3MkVBalBranch2(xux1340, xux1341, xux1342, xux1343, xux1344, xux1380, xux1381, Pos(Succ(xux138200)), xux1383, xux1384, xux140, xux141, False, h, ba) -> new_mkVBalBranch3MkVBalBranch1(xux1340, xux1341, xux1342, xux1343, xux1344, xux1380, xux1381, xux138200, xux1383, xux1384, xux140, xux141, new_esEs12(new_primPlusNat0(new_primMulNat(xux138200), Succ(xux138200)), xux1340, xux1341, xux1342, xux1343, xux1344, xux1380, xux1381, xux138200, xux1383, xux1384, h, ba), h, ba) 27.61/11.35 new_mkVBalBranch3MkVBalBranch2(xux1340, xux1341, xux1342, xux1343, xux1344, xux1380, xux1381, Neg(Succ(xux138200)), xux1383, xux1384, xux140, xux141, False, h, ba) -> new_mkVBalBranch3MkVBalBranch11(xux1340, xux1341, xux1342, xux1343, xux1344, xux1380, xux1381, xux138200, xux1383, xux1384, xux140, xux141, new_esEs14(new_primPlusNat0(new_primMulNat(xux138200), Succ(xux138200)), xux1340, xux1341, xux1342, xux1343, xux1344, xux1380, xux1381, xux138200, xux1383, xux1384, h, ba), h, ba) 27.61/11.35 new_mkVBalBranch0(xux140, xux141, Branch(xux13440, xux13441, xux13442, xux13443, xux13444), xux1380, xux1381, xux1383, xux1384, h, ba) -> new_mkVBalBranch3(xux140, xux141, xux13440, xux13441, xux13442, xux13443, xux13444, xux1380, xux1381, Pos(Zero), xux1383, xux1384, h, ba) 27.61/11.35 new_mkVBalBranch1(xux140, xux141, Branch(xux13440, xux13441, xux13442, xux13443, xux13444), xux1380, xux1381, xux138200, xux1383, xux1384, h, ba) -> new_mkVBalBranch3(xux140, xux141, xux13440, xux13441, xux13442, xux13443, xux13444, xux1380, xux1381, Neg(Succ(xux138200)), xux1383, xux1384, h, ba) 27.61/11.35 new_mkVBalBranch3MkVBalBranch11(xux1340, xux1341, xux1342, xux1343, Branch(xux13440, xux13441, xux13442, xux13443, xux13444), xux1380, xux1381, xux138200, xux1383, xux1384, xux140, xux141, True, h, ba) -> new_mkVBalBranch3(xux140, xux141, xux13440, xux13441, xux13442, xux13443, xux13444, xux1380, xux1381, Neg(Succ(xux138200)), xux1383, xux1384, h, ba) 27.61/11.35 new_mkVBalBranch3MkVBalBranch2(xux1340, xux1341, xux1342, xux1343, xux1344, xux1380, xux1381, xux1382, Branch(xux13830, xux13831, xux13832, xux13833, xux13834), xux1384, xux140, xux141, True, h, ba) -> new_mkVBalBranch3MkVBalBranch2(xux1340, xux1341, xux1342, xux1343, xux1344, xux13830, xux13831, xux13832, xux13833, xux13834, xux140, xux141, new_esEs7(new_primMulInt(new_sizeFM(Branch(xux1340, xux1341, xux1342, xux1343, xux1344), h, ba)), new_sizeFM0(xux13830, xux13831, xux13832, xux13833, xux13834, h, ba)), h, ba) 27.61/11.35 new_mkVBalBranch3MkVBalBranch10(xux1340, xux1341, xux1342, xux1343, xux1344, xux1380, xux1381, xux1383, xux1384, xux140, xux141, True, h, ba) -> new_mkVBalBranch0(xux140, xux141, xux1344, xux1380, xux1381, xux1383, xux1384, h, ba) 27.61/11.35 new_mkVBalBranch3MkVBalBranch12(xux1340, xux1341, xux1342, xux1343, xux1344, xux1380, xux1381, xux1383, xux1384, xux140, xux141, True, h, ba) -> new_mkVBalBranch2(xux140, xux141, xux1344, xux1380, xux1381, xux1383, xux1384, h, ba) 27.61/11.35 new_mkVBalBranch2(xux140, xux141, Branch(xux13440, xux13441, xux13442, xux13443, xux13444), xux1380, xux1381, xux1383, xux1384, h, ba) -> new_mkVBalBranch3(xux140, xux141, xux13440, xux13441, xux13442, xux13443, xux13444, xux1380, xux1381, Neg(Zero), xux1383, xux1384, h, ba) 27.61/11.35 new_mkVBalBranch3MkVBalBranch2(xux1340, xux1341, xux1342, xux1343, xux1344, xux1380, xux1381, Pos(Zero), xux1383, xux1384, xux140, xux141, False, h, ba) -> new_mkVBalBranch3MkVBalBranch10(xux1340, xux1341, xux1342, xux1343, xux1344, xux1380, xux1381, xux1383, xux1384, xux140, xux141, new_esEs13(new_sizeFM0(xux1340, xux1341, xux1342, xux1343, xux1344, h, ba)), h, ba) 27.61/11.35 new_mkVBalBranch3MkVBalBranch12(xux1340, xux1341, xux1342, xux1343, Branch(xux13440, xux13441, xux13442, xux13443, xux13444), xux1380, xux1381, xux1383, xux1384, xux140, xux141, True, h, ba) -> new_mkVBalBranch3(xux140, xux141, xux13440, xux13441, xux13442, xux13443, xux13444, xux1380, xux1381, Neg(Zero), xux1383, xux1384, h, ba) 27.61/11.35 new_mkVBalBranch3(xux140, xux141, xux1340, xux1341, xux1342, xux1343, xux1344, xux13830, xux13831, xux13832, xux13833, xux13834, h, ba) -> new_mkVBalBranch3MkVBalBranch2(xux1340, xux1341, xux1342, xux1343, xux1344, xux13830, xux13831, xux13832, xux13833, xux13834, xux140, xux141, new_esEs7(new_primMulInt(new_sizeFM(Branch(xux1340, xux1341, xux1342, xux1343, xux1344), h, ba)), new_sizeFM0(xux13830, xux13831, xux13832, xux13833, xux13834, h, ba)), h, ba) 27.61/11.35 27.61/11.35 The TRS R consists of the following rules: 27.61/11.35 27.61/11.35 new_primMulNat1(xux6200) -> new_primPlusNat0(Zero, Succ(xux6200)) 27.61/11.35 new_primPlusNat0(Succ(xux2100), Zero) -> Succ(xux2100) 27.61/11.35 new_primPlusNat0(Zero, Succ(xux110)) -> Succ(xux110) 27.61/11.35 new_primPlusNat0(Zero, Zero) -> Zero 27.61/11.35 new_esEs7(Pos(Zero), Neg(Succ(xux478000))) -> new_esEs9 27.61/11.35 new_sizeFM(Branch(xux5580, xux5581, xux5582, xux5583, xux5584), bb, bc) -> xux5582 27.61/11.35 new_esEs15(Neg(Zero)) -> new_esEs10 27.61/11.35 new_esEs8(Zero, Zero) -> new_esEs10 27.61/11.35 new_esEs7(Pos(Succ(xux48000)), Neg(xux47800)) -> new_esEs9 27.61/11.35 new_primMulInt(Neg(xux5710)) -> Neg(new_primMulNat0(xux5710)) 27.61/11.35 new_esEs14(Succ(xux4640), xux1340, xux1341, xux1342, xux1343, xux1344, xux1380, xux1381, xux138200, xux1383, xux1384, h, ba) -> new_esEs17(xux4640, new_sizeFM0(xux1340, xux1341, xux1342, xux1343, xux1344, h, ba)) 27.61/11.35 new_esEs8(Zero, Succ(xux52000)) -> new_esEs11 27.61/11.35 new_esEs7(Pos(Zero), Pos(Succ(xux478000))) -> new_esEs8(Zero, Succ(xux478000)) 27.61/11.35 new_esEs13(Pos(Zero)) -> new_esEs10 27.61/11.35 new_esEs16(xux4460, Pos(Succ(xux5200))) -> new_esEs8(xux4460, xux5200) 27.61/11.35 new_esEs11 -> True 27.61/11.35 new_primPlusNat0(Succ(xux2100), Succ(xux110)) -> Succ(Succ(new_primPlusNat0(xux2100, xux110))) 27.61/11.35 new_esEs17(xux4470, Neg(Succ(xux5200))) -> new_esEs8(xux5200, xux4470) 27.61/11.35 new_sizeFM0(xux1340, xux1341, xux1342, xux1343, xux1344, h, ba) -> xux1342 27.61/11.35 new_esEs7(Neg(Zero), Neg(Zero)) -> new_esEs10 27.61/11.35 new_esEs17(xux4470, Pos(xux520)) -> new_esEs11 27.61/11.35 new_esEs7(Pos(Succ(xux48000)), Pos(xux47800)) -> new_esEs8(Succ(xux48000), xux47800) 27.61/11.35 new_esEs7(Neg(Succ(xux48000)), Neg(xux47800)) -> new_esEs8(xux47800, Succ(xux48000)) 27.61/11.35 new_esEs9 -> False 27.61/11.35 new_esEs13(Neg(Zero)) -> new_esEs10 27.61/11.35 new_esEs7(Pos(Zero), Pos(Zero)) -> new_esEs10 27.61/11.35 new_esEs12(Zero, xux1340, xux1341, xux1342, xux1343, xux1344, xux1380, xux1381, xux138200, xux1383, xux1384, h, ba) -> new_esEs13(new_sizeFM0(xux1340, xux1341, xux1342, xux1343, xux1344, h, ba)) 27.61/11.35 new_esEs13(Neg(Succ(xux5200))) -> new_esEs9 27.61/11.35 new_esEs7(Neg(Succ(xux48000)), Pos(xux47800)) -> new_esEs11 27.61/11.35 new_esEs17(xux4470, Neg(Zero)) -> new_esEs11 27.61/11.35 new_esEs12(Succ(xux4600), xux1340, xux1341, xux1342, xux1343, xux1344, xux1380, xux1381, xux138200, xux1383, xux1384, h, ba) -> new_esEs16(xux4600, new_sizeFM0(xux1340, xux1341, xux1342, xux1343, xux1344, h, ba)) 27.61/11.35 new_esEs15(Pos(Succ(xux5200))) -> new_esEs11 27.61/11.35 new_esEs13(Pos(Succ(xux5200))) -> new_esEs11 27.61/11.35 new_esEs16(xux4460, Neg(xux520)) -> new_esEs9 27.61/11.35 new_esEs15(Neg(Succ(xux5200))) -> new_esEs9 27.61/11.35 new_esEs15(Pos(Zero)) -> new_esEs10 27.61/11.35 new_esEs7(Neg(Zero), Pos(Succ(xux478000))) -> new_esEs11 27.61/11.35 new_esEs7(Neg(Zero), Neg(Succ(xux478000))) -> new_esEs8(Succ(xux478000), Zero) 27.61/11.35 new_esEs8(Succ(xux44600), Zero) -> new_esEs9 27.61/11.35 new_primMulNat0(Succ(xux57100)) -> new_primPlusNat0(new_primMulNat(xux57100), Succ(xux57100)) 27.61/11.35 new_primMulNat(xux6200) -> new_primPlusNat0(new_primPlusNat0(new_primPlusNat0(new_primMulNat1(xux6200), Succ(xux6200)), Succ(xux6200)), Succ(xux6200)) 27.61/11.35 new_esEs16(xux4460, Pos(Zero)) -> new_esEs9 27.61/11.35 new_esEs8(Succ(xux44600), Succ(xux52000)) -> new_esEs8(xux44600, xux52000) 27.61/11.35 new_esEs10 -> False 27.61/11.35 new_esEs14(Zero, xux1340, xux1341, xux1342, xux1343, xux1344, xux1380, xux1381, xux138200, xux1383, xux1384, h, ba) -> new_esEs15(new_sizeFM0(xux1340, xux1341, xux1342, xux1343, xux1344, h, ba)) 27.61/11.35 new_sizeFM(EmptyFM, bb, bc) -> Pos(Zero) 27.61/11.35 new_primMulInt(Pos(xux5710)) -> Pos(new_primMulNat0(xux5710)) 27.61/11.35 new_esEs7(Pos(Zero), Neg(Zero)) -> new_esEs10 27.61/11.35 new_esEs7(Neg(Zero), Pos(Zero)) -> new_esEs10 27.61/11.35 new_primMulNat0(Zero) -> Zero 27.61/11.35 27.61/11.35 The set Q consists of the following terms: 27.61/11.35 27.61/11.35 new_esEs16(x0, Pos(Zero)) 27.61/11.35 new_esEs9 27.61/11.35 new_primPlusNat0(Succ(x0), Zero) 27.61/11.35 new_esEs8(Zero, Succ(x0)) 27.61/11.35 new_sizeFM(Branch(x0, x1, x2, x3, x4), x5, x6) 27.61/11.35 new_esEs7(Pos(Zero), Neg(Zero)) 27.61/11.35 new_esEs7(Neg(Zero), Pos(Zero)) 27.61/11.35 new_esEs8(Zero, Zero) 27.61/11.35 new_esEs8(Succ(x0), Zero) 27.61/11.35 new_primMulNat1(x0) 27.61/11.35 new_esEs17(x0, Neg(Succ(x1))) 27.61/11.35 new_esEs12(Succ(x0), x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12) 27.61/11.35 new_primPlusNat0(Succ(x0), Succ(x1)) 27.61/11.35 new_esEs8(Succ(x0), Succ(x1)) 27.61/11.35 new_esEs14(Succ(x0), x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12) 27.61/11.35 new_primPlusNat0(Zero, Succ(x0)) 27.61/11.35 new_esEs15(Neg(Zero)) 27.61/11.35 new_esEs17(x0, Pos(x1)) 27.61/11.35 new_esEs14(Zero, x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11) 27.61/11.35 new_esEs7(Neg(Zero), Neg(Zero)) 27.61/11.35 new_esEs16(x0, Pos(Succ(x1))) 27.61/11.35 new_esEs13(Neg(Succ(x0))) 27.61/11.35 new_esEs17(x0, Neg(Zero)) 27.61/11.35 new_esEs12(Zero, x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11) 27.61/11.35 new_esEs13(Pos(Succ(x0))) 27.61/11.35 new_primMulInt(Pos(x0)) 27.61/11.35 new_esEs7(Pos(Zero), Neg(Succ(x0))) 27.61/11.35 new_esEs7(Neg(Zero), Pos(Succ(x0))) 27.61/11.35 new_esEs13(Pos(Zero)) 27.61/11.35 new_esEs7(Neg(Zero), Neg(Succ(x0))) 27.61/11.35 new_esEs13(Neg(Zero)) 27.61/11.35 new_primMulNat0(Zero) 27.61/11.35 new_sizeFM0(x0, x1, x2, x3, x4, x5, x6) 27.61/11.35 new_esEs10 27.61/11.35 new_sizeFM(EmptyFM, x0, x1) 27.61/11.35 new_esEs7(Pos(Zero), Pos(Succ(x0))) 27.61/11.35 new_esEs7(Pos(Succ(x0)), Pos(x1)) 27.61/11.35 new_esEs11 27.61/11.35 new_esEs15(Neg(Succ(x0))) 27.61/11.35 new_esEs15(Pos(Zero)) 27.61/11.35 new_primMulInt(Neg(x0)) 27.61/11.35 new_esEs7(Pos(Succ(x0)), Neg(x1)) 27.61/11.35 new_esEs7(Neg(Succ(x0)), Pos(x1)) 27.61/11.35 new_esEs7(Neg(Succ(x0)), Neg(x1)) 27.61/11.35 new_esEs7(Pos(Zero), Pos(Zero)) 27.61/11.35 new_esEs15(Pos(Succ(x0))) 27.61/11.35 new_primPlusNat0(Zero, Zero) 27.61/11.35 new_esEs16(x0, Neg(x1)) 27.61/11.35 new_primMulNat(x0) 27.61/11.35 new_primMulNat0(Succ(x0)) 27.61/11.35 27.61/11.35 We have to consider all minimal (P,Q,R)-chains. 27.61/11.35 ---------------------------------------- 27.61/11.35 27.61/11.35 (19) QDPSizeChangeProof (EQUIVALENT) 27.61/11.35 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.61/11.35 27.61/11.35 From the DPs we obtained the following set of size-change graphs: 27.61/11.35 *new_mkVBalBranch3(xux140, xux141, xux1340, xux1341, xux1342, xux1343, xux1344, xux13830, xux13831, xux13832, xux13833, xux13834, h, ba) -> new_mkVBalBranch3MkVBalBranch2(xux1340, xux1341, xux1342, xux1343, xux1344, xux13830, xux13831, xux13832, xux13833, xux13834, xux140, xux141, new_esEs7(new_primMulInt(new_sizeFM(Branch(xux1340, xux1341, xux1342, xux1343, xux1344), h, ba)), new_sizeFM0(xux13830, xux13831, xux13832, xux13833, xux13834, h, ba)), h, ba) 27.61/11.35 The graph contains the following edges 3 >= 1, 4 >= 2, 5 >= 3, 6 >= 4, 7 >= 5, 8 >= 6, 9 >= 7, 10 >= 8, 11 >= 9, 12 >= 10, 1 >= 11, 2 >= 12, 13 >= 14, 14 >= 15 27.61/11.35 27.61/11.35 27.61/11.35 *new_mkVBalBranch3MkVBalBranch2(xux1340, xux1341, xux1342, xux1343, xux1344, xux1380, xux1381, xux1382, Branch(xux13830, xux13831, xux13832, xux13833, xux13834), xux1384, xux140, xux141, True, h, ba) -> new_mkVBalBranch3MkVBalBranch2(xux1340, xux1341, xux1342, xux1343, xux1344, xux13830, xux13831, xux13832, xux13833, xux13834, xux140, xux141, new_esEs7(new_primMulInt(new_sizeFM(Branch(xux1340, xux1341, xux1342, xux1343, xux1344), h, ba)), new_sizeFM0(xux13830, xux13831, xux13832, xux13833, xux13834, h, ba)), h, ba) 27.61/11.35 The graph contains the following edges 1 >= 1, 2 >= 2, 3 >= 3, 4 >= 4, 5 >= 5, 9 > 6, 9 > 7, 9 > 8, 9 > 9, 9 > 10, 11 >= 11, 12 >= 12, 14 >= 14, 15 >= 15 27.61/11.35 27.61/11.35 27.61/11.35 *new_mkVBalBranch3MkVBalBranch1(xux1340, xux1341, xux1342, xux1343, xux1344, xux1380, xux1381, xux138200, xux1383, xux1384, xux140, xux141, True, h, ba) -> new_mkVBalBranch(xux140, xux141, xux1344, xux1380, xux1381, xux138200, xux1383, xux1384, h, ba) 27.61/11.35 The graph contains the following edges 11 >= 1, 12 >= 2, 5 >= 3, 6 >= 4, 7 >= 5, 8 >= 6, 9 >= 7, 10 >= 8, 14 >= 9, 15 >= 10 27.61/11.35 27.61/11.35 27.61/11.35 *new_mkVBalBranch3MkVBalBranch2(xux1340, xux1341, xux1342, xux1343, xux1344, xux1380, xux1381, Pos(Succ(xux138200)), xux1383, xux1384, xux140, xux141, False, h, ba) -> new_mkVBalBranch3MkVBalBranch1(xux1340, xux1341, xux1342, xux1343, xux1344, xux1380, xux1381, xux138200, xux1383, xux1384, xux140, xux141, new_esEs12(new_primPlusNat0(new_primMulNat(xux138200), Succ(xux138200)), xux1340, xux1341, xux1342, xux1343, xux1344, xux1380, xux1381, xux138200, xux1383, xux1384, h, ba), h, ba) 27.61/11.35 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.61/11.35 27.61/11.35 27.61/11.35 *new_mkVBalBranch1(xux140, xux141, Branch(xux13440, xux13441, xux13442, xux13443, xux13444), xux1380, xux1381, xux138200, xux1383, xux1384, h, ba) -> new_mkVBalBranch3(xux140, xux141, xux13440, xux13441, xux13442, xux13443, xux13444, xux1380, xux1381, Neg(Succ(xux138200)), xux1383, xux1384, h, ba) 27.61/11.35 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.61/11.35 27.61/11.35 27.61/11.35 *new_mkVBalBranch3MkVBalBranch2(xux1340, xux1341, xux1342, xux1343, xux1344, xux1380, xux1381, Neg(Succ(xux138200)), xux1383, xux1384, xux140, xux141, False, h, ba) -> new_mkVBalBranch3MkVBalBranch11(xux1340, xux1341, xux1342, xux1343, xux1344, xux1380, xux1381, xux138200, xux1383, xux1384, xux140, xux141, new_esEs14(new_primPlusNat0(new_primMulNat(xux138200), Succ(xux138200)), xux1340, xux1341, xux1342, xux1343, xux1344, xux1380, xux1381, xux138200, xux1383, xux1384, h, ba), h, ba) 27.61/11.35 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.61/11.35 27.61/11.35 27.61/11.35 *new_mkVBalBranch(xux140, xux141, Branch(xux13440, xux13441, xux13442, xux13443, xux13444), xux1380, xux1381, xux138200, xux1383, xux1384, h, ba) -> new_mkVBalBranch3(xux140, xux141, xux13440, xux13441, xux13442, xux13443, xux13444, xux1380, xux1381, Pos(Succ(xux138200)), xux1383, xux1384, h, ba) 27.61/11.35 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.61/11.35 27.61/11.35 27.61/11.35 *new_mkVBalBranch3MkVBalBranch2(xux1340, xux1341, xux1342, xux1343, xux1344, xux1380, xux1381, Pos(Zero), xux1383, xux1384, xux140, xux141, False, h, ba) -> new_mkVBalBranch3MkVBalBranch10(xux1340, xux1341, xux1342, xux1343, xux1344, xux1380, xux1381, xux1383, xux1384, xux140, xux141, new_esEs13(new_sizeFM0(xux1340, xux1341, xux1342, xux1343, xux1344, h, ba)), h, ba) 27.61/11.35 The graph contains the following edges 1 >= 1, 2 >= 2, 3 >= 3, 4 >= 4, 5 >= 5, 6 >= 6, 7 >= 7, 9 >= 8, 10 >= 9, 11 >= 10, 12 >= 11, 14 >= 13, 15 >= 14 27.61/11.35 27.61/11.35 27.61/11.35 *new_mkVBalBranch3MkVBalBranch1(xux1340, xux1341, xux1342, xux1343, Branch(xux13440, xux13441, xux13442, xux13443, xux13444), xux1380, xux1381, xux138200, xux1383, xux1384, xux140, xux141, True, h, ba) -> new_mkVBalBranch3(xux140, xux141, xux13440, xux13441, xux13442, xux13443, xux13444, xux1380, xux1381, Pos(Succ(xux138200)), xux1383, xux1384, h, ba) 27.61/11.35 The graph contains the following edges 11 >= 1, 12 >= 2, 5 > 3, 5 > 4, 5 > 5, 5 > 6, 5 > 7, 6 >= 8, 7 >= 9, 9 >= 11, 10 >= 12, 14 >= 13, 15 >= 14 27.61/11.35 27.61/11.35 27.61/11.35 *new_mkVBalBranch3MkVBalBranch10(xux1340, xux1341, xux1342, xux1343, xux1344, xux1380, xux1381, xux1383, xux1384, xux140, xux141, True, h, ba) -> new_mkVBalBranch0(xux140, xux141, xux1344, xux1380, xux1381, xux1383, xux1384, h, ba) 27.61/11.35 The graph contains the following edges 10 >= 1, 11 >= 2, 5 >= 3, 6 >= 4, 7 >= 5, 8 >= 6, 9 >= 7, 13 >= 8, 14 >= 9 27.61/11.35 27.61/11.35 27.61/11.35 *new_mkVBalBranch3MkVBalBranch11(xux1340, xux1341, xux1342, xux1343, xux1344, xux1380, xux1381, xux138200, xux1383, xux1384, xux140, xux141, True, h, ba) -> new_mkVBalBranch1(xux140, xux141, xux1344, xux1380, xux1381, xux138200, xux1383, xux1384, h, ba) 27.61/11.35 The graph contains the following edges 11 >= 1, 12 >= 2, 5 >= 3, 6 >= 4, 7 >= 5, 8 >= 6, 9 >= 7, 10 >= 8, 14 >= 9, 15 >= 10 27.61/11.35 27.61/11.35 27.61/11.35 *new_mkVBalBranch3MkVBalBranch11(xux1340, xux1341, xux1342, xux1343, Branch(xux13440, xux13441, xux13442, xux13443, xux13444), xux1380, xux1381, xux138200, xux1383, xux1384, xux140, xux141, True, h, ba) -> new_mkVBalBranch3(xux140, xux141, xux13440, xux13441, xux13442, xux13443, xux13444, xux1380, xux1381, Neg(Succ(xux138200)), xux1383, xux1384, h, ba) 27.61/11.35 The graph contains the following edges 11 >= 1, 12 >= 2, 5 > 3, 5 > 4, 5 > 5, 5 > 6, 5 > 7, 6 >= 8, 7 >= 9, 9 >= 11, 10 >= 12, 14 >= 13, 15 >= 14 27.61/11.35 27.61/11.35 27.61/11.35 *new_mkVBalBranch3MkVBalBranch2(xux1340, xux1341, xux1342, xux1343, xux1344, xux1380, xux1381, Neg(Zero), xux1383, xux1384, xux140, xux141, False, h, ba) -> new_mkVBalBranch3MkVBalBranch12(xux1340, xux1341, xux1342, xux1343, xux1344, xux1380, xux1381, xux1383, xux1384, xux140, xux141, new_esEs15(new_sizeFM0(xux1340, xux1341, xux1342, xux1343, xux1344, h, ba)), h, ba) 27.61/11.35 The graph contains the following edges 1 >= 1, 2 >= 2, 3 >= 3, 4 >= 4, 5 >= 5, 6 >= 6, 7 >= 7, 9 >= 8, 10 >= 9, 11 >= 10, 12 >= 11, 14 >= 13, 15 >= 14 27.61/11.35 27.61/11.35 27.61/11.35 *new_mkVBalBranch0(xux140, xux141, Branch(xux13440, xux13441, xux13442, xux13443, xux13444), xux1380, xux1381, xux1383, xux1384, h, ba) -> new_mkVBalBranch3(xux140, xux141, xux13440, xux13441, xux13442, xux13443, xux13444, xux1380, xux1381, Pos(Zero), xux1383, xux1384, h, ba) 27.61/11.35 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.61/11.35 27.61/11.35 27.61/11.35 *new_mkVBalBranch2(xux140, xux141, Branch(xux13440, xux13441, xux13442, xux13443, xux13444), xux1380, xux1381, xux1383, xux1384, h, ba) -> new_mkVBalBranch3(xux140, xux141, xux13440, xux13441, xux13442, xux13443, xux13444, xux1380, xux1381, Neg(Zero), xux1383, xux1384, h, ba) 27.61/11.35 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.61/11.35 27.61/11.35 27.61/11.35 *new_mkVBalBranch3MkVBalBranch10(xux1340, xux1341, xux1342, xux1343, Branch(xux13440, xux13441, xux13442, xux13443, xux13444), xux1380, xux1381, xux1383, xux1384, xux140, xux141, True, h, ba) -> new_mkVBalBranch3(xux140, xux141, xux13440, xux13441, xux13442, xux13443, xux13444, xux1380, xux1381, Pos(Zero), xux1383, xux1384, h, ba) 27.61/11.35 The graph contains the following edges 10 >= 1, 11 >= 2, 5 > 3, 5 > 4, 5 > 5, 5 > 6, 5 > 7, 6 >= 8, 7 >= 9, 8 >= 11, 9 >= 12, 13 >= 13, 14 >= 14 27.61/11.35 27.61/11.35 27.61/11.35 *new_mkVBalBranch3MkVBalBranch12(xux1340, xux1341, xux1342, xux1343, xux1344, xux1380, xux1381, xux1383, xux1384, xux140, xux141, True, h, ba) -> new_mkVBalBranch2(xux140, xux141, xux1344, xux1380, xux1381, xux1383, xux1384, h, ba) 27.61/11.35 The graph contains the following edges 10 >= 1, 11 >= 2, 5 >= 3, 6 >= 4, 7 >= 5, 8 >= 6, 9 >= 7, 13 >= 8, 14 >= 9 27.61/11.35 27.61/11.35 27.61/11.35 *new_mkVBalBranch3MkVBalBranch12(xux1340, xux1341, xux1342, xux1343, Branch(xux13440, xux13441, xux13442, xux13443, xux13444), xux1380, xux1381, xux1383, xux1384, xux140, xux141, True, h, ba) -> new_mkVBalBranch3(xux140, xux141, xux13440, xux13441, xux13442, xux13443, xux13444, xux1380, xux1381, Neg(Zero), xux1383, xux1384, h, ba) 27.61/11.35 The graph contains the following edges 10 >= 1, 11 >= 2, 5 > 3, 5 > 4, 5 > 5, 5 > 6, 5 > 7, 6 >= 8, 7 >= 9, 8 >= 11, 9 >= 12, 13 >= 13, 14 >= 14 27.61/11.35 27.61/11.35 27.61/11.35 ---------------------------------------- 27.61/11.35 27.61/11.35 (20) 27.61/11.35 YES 27.61/11.35 27.61/11.35 ---------------------------------------- 27.61/11.35 27.61/11.35 (21) 27.61/11.35 Obligation: 27.61/11.35 Q DP problem: 27.61/11.35 The TRS P consists of the following rules: 27.61/11.35 27.61/11.35 new_splitLT3(False, xux31, xux32, xux33, Branch(xux340, xux341, xux342, xux343, xux344), True, h) -> new_splitLT3(xux340, xux341, xux342, xux343, xux344, True, h) 27.61/11.35 new_splitLT3(True, xux31, xux32, Branch(xux330, xux331, xux332, xux333, xux334), xux34, False, h) -> new_splitLT3(xux330, xux331, xux332, xux333, xux334, False, h) 27.61/11.35 27.61/11.35 R is empty. 27.61/11.35 Q is empty. 27.61/11.35 We have to consider all minimal (P,Q,R)-chains. 27.61/11.35 ---------------------------------------- 27.61/11.35 27.61/11.35 (22) DependencyGraphProof (EQUIVALENT) 27.61/11.35 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs. 27.61/11.35 ---------------------------------------- 27.61/11.35 27.61/11.35 (23) 27.61/11.35 Complex Obligation (AND) 27.61/11.35 27.61/11.35 ---------------------------------------- 27.61/11.35 27.61/11.35 (24) 27.61/11.35 Obligation: 27.61/11.35 Q DP problem: 27.61/11.35 The TRS P consists of the following rules: 27.61/11.35 27.61/11.35 new_splitLT3(True, xux31, xux32, Branch(xux330, xux331, xux332, xux333, xux334), xux34, False, h) -> new_splitLT3(xux330, xux331, xux332, xux333, xux334, False, h) 27.61/11.35 27.61/11.35 R is empty. 27.61/11.35 Q is empty. 27.61/11.35 We have to consider all minimal (P,Q,R)-chains. 27.61/11.35 ---------------------------------------- 27.61/11.35 27.61/11.35 (25) QDPSizeChangeProof (EQUIVALENT) 27.61/11.35 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.61/11.35 27.61/11.35 From the DPs we obtained the following set of size-change graphs: 27.61/11.35 *new_splitLT3(True, xux31, xux32, Branch(xux330, xux331, xux332, xux333, xux334), xux34, False, h) -> new_splitLT3(xux330, xux331, xux332, xux333, xux334, False, h) 27.61/11.35 The graph contains the following edges 4 > 1, 4 > 2, 4 > 3, 4 > 4, 4 > 5, 6 >= 6, 7 >= 7 27.61/11.35 27.61/11.35 27.61/11.35 ---------------------------------------- 27.61/11.35 27.61/11.35 (26) 27.61/11.35 YES 27.61/11.35 27.61/11.35 ---------------------------------------- 27.61/11.35 27.61/11.35 (27) 27.61/11.35 Obligation: 27.61/11.35 Q DP problem: 27.61/11.35 The TRS P consists of the following rules: 27.61/11.35 27.61/11.35 new_splitLT3(False, xux31, xux32, xux33, Branch(xux340, xux341, xux342, xux343, xux344), True, h) -> new_splitLT3(xux340, xux341, xux342, xux343, xux344, True, h) 27.61/11.35 27.61/11.35 R is empty. 27.61/11.35 Q is empty. 27.61/11.35 We have to consider all minimal (P,Q,R)-chains. 27.61/11.35 ---------------------------------------- 27.61/11.35 27.61/11.35 (28) QDPSizeChangeProof (EQUIVALENT) 27.61/11.35 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.61/11.35 27.61/11.35 From the DPs we obtained the following set of size-change graphs: 27.61/11.35 *new_splitLT3(False, xux31, xux32, xux33, Branch(xux340, xux341, xux342, xux343, xux344), True, h) -> new_splitLT3(xux340, xux341, xux342, xux343, xux344, True, h) 27.61/11.35 The graph contains the following edges 5 > 1, 5 > 2, 5 > 3, 5 > 4, 5 > 5, 6 >= 6, 7 >= 7 27.61/11.35 27.61/11.35 27.61/11.35 ---------------------------------------- 27.61/11.35 27.61/11.35 (29) 27.61/11.35 YES 27.61/11.35 27.61/11.35 ---------------------------------------- 27.61/11.35 27.61/11.35 (30) 27.61/11.35 Obligation: 27.61/11.35 Q DP problem: 27.61/11.35 The TRS P consists of the following rules: 27.61/11.35 27.61/11.35 new_esEs0(Succ(xux480000), Succ(xux475000)) -> new_esEs0(xux480000, xux475000) 27.61/11.35 27.61/11.35 R is empty. 27.61/11.35 Q is empty. 27.61/11.35 We have to consider all minimal (P,Q,R)-chains. 27.61/11.35 ---------------------------------------- 27.61/11.35 27.61/11.35 (31) QDPSizeChangeProof (EQUIVALENT) 27.61/11.35 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.61/11.35 27.61/11.35 From the DPs we obtained the following set of size-change graphs: 27.61/11.35 *new_esEs0(Succ(xux480000), Succ(xux475000)) -> new_esEs0(xux480000, xux475000) 27.61/11.35 The graph contains the following edges 1 > 1, 2 > 2 27.61/11.35 27.61/11.35 27.61/11.35 ---------------------------------------- 27.61/11.35 27.61/11.35 (32) 27.61/11.35 YES 27.61/11.35 27.61/11.35 ---------------------------------------- 27.61/11.35 27.61/11.35 (33) 27.61/11.35 Obligation: 27.61/11.35 Q DP problem: 27.61/11.35 The TRS P consists of the following rules: 27.61/11.35 27.61/11.35 new_splitGT3(True, xux31, xux32, Branch(xux330, xux331, xux332, xux333, xux334), xux34, False, h) -> new_splitGT3(xux330, xux331, xux332, xux333, xux334, False, h) 27.61/11.35 new_splitGT3(False, xux31, xux32, xux33, Branch(xux340, xux341, xux342, xux343, xux344), True, h) -> new_splitGT3(xux340, xux341, xux342, xux343, xux344, True, h) 27.61/11.35 27.61/11.35 R is empty. 27.61/11.35 Q is empty. 27.61/11.35 We have to consider all minimal (P,Q,R)-chains. 27.61/11.35 ---------------------------------------- 27.61/11.35 27.61/11.35 (34) DependencyGraphProof (EQUIVALENT) 27.61/11.35 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs. 27.61/11.35 ---------------------------------------- 27.61/11.35 27.61/11.35 (35) 27.61/11.35 Complex Obligation (AND) 27.61/11.35 27.61/11.35 ---------------------------------------- 27.61/11.35 27.61/11.35 (36) 27.61/11.35 Obligation: 27.61/11.35 Q DP problem: 27.61/11.35 The TRS P consists of the following rules: 27.61/11.35 27.61/11.35 new_splitGT3(False, xux31, xux32, xux33, Branch(xux340, xux341, xux342, xux343, xux344), True, h) -> new_splitGT3(xux340, xux341, xux342, xux343, xux344, True, h) 27.61/11.35 27.61/11.35 R is empty. 27.61/11.35 Q is empty. 27.61/11.35 We have to consider all minimal (P,Q,R)-chains. 27.61/11.35 ---------------------------------------- 27.61/11.35 27.61/11.35 (37) QDPSizeChangeProof (EQUIVALENT) 27.61/11.35 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.61/11.35 27.61/11.35 From the DPs we obtained the following set of size-change graphs: 27.61/11.35 *new_splitGT3(False, xux31, xux32, xux33, Branch(xux340, xux341, xux342, xux343, xux344), True, h) -> new_splitGT3(xux340, xux341, xux342, xux343, xux344, True, h) 27.61/11.35 The graph contains the following edges 5 > 1, 5 > 2, 5 > 3, 5 > 4, 5 > 5, 6 >= 6, 7 >= 7 27.61/11.35 27.61/11.35 27.61/11.35 ---------------------------------------- 27.61/11.35 27.61/11.35 (38) 27.61/11.35 YES 27.61/11.35 27.61/11.35 ---------------------------------------- 27.61/11.35 27.61/11.35 (39) 27.61/11.35 Obligation: 27.61/11.35 Q DP problem: 27.61/11.35 The TRS P consists of the following rules: 27.61/11.35 27.61/11.35 new_splitGT3(True, xux31, xux32, Branch(xux330, xux331, xux332, xux333, xux334), xux34, False, h) -> new_splitGT3(xux330, xux331, xux332, xux333, xux334, False, h) 27.61/11.35 27.61/11.35 R is empty. 27.61/11.35 Q is empty. 27.61/11.35 We have to consider all minimal (P,Q,R)-chains. 27.61/11.35 ---------------------------------------- 27.61/11.35 27.61/11.35 (40) QDPSizeChangeProof (EQUIVALENT) 27.61/11.35 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.61/11.35 27.61/11.35 From the DPs we obtained the following set of size-change graphs: 27.61/11.35 *new_splitGT3(True, xux31, xux32, Branch(xux330, xux331, xux332, xux333, xux334), xux34, False, h) -> new_splitGT3(xux330, xux331, xux332, xux333, xux334, False, h) 27.61/11.35 The graph contains the following edges 4 > 1, 4 > 2, 4 > 3, 4 > 4, 4 > 5, 6 >= 6, 7 >= 7 27.61/11.35 27.61/11.35 27.61/11.35 ---------------------------------------- 27.61/11.35 27.61/11.35 (41) 27.61/11.35 YES 27.61/11.35 27.61/11.35 ---------------------------------------- 27.61/11.35 27.61/11.35 (42) 27.61/11.35 Obligation: 27.61/11.35 Q DP problem: 27.61/11.35 The TRS P consists of the following rules: 27.61/11.35 27.61/11.35 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.61/11.35 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.61/11.35 27.61/11.35 The TRS R consists of the following rules: 27.61/11.35 27.61/11.35 new_primPlusInt0(xux49620, Branch(xux5590, xux5591, xux5592, xux5593, xux5594), ba, bb) -> new_primPlusInt2(xux49620, xux5592) 27.61/11.35 new_primMulNat1(xux6200) -> new_primPlusNat0(Zero, Succ(xux6200)) 27.61/11.35 new_lt0(xux480, xux4780) -> new_esEs7(xux480, xux4780) 27.61/11.35 new_mkBalBranch6MkBalBranch010(xux493, xux494, xux4960, xux4961, xux49620, xux4963, xux4964, xux558, xux5570, xux5571, xux5572, Branch(xux55730, xux55731, xux55732, xux55733, xux55734), xux5574, False, ba, bb) -> new_mkBranch(Succ(Succ(Succ(Succ(Zero)))), xux55730, xux55731, new_mkBranch(Succ(Succ(Succ(Succ(Succ(Zero))))), xux493, xux494, Branch(xux4960, xux4961, Pos(xux49620), xux4963, xux4964), xux55733, ba, bb), new_mkBranch(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), xux5570, xux5571, xux55734, xux5574, ba, bb), ba, bb) 27.61/11.35 new_mkBalBranch6MkBalBranch3(xux493, xux494, xux558, xux557, False, ba, bb) -> new_mkBranch(Succ(Zero), xux493, xux494, EmptyFM, xux557, ba, bb) 27.61/11.35 new_mkBalBranch6MkBalBranch30(xux493, xux494, xux4960, xux4961, xux49620, xux4963, xux4964, xux558, xux557, True, ba, bb) -> new_mkBalBranch6MkBalBranch11(xux493, xux494, xux4960, xux4961, xux49620, xux4963, xux4964, xux558, xux557, new_lt0(new_sizeFM(xux4964, ba, bb), new_sr0(new_sizeFM(xux4963, ba, bb))), ba, bb) 27.61/11.35 new_lt1(False, True) -> new_esEs11 27.61/11.35 new_primPlusNat0(Zero, Zero) -> Zero 27.61/11.35 new_primPlusInt3(xux49620, Pos(xux55920)) -> new_primMinusNat1(xux55920, xux49620) 27.61/11.35 new_mkVBalBranch3MkVBalBranch20(xux1340, xux1341, xux1342, xux1343, xux1344, xux1380, xux1381, Neg(Succ(xux138200)), xux1383, xux1384, xux140, xux141, False, be, bf) -> new_mkVBalBranch3MkVBalBranch15(xux1340, xux1341, xux1342, xux1343, xux1344, xux1380, xux1381, xux138200, xux1383, xux1384, xux140, xux141, new_esEs14(new_primPlusNat0(new_primMulNat(xux138200), Succ(xux138200)), xux1340, xux1341, xux1342, xux1343, xux1344, xux1380, xux1381, xux138200, xux1383, xux1384, be, bf), be, bf) 27.61/11.35 new_mkVBalBranch7(xux140, xux141, Branch(xux13440, xux13441, xux13442, xux13443, xux13444), xux1380, xux1381, xux138200, xux1383, xux1384, be, bf) -> new_mkVBalBranch30(xux140, xux141, xux13440, xux13441, xux13442, xux13443, xux13444, xux1380, xux1381, Pos(Succ(xux138200)), xux1383, xux1384, be, bf) 27.61/11.35 new_mkBalBranch6MkBalBranch110(xux493, xux494, xux4960, xux4961, xux49620, xux4963, Branch(xux49640, xux49641, xux49642, xux49643, xux49644), xux558, xux557, False, ba, bb) -> new_mkBranch(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), xux49640, xux49641, new_mkBranch(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))), xux4960, xux4961, xux4963, xux49643, ba, bb), new_mkBranch(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))))), xux493, xux494, xux49644, xux557, ba, bb), ba, bb) 27.61/11.35 new_splitGT(EmptyFM, h) -> new_emptyFM0(h) 27.61/11.35 new_primPlusInt4(Pos(xux6360), xux634, xux632, xux635, db, dc) -> new_primPlusInt2(xux6360, new_sizeFM(xux635, db, dc)) 27.61/11.35 new_esEs7(Pos(Succ(xux48000)), Neg(xux47800)) -> new_esEs9 27.61/11.35 new_gt0(Pos(Zero), Neg(Zero)) -> new_esEs5 27.61/11.35 new_gt0(Neg(Zero), Pos(Zero)) -> new_esEs5 27.61/11.35 new_primMulInt(Neg(xux5710)) -> Neg(new_primMulNat0(xux5710)) 27.61/11.35 new_esEs19(Neg(Zero), xux60, xux61, xux63, xux64, xux50, xux51, xux52, xux53, xux54, h) -> new_esEs15(xux52) 27.61/11.35 new_esEs6(Zero, Zero) -> new_esEs5 27.61/11.35 new_emptyFM(bc, bd) -> EmptyFM 27.61/11.35 new_gt(GT, GT, ty_Ordering) -> new_esEs5 27.61/11.35 new_splitLT30(True, xux31, xux32, EmptyFM, xux34, False, h) -> new_emptyFM0(h) 27.61/11.35 new_esEs19(Pos(Zero), xux60, xux61, xux63, xux64, xux50, xux51, xux52, xux53, xux54, h) -> new_esEs13(xux52) 27.61/11.35 new_mkVBalBranch3MkVBalBranch14(xux1340, xux1341, xux1342, xux1343, xux1344, xux1380, xux1381, xux1383, xux1384, xux140, xux141, False, be, bf) -> new_mkBranch(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))))), xux140, xux141, Branch(xux1340, xux1341, xux1342, xux1343, xux1344), Branch(xux1380, xux1381, Pos(Zero), xux1383, xux1384), be, bf) 27.61/11.35 new_mkBalBranch6MkBalBranch50(xux493, xux494, xux558, xux557, True, ba, bb) -> new_mkBranch(Zero, xux493, xux494, EmptyFM, xux557, ba, bb) 27.61/11.35 new_lt(xux480, xux4780, ty_Float) -> error([]) 27.61/11.35 new_mkBalBranch6MkBalBranch52(xux493, xux494, xux4960, xux4961, xux49620, xux4963, xux4964, xux558, xux557, False, ba, bb) -> new_mkBalBranch6MkBalBranch40(xux493, xux494, xux4960, xux4961, xux49620, xux4963, xux4964, xux558, xux557, new_gt0(new_mkBalBranch6Size_r0(xux493, xux494, xux4960, xux4961, xux49620, xux4963, xux4964, xux558, ba, bb), new_sr(new_mkBalBranch6Size_l0(xux493, xux494, xux4960, xux4961, xux49620, xux4963, xux4964, xux558, ba, bb))), ba, bb) 27.61/11.35 new_gt(xux480, xux475, app(app(ty_Either, cb), cc)) -> error([]) 27.61/11.35 new_gt(xux480, xux475, ty_Integer) -> error([]) 27.61/11.35 new_gt(LT, GT, ty_Ordering) -> error([]) 27.61/11.35 new_gt(GT, LT, ty_Ordering) -> error([]) 27.61/11.35 new_mkBalBranch6Size_r1(xux493, xux494, xux4960, xux4961, xux49620, xux4963, xux4964, xux558, ba, bb) -> new_sizeFM(xux558, ba, bb) 27.61/11.35 new_esEs17(xux4470, Neg(Succ(xux5200))) -> new_esEs8(xux5200, xux4470) 27.61/11.35 new_mkVBalBranch4(xux140, xux141, xux1340, xux1341, xux1342, xux1343, xux1344, EmptyFM, be, bf) -> new_addToFM(xux1340, xux1341, xux1342, xux1343, xux1344, xux140, xux141, be, bf) 27.61/11.35 new_lt(xux480, xux4780, ty_Double) -> error([]) 27.61/11.35 new_esEs17(xux4470, Pos(xux520)) -> new_esEs11 27.61/11.35 new_splitLT30(True, xux31, xux32, xux33, xux34, True, h) -> xux33 27.61/11.35 new_gt(xux480, xux475, ty_Double) -> error([]) 27.61/11.35 new_mkBalBranch6MkBalBranch41(xux493, xux494, xux4960, xux4961, xux49620, xux4963, xux4964, xux558, Branch(xux5570, xux5571, xux5572, xux5573, xux5574), True, ba, bb) -> new_mkBalBranch6MkBalBranch010(xux493, xux494, xux4960, xux4961, xux49620, xux4963, xux4964, xux558, xux5570, xux5571, xux5572, xux5573, xux5574, new_lt0(new_sizeFM(xux5573, ba, bb), new_sr0(new_sizeFM(xux5574, ba, bb))), ba, bb) 27.61/11.35 new_primPlusInt2(xux49620, Neg(xux55920)) -> new_primMinusNat1(xux49620, xux55920) 27.61/11.35 new_primPlusInt4(Neg(xux6360), xux634, xux632, xux635, db, dc) -> new_primPlusInt3(xux6360, new_sizeFM(xux635, db, dc)) 27.61/11.35 new_mkVBalBranch4(xux140, xux141, xux1340, xux1341, xux1342, xux1343, xux1344, Branch(xux13830, xux13831, xux13832, xux13833, xux13834), be, bf) -> new_mkVBalBranch30(xux140, xux141, xux1340, xux1341, xux1342, xux1343, xux1344, xux13830, xux13831, xux13832, xux13833, xux13834, be, bf) 27.61/11.35 new_esEs12(Succ(xux4600), xux1340, xux1341, xux1342, xux1343, xux1344, xux1380, xux1381, xux138200, xux1383, xux1384, be, bf) -> new_esEs16(xux4600, new_sizeFM0(xux1340, xux1341, xux1342, xux1343, xux1344, be, bf)) 27.61/11.35 new_mkVBalBranch3MkVBalBranch20(xux1340, xux1341, xux1342, xux1343, xux1344, xux1380, xux1381, Pos(Zero), xux1383, xux1384, xux140, xux141, False, be, bf) -> new_mkVBalBranch3MkVBalBranch14(xux1340, xux1341, xux1342, xux1343, xux1344, xux1380, xux1381, xux1383, xux1384, xux140, xux141, new_esEs13(new_sizeFM0(xux1340, xux1341, xux1342, xux1343, xux1344, be, bf)), be, bf) 27.61/11.35 new_gt(xux480, xux475, ty_@0) -> error([]) 27.61/11.35 new_mkBranch(xux631, xux632, xux633, xux634, xux635, db, dc) -> Branch(xux632, xux633, new_primPlusInt4(new_primPlusInt2(Succ(Zero), new_sizeFM(xux634, db, dc)), xux634, xux632, xux635, db, dc), xux634, xux635) 27.61/11.35 new_esEs13(Pos(Succ(xux5200))) -> new_esEs11 27.61/11.35 new_gt(EQ, EQ, ty_Ordering) -> new_esEs5 27.61/11.35 new_esEs15(Neg(Succ(xux5200))) -> new_esEs9 27.61/11.35 new_lt(EQ, GT, ty_Ordering) -> error([]) 27.61/11.35 new_lt(GT, EQ, ty_Ordering) -> error([]) 27.61/11.35 new_gt(xux480, xux475, app(ty_Maybe, da)) -> error([]) 27.61/11.35 new_esEs7(Neg(Zero), Pos(Succ(xux478000))) -> new_esEs11 27.61/11.35 new_esEs8(Succ(xux44600), Zero) -> new_esEs9 27.61/11.35 new_addToFM_C10(xux493, xux494, xux495, xux496, xux497, xux498, xux499, True, ba, bb) -> new_mkBalBranch6MkBalBranch5(xux493, xux494, xux496, new_addToFM_C0(xux497, xux498, xux499, ba, bb), new_addToFM_C0(xux497, xux498, xux499, ba, bb), new_addToFM_C0(xux497, xux498, xux499, ba, bb), new_addToFM_C0(xux497, xux498, xux499, ba, bb), ba, bb) 27.61/11.35 new_esEs10 -> False 27.61/11.35 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_Bool, h) 27.61/11.35 new_addToFM_C20(xux475, xux476, xux477, xux478, xux479, xux480, xux481, False, bc, bd) -> new_addToFM_C10(xux475, xux476, xux477, xux478, xux479, xux480, xux481, new_gt(xux480, xux475, bc), bc, bd) 27.61/11.35 new_mkVBalBranch3MkVBalBranch16(xux1340, xux1341, xux1342, xux1343, xux1344, xux1380, xux1381, xux1383, xux1384, xux140, xux141, True, be, bf) -> new_mkBalBranch6MkBalBranch5(xux1340, xux1341, xux1343, new_mkVBalBranch9(xux140, xux141, xux1344, xux1380, xux1381, xux1383, xux1384, be, bf), new_mkVBalBranch9(xux140, xux141, xux1344, xux1380, xux1381, xux1383, xux1384, be, bf), new_mkVBalBranch9(xux140, xux141, xux1344, xux1380, xux1381, xux1383, xux1384, be, bf), new_mkVBalBranch9(xux140, xux141, xux1344, xux1380, xux1381, xux1383, xux1384, be, bf), be, bf) 27.61/11.35 new_primPlusInt1(xux49620, EmptyFM, ba, bb) -> new_primMinusNat0(xux49620) 27.61/11.35 new_mkVBalBranch3MkVBalBranch13(xux1340, xux1341, xux1342, xux1343, xux1344, xux1380, xux1381, xux138200, xux1383, xux1384, xux140, xux141, False, be, bf) -> new_mkBranch(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))))), xux140, xux141, Branch(xux1340, xux1341, xux1342, xux1343, xux1344), Branch(xux1380, xux1381, Pos(Succ(xux138200)), xux1383, xux1384), be, bf) 27.61/11.35 new_mkBalBranch6MkBalBranch3(xux493, xux494, xux558, xux557, True, ba, bb) -> error([]) 27.61/11.35 new_esEs7(Pos(Zero), Neg(Zero)) -> new_esEs10 27.61/11.35 new_esEs7(Neg(Zero), Pos(Zero)) -> new_esEs10 27.61/11.35 new_gt(xux480, xux475, app(ty_Ratio, ca)) -> error([]) 27.61/11.35 new_mkBalBranch6MkBalBranch4(xux493, xux494, xux558, EmptyFM, True, ba, bb) -> error([]) 27.61/11.35 new_mkVBalBranch3MkVBalBranch15(xux1340, xux1341, xux1342, xux1343, xux1344, xux1380, xux1381, xux138200, xux1383, xux1384, xux140, xux141, False, be, bf) -> new_mkBranch(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))))), xux140, xux141, Branch(xux1340, xux1341, xux1342, xux1343, xux1344), Branch(xux1380, xux1381, Neg(Succ(xux138200)), xux1383, xux1384), be, bf) 27.61/11.35 new_lt(GT, GT, ty_Ordering) -> new_esEs10 27.61/11.35 new_splitLT(EmptyFM, h) -> new_emptyFM0(h) 27.61/11.35 new_addToFM(xux1340, xux1341, xux1342, xux1343, xux1344, xux140, xux141, be, bf) -> new_addToFM_C0(Branch(xux1340, xux1341, xux1342, xux1343, xux1344), xux140, xux141, be, bf) 27.61/11.35 new_lt(EQ, EQ, ty_Ordering) -> new_esEs10 27.61/11.35 new_gt(False, False, ty_Bool) -> new_esEs5 27.61/11.35 new_mkVBalBranch3MkVBalBranch13(xux1340, xux1341, xux1342, xux1343, xux1344, xux1380, xux1381, xux138200, xux1383, xux1384, xux140, xux141, True, be, bf) -> new_mkBalBranch6MkBalBranch5(xux1340, xux1341, xux1343, new_mkVBalBranch7(xux140, xux141, xux1344, xux1380, xux1381, xux138200, xux1383, xux1384, be, bf), new_mkVBalBranch7(xux140, xux141, xux1344, xux1380, xux1381, xux138200, xux1383, xux1384, be, bf), new_mkVBalBranch7(xux140, xux141, xux1344, xux1380, xux1381, xux138200, xux1383, xux1384, be, bf), new_mkVBalBranch7(xux140, xux141, xux1344, xux1380, xux1381, xux138200, xux1383, xux1384, be, bf), be, bf) 27.61/11.35 new_primMinusNat0(Succ(xux559200)) -> Neg(Succ(xux559200)) 27.61/11.35 new_gt0(Pos(Zero), Neg(Succ(xux47500))) -> new_esEs3 27.61/11.35 new_splitGT30(True, xux31, xux32, xux33, xux34, True, h) -> xux34 27.61/11.35 new_mkBalBranch6MkBalBranch011(xux493, xux494, xux4960, xux4961, xux49620, xux4963, xux4964, xux558, xux5570, xux5571, xux5572, EmptyFM, xux5574, False, ba, bb) -> error([]) 27.61/11.35 new_mkBalBranch6MkBalBranch110(xux493, xux494, xux4960, xux4961, xux49620, xux4963, xux4964, xux558, xux557, True, ba, bb) -> new_mkBranch(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), xux4960, xux4961, xux4963, new_mkBranch(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), xux493, xux494, xux4964, xux557, ba, bb), ba, bb) 27.61/11.35 new_primPlusInt0(xux49620, EmptyFM, ba, bb) -> Pos(new_primPlusNat0(xux49620, Zero)) 27.61/11.35 new_mkVBalBranch5(xux40, xux41, EmptyFM, xux5, h) -> new_addToFM0(xux5, xux40, xux41, h) 27.61/11.35 new_mkVBalBranch8(xux140, xux141, EmptyFM, xux1380, xux1381, xux138200, xux1383, xux1384, be, bf) -> new_addToFM(xux1380, xux1381, Neg(Succ(xux138200)), xux1383, xux1384, xux140, xux141, be, bf) 27.61/11.35 new_primMulNat2(Zero) -> Zero 27.61/11.35 new_mkBalBranch6MkBalBranch40(xux493, xux494, xux4960, xux4961, xux49620, xux4963, xux4964, xux558, Branch(xux5570, xux5571, xux5572, xux5573, xux5574), True, ba, bb) -> new_mkBalBranch6MkBalBranch011(xux493, xux494, xux4960, xux4961, xux49620, xux4963, xux4964, xux558, xux5570, xux5571, xux5572, xux5573, xux5574, new_lt0(new_sizeFM(xux5573, ba, bb), new_sr0(new_sizeFM(xux5574, ba, bb))), ba, bb) 27.61/11.35 new_gt(xux480, xux475, app(ty_[], cg)) -> error([]) 27.61/11.35 new_mkBalBranch6MkBalBranch31(xux493, xux494, xux4960, xux4961, xux49620, xux4963, xux4964, xux558, xux557, False, ba, bb) -> new_mkBranch(Succ(Zero), xux493, xux494, Branch(xux4960, xux4961, Neg(xux49620), xux4963, xux4964), xux557, ba, bb) 27.61/11.35 new_lt(xux480, xux4780, ty_Bool) -> new_lt1(xux480, xux4780) 27.61/11.35 new_sr0(Pos(xux5910)) -> Pos(new_primMulNat2(xux5910)) 27.61/11.35 new_esEs5 -> False 27.61/11.35 new_primMinusNat1(Zero, Zero) -> Pos(Zero) 27.61/11.35 new_lt1(True, True) -> new_esEs10 27.61/11.35 new_gt0(Pos(Succ(xux48000)), Neg(xux4750)) -> new_esEs3 27.61/11.35 new_primMulNat2(Succ(xux59100)) -> new_primPlusNat0(new_primMulNat1(xux59100), Succ(xux59100)) 27.61/11.35 new_esEs12(Zero, xux1340, xux1341, xux1342, xux1343, xux1344, xux1380, xux1381, xux138200, xux1383, xux1384, be, bf) -> new_esEs13(new_sizeFM0(xux1340, xux1341, xux1342, xux1343, xux1344, be, bf)) 27.61/11.35 new_esEs7(Pos(Zero), Pos(Zero)) -> new_esEs10 27.61/11.35 new_lt(LT, EQ, ty_Ordering) -> error([]) 27.61/11.35 new_lt(EQ, LT, ty_Ordering) -> error([]) 27.61/11.35 new_gt(EQ, GT, ty_Ordering) -> error([]) 27.61/11.35 new_gt(GT, EQ, ty_Ordering) -> error([]) 27.61/11.35 new_addToFM_C20(xux475, xux476, xux477, xux478, xux479, xux480, xux481, True, bc, bd) -> new_mkBalBranch6MkBalBranch5(xux475, xux476, new_addToFM_C0(xux478, xux480, xux481, bc, bd), xux479, xux479, xux479, xux479, bc, bd) 27.61/11.35 new_sr(xux576) -> new_primMulInt(xux576) 27.61/11.35 new_esEs15(Pos(Succ(xux5200))) -> new_esEs11 27.61/11.35 new_primMinusNat1(Succ(xux496200), Zero) -> Pos(Succ(xux496200)) 27.61/11.35 new_mkBalBranch6MkBalBranch51(xux493, xux494, xux4960, xux4961, xux49620, xux4963, xux4964, xux558, xux557, True, ba, bb) -> new_mkBranch(Zero, xux493, xux494, Branch(xux4960, xux4961, Pos(xux49620), xux4963, xux4964), xux557, ba, bb) 27.61/11.35 new_esEs4(Zero, xux48000) -> new_esEs1 27.61/11.35 new_gt(xux480, xux475, ty_Char) -> error([]) 27.61/11.35 new_esEs15(Pos(Zero)) -> new_esEs10 27.61/11.35 new_esEs7(Neg(Zero), Neg(Succ(xux478000))) -> new_esEs8(Succ(xux478000), Zero) 27.61/11.35 new_gt(xux480, xux475, ty_Int) -> new_gt0(xux480, xux475) 27.61/11.35 new_mkBalBranch6MkBalBranch4(xux493, xux494, xux558, xux557, False, ba, bb) -> new_mkBalBranch6MkBalBranch3(xux493, xux494, xux558, xux557, new_gt0(new_mkBalBranch6Size_l(xux493, xux494, xux558, ba, bb), new_sr(new_mkBalBranch6Size_r(xux493, xux494, xux558, ba, bb))), ba, bb) 27.61/11.35 new_esEs14(Zero, xux1340, xux1341, xux1342, xux1343, xux1344, xux1380, xux1381, xux138200, xux1383, xux1384, be, bf) -> new_esEs15(new_sizeFM0(xux1340, xux1341, xux1342, xux1343, xux1344, be, bf)) 27.61/11.35 new_primPlusInt(Branch(xux5590, xux5591, Neg(xux55920), xux5593, xux5594), ba, bb) -> new_primMinusNat0(xux55920) 27.61/11.35 new_mkBalBranch6MkBalBranch01(xux493, xux494, xux558, xux5570, xux5571, xux5572, Branch(xux55730, xux55731, xux55732, xux55733, xux55734), xux5574, False, ba, bb) -> new_mkBranch(Succ(Succ(Succ(Succ(Zero)))), xux55730, xux55731, new_mkBranch(Succ(Succ(Succ(Succ(Succ(Zero))))), xux493, xux494, EmptyFM, xux55733, ba, bb), new_mkBranch(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), xux5570, xux5571, xux55734, xux5574, ba, bb), ba, bb) 27.61/11.35 new_sizeFM(EmptyFM, ba, bb) -> Pos(Zero) 27.61/11.35 new_mkBalBranch6MkBalBranch4(xux493, xux494, xux558, Branch(xux5570, xux5571, xux5572, xux5573, xux5574), True, ba, bb) -> new_mkBalBranch6MkBalBranch01(xux493, xux494, xux558, xux5570, xux5571, xux5572, xux5573, xux5574, new_lt0(new_sizeFM(xux5573, ba, bb), new_sr0(new_sizeFM(xux5574, ba, bb))), ba, bb) 27.61/11.35 new_mkBalBranch6MkBalBranch31(xux493, xux494, xux4960, xux4961, xux49620, xux4963, xux4964, xux558, xux557, True, ba, bb) -> new_mkBalBranch6MkBalBranch110(xux493, xux494, xux4960, xux4961, xux49620, xux4963, xux4964, xux558, xux557, new_lt0(new_sizeFM(xux4964, ba, bb), new_sr0(new_sizeFM(xux4963, ba, bb))), ba, bb) 27.61/11.35 new_lt(xux480, xux4780, ty_Int) -> new_lt0(xux480, xux4780) 27.61/11.35 new_mkBalBranch6Size_l1(xux493, xux494, xux4960, xux4961, xux49620, xux4963, xux4964, xux558, ba, bb) -> new_sizeFM(Branch(xux4960, xux4961, Pos(xux49620), xux4963, xux4964), ba, bb) 27.61/11.35 new_addToFM_C10(xux493, xux494, xux495, xux496, xux497, xux498, xux499, False, ba, bb) -> Branch(xux498, xux499, xux495, xux496, xux497) 27.61/11.35 new_gt(LT, LT, ty_Ordering) -> new_esEs5 27.61/11.35 new_lt(xux480, xux4780, app(app(app(ty_@3, cd), ce), cf)) -> error([]) 27.61/11.35 new_mkVBalBranch6(xux140, xux141, Branch(xux13440, xux13441, xux13442, xux13443, xux13444), xux1380, xux1381, xux1383, xux1384, be, bf) -> new_mkVBalBranch30(xux140, xux141, xux13440, xux13441, xux13442, xux13443, xux13444, xux1380, xux1381, Pos(Zero), xux1383, xux1384, be, bf) 27.61/11.35 new_esEs7(Pos(Zero), Neg(Succ(xux478000))) -> new_esEs9 27.61/11.35 new_mkVBalBranch3MkVBalBranch16(xux1340, xux1341, xux1342, xux1343, xux1344, xux1380, xux1381, xux1383, xux1384, xux140, xux141, False, be, bf) -> new_mkBranch(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))))), xux140, xux141, Branch(xux1340, xux1341, xux1342, xux1343, xux1344), Branch(xux1380, xux1381, Neg(Zero), xux1383, xux1384), be, bf) 27.61/11.35 new_esEs2(xux48000, Succ(xux47500)) -> new_esEs6(xux48000, xux47500) 27.61/11.35 new_sr0(Neg(xux5910)) -> Neg(new_primMulNat2(xux5910)) 27.61/11.35 new_sizeFM(Branch(xux5580, xux5581, xux5582, xux5583, xux5584), ba, bb) -> xux5582 27.61/11.35 new_esEs15(Neg(Zero)) -> new_esEs10 27.61/11.35 new_esEs2(xux48000, Zero) -> new_esEs3 27.61/11.35 new_mkBalBranch6Size_r0(xux493, xux494, xux4960, xux4961, xux49620, xux4963, xux4964, xux558, ba, bb) -> new_sizeFM(xux558, ba, bb) 27.61/11.35 new_esEs8(Zero, Zero) -> new_esEs10 27.61/11.35 new_mkBalBranch6MkBalBranch40(xux493, xux494, xux4960, xux4961, xux49620, xux4963, xux4964, xux558, xux557, False, ba, bb) -> new_mkBalBranch6MkBalBranch31(xux493, xux494, xux4960, xux4961, xux49620, xux4963, xux4964, xux558, xux557, new_gt0(new_mkBalBranch6Size_l0(xux493, xux494, xux4960, xux4961, xux49620, xux4963, xux4964, xux558, ba, bb), new_sr(new_mkBalBranch6Size_r0(xux493, xux494, xux4960, xux4961, xux49620, xux4963, xux4964, xux558, ba, bb))), ba, bb) 27.61/11.35 new_gt0(Neg(Zero), Neg(Zero)) -> new_esEs5 27.61/11.35 new_mkVBalBranch6(xux140, xux141, EmptyFM, xux1380, xux1381, xux1383, xux1384, be, bf) -> new_addToFM(xux1380, xux1381, Pos(Zero), xux1383, xux1384, xux140, xux141, be, bf) 27.61/11.35 new_mkBalBranch6MkBalBranch011(xux493, xux494, xux4960, xux4961, xux49620, xux4963, xux4964, xux558, xux5570, xux5571, xux5572, xux5573, xux5574, True, ba, bb) -> new_mkBranch(Succ(Succ(Zero)), xux5570, xux5571, new_mkBranch(Succ(Succ(Succ(Zero))), xux493, xux494, Branch(xux4960, xux4961, Neg(xux49620), xux4963, xux4964), xux5573, ba, bb), xux5574, ba, bb) 27.61/11.35 new_mkVBalBranch8(xux140, xux141, Branch(xux13440, xux13441, xux13442, xux13443, xux13444), xux1380, xux1381, xux138200, xux1383, xux1384, be, bf) -> new_mkVBalBranch30(xux140, xux141, xux13440, xux13441, xux13442, xux13443, xux13444, xux1380, xux1381, Neg(Succ(xux138200)), xux1383, xux1384, be, bf) 27.61/11.35 new_mkBalBranch6MkBalBranch11(xux493, xux494, xux4960, xux4961, xux49620, xux4963, Branch(xux49640, xux49641, xux49642, xux49643, xux49644), xux558, xux557, False, ba, bb) -> new_mkBranch(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), xux49640, xux49641, new_mkBranch(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))), xux4960, xux4961, xux4963, xux49643, ba, bb), new_mkBranch(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))))), xux493, xux494, xux49644, xux557, ba, bb), ba, bb) 27.61/11.35 new_esEs14(Succ(xux4640), xux1340, xux1341, xux1342, xux1343, xux1344, xux1380, xux1381, xux138200, xux1383, xux1384, be, bf) -> new_esEs17(xux4640, new_sizeFM0(xux1340, xux1341, xux1342, xux1343, xux1344, be, bf)) 27.61/11.35 new_mkBalBranch6MkBalBranch5(xux493, xux494, EmptyFM, xux558, xux557, xux560, xux559, ba, bb) -> new_mkBalBranch6MkBalBranch50(xux493, xux494, xux558, xux557, new_esEs7(new_primPlusInt(xux559, ba, bb), Pos(Succ(Succ(Zero)))), ba, bb) 27.61/11.35 new_esEs8(Zero, Succ(xux52000)) -> new_esEs11 27.61/11.35 new_esEs19(Pos(Succ(xux6200)), xux60, xux61, xux63, xux64, xux50, xux51, xux52, xux53, xux54, h) -> new_esEs18(new_primPlusNat0(new_primMulNat(xux6200), Succ(xux6200)), xux60, xux61, xux6200, xux63, xux64, xux50, xux51, xux52, xux53, xux54, h) 27.61/11.35 new_esEs7(Pos(Zero), Pos(Succ(xux478000))) -> new_esEs8(Zero, Succ(xux478000)) 27.61/11.35 new_mkBalBranch6MkBalBranch110(xux493, xux494, xux4960, xux4961, xux49620, xux4963, EmptyFM, xux558, xux557, False, ba, bb) -> error([]) 27.61/11.35 new_mkBalBranch6MkBalBranch51(xux493, xux494, xux4960, xux4961, xux49620, xux4963, xux4964, xux558, xux557, False, ba, bb) -> new_mkBalBranch6MkBalBranch41(xux493, xux494, xux4960, xux4961, xux49620, xux4963, xux4964, xux558, xux557, new_gt0(new_mkBalBranch6Size_r1(xux493, xux494, xux4960, xux4961, xux49620, xux4963, xux4964, xux558, ba, bb), new_sr(new_mkBalBranch6Size_l1(xux493, xux494, xux4960, xux4961, xux49620, xux4963, xux4964, xux558, ba, bb))), ba, bb) 27.61/11.35 new_lt(xux480, xux4780, ty_Char) -> error([]) 27.61/11.35 new_gt(True, True, ty_Bool) -> new_esEs5 27.61/11.35 new_lt1(True, False) -> new_esEs9 27.61/11.35 new_esEs11 -> True 27.61/11.35 new_primPlusNat0(Succ(xux2100), Succ(xux110)) -> Succ(Succ(new_primPlusNat0(xux2100, xux110))) 27.61/11.35 new_gt(True, False, ty_Bool) -> new_esEs3 27.61/11.35 new_mkBalBranch6MkBalBranch41(xux493, xux494, xux4960, xux4961, xux49620, xux4963, xux4964, xux558, xux557, False, ba, bb) -> new_mkBalBranch6MkBalBranch30(xux493, xux494, xux4960, xux4961, xux49620, xux4963, xux4964, xux558, xux557, new_gt0(new_mkBalBranch6Size_l1(xux493, xux494, xux4960, xux4961, xux49620, xux4963, xux4964, xux558, ba, bb), new_sr(new_mkBalBranch6Size_r1(xux493, xux494, xux4960, xux4961, xux49620, xux4963, xux4964, xux558, ba, bb))), ba, bb) 27.61/11.35 new_primPlusInt3(xux49620, Neg(xux55920)) -> Neg(new_primPlusNat0(xux49620, xux55920)) 27.61/11.35 new_lt(xux480, xux4780, app(app(ty_@2, bg), bh)) -> error([]) 27.61/11.35 new_mkBalBranch6MkBalBranch01(xux493, xux494, xux558, xux5570, xux5571, xux5572, EmptyFM, xux5574, False, ba, bb) -> error([]) 27.61/11.35 new_splitLT30(False, xux31, xux32, xux33, xux34, True, h) -> new_mkVBalBranch5(False, xux31, xux33, new_splitLT(xux34, h), h) 27.61/11.35 new_addToFM_C3(EmptyFM, xux40, xux41, h) -> Branch(xux40, xux41, Pos(Succ(Zero)), new_emptyFM0(h), new_emptyFM0(h)) 27.61/11.35 new_esEs7(Pos(Succ(xux48000)), Pos(xux47800)) -> new_esEs8(Succ(xux48000), xux47800) 27.61/11.35 new_lt(xux480, xux4780, ty_@0) -> error([]) 27.61/11.35 new_primMinusNat1(Succ(xux496200), Succ(xux559200)) -> new_primMinusNat1(xux496200, xux559200) 27.61/11.35 new_splitLT30(True, xux31, xux32, Branch(xux330, xux331, xux332, xux333, xux334), xux34, False, h) -> new_splitLT30(xux330, xux331, xux332, xux333, xux334, False, h) 27.61/11.35 new_esEs18(Succ(xux4460), xux60, xux61, xux6200, xux63, xux64, xux50, xux51, xux52, xux53, xux54, h) -> new_esEs16(xux4460, xux52) 27.61/11.35 new_esEs7(Neg(Succ(xux48000)), Neg(xux47800)) -> new_esEs8(xux47800, Succ(xux48000)) 27.61/11.35 new_esEs9 -> False 27.61/11.35 new_mkVBalBranch3MkVBalBranch15(xux1340, xux1341, xux1342, xux1343, xux1344, xux1380, xux1381, xux138200, xux1383, xux1384, xux140, xux141, True, be, bf) -> new_mkBalBranch6MkBalBranch5(xux1340, xux1341, xux1343, new_mkVBalBranch8(xux140, xux141, xux1344, xux1380, xux1381, xux138200, xux1383, xux1384, be, bf), new_mkVBalBranch8(xux140, xux141, xux1344, xux1380, xux1381, xux138200, xux1383, xux1384, be, bf), new_mkVBalBranch8(xux140, xux141, xux1344, xux1380, xux1381, xux138200, xux1383, xux1384, be, bf), new_mkVBalBranch8(xux140, xux141, xux1344, xux1380, xux1381, xux138200, xux1383, xux1384, be, bf), be, bf) 27.61/11.35 new_esEs7(Neg(Succ(xux48000)), Pos(xux47800)) -> new_esEs11 27.61/11.35 new_mkBalBranch6MkBalBranch50(xux493, xux494, xux558, xux557, False, ba, bb) -> new_mkBalBranch6MkBalBranch4(xux493, xux494, xux558, xux557, new_gt0(new_mkBalBranch6Size_r(xux493, xux494, xux558, ba, bb), new_sr(new_mkBalBranch6Size_l(xux493, xux494, xux558, ba, bb))), ba, bb) 27.61/11.35 new_mkVBalBranch3MkVBalBranch20(xux1340, xux1341, xux1342, xux1343, xux1344, xux1380, xux1381, xux1382, xux1383, xux1384, xux140, xux141, True, be, bf) -> new_mkBalBranch6MkBalBranch5(xux1380, xux1381, new_mkVBalBranch4(xux140, xux141, xux1340, xux1341, xux1342, xux1343, xux1344, xux1383, be, bf), xux1384, xux1384, xux1384, xux1384, be, bf) 27.61/11.35 new_mkVBalBranch5(xux40, xux41, Branch(xux60, xux61, xux62, xux63, xux64), EmptyFM, h) -> new_addToFM0(Branch(xux60, xux61, xux62, xux63, xux64), xux40, xux41, h) 27.61/11.35 new_gt0(Pos(Succ(xux48000)), Pos(xux4750)) -> new_esEs2(xux48000, xux4750) 27.61/11.35 new_primPlusInt(Branch(xux5590, xux5591, Pos(xux55920), xux5593, xux5594), ba, bb) -> Pos(new_primPlusNat0(Zero, xux55920)) 27.61/11.35 new_esEs16(xux4460, Neg(xux520)) -> new_esEs9 27.61/11.35 new_gt0(Neg(Succ(xux48000)), Pos(xux4750)) -> new_esEs1 27.61/11.35 new_gt(xux480, xux475, ty_Float) -> error([]) 27.61/11.35 new_mkVBalBranch30(xux140, xux141, xux1340, xux1341, xux1342, xux1343, xux1344, xux13830, xux13831, xux13832, xux13833, xux13834, be, bf) -> new_mkVBalBranch3MkVBalBranch20(xux1340, xux1341, xux1342, xux1343, xux1344, xux13830, xux13831, xux13832, xux13833, xux13834, xux140, xux141, new_esEs7(new_primMulInt(new_sizeFM(Branch(xux1340, xux1341, xux1342, xux1343, xux1344), be, bf)), new_sizeFM0(xux13830, xux13831, xux13832, xux13833, xux13834, be, bf)), be, bf) 27.61/11.35 new_esEs20(Zero, xux60, xux61, xux6200, xux63, xux64, xux50, xux51, xux52, xux53, xux54, h) -> new_esEs15(new_sizeFM1(xux50, xux51, xux52, xux53, xux54, h)) 27.61/11.35 new_primPlusInt2(xux49620, Pos(xux55920)) -> Pos(new_primPlusNat0(xux49620, xux55920)) 27.61/11.35 new_gt0(Pos(Zero), Pos(Zero)) -> new_esEs5 27.61/11.35 new_mkBalBranch6Size_r(xux493, xux494, xux558, ba, bb) -> new_sizeFM(xux558, ba, bb) 27.61/11.35 new_primMulNat0(Succ(xux57100)) -> new_primPlusNat0(new_primMulNat(xux57100), Succ(xux57100)) 27.61/11.35 new_primMulNat(xux6200) -> new_primPlusNat0(new_primPlusNat0(new_primPlusNat0(new_primMulNat1(xux6200), Succ(xux6200)), Succ(xux6200)), Succ(xux6200)) 27.61/11.35 new_mkVBalBranch7(xux140, xux141, EmptyFM, xux1380, xux1381, xux138200, xux1383, xux1384, be, bf) -> new_addToFM(xux1380, xux1381, Pos(Succ(xux138200)), xux1383, xux1384, xux140, xux141, be, bf) 27.61/11.35 new_splitGT30(False, xux31, xux32, xux33, Branch(xux340, xux341, xux342, xux343, xux344), True, h) -> new_splitGT30(xux340, xux341, xux342, xux343, xux344, True, h) 27.61/11.35 new_primMulInt(Pos(xux5710)) -> Pos(new_primMulNat0(xux5710)) 27.61/11.35 new_mkBalBranch6MkBalBranch5(xux493, xux494, Branch(xux4960, xux4961, Pos(xux49620), xux4963, xux4964), xux558, xux557, xux560, xux559, ba, bb) -> new_mkBalBranch6MkBalBranch51(xux493, xux494, xux4960, xux4961, xux49620, xux4963, xux4964, xux558, xux557, new_esEs7(new_primPlusInt0(xux49620, xux559, ba, bb), Pos(Succ(Succ(Zero)))), ba, bb) 27.61/11.35 new_mkBalBranch6MkBalBranch010(xux493, xux494, xux4960, xux4961, xux49620, xux4963, xux4964, xux558, xux5570, xux5571, xux5572, EmptyFM, xux5574, False, ba, bb) -> error([]) 27.61/11.35 new_gt0(Neg(Zero), Pos(Succ(xux47500))) -> new_esEs1 27.61/11.35 new_primPlusNat0(Succ(xux2100), Zero) -> Succ(xux2100) 27.61/11.35 new_primPlusNat0(Zero, Succ(xux110)) -> Succ(xux110) 27.61/11.35 new_lt(xux480, xux4780, app(ty_Ratio, ca)) -> error([]) 27.61/11.35 new_mkVBalBranch3MkVBalBranch14(xux1340, xux1341, xux1342, xux1343, xux1344, xux1380, xux1381, xux1383, xux1384, xux140, xux141, True, be, bf) -> new_mkBalBranch6MkBalBranch5(xux1340, xux1341, xux1343, new_mkVBalBranch6(xux140, xux141, xux1344, xux1380, xux1381, xux1383, xux1384, be, bf), new_mkVBalBranch6(xux140, xux141, xux1344, xux1380, xux1381, xux1383, xux1384, be, bf), new_mkVBalBranch6(xux140, xux141, xux1344, xux1380, xux1381, xux1383, xux1384, be, bf), new_mkVBalBranch6(xux140, xux141, xux1344, xux1380, xux1381, xux1383, xux1384, be, bf), be, bf) 27.61/11.35 new_mkBalBranch6MkBalBranch30(xux493, xux494, xux4960, xux4961, xux49620, xux4963, xux4964, xux558, xux557, False, ba, bb) -> new_mkBranch(Succ(Zero), xux493, xux494, Branch(xux4960, xux4961, Pos(xux49620), xux4963, xux4964), xux557, ba, bb) 27.61/11.35 new_mkBalBranch6MkBalBranch010(xux493, xux494, xux4960, xux4961, xux49620, xux4963, xux4964, xux558, xux5570, xux5571, xux5572, xux5573, xux5574, True, ba, bb) -> new_mkBranch(Succ(Succ(Zero)), xux5570, xux5571, new_mkBranch(Succ(Succ(Succ(Zero))), xux493, xux494, Branch(xux4960, xux4961, Pos(xux49620), xux4963, xux4964), xux5573, ba, bb), xux5574, ba, bb) 27.61/11.35 new_primMinusNat0(Zero) -> Pos(Zero) 27.61/11.35 new_esEs6(Succ(xux480000), Zero) -> new_esEs3 27.61/11.35 new_esEs18(Zero, xux60, xux61, xux6200, xux63, xux64, xux50, xux51, xux52, xux53, xux54, h) -> new_esEs13(new_sizeFM1(xux50, xux51, xux52, xux53, xux54, h)) 27.61/11.35 new_esEs6(Succ(xux480000), Succ(xux475000)) -> new_esEs6(xux480000, xux475000) 27.61/11.35 new_mkBalBranch6MkBalBranch011(xux493, xux494, xux4960, xux4961, xux49620, xux4963, xux4964, xux558, xux5570, xux5571, xux5572, Branch(xux55730, xux55731, xux55732, xux55733, xux55734), xux5574, False, ba, bb) -> new_mkBranch(Succ(Succ(Succ(Succ(Zero)))), xux55730, xux55731, new_mkBranch(Succ(Succ(Succ(Succ(Succ(Zero))))), xux493, xux494, Branch(xux4960, xux4961, Neg(xux49620), xux4963, xux4964), xux55733, ba, bb), new_mkBranch(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), xux5570, xux5571, xux55734, xux5574, ba, bb), ba, bb) 27.61/11.35 new_mkBalBranch6MkBalBranch40(xux493, xux494, xux4960, xux4961, xux49620, xux4963, xux4964, xux558, EmptyFM, True, ba, bb) -> error([]) 27.61/11.35 new_gt(xux480, xux475, app(app(app(ty_@3, cd), ce), cf)) -> error([]) 27.61/11.35 new_mkBalBranch6MkBalBranch11(xux493, xux494, xux4960, xux4961, xux49620, xux4963, EmptyFM, xux558, xux557, False, ba, bb) -> error([]) 27.61/11.35 new_esEs19(Neg(Succ(xux6200)), xux60, xux61, xux63, xux64, xux50, xux51, xux52, xux53, xux54, h) -> new_esEs20(new_primPlusNat0(new_primMulNat(xux6200), Succ(xux6200)), xux60, xux61, xux6200, xux63, xux64, xux50, xux51, xux52, xux53, xux54, h) 27.61/11.35 new_emptyFM0(h) -> EmptyFM 27.61/11.35 new_mkBalBranch6Size_l0(xux493, xux494, xux4960, xux4961, xux49620, xux4963, xux4964, xux558, ba, bb) -> new_sizeFM(Branch(xux4960, xux4961, Neg(xux49620), xux4963, xux4964), ba, bb) 27.61/11.35 new_esEs1 -> False 27.61/11.35 new_esEs3 -> True 27.61/11.35 new_addToFM_C0(EmptyFM, xux480, xux481, bc, bd) -> Branch(xux480, xux481, Pos(Succ(Zero)), new_emptyFM(bc, bd), new_emptyFM(bc, bd)) 27.61/11.35 new_mkBalBranch6MkBalBranch52(xux493, xux494, xux4960, xux4961, xux49620, xux4963, xux4964, xux558, xux557, True, ba, bb) -> new_mkBranch(Zero, xux493, xux494, Branch(xux4960, xux4961, Neg(xux49620), xux4963, xux4964), xux557, ba, bb) 27.61/11.35 new_esEs13(Pos(Zero)) -> new_esEs10 27.61/11.35 new_mkBalBranch6MkBalBranch41(xux493, xux494, xux4960, xux4961, xux49620, xux4963, xux4964, xux558, EmptyFM, True, ba, bb) -> error([]) 27.61/11.35 new_esEs16(xux4460, Pos(Succ(xux5200))) -> new_esEs8(xux4460, xux5200) 27.61/11.35 new_mkVBalBranch3MkVBalBranch20(xux1340, xux1341, xux1342, xux1343, xux1344, xux1380, xux1381, Neg(Zero), xux1383, xux1384, xux140, xux141, False, be, bf) -> new_mkVBalBranch3MkVBalBranch16(xux1340, xux1341, xux1342, xux1343, xux1344, xux1380, xux1381, xux1383, xux1384, xux140, xux141, new_esEs15(new_sizeFM0(xux1340, xux1341, xux1342, xux1343, xux1344, be, bf)), be, bf) 27.61/11.35 new_splitLT(Branch(xux340, xux341, xux342, xux343, xux344), h) -> new_splitLT30(xux340, xux341, xux342, xux343, xux344, True, h) 27.61/11.35 new_lt(LT, LT, ty_Ordering) -> new_esEs10 27.61/11.35 new_esEs6(Zero, Succ(xux475000)) -> new_esEs1 27.61/11.35 new_mkBalBranch6MkBalBranch11(xux493, xux494, xux4960, xux4961, xux49620, xux4963, xux4964, xux558, xux557, True, ba, bb) -> new_mkBranch(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), xux4960, xux4961, xux4963, new_mkBranch(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), xux493, xux494, xux4964, xux557, ba, bb), ba, bb) 27.61/11.35 new_lt(xux480, xux4780, app(ty_Maybe, da)) -> error([]) 27.61/11.35 new_primMinusNat1(Zero, Succ(xux559200)) -> Neg(Succ(xux559200)) 27.61/11.35 new_mkVBalBranch9(xux140, xux141, EmptyFM, xux1380, xux1381, xux1383, xux1384, be, bf) -> new_addToFM(xux1380, xux1381, Neg(Zero), xux1383, xux1384, xux140, xux141, be, bf) 27.61/11.35 new_addToFM_C0(Branch(xux4780, xux4781, xux4782, xux4783, xux4784), xux480, xux481, bc, bd) -> new_addToFM_C20(xux4780, xux4781, xux4782, xux4783, xux4784, xux480, xux481, new_lt(xux480, xux4780, bc), bc, bd) 27.61/11.35 new_sizeFM0(xux1340, xux1341, xux1342, xux1343, xux1344, be, bf) -> xux1342 27.61/11.35 new_gt(LT, EQ, ty_Ordering) -> error([]) 27.61/11.35 new_gt(EQ, LT, ty_Ordering) -> error([]) 27.61/11.35 new_sizeFM1(xux50, xux51, xux52, xux53, xux54, h) -> xux52 27.61/11.35 new_lt1(False, False) -> new_esEs10 27.61/11.35 new_esEs7(Neg(Zero), Neg(Zero)) -> new_esEs10 27.61/11.35 new_splitLT30(False, xux31, xux32, xux33, xux34, False, h) -> xux33 27.61/11.35 new_gt(xux480, xux475, app(app(ty_@2, bg), bh)) -> error([]) 27.61/11.35 new_esEs13(Neg(Zero)) -> new_esEs10 27.61/11.35 new_gt0(Pos(Zero), Pos(Succ(xux47500))) -> new_esEs4(Zero, xux47500) 27.61/11.35 new_lt(xux480, xux4780, app(ty_[], cg)) -> error([]) 27.61/11.35 new_esEs13(Neg(Succ(xux5200))) -> new_esEs9 27.61/11.35 new_esEs20(Succ(xux4470), xux60, xux61, xux6200, xux63, xux64, xux50, xux51, xux52, xux53, xux54, h) -> new_esEs17(xux4470, xux52) 27.61/11.35 new_esEs17(xux4470, Neg(Zero)) -> new_esEs11 27.61/11.35 new_gt(False, True, ty_Bool) -> new_esEs1 27.61/11.35 new_primPlusInt(EmptyFM, ba, bb) -> Pos(new_primPlusNat0(Zero, Zero)) 27.61/11.35 new_splitGT(Branch(xux330, xux331, xux332, xux333, xux334), h) -> new_splitGT30(xux330, xux331, xux332, xux333, xux334, False, h) 27.61/11.35 new_lt(xux480, xux4780, app(app(ty_Either, cb), cc)) -> error([]) 27.61/11.35 new_splitGT30(False, xux31, xux32, xux33, xux34, False, h) -> xux34 27.61/11.35 new_mkVBalBranch9(xux140, xux141, Branch(xux13440, xux13441, xux13442, xux13443, xux13444), xux1380, xux1381, xux1383, xux1384, be, bf) -> new_mkVBalBranch30(xux140, xux141, xux13440, xux13441, xux13442, xux13443, xux13444, xux1380, xux1381, Neg(Zero), xux1383, xux1384, be, bf) 27.61/11.35 new_mkVBalBranch3MkVBalBranch20(xux1340, xux1341, xux1342, xux1343, xux1344, xux1380, xux1381, Pos(Succ(xux138200)), xux1383, xux1384, xux140, xux141, False, be, bf) -> new_mkVBalBranch3MkVBalBranch13(xux1340, xux1341, xux1342, xux1343, xux1344, xux1380, xux1381, xux138200, xux1383, xux1384, xux140, xux141, new_esEs12(new_primPlusNat0(new_primMulNat(xux138200), Succ(xux138200)), xux1340, xux1341, xux1342, xux1343, xux1344, xux1380, xux1381, xux138200, xux1383, xux1384, be, bf), be, bf) 27.61/11.35 new_primPlusInt1(xux49620, Branch(xux5590, xux5591, xux5592, xux5593, xux5594), ba, bb) -> new_primPlusInt3(xux49620, xux5592) 27.61/11.35 new_mkBalBranch6Size_l(xux493, xux494, xux558, ba, bb) -> new_sizeFM(EmptyFM, ba, bb) 27.61/11.35 new_splitGT30(True, xux31, xux32, xux33, xux34, False, h) -> new_mkVBalBranch5(True, xux31, new_splitGT(xux33, h), xux34, h) 27.61/11.35 new_gt0(Neg(Zero), Neg(Succ(xux47500))) -> new_esEs2(xux47500, Zero) 27.61/11.35 new_splitGT30(False, xux31, xux32, xux33, EmptyFM, True, h) -> new_emptyFM0(h) 27.61/11.35 new_lt(xux480, xux4780, ty_Integer) -> error([]) 27.61/11.35 new_lt(LT, GT, ty_Ordering) -> error([]) 27.61/11.35 new_lt(GT, LT, ty_Ordering) -> error([]) 27.61/11.35 new_esEs16(xux4460, Pos(Zero)) -> new_esEs9 27.61/11.35 new_mkVBalBranch5(xux40, xux41, Branch(xux60, xux61, xux62, xux63, xux64), Branch(xux50, xux51, xux52, xux53, xux54), h) -> new_mkVBalBranch3MkVBalBranch20(xux60, xux61, xux62, xux63, xux64, xux50, xux51, xux52, xux53, xux54, xux40, xux41, new_esEs19(xux62, xux60, xux61, xux63, xux64, xux50, xux51, xux52, xux53, xux54, h), ty_Bool, h) 27.61/11.35 new_esEs8(Succ(xux44600), Succ(xux52000)) -> new_esEs8(xux44600, xux52000) 27.61/11.35 new_addToFM0(xux5, xux40, xux41, h) -> new_addToFM_C3(xux5, xux40, xux41, h) 27.61/11.35 new_mkBalBranch6MkBalBranch5(xux493, xux494, Branch(xux4960, xux4961, Neg(xux49620), xux4963, xux4964), xux558, xux557, xux560, xux559, ba, bb) -> new_mkBalBranch6MkBalBranch52(xux493, xux494, xux4960, xux4961, xux49620, xux4963, xux4964, xux558, xux557, new_esEs7(new_primPlusInt1(xux49620, xux559, ba, bb), Pos(Succ(Succ(Zero)))), ba, bb) 27.61/11.35 new_esEs4(Succ(xux47500), xux48000) -> new_esEs6(xux47500, xux48000) 27.61/11.35 new_mkBalBranch6MkBalBranch01(xux493, xux494, xux558, xux5570, xux5571, xux5572, xux5573, xux5574, True, ba, bb) -> new_mkBranch(Succ(Succ(Zero)), xux5570, xux5571, new_mkBranch(Succ(Succ(Succ(Zero))), xux493, xux494, EmptyFM, xux5573, ba, bb), xux5574, ba, bb) 27.61/11.35 new_gt0(Neg(Succ(xux48000)), Neg(xux4750)) -> new_esEs4(xux4750, xux48000) 27.61/11.35 new_primMulNat0(Zero) -> Zero 27.61/11.35 27.61/11.35 The set Q consists of the following terms: 27.61/11.35 27.61/11.35 new_mkVBalBranch3MkVBalBranch16(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, False, x11, x12) 27.61/11.35 new_lt(x0, x1, ty_Char) 27.61/11.35 new_mkVBalBranch3MkVBalBranch20(x0, x1, x2, x3, x4, x5, x6, Pos(Zero), x7, x8, x9, x10, False, x11, x12) 27.61/11.35 new_splitLT(EmptyFM, x0) 27.61/11.35 new_addToFM_C3(Branch(x0, x1, x2, x3, x4), x5, x6, x7) 27.61/11.35 new_mkVBalBranch3MkVBalBranch20(x0, x1, x2, x3, x4, x5, x6, Neg(Zero), x7, x8, x9, x10, False, x11, x12) 27.61/11.35 new_mkBalBranch6MkBalBranch011(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, EmptyFM, x11, False, x12, x13) 27.61/11.35 new_addToFM_C3(EmptyFM, x0, x1, x2) 27.61/11.35 new_splitGT(Branch(x0, x1, x2, x3, x4), x5) 27.61/11.35 new_gt(LT, GT, ty_Ordering) 27.61/11.35 new_gt(GT, LT, ty_Ordering) 27.61/11.35 new_gt(x0, x1, app(ty_[], x2)) 27.61/11.35 new_mkBalBranch6MkBalBranch51(x0, x1, x2, x3, x4, x5, x6, x7, x8, False, x9, x10) 27.61/11.35 new_esEs7(Pos(Zero), Neg(Zero)) 27.61/11.35 new_esEs7(Neg(Zero), Pos(Zero)) 27.61/11.35 new_esEs12(Succ(x0), x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12) 27.61/11.35 new_mkVBalBranch3MkVBalBranch13(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, True, x12, x13) 27.61/11.35 new_mkBalBranch6MkBalBranch010(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, EmptyFM, x11, False, x12, x13) 27.61/11.35 new_primMulNat2(Zero) 27.61/11.35 new_primMinusNat1(Succ(x0), Zero) 27.61/11.35 new_mkBalBranch6MkBalBranch4(x0, x1, x2, x3, False, x4, x5) 27.61/11.35 new_esEs17(x0, Neg(Succ(x1))) 27.61/11.35 new_esEs6(Succ(x0), Succ(x1)) 27.61/11.35 new_mkBalBranch6MkBalBranch30(x0, x1, x2, x3, x4, x5, x6, x7, x8, True, x9, x10) 27.61/11.35 new_primPlusNat0(Succ(x0), Succ(x1)) 27.61/11.35 new_mkVBalBranch30(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13) 27.61/11.35 new_splitLT(Branch(x0, x1, x2, x3, x4), x5) 27.61/11.35 new_mkBalBranch6MkBalBranch50(x0, x1, x2, x3, False, x4, x5) 27.61/11.35 new_primPlusNat0(Zero, Succ(x0)) 27.61/11.35 new_mkVBalBranch3MkVBalBranch14(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, False, x11, x12) 27.61/11.35 new_esEs7(Neg(Zero), Neg(Zero)) 27.61/11.35 new_esEs19(Neg(Succ(x0)), x1, x2, x3, x4, x5, x6, x7, x8, x9, x10) 27.61/11.35 new_gt(x0, x1, ty_Double) 27.61/11.35 new_gt(x0, x1, app(ty_Maybe, x2)) 27.61/11.35 new_esEs13(Neg(Succ(x0))) 27.61/11.35 new_addToFM_C20(x0, x1, x2, x3, x4, x5, x6, False, x7, x8) 27.61/11.35 new_esEs6(Succ(x0), Zero) 27.61/11.35 new_esEs3 27.61/11.35 new_gt0(Pos(Zero), Neg(Succ(x0))) 27.61/11.35 new_gt0(Neg(Zero), Pos(Succ(x0))) 27.61/11.35 new_sr(x0) 27.61/11.35 new_mkBalBranch6MkBalBranch01(x0, x1, x2, x3, x4, x5, x6, x7, True, x8, x9) 27.61/11.35 new_primMulNat0(Zero) 27.61/11.35 new_mkVBalBranch4(x0, x1, x2, x3, x4, x5, x6, EmptyFM, x7, x8) 27.61/11.35 new_esEs5 27.61/11.35 new_primPlusInt(Branch(x0, x1, Neg(x2), x3, x4), x5, x6) 27.61/11.35 new_primMinusNat1(Succ(x0), Succ(x1)) 27.61/11.35 new_primPlusInt1(x0, EmptyFM, x1, x2) 27.61/11.35 new_splitLT30(False, x0, x1, x2, x3, True, x4) 27.61/11.35 new_gt(x0, x1, ty_Float) 27.61/11.35 new_mkBalBranch6MkBalBranch5(x0, x1, Branch(x2, x3, Neg(x4), x5, x6), x7, x8, x9, x10, x11, x12) 27.61/11.35 new_mkBalBranch6MkBalBranch31(x0, x1, x2, x3, x4, x5, x6, x7, x8, True, x9, x10) 27.61/11.35 new_mkBalBranch6MkBalBranch52(x0, x1, x2, x3, x4, x5, x6, x7, x8, False, x9, x10) 27.61/11.35 new_gt0(Pos(Zero), Neg(Zero)) 27.61/11.35 new_gt0(Neg(Zero), Pos(Zero)) 27.61/11.35 new_gt(LT, EQ, ty_Ordering) 27.61/11.35 new_gt(EQ, LT, ty_Ordering) 27.61/11.35 new_esEs20(Succ(x0), x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11) 27.61/11.35 new_gt(GT, GT, ty_Ordering) 27.61/11.35 new_lt1(True, True) 27.61/11.35 new_sizeFM1(x0, x1, x2, x3, x4, x5) 27.61/11.35 new_esEs15(Pos(Succ(x0))) 27.61/11.35 new_lt(x0, x1, ty_Int) 27.61/11.35 new_mkBalBranch6Size_r0(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9) 27.61/11.35 new_lt(EQ, GT, ty_Ordering) 27.61/11.35 new_lt(GT, EQ, ty_Ordering) 27.61/11.35 new_primPlusNat0(Zero, Zero) 27.61/11.35 new_esEs9 27.61/11.35 new_lt(x0, x1, app(app(ty_@2, x2), x3)) 27.61/11.35 new_lt(x0, x1, ty_Double) 27.61/11.35 new_sizeFM0(x0, x1, x2, x3, x4, x5, x6) 27.61/11.35 new_primMinusNat0(Succ(x0)) 27.61/11.35 new_mkBalBranch6MkBalBranch010(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, Branch(x11, x12, x13, x14, x15), x16, False, x17, x18) 27.61/11.35 new_gt(x0, x1, app(app(ty_Either, x2), x3)) 27.61/11.35 new_splitGT30(True, x0, x1, x2, x3, True, x4) 27.61/11.35 new_mkBalBranch6MkBalBranch40(x0, x1, x2, x3, x4, x5, x6, x7, x8, False, x9, x10) 27.61/11.35 new_mkBalBranch6MkBalBranch011(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, Branch(x11, x12, x13, x14, x15), x16, False, x17, x18) 27.61/11.35 new_lt(x0, x1, ty_Bool) 27.61/11.35 new_mkBalBranch6Size_r(x0, x1, x2, x3, x4) 27.61/11.35 new_lt(EQ, EQ, ty_Ordering) 27.61/11.35 new_mkBalBranch6MkBalBranch41(x0, x1, x2, x3, x4, x5, x6, x7, x8, False, x9, x10) 27.61/11.35 new_primPlusInt2(x0, Pos(x1)) 27.61/11.35 new_lt1(False, False) 27.61/11.35 new_esEs8(Succ(x0), Zero) 27.61/11.35 new_esEs14(Succ(x0), x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12) 27.61/11.35 new_mkBalBranch6MkBalBranch110(x0, x1, x2, x3, x4, x5, EmptyFM, x6, x7, False, x8, x9) 27.61/11.35 new_addToFM0(x0, x1, x2, x3) 27.61/11.35 new_gt(False, False, ty_Bool) 27.61/11.35 new_primMulNat1(x0) 27.61/11.35 new_gt0(Pos(Zero), Pos(Zero)) 27.61/11.35 new_mkBalBranch6MkBalBranch11(x0, x1, x2, x3, x4, x5, x6, x7, x8, True, x9, x10) 27.61/11.35 new_lt0(x0, x1) 27.61/11.35 new_esEs15(Neg(Zero)) 27.61/11.35 new_lt(x0, x1, app(ty_Ratio, x2)) 27.61/11.35 new_primPlusInt(EmptyFM, x0, x1) 27.61/11.35 new_mkBalBranch6MkBalBranch4(x0, x1, x2, EmptyFM, True, x3, x4) 27.61/11.35 new_esEs16(x0, Pos(Succ(x1))) 27.61/11.35 new_splitLT30(False, x0, x1, x2, x3, False, x4) 27.61/11.35 new_gt(EQ, GT, ty_Ordering) 27.61/11.35 new_gt(GT, EQ, ty_Ordering) 27.61/11.35 new_esEs4(Zero, x0) 27.61/11.35 new_primMinusNat1(Zero, Zero) 27.61/11.35 new_mkVBalBranch3MkVBalBranch15(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, True, x12, x13) 27.61/11.35 new_mkVBalBranch8(x0, x1, EmptyFM, x2, x3, x4, x5, x6, x7, x8) 27.61/11.35 new_esEs7(Neg(Zero), Neg(Succ(x0))) 27.61/11.35 new_primPlusInt(Branch(x0, x1, Pos(x2), x3, x4), x5, x6) 27.61/11.35 new_mkVBalBranch3MkVBalBranch20(x0, x1, x2, x3, x4, x5, x6, Pos(Succ(x7)), x8, x9, x10, x11, False, x12, x13) 27.61/11.35 new_mkVBalBranch8(x0, x1, Branch(x2, x3, x4, x5, x6), x7, x8, x9, x10, x11, x12, x13) 27.61/11.35 new_mkBalBranch6Size_l(x0, x1, x2, x3, x4) 27.61/11.35 new_gt0(Pos(Zero), Pos(Succ(x0))) 27.61/11.35 new_sizeFM(EmptyFM, x0, x1) 27.61/11.35 new_esEs11 27.61/11.35 new_splitGT(EmptyFM, x0) 27.61/11.35 new_mkBalBranch6MkBalBranch4(x0, x1, x2, Branch(x3, x4, x5, x6, x7), True, x8, x9) 27.61/11.35 new_esEs19(Pos(Succ(x0)), x1, x2, x3, x4, x5, x6, x7, x8, x9, x10) 27.61/11.35 new_primMulInt(Neg(x0)) 27.61/11.35 new_mkBalBranch6MkBalBranch30(x0, x1, x2, x3, x4, x5, x6, x7, x8, False, x9, x10) 27.61/11.35 new_mkBranch(x0, x1, x2, x3, x4, x5, x6) 27.61/11.35 new_gt0(Pos(Succ(x0)), Neg(x1)) 27.61/11.35 new_gt0(Neg(Succ(x0)), Pos(x1)) 27.61/11.35 new_esEs18(Zero, x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10) 27.61/11.35 new_gt(EQ, EQ, ty_Ordering) 27.61/11.35 new_mkBalBranch6MkBalBranch011(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, True, x13, x14) 27.61/11.35 new_mkVBalBranch3MkVBalBranch13(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, False, x12, x13) 27.61/11.35 new_esEs7(Pos(Zero), Pos(Zero)) 27.61/11.35 new_esEs20(Zero, x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10) 27.61/11.35 new_addToFM(x0, x1, x2, x3, x4, x5, x6, x7, x8) 27.61/11.35 new_gt(x0, x1, app(app(app(ty_@3, x2), x3), x4)) 27.61/11.35 new_esEs19(Neg(Zero), x0, x1, x2, x3, x4, x5, x6, x7, x8, x9) 27.61/11.35 new_primMulNat(x0) 27.61/11.35 new_primMulNat0(Succ(x0)) 27.61/11.35 new_mkBalBranch6Size_l0(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9) 27.61/11.35 new_esEs6(Zero, Zero) 27.61/11.35 new_mkVBalBranch3MkVBalBranch16(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, True, x11, x12) 27.61/11.35 new_esEs2(x0, Succ(x1)) 27.61/11.35 new_mkBalBranch6Size_l1(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9) 27.61/11.35 new_primPlusInt4(Neg(x0), x1, x2, x3, x4, x5) 27.61/11.35 new_addToFM_C0(EmptyFM, x0, x1, x2, x3) 27.61/11.35 new_primPlusInt4(Pos(x0), x1, x2, x3, x4, x5) 27.61/11.35 new_mkBalBranch6MkBalBranch41(x0, x1, x2, x3, x4, x5, x6, x7, Branch(x8, x9, x10, x11, x12), True, x13, x14) 27.61/11.35 new_mkBalBranch6MkBalBranch40(x0, x1, x2, x3, x4, x5, x6, x7, EmptyFM, True, x8, x9) 27.61/11.35 new_mkBalBranch6MkBalBranch50(x0, x1, x2, x3, True, x4, x5) 27.61/11.35 new_esEs12(Zero, x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11) 27.61/11.35 new_mkBalBranch6MkBalBranch01(x0, x1, x2, x3, x4, x5, Branch(x6, x7, x8, x9, x10), x11, False, x12, x13) 27.61/11.35 new_esEs8(Zero, Zero) 27.61/11.35 new_esEs14(Zero, x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11) 27.61/11.35 new_mkBalBranch6MkBalBranch40(x0, x1, x2, x3, x4, x5, x6, x7, Branch(x8, x9, x10, x11, x12), True, x13, x14) 27.61/11.35 new_mkBalBranch6MkBalBranch52(x0, x1, x2, x3, x4, x5, x6, x7, x8, True, x9, x10) 27.61/11.35 new_mkBalBranch6MkBalBranch41(x0, x1, x2, x3, x4, x5, x6, x7, EmptyFM, True, x8, x9) 27.61/11.35 new_lt(x0, x1, ty_Integer) 27.61/11.35 new_mkVBalBranch3MkVBalBranch14(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, True, x11, x12) 27.61/11.35 new_esEs8(Succ(x0), Succ(x1)) 27.61/11.35 new_mkBalBranch6MkBalBranch31(x0, x1, x2, x3, x4, x5, x6, x7, x8, False, x9, x10) 27.61/11.35 new_gt(x0, x1, app(ty_Ratio, x2)) 27.61/11.35 new_esEs17(x0, Pos(x1)) 27.61/11.35 new_lt(x0, x1, app(app(ty_Either, x2), x3)) 27.61/11.35 new_esEs17(x0, Neg(Zero)) 27.61/11.35 new_primMulNat2(Succ(x0)) 27.61/11.35 new_primMulInt(Pos(x0)) 27.61/11.35 new_esEs13(Pos(Zero)) 27.61/11.35 new_mkVBalBranch3MkVBalBranch15(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, False, x12, x13) 27.61/11.35 new_esEs13(Neg(Zero)) 27.61/11.35 new_sr0(Pos(x0)) 27.61/11.35 new_lt(x0, x1, app(ty_Maybe, x2)) 27.61/11.35 new_lt(x0, x1, app(ty_[], x2)) 27.61/11.35 new_mkBalBranch6MkBalBranch3(x0, x1, x2, x3, True, x4, x5) 27.61/11.35 new_gt(True, False, ty_Bool) 27.61/11.35 new_gt(False, True, ty_Bool) 27.61/11.35 new_esEs7(Pos(Zero), Pos(Succ(x0))) 27.61/11.35 new_esEs7(Pos(Succ(x0)), Pos(x1)) 27.61/11.35 new_mkVBalBranch7(x0, x1, Branch(x2, x3, x4, x5, x6), x7, x8, x9, x10, x11, x12, x13) 27.61/11.35 new_esEs19(Pos(Zero), x0, x1, x2, x3, x4, x5, x6, x7, x8, x9) 27.61/11.35 new_emptyFM(x0, x1) 27.61/11.35 new_gt(x0, x1, ty_@0) 27.61/11.35 new_esEs6(Zero, Succ(x0)) 27.61/11.35 new_primPlusInt3(x0, Neg(x1)) 27.61/11.35 new_mkBalBranch6MkBalBranch5(x0, x1, EmptyFM, x2, x3, x4, x5, x6, x7) 27.61/11.35 new_mkBalBranch6MkBalBranch51(x0, x1, x2, x3, x4, x5, x6, x7, x8, True, x9, x10) 27.61/11.35 new_splitGT30(False, x0, x1, x2, EmptyFM, True, x3) 27.61/11.35 new_addToFM_C10(x0, x1, x2, x3, x4, x5, x6, False, x7, x8) 27.61/11.35 new_esEs7(Neg(Succ(x0)), Neg(x1)) 27.61/11.35 new_splitGT30(False, x0, x1, x2, Branch(x3, x4, x5, x6, x7), True, x8) 27.61/11.35 new_esEs4(Succ(x0), x1) 27.61/11.35 new_emptyFM0(x0) 27.61/11.35 new_splitGT30(False, x0, x1, x2, x3, False, x4) 27.61/11.35 new_primPlusInt0(x0, Branch(x1, x2, x3, x4, x5), x6, x7) 27.61/11.35 new_esEs16(x0, Neg(x1)) 27.61/11.35 new_mkVBalBranch5(x0, x1, EmptyFM, x2, x3) 27.61/11.35 new_mkBalBranch6MkBalBranch110(x0, x1, x2, x3, x4, x5, Branch(x6, x7, x8, x9, x10), x11, x12, False, x13, x14) 27.61/11.35 new_esEs16(x0, Pos(Zero)) 27.61/11.35 new_lt(x0, x1, ty_@0) 27.61/11.35 new_primPlusNat0(Succ(x0), Zero) 27.61/11.35 new_gt0(Neg(Succ(x0)), Neg(x1)) 27.61/11.35 new_mkVBalBranch6(x0, x1, Branch(x2, x3, x4, x5, x6), x7, x8, x9, x10, x11, x12) 27.61/11.35 new_gt(x0, x1, ty_Int) 27.61/11.35 new_esEs8(Zero, Succ(x0)) 27.61/11.35 new_sizeFM(Branch(x0, x1, x2, x3, x4), x5, x6) 27.61/11.35 new_primPlusInt3(x0, Pos(x1)) 27.61/11.35 new_gt(x0, x1, ty_Integer) 27.61/11.35 new_mkBalBranch6MkBalBranch11(x0, x1, x2, x3, x4, x5, Branch(x6, x7, x8, x9, x10), x11, x12, False, x13, x14) 27.61/11.35 new_primPlusInt1(x0, Branch(x1, x2, x3, x4, x5), x6, x7) 27.61/11.35 new_gt0(Pos(Succ(x0)), Pos(x1)) 27.61/11.35 new_lt(LT, EQ, ty_Ordering) 27.61/11.35 new_lt(EQ, LT, ty_Ordering) 27.61/11.35 new_esEs2(x0, Zero) 27.61/11.35 new_mkBalBranch6MkBalBranch01(x0, x1, x2, x3, x4, x5, EmptyFM, x6, False, x7, x8) 27.61/11.35 new_gt(LT, LT, ty_Ordering) 27.61/11.35 new_mkVBalBranch3MkVBalBranch20(x0, x1, x2, x3, x4, x5, x6, Neg(Succ(x7)), x8, x9, x10, x11, False, x12, x13) 27.61/11.35 new_lt(x0, x1, ty_Float) 27.61/11.35 new_mkVBalBranch9(x0, x1, Branch(x2, x3, x4, x5, x6), x7, x8, x9, x10, x11, x12) 27.61/11.35 new_primPlusInt2(x0, Neg(x1)) 27.61/11.35 new_lt(GT, GT, ty_Ordering) 27.61/11.35 new_primPlusInt0(x0, EmptyFM, x1, x2) 27.61/11.35 new_gt(x0, x1, ty_Char) 27.61/11.35 new_mkVBalBranch5(x0, x1, Branch(x2, x3, x4, x5, x6), EmptyFM, x7) 27.61/11.35 new_mkBalBranch6MkBalBranch010(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, True, x13, x14) 27.61/11.35 new_esEs13(Pos(Succ(x0))) 27.61/11.35 new_esEs7(Neg(Zero), Pos(Succ(x0))) 27.61/11.35 new_esEs7(Pos(Zero), Neg(Succ(x0))) 27.61/11.35 new_sr0(Neg(x0)) 27.61/11.35 new_esEs18(Succ(x0), x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11) 27.61/11.35 new_addToFM_C20(x0, x1, x2, x3, x4, x5, x6, True, x7, x8) 27.61/11.35 new_mkBalBranch6Size_r1(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9) 27.61/11.35 new_splitLT30(True, x0, x1, EmptyFM, x2, False, x3) 27.61/11.35 new_splitLT30(True, x0, x1, x2, x3, True, x4) 27.61/11.35 new_lt(LT, GT, ty_Ordering) 27.61/11.35 new_lt(GT, LT, ty_Ordering) 27.61/11.35 new_lt(LT, LT, ty_Ordering) 27.61/11.35 new_esEs10 27.61/11.35 new_gt0(Neg(Zero), Neg(Succ(x0))) 27.61/11.35 new_mkBalBranch6MkBalBranch3(x0, x1, x2, x3, False, x4, x5) 27.61/11.35 new_addToFM_C10(x0, x1, x2, x3, x4, x5, x6, True, x7, x8) 27.61/11.35 new_esEs15(Neg(Succ(x0))) 27.61/11.35 new_esEs15(Pos(Zero)) 27.61/11.35 new_splitLT30(True, x0, x1, Branch(x2, x3, x4, x5, x6), x7, False, x8) 27.61/11.35 new_mkVBalBranch7(x0, x1, EmptyFM, x2, x3, x4, x5, x6, x7, x8) 27.61/11.35 new_mkVBalBranch6(x0, x1, EmptyFM, x2, x3, x4, x5, x6, x7) 27.61/11.35 new_esEs1 27.61/11.35 new_gt(x0, x1, app(app(ty_@2, x2), x3)) 27.61/11.35 new_lt1(False, True) 27.61/11.35 new_lt1(True, False) 27.61/11.35 new_mkVBalBranch5(x0, x1, Branch(x2, x3, x4, x5, x6), Branch(x7, x8, x9, x10, x11), x12) 27.61/11.35 new_addToFM_C0(Branch(x0, x1, x2, x3, x4), x5, x6, x7, x8) 27.61/11.35 new_lt(x0, x1, app(app(app(ty_@3, x2), x3), x4)) 27.61/11.35 new_esEs7(Pos(Succ(x0)), Neg(x1)) 27.61/11.35 new_esEs7(Neg(Succ(x0)), Pos(x1)) 27.61/11.35 new_primMinusNat0(Zero) 27.61/11.35 new_mkBalBranch6MkBalBranch11(x0, x1, x2, x3, x4, x5, EmptyFM, x6, x7, False, x8, x9) 27.61/11.35 new_mkBalBranch6MkBalBranch110(x0, x1, x2, x3, x4, x5, x6, x7, x8, True, x9, x10) 27.61/11.35 new_splitGT30(True, x0, x1, x2, x3, False, x4) 27.61/11.35 new_primMinusNat1(Zero, Succ(x0)) 27.61/11.35 new_mkVBalBranch3MkVBalBranch20(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, True, x12, x13) 27.61/11.35 new_gt(True, True, ty_Bool) 27.61/11.35 new_gt0(Neg(Zero), Neg(Zero)) 27.61/11.35 new_mkVBalBranch4(x0, x1, x2, x3, x4, x5, x6, Branch(x7, x8, x9, x10, x11), x12, x13) 27.61/11.35 new_mkVBalBranch9(x0, x1, EmptyFM, x2, x3, x4, x5, x6, x7) 27.61/11.35 new_mkBalBranch6MkBalBranch5(x0, x1, Branch(x2, x3, Pos(x4), x5, x6), x7, x8, x9, x10, x11, x12) 27.61/11.35 27.61/11.35 We have to consider all minimal (P,Q,R)-chains. 27.61/11.35 ---------------------------------------- 27.61/11.35 27.61/11.35 (43) QDPSizeChangeProof (EQUIVALENT) 27.61/11.35 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.61/11.35 27.61/11.35 From the DPs we obtained the following set of size-change graphs: 27.61/11.35 *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.61/11.35 The graph contains the following edges 2 > 2, 3 >= 3 27.61/11.35 27.61/11.35 27.61/11.35 *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.61/11.35 The graph contains the following edges 2 > 2, 3 >= 3 27.61/11.35 27.61/11.35 27.61/11.35 ---------------------------------------- 27.61/11.35 27.61/11.35 (44) 27.61/11.35 YES 27.61/11.35 27.61/11.35 ---------------------------------------- 27.61/11.35 27.61/11.35 (45) 27.61/11.35 Obligation: 27.61/11.35 Q DP problem: 27.61/11.35 The TRS P consists of the following rules: 27.61/11.35 27.61/11.35 new_esEs(Succ(xux44600), Succ(xux52000)) -> new_esEs(xux44600, xux52000) 27.61/11.35 27.61/11.35 R is empty. 27.61/11.35 Q is empty. 27.61/11.35 We have to consider all minimal (P,Q,R)-chains. 27.61/11.35 ---------------------------------------- 27.61/11.35 27.61/11.35 (46) QDPSizeChangeProof (EQUIVALENT) 27.61/11.35 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.61/11.35 27.61/11.35 From the DPs we obtained the following set of size-change graphs: 27.61/11.35 *new_esEs(Succ(xux44600), Succ(xux52000)) -> new_esEs(xux44600, xux52000) 27.61/11.35 The graph contains the following edges 1 > 1, 2 > 2 27.61/11.35 27.61/11.35 27.61/11.35 ---------------------------------------- 27.61/11.35 27.61/11.35 (47) 27.61/11.35 YES 27.61/11.35 27.61/11.35 ---------------------------------------- 27.61/11.35 27.61/11.35 (48) 27.61/11.35 Obligation: 27.61/11.35 Q DP problem: 27.61/11.35 The TRS P consists of the following rules: 27.61/11.35 27.61/11.35 new_primMinusNat(Succ(xux496200), Succ(xux559200)) -> new_primMinusNat(xux496200, xux559200) 27.61/11.35 27.61/11.35 R is empty. 27.61/11.35 Q is empty. 27.61/11.35 We have to consider all minimal (P,Q,R)-chains. 27.61/11.35 ---------------------------------------- 27.61/11.35 27.61/11.35 (49) QDPSizeChangeProof (EQUIVALENT) 27.61/11.35 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.61/11.35 27.61/11.35 From the DPs we obtained the following set of size-change graphs: 27.61/11.35 *new_primMinusNat(Succ(xux496200), Succ(xux559200)) -> new_primMinusNat(xux496200, xux559200) 27.61/11.35 The graph contains the following edges 1 > 1, 2 > 2 27.61/11.35 27.61/11.35 27.61/11.35 ---------------------------------------- 27.61/11.35 27.61/11.35 (50) 27.61/11.35 YES 27.61/11.35 27.61/11.35 ---------------------------------------- 27.61/11.35 27.61/11.35 (51) 27.61/11.35 Obligation: 27.61/11.35 Q DP problem: 27.61/11.35 The TRS P consists of the following rules: 27.61/11.35 27.61/11.35 new_primPlusNat(Succ(xux2100), Succ(xux110)) -> new_primPlusNat(xux2100, xux110) 27.61/11.35 27.61/11.35 R is empty. 27.61/11.35 Q is empty. 27.61/11.35 We have to consider all minimal (P,Q,R)-chains. 27.61/11.35 ---------------------------------------- 27.61/11.35 27.61/11.35 (52) QDPSizeChangeProof (EQUIVALENT) 27.61/11.35 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.61/11.35 27.61/11.35 From the DPs we obtained the following set of size-change graphs: 27.61/11.35 *new_primPlusNat(Succ(xux2100), Succ(xux110)) -> new_primPlusNat(xux2100, xux110) 27.61/11.35 The graph contains the following edges 1 > 1, 2 > 2 27.61/11.35 27.61/11.35 27.61/11.35 ---------------------------------------- 27.61/11.35 27.61/11.35 (53) 27.61/11.35 YES 27.76/11.43 EOF