55.91/36.49 MAYBE 58.54/37.20 proof of /export/starexec/sandbox/benchmark/theBenchmark.hs 58.54/37.20 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 58.54/37.20 58.54/37.20 58.54/37.20 H-Termination with start terms of the given HASKELL could not be shown: 58.54/37.20 58.54/37.20 (0) HASKELL 58.54/37.20 (1) LR [EQUIVALENT, 0 ms] 58.54/37.20 (2) HASKELL 58.54/37.20 (3) CR [EQUIVALENT, 0 ms] 58.54/37.20 (4) HASKELL 58.54/37.20 (5) IFR [EQUIVALENT, 0 ms] 58.54/37.20 (6) HASKELL 58.54/37.20 (7) BR [EQUIVALENT, 0 ms] 58.54/37.20 (8) HASKELL 58.54/37.20 (9) COR [EQUIVALENT, 24 ms] 58.54/37.20 (10) HASKELL 58.54/37.20 (11) NumRed [SOUND, 0 ms] 58.54/37.20 (12) HASKELL 58.54/37.20 (13) Narrow [SOUND, 0 ms] 58.54/37.20 (14) AND 58.54/37.20 (15) QDP 58.54/37.20 (16) QDPSizeChangeProof [EQUIVALENT, 0 ms] 58.54/37.20 (17) YES 58.54/37.20 (18) QDP 58.54/37.20 (19) QDPSizeChangeProof [EQUIVALENT, 0 ms] 58.54/37.20 (20) YES 58.54/37.20 (21) QDP 58.54/37.20 (22) QDPSizeChangeProof [EQUIVALENT, 0 ms] 58.54/37.20 (23) YES 58.54/37.20 (24) QDP 58.54/37.20 (25) DependencyGraphProof [EQUIVALENT, 0 ms] 58.54/37.20 (26) AND 58.54/37.20 (27) QDP 58.54/37.20 (28) QDPOrderProof [EQUIVALENT, 45 ms] 58.54/37.20 (29) QDP 58.54/37.20 (30) MNOCProof [EQUIVALENT, 0 ms] 58.54/37.20 (31) QDP 58.54/37.20 (32) InductionCalculusProof [EQUIVALENT, 0 ms] 58.54/37.20 (33) QDP 58.54/37.20 (34) QDPPairToRuleProof [EQUIVALENT, 0 ms] 58.54/37.20 (35) AND 58.54/37.20 (36) QDP 58.54/37.20 (37) MNOCProof [EQUIVALENT, 0 ms] 58.54/37.20 (38) QDP 58.54/37.20 (39) InductionCalculusProof [EQUIVALENT, 0 ms] 58.54/37.20 (40) QDP 58.54/37.20 (41) QDP 58.54/37.20 (42) QDPSizeChangeProof [EQUIVALENT, 0 ms] 58.54/37.20 (43) YES 58.54/37.20 (44) QDP 58.54/37.20 (45) QDPSizeChangeProof [EQUIVALENT, 0 ms] 58.54/37.20 (46) YES 58.54/37.20 (47) QDP 58.54/37.20 (48) QDPSizeChangeProof [EQUIVALENT, 0 ms] 58.54/37.20 (49) YES 58.54/37.20 (50) QDP 58.54/37.20 (51) QDPSizeChangeProof [EQUIVALENT, 0 ms] 58.54/37.20 (52) YES 58.54/37.20 (53) QDP 58.54/37.20 (54) DependencyGraphProof [EQUIVALENT, 0 ms] 58.54/37.20 (55) AND 58.54/37.20 (56) QDP 58.54/37.20 (57) QDPSizeChangeProof [EQUIVALENT, 0 ms] 58.54/37.20 (58) YES 58.54/37.20 (59) QDP 58.54/37.20 (60) QDPSizeChangeProof [EQUIVALENT, 0 ms] 58.54/37.20 (61) YES 58.54/37.20 (62) QDP 58.54/37.20 (63) QDPOrderProof [EQUIVALENT, 0 ms] 58.54/37.20 (64) QDP 58.54/37.20 (65) MNOCProof [EQUIVALENT, 0 ms] 58.54/37.20 (66) QDP 58.54/37.20 (67) InductionCalculusProof [EQUIVALENT, 0 ms] 58.54/37.20 (68) QDP 58.54/37.20 (69) QDPPairToRuleProof [EQUIVALENT, 0 ms] 58.54/37.20 (70) AND 58.54/37.20 (71) QDP 58.54/37.20 (72) MNOCProof [EQUIVALENT, 0 ms] 58.54/37.20 (73) QDP 58.54/37.20 (74) InductionCalculusProof [EQUIVALENT, 0 ms] 58.54/37.20 (75) QDP 58.54/37.20 (76) QDP 58.54/37.20 (77) QDPSizeChangeProof [EQUIVALENT, 0 ms] 58.54/37.20 (78) YES 58.54/37.20 (79) QDP 58.54/37.20 (80) QDPSizeChangeProof [EQUIVALENT, 0 ms] 58.54/37.20 (81) YES 58.54/37.20 (82) QDP 58.54/37.20 (83) QDPSizeChangeProof [EQUIVALENT, 0 ms] 58.54/37.20 (84) YES 58.54/37.20 (85) QDP 58.54/37.20 (86) QDPSizeChangeProof [EQUIVALENT, 0 ms] 58.54/37.20 (87) YES 58.54/37.20 (88) QDP 58.54/37.20 (89) QDPSizeChangeProof [EQUIVALENT, 0 ms] 58.54/37.20 (90) YES 58.54/37.20 (91) QDP 58.54/37.20 (92) QDPSizeChangeProof [EQUIVALENT, 0 ms] 58.54/37.20 (93) YES 58.54/37.20 (94) Narrow [COMPLETE, 0 ms] 58.54/37.20 (95) AND 58.54/37.20 (96) QDP 58.54/37.20 (97) DependencyGraphProof [EQUIVALENT, 0 ms] 58.54/37.20 (98) AND 58.54/37.20 (99) QDP 58.54/37.20 (100) MRRProof [EQUIVALENT, 0 ms] 58.54/37.20 (101) QDP 58.54/37.20 (102) DependencyGraphProof [EQUIVALENT, 0 ms] 58.54/37.20 (103) TRUE 58.54/37.20 (104) QDP 58.54/37.20 (105) MRRProof [EQUIVALENT, 0 ms] 58.54/37.20 (106) QDP 58.54/37.20 (107) PisEmptyProof [EQUIVALENT, 0 ms] 58.54/37.20 (108) YES 58.54/37.20 (109) QDP 58.54/37.20 (110) QDPOrderProof [EQUIVALENT, 4 ms] 58.54/37.20 (111) QDP 58.54/37.20 (112) DependencyGraphProof [EQUIVALENT, 0 ms] 58.54/37.20 (113) QDP 58.54/37.20 (114) MRRProof [EQUIVALENT, 0 ms] 58.54/37.20 (115) QDP 58.54/37.20 (116) QDPSizeChangeProof [EQUIVALENT, 0 ms] 58.54/37.20 (117) YES 58.54/37.20 (118) QDP 58.54/37.20 (119) MRRProof [EQUIVALENT, 0 ms] 58.54/37.20 (120) QDP 58.54/37.20 (121) DependencyGraphProof [EQUIVALENT, 0 ms] 58.54/37.20 (122) TRUE 58.54/37.20 (123) QDP 58.54/37.20 (124) QDPOrderProof [EQUIVALENT, 0 ms] 58.54/37.20 (125) QDP 58.54/37.20 (126) QDP 58.54/37.20 (127) MRRProof [EQUIVALENT, 0 ms] 58.54/37.20 (128) QDP 58.54/37.20 (129) PisEmptyProof [EQUIVALENT, 0 ms] 58.54/37.20 (130) YES 58.54/37.20 (131) QDP 58.54/37.20 (132) DependencyGraphProof [EQUIVALENT, 0 ms] 58.54/37.20 (133) AND 58.54/37.20 (134) QDP 58.54/37.20 (135) QDPOrderProof [EQUIVALENT, 9 ms] 58.54/37.20 (136) QDP 58.54/37.20 (137) QDPOrderProof [EQUIVALENT, 0 ms] 58.54/37.20 (138) QDP 58.54/37.20 (139) DependencyGraphProof [EQUIVALENT, 0 ms] 58.54/37.20 (140) AND 58.54/37.20 (141) QDP 58.54/37.20 (142) QDP 58.54/37.20 (143) MRRProof [EQUIVALENT, 0 ms] 58.54/37.20 (144) QDP 58.54/37.20 (145) PisEmptyProof [EQUIVALENT, 0 ms] 58.54/37.20 (146) YES 58.54/37.20 (147) QDP 58.54/37.20 (148) QDPOrderProof [EQUIVALENT, 7 ms] 58.54/37.20 (149) QDP 58.54/37.20 (150) DependencyGraphProof [EQUIVALENT, 0 ms] 58.54/37.20 (151) QDP 58.54/37.20 (152) MRRProof [EQUIVALENT, 0 ms] 58.54/37.20 (153) QDP 58.54/37.20 (154) MRRProof [EQUIVALENT, 0 ms] 58.54/37.20 (155) QDP 58.54/37.20 (156) PisEmptyProof [EQUIVALENT, 0 ms] 58.54/37.20 (157) YES 58.54/37.20 (158) QDP 58.54/37.20 (159) MRRProof [EQUIVALENT, 0 ms] 58.54/37.20 (160) QDP 58.54/37.20 (161) MRRProof [EQUIVALENT, 0 ms] 58.54/37.20 (162) QDP 58.54/37.20 (163) DependencyGraphProof [EQUIVALENT, 0 ms] 58.54/37.20 (164) QDP 58.54/37.20 (165) MRRProof [EQUIVALENT, 0 ms] 58.54/37.20 (166) QDP 58.54/37.20 (167) PisEmptyProof [EQUIVALENT, 0 ms] 58.54/37.20 (168) YES 58.54/37.20 58.54/37.20 58.54/37.20 ---------------------------------------- 58.54/37.20 58.54/37.20 (0) 58.54/37.20 Obligation: 58.54/37.20 mainModule Main 58.54/37.20 module Main where { 58.54/37.20 import qualified Prelude; 58.54/37.20 } 58.54/37.20 58.54/37.20 ---------------------------------------- 58.54/37.20 58.54/37.20 (1) LR (EQUIVALENT) 58.54/37.20 Lambda Reductions: 58.54/37.20 The following Lambda expression 58.54/37.20 "\z->if y >= z && z >= x then z : [] else []" 58.54/37.20 is transformed to 58.54/37.20 "range0 y x z = if y >= z && z >= x then z : [] else []; 58.54/37.20 " 58.54/37.20 The following Lambda expression 58.54/37.20 "\lv1->case lv1 of { 58.54/37.20 z1 -> (z0,z1) : []; 58.54/37.20 _ -> []} 58.54/37.20 " 58.54/37.20 is transformed to 58.54/37.20 "range1 z0 lv1 = case lv1 of { 58.54/37.20 z1 -> (z0,z1) : []; 58.54/37.20 _ -> []} 58.54/37.20 ; 58.54/37.20 " 58.54/37.20 The following Lambda expression 58.54/37.20 "\lv2->case lv2 of { 58.54/37.20 z0 -> concatMap (range1 z0) (range (x1,y1)); 58.54/37.20 _ -> []} 58.54/37.20 " 58.54/37.20 is transformed to 58.54/37.20 "range2 x1 y1 lv2 = case lv2 of { 58.54/37.20 z0 -> concatMap (range1 z0) (range (x1,y1)); 58.54/37.20 _ -> []} 58.54/37.20 ; 58.54/37.20 " 58.54/37.20 The following Lambda expression 58.54/37.20 "\lv1->case lv1 of { 58.54/37.20 z2 -> (z0,z1,z2) : []; 58.54/37.20 _ -> []} 58.54/37.20 " 58.54/37.20 is transformed to 58.54/37.20 "range3 z0 z1 lv1 = case lv1 of { 58.54/37.20 z2 -> (z0,z1,z2) : []; 58.54/37.20 _ -> []} 58.54/37.20 ; 58.54/37.20 " 58.54/37.20 The following Lambda expression 58.54/37.20 "\lv2->case lv2 of { 58.54/37.20 z1 -> concatMap (range3 z0 z1) (range (x2,y2)); 58.54/37.20 _ -> []} 58.54/37.20 " 58.54/37.20 is transformed to 58.54/37.20 "range4 z0 x2 y2 lv2 = case lv2 of { 58.54/37.20 z1 -> concatMap (range3 z0 z1) (range (x2,y2)); 58.54/37.20 _ -> []} 58.54/37.20 ; 58.54/37.20 " 58.54/37.20 The following Lambda expression 58.54/37.20 "\lv3->case lv3 of { 58.54/37.20 z0 -> concatMap (range4 z0 x2 y2) (range (x1,y1)); 58.54/37.20 _ -> []} 58.54/37.20 " 58.54/37.20 is transformed to 58.54/37.20 "range5 x2 y2 x1 y1 lv3 = case lv3 of { 58.54/37.20 z0 -> concatMap (range4 z0 x2 y2) (range (x1,y1)); 58.54/37.20 _ -> []} 58.54/37.20 ; 58.54/37.20 " 58.54/37.20 The following Lambda expression 58.54/37.20 "\z->if y >= z && z >= x then z : [] else []" 58.54/37.20 is transformed to 58.54/37.20 "range6 y x z = if y >= z && z >= x then z : [] else []; 58.54/37.20 " 58.54/37.20 58.54/37.20 ---------------------------------------- 58.54/37.20 58.54/37.20 (2) 58.54/37.20 Obligation: 58.54/37.20 mainModule Main 58.54/37.20 module Main where { 58.54/37.20 import qualified Prelude; 58.54/37.20 } 58.54/37.20 58.54/37.20 ---------------------------------------- 58.54/37.20 58.54/37.20 (3) CR (EQUIVALENT) 58.54/37.20 Case Reductions: 58.54/37.20 The following Case expression 58.54/37.20 "case lv1 of { 58.54/37.20 z2 -> (z0,z1,z2) : []; 58.54/37.20 _ -> []} 58.54/37.20 " 58.54/37.20 is transformed to 58.54/37.20 "range30 z0 z1 z2 = (z0,z1,z2) : []; 58.54/37.20 range30 z0 z1 _ = []; 58.54/37.20 " 58.54/37.20 The following Case expression 58.54/37.20 "case lv2 of { 58.54/37.20 z1 -> concatMap (range3 z0 z1) (range (x2,y2)); 58.54/37.20 _ -> []} 58.54/37.20 " 58.54/37.20 is transformed to 58.54/37.20 "range40 z0 x2 y2 z1 = concatMap (range3 z0 z1) (range (x2,y2)); 58.54/37.20 range40 z0 x2 y2 _ = []; 58.54/37.20 " 58.54/37.20 The following Case expression 58.54/37.20 "case lv1 of { 58.54/37.20 z1 -> (z0,z1) : []; 58.54/37.20 _ -> []} 58.54/37.20 " 58.54/37.20 is transformed to 58.54/37.20 "range10 z0 z1 = (z0,z1) : []; 58.54/37.20 range10 z0 _ = []; 58.54/37.20 " 58.54/37.20 The following Case expression 58.54/37.20 "case lv2 of { 58.54/37.20 z0 -> concatMap (range1 z0) (range (x1,y1)); 58.54/37.20 _ -> []} 58.54/37.20 " 58.54/37.20 is transformed to 58.54/37.20 "range20 x1 y1 z0 = concatMap (range1 z0) (range (x1,y1)); 58.54/37.20 range20 x1 y1 _ = []; 58.54/37.20 " 58.54/37.20 The following Case expression 58.54/37.20 "case lv3 of { 58.54/37.20 z0 -> concatMap (range4 z0 x2 y2) (range (x1,y1)); 58.54/37.20 _ -> []} 58.54/37.20 " 58.54/37.20 is transformed to 58.54/37.20 "range50 x2 y2 x1 y1 z0 = concatMap (range4 z0 x2 y2) (range (x1,y1)); 58.54/37.20 range50 x2 y2 x1 y1 _ = []; 58.54/37.20 " 58.54/37.20 58.54/37.20 ---------------------------------------- 58.54/37.20 58.54/37.20 (4) 58.54/37.20 Obligation: 58.54/37.20 mainModule Main 58.54/37.20 module Main where { 58.54/37.20 import qualified Prelude; 58.54/37.20 } 58.54/37.20 58.54/37.20 ---------------------------------------- 58.54/37.20 58.54/37.20 (5) IFR (EQUIVALENT) 58.54/37.20 If Reductions: 58.54/37.20 The following If expression 58.54/37.20 "if y >= z && z >= x then z : [] else []" 58.54/37.20 is transformed to 58.54/37.20 "range00 z True = z : []; 58.54/37.20 range00 z False = []; 58.54/37.20 " 58.54/37.20 The following If expression 58.54/37.20 "if y >= z && z >= x then z : [] else []" 58.54/37.20 is transformed to 58.54/37.20 "range60 z True = z : []; 58.54/37.20 range60 z False = []; 58.54/37.20 " 58.54/37.20 58.54/37.20 ---------------------------------------- 58.54/37.20 58.54/37.20 (6) 58.54/37.20 Obligation: 58.54/37.20 mainModule Main 58.54/37.20 module Main where { 58.54/37.20 import qualified Prelude; 58.54/37.20 } 58.54/37.20 58.54/37.20 ---------------------------------------- 58.54/37.20 58.54/37.20 (7) BR (EQUIVALENT) 58.54/37.20 Replaced joker patterns by fresh variables and removed binding patterns. 58.54/37.20 ---------------------------------------- 58.54/37.20 58.54/37.20 (8) 58.54/37.20 Obligation: 58.54/37.20 mainModule Main 58.54/37.20 module Main where { 58.54/37.20 import qualified Prelude; 58.54/37.20 } 58.54/37.20 58.54/37.20 ---------------------------------------- 58.54/37.20 58.54/37.20 (9) COR (EQUIVALENT) 58.54/37.20 Cond Reductions: 58.54/37.20 The following Function with conditions 58.54/37.20 "compare x y|x == yEQ|x <= yLT|otherwiseGT; 58.54/37.20 " 58.54/37.20 is transformed to 58.54/37.20 "compare x y = compare3 x y; 58.54/37.20 " 58.54/37.20 "compare2 x y True = EQ; 58.54/37.20 compare2 x y False = compare1 x y (x <= y); 58.54/37.20 " 58.54/37.20 "compare1 x y True = LT; 58.54/37.20 compare1 x y False = compare0 x y otherwise; 58.54/37.20 " 58.54/37.20 "compare0 x y True = GT; 58.54/37.20 " 58.54/37.20 "compare3 x y = compare2 x y (x == y); 58.54/37.20 " 58.54/37.20 The following Function with conditions 58.54/37.20 "takeWhile p [] = []; 58.54/37.20 takeWhile p (x : xs)|p xx : takeWhile p xs|otherwise[]; 58.54/37.20 " 58.54/37.20 is transformed to 58.54/37.20 "takeWhile p [] = takeWhile3 p []; 58.54/37.20 takeWhile p (x : xs) = takeWhile2 p (x : xs); 58.54/37.20 " 58.54/37.20 "takeWhile0 p x xs True = []; 58.54/37.20 " 58.54/37.20 "takeWhile1 p x xs True = x : takeWhile p xs; 58.54/37.20 takeWhile1 p x xs False = takeWhile0 p x xs otherwise; 58.54/37.20 " 58.54/37.20 "takeWhile2 p (x : xs) = takeWhile1 p x xs (p x); 58.54/37.20 " 58.54/37.20 "takeWhile3 p [] = []; 58.54/37.20 takeWhile3 wy wz = takeWhile2 wy wz; 58.54/37.20 " 58.54/37.20 The following Function with conditions 58.54/37.20 "undefined |Falseundefined; 58.54/37.20 " 58.54/37.20 is transformed to 58.54/37.20 "undefined = undefined1; 58.54/37.20 " 58.54/37.20 "undefined0 True = undefined; 58.54/37.20 " 58.54/37.20 "undefined1 = undefined0 False; 58.54/37.20 " 58.54/37.20 58.54/37.20 ---------------------------------------- 58.54/37.20 58.54/37.20 (10) 58.54/37.20 Obligation: 58.54/37.20 mainModule Main 58.54/37.20 module Main where { 58.54/37.20 import qualified Prelude; 58.54/37.20 } 58.54/37.20 58.54/37.20 ---------------------------------------- 58.54/37.20 58.54/37.20 (11) NumRed (SOUND) 58.54/37.20 Num Reduction:All numbers are transformed to their corresponding representation with Succ, Pred and Zero. 58.54/37.20 ---------------------------------------- 58.54/37.20 58.54/37.20 (12) 58.54/37.20 Obligation: 58.54/37.20 mainModule Main 58.54/37.20 module Main where { 58.54/37.20 import qualified Prelude; 58.54/37.20 } 58.54/37.20 58.54/37.20 ---------------------------------------- 58.54/37.20 58.54/37.20 (13) Narrow (SOUND) 58.54/37.20 Haskell To QDPs 58.54/37.20 58.54/37.20 digraph dp_graph { 58.54/37.20 node [outthreshold=100, inthreshold=100];1[label="range",fontsize=16,color="grey",shape="box"];1 -> 3[label="",style="dashed", color="grey", weight=3]; 58.54/37.20 3[label="range xu3",fontsize=16,color="blue",shape="box"];2990[label="range :: ((@2) () ()) -> [] ()",fontsize=10,color="white",style="solid",shape="box"];3 -> 2990[label="",style="solid", color="blue", weight=9]; 58.54/37.20 2990 -> 4[label="",style="solid", color="blue", weight=3]; 58.54/37.20 2991[label="range :: ((@2) Ordering Ordering) -> [] Ordering",fontsize=10,color="white",style="solid",shape="box"];3 -> 2991[label="",style="solid", color="blue", weight=9]; 58.54/37.20 2991 -> 5[label="",style="solid", color="blue", weight=3]; 58.54/37.20 2992[label="range :: ((@2) Char Char) -> [] Char",fontsize=10,color="white",style="solid",shape="box"];3 -> 2992[label="",style="solid", color="blue", weight=9]; 58.54/37.20 2992 -> 6[label="",style="solid", color="blue", weight=3]; 58.54/37.20 2993[label="range :: ((@2) Bool Bool) -> [] Bool",fontsize=10,color="white",style="solid",shape="box"];3 -> 2993[label="",style="solid", color="blue", weight=9]; 58.54/37.20 2993 -> 7[label="",style="solid", color="blue", weight=3]; 58.54/37.20 2994[label="range :: ((@2) Integer Integer) -> [] Integer",fontsize=10,color="white",style="solid",shape="box"];3 -> 2994[label="",style="solid", color="blue", weight=9]; 58.54/37.20 2994 -> 8[label="",style="solid", color="blue", weight=3]; 58.54/37.20 2995[label="range :: ((@2) ((@3) a b c) ((@3) a b c)) -> [] ((@3) a b c)",fontsize=10,color="white",style="solid",shape="box"];3 -> 2995[label="",style="solid", color="blue", weight=9]; 58.54/37.20 2995 -> 9[label="",style="solid", color="blue", weight=3]; 58.54/37.20 2996[label="range :: ((@2) Int Int) -> [] Int",fontsize=10,color="white",style="solid",shape="box"];3 -> 2996[label="",style="solid", color="blue", weight=9]; 58.54/37.20 2996 -> 10[label="",style="solid", color="blue", weight=3]; 58.54/37.20 2997[label="range :: ((@2) ((@2) a b) ((@2) a b)) -> [] ((@2) a b)",fontsize=10,color="white",style="solid",shape="box"];3 -> 2997[label="",style="solid", color="blue", weight=9]; 58.54/37.20 2997 -> 11[label="",style="solid", color="blue", weight=3]; 58.54/37.20 4[label="range xu3",fontsize=16,color="burlywood",shape="triangle"];2998[label="xu3/(xu30,xu31)",fontsize=10,color="white",style="solid",shape="box"];4 -> 2998[label="",style="solid", color="burlywood", weight=9]; 58.54/37.20 2998 -> 12[label="",style="solid", color="burlywood", weight=3]; 58.54/37.20 5[label="range xu3",fontsize=16,color="burlywood",shape="triangle"];2999[label="xu3/(xu30,xu31)",fontsize=10,color="white",style="solid",shape="box"];5 -> 2999[label="",style="solid", color="burlywood", weight=9]; 58.54/37.20 2999 -> 13[label="",style="solid", color="burlywood", weight=3]; 58.54/37.20 6[label="range xu3",fontsize=16,color="burlywood",shape="triangle"];3000[label="xu3/(xu30,xu31)",fontsize=10,color="white",style="solid",shape="box"];6 -> 3000[label="",style="solid", color="burlywood", weight=9]; 58.54/37.20 3000 -> 14[label="",style="solid", color="burlywood", weight=3]; 58.54/37.20 7[label="range xu3",fontsize=16,color="burlywood",shape="triangle"];3001[label="xu3/(xu30,xu31)",fontsize=10,color="white",style="solid",shape="box"];7 -> 3001[label="",style="solid", color="burlywood", weight=9]; 58.54/37.20 3001 -> 15[label="",style="solid", color="burlywood", weight=3]; 58.54/37.20 8[label="range xu3",fontsize=16,color="burlywood",shape="triangle"];3002[label="xu3/(xu30,xu31)",fontsize=10,color="white",style="solid",shape="box"];8 -> 3002[label="",style="solid", color="burlywood", weight=9]; 58.54/37.20 3002 -> 16[label="",style="solid", color="burlywood", weight=3]; 58.54/37.20 9[label="range xu3",fontsize=16,color="burlywood",shape="triangle"];3003[label="xu3/(xu30,xu31)",fontsize=10,color="white",style="solid",shape="box"];9 -> 3003[label="",style="solid", color="burlywood", weight=9]; 58.54/37.20 3003 -> 17[label="",style="solid", color="burlywood", weight=3]; 58.54/37.20 10[label="range xu3",fontsize=16,color="burlywood",shape="triangle"];3004[label="xu3/(xu30,xu31)",fontsize=10,color="white",style="solid",shape="box"];10 -> 3004[label="",style="solid", color="burlywood", weight=9]; 58.54/37.20 3004 -> 18[label="",style="solid", color="burlywood", weight=3]; 58.54/37.20 11[label="range xu3",fontsize=16,color="burlywood",shape="triangle"];3005[label="xu3/(xu30,xu31)",fontsize=10,color="white",style="solid",shape="box"];11 -> 3005[label="",style="solid", color="burlywood", weight=9]; 58.54/37.20 3005 -> 19[label="",style="solid", color="burlywood", weight=3]; 58.54/37.20 12[label="range (xu30,xu31)",fontsize=16,color="burlywood",shape="box"];3006[label="xu30/()",fontsize=10,color="white",style="solid",shape="box"];12 -> 3006[label="",style="solid", color="burlywood", weight=9]; 58.54/37.20 3006 -> 20[label="",style="solid", color="burlywood", weight=3]; 58.54/37.20 13[label="range (xu30,xu31)",fontsize=16,color="black",shape="box"];13 -> 21[label="",style="solid", color="black", weight=3]; 58.54/37.20 14[label="range (xu30,xu31)",fontsize=16,color="black",shape="box"];14 -> 22[label="",style="solid", color="black", weight=3]; 58.54/37.20 15[label="range (xu30,xu31)",fontsize=16,color="black",shape="box"];15 -> 23[label="",style="solid", color="black", weight=3]; 58.54/37.20 16[label="range (xu30,xu31)",fontsize=16,color="black",shape="box"];16 -> 24[label="",style="solid", color="black", weight=3]; 58.54/37.20 17[label="range (xu30,xu31)",fontsize=16,color="burlywood",shape="box"];3007[label="xu30/(xu300,xu301,xu302)",fontsize=10,color="white",style="solid",shape="box"];17 -> 3007[label="",style="solid", color="burlywood", weight=9]; 58.54/37.20 3007 -> 25[label="",style="solid", color="burlywood", weight=3]; 58.54/37.20 18[label="range (xu30,xu31)",fontsize=16,color="black",shape="box"];18 -> 26[label="",style="solid", color="black", weight=3]; 58.54/37.20 19[label="range (xu30,xu31)",fontsize=16,color="burlywood",shape="box"];3008[label="xu30/(xu300,xu301)",fontsize=10,color="white",style="solid",shape="box"];19 -> 3008[label="",style="solid", color="burlywood", weight=9]; 58.54/37.20 3008 -> 27[label="",style="solid", color="burlywood", weight=3]; 58.54/37.20 20[label="range ((),xu31)",fontsize=16,color="burlywood",shape="box"];3009[label="xu31/()",fontsize=10,color="white",style="solid",shape="box"];20 -> 3009[label="",style="solid", color="burlywood", weight=9]; 58.54/37.20 3009 -> 28[label="",style="solid", color="burlywood", weight=3]; 58.54/37.20 21[label="concatMap (range0 xu31 xu30) (LT : EQ : GT : [])",fontsize=16,color="black",shape="box"];21 -> 29[label="",style="solid", color="black", weight=3]; 58.54/37.20 22[label="enumFromTo xu30 xu31",fontsize=16,color="black",shape="box"];22 -> 30[label="",style="solid", color="black", weight=3]; 58.54/37.20 23[label="concatMap (range6 xu31 xu30) (False : True : [])",fontsize=16,color="black",shape="box"];23 -> 31[label="",style="solid", color="black", weight=3]; 58.54/37.20 24[label="enumFromTo xu30 xu31",fontsize=16,color="black",shape="box"];24 -> 32[label="",style="solid", color="black", weight=3]; 58.54/37.20 25[label="range ((xu300,xu301,xu302),xu31)",fontsize=16,color="burlywood",shape="box"];3010[label="xu31/(xu310,xu311,xu312)",fontsize=10,color="white",style="solid",shape="box"];25 -> 3010[label="",style="solid", color="burlywood", weight=9]; 58.54/37.20 3010 -> 33[label="",style="solid", color="burlywood", weight=3]; 58.54/37.20 26[label="enumFromTo xu30 xu31",fontsize=16,color="black",shape="triangle"];26 -> 34[label="",style="solid", color="black", weight=3]; 58.54/37.20 27[label="range ((xu300,xu301),xu31)",fontsize=16,color="burlywood",shape="box"];3011[label="xu31/(xu310,xu311)",fontsize=10,color="white",style="solid",shape="box"];27 -> 3011[label="",style="solid", color="burlywood", weight=9]; 58.54/37.20 3011 -> 35[label="",style="solid", color="burlywood", weight=3]; 58.54/37.20 28[label="range ((),())",fontsize=16,color="black",shape="box"];28 -> 36[label="",style="solid", color="black", weight=3]; 58.54/37.20 29[label="concat . map (range0 xu31 xu30)",fontsize=16,color="black",shape="box"];29 -> 37[label="",style="solid", color="black", weight=3]; 58.54/37.20 30 -> 38[label="",style="dashed", color="red", weight=0]; 58.54/37.20 30[label="map toEnum (enumFromTo (fromEnum xu30) (fromEnum xu31))",fontsize=16,color="magenta"];30 -> 39[label="",style="dashed", color="magenta", weight=3]; 58.54/37.20 31[label="concat . map (range6 xu31 xu30)",fontsize=16,color="black",shape="box"];31 -> 40[label="",style="solid", color="black", weight=3]; 58.54/37.20 32[label="numericEnumFromTo xu30 xu31",fontsize=16,color="black",shape="box"];32 -> 41[label="",style="solid", color="black", weight=3]; 58.54/37.20 33[label="range ((xu300,xu301,xu302),(xu310,xu311,xu312))",fontsize=16,color="black",shape="box"];33 -> 42[label="",style="solid", color="black", weight=3]; 58.54/37.20 34[label="numericEnumFromTo xu30 xu31",fontsize=16,color="black",shape="box"];34 -> 43[label="",style="solid", color="black", weight=3]; 58.54/37.20 35[label="range ((xu300,xu301),(xu310,xu311))",fontsize=16,color="black",shape="box"];35 -> 44[label="",style="solid", color="black", weight=3]; 58.54/37.20 36[label="() : []",fontsize=16,color="green",shape="box"];37[label="concat (map (range0 xu31 xu30) (LT : EQ : GT : []))",fontsize=16,color="black",shape="box"];37 -> 45[label="",style="solid", color="black", weight=3]; 58.54/37.20 39 -> 26[label="",style="dashed", color="red", weight=0]; 58.54/37.20 39[label="enumFromTo (fromEnum xu30) (fromEnum xu31)",fontsize=16,color="magenta"];39 -> 46[label="",style="dashed", color="magenta", weight=3]; 58.54/37.20 39 -> 47[label="",style="dashed", color="magenta", weight=3]; 58.54/37.20 38[label="map toEnum xu4",fontsize=16,color="burlywood",shape="triangle"];3012[label="xu4/xu40 : xu41",fontsize=10,color="white",style="solid",shape="box"];38 -> 3012[label="",style="solid", color="burlywood", weight=9]; 58.54/37.20 3012 -> 48[label="",style="solid", color="burlywood", weight=3]; 58.54/37.20 3013[label="xu4/[]",fontsize=10,color="white",style="solid",shape="box"];38 -> 3013[label="",style="solid", color="burlywood", weight=9]; 58.54/37.20 3013 -> 49[label="",style="solid", color="burlywood", weight=3]; 58.54/37.20 40[label="concat (map (range6 xu31 xu30) (False : True : []))",fontsize=16,color="black",shape="box"];40 -> 50[label="",style="solid", color="black", weight=3]; 58.54/37.20 41[label="takeWhile (flip (<=) xu31) (numericEnumFrom xu30)",fontsize=16,color="black",shape="triangle"];41 -> 51[label="",style="solid", color="black", weight=3]; 58.54/37.20 42[label="concatMap (range5 xu302 xu312 xu301 xu311) (range (xu300,xu310))",fontsize=16,color="black",shape="box"];42 -> 52[label="",style="solid", color="black", weight=3]; 58.54/37.20 43[label="takeWhile (flip (<=) xu31) (numericEnumFrom xu30)",fontsize=16,color="black",shape="triangle"];43 -> 53[label="",style="solid", color="black", weight=3]; 58.54/37.20 44[label="concatMap (range2 xu301 xu311) (range (xu300,xu310))",fontsize=16,color="black",shape="box"];44 -> 54[label="",style="solid", color="black", weight=3]; 58.54/37.20 45[label="foldr (++) [] (map (range0 xu31 xu30) (LT : EQ : GT : []))",fontsize=16,color="black",shape="box"];45 -> 55[label="",style="solid", color="black", weight=3]; 58.54/37.20 46[label="fromEnum xu31",fontsize=16,color="black",shape="triangle"];46 -> 56[label="",style="solid", color="black", weight=3]; 58.54/37.20 47 -> 46[label="",style="dashed", color="red", weight=0]; 58.54/37.20 47[label="fromEnum xu30",fontsize=16,color="magenta"];47 -> 57[label="",style="dashed", color="magenta", weight=3]; 58.54/37.20 48[label="map toEnum (xu40 : xu41)",fontsize=16,color="black",shape="box"];48 -> 58[label="",style="solid", color="black", weight=3]; 58.54/37.20 49[label="map toEnum []",fontsize=16,color="black",shape="box"];49 -> 59[label="",style="solid", color="black", weight=3]; 58.54/37.20 50[label="foldr (++) [] (map (range6 xu31 xu30) (False : True : []))",fontsize=16,color="black",shape="box"];50 -> 60[label="",style="solid", color="black", weight=3]; 58.54/37.20 51[label="takeWhile (flip (<=) xu31) (xu30 : (numericEnumFrom $! xu30 + fromInt (Pos (Succ Zero))))",fontsize=16,color="black",shape="box"];51 -> 61[label="",style="solid", color="black", weight=3]; 58.54/37.20 52[label="concat . map (range5 xu302 xu312 xu301 xu311)",fontsize=16,color="black",shape="box"];52 -> 62[label="",style="solid", color="black", weight=3]; 58.54/37.20 53[label="takeWhile (flip (<=) xu31) (xu30 : (numericEnumFrom $! xu30 + fromInt (Pos (Succ Zero))))",fontsize=16,color="black",shape="box"];53 -> 63[label="",style="solid", color="black", weight=3]; 58.54/37.20 54[label="concat . map (range2 xu301 xu311)",fontsize=16,color="black",shape="box"];54 -> 64[label="",style="solid", color="black", weight=3]; 58.54/37.20 55[label="foldr (++) [] (range0 xu31 xu30 LT : map (range0 xu31 xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];55 -> 65[label="",style="solid", color="black", weight=3]; 58.54/37.20 56[label="primCharToInt xu31",fontsize=16,color="burlywood",shape="box"];3014[label="xu31/Char xu310",fontsize=10,color="white",style="solid",shape="box"];56 -> 3014[label="",style="solid", color="burlywood", weight=9]; 58.54/37.20 3014 -> 66[label="",style="solid", color="burlywood", weight=3]; 58.54/37.20 57[label="xu30",fontsize=16,color="green",shape="box"];58[label="toEnum xu40 : map toEnum xu41",fontsize=16,color="green",shape="box"];58 -> 67[label="",style="dashed", color="green", weight=3]; 58.54/37.20 58 -> 68[label="",style="dashed", color="green", weight=3]; 58.54/37.20 59[label="[]",fontsize=16,color="green",shape="box"];60[label="foldr (++) [] (range6 xu31 xu30 False : map (range6 xu31 xu30) (True : []))",fontsize=16,color="black",shape="box"];60 -> 69[label="",style="solid", color="black", weight=3]; 58.54/37.20 61[label="takeWhile2 (flip (<=) xu31) (xu30 : (numericEnumFrom $! xu30 + fromInt (Pos (Succ Zero))))",fontsize=16,color="black",shape="box"];61 -> 70[label="",style="solid", color="black", weight=3]; 58.54/37.20 62[label="concat (map (range5 xu302 xu312 xu301 xu311) (range (xu300,xu310)))",fontsize=16,color="black",shape="box"];62 -> 71[label="",style="solid", color="black", weight=3]; 58.54/37.20 63[label="takeWhile2 (flip (<=) xu31) (xu30 : (numericEnumFrom $! xu30 + fromInt (Pos (Succ Zero))))",fontsize=16,color="black",shape="box"];63 -> 72[label="",style="solid", color="black", weight=3]; 58.54/37.20 64[label="concat (map (range2 xu301 xu311) (range (xu300,xu310)))",fontsize=16,color="black",shape="box"];64 -> 73[label="",style="solid", color="black", weight=3]; 58.54/37.20 65[label="(++) range0 xu31 xu30 LT foldr (++) [] (map (range0 xu31 xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];65 -> 74[label="",style="solid", color="black", weight=3]; 58.54/37.20 66[label="primCharToInt (Char xu310)",fontsize=16,color="black",shape="box"];66 -> 75[label="",style="solid", color="black", weight=3]; 58.54/37.20 67[label="toEnum xu40",fontsize=16,color="black",shape="box"];67 -> 76[label="",style="solid", color="black", weight=3]; 58.54/37.20 68 -> 38[label="",style="dashed", color="red", weight=0]; 58.54/37.20 68[label="map toEnum xu41",fontsize=16,color="magenta"];68 -> 77[label="",style="dashed", color="magenta", weight=3]; 58.54/37.20 69[label="(++) range6 xu31 xu30 False foldr (++) [] (map (range6 xu31 xu30) (True : []))",fontsize=16,color="black",shape="box"];69 -> 78[label="",style="solid", color="black", weight=3]; 58.54/37.20 70[label="takeWhile1 (flip (<=) xu31) xu30 (numericEnumFrom $! xu30 + fromInt (Pos (Succ Zero))) (flip (<=) xu31 xu30)",fontsize=16,color="black",shape="box"];70 -> 79[label="",style="solid", color="black", weight=3]; 58.54/37.20 71 -> 80[label="",style="dashed", color="red", weight=0]; 58.54/37.20 71[label="foldr (++) [] (map (range5 xu302 xu312 xu301 xu311) (range (xu300,xu310)))",fontsize=16,color="magenta"];71 -> 81[label="",style="dashed", color="magenta", weight=3]; 58.54/37.20 71 -> 82[label="",style="dashed", color="magenta", weight=3]; 58.54/37.20 71 -> 83[label="",style="dashed", color="magenta", weight=3]; 58.54/37.20 71 -> 84[label="",style="dashed", color="magenta", weight=3]; 58.54/37.20 71 -> 85[label="",style="dashed", color="magenta", weight=3]; 58.54/37.20 72[label="takeWhile1 (flip (<=) xu31) xu30 (numericEnumFrom $! xu30 + fromInt (Pos (Succ Zero))) (flip (<=) xu31 xu30)",fontsize=16,color="black",shape="box"];72 -> 86[label="",style="solid", color="black", weight=3]; 58.54/37.20 73 -> 87[label="",style="dashed", color="red", weight=0]; 58.54/37.20 73[label="foldr (++) [] (map (range2 xu301 xu311) (range (xu300,xu310)))",fontsize=16,color="magenta"];73 -> 88[label="",style="dashed", color="magenta", weight=3]; 58.54/37.20 73 -> 89[label="",style="dashed", color="magenta", weight=3]; 58.54/37.20 73 -> 90[label="",style="dashed", color="magenta", weight=3]; 58.54/37.20 74[label="(++) range00 LT (xu31 >= LT && LT >= xu30) foldr (++) [] (map (range0 xu31 xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];74 -> 91[label="",style="solid", color="black", weight=3]; 58.54/37.20 75[label="Pos xu310",fontsize=16,color="green",shape="box"];76[label="primIntToChar xu40",fontsize=16,color="burlywood",shape="box"];3015[label="xu40/Pos xu400",fontsize=10,color="white",style="solid",shape="box"];76 -> 3015[label="",style="solid", color="burlywood", weight=9]; 58.54/37.20 3015 -> 92[label="",style="solid", color="burlywood", weight=3]; 58.54/37.20 3016[label="xu40/Neg xu400",fontsize=10,color="white",style="solid",shape="box"];76 -> 3016[label="",style="solid", color="burlywood", weight=9]; 58.54/37.20 3016 -> 93[label="",style="solid", color="burlywood", weight=3]; 58.54/37.20 77[label="xu41",fontsize=16,color="green",shape="box"];78[label="(++) range60 False (xu31 >= False && False >= xu30) foldr (++) [] (map (range6 xu31 xu30) (True : []))",fontsize=16,color="black",shape="box"];78 -> 94[label="",style="solid", color="black", weight=3]; 58.54/37.20 79[label="takeWhile1 (flip (<=) xu31) xu30 (numericEnumFrom $! xu30 + fromInt (Pos (Succ Zero))) ((<=) xu30 xu31)",fontsize=16,color="black",shape="box"];79 -> 95[label="",style="solid", color="black", weight=3]; 58.54/37.20 81[label="xu301",fontsize=16,color="green",shape="box"];82[label="xu311",fontsize=16,color="green",shape="box"];83[label="range (xu300,xu310)",fontsize=16,color="blue",shape="box"];3017[label="range :: ((@2) () ()) -> [] ()",fontsize=10,color="white",style="solid",shape="box"];83 -> 3017[label="",style="solid", color="blue", weight=9]; 58.54/37.20 3017 -> 96[label="",style="solid", color="blue", weight=3]; 58.54/37.20 3018[label="range :: ((@2) Ordering Ordering) -> [] Ordering",fontsize=10,color="white",style="solid",shape="box"];83 -> 3018[label="",style="solid", color="blue", weight=9]; 58.54/37.20 3018 -> 97[label="",style="solid", color="blue", weight=3]; 58.54/37.20 3019[label="range :: ((@2) Char Char) -> [] Char",fontsize=10,color="white",style="solid",shape="box"];83 -> 3019[label="",style="solid", color="blue", weight=9]; 58.54/37.20 3019 -> 98[label="",style="solid", color="blue", weight=3]; 58.54/37.20 3020[label="range :: ((@2) Bool Bool) -> [] Bool",fontsize=10,color="white",style="solid",shape="box"];83 -> 3020[label="",style="solid", color="blue", weight=9]; 58.54/37.20 3020 -> 99[label="",style="solid", color="blue", weight=3]; 58.54/37.20 3021[label="range :: ((@2) Integer Integer) -> [] Integer",fontsize=10,color="white",style="solid",shape="box"];83 -> 3021[label="",style="solid", color="blue", weight=9]; 58.54/37.20 3021 -> 100[label="",style="solid", color="blue", weight=3]; 58.54/37.20 3022[label="range :: ((@2) ((@3) a b c) ((@3) a b c)) -> [] ((@3) a b c)",fontsize=10,color="white",style="solid",shape="box"];83 -> 3022[label="",style="solid", color="blue", weight=9]; 58.54/37.20 3022 -> 101[label="",style="solid", color="blue", weight=3]; 58.54/37.20 3023[label="range :: ((@2) Int Int) -> [] Int",fontsize=10,color="white",style="solid",shape="box"];83 -> 3023[label="",style="solid", color="blue", weight=9]; 58.54/37.20 3023 -> 102[label="",style="solid", color="blue", weight=3]; 58.54/37.20 3024[label="range :: ((@2) ((@2) a b) ((@2) a b)) -> [] ((@2) a b)",fontsize=10,color="white",style="solid",shape="box"];83 -> 3024[label="",style="solid", color="blue", weight=9]; 58.54/37.20 3024 -> 103[label="",style="solid", color="blue", weight=3]; 58.54/37.20 84[label="xu302",fontsize=16,color="green",shape="box"];85[label="xu312",fontsize=16,color="green",shape="box"];80[label="foldr (++) [] (map (range5 xu11 xu12 xu13 xu14) xu15)",fontsize=16,color="burlywood",shape="triangle"];3025[label="xu15/xu150 : xu151",fontsize=10,color="white",style="solid",shape="box"];80 -> 3025[label="",style="solid", color="burlywood", weight=9]; 58.54/37.20 3025 -> 104[label="",style="solid", color="burlywood", weight=3]; 58.54/37.20 3026[label="xu15/[]",fontsize=10,color="white",style="solid",shape="box"];80 -> 3026[label="",style="solid", color="burlywood", weight=9]; 58.54/37.20 3026 -> 105[label="",style="solid", color="burlywood", weight=3]; 58.54/37.20 86[label="takeWhile1 (flip (<=) xu31) xu30 (numericEnumFrom $! xu30 + fromInt (Pos (Succ Zero))) ((<=) xu30 xu31)",fontsize=16,color="black",shape="box"];86 -> 106[label="",style="solid", color="black", weight=3]; 58.54/37.20 88[label="range (xu300,xu310)",fontsize=16,color="blue",shape="box"];3027[label="range :: ((@2) () ()) -> [] ()",fontsize=10,color="white",style="solid",shape="box"];88 -> 3027[label="",style="solid", color="blue", weight=9]; 58.54/37.20 3027 -> 107[label="",style="solid", color="blue", weight=3]; 58.54/37.20 3028[label="range :: ((@2) Ordering Ordering) -> [] Ordering",fontsize=10,color="white",style="solid",shape="box"];88 -> 3028[label="",style="solid", color="blue", weight=9]; 58.54/37.20 3028 -> 108[label="",style="solid", color="blue", weight=3]; 58.54/37.20 3029[label="range :: ((@2) Char Char) -> [] Char",fontsize=10,color="white",style="solid",shape="box"];88 -> 3029[label="",style="solid", color="blue", weight=9]; 58.54/37.20 3029 -> 109[label="",style="solid", color="blue", weight=3]; 58.54/37.20 3030[label="range :: ((@2) Bool Bool) -> [] Bool",fontsize=10,color="white",style="solid",shape="box"];88 -> 3030[label="",style="solid", color="blue", weight=9]; 58.54/37.20 3030 -> 110[label="",style="solid", color="blue", weight=3]; 58.54/37.20 3031[label="range :: ((@2) Integer Integer) -> [] Integer",fontsize=10,color="white",style="solid",shape="box"];88 -> 3031[label="",style="solid", color="blue", weight=9]; 58.54/37.20 3031 -> 111[label="",style="solid", color="blue", weight=3]; 58.54/37.20 3032[label="range :: ((@2) ((@3) a b c) ((@3) a b c)) -> [] ((@3) a b c)",fontsize=10,color="white",style="solid",shape="box"];88 -> 3032[label="",style="solid", color="blue", weight=9]; 58.54/37.20 3032 -> 112[label="",style="solid", color="blue", weight=3]; 58.54/37.20 3033[label="range :: ((@2) Int Int) -> [] Int",fontsize=10,color="white",style="solid",shape="box"];88 -> 3033[label="",style="solid", color="blue", weight=9]; 58.54/37.20 3033 -> 113[label="",style="solid", color="blue", weight=3]; 58.54/37.20 3034[label="range :: ((@2) ((@2) a b) ((@2) a b)) -> [] ((@2) a b)",fontsize=10,color="white",style="solid",shape="box"];88 -> 3034[label="",style="solid", color="blue", weight=9]; 58.54/37.20 3034 -> 114[label="",style="solid", color="blue", weight=3]; 58.54/37.20 89[label="xu301",fontsize=16,color="green",shape="box"];90[label="xu311",fontsize=16,color="green",shape="box"];87[label="foldr (++) [] (map (range2 xu20 xu21) xu22)",fontsize=16,color="burlywood",shape="triangle"];3035[label="xu22/xu220 : xu221",fontsize=10,color="white",style="solid",shape="box"];87 -> 3035[label="",style="solid", color="burlywood", weight=9]; 58.54/37.20 3035 -> 115[label="",style="solid", color="burlywood", weight=3]; 58.54/37.20 3036[label="xu22/[]",fontsize=10,color="white",style="solid",shape="box"];87 -> 3036[label="",style="solid", color="burlywood", weight=9]; 58.54/37.20 3036 -> 116[label="",style="solid", color="burlywood", weight=3]; 58.54/37.20 91[label="(++) range00 LT (compare xu31 LT /= LT && LT >= xu30) foldr (++) [] (map (range0 xu31 xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];91 -> 117[label="",style="solid", color="black", weight=3]; 58.54/37.20 92[label="primIntToChar (Pos xu400)",fontsize=16,color="black",shape="box"];92 -> 118[label="",style="solid", color="black", weight=3]; 58.54/37.20 93[label="primIntToChar (Neg xu400)",fontsize=16,color="burlywood",shape="box"];3037[label="xu400/Succ xu4000",fontsize=10,color="white",style="solid",shape="box"];93 -> 3037[label="",style="solid", color="burlywood", weight=9]; 58.54/37.20 3037 -> 119[label="",style="solid", color="burlywood", weight=3]; 58.54/37.20 3038[label="xu400/Zero",fontsize=10,color="white",style="solid",shape="box"];93 -> 3038[label="",style="solid", color="burlywood", weight=9]; 58.54/37.20 3038 -> 120[label="",style="solid", color="burlywood", weight=3]; 58.54/37.20 94[label="(++) range60 False (compare xu31 False /= LT && False >= xu30) foldr (++) [] (map (range6 xu31 xu30) (True : []))",fontsize=16,color="black",shape="box"];94 -> 121[label="",style="solid", color="black", weight=3]; 58.54/37.20 95[label="takeWhile1 (flip (<=) xu31) xu30 (numericEnumFrom $! xu30 + fromInt (Pos (Succ Zero))) (compare xu30 xu31 /= GT)",fontsize=16,color="black",shape="box"];95 -> 122[label="",style="solid", color="black", weight=3]; 58.54/37.20 96 -> 4[label="",style="dashed", color="red", weight=0]; 58.54/37.20 96[label="range (xu300,xu310)",fontsize=16,color="magenta"];96 -> 123[label="",style="dashed", color="magenta", weight=3]; 58.54/37.20 97 -> 5[label="",style="dashed", color="red", weight=0]; 58.54/37.20 97[label="range (xu300,xu310)",fontsize=16,color="magenta"];97 -> 124[label="",style="dashed", color="magenta", weight=3]; 58.54/37.20 98 -> 6[label="",style="dashed", color="red", weight=0]; 58.54/37.20 98[label="range (xu300,xu310)",fontsize=16,color="magenta"];98 -> 125[label="",style="dashed", color="magenta", weight=3]; 58.54/37.20 99 -> 7[label="",style="dashed", color="red", weight=0]; 58.54/37.20 99[label="range (xu300,xu310)",fontsize=16,color="magenta"];99 -> 126[label="",style="dashed", color="magenta", weight=3]; 58.54/37.20 100 -> 8[label="",style="dashed", color="red", weight=0]; 58.54/37.20 100[label="range (xu300,xu310)",fontsize=16,color="magenta"];100 -> 127[label="",style="dashed", color="magenta", weight=3]; 58.54/37.20 101 -> 9[label="",style="dashed", color="red", weight=0]; 58.54/37.20 101[label="range (xu300,xu310)",fontsize=16,color="magenta"];101 -> 128[label="",style="dashed", color="magenta", weight=3]; 58.54/37.20 102 -> 10[label="",style="dashed", color="red", weight=0]; 58.54/37.20 102[label="range (xu300,xu310)",fontsize=16,color="magenta"];102 -> 129[label="",style="dashed", color="magenta", weight=3]; 58.54/37.20 103 -> 11[label="",style="dashed", color="red", weight=0]; 58.54/37.20 103[label="range (xu300,xu310)",fontsize=16,color="magenta"];103 -> 130[label="",style="dashed", color="magenta", weight=3]; 58.54/37.20 104[label="foldr (++) [] (map (range5 xu11 xu12 xu13 xu14) (xu150 : xu151))",fontsize=16,color="black",shape="box"];104 -> 131[label="",style="solid", color="black", weight=3]; 58.54/37.20 105[label="foldr (++) [] (map (range5 xu11 xu12 xu13 xu14) [])",fontsize=16,color="black",shape="box"];105 -> 132[label="",style="solid", color="black", weight=3]; 58.54/37.20 106[label="takeWhile1 (flip (<=) xu31) xu30 (numericEnumFrom $! xu30 + fromInt (Pos (Succ Zero))) (compare xu30 xu31 /= GT)",fontsize=16,color="black",shape="box"];106 -> 133[label="",style="solid", color="black", weight=3]; 58.54/37.20 107 -> 4[label="",style="dashed", color="red", weight=0]; 58.54/37.20 107[label="range (xu300,xu310)",fontsize=16,color="magenta"];107 -> 134[label="",style="dashed", color="magenta", weight=3]; 58.54/37.20 108 -> 5[label="",style="dashed", color="red", weight=0]; 58.54/37.20 108[label="range (xu300,xu310)",fontsize=16,color="magenta"];108 -> 135[label="",style="dashed", color="magenta", weight=3]; 58.54/37.20 109 -> 6[label="",style="dashed", color="red", weight=0]; 58.54/37.20 109[label="range (xu300,xu310)",fontsize=16,color="magenta"];109 -> 136[label="",style="dashed", color="magenta", weight=3]; 58.54/37.20 110 -> 7[label="",style="dashed", color="red", weight=0]; 58.54/37.20 110[label="range (xu300,xu310)",fontsize=16,color="magenta"];110 -> 137[label="",style="dashed", color="magenta", weight=3]; 58.54/37.20 111 -> 8[label="",style="dashed", color="red", weight=0]; 58.54/37.20 111[label="range (xu300,xu310)",fontsize=16,color="magenta"];111 -> 138[label="",style="dashed", color="magenta", weight=3]; 58.54/37.20 112 -> 9[label="",style="dashed", color="red", weight=0]; 58.54/37.20 112[label="range (xu300,xu310)",fontsize=16,color="magenta"];112 -> 139[label="",style="dashed", color="magenta", weight=3]; 58.54/37.20 113 -> 10[label="",style="dashed", color="red", weight=0]; 58.54/37.20 113[label="range (xu300,xu310)",fontsize=16,color="magenta"];113 -> 140[label="",style="dashed", color="magenta", weight=3]; 58.54/37.20 114 -> 11[label="",style="dashed", color="red", weight=0]; 58.54/37.20 114[label="range (xu300,xu310)",fontsize=16,color="magenta"];114 -> 141[label="",style="dashed", color="magenta", weight=3]; 58.54/37.20 115[label="foldr (++) [] (map (range2 xu20 xu21) (xu220 : xu221))",fontsize=16,color="black",shape="box"];115 -> 142[label="",style="solid", color="black", weight=3]; 58.54/37.20 116[label="foldr (++) [] (map (range2 xu20 xu21) [])",fontsize=16,color="black",shape="box"];116 -> 143[label="",style="solid", color="black", weight=3]; 58.54/37.20 117[label="(++) range00 LT (not (compare xu31 LT == LT) && LT >= xu30) foldr (++) [] (map (range0 xu31 xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];117 -> 144[label="",style="solid", color="black", weight=3]; 58.54/37.20 118[label="Char xu400",fontsize=16,color="green",shape="box"];119[label="primIntToChar (Neg (Succ xu4000))",fontsize=16,color="black",shape="box"];119 -> 145[label="",style="solid", color="black", weight=3]; 58.54/37.20 120[label="primIntToChar (Neg Zero)",fontsize=16,color="black",shape="box"];120 -> 146[label="",style="solid", color="black", weight=3]; 58.54/37.20 121[label="(++) range60 False (not (compare xu31 False == LT) && False >= xu30) foldr (++) [] (map (range6 xu31 xu30) (True : []))",fontsize=16,color="black",shape="box"];121 -> 147[label="",style="solid", color="black", weight=3]; 58.54/37.20 122[label="takeWhile1 (flip (<=) xu31) xu30 (numericEnumFrom $! xu30 + fromInt (Pos (Succ Zero))) (not (compare xu30 xu31 == GT))",fontsize=16,color="burlywood",shape="box"];3039[label="xu30/Integer xu300",fontsize=10,color="white",style="solid",shape="box"];122 -> 3039[label="",style="solid", color="burlywood", weight=9]; 58.54/37.20 3039 -> 148[label="",style="solid", color="burlywood", weight=3]; 58.54/37.20 123[label="(xu300,xu310)",fontsize=16,color="green",shape="box"];124[label="(xu300,xu310)",fontsize=16,color="green",shape="box"];125[label="(xu300,xu310)",fontsize=16,color="green",shape="box"];126[label="(xu300,xu310)",fontsize=16,color="green",shape="box"];127[label="(xu300,xu310)",fontsize=16,color="green",shape="box"];128[label="(xu300,xu310)",fontsize=16,color="green",shape="box"];129[label="(xu300,xu310)",fontsize=16,color="green",shape="box"];130[label="(xu300,xu310)",fontsize=16,color="green",shape="box"];131[label="foldr (++) [] (range5 xu11 xu12 xu13 xu14 xu150 : map (range5 xu11 xu12 xu13 xu14) xu151)",fontsize=16,color="black",shape="box"];131 -> 149[label="",style="solid", color="black", weight=3]; 58.54/37.20 132[label="foldr (++) [] []",fontsize=16,color="black",shape="triangle"];132 -> 150[label="",style="solid", color="black", weight=3]; 58.54/37.20 133[label="takeWhile1 (flip (<=) xu31) xu30 (numericEnumFrom $! xu30 + fromInt (Pos (Succ Zero))) (not (compare xu30 xu31 == GT))",fontsize=16,color="black",shape="box"];133 -> 151[label="",style="solid", color="black", weight=3]; 58.54/37.20 134[label="(xu300,xu310)",fontsize=16,color="green",shape="box"];135[label="(xu300,xu310)",fontsize=16,color="green",shape="box"];136[label="(xu300,xu310)",fontsize=16,color="green",shape="box"];137[label="(xu300,xu310)",fontsize=16,color="green",shape="box"];138[label="(xu300,xu310)",fontsize=16,color="green",shape="box"];139[label="(xu300,xu310)",fontsize=16,color="green",shape="box"];140[label="(xu300,xu310)",fontsize=16,color="green",shape="box"];141[label="(xu300,xu310)",fontsize=16,color="green",shape="box"];142[label="foldr (++) [] (range2 xu20 xu21 xu220 : map (range2 xu20 xu21) xu221)",fontsize=16,color="black",shape="box"];142 -> 152[label="",style="solid", color="black", weight=3]; 58.54/37.20 143[label="foldr (++) [] []",fontsize=16,color="black",shape="triangle"];143 -> 153[label="",style="solid", color="black", weight=3]; 58.54/37.20 144[label="(++) range00 LT (not (compare3 xu31 LT == LT) && LT >= xu30) foldr (++) [] (map (range0 xu31 xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];144 -> 154[label="",style="solid", color="black", weight=3]; 58.54/37.20 145[label="error []",fontsize=16,color="red",shape="box"];146[label="Char Zero",fontsize=16,color="green",shape="box"];147[label="(++) range60 False (not (compare3 xu31 False == LT) && False >= xu30) foldr (++) [] (map (range6 xu31 xu30) (True : []))",fontsize=16,color="black",shape="box"];147 -> 155[label="",style="solid", color="black", weight=3]; 58.54/37.20 148[label="takeWhile1 (flip (<=) xu31) (Integer xu300) (numericEnumFrom $! Integer xu300 + fromInt (Pos (Succ Zero))) (not (compare (Integer xu300) xu31 == GT))",fontsize=16,color="burlywood",shape="box"];3040[label="xu31/Integer xu310",fontsize=10,color="white",style="solid",shape="box"];148 -> 3040[label="",style="solid", color="burlywood", weight=9]; 58.54/37.20 3040 -> 156[label="",style="solid", color="burlywood", weight=3]; 58.54/37.20 149 -> 474[label="",style="dashed", color="red", weight=0]; 58.54/37.20 149[label="(++) range5 xu11 xu12 xu13 xu14 xu150 foldr (++) [] (map (range5 xu11 xu12 xu13 xu14) xu151)",fontsize=16,color="magenta"];149 -> 475[label="",style="dashed", color="magenta", weight=3]; 58.54/37.20 149 -> 476[label="",style="dashed", color="magenta", weight=3]; 58.54/37.20 150[label="[]",fontsize=16,color="green",shape="box"];151[label="takeWhile1 (flip (<=) xu31) xu30 (numericEnumFrom $! xu30 + fromInt (Pos (Succ Zero))) (not (primCmpInt xu30 xu31 == GT))",fontsize=16,color="burlywood",shape="box"];3041[label="xu30/Pos xu300",fontsize=10,color="white",style="solid",shape="box"];151 -> 3041[label="",style="solid", color="burlywood", weight=9]; 58.54/37.20 3041 -> 159[label="",style="solid", color="burlywood", weight=3]; 58.54/37.20 3042[label="xu30/Neg xu300",fontsize=10,color="white",style="solid",shape="box"];151 -> 3042[label="",style="solid", color="burlywood", weight=9]; 58.54/37.20 3042 -> 160[label="",style="solid", color="burlywood", weight=3]; 58.54/37.20 152 -> 519[label="",style="dashed", color="red", weight=0]; 58.54/37.20 152[label="(++) range2 xu20 xu21 xu220 foldr (++) [] (map (range2 xu20 xu21) xu221)",fontsize=16,color="magenta"];152 -> 520[label="",style="dashed", color="magenta", weight=3]; 58.54/37.20 152 -> 521[label="",style="dashed", color="magenta", weight=3]; 58.54/37.20 153[label="[]",fontsize=16,color="green",shape="box"];154[label="(++) range00 LT (not (compare2 xu31 LT (xu31 == LT) == LT) && LT >= xu30) foldr (++) [] (map (range0 xu31 xu30) (EQ : GT : []))",fontsize=16,color="burlywood",shape="box"];3043[label="xu31/LT",fontsize=10,color="white",style="solid",shape="box"];154 -> 3043[label="",style="solid", color="burlywood", weight=9]; 58.54/37.20 3043 -> 163[label="",style="solid", color="burlywood", weight=3]; 58.54/37.20 3044[label="xu31/EQ",fontsize=10,color="white",style="solid",shape="box"];154 -> 3044[label="",style="solid", color="burlywood", weight=9]; 58.54/37.20 3044 -> 164[label="",style="solid", color="burlywood", weight=3]; 58.54/37.20 3045[label="xu31/GT",fontsize=10,color="white",style="solid",shape="box"];154 -> 3045[label="",style="solid", color="burlywood", weight=9]; 58.54/37.20 3045 -> 165[label="",style="solid", color="burlywood", weight=3]; 58.54/37.20 155[label="(++) range60 False (not (compare2 xu31 False (xu31 == False) == LT) && False >= xu30) foldr (++) [] (map (range6 xu31 xu30) (True : []))",fontsize=16,color="burlywood",shape="box"];3046[label="xu31/False",fontsize=10,color="white",style="solid",shape="box"];155 -> 3046[label="",style="solid", color="burlywood", weight=9]; 58.54/37.20 3046 -> 166[label="",style="solid", color="burlywood", weight=3]; 58.54/37.20 3047[label="xu31/True",fontsize=10,color="white",style="solid",shape="box"];155 -> 3047[label="",style="solid", color="burlywood", weight=9]; 58.54/37.20 3047 -> 167[label="",style="solid", color="burlywood", weight=3]; 58.54/37.20 156[label="takeWhile1 (flip (<=) (Integer xu310)) (Integer xu300) (numericEnumFrom $! Integer xu300 + fromInt (Pos (Succ Zero))) (not (compare (Integer xu300) (Integer xu310) == GT))",fontsize=16,color="black",shape="box"];156 -> 168[label="",style="solid", color="black", weight=3]; 58.54/37.20 475[label="range5 xu11 xu12 xu13 xu14 xu150",fontsize=16,color="black",shape="box"];475 -> 493[label="",style="solid", color="black", weight=3]; 58.54/37.20 476 -> 80[label="",style="dashed", color="red", weight=0]; 58.54/37.20 476[label="foldr (++) [] (map (range5 xu11 xu12 xu13 xu14) xu151)",fontsize=16,color="magenta"];476 -> 494[label="",style="dashed", color="magenta", weight=3]; 58.54/37.20 474[label="(++) xu43 xu35",fontsize=16,color="burlywood",shape="triangle"];3048[label="xu43/xu430 : xu431",fontsize=10,color="white",style="solid",shape="box"];474 -> 3048[label="",style="solid", color="burlywood", weight=9]; 58.54/37.20 3048 -> 495[label="",style="solid", color="burlywood", weight=3]; 58.54/37.20 3049[label="xu43/[]",fontsize=10,color="white",style="solid",shape="box"];474 -> 3049[label="",style="solid", color="burlywood", weight=9]; 58.54/37.20 3049 -> 496[label="",style="solid", color="burlywood", weight=3]; 58.54/37.20 159[label="takeWhile1 (flip (<=) xu31) (Pos xu300) (numericEnumFrom $! Pos xu300 + fromInt (Pos (Succ Zero))) (not (primCmpInt (Pos xu300) xu31 == GT))",fontsize=16,color="burlywood",shape="box"];3050[label="xu300/Succ xu3000",fontsize=10,color="white",style="solid",shape="box"];159 -> 3050[label="",style="solid", color="burlywood", weight=9]; 58.54/37.20 3050 -> 171[label="",style="solid", color="burlywood", weight=3]; 58.54/37.20 3051[label="xu300/Zero",fontsize=10,color="white",style="solid",shape="box"];159 -> 3051[label="",style="solid", color="burlywood", weight=9]; 58.54/37.20 3051 -> 172[label="",style="solid", color="burlywood", weight=3]; 58.54/37.20 160[label="takeWhile1 (flip (<=) xu31) (Neg xu300) (numericEnumFrom $! Neg xu300 + fromInt (Pos (Succ Zero))) (not (primCmpInt (Neg xu300) xu31 == GT))",fontsize=16,color="burlywood",shape="box"];3052[label="xu300/Succ xu3000",fontsize=10,color="white",style="solid",shape="box"];160 -> 3052[label="",style="solid", color="burlywood", weight=9]; 58.54/37.20 3052 -> 173[label="",style="solid", color="burlywood", weight=3]; 58.54/37.20 3053[label="xu300/Zero",fontsize=10,color="white",style="solid",shape="box"];160 -> 3053[label="",style="solid", color="burlywood", weight=9]; 58.54/37.20 3053 -> 174[label="",style="solid", color="burlywood", weight=3]; 58.54/37.20 520[label="range2 xu20 xu21 xu220",fontsize=16,color="black",shape="box"];520 -> 538[label="",style="solid", color="black", weight=3]; 58.54/37.20 521 -> 87[label="",style="dashed", color="red", weight=0]; 58.54/37.20 521[label="foldr (++) [] (map (range2 xu20 xu21) xu221)",fontsize=16,color="magenta"];521 -> 539[label="",style="dashed", color="magenta", weight=3]; 58.54/37.20 519[label="(++) xu44 xu42",fontsize=16,color="burlywood",shape="triangle"];3054[label="xu44/xu440 : xu441",fontsize=10,color="white",style="solid",shape="box"];519 -> 3054[label="",style="solid", color="burlywood", weight=9]; 58.54/37.20 3054 -> 540[label="",style="solid", color="burlywood", weight=3]; 58.54/37.20 3055[label="xu44/[]",fontsize=10,color="white",style="solid",shape="box"];519 -> 3055[label="",style="solid", color="burlywood", weight=9]; 58.54/37.20 3055 -> 541[label="",style="solid", color="burlywood", weight=3]; 58.54/37.20 163[label="(++) range00 LT (not (compare2 LT LT (LT == LT) == LT) && LT >= xu30) foldr (++) [] (map (range0 LT xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];163 -> 177[label="",style="solid", color="black", weight=3]; 58.54/37.20 164[label="(++) range00 LT (not (compare2 EQ LT (EQ == LT) == LT) && LT >= xu30) foldr (++) [] (map (range0 EQ xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];164 -> 178[label="",style="solid", color="black", weight=3]; 58.54/37.20 165[label="(++) range00 LT (not (compare2 GT LT (GT == LT) == LT) && LT >= xu30) foldr (++) [] (map (range0 GT xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];165 -> 179[label="",style="solid", color="black", weight=3]; 58.54/37.20 166[label="(++) range60 False (not (compare2 False False (False == False) == LT) && False >= xu30) foldr (++) [] (map (range6 False xu30) (True : []))",fontsize=16,color="black",shape="box"];166 -> 180[label="",style="solid", color="black", weight=3]; 58.54/37.20 167[label="(++) range60 False (not (compare2 True False (True == False) == LT) && False >= xu30) foldr (++) [] (map (range6 True xu30) (True : []))",fontsize=16,color="black",shape="box"];167 -> 181[label="",style="solid", color="black", weight=3]; 58.54/37.20 168[label="takeWhile1 (flip (<=) (Integer xu310)) (Integer xu300) (numericEnumFrom $! Integer xu300 + fromInt (Pos (Succ Zero))) (not (primCmpInt xu300 xu310 == GT))",fontsize=16,color="burlywood",shape="box"];3056[label="xu300/Pos xu3000",fontsize=10,color="white",style="solid",shape="box"];168 -> 3056[label="",style="solid", color="burlywood", weight=9]; 58.54/37.20 3056 -> 182[label="",style="solid", color="burlywood", weight=3]; 58.54/37.20 3057[label="xu300/Neg xu3000",fontsize=10,color="white",style="solid",shape="box"];168 -> 3057[label="",style="solid", color="burlywood", weight=9]; 58.54/37.20 3057 -> 183[label="",style="solid", color="burlywood", weight=3]; 58.54/37.20 493[label="range50 xu11 xu12 xu13 xu14 xu150",fontsize=16,color="black",shape="box"];493 -> 542[label="",style="solid", color="black", weight=3]; 58.54/37.20 494[label="xu151",fontsize=16,color="green",shape="box"];495[label="(++) (xu430 : xu431) xu35",fontsize=16,color="black",shape="box"];495 -> 543[label="",style="solid", color="black", weight=3]; 58.54/37.20 496[label="(++) [] xu35",fontsize=16,color="black",shape="box"];496 -> 544[label="",style="solid", color="black", weight=3]; 58.54/37.20 171[label="takeWhile1 (flip (<=) xu31) (Pos (Succ xu3000)) (numericEnumFrom $! Pos (Succ xu3000) + fromInt (Pos (Succ Zero))) (not (primCmpInt (Pos (Succ xu3000)) xu31 == GT))",fontsize=16,color="burlywood",shape="box"];3058[label="xu31/Pos xu310",fontsize=10,color="white",style="solid",shape="box"];171 -> 3058[label="",style="solid", color="burlywood", weight=9]; 58.54/37.20 3058 -> 185[label="",style="solid", color="burlywood", weight=3]; 58.54/37.20 3059[label="xu31/Neg xu310",fontsize=10,color="white",style="solid",shape="box"];171 -> 3059[label="",style="solid", color="burlywood", weight=9]; 58.54/37.20 3059 -> 186[label="",style="solid", color="burlywood", weight=3]; 58.54/37.20 172[label="takeWhile1 (flip (<=) xu31) (Pos Zero) (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))) (not (primCmpInt (Pos Zero) xu31 == GT))",fontsize=16,color="burlywood",shape="box"];3060[label="xu31/Pos xu310",fontsize=10,color="white",style="solid",shape="box"];172 -> 3060[label="",style="solid", color="burlywood", weight=9]; 58.54/37.20 3060 -> 187[label="",style="solid", color="burlywood", weight=3]; 58.54/37.20 3061[label="xu31/Neg xu310",fontsize=10,color="white",style="solid",shape="box"];172 -> 3061[label="",style="solid", color="burlywood", weight=9]; 58.54/37.20 3061 -> 188[label="",style="solid", color="burlywood", weight=3]; 58.54/37.20 173[label="takeWhile1 (flip (<=) xu31) (Neg (Succ xu3000)) (numericEnumFrom $! Neg (Succ xu3000) + fromInt (Pos (Succ Zero))) (not (primCmpInt (Neg (Succ xu3000)) xu31 == GT))",fontsize=16,color="burlywood",shape="box"];3062[label="xu31/Pos xu310",fontsize=10,color="white",style="solid",shape="box"];173 -> 3062[label="",style="solid", color="burlywood", weight=9]; 58.54/37.20 3062 -> 189[label="",style="solid", color="burlywood", weight=3]; 58.54/37.20 3063[label="xu31/Neg xu310",fontsize=10,color="white",style="solid",shape="box"];173 -> 3063[label="",style="solid", color="burlywood", weight=9]; 58.54/37.20 3063 -> 190[label="",style="solid", color="burlywood", weight=3]; 58.54/37.20 174[label="takeWhile1 (flip (<=) xu31) (Neg Zero) (numericEnumFrom $! Neg Zero + fromInt (Pos (Succ Zero))) (not (primCmpInt (Neg Zero) xu31 == GT))",fontsize=16,color="burlywood",shape="box"];3064[label="xu31/Pos xu310",fontsize=10,color="white",style="solid",shape="box"];174 -> 3064[label="",style="solid", color="burlywood", weight=9]; 58.54/37.20 3064 -> 191[label="",style="solid", color="burlywood", weight=3]; 58.54/37.20 3065[label="xu31/Neg xu310",fontsize=10,color="white",style="solid",shape="box"];174 -> 3065[label="",style="solid", color="burlywood", weight=9]; 58.54/37.20 3065 -> 192[label="",style="solid", color="burlywood", weight=3]; 58.54/37.20 538[label="range20 xu20 xu21 xu220",fontsize=16,color="black",shape="box"];538 -> 594[label="",style="solid", color="black", weight=3]; 58.54/37.20 539[label="xu221",fontsize=16,color="green",shape="box"];540[label="(++) (xu440 : xu441) xu42",fontsize=16,color="black",shape="box"];540 -> 595[label="",style="solid", color="black", weight=3]; 58.54/37.20 541[label="(++) [] xu42",fontsize=16,color="black",shape="box"];541 -> 596[label="",style="solid", color="black", weight=3]; 58.54/37.20 177[label="(++) range00 LT (not (compare2 LT LT True == LT) && LT >= xu30) foldr (++) [] (map (range0 LT xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];177 -> 194[label="",style="solid", color="black", weight=3]; 58.54/37.20 178[label="(++) range00 LT (not (compare2 EQ LT False == LT) && LT >= xu30) foldr (++) [] (map (range0 EQ xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];178 -> 195[label="",style="solid", color="black", weight=3]; 58.54/37.20 179[label="(++) range00 LT (not (compare2 GT LT False == LT) && LT >= xu30) foldr (++) [] (map (range0 GT xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];179 -> 196[label="",style="solid", color="black", weight=3]; 58.54/37.20 180[label="(++) range60 False (not (compare2 False False True == LT) && False >= xu30) foldr (++) [] (map (range6 False xu30) (True : []))",fontsize=16,color="black",shape="box"];180 -> 197[label="",style="solid", color="black", weight=3]; 58.54/37.20 181[label="(++) range60 False (not (compare2 True False False == LT) && False >= xu30) foldr (++) [] (map (range6 True xu30) (True : []))",fontsize=16,color="black",shape="box"];181 -> 198[label="",style="solid", color="black", weight=3]; 58.54/37.20 182[label="takeWhile1 (flip (<=) (Integer xu310)) (Integer (Pos xu3000)) (numericEnumFrom $! Integer (Pos xu3000) + fromInt (Pos (Succ Zero))) (not (primCmpInt (Pos xu3000) xu310 == GT))",fontsize=16,color="burlywood",shape="box"];3066[label="xu3000/Succ xu30000",fontsize=10,color="white",style="solid",shape="box"];182 -> 3066[label="",style="solid", color="burlywood", weight=9]; 58.54/37.20 3066 -> 199[label="",style="solid", color="burlywood", weight=3]; 58.54/37.20 3067[label="xu3000/Zero",fontsize=10,color="white",style="solid",shape="box"];182 -> 3067[label="",style="solid", color="burlywood", weight=9]; 58.54/37.20 3067 -> 200[label="",style="solid", color="burlywood", weight=3]; 58.54/37.20 183[label="takeWhile1 (flip (<=) (Integer xu310)) (Integer (Neg xu3000)) (numericEnumFrom $! Integer (Neg xu3000) + fromInt (Pos (Succ Zero))) (not (primCmpInt (Neg xu3000) xu310 == GT))",fontsize=16,color="burlywood",shape="box"];3068[label="xu3000/Succ xu30000",fontsize=10,color="white",style="solid",shape="box"];183 -> 3068[label="",style="solid", color="burlywood", weight=9]; 58.54/37.20 3068 -> 201[label="",style="solid", color="burlywood", weight=3]; 58.54/37.20 3069[label="xu3000/Zero",fontsize=10,color="white",style="solid",shape="box"];183 -> 3069[label="",style="solid", color="burlywood", weight=9]; 58.54/37.20 3069 -> 202[label="",style="solid", color="burlywood", weight=3]; 58.54/37.20 542[label="concatMap (range4 xu150 xu11 xu12) (range (xu13,xu14))",fontsize=16,color="black",shape="box"];542 -> 597[label="",style="solid", color="black", weight=3]; 58.54/37.20 543[label="xu430 : xu431 ++ xu35",fontsize=16,color="green",shape="box"];543 -> 598[label="",style="dashed", color="green", weight=3]; 58.54/37.20 544[label="xu35",fontsize=16,color="green",shape="box"];185[label="takeWhile1 (flip (<=) (Pos xu310)) (Pos (Succ xu3000)) (numericEnumFrom $! Pos (Succ xu3000) + fromInt (Pos (Succ Zero))) (not (primCmpInt (Pos (Succ xu3000)) (Pos xu310) == GT))",fontsize=16,color="black",shape="box"];185 -> 204[label="",style="solid", color="black", weight=3]; 58.54/37.20 186[label="takeWhile1 (flip (<=) (Neg xu310)) (Pos (Succ xu3000)) (numericEnumFrom $! Pos (Succ xu3000) + fromInt (Pos (Succ Zero))) (not (primCmpInt (Pos (Succ xu3000)) (Neg xu310) == GT))",fontsize=16,color="black",shape="box"];186 -> 205[label="",style="solid", color="black", weight=3]; 58.54/37.20 187[label="takeWhile1 (flip (<=) (Pos xu310)) (Pos Zero) (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))) (not (primCmpInt (Pos Zero) (Pos xu310) == GT))",fontsize=16,color="burlywood",shape="box"];3070[label="xu310/Succ xu3100",fontsize=10,color="white",style="solid",shape="box"];187 -> 3070[label="",style="solid", color="burlywood", weight=9]; 58.54/37.20 3070 -> 206[label="",style="solid", color="burlywood", weight=3]; 58.54/37.20 3071[label="xu310/Zero",fontsize=10,color="white",style="solid",shape="box"];187 -> 3071[label="",style="solid", color="burlywood", weight=9]; 58.54/37.20 3071 -> 207[label="",style="solid", color="burlywood", weight=3]; 58.54/37.20 188[label="takeWhile1 (flip (<=) (Neg xu310)) (Pos Zero) (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))) (not (primCmpInt (Pos Zero) (Neg xu310) == GT))",fontsize=16,color="burlywood",shape="box"];3072[label="xu310/Succ xu3100",fontsize=10,color="white",style="solid",shape="box"];188 -> 3072[label="",style="solid", color="burlywood", weight=9]; 58.54/37.20 3072 -> 208[label="",style="solid", color="burlywood", weight=3]; 58.54/37.20 3073[label="xu310/Zero",fontsize=10,color="white",style="solid",shape="box"];188 -> 3073[label="",style="solid", color="burlywood", weight=9]; 58.54/37.20 3073 -> 209[label="",style="solid", color="burlywood", weight=3]; 58.54/37.20 189[label="takeWhile1 (flip (<=) (Pos xu310)) (Neg (Succ xu3000)) (numericEnumFrom $! Neg (Succ xu3000) + fromInt (Pos (Succ Zero))) (not (primCmpInt (Neg (Succ xu3000)) (Pos xu310) == GT))",fontsize=16,color="black",shape="box"];189 -> 210[label="",style="solid", color="black", weight=3]; 58.54/37.20 190[label="takeWhile1 (flip (<=) (Neg xu310)) (Neg (Succ xu3000)) (numericEnumFrom $! Neg (Succ xu3000) + fromInt (Pos (Succ Zero))) (not (primCmpInt (Neg (Succ xu3000)) (Neg xu310) == GT))",fontsize=16,color="black",shape="box"];190 -> 211[label="",style="solid", color="black", weight=3]; 58.54/37.20 191[label="takeWhile1 (flip (<=) (Pos xu310)) (Neg Zero) (numericEnumFrom $! Neg Zero + fromInt (Pos (Succ Zero))) (not (primCmpInt (Neg Zero) (Pos xu310) == GT))",fontsize=16,color="burlywood",shape="box"];3074[label="xu310/Succ xu3100",fontsize=10,color="white",style="solid",shape="box"];191 -> 3074[label="",style="solid", color="burlywood", weight=9]; 58.54/37.20 3074 -> 212[label="",style="solid", color="burlywood", weight=3]; 58.54/37.20 3075[label="xu310/Zero",fontsize=10,color="white",style="solid",shape="box"];191 -> 3075[label="",style="solid", color="burlywood", weight=9]; 58.54/37.20 3075 -> 213[label="",style="solid", color="burlywood", weight=3]; 58.54/37.20 192[label="takeWhile1 (flip (<=) (Neg xu310)) (Neg Zero) (numericEnumFrom $! Neg Zero + fromInt (Pos (Succ Zero))) (not (primCmpInt (Neg Zero) (Neg xu310) == GT))",fontsize=16,color="burlywood",shape="box"];3076[label="xu310/Succ xu3100",fontsize=10,color="white",style="solid",shape="box"];192 -> 3076[label="",style="solid", color="burlywood", weight=9]; 58.54/37.20 3076 -> 214[label="",style="solid", color="burlywood", weight=3]; 58.54/37.20 3077[label="xu310/Zero",fontsize=10,color="white",style="solid",shape="box"];192 -> 3077[label="",style="solid", color="burlywood", weight=9]; 58.54/37.20 3077 -> 215[label="",style="solid", color="burlywood", weight=3]; 58.54/37.20 594[label="concatMap (range1 xu220) (range (xu20,xu21))",fontsize=16,color="black",shape="box"];594 -> 650[label="",style="solid", color="black", weight=3]; 58.54/37.20 595[label="xu440 : xu441 ++ xu42",fontsize=16,color="green",shape="box"];595 -> 651[label="",style="dashed", color="green", weight=3]; 58.54/37.20 596[label="xu42",fontsize=16,color="green",shape="box"];194[label="(++) range00 LT (not (EQ == LT) && LT >= xu30) foldr (++) [] (map (range0 LT xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];194 -> 217[label="",style="solid", color="black", weight=3]; 58.54/37.20 195[label="(++) range00 LT (not (compare1 EQ LT (EQ <= LT) == LT) && LT >= xu30) foldr (++) [] (map (range0 EQ xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];195 -> 218[label="",style="solid", color="black", weight=3]; 58.54/37.20 196[label="(++) range00 LT (not (compare1 GT LT (GT <= LT) == LT) && LT >= xu30) foldr (++) [] (map (range0 GT xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];196 -> 219[label="",style="solid", color="black", weight=3]; 58.54/37.20 197[label="(++) range60 False (not (EQ == LT) && False >= xu30) foldr (++) [] (map (range6 False xu30) (True : []))",fontsize=16,color="black",shape="box"];197 -> 220[label="",style="solid", color="black", weight=3]; 58.54/37.20 198[label="(++) range60 False (not (compare1 True False (True <= False) == LT) && False >= xu30) foldr (++) [] (map (range6 True xu30) (True : []))",fontsize=16,color="black",shape="box"];198 -> 221[label="",style="solid", color="black", weight=3]; 58.54/37.20 199[label="takeWhile1 (flip (<=) (Integer xu310)) (Integer (Pos (Succ xu30000))) (numericEnumFrom $! Integer (Pos (Succ xu30000)) + fromInt (Pos (Succ Zero))) (not (primCmpInt (Pos (Succ xu30000)) xu310 == GT))",fontsize=16,color="burlywood",shape="box"];3078[label="xu310/Pos xu3100",fontsize=10,color="white",style="solid",shape="box"];199 -> 3078[label="",style="solid", color="burlywood", weight=9]; 58.54/37.20 3078 -> 222[label="",style="solid", color="burlywood", weight=3]; 58.54/37.20 3079[label="xu310/Neg xu3100",fontsize=10,color="white",style="solid",shape="box"];199 -> 3079[label="",style="solid", color="burlywood", weight=9]; 58.54/37.20 3079 -> 223[label="",style="solid", color="burlywood", weight=3]; 58.54/37.20 200[label="takeWhile1 (flip (<=) (Integer xu310)) (Integer (Pos Zero)) (numericEnumFrom $! Integer (Pos Zero) + fromInt (Pos (Succ Zero))) (not (primCmpInt (Pos Zero) xu310 == GT))",fontsize=16,color="burlywood",shape="box"];3080[label="xu310/Pos xu3100",fontsize=10,color="white",style="solid",shape="box"];200 -> 3080[label="",style="solid", color="burlywood", weight=9]; 58.54/37.20 3080 -> 224[label="",style="solid", color="burlywood", weight=3]; 58.54/37.20 3081[label="xu310/Neg xu3100",fontsize=10,color="white",style="solid",shape="box"];200 -> 3081[label="",style="solid", color="burlywood", weight=9]; 58.54/37.20 3081 -> 225[label="",style="solid", color="burlywood", weight=3]; 58.54/37.20 201[label="takeWhile1 (flip (<=) (Integer xu310)) (Integer (Neg (Succ xu30000))) (numericEnumFrom $! Integer (Neg (Succ xu30000)) + fromInt (Pos (Succ Zero))) (not (primCmpInt (Neg (Succ xu30000)) xu310 == GT))",fontsize=16,color="burlywood",shape="box"];3082[label="xu310/Pos xu3100",fontsize=10,color="white",style="solid",shape="box"];201 -> 3082[label="",style="solid", color="burlywood", weight=9]; 58.54/37.20 3082 -> 226[label="",style="solid", color="burlywood", weight=3]; 58.54/37.20 3083[label="xu310/Neg xu3100",fontsize=10,color="white",style="solid",shape="box"];201 -> 3083[label="",style="solid", color="burlywood", weight=9]; 58.54/37.20 3083 -> 227[label="",style="solid", color="burlywood", weight=3]; 58.54/37.20 202[label="takeWhile1 (flip (<=) (Integer xu310)) (Integer (Neg Zero)) (numericEnumFrom $! Integer (Neg Zero) + fromInt (Pos (Succ Zero))) (not (primCmpInt (Neg Zero) xu310 == GT))",fontsize=16,color="burlywood",shape="box"];3084[label="xu310/Pos xu3100",fontsize=10,color="white",style="solid",shape="box"];202 -> 3084[label="",style="solid", color="burlywood", weight=9]; 58.54/37.20 3084 -> 228[label="",style="solid", color="burlywood", weight=3]; 58.54/37.20 3085[label="xu310/Neg xu3100",fontsize=10,color="white",style="solid",shape="box"];202 -> 3085[label="",style="solid", color="burlywood", weight=9]; 58.54/37.20 3085 -> 229[label="",style="solid", color="burlywood", weight=3]; 58.54/37.20 597[label="concat . map (range4 xu150 xu11 xu12)",fontsize=16,color="black",shape="box"];597 -> 652[label="",style="solid", color="black", weight=3]; 58.54/37.20 598 -> 474[label="",style="dashed", color="red", weight=0]; 58.54/37.20 598[label="xu431 ++ xu35",fontsize=16,color="magenta"];598 -> 653[label="",style="dashed", color="magenta", weight=3]; 58.54/37.20 204[label="takeWhile1 (flip (<=) (Pos xu310)) (Pos (Succ xu3000)) (numericEnumFrom $! Pos (Succ xu3000) + fromInt (Pos (Succ Zero))) (not (primCmpNat (Succ xu3000) xu310 == GT))",fontsize=16,color="burlywood",shape="box"];3086[label="xu310/Succ xu3100",fontsize=10,color="white",style="solid",shape="box"];204 -> 3086[label="",style="solid", color="burlywood", weight=9]; 58.54/37.20 3086 -> 231[label="",style="solid", color="burlywood", weight=3]; 58.54/37.20 3087[label="xu310/Zero",fontsize=10,color="white",style="solid",shape="box"];204 -> 3087[label="",style="solid", color="burlywood", weight=9]; 58.54/37.20 3087 -> 232[label="",style="solid", color="burlywood", weight=3]; 58.54/37.20 205[label="takeWhile1 (flip (<=) (Neg xu310)) (Pos (Succ xu3000)) (numericEnumFrom $! Pos (Succ xu3000) + fromInt (Pos (Succ Zero))) (not (GT == GT))",fontsize=16,color="black",shape="box"];205 -> 233[label="",style="solid", color="black", weight=3]; 58.54/37.20 206[label="takeWhile1 (flip (<=) (Pos (Succ xu3100))) (Pos Zero) (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))) (not (primCmpInt (Pos Zero) (Pos (Succ xu3100)) == GT))",fontsize=16,color="black",shape="box"];206 -> 234[label="",style="solid", color="black", weight=3]; 58.54/37.20 207[label="takeWhile1 (flip (<=) (Pos Zero)) (Pos Zero) (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))) (not (primCmpInt (Pos Zero) (Pos Zero) == GT))",fontsize=16,color="black",shape="box"];207 -> 235[label="",style="solid", color="black", weight=3]; 58.54/37.20 208[label="takeWhile1 (flip (<=) (Neg (Succ xu3100))) (Pos Zero) (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))) (not (primCmpInt (Pos Zero) (Neg (Succ xu3100)) == GT))",fontsize=16,color="black",shape="box"];208 -> 236[label="",style="solid", color="black", weight=3]; 58.54/37.20 209[label="takeWhile1 (flip (<=) (Neg Zero)) (Pos Zero) (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))) (not (primCmpInt (Pos Zero) (Neg Zero) == GT))",fontsize=16,color="black",shape="box"];209 -> 237[label="",style="solid", color="black", weight=3]; 58.54/37.20 210[label="takeWhile1 (flip (<=) (Pos xu310)) (Neg (Succ xu3000)) (numericEnumFrom $! Neg (Succ xu3000) + fromInt (Pos (Succ Zero))) (not (LT == GT))",fontsize=16,color="black",shape="box"];210 -> 238[label="",style="solid", color="black", weight=3]; 58.54/37.20 211[label="takeWhile1 (flip (<=) (Neg xu310)) (Neg (Succ xu3000)) (numericEnumFrom $! Neg (Succ xu3000) + fromInt (Pos (Succ Zero))) (not (primCmpNat xu310 (Succ xu3000) == GT))",fontsize=16,color="burlywood",shape="box"];3088[label="xu310/Succ xu3100",fontsize=10,color="white",style="solid",shape="box"];211 -> 3088[label="",style="solid", color="burlywood", weight=9]; 58.54/37.20 3088 -> 239[label="",style="solid", color="burlywood", weight=3]; 58.54/37.20 3089[label="xu310/Zero",fontsize=10,color="white",style="solid",shape="box"];211 -> 3089[label="",style="solid", color="burlywood", weight=9]; 58.54/37.20 3089 -> 240[label="",style="solid", color="burlywood", weight=3]; 58.54/37.20 212[label="takeWhile1 (flip (<=) (Pos (Succ xu3100))) (Neg Zero) (numericEnumFrom $! Neg Zero + fromInt (Pos (Succ Zero))) (not (primCmpInt (Neg Zero) (Pos (Succ xu3100)) == GT))",fontsize=16,color="black",shape="box"];212 -> 241[label="",style="solid", color="black", weight=3]; 58.54/37.20 213[label="takeWhile1 (flip (<=) (Pos Zero)) (Neg Zero) (numericEnumFrom $! Neg Zero + fromInt (Pos (Succ Zero))) (not (primCmpInt (Neg Zero) (Pos Zero) == GT))",fontsize=16,color="black",shape="box"];213 -> 242[label="",style="solid", color="black", weight=3]; 58.54/37.20 214[label="takeWhile1 (flip (<=) (Neg (Succ xu3100))) (Neg Zero) (numericEnumFrom $! Neg Zero + fromInt (Pos (Succ Zero))) (not (primCmpInt (Neg Zero) (Neg (Succ xu3100)) == GT))",fontsize=16,color="black",shape="box"];214 -> 243[label="",style="solid", color="black", weight=3]; 58.54/37.20 215[label="takeWhile1 (flip (<=) (Neg Zero)) (Neg Zero) (numericEnumFrom $! Neg Zero + fromInt (Pos (Succ Zero))) (not (primCmpInt (Neg Zero) (Neg Zero) == GT))",fontsize=16,color="black",shape="box"];215 -> 244[label="",style="solid", color="black", weight=3]; 58.54/37.20 650[label="concat . map (range1 xu220)",fontsize=16,color="black",shape="box"];650 -> 710[label="",style="solid", color="black", weight=3]; 58.54/37.20 651 -> 519[label="",style="dashed", color="red", weight=0]; 58.54/37.20 651[label="xu441 ++ xu42",fontsize=16,color="magenta"];651 -> 711[label="",style="dashed", color="magenta", weight=3]; 58.54/37.20 217[label="(++) range00 LT (not False && LT >= xu30) foldr (++) [] (map (range0 LT xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];217 -> 246[label="",style="solid", color="black", weight=3]; 58.54/37.20 218[label="(++) range00 LT (not (compare1 EQ LT False == LT) && LT >= xu30) foldr (++) [] (map (range0 EQ xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];218 -> 247[label="",style="solid", color="black", weight=3]; 58.54/37.20 219[label="(++) range00 LT (not (compare1 GT LT False == LT) && LT >= xu30) foldr (++) [] (map (range0 GT xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];219 -> 248[label="",style="solid", color="black", weight=3]; 58.54/37.20 220[label="(++) range60 False (not False && False >= xu30) foldr (++) [] (map (range6 False xu30) (True : []))",fontsize=16,color="black",shape="box"];220 -> 249[label="",style="solid", color="black", weight=3]; 58.54/37.20 221[label="(++) range60 False (not (compare1 True False False == LT) && False >= xu30) foldr (++) [] (map (range6 True xu30) (True : []))",fontsize=16,color="black",shape="box"];221 -> 250[label="",style="solid", color="black", weight=3]; 58.54/37.20 222[label="takeWhile1 (flip (<=) (Integer (Pos xu3100))) (Integer (Pos (Succ xu30000))) (numericEnumFrom $! Integer (Pos (Succ xu30000)) + fromInt (Pos (Succ Zero))) (not (primCmpInt (Pos (Succ xu30000)) (Pos xu3100) == GT))",fontsize=16,color="black",shape="box"];222 -> 251[label="",style="solid", color="black", weight=3]; 58.54/37.20 223[label="takeWhile1 (flip (<=) (Integer (Neg xu3100))) (Integer (Pos (Succ xu30000))) (numericEnumFrom $! Integer (Pos (Succ xu30000)) + fromInt (Pos (Succ Zero))) (not (primCmpInt (Pos (Succ xu30000)) (Neg xu3100) == GT))",fontsize=16,color="black",shape="box"];223 -> 252[label="",style="solid", color="black", weight=3]; 58.54/37.20 224[label="takeWhile1 (flip (<=) (Integer (Pos xu3100))) (Integer (Pos Zero)) (numericEnumFrom $! Integer (Pos Zero) + fromInt (Pos (Succ Zero))) (not (primCmpInt (Pos Zero) (Pos xu3100) == GT))",fontsize=16,color="burlywood",shape="box"];3090[label="xu3100/Succ xu31000",fontsize=10,color="white",style="solid",shape="box"];224 -> 3090[label="",style="solid", color="burlywood", weight=9]; 58.54/37.20 3090 -> 253[label="",style="solid", color="burlywood", weight=3]; 58.54/37.20 3091[label="xu3100/Zero",fontsize=10,color="white",style="solid",shape="box"];224 -> 3091[label="",style="solid", color="burlywood", weight=9]; 58.54/37.21 3091 -> 254[label="",style="solid", color="burlywood", weight=3]; 58.54/37.21 225[label="takeWhile1 (flip (<=) (Integer (Neg xu3100))) (Integer (Pos Zero)) (numericEnumFrom $! Integer (Pos Zero) + fromInt (Pos (Succ Zero))) (not (primCmpInt (Pos Zero) (Neg xu3100) == GT))",fontsize=16,color="burlywood",shape="box"];3092[label="xu3100/Succ xu31000",fontsize=10,color="white",style="solid",shape="box"];225 -> 3092[label="",style="solid", color="burlywood", weight=9]; 58.54/37.21 3092 -> 255[label="",style="solid", color="burlywood", weight=3]; 58.54/37.21 3093[label="xu3100/Zero",fontsize=10,color="white",style="solid",shape="box"];225 -> 3093[label="",style="solid", color="burlywood", weight=9]; 58.54/37.21 3093 -> 256[label="",style="solid", color="burlywood", weight=3]; 58.54/37.21 226[label="takeWhile1 (flip (<=) (Integer (Pos xu3100))) (Integer (Neg (Succ xu30000))) (numericEnumFrom $! Integer (Neg (Succ xu30000)) + fromInt (Pos (Succ Zero))) (not (primCmpInt (Neg (Succ xu30000)) (Pos xu3100) == GT))",fontsize=16,color="black",shape="box"];226 -> 257[label="",style="solid", color="black", weight=3]; 58.54/37.21 227[label="takeWhile1 (flip (<=) (Integer (Neg xu3100))) (Integer (Neg (Succ xu30000))) (numericEnumFrom $! Integer (Neg (Succ xu30000)) + fromInt (Pos (Succ Zero))) (not (primCmpInt (Neg (Succ xu30000)) (Neg xu3100) == GT))",fontsize=16,color="black",shape="box"];227 -> 258[label="",style="solid", color="black", weight=3]; 58.54/37.21 228[label="takeWhile1 (flip (<=) (Integer (Pos xu3100))) (Integer (Neg Zero)) (numericEnumFrom $! Integer (Neg Zero) + fromInt (Pos (Succ Zero))) (not (primCmpInt (Neg Zero) (Pos xu3100) == GT))",fontsize=16,color="burlywood",shape="box"];3094[label="xu3100/Succ xu31000",fontsize=10,color="white",style="solid",shape="box"];228 -> 3094[label="",style="solid", color="burlywood", weight=9]; 58.54/37.21 3094 -> 259[label="",style="solid", color="burlywood", weight=3]; 58.54/37.21 3095[label="xu3100/Zero",fontsize=10,color="white",style="solid",shape="box"];228 -> 3095[label="",style="solid", color="burlywood", weight=9]; 58.54/37.21 3095 -> 260[label="",style="solid", color="burlywood", weight=3]; 58.54/37.21 229[label="takeWhile1 (flip (<=) (Integer (Neg xu3100))) (Integer (Neg Zero)) (numericEnumFrom $! Integer (Neg Zero) + fromInt (Pos (Succ Zero))) (not (primCmpInt (Neg Zero) (Neg xu3100) == GT))",fontsize=16,color="burlywood",shape="box"];3096[label="xu3100/Succ xu31000",fontsize=10,color="white",style="solid",shape="box"];229 -> 3096[label="",style="solid", color="burlywood", weight=9]; 58.54/37.21 3096 -> 261[label="",style="solid", color="burlywood", weight=3]; 58.54/37.21 3097[label="xu3100/Zero",fontsize=10,color="white",style="solid",shape="box"];229 -> 3097[label="",style="solid", color="burlywood", weight=9]; 58.54/37.21 3097 -> 262[label="",style="solid", color="burlywood", weight=3]; 58.54/37.21 652[label="concat (map (range4 xu150 xu11 xu12) (range (xu13,xu14)))",fontsize=16,color="black",shape="box"];652 -> 712[label="",style="solid", color="black", weight=3]; 58.54/37.21 653[label="xu431",fontsize=16,color="green",shape="box"];231[label="takeWhile1 (flip (<=) (Pos (Succ xu3100))) (Pos (Succ xu3000)) (numericEnumFrom $! Pos (Succ xu3000) + fromInt (Pos (Succ Zero))) (not (primCmpNat (Succ xu3000) (Succ xu3100) == GT))",fontsize=16,color="black",shape="box"];231 -> 264[label="",style="solid", color="black", weight=3]; 58.54/37.21 232[label="takeWhile1 (flip (<=) (Pos Zero)) (Pos (Succ xu3000)) (numericEnumFrom $! Pos (Succ xu3000) + fromInt (Pos (Succ Zero))) (not (primCmpNat (Succ xu3000) Zero == GT))",fontsize=16,color="black",shape="box"];232 -> 265[label="",style="solid", color="black", weight=3]; 58.54/37.21 233[label="takeWhile1 (flip (<=) (Neg xu310)) (Pos (Succ xu3000)) (numericEnumFrom $! Pos (Succ xu3000) + fromInt (Pos (Succ Zero))) (not True)",fontsize=16,color="black",shape="box"];233 -> 266[label="",style="solid", color="black", weight=3]; 58.54/37.21 234[label="takeWhile1 (flip (<=) (Pos (Succ xu3100))) (Pos Zero) (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))) (not (primCmpNat Zero (Succ xu3100) == GT))",fontsize=16,color="black",shape="box"];234 -> 267[label="",style="solid", color="black", weight=3]; 58.54/37.21 235[label="takeWhile1 (flip (<=) (Pos Zero)) (Pos Zero) (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))) (not (EQ == GT))",fontsize=16,color="black",shape="box"];235 -> 268[label="",style="solid", color="black", weight=3]; 58.54/37.21 236[label="takeWhile1 (flip (<=) (Neg (Succ xu3100))) (Pos Zero) (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))) (not (GT == GT))",fontsize=16,color="black",shape="box"];236 -> 269[label="",style="solid", color="black", weight=3]; 58.54/37.21 237[label="takeWhile1 (flip (<=) (Neg Zero)) (Pos Zero) (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))) (not (EQ == GT))",fontsize=16,color="black",shape="box"];237 -> 270[label="",style="solid", color="black", weight=3]; 58.54/37.21 238[label="takeWhile1 (flip (<=) (Pos xu310)) (Neg (Succ xu3000)) (numericEnumFrom $! Neg (Succ xu3000) + fromInt (Pos (Succ Zero))) (not False)",fontsize=16,color="black",shape="box"];238 -> 271[label="",style="solid", color="black", weight=3]; 58.54/37.21 239[label="takeWhile1 (flip (<=) (Neg (Succ xu3100))) (Neg (Succ xu3000)) (numericEnumFrom $! Neg (Succ xu3000) + fromInt (Pos (Succ Zero))) (not (primCmpNat (Succ xu3100) (Succ xu3000) == GT))",fontsize=16,color="black",shape="box"];239 -> 272[label="",style="solid", color="black", weight=3]; 58.54/37.21 240[label="takeWhile1 (flip (<=) (Neg Zero)) (Neg (Succ xu3000)) (numericEnumFrom $! Neg (Succ xu3000) + fromInt (Pos (Succ Zero))) (not (primCmpNat Zero (Succ xu3000) == GT))",fontsize=16,color="black",shape="box"];240 -> 273[label="",style="solid", color="black", weight=3]; 58.54/37.21 241[label="takeWhile1 (flip (<=) (Pos (Succ xu3100))) (Neg Zero) (numericEnumFrom $! Neg Zero + fromInt (Pos (Succ Zero))) (not (LT == GT))",fontsize=16,color="black",shape="box"];241 -> 274[label="",style="solid", color="black", weight=3]; 58.54/37.21 242[label="takeWhile1 (flip (<=) (Pos Zero)) (Neg Zero) (numericEnumFrom $! Neg Zero + fromInt (Pos (Succ Zero))) (not (EQ == GT))",fontsize=16,color="black",shape="box"];242 -> 275[label="",style="solid", color="black", weight=3]; 58.54/37.21 243[label="takeWhile1 (flip (<=) (Neg (Succ xu3100))) (Neg Zero) (numericEnumFrom $! Neg Zero + fromInt (Pos (Succ Zero))) (not (primCmpNat (Succ xu3100) Zero == GT))",fontsize=16,color="black",shape="box"];243 -> 276[label="",style="solid", color="black", weight=3]; 58.54/37.21 244[label="takeWhile1 (flip (<=) (Neg Zero)) (Neg Zero) (numericEnumFrom $! Neg Zero + fromInt (Pos (Succ Zero))) (not (EQ == GT))",fontsize=16,color="black",shape="box"];244 -> 277[label="",style="solid", color="black", weight=3]; 58.54/37.21 710[label="concat (map (range1 xu220) (range (xu20,xu21)))",fontsize=16,color="black",shape="box"];710 -> 771[label="",style="solid", color="black", weight=3]; 58.54/37.21 711[label="xu441",fontsize=16,color="green",shape="box"];246[label="(++) range00 LT (True && LT >= xu30) foldr (++) [] (map (range0 LT xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];246 -> 279[label="",style="solid", color="black", weight=3]; 58.54/37.21 247[label="(++) range00 LT (not (compare0 EQ LT otherwise == LT) && LT >= xu30) foldr (++) [] (map (range0 EQ xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];247 -> 280[label="",style="solid", color="black", weight=3]; 58.54/37.21 248[label="(++) range00 LT (not (compare0 GT LT otherwise == LT) && LT >= xu30) foldr (++) [] (map (range0 GT xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];248 -> 281[label="",style="solid", color="black", weight=3]; 58.54/37.21 249[label="(++) range60 False (True && False >= xu30) foldr (++) [] (map (range6 False xu30) (True : []))",fontsize=16,color="black",shape="box"];249 -> 282[label="",style="solid", color="black", weight=3]; 58.54/37.21 250[label="(++) range60 False (not (compare0 True False otherwise == LT) && False >= xu30) foldr (++) [] (map (range6 True xu30) (True : []))",fontsize=16,color="black",shape="box"];250 -> 283[label="",style="solid", color="black", weight=3]; 58.54/37.21 251[label="takeWhile1 (flip (<=) (Integer (Pos xu3100))) (Integer (Pos (Succ xu30000))) (numericEnumFrom $! Integer (Pos (Succ xu30000)) + fromInt (Pos (Succ Zero))) (not (primCmpNat (Succ xu30000) xu3100 == GT))",fontsize=16,color="burlywood",shape="box"];3098[label="xu3100/Succ xu31000",fontsize=10,color="white",style="solid",shape="box"];251 -> 3098[label="",style="solid", color="burlywood", weight=9]; 58.54/37.21 3098 -> 284[label="",style="solid", color="burlywood", weight=3]; 58.54/37.21 3099[label="xu3100/Zero",fontsize=10,color="white",style="solid",shape="box"];251 -> 3099[label="",style="solid", color="burlywood", weight=9]; 58.54/37.21 3099 -> 285[label="",style="solid", color="burlywood", weight=3]; 58.54/37.21 252[label="takeWhile1 (flip (<=) (Integer (Neg xu3100))) (Integer (Pos (Succ xu30000))) (numericEnumFrom $! Integer (Pos (Succ xu30000)) + fromInt (Pos (Succ Zero))) (not (GT == GT))",fontsize=16,color="black",shape="box"];252 -> 286[label="",style="solid", color="black", weight=3]; 58.54/37.21 253[label="takeWhile1 (flip (<=) (Integer (Pos (Succ xu31000)))) (Integer (Pos Zero)) (numericEnumFrom $! Integer (Pos Zero) + fromInt (Pos (Succ Zero))) (not (primCmpInt (Pos Zero) (Pos (Succ xu31000)) == GT))",fontsize=16,color="black",shape="box"];253 -> 287[label="",style="solid", color="black", weight=3]; 58.54/37.21 254[label="takeWhile1 (flip (<=) (Integer (Pos Zero))) (Integer (Pos Zero)) (numericEnumFrom $! Integer (Pos Zero) + fromInt (Pos (Succ Zero))) (not (primCmpInt (Pos Zero) (Pos Zero) == GT))",fontsize=16,color="black",shape="box"];254 -> 288[label="",style="solid", color="black", weight=3]; 58.54/37.21 255[label="takeWhile1 (flip (<=) (Integer (Neg (Succ xu31000)))) (Integer (Pos Zero)) (numericEnumFrom $! Integer (Pos Zero) + fromInt (Pos (Succ Zero))) (not (primCmpInt (Pos Zero) (Neg (Succ xu31000)) == GT))",fontsize=16,color="black",shape="box"];255 -> 289[label="",style="solid", color="black", weight=3]; 58.54/37.21 256[label="takeWhile1 (flip (<=) (Integer (Neg Zero))) (Integer (Pos Zero)) (numericEnumFrom $! Integer (Pos Zero) + fromInt (Pos (Succ Zero))) (not (primCmpInt (Pos Zero) (Neg Zero) == GT))",fontsize=16,color="black",shape="box"];256 -> 290[label="",style="solid", color="black", weight=3]; 58.54/37.21 257[label="takeWhile1 (flip (<=) (Integer (Pos xu3100))) (Integer (Neg (Succ xu30000))) (numericEnumFrom $! Integer (Neg (Succ xu30000)) + fromInt (Pos (Succ Zero))) (not (LT == GT))",fontsize=16,color="black",shape="box"];257 -> 291[label="",style="solid", color="black", weight=3]; 58.54/37.21 258[label="takeWhile1 (flip (<=) (Integer (Neg xu3100))) (Integer (Neg (Succ xu30000))) (numericEnumFrom $! Integer (Neg (Succ xu30000)) + fromInt (Pos (Succ Zero))) (not (primCmpNat xu3100 (Succ xu30000) == GT))",fontsize=16,color="burlywood",shape="box"];3100[label="xu3100/Succ xu31000",fontsize=10,color="white",style="solid",shape="box"];258 -> 3100[label="",style="solid", color="burlywood", weight=9]; 58.54/37.21 3100 -> 292[label="",style="solid", color="burlywood", weight=3]; 58.54/37.21 3101[label="xu3100/Zero",fontsize=10,color="white",style="solid",shape="box"];258 -> 3101[label="",style="solid", color="burlywood", weight=9]; 58.54/37.21 3101 -> 293[label="",style="solid", color="burlywood", weight=3]; 58.54/37.21 259[label="takeWhile1 (flip (<=) (Integer (Pos (Succ xu31000)))) (Integer (Neg Zero)) (numericEnumFrom $! Integer (Neg Zero) + fromInt (Pos (Succ Zero))) (not (primCmpInt (Neg Zero) (Pos (Succ xu31000)) == GT))",fontsize=16,color="black",shape="box"];259 -> 294[label="",style="solid", color="black", weight=3]; 58.54/37.21 260[label="takeWhile1 (flip (<=) (Integer (Pos Zero))) (Integer (Neg Zero)) (numericEnumFrom $! Integer (Neg Zero) + fromInt (Pos (Succ Zero))) (not (primCmpInt (Neg Zero) (Pos Zero) == GT))",fontsize=16,color="black",shape="box"];260 -> 295[label="",style="solid", color="black", weight=3]; 58.54/37.21 261[label="takeWhile1 (flip (<=) (Integer (Neg (Succ xu31000)))) (Integer (Neg Zero)) (numericEnumFrom $! Integer (Neg Zero) + fromInt (Pos (Succ Zero))) (not (primCmpInt (Neg Zero) (Neg (Succ xu31000)) == GT))",fontsize=16,color="black",shape="box"];261 -> 296[label="",style="solid", color="black", weight=3]; 58.54/37.21 262[label="takeWhile1 (flip (<=) (Integer (Neg Zero))) (Integer (Neg Zero)) (numericEnumFrom $! Integer (Neg Zero) + fromInt (Pos (Succ Zero))) (not (primCmpInt (Neg Zero) (Neg Zero) == GT))",fontsize=16,color="black",shape="box"];262 -> 297[label="",style="solid", color="black", weight=3]; 58.54/37.21 712 -> 772[label="",style="dashed", color="red", weight=0]; 58.54/37.21 712[label="foldr (++) [] (map (range4 xu150 xu11 xu12) (range (xu13,xu14)))",fontsize=16,color="magenta"];712 -> 773[label="",style="dashed", color="magenta", weight=3]; 58.54/37.21 712 -> 774[label="",style="dashed", color="magenta", weight=3]; 58.54/37.21 712 -> 775[label="",style="dashed", color="magenta", weight=3]; 58.54/37.21 712 -> 776[label="",style="dashed", color="magenta", weight=3]; 58.54/37.21 264 -> 2275[label="",style="dashed", color="red", weight=0]; 58.54/37.21 264[label="takeWhile1 (flip (<=) (Pos (Succ xu3100))) (Pos (Succ xu3000)) (numericEnumFrom $! Pos (Succ xu3000) + fromInt (Pos (Succ Zero))) (not (primCmpNat xu3000 xu3100 == GT))",fontsize=16,color="magenta"];264 -> 2276[label="",style="dashed", color="magenta", weight=3]; 58.54/37.21 264 -> 2277[label="",style="dashed", color="magenta", weight=3]; 58.54/37.21 264 -> 2278[label="",style="dashed", color="magenta", weight=3]; 58.54/37.21 264 -> 2279[label="",style="dashed", color="magenta", weight=3]; 58.54/37.21 265[label="takeWhile1 (flip (<=) (Pos Zero)) (Pos (Succ xu3000)) (numericEnumFrom $! Pos (Succ xu3000) + fromInt (Pos (Succ Zero))) (not (GT == GT))",fontsize=16,color="black",shape="box"];265 -> 306[label="",style="solid", color="black", weight=3]; 58.54/37.21 266[label="takeWhile1 (flip (<=) (Neg xu310)) (Pos (Succ xu3000)) (numericEnumFrom $! Pos (Succ xu3000) + fromInt (Pos (Succ Zero))) False",fontsize=16,color="black",shape="box"];266 -> 307[label="",style="solid", color="black", weight=3]; 58.54/37.21 267[label="takeWhile1 (flip (<=) (Pos (Succ xu3100))) (Pos Zero) (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))) (not (LT == GT))",fontsize=16,color="black",shape="box"];267 -> 308[label="",style="solid", color="black", weight=3]; 58.54/37.21 268[label="takeWhile1 (flip (<=) (Pos Zero)) (Pos Zero) (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))) (not False)",fontsize=16,color="black",shape="box"];268 -> 309[label="",style="solid", color="black", weight=3]; 58.54/37.21 269[label="takeWhile1 (flip (<=) (Neg (Succ xu3100))) (Pos Zero) (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))) (not True)",fontsize=16,color="black",shape="box"];269 -> 310[label="",style="solid", color="black", weight=3]; 58.54/37.21 270[label="takeWhile1 (flip (<=) (Neg Zero)) (Pos Zero) (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))) (not False)",fontsize=16,color="black",shape="box"];270 -> 311[label="",style="solid", color="black", weight=3]; 58.54/37.21 271[label="takeWhile1 (flip (<=) (Pos xu310)) (Neg (Succ xu3000)) (numericEnumFrom $! Neg (Succ xu3000) + fromInt (Pos (Succ Zero))) True",fontsize=16,color="black",shape="box"];271 -> 312[label="",style="solid", color="black", weight=3]; 58.54/37.21 272 -> 2391[label="",style="dashed", color="red", weight=0]; 58.54/37.21 272[label="takeWhile1 (flip (<=) (Neg (Succ xu3100))) (Neg (Succ xu3000)) (numericEnumFrom $! Neg (Succ xu3000) + fromInt (Pos (Succ Zero))) (not (primCmpNat xu3100 xu3000 == GT))",fontsize=16,color="magenta"];272 -> 2392[label="",style="dashed", color="magenta", weight=3]; 58.54/37.21 272 -> 2393[label="",style="dashed", color="magenta", weight=3]; 58.54/37.21 272 -> 2394[label="",style="dashed", color="magenta", weight=3]; 58.54/37.21 272 -> 2395[label="",style="dashed", color="magenta", weight=3]; 58.54/37.21 272 -> 2396[label="",style="dashed", color="magenta", weight=3]; 58.54/37.21 273[label="takeWhile1 (flip (<=) (Neg Zero)) (Neg (Succ xu3000)) (numericEnumFrom $! Neg (Succ xu3000) + fromInt (Pos (Succ Zero))) (not (LT == GT))",fontsize=16,color="black",shape="box"];273 -> 315[label="",style="solid", color="black", weight=3]; 58.54/37.21 274[label="takeWhile1 (flip (<=) (Pos (Succ xu3100))) (Neg Zero) (numericEnumFrom $! Neg Zero + fromInt (Pos (Succ Zero))) (not False)",fontsize=16,color="black",shape="box"];274 -> 316[label="",style="solid", color="black", weight=3]; 58.54/37.21 275[label="takeWhile1 (flip (<=) (Pos Zero)) (Neg Zero) (numericEnumFrom $! Neg Zero + fromInt (Pos (Succ Zero))) (not False)",fontsize=16,color="black",shape="box"];275 -> 317[label="",style="solid", color="black", weight=3]; 58.54/37.21 276[label="takeWhile1 (flip (<=) (Neg (Succ xu3100))) (Neg Zero) (numericEnumFrom $! Neg Zero + fromInt (Pos (Succ Zero))) (not (GT == GT))",fontsize=16,color="black",shape="box"];276 -> 318[label="",style="solid", color="black", weight=3]; 58.54/37.21 277[label="takeWhile1 (flip (<=) (Neg Zero)) (Neg Zero) (numericEnumFrom $! Neg Zero + fromInt (Pos (Succ Zero))) (not False)",fontsize=16,color="black",shape="box"];277 -> 319[label="",style="solid", color="black", weight=3]; 58.54/37.21 771 -> 777[label="",style="dashed", color="red", weight=0]; 58.54/37.21 771[label="foldr (++) [] (map (range1 xu220) (range (xu20,xu21)))",fontsize=16,color="magenta"];771 -> 778[label="",style="dashed", color="magenta", weight=3]; 58.54/37.21 771 -> 779[label="",style="dashed", color="magenta", weight=3]; 58.54/37.21 279[label="(++) range00 LT (LT >= xu30) foldr (++) [] (map (range0 LT xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];279 -> 324[label="",style="solid", color="black", weight=3]; 58.54/37.21 280[label="(++) range00 LT (not (compare0 EQ LT True == LT) && LT >= xu30) foldr (++) [] (map (range0 EQ xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];280 -> 325[label="",style="solid", color="black", weight=3]; 58.54/37.21 281[label="(++) range00 LT (not (compare0 GT LT True == LT) && LT >= xu30) foldr (++) [] (map (range0 GT xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];281 -> 326[label="",style="solid", color="black", weight=3]; 58.54/37.21 282[label="(++) range60 False (False >= xu30) foldr (++) [] (map (range6 False xu30) (True : []))",fontsize=16,color="black",shape="box"];282 -> 327[label="",style="solid", color="black", weight=3]; 58.54/37.21 283[label="(++) range60 False (not (compare0 True False True == LT) && False >= xu30) foldr (++) [] (map (range6 True xu30) (True : []))",fontsize=16,color="black",shape="box"];283 -> 328[label="",style="solid", color="black", weight=3]; 58.54/37.21 284[label="takeWhile1 (flip (<=) (Integer (Pos (Succ xu31000)))) (Integer (Pos (Succ xu30000))) (numericEnumFrom $! Integer (Pos (Succ xu30000)) + fromInt (Pos (Succ Zero))) (not (primCmpNat (Succ xu30000) (Succ xu31000) == GT))",fontsize=16,color="black",shape="box"];284 -> 329[label="",style="solid", color="black", weight=3]; 58.54/37.21 285[label="takeWhile1 (flip (<=) (Integer (Pos Zero))) (Integer (Pos (Succ xu30000))) (numericEnumFrom $! Integer (Pos (Succ xu30000)) + fromInt (Pos (Succ Zero))) (not (primCmpNat (Succ xu30000) Zero == GT))",fontsize=16,color="black",shape="box"];285 -> 330[label="",style="solid", color="black", weight=3]; 58.54/37.21 286[label="takeWhile1 (flip (<=) (Integer (Neg xu3100))) (Integer (Pos (Succ xu30000))) (numericEnumFrom $! Integer (Pos (Succ xu30000)) + fromInt (Pos (Succ Zero))) (not True)",fontsize=16,color="black",shape="box"];286 -> 331[label="",style="solid", color="black", weight=3]; 58.54/37.21 287[label="takeWhile1 (flip (<=) (Integer (Pos (Succ xu31000)))) (Integer (Pos Zero)) (numericEnumFrom $! Integer (Pos Zero) + fromInt (Pos (Succ Zero))) (not (primCmpNat Zero (Succ xu31000) == GT))",fontsize=16,color="black",shape="box"];287 -> 332[label="",style="solid", color="black", weight=3]; 58.54/37.21 288[label="takeWhile1 (flip (<=) (Integer (Pos Zero))) (Integer (Pos Zero)) (numericEnumFrom $! Integer (Pos Zero) + fromInt (Pos (Succ Zero))) (not (EQ == GT))",fontsize=16,color="black",shape="box"];288 -> 333[label="",style="solid", color="black", weight=3]; 58.54/37.21 289[label="takeWhile1 (flip (<=) (Integer (Neg (Succ xu31000)))) (Integer (Pos Zero)) (numericEnumFrom $! Integer (Pos Zero) + fromInt (Pos (Succ Zero))) (not (GT == GT))",fontsize=16,color="black",shape="box"];289 -> 334[label="",style="solid", color="black", weight=3]; 58.54/37.21 290[label="takeWhile1 (flip (<=) (Integer (Neg Zero))) (Integer (Pos Zero)) (numericEnumFrom $! Integer (Pos Zero) + fromInt (Pos (Succ Zero))) (not (EQ == GT))",fontsize=16,color="black",shape="box"];290 -> 335[label="",style="solid", color="black", weight=3]; 58.54/37.21 291[label="takeWhile1 (flip (<=) (Integer (Pos xu3100))) (Integer (Neg (Succ xu30000))) (numericEnumFrom $! Integer (Neg (Succ xu30000)) + fromInt (Pos (Succ Zero))) (not False)",fontsize=16,color="black",shape="box"];291 -> 336[label="",style="solid", color="black", weight=3]; 58.54/37.21 292[label="takeWhile1 (flip (<=) (Integer (Neg (Succ xu31000)))) (Integer (Neg (Succ xu30000))) (numericEnumFrom $! Integer (Neg (Succ xu30000)) + fromInt (Pos (Succ Zero))) (not (primCmpNat (Succ xu31000) (Succ xu30000) == GT))",fontsize=16,color="black",shape="box"];292 -> 337[label="",style="solid", color="black", weight=3]; 58.54/37.21 293[label="takeWhile1 (flip (<=) (Integer (Neg Zero))) (Integer (Neg (Succ xu30000))) (numericEnumFrom $! Integer (Neg (Succ xu30000)) + fromInt (Pos (Succ Zero))) (not (primCmpNat Zero (Succ xu30000) == GT))",fontsize=16,color="black",shape="box"];293 -> 338[label="",style="solid", color="black", weight=3]; 58.54/37.21 294[label="takeWhile1 (flip (<=) (Integer (Pos (Succ xu31000)))) (Integer (Neg Zero)) (numericEnumFrom $! Integer (Neg Zero) + fromInt (Pos (Succ Zero))) (not (LT == GT))",fontsize=16,color="black",shape="box"];294 -> 339[label="",style="solid", color="black", weight=3]; 58.54/37.21 295[label="takeWhile1 (flip (<=) (Integer (Pos Zero))) (Integer (Neg Zero)) (numericEnumFrom $! Integer (Neg Zero) + fromInt (Pos (Succ Zero))) (not (EQ == GT))",fontsize=16,color="black",shape="box"];295 -> 340[label="",style="solid", color="black", weight=3]; 58.54/37.21 296[label="takeWhile1 (flip (<=) (Integer (Neg (Succ xu31000)))) (Integer (Neg Zero)) (numericEnumFrom $! Integer (Neg Zero) + fromInt (Pos (Succ Zero))) (not (primCmpNat (Succ xu31000) Zero == GT))",fontsize=16,color="black",shape="box"];296 -> 341[label="",style="solid", color="black", weight=3]; 58.54/37.21 297[label="takeWhile1 (flip (<=) (Integer (Neg Zero))) (Integer (Neg Zero)) (numericEnumFrom $! Integer (Neg Zero) + fromInt (Pos (Succ Zero))) (not (EQ == GT))",fontsize=16,color="black",shape="box"];297 -> 342[label="",style="solid", color="black", weight=3]; 58.54/37.21 773[label="range (xu13,xu14)",fontsize=16,color="blue",shape="box"];3102[label="range :: ((@2) () ()) -> [] ()",fontsize=10,color="white",style="solid",shape="box"];773 -> 3102[label="",style="solid", color="blue", weight=9]; 58.54/37.21 3102 -> 780[label="",style="solid", color="blue", weight=3]; 58.54/37.21 3103[label="range :: ((@2) Ordering Ordering) -> [] Ordering",fontsize=10,color="white",style="solid",shape="box"];773 -> 3103[label="",style="solid", color="blue", weight=9]; 58.54/37.21 3103 -> 781[label="",style="solid", color="blue", weight=3]; 58.54/37.21 3104[label="range :: ((@2) Char Char) -> [] Char",fontsize=10,color="white",style="solid",shape="box"];773 -> 3104[label="",style="solid", color="blue", weight=9]; 58.54/37.21 3104 -> 782[label="",style="solid", color="blue", weight=3]; 58.54/37.21 3105[label="range :: ((@2) Bool Bool) -> [] Bool",fontsize=10,color="white",style="solid",shape="box"];773 -> 3105[label="",style="solid", color="blue", weight=9]; 58.54/37.21 3105 -> 783[label="",style="solid", color="blue", weight=3]; 58.54/37.21 3106[label="range :: ((@2) Integer Integer) -> [] Integer",fontsize=10,color="white",style="solid",shape="box"];773 -> 3106[label="",style="solid", color="blue", weight=9]; 58.54/37.21 3106 -> 784[label="",style="solid", color="blue", weight=3]; 58.54/37.21 3107[label="range :: ((@2) ((@3) a b c) ((@3) a b c)) -> [] ((@3) a b c)",fontsize=10,color="white",style="solid",shape="box"];773 -> 3107[label="",style="solid", color="blue", weight=9]; 58.54/37.21 3107 -> 785[label="",style="solid", color="blue", weight=3]; 58.54/37.21 3108[label="range :: ((@2) Int Int) -> [] Int",fontsize=10,color="white",style="solid",shape="box"];773 -> 3108[label="",style="solid", color="blue", weight=9]; 58.54/37.21 3108 -> 786[label="",style="solid", color="blue", weight=3]; 58.54/37.21 3109[label="range :: ((@2) ((@2) a b) ((@2) a b)) -> [] ((@2) a b)",fontsize=10,color="white",style="solid",shape="box"];773 -> 3109[label="",style="solid", color="blue", weight=9]; 58.54/37.21 3109 -> 787[label="",style="solid", color="blue", weight=3]; 58.54/37.21 774[label="xu11",fontsize=16,color="green",shape="box"];775[label="xu150",fontsize=16,color="green",shape="box"];776[label="xu12",fontsize=16,color="green",shape="box"];772[label="foldr (++) [] (map (range4 xu50 xu51 xu52) xu53)",fontsize=16,color="burlywood",shape="triangle"];3110[label="xu53/xu530 : xu531",fontsize=10,color="white",style="solid",shape="box"];772 -> 3110[label="",style="solid", color="burlywood", weight=9]; 58.54/37.21 3110 -> 788[label="",style="solid", color="burlywood", weight=3]; 58.54/37.21 3111[label="xu53/[]",fontsize=10,color="white",style="solid",shape="box"];772 -> 3111[label="",style="solid", color="burlywood", weight=9]; 58.54/37.21 3111 -> 789[label="",style="solid", color="burlywood", weight=3]; 58.54/37.21 2276[label="xu3100",fontsize=16,color="green",shape="box"];2277[label="xu3000",fontsize=16,color="green",shape="box"];2278[label="xu3000",fontsize=16,color="green",shape="box"];2279[label="xu3100",fontsize=16,color="green",shape="box"];2275[label="takeWhile1 (flip (<=) (Pos (Succ xu167))) (Pos (Succ xu168)) (numericEnumFrom $! Pos (Succ xu168) + fromInt (Pos (Succ Zero))) (not (primCmpNat xu169 xu170 == GT))",fontsize=16,color="burlywood",shape="triangle"];3112[label="xu169/Succ xu1690",fontsize=10,color="white",style="solid",shape="box"];2275 -> 3112[label="",style="solid", color="burlywood", weight=9]; 58.54/37.21 3112 -> 2316[label="",style="solid", color="burlywood", weight=3]; 58.54/37.21 3113[label="xu169/Zero",fontsize=10,color="white",style="solid",shape="box"];2275 -> 3113[label="",style="solid", color="burlywood", weight=9]; 58.54/37.21 3113 -> 2317[label="",style="solid", color="burlywood", weight=3]; 58.54/37.21 306[label="takeWhile1 (flip (<=) (Pos Zero)) (Pos (Succ xu3000)) (numericEnumFrom $! Pos (Succ xu3000) + fromInt (Pos (Succ Zero))) (not True)",fontsize=16,color="black",shape="box"];306 -> 357[label="",style="solid", color="black", weight=3]; 58.54/37.21 307[label="takeWhile0 (flip (<=) (Neg xu310)) (Pos (Succ xu3000)) (numericEnumFrom $! Pos (Succ xu3000) + fromInt (Pos (Succ Zero))) otherwise",fontsize=16,color="black",shape="box"];307 -> 358[label="",style="solid", color="black", weight=3]; 58.54/37.21 308[label="takeWhile1 (flip (<=) (Pos (Succ xu3100))) (Pos Zero) (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))) (not False)",fontsize=16,color="black",shape="box"];308 -> 359[label="",style="solid", color="black", weight=3]; 58.54/37.21 309[label="takeWhile1 (flip (<=) (Pos Zero)) (Pos Zero) (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))) True",fontsize=16,color="black",shape="box"];309 -> 360[label="",style="solid", color="black", weight=3]; 58.54/37.21 310[label="takeWhile1 (flip (<=) (Neg (Succ xu3100))) (Pos Zero) (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))) False",fontsize=16,color="black",shape="box"];310 -> 361[label="",style="solid", color="black", weight=3]; 58.54/37.21 311[label="takeWhile1 (flip (<=) (Neg Zero)) (Pos Zero) (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))) True",fontsize=16,color="black",shape="box"];311 -> 362[label="",style="solid", color="black", weight=3]; 58.54/37.21 312[label="Neg (Succ xu3000) : takeWhile (flip (<=) (Pos xu310)) (numericEnumFrom $! Neg (Succ xu3000) + fromInt (Pos (Succ Zero)))",fontsize=16,color="green",shape="box"];312 -> 363[label="",style="dashed", color="green", weight=3]; 58.54/37.21 2392[label="xu3100",fontsize=16,color="green",shape="box"];2393[label="xu3000",fontsize=16,color="green",shape="box"];2394[label="Neg (Succ xu3000) + fromInt (Pos (Succ Zero))",fontsize=16,color="black",shape="box"];2394 -> 2447[label="",style="solid", color="black", weight=3]; 58.54/37.21 2395[label="xu3100",fontsize=16,color="green",shape="box"];2396[label="xu3000",fontsize=16,color="green",shape="box"];2391[label="takeWhile1 (flip (<=) (Neg (Succ xu195))) (Neg (Succ xu196)) (numericEnumFrom $! xu197) (not (primCmpNat xu198 xu199 == GT))",fontsize=16,color="burlywood",shape="triangle"];3114[label="xu198/Succ xu1980",fontsize=10,color="white",style="solid",shape="box"];2391 -> 3114[label="",style="solid", color="burlywood", weight=9]; 58.54/37.21 3114 -> 2448[label="",style="solid", color="burlywood", weight=3]; 58.54/37.21 3115[label="xu198/Zero",fontsize=10,color="white",style="solid",shape="box"];2391 -> 3115[label="",style="solid", color="burlywood", weight=9]; 58.54/37.21 3115 -> 2449[label="",style="solid", color="burlywood", weight=3]; 58.54/37.21 315[label="takeWhile1 (flip (<=) (Neg Zero)) (Neg (Succ xu3000)) (numericEnumFrom $! Neg (Succ xu3000) + fromInt (Pos (Succ Zero))) (not False)",fontsize=16,color="black",shape="box"];315 -> 368[label="",style="solid", color="black", weight=3]; 58.54/37.21 316[label="takeWhile1 (flip (<=) (Pos (Succ xu3100))) (Neg Zero) (numericEnumFrom $! Neg Zero + fromInt (Pos (Succ Zero))) True",fontsize=16,color="black",shape="box"];316 -> 369[label="",style="solid", color="black", weight=3]; 58.54/37.21 317[label="takeWhile1 (flip (<=) (Pos Zero)) (Neg Zero) (numericEnumFrom $! Neg Zero + fromInt (Pos (Succ Zero))) True",fontsize=16,color="black",shape="box"];317 -> 370[label="",style="solid", color="black", weight=3]; 58.54/37.21 318[label="takeWhile1 (flip (<=) (Neg (Succ xu3100))) (Neg Zero) (numericEnumFrom $! Neg Zero + fromInt (Pos (Succ Zero))) (not True)",fontsize=16,color="black",shape="box"];318 -> 371[label="",style="solid", color="black", weight=3]; 58.54/37.21 319[label="takeWhile1 (flip (<=) (Neg Zero)) (Neg Zero) (numericEnumFrom $! Neg Zero + fromInt (Pos (Succ Zero))) True",fontsize=16,color="black",shape="box"];319 -> 372[label="",style="solid", color="black", weight=3]; 58.54/37.21 778[label="xu220",fontsize=16,color="green",shape="box"];779[label="range (xu20,xu21)",fontsize=16,color="blue",shape="box"];3116[label="range :: ((@2) () ()) -> [] ()",fontsize=10,color="white",style="solid",shape="box"];779 -> 3116[label="",style="solid", color="blue", weight=9]; 58.54/37.21 3116 -> 790[label="",style="solid", color="blue", weight=3]; 58.54/37.21 3117[label="range :: ((@2) Ordering Ordering) -> [] Ordering",fontsize=10,color="white",style="solid",shape="box"];779 -> 3117[label="",style="solid", color="blue", weight=9]; 58.54/37.21 3117 -> 791[label="",style="solid", color="blue", weight=3]; 58.54/37.21 3118[label="range :: ((@2) Char Char) -> [] Char",fontsize=10,color="white",style="solid",shape="box"];779 -> 3118[label="",style="solid", color="blue", weight=9]; 58.54/37.21 3118 -> 792[label="",style="solid", color="blue", weight=3]; 58.54/37.21 3119[label="range :: ((@2) Bool Bool) -> [] Bool",fontsize=10,color="white",style="solid",shape="box"];779 -> 3119[label="",style="solid", color="blue", weight=9]; 58.54/37.21 3119 -> 793[label="",style="solid", color="blue", weight=3]; 58.54/37.21 3120[label="range :: ((@2) Integer Integer) -> [] Integer",fontsize=10,color="white",style="solid",shape="box"];779 -> 3120[label="",style="solid", color="blue", weight=9]; 58.54/37.21 3120 -> 794[label="",style="solid", color="blue", weight=3]; 58.54/37.21 3121[label="range :: ((@2) ((@3) a b c) ((@3) a b c)) -> [] ((@3) a b c)",fontsize=10,color="white",style="solid",shape="box"];779 -> 3121[label="",style="solid", color="blue", weight=9]; 58.54/37.21 3121 -> 795[label="",style="solid", color="blue", weight=3]; 58.54/37.21 3122[label="range :: ((@2) Int Int) -> [] Int",fontsize=10,color="white",style="solid",shape="box"];779 -> 3122[label="",style="solid", color="blue", weight=9]; 58.54/37.21 3122 -> 796[label="",style="solid", color="blue", weight=3]; 58.54/37.21 3123[label="range :: ((@2) ((@2) a b) ((@2) a b)) -> [] ((@2) a b)",fontsize=10,color="white",style="solid",shape="box"];779 -> 3123[label="",style="solid", color="blue", weight=9]; 58.54/37.21 3123 -> 797[label="",style="solid", color="blue", weight=3]; 58.54/37.21 777[label="foldr (++) [] (map (range1 xu57) xu58)",fontsize=16,color="burlywood",shape="triangle"];3124[label="xu58/xu580 : xu581",fontsize=10,color="white",style="solid",shape="box"];777 -> 3124[label="",style="solid", color="burlywood", weight=9]; 58.54/37.21 3124 -> 798[label="",style="solid", color="burlywood", weight=3]; 58.54/37.21 3125[label="xu58/[]",fontsize=10,color="white",style="solid",shape="box"];777 -> 3125[label="",style="solid", color="burlywood", weight=9]; 58.54/37.21 3125 -> 799[label="",style="solid", color="burlywood", weight=3]; 58.54/37.21 324[label="(++) range00 LT (compare LT xu30 /= LT) foldr (++) [] (map (range0 LT xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];324 -> 383[label="",style="solid", color="black", weight=3]; 58.54/37.21 325[label="(++) range00 LT (not (GT == LT) && LT >= xu30) foldr (++) [] (map (range0 EQ xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];325 -> 384[label="",style="solid", color="black", weight=3]; 58.54/37.21 326[label="(++) range00 LT (not (GT == LT) && LT >= xu30) foldr (++) [] (map (range0 GT xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];326 -> 385[label="",style="solid", color="black", weight=3]; 58.54/37.21 327[label="(++) range60 False (compare False xu30 /= LT) foldr (++) [] (map (range6 False xu30) (True : []))",fontsize=16,color="black",shape="box"];327 -> 386[label="",style="solid", color="black", weight=3]; 58.54/37.21 328[label="(++) range60 False (not (GT == LT) && False >= xu30) foldr (++) [] (map (range6 True xu30) (True : []))",fontsize=16,color="black",shape="box"];328 -> 387[label="",style="solid", color="black", weight=3]; 58.54/37.21 329 -> 2464[label="",style="dashed", color="red", weight=0]; 58.54/37.21 329[label="takeWhile1 (flip (<=) (Integer (Pos (Succ xu31000)))) (Integer (Pos (Succ xu30000))) (numericEnumFrom $! Integer (Pos (Succ xu30000)) + fromInt (Pos (Succ Zero))) (not (primCmpNat xu30000 xu31000 == GT))",fontsize=16,color="magenta"];329 -> 2465[label="",style="dashed", color="magenta", weight=3]; 58.54/37.21 329 -> 2466[label="",style="dashed", color="magenta", weight=3]; 58.54/37.21 329 -> 2467[label="",style="dashed", color="magenta", weight=3]; 58.54/37.21 329 -> 2468[label="",style="dashed", color="magenta", weight=3]; 58.54/37.21 330[label="takeWhile1 (flip (<=) (Integer (Pos Zero))) (Integer (Pos (Succ xu30000))) (numericEnumFrom $! Integer (Pos (Succ xu30000)) + fromInt (Pos (Succ Zero))) (not (GT == GT))",fontsize=16,color="black",shape="box"];330 -> 390[label="",style="solid", color="black", weight=3]; 58.54/37.21 331[label="takeWhile1 (flip (<=) (Integer (Neg xu3100))) (Integer (Pos (Succ xu30000))) (numericEnumFrom $! Integer (Pos (Succ xu30000)) + fromInt (Pos (Succ Zero))) False",fontsize=16,color="black",shape="box"];331 -> 391[label="",style="solid", color="black", weight=3]; 58.54/37.21 332[label="takeWhile1 (flip (<=) (Integer (Pos (Succ xu31000)))) (Integer (Pos Zero)) (numericEnumFrom $! Integer (Pos Zero) + fromInt (Pos (Succ Zero))) (not (LT == GT))",fontsize=16,color="black",shape="box"];332 -> 392[label="",style="solid", color="black", weight=3]; 58.54/37.21 333[label="takeWhile1 (flip (<=) (Integer (Pos Zero))) (Integer (Pos Zero)) (numericEnumFrom $! Integer (Pos Zero) + fromInt (Pos (Succ Zero))) (not False)",fontsize=16,color="black",shape="box"];333 -> 393[label="",style="solid", color="black", weight=3]; 58.54/37.21 334[label="takeWhile1 (flip (<=) (Integer (Neg (Succ xu31000)))) (Integer (Pos Zero)) (numericEnumFrom $! Integer (Pos Zero) + fromInt (Pos (Succ Zero))) (not True)",fontsize=16,color="black",shape="box"];334 -> 394[label="",style="solid", color="black", weight=3]; 58.54/37.21 335[label="takeWhile1 (flip (<=) (Integer (Neg Zero))) (Integer (Pos Zero)) (numericEnumFrom $! Integer (Pos Zero) + fromInt (Pos (Succ Zero))) (not False)",fontsize=16,color="black",shape="box"];335 -> 395[label="",style="solid", color="black", weight=3]; 58.54/37.21 336[label="takeWhile1 (flip (<=) (Integer (Pos xu3100))) (Integer (Neg (Succ xu30000))) (numericEnumFrom $! Integer (Neg (Succ xu30000)) + fromInt (Pos (Succ Zero))) True",fontsize=16,color="black",shape="box"];336 -> 396[label="",style="solid", color="black", weight=3]; 58.54/37.21 337 -> 2513[label="",style="dashed", color="red", weight=0]; 58.54/37.21 337[label="takeWhile1 (flip (<=) (Integer (Neg (Succ xu31000)))) (Integer (Neg (Succ xu30000))) (numericEnumFrom $! Integer (Neg (Succ xu30000)) + fromInt (Pos (Succ Zero))) (not (primCmpNat xu31000 xu30000 == GT))",fontsize=16,color="magenta"];337 -> 2514[label="",style="dashed", color="magenta", weight=3]; 58.54/37.21 337 -> 2515[label="",style="dashed", color="magenta", weight=3]; 58.54/37.21 337 -> 2516[label="",style="dashed", color="magenta", weight=3]; 58.54/37.21 337 -> 2517[label="",style="dashed", color="magenta", weight=3]; 58.54/37.21 338[label="takeWhile1 (flip (<=) (Integer (Neg Zero))) (Integer (Neg (Succ xu30000))) (numericEnumFrom $! Integer (Neg (Succ xu30000)) + fromInt (Pos (Succ Zero))) (not (LT == GT))",fontsize=16,color="black",shape="box"];338 -> 399[label="",style="solid", color="black", weight=3]; 58.54/37.21 339[label="takeWhile1 (flip (<=) (Integer (Pos (Succ xu31000)))) (Integer (Neg Zero)) (numericEnumFrom $! Integer (Neg Zero) + fromInt (Pos (Succ Zero))) (not False)",fontsize=16,color="black",shape="box"];339 -> 400[label="",style="solid", color="black", weight=3]; 58.54/37.21 340[label="takeWhile1 (flip (<=) (Integer (Pos Zero))) (Integer (Neg Zero)) (numericEnumFrom $! Integer (Neg Zero) + fromInt (Pos (Succ Zero))) (not False)",fontsize=16,color="black",shape="box"];340 -> 401[label="",style="solid", color="black", weight=3]; 58.54/37.21 341[label="takeWhile1 (flip (<=) (Integer (Neg (Succ xu31000)))) (Integer (Neg Zero)) (numericEnumFrom $! Integer (Neg Zero) + fromInt (Pos (Succ Zero))) (not (GT == GT))",fontsize=16,color="black",shape="box"];341 -> 402[label="",style="solid", color="black", weight=3]; 58.54/37.21 342[label="takeWhile1 (flip (<=) (Integer (Neg Zero))) (Integer (Neg Zero)) (numericEnumFrom $! Integer (Neg Zero) + fromInt (Pos (Succ Zero))) (not False)",fontsize=16,color="black",shape="box"];342 -> 403[label="",style="solid", color="black", weight=3]; 58.54/37.21 780 -> 4[label="",style="dashed", color="red", weight=0]; 58.54/37.21 780[label="range (xu13,xu14)",fontsize=16,color="magenta"];780 -> 859[label="",style="dashed", color="magenta", weight=3]; 58.54/37.21 781 -> 5[label="",style="dashed", color="red", weight=0]; 58.54/37.21 781[label="range (xu13,xu14)",fontsize=16,color="magenta"];781 -> 860[label="",style="dashed", color="magenta", weight=3]; 58.54/37.21 782 -> 6[label="",style="dashed", color="red", weight=0]; 58.54/37.21 782[label="range (xu13,xu14)",fontsize=16,color="magenta"];782 -> 861[label="",style="dashed", color="magenta", weight=3]; 58.54/37.21 783 -> 7[label="",style="dashed", color="red", weight=0]; 58.54/37.21 783[label="range (xu13,xu14)",fontsize=16,color="magenta"];783 -> 862[label="",style="dashed", color="magenta", weight=3]; 58.54/37.21 784 -> 8[label="",style="dashed", color="red", weight=0]; 58.54/37.21 784[label="range (xu13,xu14)",fontsize=16,color="magenta"];784 -> 863[label="",style="dashed", color="magenta", weight=3]; 58.54/37.21 785[label="range (xu13,xu14)",fontsize=16,color="burlywood",shape="triangle"];3126[label="xu13/(xu130,xu131,xu132)",fontsize=10,color="white",style="solid",shape="box"];785 -> 3126[label="",style="solid", color="burlywood", weight=9]; 58.54/37.21 3126 -> 864[label="",style="solid", color="burlywood", weight=3]; 58.54/37.21 786 -> 10[label="",style="dashed", color="red", weight=0]; 58.54/37.21 786[label="range (xu13,xu14)",fontsize=16,color="magenta"];786 -> 865[label="",style="dashed", color="magenta", weight=3]; 58.54/37.21 787[label="range (xu13,xu14)",fontsize=16,color="burlywood",shape="triangle"];3127[label="xu13/(xu130,xu131)",fontsize=10,color="white",style="solid",shape="box"];787 -> 3127[label="",style="solid", color="burlywood", weight=9]; 58.54/37.21 3127 -> 866[label="",style="solid", color="burlywood", weight=3]; 58.54/37.21 788[label="foldr (++) [] (map (range4 xu50 xu51 xu52) (xu530 : xu531))",fontsize=16,color="black",shape="box"];788 -> 867[label="",style="solid", color="black", weight=3]; 58.54/37.21 789[label="foldr (++) [] (map (range4 xu50 xu51 xu52) [])",fontsize=16,color="black",shape="box"];789 -> 868[label="",style="solid", color="black", weight=3]; 58.54/37.21 2316[label="takeWhile1 (flip (<=) (Pos (Succ xu167))) (Pos (Succ xu168)) (numericEnumFrom $! Pos (Succ xu168) + fromInt (Pos (Succ Zero))) (not (primCmpNat (Succ xu1690) xu170 == GT))",fontsize=16,color="burlywood",shape="box"];3128[label="xu170/Succ xu1700",fontsize=10,color="white",style="solid",shape="box"];2316 -> 3128[label="",style="solid", color="burlywood", weight=9]; 58.54/37.21 3128 -> 2323[label="",style="solid", color="burlywood", weight=3]; 58.54/37.21 3129[label="xu170/Zero",fontsize=10,color="white",style="solid",shape="box"];2316 -> 3129[label="",style="solid", color="burlywood", weight=9]; 58.54/37.21 3129 -> 2324[label="",style="solid", color="burlywood", weight=3]; 58.54/37.21 2317[label="takeWhile1 (flip (<=) (Pos (Succ xu167))) (Pos (Succ xu168)) (numericEnumFrom $! Pos (Succ xu168) + fromInt (Pos (Succ Zero))) (not (primCmpNat Zero xu170 == GT))",fontsize=16,color="burlywood",shape="box"];3130[label="xu170/Succ xu1700",fontsize=10,color="white",style="solid",shape="box"];2317 -> 3130[label="",style="solid", color="burlywood", weight=9]; 58.54/37.21 3130 -> 2325[label="",style="solid", color="burlywood", weight=3]; 58.54/37.21 3131[label="xu170/Zero",fontsize=10,color="white",style="solid",shape="box"];2317 -> 3131[label="",style="solid", color="burlywood", weight=9]; 58.54/37.21 3131 -> 2326[label="",style="solid", color="burlywood", weight=3]; 58.54/37.21 357[label="takeWhile1 (flip (<=) (Pos Zero)) (Pos (Succ xu3000)) (numericEnumFrom $! Pos (Succ xu3000) + fromInt (Pos (Succ Zero))) False",fontsize=16,color="black",shape="box"];357 -> 418[label="",style="solid", color="black", weight=3]; 58.54/37.21 358[label="takeWhile0 (flip (<=) (Neg xu310)) (Pos (Succ xu3000)) (numericEnumFrom $! Pos (Succ xu3000) + fromInt (Pos (Succ Zero))) True",fontsize=16,color="black",shape="box"];358 -> 419[label="",style="solid", color="black", weight=3]; 58.54/37.21 359[label="takeWhile1 (flip (<=) (Pos (Succ xu3100))) (Pos Zero) (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))) True",fontsize=16,color="black",shape="box"];359 -> 420[label="",style="solid", color="black", weight=3]; 58.54/37.21 360[label="Pos Zero : takeWhile (flip (<=) (Pos Zero)) (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero)))",fontsize=16,color="green",shape="box"];360 -> 421[label="",style="dashed", color="green", weight=3]; 58.54/37.21 361[label="takeWhile0 (flip (<=) (Neg (Succ xu3100))) (Pos Zero) (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))) otherwise",fontsize=16,color="black",shape="box"];361 -> 422[label="",style="solid", color="black", weight=3]; 58.54/37.21 362[label="Pos Zero : takeWhile (flip (<=) (Neg Zero)) (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero)))",fontsize=16,color="green",shape="box"];362 -> 423[label="",style="dashed", color="green", weight=3]; 58.54/37.21 363[label="takeWhile (flip (<=) (Pos xu310)) (numericEnumFrom $! Neg (Succ xu3000) + fromInt (Pos (Succ Zero)))",fontsize=16,color="black",shape="box"];363 -> 424[label="",style="solid", color="black", weight=3]; 58.54/37.21 2447[label="primPlusInt (Neg (Succ xu3000)) (fromInt (Pos (Succ Zero)))",fontsize=16,color="black",shape="box"];2447 -> 2505[label="",style="solid", color="black", weight=3]; 58.54/37.21 2448[label="takeWhile1 (flip (<=) (Neg (Succ xu195))) (Neg (Succ xu196)) (numericEnumFrom $! xu197) (not (primCmpNat (Succ xu1980) xu199 == GT))",fontsize=16,color="burlywood",shape="box"];3132[label="xu199/Succ xu1990",fontsize=10,color="white",style="solid",shape="box"];2448 -> 3132[label="",style="solid", color="burlywood", weight=9]; 58.54/37.21 3132 -> 2506[label="",style="solid", color="burlywood", weight=3]; 58.54/37.21 3133[label="xu199/Zero",fontsize=10,color="white",style="solid",shape="box"];2448 -> 3133[label="",style="solid", color="burlywood", weight=9]; 58.54/37.21 3133 -> 2507[label="",style="solid", color="burlywood", weight=3]; 58.54/37.21 2449[label="takeWhile1 (flip (<=) (Neg (Succ xu195))) (Neg (Succ xu196)) (numericEnumFrom $! xu197) (not (primCmpNat Zero xu199 == GT))",fontsize=16,color="burlywood",shape="box"];3134[label="xu199/Succ xu1990",fontsize=10,color="white",style="solid",shape="box"];2449 -> 3134[label="",style="solid", color="burlywood", weight=9]; 58.54/37.21 3134 -> 2508[label="",style="solid", color="burlywood", weight=3]; 58.54/37.21 3135[label="xu199/Zero",fontsize=10,color="white",style="solid",shape="box"];2449 -> 3135[label="",style="solid", color="burlywood", weight=9]; 58.54/37.21 3135 -> 2509[label="",style="solid", color="burlywood", weight=3]; 58.54/37.21 368[label="takeWhile1 (flip (<=) (Neg Zero)) (Neg (Succ xu3000)) (numericEnumFrom $! Neg (Succ xu3000) + fromInt (Pos (Succ Zero))) True",fontsize=16,color="black",shape="box"];368 -> 429[label="",style="solid", color="black", weight=3]; 58.54/37.21 369[label="Neg Zero : takeWhile (flip (<=) (Pos (Succ xu3100))) (numericEnumFrom $! Neg Zero + fromInt (Pos (Succ Zero)))",fontsize=16,color="green",shape="box"];369 -> 430[label="",style="dashed", color="green", weight=3]; 58.54/37.21 370[label="Neg Zero : takeWhile (flip (<=) (Pos Zero)) (numericEnumFrom $! Neg Zero + fromInt (Pos (Succ Zero)))",fontsize=16,color="green",shape="box"];370 -> 431[label="",style="dashed", color="green", weight=3]; 58.54/37.21 371[label="takeWhile1 (flip (<=) (Neg (Succ xu3100))) (Neg Zero) (numericEnumFrom $! Neg Zero + fromInt (Pos (Succ Zero))) False",fontsize=16,color="black",shape="box"];371 -> 432[label="",style="solid", color="black", weight=3]; 58.54/37.21 372[label="Neg Zero : takeWhile (flip (<=) (Neg Zero)) (numericEnumFrom $! Neg Zero + fromInt (Pos (Succ Zero)))",fontsize=16,color="green",shape="box"];372 -> 433[label="",style="dashed", color="green", weight=3]; 58.54/37.21 790 -> 4[label="",style="dashed", color="red", weight=0]; 58.54/37.21 790[label="range (xu20,xu21)",fontsize=16,color="magenta"];790 -> 869[label="",style="dashed", color="magenta", weight=3]; 58.54/37.21 791 -> 5[label="",style="dashed", color="red", weight=0]; 58.54/37.21 791[label="range (xu20,xu21)",fontsize=16,color="magenta"];791 -> 870[label="",style="dashed", color="magenta", weight=3]; 58.54/37.21 792 -> 6[label="",style="dashed", color="red", weight=0]; 58.54/37.21 792[label="range (xu20,xu21)",fontsize=16,color="magenta"];792 -> 871[label="",style="dashed", color="magenta", weight=3]; 58.54/37.21 793 -> 7[label="",style="dashed", color="red", weight=0]; 58.54/37.21 793[label="range (xu20,xu21)",fontsize=16,color="magenta"];793 -> 872[label="",style="dashed", color="magenta", weight=3]; 58.54/37.21 794 -> 8[label="",style="dashed", color="red", weight=0]; 58.54/37.21 794[label="range (xu20,xu21)",fontsize=16,color="magenta"];794 -> 873[label="",style="dashed", color="magenta", weight=3]; 58.54/37.21 795 -> 785[label="",style="dashed", color="red", weight=0]; 58.54/37.21 795[label="range (xu20,xu21)",fontsize=16,color="magenta"];795 -> 874[label="",style="dashed", color="magenta", weight=3]; 58.54/37.21 795 -> 875[label="",style="dashed", color="magenta", weight=3]; 58.54/37.21 796 -> 10[label="",style="dashed", color="red", weight=0]; 58.54/37.21 796[label="range (xu20,xu21)",fontsize=16,color="magenta"];796 -> 876[label="",style="dashed", color="magenta", weight=3]; 58.54/37.21 797 -> 787[label="",style="dashed", color="red", weight=0]; 58.54/37.21 797[label="range (xu20,xu21)",fontsize=16,color="magenta"];797 -> 877[label="",style="dashed", color="magenta", weight=3]; 58.54/37.21 797 -> 878[label="",style="dashed", color="magenta", weight=3]; 58.54/37.21 798[label="foldr (++) [] (map (range1 xu57) (xu580 : xu581))",fontsize=16,color="black",shape="box"];798 -> 879[label="",style="solid", color="black", weight=3]; 58.54/37.21 799[label="foldr (++) [] (map (range1 xu57) [])",fontsize=16,color="black",shape="box"];799 -> 880[label="",style="solid", color="black", weight=3]; 58.54/37.21 383[label="(++) range00 LT (not (compare LT xu30 == LT)) foldr (++) [] (map (range0 LT xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];383 -> 446[label="",style="solid", color="black", weight=3]; 58.54/37.21 384[label="(++) range00 LT (not False && LT >= xu30) foldr (++) [] (map (range0 EQ xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];384 -> 447[label="",style="solid", color="black", weight=3]; 58.54/37.21 385[label="(++) range00 LT (not False && LT >= xu30) foldr (++) [] (map (range0 GT xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];385 -> 448[label="",style="solid", color="black", weight=3]; 58.54/37.21 386[label="(++) range60 False (not (compare False xu30 == LT)) foldr (++) [] (map (range6 False xu30) (True : []))",fontsize=16,color="black",shape="box"];386 -> 449[label="",style="solid", color="black", weight=3]; 58.54/37.21 387[label="(++) range60 False (not False && False >= xu30) foldr (++) [] (map (range6 True xu30) (True : []))",fontsize=16,color="black",shape="box"];387 -> 450[label="",style="solid", color="black", weight=3]; 58.54/37.21 2465[label="xu31000",fontsize=16,color="green",shape="box"];2466[label="xu31000",fontsize=16,color="green",shape="box"];2467[label="xu30000",fontsize=16,color="green",shape="box"];2468[label="xu30000",fontsize=16,color="green",shape="box"];2464[label="takeWhile1 (flip (<=) (Integer (Pos (Succ xu201)))) (Integer (Pos (Succ xu202))) (numericEnumFrom $! Integer (Pos (Succ xu202)) + fromInt (Pos (Succ Zero))) (not (primCmpNat xu203 xu204 == GT))",fontsize=16,color="burlywood",shape="triangle"];3136[label="xu203/Succ xu2030",fontsize=10,color="white",style="solid",shape="box"];2464 -> 3136[label="",style="solid", color="burlywood", weight=9]; 58.54/37.21 3136 -> 2510[label="",style="solid", color="burlywood", weight=3]; 58.54/37.21 3137[label="xu203/Zero",fontsize=10,color="white",style="solid",shape="box"];2464 -> 3137[label="",style="solid", color="burlywood", weight=9]; 58.54/37.21 3137 -> 2511[label="",style="solid", color="burlywood", weight=3]; 58.54/37.21 390[label="takeWhile1 (flip (<=) (Integer (Pos Zero))) (Integer (Pos (Succ xu30000))) (numericEnumFrom $! Integer (Pos (Succ xu30000)) + fromInt (Pos (Succ Zero))) (not True)",fontsize=16,color="black",shape="box"];390 -> 455[label="",style="solid", color="black", weight=3]; 58.54/37.21 391[label="takeWhile0 (flip (<=) (Integer (Neg xu3100))) (Integer (Pos (Succ xu30000))) (numericEnumFrom $! Integer (Pos (Succ xu30000)) + fromInt (Pos (Succ Zero))) otherwise",fontsize=16,color="black",shape="box"];391 -> 456[label="",style="solid", color="black", weight=3]; 58.54/37.21 392[label="takeWhile1 (flip (<=) (Integer (Pos (Succ xu31000)))) (Integer (Pos Zero)) (numericEnumFrom $! Integer (Pos Zero) + fromInt (Pos (Succ Zero))) (not False)",fontsize=16,color="black",shape="box"];392 -> 457[label="",style="solid", color="black", weight=3]; 58.54/37.21 393[label="takeWhile1 (flip (<=) (Integer (Pos Zero))) (Integer (Pos Zero)) (numericEnumFrom $! Integer (Pos Zero) + fromInt (Pos (Succ Zero))) True",fontsize=16,color="black",shape="box"];393 -> 458[label="",style="solid", color="black", weight=3]; 58.54/37.21 394[label="takeWhile1 (flip (<=) (Integer (Neg (Succ xu31000)))) (Integer (Pos Zero)) (numericEnumFrom $! Integer (Pos Zero) + fromInt (Pos (Succ Zero))) False",fontsize=16,color="black",shape="box"];394 -> 459[label="",style="solid", color="black", weight=3]; 58.54/37.21 395[label="takeWhile1 (flip (<=) (Integer (Neg Zero))) (Integer (Pos Zero)) (numericEnumFrom $! Integer (Pos Zero) + fromInt (Pos (Succ Zero))) True",fontsize=16,color="black",shape="box"];395 -> 460[label="",style="solid", color="black", weight=3]; 58.54/37.21 396[label="Integer (Neg (Succ xu30000)) : takeWhile (flip (<=) (Integer (Pos xu3100))) (numericEnumFrom $! Integer (Neg (Succ xu30000)) + fromInt (Pos (Succ Zero)))",fontsize=16,color="green",shape="box"];396 -> 461[label="",style="dashed", color="green", weight=3]; 58.54/37.21 2514[label="xu31000",fontsize=16,color="green",shape="box"];2515[label="xu31000",fontsize=16,color="green",shape="box"];2516[label="xu30000",fontsize=16,color="green",shape="box"];2517[label="xu30000",fontsize=16,color="green",shape="box"];2513[label="takeWhile1 (flip (<=) (Integer (Neg (Succ xu206)))) (Integer (Neg (Succ xu207))) (numericEnumFrom $! Integer (Neg (Succ xu207)) + fromInt (Pos (Succ Zero))) (not (primCmpNat xu208 xu209 == GT))",fontsize=16,color="burlywood",shape="triangle"];3138[label="xu208/Succ xu2080",fontsize=10,color="white",style="solid",shape="box"];2513 -> 3138[label="",style="solid", color="burlywood", weight=9]; 58.54/37.21 3138 -> 2554[label="",style="solid", color="burlywood", weight=3]; 58.54/37.21 3139[label="xu208/Zero",fontsize=10,color="white",style="solid",shape="box"];2513 -> 3139[label="",style="solid", color="burlywood", weight=9]; 58.54/37.21 3139 -> 2555[label="",style="solid", color="burlywood", weight=3]; 58.54/37.21 399[label="takeWhile1 (flip (<=) (Integer (Neg Zero))) (Integer (Neg (Succ xu30000))) (numericEnumFrom $! Integer (Neg (Succ xu30000)) + fromInt (Pos (Succ Zero))) (not False)",fontsize=16,color="black",shape="box"];399 -> 466[label="",style="solid", color="black", weight=3]; 58.54/37.21 400[label="takeWhile1 (flip (<=) (Integer (Pos (Succ xu31000)))) (Integer (Neg Zero)) (numericEnumFrom $! Integer (Neg Zero) + fromInt (Pos (Succ Zero))) True",fontsize=16,color="black",shape="box"];400 -> 467[label="",style="solid", color="black", weight=3]; 58.54/37.21 401[label="takeWhile1 (flip (<=) (Integer (Pos Zero))) (Integer (Neg Zero)) (numericEnumFrom $! Integer (Neg Zero) + fromInt (Pos (Succ Zero))) True",fontsize=16,color="black",shape="box"];401 -> 468[label="",style="solid", color="black", weight=3]; 58.54/37.21 402[label="takeWhile1 (flip (<=) (Integer (Neg (Succ xu31000)))) (Integer (Neg Zero)) (numericEnumFrom $! Integer (Neg Zero) + fromInt (Pos (Succ Zero))) (not True)",fontsize=16,color="black",shape="box"];402 -> 469[label="",style="solid", color="black", weight=3]; 58.54/37.21 403[label="takeWhile1 (flip (<=) (Integer (Neg Zero))) (Integer (Neg Zero)) (numericEnumFrom $! Integer (Neg Zero) + fromInt (Pos (Succ Zero))) True",fontsize=16,color="black",shape="box"];403 -> 470[label="",style="solid", color="black", weight=3]; 58.54/37.21 859[label="(xu13,xu14)",fontsize=16,color="green",shape="box"];860[label="(xu13,xu14)",fontsize=16,color="green",shape="box"];861[label="(xu13,xu14)",fontsize=16,color="green",shape="box"];862[label="(xu13,xu14)",fontsize=16,color="green",shape="box"];863[label="(xu13,xu14)",fontsize=16,color="green",shape="box"];864[label="range ((xu130,xu131,xu132),xu14)",fontsize=16,color="burlywood",shape="box"];3140[label="xu14/(xu140,xu141,xu142)",fontsize=10,color="white",style="solid",shape="box"];864 -> 3140[label="",style="solid", color="burlywood", weight=9]; 58.54/37.21 3140 -> 954[label="",style="solid", color="burlywood", weight=3]; 58.54/37.21 865[label="(xu13,xu14)",fontsize=16,color="green",shape="box"];866[label="range ((xu130,xu131),xu14)",fontsize=16,color="burlywood",shape="box"];3141[label="xu14/(xu140,xu141)",fontsize=10,color="white",style="solid",shape="box"];866 -> 3141[label="",style="solid", color="burlywood", weight=9]; 58.54/37.21 3141 -> 955[label="",style="solid", color="burlywood", weight=3]; 58.54/37.21 867[label="foldr (++) [] (range4 xu50 xu51 xu52 xu530 : map (range4 xu50 xu51 xu52) xu531)",fontsize=16,color="black",shape="box"];867 -> 956[label="",style="solid", color="black", weight=3]; 58.54/37.21 868 -> 132[label="",style="dashed", color="red", weight=0]; 58.54/37.21 868[label="foldr (++) [] []",fontsize=16,color="magenta"];2323[label="takeWhile1 (flip (<=) (Pos (Succ xu167))) (Pos (Succ xu168)) (numericEnumFrom $! Pos (Succ xu168) + fromInt (Pos (Succ Zero))) (not (primCmpNat (Succ xu1690) (Succ xu1700) == GT))",fontsize=16,color="black",shape="box"];2323 -> 2330[label="",style="solid", color="black", weight=3]; 58.54/37.21 2324[label="takeWhile1 (flip (<=) (Pos (Succ xu167))) (Pos (Succ xu168)) (numericEnumFrom $! Pos (Succ xu168) + fromInt (Pos (Succ Zero))) (not (primCmpNat (Succ xu1690) Zero == GT))",fontsize=16,color="black",shape="box"];2324 -> 2331[label="",style="solid", color="black", weight=3]; 58.54/37.21 2325[label="takeWhile1 (flip (<=) (Pos (Succ xu167))) (Pos (Succ xu168)) (numericEnumFrom $! Pos (Succ xu168) + fromInt (Pos (Succ Zero))) (not (primCmpNat Zero (Succ xu1700) == GT))",fontsize=16,color="black",shape="box"];2325 -> 2332[label="",style="solid", color="black", weight=3]; 58.54/37.21 2326[label="takeWhile1 (flip (<=) (Pos (Succ xu167))) (Pos (Succ xu168)) (numericEnumFrom $! Pos (Succ xu168) + fromInt (Pos (Succ Zero))) (not (primCmpNat Zero Zero == GT))",fontsize=16,color="black",shape="box"];2326 -> 2333[label="",style="solid", color="black", weight=3]; 58.54/37.21 418[label="takeWhile0 (flip (<=) (Pos Zero)) (Pos (Succ xu3000)) (numericEnumFrom $! Pos (Succ xu3000) + fromInt (Pos (Succ Zero))) otherwise",fontsize=16,color="black",shape="box"];418 -> 502[label="",style="solid", color="black", weight=3]; 58.54/37.21 419[label="[]",fontsize=16,color="green",shape="box"];420[label="Pos Zero : takeWhile (flip (<=) (Pos (Succ xu3100))) (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero)))",fontsize=16,color="green",shape="box"];420 -> 503[label="",style="dashed", color="green", weight=3]; 58.54/37.21 421[label="takeWhile (flip (<=) (Pos Zero)) (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero)))",fontsize=16,color="black",shape="box"];421 -> 504[label="",style="solid", color="black", weight=3]; 58.54/37.21 422[label="takeWhile0 (flip (<=) (Neg (Succ xu3100))) (Pos Zero) (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))) True",fontsize=16,color="black",shape="box"];422 -> 505[label="",style="solid", color="black", weight=3]; 58.54/37.21 423[label="takeWhile (flip (<=) (Neg Zero)) (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero)))",fontsize=16,color="black",shape="box"];423 -> 506[label="",style="solid", color="black", weight=3]; 58.54/37.21 424[label="takeWhile (flip (<=) (Pos xu310)) (Neg (Succ xu3000) + fromInt (Pos (Succ Zero)) `seq` numericEnumFrom (Neg (Succ xu3000) + fromInt (Pos (Succ Zero))))",fontsize=16,color="black",shape="box"];424 -> 507[label="",style="solid", color="black", weight=3]; 58.54/37.21 2505 -> 985[label="",style="dashed", color="red", weight=0]; 58.54/37.21 2505[label="primPlusInt (Neg (Succ xu3000)) (Pos (Succ Zero))",fontsize=16,color="magenta"];2505 -> 2556[label="",style="dashed", color="magenta", weight=3]; 58.54/37.21 2506[label="takeWhile1 (flip (<=) (Neg (Succ xu195))) (Neg (Succ xu196)) (numericEnumFrom $! xu197) (not (primCmpNat (Succ xu1980) (Succ xu1990) == GT))",fontsize=16,color="black",shape="box"];2506 -> 2557[label="",style="solid", color="black", weight=3]; 58.54/37.21 2507[label="takeWhile1 (flip (<=) (Neg (Succ xu195))) (Neg (Succ xu196)) (numericEnumFrom $! xu197) (not (primCmpNat (Succ xu1980) Zero == GT))",fontsize=16,color="black",shape="box"];2507 -> 2558[label="",style="solid", color="black", weight=3]; 58.54/37.21 2508[label="takeWhile1 (flip (<=) (Neg (Succ xu195))) (Neg (Succ xu196)) (numericEnumFrom $! xu197) (not (primCmpNat Zero (Succ xu1990) == GT))",fontsize=16,color="black",shape="box"];2508 -> 2559[label="",style="solid", color="black", weight=3]; 58.54/37.21 2509[label="takeWhile1 (flip (<=) (Neg (Succ xu195))) (Neg (Succ xu196)) (numericEnumFrom $! xu197) (not (primCmpNat Zero Zero == GT))",fontsize=16,color="black",shape="box"];2509 -> 2560[label="",style="solid", color="black", weight=3]; 58.54/37.21 429[label="Neg (Succ xu3000) : takeWhile (flip (<=) (Neg Zero)) (numericEnumFrom $! Neg (Succ xu3000) + fromInt (Pos (Succ Zero)))",fontsize=16,color="green",shape="box"];429 -> 513[label="",style="dashed", color="green", weight=3]; 58.54/37.21 430[label="takeWhile (flip (<=) (Pos (Succ xu3100))) (numericEnumFrom $! Neg Zero + fromInt (Pos (Succ Zero)))",fontsize=16,color="black",shape="box"];430 -> 514[label="",style="solid", color="black", weight=3]; 58.54/37.21 431[label="takeWhile (flip (<=) (Pos Zero)) (numericEnumFrom $! Neg Zero + fromInt (Pos (Succ Zero)))",fontsize=16,color="black",shape="box"];431 -> 515[label="",style="solid", color="black", weight=3]; 58.54/37.21 432[label="takeWhile0 (flip (<=) (Neg (Succ xu3100))) (Neg Zero) (numericEnumFrom $! Neg Zero + fromInt (Pos (Succ Zero))) otherwise",fontsize=16,color="black",shape="box"];432 -> 516[label="",style="solid", color="black", weight=3]; 58.54/37.21 433[label="takeWhile (flip (<=) (Neg Zero)) (numericEnumFrom $! Neg Zero + fromInt (Pos (Succ Zero)))",fontsize=16,color="black",shape="box"];433 -> 517[label="",style="solid", color="black", weight=3]; 58.54/37.21 869[label="(xu20,xu21)",fontsize=16,color="green",shape="box"];870[label="(xu20,xu21)",fontsize=16,color="green",shape="box"];871[label="(xu20,xu21)",fontsize=16,color="green",shape="box"];872[label="(xu20,xu21)",fontsize=16,color="green",shape="box"];873[label="(xu20,xu21)",fontsize=16,color="green",shape="box"];874[label="xu20",fontsize=16,color="green",shape="box"];875[label="xu21",fontsize=16,color="green",shape="box"];876[label="(xu20,xu21)",fontsize=16,color="green",shape="box"];877[label="xu20",fontsize=16,color="green",shape="box"];878[label="xu21",fontsize=16,color="green",shape="box"];879[label="foldr (++) [] (range1 xu57 xu580 : map (range1 xu57) xu581)",fontsize=16,color="black",shape="box"];879 -> 957[label="",style="solid", color="black", weight=3]; 58.54/37.21 880 -> 143[label="",style="dashed", color="red", weight=0]; 58.54/37.21 880[label="foldr (++) [] []",fontsize=16,color="magenta"];446[label="(++) range00 LT (not (compare3 LT xu30 == LT)) foldr (++) [] (map (range0 LT xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];446 -> 545[label="",style="solid", color="black", weight=3]; 58.54/37.21 447[label="(++) range00 LT (True && LT >= xu30) foldr (++) [] (map (range0 EQ xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];447 -> 546[label="",style="solid", color="black", weight=3]; 58.54/37.21 448[label="(++) range00 LT (True && LT >= xu30) foldr (++) [] (map (range0 GT xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];448 -> 547[label="",style="solid", color="black", weight=3]; 58.54/37.21 449[label="(++) range60 False (not (compare3 False xu30 == LT)) foldr (++) [] (map (range6 False xu30) (True : []))",fontsize=16,color="black",shape="box"];449 -> 548[label="",style="solid", color="black", weight=3]; 58.54/37.21 450[label="(++) range60 False (True && False >= xu30) foldr (++) [] (map (range6 True xu30) (True : []))",fontsize=16,color="black",shape="box"];450 -> 549[label="",style="solid", color="black", weight=3]; 58.54/37.21 2510[label="takeWhile1 (flip (<=) (Integer (Pos (Succ xu201)))) (Integer (Pos (Succ xu202))) (numericEnumFrom $! Integer (Pos (Succ xu202)) + fromInt (Pos (Succ Zero))) (not (primCmpNat (Succ xu2030) xu204 == GT))",fontsize=16,color="burlywood",shape="box"];3142[label="xu204/Succ xu2040",fontsize=10,color="white",style="solid",shape="box"];2510 -> 3142[label="",style="solid", color="burlywood", weight=9]; 58.54/37.21 3142 -> 2561[label="",style="solid", color="burlywood", weight=3]; 58.54/37.21 3143[label="xu204/Zero",fontsize=10,color="white",style="solid",shape="box"];2510 -> 3143[label="",style="solid", color="burlywood", weight=9]; 58.54/37.21 3143 -> 2562[label="",style="solid", color="burlywood", weight=3]; 58.54/37.21 2511[label="takeWhile1 (flip (<=) (Integer (Pos (Succ xu201)))) (Integer (Pos (Succ xu202))) (numericEnumFrom $! Integer (Pos (Succ xu202)) + fromInt (Pos (Succ Zero))) (not (primCmpNat Zero xu204 == GT))",fontsize=16,color="burlywood",shape="box"];3144[label="xu204/Succ xu2040",fontsize=10,color="white",style="solid",shape="box"];2511 -> 3144[label="",style="solid", color="burlywood", weight=9]; 58.54/37.21 3144 -> 2563[label="",style="solid", color="burlywood", weight=3]; 58.54/37.21 3145[label="xu204/Zero",fontsize=10,color="white",style="solid",shape="box"];2511 -> 3145[label="",style="solid", color="burlywood", weight=9]; 58.54/37.21 3145 -> 2564[label="",style="solid", color="burlywood", weight=3]; 58.54/37.21 455[label="takeWhile1 (flip (<=) (Integer (Pos Zero))) (Integer (Pos (Succ xu30000))) (numericEnumFrom $! Integer (Pos (Succ xu30000)) + fromInt (Pos (Succ Zero))) False",fontsize=16,color="black",shape="box"];455 -> 554[label="",style="solid", color="black", weight=3]; 58.54/37.21 456[label="takeWhile0 (flip (<=) (Integer (Neg xu3100))) (Integer (Pos (Succ xu30000))) (numericEnumFrom $! Integer (Pos (Succ xu30000)) + fromInt (Pos (Succ Zero))) True",fontsize=16,color="black",shape="box"];456 -> 555[label="",style="solid", color="black", weight=3]; 58.54/37.21 457[label="takeWhile1 (flip (<=) (Integer (Pos (Succ xu31000)))) (Integer (Pos Zero)) (numericEnumFrom $! Integer (Pos Zero) + fromInt (Pos (Succ Zero))) True",fontsize=16,color="black",shape="box"];457 -> 556[label="",style="solid", color="black", weight=3]; 58.54/37.21 458[label="Integer (Pos Zero) : takeWhile (flip (<=) (Integer (Pos Zero))) (numericEnumFrom $! Integer (Pos Zero) + fromInt (Pos (Succ Zero)))",fontsize=16,color="green",shape="box"];458 -> 557[label="",style="dashed", color="green", weight=3]; 58.54/37.21 459[label="takeWhile0 (flip (<=) (Integer (Neg (Succ xu31000)))) (Integer (Pos Zero)) (numericEnumFrom $! Integer (Pos Zero) + fromInt (Pos (Succ Zero))) otherwise",fontsize=16,color="black",shape="box"];459 -> 558[label="",style="solid", color="black", weight=3]; 58.54/37.21 460[label="Integer (Pos Zero) : takeWhile (flip (<=) (Integer (Neg Zero))) (numericEnumFrom $! Integer (Pos Zero) + fromInt (Pos (Succ Zero)))",fontsize=16,color="green",shape="box"];460 -> 559[label="",style="dashed", color="green", weight=3]; 58.54/37.21 461[label="takeWhile (flip (<=) (Integer (Pos xu3100))) (numericEnumFrom $! Integer (Neg (Succ xu30000)) + fromInt (Pos (Succ Zero)))",fontsize=16,color="black",shape="box"];461 -> 560[label="",style="solid", color="black", weight=3]; 58.54/37.21 2554[label="takeWhile1 (flip (<=) (Integer (Neg (Succ xu206)))) (Integer (Neg (Succ xu207))) (numericEnumFrom $! Integer (Neg (Succ xu207)) + fromInt (Pos (Succ Zero))) (not (primCmpNat (Succ xu2080) xu209 == GT))",fontsize=16,color="burlywood",shape="box"];3146[label="xu209/Succ xu2090",fontsize=10,color="white",style="solid",shape="box"];2554 -> 3146[label="",style="solid", color="burlywood", weight=9]; 58.54/37.21 3146 -> 2579[label="",style="solid", color="burlywood", weight=3]; 58.54/37.21 3147[label="xu209/Zero",fontsize=10,color="white",style="solid",shape="box"];2554 -> 3147[label="",style="solid", color="burlywood", weight=9]; 58.54/37.21 3147 -> 2580[label="",style="solid", color="burlywood", weight=3]; 58.54/37.21 2555[label="takeWhile1 (flip (<=) (Integer (Neg (Succ xu206)))) (Integer (Neg (Succ xu207))) (numericEnumFrom $! Integer (Neg (Succ xu207)) + fromInt (Pos (Succ Zero))) (not (primCmpNat Zero xu209 == GT))",fontsize=16,color="burlywood",shape="box"];3148[label="xu209/Succ xu2090",fontsize=10,color="white",style="solid",shape="box"];2555 -> 3148[label="",style="solid", color="burlywood", weight=9]; 58.54/37.21 3148 -> 2581[label="",style="solid", color="burlywood", weight=3]; 58.54/37.21 3149[label="xu209/Zero",fontsize=10,color="white",style="solid",shape="box"];2555 -> 3149[label="",style="solid", color="burlywood", weight=9]; 58.54/37.21 3149 -> 2582[label="",style="solid", color="burlywood", weight=3]; 58.54/37.21 466[label="takeWhile1 (flip (<=) (Integer (Neg Zero))) (Integer (Neg (Succ xu30000))) (numericEnumFrom $! Integer (Neg (Succ xu30000)) + fromInt (Pos (Succ Zero))) True",fontsize=16,color="black",shape="box"];466 -> 565[label="",style="solid", color="black", weight=3]; 58.54/37.21 467[label="Integer (Neg Zero) : takeWhile (flip (<=) (Integer (Pos (Succ xu31000)))) (numericEnumFrom $! Integer (Neg Zero) + fromInt (Pos (Succ Zero)))",fontsize=16,color="green",shape="box"];467 -> 566[label="",style="dashed", color="green", weight=3]; 58.54/37.21 468[label="Integer (Neg Zero) : takeWhile (flip (<=) (Integer (Pos Zero))) (numericEnumFrom $! Integer (Neg Zero) + fromInt (Pos (Succ Zero)))",fontsize=16,color="green",shape="box"];468 -> 567[label="",style="dashed", color="green", weight=3]; 58.54/37.21 469[label="takeWhile1 (flip (<=) (Integer (Neg (Succ xu31000)))) (Integer (Neg Zero)) (numericEnumFrom $! Integer (Neg Zero) + fromInt (Pos (Succ Zero))) False",fontsize=16,color="black",shape="box"];469 -> 568[label="",style="solid", color="black", weight=3]; 58.54/37.21 470[label="Integer (Neg Zero) : takeWhile (flip (<=) (Integer (Neg Zero))) (numericEnumFrom $! Integer (Neg Zero) + fromInt (Pos (Succ Zero)))",fontsize=16,color="green",shape="box"];470 -> 569[label="",style="dashed", color="green", weight=3]; 58.54/37.21 954[label="range ((xu130,xu131,xu132),(xu140,xu141,xu142))",fontsize=16,color="black",shape="box"];954 -> 1040[label="",style="solid", color="black", weight=3]; 58.54/37.21 955[label="range ((xu130,xu131),(xu140,xu141))",fontsize=16,color="black",shape="box"];955 -> 1041[label="",style="solid", color="black", weight=3]; 58.54/37.21 956 -> 474[label="",style="dashed", color="red", weight=0]; 58.54/37.21 956[label="(++) range4 xu50 xu51 xu52 xu530 foldr (++) [] (map (range4 xu50 xu51 xu52) xu531)",fontsize=16,color="magenta"];956 -> 1042[label="",style="dashed", color="magenta", weight=3]; 58.54/37.21 956 -> 1043[label="",style="dashed", color="magenta", weight=3]; 58.54/37.21 2330 -> 2275[label="",style="dashed", color="red", weight=0]; 58.54/37.21 2330[label="takeWhile1 (flip (<=) (Pos (Succ xu167))) (Pos (Succ xu168)) (numericEnumFrom $! Pos (Succ xu168) + fromInt (Pos (Succ Zero))) (not (primCmpNat xu1690 xu1700 == GT))",fontsize=16,color="magenta"];2330 -> 2337[label="",style="dashed", color="magenta", weight=3]; 58.54/37.21 2330 -> 2338[label="",style="dashed", color="magenta", weight=3]; 58.54/37.21 2331[label="takeWhile1 (flip (<=) (Pos (Succ xu167))) (Pos (Succ xu168)) (numericEnumFrom $! Pos (Succ xu168) + fromInt (Pos (Succ Zero))) (not (GT == GT))",fontsize=16,color="black",shape="box"];2331 -> 2339[label="",style="solid", color="black", weight=3]; 58.54/37.21 2332[label="takeWhile1 (flip (<=) (Pos (Succ xu167))) (Pos (Succ xu168)) (numericEnumFrom $! Pos (Succ xu168) + fromInt (Pos (Succ Zero))) (not (LT == GT))",fontsize=16,color="black",shape="box"];2332 -> 2340[label="",style="solid", color="black", weight=3]; 58.54/37.21 2333[label="takeWhile1 (flip (<=) (Pos (Succ xu167))) (Pos (Succ xu168)) (numericEnumFrom $! Pos (Succ xu168) + fromInt (Pos (Succ Zero))) (not (EQ == GT))",fontsize=16,color="black",shape="box"];2333 -> 2341[label="",style="solid", color="black", weight=3]; 58.54/37.21 502[label="takeWhile0 (flip (<=) (Pos Zero)) (Pos (Succ xu3000)) (numericEnumFrom $! Pos (Succ xu3000) + fromInt (Pos (Succ Zero))) True",fontsize=16,color="black",shape="box"];502 -> 577[label="",style="solid", color="black", weight=3]; 58.54/37.21 503[label="takeWhile (flip (<=) (Pos (Succ xu3100))) (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero)))",fontsize=16,color="black",shape="box"];503 -> 578[label="",style="solid", color="black", weight=3]; 58.54/37.21 504[label="takeWhile (flip (<=) (Pos Zero)) (Pos Zero + fromInt (Pos (Succ Zero)) `seq` numericEnumFrom (Pos Zero + fromInt (Pos (Succ Zero))))",fontsize=16,color="black",shape="box"];504 -> 579[label="",style="solid", color="black", weight=3]; 58.54/37.21 505[label="[]",fontsize=16,color="green",shape="box"];506[label="takeWhile (flip (<=) (Neg Zero)) (Pos Zero + fromInt (Pos (Succ Zero)) `seq` numericEnumFrom (Pos Zero + fromInt (Pos (Succ Zero))))",fontsize=16,color="black",shape="box"];506 -> 580[label="",style="solid", color="black", weight=3]; 58.54/37.21 507[label="takeWhile (flip (<=) (Pos xu310)) (enforceWHNF (WHNF (Neg (Succ xu3000) + fromInt (Pos (Succ Zero)))) (numericEnumFrom (Neg (Succ xu3000) + fromInt (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];507 -> 581[label="",style="solid", color="black", weight=3]; 58.54/37.21 2556[label="xu3000",fontsize=16,color="green",shape="box"];985[label="primPlusInt (Neg (Succ xu30000)) (Pos (Succ Zero))",fontsize=16,color="black",shape="triangle"];985 -> 1073[label="",style="solid", color="black", weight=3]; 58.54/37.21 2557 -> 2391[label="",style="dashed", color="red", weight=0]; 58.54/37.21 2557[label="takeWhile1 (flip (<=) (Neg (Succ xu195))) (Neg (Succ xu196)) (numericEnumFrom $! xu197) (not (primCmpNat xu1980 xu1990 == GT))",fontsize=16,color="magenta"];2557 -> 2583[label="",style="dashed", color="magenta", weight=3]; 58.54/37.21 2557 -> 2584[label="",style="dashed", color="magenta", weight=3]; 58.54/37.21 2558[label="takeWhile1 (flip (<=) (Neg (Succ xu195))) (Neg (Succ xu196)) (numericEnumFrom $! xu197) (not (GT == GT))",fontsize=16,color="black",shape="box"];2558 -> 2585[label="",style="solid", color="black", weight=3]; 58.54/37.21 2559[label="takeWhile1 (flip (<=) (Neg (Succ xu195))) (Neg (Succ xu196)) (numericEnumFrom $! xu197) (not (LT == GT))",fontsize=16,color="black",shape="box"];2559 -> 2586[label="",style="solid", color="black", weight=3]; 58.54/37.21 2560[label="takeWhile1 (flip (<=) (Neg (Succ xu195))) (Neg (Succ xu196)) (numericEnumFrom $! xu197) (not (EQ == GT))",fontsize=16,color="black",shape="box"];2560 -> 2587[label="",style="solid", color="black", weight=3]; 58.54/37.21 513[label="takeWhile (flip (<=) (Neg Zero)) (numericEnumFrom $! Neg (Succ xu3000) + fromInt (Pos (Succ Zero)))",fontsize=16,color="black",shape="box"];513 -> 589[label="",style="solid", color="black", weight=3]; 58.54/37.21 514[label="takeWhile (flip (<=) (Pos (Succ xu3100))) (Neg Zero + fromInt (Pos (Succ Zero)) `seq` numericEnumFrom (Neg Zero + fromInt (Pos (Succ Zero))))",fontsize=16,color="black",shape="box"];514 -> 590[label="",style="solid", color="black", weight=3]; 58.54/37.21 515[label="takeWhile (flip (<=) (Pos Zero)) (Neg Zero + fromInt (Pos (Succ Zero)) `seq` numericEnumFrom (Neg Zero + fromInt (Pos (Succ Zero))))",fontsize=16,color="black",shape="box"];515 -> 591[label="",style="solid", color="black", weight=3]; 58.54/37.21 516[label="takeWhile0 (flip (<=) (Neg (Succ xu3100))) (Neg Zero) (numericEnumFrom $! Neg Zero + fromInt (Pos (Succ Zero))) True",fontsize=16,color="black",shape="box"];516 -> 592[label="",style="solid", color="black", weight=3]; 58.54/37.21 517[label="takeWhile (flip (<=) (Neg Zero)) (Neg Zero + fromInt (Pos (Succ Zero)) `seq` numericEnumFrom (Neg Zero + fromInt (Pos (Succ Zero))))",fontsize=16,color="black",shape="box"];517 -> 593[label="",style="solid", color="black", weight=3]; 58.54/37.21 957 -> 519[label="",style="dashed", color="red", weight=0]; 58.54/37.21 957[label="(++) range1 xu57 xu580 foldr (++) [] (map (range1 xu57) xu581)",fontsize=16,color="magenta"];957 -> 1044[label="",style="dashed", color="magenta", weight=3]; 58.54/37.21 957 -> 1045[label="",style="dashed", color="magenta", weight=3]; 58.54/37.21 545[label="(++) range00 LT (not (compare2 LT xu30 (LT == xu30) == LT)) foldr (++) [] (map (range0 LT xu30) (EQ : GT : []))",fontsize=16,color="burlywood",shape="box"];3150[label="xu30/LT",fontsize=10,color="white",style="solid",shape="box"];545 -> 3150[label="",style="solid", color="burlywood", weight=9]; 58.54/37.21 3150 -> 599[label="",style="solid", color="burlywood", weight=3]; 58.54/37.21 3151[label="xu30/EQ",fontsize=10,color="white",style="solid",shape="box"];545 -> 3151[label="",style="solid", color="burlywood", weight=9]; 58.54/37.21 3151 -> 600[label="",style="solid", color="burlywood", weight=3]; 58.54/37.21 3152[label="xu30/GT",fontsize=10,color="white",style="solid",shape="box"];545 -> 3152[label="",style="solid", color="burlywood", weight=9]; 58.54/37.21 3152 -> 601[label="",style="solid", color="burlywood", weight=3]; 58.54/37.21 546[label="(++) range00 LT (LT >= xu30) foldr (++) [] (map (range0 EQ xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];546 -> 602[label="",style="solid", color="black", weight=3]; 58.54/37.21 547[label="(++) range00 LT (LT >= xu30) foldr (++) [] (map (range0 GT xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];547 -> 603[label="",style="solid", color="black", weight=3]; 58.54/37.21 548[label="(++) range60 False (not (compare2 False xu30 (False == xu30) == LT)) foldr (++) [] (map (range6 False xu30) (True : []))",fontsize=16,color="burlywood",shape="box"];3153[label="xu30/False",fontsize=10,color="white",style="solid",shape="box"];548 -> 3153[label="",style="solid", color="burlywood", weight=9]; 58.54/37.21 3153 -> 604[label="",style="solid", color="burlywood", weight=3]; 58.54/37.21 3154[label="xu30/True",fontsize=10,color="white",style="solid",shape="box"];548 -> 3154[label="",style="solid", color="burlywood", weight=9]; 58.54/37.21 3154 -> 605[label="",style="solid", color="burlywood", weight=3]; 58.54/37.21 549[label="(++) range60 False (False >= xu30) foldr (++) [] (map (range6 True xu30) (True : []))",fontsize=16,color="black",shape="box"];549 -> 606[label="",style="solid", color="black", weight=3]; 58.54/37.21 2561[label="takeWhile1 (flip (<=) (Integer (Pos (Succ xu201)))) (Integer (Pos (Succ xu202))) (numericEnumFrom $! Integer (Pos (Succ xu202)) + fromInt (Pos (Succ Zero))) (not (primCmpNat (Succ xu2030) (Succ xu2040) == GT))",fontsize=16,color="black",shape="box"];2561 -> 2588[label="",style="solid", color="black", weight=3]; 58.54/37.21 2562[label="takeWhile1 (flip (<=) (Integer (Pos (Succ xu201)))) (Integer (Pos (Succ xu202))) (numericEnumFrom $! Integer (Pos (Succ xu202)) + fromInt (Pos (Succ Zero))) (not (primCmpNat (Succ xu2030) Zero == GT))",fontsize=16,color="black",shape="box"];2562 -> 2589[label="",style="solid", color="black", weight=3]; 58.54/37.21 2563[label="takeWhile1 (flip (<=) (Integer (Pos (Succ xu201)))) (Integer (Pos (Succ xu202))) (numericEnumFrom $! Integer (Pos (Succ xu202)) + fromInt (Pos (Succ Zero))) (not (primCmpNat Zero (Succ xu2040) == GT))",fontsize=16,color="black",shape="box"];2563 -> 2590[label="",style="solid", color="black", weight=3]; 58.54/37.21 2564[label="takeWhile1 (flip (<=) (Integer (Pos (Succ xu201)))) (Integer (Pos (Succ xu202))) (numericEnumFrom $! Integer (Pos (Succ xu202)) + fromInt (Pos (Succ Zero))) (not (primCmpNat Zero Zero == GT))",fontsize=16,color="black",shape="box"];2564 -> 2591[label="",style="solid", color="black", weight=3]; 58.54/37.21 554[label="takeWhile0 (flip (<=) (Integer (Pos Zero))) (Integer (Pos (Succ xu30000))) (numericEnumFrom $! Integer (Pos (Succ xu30000)) + fromInt (Pos (Succ Zero))) otherwise",fontsize=16,color="black",shape="box"];554 -> 612[label="",style="solid", color="black", weight=3]; 58.54/37.21 555[label="[]",fontsize=16,color="green",shape="box"];556[label="Integer (Pos Zero) : takeWhile (flip (<=) (Integer (Pos (Succ xu31000)))) (numericEnumFrom $! Integer (Pos Zero) + fromInt (Pos (Succ Zero)))",fontsize=16,color="green",shape="box"];556 -> 613[label="",style="dashed", color="green", weight=3]; 58.54/37.21 557[label="takeWhile (flip (<=) (Integer (Pos Zero))) (numericEnumFrom $! Integer (Pos Zero) + fromInt (Pos (Succ Zero)))",fontsize=16,color="black",shape="box"];557 -> 614[label="",style="solid", color="black", weight=3]; 58.54/37.21 558[label="takeWhile0 (flip (<=) (Integer (Neg (Succ xu31000)))) (Integer (Pos Zero)) (numericEnumFrom $! Integer (Pos Zero) + fromInt (Pos (Succ Zero))) True",fontsize=16,color="black",shape="box"];558 -> 615[label="",style="solid", color="black", weight=3]; 58.54/37.21 559[label="takeWhile (flip (<=) (Integer (Neg Zero))) (numericEnumFrom $! Integer (Pos Zero) + fromInt (Pos (Succ Zero)))",fontsize=16,color="black",shape="box"];559 -> 616[label="",style="solid", color="black", weight=3]; 58.54/37.21 560[label="takeWhile (flip (<=) (Integer (Pos xu3100))) (Integer (Neg (Succ xu30000)) + fromInt (Pos (Succ Zero)) `seq` numericEnumFrom (Integer (Neg (Succ xu30000)) + fromInt (Pos (Succ Zero))))",fontsize=16,color="black",shape="box"];560 -> 617[label="",style="solid", color="black", weight=3]; 58.54/37.21 2579[label="takeWhile1 (flip (<=) (Integer (Neg (Succ xu206)))) (Integer (Neg (Succ xu207))) (numericEnumFrom $! Integer (Neg (Succ xu207)) + fromInt (Pos (Succ Zero))) (not (primCmpNat (Succ xu2080) (Succ xu2090) == GT))",fontsize=16,color="black",shape="box"];2579 -> 2606[label="",style="solid", color="black", weight=3]; 58.54/37.21 2580[label="takeWhile1 (flip (<=) (Integer (Neg (Succ xu206)))) (Integer (Neg (Succ xu207))) (numericEnumFrom $! Integer (Neg (Succ xu207)) + fromInt (Pos (Succ Zero))) (not (primCmpNat (Succ xu2080) Zero == GT))",fontsize=16,color="black",shape="box"];2580 -> 2607[label="",style="solid", color="black", weight=3]; 58.54/37.21 2581[label="takeWhile1 (flip (<=) (Integer (Neg (Succ xu206)))) (Integer (Neg (Succ xu207))) (numericEnumFrom $! Integer (Neg (Succ xu207)) + fromInt (Pos (Succ Zero))) (not (primCmpNat Zero (Succ xu2090) == GT))",fontsize=16,color="black",shape="box"];2581 -> 2608[label="",style="solid", color="black", weight=3]; 58.54/37.21 2582[label="takeWhile1 (flip (<=) (Integer (Neg (Succ xu206)))) (Integer (Neg (Succ xu207))) (numericEnumFrom $! Integer (Neg (Succ xu207)) + fromInt (Pos (Succ Zero))) (not (primCmpNat Zero Zero == GT))",fontsize=16,color="black",shape="box"];2582 -> 2609[label="",style="solid", color="black", weight=3]; 58.54/37.21 565[label="Integer (Neg (Succ xu30000)) : takeWhile (flip (<=) (Integer (Neg Zero))) (numericEnumFrom $! Integer (Neg (Succ xu30000)) + fromInt (Pos (Succ Zero)))",fontsize=16,color="green",shape="box"];565 -> 623[label="",style="dashed", color="green", weight=3]; 58.54/37.21 566[label="takeWhile (flip (<=) (Integer (Pos (Succ xu31000)))) (numericEnumFrom $! Integer (Neg Zero) + fromInt (Pos (Succ Zero)))",fontsize=16,color="black",shape="box"];566 -> 624[label="",style="solid", color="black", weight=3]; 58.54/37.21 567[label="takeWhile (flip (<=) (Integer (Pos Zero))) (numericEnumFrom $! Integer (Neg Zero) + fromInt (Pos (Succ Zero)))",fontsize=16,color="black",shape="box"];567 -> 625[label="",style="solid", color="black", weight=3]; 58.54/37.21 568[label="takeWhile0 (flip (<=) (Integer (Neg (Succ xu31000)))) (Integer (Neg Zero)) (numericEnumFrom $! Integer (Neg Zero) + fromInt (Pos (Succ Zero))) otherwise",fontsize=16,color="black",shape="box"];568 -> 626[label="",style="solid", color="black", weight=3]; 58.54/37.21 569[label="takeWhile (flip (<=) (Integer (Neg Zero))) (numericEnumFrom $! Integer (Neg Zero) + fromInt (Pos (Succ Zero)))",fontsize=16,color="black",shape="box"];569 -> 627[label="",style="solid", color="black", weight=3]; 58.54/37.21 1040[label="concatMap (range5 xu132 xu142 xu131 xu141) (range (xu130,xu140))",fontsize=16,color="black",shape="box"];1040 -> 1128[label="",style="solid", color="black", weight=3]; 58.54/37.21 1041[label="concatMap (range2 xu131 xu141) (range (xu130,xu140))",fontsize=16,color="black",shape="box"];1041 -> 1129[label="",style="solid", color="black", weight=3]; 58.54/37.21 1042[label="range4 xu50 xu51 xu52 xu530",fontsize=16,color="black",shape="box"];1042 -> 1130[label="",style="solid", color="black", weight=3]; 58.54/37.21 1043 -> 772[label="",style="dashed", color="red", weight=0]; 58.54/37.21 1043[label="foldr (++) [] (map (range4 xu50 xu51 xu52) xu531)",fontsize=16,color="magenta"];1043 -> 1131[label="",style="dashed", color="magenta", weight=3]; 58.54/37.21 2337[label="xu1690",fontsize=16,color="green",shape="box"];2338[label="xu1700",fontsize=16,color="green",shape="box"];2339[label="takeWhile1 (flip (<=) (Pos (Succ xu167))) (Pos (Succ xu168)) (numericEnumFrom $! Pos (Succ xu168) + fromInt (Pos (Succ Zero))) (not True)",fontsize=16,color="black",shape="box"];2339 -> 2365[label="",style="solid", color="black", weight=3]; 58.54/37.21 2340[label="takeWhile1 (flip (<=) (Pos (Succ xu167))) (Pos (Succ xu168)) (numericEnumFrom $! Pos (Succ xu168) + fromInt (Pos (Succ Zero))) (not False)",fontsize=16,color="black",shape="triangle"];2340 -> 2366[label="",style="solid", color="black", weight=3]; 58.54/37.21 2341 -> 2340[label="",style="dashed", color="red", weight=0]; 58.54/37.21 2341[label="takeWhile1 (flip (<=) (Pos (Succ xu167))) (Pos (Succ xu168)) (numericEnumFrom $! Pos (Succ xu168) + fromInt (Pos (Succ Zero))) (not False)",fontsize=16,color="magenta"];577[label="[]",fontsize=16,color="green",shape="box"];578[label="takeWhile (flip (<=) (Pos (Succ xu3100))) (Pos Zero + fromInt (Pos (Succ Zero)) `seq` numericEnumFrom (Pos Zero + fromInt (Pos (Succ Zero))))",fontsize=16,color="black",shape="box"];578 -> 635[label="",style="solid", color="black", weight=3]; 58.54/37.21 579[label="takeWhile (flip (<=) (Pos Zero)) (enforceWHNF (WHNF (Pos Zero + fromInt (Pos (Succ Zero)))) (numericEnumFrom (Pos Zero + fromInt (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];579 -> 636[label="",style="solid", color="black", weight=3]; 58.54/37.21 580[label="takeWhile (flip (<=) (Neg Zero)) (enforceWHNF (WHNF (Pos Zero + fromInt (Pos (Succ Zero)))) (numericEnumFrom (Pos Zero + fromInt (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];580 -> 637[label="",style="solid", color="black", weight=3]; 58.54/37.21 581[label="takeWhile (flip (<=) (Pos xu310)) (enforceWHNF (WHNF (primPlusInt (Neg (Succ xu3000)) (fromInt (Pos (Succ Zero))))) (numericEnumFrom (primPlusInt (Neg (Succ xu3000)) (fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];581 -> 638[label="",style="solid", color="black", weight=3]; 58.54/37.21 1073[label="primMinusNat (Succ Zero) (Succ xu30000)",fontsize=16,color="black",shape="box"];1073 -> 1166[label="",style="solid", color="black", weight=3]; 58.54/37.21 2583[label="xu1980",fontsize=16,color="green",shape="box"];2584[label="xu1990",fontsize=16,color="green",shape="box"];2585[label="takeWhile1 (flip (<=) (Neg (Succ xu195))) (Neg (Succ xu196)) (numericEnumFrom $! xu197) (not True)",fontsize=16,color="black",shape="box"];2585 -> 2610[label="",style="solid", color="black", weight=3]; 58.54/37.21 2586[label="takeWhile1 (flip (<=) (Neg (Succ xu195))) (Neg (Succ xu196)) (numericEnumFrom $! xu197) (not False)",fontsize=16,color="black",shape="triangle"];2586 -> 2611[label="",style="solid", color="black", weight=3]; 58.54/37.21 2587 -> 2586[label="",style="dashed", color="red", weight=0]; 58.54/37.21 2587[label="takeWhile1 (flip (<=) (Neg (Succ xu195))) (Neg (Succ xu196)) (numericEnumFrom $! xu197) (not False)",fontsize=16,color="magenta"];589[label="takeWhile (flip (<=) (Neg Zero)) (Neg (Succ xu3000) + fromInt (Pos (Succ Zero)) `seq` numericEnumFrom (Neg (Succ xu3000) + fromInt (Pos (Succ Zero))))",fontsize=16,color="black",shape="box"];589 -> 646[label="",style="solid", color="black", weight=3]; 58.54/37.21 590[label="takeWhile (flip (<=) (Pos (Succ xu3100))) (enforceWHNF (WHNF (Neg Zero + fromInt (Pos (Succ Zero)))) (numericEnumFrom (Neg Zero + fromInt (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];590 -> 647[label="",style="solid", color="black", weight=3]; 58.54/37.21 591[label="takeWhile (flip (<=) (Pos Zero)) (enforceWHNF (WHNF (Neg Zero + fromInt (Pos (Succ Zero)))) (numericEnumFrom (Neg Zero + fromInt (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];591 -> 648[label="",style="solid", color="black", weight=3]; 58.54/37.21 592[label="[]",fontsize=16,color="green",shape="box"];593[label="takeWhile (flip (<=) (Neg Zero)) (enforceWHNF (WHNF (Neg Zero + fromInt (Pos (Succ Zero)))) (numericEnumFrom (Neg Zero + fromInt (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];593 -> 649[label="",style="solid", color="black", weight=3]; 58.54/37.21 1044[label="range1 xu57 xu580",fontsize=16,color="black",shape="box"];1044 -> 1132[label="",style="solid", color="black", weight=3]; 58.54/37.21 1045 -> 777[label="",style="dashed", color="red", weight=0]; 58.54/37.21 1045[label="foldr (++) [] (map (range1 xu57) xu581)",fontsize=16,color="magenta"];1045 -> 1133[label="",style="dashed", color="magenta", weight=3]; 58.54/37.21 599[label="(++) range00 LT (not (compare2 LT LT (LT == LT) == LT)) foldr (++) [] (map (range0 LT LT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];599 -> 654[label="",style="solid", color="black", weight=3]; 58.54/37.21 600[label="(++) range00 LT (not (compare2 LT EQ (LT == EQ) == LT)) foldr (++) [] (map (range0 LT EQ) (EQ : GT : []))",fontsize=16,color="black",shape="box"];600 -> 655[label="",style="solid", color="black", weight=3]; 58.54/37.21 601[label="(++) range00 LT (not (compare2 LT GT (LT == GT) == LT)) foldr (++) [] (map (range0 LT GT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];601 -> 656[label="",style="solid", color="black", weight=3]; 58.54/37.21 602[label="(++) range00 LT (compare LT xu30 /= LT) foldr (++) [] (map (range0 EQ xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];602 -> 657[label="",style="solid", color="black", weight=3]; 58.54/37.21 603[label="(++) range00 LT (compare LT xu30 /= LT) foldr (++) [] (map (range0 GT xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];603 -> 658[label="",style="solid", color="black", weight=3]; 58.54/37.21 604[label="(++) range60 False (not (compare2 False False (False == False) == LT)) foldr (++) [] (map (range6 False False) (True : []))",fontsize=16,color="black",shape="box"];604 -> 659[label="",style="solid", color="black", weight=3]; 58.54/37.21 605[label="(++) range60 False (not (compare2 False True (False == True) == LT)) foldr (++) [] (map (range6 False True) (True : []))",fontsize=16,color="black",shape="box"];605 -> 660[label="",style="solid", color="black", weight=3]; 58.54/37.21 606[label="(++) range60 False (compare False xu30 /= LT) foldr (++) [] (map (range6 True xu30) (True : []))",fontsize=16,color="black",shape="box"];606 -> 661[label="",style="solid", color="black", weight=3]; 58.54/37.21 2588 -> 2464[label="",style="dashed", color="red", weight=0]; 58.54/37.21 2588[label="takeWhile1 (flip (<=) (Integer (Pos (Succ xu201)))) (Integer (Pos (Succ xu202))) (numericEnumFrom $! Integer (Pos (Succ xu202)) + fromInt (Pos (Succ Zero))) (not (primCmpNat xu2030 xu2040 == GT))",fontsize=16,color="magenta"];2588 -> 2612[label="",style="dashed", color="magenta", weight=3]; 58.54/37.21 2588 -> 2613[label="",style="dashed", color="magenta", weight=3]; 58.54/37.21 2589[label="takeWhile1 (flip (<=) (Integer (Pos (Succ xu201)))) (Integer (Pos (Succ xu202))) (numericEnumFrom $! Integer (Pos (Succ xu202)) + fromInt (Pos (Succ Zero))) (not (GT == GT))",fontsize=16,color="black",shape="box"];2589 -> 2614[label="",style="solid", color="black", weight=3]; 58.54/37.21 2590[label="takeWhile1 (flip (<=) (Integer (Pos (Succ xu201)))) (Integer (Pos (Succ xu202))) (numericEnumFrom $! Integer (Pos (Succ xu202)) + fromInt (Pos (Succ Zero))) (not (LT == GT))",fontsize=16,color="black",shape="box"];2590 -> 2615[label="",style="solid", color="black", weight=3]; 58.54/37.21 2591[label="takeWhile1 (flip (<=) (Integer (Pos (Succ xu201)))) (Integer (Pos (Succ xu202))) (numericEnumFrom $! Integer (Pos (Succ xu202)) + fromInt (Pos (Succ Zero))) (not (EQ == GT))",fontsize=16,color="black",shape="box"];2591 -> 2616[label="",style="solid", color="black", weight=3]; 58.54/37.21 612[label="takeWhile0 (flip (<=) (Integer (Pos Zero))) (Integer (Pos (Succ xu30000))) (numericEnumFrom $! Integer (Pos (Succ xu30000)) + fromInt (Pos (Succ Zero))) True",fontsize=16,color="black",shape="box"];612 -> 669[label="",style="solid", color="black", weight=3]; 58.54/37.21 613[label="takeWhile (flip (<=) (Integer (Pos (Succ xu31000)))) (numericEnumFrom $! Integer (Pos Zero) + fromInt (Pos (Succ Zero)))",fontsize=16,color="black",shape="box"];613 -> 670[label="",style="solid", color="black", weight=3]; 58.54/37.21 614[label="takeWhile (flip (<=) (Integer (Pos Zero))) (Integer (Pos Zero) + fromInt (Pos (Succ Zero)) `seq` numericEnumFrom (Integer (Pos Zero) + fromInt (Pos (Succ Zero))))",fontsize=16,color="black",shape="box"];614 -> 671[label="",style="solid", color="black", weight=3]; 58.54/37.21 615[label="[]",fontsize=16,color="green",shape="box"];616[label="takeWhile (flip (<=) (Integer (Neg Zero))) (Integer (Pos Zero) + fromInt (Pos (Succ Zero)) `seq` numericEnumFrom (Integer (Pos Zero) + fromInt (Pos (Succ Zero))))",fontsize=16,color="black",shape="box"];616 -> 672[label="",style="solid", color="black", weight=3]; 58.54/37.21 617[label="takeWhile (flip (<=) (Integer (Pos xu3100))) (enforceWHNF (WHNF (Integer (Neg (Succ xu30000)) + fromInt (Pos (Succ Zero)))) (numericEnumFrom (Integer (Neg (Succ xu30000)) + fromInt (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];617 -> 673[label="",style="solid", color="black", weight=3]; 58.54/37.21 2606 -> 2513[label="",style="dashed", color="red", weight=0]; 58.54/37.21 2606[label="takeWhile1 (flip (<=) (Integer (Neg (Succ xu206)))) (Integer (Neg (Succ xu207))) (numericEnumFrom $! Integer (Neg (Succ xu207)) + fromInt (Pos (Succ Zero))) (not (primCmpNat xu2080 xu2090 == GT))",fontsize=16,color="magenta"];2606 -> 2631[label="",style="dashed", color="magenta", weight=3]; 58.54/37.21 2606 -> 2632[label="",style="dashed", color="magenta", weight=3]; 58.54/37.21 2607[label="takeWhile1 (flip (<=) (Integer (Neg (Succ xu206)))) (Integer (Neg (Succ xu207))) (numericEnumFrom $! Integer (Neg (Succ xu207)) + fromInt (Pos (Succ Zero))) (not (GT == GT))",fontsize=16,color="black",shape="box"];2607 -> 2633[label="",style="solid", color="black", weight=3]; 58.54/37.21 2608[label="takeWhile1 (flip (<=) (Integer (Neg (Succ xu206)))) (Integer (Neg (Succ xu207))) (numericEnumFrom $! Integer (Neg (Succ xu207)) + fromInt (Pos (Succ Zero))) (not (LT == GT))",fontsize=16,color="black",shape="box"];2608 -> 2634[label="",style="solid", color="black", weight=3]; 58.54/37.21 2609[label="takeWhile1 (flip (<=) (Integer (Neg (Succ xu206)))) (Integer (Neg (Succ xu207))) (numericEnumFrom $! Integer (Neg (Succ xu207)) + fromInt (Pos (Succ Zero))) (not (EQ == GT))",fontsize=16,color="black",shape="box"];2609 -> 2635[label="",style="solid", color="black", weight=3]; 58.54/37.21 623[label="takeWhile (flip (<=) (Integer (Neg Zero))) (numericEnumFrom $! Integer (Neg (Succ xu30000)) + fromInt (Pos (Succ Zero)))",fontsize=16,color="black",shape="box"];623 -> 681[label="",style="solid", color="black", weight=3]; 58.54/37.21 624[label="takeWhile (flip (<=) (Integer (Pos (Succ xu31000)))) (Integer (Neg Zero) + fromInt (Pos (Succ Zero)) `seq` numericEnumFrom (Integer (Neg Zero) + fromInt (Pos (Succ Zero))))",fontsize=16,color="black",shape="box"];624 -> 682[label="",style="solid", color="black", weight=3]; 58.54/37.21 625[label="takeWhile (flip (<=) (Integer (Pos Zero))) (Integer (Neg Zero) + fromInt (Pos (Succ Zero)) `seq` numericEnumFrom (Integer (Neg Zero) + fromInt (Pos (Succ Zero))))",fontsize=16,color="black",shape="box"];625 -> 683[label="",style="solid", color="black", weight=3]; 58.54/37.21 626[label="takeWhile0 (flip (<=) (Integer (Neg (Succ xu31000)))) (Integer (Neg Zero)) (numericEnumFrom $! Integer (Neg Zero) + fromInt (Pos (Succ Zero))) True",fontsize=16,color="black",shape="box"];626 -> 684[label="",style="solid", color="black", weight=3]; 58.54/37.21 627[label="takeWhile (flip (<=) (Integer (Neg Zero))) (Integer (Neg Zero) + fromInt (Pos (Succ Zero)) `seq` numericEnumFrom (Integer (Neg Zero) + fromInt (Pos (Succ Zero))))",fontsize=16,color="black",shape="box"];627 -> 685[label="",style="solid", color="black", weight=3]; 58.54/37.21 1128[label="concat . map (range5 xu132 xu142 xu131 xu141)",fontsize=16,color="black",shape="box"];1128 -> 1195[label="",style="solid", color="black", weight=3]; 58.54/37.21 1129[label="concat . map (range2 xu131 xu141)",fontsize=16,color="black",shape="box"];1129 -> 1196[label="",style="solid", color="black", weight=3]; 58.54/37.21 1130[label="range40 xu50 xu51 xu52 xu530",fontsize=16,color="black",shape="box"];1130 -> 1197[label="",style="solid", color="black", weight=3]; 58.54/37.21 1131[label="xu531",fontsize=16,color="green",shape="box"];2365[label="takeWhile1 (flip (<=) (Pos (Succ xu167))) (Pos (Succ xu168)) (numericEnumFrom $! Pos (Succ xu168) + fromInt (Pos (Succ Zero))) False",fontsize=16,color="black",shape="box"];2365 -> 2377[label="",style="solid", color="black", weight=3]; 58.54/37.21 2366[label="takeWhile1 (flip (<=) (Pos (Succ xu167))) (Pos (Succ xu168)) (numericEnumFrom $! Pos (Succ xu168) + fromInt (Pos (Succ Zero))) True",fontsize=16,color="black",shape="box"];2366 -> 2378[label="",style="solid", color="black", weight=3]; 58.54/37.21 635[label="takeWhile (flip (<=) (Pos (Succ xu3100))) (enforceWHNF (WHNF (Pos Zero + fromInt (Pos (Succ Zero)))) (numericEnumFrom (Pos Zero + fromInt (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];635 -> 694[label="",style="solid", color="black", weight=3]; 58.54/37.21 636[label="takeWhile (flip (<=) (Pos Zero)) (enforceWHNF (WHNF (primPlusInt (Pos Zero) (fromInt (Pos (Succ Zero))))) (numericEnumFrom (primPlusInt (Pos Zero) (fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];636 -> 695[label="",style="solid", color="black", weight=3]; 58.54/37.21 637[label="takeWhile (flip (<=) (Neg Zero)) (enforceWHNF (WHNF (primPlusInt (Pos Zero) (fromInt (Pos (Succ Zero))))) (numericEnumFrom (primPlusInt (Pos Zero) (fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];637 -> 696[label="",style="solid", color="black", weight=3]; 58.54/37.21 638[label="takeWhile (flip (<=) (Pos xu310)) (enforceWHNF (WHNF (primPlusInt (Neg (Succ xu3000)) (Pos (Succ Zero)))) (numericEnumFrom (primPlusInt (Neg (Succ xu3000)) (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];638 -> 697[label="",style="solid", color="black", weight=3]; 58.54/37.21 1166[label="primMinusNat Zero xu30000",fontsize=16,color="burlywood",shape="box"];3155[label="xu30000/Succ xu300000",fontsize=10,color="white",style="solid",shape="box"];1166 -> 3155[label="",style="solid", color="burlywood", weight=9]; 58.54/37.21 3155 -> 1322[label="",style="solid", color="burlywood", weight=3]; 58.54/37.21 3156[label="xu30000/Zero",fontsize=10,color="white",style="solid",shape="box"];1166 -> 3156[label="",style="solid", color="burlywood", weight=9]; 58.54/37.21 3156 -> 1323[label="",style="solid", color="burlywood", weight=3]; 58.54/37.21 2610[label="takeWhile1 (flip (<=) (Neg (Succ xu195))) (Neg (Succ xu196)) (numericEnumFrom $! xu197) False",fontsize=16,color="black",shape="box"];2610 -> 2636[label="",style="solid", color="black", weight=3]; 58.54/37.21 2611[label="takeWhile1 (flip (<=) (Neg (Succ xu195))) (Neg (Succ xu196)) (numericEnumFrom $! xu197) True",fontsize=16,color="black",shape="box"];2611 -> 2637[label="",style="solid", color="black", weight=3]; 58.54/37.21 646[label="takeWhile (flip (<=) (Neg Zero)) (enforceWHNF (WHNF (Neg (Succ xu3000) + fromInt (Pos (Succ Zero)))) (numericEnumFrom (Neg (Succ xu3000) + fromInt (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];646 -> 706[label="",style="solid", color="black", weight=3]; 58.54/37.21 647[label="takeWhile (flip (<=) (Pos (Succ xu3100))) (enforceWHNF (WHNF (primPlusInt (Neg Zero) (fromInt (Pos (Succ Zero))))) (numericEnumFrom (primPlusInt (Neg Zero) (fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];647 -> 707[label="",style="solid", color="black", weight=3]; 58.54/37.21 648[label="takeWhile (flip (<=) (Pos Zero)) (enforceWHNF (WHNF (primPlusInt (Neg Zero) (fromInt (Pos (Succ Zero))))) (numericEnumFrom (primPlusInt (Neg Zero) (fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];648 -> 708[label="",style="solid", color="black", weight=3]; 58.54/37.21 649[label="takeWhile (flip (<=) (Neg Zero)) (enforceWHNF (WHNF (primPlusInt (Neg Zero) (fromInt (Pos (Succ Zero))))) (numericEnumFrom (primPlusInt (Neg Zero) (fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];649 -> 709[label="",style="solid", color="black", weight=3]; 58.54/37.21 1132[label="range10 xu57 xu580",fontsize=16,color="black",shape="box"];1132 -> 1198[label="",style="solid", color="black", weight=3]; 58.54/37.21 1133[label="xu581",fontsize=16,color="green",shape="box"];654[label="(++) range00 LT (not (compare2 LT LT True == LT)) foldr (++) [] (map (range0 LT LT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];654 -> 713[label="",style="solid", color="black", weight=3]; 58.54/37.21 655[label="(++) range00 LT (not (compare2 LT EQ False == LT)) foldr (++) [] (map (range0 LT EQ) (EQ : GT : []))",fontsize=16,color="black",shape="box"];655 -> 714[label="",style="solid", color="black", weight=3]; 58.54/37.21 656[label="(++) range00 LT (not (compare2 LT GT False == LT)) foldr (++) [] (map (range0 LT GT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];656 -> 715[label="",style="solid", color="black", weight=3]; 58.54/37.21 657[label="(++) range00 LT (not (compare LT xu30 == LT)) foldr (++) [] (map (range0 EQ xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];657 -> 716[label="",style="solid", color="black", weight=3]; 58.54/37.21 658[label="(++) range00 LT (not (compare LT xu30 == LT)) foldr (++) [] (map (range0 GT xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];658 -> 717[label="",style="solid", color="black", weight=3]; 58.54/37.21 659[label="(++) range60 False (not (compare2 False False True == LT)) foldr (++) [] (map (range6 False False) (True : []))",fontsize=16,color="black",shape="box"];659 -> 718[label="",style="solid", color="black", weight=3]; 58.54/37.21 660[label="(++) range60 False (not (compare2 False True False == LT)) foldr (++) [] (map (range6 False True) (True : []))",fontsize=16,color="black",shape="box"];660 -> 719[label="",style="solid", color="black", weight=3]; 58.54/37.21 661[label="(++) range60 False (not (compare False xu30 == LT)) foldr (++) [] (map (range6 True xu30) (True : []))",fontsize=16,color="black",shape="box"];661 -> 720[label="",style="solid", color="black", weight=3]; 58.54/37.21 2612[label="xu2040",fontsize=16,color="green",shape="box"];2613[label="xu2030",fontsize=16,color="green",shape="box"];2614[label="takeWhile1 (flip (<=) (Integer (Pos (Succ xu201)))) (Integer (Pos (Succ xu202))) (numericEnumFrom $! Integer (Pos (Succ xu202)) + fromInt (Pos (Succ Zero))) (not True)",fontsize=16,color="black",shape="box"];2614 -> 2638[label="",style="solid", color="black", weight=3]; 58.54/37.21 2615[label="takeWhile1 (flip (<=) (Integer (Pos (Succ xu201)))) (Integer (Pos (Succ xu202))) (numericEnumFrom $! Integer (Pos (Succ xu202)) + fromInt (Pos (Succ Zero))) (not False)",fontsize=16,color="black",shape="triangle"];2615 -> 2639[label="",style="solid", color="black", weight=3]; 58.54/37.21 2616 -> 2615[label="",style="dashed", color="red", weight=0]; 58.54/37.21 2616[label="takeWhile1 (flip (<=) (Integer (Pos (Succ xu201)))) (Integer (Pos (Succ xu202))) (numericEnumFrom $! Integer (Pos (Succ xu202)) + fromInt (Pos (Succ Zero))) (not False)",fontsize=16,color="magenta"];669[label="[]",fontsize=16,color="green",shape="box"];670[label="takeWhile (flip (<=) (Integer (Pos (Succ xu31000)))) (Integer (Pos Zero) + fromInt (Pos (Succ Zero)) `seq` numericEnumFrom (Integer (Pos Zero) + fromInt (Pos (Succ Zero))))",fontsize=16,color="black",shape="box"];670 -> 728[label="",style="solid", color="black", weight=3]; 58.54/37.21 671[label="takeWhile (flip (<=) (Integer (Pos Zero))) (enforceWHNF (WHNF (Integer (Pos Zero) + fromInt (Pos (Succ Zero)))) (numericEnumFrom (Integer (Pos Zero) + fromInt (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];671 -> 729[label="",style="solid", color="black", weight=3]; 58.54/37.21 672[label="takeWhile (flip (<=) (Integer (Neg Zero))) (enforceWHNF (WHNF (Integer (Pos Zero) + fromInt (Pos (Succ Zero)))) (numericEnumFrom (Integer (Pos Zero) + fromInt (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];672 -> 730[label="",style="solid", color="black", weight=3]; 58.54/37.21 673[label="takeWhile (flip (<=) (Integer (Pos xu3100))) (enforceWHNF (WHNF (Integer (Neg (Succ xu30000)) + Integer (Pos (Succ Zero)))) (numericEnumFrom (Integer (Neg (Succ xu30000)) + Integer (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];673 -> 731[label="",style="solid", color="black", weight=3]; 58.54/37.21 2631[label="xu2080",fontsize=16,color="green",shape="box"];2632[label="xu2090",fontsize=16,color="green",shape="box"];2633[label="takeWhile1 (flip (<=) (Integer (Neg (Succ xu206)))) (Integer (Neg (Succ xu207))) (numericEnumFrom $! Integer (Neg (Succ xu207)) + fromInt (Pos (Succ Zero))) (not True)",fontsize=16,color="black",shape="box"];2633 -> 2654[label="",style="solid", color="black", weight=3]; 58.54/37.21 2634[label="takeWhile1 (flip (<=) (Integer (Neg (Succ xu206)))) (Integer (Neg (Succ xu207))) (numericEnumFrom $! Integer (Neg (Succ xu207)) + fromInt (Pos (Succ Zero))) (not False)",fontsize=16,color="black",shape="triangle"];2634 -> 2655[label="",style="solid", color="black", weight=3]; 58.54/37.21 2635 -> 2634[label="",style="dashed", color="red", weight=0]; 58.54/37.21 2635[label="takeWhile1 (flip (<=) (Integer (Neg (Succ xu206)))) (Integer (Neg (Succ xu207))) (numericEnumFrom $! Integer (Neg (Succ xu207)) + fromInt (Pos (Succ Zero))) (not False)",fontsize=16,color="magenta"];681[label="takeWhile (flip (<=) (Integer (Neg Zero))) (Integer (Neg (Succ xu30000)) + fromInt (Pos (Succ Zero)) `seq` numericEnumFrom (Integer (Neg (Succ xu30000)) + fromInt (Pos (Succ Zero))))",fontsize=16,color="black",shape="box"];681 -> 739[label="",style="solid", color="black", weight=3]; 58.54/37.21 682[label="takeWhile (flip (<=) (Integer (Pos (Succ xu31000)))) (enforceWHNF (WHNF (Integer (Neg Zero) + fromInt (Pos (Succ Zero)))) (numericEnumFrom (Integer (Neg Zero) + fromInt (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];682 -> 740[label="",style="solid", color="black", weight=3]; 58.54/37.21 683[label="takeWhile (flip (<=) (Integer (Pos Zero))) (enforceWHNF (WHNF (Integer (Neg Zero) + fromInt (Pos (Succ Zero)))) (numericEnumFrom (Integer (Neg Zero) + fromInt (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];683 -> 741[label="",style="solid", color="black", weight=3]; 58.54/37.21 684[label="[]",fontsize=16,color="green",shape="box"];685[label="takeWhile (flip (<=) (Integer (Neg Zero))) (enforceWHNF (WHNF (Integer (Neg Zero) + fromInt (Pos (Succ Zero)))) (numericEnumFrom (Integer (Neg Zero) + fromInt (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];685 -> 742[label="",style="solid", color="black", weight=3]; 58.54/37.21 1195[label="concat (map (range5 xu132 xu142 xu131 xu141) (range (xu130,xu140)))",fontsize=16,color="black",shape="box"];1195 -> 1205[label="",style="solid", color="black", weight=3]; 58.54/37.21 1196[label="concat (map (range2 xu131 xu141) (range (xu130,xu140)))",fontsize=16,color="black",shape="box"];1196 -> 1206[label="",style="solid", color="black", weight=3]; 58.54/37.21 1197[label="concatMap (range3 xu50 xu530) (range (xu51,xu52))",fontsize=16,color="black",shape="box"];1197 -> 1207[label="",style="solid", color="black", weight=3]; 58.54/37.21 2377[label="takeWhile0 (flip (<=) (Pos (Succ xu167))) (Pos (Succ xu168)) (numericEnumFrom $! Pos (Succ xu168) + fromInt (Pos (Succ Zero))) otherwise",fontsize=16,color="black",shape="box"];2377 -> 2381[label="",style="solid", color="black", weight=3]; 58.54/37.21 2378[label="Pos (Succ xu168) : takeWhile (flip (<=) (Pos (Succ xu167))) (numericEnumFrom $! Pos (Succ xu168) + fromInt (Pos (Succ Zero)))",fontsize=16,color="green",shape="box"];2378 -> 2382[label="",style="dashed", color="green", weight=3]; 58.54/37.21 694[label="takeWhile (flip (<=) (Pos (Succ xu3100))) (enforceWHNF (WHNF (primPlusInt (Pos Zero) (fromInt (Pos (Succ Zero))))) (numericEnumFrom (primPlusInt (Pos Zero) (fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];694 -> 753[label="",style="solid", color="black", weight=3]; 58.54/37.21 695[label="takeWhile (flip (<=) (Pos Zero)) (enforceWHNF (WHNF (primPlusInt (Pos Zero) (Pos (Succ Zero)))) (numericEnumFrom (primPlusInt (Pos Zero) (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];695 -> 754[label="",style="solid", color="black", weight=3]; 58.54/37.21 696[label="takeWhile (flip (<=) (Neg Zero)) (enforceWHNF (WHNF (primPlusInt (Pos Zero) (Pos (Succ Zero)))) (numericEnumFrom (primPlusInt (Pos Zero) (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];696 -> 755[label="",style="solid", color="black", weight=3]; 58.54/37.21 697[label="takeWhile (flip (<=) (Pos xu310)) (enforceWHNF (WHNF (primMinusNat (Succ Zero) (Succ xu3000))) (numericEnumFrom (primMinusNat (Succ Zero) (Succ xu3000))))",fontsize=16,color="black",shape="box"];697 -> 756[label="",style="solid", color="black", weight=3]; 58.54/37.21 1322[label="primMinusNat Zero (Succ xu300000)",fontsize=16,color="black",shape="box"];1322 -> 1406[label="",style="solid", color="black", weight=3]; 58.54/37.21 1323[label="primMinusNat Zero Zero",fontsize=16,color="black",shape="box"];1323 -> 1407[label="",style="solid", color="black", weight=3]; 58.54/37.21 2636[label="takeWhile0 (flip (<=) (Neg (Succ xu195))) (Neg (Succ xu196)) (numericEnumFrom $! xu197) otherwise",fontsize=16,color="black",shape="box"];2636 -> 2656[label="",style="solid", color="black", weight=3]; 58.54/37.21 2637[label="Neg (Succ xu196) : takeWhile (flip (<=) (Neg (Succ xu195))) (numericEnumFrom $! xu197)",fontsize=16,color="green",shape="box"];2637 -> 2657[label="",style="dashed", color="green", weight=3]; 58.54/37.21 706[label="takeWhile (flip (<=) (Neg Zero)) (enforceWHNF (WHNF (primPlusInt (Neg (Succ xu3000)) (fromInt (Pos (Succ Zero))))) (numericEnumFrom (primPlusInt (Neg (Succ xu3000)) (fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];706 -> 767[label="",style="solid", color="black", weight=3]; 58.54/37.21 707[label="takeWhile (flip (<=) (Pos (Succ xu3100))) (enforceWHNF (WHNF (primPlusInt (Neg Zero) (Pos (Succ Zero)))) (numericEnumFrom (primPlusInt (Neg Zero) (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];707 -> 768[label="",style="solid", color="black", weight=3]; 58.54/37.21 708[label="takeWhile (flip (<=) (Pos Zero)) (enforceWHNF (WHNF (primPlusInt (Neg Zero) (Pos (Succ Zero)))) (numericEnumFrom (primPlusInt (Neg Zero) (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];708 -> 769[label="",style="solid", color="black", weight=3]; 58.54/37.21 709[label="takeWhile (flip (<=) (Neg Zero)) (enforceWHNF (WHNF (primPlusInt (Neg Zero) (Pos (Succ Zero)))) (numericEnumFrom (primPlusInt (Neg Zero) (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];709 -> 770[label="",style="solid", color="black", weight=3]; 58.54/37.21 1198[label="(xu57,xu580) : []",fontsize=16,color="green",shape="box"];713[label="(++) range00 LT (not (EQ == LT)) foldr (++) [] (map (range0 LT LT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];713 -> 800[label="",style="solid", color="black", weight=3]; 58.54/37.21 714[label="(++) range00 LT (not (compare1 LT EQ (LT <= EQ) == LT)) foldr (++) [] (map (range0 LT EQ) (EQ : GT : []))",fontsize=16,color="black",shape="box"];714 -> 801[label="",style="solid", color="black", weight=3]; 58.54/37.21 715[label="(++) range00 LT (not (compare1 LT GT (LT <= GT) == LT)) foldr (++) [] (map (range0 LT GT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];715 -> 802[label="",style="solid", color="black", weight=3]; 58.54/37.21 716[label="(++) range00 LT (not (compare3 LT xu30 == LT)) foldr (++) [] (map (range0 EQ xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];716 -> 803[label="",style="solid", color="black", weight=3]; 58.54/37.21 717[label="(++) range00 LT (not (compare3 LT xu30 == LT)) foldr (++) [] (map (range0 GT xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];717 -> 804[label="",style="solid", color="black", weight=3]; 58.54/37.21 718[label="(++) range60 False (not (EQ == LT)) foldr (++) [] (map (range6 False False) (True : []))",fontsize=16,color="black",shape="box"];718 -> 805[label="",style="solid", color="black", weight=3]; 58.54/37.21 719[label="(++) range60 False (not (compare1 False True (False <= True) == LT)) foldr (++) [] (map (range6 False True) (True : []))",fontsize=16,color="black",shape="box"];719 -> 806[label="",style="solid", color="black", weight=3]; 58.54/37.21 720[label="(++) range60 False (not (compare3 False xu30 == LT)) foldr (++) [] (map (range6 True xu30) (True : []))",fontsize=16,color="black",shape="box"];720 -> 807[label="",style="solid", color="black", weight=3]; 58.54/37.21 2638[label="takeWhile1 (flip (<=) (Integer (Pos (Succ xu201)))) (Integer (Pos (Succ xu202))) (numericEnumFrom $! Integer (Pos (Succ xu202)) + fromInt (Pos (Succ Zero))) False",fontsize=16,color="black",shape="box"];2638 -> 2658[label="",style="solid", color="black", weight=3]; 58.54/37.21 2639[label="takeWhile1 (flip (<=) (Integer (Pos (Succ xu201)))) (Integer (Pos (Succ xu202))) (numericEnumFrom $! Integer (Pos (Succ xu202)) + fromInt (Pos (Succ Zero))) True",fontsize=16,color="black",shape="box"];2639 -> 2659[label="",style="solid", color="black", weight=3]; 58.54/37.21 728[label="takeWhile (flip (<=) (Integer (Pos (Succ xu31000)))) (enforceWHNF (WHNF (Integer (Pos Zero) + fromInt (Pos (Succ Zero)))) (numericEnumFrom (Integer (Pos Zero) + fromInt (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];728 -> 816[label="",style="solid", color="black", weight=3]; 58.54/37.21 729[label="takeWhile (flip (<=) (Integer (Pos Zero))) (enforceWHNF (WHNF (Integer (Pos Zero) + Integer (Pos (Succ Zero)))) (numericEnumFrom (Integer (Pos Zero) + Integer (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];729 -> 817[label="",style="solid", color="black", weight=3]; 58.54/37.21 730[label="takeWhile (flip (<=) (Integer (Neg Zero))) (enforceWHNF (WHNF (Integer (Pos Zero) + Integer (Pos (Succ Zero)))) (numericEnumFrom (Integer (Pos Zero) + Integer (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];730 -> 818[label="",style="solid", color="black", weight=3]; 58.54/37.21 731[label="takeWhile (flip (<=) (Integer (Pos xu3100))) (enforceWHNF (WHNF (Integer (primPlusInt (Neg (Succ xu30000)) (Pos (Succ Zero))))) (numericEnumFrom (Integer (primPlusInt (Neg (Succ xu30000)) (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];731 -> 819[label="",style="solid", color="black", weight=3]; 58.54/37.21 2654[label="takeWhile1 (flip (<=) (Integer (Neg (Succ xu206)))) (Integer (Neg (Succ xu207))) (numericEnumFrom $! Integer (Neg (Succ xu207)) + fromInt (Pos (Succ Zero))) False",fontsize=16,color="black",shape="box"];2654 -> 2672[label="",style="solid", color="black", weight=3]; 58.54/37.21 2655[label="takeWhile1 (flip (<=) (Integer (Neg (Succ xu206)))) (Integer (Neg (Succ xu207))) (numericEnumFrom $! Integer (Neg (Succ xu207)) + fromInt (Pos (Succ Zero))) True",fontsize=16,color="black",shape="box"];2655 -> 2673[label="",style="solid", color="black", weight=3]; 58.54/37.21 739[label="takeWhile (flip (<=) (Integer (Neg Zero))) (enforceWHNF (WHNF (Integer (Neg (Succ xu30000)) + fromInt (Pos (Succ Zero)))) (numericEnumFrom (Integer (Neg (Succ xu30000)) + fromInt (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];739 -> 828[label="",style="solid", color="black", weight=3]; 58.54/37.21 740[label="takeWhile (flip (<=) (Integer (Pos (Succ xu31000)))) (enforceWHNF (WHNF (Integer (Neg Zero) + Integer (Pos (Succ Zero)))) (numericEnumFrom (Integer (Neg Zero) + Integer (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];740 -> 829[label="",style="solid", color="black", weight=3]; 58.54/37.21 741[label="takeWhile (flip (<=) (Integer (Pos Zero))) (enforceWHNF (WHNF (Integer (Neg Zero) + Integer (Pos (Succ Zero)))) (numericEnumFrom (Integer (Neg Zero) + Integer (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];741 -> 830[label="",style="solid", color="black", weight=3]; 58.54/37.21 742[label="takeWhile (flip (<=) (Integer (Neg Zero))) (enforceWHNF (WHNF (Integer (Neg Zero) + Integer (Pos (Succ Zero)))) (numericEnumFrom (Integer (Neg Zero) + Integer (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];742 -> 831[label="",style="solid", color="black", weight=3]; 58.54/37.21 1205 -> 80[label="",style="dashed", color="red", weight=0]; 58.54/37.21 1205[label="foldr (++) [] (map (range5 xu132 xu142 xu131 xu141) (range (xu130,xu140)))",fontsize=16,color="magenta"];1205 -> 1210[label="",style="dashed", color="magenta", weight=3]; 58.54/37.21 1205 -> 1211[label="",style="dashed", color="magenta", weight=3]; 58.54/37.21 1205 -> 1212[label="",style="dashed", color="magenta", weight=3]; 58.54/37.21 1205 -> 1213[label="",style="dashed", color="magenta", weight=3]; 58.54/37.21 1205 -> 1214[label="",style="dashed", color="magenta", weight=3]; 58.54/37.21 1206 -> 87[label="",style="dashed", color="red", weight=0]; 58.54/37.21 1206[label="foldr (++) [] (map (range2 xu131 xu141) (range (xu130,xu140)))",fontsize=16,color="magenta"];1206 -> 1215[label="",style="dashed", color="magenta", weight=3]; 58.54/37.21 1206 -> 1216[label="",style="dashed", color="magenta", weight=3]; 58.54/37.21 1206 -> 1217[label="",style="dashed", color="magenta", weight=3]; 58.54/37.21 1207[label="concat . map (range3 xu50 xu530)",fontsize=16,color="black",shape="box"];1207 -> 1218[label="",style="solid", color="black", weight=3]; 58.54/37.21 2381[label="takeWhile0 (flip (<=) (Pos (Succ xu167))) (Pos (Succ xu168)) (numericEnumFrom $! Pos (Succ xu168) + fromInt (Pos (Succ Zero))) True",fontsize=16,color="black",shape="box"];2381 -> 2385[label="",style="solid", color="black", weight=3]; 58.54/37.21 2382[label="takeWhile (flip (<=) (Pos (Succ xu167))) (numericEnumFrom $! Pos (Succ xu168) + fromInt (Pos (Succ Zero)))",fontsize=16,color="black",shape="box"];2382 -> 2386[label="",style="solid", color="black", weight=3]; 58.54/37.21 753[label="takeWhile (flip (<=) (Pos (Succ xu3100))) (enforceWHNF (WHNF (primPlusInt (Pos Zero) (Pos (Succ Zero)))) (numericEnumFrom (primPlusInt (Pos Zero) (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];753 -> 841[label="",style="solid", color="black", weight=3]; 58.54/37.21 754[label="takeWhile (flip (<=) (Pos Zero)) (enforceWHNF (WHNF (Pos (primPlusNat Zero (Succ Zero)))) (numericEnumFrom (Pos (primPlusNat Zero (Succ Zero)))))",fontsize=16,color="black",shape="box"];754 -> 842[label="",style="solid", color="black", weight=3]; 58.54/37.21 755[label="takeWhile (flip (<=) (Neg Zero)) (enforceWHNF (WHNF (Pos (primPlusNat Zero (Succ Zero)))) (numericEnumFrom (Pos (primPlusNat Zero (Succ Zero)))))",fontsize=16,color="black",shape="box"];755 -> 843[label="",style="solid", color="black", weight=3]; 58.54/37.21 756[label="takeWhile (flip (<=) (Pos xu310)) (enforceWHNF (WHNF (primMinusNat Zero xu3000)) (numericEnumFrom (primMinusNat Zero xu3000)))",fontsize=16,color="burlywood",shape="box"];3157[label="xu3000/Succ xu30000",fontsize=10,color="white",style="solid",shape="box"];756 -> 3157[label="",style="solid", color="burlywood", weight=9]; 58.54/37.21 3157 -> 844[label="",style="solid", color="burlywood", weight=3]; 58.54/37.21 3158[label="xu3000/Zero",fontsize=10,color="white",style="solid",shape="box"];756 -> 3158[label="",style="solid", color="burlywood", weight=9]; 58.54/37.21 3158 -> 845[label="",style="solid", color="burlywood", weight=3]; 58.54/37.21 1406[label="Neg (Succ xu300000)",fontsize=16,color="green",shape="box"];1407[label="Pos Zero",fontsize=16,color="green",shape="box"];2656[label="takeWhile0 (flip (<=) (Neg (Succ xu195))) (Neg (Succ xu196)) (numericEnumFrom $! xu197) True",fontsize=16,color="black",shape="box"];2656 -> 2674[label="",style="solid", color="black", weight=3]; 58.54/37.21 2657[label="takeWhile (flip (<=) (Neg (Succ xu195))) (numericEnumFrom $! xu197)",fontsize=16,color="black",shape="box"];2657 -> 2675[label="",style="solid", color="black", weight=3]; 58.54/37.21 767[label="takeWhile (flip (<=) (Neg Zero)) (enforceWHNF (WHNF (primPlusInt (Neg (Succ xu3000)) (Pos (Succ Zero)))) (numericEnumFrom (primPlusInt (Neg (Succ xu3000)) (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];767 -> 855[label="",style="solid", color="black", weight=3]; 58.54/37.21 768[label="takeWhile (flip (<=) (Pos (Succ xu3100))) (enforceWHNF (WHNF (primMinusNat (Succ Zero) Zero)) (numericEnumFrom (primMinusNat (Succ Zero) Zero)))",fontsize=16,color="black",shape="box"];768 -> 856[label="",style="solid", color="black", weight=3]; 58.54/37.21 769[label="takeWhile (flip (<=) (Pos Zero)) (enforceWHNF (WHNF (primMinusNat (Succ Zero) Zero)) (numericEnumFrom (primMinusNat (Succ Zero) Zero)))",fontsize=16,color="black",shape="box"];769 -> 857[label="",style="solid", color="black", weight=3]; 58.54/37.21 770[label="takeWhile (flip (<=) (Neg Zero)) (enforceWHNF (WHNF (primMinusNat (Succ Zero) Zero)) (numericEnumFrom (primMinusNat (Succ Zero) Zero)))",fontsize=16,color="black",shape="box"];770 -> 858[label="",style="solid", color="black", weight=3]; 58.54/37.21 800[label="(++) range00 LT (not False) foldr (++) [] (map (range0 LT LT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];800 -> 881[label="",style="solid", color="black", weight=3]; 58.54/37.21 801[label="(++) range00 LT (not (compare1 LT EQ True == LT)) foldr (++) [] (map (range0 LT EQ) (EQ : GT : []))",fontsize=16,color="black",shape="box"];801 -> 882[label="",style="solid", color="black", weight=3]; 58.54/37.21 802[label="(++) range00 LT (not (compare1 LT GT True == LT)) foldr (++) [] (map (range0 LT GT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];802 -> 883[label="",style="solid", color="black", weight=3]; 58.54/37.21 803[label="(++) range00 LT (not (compare2 LT xu30 (LT == xu30) == LT)) foldr (++) [] (map (range0 EQ xu30) (EQ : GT : []))",fontsize=16,color="burlywood",shape="box"];3159[label="xu30/LT",fontsize=10,color="white",style="solid",shape="box"];803 -> 3159[label="",style="solid", color="burlywood", weight=9]; 58.54/37.21 3159 -> 884[label="",style="solid", color="burlywood", weight=3]; 58.54/37.21 3160[label="xu30/EQ",fontsize=10,color="white",style="solid",shape="box"];803 -> 3160[label="",style="solid", color="burlywood", weight=9]; 58.54/37.21 3160 -> 885[label="",style="solid", color="burlywood", weight=3]; 58.54/37.21 3161[label="xu30/GT",fontsize=10,color="white",style="solid",shape="box"];803 -> 3161[label="",style="solid", color="burlywood", weight=9]; 58.54/37.21 3161 -> 886[label="",style="solid", color="burlywood", weight=3]; 58.54/37.21 804[label="(++) range00 LT (not (compare2 LT xu30 (LT == xu30) == LT)) foldr (++) [] (map (range0 GT xu30) (EQ : GT : []))",fontsize=16,color="burlywood",shape="box"];3162[label="xu30/LT",fontsize=10,color="white",style="solid",shape="box"];804 -> 3162[label="",style="solid", color="burlywood", weight=9]; 58.54/37.21 3162 -> 887[label="",style="solid", color="burlywood", weight=3]; 58.54/37.21 3163[label="xu30/EQ",fontsize=10,color="white",style="solid",shape="box"];804 -> 3163[label="",style="solid", color="burlywood", weight=9]; 58.54/37.21 3163 -> 888[label="",style="solid", color="burlywood", weight=3]; 58.54/37.21 3164[label="xu30/GT",fontsize=10,color="white",style="solid",shape="box"];804 -> 3164[label="",style="solid", color="burlywood", weight=9]; 58.54/37.21 3164 -> 889[label="",style="solid", color="burlywood", weight=3]; 58.54/37.21 805[label="(++) range60 False (not False) foldr (++) [] (map (range6 False False) (True : []))",fontsize=16,color="black",shape="box"];805 -> 890[label="",style="solid", color="black", weight=3]; 58.54/37.21 806[label="(++) range60 False (not (compare1 False True True == LT)) foldr (++) [] (map (range6 False True) (True : []))",fontsize=16,color="black",shape="box"];806 -> 891[label="",style="solid", color="black", weight=3]; 58.54/37.21 807[label="(++) range60 False (not (compare2 False xu30 (False == xu30) == LT)) foldr (++) [] (map (range6 True xu30) (True : []))",fontsize=16,color="burlywood",shape="box"];3165[label="xu30/False",fontsize=10,color="white",style="solid",shape="box"];807 -> 3165[label="",style="solid", color="burlywood", weight=9]; 58.54/37.21 3165 -> 892[label="",style="solid", color="burlywood", weight=3]; 58.54/37.21 3166[label="xu30/True",fontsize=10,color="white",style="solid",shape="box"];807 -> 3166[label="",style="solid", color="burlywood", weight=9]; 58.54/37.21 3166 -> 893[label="",style="solid", color="burlywood", weight=3]; 58.54/37.21 2658[label="takeWhile0 (flip (<=) (Integer (Pos (Succ xu201)))) (Integer (Pos (Succ xu202))) (numericEnumFrom $! Integer (Pos (Succ xu202)) + fromInt (Pos (Succ Zero))) otherwise",fontsize=16,color="black",shape="box"];2658 -> 2676[label="",style="solid", color="black", weight=3]; 58.54/37.21 2659[label="Integer (Pos (Succ xu202)) : takeWhile (flip (<=) (Integer (Pos (Succ xu201)))) (numericEnumFrom $! Integer (Pos (Succ xu202)) + fromInt (Pos (Succ Zero)))",fontsize=16,color="green",shape="box"];2659 -> 2677[label="",style="dashed", color="green", weight=3]; 58.54/37.21 816[label="takeWhile (flip (<=) (Integer (Pos (Succ xu31000)))) (enforceWHNF (WHNF (Integer (Pos Zero) + Integer (Pos (Succ Zero)))) (numericEnumFrom (Integer (Pos Zero) + Integer (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];816 -> 904[label="",style="solid", color="black", weight=3]; 58.54/37.21 817[label="takeWhile (flip (<=) (Integer (Pos Zero))) (enforceWHNF (WHNF (Integer (primPlusInt (Pos Zero) (Pos (Succ Zero))))) (numericEnumFrom (Integer (primPlusInt (Pos Zero) (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];817 -> 905[label="",style="solid", color="black", weight=3]; 58.54/37.21 818[label="takeWhile (flip (<=) (Integer (Neg Zero))) (enforceWHNF (WHNF (Integer (primPlusInt (Pos Zero) (Pos (Succ Zero))))) (numericEnumFrom (Integer (primPlusInt (Pos Zero) (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];818 -> 906[label="",style="solid", color="black", weight=3]; 58.54/37.21 819 -> 41[label="",style="dashed", color="red", weight=0]; 58.54/37.21 819[label="takeWhile (flip (<=) (Integer (Pos xu3100))) (numericEnumFrom (Integer (primPlusInt (Neg (Succ xu30000)) (Pos (Succ Zero)))))",fontsize=16,color="magenta"];819 -> 907[label="",style="dashed", color="magenta", weight=3]; 58.54/37.21 819 -> 908[label="",style="dashed", color="magenta", weight=3]; 58.54/37.21 2672[label="takeWhile0 (flip (<=) (Integer (Neg (Succ xu206)))) (Integer (Neg (Succ xu207))) (numericEnumFrom $! Integer (Neg (Succ xu207)) + fromInt (Pos (Succ Zero))) otherwise",fontsize=16,color="black",shape="box"];2672 -> 2690[label="",style="solid", color="black", weight=3]; 58.54/37.21 2673[label="Integer (Neg (Succ xu207)) : takeWhile (flip (<=) (Integer (Neg (Succ xu206)))) (numericEnumFrom $! Integer (Neg (Succ xu207)) + fromInt (Pos (Succ Zero)))",fontsize=16,color="green",shape="box"];2673 -> 2691[label="",style="dashed", color="green", weight=3]; 58.54/37.21 828[label="takeWhile (flip (<=) (Integer (Neg Zero))) (enforceWHNF (WHNF (Integer (Neg (Succ xu30000)) + Integer (Pos (Succ Zero)))) (numericEnumFrom (Integer (Neg (Succ xu30000)) + Integer (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];828 -> 919[label="",style="solid", color="black", weight=3]; 58.54/37.21 829[label="takeWhile (flip (<=) (Integer (Pos (Succ xu31000)))) (enforceWHNF (WHNF (Integer (primPlusInt (Neg Zero) (Pos (Succ Zero))))) (numericEnumFrom (Integer (primPlusInt (Neg Zero) (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];829 -> 920[label="",style="solid", color="black", weight=3]; 58.54/37.21 830[label="takeWhile (flip (<=) (Integer (Pos Zero))) (enforceWHNF (WHNF (Integer (primPlusInt (Neg Zero) (Pos (Succ Zero))))) (numericEnumFrom (Integer (primPlusInt (Neg Zero) (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];830 -> 921[label="",style="solid", color="black", weight=3]; 58.54/37.21 831[label="takeWhile (flip (<=) (Integer (Neg Zero))) (enforceWHNF (WHNF (Integer (primPlusInt (Neg Zero) (Pos (Succ Zero))))) (numericEnumFrom (Integer (primPlusInt (Neg Zero) (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];831 -> 922[label="",style="solid", color="black", weight=3]; 58.54/37.21 1210[label="xu131",fontsize=16,color="green",shape="box"];1211[label="xu141",fontsize=16,color="green",shape="box"];1212[label="range (xu130,xu140)",fontsize=16,color="blue",shape="box"];3167[label="range :: ((@2) () ()) -> [] ()",fontsize=10,color="white",style="solid",shape="box"];1212 -> 3167[label="",style="solid", color="blue", weight=9]; 58.54/37.21 3167 -> 1221[label="",style="solid", color="blue", weight=3]; 58.54/37.21 3168[label="range :: ((@2) Ordering Ordering) -> [] Ordering",fontsize=10,color="white",style="solid",shape="box"];1212 -> 3168[label="",style="solid", color="blue", weight=9]; 58.54/37.21 3168 -> 1222[label="",style="solid", color="blue", weight=3]; 58.54/37.21 3169[label="range :: ((@2) Char Char) -> [] Char",fontsize=10,color="white",style="solid",shape="box"];1212 -> 3169[label="",style="solid", color="blue", weight=9]; 58.54/37.21 3169 -> 1223[label="",style="solid", color="blue", weight=3]; 58.54/37.21 3170[label="range :: ((@2) Bool Bool) -> [] Bool",fontsize=10,color="white",style="solid",shape="box"];1212 -> 3170[label="",style="solid", color="blue", weight=9]; 58.54/37.21 3170 -> 1224[label="",style="solid", color="blue", weight=3]; 58.54/37.21 3171[label="range :: ((@2) Integer Integer) -> [] Integer",fontsize=10,color="white",style="solid",shape="box"];1212 -> 3171[label="",style="solid", color="blue", weight=9]; 58.54/37.21 3171 -> 1225[label="",style="solid", color="blue", weight=3]; 58.54/37.21 3172[label="range :: ((@2) ((@3) a b c) ((@3) a b c)) -> [] ((@3) a b c)",fontsize=10,color="white",style="solid",shape="box"];1212 -> 3172[label="",style="solid", color="blue", weight=9]; 58.54/37.21 3172 -> 1226[label="",style="solid", color="blue", weight=3]; 58.54/37.21 3173[label="range :: ((@2) Int Int) -> [] Int",fontsize=10,color="white",style="solid",shape="box"];1212 -> 3173[label="",style="solid", color="blue", weight=9]; 58.54/37.21 3173 -> 1227[label="",style="solid", color="blue", weight=3]; 58.54/37.21 3174[label="range :: ((@2) ((@2) a b) ((@2) a b)) -> [] ((@2) a b)",fontsize=10,color="white",style="solid",shape="box"];1212 -> 3174[label="",style="solid", color="blue", weight=9]; 58.54/37.21 3174 -> 1228[label="",style="solid", color="blue", weight=3]; 58.54/37.21 1213[label="xu132",fontsize=16,color="green",shape="box"];1214[label="xu142",fontsize=16,color="green",shape="box"];1215[label="range (xu130,xu140)",fontsize=16,color="blue",shape="box"];3175[label="range :: ((@2) () ()) -> [] ()",fontsize=10,color="white",style="solid",shape="box"];1215 -> 3175[label="",style="solid", color="blue", weight=9]; 58.54/37.21 3175 -> 1229[label="",style="solid", color="blue", weight=3]; 58.54/37.21 3176[label="range :: ((@2) Ordering Ordering) -> [] Ordering",fontsize=10,color="white",style="solid",shape="box"];1215 -> 3176[label="",style="solid", color="blue", weight=9]; 58.54/37.21 3176 -> 1230[label="",style="solid", color="blue", weight=3]; 58.54/37.21 3177[label="range :: ((@2) Char Char) -> [] Char",fontsize=10,color="white",style="solid",shape="box"];1215 -> 3177[label="",style="solid", color="blue", weight=9]; 58.54/37.21 3177 -> 1231[label="",style="solid", color="blue", weight=3]; 58.54/37.21 3178[label="range :: ((@2) Bool Bool) -> [] Bool",fontsize=10,color="white",style="solid",shape="box"];1215 -> 3178[label="",style="solid", color="blue", weight=9]; 58.54/37.21 3178 -> 1232[label="",style="solid", color="blue", weight=3]; 58.54/37.21 3179[label="range :: ((@2) Integer Integer) -> [] Integer",fontsize=10,color="white",style="solid",shape="box"];1215 -> 3179[label="",style="solid", color="blue", weight=9]; 58.54/37.21 3179 -> 1233[label="",style="solid", color="blue", weight=3]; 58.54/37.21 3180[label="range :: ((@2) ((@3) a b c) ((@3) a b c)) -> [] ((@3) a b c)",fontsize=10,color="white",style="solid",shape="box"];1215 -> 3180[label="",style="solid", color="blue", weight=9]; 58.54/37.21 3180 -> 1234[label="",style="solid", color="blue", weight=3]; 58.54/37.21 3181[label="range :: ((@2) Int Int) -> [] Int",fontsize=10,color="white",style="solid",shape="box"];1215 -> 3181[label="",style="solid", color="blue", weight=9]; 58.54/37.21 3181 -> 1235[label="",style="solid", color="blue", weight=3]; 58.54/37.21 3182[label="range :: ((@2) ((@2) a b) ((@2) a b)) -> [] ((@2) a b)",fontsize=10,color="white",style="solid",shape="box"];1215 -> 3182[label="",style="solid", color="blue", weight=9]; 58.54/37.21 3182 -> 1236[label="",style="solid", color="blue", weight=3]; 58.54/37.21 1216[label="xu131",fontsize=16,color="green",shape="box"];1217[label="xu141",fontsize=16,color="green",shape="box"];1218[label="concat (map (range3 xu50 xu530) (range (xu51,xu52)))",fontsize=16,color="black",shape="box"];1218 -> 1237[label="",style="solid", color="black", weight=3]; 58.54/37.21 2385[label="[]",fontsize=16,color="green",shape="box"];2386[label="takeWhile (flip (<=) (Pos (Succ xu167))) (Pos (Succ xu168) + fromInt (Pos (Succ Zero)) `seq` numericEnumFrom (Pos (Succ xu168) + fromInt (Pos (Succ Zero))))",fontsize=16,color="black",shape="box"];2386 -> 2450[label="",style="solid", color="black", weight=3]; 58.54/37.21 841[label="takeWhile (flip (<=) (Pos (Succ xu3100))) (enforceWHNF (WHNF (Pos (primPlusNat Zero (Succ Zero)))) (numericEnumFrom (Pos (primPlusNat Zero (Succ Zero)))))",fontsize=16,color="black",shape="box"];841 -> 933[label="",style="solid", color="black", weight=3]; 58.54/37.21 842 -> 43[label="",style="dashed", color="red", weight=0]; 58.54/37.21 842[label="takeWhile (flip (<=) (Pos Zero)) (numericEnumFrom (Pos (primPlusNat Zero (Succ Zero))))",fontsize=16,color="magenta"];842 -> 934[label="",style="dashed", color="magenta", weight=3]; 58.54/37.21 842 -> 935[label="",style="dashed", color="magenta", weight=3]; 58.54/37.21 843 -> 43[label="",style="dashed", color="red", weight=0]; 58.54/37.21 843[label="takeWhile (flip (<=) (Neg Zero)) (numericEnumFrom (Pos (primPlusNat Zero (Succ Zero))))",fontsize=16,color="magenta"];843 -> 936[label="",style="dashed", color="magenta", weight=3]; 58.54/37.21 843 -> 937[label="",style="dashed", color="magenta", weight=3]; 58.54/37.21 844[label="takeWhile (flip (<=) (Pos xu310)) (enforceWHNF (WHNF (primMinusNat Zero (Succ xu30000))) (numericEnumFrom (primMinusNat Zero (Succ xu30000))))",fontsize=16,color="black",shape="box"];844 -> 938[label="",style="solid", color="black", weight=3]; 58.54/37.21 845[label="takeWhile (flip (<=) (Pos xu310)) (enforceWHNF (WHNF (primMinusNat Zero Zero)) (numericEnumFrom (primMinusNat Zero Zero)))",fontsize=16,color="black",shape="box"];845 -> 939[label="",style="solid", color="black", weight=3]; 58.54/37.21 2674[label="[]",fontsize=16,color="green",shape="box"];2675[label="takeWhile (flip (<=) (Neg (Succ xu195))) (xu197 `seq` numericEnumFrom xu197)",fontsize=16,color="black",shape="box"];2675 -> 2692[label="",style="solid", color="black", weight=3]; 58.54/37.21 855[label="takeWhile (flip (<=) (Neg Zero)) (enforceWHNF (WHNF (primMinusNat (Succ Zero) (Succ xu3000))) (numericEnumFrom (primMinusNat (Succ Zero) (Succ xu3000))))",fontsize=16,color="black",shape="box"];855 -> 950[label="",style="solid", color="black", weight=3]; 58.54/37.21 856[label="takeWhile (flip (<=) (Pos (Succ xu3100))) (enforceWHNF (WHNF (Pos (Succ Zero))) (numericEnumFrom (Pos (Succ Zero))))",fontsize=16,color="black",shape="box"];856 -> 951[label="",style="solid", color="black", weight=3]; 58.54/37.21 857[label="takeWhile (flip (<=) (Pos Zero)) (enforceWHNF (WHNF (Pos (Succ Zero))) (numericEnumFrom (Pos (Succ Zero))))",fontsize=16,color="black",shape="box"];857 -> 952[label="",style="solid", color="black", weight=3]; 58.54/37.21 858[label="takeWhile (flip (<=) (Neg Zero)) (enforceWHNF (WHNF (Pos (Succ Zero))) (numericEnumFrom (Pos (Succ Zero))))",fontsize=16,color="black",shape="box"];858 -> 953[label="",style="solid", color="black", weight=3]; 58.54/37.21 881[label="(++) range00 LT True foldr (++) [] (map (range0 LT LT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];881 -> 958[label="",style="solid", color="black", weight=3]; 58.54/37.21 882[label="(++) range00 LT (not (LT == LT)) foldr (++) [] (map (range0 LT EQ) (EQ : GT : []))",fontsize=16,color="black",shape="box"];882 -> 959[label="",style="solid", color="black", weight=3]; 58.54/37.21 883[label="(++) range00 LT (not (LT == LT)) foldr (++) [] (map (range0 LT GT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];883 -> 960[label="",style="solid", color="black", weight=3]; 58.54/37.21 884[label="(++) range00 LT (not (compare2 LT LT (LT == LT) == LT)) foldr (++) [] (map (range0 EQ LT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];884 -> 961[label="",style="solid", color="black", weight=3]; 58.54/37.21 885[label="(++) range00 LT (not (compare2 LT EQ (LT == EQ) == LT)) foldr (++) [] (map (range0 EQ EQ) (EQ : GT : []))",fontsize=16,color="black",shape="box"];885 -> 962[label="",style="solid", color="black", weight=3]; 58.54/37.21 886[label="(++) range00 LT (not (compare2 LT GT (LT == GT) == LT)) foldr (++) [] (map (range0 EQ GT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];886 -> 963[label="",style="solid", color="black", weight=3]; 58.54/37.21 887[label="(++) range00 LT (not (compare2 LT LT (LT == LT) == LT)) foldr (++) [] (map (range0 GT LT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];887 -> 964[label="",style="solid", color="black", weight=3]; 58.54/37.21 888[label="(++) range00 LT (not (compare2 LT EQ (LT == EQ) == LT)) foldr (++) [] (map (range0 GT EQ) (EQ : GT : []))",fontsize=16,color="black",shape="box"];888 -> 965[label="",style="solid", color="black", weight=3]; 58.54/37.21 889[label="(++) range00 LT (not (compare2 LT GT (LT == GT) == LT)) foldr (++) [] (map (range0 GT GT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];889 -> 966[label="",style="solid", color="black", weight=3]; 58.54/37.21 890[label="(++) range60 False True foldr (++) [] (map (range6 False False) (True : []))",fontsize=16,color="black",shape="box"];890 -> 967[label="",style="solid", color="black", weight=3]; 58.54/37.21 891[label="(++) range60 False (not (LT == LT)) foldr (++) [] (map (range6 False True) (True : []))",fontsize=16,color="black",shape="box"];891 -> 968[label="",style="solid", color="black", weight=3]; 58.54/37.21 892[label="(++) range60 False (not (compare2 False False (False == False) == LT)) foldr (++) [] (map (range6 True False) (True : []))",fontsize=16,color="black",shape="box"];892 -> 969[label="",style="solid", color="black", weight=3]; 58.54/37.21 893[label="(++) range60 False (not (compare2 False True (False == True) == LT)) foldr (++) [] (map (range6 True True) (True : []))",fontsize=16,color="black",shape="box"];893 -> 970[label="",style="solid", color="black", weight=3]; 58.54/37.21 2676[label="takeWhile0 (flip (<=) (Integer (Pos (Succ xu201)))) (Integer (Pos (Succ xu202))) (numericEnumFrom $! Integer (Pos (Succ xu202)) + fromInt (Pos (Succ Zero))) True",fontsize=16,color="black",shape="box"];2676 -> 2693[label="",style="solid", color="black", weight=3]; 58.54/37.21 2677[label="takeWhile (flip (<=) (Integer (Pos (Succ xu201)))) (numericEnumFrom $! Integer (Pos (Succ xu202)) + fromInt (Pos (Succ Zero)))",fontsize=16,color="black",shape="box"];2677 -> 2694[label="",style="solid", color="black", weight=3]; 58.54/37.21 904[label="takeWhile (flip (<=) (Integer (Pos (Succ xu31000)))) (enforceWHNF (WHNF (Integer (primPlusInt (Pos Zero) (Pos (Succ Zero))))) (numericEnumFrom (Integer (primPlusInt (Pos Zero) (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];904 -> 980[label="",style="solid", color="black", weight=3]; 58.54/37.21 905 -> 41[label="",style="dashed", color="red", weight=0]; 58.54/37.21 905[label="takeWhile (flip (<=) (Integer (Pos Zero))) (numericEnumFrom (Integer (primPlusInt (Pos Zero) (Pos (Succ Zero)))))",fontsize=16,color="magenta"];905 -> 981[label="",style="dashed", color="magenta", weight=3]; 58.54/37.21 905 -> 982[label="",style="dashed", color="magenta", weight=3]; 58.54/37.21 906 -> 41[label="",style="dashed", color="red", weight=0]; 58.54/37.21 906[label="takeWhile (flip (<=) (Integer (Neg Zero))) (numericEnumFrom (Integer (primPlusInt (Pos Zero) (Pos (Succ Zero)))))",fontsize=16,color="magenta"];906 -> 983[label="",style="dashed", color="magenta", weight=3]; 58.54/37.21 906 -> 984[label="",style="dashed", color="magenta", weight=3]; 58.54/37.21 907[label="Integer (primPlusInt (Neg (Succ xu30000)) (Pos (Succ Zero)))",fontsize=16,color="green",shape="box"];907 -> 985[label="",style="dashed", color="green", weight=3]; 58.54/37.21 908[label="Integer (Pos xu3100)",fontsize=16,color="green",shape="box"];2690[label="takeWhile0 (flip (<=) (Integer (Neg (Succ xu206)))) (Integer (Neg (Succ xu207))) (numericEnumFrom $! Integer (Neg (Succ xu207)) + fromInt (Pos (Succ Zero))) True",fontsize=16,color="black",shape="box"];2690 -> 2707[label="",style="solid", color="black", weight=3]; 58.54/37.21 2691[label="takeWhile (flip (<=) (Integer (Neg (Succ xu206)))) (numericEnumFrom $! Integer (Neg (Succ xu207)) + fromInt (Pos (Succ Zero)))",fontsize=16,color="black",shape="box"];2691 -> 2708[label="",style="solid", color="black", weight=3]; 58.54/37.21 919[label="takeWhile (flip (<=) (Integer (Neg Zero))) (enforceWHNF (WHNF (Integer (primPlusInt (Neg (Succ xu30000)) (Pos (Succ Zero))))) (numericEnumFrom (Integer (primPlusInt (Neg (Succ xu30000)) (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];919 -> 995[label="",style="solid", color="black", weight=3]; 58.54/37.21 920 -> 41[label="",style="dashed", color="red", weight=0]; 58.54/37.21 920[label="takeWhile (flip (<=) (Integer (Pos (Succ xu31000)))) (numericEnumFrom (Integer (primPlusInt (Neg Zero) (Pos (Succ Zero)))))",fontsize=16,color="magenta"];920 -> 996[label="",style="dashed", color="magenta", weight=3]; 58.54/37.21 920 -> 997[label="",style="dashed", color="magenta", weight=3]; 58.54/37.21 921 -> 41[label="",style="dashed", color="red", weight=0]; 58.54/37.21 921[label="takeWhile (flip (<=) (Integer (Pos Zero))) (numericEnumFrom (Integer (primPlusInt (Neg Zero) (Pos (Succ Zero)))))",fontsize=16,color="magenta"];921 -> 998[label="",style="dashed", color="magenta", weight=3]; 58.54/37.21 921 -> 999[label="",style="dashed", color="magenta", weight=3]; 58.54/37.21 922 -> 41[label="",style="dashed", color="red", weight=0]; 58.54/37.21 922[label="takeWhile (flip (<=) (Integer (Neg Zero))) (numericEnumFrom (Integer (primPlusInt (Neg Zero) (Pos (Succ Zero)))))",fontsize=16,color="magenta"];922 -> 1000[label="",style="dashed", color="magenta", weight=3]; 58.54/37.21 922 -> 1001[label="",style="dashed", color="magenta", weight=3]; 58.54/37.21 1221 -> 4[label="",style="dashed", color="red", weight=0]; 58.54/37.21 1221[label="range (xu130,xu140)",fontsize=16,color="magenta"];1221 -> 1240[label="",style="dashed", color="magenta", weight=3]; 58.54/37.21 1222 -> 5[label="",style="dashed", color="red", weight=0]; 58.54/37.21 1222[label="range (xu130,xu140)",fontsize=16,color="magenta"];1222 -> 1241[label="",style="dashed", color="magenta", weight=3]; 58.54/37.21 1223 -> 6[label="",style="dashed", color="red", weight=0]; 58.54/37.21 1223[label="range (xu130,xu140)",fontsize=16,color="magenta"];1223 -> 1242[label="",style="dashed", color="magenta", weight=3]; 58.54/37.21 1224 -> 7[label="",style="dashed", color="red", weight=0]; 58.54/37.21 1224[label="range (xu130,xu140)",fontsize=16,color="magenta"];1224 -> 1243[label="",style="dashed", color="magenta", weight=3]; 58.54/37.21 1225 -> 8[label="",style="dashed", color="red", weight=0]; 58.54/37.21 1225[label="range (xu130,xu140)",fontsize=16,color="magenta"];1225 -> 1244[label="",style="dashed", color="magenta", weight=3]; 58.54/37.21 1226 -> 785[label="",style="dashed", color="red", weight=0]; 58.54/37.21 1226[label="range (xu130,xu140)",fontsize=16,color="magenta"];1226 -> 1245[label="",style="dashed", color="magenta", weight=3]; 58.54/37.21 1226 -> 1246[label="",style="dashed", color="magenta", weight=3]; 58.54/37.21 1227 -> 10[label="",style="dashed", color="red", weight=0]; 58.54/37.21 1227[label="range (xu130,xu140)",fontsize=16,color="magenta"];1227 -> 1247[label="",style="dashed", color="magenta", weight=3]; 58.54/37.21 1228 -> 787[label="",style="dashed", color="red", weight=0]; 58.54/37.21 1228[label="range (xu130,xu140)",fontsize=16,color="magenta"];1228 -> 1248[label="",style="dashed", color="magenta", weight=3]; 58.54/37.21 1228 -> 1249[label="",style="dashed", color="magenta", weight=3]; 58.54/37.21 1229 -> 4[label="",style="dashed", color="red", weight=0]; 58.54/37.21 1229[label="range (xu130,xu140)",fontsize=16,color="magenta"];1229 -> 1250[label="",style="dashed", color="magenta", weight=3]; 58.54/37.21 1230 -> 5[label="",style="dashed", color="red", weight=0]; 58.54/37.21 1230[label="range (xu130,xu140)",fontsize=16,color="magenta"];1230 -> 1251[label="",style="dashed", color="magenta", weight=3]; 58.54/37.21 1231 -> 6[label="",style="dashed", color="red", weight=0]; 58.54/37.21 1231[label="range (xu130,xu140)",fontsize=16,color="magenta"];1231 -> 1252[label="",style="dashed", color="magenta", weight=3]; 58.54/37.21 1232 -> 7[label="",style="dashed", color="red", weight=0]; 58.54/37.21 1232[label="range (xu130,xu140)",fontsize=16,color="magenta"];1232 -> 1253[label="",style="dashed", color="magenta", weight=3]; 58.54/37.21 1233 -> 8[label="",style="dashed", color="red", weight=0]; 58.54/37.21 1233[label="range (xu130,xu140)",fontsize=16,color="magenta"];1233 -> 1254[label="",style="dashed", color="magenta", weight=3]; 58.54/37.21 1234 -> 785[label="",style="dashed", color="red", weight=0]; 58.54/37.21 1234[label="range (xu130,xu140)",fontsize=16,color="magenta"];1234 -> 1255[label="",style="dashed", color="magenta", weight=3]; 58.54/37.21 1234 -> 1256[label="",style="dashed", color="magenta", weight=3]; 58.54/37.21 1235 -> 10[label="",style="dashed", color="red", weight=0]; 58.54/37.21 1235[label="range (xu130,xu140)",fontsize=16,color="magenta"];1235 -> 1257[label="",style="dashed", color="magenta", weight=3]; 58.54/37.21 1236 -> 787[label="",style="dashed", color="red", weight=0]; 58.54/37.21 1236[label="range (xu130,xu140)",fontsize=16,color="magenta"];1236 -> 1258[label="",style="dashed", color="magenta", weight=3]; 58.54/37.21 1236 -> 1259[label="",style="dashed", color="magenta", weight=3]; 58.54/37.21 1237 -> 1260[label="",style="dashed", color="red", weight=0]; 58.54/37.21 1237[label="foldr (++) [] (map (range3 xu50 xu530) (range (xu51,xu52)))",fontsize=16,color="magenta"];1237 -> 1261[label="",style="dashed", color="magenta", weight=3]; 58.54/37.21 1237 -> 1262[label="",style="dashed", color="magenta", weight=3]; 58.54/37.21 1237 -> 1263[label="",style="dashed", color="magenta", weight=3]; 58.54/37.21 2450[label="takeWhile (flip (<=) (Pos (Succ xu167))) (enforceWHNF (WHNF (Pos (Succ xu168) + fromInt (Pos (Succ Zero)))) (numericEnumFrom (Pos (Succ xu168) + fromInt (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];2450 -> 2512[label="",style="solid", color="black", weight=3]; 58.54/37.21 933 -> 43[label="",style="dashed", color="red", weight=0]; 58.54/37.21 933[label="takeWhile (flip (<=) (Pos (Succ xu3100))) (numericEnumFrom (Pos (primPlusNat Zero (Succ Zero))))",fontsize=16,color="magenta"];933 -> 1014[label="",style="dashed", color="magenta", weight=3]; 58.54/37.21 933 -> 1015[label="",style="dashed", color="magenta", weight=3]; 58.54/37.21 934[label="Pos Zero",fontsize=16,color="green",shape="box"];935[label="Pos (primPlusNat Zero (Succ Zero))",fontsize=16,color="green",shape="box"];935 -> 1016[label="",style="dashed", color="green", weight=3]; 58.54/37.21 936[label="Neg Zero",fontsize=16,color="green",shape="box"];937[label="Pos (primPlusNat Zero (Succ Zero))",fontsize=16,color="green",shape="box"];937 -> 1017[label="",style="dashed", color="green", weight=3]; 58.54/37.21 938[label="takeWhile (flip (<=) (Pos xu310)) (enforceWHNF (WHNF (Neg (Succ xu30000))) (numericEnumFrom (Neg (Succ xu30000))))",fontsize=16,color="black",shape="box"];938 -> 1018[label="",style="solid", color="black", weight=3]; 58.54/37.21 939[label="takeWhile (flip (<=) (Pos xu310)) (enforceWHNF (WHNF (Pos Zero)) (numericEnumFrom (Pos Zero)))",fontsize=16,color="black",shape="box"];939 -> 1019[label="",style="solid", color="black", weight=3]; 58.54/37.21 2692[label="takeWhile (flip (<=) (Neg (Succ xu195))) (enforceWHNF (WHNF xu197) (numericEnumFrom xu197))",fontsize=16,color="black",shape="box"];2692 -> 2709[label="",style="solid", color="black", weight=3]; 58.54/37.21 950[label="takeWhile (flip (<=) (Neg Zero)) (enforceWHNF (WHNF (primMinusNat Zero xu3000)) (numericEnumFrom (primMinusNat Zero xu3000)))",fontsize=16,color="burlywood",shape="box"];3183[label="xu3000/Succ xu30000",fontsize=10,color="white",style="solid",shape="box"];950 -> 3183[label="",style="solid", color="burlywood", weight=9]; 58.54/37.21 3183 -> 1032[label="",style="solid", color="burlywood", weight=3]; 58.54/37.21 3184[label="xu3000/Zero",fontsize=10,color="white",style="solid",shape="box"];950 -> 3184[label="",style="solid", color="burlywood", weight=9]; 58.54/37.21 3184 -> 1033[label="",style="solid", color="burlywood", weight=3]; 58.54/37.21 951 -> 43[label="",style="dashed", color="red", weight=0]; 58.54/37.21 951[label="takeWhile (flip (<=) (Pos (Succ xu3100))) (numericEnumFrom (Pos (Succ Zero)))",fontsize=16,color="magenta"];951 -> 1034[label="",style="dashed", color="magenta", weight=3]; 58.54/37.21 951 -> 1035[label="",style="dashed", color="magenta", weight=3]; 58.54/37.21 952 -> 43[label="",style="dashed", color="red", weight=0]; 58.54/37.21 952[label="takeWhile (flip (<=) (Pos Zero)) (numericEnumFrom (Pos (Succ Zero)))",fontsize=16,color="magenta"];952 -> 1036[label="",style="dashed", color="magenta", weight=3]; 58.54/37.21 952 -> 1037[label="",style="dashed", color="magenta", weight=3]; 58.54/37.21 953 -> 43[label="",style="dashed", color="red", weight=0]; 58.54/37.21 953[label="takeWhile (flip (<=) (Neg Zero)) (numericEnumFrom (Pos (Succ Zero)))",fontsize=16,color="magenta"];953 -> 1038[label="",style="dashed", color="magenta", weight=3]; 58.54/37.21 953 -> 1039[label="",style="dashed", color="magenta", weight=3]; 58.54/37.21 958[label="(++) (LT : []) foldr (++) [] (map (range0 LT LT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];958 -> 1046[label="",style="solid", color="black", weight=3]; 58.54/37.21 959[label="(++) range00 LT (not True) foldr (++) [] (map (range0 LT EQ) (EQ : GT : []))",fontsize=16,color="black",shape="box"];959 -> 1047[label="",style="solid", color="black", weight=3]; 58.54/37.21 960[label="(++) range00 LT (not True) foldr (++) [] (map (range0 LT GT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];960 -> 1048[label="",style="solid", color="black", weight=3]; 58.54/37.21 961[label="(++) range00 LT (not (compare2 LT LT True == LT)) foldr (++) [] (map (range0 EQ LT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];961 -> 1049[label="",style="solid", color="black", weight=3]; 58.54/37.21 962[label="(++) range00 LT (not (compare2 LT EQ False == LT)) foldr (++) [] (map (range0 EQ EQ) (EQ : GT : []))",fontsize=16,color="black",shape="box"];962 -> 1050[label="",style="solid", color="black", weight=3]; 58.54/37.21 963[label="(++) range00 LT (not (compare2 LT GT False == LT)) foldr (++) [] (map (range0 EQ GT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];963 -> 1051[label="",style="solid", color="black", weight=3]; 58.54/37.21 964[label="(++) range00 LT (not (compare2 LT LT True == LT)) foldr (++) [] (map (range0 GT LT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];964 -> 1052[label="",style="solid", color="black", weight=3]; 58.54/37.21 965[label="(++) range00 LT (not (compare2 LT EQ False == LT)) foldr (++) [] (map (range0 GT EQ) (EQ : GT : []))",fontsize=16,color="black",shape="box"];965 -> 1053[label="",style="solid", color="black", weight=3]; 58.54/37.21 966[label="(++) range00 LT (not (compare2 LT GT False == LT)) foldr (++) [] (map (range0 GT GT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];966 -> 1054[label="",style="solid", color="black", weight=3]; 58.54/37.21 967[label="(++) (False : []) foldr (++) [] (map (range6 False False) (True : []))",fontsize=16,color="black",shape="box"];967 -> 1055[label="",style="solid", color="black", weight=3]; 58.54/37.21 968[label="(++) range60 False (not True) foldr (++) [] (map (range6 False True) (True : []))",fontsize=16,color="black",shape="box"];968 -> 1056[label="",style="solid", color="black", weight=3]; 58.54/37.21 969[label="(++) range60 False (not (compare2 False False True == LT)) foldr (++) [] (map (range6 True False) (True : []))",fontsize=16,color="black",shape="box"];969 -> 1057[label="",style="solid", color="black", weight=3]; 58.54/37.21 970[label="(++) range60 False (not (compare2 False True False == LT)) foldr (++) [] (map (range6 True True) (True : []))",fontsize=16,color="black",shape="box"];970 -> 1058[label="",style="solid", color="black", weight=3]; 58.54/37.21 2693[label="[]",fontsize=16,color="green",shape="box"];2694[label="takeWhile (flip (<=) (Integer (Pos (Succ xu201)))) (Integer (Pos (Succ xu202)) + fromInt (Pos (Succ Zero)) `seq` numericEnumFrom (Integer (Pos (Succ xu202)) + fromInt (Pos (Succ Zero))))",fontsize=16,color="black",shape="box"];2694 -> 2710[label="",style="solid", color="black", weight=3]; 58.54/37.21 980 -> 41[label="",style="dashed", color="red", weight=0]; 58.54/37.21 980[label="takeWhile (flip (<=) (Integer (Pos (Succ xu31000)))) (numericEnumFrom (Integer (primPlusInt (Pos Zero) (Pos (Succ Zero)))))",fontsize=16,color="magenta"];980 -> 1069[label="",style="dashed", color="magenta", weight=3]; 58.54/37.21 980 -> 1070[label="",style="dashed", color="magenta", weight=3]; 58.54/37.21 981[label="Integer (primPlusInt (Pos Zero) (Pos (Succ Zero)))",fontsize=16,color="green",shape="box"];981 -> 1071[label="",style="dashed", color="green", weight=3]; 58.54/37.21 982[label="Integer (Pos Zero)",fontsize=16,color="green",shape="box"];983[label="Integer (primPlusInt (Pos Zero) (Pos (Succ Zero)))",fontsize=16,color="green",shape="box"];983 -> 1072[label="",style="dashed", color="green", weight=3]; 58.54/37.21 984[label="Integer (Neg Zero)",fontsize=16,color="green",shape="box"];2707[label="[]",fontsize=16,color="green",shape="box"];2708[label="takeWhile (flip (<=) (Integer (Neg (Succ xu206)))) (Integer (Neg (Succ xu207)) + fromInt (Pos (Succ Zero)) `seq` numericEnumFrom (Integer (Neg (Succ xu207)) + fromInt (Pos (Succ Zero))))",fontsize=16,color="black",shape="box"];2708 -> 2724[label="",style="solid", color="black", weight=3]; 58.54/37.21 995 -> 41[label="",style="dashed", color="red", weight=0]; 58.54/37.21 995[label="takeWhile (flip (<=) (Integer (Neg Zero))) (numericEnumFrom (Integer (primPlusInt (Neg (Succ xu30000)) (Pos (Succ Zero)))))",fontsize=16,color="magenta"];995 -> 1084[label="",style="dashed", color="magenta", weight=3]; 58.54/37.21 995 -> 1085[label="",style="dashed", color="magenta", weight=3]; 58.54/37.21 996[label="Integer (primPlusInt (Neg Zero) (Pos (Succ Zero)))",fontsize=16,color="green",shape="box"];996 -> 1086[label="",style="dashed", color="green", weight=3]; 58.54/37.21 997[label="Integer (Pos (Succ xu31000))",fontsize=16,color="green",shape="box"];998[label="Integer (primPlusInt (Neg Zero) (Pos (Succ Zero)))",fontsize=16,color="green",shape="box"];998 -> 1087[label="",style="dashed", color="green", weight=3]; 58.54/37.21 999[label="Integer (Pos Zero)",fontsize=16,color="green",shape="box"];1000[label="Integer (primPlusInt (Neg Zero) (Pos (Succ Zero)))",fontsize=16,color="green",shape="box"];1000 -> 1088[label="",style="dashed", color="green", weight=3]; 58.54/37.21 1001[label="Integer (Neg Zero)",fontsize=16,color="green",shape="box"];1240[label="(xu130,xu140)",fontsize=16,color="green",shape="box"];1241[label="(xu130,xu140)",fontsize=16,color="green",shape="box"];1242[label="(xu130,xu140)",fontsize=16,color="green",shape="box"];1243[label="(xu130,xu140)",fontsize=16,color="green",shape="box"];1244[label="(xu130,xu140)",fontsize=16,color="green",shape="box"];1245[label="xu130",fontsize=16,color="green",shape="box"];1246[label="xu140",fontsize=16,color="green",shape="box"];1247[label="(xu130,xu140)",fontsize=16,color="green",shape="box"];1248[label="xu130",fontsize=16,color="green",shape="box"];1249[label="xu140",fontsize=16,color="green",shape="box"];1250[label="(xu130,xu140)",fontsize=16,color="green",shape="box"];1251[label="(xu130,xu140)",fontsize=16,color="green",shape="box"];1252[label="(xu130,xu140)",fontsize=16,color="green",shape="box"];1253[label="(xu130,xu140)",fontsize=16,color="green",shape="box"];1254[label="(xu130,xu140)",fontsize=16,color="green",shape="box"];1255[label="xu130",fontsize=16,color="green",shape="box"];1256[label="xu140",fontsize=16,color="green",shape="box"];1257[label="(xu130,xu140)",fontsize=16,color="green",shape="box"];1258[label="xu130",fontsize=16,color="green",shape="box"];1259[label="xu140",fontsize=16,color="green",shape="box"];1261[label="xu530",fontsize=16,color="green",shape="box"];1262[label="range (xu51,xu52)",fontsize=16,color="blue",shape="box"];3185[label="range :: ((@2) () ()) -> [] ()",fontsize=10,color="white",style="solid",shape="box"];1262 -> 3185[label="",style="solid", color="blue", weight=9]; 58.54/37.21 3185 -> 1264[label="",style="solid", color="blue", weight=3]; 58.54/37.21 3186[label="range :: ((@2) Ordering Ordering) -> [] Ordering",fontsize=10,color="white",style="solid",shape="box"];1262 -> 3186[label="",style="solid", color="blue", weight=9]; 58.54/37.21 3186 -> 1265[label="",style="solid", color="blue", weight=3]; 58.54/37.21 3187[label="range :: ((@2) Char Char) -> [] Char",fontsize=10,color="white",style="solid",shape="box"];1262 -> 3187[label="",style="solid", color="blue", weight=9]; 58.54/37.21 3187 -> 1266[label="",style="solid", color="blue", weight=3]; 58.54/37.21 3188[label="range :: ((@2) Bool Bool) -> [] Bool",fontsize=10,color="white",style="solid",shape="box"];1262 -> 3188[label="",style="solid", color="blue", weight=9]; 58.54/37.21 3188 -> 1267[label="",style="solid", color="blue", weight=3]; 58.54/37.21 3189[label="range :: ((@2) Integer Integer) -> [] Integer",fontsize=10,color="white",style="solid",shape="box"];1262 -> 3189[label="",style="solid", color="blue", weight=9]; 58.54/37.21 3189 -> 1268[label="",style="solid", color="blue", weight=3]; 58.54/37.21 3190[label="range :: ((@2) ((@3) a b c) ((@3) a b c)) -> [] ((@3) a b c)",fontsize=10,color="white",style="solid",shape="box"];1262 -> 3190[label="",style="solid", color="blue", weight=9]; 58.54/37.21 3190 -> 1269[label="",style="solid", color="blue", weight=3]; 58.54/37.21 3191[label="range :: ((@2) Int Int) -> [] Int",fontsize=10,color="white",style="solid",shape="box"];1262 -> 3191[label="",style="solid", color="blue", weight=9]; 58.54/37.21 3191 -> 1270[label="",style="solid", color="blue", weight=3]; 58.54/37.21 3192[label="range :: ((@2) ((@2) a b) ((@2) a b)) -> [] ((@2) a b)",fontsize=10,color="white",style="solid",shape="box"];1262 -> 3192[label="",style="solid", color="blue", weight=9]; 58.54/37.21 3192 -> 1271[label="",style="solid", color="blue", weight=3]; 58.54/37.21 1263[label="xu50",fontsize=16,color="green",shape="box"];1260[label="foldr (++) [] (map (range3 xu70 xu71) xu72)",fontsize=16,color="burlywood",shape="triangle"];3193[label="xu72/xu720 : xu721",fontsize=10,color="white",style="solid",shape="box"];1260 -> 3193[label="",style="solid", color="burlywood", weight=9]; 58.54/37.21 3193 -> 1272[label="",style="solid", color="burlywood", weight=3]; 58.54/37.21 3194[label="xu72/[]",fontsize=10,color="white",style="solid",shape="box"];1260 -> 3194[label="",style="solid", color="burlywood", weight=9]; 58.54/37.21 3194 -> 1273[label="",style="solid", color="burlywood", weight=3]; 58.54/37.21 2512[label="takeWhile (flip (<=) (Pos (Succ xu167))) (enforceWHNF (WHNF (primPlusInt (Pos (Succ xu168)) (fromInt (Pos (Succ Zero))))) (numericEnumFrom (primPlusInt (Pos (Succ xu168)) (fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];2512 -> 2565[label="",style="solid", color="black", weight=3]; 58.54/37.21 1014[label="Pos (Succ xu3100)",fontsize=16,color="green",shape="box"];1015[label="Pos (primPlusNat Zero (Succ Zero))",fontsize=16,color="green",shape="box"];1015 -> 1100[label="",style="dashed", color="green", weight=3]; 58.54/37.21 1016[label="primPlusNat Zero (Succ Zero)",fontsize=16,color="black",shape="triangle"];1016 -> 1101[label="",style="solid", color="black", weight=3]; 58.54/37.21 1017 -> 1016[label="",style="dashed", color="red", weight=0]; 58.54/37.21 1017[label="primPlusNat Zero (Succ Zero)",fontsize=16,color="magenta"];1018 -> 43[label="",style="dashed", color="red", weight=0]; 58.54/37.21 1018[label="takeWhile (flip (<=) (Pos xu310)) (numericEnumFrom (Neg (Succ xu30000)))",fontsize=16,color="magenta"];1018 -> 1102[label="",style="dashed", color="magenta", weight=3]; 58.54/37.21 1018 -> 1103[label="",style="dashed", color="magenta", weight=3]; 58.54/37.21 1019 -> 43[label="",style="dashed", color="red", weight=0]; 58.54/37.21 1019[label="takeWhile (flip (<=) (Pos xu310)) (numericEnumFrom (Pos Zero))",fontsize=16,color="magenta"];1019 -> 1104[label="",style="dashed", color="magenta", weight=3]; 58.54/37.21 1019 -> 1105[label="",style="dashed", color="magenta", weight=3]; 58.54/37.21 2709 -> 43[label="",style="dashed", color="red", weight=0]; 58.54/37.21 2709[label="takeWhile (flip (<=) (Neg (Succ xu195))) (numericEnumFrom xu197)",fontsize=16,color="magenta"];2709 -> 2725[label="",style="dashed", color="magenta", weight=3]; 58.54/37.21 2709 -> 2726[label="",style="dashed", color="magenta", weight=3]; 58.54/37.21 1032[label="takeWhile (flip (<=) (Neg Zero)) (enforceWHNF (WHNF (primMinusNat Zero (Succ xu30000))) (numericEnumFrom (primMinusNat Zero (Succ xu30000))))",fontsize=16,color="black",shape="box"];1032 -> 1137[label="",style="solid", color="black", weight=3]; 58.54/37.21 1033[label="takeWhile (flip (<=) (Neg Zero)) (enforceWHNF (WHNF (primMinusNat Zero Zero)) (numericEnumFrom (primMinusNat Zero Zero)))",fontsize=16,color="black",shape="box"];1033 -> 1138[label="",style="solid", color="black", weight=3]; 58.54/37.21 1034[label="Pos (Succ xu3100)",fontsize=16,color="green",shape="box"];1035[label="Pos (Succ Zero)",fontsize=16,color="green",shape="box"];1036[label="Pos Zero",fontsize=16,color="green",shape="box"];1037[label="Pos (Succ Zero)",fontsize=16,color="green",shape="box"];1038[label="Neg Zero",fontsize=16,color="green",shape="box"];1039[label="Pos (Succ Zero)",fontsize=16,color="green",shape="box"];1046[label="LT : [] ++ foldr (++) [] (map (range0 LT LT) (EQ : GT : []))",fontsize=16,color="green",shape="box"];1046 -> 1139[label="",style="dashed", color="green", weight=3]; 58.54/37.21 1047[label="(++) range00 LT False foldr (++) [] (map (range0 LT EQ) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1047 -> 1140[label="",style="solid", color="black", weight=3]; 58.54/37.21 1048[label="(++) range00 LT False foldr (++) [] (map (range0 LT GT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1048 -> 1141[label="",style="solid", color="black", weight=3]; 58.54/37.21 1049[label="(++) range00 LT (not (EQ == LT)) foldr (++) [] (map (range0 EQ LT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1049 -> 1142[label="",style="solid", color="black", weight=3]; 58.54/37.21 1050[label="(++) range00 LT (not (compare1 LT EQ (LT <= EQ) == LT)) foldr (++) [] (map (range0 EQ EQ) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1050 -> 1143[label="",style="solid", color="black", weight=3]; 58.54/37.21 1051[label="(++) range00 LT (not (compare1 LT GT (LT <= GT) == LT)) foldr (++) [] (map (range0 EQ GT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1051 -> 1144[label="",style="solid", color="black", weight=3]; 58.54/37.21 1052[label="(++) range00 LT (not (EQ == LT)) foldr (++) [] (map (range0 GT LT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1052 -> 1145[label="",style="solid", color="black", weight=3]; 58.54/37.21 1053[label="(++) range00 LT (not (compare1 LT EQ (LT <= EQ) == LT)) foldr (++) [] (map (range0 GT EQ) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1053 -> 1146[label="",style="solid", color="black", weight=3]; 58.54/37.21 1054[label="(++) range00 LT (not (compare1 LT GT (LT <= GT) == LT)) foldr (++) [] (map (range0 GT GT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1054 -> 1147[label="",style="solid", color="black", weight=3]; 58.54/37.21 1055[label="False : [] ++ foldr (++) [] (map (range6 False False) (True : []))",fontsize=16,color="green",shape="box"];1055 -> 1148[label="",style="dashed", color="green", weight=3]; 58.54/37.21 1056[label="(++) range60 False False foldr (++) [] (map (range6 False True) (True : []))",fontsize=16,color="black",shape="box"];1056 -> 1149[label="",style="solid", color="black", weight=3]; 58.54/37.21 1057[label="(++) range60 False (not (EQ == LT)) foldr (++) [] (map (range6 True False) (True : []))",fontsize=16,color="black",shape="box"];1057 -> 1150[label="",style="solid", color="black", weight=3]; 58.54/37.21 1058[label="(++) range60 False (not (compare1 False True (False <= True) == LT)) foldr (++) [] (map (range6 True True) (True : []))",fontsize=16,color="black",shape="box"];1058 -> 1151[label="",style="solid", color="black", weight=3]; 58.54/37.21 2710[label="takeWhile (flip (<=) (Integer (Pos (Succ xu201)))) (enforceWHNF (WHNF (Integer (Pos (Succ xu202)) + fromInt (Pos (Succ Zero)))) (numericEnumFrom (Integer (Pos (Succ xu202)) + fromInt (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];2710 -> 2727[label="",style="solid", color="black", weight=3]; 58.54/37.21 1069[label="Integer (primPlusInt (Pos Zero) (Pos (Succ Zero)))",fontsize=16,color="green",shape="box"];1069 -> 1164[label="",style="dashed", color="green", weight=3]; 58.54/37.21 1070[label="Integer (Pos (Succ xu31000))",fontsize=16,color="green",shape="box"];1071[label="primPlusInt (Pos Zero) (Pos (Succ Zero))",fontsize=16,color="black",shape="triangle"];1071 -> 1165[label="",style="solid", color="black", weight=3]; 58.54/37.21 1072 -> 1071[label="",style="dashed", color="red", weight=0]; 58.54/37.21 1072[label="primPlusInt (Pos Zero) (Pos (Succ Zero))",fontsize=16,color="magenta"];2724[label="takeWhile (flip (<=) (Integer (Neg (Succ xu206)))) (enforceWHNF (WHNF (Integer (Neg (Succ xu207)) + fromInt (Pos (Succ Zero)))) (numericEnumFrom (Integer (Neg (Succ xu207)) + fromInt (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];2724 -> 2741[label="",style="solid", color="black", weight=3]; 58.54/37.21 1084[label="Integer (primPlusInt (Neg (Succ xu30000)) (Pos (Succ Zero)))",fontsize=16,color="green",shape="box"];1084 -> 1179[label="",style="dashed", color="green", weight=3]; 58.54/37.21 1085[label="Integer (Neg Zero)",fontsize=16,color="green",shape="box"];1086[label="primPlusInt (Neg Zero) (Pos (Succ Zero))",fontsize=16,color="black",shape="triangle"];1086 -> 1180[label="",style="solid", color="black", weight=3]; 58.54/37.21 1087 -> 1086[label="",style="dashed", color="red", weight=0]; 58.54/37.21 1087[label="primPlusInt (Neg Zero) (Pos (Succ Zero))",fontsize=16,color="magenta"];1088 -> 1086[label="",style="dashed", color="red", weight=0]; 58.54/37.21 1088[label="primPlusInt (Neg Zero) (Pos (Succ Zero))",fontsize=16,color="magenta"];1264 -> 4[label="",style="dashed", color="red", weight=0]; 58.54/37.21 1264[label="range (xu51,xu52)",fontsize=16,color="magenta"];1264 -> 1281[label="",style="dashed", color="magenta", weight=3]; 58.54/37.21 1265 -> 5[label="",style="dashed", color="red", weight=0]; 58.54/37.21 1265[label="range (xu51,xu52)",fontsize=16,color="magenta"];1265 -> 1282[label="",style="dashed", color="magenta", weight=3]; 58.54/37.21 1266 -> 6[label="",style="dashed", color="red", weight=0]; 58.54/37.21 1266[label="range (xu51,xu52)",fontsize=16,color="magenta"];1266 -> 1283[label="",style="dashed", color="magenta", weight=3]; 58.54/37.21 1267 -> 7[label="",style="dashed", color="red", weight=0]; 58.54/37.21 1267[label="range (xu51,xu52)",fontsize=16,color="magenta"];1267 -> 1284[label="",style="dashed", color="magenta", weight=3]; 58.54/37.21 1268 -> 8[label="",style="dashed", color="red", weight=0]; 58.54/37.21 1268[label="range (xu51,xu52)",fontsize=16,color="magenta"];1268 -> 1285[label="",style="dashed", color="magenta", weight=3]; 58.54/37.21 1269 -> 785[label="",style="dashed", color="red", weight=0]; 58.54/37.21 1269[label="range (xu51,xu52)",fontsize=16,color="magenta"];1269 -> 1286[label="",style="dashed", color="magenta", weight=3]; 58.54/37.21 1269 -> 1287[label="",style="dashed", color="magenta", weight=3]; 58.54/37.21 1270 -> 10[label="",style="dashed", color="red", weight=0]; 58.54/37.21 1270[label="range (xu51,xu52)",fontsize=16,color="magenta"];1270 -> 1288[label="",style="dashed", color="magenta", weight=3]; 58.54/37.21 1271 -> 787[label="",style="dashed", color="red", weight=0]; 58.54/37.21 1271[label="range (xu51,xu52)",fontsize=16,color="magenta"];1271 -> 1289[label="",style="dashed", color="magenta", weight=3]; 58.54/37.21 1271 -> 1290[label="",style="dashed", color="magenta", weight=3]; 58.54/37.21 1272[label="foldr (++) [] (map (range3 xu70 xu71) (xu720 : xu721))",fontsize=16,color="black",shape="box"];1272 -> 1291[label="",style="solid", color="black", weight=3]; 58.54/37.21 1273[label="foldr (++) [] (map (range3 xu70 xu71) [])",fontsize=16,color="black",shape="box"];1273 -> 1292[label="",style="solid", color="black", weight=3]; 58.54/37.21 2565[label="takeWhile (flip (<=) (Pos (Succ xu167))) (enforceWHNF (WHNF (primPlusInt (Pos (Succ xu168)) (Pos (Succ Zero)))) (numericEnumFrom (primPlusInt (Pos (Succ xu168)) (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];2565 -> 2592[label="",style="solid", color="black", weight=3]; 58.54/37.21 1100 -> 1016[label="",style="dashed", color="red", weight=0]; 58.54/37.21 1100[label="primPlusNat Zero (Succ Zero)",fontsize=16,color="magenta"];1101[label="Succ Zero",fontsize=16,color="green",shape="box"];1102[label="Pos xu310",fontsize=16,color="green",shape="box"];1103[label="Neg (Succ xu30000)",fontsize=16,color="green",shape="box"];1104[label="Pos xu310",fontsize=16,color="green",shape="box"];1105[label="Pos Zero",fontsize=16,color="green",shape="box"];2725[label="Neg (Succ xu195)",fontsize=16,color="green",shape="box"];2726[label="xu197",fontsize=16,color="green",shape="box"];1137[label="takeWhile (flip (<=) (Neg Zero)) (enforceWHNF (WHNF (Neg (Succ xu30000))) (numericEnumFrom (Neg (Succ xu30000))))",fontsize=16,color="black",shape="box"];1137 -> 1295[label="",style="solid", color="black", weight=3]; 58.54/37.21 1138[label="takeWhile (flip (<=) (Neg Zero)) (enforceWHNF (WHNF (Pos Zero)) (numericEnumFrom (Pos Zero)))",fontsize=16,color="black",shape="box"];1138 -> 1296[label="",style="solid", color="black", weight=3]; 58.54/37.21 1139[label="[] ++ foldr (++) [] (map (range0 LT LT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1139 -> 1297[label="",style="solid", color="black", weight=3]; 58.54/37.21 1140[label="(++) [] foldr (++) [] (map (range0 LT EQ) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1140 -> 1298[label="",style="solid", color="black", weight=3]; 58.54/37.21 1141[label="(++) [] foldr (++) [] (map (range0 LT GT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1141 -> 1299[label="",style="solid", color="black", weight=3]; 58.54/37.21 1142[label="(++) range00 LT (not False) foldr (++) [] (map (range0 EQ LT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1142 -> 1300[label="",style="solid", color="black", weight=3]; 58.54/37.21 1143[label="(++) range00 LT (not (compare1 LT EQ True == LT)) foldr (++) [] (map (range0 EQ EQ) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1143 -> 1301[label="",style="solid", color="black", weight=3]; 58.54/37.21 1144[label="(++) range00 LT (not (compare1 LT GT True == LT)) foldr (++) [] (map (range0 EQ GT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1144 -> 1302[label="",style="solid", color="black", weight=3]; 58.54/37.21 1145[label="(++) range00 LT (not False) foldr (++) [] (map (range0 GT LT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1145 -> 1303[label="",style="solid", color="black", weight=3]; 58.54/37.21 1146[label="(++) range00 LT (not (compare1 LT EQ True == LT)) foldr (++) [] (map (range0 GT EQ) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1146 -> 1304[label="",style="solid", color="black", weight=3]; 58.54/37.21 1147[label="(++) range00 LT (not (compare1 LT GT True == LT)) foldr (++) [] (map (range0 GT GT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1147 -> 1305[label="",style="solid", color="black", weight=3]; 58.54/37.21 1148[label="[] ++ foldr (++) [] (map (range6 False False) (True : []))",fontsize=16,color="black",shape="box"];1148 -> 1306[label="",style="solid", color="black", weight=3]; 58.54/37.21 1149[label="(++) [] foldr (++) [] (map (range6 False True) (True : []))",fontsize=16,color="black",shape="box"];1149 -> 1307[label="",style="solid", color="black", weight=3]; 58.54/37.21 1150[label="(++) range60 False (not False) foldr (++) [] (map (range6 True False) (True : []))",fontsize=16,color="black",shape="box"];1150 -> 1308[label="",style="solid", color="black", weight=3]; 58.54/37.21 1151[label="(++) range60 False (not (compare1 False True True == LT)) foldr (++) [] (map (range6 True True) (True : []))",fontsize=16,color="black",shape="box"];1151 -> 1309[label="",style="solid", color="black", weight=3]; 58.54/37.21 2727[label="takeWhile (flip (<=) (Integer (Pos (Succ xu201)))) (enforceWHNF (WHNF (Integer (Pos (Succ xu202)) + Integer (Pos (Succ Zero)))) (numericEnumFrom (Integer (Pos (Succ xu202)) + Integer (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];2727 -> 2742[label="",style="solid", color="black", weight=3]; 58.54/37.21 1164 -> 1071[label="",style="dashed", color="red", weight=0]; 58.54/37.21 1164[label="primPlusInt (Pos Zero) (Pos (Succ Zero))",fontsize=16,color="magenta"];1165[label="Pos (primPlusNat Zero (Succ Zero))",fontsize=16,color="green",shape="box"];1165 -> 1321[label="",style="dashed", color="green", weight=3]; 58.54/37.21 2741[label="takeWhile (flip (<=) (Integer (Neg (Succ xu206)))) (enforceWHNF (WHNF (Integer (Neg (Succ xu207)) + Integer (Pos (Succ Zero)))) (numericEnumFrom (Integer (Neg (Succ xu207)) + Integer (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];2741 -> 2754[label="",style="solid", color="black", weight=3]; 58.54/37.21 1179 -> 985[label="",style="dashed", color="red", weight=0]; 58.54/37.21 1179[label="primPlusInt (Neg (Succ xu30000)) (Pos (Succ Zero))",fontsize=16,color="magenta"];1180[label="primMinusNat (Succ Zero) Zero",fontsize=16,color="black",shape="box"];1180 -> 1338[label="",style="solid", color="black", weight=3]; 58.54/37.21 1281[label="(xu51,xu52)",fontsize=16,color="green",shape="box"];1282[label="(xu51,xu52)",fontsize=16,color="green",shape="box"];1283[label="(xu51,xu52)",fontsize=16,color="green",shape="box"];1284[label="(xu51,xu52)",fontsize=16,color="green",shape="box"];1285[label="(xu51,xu52)",fontsize=16,color="green",shape="box"];1286[label="xu51",fontsize=16,color="green",shape="box"];1287[label="xu52",fontsize=16,color="green",shape="box"];1288[label="(xu51,xu52)",fontsize=16,color="green",shape="box"];1289[label="xu51",fontsize=16,color="green",shape="box"];1290[label="xu52",fontsize=16,color="green",shape="box"];1291[label="foldr (++) [] (range3 xu70 xu71 xu720 : map (range3 xu70 xu71) xu721)",fontsize=16,color="black",shape="box"];1291 -> 1339[label="",style="solid", color="black", weight=3]; 58.54/37.21 1292 -> 132[label="",style="dashed", color="red", weight=0]; 58.54/37.21 1292[label="foldr (++) [] []",fontsize=16,color="magenta"];2592[label="takeWhile (flip (<=) (Pos (Succ xu167))) (enforceWHNF (WHNF (Pos (primPlusNat (Succ xu168) (Succ Zero)))) (numericEnumFrom (Pos (primPlusNat (Succ xu168) (Succ Zero)))))",fontsize=16,color="black",shape="box"];2592 -> 2617[label="",style="solid", color="black", weight=3]; 58.54/37.21 1295 -> 43[label="",style="dashed", color="red", weight=0]; 58.54/37.21 1295[label="takeWhile (flip (<=) (Neg Zero)) (numericEnumFrom (Neg (Succ xu30000)))",fontsize=16,color="magenta"];1295 -> 1375[label="",style="dashed", color="magenta", weight=3]; 58.54/37.21 1295 -> 1376[label="",style="dashed", color="magenta", weight=3]; 58.54/37.21 1296 -> 43[label="",style="dashed", color="red", weight=0]; 58.54/37.21 1296[label="takeWhile (flip (<=) (Neg Zero)) (numericEnumFrom (Pos Zero))",fontsize=16,color="magenta"];1296 -> 1377[label="",style="dashed", color="magenta", weight=3]; 58.54/37.21 1296 -> 1378[label="",style="dashed", color="magenta", weight=3]; 58.54/37.21 1297[label="foldr (++) [] (map (range0 LT LT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1297 -> 1379[label="",style="solid", color="black", weight=3]; 58.54/37.21 1298[label="foldr (++) [] (map (range0 LT EQ) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1298 -> 1380[label="",style="solid", color="black", weight=3]; 58.54/37.21 1299[label="foldr (++) [] (map (range0 LT GT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1299 -> 1381[label="",style="solid", color="black", weight=3]; 58.54/37.21 1300[label="(++) range00 LT True foldr (++) [] (map (range0 EQ LT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1300 -> 1382[label="",style="solid", color="black", weight=3]; 58.54/37.21 1301[label="(++) range00 LT (not (LT == LT)) foldr (++) [] (map (range0 EQ EQ) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1301 -> 1383[label="",style="solid", color="black", weight=3]; 58.54/37.21 1302[label="(++) range00 LT (not (LT == LT)) foldr (++) [] (map (range0 EQ GT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1302 -> 1384[label="",style="solid", color="black", weight=3]; 58.54/37.21 1303[label="(++) range00 LT True foldr (++) [] (map (range0 GT LT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1303 -> 1385[label="",style="solid", color="black", weight=3]; 58.54/37.21 1304[label="(++) range00 LT (not (LT == LT)) foldr (++) [] (map (range0 GT EQ) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1304 -> 1386[label="",style="solid", color="black", weight=3]; 58.54/37.21 1305[label="(++) range00 LT (not (LT == LT)) foldr (++) [] (map (range0 GT GT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1305 -> 1387[label="",style="solid", color="black", weight=3]; 58.54/37.21 1306[label="foldr (++) [] (map (range6 False False) (True : []))",fontsize=16,color="black",shape="box"];1306 -> 1388[label="",style="solid", color="black", weight=3]; 58.54/37.21 1307[label="foldr (++) [] (map (range6 False True) (True : []))",fontsize=16,color="black",shape="box"];1307 -> 1389[label="",style="solid", color="black", weight=3]; 58.54/37.21 1308[label="(++) range60 False True foldr (++) [] (map (range6 True False) (True : []))",fontsize=16,color="black",shape="box"];1308 -> 1390[label="",style="solid", color="black", weight=3]; 58.54/37.21 1309[label="(++) range60 False (not (LT == LT)) foldr (++) [] (map (range6 True True) (True : []))",fontsize=16,color="black",shape="box"];1309 -> 1391[label="",style="solid", color="black", weight=3]; 58.54/37.21 2742[label="takeWhile (flip (<=) (Integer (Pos (Succ xu201)))) (enforceWHNF (WHNF (Integer (primPlusInt (Pos (Succ xu202)) (Pos (Succ Zero))))) (numericEnumFrom (Integer (primPlusInt (Pos (Succ xu202)) (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];2742 -> 2755[label="",style="solid", color="black", weight=3]; 58.54/37.21 1321 -> 1016[label="",style="dashed", color="red", weight=0]; 58.54/37.21 1321[label="primPlusNat Zero (Succ Zero)",fontsize=16,color="magenta"];2754 -> 2767[label="",style="dashed", color="red", weight=0]; 58.54/37.21 2754[label="takeWhile (flip (<=) (Integer (Neg (Succ xu206)))) (enforceWHNF (WHNF (Integer (primPlusInt (Neg (Succ xu207)) (Pos (Succ Zero))))) (numericEnumFrom (Integer (primPlusInt (Neg (Succ xu207)) (Pos (Succ Zero))))))",fontsize=16,color="magenta"];2754 -> 2768[label="",style="dashed", color="magenta", weight=3]; 58.54/37.21 2754 -> 2769[label="",style="dashed", color="magenta", weight=3]; 58.54/37.21 1338[label="Pos (Succ Zero)",fontsize=16,color="green",shape="box"];1339 -> 474[label="",style="dashed", color="red", weight=0]; 58.54/37.21 1339[label="(++) range3 xu70 xu71 xu720 foldr (++) [] (map (range3 xu70 xu71) xu721)",fontsize=16,color="magenta"];1339 -> 1423[label="",style="dashed", color="magenta", weight=3]; 58.54/37.21 1339 -> 1424[label="",style="dashed", color="magenta", weight=3]; 58.54/37.21 2617 -> 43[label="",style="dashed", color="red", weight=0]; 58.54/37.21 2617[label="takeWhile (flip (<=) (Pos (Succ xu167))) (numericEnumFrom (Pos (primPlusNat (Succ xu168) (Succ Zero))))",fontsize=16,color="magenta"];2617 -> 2640[label="",style="dashed", color="magenta", weight=3]; 58.54/37.21 2617 -> 2641[label="",style="dashed", color="magenta", weight=3]; 58.54/37.21 1375[label="Neg Zero",fontsize=16,color="green",shape="box"];1376[label="Neg (Succ xu30000)",fontsize=16,color="green",shape="box"];1377[label="Neg Zero",fontsize=16,color="green",shape="box"];1378[label="Pos Zero",fontsize=16,color="green",shape="box"];1379[label="foldr (++) [] (range0 LT LT EQ : map (range0 LT LT) (GT : []))",fontsize=16,color="black",shape="box"];1379 -> 1451[label="",style="solid", color="black", weight=3]; 58.54/37.21 1380[label="foldr (++) [] (range0 LT EQ EQ : map (range0 LT EQ) (GT : []))",fontsize=16,color="black",shape="box"];1380 -> 1452[label="",style="solid", color="black", weight=3]; 58.54/37.21 1381[label="foldr (++) [] (range0 LT GT EQ : map (range0 LT GT) (GT : []))",fontsize=16,color="black",shape="box"];1381 -> 1453[label="",style="solid", color="black", weight=3]; 58.54/37.21 1382[label="(++) (LT : []) foldr (++) [] (map (range0 EQ LT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1382 -> 1454[label="",style="solid", color="black", weight=3]; 58.54/37.21 1383[label="(++) range00 LT (not True) foldr (++) [] (map (range0 EQ EQ) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1383 -> 1455[label="",style="solid", color="black", weight=3]; 58.54/37.21 1384[label="(++) range00 LT (not True) foldr (++) [] (map (range0 EQ GT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1384 -> 1456[label="",style="solid", color="black", weight=3]; 58.54/37.21 1385[label="(++) (LT : []) foldr (++) [] (map (range0 GT LT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1385 -> 1457[label="",style="solid", color="black", weight=3]; 58.54/37.21 1386[label="(++) range00 LT (not True) foldr (++) [] (map (range0 GT EQ) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1386 -> 1458[label="",style="solid", color="black", weight=3]; 58.54/37.21 1387[label="(++) range00 LT (not True) foldr (++) [] (map (range0 GT GT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1387 -> 1459[label="",style="solid", color="black", weight=3]; 58.54/37.21 1388[label="foldr (++) [] (range6 False False True : map (range6 False False) [])",fontsize=16,color="black",shape="box"];1388 -> 1460[label="",style="solid", color="black", weight=3]; 58.54/37.21 1389[label="foldr (++) [] (range6 False True True : map (range6 False True) [])",fontsize=16,color="black",shape="box"];1389 -> 1461[label="",style="solid", color="black", weight=3]; 58.54/37.21 1390[label="(++) (False : []) foldr (++) [] (map (range6 True False) (True : []))",fontsize=16,color="black",shape="box"];1390 -> 1462[label="",style="solid", color="black", weight=3]; 58.54/37.21 1391[label="(++) range60 False (not True) foldr (++) [] (map (range6 True True) (True : []))",fontsize=16,color="black",shape="box"];1391 -> 1463[label="",style="solid", color="black", weight=3]; 58.54/37.21 2755 -> 41[label="",style="dashed", color="red", weight=0]; 58.54/37.21 2755[label="takeWhile (flip (<=) (Integer (Pos (Succ xu201)))) (numericEnumFrom (Integer (primPlusInt (Pos (Succ xu202)) (Pos (Succ Zero)))))",fontsize=16,color="magenta"];2755 -> 2770[label="",style="dashed", color="magenta", weight=3]; 58.54/37.21 2755 -> 2771[label="",style="dashed", color="magenta", weight=3]; 58.54/37.21 2768 -> 985[label="",style="dashed", color="red", weight=0]; 58.54/37.21 2768[label="primPlusInt (Neg (Succ xu207)) (Pos (Succ Zero))",fontsize=16,color="magenta"];2768 -> 2772[label="",style="dashed", color="magenta", weight=3]; 58.54/37.21 2769 -> 985[label="",style="dashed", color="red", weight=0]; 58.54/37.21 2769[label="primPlusInt (Neg (Succ xu207)) (Pos (Succ Zero))",fontsize=16,color="magenta"];2769 -> 2773[label="",style="dashed", color="magenta", weight=3]; 58.54/37.21 2767[label="takeWhile (flip (<=) (Integer (Neg (Succ xu206)))) (enforceWHNF (WHNF (Integer xu211)) (numericEnumFrom (Integer xu210)))",fontsize=16,color="black",shape="triangle"];2767 -> 2774[label="",style="solid", color="black", weight=3]; 58.54/37.21 1423[label="range3 xu70 xu71 xu720",fontsize=16,color="black",shape="box"];1423 -> 1492[label="",style="solid", color="black", weight=3]; 58.54/37.21 1424 -> 1260[label="",style="dashed", color="red", weight=0]; 58.54/37.21 1424[label="foldr (++) [] (map (range3 xu70 xu71) xu721)",fontsize=16,color="magenta"];1424 -> 1493[label="",style="dashed", color="magenta", weight=3]; 58.54/37.21 2640[label="Pos (Succ xu167)",fontsize=16,color="green",shape="box"];2641[label="Pos (primPlusNat (Succ xu168) (Succ Zero))",fontsize=16,color="green",shape="box"];2641 -> 2660[label="",style="dashed", color="green", weight=3]; 58.54/37.21 1451[label="(++) range0 LT LT EQ foldr (++) [] (map (range0 LT LT) (GT : []))",fontsize=16,color="black",shape="box"];1451 -> 1519[label="",style="solid", color="black", weight=3]; 58.54/37.21 1452[label="(++) range0 LT EQ EQ foldr (++) [] (map (range0 LT EQ) (GT : []))",fontsize=16,color="black",shape="box"];1452 -> 1520[label="",style="solid", color="black", weight=3]; 58.54/37.21 1453[label="(++) range0 LT GT EQ foldr (++) [] (map (range0 LT GT) (GT : []))",fontsize=16,color="black",shape="box"];1453 -> 1521[label="",style="solid", color="black", weight=3]; 58.54/37.21 1454[label="LT : [] ++ foldr (++) [] (map (range0 EQ LT) (EQ : GT : []))",fontsize=16,color="green",shape="box"];1454 -> 1522[label="",style="dashed", color="green", weight=3]; 58.54/37.21 1455[label="(++) range00 LT False foldr (++) [] (map (range0 EQ EQ) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1455 -> 1523[label="",style="solid", color="black", weight=3]; 58.54/37.21 1456[label="(++) range00 LT False foldr (++) [] (map (range0 EQ GT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1456 -> 1524[label="",style="solid", color="black", weight=3]; 58.54/37.21 1457[label="LT : [] ++ foldr (++) [] (map (range0 GT LT) (EQ : GT : []))",fontsize=16,color="green",shape="box"];1457 -> 1525[label="",style="dashed", color="green", weight=3]; 58.54/37.21 1458[label="(++) range00 LT False foldr (++) [] (map (range0 GT EQ) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1458 -> 1526[label="",style="solid", color="black", weight=3]; 58.54/37.21 1459[label="(++) range00 LT False foldr (++) [] (map (range0 GT GT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1459 -> 1527[label="",style="solid", color="black", weight=3]; 58.54/37.21 1460[label="(++) range6 False False True foldr (++) [] (map (range6 False False) [])",fontsize=16,color="black",shape="box"];1460 -> 1528[label="",style="solid", color="black", weight=3]; 58.54/37.21 1461[label="(++) range6 False True True foldr (++) [] (map (range6 False True) [])",fontsize=16,color="black",shape="box"];1461 -> 1529[label="",style="solid", color="black", weight=3]; 58.54/37.21 1462[label="False : [] ++ foldr (++) [] (map (range6 True False) (True : []))",fontsize=16,color="green",shape="box"];1462 -> 1530[label="",style="dashed", color="green", weight=3]; 58.54/37.21 1463[label="(++) range60 False False foldr (++) [] (map (range6 True True) (True : []))",fontsize=16,color="black",shape="box"];1463 -> 1531[label="",style="solid", color="black", weight=3]; 58.54/37.21 2770[label="Integer (primPlusInt (Pos (Succ xu202)) (Pos (Succ Zero)))",fontsize=16,color="green",shape="box"];2770 -> 2786[label="",style="dashed", color="green", weight=3]; 58.54/37.21 2771[label="Integer (Pos (Succ xu201))",fontsize=16,color="green",shape="box"];2772[label="xu207",fontsize=16,color="green",shape="box"];2773[label="xu207",fontsize=16,color="green",shape="box"];2774 -> 41[label="",style="dashed", color="red", weight=0]; 58.54/37.21 2774[label="takeWhile (flip (<=) (Integer (Neg (Succ xu206)))) (numericEnumFrom (Integer xu210))",fontsize=16,color="magenta"];2774 -> 2787[label="",style="dashed", color="magenta", weight=3]; 58.54/37.21 2774 -> 2788[label="",style="dashed", color="magenta", weight=3]; 58.54/37.21 1492[label="range30 xu70 xu71 xu720",fontsize=16,color="black",shape="box"];1492 -> 1558[label="",style="solid", color="black", weight=3]; 58.54/37.21 1493[label="xu721",fontsize=16,color="green",shape="box"];2660[label="primPlusNat (Succ xu168) (Succ Zero)",fontsize=16,color="black",shape="triangle"];2660 -> 2678[label="",style="solid", color="black", weight=3]; 58.54/37.21 1519[label="(++) range00 EQ (LT >= EQ && EQ >= LT) foldr (++) [] (map (range0 LT LT) (GT : []))",fontsize=16,color="black",shape="box"];1519 -> 1597[label="",style="solid", color="black", weight=3]; 58.54/37.21 1520[label="(++) range00 EQ (LT >= EQ && EQ >= EQ) foldr (++) [] (map (range0 LT EQ) (GT : []))",fontsize=16,color="black",shape="box"];1520 -> 1598[label="",style="solid", color="black", weight=3]; 58.54/37.21 1521[label="(++) range00 EQ (LT >= EQ && EQ >= GT) foldr (++) [] (map (range0 LT GT) (GT : []))",fontsize=16,color="black",shape="box"];1521 -> 1599[label="",style="solid", color="black", weight=3]; 58.54/37.21 1522[label="[] ++ foldr (++) [] (map (range0 EQ LT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1522 -> 1600[label="",style="solid", color="black", weight=3]; 58.54/37.21 1523[label="(++) [] foldr (++) [] (map (range0 EQ EQ) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1523 -> 1601[label="",style="solid", color="black", weight=3]; 58.54/37.21 1524[label="(++) [] foldr (++) [] (map (range0 EQ GT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1524 -> 1602[label="",style="solid", color="black", weight=3]; 58.54/37.21 1525[label="[] ++ foldr (++) [] (map (range0 GT LT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1525 -> 1603[label="",style="solid", color="black", weight=3]; 58.54/37.21 1526[label="(++) [] foldr (++) [] (map (range0 GT EQ) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1526 -> 1604[label="",style="solid", color="black", weight=3]; 58.54/37.21 1527[label="(++) [] foldr (++) [] (map (range0 GT GT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1527 -> 1605[label="",style="solid", color="black", weight=3]; 58.54/37.21 1528[label="(++) range60 True (False >= True && True >= False) foldr (++) [] (map (range6 False False) [])",fontsize=16,color="black",shape="box"];1528 -> 1606[label="",style="solid", color="black", weight=3]; 58.54/37.21 1529[label="(++) range60 True (False >= True && True >= True) foldr (++) [] (map (range6 False True) [])",fontsize=16,color="black",shape="box"];1529 -> 1607[label="",style="solid", color="black", weight=3]; 58.54/37.21 1530[label="[] ++ foldr (++) [] (map (range6 True False) (True : []))",fontsize=16,color="black",shape="box"];1530 -> 1608[label="",style="solid", color="black", weight=3]; 58.54/37.21 1531[label="(++) [] foldr (++) [] (map (range6 True True) (True : []))",fontsize=16,color="black",shape="box"];1531 -> 1609[label="",style="solid", color="black", weight=3]; 58.54/37.21 2786[label="primPlusInt (Pos (Succ xu202)) (Pos (Succ Zero))",fontsize=16,color="black",shape="box"];2786 -> 2800[label="",style="solid", color="black", weight=3]; 58.54/37.21 2787[label="Integer xu210",fontsize=16,color="green",shape="box"];2788[label="Integer (Neg (Succ xu206))",fontsize=16,color="green",shape="box"];1558[label="(xu70,xu71,xu720) : []",fontsize=16,color="green",shape="box"];2678[label="Succ (Succ (primPlusNat xu168 Zero))",fontsize=16,color="green",shape="box"];2678 -> 2695[label="",style="dashed", color="green", weight=3]; 58.54/37.21 1597[label="(++) range00 EQ (compare LT EQ /= LT && EQ >= LT) foldr (++) [] (map (range0 LT LT) (GT : []))",fontsize=16,color="black",shape="box"];1597 -> 1676[label="",style="solid", color="black", weight=3]; 58.54/37.21 1598[label="(++) range00 EQ (compare LT EQ /= LT && EQ >= EQ) foldr (++) [] (map (range0 LT EQ) (GT : []))",fontsize=16,color="black",shape="box"];1598 -> 1677[label="",style="solid", color="black", weight=3]; 58.54/37.21 1599[label="(++) range00 EQ (compare LT EQ /= LT && EQ >= GT) foldr (++) [] (map (range0 LT GT) (GT : []))",fontsize=16,color="black",shape="box"];1599 -> 1678[label="",style="solid", color="black", weight=3]; 58.54/37.21 1600[label="foldr (++) [] (map (range0 EQ LT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1600 -> 1679[label="",style="solid", color="black", weight=3]; 58.54/37.21 1601[label="foldr (++) [] (map (range0 EQ EQ) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1601 -> 1680[label="",style="solid", color="black", weight=3]; 58.54/37.21 1602[label="foldr (++) [] (map (range0 EQ GT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1602 -> 1681[label="",style="solid", color="black", weight=3]; 58.54/37.21 1603[label="foldr (++) [] (map (range0 GT LT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1603 -> 1682[label="",style="solid", color="black", weight=3]; 58.54/37.21 1604[label="foldr (++) [] (map (range0 GT EQ) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1604 -> 1683[label="",style="solid", color="black", weight=3]; 58.54/37.21 1605[label="foldr (++) [] (map (range0 GT GT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1605 -> 1684[label="",style="solid", color="black", weight=3]; 58.54/37.21 1606[label="(++) range60 True (compare False True /= LT && True >= False) foldr (++) [] (map (range6 False False) [])",fontsize=16,color="black",shape="box"];1606 -> 1685[label="",style="solid", color="black", weight=3]; 58.54/37.21 1607[label="(++) range60 True (compare False True /= LT && True >= True) foldr (++) [] (map (range6 False True) [])",fontsize=16,color="black",shape="box"];1607 -> 1686[label="",style="solid", color="black", weight=3]; 58.54/37.21 1608[label="foldr (++) [] (map (range6 True False) (True : []))",fontsize=16,color="black",shape="box"];1608 -> 1687[label="",style="solid", color="black", weight=3]; 58.54/37.21 1609[label="foldr (++) [] (map (range6 True True) (True : []))",fontsize=16,color="black",shape="box"];1609 -> 1688[label="",style="solid", color="black", weight=3]; 58.54/37.21 2800[label="Pos (primPlusNat (Succ xu202) (Succ Zero))",fontsize=16,color="green",shape="box"];2800 -> 2812[label="",style="dashed", color="green", weight=3]; 58.54/37.21 2695[label="primPlusNat xu168 Zero",fontsize=16,color="burlywood",shape="box"];3195[label="xu168/Succ xu1680",fontsize=10,color="white",style="solid",shape="box"];2695 -> 3195[label="",style="solid", color="burlywood", weight=9]; 58.54/37.21 3195 -> 2711[label="",style="solid", color="burlywood", weight=3]; 58.54/37.21 3196[label="xu168/Zero",fontsize=10,color="white",style="solid",shape="box"];2695 -> 3196[label="",style="solid", color="burlywood", weight=9]; 58.54/37.21 3196 -> 2712[label="",style="solid", color="burlywood", weight=3]; 58.54/37.21 1676[label="(++) range00 EQ (not (compare LT EQ == LT) && EQ >= LT) foldr (++) [] (map (range0 LT LT) (GT : []))",fontsize=16,color="black",shape="box"];1676 -> 1744[label="",style="solid", color="black", weight=3]; 58.54/37.21 1677[label="(++) range00 EQ (not (compare LT EQ == LT) && EQ >= EQ) foldr (++) [] (map (range0 LT EQ) (GT : []))",fontsize=16,color="black",shape="box"];1677 -> 1745[label="",style="solid", color="black", weight=3]; 58.54/37.21 1678[label="(++) range00 EQ (not (compare LT EQ == LT) && EQ >= GT) foldr (++) [] (map (range0 LT GT) (GT : []))",fontsize=16,color="black",shape="box"];1678 -> 1746[label="",style="solid", color="black", weight=3]; 58.54/37.21 1679[label="foldr (++) [] (range0 EQ LT EQ : map (range0 EQ LT) (GT : []))",fontsize=16,color="black",shape="box"];1679 -> 1747[label="",style="solid", color="black", weight=3]; 58.54/37.21 1680[label="foldr (++) [] (range0 EQ EQ EQ : map (range0 EQ EQ) (GT : []))",fontsize=16,color="black",shape="box"];1680 -> 1748[label="",style="solid", color="black", weight=3]; 58.54/37.21 1681[label="foldr (++) [] (range0 EQ GT EQ : map (range0 EQ GT) (GT : []))",fontsize=16,color="black",shape="box"];1681 -> 1749[label="",style="solid", color="black", weight=3]; 58.54/37.21 1682[label="foldr (++) [] (range0 GT LT EQ : map (range0 GT LT) (GT : []))",fontsize=16,color="black",shape="box"];1682 -> 1750[label="",style="solid", color="black", weight=3]; 58.54/37.21 1683[label="foldr (++) [] (range0 GT EQ EQ : map (range0 GT EQ) (GT : []))",fontsize=16,color="black",shape="box"];1683 -> 1751[label="",style="solid", color="black", weight=3]; 58.54/37.21 1684[label="foldr (++) [] (range0 GT GT EQ : map (range0 GT GT) (GT : []))",fontsize=16,color="black",shape="box"];1684 -> 1752[label="",style="solid", color="black", weight=3]; 58.54/37.21 1685[label="(++) range60 True (not (compare False True == LT) && True >= False) foldr (++) [] (map (range6 False False) [])",fontsize=16,color="black",shape="box"];1685 -> 1753[label="",style="solid", color="black", weight=3]; 58.54/37.21 1686[label="(++) range60 True (not (compare False True == LT) && True >= True) foldr (++) [] (map (range6 False True) [])",fontsize=16,color="black",shape="box"];1686 -> 1754[label="",style="solid", color="black", weight=3]; 58.54/37.21 1687[label="foldr (++) [] (range6 True False True : map (range6 True False) [])",fontsize=16,color="black",shape="box"];1687 -> 1755[label="",style="solid", color="black", weight=3]; 58.54/37.21 1688[label="foldr (++) [] (range6 True True True : map (range6 True True) [])",fontsize=16,color="black",shape="box"];1688 -> 1756[label="",style="solid", color="black", weight=3]; 58.54/37.21 2812 -> 2660[label="",style="dashed", color="red", weight=0]; 58.54/37.21 2812[label="primPlusNat (Succ xu202) (Succ Zero)",fontsize=16,color="magenta"];2812 -> 2824[label="",style="dashed", color="magenta", weight=3]; 58.54/37.21 2711[label="primPlusNat (Succ xu1680) Zero",fontsize=16,color="black",shape="box"];2711 -> 2728[label="",style="solid", color="black", weight=3]; 58.54/37.21 2712[label="primPlusNat Zero Zero",fontsize=16,color="black",shape="box"];2712 -> 2729[label="",style="solid", color="black", weight=3]; 58.54/37.21 1744[label="(++) range00 EQ (not (compare3 LT EQ == LT) && EQ >= LT) foldr (++) [] (map (range0 LT LT) (GT : []))",fontsize=16,color="black",shape="box"];1744 -> 1858[label="",style="solid", color="black", weight=3]; 58.54/37.21 1745[label="(++) range00 EQ (not (compare3 LT EQ == LT) && EQ >= EQ) foldr (++) [] (map (range0 LT EQ) (GT : []))",fontsize=16,color="black",shape="box"];1745 -> 1859[label="",style="solid", color="black", weight=3]; 58.54/37.21 1746[label="(++) range00 EQ (not (compare3 LT EQ == LT) && EQ >= GT) foldr (++) [] (map (range0 LT GT) (GT : []))",fontsize=16,color="black",shape="box"];1746 -> 1860[label="",style="solid", color="black", weight=3]; 58.54/37.21 1747[label="(++) range0 EQ LT EQ foldr (++) [] (map (range0 EQ LT) (GT : []))",fontsize=16,color="black",shape="box"];1747 -> 1861[label="",style="solid", color="black", weight=3]; 58.54/37.21 1748[label="(++) range0 EQ EQ EQ foldr (++) [] (map (range0 EQ EQ) (GT : []))",fontsize=16,color="black",shape="box"];1748 -> 1862[label="",style="solid", color="black", weight=3]; 58.54/37.21 1749[label="(++) range0 EQ GT EQ foldr (++) [] (map (range0 EQ GT) (GT : []))",fontsize=16,color="black",shape="box"];1749 -> 1863[label="",style="solid", color="black", weight=3]; 58.54/37.21 1750[label="(++) range0 GT LT EQ foldr (++) [] (map (range0 GT LT) (GT : []))",fontsize=16,color="black",shape="box"];1750 -> 1864[label="",style="solid", color="black", weight=3]; 58.54/37.21 1751[label="(++) range0 GT EQ EQ foldr (++) [] (map (range0 GT EQ) (GT : []))",fontsize=16,color="black",shape="box"];1751 -> 1865[label="",style="solid", color="black", weight=3]; 58.54/37.21 1752[label="(++) range0 GT GT EQ foldr (++) [] (map (range0 GT GT) (GT : []))",fontsize=16,color="black",shape="box"];1752 -> 1866[label="",style="solid", color="black", weight=3]; 58.54/37.21 1753[label="(++) range60 True (not (compare3 False True == LT) && True >= False) foldr (++) [] (map (range6 False False) [])",fontsize=16,color="black",shape="box"];1753 -> 1867[label="",style="solid", color="black", weight=3]; 58.54/37.21 1754[label="(++) range60 True (not (compare3 False True == LT) && True >= True) foldr (++) [] (map (range6 False True) [])",fontsize=16,color="black",shape="box"];1754 -> 1868[label="",style="solid", color="black", weight=3]; 58.54/37.21 1755[label="(++) range6 True False True foldr (++) [] (map (range6 True False) [])",fontsize=16,color="black",shape="box"];1755 -> 1869[label="",style="solid", color="black", weight=3]; 58.54/37.21 1756[label="(++) range6 True True True foldr (++) [] (map (range6 True True) [])",fontsize=16,color="black",shape="box"];1756 -> 1870[label="",style="solid", color="black", weight=3]; 58.54/37.21 2824[label="xu202",fontsize=16,color="green",shape="box"];2728[label="Succ xu1680",fontsize=16,color="green",shape="box"];2729[label="Zero",fontsize=16,color="green",shape="box"];1858[label="(++) range00 EQ (not (compare2 LT EQ (LT == EQ) == LT) && EQ >= LT) foldr (++) [] (map (range0 LT LT) (GT : []))",fontsize=16,color="black",shape="box"];1858 -> 1985[label="",style="solid", color="black", weight=3]; 58.54/37.21 1859[label="(++) range00 EQ (not (compare2 LT EQ (LT == EQ) == LT) && EQ >= EQ) foldr (++) [] (map (range0 LT EQ) (GT : []))",fontsize=16,color="black",shape="box"];1859 -> 1986[label="",style="solid", color="black", weight=3]; 58.54/37.21 1860[label="(++) range00 EQ (not (compare2 LT EQ (LT == EQ) == LT) && EQ >= GT) foldr (++) [] (map (range0 LT GT) (GT : []))",fontsize=16,color="black",shape="box"];1860 -> 1987[label="",style="solid", color="black", weight=3]; 58.54/37.21 1861[label="(++) range00 EQ (EQ >= EQ && EQ >= LT) foldr (++) [] (map (range0 EQ LT) (GT : []))",fontsize=16,color="black",shape="box"];1861 -> 1988[label="",style="solid", color="black", weight=3]; 58.54/37.21 1862[label="(++) range00 EQ (EQ >= EQ && EQ >= EQ) foldr (++) [] (map (range0 EQ EQ) (GT : []))",fontsize=16,color="black",shape="box"];1862 -> 1989[label="",style="solid", color="black", weight=3]; 58.54/37.21 1863[label="(++) range00 EQ (EQ >= EQ && EQ >= GT) foldr (++) [] (map (range0 EQ GT) (GT : []))",fontsize=16,color="black",shape="box"];1863 -> 1990[label="",style="solid", color="black", weight=3]; 58.54/37.21 1864[label="(++) range00 EQ (GT >= EQ && EQ >= LT) foldr (++) [] (map (range0 GT LT) (GT : []))",fontsize=16,color="black",shape="box"];1864 -> 1991[label="",style="solid", color="black", weight=3]; 58.54/37.21 1865[label="(++) range00 EQ (GT >= EQ && EQ >= EQ) foldr (++) [] (map (range0 GT EQ) (GT : []))",fontsize=16,color="black",shape="box"];1865 -> 1992[label="",style="solid", color="black", weight=3]; 58.54/37.21 1866[label="(++) range00 EQ (GT >= EQ && EQ >= GT) foldr (++) [] (map (range0 GT GT) (GT : []))",fontsize=16,color="black",shape="box"];1866 -> 1993[label="",style="solid", color="black", weight=3]; 58.54/37.21 1867[label="(++) range60 True (not (compare2 False True (False == True) == LT) && True >= False) foldr (++) [] (map (range6 False False) [])",fontsize=16,color="black",shape="box"];1867 -> 1994[label="",style="solid", color="black", weight=3]; 58.54/37.21 1868[label="(++) range60 True (not (compare2 False True (False == True) == LT) && True >= True) foldr (++) [] (map (range6 False True) [])",fontsize=16,color="black",shape="box"];1868 -> 1995[label="",style="solid", color="black", weight=3]; 58.54/37.21 1869[label="(++) range60 True (True >= True && True >= False) foldr (++) [] (map (range6 True False) [])",fontsize=16,color="black",shape="box"];1869 -> 1996[label="",style="solid", color="black", weight=3]; 58.54/37.21 1870[label="(++) range60 True (True >= True && True >= True) foldr (++) [] (map (range6 True True) [])",fontsize=16,color="black",shape="box"];1870 -> 1997[label="",style="solid", color="black", weight=3]; 58.54/37.21 1985[label="(++) range00 EQ (not (compare2 LT EQ False == LT) && EQ >= LT) foldr (++) [] (map (range0 LT LT) (GT : []))",fontsize=16,color="black",shape="box"];1985 -> 2046[label="",style="solid", color="black", weight=3]; 58.54/37.21 1986[label="(++) range00 EQ (not (compare2 LT EQ False == LT) && EQ >= EQ) foldr (++) [] (map (range0 LT EQ) (GT : []))",fontsize=16,color="black",shape="box"];1986 -> 2047[label="",style="solid", color="black", weight=3]; 58.54/37.21 1987[label="(++) range00 EQ (not (compare2 LT EQ False == LT) && EQ >= GT) foldr (++) [] (map (range0 LT GT) (GT : []))",fontsize=16,color="black",shape="box"];1987 -> 2048[label="",style="solid", color="black", weight=3]; 58.54/37.21 1988[label="(++) range00 EQ (compare EQ EQ /= LT && EQ >= LT) foldr (++) [] (map (range0 EQ LT) (GT : []))",fontsize=16,color="black",shape="box"];1988 -> 2049[label="",style="solid", color="black", weight=3]; 58.54/37.21 1989[label="(++) range00 EQ (compare EQ EQ /= LT && EQ >= EQ) foldr (++) [] (map (range0 EQ EQ) (GT : []))",fontsize=16,color="black",shape="box"];1989 -> 2050[label="",style="solid", color="black", weight=3]; 58.54/37.21 1990[label="(++) range00 EQ (compare EQ EQ /= LT && EQ >= GT) foldr (++) [] (map (range0 EQ GT) (GT : []))",fontsize=16,color="black",shape="box"];1990 -> 2051[label="",style="solid", color="black", weight=3]; 58.54/37.21 1991[label="(++) range00 EQ (compare GT EQ /= LT && EQ >= LT) foldr (++) [] (map (range0 GT LT) (GT : []))",fontsize=16,color="black",shape="box"];1991 -> 2052[label="",style="solid", color="black", weight=3]; 58.54/37.21 1992[label="(++) range00 EQ (compare GT EQ /= LT && EQ >= EQ) foldr (++) [] (map (range0 GT EQ) (GT : []))",fontsize=16,color="black",shape="box"];1992 -> 2053[label="",style="solid", color="black", weight=3]; 58.54/37.21 1993[label="(++) range00 EQ (compare GT EQ /= LT && EQ >= GT) foldr (++) [] (map (range0 GT GT) (GT : []))",fontsize=16,color="black",shape="box"];1993 -> 2054[label="",style="solid", color="black", weight=3]; 58.54/37.21 1994[label="(++) range60 True (not (compare2 False True False == LT) && True >= False) foldr (++) [] (map (range6 False False) [])",fontsize=16,color="black",shape="box"];1994 -> 2055[label="",style="solid", color="black", weight=3]; 58.54/37.21 1995[label="(++) range60 True (not (compare2 False True False == LT) && True >= True) foldr (++) [] (map (range6 False True) [])",fontsize=16,color="black",shape="box"];1995 -> 2056[label="",style="solid", color="black", weight=3]; 58.54/37.21 1996[label="(++) range60 True (compare True True /= LT && True >= False) foldr (++) [] (map (range6 True False) [])",fontsize=16,color="black",shape="box"];1996 -> 2057[label="",style="solid", color="black", weight=3]; 58.54/37.21 1997[label="(++) range60 True (compare True True /= LT && True >= True) foldr (++) [] (map (range6 True True) [])",fontsize=16,color="black",shape="box"];1997 -> 2058[label="",style="solid", color="black", weight=3]; 58.54/37.21 2046[label="(++) range00 EQ (not (compare1 LT EQ (LT <= EQ) == LT) && EQ >= LT) foldr (++) [] (map (range0 LT LT) (GT : []))",fontsize=16,color="black",shape="box"];2046 -> 2124[label="",style="solid", color="black", weight=3]; 58.54/37.21 2047[label="(++) range00 EQ (not (compare1 LT EQ (LT <= EQ) == LT) && EQ >= EQ) foldr (++) [] (map (range0 LT EQ) (GT : []))",fontsize=16,color="black",shape="box"];2047 -> 2125[label="",style="solid", color="black", weight=3]; 58.54/37.21 2048[label="(++) range00 EQ (not (compare1 LT EQ (LT <= EQ) == LT) && EQ >= GT) foldr (++) [] (map (range0 LT GT) (GT : []))",fontsize=16,color="black",shape="box"];2048 -> 2126[label="",style="solid", color="black", weight=3]; 58.54/37.21 2049[label="(++) range00 EQ (not (compare EQ EQ == LT) && EQ >= LT) foldr (++) [] (map (range0 EQ LT) (GT : []))",fontsize=16,color="black",shape="box"];2049 -> 2127[label="",style="solid", color="black", weight=3]; 58.54/37.21 2050[label="(++) range00 EQ (not (compare EQ EQ == LT) && EQ >= EQ) foldr (++) [] (map (range0 EQ EQ) (GT : []))",fontsize=16,color="black",shape="box"];2050 -> 2128[label="",style="solid", color="black", weight=3]; 58.54/37.21 2051[label="(++) range00 EQ (not (compare EQ EQ == LT) && EQ >= GT) foldr (++) [] (map (range0 EQ GT) (GT : []))",fontsize=16,color="black",shape="box"];2051 -> 2129[label="",style="solid", color="black", weight=3]; 58.54/37.21 2052[label="(++) range00 EQ (not (compare GT EQ == LT) && EQ >= LT) foldr (++) [] (map (range0 GT LT) (GT : []))",fontsize=16,color="black",shape="box"];2052 -> 2130[label="",style="solid", color="black", weight=3]; 58.54/37.21 2053[label="(++) range00 EQ (not (compare GT EQ == LT) && EQ >= EQ) foldr (++) [] (map (range0 GT EQ) (GT : []))",fontsize=16,color="black",shape="box"];2053 -> 2131[label="",style="solid", color="black", weight=3]; 58.54/37.21 2054[label="(++) range00 EQ (not (compare GT EQ == LT) && EQ >= GT) foldr (++) [] (map (range0 GT GT) (GT : []))",fontsize=16,color="black",shape="box"];2054 -> 2132[label="",style="solid", color="black", weight=3]; 58.54/37.21 2055[label="(++) range60 True (not (compare1 False True (False <= True) == LT) && True >= False) foldr (++) [] (map (range6 False False) [])",fontsize=16,color="black",shape="box"];2055 -> 2133[label="",style="solid", color="black", weight=3]; 58.54/37.21 2056[label="(++) range60 True (not (compare1 False True (False <= True) == LT) && True >= True) foldr (++) [] (map (range6 False True) [])",fontsize=16,color="black",shape="box"];2056 -> 2134[label="",style="solid", color="black", weight=3]; 58.54/37.21 2057[label="(++) range60 True (not (compare True True == LT) && True >= False) foldr (++) [] (map (range6 True False) [])",fontsize=16,color="black",shape="box"];2057 -> 2135[label="",style="solid", color="black", weight=3]; 58.54/37.21 2058[label="(++) range60 True (not (compare True True == LT) && True >= True) foldr (++) [] (map (range6 True True) [])",fontsize=16,color="black",shape="box"];2058 -> 2136[label="",style="solid", color="black", weight=3]; 58.54/37.21 2124[label="(++) range00 EQ (not (compare1 LT EQ True == LT) && EQ >= LT) foldr (++) [] (map (range0 LT LT) (GT : []))",fontsize=16,color="black",shape="box"];2124 -> 2176[label="",style="solid", color="black", weight=3]; 58.54/37.21 2125[label="(++) range00 EQ (not (compare1 LT EQ True == LT) && EQ >= EQ) foldr (++) [] (map (range0 LT EQ) (GT : []))",fontsize=16,color="black",shape="box"];2125 -> 2177[label="",style="solid", color="black", weight=3]; 58.54/37.21 2126[label="(++) range00 EQ (not (compare1 LT EQ True == LT) && EQ >= GT) foldr (++) [] (map (range0 LT GT) (GT : []))",fontsize=16,color="black",shape="box"];2126 -> 2178[label="",style="solid", color="black", weight=3]; 58.54/37.21 2127[label="(++) range00 EQ (not (compare3 EQ EQ == LT) && EQ >= LT) foldr (++) [] (map (range0 EQ LT) (GT : []))",fontsize=16,color="black",shape="box"];2127 -> 2179[label="",style="solid", color="black", weight=3]; 58.54/37.21 2128[label="(++) range00 EQ (not (compare3 EQ EQ == LT) && EQ >= EQ) foldr (++) [] (map (range0 EQ EQ) (GT : []))",fontsize=16,color="black",shape="box"];2128 -> 2180[label="",style="solid", color="black", weight=3]; 58.54/37.21 2129[label="(++) range00 EQ (not (compare3 EQ EQ == LT) && EQ >= GT) foldr (++) [] (map (range0 EQ GT) (GT : []))",fontsize=16,color="black",shape="box"];2129 -> 2181[label="",style="solid", color="black", weight=3]; 58.54/37.21 2130[label="(++) range00 EQ (not (compare3 GT EQ == LT) && EQ >= LT) foldr (++) [] (map (range0 GT LT) (GT : []))",fontsize=16,color="black",shape="box"];2130 -> 2182[label="",style="solid", color="black", weight=3]; 58.54/37.21 2131[label="(++) range00 EQ (not (compare3 GT EQ == LT) && EQ >= EQ) foldr (++) [] (map (range0 GT EQ) (GT : []))",fontsize=16,color="black",shape="box"];2131 -> 2183[label="",style="solid", color="black", weight=3]; 58.54/37.21 2132[label="(++) range00 EQ (not (compare3 GT EQ == LT) && EQ >= GT) foldr (++) [] (map (range0 GT GT) (GT : []))",fontsize=16,color="black",shape="box"];2132 -> 2184[label="",style="solid", color="black", weight=3]; 58.54/37.21 2133[label="(++) range60 True (not (compare1 False True True == LT) && True >= False) foldr (++) [] (map (range6 False False) [])",fontsize=16,color="black",shape="box"];2133 -> 2185[label="",style="solid", color="black", weight=3]; 58.54/37.21 2134[label="(++) range60 True (not (compare1 False True True == LT) && True >= True) foldr (++) [] (map (range6 False True) [])",fontsize=16,color="black",shape="box"];2134 -> 2186[label="",style="solid", color="black", weight=3]; 58.54/37.21 2135[label="(++) range60 True (not (compare3 True True == LT) && True >= False) foldr (++) [] (map (range6 True False) [])",fontsize=16,color="black",shape="box"];2135 -> 2187[label="",style="solid", color="black", weight=3]; 58.54/37.21 2136[label="(++) range60 True (not (compare3 True True == LT) && True >= True) foldr (++) [] (map (range6 True True) [])",fontsize=16,color="black",shape="box"];2136 -> 2188[label="",style="solid", color="black", weight=3]; 58.54/37.21 2176[label="(++) range00 EQ (not (LT == LT) && EQ >= LT) foldr (++) [] (map (range0 LT LT) (GT : []))",fontsize=16,color="black",shape="box"];2176 -> 2249[label="",style="solid", color="black", weight=3]; 58.54/37.21 2177[label="(++) range00 EQ (not (LT == LT) && EQ >= EQ) foldr (++) [] (map (range0 LT EQ) (GT : []))",fontsize=16,color="black",shape="box"];2177 -> 2250[label="",style="solid", color="black", weight=3]; 58.54/37.21 2178[label="(++) range00 EQ (not (LT == LT) && EQ >= GT) foldr (++) [] (map (range0 LT GT) (GT : []))",fontsize=16,color="black",shape="box"];2178 -> 2251[label="",style="solid", color="black", weight=3]; 58.54/37.21 2179[label="(++) range00 EQ (not (compare2 EQ EQ (EQ == EQ) == LT) && EQ >= LT) foldr (++) [] (map (range0 EQ LT) (GT : []))",fontsize=16,color="black",shape="box"];2179 -> 2252[label="",style="solid", color="black", weight=3]; 58.54/37.21 2180[label="(++) range00 EQ (not (compare2 EQ EQ (EQ == EQ) == LT) && EQ >= EQ) foldr (++) [] (map (range0 EQ EQ) (GT : []))",fontsize=16,color="black",shape="box"];2180 -> 2253[label="",style="solid", color="black", weight=3]; 58.54/37.21 2181[label="(++) range00 EQ (not (compare2 EQ EQ (EQ == EQ) == LT) && EQ >= GT) foldr (++) [] (map (range0 EQ GT) (GT : []))",fontsize=16,color="black",shape="box"];2181 -> 2254[label="",style="solid", color="black", weight=3]; 58.54/37.21 2182[label="(++) range00 EQ (not (compare2 GT EQ (GT == EQ) == LT) && EQ >= LT) foldr (++) [] (map (range0 GT LT) (GT : []))",fontsize=16,color="black",shape="box"];2182 -> 2255[label="",style="solid", color="black", weight=3]; 58.54/37.21 2183[label="(++) range00 EQ (not (compare2 GT EQ (GT == EQ) == LT) && EQ >= EQ) foldr (++) [] (map (range0 GT EQ) (GT : []))",fontsize=16,color="black",shape="box"];2183 -> 2256[label="",style="solid", color="black", weight=3]; 58.54/37.21 2184[label="(++) range00 EQ (not (compare2 GT EQ (GT == EQ) == LT) && EQ >= GT) foldr (++) [] (map (range0 GT GT) (GT : []))",fontsize=16,color="black",shape="box"];2184 -> 2257[label="",style="solid", color="black", weight=3]; 58.54/37.21 2185[label="(++) range60 True (not (LT == LT) && True >= False) foldr (++) [] (map (range6 False False) [])",fontsize=16,color="black",shape="box"];2185 -> 2258[label="",style="solid", color="black", weight=3]; 58.54/37.21 2186[label="(++) range60 True (not (LT == LT) && True >= True) foldr (++) [] (map (range6 False True) [])",fontsize=16,color="black",shape="box"];2186 -> 2259[label="",style="solid", color="black", weight=3]; 58.54/37.21 2187[label="(++) range60 True (not (compare2 True True (True == True) == LT) && True >= False) foldr (++) [] (map (range6 True False) [])",fontsize=16,color="black",shape="box"];2187 -> 2260[label="",style="solid", color="black", weight=3]; 58.54/37.21 2188[label="(++) range60 True (not (compare2 True True (True == True) == LT) && True >= True) foldr (++) [] (map (range6 True True) [])",fontsize=16,color="black",shape="box"];2188 -> 2261[label="",style="solid", color="black", weight=3]; 58.54/37.21 2249[label="(++) range00 EQ (not True && EQ >= LT) foldr (++) [] (map (range0 LT LT) (GT : []))",fontsize=16,color="black",shape="box"];2249 -> 2348[label="",style="solid", color="black", weight=3]; 58.54/37.21 2250[label="(++) range00 EQ (not True && EQ >= EQ) foldr (++) [] (map (range0 LT EQ) (GT : []))",fontsize=16,color="black",shape="box"];2250 -> 2349[label="",style="solid", color="black", weight=3]; 58.54/37.21 2251[label="(++) range00 EQ (not True && EQ >= GT) foldr (++) [] (map (range0 LT GT) (GT : []))",fontsize=16,color="black",shape="box"];2251 -> 2350[label="",style="solid", color="black", weight=3]; 58.54/37.21 2252[label="(++) range00 EQ (not (compare2 EQ EQ True == LT) && EQ >= LT) foldr (++) [] (map (range0 EQ LT) (GT : []))",fontsize=16,color="black",shape="box"];2252 -> 2351[label="",style="solid", color="black", weight=3]; 58.54/37.21 2253[label="(++) range00 EQ (not (compare2 EQ EQ True == LT) && EQ >= EQ) foldr (++) [] (map (range0 EQ EQ) (GT : []))",fontsize=16,color="black",shape="box"];2253 -> 2352[label="",style="solid", color="black", weight=3]; 58.54/37.21 2254[label="(++) range00 EQ (not (compare2 EQ EQ True == LT) && EQ >= GT) foldr (++) [] (map (range0 EQ GT) (GT : []))",fontsize=16,color="black",shape="box"];2254 -> 2353[label="",style="solid", color="black", weight=3]; 58.54/37.21 2255[label="(++) range00 EQ (not (compare2 GT EQ False == LT) && EQ >= LT) foldr (++) [] (map (range0 GT LT) (GT : []))",fontsize=16,color="black",shape="box"];2255 -> 2354[label="",style="solid", color="black", weight=3]; 58.54/37.21 2256[label="(++) range00 EQ (not (compare2 GT EQ False == LT) && EQ >= EQ) foldr (++) [] (map (range0 GT EQ) (GT : []))",fontsize=16,color="black",shape="box"];2256 -> 2355[label="",style="solid", color="black", weight=3]; 58.54/37.21 2257[label="(++) range00 EQ (not (compare2 GT EQ False == LT) && EQ >= GT) foldr (++) [] (map (range0 GT GT) (GT : []))",fontsize=16,color="black",shape="box"];2257 -> 2356[label="",style="solid", color="black", weight=3]; 58.54/37.21 2258[label="(++) range60 True (not True && True >= False) foldr (++) [] (map (range6 False False) [])",fontsize=16,color="black",shape="box"];2258 -> 2357[label="",style="solid", color="black", weight=3]; 58.54/37.21 2259[label="(++) range60 True (not True && True >= True) foldr (++) [] (map (range6 False True) [])",fontsize=16,color="black",shape="box"];2259 -> 2358[label="",style="solid", color="black", weight=3]; 58.54/37.21 2260[label="(++) range60 True (not (compare2 True True True == LT) && True >= False) foldr (++) [] (map (range6 True False) [])",fontsize=16,color="black",shape="box"];2260 -> 2359[label="",style="solid", color="black", weight=3]; 58.54/37.21 2261[label="(++) range60 True (not (compare2 True True True == LT) && True >= True) foldr (++) [] (map (range6 True True) [])",fontsize=16,color="black",shape="box"];2261 -> 2360[label="",style="solid", color="black", weight=3]; 58.54/37.21 2348[label="(++) range00 EQ (False && EQ >= LT) foldr (++) [] (map (range0 LT LT) (GT : []))",fontsize=16,color="black",shape="box"];2348 -> 2451[label="",style="solid", color="black", weight=3]; 58.54/37.21 2349[label="(++) range00 EQ (False && EQ >= EQ) foldr (++) [] (map (range0 LT EQ) (GT : []))",fontsize=16,color="black",shape="box"];2349 -> 2452[label="",style="solid", color="black", weight=3]; 58.54/37.21 2350[label="(++) range00 EQ (False && EQ >= GT) foldr (++) [] (map (range0 LT GT) (GT : []))",fontsize=16,color="black",shape="box"];2350 -> 2453[label="",style="solid", color="black", weight=3]; 58.54/37.21 2351[label="(++) range00 EQ (not (EQ == LT) && EQ >= LT) foldr (++) [] (map (range0 EQ LT) (GT : []))",fontsize=16,color="black",shape="box"];2351 -> 2454[label="",style="solid", color="black", weight=3]; 58.54/37.21 2352[label="(++) range00 EQ (not (EQ == LT) && EQ >= EQ) foldr (++) [] (map (range0 EQ EQ) (GT : []))",fontsize=16,color="black",shape="box"];2352 -> 2455[label="",style="solid", color="black", weight=3]; 58.54/37.21 2353[label="(++) range00 EQ (not (EQ == LT) && EQ >= GT) foldr (++) [] (map (range0 EQ GT) (GT : []))",fontsize=16,color="black",shape="box"];2353 -> 2456[label="",style="solid", color="black", weight=3]; 58.54/37.21 2354[label="(++) range00 EQ (not (compare1 GT EQ (GT <= EQ) == LT) && EQ >= LT) foldr (++) [] (map (range0 GT LT) (GT : []))",fontsize=16,color="black",shape="box"];2354 -> 2457[label="",style="solid", color="black", weight=3]; 58.54/37.21 2355[label="(++) range00 EQ (not (compare1 GT EQ (GT <= EQ) == LT) && EQ >= EQ) foldr (++) [] (map (range0 GT EQ) (GT : []))",fontsize=16,color="black",shape="box"];2355 -> 2458[label="",style="solid", color="black", weight=3]; 58.54/37.21 2356[label="(++) range00 EQ (not (compare1 GT EQ (GT <= EQ) == LT) && EQ >= GT) foldr (++) [] (map (range0 GT GT) (GT : []))",fontsize=16,color="black",shape="box"];2356 -> 2459[label="",style="solid", color="black", weight=3]; 58.54/37.21 2357[label="(++) range60 True (False && True >= False) foldr (++) [] (map (range6 False False) [])",fontsize=16,color="black",shape="box"];2357 -> 2460[label="",style="solid", color="black", weight=3]; 58.54/37.21 2358[label="(++) range60 True (False && True >= True) foldr (++) [] (map (range6 False True) [])",fontsize=16,color="black",shape="box"];2358 -> 2461[label="",style="solid", color="black", weight=3]; 58.54/37.21 2359[label="(++) range60 True (not (EQ == LT) && True >= False) foldr (++) [] (map (range6 True False) [])",fontsize=16,color="black",shape="box"];2359 -> 2462[label="",style="solid", color="black", weight=3]; 58.54/37.21 2360[label="(++) range60 True (not (EQ == LT) && True >= True) foldr (++) [] (map (range6 True True) [])",fontsize=16,color="black",shape="box"];2360 -> 2463[label="",style="solid", color="black", weight=3]; 58.54/37.21 2451[label="(++) range00 EQ False foldr (++) [] (map (range0 LT LT) (GT : []))",fontsize=16,color="black",shape="box"];2451 -> 2566[label="",style="solid", color="black", weight=3]; 58.54/37.21 2452[label="(++) range00 EQ False foldr (++) [] (map (range0 LT EQ) (GT : []))",fontsize=16,color="black",shape="box"];2452 -> 2567[label="",style="solid", color="black", weight=3]; 58.54/37.21 2453[label="(++) range00 EQ False foldr (++) [] (map (range0 LT GT) (GT : []))",fontsize=16,color="black",shape="box"];2453 -> 2568[label="",style="solid", color="black", weight=3]; 58.54/37.21 2454[label="(++) range00 EQ (not False && EQ >= LT) foldr (++) [] (map (range0 EQ LT) (GT : []))",fontsize=16,color="black",shape="box"];2454 -> 2569[label="",style="solid", color="black", weight=3]; 58.54/37.21 2455[label="(++) range00 EQ (not False && EQ >= EQ) foldr (++) [] (map (range0 EQ EQ) (GT : []))",fontsize=16,color="black",shape="box"];2455 -> 2570[label="",style="solid", color="black", weight=3]; 58.54/37.21 2456[label="(++) range00 EQ (not False && EQ >= GT) foldr (++) [] (map (range0 EQ GT) (GT : []))",fontsize=16,color="black",shape="box"];2456 -> 2571[label="",style="solid", color="black", weight=3]; 58.54/37.21 2457[label="(++) range00 EQ (not (compare1 GT EQ False == LT) && EQ >= LT) foldr (++) [] (map (range0 GT LT) (GT : []))",fontsize=16,color="black",shape="box"];2457 -> 2572[label="",style="solid", color="black", weight=3]; 58.54/37.21 2458[label="(++) range00 EQ (not (compare1 GT EQ False == LT) && EQ >= EQ) foldr (++) [] (map (range0 GT EQ) (GT : []))",fontsize=16,color="black",shape="box"];2458 -> 2573[label="",style="solid", color="black", weight=3]; 58.54/37.21 2459[label="(++) range00 EQ (not (compare1 GT EQ False == LT) && EQ >= GT) foldr (++) [] (map (range0 GT GT) (GT : []))",fontsize=16,color="black",shape="box"];2459 -> 2574[label="",style="solid", color="black", weight=3]; 58.54/37.21 2460[label="(++) range60 True False foldr (++) [] (map (range6 False False) [])",fontsize=16,color="black",shape="box"];2460 -> 2575[label="",style="solid", color="black", weight=3]; 58.54/37.21 2461[label="(++) range60 True False foldr (++) [] (map (range6 False True) [])",fontsize=16,color="black",shape="box"];2461 -> 2576[label="",style="solid", color="black", weight=3]; 58.54/37.21 2462[label="(++) range60 True (not False && True >= False) foldr (++) [] (map (range6 True False) [])",fontsize=16,color="black",shape="box"];2462 -> 2577[label="",style="solid", color="black", weight=3]; 58.54/37.21 2463[label="(++) range60 True (not False && True >= True) foldr (++) [] (map (range6 True True) [])",fontsize=16,color="black",shape="box"];2463 -> 2578[label="",style="solid", color="black", weight=3]; 58.54/37.21 2566[label="(++) [] foldr (++) [] (map (range0 LT LT) (GT : []))",fontsize=16,color="black",shape="box"];2566 -> 2593[label="",style="solid", color="black", weight=3]; 58.54/37.21 2567[label="(++) [] foldr (++) [] (map (range0 LT EQ) (GT : []))",fontsize=16,color="black",shape="box"];2567 -> 2594[label="",style="solid", color="black", weight=3]; 58.54/37.21 2568[label="(++) [] foldr (++) [] (map (range0 LT GT) (GT : []))",fontsize=16,color="black",shape="box"];2568 -> 2595[label="",style="solid", color="black", weight=3]; 58.54/37.21 2569[label="(++) range00 EQ (True && EQ >= LT) foldr (++) [] (map (range0 EQ LT) (GT : []))",fontsize=16,color="black",shape="box"];2569 -> 2596[label="",style="solid", color="black", weight=3]; 58.54/37.21 2570[label="(++) range00 EQ (True && EQ >= EQ) foldr (++) [] (map (range0 EQ EQ) (GT : []))",fontsize=16,color="black",shape="box"];2570 -> 2597[label="",style="solid", color="black", weight=3]; 58.54/37.21 2571[label="(++) range00 EQ (True && EQ >= GT) foldr (++) [] (map (range0 EQ GT) (GT : []))",fontsize=16,color="black",shape="box"];2571 -> 2598[label="",style="solid", color="black", weight=3]; 58.54/37.21 2572[label="(++) range00 EQ (not (compare0 GT EQ otherwise == LT) && EQ >= LT) foldr (++) [] (map (range0 GT LT) (GT : []))",fontsize=16,color="black",shape="box"];2572 -> 2599[label="",style="solid", color="black", weight=3]; 58.54/37.21 2573[label="(++) range00 EQ (not (compare0 GT EQ otherwise == LT) && EQ >= EQ) foldr (++) [] (map (range0 GT EQ) (GT : []))",fontsize=16,color="black",shape="box"];2573 -> 2600[label="",style="solid", color="black", weight=3]; 58.54/37.21 2574[label="(++) range00 EQ (not (compare0 GT EQ otherwise == LT) && EQ >= GT) foldr (++) [] (map (range0 GT GT) (GT : []))",fontsize=16,color="black",shape="box"];2574 -> 2601[label="",style="solid", color="black", weight=3]; 58.54/37.21 2575[label="(++) [] foldr (++) [] (map (range6 False False) [])",fontsize=16,color="black",shape="box"];2575 -> 2602[label="",style="solid", color="black", weight=3]; 58.54/37.21 2576[label="(++) [] foldr (++) [] (map (range6 False True) [])",fontsize=16,color="black",shape="box"];2576 -> 2603[label="",style="solid", color="black", weight=3]; 58.54/37.21 2577[label="(++) range60 True (True && True >= False) foldr (++) [] (map (range6 True False) [])",fontsize=16,color="black",shape="box"];2577 -> 2604[label="",style="solid", color="black", weight=3]; 58.54/37.21 2578[label="(++) range60 True (True && True >= True) foldr (++) [] (map (range6 True True) [])",fontsize=16,color="black",shape="box"];2578 -> 2605[label="",style="solid", color="black", weight=3]; 58.54/37.21 2593[label="foldr (++) [] (map (range0 LT LT) (GT : []))",fontsize=16,color="black",shape="box"];2593 -> 2618[label="",style="solid", color="black", weight=3]; 58.54/37.21 2594[label="foldr (++) [] (map (range0 LT EQ) (GT : []))",fontsize=16,color="black",shape="box"];2594 -> 2619[label="",style="solid", color="black", weight=3]; 58.54/37.21 2595[label="foldr (++) [] (map (range0 LT GT) (GT : []))",fontsize=16,color="black",shape="box"];2595 -> 2620[label="",style="solid", color="black", weight=3]; 58.54/37.21 2596[label="(++) range00 EQ (EQ >= LT) foldr (++) [] (map (range0 EQ LT) (GT : []))",fontsize=16,color="black",shape="box"];2596 -> 2621[label="",style="solid", color="black", weight=3]; 58.54/37.21 2597[label="(++) range00 EQ (EQ >= EQ) foldr (++) [] (map (range0 EQ EQ) (GT : []))",fontsize=16,color="black",shape="box"];2597 -> 2622[label="",style="solid", color="black", weight=3]; 58.54/37.21 2598[label="(++) range00 EQ (EQ >= GT) foldr (++) [] (map (range0 EQ GT) (GT : []))",fontsize=16,color="black",shape="box"];2598 -> 2623[label="",style="solid", color="black", weight=3]; 58.54/37.21 2599[label="(++) range00 EQ (not (compare0 GT EQ True == LT) && EQ >= LT) foldr (++) [] (map (range0 GT LT) (GT : []))",fontsize=16,color="black",shape="box"];2599 -> 2624[label="",style="solid", color="black", weight=3]; 58.54/37.21 2600[label="(++) range00 EQ (not (compare0 GT EQ True == LT) && EQ >= EQ) foldr (++) [] (map (range0 GT EQ) (GT : []))",fontsize=16,color="black",shape="box"];2600 -> 2625[label="",style="solid", color="black", weight=3]; 58.54/37.21 2601[label="(++) range00 EQ (not (compare0 GT EQ True == LT) && EQ >= GT) foldr (++) [] (map (range0 GT GT) (GT : []))",fontsize=16,color="black",shape="box"];2601 -> 2626[label="",style="solid", color="black", weight=3]; 58.54/37.21 2602[label="foldr (++) [] (map (range6 False False) [])",fontsize=16,color="black",shape="box"];2602 -> 2627[label="",style="solid", color="black", weight=3]; 58.54/37.21 2603[label="foldr (++) [] (map (range6 False True) [])",fontsize=16,color="black",shape="box"];2603 -> 2628[label="",style="solid", color="black", weight=3]; 58.54/37.21 2604[label="(++) range60 True (True >= False) foldr (++) [] (map (range6 True False) [])",fontsize=16,color="black",shape="box"];2604 -> 2629[label="",style="solid", color="black", weight=3]; 58.54/37.21 2605[label="(++) range60 True (True >= True) foldr (++) [] (map (range6 True True) [])",fontsize=16,color="black",shape="box"];2605 -> 2630[label="",style="solid", color="black", weight=3]; 58.54/37.21 2618[label="foldr (++) [] (range0 LT LT GT : map (range0 LT LT) [])",fontsize=16,color="black",shape="box"];2618 -> 2642[label="",style="solid", color="black", weight=3]; 58.54/37.21 2619[label="foldr (++) [] (range0 LT EQ GT : map (range0 LT EQ) [])",fontsize=16,color="black",shape="box"];2619 -> 2643[label="",style="solid", color="black", weight=3]; 58.54/37.21 2620[label="foldr (++) [] (range0 LT GT GT : map (range0 LT GT) [])",fontsize=16,color="black",shape="box"];2620 -> 2644[label="",style="solid", color="black", weight=3]; 58.54/37.21 2621[label="(++) range00 EQ (compare EQ LT /= LT) foldr (++) [] (map (range0 EQ LT) (GT : []))",fontsize=16,color="black",shape="box"];2621 -> 2645[label="",style="solid", color="black", weight=3]; 58.54/37.21 2622[label="(++) range00 EQ (compare EQ EQ /= LT) foldr (++) [] (map (range0 EQ EQ) (GT : []))",fontsize=16,color="black",shape="box"];2622 -> 2646[label="",style="solid", color="black", weight=3]; 58.54/37.21 2623[label="(++) range00 EQ (compare EQ GT /= LT) foldr (++) [] (map (range0 EQ GT) (GT : []))",fontsize=16,color="black",shape="box"];2623 -> 2647[label="",style="solid", color="black", weight=3]; 58.54/37.21 2624[label="(++) range00 EQ (not (GT == LT) && EQ >= LT) foldr (++) [] (map (range0 GT LT) (GT : []))",fontsize=16,color="black",shape="box"];2624 -> 2648[label="",style="solid", color="black", weight=3]; 58.54/37.21 2625[label="(++) range00 EQ (not (GT == LT) && EQ >= EQ) foldr (++) [] (map (range0 GT EQ) (GT : []))",fontsize=16,color="black",shape="box"];2625 -> 2649[label="",style="solid", color="black", weight=3]; 58.54/37.21 2626[label="(++) range00 EQ (not (GT == LT) && EQ >= GT) foldr (++) [] (map (range0 GT GT) (GT : []))",fontsize=16,color="black",shape="box"];2626 -> 2650[label="",style="solid", color="black", weight=3]; 58.54/37.21 2627[label="foldr (++) [] []",fontsize=16,color="black",shape="triangle"];2627 -> 2651[label="",style="solid", color="black", weight=3]; 58.54/37.21 2628 -> 2627[label="",style="dashed", color="red", weight=0]; 58.54/37.21 2628[label="foldr (++) [] []",fontsize=16,color="magenta"];2629[label="(++) range60 True (compare True False /= LT) foldr (++) [] (map (range6 True False) [])",fontsize=16,color="black",shape="box"];2629 -> 2652[label="",style="solid", color="black", weight=3]; 58.54/37.21 2630[label="(++) range60 True (compare True True /= LT) foldr (++) [] (map (range6 True True) [])",fontsize=16,color="black",shape="box"];2630 -> 2653[label="",style="solid", color="black", weight=3]; 58.54/37.21 2642[label="(++) range0 LT LT GT foldr (++) [] (map (range0 LT LT) [])",fontsize=16,color="black",shape="box"];2642 -> 2661[label="",style="solid", color="black", weight=3]; 58.54/37.21 2643[label="(++) range0 LT EQ GT foldr (++) [] (map (range0 LT EQ) [])",fontsize=16,color="black",shape="box"];2643 -> 2662[label="",style="solid", color="black", weight=3]; 58.54/37.21 2644[label="(++) range0 LT GT GT foldr (++) [] (map (range0 LT GT) [])",fontsize=16,color="black",shape="box"];2644 -> 2663[label="",style="solid", color="black", weight=3]; 58.54/37.21 2645[label="(++) range00 EQ (not (compare EQ LT == LT)) foldr (++) [] (map (range0 EQ LT) (GT : []))",fontsize=16,color="black",shape="box"];2645 -> 2664[label="",style="solid", color="black", weight=3]; 58.54/37.21 2646[label="(++) range00 EQ (not (compare EQ EQ == LT)) foldr (++) [] (map (range0 EQ EQ) (GT : []))",fontsize=16,color="black",shape="box"];2646 -> 2665[label="",style="solid", color="black", weight=3]; 58.54/37.21 2647[label="(++) range00 EQ (not (compare EQ GT == LT)) foldr (++) [] (map (range0 EQ GT) (GT : []))",fontsize=16,color="black",shape="box"];2647 -> 2666[label="",style="solid", color="black", weight=3]; 58.54/37.21 2648[label="(++) range00 EQ (not False && EQ >= LT) foldr (++) [] (map (range0 GT LT) (GT : []))",fontsize=16,color="black",shape="box"];2648 -> 2667[label="",style="solid", color="black", weight=3]; 58.54/37.21 2649[label="(++) range00 EQ (not False && EQ >= EQ) foldr (++) [] (map (range0 GT EQ) (GT : []))",fontsize=16,color="black",shape="box"];2649 -> 2668[label="",style="solid", color="black", weight=3]; 58.54/37.21 2650[label="(++) range00 EQ (not False && EQ >= GT) foldr (++) [] (map (range0 GT GT) (GT : []))",fontsize=16,color="black",shape="box"];2650 -> 2669[label="",style="solid", color="black", weight=3]; 58.54/37.21 2651[label="[]",fontsize=16,color="green",shape="box"];2652[label="(++) range60 True (not (compare True False == LT)) foldr (++) [] (map (range6 True False) [])",fontsize=16,color="black",shape="box"];2652 -> 2670[label="",style="solid", color="black", weight=3]; 58.54/37.21 2653[label="(++) range60 True (not (compare True True == LT)) foldr (++) [] (map (range6 True True) [])",fontsize=16,color="black",shape="box"];2653 -> 2671[label="",style="solid", color="black", weight=3]; 58.54/37.21 2661[label="(++) range00 GT (LT >= GT && GT >= LT) foldr (++) [] (map (range0 LT LT) [])",fontsize=16,color="black",shape="box"];2661 -> 2679[label="",style="solid", color="black", weight=3]; 58.54/37.21 2662[label="(++) range00 GT (LT >= GT && GT >= EQ) foldr (++) [] (map (range0 LT EQ) [])",fontsize=16,color="black",shape="box"];2662 -> 2680[label="",style="solid", color="black", weight=3]; 58.54/37.21 2663[label="(++) range00 GT (LT >= GT && GT >= GT) foldr (++) [] (map (range0 LT GT) [])",fontsize=16,color="black",shape="box"];2663 -> 2681[label="",style="solid", color="black", weight=3]; 58.54/37.21 2664[label="(++) range00 EQ (not (compare3 EQ LT == LT)) foldr (++) [] (map (range0 EQ LT) (GT : []))",fontsize=16,color="black",shape="box"];2664 -> 2682[label="",style="solid", color="black", weight=3]; 58.54/37.21 2665[label="(++) range00 EQ (not (compare3 EQ EQ == LT)) foldr (++) [] (map (range0 EQ EQ) (GT : []))",fontsize=16,color="black",shape="box"];2665 -> 2683[label="",style="solid", color="black", weight=3]; 58.54/37.21 2666[label="(++) range00 EQ (not (compare3 EQ GT == LT)) foldr (++) [] (map (range0 EQ GT) (GT : []))",fontsize=16,color="black",shape="box"];2666 -> 2684[label="",style="solid", color="black", weight=3]; 58.54/37.21 2667[label="(++) range00 EQ (True && EQ >= LT) foldr (++) [] (map (range0 GT LT) (GT : []))",fontsize=16,color="black",shape="box"];2667 -> 2685[label="",style="solid", color="black", weight=3]; 58.54/37.21 2668[label="(++) range00 EQ (True && EQ >= EQ) foldr (++) [] (map (range0 GT EQ) (GT : []))",fontsize=16,color="black",shape="box"];2668 -> 2686[label="",style="solid", color="black", weight=3]; 58.54/37.21 2669[label="(++) range00 EQ (True && EQ >= GT) foldr (++) [] (map (range0 GT GT) (GT : []))",fontsize=16,color="black",shape="box"];2669 -> 2687[label="",style="solid", color="black", weight=3]; 58.54/37.21 2670[label="(++) range60 True (not (compare3 True False == LT)) foldr (++) [] (map (range6 True False) [])",fontsize=16,color="black",shape="box"];2670 -> 2688[label="",style="solid", color="black", weight=3]; 58.54/37.21 2671[label="(++) range60 True (not (compare3 True True == LT)) foldr (++) [] (map (range6 True True) [])",fontsize=16,color="black",shape="box"];2671 -> 2689[label="",style="solid", color="black", weight=3]; 58.54/37.21 2679[label="(++) range00 GT (compare LT GT /= LT && GT >= LT) foldr (++) [] (map (range0 LT LT) [])",fontsize=16,color="black",shape="box"];2679 -> 2696[label="",style="solid", color="black", weight=3]; 58.54/37.21 2680[label="(++) range00 GT (compare LT GT /= LT && GT >= EQ) foldr (++) [] (map (range0 LT EQ) [])",fontsize=16,color="black",shape="box"];2680 -> 2697[label="",style="solid", color="black", weight=3]; 58.54/37.21 2681[label="(++) range00 GT (compare LT GT /= LT && GT >= GT) foldr (++) [] (map (range0 LT GT) [])",fontsize=16,color="black",shape="box"];2681 -> 2698[label="",style="solid", color="black", weight=3]; 58.54/37.21 2682[label="(++) range00 EQ (not (compare2 EQ LT (EQ == LT) == LT)) foldr (++) [] (map (range0 EQ LT) (GT : []))",fontsize=16,color="black",shape="box"];2682 -> 2699[label="",style="solid", color="black", weight=3]; 58.54/37.21 2683[label="(++) range00 EQ (not (compare2 EQ EQ (EQ == EQ) == LT)) foldr (++) [] (map (range0 EQ EQ) (GT : []))",fontsize=16,color="black",shape="box"];2683 -> 2700[label="",style="solid", color="black", weight=3]; 58.54/37.21 2684[label="(++) range00 EQ (not (compare2 EQ GT (EQ == GT) == LT)) foldr (++) [] (map (range0 EQ GT) (GT : []))",fontsize=16,color="black",shape="box"];2684 -> 2701[label="",style="solid", color="black", weight=3]; 58.54/37.21 2685[label="(++) range00 EQ (EQ >= LT) foldr (++) [] (map (range0 GT LT) (GT : []))",fontsize=16,color="black",shape="box"];2685 -> 2702[label="",style="solid", color="black", weight=3]; 58.54/37.21 2686[label="(++) range00 EQ (EQ >= EQ) foldr (++) [] (map (range0 GT EQ) (GT : []))",fontsize=16,color="black",shape="box"];2686 -> 2703[label="",style="solid", color="black", weight=3]; 58.54/37.21 2687[label="(++) range00 EQ (EQ >= GT) foldr (++) [] (map (range0 GT GT) (GT : []))",fontsize=16,color="black",shape="box"];2687 -> 2704[label="",style="solid", color="black", weight=3]; 58.54/37.21 2688[label="(++) range60 True (not (compare2 True False (True == False) == LT)) foldr (++) [] (map (range6 True False) [])",fontsize=16,color="black",shape="box"];2688 -> 2705[label="",style="solid", color="black", weight=3]; 58.54/37.21 2689[label="(++) range60 True (not (compare2 True True (True == True) == LT)) foldr (++) [] (map (range6 True True) [])",fontsize=16,color="black",shape="box"];2689 -> 2706[label="",style="solid", color="black", weight=3]; 58.54/37.21 2696[label="(++) range00 GT (not (compare LT GT == LT) && GT >= LT) foldr (++) [] (map (range0 LT LT) [])",fontsize=16,color="black",shape="box"];2696 -> 2713[label="",style="solid", color="black", weight=3]; 58.54/37.21 2697[label="(++) range00 GT (not (compare LT GT == LT) && GT >= EQ) foldr (++) [] (map (range0 LT EQ) [])",fontsize=16,color="black",shape="box"];2697 -> 2714[label="",style="solid", color="black", weight=3]; 58.54/37.21 2698[label="(++) range00 GT (not (compare LT GT == LT) && GT >= GT) foldr (++) [] (map (range0 LT GT) [])",fontsize=16,color="black",shape="box"];2698 -> 2715[label="",style="solid", color="black", weight=3]; 58.54/37.21 2699[label="(++) range00 EQ (not (compare2 EQ LT False == LT)) foldr (++) [] (map (range0 EQ LT) (GT : []))",fontsize=16,color="black",shape="box"];2699 -> 2716[label="",style="solid", color="black", weight=3]; 58.54/37.21 2700[label="(++) range00 EQ (not (compare2 EQ EQ True == LT)) foldr (++) [] (map (range0 EQ EQ) (GT : []))",fontsize=16,color="black",shape="box"];2700 -> 2717[label="",style="solid", color="black", weight=3]; 58.54/37.21 2701[label="(++) range00 EQ (not (compare2 EQ GT False == LT)) foldr (++) [] (map (range0 EQ GT) (GT : []))",fontsize=16,color="black",shape="box"];2701 -> 2718[label="",style="solid", color="black", weight=3]; 58.54/37.21 2702[label="(++) range00 EQ (compare EQ LT /= LT) foldr (++) [] (map (range0 GT LT) (GT : []))",fontsize=16,color="black",shape="box"];2702 -> 2719[label="",style="solid", color="black", weight=3]; 58.54/37.21 2703[label="(++) range00 EQ (compare EQ EQ /= LT) foldr (++) [] (map (range0 GT EQ) (GT : []))",fontsize=16,color="black",shape="box"];2703 -> 2720[label="",style="solid", color="black", weight=3]; 58.54/37.21 2704[label="(++) range00 EQ (compare EQ GT /= LT) foldr (++) [] (map (range0 GT GT) (GT : []))",fontsize=16,color="black",shape="box"];2704 -> 2721[label="",style="solid", color="black", weight=3]; 58.54/37.21 2705[label="(++) range60 True (not (compare2 True False False == LT)) foldr (++) [] (map (range6 True False) [])",fontsize=16,color="black",shape="box"];2705 -> 2722[label="",style="solid", color="black", weight=3]; 58.54/37.21 2706[label="(++) range60 True (not (compare2 True True True == LT)) foldr (++) [] (map (range6 True True) [])",fontsize=16,color="black",shape="box"];2706 -> 2723[label="",style="solid", color="black", weight=3]; 58.54/37.21 2713[label="(++) range00 GT (not (compare3 LT GT == LT) && GT >= LT) foldr (++) [] (map (range0 LT LT) [])",fontsize=16,color="black",shape="box"];2713 -> 2730[label="",style="solid", color="black", weight=3]; 58.54/37.21 2714[label="(++) range00 GT (not (compare3 LT GT == LT) && GT >= EQ) foldr (++) [] (map (range0 LT EQ) [])",fontsize=16,color="black",shape="box"];2714 -> 2731[label="",style="solid", color="black", weight=3]; 58.54/37.21 2715[label="(++) range00 GT (not (compare3 LT GT == LT) && GT >= GT) foldr (++) [] (map (range0 LT GT) [])",fontsize=16,color="black",shape="box"];2715 -> 2732[label="",style="solid", color="black", weight=3]; 58.54/37.21 2716[label="(++) range00 EQ (not (compare1 EQ LT (EQ <= LT) == LT)) foldr (++) [] (map (range0 EQ LT) (GT : []))",fontsize=16,color="black",shape="box"];2716 -> 2733[label="",style="solid", color="black", weight=3]; 58.54/37.21 2717[label="(++) range00 EQ (not (EQ == LT)) foldr (++) [] (map (range0 EQ EQ) (GT : []))",fontsize=16,color="black",shape="box"];2717 -> 2734[label="",style="solid", color="black", weight=3]; 58.54/37.21 2718[label="(++) range00 EQ (not (compare1 EQ GT (EQ <= GT) == LT)) foldr (++) [] (map (range0 EQ GT) (GT : []))",fontsize=16,color="black",shape="box"];2718 -> 2735[label="",style="solid", color="black", weight=3]; 58.54/37.21 2719[label="(++) range00 EQ (not (compare EQ LT == LT)) foldr (++) [] (map (range0 GT LT) (GT : []))",fontsize=16,color="black",shape="box"];2719 -> 2736[label="",style="solid", color="black", weight=3]; 58.54/37.21 2720[label="(++) range00 EQ (not (compare EQ EQ == LT)) foldr (++) [] (map (range0 GT EQ) (GT : []))",fontsize=16,color="black",shape="box"];2720 -> 2737[label="",style="solid", color="black", weight=3]; 58.54/37.21 2721[label="(++) range00 EQ (not (compare EQ GT == LT)) foldr (++) [] (map (range0 GT GT) (GT : []))",fontsize=16,color="black",shape="box"];2721 -> 2738[label="",style="solid", color="black", weight=3]; 58.54/37.21 2722[label="(++) range60 True (not (compare1 True False (True <= False) == LT)) foldr (++) [] (map (range6 True False) [])",fontsize=16,color="black",shape="box"];2722 -> 2739[label="",style="solid", color="black", weight=3]; 58.54/37.21 2723[label="(++) range60 True (not (EQ == LT)) foldr (++) [] (map (range6 True True) [])",fontsize=16,color="black",shape="box"];2723 -> 2740[label="",style="solid", color="black", weight=3]; 58.54/37.21 2730[label="(++) range00 GT (not (compare2 LT GT (LT == GT) == LT) && GT >= LT) foldr (++) [] (map (range0 LT LT) [])",fontsize=16,color="black",shape="box"];2730 -> 2743[label="",style="solid", color="black", weight=3]; 58.54/37.21 2731[label="(++) range00 GT (not (compare2 LT GT (LT == GT) == LT) && GT >= EQ) foldr (++) [] (map (range0 LT EQ) [])",fontsize=16,color="black",shape="box"];2731 -> 2744[label="",style="solid", color="black", weight=3]; 58.54/37.21 2732[label="(++) range00 GT (not (compare2 LT GT (LT == GT) == LT) && GT >= GT) foldr (++) [] (map (range0 LT GT) [])",fontsize=16,color="black",shape="box"];2732 -> 2745[label="",style="solid", color="black", weight=3]; 58.54/37.21 2733[label="(++) range00 EQ (not (compare1 EQ LT False == LT)) foldr (++) [] (map (range0 EQ LT) (GT : []))",fontsize=16,color="black",shape="box"];2733 -> 2746[label="",style="solid", color="black", weight=3]; 58.54/37.21 2734[label="(++) range00 EQ (not False) foldr (++) [] (map (range0 EQ EQ) (GT : []))",fontsize=16,color="black",shape="box"];2734 -> 2747[label="",style="solid", color="black", weight=3]; 58.54/37.21 2735[label="(++) range00 EQ (not (compare1 EQ GT True == LT)) foldr (++) [] (map (range0 EQ GT) (GT : []))",fontsize=16,color="black",shape="box"];2735 -> 2748[label="",style="solid", color="black", weight=3]; 58.54/37.21 2736[label="(++) range00 EQ (not (compare3 EQ LT == LT)) foldr (++) [] (map (range0 GT LT) (GT : []))",fontsize=16,color="black",shape="box"];2736 -> 2749[label="",style="solid", color="black", weight=3]; 58.54/37.21 2737[label="(++) range00 EQ (not (compare3 EQ EQ == LT)) foldr (++) [] (map (range0 GT EQ) (GT : []))",fontsize=16,color="black",shape="box"];2737 -> 2750[label="",style="solid", color="black", weight=3]; 58.54/37.21 2738[label="(++) range00 EQ (not (compare3 EQ GT == LT)) foldr (++) [] (map (range0 GT GT) (GT : []))",fontsize=16,color="black",shape="box"];2738 -> 2751[label="",style="solid", color="black", weight=3]; 58.54/37.21 2739[label="(++) range60 True (not (compare1 True False False == LT)) foldr (++) [] (map (range6 True False) [])",fontsize=16,color="black",shape="box"];2739 -> 2752[label="",style="solid", color="black", weight=3]; 58.54/37.21 2740[label="(++) range60 True (not False) foldr (++) [] (map (range6 True True) [])",fontsize=16,color="black",shape="box"];2740 -> 2753[label="",style="solid", color="black", weight=3]; 58.54/37.21 2743[label="(++) range00 GT (not (compare2 LT GT False == LT) && GT >= LT) foldr (++) [] (map (range0 LT LT) [])",fontsize=16,color="black",shape="box"];2743 -> 2756[label="",style="solid", color="black", weight=3]; 58.54/37.21 2744[label="(++) range00 GT (not (compare2 LT GT False == LT) && GT >= EQ) foldr (++) [] (map (range0 LT EQ) [])",fontsize=16,color="black",shape="box"];2744 -> 2757[label="",style="solid", color="black", weight=3]; 58.54/37.21 2745[label="(++) range00 GT (not (compare2 LT GT False == LT) && GT >= GT) foldr (++) [] (map (range0 LT GT) [])",fontsize=16,color="black",shape="box"];2745 -> 2758[label="",style="solid", color="black", weight=3]; 58.54/37.21 2746[label="(++) range00 EQ (not (compare0 EQ LT otherwise == LT)) foldr (++) [] (map (range0 EQ LT) (GT : []))",fontsize=16,color="black",shape="box"];2746 -> 2759[label="",style="solid", color="black", weight=3]; 58.54/37.21 2747[label="(++) range00 EQ True foldr (++) [] (map (range0 EQ EQ) (GT : []))",fontsize=16,color="black",shape="box"];2747 -> 2760[label="",style="solid", color="black", weight=3]; 58.54/37.21 2748[label="(++) range00 EQ (not (LT == LT)) foldr (++) [] (map (range0 EQ GT) (GT : []))",fontsize=16,color="black",shape="box"];2748 -> 2761[label="",style="solid", color="black", weight=3]; 58.54/37.21 2749[label="(++) range00 EQ (not (compare2 EQ LT (EQ == LT) == LT)) foldr (++) [] (map (range0 GT LT) (GT : []))",fontsize=16,color="black",shape="box"];2749 -> 2762[label="",style="solid", color="black", weight=3]; 58.54/37.21 2750[label="(++) range00 EQ (not (compare2 EQ EQ (EQ == EQ) == LT)) foldr (++) [] (map (range0 GT EQ) (GT : []))",fontsize=16,color="black",shape="box"];2750 -> 2763[label="",style="solid", color="black", weight=3]; 58.54/37.21 2751[label="(++) range00 EQ (not (compare2 EQ GT (EQ == GT) == LT)) foldr (++) [] (map (range0 GT GT) (GT : []))",fontsize=16,color="black",shape="box"];2751 -> 2764[label="",style="solid", color="black", weight=3]; 58.54/37.21 2752[label="(++) range60 True (not (compare0 True False otherwise == LT)) foldr (++) [] (map (range6 True False) [])",fontsize=16,color="black",shape="box"];2752 -> 2765[label="",style="solid", color="black", weight=3]; 58.54/37.21 2753[label="(++) range60 True True foldr (++) [] (map (range6 True True) [])",fontsize=16,color="black",shape="box"];2753 -> 2766[label="",style="solid", color="black", weight=3]; 58.54/37.21 2756[label="(++) range00 GT (not (compare1 LT GT (LT <= GT) == LT) && GT >= LT) foldr (++) [] (map (range0 LT LT) [])",fontsize=16,color="black",shape="box"];2756 -> 2775[label="",style="solid", color="black", weight=3]; 58.54/37.21 2757[label="(++) range00 GT (not (compare1 LT GT (LT <= GT) == LT) && GT >= EQ) foldr (++) [] (map (range0 LT EQ) [])",fontsize=16,color="black",shape="box"];2757 -> 2776[label="",style="solid", color="black", weight=3]; 58.54/37.21 2758[label="(++) range00 GT (not (compare1 LT GT (LT <= GT) == LT) && GT >= GT) foldr (++) [] (map (range0 LT GT) [])",fontsize=16,color="black",shape="box"];2758 -> 2777[label="",style="solid", color="black", weight=3]; 58.54/37.21 2759[label="(++) range00 EQ (not (compare0 EQ LT True == LT)) foldr (++) [] (map (range0 EQ LT) (GT : []))",fontsize=16,color="black",shape="box"];2759 -> 2778[label="",style="solid", color="black", weight=3]; 58.54/37.21 2760[label="(++) (EQ : []) foldr (++) [] (map (range0 EQ EQ) (GT : []))",fontsize=16,color="black",shape="box"];2760 -> 2779[label="",style="solid", color="black", weight=3]; 58.54/37.21 2761[label="(++) range00 EQ (not True) foldr (++) [] (map (range0 EQ GT) (GT : []))",fontsize=16,color="black",shape="box"];2761 -> 2780[label="",style="solid", color="black", weight=3]; 58.54/37.21 2762[label="(++) range00 EQ (not (compare2 EQ LT False == LT)) foldr (++) [] (map (range0 GT LT) (GT : []))",fontsize=16,color="black",shape="box"];2762 -> 2781[label="",style="solid", color="black", weight=3]; 58.54/37.21 2763[label="(++) range00 EQ (not (compare2 EQ EQ True == LT)) foldr (++) [] (map (range0 GT EQ) (GT : []))",fontsize=16,color="black",shape="box"];2763 -> 2782[label="",style="solid", color="black", weight=3]; 58.54/37.21 2764[label="(++) range00 EQ (not (compare2 EQ GT False == LT)) foldr (++) [] (map (range0 GT GT) (GT : []))",fontsize=16,color="black",shape="box"];2764 -> 2783[label="",style="solid", color="black", weight=3]; 58.54/37.21 2765[label="(++) range60 True (not (compare0 True False True == LT)) foldr (++) [] (map (range6 True False) [])",fontsize=16,color="black",shape="box"];2765 -> 2784[label="",style="solid", color="black", weight=3]; 58.54/37.21 2766[label="(++) (True : []) foldr (++) [] (map (range6 True True) [])",fontsize=16,color="black",shape="box"];2766 -> 2785[label="",style="solid", color="black", weight=3]; 58.54/37.21 2775[label="(++) range00 GT (not (compare1 LT GT True == LT) && GT >= LT) foldr (++) [] (map (range0 LT LT) [])",fontsize=16,color="black",shape="box"];2775 -> 2789[label="",style="solid", color="black", weight=3]; 58.54/37.21 2776[label="(++) range00 GT (not (compare1 LT GT True == LT) && GT >= EQ) foldr (++) [] (map (range0 LT EQ) [])",fontsize=16,color="black",shape="box"];2776 -> 2790[label="",style="solid", color="black", weight=3]; 58.54/37.21 2777[label="(++) range00 GT (not (compare1 LT GT True == LT) && GT >= GT) foldr (++) [] (map (range0 LT GT) [])",fontsize=16,color="black",shape="box"];2777 -> 2791[label="",style="solid", color="black", weight=3]; 58.54/37.21 2778[label="(++) range00 EQ (not (GT == LT)) foldr (++) [] (map (range0 EQ LT) (GT : []))",fontsize=16,color="black",shape="box"];2778 -> 2792[label="",style="solid", color="black", weight=3]; 58.54/37.21 2779[label="EQ : [] ++ foldr (++) [] (map (range0 EQ EQ) (GT : []))",fontsize=16,color="green",shape="box"];2779 -> 2793[label="",style="dashed", color="green", weight=3]; 58.54/37.21 2780[label="(++) range00 EQ False foldr (++) [] (map (range0 EQ GT) (GT : []))",fontsize=16,color="black",shape="box"];2780 -> 2794[label="",style="solid", color="black", weight=3]; 58.54/37.21 2781[label="(++) range00 EQ (not (compare1 EQ LT (EQ <= LT) == LT)) foldr (++) [] (map (range0 GT LT) (GT : []))",fontsize=16,color="black",shape="box"];2781 -> 2795[label="",style="solid", color="black", weight=3]; 58.54/37.21 2782[label="(++) range00 EQ (not (EQ == LT)) foldr (++) [] (map (range0 GT EQ) (GT : []))",fontsize=16,color="black",shape="box"];2782 -> 2796[label="",style="solid", color="black", weight=3]; 58.54/37.21 2783[label="(++) range00 EQ (not (compare1 EQ GT (EQ <= GT) == LT)) foldr (++) [] (map (range0 GT GT) (GT : []))",fontsize=16,color="black",shape="box"];2783 -> 2797[label="",style="solid", color="black", weight=3]; 58.54/37.21 2784[label="(++) range60 True (not (GT == LT)) foldr (++) [] (map (range6 True False) [])",fontsize=16,color="black",shape="box"];2784 -> 2798[label="",style="solid", color="black", weight=3]; 58.54/37.21 2785[label="True : [] ++ foldr (++) [] (map (range6 True True) [])",fontsize=16,color="green",shape="box"];2785 -> 2799[label="",style="dashed", color="green", weight=3]; 58.54/37.21 2789[label="(++) range00 GT (not (LT == LT) && GT >= LT) foldr (++) [] (map (range0 LT LT) [])",fontsize=16,color="black",shape="box"];2789 -> 2801[label="",style="solid", color="black", weight=3]; 58.54/37.21 2790[label="(++) range00 GT (not (LT == LT) && GT >= EQ) foldr (++) [] (map (range0 LT EQ) [])",fontsize=16,color="black",shape="box"];2790 -> 2802[label="",style="solid", color="black", weight=3]; 58.54/37.21 2791[label="(++) range00 GT (not (LT == LT) && GT >= GT) foldr (++) [] (map (range0 LT GT) [])",fontsize=16,color="black",shape="box"];2791 -> 2803[label="",style="solid", color="black", weight=3]; 58.54/37.21 2792[label="(++) range00 EQ (not False) foldr (++) [] (map (range0 EQ LT) (GT : []))",fontsize=16,color="black",shape="box"];2792 -> 2804[label="",style="solid", color="black", weight=3]; 58.54/37.21 2793[label="[] ++ foldr (++) [] (map (range0 EQ EQ) (GT : []))",fontsize=16,color="black",shape="box"];2793 -> 2805[label="",style="solid", color="black", weight=3]; 58.54/37.21 2794[label="(++) [] foldr (++) [] (map (range0 EQ GT) (GT : []))",fontsize=16,color="black",shape="box"];2794 -> 2806[label="",style="solid", color="black", weight=3]; 58.54/37.21 2795[label="(++) range00 EQ (not (compare1 EQ LT False == LT)) foldr (++) [] (map (range0 GT LT) (GT : []))",fontsize=16,color="black",shape="box"];2795 -> 2807[label="",style="solid", color="black", weight=3]; 58.54/37.21 2796[label="(++) range00 EQ (not False) foldr (++) [] (map (range0 GT EQ) (GT : []))",fontsize=16,color="black",shape="box"];2796 -> 2808[label="",style="solid", color="black", weight=3]; 58.54/37.21 2797[label="(++) range00 EQ (not (compare1 EQ GT True == LT)) foldr (++) [] (map (range0 GT GT) (GT : []))",fontsize=16,color="black",shape="box"];2797 -> 2809[label="",style="solid", color="black", weight=3]; 58.54/37.21 2798[label="(++) range60 True (not False) foldr (++) [] (map (range6 True False) [])",fontsize=16,color="black",shape="box"];2798 -> 2810[label="",style="solid", color="black", weight=3]; 58.54/37.21 2799[label="[] ++ foldr (++) [] (map (range6 True True) [])",fontsize=16,color="black",shape="box"];2799 -> 2811[label="",style="solid", color="black", weight=3]; 58.54/37.21 2801[label="(++) range00 GT (not True && GT >= LT) foldr (++) [] (map (range0 LT LT) [])",fontsize=16,color="black",shape="box"];2801 -> 2813[label="",style="solid", color="black", weight=3]; 58.54/37.21 2802[label="(++) range00 GT (not True && GT >= EQ) foldr (++) [] (map (range0 LT EQ) [])",fontsize=16,color="black",shape="box"];2802 -> 2814[label="",style="solid", color="black", weight=3]; 58.54/37.21 2803[label="(++) range00 GT (not True && GT >= GT) foldr (++) [] (map (range0 LT GT) [])",fontsize=16,color="black",shape="box"];2803 -> 2815[label="",style="solid", color="black", weight=3]; 58.54/37.21 2804[label="(++) range00 EQ True foldr (++) [] (map (range0 EQ LT) (GT : []))",fontsize=16,color="black",shape="box"];2804 -> 2816[label="",style="solid", color="black", weight=3]; 58.54/37.21 2805[label="foldr (++) [] (map (range0 EQ EQ) (GT : []))",fontsize=16,color="black",shape="box"];2805 -> 2817[label="",style="solid", color="black", weight=3]; 58.54/37.21 2806[label="foldr (++) [] (map (range0 EQ GT) (GT : []))",fontsize=16,color="black",shape="box"];2806 -> 2818[label="",style="solid", color="black", weight=3]; 58.54/37.21 2807[label="(++) range00 EQ (not (compare0 EQ LT otherwise == LT)) foldr (++) [] (map (range0 GT LT) (GT : []))",fontsize=16,color="black",shape="box"];2807 -> 2819[label="",style="solid", color="black", weight=3]; 58.54/37.21 2808[label="(++) range00 EQ True foldr (++) [] (map (range0 GT EQ) (GT : []))",fontsize=16,color="black",shape="box"];2808 -> 2820[label="",style="solid", color="black", weight=3]; 58.54/37.21 2809[label="(++) range00 EQ (not (LT == LT)) foldr (++) [] (map (range0 GT GT) (GT : []))",fontsize=16,color="black",shape="box"];2809 -> 2821[label="",style="solid", color="black", weight=3]; 58.54/37.21 2810[label="(++) range60 True True foldr (++) [] (map (range6 True False) [])",fontsize=16,color="black",shape="box"];2810 -> 2822[label="",style="solid", color="black", weight=3]; 58.54/37.21 2811[label="foldr (++) [] (map (range6 True True) [])",fontsize=16,color="black",shape="box"];2811 -> 2823[label="",style="solid", color="black", weight=3]; 58.54/37.21 2813[label="(++) range00 GT (False && GT >= LT) foldr (++) [] (map (range0 LT LT) [])",fontsize=16,color="black",shape="box"];2813 -> 2825[label="",style="solid", color="black", weight=3]; 58.54/37.21 2814[label="(++) range00 GT (False && GT >= EQ) foldr (++) [] (map (range0 LT EQ) [])",fontsize=16,color="black",shape="box"];2814 -> 2826[label="",style="solid", color="black", weight=3]; 58.54/37.21 2815[label="(++) range00 GT (False && GT >= GT) foldr (++) [] (map (range0 LT GT) [])",fontsize=16,color="black",shape="box"];2815 -> 2827[label="",style="solid", color="black", weight=3]; 58.54/37.21 2816[label="(++) (EQ : []) foldr (++) [] (map (range0 EQ LT) (GT : []))",fontsize=16,color="black",shape="box"];2816 -> 2828[label="",style="solid", color="black", weight=3]; 58.54/37.21 2817[label="foldr (++) [] (range0 EQ EQ GT : map (range0 EQ EQ) [])",fontsize=16,color="black",shape="box"];2817 -> 2829[label="",style="solid", color="black", weight=3]; 58.54/37.21 2818[label="foldr (++) [] (range0 EQ GT GT : map (range0 EQ GT) [])",fontsize=16,color="black",shape="box"];2818 -> 2830[label="",style="solid", color="black", weight=3]; 58.54/37.21 2819[label="(++) range00 EQ (not (compare0 EQ LT True == LT)) foldr (++) [] (map (range0 GT LT) (GT : []))",fontsize=16,color="black",shape="box"];2819 -> 2831[label="",style="solid", color="black", weight=3]; 58.54/37.21 2820[label="(++) (EQ : []) foldr (++) [] (map (range0 GT EQ) (GT : []))",fontsize=16,color="black",shape="box"];2820 -> 2832[label="",style="solid", color="black", weight=3]; 58.54/37.21 2821[label="(++) range00 EQ (not True) foldr (++) [] (map (range0 GT GT) (GT : []))",fontsize=16,color="black",shape="box"];2821 -> 2833[label="",style="solid", color="black", weight=3]; 58.54/37.21 2822[label="(++) (True : []) foldr (++) [] (map (range6 True False) [])",fontsize=16,color="black",shape="box"];2822 -> 2834[label="",style="solid", color="black", weight=3]; 58.54/37.21 2823 -> 2627[label="",style="dashed", color="red", weight=0]; 58.54/37.21 2823[label="foldr (++) [] []",fontsize=16,color="magenta"];2825[label="(++) range00 GT False foldr (++) [] (map (range0 LT LT) [])",fontsize=16,color="black",shape="box"];2825 -> 2835[label="",style="solid", color="black", weight=3]; 58.54/37.21 2826[label="(++) range00 GT False foldr (++) [] (map (range0 LT EQ) [])",fontsize=16,color="black",shape="box"];2826 -> 2836[label="",style="solid", color="black", weight=3]; 58.54/37.21 2827[label="(++) range00 GT False foldr (++) [] (map (range0 LT GT) [])",fontsize=16,color="black",shape="box"];2827 -> 2837[label="",style="solid", color="black", weight=3]; 58.54/37.21 2828[label="EQ : [] ++ foldr (++) [] (map (range0 EQ LT) (GT : []))",fontsize=16,color="green",shape="box"];2828 -> 2838[label="",style="dashed", color="green", weight=3]; 58.54/37.21 2829[label="(++) range0 EQ EQ GT foldr (++) [] (map (range0 EQ EQ) [])",fontsize=16,color="black",shape="box"];2829 -> 2839[label="",style="solid", color="black", weight=3]; 58.54/37.21 2830[label="(++) range0 EQ GT GT foldr (++) [] (map (range0 EQ GT) [])",fontsize=16,color="black",shape="box"];2830 -> 2840[label="",style="solid", color="black", weight=3]; 58.54/37.21 2831[label="(++) range00 EQ (not (GT == LT)) foldr (++) [] (map (range0 GT LT) (GT : []))",fontsize=16,color="black",shape="box"];2831 -> 2841[label="",style="solid", color="black", weight=3]; 58.54/37.21 2832[label="EQ : [] ++ foldr (++) [] (map (range0 GT EQ) (GT : []))",fontsize=16,color="green",shape="box"];2832 -> 2842[label="",style="dashed", color="green", weight=3]; 58.54/37.21 2833[label="(++) range00 EQ False foldr (++) [] (map (range0 GT GT) (GT : []))",fontsize=16,color="black",shape="box"];2833 -> 2843[label="",style="solid", color="black", weight=3]; 58.54/37.21 2834[label="True : [] ++ foldr (++) [] (map (range6 True False) [])",fontsize=16,color="green",shape="box"];2834 -> 2844[label="",style="dashed", color="green", weight=3]; 58.54/37.21 2835[label="(++) [] foldr (++) [] (map (range0 LT LT) [])",fontsize=16,color="black",shape="box"];2835 -> 2845[label="",style="solid", color="black", weight=3]; 58.54/37.21 2836[label="(++) [] foldr (++) [] (map (range0 LT EQ) [])",fontsize=16,color="black",shape="box"];2836 -> 2846[label="",style="solid", color="black", weight=3]; 58.54/37.21 2837[label="(++) [] foldr (++) [] (map (range0 LT GT) [])",fontsize=16,color="black",shape="box"];2837 -> 2847[label="",style="solid", color="black", weight=3]; 58.54/37.21 2838[label="[] ++ foldr (++) [] (map (range0 EQ LT) (GT : []))",fontsize=16,color="black",shape="box"];2838 -> 2848[label="",style="solid", color="black", weight=3]; 58.54/37.21 2839[label="(++) range00 GT (EQ >= GT && GT >= EQ) foldr (++) [] (map (range0 EQ EQ) [])",fontsize=16,color="black",shape="box"];2839 -> 2849[label="",style="solid", color="black", weight=3]; 58.54/37.21 2840[label="(++) range00 GT (EQ >= GT && GT >= GT) foldr (++) [] (map (range0 EQ GT) [])",fontsize=16,color="black",shape="box"];2840 -> 2850[label="",style="solid", color="black", weight=3]; 58.54/37.21 2841[label="(++) range00 EQ (not False) foldr (++) [] (map (range0 GT LT) (GT : []))",fontsize=16,color="black",shape="box"];2841 -> 2851[label="",style="solid", color="black", weight=3]; 58.54/37.21 2842[label="[] ++ foldr (++) [] (map (range0 GT EQ) (GT : []))",fontsize=16,color="black",shape="box"];2842 -> 2852[label="",style="solid", color="black", weight=3]; 58.54/37.21 2843[label="(++) [] foldr (++) [] (map (range0 GT GT) (GT : []))",fontsize=16,color="black",shape="box"];2843 -> 2853[label="",style="solid", color="black", weight=3]; 58.54/37.21 2844[label="[] ++ foldr (++) [] (map (range6 True False) [])",fontsize=16,color="black",shape="box"];2844 -> 2854[label="",style="solid", color="black", weight=3]; 58.54/37.21 2845[label="foldr (++) [] (map (range0 LT LT) [])",fontsize=16,color="black",shape="box"];2845 -> 2855[label="",style="solid", color="black", weight=3]; 58.54/37.21 2846[label="foldr (++) [] (map (range0 LT EQ) [])",fontsize=16,color="black",shape="box"];2846 -> 2856[label="",style="solid", color="black", weight=3]; 58.54/37.21 2847[label="foldr (++) [] (map (range0 LT GT) [])",fontsize=16,color="black",shape="box"];2847 -> 2857[label="",style="solid", color="black", weight=3]; 58.54/37.21 2848[label="foldr (++) [] (map (range0 EQ LT) (GT : []))",fontsize=16,color="black",shape="box"];2848 -> 2858[label="",style="solid", color="black", weight=3]; 58.54/37.21 2849[label="(++) range00 GT (compare EQ GT /= LT && GT >= EQ) foldr (++) [] (map (range0 EQ EQ) [])",fontsize=16,color="black",shape="box"];2849 -> 2859[label="",style="solid", color="black", weight=3]; 58.54/37.21 2850[label="(++) range00 GT (compare EQ GT /= LT && GT >= GT) foldr (++) [] (map (range0 EQ GT) [])",fontsize=16,color="black",shape="box"];2850 -> 2860[label="",style="solid", color="black", weight=3]; 58.54/37.21 2851[label="(++) range00 EQ True foldr (++) [] (map (range0 GT LT) (GT : []))",fontsize=16,color="black",shape="box"];2851 -> 2861[label="",style="solid", color="black", weight=3]; 58.54/37.21 2852[label="foldr (++) [] (map (range0 GT EQ) (GT : []))",fontsize=16,color="black",shape="box"];2852 -> 2862[label="",style="solid", color="black", weight=3]; 58.54/37.21 2853[label="foldr (++) [] (map (range0 GT GT) (GT : []))",fontsize=16,color="black",shape="box"];2853 -> 2863[label="",style="solid", color="black", weight=3]; 58.54/37.21 2854[label="foldr (++) [] (map (range6 True False) [])",fontsize=16,color="black",shape="box"];2854 -> 2864[label="",style="solid", color="black", weight=3]; 58.54/37.21 2855[label="foldr (++) [] []",fontsize=16,color="black",shape="triangle"];2855 -> 2865[label="",style="solid", color="black", weight=3]; 58.54/37.21 2856 -> 2855[label="",style="dashed", color="red", weight=0]; 58.54/37.21 2856[label="foldr (++) [] []",fontsize=16,color="magenta"];2857 -> 2855[label="",style="dashed", color="red", weight=0]; 58.54/37.21 2857[label="foldr (++) [] []",fontsize=16,color="magenta"];2858[label="foldr (++) [] (range0 EQ LT GT : map (range0 EQ LT) [])",fontsize=16,color="black",shape="box"];2858 -> 2866[label="",style="solid", color="black", weight=3]; 58.54/37.21 2859[label="(++) range00 GT (not (compare EQ GT == LT) && GT >= EQ) foldr (++) [] (map (range0 EQ EQ) [])",fontsize=16,color="black",shape="box"];2859 -> 2867[label="",style="solid", color="black", weight=3]; 58.54/37.21 2860[label="(++) range00 GT (not (compare EQ GT == LT) && GT >= GT) foldr (++) [] (map (range0 EQ GT) [])",fontsize=16,color="black",shape="box"];2860 -> 2868[label="",style="solid", color="black", weight=3]; 58.54/37.21 2861[label="(++) (EQ : []) foldr (++) [] (map (range0 GT LT) (GT : []))",fontsize=16,color="black",shape="box"];2861 -> 2869[label="",style="solid", color="black", weight=3]; 58.54/37.21 2862[label="foldr (++) [] (range0 GT EQ GT : map (range0 GT EQ) [])",fontsize=16,color="black",shape="box"];2862 -> 2870[label="",style="solid", color="black", weight=3]; 58.54/37.21 2863[label="foldr (++) [] (range0 GT GT GT : map (range0 GT GT) [])",fontsize=16,color="black",shape="box"];2863 -> 2871[label="",style="solid", color="black", weight=3]; 58.54/37.21 2864 -> 2627[label="",style="dashed", color="red", weight=0]; 58.54/37.21 2864[label="foldr (++) [] []",fontsize=16,color="magenta"];2865[label="[]",fontsize=16,color="green",shape="box"];2866[label="(++) range0 EQ LT GT foldr (++) [] (map (range0 EQ LT) [])",fontsize=16,color="black",shape="box"];2866 -> 2872[label="",style="solid", color="black", weight=3]; 58.54/37.21 2867[label="(++) range00 GT (not (compare3 EQ GT == LT) && GT >= EQ) foldr (++) [] (map (range0 EQ EQ) [])",fontsize=16,color="black",shape="box"];2867 -> 2873[label="",style="solid", color="black", weight=3]; 58.54/37.21 2868[label="(++) range00 GT (not (compare3 EQ GT == LT) && GT >= GT) foldr (++) [] (map (range0 EQ GT) [])",fontsize=16,color="black",shape="box"];2868 -> 2874[label="",style="solid", color="black", weight=3]; 58.54/37.21 2869[label="EQ : [] ++ foldr (++) [] (map (range0 GT LT) (GT : []))",fontsize=16,color="green",shape="box"];2869 -> 2875[label="",style="dashed", color="green", weight=3]; 58.54/37.21 2870[label="(++) range0 GT EQ GT foldr (++) [] (map (range0 GT EQ) [])",fontsize=16,color="black",shape="box"];2870 -> 2876[label="",style="solid", color="black", weight=3]; 58.54/37.21 2871[label="(++) range0 GT GT GT foldr (++) [] (map (range0 GT GT) [])",fontsize=16,color="black",shape="box"];2871 -> 2877[label="",style="solid", color="black", weight=3]; 58.54/37.21 2872[label="(++) range00 GT (EQ >= GT && GT >= LT) foldr (++) [] (map (range0 EQ LT) [])",fontsize=16,color="black",shape="box"];2872 -> 2878[label="",style="solid", color="black", weight=3]; 58.54/37.21 2873[label="(++) range00 GT (not (compare2 EQ GT (EQ == GT) == LT) && GT >= EQ) foldr (++) [] (map (range0 EQ EQ) [])",fontsize=16,color="black",shape="box"];2873 -> 2879[label="",style="solid", color="black", weight=3]; 58.54/37.21 2874[label="(++) range00 GT (not (compare2 EQ GT (EQ == GT) == LT) && GT >= GT) foldr (++) [] (map (range0 EQ GT) [])",fontsize=16,color="black",shape="box"];2874 -> 2880[label="",style="solid", color="black", weight=3]; 58.54/37.21 2875[label="[] ++ foldr (++) [] (map (range0 GT LT) (GT : []))",fontsize=16,color="black",shape="box"];2875 -> 2881[label="",style="solid", color="black", weight=3]; 58.54/37.21 2876[label="(++) range00 GT (GT >= GT && GT >= EQ) foldr (++) [] (map (range0 GT EQ) [])",fontsize=16,color="black",shape="box"];2876 -> 2882[label="",style="solid", color="black", weight=3]; 58.54/37.21 2877[label="(++) range00 GT (GT >= GT && GT >= GT) foldr (++) [] (map (range0 GT GT) [])",fontsize=16,color="black",shape="box"];2877 -> 2883[label="",style="solid", color="black", weight=3]; 58.54/37.21 2878[label="(++) range00 GT (compare EQ GT /= LT && GT >= LT) foldr (++) [] (map (range0 EQ LT) [])",fontsize=16,color="black",shape="box"];2878 -> 2884[label="",style="solid", color="black", weight=3]; 58.54/37.21 2879[label="(++) range00 GT (not (compare2 EQ GT False == LT) && GT >= EQ) foldr (++) [] (map (range0 EQ EQ) [])",fontsize=16,color="black",shape="box"];2879 -> 2885[label="",style="solid", color="black", weight=3]; 58.54/37.21 2880[label="(++) range00 GT (not (compare2 EQ GT False == LT) && GT >= GT) foldr (++) [] (map (range0 EQ GT) [])",fontsize=16,color="black",shape="box"];2880 -> 2886[label="",style="solid", color="black", weight=3]; 58.54/37.21 2881[label="foldr (++) [] (map (range0 GT LT) (GT : []))",fontsize=16,color="black",shape="box"];2881 -> 2887[label="",style="solid", color="black", weight=3]; 58.54/37.21 2882[label="(++) range00 GT (compare GT GT /= LT && GT >= EQ) foldr (++) [] (map (range0 GT EQ) [])",fontsize=16,color="black",shape="box"];2882 -> 2888[label="",style="solid", color="black", weight=3]; 58.54/37.21 2883[label="(++) range00 GT (compare GT GT /= LT && GT >= GT) foldr (++) [] (map (range0 GT GT) [])",fontsize=16,color="black",shape="box"];2883 -> 2889[label="",style="solid", color="black", weight=3]; 58.54/37.21 2884[label="(++) range00 GT (not (compare EQ GT == LT) && GT >= LT) foldr (++) [] (map (range0 EQ LT) [])",fontsize=16,color="black",shape="box"];2884 -> 2890[label="",style="solid", color="black", weight=3]; 58.54/37.21 2885[label="(++) range00 GT (not (compare1 EQ GT (EQ <= GT) == LT) && GT >= EQ) foldr (++) [] (map (range0 EQ EQ) [])",fontsize=16,color="black",shape="box"];2885 -> 2891[label="",style="solid", color="black", weight=3]; 58.54/37.21 2886[label="(++) range00 GT (not (compare1 EQ GT (EQ <= GT) == LT) && GT >= GT) foldr (++) [] (map (range0 EQ GT) [])",fontsize=16,color="black",shape="box"];2886 -> 2892[label="",style="solid", color="black", weight=3]; 58.54/37.21 2887[label="foldr (++) [] (range0 GT LT GT : map (range0 GT LT) [])",fontsize=16,color="black",shape="box"];2887 -> 2893[label="",style="solid", color="black", weight=3]; 58.54/37.21 2888[label="(++) range00 GT (not (compare GT GT == LT) && GT >= EQ) foldr (++) [] (map (range0 GT EQ) [])",fontsize=16,color="black",shape="box"];2888 -> 2894[label="",style="solid", color="black", weight=3]; 58.54/37.21 2889[label="(++) range00 GT (not (compare GT GT == LT) && GT >= GT) foldr (++) [] (map (range0 GT GT) [])",fontsize=16,color="black",shape="box"];2889 -> 2895[label="",style="solid", color="black", weight=3]; 58.54/37.21 2890[label="(++) range00 GT (not (compare3 EQ GT == LT) && GT >= LT) foldr (++) [] (map (range0 EQ LT) [])",fontsize=16,color="black",shape="box"];2890 -> 2896[label="",style="solid", color="black", weight=3]; 58.54/37.21 2891[label="(++) range00 GT (not (compare1 EQ GT True == LT) && GT >= EQ) foldr (++) [] (map (range0 EQ EQ) [])",fontsize=16,color="black",shape="box"];2891 -> 2897[label="",style="solid", color="black", weight=3]; 58.54/37.21 2892[label="(++) range00 GT (not (compare1 EQ GT True == LT) && GT >= GT) foldr (++) [] (map (range0 EQ GT) [])",fontsize=16,color="black",shape="box"];2892 -> 2898[label="",style="solid", color="black", weight=3]; 58.54/37.21 2893[label="(++) range0 GT LT GT foldr (++) [] (map (range0 GT LT) [])",fontsize=16,color="black",shape="box"];2893 -> 2899[label="",style="solid", color="black", weight=3]; 58.54/37.21 2894[label="(++) range00 GT (not (compare3 GT GT == LT) && GT >= EQ) foldr (++) [] (map (range0 GT EQ) [])",fontsize=16,color="black",shape="box"];2894 -> 2900[label="",style="solid", color="black", weight=3]; 58.54/37.21 2895[label="(++) range00 GT (not (compare3 GT GT == LT) && GT >= GT) foldr (++) [] (map (range0 GT GT) [])",fontsize=16,color="black",shape="box"];2895 -> 2901[label="",style="solid", color="black", weight=3]; 58.54/37.21 2896[label="(++) range00 GT (not (compare2 EQ GT (EQ == GT) == LT) && GT >= LT) foldr (++) [] (map (range0 EQ LT) [])",fontsize=16,color="black",shape="box"];2896 -> 2902[label="",style="solid", color="black", weight=3]; 58.54/37.21 2897[label="(++) range00 GT (not (LT == LT) && GT >= EQ) foldr (++) [] (map (range0 EQ EQ) [])",fontsize=16,color="black",shape="box"];2897 -> 2903[label="",style="solid", color="black", weight=3]; 58.54/37.21 2898[label="(++) range00 GT (not (LT == LT) && GT >= GT) foldr (++) [] (map (range0 EQ GT) [])",fontsize=16,color="black",shape="box"];2898 -> 2904[label="",style="solid", color="black", weight=3]; 58.54/37.21 2899[label="(++) range00 GT (GT >= GT && GT >= LT) foldr (++) [] (map (range0 GT LT) [])",fontsize=16,color="black",shape="box"];2899 -> 2905[label="",style="solid", color="black", weight=3]; 58.54/37.21 2900[label="(++) range00 GT (not (compare2 GT GT (GT == GT) == LT) && GT >= EQ) foldr (++) [] (map (range0 GT EQ) [])",fontsize=16,color="black",shape="box"];2900 -> 2906[label="",style="solid", color="black", weight=3]; 58.54/37.21 2901[label="(++) range00 GT (not (compare2 GT GT (GT == GT) == LT) && GT >= GT) foldr (++) [] (map (range0 GT GT) [])",fontsize=16,color="black",shape="box"];2901 -> 2907[label="",style="solid", color="black", weight=3]; 58.54/37.21 2902[label="(++) range00 GT (not (compare2 EQ GT False == LT) && GT >= LT) foldr (++) [] (map (range0 EQ LT) [])",fontsize=16,color="black",shape="box"];2902 -> 2908[label="",style="solid", color="black", weight=3]; 58.54/37.21 2903[label="(++) range00 GT (not True && GT >= EQ) foldr (++) [] (map (range0 EQ EQ) [])",fontsize=16,color="black",shape="box"];2903 -> 2909[label="",style="solid", color="black", weight=3]; 58.54/37.21 2904[label="(++) range00 GT (not True && GT >= GT) foldr (++) [] (map (range0 EQ GT) [])",fontsize=16,color="black",shape="box"];2904 -> 2910[label="",style="solid", color="black", weight=3]; 58.54/37.21 2905[label="(++) range00 GT (compare GT GT /= LT && GT >= LT) foldr (++) [] (map (range0 GT LT) [])",fontsize=16,color="black",shape="box"];2905 -> 2911[label="",style="solid", color="black", weight=3]; 58.54/37.21 2906[label="(++) range00 GT (not (compare2 GT GT True == LT) && GT >= EQ) foldr (++) [] (map (range0 GT EQ) [])",fontsize=16,color="black",shape="box"];2906 -> 2912[label="",style="solid", color="black", weight=3]; 58.54/37.21 2907[label="(++) range00 GT (not (compare2 GT GT True == LT) && GT >= GT) foldr (++) [] (map (range0 GT GT) [])",fontsize=16,color="black",shape="box"];2907 -> 2913[label="",style="solid", color="black", weight=3]; 58.54/37.21 2908[label="(++) range00 GT (not (compare1 EQ GT (EQ <= GT) == LT) && GT >= LT) foldr (++) [] (map (range0 EQ LT) [])",fontsize=16,color="black",shape="box"];2908 -> 2914[label="",style="solid", color="black", weight=3]; 58.54/37.21 2909[label="(++) range00 GT (False && GT >= EQ) foldr (++) [] (map (range0 EQ EQ) [])",fontsize=16,color="black",shape="box"];2909 -> 2915[label="",style="solid", color="black", weight=3]; 58.54/37.21 2910[label="(++) range00 GT (False && GT >= GT) foldr (++) [] (map (range0 EQ GT) [])",fontsize=16,color="black",shape="box"];2910 -> 2916[label="",style="solid", color="black", weight=3]; 58.54/37.21 2911[label="(++) range00 GT (not (compare GT GT == LT) && GT >= LT) foldr (++) [] (map (range0 GT LT) [])",fontsize=16,color="black",shape="box"];2911 -> 2917[label="",style="solid", color="black", weight=3]; 58.54/37.21 2912[label="(++) range00 GT (not (EQ == LT) && GT >= EQ) foldr (++) [] (map (range0 GT EQ) [])",fontsize=16,color="black",shape="box"];2912 -> 2918[label="",style="solid", color="black", weight=3]; 58.54/37.21 2913[label="(++) range00 GT (not (EQ == LT) && GT >= GT) foldr (++) [] (map (range0 GT GT) [])",fontsize=16,color="black",shape="box"];2913 -> 2919[label="",style="solid", color="black", weight=3]; 58.54/37.21 2914[label="(++) range00 GT (not (compare1 EQ GT True == LT) && GT >= LT) foldr (++) [] (map (range0 EQ LT) [])",fontsize=16,color="black",shape="box"];2914 -> 2920[label="",style="solid", color="black", weight=3]; 58.54/37.21 2915[label="(++) range00 GT False foldr (++) [] (map (range0 EQ EQ) [])",fontsize=16,color="black",shape="box"];2915 -> 2921[label="",style="solid", color="black", weight=3]; 58.54/37.21 2916[label="(++) range00 GT False foldr (++) [] (map (range0 EQ GT) [])",fontsize=16,color="black",shape="box"];2916 -> 2922[label="",style="solid", color="black", weight=3]; 58.54/37.21 2917[label="(++) range00 GT (not (compare3 GT GT == LT) && GT >= LT) foldr (++) [] (map (range0 GT LT) [])",fontsize=16,color="black",shape="box"];2917 -> 2923[label="",style="solid", color="black", weight=3]; 58.54/37.21 2918[label="(++) range00 GT (not False && GT >= EQ) foldr (++) [] (map (range0 GT EQ) [])",fontsize=16,color="black",shape="box"];2918 -> 2924[label="",style="solid", color="black", weight=3]; 58.54/37.21 2919[label="(++) range00 GT (not False && GT >= GT) foldr (++) [] (map (range0 GT GT) [])",fontsize=16,color="black",shape="box"];2919 -> 2925[label="",style="solid", color="black", weight=3]; 58.54/37.21 2920[label="(++) range00 GT (not (LT == LT) && GT >= LT) foldr (++) [] (map (range0 EQ LT) [])",fontsize=16,color="black",shape="box"];2920 -> 2926[label="",style="solid", color="black", weight=3]; 58.54/37.21 2921[label="(++) [] foldr (++) [] (map (range0 EQ EQ) [])",fontsize=16,color="black",shape="box"];2921 -> 2927[label="",style="solid", color="black", weight=3]; 58.54/37.21 2922[label="(++) [] foldr (++) [] (map (range0 EQ GT) [])",fontsize=16,color="black",shape="box"];2922 -> 2928[label="",style="solid", color="black", weight=3]; 58.54/37.21 2923[label="(++) range00 GT (not (compare2 GT GT (GT == GT) == LT) && GT >= LT) foldr (++) [] (map (range0 GT LT) [])",fontsize=16,color="black",shape="box"];2923 -> 2929[label="",style="solid", color="black", weight=3]; 58.54/37.21 2924[label="(++) range00 GT (True && GT >= EQ) foldr (++) [] (map (range0 GT EQ) [])",fontsize=16,color="black",shape="box"];2924 -> 2930[label="",style="solid", color="black", weight=3]; 58.54/37.21 2925[label="(++) range00 GT (True && GT >= GT) foldr (++) [] (map (range0 GT GT) [])",fontsize=16,color="black",shape="box"];2925 -> 2931[label="",style="solid", color="black", weight=3]; 58.54/37.21 2926[label="(++) range00 GT (not True && GT >= LT) foldr (++) [] (map (range0 EQ LT) [])",fontsize=16,color="black",shape="box"];2926 -> 2932[label="",style="solid", color="black", weight=3]; 58.54/37.21 2927[label="foldr (++) [] (map (range0 EQ EQ) [])",fontsize=16,color="black",shape="box"];2927 -> 2933[label="",style="solid", color="black", weight=3]; 58.54/37.21 2928[label="foldr (++) [] (map (range0 EQ GT) [])",fontsize=16,color="black",shape="box"];2928 -> 2934[label="",style="solid", color="black", weight=3]; 58.54/37.21 2929[label="(++) range00 GT (not (compare2 GT GT True == LT) && GT >= LT) foldr (++) [] (map (range0 GT LT) [])",fontsize=16,color="black",shape="box"];2929 -> 2935[label="",style="solid", color="black", weight=3]; 58.54/37.21 2930[label="(++) range00 GT (GT >= EQ) foldr (++) [] (map (range0 GT EQ) [])",fontsize=16,color="black",shape="box"];2930 -> 2936[label="",style="solid", color="black", weight=3]; 58.54/37.21 2931[label="(++) range00 GT (GT >= GT) foldr (++) [] (map (range0 GT GT) [])",fontsize=16,color="black",shape="box"];2931 -> 2937[label="",style="solid", color="black", weight=3]; 58.54/37.21 2932[label="(++) range00 GT (False && GT >= LT) foldr (++) [] (map (range0 EQ LT) [])",fontsize=16,color="black",shape="box"];2932 -> 2938[label="",style="solid", color="black", weight=3]; 58.54/37.21 2933 -> 2855[label="",style="dashed", color="red", weight=0]; 58.54/37.21 2933[label="foldr (++) [] []",fontsize=16,color="magenta"];2934 -> 2855[label="",style="dashed", color="red", weight=0]; 58.54/37.21 2934[label="foldr (++) [] []",fontsize=16,color="magenta"];2935[label="(++) range00 GT (not (EQ == LT) && GT >= LT) foldr (++) [] (map (range0 GT LT) [])",fontsize=16,color="black",shape="box"];2935 -> 2939[label="",style="solid", color="black", weight=3]; 58.54/37.21 2936[label="(++) range00 GT (compare GT EQ /= LT) foldr (++) [] (map (range0 GT EQ) [])",fontsize=16,color="black",shape="box"];2936 -> 2940[label="",style="solid", color="black", weight=3]; 58.54/37.21 2937[label="(++) range00 GT (compare GT GT /= LT) foldr (++) [] (map (range0 GT GT) [])",fontsize=16,color="black",shape="box"];2937 -> 2941[label="",style="solid", color="black", weight=3]; 58.54/37.21 2938[label="(++) range00 GT False foldr (++) [] (map (range0 EQ LT) [])",fontsize=16,color="black",shape="box"];2938 -> 2942[label="",style="solid", color="black", weight=3]; 58.54/37.21 2939[label="(++) range00 GT (not False && GT >= LT) foldr (++) [] (map (range0 GT LT) [])",fontsize=16,color="black",shape="box"];2939 -> 2943[label="",style="solid", color="black", weight=3]; 58.54/37.21 2940[label="(++) range00 GT (not (compare GT EQ == LT)) foldr (++) [] (map (range0 GT EQ) [])",fontsize=16,color="black",shape="box"];2940 -> 2944[label="",style="solid", color="black", weight=3]; 58.54/37.21 2941[label="(++) range00 GT (not (compare GT GT == LT)) foldr (++) [] (map (range0 GT GT) [])",fontsize=16,color="black",shape="box"];2941 -> 2945[label="",style="solid", color="black", weight=3]; 58.54/37.21 2942[label="(++) [] foldr (++) [] (map (range0 EQ LT) [])",fontsize=16,color="black",shape="box"];2942 -> 2946[label="",style="solid", color="black", weight=3]; 58.54/37.21 2943[label="(++) range00 GT (True && GT >= LT) foldr (++) [] (map (range0 GT LT) [])",fontsize=16,color="black",shape="box"];2943 -> 2947[label="",style="solid", color="black", weight=3]; 58.54/37.21 2944[label="(++) range00 GT (not (compare3 GT EQ == LT)) foldr (++) [] (map (range0 GT EQ) [])",fontsize=16,color="black",shape="box"];2944 -> 2948[label="",style="solid", color="black", weight=3]; 58.54/37.21 2945[label="(++) range00 GT (not (compare3 GT GT == LT)) foldr (++) [] (map (range0 GT GT) [])",fontsize=16,color="black",shape="box"];2945 -> 2949[label="",style="solid", color="black", weight=3]; 58.54/37.21 2946[label="foldr (++) [] (map (range0 EQ LT) [])",fontsize=16,color="black",shape="box"];2946 -> 2950[label="",style="solid", color="black", weight=3]; 58.54/37.21 2947[label="(++) range00 GT (GT >= LT) foldr (++) [] (map (range0 GT LT) [])",fontsize=16,color="black",shape="box"];2947 -> 2951[label="",style="solid", color="black", weight=3]; 58.54/37.21 2948[label="(++) range00 GT (not (compare2 GT EQ (GT == EQ) == LT)) foldr (++) [] (map (range0 GT EQ) [])",fontsize=16,color="black",shape="box"];2948 -> 2952[label="",style="solid", color="black", weight=3]; 58.54/37.21 2949[label="(++) range00 GT (not (compare2 GT GT (GT == GT) == LT)) foldr (++) [] (map (range0 GT GT) [])",fontsize=16,color="black",shape="box"];2949 -> 2953[label="",style="solid", color="black", weight=3]; 58.54/37.21 2950 -> 2855[label="",style="dashed", color="red", weight=0]; 58.54/37.21 2950[label="foldr (++) [] []",fontsize=16,color="magenta"];2951[label="(++) range00 GT (compare GT LT /= LT) foldr (++) [] (map (range0 GT LT) [])",fontsize=16,color="black",shape="box"];2951 -> 2954[label="",style="solid", color="black", weight=3]; 58.54/37.21 2952[label="(++) range00 GT (not (compare2 GT EQ False == LT)) foldr (++) [] (map (range0 GT EQ) [])",fontsize=16,color="black",shape="box"];2952 -> 2955[label="",style="solid", color="black", weight=3]; 58.54/37.21 2953[label="(++) range00 GT (not (compare2 GT GT True == LT)) foldr (++) [] (map (range0 GT GT) [])",fontsize=16,color="black",shape="box"];2953 -> 2956[label="",style="solid", color="black", weight=3]; 58.54/37.21 2954[label="(++) range00 GT (not (compare GT LT == LT)) foldr (++) [] (map (range0 GT LT) [])",fontsize=16,color="black",shape="box"];2954 -> 2957[label="",style="solid", color="black", weight=3]; 58.54/37.21 2955[label="(++) range00 GT (not (compare1 GT EQ (GT <= EQ) == LT)) foldr (++) [] (map (range0 GT EQ) [])",fontsize=16,color="black",shape="box"];2955 -> 2958[label="",style="solid", color="black", weight=3]; 58.54/37.21 2956[label="(++) range00 GT (not (EQ == LT)) foldr (++) [] (map (range0 GT GT) [])",fontsize=16,color="black",shape="box"];2956 -> 2959[label="",style="solid", color="black", weight=3]; 58.54/37.21 2957[label="(++) range00 GT (not (compare3 GT LT == LT)) foldr (++) [] (map (range0 GT LT) [])",fontsize=16,color="black",shape="box"];2957 -> 2960[label="",style="solid", color="black", weight=3]; 58.54/37.21 2958[label="(++) range00 GT (not (compare1 GT EQ False == LT)) foldr (++) [] (map (range0 GT EQ) [])",fontsize=16,color="black",shape="box"];2958 -> 2961[label="",style="solid", color="black", weight=3]; 58.54/37.21 2959[label="(++) range00 GT (not False) foldr (++) [] (map (range0 GT GT) [])",fontsize=16,color="black",shape="box"];2959 -> 2962[label="",style="solid", color="black", weight=3]; 58.54/37.21 2960[label="(++) range00 GT (not (compare2 GT LT (GT == LT) == LT)) foldr (++) [] (map (range0 GT LT) [])",fontsize=16,color="black",shape="box"];2960 -> 2963[label="",style="solid", color="black", weight=3]; 58.54/37.21 2961[label="(++) range00 GT (not (compare0 GT EQ otherwise == LT)) foldr (++) [] (map (range0 GT EQ) [])",fontsize=16,color="black",shape="box"];2961 -> 2964[label="",style="solid", color="black", weight=3]; 58.54/37.21 2962[label="(++) range00 GT True foldr (++) [] (map (range0 GT GT) [])",fontsize=16,color="black",shape="box"];2962 -> 2965[label="",style="solid", color="black", weight=3]; 58.54/37.21 2963[label="(++) range00 GT (not (compare2 GT LT False == LT)) foldr (++) [] (map (range0 GT LT) [])",fontsize=16,color="black",shape="box"];2963 -> 2966[label="",style="solid", color="black", weight=3]; 58.54/37.21 2964[label="(++) range00 GT (not (compare0 GT EQ True == LT)) foldr (++) [] (map (range0 GT EQ) [])",fontsize=16,color="black",shape="box"];2964 -> 2967[label="",style="solid", color="black", weight=3]; 58.54/37.21 2965[label="(++) (GT : []) foldr (++) [] (map (range0 GT GT) [])",fontsize=16,color="black",shape="box"];2965 -> 2968[label="",style="solid", color="black", weight=3]; 58.54/37.21 2966[label="(++) range00 GT (not (compare1 GT LT (GT <= LT) == LT)) foldr (++) [] (map (range0 GT LT) [])",fontsize=16,color="black",shape="box"];2966 -> 2969[label="",style="solid", color="black", weight=3]; 58.54/37.21 2967[label="(++) range00 GT (not (GT == LT)) foldr (++) [] (map (range0 GT EQ) [])",fontsize=16,color="black",shape="box"];2967 -> 2970[label="",style="solid", color="black", weight=3]; 58.54/37.21 2968[label="GT : [] ++ foldr (++) [] (map (range0 GT GT) [])",fontsize=16,color="green",shape="box"];2968 -> 2971[label="",style="dashed", color="green", weight=3]; 58.54/37.21 2969[label="(++) range00 GT (not (compare1 GT LT False == LT)) foldr (++) [] (map (range0 GT LT) [])",fontsize=16,color="black",shape="box"];2969 -> 2972[label="",style="solid", color="black", weight=3]; 58.54/37.21 2970[label="(++) range00 GT (not False) foldr (++) [] (map (range0 GT EQ) [])",fontsize=16,color="black",shape="box"];2970 -> 2973[label="",style="solid", color="black", weight=3]; 58.54/37.21 2971[label="[] ++ foldr (++) [] (map (range0 GT GT) [])",fontsize=16,color="black",shape="box"];2971 -> 2974[label="",style="solid", color="black", weight=3]; 58.54/37.21 2972[label="(++) range00 GT (not (compare0 GT LT otherwise == LT)) foldr (++) [] (map (range0 GT LT) [])",fontsize=16,color="black",shape="box"];2972 -> 2975[label="",style="solid", color="black", weight=3]; 58.54/37.21 2973[label="(++) range00 GT True foldr (++) [] (map (range0 GT EQ) [])",fontsize=16,color="black",shape="box"];2973 -> 2976[label="",style="solid", color="black", weight=3]; 58.54/37.21 2974[label="foldr (++) [] (map (range0 GT GT) [])",fontsize=16,color="black",shape="box"];2974 -> 2977[label="",style="solid", color="black", weight=3]; 58.54/37.21 2975[label="(++) range00 GT (not (compare0 GT LT True == LT)) foldr (++) [] (map (range0 GT LT) [])",fontsize=16,color="black",shape="box"];2975 -> 2978[label="",style="solid", color="black", weight=3]; 58.54/37.21 2976[label="(++) (GT : []) foldr (++) [] (map (range0 GT EQ) [])",fontsize=16,color="black",shape="box"];2976 -> 2979[label="",style="solid", color="black", weight=3]; 58.54/37.21 2977 -> 2855[label="",style="dashed", color="red", weight=0]; 58.54/37.21 2977[label="foldr (++) [] []",fontsize=16,color="magenta"];2978[label="(++) range00 GT (not (GT == LT)) foldr (++) [] (map (range0 GT LT) [])",fontsize=16,color="black",shape="box"];2978 -> 2980[label="",style="solid", color="black", weight=3]; 58.54/37.21 2979[label="GT : [] ++ foldr (++) [] (map (range0 GT EQ) [])",fontsize=16,color="green",shape="box"];2979 -> 2981[label="",style="dashed", color="green", weight=3]; 58.54/37.21 2980[label="(++) range00 GT (not False) foldr (++) [] (map (range0 GT LT) [])",fontsize=16,color="black",shape="box"];2980 -> 2982[label="",style="solid", color="black", weight=3]; 58.54/37.21 2981[label="[] ++ foldr (++) [] (map (range0 GT EQ) [])",fontsize=16,color="black",shape="box"];2981 -> 2983[label="",style="solid", color="black", weight=3]; 58.54/37.21 2982[label="(++) range00 GT True foldr (++) [] (map (range0 GT LT) [])",fontsize=16,color="black",shape="box"];2982 -> 2984[label="",style="solid", color="black", weight=3]; 58.54/37.21 2983[label="foldr (++) [] (map (range0 GT EQ) [])",fontsize=16,color="black",shape="box"];2983 -> 2985[label="",style="solid", color="black", weight=3]; 58.54/37.21 2984[label="(++) (GT : []) foldr (++) [] (map (range0 GT LT) [])",fontsize=16,color="black",shape="box"];2984 -> 2986[label="",style="solid", color="black", weight=3]; 58.54/37.21 2985 -> 2855[label="",style="dashed", color="red", weight=0]; 58.54/37.21 2985[label="foldr (++) [] []",fontsize=16,color="magenta"];2986[label="GT : [] ++ foldr (++) [] (map (range0 GT LT) [])",fontsize=16,color="green",shape="box"];2986 -> 2987[label="",style="dashed", color="green", weight=3]; 58.54/37.21 2987[label="[] ++ foldr (++) [] (map (range0 GT LT) [])",fontsize=16,color="black",shape="box"];2987 -> 2988[label="",style="solid", color="black", weight=3]; 58.54/37.21 2988[label="foldr (++) [] (map (range0 GT LT) [])",fontsize=16,color="black",shape="box"];2988 -> 2989[label="",style="solid", color="black", weight=3]; 58.54/37.21 2989 -> 2855[label="",style="dashed", color="red", weight=0]; 58.54/37.21 2989[label="foldr (++) [] []",fontsize=16,color="magenta"];} 58.54/37.21 58.54/37.21 ---------------------------------------- 58.54/37.21 58.54/37.21 (14) 58.54/37.21 Complex Obligation (AND) 58.54/37.21 58.54/37.21 ---------------------------------------- 58.54/37.21 58.54/37.21 (15) 58.54/37.21 Obligation: 58.54/37.21 Q DP problem: 58.54/37.21 The TRS P consists of the following rules: 58.54/37.21 58.54/37.21 new_psPs(:(xu440, xu441), xu42, h, ba) -> new_psPs(xu441, xu42, h, ba) 58.54/37.21 58.54/37.21 R is empty. 58.54/37.21 Q is empty. 58.54/37.21 We have to consider all minimal (P,Q,R)-chains. 58.54/37.21 ---------------------------------------- 58.54/37.21 58.54/37.21 (16) QDPSizeChangeProof (EQUIVALENT) 58.54/37.21 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. 58.54/37.21 58.54/37.21 From the DPs we obtained the following set of size-change graphs: 58.54/37.21 *new_psPs(:(xu440, xu441), xu42, h, ba) -> new_psPs(xu441, xu42, h, ba) 58.54/37.21 The graph contains the following edges 1 > 1, 2 >= 2, 3 >= 3, 4 >= 4 58.54/37.21 58.54/37.21 58.54/37.21 ---------------------------------------- 58.54/37.21 58.54/37.21 (17) 58.54/37.21 YES 58.54/37.21 58.54/37.21 ---------------------------------------- 58.54/37.21 58.54/37.21 (18) 58.54/37.21 Obligation: 58.54/37.21 Q DP problem: 58.54/37.21 The TRS P consists of the following rules: 58.54/37.21 58.54/37.21 new_foldr(xu57, :(xu580, xu581), h, ba) -> new_foldr(xu57, xu581, h, ba) 58.54/37.21 58.54/37.21 R is empty. 58.54/37.21 Q is empty. 58.54/37.21 We have to consider all minimal (P,Q,R)-chains. 58.54/37.21 ---------------------------------------- 58.54/37.21 58.54/37.21 (19) QDPSizeChangeProof (EQUIVALENT) 58.54/37.21 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. 58.54/37.21 58.54/37.21 From the DPs we obtained the following set of size-change graphs: 58.54/37.21 *new_foldr(xu57, :(xu580, xu581), h, ba) -> new_foldr(xu57, xu581, h, ba) 58.54/37.21 The graph contains the following edges 1 >= 1, 2 > 2, 3 >= 3, 4 >= 4 58.54/37.21 58.54/37.21 58.54/37.21 ---------------------------------------- 58.54/37.21 58.54/37.21 (20) 58.54/37.21 YES 58.54/37.21 58.54/37.21 ---------------------------------------- 58.54/37.21 58.54/37.21 (21) 58.54/37.21 Obligation: 58.54/37.21 Q DP problem: 58.54/37.21 The TRS P consists of the following rules: 58.54/37.21 58.54/37.21 new_range15(@2(@2(xu300, xu301), @2(xu310, xu311)), app(app(app(ty_@3, bg), bh), ca), cb) -> new_range14(@2(xu300, xu310), bg, bh, ca) 58.54/37.21 new_range14(@2(@3(xu300, xu301, xu302), @3(xu310, xu311, xu312)), app(app(app(ty_@3, h), ba), bb), bc, bd) -> new_range14(@2(xu300, xu310), h, ba, bb) 58.54/37.21 new_range14(@2(@3(xu300, xu301, xu302), @3(xu310, xu311, xu312)), app(app(ty_@2, be), bf), bc, bd) -> new_range15(@2(xu300, xu310), be, bf) 58.54/37.21 new_range15(@2(@2(xu300, xu301), @2(xu310, xu311)), app(app(ty_@2, cc), cd), cb) -> new_range15(@2(xu300, xu310), cc, cd) 58.54/37.21 58.54/37.21 R is empty. 58.54/37.21 Q is empty. 58.54/37.21 We have to consider all minimal (P,Q,R)-chains. 58.54/37.21 ---------------------------------------- 58.54/37.21 58.54/37.21 (22) QDPSizeChangeProof (EQUIVALENT) 58.54/37.21 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. 58.54/37.21 58.54/37.21 From the DPs we obtained the following set of size-change graphs: 58.54/37.21 *new_range14(@2(@3(xu300, xu301, xu302), @3(xu310, xu311, xu312)), app(app(ty_@2, be), bf), bc, bd) -> new_range15(@2(xu300, xu310), be, bf) 58.54/37.21 The graph contains the following edges 2 > 2, 2 > 3 58.54/37.21 58.54/37.21 58.54/37.21 *new_range14(@2(@3(xu300, xu301, xu302), @3(xu310, xu311, xu312)), app(app(app(ty_@3, h), ba), bb), bc, bd) -> new_range14(@2(xu300, xu310), h, ba, bb) 58.54/37.21 The graph contains the following edges 2 > 2, 2 > 3, 2 > 4 58.54/37.21 58.54/37.21 58.54/37.21 *new_range15(@2(@2(xu300, xu301), @2(xu310, xu311)), app(app(ty_@2, cc), cd), cb) -> new_range15(@2(xu300, xu310), cc, cd) 58.54/37.21 The graph contains the following edges 2 > 2, 2 > 3 58.54/37.21 58.54/37.21 58.54/37.21 *new_range15(@2(@2(xu300, xu301), @2(xu310, xu311)), app(app(app(ty_@3, bg), bh), ca), cb) -> new_range14(@2(xu300, xu310), bg, bh, ca) 58.54/37.21 The graph contains the following edges 2 > 2, 2 > 3, 2 > 4 58.54/37.21 58.54/37.21 58.54/37.21 ---------------------------------------- 58.54/37.21 58.54/37.21 (23) 58.54/37.21 YES 58.54/37.21 58.54/37.21 ---------------------------------------- 58.54/37.21 58.54/37.21 (24) 58.54/37.21 Obligation: 58.54/37.21 Q DP problem: 58.54/37.21 The TRS P consists of the following rules: 58.54/37.21 58.54/37.21 new_takeWhile2(Pos(Zero), Neg(Zero)) -> new_takeWhile2(Pos(Zero), Pos(Succ(Zero))) 58.54/37.21 new_takeWhile2(Neg(Zero), Neg(Succ(Succ(xu30000)))) -> new_takeWhile2(Neg(Zero), Neg(Succ(xu30000))) 58.54/37.21 new_takeWhile15(xu195, xu196, xu197, Succ(xu1980), Succ(xu1990)) -> new_takeWhile15(xu195, xu196, xu197, xu1980, xu1990) 58.54/37.21 new_takeWhile13(xu167, xu168, Succ(xu1690), Succ(xu1700)) -> new_takeWhile13(xu167, xu168, xu1690, xu1700) 58.54/37.21 new_takeWhile16(xu195, xu196, xu197) -> new_takeWhile2(Neg(Succ(xu195)), xu197) 58.54/37.21 new_takeWhile15(xu195, xu196, xu197, Zero, Zero) -> new_takeWhile16(xu195, xu196, xu197) 58.54/37.21 new_takeWhile2(Neg(Succ(xu3100)), Neg(Succ(xu3000))) -> new_takeWhile15(xu3100, xu3000, new_primPlusInt0(xu3000), xu3100, xu3000) 58.54/37.21 new_takeWhile15(xu195, xu196, xu197, Zero, Succ(xu1990)) -> new_takeWhile2(Neg(Succ(xu195)), xu197) 58.54/37.21 new_takeWhile2(Pos(Zero), Pos(Zero)) -> new_takeWhile2(Pos(Zero), Pos(new_primPlusNat0)) 58.54/37.21 new_takeWhile2(Neg(Zero), Neg(Zero)) -> new_takeWhile2(Neg(Zero), Pos(Succ(Zero))) 58.54/37.21 new_takeWhile13(xu167, xu168, Zero, Zero) -> new_takeWhile14(xu167, xu168) 58.54/37.21 new_takeWhile2(Pos(Succ(xu3100)), Pos(Zero)) -> new_takeWhile2(Pos(Succ(xu3100)), Pos(new_primPlusNat0)) 58.54/37.21 new_takeWhile2(Pos(xu310), Neg(Succ(Zero))) -> new_takeWhile2(Pos(xu310), Pos(Zero)) 58.54/37.21 new_takeWhile2(Neg(Zero), Neg(Succ(Zero))) -> new_takeWhile2(Neg(Zero), Pos(Zero)) 58.54/37.21 new_takeWhile2(Pos(Succ(xu3100)), Neg(Zero)) -> new_takeWhile2(Pos(Succ(xu3100)), Pos(Succ(Zero))) 58.54/37.21 new_takeWhile2(Neg(Zero), Pos(Zero)) -> new_takeWhile2(Neg(Zero), Pos(new_primPlusNat0)) 58.54/37.21 new_takeWhile2(Pos(xu310), Neg(Succ(Succ(xu30000)))) -> new_takeWhile2(Pos(xu310), Neg(Succ(xu30000))) 58.54/37.21 new_takeWhile13(xu167, xu168, Zero, Succ(xu1700)) -> new_takeWhile2(Pos(Succ(xu167)), Pos(new_primPlusNat(xu168))) 58.54/37.21 new_takeWhile14(xu167, xu168) -> new_takeWhile2(Pos(Succ(xu167)), Pos(new_primPlusNat(xu168))) 58.54/37.21 new_takeWhile2(Pos(Succ(xu3100)), Pos(Succ(xu3000))) -> new_takeWhile13(xu3100, xu3000, xu3000, xu3100) 58.54/37.21 58.54/37.21 The TRS R consists of the following rules: 58.54/37.21 58.54/37.21 new_primPlusNat(xu168) -> Succ(Succ(new_primPlusNat1(xu168))) 58.54/37.21 new_primPlusInt0(Succ(xu300000)) -> Neg(Succ(xu300000)) 58.54/37.21 new_primPlusNat0 -> Succ(Zero) 58.54/37.21 new_primPlusNat1(Succ(xu1680)) -> Succ(xu1680) 58.54/37.21 new_primPlusInt0(Zero) -> Pos(Zero) 58.54/37.21 new_primPlusNat1(Zero) -> Zero 58.54/37.21 58.54/37.21 The set Q consists of the following terms: 58.54/37.21 58.54/37.21 new_primPlusInt0(Succ(x0)) 58.54/37.21 new_primPlusInt0(Zero) 58.54/37.21 new_primPlusNat0 58.54/37.21 new_primPlusNat(x0) 58.54/37.21 new_primPlusNat1(Zero) 58.54/37.21 new_primPlusNat1(Succ(x0)) 58.54/37.21 58.54/37.21 We have to consider all minimal (P,Q,R)-chains. 58.54/37.21 ---------------------------------------- 58.54/37.21 58.54/37.21 (25) DependencyGraphProof (EQUIVALENT) 58.54/37.21 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 4 SCCs with 7 less nodes. 58.54/37.21 ---------------------------------------- 58.54/37.21 58.54/37.21 (26) 58.54/37.21 Complex Obligation (AND) 58.54/37.21 58.54/37.21 ---------------------------------------- 58.54/37.21 58.54/37.21 (27) 58.54/37.21 Obligation: 58.54/37.21 Q DP problem: 58.54/37.21 The TRS P consists of the following rules: 58.54/37.21 58.54/37.21 new_takeWhile13(xu167, xu168, Zero, Zero) -> new_takeWhile14(xu167, xu168) 58.54/37.21 new_takeWhile14(xu167, xu168) -> new_takeWhile2(Pos(Succ(xu167)), Pos(new_primPlusNat(xu168))) 58.54/37.21 new_takeWhile2(Pos(Succ(xu3100)), Pos(Zero)) -> new_takeWhile2(Pos(Succ(xu3100)), Pos(new_primPlusNat0)) 58.54/37.21 new_takeWhile2(Pos(Succ(xu3100)), Pos(Succ(xu3000))) -> new_takeWhile13(xu3100, xu3000, xu3000, xu3100) 58.54/37.21 new_takeWhile13(xu167, xu168, Succ(xu1690), Succ(xu1700)) -> new_takeWhile13(xu167, xu168, xu1690, xu1700) 58.54/37.21 new_takeWhile13(xu167, xu168, Zero, Succ(xu1700)) -> new_takeWhile2(Pos(Succ(xu167)), Pos(new_primPlusNat(xu168))) 58.54/37.21 58.54/37.21 The TRS R consists of the following rules: 58.54/37.21 58.54/37.21 new_primPlusNat(xu168) -> Succ(Succ(new_primPlusNat1(xu168))) 58.54/37.21 new_primPlusInt0(Succ(xu300000)) -> Neg(Succ(xu300000)) 58.54/37.21 new_primPlusNat0 -> Succ(Zero) 58.54/37.21 new_primPlusNat1(Succ(xu1680)) -> Succ(xu1680) 58.54/37.21 new_primPlusInt0(Zero) -> Pos(Zero) 58.54/37.21 new_primPlusNat1(Zero) -> Zero 58.54/37.21 58.54/37.21 The set Q consists of the following terms: 58.54/37.21 58.54/37.21 new_primPlusInt0(Succ(x0)) 58.54/37.22 new_primPlusInt0(Zero) 58.54/37.22 new_primPlusNat0 58.54/37.22 new_primPlusNat(x0) 58.54/37.22 new_primPlusNat1(Zero) 58.54/37.22 new_primPlusNat1(Succ(x0)) 58.54/37.22 58.54/37.22 We have to consider all minimal (P,Q,R)-chains. 58.54/37.22 ---------------------------------------- 58.54/37.22 58.54/37.22 (28) QDPOrderProof (EQUIVALENT) 58.54/37.22 We use the reduction pair processor [LPAR04,JAR06]. 58.54/37.22 58.54/37.22 58.54/37.22 The following pairs can be oriented strictly and are deleted. 58.54/37.22 58.54/37.22 new_takeWhile2(Pos(Succ(xu3100)), Pos(Zero)) -> new_takeWhile2(Pos(Succ(xu3100)), Pos(new_primPlusNat0)) 58.54/37.22 The remaining pairs can at least be oriented weakly. 58.54/37.22 Used ordering: Polynomial interpretation [POLO]: 58.54/37.22 58.54/37.22 POL(Pos(x_1)) = x_1 58.54/37.22 POL(Succ(x_1)) = 0 58.54/37.22 POL(Zero) = 1 58.54/37.22 POL(new_primPlusNat(x_1)) = 0 58.54/37.22 POL(new_primPlusNat0) = 0 58.54/37.22 POL(new_primPlusNat1(x_1)) = 1 + x_1 58.54/37.22 POL(new_takeWhile13(x_1, x_2, x_3, x_4)) = 1 58.54/37.22 POL(new_takeWhile14(x_1, x_2)) = 1 58.54/37.22 POL(new_takeWhile2(x_1, x_2)) = 1 + x_1 + x_2 58.54/37.22 58.54/37.22 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 58.54/37.22 58.54/37.22 new_primPlusNat(xu168) -> Succ(Succ(new_primPlusNat1(xu168))) 58.54/37.22 new_primPlusNat0 -> Succ(Zero) 58.54/37.22 58.54/37.22 58.54/37.22 ---------------------------------------- 58.54/37.22 58.54/37.22 (29) 58.54/37.22 Obligation: 58.54/37.22 Q DP problem: 58.54/37.22 The TRS P consists of the following rules: 58.54/37.22 58.54/37.22 new_takeWhile13(xu167, xu168, Zero, Zero) -> new_takeWhile14(xu167, xu168) 58.54/37.22 new_takeWhile14(xu167, xu168) -> new_takeWhile2(Pos(Succ(xu167)), Pos(new_primPlusNat(xu168))) 58.54/37.22 new_takeWhile2(Pos(Succ(xu3100)), Pos(Succ(xu3000))) -> new_takeWhile13(xu3100, xu3000, xu3000, xu3100) 58.54/37.22 new_takeWhile13(xu167, xu168, Succ(xu1690), Succ(xu1700)) -> new_takeWhile13(xu167, xu168, xu1690, xu1700) 58.54/37.22 new_takeWhile13(xu167, xu168, Zero, Succ(xu1700)) -> new_takeWhile2(Pos(Succ(xu167)), Pos(new_primPlusNat(xu168))) 58.54/37.22 58.54/37.22 The TRS R consists of the following rules: 58.54/37.22 58.54/37.22 new_primPlusNat(xu168) -> Succ(Succ(new_primPlusNat1(xu168))) 58.54/37.22 new_primPlusInt0(Succ(xu300000)) -> Neg(Succ(xu300000)) 58.54/37.22 new_primPlusNat0 -> Succ(Zero) 58.54/37.22 new_primPlusNat1(Succ(xu1680)) -> Succ(xu1680) 58.54/37.22 new_primPlusInt0(Zero) -> Pos(Zero) 58.54/37.22 new_primPlusNat1(Zero) -> Zero 58.54/37.22 58.54/37.22 The set Q consists of the following terms: 58.54/37.22 58.54/37.22 new_primPlusInt0(Succ(x0)) 58.54/37.22 new_primPlusInt0(Zero) 58.54/37.22 new_primPlusNat0 58.54/37.22 new_primPlusNat(x0) 58.54/37.22 new_primPlusNat1(Zero) 58.54/37.22 new_primPlusNat1(Succ(x0)) 58.54/37.22 58.54/37.22 We have to consider all minimal (P,Q,R)-chains. 58.54/37.22 ---------------------------------------- 58.54/37.22 58.54/37.22 (30) MNOCProof (EQUIVALENT) 58.54/37.22 We use the modular non-overlap check [FROCOS05] to decrease Q to the empty set. 58.54/37.22 ---------------------------------------- 58.54/37.22 58.54/37.22 (31) 58.54/37.22 Obligation: 58.54/37.22 Q DP problem: 58.54/37.22 The TRS P consists of the following rules: 58.54/37.22 58.54/37.22 new_takeWhile13(xu167, xu168, Zero, Zero) -> new_takeWhile14(xu167, xu168) 58.54/37.22 new_takeWhile14(xu167, xu168) -> new_takeWhile2(Pos(Succ(xu167)), Pos(new_primPlusNat(xu168))) 58.54/37.22 new_takeWhile2(Pos(Succ(xu3100)), Pos(Succ(xu3000))) -> new_takeWhile13(xu3100, xu3000, xu3000, xu3100) 58.54/37.22 new_takeWhile13(xu167, xu168, Succ(xu1690), Succ(xu1700)) -> new_takeWhile13(xu167, xu168, xu1690, xu1700) 58.54/37.22 new_takeWhile13(xu167, xu168, Zero, Succ(xu1700)) -> new_takeWhile2(Pos(Succ(xu167)), Pos(new_primPlusNat(xu168))) 58.54/37.22 58.54/37.22 The TRS R consists of the following rules: 58.54/37.22 58.54/37.22 new_primPlusNat(xu168) -> Succ(Succ(new_primPlusNat1(xu168))) 58.54/37.22 new_primPlusInt0(Succ(xu300000)) -> Neg(Succ(xu300000)) 58.54/37.22 new_primPlusNat0 -> Succ(Zero) 58.54/37.22 new_primPlusNat1(Succ(xu1680)) -> Succ(xu1680) 58.54/37.22 new_primPlusInt0(Zero) -> Pos(Zero) 58.54/37.22 new_primPlusNat1(Zero) -> Zero 58.54/37.22 58.54/37.22 Q is empty. 58.54/37.22 We have to consider all (P,Q,R)-chains. 58.54/37.22 ---------------------------------------- 58.54/37.22 58.54/37.22 (32) InductionCalculusProof (EQUIVALENT) 58.54/37.22 Note that final constraints are written in bold face. 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 For Pair new_takeWhile13(xu167, xu168, Zero, Zero) -> new_takeWhile14(xu167, xu168) the following chains were created: 58.54/37.22 *We consider the chain new_takeWhile13(x2, x3, Zero, Zero) -> new_takeWhile14(x2, x3), new_takeWhile14(x4, x5) -> new_takeWhile2(Pos(Succ(x4)), Pos(new_primPlusNat(x5))) which results in the following constraint: 58.54/37.22 58.54/37.22 (1) (new_takeWhile14(x2, x3)=new_takeWhile14(x4, x5) ==> new_takeWhile13(x2, x3, Zero, Zero)_>=_new_takeWhile14(x2, x3)) 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 58.54/37.22 58.54/37.22 (2) (new_takeWhile13(x2, x3, Zero, Zero)_>=_new_takeWhile14(x2, x3)) 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 For Pair new_takeWhile14(xu167, xu168) -> new_takeWhile2(Pos(Succ(xu167)), Pos(new_primPlusNat(xu168))) the following chains were created: 58.54/37.22 *We consider the chain new_takeWhile14(x16, x17) -> new_takeWhile2(Pos(Succ(x16)), Pos(new_primPlusNat(x17))), new_takeWhile2(Pos(Succ(x18)), Pos(Succ(x19))) -> new_takeWhile13(x18, x19, x19, x18) which results in the following constraint: 58.54/37.22 58.54/37.22 (1) (new_takeWhile2(Pos(Succ(x16)), Pos(new_primPlusNat(x17)))=new_takeWhile2(Pos(Succ(x18)), Pos(Succ(x19))) ==> new_takeWhile14(x16, x17)_>=_new_takeWhile2(Pos(Succ(x16)), Pos(new_primPlusNat(x17)))) 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 58.54/37.22 58.54/37.22 (2) (new_primPlusNat(x17)=Succ(x19) ==> new_takeWhile14(x16, x17)_>=_new_takeWhile2(Pos(Succ(x16)), Pos(new_primPlusNat(x17)))) 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primPlusNat(x17)=Succ(x19) which results in the following new constraint: 58.54/37.22 58.54/37.22 (3) (Succ(Succ(new_primPlusNat1(x89)))=Succ(x19) ==> new_takeWhile14(x16, x89)_>=_new_takeWhile2(Pos(Succ(x16)), Pos(new_primPlusNat(x89)))) 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 We simplified constraint (3) using rules (I), (II), (IV) which results in the following new constraint: 58.54/37.22 58.54/37.22 (4) (new_takeWhile14(x16, x89)_>=_new_takeWhile2(Pos(Succ(x16)), Pos(new_primPlusNat(x89)))) 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 For Pair new_takeWhile2(Pos(Succ(xu3100)), Pos(Succ(xu3000))) -> new_takeWhile13(xu3100, xu3000, xu3000, xu3100) the following chains were created: 58.54/37.22 *We consider the chain new_takeWhile2(Pos(Succ(x24)), Pos(Succ(x25))) -> new_takeWhile13(x24, x25, x25, x24), new_takeWhile13(x26, x27, Zero, Zero) -> new_takeWhile14(x26, x27) which results in the following constraint: 58.54/37.22 58.54/37.22 (1) (new_takeWhile13(x24, x25, x25, x24)=new_takeWhile13(x26, x27, Zero, Zero) ==> new_takeWhile2(Pos(Succ(x24)), Pos(Succ(x25)))_>=_new_takeWhile13(x24, x25, x25, x24)) 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 58.54/37.22 58.54/37.22 (2) (new_takeWhile2(Pos(Succ(Zero)), Pos(Succ(Zero)))_>=_new_takeWhile13(Zero, Zero, Zero, Zero)) 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 *We consider the chain new_takeWhile2(Pos(Succ(x32)), Pos(Succ(x33))) -> new_takeWhile13(x32, x33, x33, x32), new_takeWhile13(x34, x35, Succ(x36), Succ(x37)) -> new_takeWhile13(x34, x35, x36, x37) which results in the following constraint: 58.54/37.22 58.54/37.22 (1) (new_takeWhile13(x32, x33, x33, x32)=new_takeWhile13(x34, x35, Succ(x36), Succ(x37)) ==> new_takeWhile2(Pos(Succ(x32)), Pos(Succ(x33)))_>=_new_takeWhile13(x32, x33, x33, x32)) 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 58.54/37.22 58.54/37.22 (2) (new_takeWhile2(Pos(Succ(Succ(x37))), Pos(Succ(Succ(x36))))_>=_new_takeWhile13(Succ(x37), Succ(x36), Succ(x36), Succ(x37))) 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 *We consider the chain new_takeWhile2(Pos(Succ(x38)), Pos(Succ(x39))) -> new_takeWhile13(x38, x39, x39, x38), new_takeWhile13(x40, x41, Zero, Succ(x42)) -> new_takeWhile2(Pos(Succ(x40)), Pos(new_primPlusNat(x41))) which results in the following constraint: 58.54/37.22 58.54/37.22 (1) (new_takeWhile13(x38, x39, x39, x38)=new_takeWhile13(x40, x41, Zero, Succ(x42)) ==> new_takeWhile2(Pos(Succ(x38)), Pos(Succ(x39)))_>=_new_takeWhile13(x38, x39, x39, x38)) 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 58.54/37.22 58.54/37.22 (2) (new_takeWhile2(Pos(Succ(Succ(x42))), Pos(Succ(Zero)))_>=_new_takeWhile13(Succ(x42), Zero, Zero, Succ(x42))) 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 For Pair new_takeWhile13(xu167, xu168, Succ(xu1690), Succ(xu1700)) -> new_takeWhile13(xu167, xu168, xu1690, xu1700) the following chains were created: 58.54/37.22 *We consider the chain new_takeWhile13(x43, x44, Succ(x45), Succ(x46)) -> new_takeWhile13(x43, x44, x45, x46), new_takeWhile13(x47, x48, Zero, Zero) -> new_takeWhile14(x47, x48) which results in the following constraint: 58.54/37.22 58.54/37.22 (1) (new_takeWhile13(x43, x44, x45, x46)=new_takeWhile13(x47, x48, Zero, Zero) ==> new_takeWhile13(x43, x44, Succ(x45), Succ(x46))_>=_new_takeWhile13(x43, x44, x45, x46)) 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 58.54/37.22 58.54/37.22 (2) (new_takeWhile13(x43, x44, Succ(Zero), Succ(Zero))_>=_new_takeWhile13(x43, x44, Zero, Zero)) 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 *We consider the chain new_takeWhile13(x57, x58, Succ(x59), Succ(x60)) -> new_takeWhile13(x57, x58, x59, x60), new_takeWhile13(x61, x62, Succ(x63), Succ(x64)) -> new_takeWhile13(x61, x62, x63, x64) which results in the following constraint: 58.54/37.22 58.54/37.22 (1) (new_takeWhile13(x57, x58, x59, x60)=new_takeWhile13(x61, x62, Succ(x63), Succ(x64)) ==> new_takeWhile13(x57, x58, Succ(x59), Succ(x60))_>=_new_takeWhile13(x57, x58, x59, x60)) 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 58.54/37.22 58.54/37.22 (2) (new_takeWhile13(x57, x58, Succ(Succ(x63)), Succ(Succ(x64)))_>=_new_takeWhile13(x57, x58, Succ(x63), Succ(x64))) 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 *We consider the chain new_takeWhile13(x65, x66, Succ(x67), Succ(x68)) -> new_takeWhile13(x65, x66, x67, x68), new_takeWhile13(x69, x70, Zero, Succ(x71)) -> new_takeWhile2(Pos(Succ(x69)), Pos(new_primPlusNat(x70))) which results in the following constraint: 58.54/37.22 58.54/37.22 (1) (new_takeWhile13(x65, x66, x67, x68)=new_takeWhile13(x69, x70, Zero, Succ(x71)) ==> new_takeWhile13(x65, x66, Succ(x67), Succ(x68))_>=_new_takeWhile13(x65, x66, x67, x68)) 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 58.54/37.22 58.54/37.22 (2) (new_takeWhile13(x65, x66, Succ(Zero), Succ(Succ(x71)))_>=_new_takeWhile13(x65, x66, Zero, Succ(x71))) 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 For Pair new_takeWhile13(xu167, xu168, Zero, Succ(xu1700)) -> new_takeWhile2(Pos(Succ(xu167)), Pos(new_primPlusNat(xu168))) the following chains were created: 58.54/37.22 *We consider the chain new_takeWhile13(x78, x79, Zero, Succ(x80)) -> new_takeWhile2(Pos(Succ(x78)), Pos(new_primPlusNat(x79))), new_takeWhile2(Pos(Succ(x81)), Pos(Succ(x82))) -> new_takeWhile13(x81, x82, x82, x81) which results in the following constraint: 58.54/37.22 58.54/37.22 (1) (new_takeWhile2(Pos(Succ(x78)), Pos(new_primPlusNat(x79)))=new_takeWhile2(Pos(Succ(x81)), Pos(Succ(x82))) ==> new_takeWhile13(x78, x79, Zero, Succ(x80))_>=_new_takeWhile2(Pos(Succ(x78)), Pos(new_primPlusNat(x79)))) 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 58.54/37.22 58.54/37.22 (2) (new_primPlusNat(x79)=Succ(x82) ==> new_takeWhile13(x78, x79, Zero, Succ(x80))_>=_new_takeWhile2(Pos(Succ(x78)), Pos(new_primPlusNat(x79)))) 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primPlusNat(x79)=Succ(x82) which results in the following new constraint: 58.54/37.22 58.54/37.22 (3) (Succ(Succ(new_primPlusNat1(x90)))=Succ(x82) ==> new_takeWhile13(x78, x90, Zero, Succ(x80))_>=_new_takeWhile2(Pos(Succ(x78)), Pos(new_primPlusNat(x90)))) 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 We simplified constraint (3) using rules (I), (II), (IV) which results in the following new constraint: 58.54/37.22 58.54/37.22 (4) (new_takeWhile13(x78, x90, Zero, Succ(x80))_>=_new_takeWhile2(Pos(Succ(x78)), Pos(new_primPlusNat(x90)))) 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 To summarize, we get the following constraints P__>=_ for the following pairs. 58.54/37.22 58.54/37.22 *new_takeWhile13(xu167, xu168, Zero, Zero) -> new_takeWhile14(xu167, xu168) 58.54/37.22 58.54/37.22 *(new_takeWhile13(x2, x3, Zero, Zero)_>=_new_takeWhile14(x2, x3)) 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 *new_takeWhile14(xu167, xu168) -> new_takeWhile2(Pos(Succ(xu167)), Pos(new_primPlusNat(xu168))) 58.54/37.22 58.54/37.22 *(new_takeWhile14(x16, x89)_>=_new_takeWhile2(Pos(Succ(x16)), Pos(new_primPlusNat(x89)))) 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 *new_takeWhile2(Pos(Succ(xu3100)), Pos(Succ(xu3000))) -> new_takeWhile13(xu3100, xu3000, xu3000, xu3100) 58.54/37.22 58.54/37.22 *(new_takeWhile2(Pos(Succ(Zero)), Pos(Succ(Zero)))_>=_new_takeWhile13(Zero, Zero, Zero, Zero)) 58.54/37.22 58.54/37.22 58.54/37.22 *(new_takeWhile2(Pos(Succ(Succ(x37))), Pos(Succ(Succ(x36))))_>=_new_takeWhile13(Succ(x37), Succ(x36), Succ(x36), Succ(x37))) 58.54/37.22 58.54/37.22 58.54/37.22 *(new_takeWhile2(Pos(Succ(Succ(x42))), Pos(Succ(Zero)))_>=_new_takeWhile13(Succ(x42), Zero, Zero, Succ(x42))) 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 *new_takeWhile13(xu167, xu168, Succ(xu1690), Succ(xu1700)) -> new_takeWhile13(xu167, xu168, xu1690, xu1700) 58.54/37.22 58.54/37.22 *(new_takeWhile13(x43, x44, Succ(Zero), Succ(Zero))_>=_new_takeWhile13(x43, x44, Zero, Zero)) 58.54/37.22 58.54/37.22 58.54/37.22 *(new_takeWhile13(x57, x58, Succ(Succ(x63)), Succ(Succ(x64)))_>=_new_takeWhile13(x57, x58, Succ(x63), Succ(x64))) 58.54/37.22 58.54/37.22 58.54/37.22 *(new_takeWhile13(x65, x66, Succ(Zero), Succ(Succ(x71)))_>=_new_takeWhile13(x65, x66, Zero, Succ(x71))) 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 *new_takeWhile13(xu167, xu168, Zero, Succ(xu1700)) -> new_takeWhile2(Pos(Succ(xu167)), Pos(new_primPlusNat(xu168))) 58.54/37.22 58.54/37.22 *(new_takeWhile13(x78, x90, Zero, Succ(x80))_>=_new_takeWhile2(Pos(Succ(x78)), Pos(new_primPlusNat(x90)))) 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 The constraints for P_> respective P_bound are constructed from P__>=_ where we just replace every occurence of "t _>=_ s" in P__>=_ by "t > s" respective "t _>=_ c". Here c stands for the fresh constant used for P_bound. 58.54/37.22 ---------------------------------------- 58.54/37.22 58.54/37.22 (33) 58.54/37.22 Obligation: 58.54/37.22 Q DP problem: 58.54/37.22 The TRS P consists of the following rules: 58.54/37.22 58.54/37.22 new_takeWhile13(xu167, xu168, Zero, Zero) -> new_takeWhile14(xu167, xu168) 58.54/37.22 new_takeWhile14(xu167, xu168) -> new_takeWhile2(Pos(Succ(xu167)), Pos(new_primPlusNat(xu168))) 58.54/37.22 new_takeWhile2(Pos(Succ(xu3100)), Pos(Succ(xu3000))) -> new_takeWhile13(xu3100, xu3000, xu3000, xu3100) 58.54/37.22 new_takeWhile13(xu167, xu168, Succ(xu1690), Succ(xu1700)) -> new_takeWhile13(xu167, xu168, xu1690, xu1700) 58.54/37.22 new_takeWhile13(xu167, xu168, Zero, Succ(xu1700)) -> new_takeWhile2(Pos(Succ(xu167)), Pos(new_primPlusNat(xu168))) 58.54/37.22 58.54/37.22 The TRS R consists of the following rules: 58.54/37.22 58.54/37.22 new_primPlusNat(xu168) -> Succ(Succ(new_primPlusNat1(xu168))) 58.54/37.22 new_primPlusInt0(Succ(xu300000)) -> Neg(Succ(xu300000)) 58.54/37.22 new_primPlusNat0 -> Succ(Zero) 58.54/37.22 new_primPlusNat1(Succ(xu1680)) -> Succ(xu1680) 58.54/37.22 new_primPlusInt0(Zero) -> Pos(Zero) 58.54/37.22 new_primPlusNat1(Zero) -> Zero 58.54/37.22 58.54/37.22 The set Q consists of the following terms: 58.54/37.22 58.54/37.22 new_primPlusInt0(Succ(x0)) 58.54/37.22 new_primPlusInt0(Zero) 58.54/37.22 new_primPlusNat0 58.54/37.22 new_primPlusNat(x0) 58.54/37.22 new_primPlusNat1(Zero) 58.54/37.22 new_primPlusNat1(Succ(x0)) 58.54/37.22 58.54/37.22 We have to consider all minimal (P,Q,R)-chains. 58.54/37.22 ---------------------------------------- 58.54/37.22 58.54/37.22 (34) QDPPairToRuleProof (EQUIVALENT) 58.54/37.22 The dependency pair new_takeWhile13(xu167, xu168, Succ(xu1690), Succ(xu1700)) -> new_takeWhile13(xu167, xu168, xu1690, xu1700) was transformed to the following new rules: 58.54/37.22 anew_new_takeWhile13(Succ(xu1690), Succ(xu1700)) -> new_new_takeWhile13(xu1690, xu1700) 58.54/37.22 new_new_takeWhile13(Succ(xu1690), Succ(xu1700)) -> new_new_takeWhile13(xu1690, xu1700) 58.54/37.22 new_new_takeWhile13(Zero, Zero) -> cons_new_takeWhile13(Zero, Zero) 58.54/37.22 new_new_takeWhile13(Zero, Succ(xu1700)) -> cons_new_takeWhile13(Zero, Succ(xu1700)) 58.54/37.22 58.54/37.22 the following new pairs maintain the fan-in: 58.54/37.22 new_takeWhile2(Pos(Succ(xu3100)), Pos(Succ(xu3000))) -> H(xu3100, xu3000, anew_new_takeWhile13(xu3000, xu3100)) 58.54/37.22 58.54/37.22 the following new pairs maintain the fan-out: 58.54/37.22 H(xu167, xu168, cons_new_takeWhile13(Zero, Zero)) -> new_takeWhile13(xu167, xu168, Zero, Zero) 58.54/37.22 H(xu167, xu168, cons_new_takeWhile13(Zero, Succ(xu1700))) -> new_takeWhile13(xu167, xu168, Zero, Succ(xu1700)) 58.54/37.22 58.54/37.22 ---------------------------------------- 58.54/37.22 58.54/37.22 (35) 58.54/37.22 Complex Obligation (AND) 58.54/37.22 58.54/37.22 ---------------------------------------- 58.54/37.22 58.54/37.22 (36) 58.54/37.22 Obligation: 58.54/37.22 Q DP problem: 58.54/37.22 The TRS P consists of the following rules: 58.54/37.22 58.54/37.22 new_takeWhile13(xu167, xu168, Zero, Zero) -> new_takeWhile14(xu167, xu168) 58.54/37.22 new_takeWhile14(xu167, xu168) -> new_takeWhile2(Pos(Succ(xu167)), Pos(new_primPlusNat(xu168))) 58.54/37.22 new_takeWhile2(Pos(Succ(xu3100)), Pos(Succ(xu3000))) -> new_takeWhile13(xu3100, xu3000, xu3000, xu3100) 58.54/37.22 new_takeWhile13(xu167, xu168, Zero, Succ(xu1700)) -> new_takeWhile2(Pos(Succ(xu167)), Pos(new_primPlusNat(xu168))) 58.54/37.22 new_takeWhile2(Pos(Succ(xu3100)), Pos(Succ(xu3000))) -> H(xu3100, xu3000, anew_new_takeWhile13(xu3000, xu3100)) 58.54/37.22 H(xu167, xu168, cons_new_takeWhile13(Zero, Zero)) -> new_takeWhile13(xu167, xu168, Zero, Zero) 58.54/37.22 H(xu167, xu168, cons_new_takeWhile13(Zero, Succ(xu1700))) -> new_takeWhile13(xu167, xu168, Zero, Succ(xu1700)) 58.54/37.22 58.54/37.22 The TRS R consists of the following rules: 58.54/37.22 58.54/37.22 new_primPlusNat(xu168) -> Succ(Succ(new_primPlusNat1(xu168))) 58.54/37.22 new_primPlusInt0(Succ(xu300000)) -> Neg(Succ(xu300000)) 58.54/37.22 new_primPlusNat0 -> Succ(Zero) 58.54/37.22 new_primPlusNat1(Succ(xu1680)) -> Succ(xu1680) 58.54/37.22 new_primPlusInt0(Zero) -> Pos(Zero) 58.54/37.22 new_primPlusNat1(Zero) -> Zero 58.54/37.22 anew_new_takeWhile13(Succ(xu1690), Succ(xu1700)) -> new_new_takeWhile13(xu1690, xu1700) 58.54/37.22 new_new_takeWhile13(Succ(xu1690), Succ(xu1700)) -> new_new_takeWhile13(xu1690, xu1700) 58.54/37.22 new_new_takeWhile13(Zero, Zero) -> cons_new_takeWhile13(Zero, Zero) 58.54/37.22 new_new_takeWhile13(Zero, Succ(xu1700)) -> cons_new_takeWhile13(Zero, Succ(xu1700)) 58.54/37.22 58.54/37.22 The set Q consists of the following terms: 58.54/37.22 58.54/37.22 new_primPlusInt0(Succ(x0)) 58.54/37.22 new_primPlusInt0(Zero) 58.54/37.22 new_primPlusNat0 58.54/37.22 new_primPlusNat(x0) 58.54/37.22 new_primPlusNat1(Zero) 58.54/37.22 new_primPlusNat1(Succ(x0)) 58.54/37.22 new_new_takeWhile13(Succ(x0), Succ(x1)) 58.54/37.22 anew_new_takeWhile13(Succ(x0), Succ(x1)) 58.54/37.22 new_new_takeWhile13(Zero, Zero) 58.54/37.22 new_new_takeWhile13(Zero, Succ(x0)) 58.54/37.22 58.54/37.22 We have to consider all minimal (P,Q,R)-chains. 58.54/37.22 ---------------------------------------- 58.54/37.22 58.54/37.22 (37) MNOCProof (EQUIVALENT) 58.54/37.22 We use the modular non-overlap check [FROCOS05] to decrease Q to the empty set. 58.54/37.22 ---------------------------------------- 58.54/37.22 58.54/37.22 (38) 58.54/37.22 Obligation: 58.54/37.22 Q DP problem: 58.54/37.22 The TRS P consists of the following rules: 58.54/37.22 58.54/37.22 new_takeWhile13(xu167, xu168, Zero, Zero) -> new_takeWhile14(xu167, xu168) 58.54/37.22 new_takeWhile14(xu167, xu168) -> new_takeWhile2(Pos(Succ(xu167)), Pos(new_primPlusNat(xu168))) 58.54/37.22 new_takeWhile2(Pos(Succ(xu3100)), Pos(Succ(xu3000))) -> new_takeWhile13(xu3100, xu3000, xu3000, xu3100) 58.54/37.22 new_takeWhile13(xu167, xu168, Zero, Succ(xu1700)) -> new_takeWhile2(Pos(Succ(xu167)), Pos(new_primPlusNat(xu168))) 58.54/37.22 new_takeWhile2(Pos(Succ(xu3100)), Pos(Succ(xu3000))) -> H(xu3100, xu3000, anew_new_takeWhile13(xu3000, xu3100)) 58.54/37.22 H(xu167, xu168, cons_new_takeWhile13(Zero, Zero)) -> new_takeWhile13(xu167, xu168, Zero, Zero) 58.54/37.22 H(xu167, xu168, cons_new_takeWhile13(Zero, Succ(xu1700))) -> new_takeWhile13(xu167, xu168, Zero, Succ(xu1700)) 58.54/37.22 58.54/37.22 The TRS R consists of the following rules: 58.54/37.22 58.54/37.22 new_primPlusNat(xu168) -> Succ(Succ(new_primPlusNat1(xu168))) 58.54/37.22 new_primPlusInt0(Succ(xu300000)) -> Neg(Succ(xu300000)) 58.54/37.22 new_primPlusNat0 -> Succ(Zero) 58.54/37.22 new_primPlusNat1(Succ(xu1680)) -> Succ(xu1680) 58.54/37.22 new_primPlusInt0(Zero) -> Pos(Zero) 58.54/37.22 new_primPlusNat1(Zero) -> Zero 58.54/37.22 anew_new_takeWhile13(Succ(xu1690), Succ(xu1700)) -> new_new_takeWhile13(xu1690, xu1700) 58.54/37.22 new_new_takeWhile13(Succ(xu1690), Succ(xu1700)) -> new_new_takeWhile13(xu1690, xu1700) 58.54/37.22 new_new_takeWhile13(Zero, Zero) -> cons_new_takeWhile13(Zero, Zero) 58.54/37.22 new_new_takeWhile13(Zero, Succ(xu1700)) -> cons_new_takeWhile13(Zero, Succ(xu1700)) 58.54/37.22 58.54/37.22 Q is empty. 58.54/37.22 We have to consider all (P,Q,R)-chains. 58.54/37.22 ---------------------------------------- 58.54/37.22 58.54/37.22 (39) InductionCalculusProof (EQUIVALENT) 58.54/37.22 Note that final constraints are written in bold face. 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 For Pair new_takeWhile13(xu167, xu168, Zero, Zero) -> new_takeWhile14(xu167, xu168) the following chains were created: 58.54/37.22 *We consider the chain new_takeWhile13(x2, x3, Zero, Zero) -> new_takeWhile14(x2, x3), new_takeWhile14(x4, x5) -> new_takeWhile2(Pos(Succ(x4)), Pos(new_primPlusNat(x5))) which results in the following constraint: 58.54/37.22 58.54/37.22 (1) (new_takeWhile14(x2, x3)=new_takeWhile14(x4, x5) ==> new_takeWhile13(x2, x3, Zero, Zero)_>=_new_takeWhile14(x2, x3)) 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 58.54/37.22 58.54/37.22 (2) (new_takeWhile13(x2, x3, Zero, Zero)_>=_new_takeWhile14(x2, x3)) 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 For Pair new_takeWhile14(xu167, xu168) -> new_takeWhile2(Pos(Succ(xu167)), Pos(new_primPlusNat(xu168))) the following chains were created: 58.54/37.22 *We consider the chain new_takeWhile14(x20, x21) -> new_takeWhile2(Pos(Succ(x20)), Pos(new_primPlusNat(x21))), new_takeWhile2(Pos(Succ(x22)), Pos(Succ(x23))) -> new_takeWhile13(x22, x23, x23, x22) which results in the following constraint: 58.54/37.22 58.54/37.22 (1) (new_takeWhile2(Pos(Succ(x20)), Pos(new_primPlusNat(x21)))=new_takeWhile2(Pos(Succ(x22)), Pos(Succ(x23))) ==> new_takeWhile14(x20, x21)_>=_new_takeWhile2(Pos(Succ(x20)), Pos(new_primPlusNat(x21)))) 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 58.54/37.22 58.54/37.22 (2) (new_primPlusNat(x21)=Succ(x23) ==> new_takeWhile14(x20, x21)_>=_new_takeWhile2(Pos(Succ(x20)), Pos(new_primPlusNat(x21)))) 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primPlusNat(x21)=Succ(x23) which results in the following new constraint: 58.54/37.22 58.54/37.22 (3) (Succ(Succ(new_primPlusNat1(x137)))=Succ(x23) ==> new_takeWhile14(x20, x137)_>=_new_takeWhile2(Pos(Succ(x20)), Pos(new_primPlusNat(x137)))) 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 We simplified constraint (3) using rules (I), (II), (IV) which results in the following new constraint: 58.54/37.22 58.54/37.22 (4) (new_takeWhile14(x20, x137)_>=_new_takeWhile2(Pos(Succ(x20)), Pos(new_primPlusNat(x137)))) 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 *We consider the chain new_takeWhile14(x26, x27) -> new_takeWhile2(Pos(Succ(x26)), Pos(new_primPlusNat(x27))), new_takeWhile2(Pos(Succ(x28)), Pos(Succ(x29))) -> H(x28, x29, anew_new_takeWhile13(x29, x28)) which results in the following constraint: 58.54/37.22 58.54/37.22 (1) (new_takeWhile2(Pos(Succ(x26)), Pos(new_primPlusNat(x27)))=new_takeWhile2(Pos(Succ(x28)), Pos(Succ(x29))) ==> new_takeWhile14(x26, x27)_>=_new_takeWhile2(Pos(Succ(x26)), Pos(new_primPlusNat(x27)))) 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 58.54/37.22 58.54/37.22 (2) (new_primPlusNat(x27)=Succ(x29) ==> new_takeWhile14(x26, x27)_>=_new_takeWhile2(Pos(Succ(x26)), Pos(new_primPlusNat(x27)))) 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primPlusNat(x27)=Succ(x29) which results in the following new constraint: 58.54/37.22 58.54/37.22 (3) (Succ(Succ(new_primPlusNat1(x138)))=Succ(x29) ==> new_takeWhile14(x26, x138)_>=_new_takeWhile2(Pos(Succ(x26)), Pos(new_primPlusNat(x138)))) 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 We simplified constraint (3) using rules (I), (II), (IV) which results in the following new constraint: 58.54/37.22 58.54/37.22 (4) (new_takeWhile14(x26, x138)_>=_new_takeWhile2(Pos(Succ(x26)), Pos(new_primPlusNat(x138)))) 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 For Pair new_takeWhile2(Pos(Succ(xu3100)), Pos(Succ(xu3000))) -> new_takeWhile13(xu3100, xu3000, xu3000, xu3100) the following chains were created: 58.54/37.22 *We consider the chain new_takeWhile2(Pos(Succ(x34)), Pos(Succ(x35))) -> new_takeWhile13(x34, x35, x35, x34), new_takeWhile13(x36, x37, Zero, Zero) -> new_takeWhile14(x36, x37) which results in the following constraint: 58.54/37.22 58.54/37.22 (1) (new_takeWhile13(x34, x35, x35, x34)=new_takeWhile13(x36, x37, Zero, Zero) ==> new_takeWhile2(Pos(Succ(x34)), Pos(Succ(x35)))_>=_new_takeWhile13(x34, x35, x35, x34)) 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 58.54/37.22 58.54/37.22 (2) (new_takeWhile2(Pos(Succ(Zero)), Pos(Succ(Zero)))_>=_new_takeWhile13(Zero, Zero, Zero, Zero)) 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 *We consider the chain new_takeWhile2(Pos(Succ(x42)), Pos(Succ(x43))) -> new_takeWhile13(x42, x43, x43, x42), new_takeWhile13(x44, x45, Zero, Succ(x46)) -> new_takeWhile2(Pos(Succ(x44)), Pos(new_primPlusNat(x45))) which results in the following constraint: 58.54/37.22 58.54/37.22 (1) (new_takeWhile13(x42, x43, x43, x42)=new_takeWhile13(x44, x45, Zero, Succ(x46)) ==> new_takeWhile2(Pos(Succ(x42)), Pos(Succ(x43)))_>=_new_takeWhile13(x42, x43, x43, x42)) 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 58.54/37.22 58.54/37.22 (2) (new_takeWhile2(Pos(Succ(Succ(x46))), Pos(Succ(Zero)))_>=_new_takeWhile13(Succ(x46), Zero, Zero, Succ(x46))) 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 For Pair new_takeWhile13(xu167, xu168, Zero, Succ(xu1700)) -> new_takeWhile2(Pos(Succ(xu167)), Pos(new_primPlusNat(xu168))) the following chains were created: 58.54/37.22 *We consider the chain new_takeWhile13(x59, x60, Zero, Succ(x61)) -> new_takeWhile2(Pos(Succ(x59)), Pos(new_primPlusNat(x60))), new_takeWhile2(Pos(Succ(x62)), Pos(Succ(x63))) -> new_takeWhile13(x62, x63, x63, x62) which results in the following constraint: 58.54/37.22 58.54/37.22 (1) (new_takeWhile2(Pos(Succ(x59)), Pos(new_primPlusNat(x60)))=new_takeWhile2(Pos(Succ(x62)), Pos(Succ(x63))) ==> new_takeWhile13(x59, x60, Zero, Succ(x61))_>=_new_takeWhile2(Pos(Succ(x59)), Pos(new_primPlusNat(x60)))) 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 58.54/37.22 58.54/37.22 (2) (new_primPlusNat(x60)=Succ(x63) ==> new_takeWhile13(x59, x60, Zero, Succ(x61))_>=_new_takeWhile2(Pos(Succ(x59)), Pos(new_primPlusNat(x60)))) 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primPlusNat(x60)=Succ(x63) which results in the following new constraint: 58.54/37.22 58.54/37.22 (3) (Succ(Succ(new_primPlusNat1(x139)))=Succ(x63) ==> new_takeWhile13(x59, x139, Zero, Succ(x61))_>=_new_takeWhile2(Pos(Succ(x59)), Pos(new_primPlusNat(x139)))) 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 We simplified constraint (3) using rules (I), (II), (IV) which results in the following new constraint: 58.54/37.22 58.54/37.22 (4) (new_takeWhile13(x59, x139, Zero, Succ(x61))_>=_new_takeWhile2(Pos(Succ(x59)), Pos(new_primPlusNat(x139)))) 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 *We consider the chain new_takeWhile13(x67, x68, Zero, Succ(x69)) -> new_takeWhile2(Pos(Succ(x67)), Pos(new_primPlusNat(x68))), new_takeWhile2(Pos(Succ(x70)), Pos(Succ(x71))) -> H(x70, x71, anew_new_takeWhile13(x71, x70)) which results in the following constraint: 58.54/37.22 58.54/37.22 (1) (new_takeWhile2(Pos(Succ(x67)), Pos(new_primPlusNat(x68)))=new_takeWhile2(Pos(Succ(x70)), Pos(Succ(x71))) ==> new_takeWhile13(x67, x68, Zero, Succ(x69))_>=_new_takeWhile2(Pos(Succ(x67)), Pos(new_primPlusNat(x68)))) 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 58.54/37.22 58.54/37.22 (2) (new_primPlusNat(x68)=Succ(x71) ==> new_takeWhile13(x67, x68, Zero, Succ(x69))_>=_new_takeWhile2(Pos(Succ(x67)), Pos(new_primPlusNat(x68)))) 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primPlusNat(x68)=Succ(x71) which results in the following new constraint: 58.54/37.22 58.54/37.22 (3) (Succ(Succ(new_primPlusNat1(x140)))=Succ(x71) ==> new_takeWhile13(x67, x140, Zero, Succ(x69))_>=_new_takeWhile2(Pos(Succ(x67)), Pos(new_primPlusNat(x140)))) 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 We simplified constraint (3) using rules (I), (II), (IV) which results in the following new constraint: 58.54/37.22 58.54/37.22 (4) (new_takeWhile13(x67, x140, Zero, Succ(x69))_>=_new_takeWhile2(Pos(Succ(x67)), Pos(new_primPlusNat(x140)))) 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 For Pair new_takeWhile2(Pos(Succ(xu3100)), Pos(Succ(xu3000))) -> H(xu3100, xu3000, anew_new_takeWhile13(xu3000, xu3100)) the following chains were created: 58.54/37.22 *We consider the chain new_takeWhile2(Pos(Succ(x88)), Pos(Succ(x89))) -> H(x88, x89, anew_new_takeWhile13(x89, x88)), H(x90, x91, cons_new_takeWhile13(Zero, Zero)) -> new_takeWhile13(x90, x91, Zero, Zero) which results in the following constraint: 58.54/37.22 58.54/37.22 (1) (H(x88, x89, anew_new_takeWhile13(x89, x88))=H(x90, x91, cons_new_takeWhile13(Zero, Zero)) ==> new_takeWhile2(Pos(Succ(x88)), Pos(Succ(x89)))_>=_H(x88, x89, anew_new_takeWhile13(x89, x88))) 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 58.54/37.22 58.54/37.22 (2) (anew_new_takeWhile13(x89, x88)=cons_new_takeWhile13(Zero, Zero) ==> new_takeWhile2(Pos(Succ(x88)), Pos(Succ(x89)))_>=_H(x88, x89, anew_new_takeWhile13(x89, x88))) 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on anew_new_takeWhile13(x89, x88)=cons_new_takeWhile13(Zero, Zero) which results in the following new constraint: 58.54/37.22 58.54/37.22 (3) (new_new_takeWhile13(x142, x141)=cons_new_takeWhile13(Zero, Zero) ==> new_takeWhile2(Pos(Succ(Succ(x141))), Pos(Succ(Succ(x142))))_>=_H(Succ(x141), Succ(x142), anew_new_takeWhile13(Succ(x142), Succ(x141)))) 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 We simplified constraint (3) using rule (V) (with possible (I) afterwards) using induction on new_new_takeWhile13(x142, x141)=cons_new_takeWhile13(Zero, Zero) which results in the following new constraints: 58.54/37.22 58.54/37.22 (4) (new_new_takeWhile13(x144, x143)=cons_new_takeWhile13(Zero, Zero) & (new_new_takeWhile13(x144, x143)=cons_new_takeWhile13(Zero, Zero) ==> new_takeWhile2(Pos(Succ(Succ(x143))), Pos(Succ(Succ(x144))))_>=_H(Succ(x143), Succ(x144), anew_new_takeWhile13(Succ(x144), Succ(x143)))) ==> new_takeWhile2(Pos(Succ(Succ(Succ(x143)))), Pos(Succ(Succ(Succ(x144)))))_>=_H(Succ(Succ(x143)), Succ(Succ(x144)), anew_new_takeWhile13(Succ(Succ(x144)), Succ(Succ(x143))))) 58.54/37.22 58.54/37.22 (5) (cons_new_takeWhile13(Zero, Zero)=cons_new_takeWhile13(Zero, Zero) ==> new_takeWhile2(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))))_>=_H(Succ(Zero), Succ(Zero), anew_new_takeWhile13(Succ(Zero), Succ(Zero)))) 58.54/37.22 58.54/37.22 (6) (cons_new_takeWhile13(Zero, Succ(x145))=cons_new_takeWhile13(Zero, Zero) ==> new_takeWhile2(Pos(Succ(Succ(Succ(x145)))), Pos(Succ(Succ(Zero))))_>=_H(Succ(Succ(x145)), Succ(Zero), anew_new_takeWhile13(Succ(Zero), Succ(Succ(x145))))) 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 We simplified constraint (4) using rule (VI) where we applied the induction hypothesis (new_new_takeWhile13(x144, x143)=cons_new_takeWhile13(Zero, Zero) ==> new_takeWhile2(Pos(Succ(Succ(x143))), Pos(Succ(Succ(x144))))_>=_H(Succ(x143), Succ(x144), anew_new_takeWhile13(Succ(x144), Succ(x143)))) with sigma = [ ] which results in the following new constraint: 58.54/37.22 58.54/37.22 (7) (new_takeWhile2(Pos(Succ(Succ(x143))), Pos(Succ(Succ(x144))))_>=_H(Succ(x143), Succ(x144), anew_new_takeWhile13(Succ(x144), Succ(x143))) ==> new_takeWhile2(Pos(Succ(Succ(Succ(x143)))), Pos(Succ(Succ(Succ(x144)))))_>=_H(Succ(Succ(x143)), Succ(Succ(x144)), anew_new_takeWhile13(Succ(Succ(x144)), Succ(Succ(x143))))) 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 We simplified constraint (5) using rules (I), (II) which results in the following new constraint: 58.54/37.22 58.54/37.22 (8) (new_takeWhile2(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))))_>=_H(Succ(Zero), Succ(Zero), anew_new_takeWhile13(Succ(Zero), Succ(Zero)))) 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 We solved constraint (6) using rules (I), (II). 58.54/37.22 *We consider the chain new_takeWhile2(Pos(Succ(x92)), Pos(Succ(x93))) -> H(x92, x93, anew_new_takeWhile13(x93, x92)), H(x94, x95, cons_new_takeWhile13(Zero, Succ(x96))) -> new_takeWhile13(x94, x95, Zero, Succ(x96)) which results in the following constraint: 58.54/37.22 58.54/37.22 (1) (H(x92, x93, anew_new_takeWhile13(x93, x92))=H(x94, x95, cons_new_takeWhile13(Zero, Succ(x96))) ==> new_takeWhile2(Pos(Succ(x92)), Pos(Succ(x93)))_>=_H(x92, x93, anew_new_takeWhile13(x93, x92))) 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 58.54/37.22 58.54/37.22 (2) (anew_new_takeWhile13(x93, x92)=cons_new_takeWhile13(Zero, Succ(x96)) ==> new_takeWhile2(Pos(Succ(x92)), Pos(Succ(x93)))_>=_H(x92, x93, anew_new_takeWhile13(x93, x92))) 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on anew_new_takeWhile13(x93, x92)=cons_new_takeWhile13(Zero, Succ(x96)) which results in the following new constraint: 58.54/37.22 58.54/37.22 (3) (new_new_takeWhile13(x147, x146)=cons_new_takeWhile13(Zero, Succ(x96)) ==> new_takeWhile2(Pos(Succ(Succ(x146))), Pos(Succ(Succ(x147))))_>=_H(Succ(x146), Succ(x147), anew_new_takeWhile13(Succ(x147), Succ(x146)))) 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 We simplified constraint (3) using rule (V) (with possible (I) afterwards) using induction on new_new_takeWhile13(x147, x146)=cons_new_takeWhile13(Zero, Succ(x96)) which results in the following new constraints: 58.54/37.22 58.54/37.22 (4) (new_new_takeWhile13(x149, x148)=cons_new_takeWhile13(Zero, Succ(x96)) & (\/x150:new_new_takeWhile13(x149, x148)=cons_new_takeWhile13(Zero, Succ(x150)) ==> new_takeWhile2(Pos(Succ(Succ(x148))), Pos(Succ(Succ(x149))))_>=_H(Succ(x148), Succ(x149), anew_new_takeWhile13(Succ(x149), Succ(x148)))) ==> new_takeWhile2(Pos(Succ(Succ(Succ(x148)))), Pos(Succ(Succ(Succ(x149)))))_>=_H(Succ(Succ(x148)), Succ(Succ(x149)), anew_new_takeWhile13(Succ(Succ(x149)), Succ(Succ(x148))))) 58.54/37.22 58.54/37.22 (5) (cons_new_takeWhile13(Zero, Zero)=cons_new_takeWhile13(Zero, Succ(x96)) ==> new_takeWhile2(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))))_>=_H(Succ(Zero), Succ(Zero), anew_new_takeWhile13(Succ(Zero), Succ(Zero)))) 58.54/37.22 58.54/37.22 (6) (cons_new_takeWhile13(Zero, Succ(x151))=cons_new_takeWhile13(Zero, Succ(x96)) ==> new_takeWhile2(Pos(Succ(Succ(Succ(x151)))), Pos(Succ(Succ(Zero))))_>=_H(Succ(Succ(x151)), Succ(Zero), anew_new_takeWhile13(Succ(Zero), Succ(Succ(x151))))) 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 We simplified constraint (4) using rule (VI) where we applied the induction hypothesis (\/x150:new_new_takeWhile13(x149, x148)=cons_new_takeWhile13(Zero, Succ(x150)) ==> new_takeWhile2(Pos(Succ(Succ(x148))), Pos(Succ(Succ(x149))))_>=_H(Succ(x148), Succ(x149), anew_new_takeWhile13(Succ(x149), Succ(x148)))) with sigma = [x150 / x96] which results in the following new constraint: 58.54/37.22 58.54/37.22 (7) (new_takeWhile2(Pos(Succ(Succ(x148))), Pos(Succ(Succ(x149))))_>=_H(Succ(x148), Succ(x149), anew_new_takeWhile13(Succ(x149), Succ(x148))) ==> new_takeWhile2(Pos(Succ(Succ(Succ(x148)))), Pos(Succ(Succ(Succ(x149)))))_>=_H(Succ(Succ(x148)), Succ(Succ(x149)), anew_new_takeWhile13(Succ(Succ(x149)), Succ(Succ(x148))))) 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 We solved constraint (5) using rules (I), (II).We simplified constraint (6) using rules (I), (II), (IV) which results in the following new constraint: 58.54/37.22 58.54/37.22 (8) (new_takeWhile2(Pos(Succ(Succ(Succ(x151)))), Pos(Succ(Succ(Zero))))_>=_H(Succ(Succ(x151)), Succ(Zero), anew_new_takeWhile13(Succ(Zero), Succ(Succ(x151))))) 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 For Pair H(xu167, xu168, cons_new_takeWhile13(Zero, Zero)) -> new_takeWhile13(xu167, xu168, Zero, Zero) the following chains were created: 58.54/37.22 *We consider the chain H(x97, x98, cons_new_takeWhile13(Zero, Zero)) -> new_takeWhile13(x97, x98, Zero, Zero), new_takeWhile13(x99, x100, Zero, Zero) -> new_takeWhile14(x99, x100) which results in the following constraint: 58.54/37.22 58.54/37.22 (1) (new_takeWhile13(x97, x98, Zero, Zero)=new_takeWhile13(x99, x100, Zero, Zero) ==> H(x97, x98, cons_new_takeWhile13(Zero, Zero))_>=_new_takeWhile13(x97, x98, Zero, Zero)) 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 58.54/37.22 58.54/37.22 (2) (H(x97, x98, cons_new_takeWhile13(Zero, Zero))_>=_new_takeWhile13(x97, x98, Zero, Zero)) 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 For Pair H(xu167, xu168, cons_new_takeWhile13(Zero, Succ(xu1700))) -> new_takeWhile13(xu167, xu168, Zero, Succ(xu1700)) the following chains were created: 58.54/37.22 *We consider the chain H(x122, x123, cons_new_takeWhile13(Zero, Succ(x124))) -> new_takeWhile13(x122, x123, Zero, Succ(x124)), new_takeWhile13(x125, x126, Zero, Succ(x127)) -> new_takeWhile2(Pos(Succ(x125)), Pos(new_primPlusNat(x126))) which results in the following constraint: 58.54/37.22 58.54/37.22 (1) (new_takeWhile13(x122, x123, Zero, Succ(x124))=new_takeWhile13(x125, x126, Zero, Succ(x127)) ==> H(x122, x123, cons_new_takeWhile13(Zero, Succ(x124)))_>=_new_takeWhile13(x122, x123, Zero, Succ(x124))) 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 58.54/37.22 58.54/37.22 (2) (H(x122, x123, cons_new_takeWhile13(Zero, Succ(x124)))_>=_new_takeWhile13(x122, x123, Zero, Succ(x124))) 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 To summarize, we get the following constraints P__>=_ for the following pairs. 58.54/37.22 58.54/37.22 *new_takeWhile13(xu167, xu168, Zero, Zero) -> new_takeWhile14(xu167, xu168) 58.54/37.22 58.54/37.22 *(new_takeWhile13(x2, x3, Zero, Zero)_>=_new_takeWhile14(x2, x3)) 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 *new_takeWhile14(xu167, xu168) -> new_takeWhile2(Pos(Succ(xu167)), Pos(new_primPlusNat(xu168))) 58.54/37.22 58.54/37.22 *(new_takeWhile14(x20, x137)_>=_new_takeWhile2(Pos(Succ(x20)), Pos(new_primPlusNat(x137)))) 58.54/37.22 58.54/37.22 58.54/37.22 *(new_takeWhile14(x26, x138)_>=_new_takeWhile2(Pos(Succ(x26)), Pos(new_primPlusNat(x138)))) 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 *new_takeWhile2(Pos(Succ(xu3100)), Pos(Succ(xu3000))) -> new_takeWhile13(xu3100, xu3000, xu3000, xu3100) 58.54/37.22 58.54/37.22 *(new_takeWhile2(Pos(Succ(Zero)), Pos(Succ(Zero)))_>=_new_takeWhile13(Zero, Zero, Zero, Zero)) 58.54/37.22 58.54/37.22 58.54/37.22 *(new_takeWhile2(Pos(Succ(Succ(x46))), Pos(Succ(Zero)))_>=_new_takeWhile13(Succ(x46), Zero, Zero, Succ(x46))) 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 *new_takeWhile13(xu167, xu168, Zero, Succ(xu1700)) -> new_takeWhile2(Pos(Succ(xu167)), Pos(new_primPlusNat(xu168))) 58.54/37.22 58.54/37.22 *(new_takeWhile13(x59, x139, Zero, Succ(x61))_>=_new_takeWhile2(Pos(Succ(x59)), Pos(new_primPlusNat(x139)))) 58.54/37.22 58.54/37.22 58.54/37.22 *(new_takeWhile13(x67, x140, Zero, Succ(x69))_>=_new_takeWhile2(Pos(Succ(x67)), Pos(new_primPlusNat(x140)))) 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 *new_takeWhile2(Pos(Succ(xu3100)), Pos(Succ(xu3000))) -> H(xu3100, xu3000, anew_new_takeWhile13(xu3000, xu3100)) 58.54/37.22 58.54/37.22 *(new_takeWhile2(Pos(Succ(Succ(x143))), Pos(Succ(Succ(x144))))_>=_H(Succ(x143), Succ(x144), anew_new_takeWhile13(Succ(x144), Succ(x143))) ==> new_takeWhile2(Pos(Succ(Succ(Succ(x143)))), Pos(Succ(Succ(Succ(x144)))))_>=_H(Succ(Succ(x143)), Succ(Succ(x144)), anew_new_takeWhile13(Succ(Succ(x144)), Succ(Succ(x143))))) 58.54/37.22 58.54/37.22 58.54/37.22 *(new_takeWhile2(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))))_>=_H(Succ(Zero), Succ(Zero), anew_new_takeWhile13(Succ(Zero), Succ(Zero)))) 58.54/37.22 58.54/37.22 58.54/37.22 *(new_takeWhile2(Pos(Succ(Succ(x148))), Pos(Succ(Succ(x149))))_>=_H(Succ(x148), Succ(x149), anew_new_takeWhile13(Succ(x149), Succ(x148))) ==> new_takeWhile2(Pos(Succ(Succ(Succ(x148)))), Pos(Succ(Succ(Succ(x149)))))_>=_H(Succ(Succ(x148)), Succ(Succ(x149)), anew_new_takeWhile13(Succ(Succ(x149)), Succ(Succ(x148))))) 58.54/37.22 58.54/37.22 58.54/37.22 *(new_takeWhile2(Pos(Succ(Succ(Succ(x151)))), Pos(Succ(Succ(Zero))))_>=_H(Succ(Succ(x151)), Succ(Zero), anew_new_takeWhile13(Succ(Zero), Succ(Succ(x151))))) 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 *H(xu167, xu168, cons_new_takeWhile13(Zero, Zero)) -> new_takeWhile13(xu167, xu168, Zero, Zero) 58.54/37.22 58.54/37.22 *(H(x97, x98, cons_new_takeWhile13(Zero, Zero))_>=_new_takeWhile13(x97, x98, Zero, Zero)) 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 *H(xu167, xu168, cons_new_takeWhile13(Zero, Succ(xu1700))) -> new_takeWhile13(xu167, xu168, Zero, Succ(xu1700)) 58.54/37.22 58.54/37.22 *(H(x122, x123, cons_new_takeWhile13(Zero, Succ(x124)))_>=_new_takeWhile13(x122, x123, Zero, Succ(x124))) 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 The constraints for P_> respective P_bound are constructed from P__>=_ where we just replace every occurence of "t _>=_ s" in P__>=_ by "t > s" respective "t _>=_ c". Here c stands for the fresh constant used for P_bound. 58.54/37.22 ---------------------------------------- 58.54/37.22 58.54/37.22 (40) 58.54/37.22 Obligation: 58.54/37.22 Q DP problem: 58.54/37.22 The TRS P consists of the following rules: 58.54/37.22 58.54/37.22 new_takeWhile13(xu167, xu168, Zero, Zero) -> new_takeWhile14(xu167, xu168) 58.54/37.22 new_takeWhile14(xu167, xu168) -> new_takeWhile2(Pos(Succ(xu167)), Pos(new_primPlusNat(xu168))) 58.54/37.22 new_takeWhile2(Pos(Succ(xu3100)), Pos(Succ(xu3000))) -> new_takeWhile13(xu3100, xu3000, xu3000, xu3100) 58.54/37.22 new_takeWhile13(xu167, xu168, Zero, Succ(xu1700)) -> new_takeWhile2(Pos(Succ(xu167)), Pos(new_primPlusNat(xu168))) 58.54/37.22 new_takeWhile2(Pos(Succ(xu3100)), Pos(Succ(xu3000))) -> H(xu3100, xu3000, anew_new_takeWhile13(xu3000, xu3100)) 58.54/37.22 H(xu167, xu168, cons_new_takeWhile13(Zero, Zero)) -> new_takeWhile13(xu167, xu168, Zero, Zero) 58.54/37.22 H(xu167, xu168, cons_new_takeWhile13(Zero, Succ(xu1700))) -> new_takeWhile13(xu167, xu168, Zero, Succ(xu1700)) 58.54/37.22 58.54/37.22 The TRS R consists of the following rules: 58.54/37.22 58.54/37.22 new_primPlusNat(xu168) -> Succ(Succ(new_primPlusNat1(xu168))) 58.54/37.22 new_primPlusInt0(Succ(xu300000)) -> Neg(Succ(xu300000)) 58.54/37.22 new_primPlusNat0 -> Succ(Zero) 58.54/37.22 new_primPlusNat1(Succ(xu1680)) -> Succ(xu1680) 58.54/37.22 new_primPlusInt0(Zero) -> Pos(Zero) 58.54/37.22 new_primPlusNat1(Zero) -> Zero 58.54/37.22 anew_new_takeWhile13(Succ(xu1690), Succ(xu1700)) -> new_new_takeWhile13(xu1690, xu1700) 58.54/37.22 new_new_takeWhile13(Succ(xu1690), Succ(xu1700)) -> new_new_takeWhile13(xu1690, xu1700) 58.54/37.22 new_new_takeWhile13(Zero, Zero) -> cons_new_takeWhile13(Zero, Zero) 58.54/37.22 new_new_takeWhile13(Zero, Succ(xu1700)) -> cons_new_takeWhile13(Zero, Succ(xu1700)) 58.54/37.22 58.54/37.22 The set Q consists of the following terms: 58.54/37.22 58.54/37.22 new_primPlusInt0(Succ(x0)) 58.54/37.22 new_primPlusInt0(Zero) 58.54/37.22 new_primPlusNat0 58.54/37.22 new_primPlusNat(x0) 58.54/37.22 new_primPlusNat1(Zero) 58.54/37.22 new_primPlusNat1(Succ(x0)) 58.54/37.22 new_new_takeWhile13(Succ(x0), Succ(x1)) 58.54/37.22 anew_new_takeWhile13(Succ(x0), Succ(x1)) 58.54/37.22 new_new_takeWhile13(Zero, Zero) 58.54/37.22 new_new_takeWhile13(Zero, Succ(x0)) 58.54/37.22 58.54/37.22 We have to consider all minimal (P,Q,R)-chains. 58.54/37.22 ---------------------------------------- 58.54/37.22 58.54/37.22 (41) 58.54/37.22 Obligation: 58.54/37.22 Q DP problem: 58.54/37.22 The TRS P consists of the following rules: 58.54/37.22 58.54/37.22 new_takeWhile13(xu167, xu168, Succ(xu1690), Succ(xu1700)) -> new_takeWhile13(xu167, xu168, xu1690, xu1700) 58.54/37.22 58.54/37.22 R is empty. 58.54/37.22 Q is empty. 58.54/37.22 We have to consider all minimal (P,Q,R)-chains. 58.54/37.22 ---------------------------------------- 58.54/37.22 58.54/37.22 (42) QDPSizeChangeProof (EQUIVALENT) 58.54/37.22 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. 58.54/37.22 58.54/37.22 From the DPs we obtained the following set of size-change graphs: 58.54/37.22 *new_takeWhile13(xu167, xu168, Succ(xu1690), Succ(xu1700)) -> new_takeWhile13(xu167, xu168, xu1690, xu1700) 58.54/37.22 The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3, 4 > 4 58.54/37.22 58.54/37.22 58.54/37.22 ---------------------------------------- 58.54/37.22 58.54/37.22 (43) 58.54/37.22 YES 58.54/37.22 58.54/37.22 ---------------------------------------- 58.54/37.22 58.54/37.22 (44) 58.54/37.22 Obligation: 58.54/37.22 Q DP problem: 58.54/37.22 The TRS P consists of the following rules: 58.54/37.22 58.54/37.22 new_takeWhile2(Pos(xu310), Neg(Succ(Succ(xu30000)))) -> new_takeWhile2(Pos(xu310), Neg(Succ(xu30000))) 58.54/37.22 58.54/37.22 The TRS R consists of the following rules: 58.54/37.22 58.54/37.22 new_primPlusNat(xu168) -> Succ(Succ(new_primPlusNat1(xu168))) 58.54/37.22 new_primPlusInt0(Succ(xu300000)) -> Neg(Succ(xu300000)) 58.54/37.22 new_primPlusNat0 -> Succ(Zero) 58.54/37.22 new_primPlusNat1(Succ(xu1680)) -> Succ(xu1680) 58.54/37.22 new_primPlusInt0(Zero) -> Pos(Zero) 58.54/37.22 new_primPlusNat1(Zero) -> Zero 58.54/37.22 58.54/37.22 The set Q consists of the following terms: 58.54/37.22 58.54/37.22 new_primPlusInt0(Succ(x0)) 58.54/37.22 new_primPlusInt0(Zero) 58.54/37.22 new_primPlusNat0 58.54/37.22 new_primPlusNat(x0) 58.54/37.22 new_primPlusNat1(Zero) 58.54/37.22 new_primPlusNat1(Succ(x0)) 58.54/37.22 58.54/37.22 We have to consider all minimal (P,Q,R)-chains. 58.54/37.22 ---------------------------------------- 58.54/37.22 58.54/37.22 (45) QDPSizeChangeProof (EQUIVALENT) 58.54/37.22 We used the following order and afs together with the size-change analysis [AAECC05] to show that there are no infinite chains for this DP problem. 58.54/37.22 58.54/37.22 Order:EMB rules! 58.54/37.22 58.54/37.22 AFS: 58.54/37.22 Neg(x1) = x1 58.54/37.22 58.54/37.22 Pos(x1) = Pos 58.54/37.22 58.54/37.22 Succ(x1) = Succ(x1) 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 From the DPs we obtained the following set of size-change graphs: 58.54/37.22 *new_takeWhile2(Pos(xu310), Neg(Succ(Succ(xu30000)))) -> new_takeWhile2(Pos(xu310), Neg(Succ(xu30000))) (allowed arguments on rhs = {1, 2}) 58.54/37.22 The graph contains the following edges 1 >= 1, 2 > 2 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 We oriented the following set of usable rules [AAECC05,FROCOS05]. 58.54/37.22 none 58.54/37.22 58.54/37.22 ---------------------------------------- 58.54/37.22 58.54/37.22 (46) 58.54/37.22 YES 58.54/37.22 58.54/37.22 ---------------------------------------- 58.54/37.22 58.54/37.22 (47) 58.54/37.22 Obligation: 58.54/37.22 Q DP problem: 58.54/37.22 The TRS P consists of the following rules: 58.54/37.22 58.54/37.22 new_takeWhile15(xu195, xu196, xu197, Zero, Zero) -> new_takeWhile16(xu195, xu196, xu197) 58.54/37.22 new_takeWhile16(xu195, xu196, xu197) -> new_takeWhile2(Neg(Succ(xu195)), xu197) 58.54/37.22 new_takeWhile2(Neg(Succ(xu3100)), Neg(Succ(xu3000))) -> new_takeWhile15(xu3100, xu3000, new_primPlusInt0(xu3000), xu3100, xu3000) 58.54/37.22 new_takeWhile15(xu195, xu196, xu197, Succ(xu1980), Succ(xu1990)) -> new_takeWhile15(xu195, xu196, xu197, xu1980, xu1990) 58.54/37.22 new_takeWhile15(xu195, xu196, xu197, Zero, Succ(xu1990)) -> new_takeWhile2(Neg(Succ(xu195)), xu197) 58.54/37.22 58.54/37.22 The TRS R consists of the following rules: 58.54/37.22 58.54/37.22 new_primPlusNat(xu168) -> Succ(Succ(new_primPlusNat1(xu168))) 58.54/37.22 new_primPlusInt0(Succ(xu300000)) -> Neg(Succ(xu300000)) 58.54/37.22 new_primPlusNat0 -> Succ(Zero) 58.54/37.22 new_primPlusNat1(Succ(xu1680)) -> Succ(xu1680) 58.54/37.22 new_primPlusInt0(Zero) -> Pos(Zero) 58.54/37.22 new_primPlusNat1(Zero) -> Zero 58.54/37.22 58.54/37.22 The set Q consists of the following terms: 58.54/37.22 58.54/37.22 new_primPlusInt0(Succ(x0)) 58.54/37.22 new_primPlusInt0(Zero) 58.54/37.22 new_primPlusNat0 58.54/37.22 new_primPlusNat(x0) 58.54/37.22 new_primPlusNat1(Zero) 58.54/37.22 new_primPlusNat1(Succ(x0)) 58.54/37.22 58.54/37.22 We have to consider all minimal (P,Q,R)-chains. 58.54/37.22 ---------------------------------------- 58.54/37.22 58.54/37.22 (48) QDPSizeChangeProof (EQUIVALENT) 58.54/37.22 We used the following order together with the size-change analysis [AAECC05] to show that there are no infinite chains for this DP problem. 58.54/37.22 58.54/37.22 Order:Polynomial interpretation [POLO]: 58.54/37.22 58.54/37.22 POL(Neg(x_1)) = x_1 58.54/37.22 POL(Pos(x_1)) = 0 58.54/37.22 POL(Succ(x_1)) = 1 + x_1 58.54/37.22 POL(Zero) = 1 58.54/37.22 POL(new_primPlusInt0(x_1)) = x_1 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 From the DPs we obtained the following set of size-change graphs: 58.54/37.22 *new_takeWhile16(xu195, xu196, xu197) -> new_takeWhile2(Neg(Succ(xu195)), xu197) (allowed arguments on rhs = {1, 2}) 58.54/37.22 The graph contains the following edges 3 >= 2 58.54/37.22 58.54/37.22 58.54/37.22 *new_takeWhile2(Neg(Succ(xu3100)), Neg(Succ(xu3000))) -> new_takeWhile15(xu3100, xu3000, new_primPlusInt0(xu3000), xu3100, xu3000) (allowed arguments on rhs = {1, 2, 3, 4, 5}) 58.54/37.22 The graph contains the following edges 1 > 1, 2 > 2, 2 > 3, 1 > 4, 2 > 5 58.54/37.22 58.54/37.22 58.54/37.22 *new_takeWhile15(xu195, xu196, xu197, Succ(xu1980), Succ(xu1990)) -> new_takeWhile15(xu195, xu196, xu197, xu1980, xu1990) (allowed arguments on rhs = {1, 2, 3, 4, 5}) 58.54/37.22 The graph contains the following edges 1 >= 1, 2 >= 2, 3 >= 3, 4 > 4, 5 > 5 58.54/37.22 58.54/37.22 58.54/37.22 *new_takeWhile15(xu195, xu196, xu197, Zero, Zero) -> new_takeWhile16(xu195, xu196, xu197) (allowed arguments on rhs = {1, 2, 3}) 58.54/37.22 The graph contains the following edges 1 >= 1, 2 >= 2, 3 >= 3 58.54/37.22 58.54/37.22 58.54/37.22 *new_takeWhile15(xu195, xu196, xu197, Zero, Succ(xu1990)) -> new_takeWhile2(Neg(Succ(xu195)), xu197) (allowed arguments on rhs = {1, 2}) 58.54/37.22 The graph contains the following edges 3 >= 2 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 We oriented the following set of usable rules [AAECC05,FROCOS05]. 58.54/37.22 58.54/37.22 new_primPlusInt0(Zero) -> Pos(Zero) 58.54/37.22 new_primPlusInt0(Succ(xu300000)) -> Neg(Succ(xu300000)) 58.54/37.22 58.54/37.22 ---------------------------------------- 58.54/37.22 58.54/37.22 (49) 58.54/37.22 YES 58.54/37.22 58.54/37.22 ---------------------------------------- 58.54/37.22 58.54/37.22 (50) 58.54/37.22 Obligation: 58.54/37.22 Q DP problem: 58.54/37.22 The TRS P consists of the following rules: 58.54/37.22 58.54/37.22 new_takeWhile2(Neg(Zero), Neg(Succ(Succ(xu30000)))) -> new_takeWhile2(Neg(Zero), Neg(Succ(xu30000))) 58.54/37.22 58.54/37.22 The TRS R consists of the following rules: 58.54/37.22 58.54/37.22 new_primPlusNat(xu168) -> Succ(Succ(new_primPlusNat1(xu168))) 58.54/37.22 new_primPlusInt0(Succ(xu300000)) -> Neg(Succ(xu300000)) 58.54/37.22 new_primPlusNat0 -> Succ(Zero) 58.54/37.22 new_primPlusNat1(Succ(xu1680)) -> Succ(xu1680) 58.54/37.22 new_primPlusInt0(Zero) -> Pos(Zero) 58.54/37.22 new_primPlusNat1(Zero) -> Zero 58.54/37.22 58.54/37.22 The set Q consists of the following terms: 58.54/37.22 58.54/37.22 new_primPlusInt0(Succ(x0)) 58.54/37.22 new_primPlusInt0(Zero) 58.54/37.22 new_primPlusNat0 58.54/37.22 new_primPlusNat(x0) 58.54/37.22 new_primPlusNat1(Zero) 58.54/37.22 new_primPlusNat1(Succ(x0)) 58.54/37.22 58.54/37.22 We have to consider all minimal (P,Q,R)-chains. 58.54/37.22 ---------------------------------------- 58.54/37.22 58.54/37.22 (51) QDPSizeChangeProof (EQUIVALENT) 58.54/37.22 We used the following order and afs together with the size-change analysis [AAECC05] to show that there are no infinite chains for this DP problem. 58.54/37.22 58.54/37.22 Order:EMB rules! 58.54/37.22 58.54/37.22 AFS: 58.54/37.22 Zero = Zero 58.54/37.22 58.54/37.22 Neg(x1) = x1 58.54/37.22 58.54/37.22 Succ(x1) = Succ(x1) 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 From the DPs we obtained the following set of size-change graphs: 58.54/37.22 *new_takeWhile2(Neg(Zero), Neg(Succ(Succ(xu30000)))) -> new_takeWhile2(Neg(Zero), Neg(Succ(xu30000))) (allowed arguments on rhs = {1, 2}) 58.54/37.22 The graph contains the following edges 1 >= 1, 2 > 2 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 We oriented the following set of usable rules [AAECC05,FROCOS05]. 58.54/37.22 none 58.54/37.22 58.54/37.22 ---------------------------------------- 58.54/37.22 58.54/37.22 (52) 58.54/37.22 YES 58.54/37.22 58.54/37.22 ---------------------------------------- 58.54/37.22 58.54/37.22 (53) 58.54/37.22 Obligation: 58.54/37.22 Q DP problem: 58.54/37.22 The TRS P consists of the following rules: 58.54/37.22 58.54/37.22 new_takeWhile1(xu201, xu202, Succ(xu2030), Succ(xu2040)) -> new_takeWhile1(xu201, xu202, xu2030, xu2040) 58.54/37.22 new_takeWhile1(xu201, xu202, Zero, Succ(xu2040)) -> new_takeWhile(Integer(Pos(Succ(xu201))), Integer(Pos(new_primPlusNat(xu202)))) 58.54/37.22 new_takeWhile10(xu206, xu207, Succ(xu2080), Succ(xu2090)) -> new_takeWhile10(xu206, xu207, xu2080, xu2090) 58.54/37.22 new_takeWhile(Integer(Pos(Succ(xu31000))), Integer(Pos(Succ(xu30000)))) -> new_takeWhile1(xu31000, xu30000, xu30000, xu31000) 58.54/37.22 new_takeWhile11(xu201, xu202) -> new_takeWhile(Integer(Pos(Succ(xu201))), Integer(Pos(new_primPlusNat(xu202)))) 58.54/37.22 new_takeWhile(Integer(Pos(Succ(xu31000))), Integer(Pos(Zero))) -> new_takeWhile(Integer(Pos(Succ(xu31000))), Integer(new_primPlusInt)) 58.54/37.22 new_takeWhile(Integer(Pos(Zero)), Integer(Neg(Zero))) -> new_takeWhile(Integer(Pos(Zero)), Integer(new_primPlusInt1)) 58.54/37.22 new_takeWhile(Integer(Pos(xu3100)), Integer(Neg(Succ(xu30000)))) -> new_takeWhile(Integer(Pos(xu3100)), Integer(new_primPlusInt0(xu30000))) 58.54/37.22 new_takeWhile(Integer(Neg(Zero)), Integer(Neg(Succ(xu30000)))) -> new_takeWhile(Integer(Neg(Zero)), Integer(new_primPlusInt0(xu30000))) 58.54/37.22 new_takeWhile(Integer(Pos(Succ(xu31000))), Integer(Neg(Zero))) -> new_takeWhile(Integer(Pos(Succ(xu31000))), Integer(new_primPlusInt1)) 58.54/37.22 new_takeWhile(Integer(Neg(Zero)), Integer(Pos(Zero))) -> new_takeWhile(Integer(Neg(Zero)), Integer(new_primPlusInt)) 58.54/37.22 new_takeWhile(Integer(Pos(Zero)), Integer(Pos(Zero))) -> new_takeWhile(Integer(Pos(Zero)), Integer(new_primPlusInt)) 58.54/37.22 new_takeWhile1(xu201, xu202, Zero, Zero) -> new_takeWhile11(xu201, xu202) 58.54/37.22 new_takeWhile10(xu206, xu207, Zero, Succ(xu2090)) -> new_takeWhile0(xu206, new_primPlusInt0(xu207), new_primPlusInt0(xu207)) 58.54/37.22 new_takeWhile10(xu206, xu207, Zero, Zero) -> new_takeWhile12(xu206, xu207) 58.54/37.22 new_takeWhile0(xu206, xu211, xu210) -> new_takeWhile(Integer(Neg(Succ(xu206))), Integer(xu210)) 58.54/37.22 new_takeWhile12(xu206, xu207) -> new_takeWhile0(xu206, new_primPlusInt0(xu207), new_primPlusInt0(xu207)) 58.54/37.22 new_takeWhile(Integer(Neg(Succ(xu31000))), Integer(Neg(Succ(xu30000)))) -> new_takeWhile10(xu31000, xu30000, xu31000, xu30000) 58.54/37.22 new_takeWhile(Integer(Neg(Zero)), Integer(Neg(Zero))) -> new_takeWhile(Integer(Neg(Zero)), Integer(new_primPlusInt1)) 58.54/37.22 58.54/37.22 The TRS R consists of the following rules: 58.54/37.22 58.54/37.22 new_primPlusNat(xu168) -> Succ(Succ(new_primPlusNat1(xu168))) 58.54/37.22 new_primPlusInt1 -> Pos(Succ(Zero)) 58.54/37.22 new_primPlusInt -> Pos(new_primPlusNat0) 58.54/37.22 new_primPlusInt0(Succ(xu300000)) -> Neg(Succ(xu300000)) 58.54/37.22 new_primPlusNat0 -> Succ(Zero) 58.54/37.22 new_primPlusNat1(Succ(xu1680)) -> Succ(xu1680) 58.54/37.22 new_primPlusInt0(Zero) -> Pos(Zero) 58.54/37.22 new_primPlusNat1(Zero) -> Zero 58.54/37.22 58.54/37.22 The set Q consists of the following terms: 58.54/37.22 58.54/37.22 new_primPlusInt0(Succ(x0)) 58.54/37.22 new_primPlusInt0(Zero) 58.54/37.22 new_primPlusNat0 58.54/37.22 new_primPlusInt1 58.54/37.22 new_primPlusInt 58.54/37.22 new_primPlusNat(x0) 58.54/37.22 new_primPlusNat1(Zero) 58.54/37.22 new_primPlusNat1(Succ(x0)) 58.54/37.22 58.54/37.22 We have to consider all minimal (P,Q,R)-chains. 58.54/37.22 ---------------------------------------- 58.54/37.22 58.54/37.22 (54) DependencyGraphProof (EQUIVALENT) 58.54/37.22 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 4 SCCs with 5 less nodes. 58.54/37.22 ---------------------------------------- 58.54/37.22 58.54/37.22 (55) 58.54/37.22 Complex Obligation (AND) 58.54/37.22 58.54/37.22 ---------------------------------------- 58.54/37.22 58.54/37.22 (56) 58.54/37.22 Obligation: 58.54/37.22 Q DP problem: 58.54/37.22 The TRS P consists of the following rules: 58.54/37.22 58.54/37.22 new_takeWhile(Integer(Neg(Zero)), Integer(Neg(Succ(xu30000)))) -> new_takeWhile(Integer(Neg(Zero)), Integer(new_primPlusInt0(xu30000))) 58.54/37.22 58.54/37.22 The TRS R consists of the following rules: 58.54/37.22 58.54/37.22 new_primPlusNat(xu168) -> Succ(Succ(new_primPlusNat1(xu168))) 58.54/37.22 new_primPlusInt1 -> Pos(Succ(Zero)) 58.54/37.22 new_primPlusInt -> Pos(new_primPlusNat0) 58.54/37.22 new_primPlusInt0(Succ(xu300000)) -> Neg(Succ(xu300000)) 58.54/37.22 new_primPlusNat0 -> Succ(Zero) 58.54/37.22 new_primPlusNat1(Succ(xu1680)) -> Succ(xu1680) 58.54/37.22 new_primPlusInt0(Zero) -> Pos(Zero) 58.54/37.22 new_primPlusNat1(Zero) -> Zero 58.54/37.22 58.54/37.22 The set Q consists of the following terms: 58.54/37.22 58.54/37.22 new_primPlusInt0(Succ(x0)) 58.54/37.22 new_primPlusInt0(Zero) 58.54/37.22 new_primPlusNat0 58.54/37.22 new_primPlusInt1 58.54/37.22 new_primPlusInt 58.54/37.22 new_primPlusNat(x0) 58.54/37.22 new_primPlusNat1(Zero) 58.54/37.22 new_primPlusNat1(Succ(x0)) 58.54/37.22 58.54/37.22 We have to consider all minimal (P,Q,R)-chains. 58.54/37.22 ---------------------------------------- 58.54/37.22 58.54/37.22 (57) QDPSizeChangeProof (EQUIVALENT) 58.54/37.22 We used the following order together with the size-change analysis [AAECC05] to show that there are no infinite chains for this DP problem. 58.54/37.22 58.54/37.22 Order:Polynomial interpretation [POLO]: 58.54/37.22 58.54/37.22 POL(Integer(x_1)) = x_1 58.54/37.22 POL(Neg(x_1)) = x_1 58.54/37.22 POL(Pos(x_1)) = 0 58.54/37.22 POL(Succ(x_1)) = 1 + x_1 58.54/37.22 POL(Zero) = 1 58.54/37.22 POL(new_primPlusInt0(x_1)) = x_1 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 From the DPs we obtained the following set of size-change graphs: 58.54/37.22 *new_takeWhile(Integer(Neg(Zero)), Integer(Neg(Succ(xu30000)))) -> new_takeWhile(Integer(Neg(Zero)), Integer(new_primPlusInt0(xu30000))) (allowed arguments on rhs = {1, 2}) 58.54/37.22 The graph contains the following edges 1 >= 1, 2 > 2 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 We oriented the following set of usable rules [AAECC05,FROCOS05]. 58.54/37.22 58.54/37.22 new_primPlusInt0(Zero) -> Pos(Zero) 58.54/37.22 new_primPlusInt0(Succ(xu300000)) -> Neg(Succ(xu300000)) 58.54/37.22 58.54/37.22 ---------------------------------------- 58.54/37.22 58.54/37.22 (58) 58.54/37.22 YES 58.54/37.22 58.54/37.22 ---------------------------------------- 58.54/37.22 58.54/37.22 (59) 58.54/37.22 Obligation: 58.54/37.22 Q DP problem: 58.54/37.22 The TRS P consists of the following rules: 58.54/37.22 58.54/37.22 new_takeWhile10(xu206, xu207, Zero, Succ(xu2090)) -> new_takeWhile0(xu206, new_primPlusInt0(xu207), new_primPlusInt0(xu207)) 58.54/37.22 new_takeWhile0(xu206, xu211, xu210) -> new_takeWhile(Integer(Neg(Succ(xu206))), Integer(xu210)) 58.54/37.22 new_takeWhile(Integer(Neg(Succ(xu31000))), Integer(Neg(Succ(xu30000)))) -> new_takeWhile10(xu31000, xu30000, xu31000, xu30000) 58.54/37.22 new_takeWhile10(xu206, xu207, Succ(xu2080), Succ(xu2090)) -> new_takeWhile10(xu206, xu207, xu2080, xu2090) 58.54/37.22 new_takeWhile10(xu206, xu207, Zero, Zero) -> new_takeWhile12(xu206, xu207) 58.54/37.22 new_takeWhile12(xu206, xu207) -> new_takeWhile0(xu206, new_primPlusInt0(xu207), new_primPlusInt0(xu207)) 58.54/37.22 58.54/37.22 The TRS R consists of the following rules: 58.54/37.22 58.54/37.22 new_primPlusNat(xu168) -> Succ(Succ(new_primPlusNat1(xu168))) 58.54/37.22 new_primPlusInt1 -> Pos(Succ(Zero)) 58.54/37.22 new_primPlusInt -> Pos(new_primPlusNat0) 58.54/37.22 new_primPlusInt0(Succ(xu300000)) -> Neg(Succ(xu300000)) 58.54/37.22 new_primPlusNat0 -> Succ(Zero) 58.54/37.22 new_primPlusNat1(Succ(xu1680)) -> Succ(xu1680) 58.54/37.22 new_primPlusInt0(Zero) -> Pos(Zero) 58.54/37.22 new_primPlusNat1(Zero) -> Zero 58.54/37.22 58.54/37.22 The set Q consists of the following terms: 58.54/37.22 58.54/37.22 new_primPlusInt0(Succ(x0)) 58.54/37.22 new_primPlusInt0(Zero) 58.54/37.22 new_primPlusNat0 58.54/37.22 new_primPlusInt1 58.54/37.22 new_primPlusInt 58.54/37.22 new_primPlusNat(x0) 58.54/37.22 new_primPlusNat1(Zero) 58.54/37.22 new_primPlusNat1(Succ(x0)) 58.54/37.22 58.54/37.22 We have to consider all minimal (P,Q,R)-chains. 58.54/37.22 ---------------------------------------- 58.54/37.22 58.54/37.22 (60) QDPSizeChangeProof (EQUIVALENT) 58.54/37.22 We used the following order together with the size-change analysis [AAECC05] to show that there are no infinite chains for this DP problem. 58.54/37.22 58.54/37.22 Order:Polynomial interpretation [POLO]: 58.54/37.22 58.54/37.22 POL(Integer(x_1)) = x_1 58.54/37.22 POL(Neg(x_1)) = x_1 58.54/37.22 POL(Pos(x_1)) = 0 58.54/37.22 POL(Succ(x_1)) = 1 + x_1 58.54/37.22 POL(Zero) = 1 58.54/37.22 POL(new_primPlusInt0(x_1)) = x_1 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 From the DPs we obtained the following set of size-change graphs: 58.54/37.22 *new_takeWhile0(xu206, xu211, xu210) -> new_takeWhile(Integer(Neg(Succ(xu206))), Integer(xu210)) (allowed arguments on rhs = {1, 2}) 58.54/37.22 The graph contains the following edges 3 >= 2 58.54/37.22 58.54/37.22 58.54/37.22 *new_takeWhile(Integer(Neg(Succ(xu31000))), Integer(Neg(Succ(xu30000)))) -> new_takeWhile10(xu31000, xu30000, xu31000, xu30000) (allowed arguments on rhs = {1, 2, 3, 4}) 58.54/37.22 The graph contains the following edges 1 > 1, 2 > 2, 1 > 3, 2 > 4 58.54/37.22 58.54/37.22 58.54/37.22 *new_takeWhile10(xu206, xu207, Succ(xu2080), Succ(xu2090)) -> new_takeWhile10(xu206, xu207, xu2080, xu2090) (allowed arguments on rhs = {1, 2, 3, 4}) 58.54/37.22 The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3, 4 > 4 58.54/37.22 58.54/37.22 58.54/37.22 *new_takeWhile10(xu206, xu207, Zero, Zero) -> new_takeWhile12(xu206, xu207) (allowed arguments on rhs = {1, 2}) 58.54/37.22 The graph contains the following edges 1 >= 1, 2 >= 2 58.54/37.22 58.54/37.22 58.54/37.22 *new_takeWhile10(xu206, xu207, Zero, Succ(xu2090)) -> new_takeWhile0(xu206, new_primPlusInt0(xu207), new_primPlusInt0(xu207)) (allowed arguments on rhs = {1, 2, 3}) 58.54/37.22 The graph contains the following edges 1 >= 1, 2 >= 2, 2 >= 3 58.54/37.22 58.54/37.22 58.54/37.22 *new_takeWhile12(xu206, xu207) -> new_takeWhile0(xu206, new_primPlusInt0(xu207), new_primPlusInt0(xu207)) (allowed arguments on rhs = {1, 2, 3}) 58.54/37.22 The graph contains the following edges 1 >= 1, 2 >= 2, 2 >= 3 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 We oriented the following set of usable rules [AAECC05,FROCOS05]. 58.54/37.22 58.54/37.22 new_primPlusInt0(Zero) -> Pos(Zero) 58.54/37.22 new_primPlusInt0(Succ(xu300000)) -> Neg(Succ(xu300000)) 58.54/37.22 58.54/37.22 ---------------------------------------- 58.54/37.22 58.54/37.22 (61) 58.54/37.22 YES 58.54/37.22 58.54/37.22 ---------------------------------------- 58.54/37.22 58.54/37.22 (62) 58.54/37.22 Obligation: 58.54/37.22 Q DP problem: 58.54/37.22 The TRS P consists of the following rules: 58.54/37.22 58.54/37.22 new_takeWhile1(xu201, xu202, Zero, Succ(xu2040)) -> new_takeWhile(Integer(Pos(Succ(xu201))), Integer(Pos(new_primPlusNat(xu202)))) 58.54/37.22 new_takeWhile(Integer(Pos(Succ(xu31000))), Integer(Pos(Succ(xu30000)))) -> new_takeWhile1(xu31000, xu30000, xu30000, xu31000) 58.54/37.22 new_takeWhile1(xu201, xu202, Succ(xu2030), Succ(xu2040)) -> new_takeWhile1(xu201, xu202, xu2030, xu2040) 58.54/37.22 new_takeWhile1(xu201, xu202, Zero, Zero) -> new_takeWhile11(xu201, xu202) 58.54/37.22 new_takeWhile11(xu201, xu202) -> new_takeWhile(Integer(Pos(Succ(xu201))), Integer(Pos(new_primPlusNat(xu202)))) 58.54/37.22 new_takeWhile(Integer(Pos(Succ(xu31000))), Integer(Pos(Zero))) -> new_takeWhile(Integer(Pos(Succ(xu31000))), Integer(new_primPlusInt)) 58.54/37.22 58.54/37.22 The TRS R consists of the following rules: 58.54/37.22 58.54/37.22 new_primPlusNat(xu168) -> Succ(Succ(new_primPlusNat1(xu168))) 58.54/37.22 new_primPlusInt1 -> Pos(Succ(Zero)) 58.54/37.22 new_primPlusInt -> Pos(new_primPlusNat0) 58.54/37.22 new_primPlusInt0(Succ(xu300000)) -> Neg(Succ(xu300000)) 58.54/37.22 new_primPlusNat0 -> Succ(Zero) 58.54/37.22 new_primPlusNat1(Succ(xu1680)) -> Succ(xu1680) 58.54/37.22 new_primPlusInt0(Zero) -> Pos(Zero) 58.54/37.22 new_primPlusNat1(Zero) -> Zero 58.54/37.22 58.54/37.22 The set Q consists of the following terms: 58.54/37.22 58.54/37.22 new_primPlusInt0(Succ(x0)) 58.54/37.22 new_primPlusInt0(Zero) 58.54/37.22 new_primPlusNat0 58.54/37.22 new_primPlusInt1 58.54/37.22 new_primPlusInt 58.54/37.22 new_primPlusNat(x0) 58.54/37.22 new_primPlusNat1(Zero) 58.54/37.22 new_primPlusNat1(Succ(x0)) 58.54/37.22 58.54/37.22 We have to consider all minimal (P,Q,R)-chains. 58.54/37.22 ---------------------------------------- 58.54/37.22 58.54/37.22 (63) QDPOrderProof (EQUIVALENT) 58.54/37.22 We use the reduction pair processor [LPAR04,JAR06]. 58.54/37.22 58.54/37.22 58.54/37.22 The following pairs can be oriented strictly and are deleted. 58.54/37.22 58.54/37.22 new_takeWhile(Integer(Pos(Succ(xu31000))), Integer(Pos(Zero))) -> new_takeWhile(Integer(Pos(Succ(xu31000))), Integer(new_primPlusInt)) 58.54/37.22 The remaining pairs can at least be oriented weakly. 58.54/37.22 Used ordering: Polynomial interpretation [POLO]: 58.54/37.22 58.54/37.22 POL(Integer(x_1)) = x_1 58.54/37.22 POL(Pos(x_1)) = x_1 58.54/37.22 POL(Succ(x_1)) = 0 58.54/37.22 POL(Zero) = 1 58.54/37.22 POL(new_primPlusInt) = 0 58.54/37.22 POL(new_primPlusNat(x_1)) = 0 58.54/37.22 POL(new_primPlusNat0) = 0 58.54/37.22 POL(new_primPlusNat1(x_1)) = 1 + x_1 58.54/37.22 POL(new_takeWhile(x_1, x_2)) = x_2 58.54/37.22 POL(new_takeWhile1(x_1, x_2, x_3, x_4)) = 0 58.54/37.22 POL(new_takeWhile11(x_1, x_2)) = 0 58.54/37.22 58.54/37.22 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 58.54/37.22 58.54/37.22 new_primPlusNat(xu168) -> Succ(Succ(new_primPlusNat1(xu168))) 58.54/37.22 new_primPlusInt -> Pos(new_primPlusNat0) 58.54/37.22 new_primPlusNat0 -> Succ(Zero) 58.54/37.22 58.54/37.22 58.54/37.22 ---------------------------------------- 58.54/37.22 58.54/37.22 (64) 58.54/37.22 Obligation: 58.54/37.22 Q DP problem: 58.54/37.22 The TRS P consists of the following rules: 58.54/37.22 58.54/37.22 new_takeWhile1(xu201, xu202, Zero, Succ(xu2040)) -> new_takeWhile(Integer(Pos(Succ(xu201))), Integer(Pos(new_primPlusNat(xu202)))) 58.54/37.22 new_takeWhile(Integer(Pos(Succ(xu31000))), Integer(Pos(Succ(xu30000)))) -> new_takeWhile1(xu31000, xu30000, xu30000, xu31000) 58.54/37.22 new_takeWhile1(xu201, xu202, Succ(xu2030), Succ(xu2040)) -> new_takeWhile1(xu201, xu202, xu2030, xu2040) 58.54/37.22 new_takeWhile1(xu201, xu202, Zero, Zero) -> new_takeWhile11(xu201, xu202) 58.54/37.22 new_takeWhile11(xu201, xu202) -> new_takeWhile(Integer(Pos(Succ(xu201))), Integer(Pos(new_primPlusNat(xu202)))) 58.54/37.22 58.54/37.22 The TRS R consists of the following rules: 58.54/37.22 58.54/37.22 new_primPlusNat(xu168) -> Succ(Succ(new_primPlusNat1(xu168))) 58.54/37.22 new_primPlusInt1 -> Pos(Succ(Zero)) 58.54/37.22 new_primPlusInt -> Pos(new_primPlusNat0) 58.54/37.22 new_primPlusInt0(Succ(xu300000)) -> Neg(Succ(xu300000)) 58.54/37.22 new_primPlusNat0 -> Succ(Zero) 58.54/37.22 new_primPlusNat1(Succ(xu1680)) -> Succ(xu1680) 58.54/37.22 new_primPlusInt0(Zero) -> Pos(Zero) 58.54/37.22 new_primPlusNat1(Zero) -> Zero 58.54/37.22 58.54/37.22 The set Q consists of the following terms: 58.54/37.22 58.54/37.22 new_primPlusInt0(Succ(x0)) 58.54/37.22 new_primPlusInt0(Zero) 58.54/37.22 new_primPlusNat0 58.54/37.22 new_primPlusInt1 58.54/37.22 new_primPlusInt 58.54/37.22 new_primPlusNat(x0) 58.54/37.22 new_primPlusNat1(Zero) 58.54/37.22 new_primPlusNat1(Succ(x0)) 58.54/37.22 58.54/37.22 We have to consider all minimal (P,Q,R)-chains. 58.54/37.22 ---------------------------------------- 58.54/37.22 58.54/37.22 (65) MNOCProof (EQUIVALENT) 58.54/37.22 We use the modular non-overlap check [FROCOS05] to decrease Q to the empty set. 58.54/37.22 ---------------------------------------- 58.54/37.22 58.54/37.22 (66) 58.54/37.22 Obligation: 58.54/37.22 Q DP problem: 58.54/37.22 The TRS P consists of the following rules: 58.54/37.22 58.54/37.22 new_takeWhile1(xu201, xu202, Zero, Succ(xu2040)) -> new_takeWhile(Integer(Pos(Succ(xu201))), Integer(Pos(new_primPlusNat(xu202)))) 58.54/37.22 new_takeWhile(Integer(Pos(Succ(xu31000))), Integer(Pos(Succ(xu30000)))) -> new_takeWhile1(xu31000, xu30000, xu30000, xu31000) 58.54/37.22 new_takeWhile1(xu201, xu202, Succ(xu2030), Succ(xu2040)) -> new_takeWhile1(xu201, xu202, xu2030, xu2040) 58.54/37.22 new_takeWhile1(xu201, xu202, Zero, Zero) -> new_takeWhile11(xu201, xu202) 58.54/37.22 new_takeWhile11(xu201, xu202) -> new_takeWhile(Integer(Pos(Succ(xu201))), Integer(Pos(new_primPlusNat(xu202)))) 58.54/37.22 58.54/37.22 The TRS R consists of the following rules: 58.54/37.22 58.54/37.22 new_primPlusNat(xu168) -> Succ(Succ(new_primPlusNat1(xu168))) 58.54/37.22 new_primPlusInt1 -> Pos(Succ(Zero)) 58.54/37.22 new_primPlusInt -> Pos(new_primPlusNat0) 58.54/37.22 new_primPlusInt0(Succ(xu300000)) -> Neg(Succ(xu300000)) 58.54/37.22 new_primPlusNat0 -> Succ(Zero) 58.54/37.22 new_primPlusNat1(Succ(xu1680)) -> Succ(xu1680) 58.54/37.22 new_primPlusInt0(Zero) -> Pos(Zero) 58.54/37.22 new_primPlusNat1(Zero) -> Zero 58.54/37.22 58.54/37.22 Q is empty. 58.54/37.22 We have to consider all (P,Q,R)-chains. 58.54/37.22 ---------------------------------------- 58.54/37.22 58.54/37.22 (67) InductionCalculusProof (EQUIVALENT) 58.54/37.22 Note that final constraints are written in bold face. 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 For Pair new_takeWhile1(xu201, xu202, Zero, Succ(xu2040)) -> new_takeWhile(Integer(Pos(Succ(xu201))), Integer(Pos(new_primPlusNat(xu202)))) the following chains were created: 58.54/37.22 *We consider the chain new_takeWhile1(x3, x4, Zero, Succ(x5)) -> new_takeWhile(Integer(Pos(Succ(x3))), Integer(Pos(new_primPlusNat(x4)))), new_takeWhile(Integer(Pos(Succ(x6))), Integer(Pos(Succ(x7)))) -> new_takeWhile1(x6, x7, x7, x6) which results in the following constraint: 58.54/37.22 58.54/37.22 (1) (new_takeWhile(Integer(Pos(Succ(x3))), Integer(Pos(new_primPlusNat(x4))))=new_takeWhile(Integer(Pos(Succ(x6))), Integer(Pos(Succ(x7)))) ==> new_takeWhile1(x3, x4, Zero, Succ(x5))_>=_new_takeWhile(Integer(Pos(Succ(x3))), Integer(Pos(new_primPlusNat(x4))))) 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 58.54/37.22 58.54/37.22 (2) (new_primPlusNat(x4)=Succ(x7) ==> new_takeWhile1(x3, x4, Zero, Succ(x5))_>=_new_takeWhile(Integer(Pos(Succ(x3))), Integer(Pos(new_primPlusNat(x4))))) 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primPlusNat(x4)=Succ(x7) which results in the following new constraint: 58.54/37.22 58.54/37.22 (3) (Succ(Succ(new_primPlusNat1(x89)))=Succ(x7) ==> new_takeWhile1(x3, x89, Zero, Succ(x5))_>=_new_takeWhile(Integer(Pos(Succ(x3))), Integer(Pos(new_primPlusNat(x89))))) 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 We simplified constraint (3) using rules (I), (II), (IV) which results in the following new constraint: 58.54/37.22 58.54/37.22 (4) (new_takeWhile1(x3, x89, Zero, Succ(x5))_>=_new_takeWhile(Integer(Pos(Succ(x3))), Integer(Pos(new_primPlusNat(x89))))) 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 For Pair new_takeWhile(Integer(Pos(Succ(xu31000))), Integer(Pos(Succ(xu30000)))) -> new_takeWhile1(xu31000, xu30000, xu30000, xu31000) the following chains were created: 58.54/37.22 *We consider the chain new_takeWhile(Integer(Pos(Succ(x17))), Integer(Pos(Succ(x18)))) -> new_takeWhile1(x17, x18, x18, x17), new_takeWhile1(x19, x20, Zero, Succ(x21)) -> new_takeWhile(Integer(Pos(Succ(x19))), Integer(Pos(new_primPlusNat(x20)))) which results in the following constraint: 58.54/37.22 58.54/37.22 (1) (new_takeWhile1(x17, x18, x18, x17)=new_takeWhile1(x19, x20, Zero, Succ(x21)) ==> new_takeWhile(Integer(Pos(Succ(x17))), Integer(Pos(Succ(x18))))_>=_new_takeWhile1(x17, x18, x18, x17)) 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 58.54/37.22 58.54/37.22 (2) (new_takeWhile(Integer(Pos(Succ(Succ(x21)))), Integer(Pos(Succ(Zero))))_>=_new_takeWhile1(Succ(x21), Zero, Zero, Succ(x21))) 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 *We consider the chain new_takeWhile(Integer(Pos(Succ(x24))), Integer(Pos(Succ(x25)))) -> new_takeWhile1(x24, x25, x25, x24), new_takeWhile1(x26, x27, Succ(x28), Succ(x29)) -> new_takeWhile1(x26, x27, x28, x29) which results in the following constraint: 58.54/37.22 58.54/37.22 (1) (new_takeWhile1(x24, x25, x25, x24)=new_takeWhile1(x26, x27, Succ(x28), Succ(x29)) ==> new_takeWhile(Integer(Pos(Succ(x24))), Integer(Pos(Succ(x25))))_>=_new_takeWhile1(x24, x25, x25, x24)) 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 58.54/37.22 58.54/37.22 (2) (new_takeWhile(Integer(Pos(Succ(Succ(x29)))), Integer(Pos(Succ(Succ(x28)))))_>=_new_takeWhile1(Succ(x29), Succ(x28), Succ(x28), Succ(x29))) 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 *We consider the chain new_takeWhile(Integer(Pos(Succ(x30))), Integer(Pos(Succ(x31)))) -> new_takeWhile1(x30, x31, x31, x30), new_takeWhile1(x32, x33, Zero, Zero) -> new_takeWhile11(x32, x33) which results in the following constraint: 58.54/37.22 58.54/37.22 (1) (new_takeWhile1(x30, x31, x31, x30)=new_takeWhile1(x32, x33, Zero, Zero) ==> new_takeWhile(Integer(Pos(Succ(x30))), Integer(Pos(Succ(x31))))_>=_new_takeWhile1(x30, x31, x31, x30)) 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 58.54/37.22 58.54/37.22 (2) (new_takeWhile(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Zero))))_>=_new_takeWhile1(Zero, Zero, Zero, Zero)) 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 For Pair new_takeWhile1(xu201, xu202, Succ(xu2030), Succ(xu2040)) -> new_takeWhile1(xu201, xu202, xu2030, xu2040) the following chains were created: 58.54/37.22 *We consider the chain new_takeWhile1(x36, x37, Succ(x38), Succ(x39)) -> new_takeWhile1(x36, x37, x38, x39), new_takeWhile1(x40, x41, Zero, Succ(x42)) -> new_takeWhile(Integer(Pos(Succ(x40))), Integer(Pos(new_primPlusNat(x41)))) which results in the following constraint: 58.54/37.22 58.54/37.22 (1) (new_takeWhile1(x36, x37, x38, x39)=new_takeWhile1(x40, x41, Zero, Succ(x42)) ==> new_takeWhile1(x36, x37, Succ(x38), Succ(x39))_>=_new_takeWhile1(x36, x37, x38, x39)) 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 58.54/37.22 58.54/37.22 (2) (new_takeWhile1(x36, x37, Succ(Zero), Succ(Succ(x42)))_>=_new_takeWhile1(x36, x37, Zero, Succ(x42))) 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 *We consider the chain new_takeWhile1(x47, x48, Succ(x49), Succ(x50)) -> new_takeWhile1(x47, x48, x49, x50), new_takeWhile1(x51, x52, Succ(x53), Succ(x54)) -> new_takeWhile1(x51, x52, x53, x54) which results in the following constraint: 58.54/37.22 58.54/37.22 (1) (new_takeWhile1(x47, x48, x49, x50)=new_takeWhile1(x51, x52, Succ(x53), Succ(x54)) ==> new_takeWhile1(x47, x48, Succ(x49), Succ(x50))_>=_new_takeWhile1(x47, x48, x49, x50)) 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 58.54/37.22 58.54/37.22 (2) (new_takeWhile1(x47, x48, Succ(Succ(x53)), Succ(Succ(x54)))_>=_new_takeWhile1(x47, x48, Succ(x53), Succ(x54))) 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 *We consider the chain new_takeWhile1(x55, x56, Succ(x57), Succ(x58)) -> new_takeWhile1(x55, x56, x57, x58), new_takeWhile1(x59, x60, Zero, Zero) -> new_takeWhile11(x59, x60) which results in the following constraint: 58.54/37.22 58.54/37.22 (1) (new_takeWhile1(x55, x56, x57, x58)=new_takeWhile1(x59, x60, Zero, Zero) ==> new_takeWhile1(x55, x56, Succ(x57), Succ(x58))_>=_new_takeWhile1(x55, x56, x57, x58)) 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 58.54/37.22 58.54/37.22 (2) (new_takeWhile1(x55, x56, Succ(Zero), Succ(Zero))_>=_new_takeWhile1(x55, x56, Zero, Zero)) 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 For Pair new_takeWhile1(xu201, xu202, Zero, Zero) -> new_takeWhile11(xu201, xu202) the following chains were created: 58.54/37.22 *We consider the chain new_takeWhile1(x73, x74, Zero, Zero) -> new_takeWhile11(x73, x74), new_takeWhile11(x75, x76) -> new_takeWhile(Integer(Pos(Succ(x75))), Integer(Pos(new_primPlusNat(x76)))) which results in the following constraint: 58.54/37.22 58.54/37.22 (1) (new_takeWhile11(x73, x74)=new_takeWhile11(x75, x76) ==> new_takeWhile1(x73, x74, Zero, Zero)_>=_new_takeWhile11(x73, x74)) 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 58.54/37.22 58.54/37.22 (2) (new_takeWhile1(x73, x74, Zero, Zero)_>=_new_takeWhile11(x73, x74)) 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 For Pair new_takeWhile11(xu201, xu202) -> new_takeWhile(Integer(Pos(Succ(xu201))), Integer(Pos(new_primPlusNat(xu202)))) the following chains were created: 58.54/37.22 *We consider the chain new_takeWhile11(x79, x80) -> new_takeWhile(Integer(Pos(Succ(x79))), Integer(Pos(new_primPlusNat(x80)))), new_takeWhile(Integer(Pos(Succ(x81))), Integer(Pos(Succ(x82)))) -> new_takeWhile1(x81, x82, x82, x81) which results in the following constraint: 58.54/37.22 58.54/37.22 (1) (new_takeWhile(Integer(Pos(Succ(x79))), Integer(Pos(new_primPlusNat(x80))))=new_takeWhile(Integer(Pos(Succ(x81))), Integer(Pos(Succ(x82)))) ==> new_takeWhile11(x79, x80)_>=_new_takeWhile(Integer(Pos(Succ(x79))), Integer(Pos(new_primPlusNat(x80))))) 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 58.54/37.22 58.54/37.22 (2) (new_primPlusNat(x80)=Succ(x82) ==> new_takeWhile11(x79, x80)_>=_new_takeWhile(Integer(Pos(Succ(x79))), Integer(Pos(new_primPlusNat(x80))))) 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primPlusNat(x80)=Succ(x82) which results in the following new constraint: 58.54/37.22 58.54/37.22 (3) (Succ(Succ(new_primPlusNat1(x90)))=Succ(x82) ==> new_takeWhile11(x79, x90)_>=_new_takeWhile(Integer(Pos(Succ(x79))), Integer(Pos(new_primPlusNat(x90))))) 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 We simplified constraint (3) using rules (I), (II), (IV) which results in the following new constraint: 58.54/37.22 58.54/37.22 (4) (new_takeWhile11(x79, x90)_>=_new_takeWhile(Integer(Pos(Succ(x79))), Integer(Pos(new_primPlusNat(x90))))) 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 To summarize, we get the following constraints P__>=_ for the following pairs. 58.54/37.22 58.54/37.22 *new_takeWhile1(xu201, xu202, Zero, Succ(xu2040)) -> new_takeWhile(Integer(Pos(Succ(xu201))), Integer(Pos(new_primPlusNat(xu202)))) 58.54/37.22 58.54/37.22 *(new_takeWhile1(x3, x89, Zero, Succ(x5))_>=_new_takeWhile(Integer(Pos(Succ(x3))), Integer(Pos(new_primPlusNat(x89))))) 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 *new_takeWhile(Integer(Pos(Succ(xu31000))), Integer(Pos(Succ(xu30000)))) -> new_takeWhile1(xu31000, xu30000, xu30000, xu31000) 58.54/37.22 58.54/37.22 *(new_takeWhile(Integer(Pos(Succ(Succ(x21)))), Integer(Pos(Succ(Zero))))_>=_new_takeWhile1(Succ(x21), Zero, Zero, Succ(x21))) 58.54/37.22 58.54/37.22 58.54/37.22 *(new_takeWhile(Integer(Pos(Succ(Succ(x29)))), Integer(Pos(Succ(Succ(x28)))))_>=_new_takeWhile1(Succ(x29), Succ(x28), Succ(x28), Succ(x29))) 58.54/37.22 58.54/37.22 58.54/37.22 *(new_takeWhile(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Zero))))_>=_new_takeWhile1(Zero, Zero, Zero, Zero)) 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 *new_takeWhile1(xu201, xu202, Succ(xu2030), Succ(xu2040)) -> new_takeWhile1(xu201, xu202, xu2030, xu2040) 58.54/37.22 58.54/37.22 *(new_takeWhile1(x36, x37, Succ(Zero), Succ(Succ(x42)))_>=_new_takeWhile1(x36, x37, Zero, Succ(x42))) 58.54/37.22 58.54/37.22 58.54/37.22 *(new_takeWhile1(x47, x48, Succ(Succ(x53)), Succ(Succ(x54)))_>=_new_takeWhile1(x47, x48, Succ(x53), Succ(x54))) 58.54/37.22 58.54/37.22 58.54/37.22 *(new_takeWhile1(x55, x56, Succ(Zero), Succ(Zero))_>=_new_takeWhile1(x55, x56, Zero, Zero)) 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 *new_takeWhile1(xu201, xu202, Zero, Zero) -> new_takeWhile11(xu201, xu202) 58.54/37.22 58.54/37.22 *(new_takeWhile1(x73, x74, Zero, Zero)_>=_new_takeWhile11(x73, x74)) 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 *new_takeWhile11(xu201, xu202) -> new_takeWhile(Integer(Pos(Succ(xu201))), Integer(Pos(new_primPlusNat(xu202)))) 58.54/37.22 58.54/37.22 *(new_takeWhile11(x79, x90)_>=_new_takeWhile(Integer(Pos(Succ(x79))), Integer(Pos(new_primPlusNat(x90))))) 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 The constraints for P_> respective P_bound are constructed from P__>=_ where we just replace every occurence of "t _>=_ s" in P__>=_ by "t > s" respective "t _>=_ c". Here c stands for the fresh constant used for P_bound. 58.54/37.22 ---------------------------------------- 58.54/37.22 58.54/37.22 (68) 58.54/37.22 Obligation: 58.54/37.22 Q DP problem: 58.54/37.22 The TRS P consists of the following rules: 58.54/37.22 58.54/37.22 new_takeWhile1(xu201, xu202, Zero, Succ(xu2040)) -> new_takeWhile(Integer(Pos(Succ(xu201))), Integer(Pos(new_primPlusNat(xu202)))) 58.54/37.22 new_takeWhile(Integer(Pos(Succ(xu31000))), Integer(Pos(Succ(xu30000)))) -> new_takeWhile1(xu31000, xu30000, xu30000, xu31000) 58.54/37.22 new_takeWhile1(xu201, xu202, Succ(xu2030), Succ(xu2040)) -> new_takeWhile1(xu201, xu202, xu2030, xu2040) 58.54/37.22 new_takeWhile1(xu201, xu202, Zero, Zero) -> new_takeWhile11(xu201, xu202) 58.54/37.22 new_takeWhile11(xu201, xu202) -> new_takeWhile(Integer(Pos(Succ(xu201))), Integer(Pos(new_primPlusNat(xu202)))) 58.54/37.22 58.54/37.22 The TRS R consists of the following rules: 58.54/37.22 58.54/37.22 new_primPlusNat(xu168) -> Succ(Succ(new_primPlusNat1(xu168))) 58.54/37.22 new_primPlusInt1 -> Pos(Succ(Zero)) 58.54/37.22 new_primPlusInt -> Pos(new_primPlusNat0) 58.54/37.22 new_primPlusInt0(Succ(xu300000)) -> Neg(Succ(xu300000)) 58.54/37.22 new_primPlusNat0 -> Succ(Zero) 58.54/37.22 new_primPlusNat1(Succ(xu1680)) -> Succ(xu1680) 58.54/37.22 new_primPlusInt0(Zero) -> Pos(Zero) 58.54/37.22 new_primPlusNat1(Zero) -> Zero 58.54/37.22 58.54/37.22 The set Q consists of the following terms: 58.54/37.22 58.54/37.22 new_primPlusInt0(Succ(x0)) 58.54/37.22 new_primPlusInt0(Zero) 58.54/37.22 new_primPlusNat0 58.54/37.22 new_primPlusInt1 58.54/37.22 new_primPlusInt 58.54/37.22 new_primPlusNat(x0) 58.54/37.22 new_primPlusNat1(Zero) 58.54/37.22 new_primPlusNat1(Succ(x0)) 58.54/37.22 58.54/37.22 We have to consider all minimal (P,Q,R)-chains. 58.54/37.22 ---------------------------------------- 58.54/37.22 58.54/37.22 (69) QDPPairToRuleProof (EQUIVALENT) 58.54/37.22 The dependency pair new_takeWhile1(xu201, xu202, Succ(xu2030), Succ(xu2040)) -> new_takeWhile1(xu201, xu202, xu2030, xu2040) was transformed to the following new rules: 58.54/37.22 anew_new_takeWhile1(Succ(xu2030), Succ(xu2040)) -> new_new_takeWhile1(xu2030, xu2040) 58.54/37.22 new_new_takeWhile1(Succ(xu2030), Succ(xu2040)) -> new_new_takeWhile1(xu2030, xu2040) 58.54/37.22 new_new_takeWhile1(Zero, Succ(xu2040)) -> cons_new_takeWhile1(Zero, Succ(xu2040)) 58.54/37.22 new_new_takeWhile1(Zero, Zero) -> cons_new_takeWhile1(Zero, Zero) 58.54/37.22 58.54/37.22 the following new pairs maintain the fan-in: 58.54/37.22 new_takeWhile(Integer(Pos(Succ(xu31000))), Integer(Pos(Succ(xu30000)))) -> H(xu31000, xu30000, anew_new_takeWhile1(xu30000, xu31000)) 58.54/37.22 58.54/37.22 the following new pairs maintain the fan-out: 58.54/37.22 H(xu201, xu202, cons_new_takeWhile1(Zero, Succ(xu2040))) -> new_takeWhile1(xu201, xu202, Zero, Succ(xu2040)) 58.54/37.22 H(xu201, xu202, cons_new_takeWhile1(Zero, Zero)) -> new_takeWhile1(xu201, xu202, Zero, Zero) 58.54/37.22 58.54/37.22 ---------------------------------------- 58.54/37.22 58.54/37.22 (70) 58.54/37.22 Complex Obligation (AND) 58.54/37.22 58.54/37.22 ---------------------------------------- 58.54/37.22 58.54/37.22 (71) 58.54/37.22 Obligation: 58.54/37.22 Q DP problem: 58.54/37.22 The TRS P consists of the following rules: 58.54/37.22 58.54/37.22 new_takeWhile1(xu201, xu202, Zero, Succ(xu2040)) -> new_takeWhile(Integer(Pos(Succ(xu201))), Integer(Pos(new_primPlusNat(xu202)))) 58.54/37.22 new_takeWhile(Integer(Pos(Succ(xu31000))), Integer(Pos(Succ(xu30000)))) -> new_takeWhile1(xu31000, xu30000, xu30000, xu31000) 58.54/37.22 new_takeWhile1(xu201, xu202, Zero, Zero) -> new_takeWhile11(xu201, xu202) 58.54/37.22 new_takeWhile11(xu201, xu202) -> new_takeWhile(Integer(Pos(Succ(xu201))), Integer(Pos(new_primPlusNat(xu202)))) 58.54/37.22 new_takeWhile(Integer(Pos(Succ(xu31000))), Integer(Pos(Succ(xu30000)))) -> H(xu31000, xu30000, anew_new_takeWhile1(xu30000, xu31000)) 58.54/37.22 H(xu201, xu202, cons_new_takeWhile1(Zero, Succ(xu2040))) -> new_takeWhile1(xu201, xu202, Zero, Succ(xu2040)) 58.54/37.22 H(xu201, xu202, cons_new_takeWhile1(Zero, Zero)) -> new_takeWhile1(xu201, xu202, Zero, Zero) 58.54/37.22 58.54/37.22 The TRS R consists of the following rules: 58.54/37.22 58.54/37.22 new_primPlusNat(xu168) -> Succ(Succ(new_primPlusNat1(xu168))) 58.54/37.22 new_primPlusInt1 -> Pos(Succ(Zero)) 58.54/37.22 new_primPlusInt -> Pos(new_primPlusNat0) 58.54/37.22 new_primPlusInt0(Succ(xu300000)) -> Neg(Succ(xu300000)) 58.54/37.22 new_primPlusNat0 -> Succ(Zero) 58.54/37.22 new_primPlusNat1(Succ(xu1680)) -> Succ(xu1680) 58.54/37.22 new_primPlusInt0(Zero) -> Pos(Zero) 58.54/37.22 new_primPlusNat1(Zero) -> Zero 58.54/37.22 anew_new_takeWhile1(Succ(xu2030), Succ(xu2040)) -> new_new_takeWhile1(xu2030, xu2040) 58.54/37.22 new_new_takeWhile1(Succ(xu2030), Succ(xu2040)) -> new_new_takeWhile1(xu2030, xu2040) 58.54/37.22 new_new_takeWhile1(Zero, Succ(xu2040)) -> cons_new_takeWhile1(Zero, Succ(xu2040)) 58.54/37.22 new_new_takeWhile1(Zero, Zero) -> cons_new_takeWhile1(Zero, Zero) 58.54/37.22 58.54/37.22 The set Q consists of the following terms: 58.54/37.22 58.54/37.22 new_primPlusInt0(Succ(x0)) 58.54/37.22 new_primPlusInt0(Zero) 58.54/37.22 new_primPlusNat0 58.54/37.22 new_primPlusInt1 58.54/37.22 new_primPlusInt 58.54/37.22 new_primPlusNat(x0) 58.54/37.22 new_primPlusNat1(Zero) 58.54/37.22 new_primPlusNat1(Succ(x0)) 58.54/37.22 new_new_takeWhile1(Succ(x0), Succ(x1)) 58.54/37.22 anew_new_takeWhile1(Succ(x0), Succ(x1)) 58.54/37.22 new_new_takeWhile1(Zero, Succ(x0)) 58.54/37.22 new_new_takeWhile1(Zero, Zero) 58.54/37.22 58.54/37.22 We have to consider all minimal (P,Q,R)-chains. 58.54/37.22 ---------------------------------------- 58.54/37.22 58.54/37.22 (72) MNOCProof (EQUIVALENT) 58.54/37.22 We use the modular non-overlap check [FROCOS05] to decrease Q to the empty set. 58.54/37.22 ---------------------------------------- 58.54/37.22 58.54/37.22 (73) 58.54/37.22 Obligation: 58.54/37.22 Q DP problem: 58.54/37.22 The TRS P consists of the following rules: 58.54/37.22 58.54/37.22 new_takeWhile1(xu201, xu202, Zero, Succ(xu2040)) -> new_takeWhile(Integer(Pos(Succ(xu201))), Integer(Pos(new_primPlusNat(xu202)))) 58.54/37.22 new_takeWhile(Integer(Pos(Succ(xu31000))), Integer(Pos(Succ(xu30000)))) -> new_takeWhile1(xu31000, xu30000, xu30000, xu31000) 58.54/37.22 new_takeWhile1(xu201, xu202, Zero, Zero) -> new_takeWhile11(xu201, xu202) 58.54/37.22 new_takeWhile11(xu201, xu202) -> new_takeWhile(Integer(Pos(Succ(xu201))), Integer(Pos(new_primPlusNat(xu202)))) 58.54/37.22 new_takeWhile(Integer(Pos(Succ(xu31000))), Integer(Pos(Succ(xu30000)))) -> H(xu31000, xu30000, anew_new_takeWhile1(xu30000, xu31000)) 58.54/37.22 H(xu201, xu202, cons_new_takeWhile1(Zero, Succ(xu2040))) -> new_takeWhile1(xu201, xu202, Zero, Succ(xu2040)) 58.54/37.22 H(xu201, xu202, cons_new_takeWhile1(Zero, Zero)) -> new_takeWhile1(xu201, xu202, Zero, Zero) 58.54/37.22 58.54/37.22 The TRS R consists of the following rules: 58.54/37.22 58.54/37.22 new_primPlusNat(xu168) -> Succ(Succ(new_primPlusNat1(xu168))) 58.54/37.22 new_primPlusInt1 -> Pos(Succ(Zero)) 58.54/37.22 new_primPlusInt -> Pos(new_primPlusNat0) 58.54/37.22 new_primPlusInt0(Succ(xu300000)) -> Neg(Succ(xu300000)) 58.54/37.22 new_primPlusNat0 -> Succ(Zero) 58.54/37.22 new_primPlusNat1(Succ(xu1680)) -> Succ(xu1680) 58.54/37.22 new_primPlusInt0(Zero) -> Pos(Zero) 58.54/37.22 new_primPlusNat1(Zero) -> Zero 58.54/37.22 anew_new_takeWhile1(Succ(xu2030), Succ(xu2040)) -> new_new_takeWhile1(xu2030, xu2040) 58.54/37.22 new_new_takeWhile1(Succ(xu2030), Succ(xu2040)) -> new_new_takeWhile1(xu2030, xu2040) 58.54/37.22 new_new_takeWhile1(Zero, Succ(xu2040)) -> cons_new_takeWhile1(Zero, Succ(xu2040)) 58.54/37.22 new_new_takeWhile1(Zero, Zero) -> cons_new_takeWhile1(Zero, Zero) 58.54/37.22 58.54/37.22 Q is empty. 58.54/37.22 We have to consider all (P,Q,R)-chains. 58.54/37.22 ---------------------------------------- 58.54/37.22 58.54/37.22 (74) InductionCalculusProof (EQUIVALENT) 58.54/37.22 Note that final constraints are written in bold face. 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 For Pair new_takeWhile1(xu201, xu202, Zero, Succ(xu2040)) -> new_takeWhile(Integer(Pos(Succ(xu201))), Integer(Pos(new_primPlusNat(xu202)))) the following chains were created: 58.54/37.22 *We consider the chain new_takeWhile1(x3, x4, Zero, Succ(x5)) -> new_takeWhile(Integer(Pos(Succ(x3))), Integer(Pos(new_primPlusNat(x4)))), new_takeWhile(Integer(Pos(Succ(x6))), Integer(Pos(Succ(x7)))) -> new_takeWhile1(x6, x7, x7, x6) which results in the following constraint: 58.54/37.22 58.54/37.22 (1) (new_takeWhile(Integer(Pos(Succ(x3))), Integer(Pos(new_primPlusNat(x4))))=new_takeWhile(Integer(Pos(Succ(x6))), Integer(Pos(Succ(x7)))) ==> new_takeWhile1(x3, x4, Zero, Succ(x5))_>=_new_takeWhile(Integer(Pos(Succ(x3))), Integer(Pos(new_primPlusNat(x4))))) 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 58.54/37.22 58.54/37.22 (2) (new_primPlusNat(x4)=Succ(x7) ==> new_takeWhile1(x3, x4, Zero, Succ(x5))_>=_new_takeWhile(Integer(Pos(Succ(x3))), Integer(Pos(new_primPlusNat(x4))))) 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primPlusNat(x4)=Succ(x7) which results in the following new constraint: 58.54/37.22 58.54/37.22 (3) (Succ(Succ(new_primPlusNat1(x137)))=Succ(x7) ==> new_takeWhile1(x3, x137, Zero, Succ(x5))_>=_new_takeWhile(Integer(Pos(Succ(x3))), Integer(Pos(new_primPlusNat(x137))))) 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 We simplified constraint (3) using rules (I), (II), (IV) which results in the following new constraint: 58.54/37.22 58.54/37.22 (4) (new_takeWhile1(x3, x137, Zero, Succ(x5))_>=_new_takeWhile(Integer(Pos(Succ(x3))), Integer(Pos(new_primPlusNat(x137))))) 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 *We consider the chain new_takeWhile1(x14, x15, Zero, Succ(x16)) -> new_takeWhile(Integer(Pos(Succ(x14))), Integer(Pos(new_primPlusNat(x15)))), new_takeWhile(Integer(Pos(Succ(x17))), Integer(Pos(Succ(x18)))) -> H(x17, x18, anew_new_takeWhile1(x18, x17)) which results in the following constraint: 58.54/37.22 58.54/37.22 (1) (new_takeWhile(Integer(Pos(Succ(x14))), Integer(Pos(new_primPlusNat(x15))))=new_takeWhile(Integer(Pos(Succ(x17))), Integer(Pos(Succ(x18)))) ==> new_takeWhile1(x14, x15, Zero, Succ(x16))_>=_new_takeWhile(Integer(Pos(Succ(x14))), Integer(Pos(new_primPlusNat(x15))))) 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 58.54/37.22 58.54/37.22 (2) (new_primPlusNat(x15)=Succ(x18) ==> new_takeWhile1(x14, x15, Zero, Succ(x16))_>=_new_takeWhile(Integer(Pos(Succ(x14))), Integer(Pos(new_primPlusNat(x15))))) 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primPlusNat(x15)=Succ(x18) which results in the following new constraint: 58.54/37.22 58.54/37.22 (3) (Succ(Succ(new_primPlusNat1(x138)))=Succ(x18) ==> new_takeWhile1(x14, x138, Zero, Succ(x16))_>=_new_takeWhile(Integer(Pos(Succ(x14))), Integer(Pos(new_primPlusNat(x138))))) 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 We simplified constraint (3) using rules (I), (II), (IV) which results in the following new constraint: 58.54/37.22 58.54/37.22 (4) (new_takeWhile1(x14, x138, Zero, Succ(x16))_>=_new_takeWhile(Integer(Pos(Succ(x14))), Integer(Pos(new_primPlusNat(x138))))) 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 For Pair new_takeWhile(Integer(Pos(Succ(xu31000))), Integer(Pos(Succ(xu30000)))) -> new_takeWhile1(xu31000, xu30000, xu30000, xu31000) the following chains were created: 58.54/37.22 *We consider the chain new_takeWhile(Integer(Pos(Succ(x25))), Integer(Pos(Succ(x26)))) -> new_takeWhile1(x25, x26, x26, x25), new_takeWhile1(x27, x28, Zero, Succ(x29)) -> new_takeWhile(Integer(Pos(Succ(x27))), Integer(Pos(new_primPlusNat(x28)))) which results in the following constraint: 58.54/37.22 58.54/37.22 (1) (new_takeWhile1(x25, x26, x26, x25)=new_takeWhile1(x27, x28, Zero, Succ(x29)) ==> new_takeWhile(Integer(Pos(Succ(x25))), Integer(Pos(Succ(x26))))_>=_new_takeWhile1(x25, x26, x26, x25)) 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 58.54/37.22 58.54/37.22 (2) (new_takeWhile(Integer(Pos(Succ(Succ(x29)))), Integer(Pos(Succ(Zero))))_>=_new_takeWhile1(Succ(x29), Zero, Zero, Succ(x29))) 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 *We consider the chain new_takeWhile(Integer(Pos(Succ(x32))), Integer(Pos(Succ(x33)))) -> new_takeWhile1(x32, x33, x33, x32), new_takeWhile1(x34, x35, Zero, Zero) -> new_takeWhile11(x34, x35) which results in the following constraint: 58.54/37.22 58.54/37.22 (1) (new_takeWhile1(x32, x33, x33, x32)=new_takeWhile1(x34, x35, Zero, Zero) ==> new_takeWhile(Integer(Pos(Succ(x32))), Integer(Pos(Succ(x33))))_>=_new_takeWhile1(x32, x33, x33, x32)) 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 58.54/37.22 58.54/37.22 (2) (new_takeWhile(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Zero))))_>=_new_takeWhile1(Zero, Zero, Zero, Zero)) 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 For Pair new_takeWhile1(xu201, xu202, Zero, Zero) -> new_takeWhile11(xu201, xu202) the following chains were created: 58.54/37.22 *We consider the chain new_takeWhile1(x50, x51, Zero, Zero) -> new_takeWhile11(x50, x51), new_takeWhile11(x52, x53) -> new_takeWhile(Integer(Pos(Succ(x52))), Integer(Pos(new_primPlusNat(x53)))) which results in the following constraint: 58.54/37.22 58.54/37.22 (1) (new_takeWhile11(x50, x51)=new_takeWhile11(x52, x53) ==> new_takeWhile1(x50, x51, Zero, Zero)_>=_new_takeWhile11(x50, x51)) 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 58.54/37.22 58.54/37.22 (2) (new_takeWhile1(x50, x51, Zero, Zero)_>=_new_takeWhile11(x50, x51)) 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 For Pair new_takeWhile11(xu201, xu202) -> new_takeWhile(Integer(Pos(Succ(xu201))), Integer(Pos(new_primPlusNat(xu202)))) the following chains were created: 58.54/37.22 *We consider the chain new_takeWhile11(x62, x63) -> new_takeWhile(Integer(Pos(Succ(x62))), Integer(Pos(new_primPlusNat(x63)))), new_takeWhile(Integer(Pos(Succ(x64))), Integer(Pos(Succ(x65)))) -> new_takeWhile1(x64, x65, x65, x64) which results in the following constraint: 58.54/37.22 58.54/37.22 (1) (new_takeWhile(Integer(Pos(Succ(x62))), Integer(Pos(new_primPlusNat(x63))))=new_takeWhile(Integer(Pos(Succ(x64))), Integer(Pos(Succ(x65)))) ==> new_takeWhile11(x62, x63)_>=_new_takeWhile(Integer(Pos(Succ(x62))), Integer(Pos(new_primPlusNat(x63))))) 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 58.54/37.22 58.54/37.22 (2) (new_primPlusNat(x63)=Succ(x65) ==> new_takeWhile11(x62, x63)_>=_new_takeWhile(Integer(Pos(Succ(x62))), Integer(Pos(new_primPlusNat(x63))))) 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primPlusNat(x63)=Succ(x65) which results in the following new constraint: 58.54/37.22 58.54/37.22 (3) (Succ(Succ(new_primPlusNat1(x139)))=Succ(x65) ==> new_takeWhile11(x62, x139)_>=_new_takeWhile(Integer(Pos(Succ(x62))), Integer(Pos(new_primPlusNat(x139))))) 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 We simplified constraint (3) using rules (I), (II), (IV) which results in the following new constraint: 58.54/37.22 58.54/37.22 (4) (new_takeWhile11(x62, x139)_>=_new_takeWhile(Integer(Pos(Succ(x62))), Integer(Pos(new_primPlusNat(x139))))) 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 *We consider the chain new_takeWhile11(x70, x71) -> new_takeWhile(Integer(Pos(Succ(x70))), Integer(Pos(new_primPlusNat(x71)))), new_takeWhile(Integer(Pos(Succ(x72))), Integer(Pos(Succ(x73)))) -> H(x72, x73, anew_new_takeWhile1(x73, x72)) which results in the following constraint: 58.54/37.22 58.54/37.22 (1) (new_takeWhile(Integer(Pos(Succ(x70))), Integer(Pos(new_primPlusNat(x71))))=new_takeWhile(Integer(Pos(Succ(x72))), Integer(Pos(Succ(x73)))) ==> new_takeWhile11(x70, x71)_>=_new_takeWhile(Integer(Pos(Succ(x70))), Integer(Pos(new_primPlusNat(x71))))) 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 58.54/37.22 58.54/37.22 (2) (new_primPlusNat(x71)=Succ(x73) ==> new_takeWhile11(x70, x71)_>=_new_takeWhile(Integer(Pos(Succ(x70))), Integer(Pos(new_primPlusNat(x71))))) 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primPlusNat(x71)=Succ(x73) which results in the following new constraint: 58.54/37.22 58.54/37.22 (3) (Succ(Succ(new_primPlusNat1(x140)))=Succ(x73) ==> new_takeWhile11(x70, x140)_>=_new_takeWhile(Integer(Pos(Succ(x70))), Integer(Pos(new_primPlusNat(x140))))) 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 We simplified constraint (3) using rules (I), (II), (IV) which results in the following new constraint: 58.54/37.22 58.54/37.22 (4) (new_takeWhile11(x70, x140)_>=_new_takeWhile(Integer(Pos(Succ(x70))), Integer(Pos(new_primPlusNat(x140))))) 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 For Pair new_takeWhile(Integer(Pos(Succ(xu31000))), Integer(Pos(Succ(xu30000)))) -> H(xu31000, xu30000, anew_new_takeWhile1(xu30000, xu31000)) the following chains were created: 58.54/37.22 *We consider the chain new_takeWhile(Integer(Pos(Succ(x88))), Integer(Pos(Succ(x89)))) -> H(x88, x89, anew_new_takeWhile1(x89, x88)), H(x90, x91, cons_new_takeWhile1(Zero, Succ(x92))) -> new_takeWhile1(x90, x91, Zero, Succ(x92)) which results in the following constraint: 58.54/37.22 58.54/37.22 (1) (H(x88, x89, anew_new_takeWhile1(x89, x88))=H(x90, x91, cons_new_takeWhile1(Zero, Succ(x92))) ==> new_takeWhile(Integer(Pos(Succ(x88))), Integer(Pos(Succ(x89))))_>=_H(x88, x89, anew_new_takeWhile1(x89, x88))) 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 58.54/37.22 58.54/37.22 (2) (anew_new_takeWhile1(x89, x88)=cons_new_takeWhile1(Zero, Succ(x92)) ==> new_takeWhile(Integer(Pos(Succ(x88))), Integer(Pos(Succ(x89))))_>=_H(x88, x89, anew_new_takeWhile1(x89, x88))) 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on anew_new_takeWhile1(x89, x88)=cons_new_takeWhile1(Zero, Succ(x92)) which results in the following new constraint: 58.54/37.22 58.54/37.22 (3) (new_new_takeWhile1(x142, x141)=cons_new_takeWhile1(Zero, Succ(x92)) ==> new_takeWhile(Integer(Pos(Succ(Succ(x141)))), Integer(Pos(Succ(Succ(x142)))))_>=_H(Succ(x141), Succ(x142), anew_new_takeWhile1(Succ(x142), Succ(x141)))) 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 We simplified constraint (3) using rule (V) (with possible (I) afterwards) using induction on new_new_takeWhile1(x142, x141)=cons_new_takeWhile1(Zero, Succ(x92)) which results in the following new constraints: 58.54/37.22 58.54/37.22 (4) (new_new_takeWhile1(x144, x143)=cons_new_takeWhile1(Zero, Succ(x92)) & (\/x145:new_new_takeWhile1(x144, x143)=cons_new_takeWhile1(Zero, Succ(x145)) ==> new_takeWhile(Integer(Pos(Succ(Succ(x143)))), Integer(Pos(Succ(Succ(x144)))))_>=_H(Succ(x143), Succ(x144), anew_new_takeWhile1(Succ(x144), Succ(x143)))) ==> new_takeWhile(Integer(Pos(Succ(Succ(Succ(x143))))), Integer(Pos(Succ(Succ(Succ(x144))))))_>=_H(Succ(Succ(x143)), Succ(Succ(x144)), anew_new_takeWhile1(Succ(Succ(x144)), Succ(Succ(x143))))) 58.54/37.22 58.54/37.22 (5) (cons_new_takeWhile1(Zero, Succ(x146))=cons_new_takeWhile1(Zero, Succ(x92)) ==> new_takeWhile(Integer(Pos(Succ(Succ(Succ(x146))))), Integer(Pos(Succ(Succ(Zero)))))_>=_H(Succ(Succ(x146)), Succ(Zero), anew_new_takeWhile1(Succ(Zero), Succ(Succ(x146))))) 58.54/37.22 58.54/37.22 (6) (cons_new_takeWhile1(Zero, Zero)=cons_new_takeWhile1(Zero, Succ(x92)) ==> new_takeWhile(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))))_>=_H(Succ(Zero), Succ(Zero), anew_new_takeWhile1(Succ(Zero), Succ(Zero)))) 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 We simplified constraint (4) using rule (VI) where we applied the induction hypothesis (\/x145:new_new_takeWhile1(x144, x143)=cons_new_takeWhile1(Zero, Succ(x145)) ==> new_takeWhile(Integer(Pos(Succ(Succ(x143)))), Integer(Pos(Succ(Succ(x144)))))_>=_H(Succ(x143), Succ(x144), anew_new_takeWhile1(Succ(x144), Succ(x143)))) with sigma = [x145 / x92] which results in the following new constraint: 58.54/37.22 58.54/37.22 (7) (new_takeWhile(Integer(Pos(Succ(Succ(x143)))), Integer(Pos(Succ(Succ(x144)))))_>=_H(Succ(x143), Succ(x144), anew_new_takeWhile1(Succ(x144), Succ(x143))) ==> new_takeWhile(Integer(Pos(Succ(Succ(Succ(x143))))), Integer(Pos(Succ(Succ(Succ(x144))))))_>=_H(Succ(Succ(x143)), Succ(Succ(x144)), anew_new_takeWhile1(Succ(Succ(x144)), Succ(Succ(x143))))) 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 We simplified constraint (5) using rules (I), (II), (IV) which results in the following new constraint: 58.54/37.22 58.54/37.22 (8) (new_takeWhile(Integer(Pos(Succ(Succ(Succ(x146))))), Integer(Pos(Succ(Succ(Zero)))))_>=_H(Succ(Succ(x146)), Succ(Zero), anew_new_takeWhile1(Succ(Zero), Succ(Succ(x146))))) 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 We solved constraint (6) using rules (I), (II). 58.54/37.22 *We consider the chain new_takeWhile(Integer(Pos(Succ(x93))), Integer(Pos(Succ(x94)))) -> H(x93, x94, anew_new_takeWhile1(x94, x93)), H(x95, x96, cons_new_takeWhile1(Zero, Zero)) -> new_takeWhile1(x95, x96, Zero, Zero) which results in the following constraint: 58.54/37.22 58.54/37.22 (1) (H(x93, x94, anew_new_takeWhile1(x94, x93))=H(x95, x96, cons_new_takeWhile1(Zero, Zero)) ==> new_takeWhile(Integer(Pos(Succ(x93))), Integer(Pos(Succ(x94))))_>=_H(x93, x94, anew_new_takeWhile1(x94, x93))) 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 58.54/37.22 58.54/37.22 (2) (anew_new_takeWhile1(x94, x93)=cons_new_takeWhile1(Zero, Zero) ==> new_takeWhile(Integer(Pos(Succ(x93))), Integer(Pos(Succ(x94))))_>=_H(x93, x94, anew_new_takeWhile1(x94, x93))) 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on anew_new_takeWhile1(x94, x93)=cons_new_takeWhile1(Zero, Zero) which results in the following new constraint: 58.54/37.22 58.54/37.22 (3) (new_new_takeWhile1(x148, x147)=cons_new_takeWhile1(Zero, Zero) ==> new_takeWhile(Integer(Pos(Succ(Succ(x147)))), Integer(Pos(Succ(Succ(x148)))))_>=_H(Succ(x147), Succ(x148), anew_new_takeWhile1(Succ(x148), Succ(x147)))) 58.54/37.22 58.54/37.22 58.54/37.22 58.54/37.22 We simplified constraint (3) using rule (V) (with possible (I) afterwards) using induction on new_new_takeWhile1(x148, x147)=cons_new_takeWhile1(Zero, Zero) which results in the following new constraints: 58.54/37.22 58.54/37.22 (4) (new_new_takeWhile1(x150, x149)=cons_new_takeWhile1(Zero, Zero) & (new_new_takeWhile1(x150, x149)=cons_new_takeWhile1(Zero, Zero) ==> new_takeWhile(Integer(Pos(Succ(Succ(x149)))), Integer(Pos(Succ(Succ(x150)))))_>=_H(Succ(x149), Succ(x150), anew_new_takeWhile1(Succ(x150), Succ(x149)))) ==> new_takeWhile(Integer(Pos(Succ(Succ(Succ(x149))))), Integer(Pos(Succ(Succ(Succ(x150))))))_>=_H(Succ(Succ(x149)), Succ(Succ(x150)), anew_new_takeWhile1(Succ(Succ(x150)), Succ(Succ(x149))))) 58.54/37.22 58.54/37.22 (5) (cons_new_takeWhile1(Zero, Succ(x151))=cons_new_takeWhile1(Zero, Zero) ==> new_takeWhile(Integer(Pos(Succ(Succ(Succ(x151))))), Integer(Pos(Succ(Succ(Zero)))))_>=_H(Succ(Succ(x151)), Succ(Zero), anew_new_takeWhile1(Succ(Zero), Succ(Succ(x151))))) 58.54/37.23 58.54/37.23 (6) (cons_new_takeWhile1(Zero, Zero)=cons_new_takeWhile1(Zero, Zero) ==> new_takeWhile(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))))_>=_H(Succ(Zero), Succ(Zero), anew_new_takeWhile1(Succ(Zero), Succ(Zero)))) 58.54/37.23 58.54/37.23 58.54/37.23 58.54/37.23 We simplified constraint (4) using rule (VI) where we applied the induction hypothesis (new_new_takeWhile1(x150, x149)=cons_new_takeWhile1(Zero, Zero) ==> new_takeWhile(Integer(Pos(Succ(Succ(x149)))), Integer(Pos(Succ(Succ(x150)))))_>=_H(Succ(x149), Succ(x150), anew_new_takeWhile1(Succ(x150), Succ(x149)))) with sigma = [ ] which results in the following new constraint: 58.54/37.23 58.54/37.23 (7) (new_takeWhile(Integer(Pos(Succ(Succ(x149)))), Integer(Pos(Succ(Succ(x150)))))_>=_H(Succ(x149), Succ(x150), anew_new_takeWhile1(Succ(x150), Succ(x149))) ==> new_takeWhile(Integer(Pos(Succ(Succ(Succ(x149))))), Integer(Pos(Succ(Succ(Succ(x150))))))_>=_H(Succ(Succ(x149)), Succ(Succ(x150)), anew_new_takeWhile1(Succ(Succ(x150)), Succ(Succ(x149))))) 58.54/37.23 58.54/37.23 58.54/37.23 58.54/37.23 We solved constraint (5) using rules (I), (II).We simplified constraint (6) using rules (I), (II) which results in the following new constraint: 58.54/37.23 58.54/37.23 (8) (new_takeWhile(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))))_>=_H(Succ(Zero), Succ(Zero), anew_new_takeWhile1(Succ(Zero), Succ(Zero)))) 58.54/37.23 58.54/37.23 58.54/37.23 58.54/37.23 58.54/37.23 58.54/37.23 58.54/37.23 58.54/37.23 58.54/37.23 For Pair H(xu201, xu202, cons_new_takeWhile1(Zero, Succ(xu2040))) -> new_takeWhile1(xu201, xu202, Zero, Succ(xu2040)) the following chains were created: 58.54/37.23 *We consider the chain H(x97, x98, cons_new_takeWhile1(Zero, Succ(x99))) -> new_takeWhile1(x97, x98, Zero, Succ(x99)), new_takeWhile1(x100, x101, Zero, Succ(x102)) -> new_takeWhile(Integer(Pos(Succ(x100))), Integer(Pos(new_primPlusNat(x101)))) which results in the following constraint: 58.54/37.23 58.54/37.23 (1) (new_takeWhile1(x97, x98, Zero, Succ(x99))=new_takeWhile1(x100, x101, Zero, Succ(x102)) ==> H(x97, x98, cons_new_takeWhile1(Zero, Succ(x99)))_>=_new_takeWhile1(x97, x98, Zero, Succ(x99))) 58.54/37.23 58.54/37.23 58.54/37.23 58.54/37.23 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 58.54/37.23 58.54/37.23 (2) (H(x97, x98, cons_new_takeWhile1(Zero, Succ(x99)))_>=_new_takeWhile1(x97, x98, Zero, Succ(x99))) 58.54/37.23 58.54/37.23 58.54/37.23 58.54/37.23 58.54/37.23 58.54/37.23 58.54/37.23 58.54/37.23 58.54/37.23 For Pair H(xu201, xu202, cons_new_takeWhile1(Zero, Zero)) -> new_takeWhile1(xu201, xu202, Zero, Zero) the following chains were created: 58.54/37.23 *We consider the chain H(x125, x126, cons_new_takeWhile1(Zero, Zero)) -> new_takeWhile1(x125, x126, Zero, Zero), new_takeWhile1(x127, x128, Zero, Zero) -> new_takeWhile11(x127, x128) which results in the following constraint: 58.54/37.23 58.54/37.23 (1) (new_takeWhile1(x125, x126, Zero, Zero)=new_takeWhile1(x127, x128, Zero, Zero) ==> H(x125, x126, cons_new_takeWhile1(Zero, Zero))_>=_new_takeWhile1(x125, x126, Zero, Zero)) 58.54/37.23 58.54/37.23 58.54/37.23 58.54/37.23 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 58.54/37.23 58.54/37.23 (2) (H(x125, x126, cons_new_takeWhile1(Zero, Zero))_>=_new_takeWhile1(x125, x126, Zero, Zero)) 58.54/37.23 58.54/37.23 58.54/37.23 58.54/37.23 58.54/37.23 58.54/37.23 58.54/37.23 58.54/37.23 58.54/37.23 To summarize, we get the following constraints P__>=_ for the following pairs. 58.54/37.23 58.54/37.23 *new_takeWhile1(xu201, xu202, Zero, Succ(xu2040)) -> new_takeWhile(Integer(Pos(Succ(xu201))), Integer(Pos(new_primPlusNat(xu202)))) 58.54/37.23 58.54/37.23 *(new_takeWhile1(x3, x137, Zero, Succ(x5))_>=_new_takeWhile(Integer(Pos(Succ(x3))), Integer(Pos(new_primPlusNat(x137))))) 58.54/37.23 58.54/37.23 58.54/37.23 *(new_takeWhile1(x14, x138, Zero, Succ(x16))_>=_new_takeWhile(Integer(Pos(Succ(x14))), Integer(Pos(new_primPlusNat(x138))))) 58.54/37.23 58.54/37.23 58.54/37.23 58.54/37.23 58.54/37.23 *new_takeWhile(Integer(Pos(Succ(xu31000))), Integer(Pos(Succ(xu30000)))) -> new_takeWhile1(xu31000, xu30000, xu30000, xu31000) 58.54/37.23 58.54/37.23 *(new_takeWhile(Integer(Pos(Succ(Succ(x29)))), Integer(Pos(Succ(Zero))))_>=_new_takeWhile1(Succ(x29), Zero, Zero, Succ(x29))) 58.54/37.23 58.54/37.23 58.54/37.23 *(new_takeWhile(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Zero))))_>=_new_takeWhile1(Zero, Zero, Zero, Zero)) 58.54/37.23 58.54/37.23 58.54/37.23 58.54/37.23 58.54/37.23 *new_takeWhile1(xu201, xu202, Zero, Zero) -> new_takeWhile11(xu201, xu202) 58.54/37.23 58.54/37.23 *(new_takeWhile1(x50, x51, Zero, Zero)_>=_new_takeWhile11(x50, x51)) 58.54/37.23 58.54/37.23 58.54/37.23 58.54/37.23 58.54/37.23 *new_takeWhile11(xu201, xu202) -> new_takeWhile(Integer(Pos(Succ(xu201))), Integer(Pos(new_primPlusNat(xu202)))) 58.54/37.23 58.54/37.23 *(new_takeWhile11(x62, x139)_>=_new_takeWhile(Integer(Pos(Succ(x62))), Integer(Pos(new_primPlusNat(x139))))) 58.54/37.23 58.54/37.23 58.54/37.23 *(new_takeWhile11(x70, x140)_>=_new_takeWhile(Integer(Pos(Succ(x70))), Integer(Pos(new_primPlusNat(x140))))) 58.54/37.23 58.54/37.23 58.54/37.23 58.54/37.23 58.54/37.23 *new_takeWhile(Integer(Pos(Succ(xu31000))), Integer(Pos(Succ(xu30000)))) -> H(xu31000, xu30000, anew_new_takeWhile1(xu30000, xu31000)) 58.54/37.23 58.54/37.23 *(new_takeWhile(Integer(Pos(Succ(Succ(x143)))), Integer(Pos(Succ(Succ(x144)))))_>=_H(Succ(x143), Succ(x144), anew_new_takeWhile1(Succ(x144), Succ(x143))) ==> new_takeWhile(Integer(Pos(Succ(Succ(Succ(x143))))), Integer(Pos(Succ(Succ(Succ(x144))))))_>=_H(Succ(Succ(x143)), Succ(Succ(x144)), anew_new_takeWhile1(Succ(Succ(x144)), Succ(Succ(x143))))) 58.54/37.23 58.54/37.23 58.54/37.23 *(new_takeWhile(Integer(Pos(Succ(Succ(Succ(x146))))), Integer(Pos(Succ(Succ(Zero)))))_>=_H(Succ(Succ(x146)), Succ(Zero), anew_new_takeWhile1(Succ(Zero), Succ(Succ(x146))))) 58.54/37.23 58.54/37.23 58.54/37.23 *(new_takeWhile(Integer(Pos(Succ(Succ(x149)))), Integer(Pos(Succ(Succ(x150)))))_>=_H(Succ(x149), Succ(x150), anew_new_takeWhile1(Succ(x150), Succ(x149))) ==> new_takeWhile(Integer(Pos(Succ(Succ(Succ(x149))))), Integer(Pos(Succ(Succ(Succ(x150))))))_>=_H(Succ(Succ(x149)), Succ(Succ(x150)), anew_new_takeWhile1(Succ(Succ(x150)), Succ(Succ(x149))))) 58.54/37.23 58.54/37.23 58.54/37.23 *(new_takeWhile(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))))_>=_H(Succ(Zero), Succ(Zero), anew_new_takeWhile1(Succ(Zero), Succ(Zero)))) 58.54/37.23 58.54/37.23 58.54/37.23 58.54/37.23 58.54/37.23 *H(xu201, xu202, cons_new_takeWhile1(Zero, Succ(xu2040))) -> new_takeWhile1(xu201, xu202, Zero, Succ(xu2040)) 58.54/37.23 58.54/37.23 *(H(x97, x98, cons_new_takeWhile1(Zero, Succ(x99)))_>=_new_takeWhile1(x97, x98, Zero, Succ(x99))) 58.54/37.23 58.54/37.23 58.54/37.23 58.54/37.23 58.54/37.23 *H(xu201, xu202, cons_new_takeWhile1(Zero, Zero)) -> new_takeWhile1(xu201, xu202, Zero, Zero) 58.54/37.23 58.54/37.23 *(H(x125, x126, cons_new_takeWhile1(Zero, Zero))_>=_new_takeWhile1(x125, x126, Zero, Zero)) 58.54/37.23 58.54/37.23 58.54/37.23 58.54/37.23 58.54/37.23 58.54/37.23 58.54/37.23 58.54/37.23 58.54/37.23 The constraints for P_> respective P_bound are constructed from P__>=_ where we just replace every occurence of "t _>=_ s" in P__>=_ by "t > s" respective "t _>=_ c". Here c stands for the fresh constant used for P_bound. 58.54/37.23 ---------------------------------------- 58.54/37.23 58.54/37.23 (75) 58.54/37.23 Obligation: 58.54/37.23 Q DP problem: 58.54/37.23 The TRS P consists of the following rules: 58.54/37.23 58.54/37.23 new_takeWhile1(xu201, xu202, Zero, Succ(xu2040)) -> new_takeWhile(Integer(Pos(Succ(xu201))), Integer(Pos(new_primPlusNat(xu202)))) 58.54/37.23 new_takeWhile(Integer(Pos(Succ(xu31000))), Integer(Pos(Succ(xu30000)))) -> new_takeWhile1(xu31000, xu30000, xu30000, xu31000) 58.54/37.23 new_takeWhile1(xu201, xu202, Zero, Zero) -> new_takeWhile11(xu201, xu202) 58.54/37.23 new_takeWhile11(xu201, xu202) -> new_takeWhile(Integer(Pos(Succ(xu201))), Integer(Pos(new_primPlusNat(xu202)))) 58.54/37.23 new_takeWhile(Integer(Pos(Succ(xu31000))), Integer(Pos(Succ(xu30000)))) -> H(xu31000, xu30000, anew_new_takeWhile1(xu30000, xu31000)) 58.54/37.23 H(xu201, xu202, cons_new_takeWhile1(Zero, Succ(xu2040))) -> new_takeWhile1(xu201, xu202, Zero, Succ(xu2040)) 58.54/37.23 H(xu201, xu202, cons_new_takeWhile1(Zero, Zero)) -> new_takeWhile1(xu201, xu202, Zero, Zero) 58.54/37.23 58.54/37.23 The TRS R consists of the following rules: 58.54/37.23 58.54/37.23 new_primPlusNat(xu168) -> Succ(Succ(new_primPlusNat1(xu168))) 58.54/37.23 new_primPlusInt1 -> Pos(Succ(Zero)) 58.54/37.23 new_primPlusInt -> Pos(new_primPlusNat0) 58.54/37.23 new_primPlusInt0(Succ(xu300000)) -> Neg(Succ(xu300000)) 58.54/37.23 new_primPlusNat0 -> Succ(Zero) 58.54/37.23 new_primPlusNat1(Succ(xu1680)) -> Succ(xu1680) 58.54/37.23 new_primPlusInt0(Zero) -> Pos(Zero) 58.54/37.23 new_primPlusNat1(Zero) -> Zero 58.54/37.23 anew_new_takeWhile1(Succ(xu2030), Succ(xu2040)) -> new_new_takeWhile1(xu2030, xu2040) 58.54/37.23 new_new_takeWhile1(Succ(xu2030), Succ(xu2040)) -> new_new_takeWhile1(xu2030, xu2040) 58.54/37.23 new_new_takeWhile1(Zero, Succ(xu2040)) -> cons_new_takeWhile1(Zero, Succ(xu2040)) 58.54/37.23 new_new_takeWhile1(Zero, Zero) -> cons_new_takeWhile1(Zero, Zero) 58.54/37.23 58.54/37.23 The set Q consists of the following terms: 58.54/37.23 58.54/37.23 new_primPlusInt0(Succ(x0)) 58.54/37.23 new_primPlusInt0(Zero) 58.54/37.23 new_primPlusNat0 58.54/37.23 new_primPlusInt1 58.54/37.23 new_primPlusInt 58.54/37.23 new_primPlusNat(x0) 58.54/37.23 new_primPlusNat1(Zero) 58.54/37.23 new_primPlusNat1(Succ(x0)) 58.54/37.23 new_new_takeWhile1(Succ(x0), Succ(x1)) 58.54/37.23 anew_new_takeWhile1(Succ(x0), Succ(x1)) 58.54/37.23 new_new_takeWhile1(Zero, Succ(x0)) 58.54/37.23 new_new_takeWhile1(Zero, Zero) 58.54/37.23 58.54/37.23 We have to consider all minimal (P,Q,R)-chains. 58.54/37.23 ---------------------------------------- 58.54/37.23 58.54/37.23 (76) 58.54/37.23 Obligation: 58.54/37.23 Q DP problem: 58.54/37.23 The TRS P consists of the following rules: 58.54/37.23 58.54/37.23 new_takeWhile1(xu201, xu202, Succ(xu2030), Succ(xu2040)) -> new_takeWhile1(xu201, xu202, xu2030, xu2040) 58.54/37.23 58.54/37.23 R is empty. 58.54/37.23 Q is empty. 58.54/37.23 We have to consider all minimal (P,Q,R)-chains. 58.54/37.23 ---------------------------------------- 58.54/37.23 58.54/37.23 (77) QDPSizeChangeProof (EQUIVALENT) 58.54/37.23 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. 58.54/37.23 58.54/37.23 From the DPs we obtained the following set of size-change graphs: 58.54/37.23 *new_takeWhile1(xu201, xu202, Succ(xu2030), Succ(xu2040)) -> new_takeWhile1(xu201, xu202, xu2030, xu2040) 58.54/37.23 The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3, 4 > 4 58.54/37.23 58.54/37.23 58.54/37.23 ---------------------------------------- 58.54/37.23 58.54/37.23 (78) 58.54/37.23 YES 58.54/37.23 58.54/37.23 ---------------------------------------- 58.54/37.23 58.54/37.23 (79) 58.54/37.23 Obligation: 58.54/37.23 Q DP problem: 58.54/37.23 The TRS P consists of the following rules: 58.54/37.23 58.54/37.23 new_takeWhile(Integer(Pos(xu3100)), Integer(Neg(Succ(xu30000)))) -> new_takeWhile(Integer(Pos(xu3100)), Integer(new_primPlusInt0(xu30000))) 58.54/37.23 58.54/37.23 The TRS R consists of the following rules: 58.54/37.23 58.54/37.23 new_primPlusNat(xu168) -> Succ(Succ(new_primPlusNat1(xu168))) 58.54/37.23 new_primPlusInt1 -> Pos(Succ(Zero)) 58.54/37.23 new_primPlusInt -> Pos(new_primPlusNat0) 58.54/37.23 new_primPlusInt0(Succ(xu300000)) -> Neg(Succ(xu300000)) 58.54/37.23 new_primPlusNat0 -> Succ(Zero) 58.54/37.23 new_primPlusNat1(Succ(xu1680)) -> Succ(xu1680) 58.54/37.23 new_primPlusInt0(Zero) -> Pos(Zero) 58.54/37.23 new_primPlusNat1(Zero) -> Zero 58.54/37.23 58.54/37.23 The set Q consists of the following terms: 58.54/37.23 58.54/37.23 new_primPlusInt0(Succ(x0)) 58.54/37.23 new_primPlusInt0(Zero) 58.54/37.23 new_primPlusNat0 58.54/37.23 new_primPlusInt1 58.54/37.23 new_primPlusInt 58.54/37.23 new_primPlusNat(x0) 58.54/37.23 new_primPlusNat1(Zero) 58.54/37.23 new_primPlusNat1(Succ(x0)) 58.54/37.23 58.54/37.23 We have to consider all minimal (P,Q,R)-chains. 58.54/37.23 ---------------------------------------- 58.54/37.23 58.54/37.23 (80) QDPSizeChangeProof (EQUIVALENT) 58.54/37.23 We used the following order together with the size-change analysis [AAECC05] to show that there are no infinite chains for this DP problem. 58.54/37.23 58.54/37.23 Order:Polynomial interpretation [POLO]: 58.54/37.23 58.54/37.23 POL(Integer(x_1)) = x_1 58.54/37.23 POL(Neg(x_1)) = x_1 58.54/37.23 POL(Pos(x_1)) = 1 58.54/37.23 POL(Succ(x_1)) = 1 + x_1 58.54/37.23 POL(Zero) = 1 58.54/37.23 POL(new_primPlusInt0(x_1)) = x_1 58.54/37.23 58.54/37.23 58.54/37.23 58.54/37.23 58.54/37.23 From the DPs we obtained the following set of size-change graphs: 58.54/37.23 *new_takeWhile(Integer(Pos(xu3100)), Integer(Neg(Succ(xu30000)))) -> new_takeWhile(Integer(Pos(xu3100)), Integer(new_primPlusInt0(xu30000))) (allowed arguments on rhs = {1, 2}) 58.54/37.23 The graph contains the following edges 1 >= 1, 2 > 2 58.54/37.23 58.54/37.23 58.54/37.23 58.54/37.23 We oriented the following set of usable rules [AAECC05,FROCOS05]. 58.54/37.23 58.54/37.23 new_primPlusInt0(Zero) -> Pos(Zero) 58.54/37.23 new_primPlusInt0(Succ(xu300000)) -> Neg(Succ(xu300000)) 58.54/37.23 58.54/37.23 ---------------------------------------- 58.54/37.23 58.54/37.23 (81) 58.54/37.23 YES 58.54/37.23 58.54/37.23 ---------------------------------------- 58.54/37.23 58.54/37.23 (82) 58.54/37.23 Obligation: 58.54/37.23 Q DP problem: 58.54/37.23 The TRS P consists of the following rules: 58.54/37.23 58.54/37.23 new_map(:(xu40, xu41)) -> new_map(xu41) 58.54/37.23 58.54/37.23 R is empty. 58.54/37.23 Q is empty. 58.54/37.23 We have to consider all minimal (P,Q,R)-chains. 58.54/37.23 ---------------------------------------- 58.54/37.23 58.54/37.23 (83) QDPSizeChangeProof (EQUIVALENT) 58.54/37.23 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. 58.54/37.23 58.54/37.23 From the DPs we obtained the following set of size-change graphs: 58.54/37.23 *new_map(:(xu40, xu41)) -> new_map(xu41) 58.54/37.23 The graph contains the following edges 1 > 1 58.54/37.23 58.54/37.23 58.54/37.23 ---------------------------------------- 58.54/37.23 58.54/37.23 (84) 58.54/37.23 YES 58.54/37.23 58.54/37.23 ---------------------------------------- 58.54/37.23 58.54/37.23 (85) 58.54/37.23 Obligation: 58.54/37.23 Q DP problem: 58.54/37.23 The TRS P consists of the following rules: 58.54/37.23 58.54/37.23 new_psPs0(:(xu430, xu431), xu35, h, ba, bb) -> new_psPs0(xu431, xu35, h, ba, bb) 58.54/37.23 58.54/37.23 R is empty. 58.54/37.23 Q is empty. 58.54/37.23 We have to consider all minimal (P,Q,R)-chains. 58.54/37.23 ---------------------------------------- 58.54/37.23 58.54/37.23 (86) QDPSizeChangeProof (EQUIVALENT) 58.54/37.23 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. 58.54/37.23 58.54/37.23 From the DPs we obtained the following set of size-change graphs: 58.54/37.23 *new_psPs0(:(xu430, xu431), xu35, h, ba, bb) -> new_psPs0(xu431, xu35, h, ba, bb) 58.54/37.23 The graph contains the following edges 1 > 1, 2 >= 2, 3 >= 3, 4 >= 4, 5 >= 5 58.54/37.23 58.54/37.23 58.54/37.23 ---------------------------------------- 58.54/37.23 58.54/37.23 (87) 58.54/37.23 YES 58.54/37.23 58.54/37.23 ---------------------------------------- 58.54/37.23 58.54/37.23 (88) 58.54/37.23 Obligation: 58.54/37.23 Q DP problem: 58.54/37.23 The TRS P consists of the following rules: 58.54/37.23 58.54/37.23 new_range(@3(xu130, xu131, xu132), @3(xu140, xu141, xu142), app(app(app(ty_@3, bc), bd), be), ba, bb) -> new_range(xu130, xu140, bc, bd, be) 58.54/37.23 new_range1(@2(xu130, xu131), @2(xu140, xu141), cc, cd) -> new_foldr3(xu131, xu141, new_range3(xu130, xu140, cc), cc, cd) 58.54/37.23 new_foldr3(xu20, xu21, :(xu220, xu221), ec, app(app(app(ty_@3, ed), ee), ef)) -> new_range(xu20, xu21, ed, ee, ef) 58.54/37.23 new_foldr3(xu20, xu21, :(xu220, xu221), ec, app(app(ty_@2, eg), eh)) -> new_range1(xu20, xu21, eg, eh) 58.54/37.23 new_foldr1(xu11, xu12, xu13, xu14, :(xu150, xu151), bh, ca, cb) -> new_foldr2(xu150, xu11, xu12, new_range2(xu13, xu14, ca), bh, ca, cb) 58.54/37.23 new_foldr1(xu11, xu12, @2(xu130, xu131), @2(xu140, xu141), :(xu150, xu151), bh, app(app(ty_@2, cc), cd), cb) -> new_foldr3(xu131, xu141, new_range3(xu130, xu140, cc), cc, cd) 58.54/37.23 new_foldr1(xu11, xu12, @2(xu130, xu131), @2(xu140, xu141), :(xu150, xu151), bh, app(app(ty_@2, app(app(app(ty_@3, ce), cf), cg)), cd), cb) -> new_range(xu130, xu140, ce, cf, cg) 58.54/37.23 new_foldr1(xu11, xu12, xu13, xu14, :(xu150, xu151), bh, ca, cb) -> new_foldr1(xu11, xu12, xu13, xu14, xu151, bh, ca, cb) 58.54/37.23 new_range1(@2(xu130, xu131), @2(xu140, xu141), app(app(app(ty_@3, ce), cf), cg), cd) -> new_range(xu130, xu140, ce, cf, cg) 58.54/37.23 new_range(@3(xu130, xu131, xu132), @3(xu140, xu141, xu142), h, ba, bb) -> new_foldr1(xu132, xu142, xu131, xu141, new_range0(xu130, xu140, h), h, ba, bb) 58.54/37.23 new_foldr2(xu50, xu51, xu52, :(xu530, xu531), dc, dd, app(app(app(ty_@3, de), df), dg)) -> new_range(xu51, xu52, de, df, dg) 58.54/37.23 new_foldr1(xu11, xu12, @2(xu130, xu131), @2(xu140, xu141), :(xu150, xu151), bh, app(app(ty_@2, app(app(ty_@2, da), db)), cd), cb) -> new_range1(xu130, xu140, da, db) 58.54/37.23 new_range(@3(xu130, xu131, xu132), @3(xu140, xu141, xu142), app(app(ty_@2, bf), bg), ba, bb) -> new_range1(xu130, xu140, bf, bg) 58.54/37.23 new_foldr1(xu11, xu12, @3(xu130, xu131, xu132), @3(xu140, xu141, xu142), :(xu150, xu151), bh, app(app(app(ty_@3, h), ba), bb), cb) -> new_foldr1(xu132, xu142, xu131, xu141, new_range0(xu130, xu140, h), h, ba, bb) 58.54/37.23 new_foldr2(xu50, xu51, xu52, :(xu530, xu531), dc, dd, eb) -> new_foldr2(xu50, xu51, xu52, xu531, dc, dd, eb) 58.54/37.23 new_foldr1(xu11, xu12, @3(xu130, xu131, xu132), @3(xu140, xu141, xu142), :(xu150, xu151), bh, app(app(app(ty_@3, app(app(ty_@2, bf), bg)), ba), bb), cb) -> new_range1(xu130, xu140, bf, bg) 58.54/37.23 new_foldr2(xu50, xu51, xu52, :(xu530, xu531), dc, dd, app(app(ty_@2, dh), ea)) -> new_range1(xu51, xu52, dh, ea) 58.54/37.23 new_foldr3(xu20, xu21, :(xu220, xu221), ec, fa) -> new_foldr3(xu20, xu21, xu221, ec, fa) 58.54/37.23 new_foldr1(xu11, xu12, @3(xu130, xu131, xu132), @3(xu140, xu141, xu142), :(xu150, xu151), bh, app(app(app(ty_@3, app(app(app(ty_@3, bc), bd), be)), ba), bb), cb) -> new_range(xu130, xu140, bc, bd, be) 58.54/37.23 new_range1(@2(xu130, xu131), @2(xu140, xu141), app(app(ty_@2, da), db), cd) -> new_range1(xu130, xu140, da, db) 58.54/37.23 58.54/37.23 The TRS R consists of the following rules: 58.54/37.23 58.54/37.23 new_takeWhile112(xu195, xu196, xu197) -> :(Neg(Succ(xu196)), new_takeWhile5(Neg(Succ(xu195)), xu197)) 58.54/37.23 new_range13(xu20, xu21, ty_Ordering) -> new_range5(@2(xu20, xu21)) 58.54/37.23 new_takeWhile114(xu206, xu207, Zero, Succ(xu2090)) -> new_takeWhile110(xu206, xu207) 58.54/37.23 new_foldr9 -> [] 58.54/37.23 new_psPs2([], xu42, gc, gd) -> xu42 58.54/37.23 new_takeWhile5(Pos(Zero), Pos(Succ(xu3000))) -> [] 58.54/37.23 new_range13(xu20, xu21, ty_Integer) -> new_range8(@2(xu20, xu21)) 58.54/37.23 new_range3(xu130, xu140, ty_Ordering) -> new_range5(@2(xu130, xu140)) 58.54/37.23 new_takeWhile3(Integer(Neg(Succ(xu31000))), Integer(Pos(Zero))) -> [] 58.54/37.23 new_range13(xu20, xu21, app(app(ty_@2, eg), eh)) -> new_range11(xu20, xu21, eg, eh) 58.54/37.23 new_range5(@2(EQ, EQ)) -> :(EQ, new_foldr10) 58.54/37.23 new_range12(xu51, xu52, ty_Int) -> new_range10(@2(xu51, xu52)) 58.54/37.23 new_takeWhile7(Zero) -> new_takeWhile5(Neg(Zero), Pos(Zero)) 58.54/37.23 new_range12(xu51, xu52, app(app(app(ty_@3, de), df), dg)) -> new_range9(xu51, xu52, de, df, dg) 58.54/37.23 new_foldr11(xu11, xu12, xu13, xu14, :(xu150, xu151), bh, ca, cb) -> new_psPs1(new_foldr8(xu150, xu11, xu12, new_range2(xu13, xu14, ca), bh, ca, cb), new_foldr11(xu11, xu12, xu13, xu14, xu151, bh, ca, cb), bh, ca, cb) 58.54/37.23 new_range13(xu20, xu21, ty_Int) -> new_range10(@2(xu20, xu21)) 58.54/37.23 new_range3(xu130, xu140, app(app(ty_@2, da), db)) -> new_range11(xu130, xu140, da, db) 58.54/37.23 new_takeWhile19(xu195, xu196, xu197, Succ(xu1980), Zero) -> [] 58.54/37.23 new_takeWhile3(Integer(Neg(Zero)), Integer(Pos(Zero))) -> :(Integer(Pos(Zero)), new_takeWhile3(Integer(Neg(Zero)), Integer(new_primPlusInt))) 58.54/37.23 new_range2(xu13, xu14, ty_Int) -> new_range10(@2(xu13, xu14)) 58.54/37.23 new_primPlusInt0(Succ(xu300000)) -> Neg(Succ(xu300000)) 58.54/37.23 new_primPlusNat0 -> Succ(Zero) 58.54/37.23 new_range12(xu51, xu52, ty_Ordering) -> new_range5(@2(xu51, xu52)) 58.54/37.23 new_range2(xu13, xu14, app(app(app(ty_@3, h), ba), bb)) -> new_range9(xu13, xu14, h, ba, bb) 58.54/37.23 new_range3(xu130, xu140, ty_Integer) -> new_range8(@2(xu130, xu140)) 58.54/37.23 new_takeWhile17(xu201, xu202) -> :(Integer(Pos(Succ(xu202))), new_takeWhile3(Integer(Pos(Succ(xu201))), Integer(Pos(new_primPlusNat(xu202))))) 58.54/37.23 new_primPlusNat1(Zero) -> Zero 58.54/37.23 new_takeWhile113(xu201, xu202, Succ(xu2030), Succ(xu2040)) -> new_takeWhile113(xu201, xu202, xu2030, xu2040) 58.54/37.23 new_takeWhile111(xu167, xu168) -> :(Pos(Succ(xu168)), new_takeWhile5(Pos(Succ(xu167)), Pos(new_primPlusNat(xu168)))) 58.54/37.23 new_range2(xu13, xu14, ty_Bool) -> new_range7(@2(xu13, xu14)) 58.54/37.23 new_range12(xu51, xu52, app(app(ty_@2, dh), ea)) -> new_range11(xu51, xu52, dh, ea) 58.54/37.23 new_range3(xu130, xu140, app(app(app(ty_@3, ce), cf), cg)) -> new_range9(xu130, xu140, ce, cf, cg) 58.54/37.23 new_takeWhile19(xu195, xu196, xu197, Zero, Succ(xu1990)) -> new_takeWhile112(xu195, xu196, xu197) 58.54/37.23 new_map0([]) -> [] 58.54/37.23 new_range13(xu20, xu21, app(app(app(ty_@3, ed), ee), ef)) -> new_range9(xu20, xu21, ed, ee, ef) 58.54/37.23 new_range12(xu51, xu52, ty_Bool) -> new_range7(@2(xu51, xu52)) 58.54/37.23 new_primPlusInt0(Zero) -> Pos(Zero) 58.54/37.23 new_foldr10 -> [] 58.54/37.23 new_primIntToChar(Neg(Zero)) -> Char(Zero) 58.54/37.23 new_takeWhile6(xu310, Succ(xu30000)) -> new_takeWhile5(Pos(xu310), Neg(Succ(xu30000))) 58.54/37.23 new_range3(xu130, xu140, ty_Int) -> new_range10(@2(xu130, xu140)) 58.54/37.23 new_primIntToChar(Pos(xu400)) -> Char(xu400) 58.54/37.23 new_range2(xu13, xu14, app(app(ty_@2, cc), cd)) -> new_range11(xu13, xu14, cc, cd) 58.54/37.23 new_range9(@3(xu130, xu131, xu132), @3(xu140, xu141, xu142), h, ba, bb) -> new_foldr11(xu132, xu142, xu131, xu141, new_range0(xu130, xu140, h), h, ba, bb) 58.54/37.23 new_takeWhile3(Integer(Neg(Succ(xu31000))), Integer(Neg(Zero))) -> [] 58.54/37.23 new_foldr8(xu50, xu51, xu52, :(xu530, xu531), dc, dd, eb) -> new_psPs1(new_foldr4(xu50, xu530, new_range12(xu51, xu52, eb), dc, dd, eb), new_foldr8(xu50, xu51, xu52, xu531, dc, dd, eb), dc, dd, eb) 58.54/37.23 new_range5(@2(GT, GT)) -> :(GT, new_foldr10) 58.54/37.23 new_foldr4(xu70, xu71, :(xu720, xu721), fb, fc, fd) -> new_psPs1(:(@3(xu70, xu71, xu720), []), new_foldr4(xu70, xu71, xu721, fb, fc, fd), fb, fc, fd) 58.54/37.23 new_takeWhile114(xu206, xu207, Succ(xu2080), Succ(xu2090)) -> new_takeWhile114(xu206, xu207, xu2080, xu2090) 58.54/37.23 new_range5(@2(GT, LT)) -> new_foldr10 58.54/37.23 new_takeWhile113(xu201, xu202, Zero, Succ(xu2040)) -> new_takeWhile17(xu201, xu202) 58.54/37.23 new_takeWhile5(Neg(xu310), Pos(Succ(xu3000))) -> [] 58.54/37.23 new_takeWhile3(Integer(Neg(xu3100)), Integer(Pos(Succ(xu30000)))) -> [] 58.54/37.23 new_takeWhile5(Pos(Succ(xu3100)), Pos(Succ(xu3000))) -> new_takeWhile18(xu3100, xu3000, xu3000, xu3100) 58.54/37.23 new_range7(@2(False, False)) -> :(False, new_foldr9) 58.54/37.23 new_takeWhile5(Neg(Succ(xu3100)), Neg(Succ(xu3000))) -> new_takeWhile19(xu3100, xu3000, new_primPlusInt0(xu3000), xu3100, xu3000) 58.54/37.23 new_psPs1([], xu35, fh, ga, gb) -> xu35 58.54/37.23 new_takeWhile5(Neg(Zero), Neg(Zero)) -> :(Neg(Zero), new_takeWhile5(Neg(Zero), Pos(Succ(Zero)))) 58.54/37.23 new_fromEnum(Char(xu310)) -> Pos(xu310) 58.54/37.23 new_range2(xu13, xu14, ty_Ordering) -> new_range5(@2(xu13, xu14)) 58.54/37.23 new_range8(@2(xu30, xu31)) -> new_takeWhile3(xu31, xu30) 58.54/37.23 new_foldr8(xu50, xu51, xu52, [], dc, dd, eb) -> new_foldr5(dc, dd, eb) 58.54/37.23 new_takeWhile19(xu195, xu196, xu197, Zero, Zero) -> new_takeWhile112(xu195, xu196, xu197) 58.54/37.23 new_map0(:(xu40, xu41)) -> :(new_primIntToChar(xu40), new_map0(xu41)) 58.54/37.23 new_takeWhile5(Pos(xu310), Neg(Succ(xu3000))) -> :(Neg(Succ(xu3000)), new_takeWhile6(xu310, xu3000)) 58.54/37.23 new_foldr6(xu57, :(xu580, xu581), ff, fg) -> new_psPs2(:(@2(xu57, xu580), []), new_foldr6(xu57, xu581, ff, fg), ff, fg) 58.54/37.23 new_takeWhile5(Pos(Zero), Neg(Zero)) -> :(Neg(Zero), new_takeWhile5(Pos(Zero), Pos(Succ(Zero)))) 58.54/37.23 new_takeWhile113(xu201, xu202, Succ(xu2030), Zero) -> [] 58.54/37.23 new_foldr11(xu11, xu12, xu13, xu14, [], bh, ca, cb) -> new_foldr5(bh, ca, cb) 58.54/37.23 new_range10(@2(xu30, xu31)) -> new_enumFromTo(xu30, xu31) 58.54/37.23 new_takeWhile5(Neg(Zero), Pos(Zero)) -> :(Pos(Zero), new_takeWhile5(Neg(Zero), Pos(new_primPlusNat0))) 58.54/37.23 new_takeWhile18(xu167, xu168, Succ(xu1690), Succ(xu1700)) -> new_takeWhile18(xu167, xu168, xu1690, xu1700) 58.54/37.23 new_range0(xu130, xu140, app(app(ty_@2, bf), bg)) -> new_range11(xu130, xu140, bf, bg) 58.54/37.23 new_takeWhile114(xu206, xu207, Zero, Zero) -> new_takeWhile110(xu206, xu207) 58.54/37.23 new_takeWhile5(Pos(Zero), Pos(Zero)) -> :(Pos(Zero), new_takeWhile5(Pos(Zero), Pos(new_primPlusNat0))) 58.54/37.23 new_takeWhile3(Integer(Pos(Succ(xu31000))), Integer(Pos(Succ(xu30000)))) -> new_takeWhile113(xu31000, xu30000, xu30000, xu31000) 58.54/37.23 new_takeWhile5(Neg(Succ(xu3100)), Neg(Zero)) -> [] 58.54/37.23 new_takeWhile3(Integer(Neg(Zero)), Integer(Neg(Succ(xu30000)))) -> :(Integer(Neg(Succ(xu30000))), new_takeWhile3(Integer(Neg(Zero)), Integer(new_primPlusInt0(xu30000)))) 58.54/37.23 new_range2(xu13, xu14, ty_Char) -> new_range6(@2(xu13, xu14)) 58.54/37.23 new_takeWhile113(xu201, xu202, Zero, Zero) -> new_takeWhile17(xu201, xu202) 58.54/37.23 new_range7(@2(True, True)) -> :(True, new_foldr9) 58.54/37.23 new_takeWhile5(Pos(Succ(xu3100)), Neg(Zero)) -> :(Neg(Zero), new_takeWhile5(Pos(Succ(xu3100)), Pos(Succ(Zero)))) 58.54/37.23 new_range5(@2(LT, GT)) -> :(LT, :(EQ, :(GT, new_foldr10))) 58.54/37.23 new_takeWhile5(Neg(Zero), Neg(Succ(xu3000))) -> :(Neg(Succ(xu3000)), new_takeWhile7(xu3000)) 58.54/37.23 new_takeWhile110(xu206, xu207) -> :(Integer(Neg(Succ(xu207))), new_takeWhile4(xu206, new_primPlusInt0(xu207), new_primPlusInt0(xu207))) 58.54/37.23 new_range2(xu13, xu14, ty_@0) -> new_range4(@2(xu13, xu14)) 58.54/37.23 new_range11(@2(xu130, xu131), @2(xu140, xu141), cc, cd) -> new_foldr12(xu131, xu141, new_range3(xu130, xu140, cc), cc, cd) 58.54/37.23 new_primPlusNat1(Succ(xu1680)) -> Succ(xu1680) 58.54/37.23 new_foldr12(xu20, xu21, [], ec, fa) -> new_foldr7(ec, fa) 58.54/37.23 new_foldr7(ec, fa) -> [] 58.54/37.23 new_takeWhile18(xu167, xu168, Zero, Succ(xu1700)) -> new_takeWhile111(xu167, xu168) 58.54/37.23 new_range3(xu130, xu140, ty_Char) -> new_range6(@2(xu130, xu140)) 58.54/37.23 new_foldr4(xu70, xu71, [], fb, fc, fd) -> new_foldr5(fb, fc, fd) 58.54/37.23 new_range12(xu51, xu52, ty_@0) -> new_range4(@2(xu51, xu52)) 58.54/37.23 new_range0(xu130, xu140, ty_Ordering) -> new_range5(@2(xu130, xu140)) 58.54/37.23 new_range0(xu130, xu140, ty_Integer) -> new_range8(@2(xu130, xu140)) 58.54/37.23 new_range5(@2(LT, EQ)) -> :(LT, :(EQ, new_foldr10)) 58.54/37.23 new_takeWhile5(Pos(Succ(xu3100)), Pos(Zero)) -> :(Pos(Zero), new_takeWhile5(Pos(Succ(xu3100)), Pos(new_primPlusNat0))) 58.54/37.23 new_takeWhile114(xu206, xu207, Succ(xu2080), Zero) -> [] 58.54/37.23 new_takeWhile18(xu167, xu168, Succ(xu1690), Zero) -> [] 58.54/37.23 new_foldr6(xu57, [], ff, fg) -> new_foldr7(ff, fg) 58.54/37.23 new_range12(xu51, xu52, ty_Char) -> new_range6(@2(xu51, xu52)) 58.54/37.23 new_range3(xu130, xu140, ty_@0) -> new_range4(@2(xu130, xu140)) 58.54/37.23 new_range6(@2(xu30, xu31)) -> new_map0(new_enumFromTo(new_fromEnum(xu30), new_fromEnum(xu31))) 58.54/37.23 new_takeWhile3(Integer(Pos(Succ(xu31000))), Integer(Neg(Zero))) -> :(Integer(Neg(Zero)), new_takeWhile3(Integer(Pos(Succ(xu31000))), Integer(new_primPlusInt1))) 58.54/37.23 new_range5(@2(GT, EQ)) -> new_foldr10 58.54/37.23 new_psPs2(:(xu440, xu441), xu42, gc, gd) -> :(xu440, new_psPs2(xu441, xu42, gc, gd)) 58.54/37.23 new_takeWhile7(Succ(xu30000)) -> new_takeWhile5(Neg(Zero), Neg(Succ(xu30000))) 58.54/37.23 new_takeWhile5(Neg(Succ(xu3100)), Pos(Zero)) -> [] 58.54/37.23 new_range13(xu20, xu21, ty_@0) -> new_range4(@2(xu20, xu21)) 58.54/37.23 new_primPlusNat(xu168) -> Succ(Succ(new_primPlusNat1(xu168))) 58.54/37.23 new_range13(xu20, xu21, ty_Bool) -> new_range7(@2(xu20, xu21)) 58.54/37.23 new_takeWhile18(xu167, xu168, Zero, Zero) -> new_takeWhile111(xu167, xu168) 58.54/37.23 new_takeWhile3(Integer(Pos(Succ(xu31000))), Integer(Pos(Zero))) -> :(Integer(Pos(Zero)), new_takeWhile3(Integer(Pos(Succ(xu31000))), Integer(new_primPlusInt))) 58.54/37.23 new_takeWhile4(xu206, xu211, xu210) -> new_takeWhile3(Integer(Neg(Succ(xu206))), Integer(xu210)) 58.54/37.23 new_range5(@2(EQ, GT)) -> :(EQ, :(GT, new_foldr10)) 58.54/37.23 new_enumFromTo(xu30, xu31) -> new_takeWhile5(xu31, xu30) 58.54/37.23 new_range0(xu130, xu140, ty_Char) -> new_range6(@2(xu130, xu140)) 58.54/37.23 new_psPs1(:(xu430, xu431), xu35, fh, ga, gb) -> :(xu430, new_psPs1(xu431, xu35, fh, ga, gb)) 58.54/37.23 new_takeWhile3(Integer(Pos(Zero)), Integer(Pos(Zero))) -> :(Integer(Pos(Zero)), new_takeWhile3(Integer(Pos(Zero)), Integer(new_primPlusInt))) 58.54/37.23 new_primIntToChar(Neg(Succ(xu4000))) -> error([]) 58.54/37.23 new_primPlusInt -> Pos(new_primPlusNat0) 58.54/37.23 new_range13(xu20, xu21, ty_Char) -> new_range6(@2(xu20, xu21)) 58.54/37.23 new_takeWhile3(Integer(Pos(Zero)), Integer(Pos(Succ(xu30000)))) -> [] 58.54/37.23 new_foldr12(xu20, xu21, :(xu220, xu221), ec, fa) -> new_psPs2(new_foldr6(xu220, new_range13(xu20, xu21, fa), ec, fa), new_foldr12(xu20, xu21, xu221, ec, fa), ec, fa) 58.54/37.23 new_range7(@2(True, False)) -> new_foldr9 58.54/37.23 new_range3(xu130, xu140, ty_Bool) -> new_range7(@2(xu130, xu140)) 58.54/37.23 new_range4(@2(@0, @0)) -> :(@0, []) 58.54/37.23 new_range0(xu130, xu140, app(app(app(ty_@3, bc), bd), be)) -> new_range9(xu130, xu140, bc, bd, be) 58.54/37.23 new_takeWhile6(xu310, Zero) -> new_takeWhile5(Pos(xu310), Pos(Zero)) 58.54/37.23 new_range0(xu130, xu140, ty_Int) -> new_range10(@2(xu130, xu140)) 58.54/37.23 new_range0(xu130, xu140, ty_@0) -> new_range4(@2(xu130, xu140)) 58.54/37.23 new_takeWhile3(Integer(Neg(Succ(xu31000))), Integer(Neg(Succ(xu30000)))) -> new_takeWhile114(xu31000, xu30000, xu31000, xu30000) 58.54/37.23 new_range12(xu51, xu52, ty_Integer) -> new_range8(@2(xu51, xu52)) 58.54/37.23 new_takeWhile3(Integer(Pos(xu3100)), Integer(Neg(Succ(xu30000)))) -> :(Integer(Neg(Succ(xu30000))), new_takeWhile3(Integer(Pos(xu3100)), Integer(new_primPlusInt0(xu30000)))) 58.54/37.23 new_range5(@2(LT, LT)) -> :(LT, new_foldr10) 58.54/37.23 new_range2(xu13, xu14, ty_Integer) -> new_range8(@2(xu13, xu14)) 58.54/37.23 new_takeWhile3(Integer(Pos(Zero)), Integer(Neg(Zero))) -> :(Integer(Neg(Zero)), new_takeWhile3(Integer(Pos(Zero)), Integer(new_primPlusInt1))) 58.54/37.23 new_primPlusInt1 -> Pos(Succ(Zero)) 58.54/37.23 new_takeWhile3(Integer(Neg(Zero)), Integer(Neg(Zero))) -> :(Integer(Neg(Zero)), new_takeWhile3(Integer(Neg(Zero)), Integer(new_primPlusInt1))) 58.54/37.23 new_range7(@2(False, True)) -> :(False, :(True, new_foldr9)) 58.54/37.23 new_range5(@2(EQ, LT)) -> new_foldr10 58.54/37.23 new_takeWhile19(xu195, xu196, xu197, Succ(xu1980), Succ(xu1990)) -> new_takeWhile19(xu195, xu196, xu197, xu1980, xu1990) 58.54/37.23 new_foldr5(bh, ca, cb) -> [] 58.54/37.23 new_range0(xu130, xu140, ty_Bool) -> new_range7(@2(xu130, xu140)) 58.54/37.23 58.54/37.23 The set Q consists of the following terms: 58.54/37.23 58.54/37.23 new_range0(x0, x1, ty_Char) 58.54/37.23 new_primPlusInt 58.54/37.23 new_foldr6(x0, :(x1, x2), x3, x4) 58.54/37.23 new_primIntToChar(Pos(x0)) 58.54/37.23 new_range11(@2(x0, x1), @2(x2, x3), x4, x5) 58.54/37.23 new_takeWhile18(x0, x1, Zero, Zero) 58.54/37.23 new_foldr9 58.54/37.23 new_range2(x0, x1, ty_@0) 58.54/37.23 new_foldr12(x0, x1, :(x2, x3), x4, x5) 58.54/37.23 new_range3(x0, x1, ty_Integer) 58.54/37.23 new_range12(x0, x1, ty_Ordering) 58.54/37.23 new_range3(x0, x1, ty_Int) 58.54/37.23 new_takeWhile3(Integer(Pos(Succ(x0))), Integer(Pos(Succ(x1)))) 58.54/37.23 new_range7(@2(True, True)) 58.54/37.23 new_range4(@2(@0, @0)) 58.54/37.23 new_takeWhile3(Integer(Neg(Succ(x0))), Integer(Neg(Succ(x1)))) 58.54/37.23 new_primPlusInt0(Zero) 58.54/37.23 new_range12(x0, x1, ty_@0) 58.54/37.23 new_takeWhile3(Integer(Neg(Succ(x0))), Integer(Neg(Zero))) 58.54/37.23 new_range3(x0, x1, ty_Char) 58.54/37.23 new_range5(@2(GT, EQ)) 58.54/37.23 new_range5(@2(EQ, GT)) 58.54/37.23 new_takeWhile5(Pos(Zero), Neg(Zero)) 58.54/37.23 new_takeWhile5(Neg(Zero), Pos(Zero)) 58.54/37.23 new_range2(x0, x1, ty_Bool) 58.54/37.23 new_takeWhile5(Pos(Zero), Pos(Zero)) 58.54/37.23 new_range13(x0, x1, app(app(app(ty_@3, x2), x3), x4)) 58.54/37.23 new_range5(@2(GT, LT)) 58.54/37.23 new_range5(@2(LT, GT)) 58.54/37.23 new_takeWhile3(Integer(Neg(Zero)), Integer(Neg(Succ(x0)))) 58.54/37.23 new_range13(x0, x1, app(app(ty_@2, x2), x3)) 58.54/37.23 new_range7(@2(True, False)) 58.54/37.23 new_range7(@2(False, True)) 58.54/37.23 new_takeWhile113(x0, x1, Zero, Zero) 58.54/37.23 new_takeWhile3(Integer(Neg(Zero)), Integer(Pos(Zero))) 58.54/37.23 new_takeWhile3(Integer(Pos(Zero)), Integer(Neg(Zero))) 58.54/37.23 new_range0(x0, x1, ty_Int) 58.54/37.23 new_range12(x0, x1, ty_Bool) 58.54/37.23 new_primPlusNat1(Succ(x0)) 58.54/37.23 new_foldr7(x0, x1) 58.54/37.23 new_range6(@2(x0, x1)) 58.54/37.23 new_takeWhile6(x0, Succ(x1)) 58.54/37.23 new_range3(x0, x1, ty_Bool) 58.54/37.23 new_range5(@2(LT, LT)) 58.54/37.23 new_range13(x0, x1, ty_Bool) 58.54/37.23 new_range12(x0, x1, ty_Integer) 58.54/37.23 new_takeWhile5(Pos(Succ(x0)), Pos(Zero)) 58.54/37.23 new_takeWhile17(x0, x1) 58.54/37.23 new_primIntToChar(Neg(Zero)) 58.54/37.23 new_range13(x0, x1, ty_Char) 58.54/37.23 new_takeWhile113(x0, x1, Zero, Succ(x2)) 58.54/37.23 new_range2(x0, x1, ty_Ordering) 58.54/37.23 new_takeWhile112(x0, x1, x2) 58.54/37.23 new_takeWhile3(Integer(Neg(Zero)), Integer(Neg(Zero))) 58.54/37.23 new_primPlusNat(x0) 58.54/37.23 new_takeWhile114(x0, x1, Succ(x2), Zero) 58.54/37.23 new_foldr11(x0, x1, x2, x3, :(x4, x5), x6, x7, x8) 58.54/37.23 new_foldr8(x0, x1, x2, [], x3, x4, x5) 58.54/37.23 new_takeWhile7(Zero) 58.54/37.23 new_takeWhile5(Neg(Succ(x0)), Neg(Succ(x1))) 58.54/37.23 new_takeWhile3(Integer(Pos(Zero)), Integer(Pos(Succ(x0)))) 58.54/37.23 new_primPlusNat0 58.54/37.23 new_psPs1([], x0, x1, x2, x3) 58.54/37.23 new_takeWhile110(x0, x1) 58.54/37.23 new_range5(@2(EQ, EQ)) 58.54/37.23 new_range0(x0, x1, ty_Bool) 58.54/37.23 new_foldr8(x0, x1, x2, :(x3, x4), x5, x6, x7) 58.54/37.23 new_range5(@2(LT, EQ)) 58.54/37.23 new_range5(@2(EQ, LT)) 58.54/37.23 new_primIntToChar(Neg(Succ(x0))) 58.54/37.23 new_takeWhile19(x0, x1, x2, Succ(x3), Zero) 58.54/37.23 new_primPlusInt1 58.54/37.23 new_takeWhile3(Integer(Pos(Succ(x0))), Integer(Pos(Zero))) 58.54/37.23 new_range2(x0, x1, ty_Int) 58.54/37.23 new_takeWhile5(Neg(Zero), Neg(Succ(x0))) 58.54/37.23 new_takeWhile18(x0, x1, Succ(x2), Succ(x3)) 58.54/37.23 new_takeWhile5(Neg(x0), Pos(Succ(x1))) 58.54/37.23 new_takeWhile5(Pos(x0), Neg(Succ(x1))) 58.54/37.23 new_takeWhile114(x0, x1, Zero, Zero) 58.54/37.23 new_range0(x0, x1, ty_@0) 58.54/37.23 new_primPlusNat1(Zero) 58.54/37.23 new_fromEnum(Char(x0)) 58.54/37.23 new_range9(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8) 58.54/37.23 new_range0(x0, x1, app(app(app(ty_@3, x2), x3), x4)) 58.54/37.23 new_range3(x0, x1, app(app(ty_@2, x2), x3)) 58.54/37.23 new_psPs2([], x0, x1, x2) 58.54/37.23 new_range10(@2(x0, x1)) 58.54/37.23 new_range2(x0, x1, ty_Char) 58.54/37.23 new_range12(x0, x1, app(app(app(ty_@3, x2), x3), x4)) 58.54/37.23 new_takeWhile19(x0, x1, x2, Zero, Zero) 58.54/37.23 new_takeWhile18(x0, x1, Succ(x2), Zero) 58.54/37.23 new_map0(:(x0, x1)) 58.54/37.23 new_takeWhile113(x0, x1, Succ(x2), Succ(x3)) 58.54/37.23 new_range13(x0, x1, ty_Ordering) 58.54/37.23 new_takeWhile4(x0, x1, x2) 58.54/37.23 new_foldr10 58.54/37.23 new_takeWhile5(Pos(Zero), Pos(Succ(x0))) 58.54/37.23 new_takeWhile114(x0, x1, Zero, Succ(x2)) 58.54/37.23 new_takeWhile5(Neg(Succ(x0)), Neg(Zero)) 58.54/37.23 new_range13(x0, x1, ty_Int) 58.54/37.23 new_takeWhile19(x0, x1, x2, Succ(x3), Succ(x4)) 58.54/37.23 new_takeWhile113(x0, x1, Succ(x2), Zero) 58.54/37.23 new_range2(x0, x1, ty_Integer) 58.54/37.23 new_takeWhile5(Pos(Succ(x0)), Neg(Zero)) 58.54/37.23 new_takeWhile5(Neg(Succ(x0)), Pos(Zero)) 58.54/37.23 new_takeWhile3(Integer(Pos(Zero)), Integer(Pos(Zero))) 58.54/37.23 new_range8(@2(x0, x1)) 58.54/37.23 new_takeWhile7(Succ(x0)) 58.54/37.23 new_range0(x0, x1, app(app(ty_@2, x2), x3)) 58.54/37.23 new_range3(x0, x1, ty_Ordering) 58.54/37.23 new_range12(x0, x1, ty_Int) 58.54/37.23 new_takeWhile114(x0, x1, Succ(x2), Succ(x3)) 58.54/37.23 new_range13(x0, x1, ty_@0) 58.54/37.23 new_takeWhile5(Neg(Zero), Neg(Zero)) 58.54/37.23 new_enumFromTo(x0, x1) 58.54/37.23 new_takeWhile5(Pos(Succ(x0)), Pos(Succ(x1))) 58.54/37.23 new_range7(@2(False, False)) 58.54/37.23 new_foldr12(x0, x1, [], x2, x3) 58.54/37.23 new_takeWhile6(x0, Zero) 58.54/37.23 new_foldr11(x0, x1, x2, x3, [], x4, x5, x6) 58.54/37.23 new_takeWhile19(x0, x1, x2, Zero, Succ(x3)) 58.54/37.23 new_range0(x0, x1, ty_Ordering) 58.54/37.23 new_psPs2(:(x0, x1), x2, x3, x4) 58.54/37.23 new_takeWhile111(x0, x1) 58.54/37.23 new_range12(x0, x1, app(app(ty_@2, x2), x3)) 58.54/37.23 new_map0([]) 58.54/37.23 new_foldr6(x0, [], x1, x2) 58.54/37.23 new_range3(x0, x1, app(app(app(ty_@3, x2), x3), x4)) 58.54/37.23 new_takeWhile18(x0, x1, Zero, Succ(x2)) 58.54/37.23 new_range12(x0, x1, ty_Char) 58.54/37.23 new_takeWhile3(Integer(Neg(Succ(x0))), Integer(Pos(Zero))) 58.54/37.23 new_takeWhile3(Integer(Pos(Succ(x0))), Integer(Neg(Zero))) 58.54/37.23 new_range5(@2(GT, GT)) 58.54/37.23 new_takeWhile3(Integer(Neg(x0)), Integer(Pos(Succ(x1)))) 58.54/37.23 new_takeWhile3(Integer(Pos(x0)), Integer(Neg(Succ(x1)))) 58.54/37.23 new_psPs1(:(x0, x1), x2, x3, x4, x5) 58.54/37.23 new_range3(x0, x1, ty_@0) 58.54/37.23 new_foldr4(x0, x1, :(x2, x3), x4, x5, x6) 58.54/37.23 new_primPlusInt0(Succ(x0)) 58.54/37.23 new_range2(x0, x1, app(app(app(ty_@3, x2), x3), x4)) 58.54/37.23 new_foldr5(x0, x1, x2) 58.54/37.23 new_range13(x0, x1, ty_Integer) 58.54/37.23 new_range0(x0, x1, ty_Integer) 58.54/37.23 new_foldr4(x0, x1, [], x2, x3, x4) 58.54/37.23 new_range2(x0, x1, app(app(ty_@2, x2), x3)) 58.54/37.23 58.54/37.23 We have to consider all minimal (P,Q,R)-chains. 58.54/37.23 ---------------------------------------- 58.54/37.23 58.54/37.23 (89) QDPSizeChangeProof (EQUIVALENT) 58.54/37.23 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. 58.54/37.23 58.54/37.23 From the DPs we obtained the following set of size-change graphs: 58.54/37.23 *new_range(@3(xu130, xu131, xu132), @3(xu140, xu141, xu142), app(app(app(ty_@3, bc), bd), be), ba, bb) -> new_range(xu130, xu140, bc, bd, be) 58.54/37.23 The graph contains the following edges 1 > 1, 2 > 2, 3 > 3, 3 > 4, 3 > 5 58.54/37.23 58.54/37.23 58.54/37.23 *new_range(@3(xu130, xu131, xu132), @3(xu140, xu141, xu142), app(app(ty_@2, bf), bg), ba, bb) -> new_range1(xu130, xu140, bf, bg) 58.54/37.23 The graph contains the following edges 1 > 1, 2 > 2, 3 > 3, 3 > 4 58.54/37.23 58.54/37.23 58.54/37.23 *new_range(@3(xu130, xu131, xu132), @3(xu140, xu141, xu142), h, ba, bb) -> new_foldr1(xu132, xu142, xu131, xu141, new_range0(xu130, xu140, h), h, ba, bb) 58.54/37.23 The graph contains the following edges 1 > 1, 2 > 2, 1 > 3, 2 > 4, 3 >= 6, 4 >= 7, 5 >= 8 58.54/37.23 58.54/37.23 58.54/37.23 *new_foldr3(xu20, xu21, :(xu220, xu221), ec, app(app(app(ty_@3, ed), ee), ef)) -> new_range(xu20, xu21, ed, ee, ef) 58.54/37.23 The graph contains the following edges 1 >= 1, 2 >= 2, 5 > 3, 5 > 4, 5 > 5 58.54/37.23 58.54/37.23 58.54/37.23 *new_foldr3(xu20, xu21, :(xu220, xu221), ec, app(app(ty_@2, eg), eh)) -> new_range1(xu20, xu21, eg, eh) 58.54/37.23 The graph contains the following edges 1 >= 1, 2 >= 2, 5 > 3, 5 > 4 58.54/37.23 58.54/37.23 58.54/37.23 *new_foldr3(xu20, xu21, :(xu220, xu221), ec, fa) -> new_foldr3(xu20, xu21, xu221, ec, fa) 58.54/37.23 The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3, 4 >= 4, 5 >= 5 58.54/37.23 58.54/37.23 58.54/37.23 *new_range1(@2(xu130, xu131), @2(xu140, xu141), app(app(app(ty_@3, ce), cf), cg), cd) -> new_range(xu130, xu140, ce, cf, cg) 58.54/37.23 The graph contains the following edges 1 > 1, 2 > 2, 3 > 3, 3 > 4, 3 > 5 58.54/37.23 58.54/37.23 58.54/37.23 *new_range1(@2(xu130, xu131), @2(xu140, xu141), app(app(ty_@2, da), db), cd) -> new_range1(xu130, xu140, da, db) 58.54/37.23 The graph contains the following edges 1 > 1, 2 > 2, 3 > 3, 3 > 4 58.54/37.23 58.54/37.23 58.54/37.23 *new_range1(@2(xu130, xu131), @2(xu140, xu141), cc, cd) -> new_foldr3(xu131, xu141, new_range3(xu130, xu140, cc), cc, cd) 58.54/37.23 The graph contains the following edges 1 > 1, 2 > 2, 3 >= 4, 4 >= 5 58.54/37.23 58.54/37.23 58.54/37.23 *new_foldr1(xu11, xu12, @2(xu130, xu131), @2(xu140, xu141), :(xu150, xu151), bh, app(app(ty_@2, cc), cd), cb) -> new_foldr3(xu131, xu141, new_range3(xu130, xu140, cc), cc, cd) 58.54/37.23 The graph contains the following edges 3 > 1, 4 > 2, 7 > 4, 7 > 5 58.54/37.23 58.54/37.23 58.54/37.23 *new_foldr2(xu50, xu51, xu52, :(xu530, xu531), dc, dd, app(app(app(ty_@3, de), df), dg)) -> new_range(xu51, xu52, de, df, dg) 58.54/37.23 The graph contains the following edges 2 >= 1, 3 >= 2, 7 > 3, 7 > 4, 7 > 5 58.54/37.23 58.54/37.23 58.54/37.23 *new_foldr2(xu50, xu51, xu52, :(xu530, xu531), dc, dd, app(app(ty_@2, dh), ea)) -> new_range1(xu51, xu52, dh, ea) 58.54/37.23 The graph contains the following edges 2 >= 1, 3 >= 2, 7 > 3, 7 > 4 58.54/37.23 58.54/37.23 58.54/37.23 *new_foldr2(xu50, xu51, xu52, :(xu530, xu531), dc, dd, eb) -> new_foldr2(xu50, xu51, xu52, xu531, dc, dd, eb) 58.54/37.23 The graph contains the following edges 1 >= 1, 2 >= 2, 3 >= 3, 4 > 4, 5 >= 5, 6 >= 6, 7 >= 7 58.54/37.23 58.54/37.23 58.54/37.23 *new_foldr1(xu11, xu12, xu13, xu14, :(xu150, xu151), bh, ca, cb) -> new_foldr2(xu150, xu11, xu12, new_range2(xu13, xu14, ca), bh, ca, cb) 58.54/37.23 The graph contains the following edges 5 > 1, 1 >= 2, 2 >= 3, 6 >= 5, 7 >= 6, 8 >= 7 58.54/37.23 58.54/37.23 58.54/37.23 *new_foldr1(xu11, xu12, @2(xu130, xu131), @2(xu140, xu141), :(xu150, xu151), bh, app(app(ty_@2, app(app(app(ty_@3, ce), cf), cg)), cd), cb) -> new_range(xu130, xu140, ce, cf, cg) 58.54/37.23 The graph contains the following edges 3 > 1, 4 > 2, 7 > 3, 7 > 4, 7 > 5 58.54/37.23 58.54/37.23 58.54/37.23 *new_foldr1(xu11, xu12, @3(xu130, xu131, xu132), @3(xu140, xu141, xu142), :(xu150, xu151), bh, app(app(app(ty_@3, app(app(app(ty_@3, bc), bd), be)), ba), bb), cb) -> new_range(xu130, xu140, bc, bd, be) 58.54/37.23 The graph contains the following edges 3 > 1, 4 > 2, 7 > 3, 7 > 4, 7 > 5 58.54/37.23 58.54/37.23 58.54/37.23 *new_foldr1(xu11, xu12, @2(xu130, xu131), @2(xu140, xu141), :(xu150, xu151), bh, app(app(ty_@2, app(app(ty_@2, da), db)), cd), cb) -> new_range1(xu130, xu140, da, db) 58.54/37.23 The graph contains the following edges 3 > 1, 4 > 2, 7 > 3, 7 > 4 58.54/37.23 58.54/37.23 58.54/37.23 *new_foldr1(xu11, xu12, @3(xu130, xu131, xu132), @3(xu140, xu141, xu142), :(xu150, xu151), bh, app(app(app(ty_@3, app(app(ty_@2, bf), bg)), ba), bb), cb) -> new_range1(xu130, xu140, bf, bg) 58.54/37.23 The graph contains the following edges 3 > 1, 4 > 2, 7 > 3, 7 > 4 58.54/37.23 58.54/37.23 58.54/37.23 *new_foldr1(xu11, xu12, xu13, xu14, :(xu150, xu151), bh, ca, cb) -> new_foldr1(xu11, xu12, xu13, xu14, xu151, bh, ca, cb) 58.54/37.23 The graph contains the following edges 1 >= 1, 2 >= 2, 3 >= 3, 4 >= 4, 5 > 5, 6 >= 6, 7 >= 7, 8 >= 8 58.54/37.23 58.54/37.23 58.54/37.23 *new_foldr1(xu11, xu12, @3(xu130, xu131, xu132), @3(xu140, xu141, xu142), :(xu150, xu151), bh, app(app(app(ty_@3, h), ba), bb), cb) -> new_foldr1(xu132, xu142, xu131, xu141, new_range0(xu130, xu140, h), h, ba, bb) 58.54/37.23 The graph contains the following edges 3 > 1, 4 > 2, 3 > 3, 4 > 4, 7 > 6, 7 > 7, 7 > 8 58.54/37.23 58.54/37.23 58.54/37.23 ---------------------------------------- 58.54/37.23 58.54/37.23 (90) 58.54/37.23 YES 58.54/37.23 58.54/37.23 ---------------------------------------- 58.54/37.23 58.54/37.23 (91) 58.54/37.23 Obligation: 58.54/37.23 Q DP problem: 58.54/37.23 The TRS P consists of the following rules: 58.54/37.23 58.54/37.23 new_foldr0(xu70, xu71, :(xu720, xu721), h, ba, bb) -> new_foldr0(xu70, xu71, xu721, h, ba, bb) 58.54/37.23 58.54/37.23 R is empty. 58.54/37.23 Q is empty. 58.54/37.23 We have to consider all minimal (P,Q,R)-chains. 58.54/37.23 ---------------------------------------- 58.54/37.23 58.54/37.23 (92) QDPSizeChangeProof (EQUIVALENT) 58.54/37.23 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. 58.54/37.23 58.54/37.23 From the DPs we obtained the following set of size-change graphs: 58.54/37.23 *new_foldr0(xu70, xu71, :(xu720, xu721), h, ba, bb) -> new_foldr0(xu70, xu71, xu721, h, ba, bb) 58.54/37.23 The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3, 4 >= 4, 5 >= 5, 6 >= 6 58.54/37.23 58.54/37.23 58.54/37.23 ---------------------------------------- 58.54/37.23 58.54/37.23 (93) 58.54/37.23 YES 58.54/37.23 58.54/37.23 ---------------------------------------- 58.54/37.23 58.54/37.23 (94) Narrow (COMPLETE) 58.54/37.23 Haskell To QDPs 58.54/37.23 58.54/37.23 digraph dp_graph { 58.54/37.23 node [outthreshold=100, inthreshold=100];1[label="range",fontsize=16,color="grey",shape="box"];1 -> 3[label="",style="dashed", color="grey", weight=3]; 58.54/37.23 3[label="range xu3",fontsize=16,color="blue",shape="box"];2990[label="range :: ((@2) () ()) -> [] ()",fontsize=10,color="white",style="solid",shape="box"];3 -> 2990[label="",style="solid", color="blue", weight=9]; 58.54/37.23 2990 -> 4[label="",style="solid", color="blue", weight=3]; 58.54/37.23 2991[label="range :: ((@2) Ordering Ordering) -> [] Ordering",fontsize=10,color="white",style="solid",shape="box"];3 -> 2991[label="",style="solid", color="blue", weight=9]; 58.54/37.23 2991 -> 5[label="",style="solid", color="blue", weight=3]; 58.54/37.23 2992[label="range :: ((@2) Char Char) -> [] Char",fontsize=10,color="white",style="solid",shape="box"];3 -> 2992[label="",style="solid", color="blue", weight=9]; 58.54/37.23 2992 -> 6[label="",style="solid", color="blue", weight=3]; 58.54/37.23 2993[label="range :: ((@2) Bool Bool) -> [] Bool",fontsize=10,color="white",style="solid",shape="box"];3 -> 2993[label="",style="solid", color="blue", weight=9]; 58.54/37.23 2993 -> 7[label="",style="solid", color="blue", weight=3]; 58.54/37.23 2994[label="range :: ((@2) Integer Integer) -> [] Integer",fontsize=10,color="white",style="solid",shape="box"];3 -> 2994[label="",style="solid", color="blue", weight=9]; 58.54/37.23 2994 -> 8[label="",style="solid", color="blue", weight=3]; 58.54/37.23 2995[label="range :: ((@2) ((@3) a b c) ((@3) a b c)) -> [] ((@3) a b c)",fontsize=10,color="white",style="solid",shape="box"];3 -> 2995[label="",style="solid", color="blue", weight=9]; 58.54/37.23 2995 -> 9[label="",style="solid", color="blue", weight=3]; 58.54/37.23 2996[label="range :: ((@2) Int Int) -> [] Int",fontsize=10,color="white",style="solid",shape="box"];3 -> 2996[label="",style="solid", color="blue", weight=9]; 58.54/37.23 2996 -> 10[label="",style="solid", color="blue", weight=3]; 58.54/37.23 2997[label="range :: ((@2) ((@2) a b) ((@2) a b)) -> [] ((@2) a b)",fontsize=10,color="white",style="solid",shape="box"];3 -> 2997[label="",style="solid", color="blue", weight=9]; 58.54/37.23 2997 -> 11[label="",style="solid", color="blue", weight=3]; 58.54/37.23 4[label="range xu3",fontsize=16,color="burlywood",shape="triangle"];2998[label="xu3/(xu30,xu31)",fontsize=10,color="white",style="solid",shape="box"];4 -> 2998[label="",style="solid", color="burlywood", weight=9]; 58.54/37.23 2998 -> 12[label="",style="solid", color="burlywood", weight=3]; 58.54/37.23 5[label="range xu3",fontsize=16,color="burlywood",shape="triangle"];2999[label="xu3/(xu30,xu31)",fontsize=10,color="white",style="solid",shape="box"];5 -> 2999[label="",style="solid", color="burlywood", weight=9]; 58.54/37.23 2999 -> 13[label="",style="solid", color="burlywood", weight=3]; 58.54/37.23 6[label="range xu3",fontsize=16,color="burlywood",shape="triangle"];3000[label="xu3/(xu30,xu31)",fontsize=10,color="white",style="solid",shape="box"];6 -> 3000[label="",style="solid", color="burlywood", weight=9]; 58.54/37.23 3000 -> 14[label="",style="solid", color="burlywood", weight=3]; 58.54/37.23 7[label="range xu3",fontsize=16,color="burlywood",shape="triangle"];3001[label="xu3/(xu30,xu31)",fontsize=10,color="white",style="solid",shape="box"];7 -> 3001[label="",style="solid", color="burlywood", weight=9]; 58.54/37.23 3001 -> 15[label="",style="solid", color="burlywood", weight=3]; 58.54/37.23 8[label="range xu3",fontsize=16,color="burlywood",shape="triangle"];3002[label="xu3/(xu30,xu31)",fontsize=10,color="white",style="solid",shape="box"];8 -> 3002[label="",style="solid", color="burlywood", weight=9]; 58.54/37.23 3002 -> 16[label="",style="solid", color="burlywood", weight=3]; 58.54/37.23 9[label="range xu3",fontsize=16,color="burlywood",shape="triangle"];3003[label="xu3/(xu30,xu31)",fontsize=10,color="white",style="solid",shape="box"];9 -> 3003[label="",style="solid", color="burlywood", weight=9]; 58.54/37.23 3003 -> 17[label="",style="solid", color="burlywood", weight=3]; 58.54/37.23 10[label="range xu3",fontsize=16,color="burlywood",shape="triangle"];3004[label="xu3/(xu30,xu31)",fontsize=10,color="white",style="solid",shape="box"];10 -> 3004[label="",style="solid", color="burlywood", weight=9]; 58.54/37.23 3004 -> 18[label="",style="solid", color="burlywood", weight=3]; 58.54/37.23 11[label="range xu3",fontsize=16,color="burlywood",shape="triangle"];3005[label="xu3/(xu30,xu31)",fontsize=10,color="white",style="solid",shape="box"];11 -> 3005[label="",style="solid", color="burlywood", weight=9]; 58.54/37.23 3005 -> 19[label="",style="solid", color="burlywood", weight=3]; 58.54/37.23 12[label="range (xu30,xu31)",fontsize=16,color="burlywood",shape="box"];3006[label="xu30/()",fontsize=10,color="white",style="solid",shape="box"];12 -> 3006[label="",style="solid", color="burlywood", weight=9]; 58.54/37.23 3006 -> 20[label="",style="solid", color="burlywood", weight=3]; 58.54/37.23 13[label="range (xu30,xu31)",fontsize=16,color="black",shape="box"];13 -> 21[label="",style="solid", color="black", weight=3]; 58.54/37.23 14[label="range (xu30,xu31)",fontsize=16,color="black",shape="box"];14 -> 22[label="",style="solid", color="black", weight=3]; 58.54/37.23 15[label="range (xu30,xu31)",fontsize=16,color="black",shape="box"];15 -> 23[label="",style="solid", color="black", weight=3]; 58.54/37.23 16[label="range (xu30,xu31)",fontsize=16,color="black",shape="box"];16 -> 24[label="",style="solid", color="black", weight=3]; 58.54/37.23 17[label="range (xu30,xu31)",fontsize=16,color="burlywood",shape="box"];3007[label="xu30/(xu300,xu301,xu302)",fontsize=10,color="white",style="solid",shape="box"];17 -> 3007[label="",style="solid", color="burlywood", weight=9]; 58.54/37.23 3007 -> 25[label="",style="solid", color="burlywood", weight=3]; 58.54/37.23 18[label="range (xu30,xu31)",fontsize=16,color="black",shape="box"];18 -> 26[label="",style="solid", color="black", weight=3]; 58.54/37.23 19[label="range (xu30,xu31)",fontsize=16,color="burlywood",shape="box"];3008[label="xu30/(xu300,xu301)",fontsize=10,color="white",style="solid",shape="box"];19 -> 3008[label="",style="solid", color="burlywood", weight=9]; 58.54/37.23 3008 -> 27[label="",style="solid", color="burlywood", weight=3]; 58.54/37.23 20[label="range ((),xu31)",fontsize=16,color="burlywood",shape="box"];3009[label="xu31/()",fontsize=10,color="white",style="solid",shape="box"];20 -> 3009[label="",style="solid", color="burlywood", weight=9]; 58.54/37.23 3009 -> 28[label="",style="solid", color="burlywood", weight=3]; 58.54/37.23 21[label="concatMap (range0 xu31 xu30) (LT : EQ : GT : [])",fontsize=16,color="black",shape="box"];21 -> 29[label="",style="solid", color="black", weight=3]; 58.54/37.23 22[label="enumFromTo xu30 xu31",fontsize=16,color="black",shape="box"];22 -> 30[label="",style="solid", color="black", weight=3]; 58.54/37.23 23[label="concatMap (range6 xu31 xu30) (False : True : [])",fontsize=16,color="black",shape="box"];23 -> 31[label="",style="solid", color="black", weight=3]; 58.54/37.23 24[label="enumFromTo xu30 xu31",fontsize=16,color="black",shape="box"];24 -> 32[label="",style="solid", color="black", weight=3]; 58.54/37.23 25[label="range ((xu300,xu301,xu302),xu31)",fontsize=16,color="burlywood",shape="box"];3010[label="xu31/(xu310,xu311,xu312)",fontsize=10,color="white",style="solid",shape="box"];25 -> 3010[label="",style="solid", color="burlywood", weight=9]; 58.54/37.23 3010 -> 33[label="",style="solid", color="burlywood", weight=3]; 58.54/37.23 26[label="enumFromTo xu30 xu31",fontsize=16,color="black",shape="triangle"];26 -> 34[label="",style="solid", color="black", weight=3]; 58.54/37.23 27[label="range ((xu300,xu301),xu31)",fontsize=16,color="burlywood",shape="box"];3011[label="xu31/(xu310,xu311)",fontsize=10,color="white",style="solid",shape="box"];27 -> 3011[label="",style="solid", color="burlywood", weight=9]; 58.54/37.23 3011 -> 35[label="",style="solid", color="burlywood", weight=3]; 58.54/37.23 28[label="range ((),())",fontsize=16,color="black",shape="box"];28 -> 36[label="",style="solid", color="black", weight=3]; 58.54/37.23 29[label="concat . map (range0 xu31 xu30)",fontsize=16,color="black",shape="box"];29 -> 37[label="",style="solid", color="black", weight=3]; 58.54/37.23 30 -> 38[label="",style="dashed", color="red", weight=0]; 58.54/37.23 30[label="map toEnum (enumFromTo (fromEnum xu30) (fromEnum xu31))",fontsize=16,color="magenta"];30 -> 39[label="",style="dashed", color="magenta", weight=3]; 58.54/37.23 31[label="concat . map (range6 xu31 xu30)",fontsize=16,color="black",shape="box"];31 -> 40[label="",style="solid", color="black", weight=3]; 58.54/37.23 32[label="numericEnumFromTo xu30 xu31",fontsize=16,color="black",shape="box"];32 -> 41[label="",style="solid", color="black", weight=3]; 58.54/37.23 33[label="range ((xu300,xu301,xu302),(xu310,xu311,xu312))",fontsize=16,color="black",shape="box"];33 -> 42[label="",style="solid", color="black", weight=3]; 58.54/37.23 34[label="numericEnumFromTo xu30 xu31",fontsize=16,color="black",shape="box"];34 -> 43[label="",style="solid", color="black", weight=3]; 58.54/37.23 35[label="range ((xu300,xu301),(xu310,xu311))",fontsize=16,color="black",shape="box"];35 -> 44[label="",style="solid", color="black", weight=3]; 58.54/37.23 36[label="() : []",fontsize=16,color="green",shape="box"];37[label="concat (map (range0 xu31 xu30) (LT : EQ : GT : []))",fontsize=16,color="black",shape="box"];37 -> 45[label="",style="solid", color="black", weight=3]; 58.54/37.23 39 -> 26[label="",style="dashed", color="red", weight=0]; 58.54/37.23 39[label="enumFromTo (fromEnum xu30) (fromEnum xu31)",fontsize=16,color="magenta"];39 -> 46[label="",style="dashed", color="magenta", weight=3]; 58.54/37.23 39 -> 47[label="",style="dashed", color="magenta", weight=3]; 58.54/37.23 38[label="map toEnum xu4",fontsize=16,color="burlywood",shape="triangle"];3012[label="xu4/xu40 : xu41",fontsize=10,color="white",style="solid",shape="box"];38 -> 3012[label="",style="solid", color="burlywood", weight=9]; 58.54/37.23 3012 -> 48[label="",style="solid", color="burlywood", weight=3]; 58.54/37.23 3013[label="xu4/[]",fontsize=10,color="white",style="solid",shape="box"];38 -> 3013[label="",style="solid", color="burlywood", weight=9]; 58.54/37.23 3013 -> 49[label="",style="solid", color="burlywood", weight=3]; 58.54/37.23 40[label="concat (map (range6 xu31 xu30) (False : True : []))",fontsize=16,color="black",shape="box"];40 -> 50[label="",style="solid", color="black", weight=3]; 58.54/37.23 41[label="takeWhile (flip (<=) xu31) (numericEnumFrom xu30)",fontsize=16,color="black",shape="triangle"];41 -> 51[label="",style="solid", color="black", weight=3]; 58.54/37.23 42[label="concatMap (range5 xu302 xu312 xu301 xu311) (range (xu300,xu310))",fontsize=16,color="black",shape="box"];42 -> 52[label="",style="solid", color="black", weight=3]; 58.54/37.23 43[label="takeWhile (flip (<=) xu31) (numericEnumFrom xu30)",fontsize=16,color="black",shape="triangle"];43 -> 53[label="",style="solid", color="black", weight=3]; 58.54/37.23 44[label="concatMap (range2 xu301 xu311) (range (xu300,xu310))",fontsize=16,color="black",shape="box"];44 -> 54[label="",style="solid", color="black", weight=3]; 58.54/37.23 45[label="foldr (++) [] (map (range0 xu31 xu30) (LT : EQ : GT : []))",fontsize=16,color="black",shape="box"];45 -> 55[label="",style="solid", color="black", weight=3]; 58.54/37.23 46[label="fromEnum xu31",fontsize=16,color="black",shape="triangle"];46 -> 56[label="",style="solid", color="black", weight=3]; 58.54/37.23 47 -> 46[label="",style="dashed", color="red", weight=0]; 58.54/37.23 47[label="fromEnum xu30",fontsize=16,color="magenta"];47 -> 57[label="",style="dashed", color="magenta", weight=3]; 58.54/37.23 48[label="map toEnum (xu40 : xu41)",fontsize=16,color="black",shape="box"];48 -> 58[label="",style="solid", color="black", weight=3]; 58.54/37.23 49[label="map toEnum []",fontsize=16,color="black",shape="box"];49 -> 59[label="",style="solid", color="black", weight=3]; 58.54/37.23 50[label="foldr (++) [] (map (range6 xu31 xu30) (False : True : []))",fontsize=16,color="black",shape="box"];50 -> 60[label="",style="solid", color="black", weight=3]; 58.54/37.23 51[label="takeWhile (flip (<=) xu31) (xu30 : (numericEnumFrom $! xu30 + fromInt (Pos (Succ Zero))))",fontsize=16,color="black",shape="box"];51 -> 61[label="",style="solid", color="black", weight=3]; 58.54/37.23 52[label="concat . map (range5 xu302 xu312 xu301 xu311)",fontsize=16,color="black",shape="box"];52 -> 62[label="",style="solid", color="black", weight=3]; 58.54/37.23 53[label="takeWhile (flip (<=) xu31) (xu30 : (numericEnumFrom $! xu30 + fromInt (Pos (Succ Zero))))",fontsize=16,color="black",shape="box"];53 -> 63[label="",style="solid", color="black", weight=3]; 58.54/37.23 54[label="concat . map (range2 xu301 xu311)",fontsize=16,color="black",shape="box"];54 -> 64[label="",style="solid", color="black", weight=3]; 58.54/37.23 55[label="foldr (++) [] (range0 xu31 xu30 LT : map (range0 xu31 xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];55 -> 65[label="",style="solid", color="black", weight=3]; 58.54/37.23 56[label="primCharToInt xu31",fontsize=16,color="burlywood",shape="box"];3014[label="xu31/Char xu310",fontsize=10,color="white",style="solid",shape="box"];56 -> 3014[label="",style="solid", color="burlywood", weight=9]; 58.54/37.23 3014 -> 66[label="",style="solid", color="burlywood", weight=3]; 58.54/37.23 57[label="xu30",fontsize=16,color="green",shape="box"];58[label="toEnum xu40 : map toEnum xu41",fontsize=16,color="green",shape="box"];58 -> 67[label="",style="dashed", color="green", weight=3]; 58.54/37.23 58 -> 68[label="",style="dashed", color="green", weight=3]; 58.54/37.23 59[label="[]",fontsize=16,color="green",shape="box"];60[label="foldr (++) [] (range6 xu31 xu30 False : map (range6 xu31 xu30) (True : []))",fontsize=16,color="black",shape="box"];60 -> 69[label="",style="solid", color="black", weight=3]; 58.54/37.23 61[label="takeWhile2 (flip (<=) xu31) (xu30 : (numericEnumFrom $! xu30 + fromInt (Pos (Succ Zero))))",fontsize=16,color="black",shape="box"];61 -> 70[label="",style="solid", color="black", weight=3]; 58.54/37.23 62[label="concat (map (range5 xu302 xu312 xu301 xu311) (range (xu300,xu310)))",fontsize=16,color="black",shape="box"];62 -> 71[label="",style="solid", color="black", weight=3]; 58.54/37.23 63[label="takeWhile2 (flip (<=) xu31) (xu30 : (numericEnumFrom $! xu30 + fromInt (Pos (Succ Zero))))",fontsize=16,color="black",shape="box"];63 -> 72[label="",style="solid", color="black", weight=3]; 58.54/37.23 64[label="concat (map (range2 xu301 xu311) (range (xu300,xu310)))",fontsize=16,color="black",shape="box"];64 -> 73[label="",style="solid", color="black", weight=3]; 58.54/37.23 65[label="(++) range0 xu31 xu30 LT foldr (++) [] (map (range0 xu31 xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];65 -> 74[label="",style="solid", color="black", weight=3]; 58.54/37.23 66[label="primCharToInt (Char xu310)",fontsize=16,color="black",shape="box"];66 -> 75[label="",style="solid", color="black", weight=3]; 58.54/37.23 67[label="toEnum xu40",fontsize=16,color="black",shape="box"];67 -> 76[label="",style="solid", color="black", weight=3]; 58.54/37.23 68 -> 38[label="",style="dashed", color="red", weight=0]; 58.54/37.23 68[label="map toEnum xu41",fontsize=16,color="magenta"];68 -> 77[label="",style="dashed", color="magenta", weight=3]; 58.54/37.23 69[label="(++) range6 xu31 xu30 False foldr (++) [] (map (range6 xu31 xu30) (True : []))",fontsize=16,color="black",shape="box"];69 -> 78[label="",style="solid", color="black", weight=3]; 58.54/37.23 70[label="takeWhile1 (flip (<=) xu31) xu30 (numericEnumFrom $! xu30 + fromInt (Pos (Succ Zero))) (flip (<=) xu31 xu30)",fontsize=16,color="black",shape="box"];70 -> 79[label="",style="solid", color="black", weight=3]; 58.54/37.23 71 -> 80[label="",style="dashed", color="red", weight=0]; 58.54/37.23 71[label="foldr (++) [] (map (range5 xu302 xu312 xu301 xu311) (range (xu300,xu310)))",fontsize=16,color="magenta"];71 -> 81[label="",style="dashed", color="magenta", weight=3]; 58.54/37.23 71 -> 82[label="",style="dashed", color="magenta", weight=3]; 58.54/37.23 71 -> 83[label="",style="dashed", color="magenta", weight=3]; 58.54/37.23 71 -> 84[label="",style="dashed", color="magenta", weight=3]; 58.54/37.23 71 -> 85[label="",style="dashed", color="magenta", weight=3]; 58.54/37.23 72[label="takeWhile1 (flip (<=) xu31) xu30 (numericEnumFrom $! xu30 + fromInt (Pos (Succ Zero))) (flip (<=) xu31 xu30)",fontsize=16,color="black",shape="box"];72 -> 86[label="",style="solid", color="black", weight=3]; 58.54/37.23 73 -> 87[label="",style="dashed", color="red", weight=0]; 58.54/37.23 73[label="foldr (++) [] (map (range2 xu301 xu311) (range (xu300,xu310)))",fontsize=16,color="magenta"];73 -> 88[label="",style="dashed", color="magenta", weight=3]; 58.54/37.23 73 -> 89[label="",style="dashed", color="magenta", weight=3]; 58.54/37.23 73 -> 90[label="",style="dashed", color="magenta", weight=3]; 58.54/37.23 74[label="(++) range00 LT (xu31 >= LT && LT >= xu30) foldr (++) [] (map (range0 xu31 xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];74 -> 91[label="",style="solid", color="black", weight=3]; 58.54/37.23 75[label="Pos xu310",fontsize=16,color="green",shape="box"];76[label="primIntToChar xu40",fontsize=16,color="burlywood",shape="box"];3015[label="xu40/Pos xu400",fontsize=10,color="white",style="solid",shape="box"];76 -> 3015[label="",style="solid", color="burlywood", weight=9]; 58.54/37.23 3015 -> 92[label="",style="solid", color="burlywood", weight=3]; 58.54/37.23 3016[label="xu40/Neg xu400",fontsize=10,color="white",style="solid",shape="box"];76 -> 3016[label="",style="solid", color="burlywood", weight=9]; 58.54/37.23 3016 -> 93[label="",style="solid", color="burlywood", weight=3]; 58.54/37.23 77[label="xu41",fontsize=16,color="green",shape="box"];78[label="(++) range60 False (xu31 >= False && False >= xu30) foldr (++) [] (map (range6 xu31 xu30) (True : []))",fontsize=16,color="black",shape="box"];78 -> 94[label="",style="solid", color="black", weight=3]; 58.54/37.23 79[label="takeWhile1 (flip (<=) xu31) xu30 (numericEnumFrom $! xu30 + fromInt (Pos (Succ Zero))) ((<=) xu30 xu31)",fontsize=16,color="black",shape="box"];79 -> 95[label="",style="solid", color="black", weight=3]; 58.54/37.23 81[label="xu301",fontsize=16,color="green",shape="box"];82[label="xu311",fontsize=16,color="green",shape="box"];83[label="range (xu300,xu310)",fontsize=16,color="blue",shape="box"];3017[label="range :: ((@2) () ()) -> [] ()",fontsize=10,color="white",style="solid",shape="box"];83 -> 3017[label="",style="solid", color="blue", weight=9]; 58.54/37.23 3017 -> 96[label="",style="solid", color="blue", weight=3]; 58.54/37.23 3018[label="range :: ((@2) Ordering Ordering) -> [] Ordering",fontsize=10,color="white",style="solid",shape="box"];83 -> 3018[label="",style="solid", color="blue", weight=9]; 58.54/37.23 3018 -> 97[label="",style="solid", color="blue", weight=3]; 58.54/37.23 3019[label="range :: ((@2) Char Char) -> [] Char",fontsize=10,color="white",style="solid",shape="box"];83 -> 3019[label="",style="solid", color="blue", weight=9]; 58.54/37.23 3019 -> 98[label="",style="solid", color="blue", weight=3]; 58.54/37.23 3020[label="range :: ((@2) Bool Bool) -> [] Bool",fontsize=10,color="white",style="solid",shape="box"];83 -> 3020[label="",style="solid", color="blue", weight=9]; 58.54/37.23 3020 -> 99[label="",style="solid", color="blue", weight=3]; 58.54/37.23 3021[label="range :: ((@2) Integer Integer) -> [] Integer",fontsize=10,color="white",style="solid",shape="box"];83 -> 3021[label="",style="solid", color="blue", weight=9]; 58.54/37.23 3021 -> 100[label="",style="solid", color="blue", weight=3]; 58.54/37.23 3022[label="range :: ((@2) ((@3) a b c) ((@3) a b c)) -> [] ((@3) a b c)",fontsize=10,color="white",style="solid",shape="box"];83 -> 3022[label="",style="solid", color="blue", weight=9]; 58.54/37.23 3022 -> 101[label="",style="solid", color="blue", weight=3]; 58.54/37.23 3023[label="range :: ((@2) Int Int) -> [] Int",fontsize=10,color="white",style="solid",shape="box"];83 -> 3023[label="",style="solid", color="blue", weight=9]; 58.54/37.23 3023 -> 102[label="",style="solid", color="blue", weight=3]; 58.54/37.23 3024[label="range :: ((@2) ((@2) a b) ((@2) a b)) -> [] ((@2) a b)",fontsize=10,color="white",style="solid",shape="box"];83 -> 3024[label="",style="solid", color="blue", weight=9]; 58.54/37.23 3024 -> 103[label="",style="solid", color="blue", weight=3]; 58.54/37.23 84[label="xu302",fontsize=16,color="green",shape="box"];85[label="xu312",fontsize=16,color="green",shape="box"];80[label="foldr (++) [] (map (range5 xu11 xu12 xu13 xu14) xu15)",fontsize=16,color="burlywood",shape="triangle"];3025[label="xu15/xu150 : xu151",fontsize=10,color="white",style="solid",shape="box"];80 -> 3025[label="",style="solid", color="burlywood", weight=9]; 58.54/37.23 3025 -> 104[label="",style="solid", color="burlywood", weight=3]; 58.54/37.23 3026[label="xu15/[]",fontsize=10,color="white",style="solid",shape="box"];80 -> 3026[label="",style="solid", color="burlywood", weight=9]; 58.54/37.23 3026 -> 105[label="",style="solid", color="burlywood", weight=3]; 58.54/37.23 86[label="takeWhile1 (flip (<=) xu31) xu30 (numericEnumFrom $! xu30 + fromInt (Pos (Succ Zero))) ((<=) xu30 xu31)",fontsize=16,color="black",shape="box"];86 -> 106[label="",style="solid", color="black", weight=3]; 58.54/37.23 88[label="range (xu300,xu310)",fontsize=16,color="blue",shape="box"];3027[label="range :: ((@2) () ()) -> [] ()",fontsize=10,color="white",style="solid",shape="box"];88 -> 3027[label="",style="solid", color="blue", weight=9]; 58.54/37.23 3027 -> 107[label="",style="solid", color="blue", weight=3]; 58.54/37.23 3028[label="range :: ((@2) Ordering Ordering) -> [] Ordering",fontsize=10,color="white",style="solid",shape="box"];88 -> 3028[label="",style="solid", color="blue", weight=9]; 58.54/37.23 3028 -> 108[label="",style="solid", color="blue", weight=3]; 58.54/37.23 3029[label="range :: ((@2) Char Char) -> [] Char",fontsize=10,color="white",style="solid",shape="box"];88 -> 3029[label="",style="solid", color="blue", weight=9]; 58.54/37.23 3029 -> 109[label="",style="solid", color="blue", weight=3]; 58.54/37.23 3030[label="range :: ((@2) Bool Bool) -> [] Bool",fontsize=10,color="white",style="solid",shape="box"];88 -> 3030[label="",style="solid", color="blue", weight=9]; 58.54/37.23 3030 -> 110[label="",style="solid", color="blue", weight=3]; 58.54/37.23 3031[label="range :: ((@2) Integer Integer) -> [] Integer",fontsize=10,color="white",style="solid",shape="box"];88 -> 3031[label="",style="solid", color="blue", weight=9]; 58.54/37.23 3031 -> 111[label="",style="solid", color="blue", weight=3]; 58.54/37.23 3032[label="range :: ((@2) ((@3) a b c) ((@3) a b c)) -> [] ((@3) a b c)",fontsize=10,color="white",style="solid",shape="box"];88 -> 3032[label="",style="solid", color="blue", weight=9]; 58.54/37.23 3032 -> 112[label="",style="solid", color="blue", weight=3]; 58.54/37.23 3033[label="range :: ((@2) Int Int) -> [] Int",fontsize=10,color="white",style="solid",shape="box"];88 -> 3033[label="",style="solid", color="blue", weight=9]; 58.54/37.23 3033 -> 113[label="",style="solid", color="blue", weight=3]; 58.54/37.23 3034[label="range :: ((@2) ((@2) a b) ((@2) a b)) -> [] ((@2) a b)",fontsize=10,color="white",style="solid",shape="box"];88 -> 3034[label="",style="solid", color="blue", weight=9]; 58.54/37.23 3034 -> 114[label="",style="solid", color="blue", weight=3]; 58.54/37.23 89[label="xu301",fontsize=16,color="green",shape="box"];90[label="xu311",fontsize=16,color="green",shape="box"];87[label="foldr (++) [] (map (range2 xu20 xu21) xu22)",fontsize=16,color="burlywood",shape="triangle"];3035[label="xu22/xu220 : xu221",fontsize=10,color="white",style="solid",shape="box"];87 -> 3035[label="",style="solid", color="burlywood", weight=9]; 58.54/37.23 3035 -> 115[label="",style="solid", color="burlywood", weight=3]; 58.54/37.23 3036[label="xu22/[]",fontsize=10,color="white",style="solid",shape="box"];87 -> 3036[label="",style="solid", color="burlywood", weight=9]; 58.54/37.23 3036 -> 116[label="",style="solid", color="burlywood", weight=3]; 58.54/37.23 91[label="(++) range00 LT (compare xu31 LT /= LT && LT >= xu30) foldr (++) [] (map (range0 xu31 xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];91 -> 117[label="",style="solid", color="black", weight=3]; 58.54/37.23 92[label="primIntToChar (Pos xu400)",fontsize=16,color="black",shape="box"];92 -> 118[label="",style="solid", color="black", weight=3]; 58.54/37.23 93[label="primIntToChar (Neg xu400)",fontsize=16,color="burlywood",shape="box"];3037[label="xu400/Succ xu4000",fontsize=10,color="white",style="solid",shape="box"];93 -> 3037[label="",style="solid", color="burlywood", weight=9]; 58.54/37.23 3037 -> 119[label="",style="solid", color="burlywood", weight=3]; 58.54/37.23 3038[label="xu400/Zero",fontsize=10,color="white",style="solid",shape="box"];93 -> 3038[label="",style="solid", color="burlywood", weight=9]; 58.54/37.23 3038 -> 120[label="",style="solid", color="burlywood", weight=3]; 58.54/37.23 94[label="(++) range60 False (compare xu31 False /= LT && False >= xu30) foldr (++) [] (map (range6 xu31 xu30) (True : []))",fontsize=16,color="black",shape="box"];94 -> 121[label="",style="solid", color="black", weight=3]; 58.54/37.23 95[label="takeWhile1 (flip (<=) xu31) xu30 (numericEnumFrom $! xu30 + fromInt (Pos (Succ Zero))) (compare xu30 xu31 /= GT)",fontsize=16,color="black",shape="box"];95 -> 122[label="",style="solid", color="black", weight=3]; 58.54/37.23 96 -> 4[label="",style="dashed", color="red", weight=0]; 58.54/37.23 96[label="range (xu300,xu310)",fontsize=16,color="magenta"];96 -> 123[label="",style="dashed", color="magenta", weight=3]; 58.54/37.23 97 -> 5[label="",style="dashed", color="red", weight=0]; 58.54/37.23 97[label="range (xu300,xu310)",fontsize=16,color="magenta"];97 -> 124[label="",style="dashed", color="magenta", weight=3]; 58.54/37.23 98 -> 6[label="",style="dashed", color="red", weight=0]; 58.54/37.23 98[label="range (xu300,xu310)",fontsize=16,color="magenta"];98 -> 125[label="",style="dashed", color="magenta", weight=3]; 58.54/37.23 99 -> 7[label="",style="dashed", color="red", weight=0]; 58.54/37.23 99[label="range (xu300,xu310)",fontsize=16,color="magenta"];99 -> 126[label="",style="dashed", color="magenta", weight=3]; 58.54/37.23 100 -> 8[label="",style="dashed", color="red", weight=0]; 58.54/37.23 100[label="range (xu300,xu310)",fontsize=16,color="magenta"];100 -> 127[label="",style="dashed", color="magenta", weight=3]; 58.54/37.23 101 -> 9[label="",style="dashed", color="red", weight=0]; 58.54/37.23 101[label="range (xu300,xu310)",fontsize=16,color="magenta"];101 -> 128[label="",style="dashed", color="magenta", weight=3]; 58.54/37.23 102 -> 10[label="",style="dashed", color="red", weight=0]; 58.54/37.23 102[label="range (xu300,xu310)",fontsize=16,color="magenta"];102 -> 129[label="",style="dashed", color="magenta", weight=3]; 58.54/37.23 103 -> 11[label="",style="dashed", color="red", weight=0]; 58.54/37.23 103[label="range (xu300,xu310)",fontsize=16,color="magenta"];103 -> 130[label="",style="dashed", color="magenta", weight=3]; 58.54/37.23 104[label="foldr (++) [] (map (range5 xu11 xu12 xu13 xu14) (xu150 : xu151))",fontsize=16,color="black",shape="box"];104 -> 131[label="",style="solid", color="black", weight=3]; 58.54/37.23 105[label="foldr (++) [] (map (range5 xu11 xu12 xu13 xu14) [])",fontsize=16,color="black",shape="box"];105 -> 132[label="",style="solid", color="black", weight=3]; 58.54/37.23 106[label="takeWhile1 (flip (<=) xu31) xu30 (numericEnumFrom $! xu30 + fromInt (Pos (Succ Zero))) (compare xu30 xu31 /= GT)",fontsize=16,color="black",shape="box"];106 -> 133[label="",style="solid", color="black", weight=3]; 58.54/37.23 107 -> 4[label="",style="dashed", color="red", weight=0]; 58.54/37.23 107[label="range (xu300,xu310)",fontsize=16,color="magenta"];107 -> 134[label="",style="dashed", color="magenta", weight=3]; 58.54/37.23 108 -> 5[label="",style="dashed", color="red", weight=0]; 58.54/37.23 108[label="range (xu300,xu310)",fontsize=16,color="magenta"];108 -> 135[label="",style="dashed", color="magenta", weight=3]; 58.54/37.23 109 -> 6[label="",style="dashed", color="red", weight=0]; 58.54/37.23 109[label="range (xu300,xu310)",fontsize=16,color="magenta"];109 -> 136[label="",style="dashed", color="magenta", weight=3]; 58.54/37.23 110 -> 7[label="",style="dashed", color="red", weight=0]; 58.54/37.23 110[label="range (xu300,xu310)",fontsize=16,color="magenta"];110 -> 137[label="",style="dashed", color="magenta", weight=3]; 58.54/37.23 111 -> 8[label="",style="dashed", color="red", weight=0]; 58.54/37.23 111[label="range (xu300,xu310)",fontsize=16,color="magenta"];111 -> 138[label="",style="dashed", color="magenta", weight=3]; 58.54/37.23 112 -> 9[label="",style="dashed", color="red", weight=0]; 58.54/37.23 112[label="range (xu300,xu310)",fontsize=16,color="magenta"];112 -> 139[label="",style="dashed", color="magenta", weight=3]; 58.54/37.23 113 -> 10[label="",style="dashed", color="red", weight=0]; 58.54/37.23 113[label="range (xu300,xu310)",fontsize=16,color="magenta"];113 -> 140[label="",style="dashed", color="magenta", weight=3]; 58.54/37.23 114 -> 11[label="",style="dashed", color="red", weight=0]; 58.54/37.23 114[label="range (xu300,xu310)",fontsize=16,color="magenta"];114 -> 141[label="",style="dashed", color="magenta", weight=3]; 58.54/37.23 115[label="foldr (++) [] (map (range2 xu20 xu21) (xu220 : xu221))",fontsize=16,color="black",shape="box"];115 -> 142[label="",style="solid", color="black", weight=3]; 58.54/37.23 116[label="foldr (++) [] (map (range2 xu20 xu21) [])",fontsize=16,color="black",shape="box"];116 -> 143[label="",style="solid", color="black", weight=3]; 58.54/37.23 117[label="(++) range00 LT (not (compare xu31 LT == LT) && LT >= xu30) foldr (++) [] (map (range0 xu31 xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];117 -> 144[label="",style="solid", color="black", weight=3]; 58.54/37.23 118[label="Char xu400",fontsize=16,color="green",shape="box"];119[label="primIntToChar (Neg (Succ xu4000))",fontsize=16,color="black",shape="box"];119 -> 145[label="",style="solid", color="black", weight=3]; 58.54/37.23 120[label="primIntToChar (Neg Zero)",fontsize=16,color="black",shape="box"];120 -> 146[label="",style="solid", color="black", weight=3]; 58.54/37.23 121[label="(++) range60 False (not (compare xu31 False == LT) && False >= xu30) foldr (++) [] (map (range6 xu31 xu30) (True : []))",fontsize=16,color="black",shape="box"];121 -> 147[label="",style="solid", color="black", weight=3]; 58.54/37.23 122[label="takeWhile1 (flip (<=) xu31) xu30 (numericEnumFrom $! xu30 + fromInt (Pos (Succ Zero))) (not (compare xu30 xu31 == GT))",fontsize=16,color="burlywood",shape="box"];3039[label="xu30/Integer xu300",fontsize=10,color="white",style="solid",shape="box"];122 -> 3039[label="",style="solid", color="burlywood", weight=9]; 58.54/37.23 3039 -> 148[label="",style="solid", color="burlywood", weight=3]; 58.54/37.23 123[label="(xu300,xu310)",fontsize=16,color="green",shape="box"];124[label="(xu300,xu310)",fontsize=16,color="green",shape="box"];125[label="(xu300,xu310)",fontsize=16,color="green",shape="box"];126[label="(xu300,xu310)",fontsize=16,color="green",shape="box"];127[label="(xu300,xu310)",fontsize=16,color="green",shape="box"];128[label="(xu300,xu310)",fontsize=16,color="green",shape="box"];129[label="(xu300,xu310)",fontsize=16,color="green",shape="box"];130[label="(xu300,xu310)",fontsize=16,color="green",shape="box"];131[label="foldr (++) [] (range5 xu11 xu12 xu13 xu14 xu150 : map (range5 xu11 xu12 xu13 xu14) xu151)",fontsize=16,color="black",shape="box"];131 -> 149[label="",style="solid", color="black", weight=3]; 58.54/37.23 132[label="foldr (++) [] []",fontsize=16,color="black",shape="triangle"];132 -> 150[label="",style="solid", color="black", weight=3]; 58.54/37.23 133[label="takeWhile1 (flip (<=) xu31) xu30 (numericEnumFrom $! xu30 + fromInt (Pos (Succ Zero))) (not (compare xu30 xu31 == GT))",fontsize=16,color="black",shape="box"];133 -> 151[label="",style="solid", color="black", weight=3]; 58.54/37.23 134[label="(xu300,xu310)",fontsize=16,color="green",shape="box"];135[label="(xu300,xu310)",fontsize=16,color="green",shape="box"];136[label="(xu300,xu310)",fontsize=16,color="green",shape="box"];137[label="(xu300,xu310)",fontsize=16,color="green",shape="box"];138[label="(xu300,xu310)",fontsize=16,color="green",shape="box"];139[label="(xu300,xu310)",fontsize=16,color="green",shape="box"];140[label="(xu300,xu310)",fontsize=16,color="green",shape="box"];141[label="(xu300,xu310)",fontsize=16,color="green",shape="box"];142[label="foldr (++) [] (range2 xu20 xu21 xu220 : map (range2 xu20 xu21) xu221)",fontsize=16,color="black",shape="box"];142 -> 152[label="",style="solid", color="black", weight=3]; 58.54/37.23 143[label="foldr (++) [] []",fontsize=16,color="black",shape="triangle"];143 -> 153[label="",style="solid", color="black", weight=3]; 58.54/37.23 144[label="(++) range00 LT (not (compare3 xu31 LT == LT) && LT >= xu30) foldr (++) [] (map (range0 xu31 xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];144 -> 154[label="",style="solid", color="black", weight=3]; 58.54/37.23 145[label="error []",fontsize=16,color="red",shape="box"];146[label="Char Zero",fontsize=16,color="green",shape="box"];147[label="(++) range60 False (not (compare3 xu31 False == LT) && False >= xu30) foldr (++) [] (map (range6 xu31 xu30) (True : []))",fontsize=16,color="black",shape="box"];147 -> 155[label="",style="solid", color="black", weight=3]; 58.54/37.23 148[label="takeWhile1 (flip (<=) xu31) (Integer xu300) (numericEnumFrom $! Integer xu300 + fromInt (Pos (Succ Zero))) (not (compare (Integer xu300) xu31 == GT))",fontsize=16,color="burlywood",shape="box"];3040[label="xu31/Integer xu310",fontsize=10,color="white",style="solid",shape="box"];148 -> 3040[label="",style="solid", color="burlywood", weight=9]; 58.54/37.23 3040 -> 156[label="",style="solid", color="burlywood", weight=3]; 58.54/37.23 149 -> 474[label="",style="dashed", color="red", weight=0]; 58.54/37.23 149[label="(++) range5 xu11 xu12 xu13 xu14 xu150 foldr (++) [] (map (range5 xu11 xu12 xu13 xu14) xu151)",fontsize=16,color="magenta"];149 -> 475[label="",style="dashed", color="magenta", weight=3]; 58.54/37.23 149 -> 476[label="",style="dashed", color="magenta", weight=3]; 58.54/37.23 150[label="[]",fontsize=16,color="green",shape="box"];151[label="takeWhile1 (flip (<=) xu31) xu30 (numericEnumFrom $! xu30 + fromInt (Pos (Succ Zero))) (not (primCmpInt xu30 xu31 == GT))",fontsize=16,color="burlywood",shape="box"];3041[label="xu30/Pos xu300",fontsize=10,color="white",style="solid",shape="box"];151 -> 3041[label="",style="solid", color="burlywood", weight=9]; 58.54/37.23 3041 -> 159[label="",style="solid", color="burlywood", weight=3]; 58.54/37.23 3042[label="xu30/Neg xu300",fontsize=10,color="white",style="solid",shape="box"];151 -> 3042[label="",style="solid", color="burlywood", weight=9]; 58.54/37.23 3042 -> 160[label="",style="solid", color="burlywood", weight=3]; 58.54/37.23 152 -> 519[label="",style="dashed", color="red", weight=0]; 58.54/37.23 152[label="(++) range2 xu20 xu21 xu220 foldr (++) [] (map (range2 xu20 xu21) xu221)",fontsize=16,color="magenta"];152 -> 520[label="",style="dashed", color="magenta", weight=3]; 58.54/37.23 152 -> 521[label="",style="dashed", color="magenta", weight=3]; 58.54/37.23 153[label="[]",fontsize=16,color="green",shape="box"];154[label="(++) range00 LT (not (compare2 xu31 LT (xu31 == LT) == LT) && LT >= xu30) foldr (++) [] (map (range0 xu31 xu30) (EQ : GT : []))",fontsize=16,color="burlywood",shape="box"];3043[label="xu31/LT",fontsize=10,color="white",style="solid",shape="box"];154 -> 3043[label="",style="solid", color="burlywood", weight=9]; 58.54/37.23 3043 -> 163[label="",style="solid", color="burlywood", weight=3]; 58.54/37.23 3044[label="xu31/EQ",fontsize=10,color="white",style="solid",shape="box"];154 -> 3044[label="",style="solid", color="burlywood", weight=9]; 58.54/37.23 3044 -> 164[label="",style="solid", color="burlywood", weight=3]; 58.54/37.23 3045[label="xu31/GT",fontsize=10,color="white",style="solid",shape="box"];154 -> 3045[label="",style="solid", color="burlywood", weight=9]; 58.54/37.23 3045 -> 165[label="",style="solid", color="burlywood", weight=3]; 58.54/37.23 155[label="(++) range60 False (not (compare2 xu31 False (xu31 == False) == LT) && False >= xu30) foldr (++) [] (map (range6 xu31 xu30) (True : []))",fontsize=16,color="burlywood",shape="box"];3046[label="xu31/False",fontsize=10,color="white",style="solid",shape="box"];155 -> 3046[label="",style="solid", color="burlywood", weight=9]; 58.54/37.23 3046 -> 166[label="",style="solid", color="burlywood", weight=3]; 58.54/37.23 3047[label="xu31/True",fontsize=10,color="white",style="solid",shape="box"];155 -> 3047[label="",style="solid", color="burlywood", weight=9]; 58.54/37.23 3047 -> 167[label="",style="solid", color="burlywood", weight=3]; 58.54/37.23 156[label="takeWhile1 (flip (<=) (Integer xu310)) (Integer xu300) (numericEnumFrom $! Integer xu300 + fromInt (Pos (Succ Zero))) (not (compare (Integer xu300) (Integer xu310) == GT))",fontsize=16,color="black",shape="box"];156 -> 168[label="",style="solid", color="black", weight=3]; 58.54/37.23 475[label="range5 xu11 xu12 xu13 xu14 xu150",fontsize=16,color="black",shape="box"];475 -> 493[label="",style="solid", color="black", weight=3]; 58.54/37.23 476 -> 80[label="",style="dashed", color="red", weight=0]; 58.54/37.23 476[label="foldr (++) [] (map (range5 xu11 xu12 xu13 xu14) xu151)",fontsize=16,color="magenta"];476 -> 494[label="",style="dashed", color="magenta", weight=3]; 58.54/37.23 474[label="(++) xu43 xu35",fontsize=16,color="burlywood",shape="triangle"];3048[label="xu43/xu430 : xu431",fontsize=10,color="white",style="solid",shape="box"];474 -> 3048[label="",style="solid", color="burlywood", weight=9]; 58.54/37.23 3048 -> 495[label="",style="solid", color="burlywood", weight=3]; 58.54/37.23 3049[label="xu43/[]",fontsize=10,color="white",style="solid",shape="box"];474 -> 3049[label="",style="solid", color="burlywood", weight=9]; 58.54/37.23 3049 -> 496[label="",style="solid", color="burlywood", weight=3]; 58.54/37.23 159[label="takeWhile1 (flip (<=) xu31) (Pos xu300) (numericEnumFrom $! Pos xu300 + fromInt (Pos (Succ Zero))) (not (primCmpInt (Pos xu300) xu31 == GT))",fontsize=16,color="burlywood",shape="box"];3050[label="xu300/Succ xu3000",fontsize=10,color="white",style="solid",shape="box"];159 -> 3050[label="",style="solid", color="burlywood", weight=9]; 58.54/37.23 3050 -> 171[label="",style="solid", color="burlywood", weight=3]; 58.54/37.23 3051[label="xu300/Zero",fontsize=10,color="white",style="solid",shape="box"];159 -> 3051[label="",style="solid", color="burlywood", weight=9]; 58.54/37.23 3051 -> 172[label="",style="solid", color="burlywood", weight=3]; 58.54/37.23 160[label="takeWhile1 (flip (<=) xu31) (Neg xu300) (numericEnumFrom $! Neg xu300 + fromInt (Pos (Succ Zero))) (not (primCmpInt (Neg xu300) xu31 == GT))",fontsize=16,color="burlywood",shape="box"];3052[label="xu300/Succ xu3000",fontsize=10,color="white",style="solid",shape="box"];160 -> 3052[label="",style="solid", color="burlywood", weight=9]; 58.54/37.23 3052 -> 173[label="",style="solid", color="burlywood", weight=3]; 58.54/37.23 3053[label="xu300/Zero",fontsize=10,color="white",style="solid",shape="box"];160 -> 3053[label="",style="solid", color="burlywood", weight=9]; 58.54/37.23 3053 -> 174[label="",style="solid", color="burlywood", weight=3]; 58.54/37.23 520[label="range2 xu20 xu21 xu220",fontsize=16,color="black",shape="box"];520 -> 538[label="",style="solid", color="black", weight=3]; 58.54/37.23 521 -> 87[label="",style="dashed", color="red", weight=0]; 58.54/37.23 521[label="foldr (++) [] (map (range2 xu20 xu21) xu221)",fontsize=16,color="magenta"];521 -> 539[label="",style="dashed", color="magenta", weight=3]; 58.54/37.23 519[label="(++) xu44 xu42",fontsize=16,color="burlywood",shape="triangle"];3054[label="xu44/xu440 : xu441",fontsize=10,color="white",style="solid",shape="box"];519 -> 3054[label="",style="solid", color="burlywood", weight=9]; 58.54/37.23 3054 -> 540[label="",style="solid", color="burlywood", weight=3]; 58.54/37.23 3055[label="xu44/[]",fontsize=10,color="white",style="solid",shape="box"];519 -> 3055[label="",style="solid", color="burlywood", weight=9]; 58.54/37.23 3055 -> 541[label="",style="solid", color="burlywood", weight=3]; 58.54/37.23 163[label="(++) range00 LT (not (compare2 LT LT (LT == LT) == LT) && LT >= xu30) foldr (++) [] (map (range0 LT xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];163 -> 177[label="",style="solid", color="black", weight=3]; 58.54/37.23 164[label="(++) range00 LT (not (compare2 EQ LT (EQ == LT) == LT) && LT >= xu30) foldr (++) [] (map (range0 EQ xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];164 -> 178[label="",style="solid", color="black", weight=3]; 58.54/37.23 165[label="(++) range00 LT (not (compare2 GT LT (GT == LT) == LT) && LT >= xu30) foldr (++) [] (map (range0 GT xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];165 -> 179[label="",style="solid", color="black", weight=3]; 58.54/37.23 166[label="(++) range60 False (not (compare2 False False (False == False) == LT) && False >= xu30) foldr (++) [] (map (range6 False xu30) (True : []))",fontsize=16,color="black",shape="box"];166 -> 180[label="",style="solid", color="black", weight=3]; 58.54/37.23 167[label="(++) range60 False (not (compare2 True False (True == False) == LT) && False >= xu30) foldr (++) [] (map (range6 True xu30) (True : []))",fontsize=16,color="black",shape="box"];167 -> 181[label="",style="solid", color="black", weight=3]; 58.54/37.23 168[label="takeWhile1 (flip (<=) (Integer xu310)) (Integer xu300) (numericEnumFrom $! Integer xu300 + fromInt (Pos (Succ Zero))) (not (primCmpInt xu300 xu310 == GT))",fontsize=16,color="burlywood",shape="box"];3056[label="xu300/Pos xu3000",fontsize=10,color="white",style="solid",shape="box"];168 -> 3056[label="",style="solid", color="burlywood", weight=9]; 58.54/37.23 3056 -> 182[label="",style="solid", color="burlywood", weight=3]; 58.54/37.23 3057[label="xu300/Neg xu3000",fontsize=10,color="white",style="solid",shape="box"];168 -> 3057[label="",style="solid", color="burlywood", weight=9]; 58.54/37.23 3057 -> 183[label="",style="solid", color="burlywood", weight=3]; 58.54/37.23 493[label="range50 xu11 xu12 xu13 xu14 xu150",fontsize=16,color="black",shape="box"];493 -> 542[label="",style="solid", color="black", weight=3]; 58.54/37.23 494[label="xu151",fontsize=16,color="green",shape="box"];495[label="(++) (xu430 : xu431) xu35",fontsize=16,color="black",shape="box"];495 -> 543[label="",style="solid", color="black", weight=3]; 58.54/37.23 496[label="(++) [] xu35",fontsize=16,color="black",shape="box"];496 -> 544[label="",style="solid", color="black", weight=3]; 58.54/37.23 171[label="takeWhile1 (flip (<=) xu31) (Pos (Succ xu3000)) (numericEnumFrom $! Pos (Succ xu3000) + fromInt (Pos (Succ Zero))) (not (primCmpInt (Pos (Succ xu3000)) xu31 == GT))",fontsize=16,color="burlywood",shape="box"];3058[label="xu31/Pos xu310",fontsize=10,color="white",style="solid",shape="box"];171 -> 3058[label="",style="solid", color="burlywood", weight=9]; 58.54/37.23 3058 -> 185[label="",style="solid", color="burlywood", weight=3]; 58.54/37.23 3059[label="xu31/Neg xu310",fontsize=10,color="white",style="solid",shape="box"];171 -> 3059[label="",style="solid", color="burlywood", weight=9]; 58.54/37.23 3059 -> 186[label="",style="solid", color="burlywood", weight=3]; 58.54/37.23 172[label="takeWhile1 (flip (<=) xu31) (Pos Zero) (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))) (not (primCmpInt (Pos Zero) xu31 == GT))",fontsize=16,color="burlywood",shape="box"];3060[label="xu31/Pos xu310",fontsize=10,color="white",style="solid",shape="box"];172 -> 3060[label="",style="solid", color="burlywood", weight=9]; 58.54/37.23 3060 -> 187[label="",style="solid", color="burlywood", weight=3]; 58.54/37.23 3061[label="xu31/Neg xu310",fontsize=10,color="white",style="solid",shape="box"];172 -> 3061[label="",style="solid", color="burlywood", weight=9]; 58.54/37.23 3061 -> 188[label="",style="solid", color="burlywood", weight=3]; 58.54/37.23 173[label="takeWhile1 (flip (<=) xu31) (Neg (Succ xu3000)) (numericEnumFrom $! Neg (Succ xu3000) + fromInt (Pos (Succ Zero))) (not (primCmpInt (Neg (Succ xu3000)) xu31 == GT))",fontsize=16,color="burlywood",shape="box"];3062[label="xu31/Pos xu310",fontsize=10,color="white",style="solid",shape="box"];173 -> 3062[label="",style="solid", color="burlywood", weight=9]; 58.54/37.23 3062 -> 189[label="",style="solid", color="burlywood", weight=3]; 58.54/37.23 3063[label="xu31/Neg xu310",fontsize=10,color="white",style="solid",shape="box"];173 -> 3063[label="",style="solid", color="burlywood", weight=9]; 58.54/37.23 3063 -> 190[label="",style="solid", color="burlywood", weight=3]; 58.54/37.23 174[label="takeWhile1 (flip (<=) xu31) (Neg Zero) (numericEnumFrom $! Neg Zero + fromInt (Pos (Succ Zero))) (not (primCmpInt (Neg Zero) xu31 == GT))",fontsize=16,color="burlywood",shape="box"];3064[label="xu31/Pos xu310",fontsize=10,color="white",style="solid",shape="box"];174 -> 3064[label="",style="solid", color="burlywood", weight=9]; 58.54/37.23 3064 -> 191[label="",style="solid", color="burlywood", weight=3]; 58.54/37.23 3065[label="xu31/Neg xu310",fontsize=10,color="white",style="solid",shape="box"];174 -> 3065[label="",style="solid", color="burlywood", weight=9]; 58.54/37.23 3065 -> 192[label="",style="solid", color="burlywood", weight=3]; 58.54/37.23 538[label="range20 xu20 xu21 xu220",fontsize=16,color="black",shape="box"];538 -> 594[label="",style="solid", color="black", weight=3]; 58.54/37.23 539[label="xu221",fontsize=16,color="green",shape="box"];540[label="(++) (xu440 : xu441) xu42",fontsize=16,color="black",shape="box"];540 -> 595[label="",style="solid", color="black", weight=3]; 58.54/37.23 541[label="(++) [] xu42",fontsize=16,color="black",shape="box"];541 -> 596[label="",style="solid", color="black", weight=3]; 58.54/37.23 177[label="(++) range00 LT (not (compare2 LT LT True == LT) && LT >= xu30) foldr (++) [] (map (range0 LT xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];177 -> 194[label="",style="solid", color="black", weight=3]; 58.54/37.23 178[label="(++) range00 LT (not (compare2 EQ LT False == LT) && LT >= xu30) foldr (++) [] (map (range0 EQ xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];178 -> 195[label="",style="solid", color="black", weight=3]; 58.54/37.23 179[label="(++) range00 LT (not (compare2 GT LT False == LT) && LT >= xu30) foldr (++) [] (map (range0 GT xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];179 -> 196[label="",style="solid", color="black", weight=3]; 58.54/37.23 180[label="(++) range60 False (not (compare2 False False True == LT) && False >= xu30) foldr (++) [] (map (range6 False xu30) (True : []))",fontsize=16,color="black",shape="box"];180 -> 197[label="",style="solid", color="black", weight=3]; 58.54/37.23 181[label="(++) range60 False (not (compare2 True False False == LT) && False >= xu30) foldr (++) [] (map (range6 True xu30) (True : []))",fontsize=16,color="black",shape="box"];181 -> 198[label="",style="solid", color="black", weight=3]; 58.54/37.23 182[label="takeWhile1 (flip (<=) (Integer xu310)) (Integer (Pos xu3000)) (numericEnumFrom $! Integer (Pos xu3000) + fromInt (Pos (Succ Zero))) (not (primCmpInt (Pos xu3000) xu310 == GT))",fontsize=16,color="burlywood",shape="box"];3066[label="xu3000/Succ xu30000",fontsize=10,color="white",style="solid",shape="box"];182 -> 3066[label="",style="solid", color="burlywood", weight=9]; 58.54/37.23 3066 -> 199[label="",style="solid", color="burlywood", weight=3]; 58.54/37.23 3067[label="xu3000/Zero",fontsize=10,color="white",style="solid",shape="box"];182 -> 3067[label="",style="solid", color="burlywood", weight=9]; 58.54/37.23 3067 -> 200[label="",style="solid", color="burlywood", weight=3]; 58.54/37.23 183[label="takeWhile1 (flip (<=) (Integer xu310)) (Integer (Neg xu3000)) (numericEnumFrom $! Integer (Neg xu3000) + fromInt (Pos (Succ Zero))) (not (primCmpInt (Neg xu3000) xu310 == GT))",fontsize=16,color="burlywood",shape="box"];3068[label="xu3000/Succ xu30000",fontsize=10,color="white",style="solid",shape="box"];183 -> 3068[label="",style="solid", color="burlywood", weight=9]; 58.54/37.23 3068 -> 201[label="",style="solid", color="burlywood", weight=3]; 58.54/37.23 3069[label="xu3000/Zero",fontsize=10,color="white",style="solid",shape="box"];183 -> 3069[label="",style="solid", color="burlywood", weight=9]; 58.54/37.23 3069 -> 202[label="",style="solid", color="burlywood", weight=3]; 58.54/37.23 542[label="concatMap (range4 xu150 xu11 xu12) (range (xu13,xu14))",fontsize=16,color="black",shape="box"];542 -> 597[label="",style="solid", color="black", weight=3]; 58.54/37.23 543[label="xu430 : xu431 ++ xu35",fontsize=16,color="green",shape="box"];543 -> 598[label="",style="dashed", color="green", weight=3]; 58.54/37.23 544[label="xu35",fontsize=16,color="green",shape="box"];185[label="takeWhile1 (flip (<=) (Pos xu310)) (Pos (Succ xu3000)) (numericEnumFrom $! Pos (Succ xu3000) + fromInt (Pos (Succ Zero))) (not (primCmpInt (Pos (Succ xu3000)) (Pos xu310) == GT))",fontsize=16,color="black",shape="box"];185 -> 204[label="",style="solid", color="black", weight=3]; 58.54/37.23 186[label="takeWhile1 (flip (<=) (Neg xu310)) (Pos (Succ xu3000)) (numericEnumFrom $! Pos (Succ xu3000) + fromInt (Pos (Succ Zero))) (not (primCmpInt (Pos (Succ xu3000)) (Neg xu310) == GT))",fontsize=16,color="black",shape="box"];186 -> 205[label="",style="solid", color="black", weight=3]; 58.54/37.23 187[label="takeWhile1 (flip (<=) (Pos xu310)) (Pos Zero) (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))) (not (primCmpInt (Pos Zero) (Pos xu310) == GT))",fontsize=16,color="burlywood",shape="box"];3070[label="xu310/Succ xu3100",fontsize=10,color="white",style="solid",shape="box"];187 -> 3070[label="",style="solid", color="burlywood", weight=9]; 58.54/37.23 3070 -> 206[label="",style="solid", color="burlywood", weight=3]; 58.54/37.23 3071[label="xu310/Zero",fontsize=10,color="white",style="solid",shape="box"];187 -> 3071[label="",style="solid", color="burlywood", weight=9]; 58.54/37.23 3071 -> 207[label="",style="solid", color="burlywood", weight=3]; 58.54/37.23 188[label="takeWhile1 (flip (<=) (Neg xu310)) (Pos Zero) (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))) (not (primCmpInt (Pos Zero) (Neg xu310) == GT))",fontsize=16,color="burlywood",shape="box"];3072[label="xu310/Succ xu3100",fontsize=10,color="white",style="solid",shape="box"];188 -> 3072[label="",style="solid", color="burlywood", weight=9]; 58.54/37.23 3072 -> 208[label="",style="solid", color="burlywood", weight=3]; 58.54/37.23 3073[label="xu310/Zero",fontsize=10,color="white",style="solid",shape="box"];188 -> 3073[label="",style="solid", color="burlywood", weight=9]; 58.54/37.23 3073 -> 209[label="",style="solid", color="burlywood", weight=3]; 58.54/37.23 189[label="takeWhile1 (flip (<=) (Pos xu310)) (Neg (Succ xu3000)) (numericEnumFrom $! Neg (Succ xu3000) + fromInt (Pos (Succ Zero))) (not (primCmpInt (Neg (Succ xu3000)) (Pos xu310) == GT))",fontsize=16,color="black",shape="box"];189 -> 210[label="",style="solid", color="black", weight=3]; 58.54/37.23 190[label="takeWhile1 (flip (<=) (Neg xu310)) (Neg (Succ xu3000)) (numericEnumFrom $! Neg (Succ xu3000) + fromInt (Pos (Succ Zero))) (not (primCmpInt (Neg (Succ xu3000)) (Neg xu310) == GT))",fontsize=16,color="black",shape="box"];190 -> 211[label="",style="solid", color="black", weight=3]; 58.54/37.23 191[label="takeWhile1 (flip (<=) (Pos xu310)) (Neg Zero) (numericEnumFrom $! Neg Zero + fromInt (Pos (Succ Zero))) (not (primCmpInt (Neg Zero) (Pos xu310) == GT))",fontsize=16,color="burlywood",shape="box"];3074[label="xu310/Succ xu3100",fontsize=10,color="white",style="solid",shape="box"];191 -> 3074[label="",style="solid", color="burlywood", weight=9]; 58.54/37.23 3074 -> 212[label="",style="solid", color="burlywood", weight=3]; 58.54/37.23 3075[label="xu310/Zero",fontsize=10,color="white",style="solid",shape="box"];191 -> 3075[label="",style="solid", color="burlywood", weight=9]; 58.54/37.23 3075 -> 213[label="",style="solid", color="burlywood", weight=3]; 58.54/37.23 192[label="takeWhile1 (flip (<=) (Neg xu310)) (Neg Zero) (numericEnumFrom $! Neg Zero + fromInt (Pos (Succ Zero))) (not (primCmpInt (Neg Zero) (Neg xu310) == GT))",fontsize=16,color="burlywood",shape="box"];3076[label="xu310/Succ xu3100",fontsize=10,color="white",style="solid",shape="box"];192 -> 3076[label="",style="solid", color="burlywood", weight=9]; 58.54/37.23 3076 -> 214[label="",style="solid", color="burlywood", weight=3]; 58.54/37.23 3077[label="xu310/Zero",fontsize=10,color="white",style="solid",shape="box"];192 -> 3077[label="",style="solid", color="burlywood", weight=9]; 58.54/37.23 3077 -> 215[label="",style="solid", color="burlywood", weight=3]; 58.54/37.23 594[label="concatMap (range1 xu220) (range (xu20,xu21))",fontsize=16,color="black",shape="box"];594 -> 650[label="",style="solid", color="black", weight=3]; 58.54/37.23 595[label="xu440 : xu441 ++ xu42",fontsize=16,color="green",shape="box"];595 -> 651[label="",style="dashed", color="green", weight=3]; 58.54/37.23 596[label="xu42",fontsize=16,color="green",shape="box"];194[label="(++) range00 LT (not (EQ == LT) && LT >= xu30) foldr (++) [] (map (range0 LT xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];194 -> 217[label="",style="solid", color="black", weight=3]; 58.54/37.23 195[label="(++) range00 LT (not (compare1 EQ LT (EQ <= LT) == LT) && LT >= xu30) foldr (++) [] (map (range0 EQ xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];195 -> 218[label="",style="solid", color="black", weight=3]; 58.54/37.23 196[label="(++) range00 LT (not (compare1 GT LT (GT <= LT) == LT) && LT >= xu30) foldr (++) [] (map (range0 GT xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];196 -> 219[label="",style="solid", color="black", weight=3]; 58.54/37.23 197[label="(++) range60 False (not (EQ == LT) && False >= xu30) foldr (++) [] (map (range6 False xu30) (True : []))",fontsize=16,color="black",shape="box"];197 -> 220[label="",style="solid", color="black", weight=3]; 58.54/37.23 198[label="(++) range60 False (not (compare1 True False (True <= False) == LT) && False >= xu30) foldr (++) [] (map (range6 True xu30) (True : []))",fontsize=16,color="black",shape="box"];198 -> 221[label="",style="solid", color="black", weight=3]; 58.54/37.23 199[label="takeWhile1 (flip (<=) (Integer xu310)) (Integer (Pos (Succ xu30000))) (numericEnumFrom $! Integer (Pos (Succ xu30000)) + fromInt (Pos (Succ Zero))) (not (primCmpInt (Pos (Succ xu30000)) xu310 == GT))",fontsize=16,color="burlywood",shape="box"];3078[label="xu310/Pos xu3100",fontsize=10,color="white",style="solid",shape="box"];199 -> 3078[label="",style="solid", color="burlywood", weight=9]; 58.54/37.23 3078 -> 222[label="",style="solid", color="burlywood", weight=3]; 58.54/37.23 3079[label="xu310/Neg xu3100",fontsize=10,color="white",style="solid",shape="box"];199 -> 3079[label="",style="solid", color="burlywood", weight=9]; 58.54/37.23 3079 -> 223[label="",style="solid", color="burlywood", weight=3]; 58.54/37.23 200[label="takeWhile1 (flip (<=) (Integer xu310)) (Integer (Pos Zero)) (numericEnumFrom $! Integer (Pos Zero) + fromInt (Pos (Succ Zero))) (not (primCmpInt (Pos Zero) xu310 == GT))",fontsize=16,color="burlywood",shape="box"];3080[label="xu310/Pos xu3100",fontsize=10,color="white",style="solid",shape="box"];200 -> 3080[label="",style="solid", color="burlywood", weight=9]; 58.54/37.23 3080 -> 224[label="",style="solid", color="burlywood", weight=3]; 58.54/37.23 3081[label="xu310/Neg xu3100",fontsize=10,color="white",style="solid",shape="box"];200 -> 3081[label="",style="solid", color="burlywood", weight=9]; 58.54/37.23 3081 -> 225[label="",style="solid", color="burlywood", weight=3]; 58.54/37.23 201[label="takeWhile1 (flip (<=) (Integer xu310)) (Integer (Neg (Succ xu30000))) (numericEnumFrom $! Integer (Neg (Succ xu30000)) + fromInt (Pos (Succ Zero))) (not (primCmpInt (Neg (Succ xu30000)) xu310 == GT))",fontsize=16,color="burlywood",shape="box"];3082[label="xu310/Pos xu3100",fontsize=10,color="white",style="solid",shape="box"];201 -> 3082[label="",style="solid", color="burlywood", weight=9]; 58.54/37.23 3082 -> 226[label="",style="solid", color="burlywood", weight=3]; 58.54/37.23 3083[label="xu310/Neg xu3100",fontsize=10,color="white",style="solid",shape="box"];201 -> 3083[label="",style="solid", color="burlywood", weight=9]; 58.54/37.23 3083 -> 227[label="",style="solid", color="burlywood", weight=3]; 58.54/37.23 202[label="takeWhile1 (flip (<=) (Integer xu310)) (Integer (Neg Zero)) (numericEnumFrom $! Integer (Neg Zero) + fromInt (Pos (Succ Zero))) (not (primCmpInt (Neg Zero) xu310 == GT))",fontsize=16,color="burlywood",shape="box"];3084[label="xu310/Pos xu3100",fontsize=10,color="white",style="solid",shape="box"];202 -> 3084[label="",style="solid", color="burlywood", weight=9]; 58.54/37.23 3084 -> 228[label="",style="solid", color="burlywood", weight=3]; 58.54/37.23 3085[label="xu310/Neg xu3100",fontsize=10,color="white",style="solid",shape="box"];202 -> 3085[label="",style="solid", color="burlywood", weight=9]; 58.54/37.23 3085 -> 229[label="",style="solid", color="burlywood", weight=3]; 58.54/37.23 597[label="concat . map (range4 xu150 xu11 xu12)",fontsize=16,color="black",shape="box"];597 -> 652[label="",style="solid", color="black", weight=3]; 58.54/37.23 598 -> 474[label="",style="dashed", color="red", weight=0]; 58.54/37.23 598[label="xu431 ++ xu35",fontsize=16,color="magenta"];598 -> 653[label="",style="dashed", color="magenta", weight=3]; 58.54/37.23 204[label="takeWhile1 (flip (<=) (Pos xu310)) (Pos (Succ xu3000)) (numericEnumFrom $! Pos (Succ xu3000) + fromInt (Pos (Succ Zero))) (not (primCmpNat (Succ xu3000) xu310 == GT))",fontsize=16,color="burlywood",shape="box"];3086[label="xu310/Succ xu3100",fontsize=10,color="white",style="solid",shape="box"];204 -> 3086[label="",style="solid", color="burlywood", weight=9]; 58.54/37.23 3086 -> 231[label="",style="solid", color="burlywood", weight=3]; 58.54/37.23 3087[label="xu310/Zero",fontsize=10,color="white",style="solid",shape="box"];204 -> 3087[label="",style="solid", color="burlywood", weight=9]; 58.54/37.23 3087 -> 232[label="",style="solid", color="burlywood", weight=3]; 58.54/37.23 205[label="takeWhile1 (flip (<=) (Neg xu310)) (Pos (Succ xu3000)) (numericEnumFrom $! Pos (Succ xu3000) + fromInt (Pos (Succ Zero))) (not (GT == GT))",fontsize=16,color="black",shape="box"];205 -> 233[label="",style="solid", color="black", weight=3]; 58.54/37.23 206[label="takeWhile1 (flip (<=) (Pos (Succ xu3100))) (Pos Zero) (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))) (not (primCmpInt (Pos Zero) (Pos (Succ xu3100)) == GT))",fontsize=16,color="black",shape="box"];206 -> 234[label="",style="solid", color="black", weight=3]; 58.54/37.23 207[label="takeWhile1 (flip (<=) (Pos Zero)) (Pos Zero) (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))) (not (primCmpInt (Pos Zero) (Pos Zero) == GT))",fontsize=16,color="black",shape="box"];207 -> 235[label="",style="solid", color="black", weight=3]; 58.54/37.23 208[label="takeWhile1 (flip (<=) (Neg (Succ xu3100))) (Pos Zero) (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))) (not (primCmpInt (Pos Zero) (Neg (Succ xu3100)) == GT))",fontsize=16,color="black",shape="box"];208 -> 236[label="",style="solid", color="black", weight=3]; 58.54/37.23 209[label="takeWhile1 (flip (<=) (Neg Zero)) (Pos Zero) (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))) (not (primCmpInt (Pos Zero) (Neg Zero) == GT))",fontsize=16,color="black",shape="box"];209 -> 237[label="",style="solid", color="black", weight=3]; 58.54/37.23 210[label="takeWhile1 (flip (<=) (Pos xu310)) (Neg (Succ xu3000)) (numericEnumFrom $! Neg (Succ xu3000) + fromInt (Pos (Succ Zero))) (not (LT == GT))",fontsize=16,color="black",shape="box"];210 -> 238[label="",style="solid", color="black", weight=3]; 58.54/37.23 211[label="takeWhile1 (flip (<=) (Neg xu310)) (Neg (Succ xu3000)) (numericEnumFrom $! Neg (Succ xu3000) + fromInt (Pos (Succ Zero))) (not (primCmpNat xu310 (Succ xu3000) == GT))",fontsize=16,color="burlywood",shape="box"];3088[label="xu310/Succ xu3100",fontsize=10,color="white",style="solid",shape="box"];211 -> 3088[label="",style="solid", color="burlywood", weight=9]; 58.54/37.23 3088 -> 239[label="",style="solid", color="burlywood", weight=3]; 58.54/37.23 3089[label="xu310/Zero",fontsize=10,color="white",style="solid",shape="box"];211 -> 3089[label="",style="solid", color="burlywood", weight=9]; 58.54/37.23 3089 -> 240[label="",style="solid", color="burlywood", weight=3]; 58.54/37.23 212[label="takeWhile1 (flip (<=) (Pos (Succ xu3100))) (Neg Zero) (numericEnumFrom $! Neg Zero + fromInt (Pos (Succ Zero))) (not (primCmpInt (Neg Zero) (Pos (Succ xu3100)) == GT))",fontsize=16,color="black",shape="box"];212 -> 241[label="",style="solid", color="black", weight=3]; 58.54/37.23 213[label="takeWhile1 (flip (<=) (Pos Zero)) (Neg Zero) (numericEnumFrom $! Neg Zero + fromInt (Pos (Succ Zero))) (not (primCmpInt (Neg Zero) (Pos Zero) == GT))",fontsize=16,color="black",shape="box"];213 -> 242[label="",style="solid", color="black", weight=3]; 58.54/37.23 214[label="takeWhile1 (flip (<=) (Neg (Succ xu3100))) (Neg Zero) (numericEnumFrom $! Neg Zero + fromInt (Pos (Succ Zero))) (not (primCmpInt (Neg Zero) (Neg (Succ xu3100)) == GT))",fontsize=16,color="black",shape="box"];214 -> 243[label="",style="solid", color="black", weight=3]; 58.54/37.23 215[label="takeWhile1 (flip (<=) (Neg Zero)) (Neg Zero) (numericEnumFrom $! Neg Zero + fromInt (Pos (Succ Zero))) (not (primCmpInt (Neg Zero) (Neg Zero) == GT))",fontsize=16,color="black",shape="box"];215 -> 244[label="",style="solid", color="black", weight=3]; 58.54/37.23 650[label="concat . map (range1 xu220)",fontsize=16,color="black",shape="box"];650 -> 710[label="",style="solid", color="black", weight=3]; 58.54/37.23 651 -> 519[label="",style="dashed", color="red", weight=0]; 58.54/37.23 651[label="xu441 ++ xu42",fontsize=16,color="magenta"];651 -> 711[label="",style="dashed", color="magenta", weight=3]; 58.54/37.23 217[label="(++) range00 LT (not False && LT >= xu30) foldr (++) [] (map (range0 LT xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];217 -> 246[label="",style="solid", color="black", weight=3]; 58.54/37.23 218[label="(++) range00 LT (not (compare1 EQ LT False == LT) && LT >= xu30) foldr (++) [] (map (range0 EQ xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];218 -> 247[label="",style="solid", color="black", weight=3]; 58.54/37.23 219[label="(++) range00 LT (not (compare1 GT LT False == LT) && LT >= xu30) foldr (++) [] (map (range0 GT xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];219 -> 248[label="",style="solid", color="black", weight=3]; 58.54/37.23 220[label="(++) range60 False (not False && False >= xu30) foldr (++) [] (map (range6 False xu30) (True : []))",fontsize=16,color="black",shape="box"];220 -> 249[label="",style="solid", color="black", weight=3]; 58.54/37.23 221[label="(++) range60 False (not (compare1 True False False == LT) && False >= xu30) foldr (++) [] (map (range6 True xu30) (True : []))",fontsize=16,color="black",shape="box"];221 -> 250[label="",style="solid", color="black", weight=3]; 58.54/37.23 222[label="takeWhile1 (flip (<=) (Integer (Pos xu3100))) (Integer (Pos (Succ xu30000))) (numericEnumFrom $! Integer (Pos (Succ xu30000)) + fromInt (Pos (Succ Zero))) (not (primCmpInt (Pos (Succ xu30000)) (Pos xu3100) == GT))",fontsize=16,color="black",shape="box"];222 -> 251[label="",style="solid", color="black", weight=3]; 58.54/37.23 223[label="takeWhile1 (flip (<=) (Integer (Neg xu3100))) (Integer (Pos (Succ xu30000))) (numericEnumFrom $! Integer (Pos (Succ xu30000)) + fromInt (Pos (Succ Zero))) (not (primCmpInt (Pos (Succ xu30000)) (Neg xu3100) == GT))",fontsize=16,color="black",shape="box"];223 -> 252[label="",style="solid", color="black", weight=3]; 58.54/37.23 224[label="takeWhile1 (flip (<=) (Integer (Pos xu3100))) (Integer (Pos Zero)) (numericEnumFrom $! Integer (Pos Zero) + fromInt (Pos (Succ Zero))) (not (primCmpInt (Pos Zero) (Pos xu3100) == GT))",fontsize=16,color="burlywood",shape="box"];3090[label="xu3100/Succ xu31000",fontsize=10,color="white",style="solid",shape="box"];224 -> 3090[label="",style="solid", color="burlywood", weight=9]; 58.54/37.23 3090 -> 253[label="",style="solid", color="burlywood", weight=3]; 58.54/37.23 3091[label="xu3100/Zero",fontsize=10,color="white",style="solid",shape="box"];224 -> 3091[label="",style="solid", color="burlywood", weight=9]; 58.54/37.23 3091 -> 254[label="",style="solid", color="burlywood", weight=3]; 58.54/37.23 225[label="takeWhile1 (flip (<=) (Integer (Neg xu3100))) (Integer (Pos Zero)) (numericEnumFrom $! Integer (Pos Zero) + fromInt (Pos (Succ Zero))) (not (primCmpInt (Pos Zero) (Neg xu3100) == GT))",fontsize=16,color="burlywood",shape="box"];3092[label="xu3100/Succ xu31000",fontsize=10,color="white",style="solid",shape="box"];225 -> 3092[label="",style="solid", color="burlywood", weight=9]; 58.54/37.23 3092 -> 255[label="",style="solid", color="burlywood", weight=3]; 58.54/37.23 3093[label="xu3100/Zero",fontsize=10,color="white",style="solid",shape="box"];225 -> 3093[label="",style="solid", color="burlywood", weight=9]; 58.54/37.23 3093 -> 256[label="",style="solid", color="burlywood", weight=3]; 58.54/37.23 226[label="takeWhile1 (flip (<=) (Integer (Pos xu3100))) (Integer (Neg (Succ xu30000))) (numericEnumFrom $! Integer (Neg (Succ xu30000)) + fromInt (Pos (Succ Zero))) (not (primCmpInt (Neg (Succ xu30000)) (Pos xu3100) == GT))",fontsize=16,color="black",shape="box"];226 -> 257[label="",style="solid", color="black", weight=3]; 58.54/37.23 227[label="takeWhile1 (flip (<=) (Integer (Neg xu3100))) (Integer (Neg (Succ xu30000))) (numericEnumFrom $! Integer (Neg (Succ xu30000)) + fromInt (Pos (Succ Zero))) (not (primCmpInt (Neg (Succ xu30000)) (Neg xu3100) == GT))",fontsize=16,color="black",shape="box"];227 -> 258[label="",style="solid", color="black", weight=3]; 58.54/37.23 228[label="takeWhile1 (flip (<=) (Integer (Pos xu3100))) (Integer (Neg Zero)) (numericEnumFrom $! Integer (Neg Zero) + fromInt (Pos (Succ Zero))) (not (primCmpInt (Neg Zero) (Pos xu3100) == GT))",fontsize=16,color="burlywood",shape="box"];3094[label="xu3100/Succ xu31000",fontsize=10,color="white",style="solid",shape="box"];228 -> 3094[label="",style="solid", color="burlywood", weight=9]; 58.54/37.23 3094 -> 259[label="",style="solid", color="burlywood", weight=3]; 58.54/37.23 3095[label="xu3100/Zero",fontsize=10,color="white",style="solid",shape="box"];228 -> 3095[label="",style="solid", color="burlywood", weight=9]; 58.54/37.23 3095 -> 260[label="",style="solid", color="burlywood", weight=3]; 58.54/37.23 229[label="takeWhile1 (flip (<=) (Integer (Neg xu3100))) (Integer (Neg Zero)) (numericEnumFrom $! Integer (Neg Zero) + fromInt (Pos (Succ Zero))) (not (primCmpInt (Neg Zero) (Neg xu3100) == GT))",fontsize=16,color="burlywood",shape="box"];3096[label="xu3100/Succ xu31000",fontsize=10,color="white",style="solid",shape="box"];229 -> 3096[label="",style="solid", color="burlywood", weight=9]; 58.54/37.23 3096 -> 261[label="",style="solid", color="burlywood", weight=3]; 58.54/37.23 3097[label="xu3100/Zero",fontsize=10,color="white",style="solid",shape="box"];229 -> 3097[label="",style="solid", color="burlywood", weight=9]; 58.54/37.23 3097 -> 262[label="",style="solid", color="burlywood", weight=3]; 58.54/37.23 652[label="concat (map (range4 xu150 xu11 xu12) (range (xu13,xu14)))",fontsize=16,color="black",shape="box"];652 -> 712[label="",style="solid", color="black", weight=3]; 58.54/37.23 653[label="xu431",fontsize=16,color="green",shape="box"];231[label="takeWhile1 (flip (<=) (Pos (Succ xu3100))) (Pos (Succ xu3000)) (numericEnumFrom $! Pos (Succ xu3000) + fromInt (Pos (Succ Zero))) (not (primCmpNat (Succ xu3000) (Succ xu3100) == GT))",fontsize=16,color="black",shape="box"];231 -> 264[label="",style="solid", color="black", weight=3]; 58.54/37.23 232[label="takeWhile1 (flip (<=) (Pos Zero)) (Pos (Succ xu3000)) (numericEnumFrom $! Pos (Succ xu3000) + fromInt (Pos (Succ Zero))) (not (primCmpNat (Succ xu3000) Zero == GT))",fontsize=16,color="black",shape="box"];232 -> 265[label="",style="solid", color="black", weight=3]; 58.54/37.23 233[label="takeWhile1 (flip (<=) (Neg xu310)) (Pos (Succ xu3000)) (numericEnumFrom $! Pos (Succ xu3000) + fromInt (Pos (Succ Zero))) (not True)",fontsize=16,color="black",shape="box"];233 -> 266[label="",style="solid", color="black", weight=3]; 58.54/37.23 234[label="takeWhile1 (flip (<=) (Pos (Succ xu3100))) (Pos Zero) (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))) (not (primCmpNat Zero (Succ xu3100) == GT))",fontsize=16,color="black",shape="box"];234 -> 267[label="",style="solid", color="black", weight=3]; 58.54/37.23 235[label="takeWhile1 (flip (<=) (Pos Zero)) (Pos Zero) (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))) (not (EQ == GT))",fontsize=16,color="black",shape="box"];235 -> 268[label="",style="solid", color="black", weight=3]; 58.54/37.23 236[label="takeWhile1 (flip (<=) (Neg (Succ xu3100))) (Pos Zero) (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))) (not (GT == GT))",fontsize=16,color="black",shape="box"];236 -> 269[label="",style="solid", color="black", weight=3]; 58.54/37.23 237[label="takeWhile1 (flip (<=) (Neg Zero)) (Pos Zero) (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))) (not (EQ == GT))",fontsize=16,color="black",shape="box"];237 -> 270[label="",style="solid", color="black", weight=3]; 58.54/37.23 238[label="takeWhile1 (flip (<=) (Pos xu310)) (Neg (Succ xu3000)) (numericEnumFrom $! Neg (Succ xu3000) + fromInt (Pos (Succ Zero))) (not False)",fontsize=16,color="black",shape="box"];238 -> 271[label="",style="solid", color="black", weight=3]; 58.54/37.23 239[label="takeWhile1 (flip (<=) (Neg (Succ xu3100))) (Neg (Succ xu3000)) (numericEnumFrom $! Neg (Succ xu3000) + fromInt (Pos (Succ Zero))) (not (primCmpNat (Succ xu3100) (Succ xu3000) == GT))",fontsize=16,color="black",shape="box"];239 -> 272[label="",style="solid", color="black", weight=3]; 58.54/37.23 240[label="takeWhile1 (flip (<=) (Neg Zero)) (Neg (Succ xu3000)) (numericEnumFrom $! Neg (Succ xu3000) + fromInt (Pos (Succ Zero))) (not (primCmpNat Zero (Succ xu3000) == GT))",fontsize=16,color="black",shape="box"];240 -> 273[label="",style="solid", color="black", weight=3]; 58.54/37.23 241[label="takeWhile1 (flip (<=) (Pos (Succ xu3100))) (Neg Zero) (numericEnumFrom $! Neg Zero + fromInt (Pos (Succ Zero))) (not (LT == GT))",fontsize=16,color="black",shape="box"];241 -> 274[label="",style="solid", color="black", weight=3]; 58.54/37.23 242[label="takeWhile1 (flip (<=) (Pos Zero)) (Neg Zero) (numericEnumFrom $! Neg Zero + fromInt (Pos (Succ Zero))) (not (EQ == GT))",fontsize=16,color="black",shape="box"];242 -> 275[label="",style="solid", color="black", weight=3]; 58.54/37.23 243[label="takeWhile1 (flip (<=) (Neg (Succ xu3100))) (Neg Zero) (numericEnumFrom $! Neg Zero + fromInt (Pos (Succ Zero))) (not (primCmpNat (Succ xu3100) Zero == GT))",fontsize=16,color="black",shape="box"];243 -> 276[label="",style="solid", color="black", weight=3]; 58.54/37.23 244[label="takeWhile1 (flip (<=) (Neg Zero)) (Neg Zero) (numericEnumFrom $! Neg Zero + fromInt (Pos (Succ Zero))) (not (EQ == GT))",fontsize=16,color="black",shape="box"];244 -> 277[label="",style="solid", color="black", weight=3]; 58.54/37.23 710[label="concat (map (range1 xu220) (range (xu20,xu21)))",fontsize=16,color="black",shape="box"];710 -> 771[label="",style="solid", color="black", weight=3]; 58.54/37.23 711[label="xu441",fontsize=16,color="green",shape="box"];246[label="(++) range00 LT (True && LT >= xu30) foldr (++) [] (map (range0 LT xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];246 -> 279[label="",style="solid", color="black", weight=3]; 58.54/37.23 247[label="(++) range00 LT (not (compare0 EQ LT otherwise == LT) && LT >= xu30) foldr (++) [] (map (range0 EQ xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];247 -> 280[label="",style="solid", color="black", weight=3]; 58.54/37.23 248[label="(++) range00 LT (not (compare0 GT LT otherwise == LT) && LT >= xu30) foldr (++) [] (map (range0 GT xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];248 -> 281[label="",style="solid", color="black", weight=3]; 58.54/37.23 249[label="(++) range60 False (True && False >= xu30) foldr (++) [] (map (range6 False xu30) (True : []))",fontsize=16,color="black",shape="box"];249 -> 282[label="",style="solid", color="black", weight=3]; 58.54/37.23 250[label="(++) range60 False (not (compare0 True False otherwise == LT) && False >= xu30) foldr (++) [] (map (range6 True xu30) (True : []))",fontsize=16,color="black",shape="box"];250 -> 283[label="",style="solid", color="black", weight=3]; 58.54/37.23 251[label="takeWhile1 (flip (<=) (Integer (Pos xu3100))) (Integer (Pos (Succ xu30000))) (numericEnumFrom $! Integer (Pos (Succ xu30000)) + fromInt (Pos (Succ Zero))) (not (primCmpNat (Succ xu30000) xu3100 == GT))",fontsize=16,color="burlywood",shape="box"];3098[label="xu3100/Succ xu31000",fontsize=10,color="white",style="solid",shape="box"];251 -> 3098[label="",style="solid", color="burlywood", weight=9]; 58.54/37.23 3098 -> 284[label="",style="solid", color="burlywood", weight=3]; 58.54/37.23 3099[label="xu3100/Zero",fontsize=10,color="white",style="solid",shape="box"];251 -> 3099[label="",style="solid", color="burlywood", weight=9]; 58.54/37.23 3099 -> 285[label="",style="solid", color="burlywood", weight=3]; 58.54/37.23 252[label="takeWhile1 (flip (<=) (Integer (Neg xu3100))) (Integer (Pos (Succ xu30000))) (numericEnumFrom $! Integer (Pos (Succ xu30000)) + fromInt (Pos (Succ Zero))) (not (GT == GT))",fontsize=16,color="black",shape="box"];252 -> 286[label="",style="solid", color="black", weight=3]; 58.54/37.23 253[label="takeWhile1 (flip (<=) (Integer (Pos (Succ xu31000)))) (Integer (Pos Zero)) (numericEnumFrom $! Integer (Pos Zero) + fromInt (Pos (Succ Zero))) (not (primCmpInt (Pos Zero) (Pos (Succ xu31000)) == GT))",fontsize=16,color="black",shape="box"];253 -> 287[label="",style="solid", color="black", weight=3]; 58.54/37.23 254[label="takeWhile1 (flip (<=) (Integer (Pos Zero))) (Integer (Pos Zero)) (numericEnumFrom $! Integer (Pos Zero) + fromInt (Pos (Succ Zero))) (not (primCmpInt (Pos Zero) (Pos Zero) == GT))",fontsize=16,color="black",shape="box"];254 -> 288[label="",style="solid", color="black", weight=3]; 58.54/37.23 255[label="takeWhile1 (flip (<=) (Integer (Neg (Succ xu31000)))) (Integer (Pos Zero)) (numericEnumFrom $! Integer (Pos Zero) + fromInt (Pos (Succ Zero))) (not (primCmpInt (Pos Zero) (Neg (Succ xu31000)) == GT))",fontsize=16,color="black",shape="box"];255 -> 289[label="",style="solid", color="black", weight=3]; 58.54/37.23 256[label="takeWhile1 (flip (<=) (Integer (Neg Zero))) (Integer (Pos Zero)) (numericEnumFrom $! Integer (Pos Zero) + fromInt (Pos (Succ Zero))) (not (primCmpInt (Pos Zero) (Neg Zero) == GT))",fontsize=16,color="black",shape="box"];256 -> 290[label="",style="solid", color="black", weight=3]; 58.54/37.23 257[label="takeWhile1 (flip (<=) (Integer (Pos xu3100))) (Integer (Neg (Succ xu30000))) (numericEnumFrom $! Integer (Neg (Succ xu30000)) + fromInt (Pos (Succ Zero))) (not (LT == GT))",fontsize=16,color="black",shape="box"];257 -> 291[label="",style="solid", color="black", weight=3]; 58.54/37.23 258[label="takeWhile1 (flip (<=) (Integer (Neg xu3100))) (Integer (Neg (Succ xu30000))) (numericEnumFrom $! Integer (Neg (Succ xu30000)) + fromInt (Pos (Succ Zero))) (not (primCmpNat xu3100 (Succ xu30000) == GT))",fontsize=16,color="burlywood",shape="box"];3100[label="xu3100/Succ xu31000",fontsize=10,color="white",style="solid",shape="box"];258 -> 3100[label="",style="solid", color="burlywood", weight=9]; 58.54/37.23 3100 -> 292[label="",style="solid", color="burlywood", weight=3]; 58.54/37.23 3101[label="xu3100/Zero",fontsize=10,color="white",style="solid",shape="box"];258 -> 3101[label="",style="solid", color="burlywood", weight=9]; 58.54/37.23 3101 -> 293[label="",style="solid", color="burlywood", weight=3]; 58.54/37.23 259[label="takeWhile1 (flip (<=) (Integer (Pos (Succ xu31000)))) (Integer (Neg Zero)) (numericEnumFrom $! Integer (Neg Zero) + fromInt (Pos (Succ Zero))) (not (primCmpInt (Neg Zero) (Pos (Succ xu31000)) == GT))",fontsize=16,color="black",shape="box"];259 -> 294[label="",style="solid", color="black", weight=3]; 58.54/37.23 260[label="takeWhile1 (flip (<=) (Integer (Pos Zero))) (Integer (Neg Zero)) (numericEnumFrom $! Integer (Neg Zero) + fromInt (Pos (Succ Zero))) (not (primCmpInt (Neg Zero) (Pos Zero) == GT))",fontsize=16,color="black",shape="box"];260 -> 295[label="",style="solid", color="black", weight=3]; 58.54/37.23 261[label="takeWhile1 (flip (<=) (Integer (Neg (Succ xu31000)))) (Integer (Neg Zero)) (numericEnumFrom $! Integer (Neg Zero) + fromInt (Pos (Succ Zero))) (not (primCmpInt (Neg Zero) (Neg (Succ xu31000)) == GT))",fontsize=16,color="black",shape="box"];261 -> 296[label="",style="solid", color="black", weight=3]; 58.54/37.23 262[label="takeWhile1 (flip (<=) (Integer (Neg Zero))) (Integer (Neg Zero)) (numericEnumFrom $! Integer (Neg Zero) + fromInt (Pos (Succ Zero))) (not (primCmpInt (Neg Zero) (Neg Zero) == GT))",fontsize=16,color="black",shape="box"];262 -> 297[label="",style="solid", color="black", weight=3]; 58.54/37.23 712 -> 772[label="",style="dashed", color="red", weight=0]; 58.54/37.23 712[label="foldr (++) [] (map (range4 xu150 xu11 xu12) (range (xu13,xu14)))",fontsize=16,color="magenta"];712 -> 773[label="",style="dashed", color="magenta", weight=3]; 58.54/37.23 712 -> 774[label="",style="dashed", color="magenta", weight=3]; 58.54/37.23 712 -> 775[label="",style="dashed", color="magenta", weight=3]; 58.54/37.23 712 -> 776[label="",style="dashed", color="magenta", weight=3]; 58.54/37.23 264 -> 2275[label="",style="dashed", color="red", weight=0]; 58.54/37.23 264[label="takeWhile1 (flip (<=) (Pos (Succ xu3100))) (Pos (Succ xu3000)) (numericEnumFrom $! Pos (Succ xu3000) + fromInt (Pos (Succ Zero))) (not (primCmpNat xu3000 xu3100 == GT))",fontsize=16,color="magenta"];264 -> 2276[label="",style="dashed", color="magenta", weight=3]; 58.54/37.23 264 -> 2277[label="",style="dashed", color="magenta", weight=3]; 58.54/37.23 264 -> 2278[label="",style="dashed", color="magenta", weight=3]; 58.54/37.23 264 -> 2279[label="",style="dashed", color="magenta", weight=3]; 58.54/37.23 265[label="takeWhile1 (flip (<=) (Pos Zero)) (Pos (Succ xu3000)) (numericEnumFrom $! Pos (Succ xu3000) + fromInt (Pos (Succ Zero))) (not (GT == GT))",fontsize=16,color="black",shape="box"];265 -> 306[label="",style="solid", color="black", weight=3]; 58.54/37.23 266[label="takeWhile1 (flip (<=) (Neg xu310)) (Pos (Succ xu3000)) (numericEnumFrom $! Pos (Succ xu3000) + fromInt (Pos (Succ Zero))) False",fontsize=16,color="black",shape="box"];266 -> 307[label="",style="solid", color="black", weight=3]; 58.54/37.23 267[label="takeWhile1 (flip (<=) (Pos (Succ xu3100))) (Pos Zero) (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))) (not (LT == GT))",fontsize=16,color="black",shape="box"];267 -> 308[label="",style="solid", color="black", weight=3]; 58.54/37.23 268[label="takeWhile1 (flip (<=) (Pos Zero)) (Pos Zero) (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))) (not False)",fontsize=16,color="black",shape="box"];268 -> 309[label="",style="solid", color="black", weight=3]; 58.54/37.23 269[label="takeWhile1 (flip (<=) (Neg (Succ xu3100))) (Pos Zero) (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))) (not True)",fontsize=16,color="black",shape="box"];269 -> 310[label="",style="solid", color="black", weight=3]; 58.54/37.23 270[label="takeWhile1 (flip (<=) (Neg Zero)) (Pos Zero) (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))) (not False)",fontsize=16,color="black",shape="box"];270 -> 311[label="",style="solid", color="black", weight=3]; 58.54/37.23 271[label="takeWhile1 (flip (<=) (Pos xu310)) (Neg (Succ xu3000)) (numericEnumFrom $! Neg (Succ xu3000) + fromInt (Pos (Succ Zero))) True",fontsize=16,color="black",shape="box"];271 -> 312[label="",style="solid", color="black", weight=3]; 58.54/37.23 272 -> 2391[label="",style="dashed", color="red", weight=0]; 58.54/37.23 272[label="takeWhile1 (flip (<=) (Neg (Succ xu3100))) (Neg (Succ xu3000)) (numericEnumFrom $! Neg (Succ xu3000) + fromInt (Pos (Succ Zero))) (not (primCmpNat xu3100 xu3000 == GT))",fontsize=16,color="magenta"];272 -> 2392[label="",style="dashed", color="magenta", weight=3]; 58.54/37.23 272 -> 2393[label="",style="dashed", color="magenta", weight=3]; 58.54/37.23 272 -> 2394[label="",style="dashed", color="magenta", weight=3]; 58.54/37.23 272 -> 2395[label="",style="dashed", color="magenta", weight=3]; 58.54/37.23 272 -> 2396[label="",style="dashed", color="magenta", weight=3]; 58.54/37.23 273[label="takeWhile1 (flip (<=) (Neg Zero)) (Neg (Succ xu3000)) (numericEnumFrom $! Neg (Succ xu3000) + fromInt (Pos (Succ Zero))) (not (LT == GT))",fontsize=16,color="black",shape="box"];273 -> 315[label="",style="solid", color="black", weight=3]; 58.54/37.23 274[label="takeWhile1 (flip (<=) (Pos (Succ xu3100))) (Neg Zero) (numericEnumFrom $! Neg Zero + fromInt (Pos (Succ Zero))) (not False)",fontsize=16,color="black",shape="box"];274 -> 316[label="",style="solid", color="black", weight=3]; 58.54/37.23 275[label="takeWhile1 (flip (<=) (Pos Zero)) (Neg Zero) (numericEnumFrom $! Neg Zero + fromInt (Pos (Succ Zero))) (not False)",fontsize=16,color="black",shape="box"];275 -> 317[label="",style="solid", color="black", weight=3]; 58.54/37.23 276[label="takeWhile1 (flip (<=) (Neg (Succ xu3100))) (Neg Zero) (numericEnumFrom $! Neg Zero + fromInt (Pos (Succ Zero))) (not (GT == GT))",fontsize=16,color="black",shape="box"];276 -> 318[label="",style="solid", color="black", weight=3]; 58.54/37.23 277[label="takeWhile1 (flip (<=) (Neg Zero)) (Neg Zero) (numericEnumFrom $! Neg Zero + fromInt (Pos (Succ Zero))) (not False)",fontsize=16,color="black",shape="box"];277 -> 319[label="",style="solid", color="black", weight=3]; 58.54/37.23 771 -> 777[label="",style="dashed", color="red", weight=0]; 58.54/37.23 771[label="foldr (++) [] (map (range1 xu220) (range (xu20,xu21)))",fontsize=16,color="magenta"];771 -> 778[label="",style="dashed", color="magenta", weight=3]; 58.54/37.23 771 -> 779[label="",style="dashed", color="magenta", weight=3]; 58.54/37.23 279[label="(++) range00 LT (LT >= xu30) foldr (++) [] (map (range0 LT xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];279 -> 324[label="",style="solid", color="black", weight=3]; 58.54/37.23 280[label="(++) range00 LT (not (compare0 EQ LT True == LT) && LT >= xu30) foldr (++) [] (map (range0 EQ xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];280 -> 325[label="",style="solid", color="black", weight=3]; 58.54/37.23 281[label="(++) range00 LT (not (compare0 GT LT True == LT) && LT >= xu30) foldr (++) [] (map (range0 GT xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];281 -> 326[label="",style="solid", color="black", weight=3]; 58.54/37.23 282[label="(++) range60 False (False >= xu30) foldr (++) [] (map (range6 False xu30) (True : []))",fontsize=16,color="black",shape="box"];282 -> 327[label="",style="solid", color="black", weight=3]; 58.54/37.23 283[label="(++) range60 False (not (compare0 True False True == LT) && False >= xu30) foldr (++) [] (map (range6 True xu30) (True : []))",fontsize=16,color="black",shape="box"];283 -> 328[label="",style="solid", color="black", weight=3]; 58.54/37.23 284[label="takeWhile1 (flip (<=) (Integer (Pos (Succ xu31000)))) (Integer (Pos (Succ xu30000))) (numericEnumFrom $! Integer (Pos (Succ xu30000)) + fromInt (Pos (Succ Zero))) (not (primCmpNat (Succ xu30000) (Succ xu31000) == GT))",fontsize=16,color="black",shape="box"];284 -> 329[label="",style="solid", color="black", weight=3]; 58.54/37.23 285[label="takeWhile1 (flip (<=) (Integer (Pos Zero))) (Integer (Pos (Succ xu30000))) (numericEnumFrom $! Integer (Pos (Succ xu30000)) + fromInt (Pos (Succ Zero))) (not (primCmpNat (Succ xu30000) Zero == GT))",fontsize=16,color="black",shape="box"];285 -> 330[label="",style="solid", color="black", weight=3]; 58.54/37.23 286[label="takeWhile1 (flip (<=) (Integer (Neg xu3100))) (Integer (Pos (Succ xu30000))) (numericEnumFrom $! Integer (Pos (Succ xu30000)) + fromInt (Pos (Succ Zero))) (not True)",fontsize=16,color="black",shape="box"];286 -> 331[label="",style="solid", color="black", weight=3]; 58.54/37.23 287[label="takeWhile1 (flip (<=) (Integer (Pos (Succ xu31000)))) (Integer (Pos Zero)) (numericEnumFrom $! Integer (Pos Zero) + fromInt (Pos (Succ Zero))) (not (primCmpNat Zero (Succ xu31000) == GT))",fontsize=16,color="black",shape="box"];287 -> 332[label="",style="solid", color="black", weight=3]; 58.54/37.23 288[label="takeWhile1 (flip (<=) (Integer (Pos Zero))) (Integer (Pos Zero)) (numericEnumFrom $! Integer (Pos Zero) + fromInt (Pos (Succ Zero))) (not (EQ == GT))",fontsize=16,color="black",shape="box"];288 -> 333[label="",style="solid", color="black", weight=3]; 58.54/37.23 289[label="takeWhile1 (flip (<=) (Integer (Neg (Succ xu31000)))) (Integer (Pos Zero)) (numericEnumFrom $! Integer (Pos Zero) + fromInt (Pos (Succ Zero))) (not (GT == GT))",fontsize=16,color="black",shape="box"];289 -> 334[label="",style="solid", color="black", weight=3]; 58.54/37.23 290[label="takeWhile1 (flip (<=) (Integer (Neg Zero))) (Integer (Pos Zero)) (numericEnumFrom $! Integer (Pos Zero) + fromInt (Pos (Succ Zero))) (not (EQ == GT))",fontsize=16,color="black",shape="box"];290 -> 335[label="",style="solid", color="black", weight=3]; 58.54/37.23 291[label="takeWhile1 (flip (<=) (Integer (Pos xu3100))) (Integer (Neg (Succ xu30000))) (numericEnumFrom $! Integer (Neg (Succ xu30000)) + fromInt (Pos (Succ Zero))) (not False)",fontsize=16,color="black",shape="box"];291 -> 336[label="",style="solid", color="black", weight=3]; 58.54/37.23 292[label="takeWhile1 (flip (<=) (Integer (Neg (Succ xu31000)))) (Integer (Neg (Succ xu30000))) (numericEnumFrom $! Integer (Neg (Succ xu30000)) + fromInt (Pos (Succ Zero))) (not (primCmpNat (Succ xu31000) (Succ xu30000) == GT))",fontsize=16,color="black",shape="box"];292 -> 337[label="",style="solid", color="black", weight=3]; 58.54/37.23 293[label="takeWhile1 (flip (<=) (Integer (Neg Zero))) (Integer (Neg (Succ xu30000))) (numericEnumFrom $! Integer (Neg (Succ xu30000)) + fromInt (Pos (Succ Zero))) (not (primCmpNat Zero (Succ xu30000) == GT))",fontsize=16,color="black",shape="box"];293 -> 338[label="",style="solid", color="black", weight=3]; 58.54/37.23 294[label="takeWhile1 (flip (<=) (Integer (Pos (Succ xu31000)))) (Integer (Neg Zero)) (numericEnumFrom $! Integer (Neg Zero) + fromInt (Pos (Succ Zero))) (not (LT == GT))",fontsize=16,color="black",shape="box"];294 -> 339[label="",style="solid", color="black", weight=3]; 58.54/37.23 295[label="takeWhile1 (flip (<=) (Integer (Pos Zero))) (Integer (Neg Zero)) (numericEnumFrom $! Integer (Neg Zero) + fromInt (Pos (Succ Zero))) (not (EQ == GT))",fontsize=16,color="black",shape="box"];295 -> 340[label="",style="solid", color="black", weight=3]; 58.54/37.23 296[label="takeWhile1 (flip (<=) (Integer (Neg (Succ xu31000)))) (Integer (Neg Zero)) (numericEnumFrom $! Integer (Neg Zero) + fromInt (Pos (Succ Zero))) (not (primCmpNat (Succ xu31000) Zero == GT))",fontsize=16,color="black",shape="box"];296 -> 341[label="",style="solid", color="black", weight=3]; 58.54/37.23 297[label="takeWhile1 (flip (<=) (Integer (Neg Zero))) (Integer (Neg Zero)) (numericEnumFrom $! Integer (Neg Zero) + fromInt (Pos (Succ Zero))) (not (EQ == GT))",fontsize=16,color="black",shape="box"];297 -> 342[label="",style="solid", color="black", weight=3]; 58.54/37.23 773[label="range (xu13,xu14)",fontsize=16,color="blue",shape="box"];3102[label="range :: ((@2) () ()) -> [] ()",fontsize=10,color="white",style="solid",shape="box"];773 -> 3102[label="",style="solid", color="blue", weight=9]; 58.54/37.23 3102 -> 780[label="",style="solid", color="blue", weight=3]; 58.54/37.23 3103[label="range :: ((@2) Ordering Ordering) -> [] Ordering",fontsize=10,color="white",style="solid",shape="box"];773 -> 3103[label="",style="solid", color="blue", weight=9]; 58.54/37.23 3103 -> 781[label="",style="solid", color="blue", weight=3]; 58.54/37.23 3104[label="range :: ((@2) Char Char) -> [] Char",fontsize=10,color="white",style="solid",shape="box"];773 -> 3104[label="",style="solid", color="blue", weight=9]; 58.54/37.23 3104 -> 782[label="",style="solid", color="blue", weight=3]; 58.54/37.23 3105[label="range :: ((@2) Bool Bool) -> [] Bool",fontsize=10,color="white",style="solid",shape="box"];773 -> 3105[label="",style="solid", color="blue", weight=9]; 58.54/37.23 3105 -> 783[label="",style="solid", color="blue", weight=3]; 58.54/37.23 3106[label="range :: ((@2) Integer Integer) -> [] Integer",fontsize=10,color="white",style="solid",shape="box"];773 -> 3106[label="",style="solid", color="blue", weight=9]; 58.54/37.23 3106 -> 784[label="",style="solid", color="blue", weight=3]; 58.54/37.23 3107[label="range :: ((@2) ((@3) a b c) ((@3) a b c)) -> [] ((@3) a b c)",fontsize=10,color="white",style="solid",shape="box"];773 -> 3107[label="",style="solid", color="blue", weight=9]; 58.54/37.23 3107 -> 785[label="",style="solid", color="blue", weight=3]; 58.54/37.23 3108[label="range :: ((@2) Int Int) -> [] Int",fontsize=10,color="white",style="solid",shape="box"];773 -> 3108[label="",style="solid", color="blue", weight=9]; 58.54/37.23 3108 -> 786[label="",style="solid", color="blue", weight=3]; 58.54/37.23 3109[label="range :: ((@2) ((@2) a b) ((@2) a b)) -> [] ((@2) a b)",fontsize=10,color="white",style="solid",shape="box"];773 -> 3109[label="",style="solid", color="blue", weight=9]; 58.54/37.23 3109 -> 787[label="",style="solid", color="blue", weight=3]; 58.54/37.23 774[label="xu11",fontsize=16,color="green",shape="box"];775[label="xu150",fontsize=16,color="green",shape="box"];776[label="xu12",fontsize=16,color="green",shape="box"];772[label="foldr (++) [] (map (range4 xu50 xu51 xu52) xu53)",fontsize=16,color="burlywood",shape="triangle"];3110[label="xu53/xu530 : xu531",fontsize=10,color="white",style="solid",shape="box"];772 -> 3110[label="",style="solid", color="burlywood", weight=9]; 58.54/37.23 3110 -> 788[label="",style="solid", color="burlywood", weight=3]; 58.54/37.23 3111[label="xu53/[]",fontsize=10,color="white",style="solid",shape="box"];772 -> 3111[label="",style="solid", color="burlywood", weight=9]; 58.54/37.23 3111 -> 789[label="",style="solid", color="burlywood", weight=3]; 58.54/37.23 2276[label="xu3100",fontsize=16,color="green",shape="box"];2277[label="xu3000",fontsize=16,color="green",shape="box"];2278[label="xu3000",fontsize=16,color="green",shape="box"];2279[label="xu3100",fontsize=16,color="green",shape="box"];2275[label="takeWhile1 (flip (<=) (Pos (Succ xu167))) (Pos (Succ xu168)) (numericEnumFrom $! Pos (Succ xu168) + fromInt (Pos (Succ Zero))) (not (primCmpNat xu169 xu170 == GT))",fontsize=16,color="burlywood",shape="triangle"];3112[label="xu169/Succ xu1690",fontsize=10,color="white",style="solid",shape="box"];2275 -> 3112[label="",style="solid", color="burlywood", weight=9]; 58.54/37.23 3112 -> 2316[label="",style="solid", color="burlywood", weight=3]; 58.54/37.23 3113[label="xu169/Zero",fontsize=10,color="white",style="solid",shape="box"];2275 -> 3113[label="",style="solid", color="burlywood", weight=9]; 58.54/37.23 3113 -> 2317[label="",style="solid", color="burlywood", weight=3]; 58.54/37.23 306[label="takeWhile1 (flip (<=) (Pos Zero)) (Pos (Succ xu3000)) (numericEnumFrom $! Pos (Succ xu3000) + fromInt (Pos (Succ Zero))) (not True)",fontsize=16,color="black",shape="box"];306 -> 357[label="",style="solid", color="black", weight=3]; 58.54/37.23 307[label="takeWhile0 (flip (<=) (Neg xu310)) (Pos (Succ xu3000)) (numericEnumFrom $! Pos (Succ xu3000) + fromInt (Pos (Succ Zero))) otherwise",fontsize=16,color="black",shape="box"];307 -> 358[label="",style="solid", color="black", weight=3]; 58.54/37.23 308[label="takeWhile1 (flip (<=) (Pos (Succ xu3100))) (Pos Zero) (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))) (not False)",fontsize=16,color="black",shape="box"];308 -> 359[label="",style="solid", color="black", weight=3]; 58.54/37.23 309[label="takeWhile1 (flip (<=) (Pos Zero)) (Pos Zero) (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))) True",fontsize=16,color="black",shape="box"];309 -> 360[label="",style="solid", color="black", weight=3]; 58.54/37.23 310[label="takeWhile1 (flip (<=) (Neg (Succ xu3100))) (Pos Zero) (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))) False",fontsize=16,color="black",shape="box"];310 -> 361[label="",style="solid", color="black", weight=3]; 58.54/37.23 311[label="takeWhile1 (flip (<=) (Neg Zero)) (Pos Zero) (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))) True",fontsize=16,color="black",shape="box"];311 -> 362[label="",style="solid", color="black", weight=3]; 58.54/37.23 312[label="Neg (Succ xu3000) : takeWhile (flip (<=) (Pos xu310)) (numericEnumFrom $! Neg (Succ xu3000) + fromInt (Pos (Succ Zero)))",fontsize=16,color="green",shape="box"];312 -> 363[label="",style="dashed", color="green", weight=3]; 58.54/37.23 2392[label="xu3100",fontsize=16,color="green",shape="box"];2393[label="xu3000",fontsize=16,color="green",shape="box"];2394[label="Neg (Succ xu3000) + fromInt (Pos (Succ Zero))",fontsize=16,color="black",shape="box"];2394 -> 2447[label="",style="solid", color="black", weight=3]; 58.54/37.23 2395[label="xu3100",fontsize=16,color="green",shape="box"];2396[label="xu3000",fontsize=16,color="green",shape="box"];2391[label="takeWhile1 (flip (<=) (Neg (Succ xu195))) (Neg (Succ xu196)) (numericEnumFrom $! xu197) (not (primCmpNat xu198 xu199 == GT))",fontsize=16,color="burlywood",shape="triangle"];3114[label="xu198/Succ xu1980",fontsize=10,color="white",style="solid",shape="box"];2391 -> 3114[label="",style="solid", color="burlywood", weight=9]; 58.54/37.23 3114 -> 2448[label="",style="solid", color="burlywood", weight=3]; 58.54/37.23 3115[label="xu198/Zero",fontsize=10,color="white",style="solid",shape="box"];2391 -> 3115[label="",style="solid", color="burlywood", weight=9]; 58.54/37.23 3115 -> 2449[label="",style="solid", color="burlywood", weight=3]; 58.54/37.23 315[label="takeWhile1 (flip (<=) (Neg Zero)) (Neg (Succ xu3000)) (numericEnumFrom $! Neg (Succ xu3000) + fromInt (Pos (Succ Zero))) (not False)",fontsize=16,color="black",shape="box"];315 -> 368[label="",style="solid", color="black", weight=3]; 58.54/37.23 316[label="takeWhile1 (flip (<=) (Pos (Succ xu3100))) (Neg Zero) (numericEnumFrom $! Neg Zero + fromInt (Pos (Succ Zero))) True",fontsize=16,color="black",shape="box"];316 -> 369[label="",style="solid", color="black", weight=3]; 58.54/37.23 317[label="takeWhile1 (flip (<=) (Pos Zero)) (Neg Zero) (numericEnumFrom $! Neg Zero + fromInt (Pos (Succ Zero))) True",fontsize=16,color="black",shape="box"];317 -> 370[label="",style="solid", color="black", weight=3]; 58.54/37.23 318[label="takeWhile1 (flip (<=) (Neg (Succ xu3100))) (Neg Zero) (numericEnumFrom $! Neg Zero + fromInt (Pos (Succ Zero))) (not True)",fontsize=16,color="black",shape="box"];318 -> 371[label="",style="solid", color="black", weight=3]; 58.54/37.23 319[label="takeWhile1 (flip (<=) (Neg Zero)) (Neg Zero) (numericEnumFrom $! Neg Zero + fromInt (Pos (Succ Zero))) True",fontsize=16,color="black",shape="box"];319 -> 372[label="",style="solid", color="black", weight=3]; 58.54/37.23 778[label="xu220",fontsize=16,color="green",shape="box"];779[label="range (xu20,xu21)",fontsize=16,color="blue",shape="box"];3116[label="range :: ((@2) () ()) -> [] ()",fontsize=10,color="white",style="solid",shape="box"];779 -> 3116[label="",style="solid", color="blue", weight=9]; 58.54/37.23 3116 -> 790[label="",style="solid", color="blue", weight=3]; 58.54/37.23 3117[label="range :: ((@2) Ordering Ordering) -> [] Ordering",fontsize=10,color="white",style="solid",shape="box"];779 -> 3117[label="",style="solid", color="blue", weight=9]; 58.54/37.23 3117 -> 791[label="",style="solid", color="blue", weight=3]; 58.54/37.23 3118[label="range :: ((@2) Char Char) -> [] Char",fontsize=10,color="white",style="solid",shape="box"];779 -> 3118[label="",style="solid", color="blue", weight=9]; 58.54/37.23 3118 -> 792[label="",style="solid", color="blue", weight=3]; 58.54/37.23 3119[label="range :: ((@2) Bool Bool) -> [] Bool",fontsize=10,color="white",style="solid",shape="box"];779 -> 3119[label="",style="solid", color="blue", weight=9]; 58.54/37.23 3119 -> 793[label="",style="solid", color="blue", weight=3]; 58.54/37.23 3120[label="range :: ((@2) Integer Integer) -> [] Integer",fontsize=10,color="white",style="solid",shape="box"];779 -> 3120[label="",style="solid", color="blue", weight=9]; 58.54/37.23 3120 -> 794[label="",style="solid", color="blue", weight=3]; 58.54/37.23 3121[label="range :: ((@2) ((@3) a b c) ((@3) a b c)) -> [] ((@3) a b c)",fontsize=10,color="white",style="solid",shape="box"];779 -> 3121[label="",style="solid", color="blue", weight=9]; 58.54/37.23 3121 -> 795[label="",style="solid", color="blue", weight=3]; 58.54/37.23 3122[label="range :: ((@2) Int Int) -> [] Int",fontsize=10,color="white",style="solid",shape="box"];779 -> 3122[label="",style="solid", color="blue", weight=9]; 58.54/37.23 3122 -> 796[label="",style="solid", color="blue", weight=3]; 58.54/37.23 3123[label="range :: ((@2) ((@2) a b) ((@2) a b)) -> [] ((@2) a b)",fontsize=10,color="white",style="solid",shape="box"];779 -> 3123[label="",style="solid", color="blue", weight=9]; 58.54/37.23 3123 -> 797[label="",style="solid", color="blue", weight=3]; 58.54/37.23 777[label="foldr (++) [] (map (range1 xu57) xu58)",fontsize=16,color="burlywood",shape="triangle"];3124[label="xu58/xu580 : xu581",fontsize=10,color="white",style="solid",shape="box"];777 -> 3124[label="",style="solid", color="burlywood", weight=9]; 58.54/37.23 3124 -> 798[label="",style="solid", color="burlywood", weight=3]; 58.54/37.23 3125[label="xu58/[]",fontsize=10,color="white",style="solid",shape="box"];777 -> 3125[label="",style="solid", color="burlywood", weight=9]; 58.54/37.23 3125 -> 799[label="",style="solid", color="burlywood", weight=3]; 58.54/37.23 324[label="(++) range00 LT (compare LT xu30 /= LT) foldr (++) [] (map (range0 LT xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];324 -> 383[label="",style="solid", color="black", weight=3]; 58.54/37.23 325[label="(++) range00 LT (not (GT == LT) && LT >= xu30) foldr (++) [] (map (range0 EQ xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];325 -> 384[label="",style="solid", color="black", weight=3]; 58.54/37.23 326[label="(++) range00 LT (not (GT == LT) && LT >= xu30) foldr (++) [] (map (range0 GT xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];326 -> 385[label="",style="solid", color="black", weight=3]; 58.54/37.23 327[label="(++) range60 False (compare False xu30 /= LT) foldr (++) [] (map (range6 False xu30) (True : []))",fontsize=16,color="black",shape="box"];327 -> 386[label="",style="solid", color="black", weight=3]; 58.54/37.23 328[label="(++) range60 False (not (GT == LT) && False >= xu30) foldr (++) [] (map (range6 True xu30) (True : []))",fontsize=16,color="black",shape="box"];328 -> 387[label="",style="solid", color="black", weight=3]; 58.54/37.23 329 -> 2464[label="",style="dashed", color="red", weight=0]; 58.54/37.23 329[label="takeWhile1 (flip (<=) (Integer (Pos (Succ xu31000)))) (Integer (Pos (Succ xu30000))) (numericEnumFrom $! Integer (Pos (Succ xu30000)) + fromInt (Pos (Succ Zero))) (not (primCmpNat xu30000 xu31000 == GT))",fontsize=16,color="magenta"];329 -> 2465[label="",style="dashed", color="magenta", weight=3]; 58.54/37.23 329 -> 2466[label="",style="dashed", color="magenta", weight=3]; 58.54/37.23 329 -> 2467[label="",style="dashed", color="magenta", weight=3]; 58.54/37.23 329 -> 2468[label="",style="dashed", color="magenta", weight=3]; 58.54/37.23 330[label="takeWhile1 (flip (<=) (Integer (Pos Zero))) (Integer (Pos (Succ xu30000))) (numericEnumFrom $! Integer (Pos (Succ xu30000)) + fromInt (Pos (Succ Zero))) (not (GT == GT))",fontsize=16,color="black",shape="box"];330 -> 390[label="",style="solid", color="black", weight=3]; 58.54/37.23 331[label="takeWhile1 (flip (<=) (Integer (Neg xu3100))) (Integer (Pos (Succ xu30000))) (numericEnumFrom $! Integer (Pos (Succ xu30000)) + fromInt (Pos (Succ Zero))) False",fontsize=16,color="black",shape="box"];331 -> 391[label="",style="solid", color="black", weight=3]; 58.54/37.23 332[label="takeWhile1 (flip (<=) (Integer (Pos (Succ xu31000)))) (Integer (Pos Zero)) (numericEnumFrom $! Integer (Pos Zero) + fromInt (Pos (Succ Zero))) (not (LT == GT))",fontsize=16,color="black",shape="box"];332 -> 392[label="",style="solid", color="black", weight=3]; 58.54/37.23 333[label="takeWhile1 (flip (<=) (Integer (Pos Zero))) (Integer (Pos Zero)) (numericEnumFrom $! Integer (Pos Zero) + fromInt (Pos (Succ Zero))) (not False)",fontsize=16,color="black",shape="box"];333 -> 393[label="",style="solid", color="black", weight=3]; 58.54/37.23 334[label="takeWhile1 (flip (<=) (Integer (Neg (Succ xu31000)))) (Integer (Pos Zero)) (numericEnumFrom $! Integer (Pos Zero) + fromInt (Pos (Succ Zero))) (not True)",fontsize=16,color="black",shape="box"];334 -> 394[label="",style="solid", color="black", weight=3]; 58.54/37.23 335[label="takeWhile1 (flip (<=) (Integer (Neg Zero))) (Integer (Pos Zero)) (numericEnumFrom $! Integer (Pos Zero) + fromInt (Pos (Succ Zero))) (not False)",fontsize=16,color="black",shape="box"];335 -> 395[label="",style="solid", color="black", weight=3]; 58.54/37.23 336[label="takeWhile1 (flip (<=) (Integer (Pos xu3100))) (Integer (Neg (Succ xu30000))) (numericEnumFrom $! Integer (Neg (Succ xu30000)) + fromInt (Pos (Succ Zero))) True",fontsize=16,color="black",shape="box"];336 -> 396[label="",style="solid", color="black", weight=3]; 58.54/37.23 337 -> 2513[label="",style="dashed", color="red", weight=0]; 58.54/37.23 337[label="takeWhile1 (flip (<=) (Integer (Neg (Succ xu31000)))) (Integer (Neg (Succ xu30000))) (numericEnumFrom $! Integer (Neg (Succ xu30000)) + fromInt (Pos (Succ Zero))) (not (primCmpNat xu31000 xu30000 == GT))",fontsize=16,color="magenta"];337 -> 2514[label="",style="dashed", color="magenta", weight=3]; 58.54/37.23 337 -> 2515[label="",style="dashed", color="magenta", weight=3]; 58.54/37.23 337 -> 2516[label="",style="dashed", color="magenta", weight=3]; 58.54/37.23 337 -> 2517[label="",style="dashed", color="magenta", weight=3]; 58.54/37.23 338[label="takeWhile1 (flip (<=) (Integer (Neg Zero))) (Integer (Neg (Succ xu30000))) (numericEnumFrom $! Integer (Neg (Succ xu30000)) + fromInt (Pos (Succ Zero))) (not (LT == GT))",fontsize=16,color="black",shape="box"];338 -> 399[label="",style="solid", color="black", weight=3]; 58.54/37.23 339[label="takeWhile1 (flip (<=) (Integer (Pos (Succ xu31000)))) (Integer (Neg Zero)) (numericEnumFrom $! Integer (Neg Zero) + fromInt (Pos (Succ Zero))) (not False)",fontsize=16,color="black",shape="box"];339 -> 400[label="",style="solid", color="black", weight=3]; 58.54/37.23 340[label="takeWhile1 (flip (<=) (Integer (Pos Zero))) (Integer (Neg Zero)) (numericEnumFrom $! Integer (Neg Zero) + fromInt (Pos (Succ Zero))) (not False)",fontsize=16,color="black",shape="box"];340 -> 401[label="",style="solid", color="black", weight=3]; 58.54/37.23 341[label="takeWhile1 (flip (<=) (Integer (Neg (Succ xu31000)))) (Integer (Neg Zero)) (numericEnumFrom $! Integer (Neg Zero) + fromInt (Pos (Succ Zero))) (not (GT == GT))",fontsize=16,color="black",shape="box"];341 -> 402[label="",style="solid", color="black", weight=3]; 58.54/37.23 342[label="takeWhile1 (flip (<=) (Integer (Neg Zero))) (Integer (Neg Zero)) (numericEnumFrom $! Integer (Neg Zero) + fromInt (Pos (Succ Zero))) (not False)",fontsize=16,color="black",shape="box"];342 -> 403[label="",style="solid", color="black", weight=3]; 58.54/37.23 780 -> 4[label="",style="dashed", color="red", weight=0]; 58.54/37.23 780[label="range (xu13,xu14)",fontsize=16,color="magenta"];780 -> 859[label="",style="dashed", color="magenta", weight=3]; 58.54/37.23 781 -> 5[label="",style="dashed", color="red", weight=0]; 58.54/37.23 781[label="range (xu13,xu14)",fontsize=16,color="magenta"];781 -> 860[label="",style="dashed", color="magenta", weight=3]; 58.54/37.23 782 -> 6[label="",style="dashed", color="red", weight=0]; 58.54/37.23 782[label="range (xu13,xu14)",fontsize=16,color="magenta"];782 -> 861[label="",style="dashed", color="magenta", weight=3]; 58.54/37.23 783 -> 7[label="",style="dashed", color="red", weight=0]; 58.54/37.23 783[label="range (xu13,xu14)",fontsize=16,color="magenta"];783 -> 862[label="",style="dashed", color="magenta", weight=3]; 58.54/37.23 784 -> 8[label="",style="dashed", color="red", weight=0]; 58.54/37.23 784[label="range (xu13,xu14)",fontsize=16,color="magenta"];784 -> 863[label="",style="dashed", color="magenta", weight=3]; 58.54/37.23 785[label="range (xu13,xu14)",fontsize=16,color="burlywood",shape="triangle"];3126[label="xu13/(xu130,xu131,xu132)",fontsize=10,color="white",style="solid",shape="box"];785 -> 3126[label="",style="solid", color="burlywood", weight=9]; 58.54/37.23 3126 -> 864[label="",style="solid", color="burlywood", weight=3]; 58.54/37.23 786 -> 10[label="",style="dashed", color="red", weight=0]; 58.54/37.23 786[label="range (xu13,xu14)",fontsize=16,color="magenta"];786 -> 865[label="",style="dashed", color="magenta", weight=3]; 58.54/37.23 787[label="range (xu13,xu14)",fontsize=16,color="burlywood",shape="triangle"];3127[label="xu13/(xu130,xu131)",fontsize=10,color="white",style="solid",shape="box"];787 -> 3127[label="",style="solid", color="burlywood", weight=9]; 58.54/37.23 3127 -> 866[label="",style="solid", color="burlywood", weight=3]; 58.54/37.23 788[label="foldr (++) [] (map (range4 xu50 xu51 xu52) (xu530 : xu531))",fontsize=16,color="black",shape="box"];788 -> 867[label="",style="solid", color="black", weight=3]; 58.54/37.23 789[label="foldr (++) [] (map (range4 xu50 xu51 xu52) [])",fontsize=16,color="black",shape="box"];789 -> 868[label="",style="solid", color="black", weight=3]; 58.54/37.23 2316[label="takeWhile1 (flip (<=) (Pos (Succ xu167))) (Pos (Succ xu168)) (numericEnumFrom $! Pos (Succ xu168) + fromInt (Pos (Succ Zero))) (not (primCmpNat (Succ xu1690) xu170 == GT))",fontsize=16,color="burlywood",shape="box"];3128[label="xu170/Succ xu1700",fontsize=10,color="white",style="solid",shape="box"];2316 -> 3128[label="",style="solid", color="burlywood", weight=9]; 58.54/37.23 3128 -> 2323[label="",style="solid", color="burlywood", weight=3]; 58.54/37.23 3129[label="xu170/Zero",fontsize=10,color="white",style="solid",shape="box"];2316 -> 3129[label="",style="solid", color="burlywood", weight=9]; 58.54/37.23 3129 -> 2324[label="",style="solid", color="burlywood", weight=3]; 58.54/37.23 2317[label="takeWhile1 (flip (<=) (Pos (Succ xu167))) (Pos (Succ xu168)) (numericEnumFrom $! Pos (Succ xu168) + fromInt (Pos (Succ Zero))) (not (primCmpNat Zero xu170 == GT))",fontsize=16,color="burlywood",shape="box"];3130[label="xu170/Succ xu1700",fontsize=10,color="white",style="solid",shape="box"];2317 -> 3130[label="",style="solid", color="burlywood", weight=9]; 58.54/37.23 3130 -> 2325[label="",style="solid", color="burlywood", weight=3]; 58.54/37.23 3131[label="xu170/Zero",fontsize=10,color="white",style="solid",shape="box"];2317 -> 3131[label="",style="solid", color="burlywood", weight=9]; 58.54/37.23 3131 -> 2326[label="",style="solid", color="burlywood", weight=3]; 58.54/37.23 357[label="takeWhile1 (flip (<=) (Pos Zero)) (Pos (Succ xu3000)) (numericEnumFrom $! Pos (Succ xu3000) + fromInt (Pos (Succ Zero))) False",fontsize=16,color="black",shape="box"];357 -> 418[label="",style="solid", color="black", weight=3]; 58.54/37.23 358[label="takeWhile0 (flip (<=) (Neg xu310)) (Pos (Succ xu3000)) (numericEnumFrom $! Pos (Succ xu3000) + fromInt (Pos (Succ Zero))) True",fontsize=16,color="black",shape="box"];358 -> 419[label="",style="solid", color="black", weight=3]; 58.54/37.23 359[label="takeWhile1 (flip (<=) (Pos (Succ xu3100))) (Pos Zero) (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))) True",fontsize=16,color="black",shape="box"];359 -> 420[label="",style="solid", color="black", weight=3]; 58.54/37.23 360[label="Pos Zero : takeWhile (flip (<=) (Pos Zero)) (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero)))",fontsize=16,color="green",shape="box"];360 -> 421[label="",style="dashed", color="green", weight=3]; 58.54/37.23 361[label="takeWhile0 (flip (<=) (Neg (Succ xu3100))) (Pos Zero) (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))) otherwise",fontsize=16,color="black",shape="box"];361 -> 422[label="",style="solid", color="black", weight=3]; 58.54/37.23 362[label="Pos Zero : takeWhile (flip (<=) (Neg Zero)) (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero)))",fontsize=16,color="green",shape="box"];362 -> 423[label="",style="dashed", color="green", weight=3]; 58.54/37.23 363[label="takeWhile (flip (<=) (Pos xu310)) (numericEnumFrom $! Neg (Succ xu3000) + fromInt (Pos (Succ Zero)))",fontsize=16,color="black",shape="box"];363 -> 424[label="",style="solid", color="black", weight=3]; 58.54/37.23 2447[label="primPlusInt (Neg (Succ xu3000)) (fromInt (Pos (Succ Zero)))",fontsize=16,color="black",shape="box"];2447 -> 2505[label="",style="solid", color="black", weight=3]; 58.54/37.23 2448[label="takeWhile1 (flip (<=) (Neg (Succ xu195))) (Neg (Succ xu196)) (numericEnumFrom $! xu197) (not (primCmpNat (Succ xu1980) xu199 == GT))",fontsize=16,color="burlywood",shape="box"];3132[label="xu199/Succ xu1990",fontsize=10,color="white",style="solid",shape="box"];2448 -> 3132[label="",style="solid", color="burlywood", weight=9]; 58.54/37.23 3132 -> 2506[label="",style="solid", color="burlywood", weight=3]; 58.54/37.23 3133[label="xu199/Zero",fontsize=10,color="white",style="solid",shape="box"];2448 -> 3133[label="",style="solid", color="burlywood", weight=9]; 58.54/37.23 3133 -> 2507[label="",style="solid", color="burlywood", weight=3]; 58.54/37.23 2449[label="takeWhile1 (flip (<=) (Neg (Succ xu195))) (Neg (Succ xu196)) (numericEnumFrom $! xu197) (not (primCmpNat Zero xu199 == GT))",fontsize=16,color="burlywood",shape="box"];3134[label="xu199/Succ xu1990",fontsize=10,color="white",style="solid",shape="box"];2449 -> 3134[label="",style="solid", color="burlywood", weight=9]; 58.54/37.23 3134 -> 2508[label="",style="solid", color="burlywood", weight=3]; 58.54/37.23 3135[label="xu199/Zero",fontsize=10,color="white",style="solid",shape="box"];2449 -> 3135[label="",style="solid", color="burlywood", weight=9]; 58.54/37.23 3135 -> 2509[label="",style="solid", color="burlywood", weight=3]; 58.54/37.23 368[label="takeWhile1 (flip (<=) (Neg Zero)) (Neg (Succ xu3000)) (numericEnumFrom $! Neg (Succ xu3000) + fromInt (Pos (Succ Zero))) True",fontsize=16,color="black",shape="box"];368 -> 429[label="",style="solid", color="black", weight=3]; 58.54/37.23 369[label="Neg Zero : takeWhile (flip (<=) (Pos (Succ xu3100))) (numericEnumFrom $! Neg Zero + fromInt (Pos (Succ Zero)))",fontsize=16,color="green",shape="box"];369 -> 430[label="",style="dashed", color="green", weight=3]; 58.54/37.23 370[label="Neg Zero : takeWhile (flip (<=) (Pos Zero)) (numericEnumFrom $! Neg Zero + fromInt (Pos (Succ Zero)))",fontsize=16,color="green",shape="box"];370 -> 431[label="",style="dashed", color="green", weight=3]; 58.54/37.23 371[label="takeWhile1 (flip (<=) (Neg (Succ xu3100))) (Neg Zero) (numericEnumFrom $! Neg Zero + fromInt (Pos (Succ Zero))) False",fontsize=16,color="black",shape="box"];371 -> 432[label="",style="solid", color="black", weight=3]; 58.54/37.23 372[label="Neg Zero : takeWhile (flip (<=) (Neg Zero)) (numericEnumFrom $! Neg Zero + fromInt (Pos (Succ Zero)))",fontsize=16,color="green",shape="box"];372 -> 433[label="",style="dashed", color="green", weight=3]; 58.54/37.23 790 -> 4[label="",style="dashed", color="red", weight=0]; 58.54/37.23 790[label="range (xu20,xu21)",fontsize=16,color="magenta"];790 -> 869[label="",style="dashed", color="magenta", weight=3]; 58.54/37.23 791 -> 5[label="",style="dashed", color="red", weight=0]; 58.54/37.23 791[label="range (xu20,xu21)",fontsize=16,color="magenta"];791 -> 870[label="",style="dashed", color="magenta", weight=3]; 58.54/37.23 792 -> 6[label="",style="dashed", color="red", weight=0]; 58.54/37.23 792[label="range (xu20,xu21)",fontsize=16,color="magenta"];792 -> 871[label="",style="dashed", color="magenta", weight=3]; 58.54/37.23 793 -> 7[label="",style="dashed", color="red", weight=0]; 58.54/37.23 793[label="range (xu20,xu21)",fontsize=16,color="magenta"];793 -> 872[label="",style="dashed", color="magenta", weight=3]; 58.54/37.23 794 -> 8[label="",style="dashed", color="red", weight=0]; 58.54/37.23 794[label="range (xu20,xu21)",fontsize=16,color="magenta"];794 -> 873[label="",style="dashed", color="magenta", weight=3]; 58.54/37.23 795 -> 785[label="",style="dashed", color="red", weight=0]; 58.54/37.23 795[label="range (xu20,xu21)",fontsize=16,color="magenta"];795 -> 874[label="",style="dashed", color="magenta", weight=3]; 58.54/37.23 795 -> 875[label="",style="dashed", color="magenta", weight=3]; 58.54/37.23 796 -> 10[label="",style="dashed", color="red", weight=0]; 58.54/37.23 796[label="range (xu20,xu21)",fontsize=16,color="magenta"];796 -> 876[label="",style="dashed", color="magenta", weight=3]; 58.54/37.23 797 -> 787[label="",style="dashed", color="red", weight=0]; 58.54/37.23 797[label="range (xu20,xu21)",fontsize=16,color="magenta"];797 -> 877[label="",style="dashed", color="magenta", weight=3]; 58.54/37.23 797 -> 878[label="",style="dashed", color="magenta", weight=3]; 58.54/37.23 798[label="foldr (++) [] (map (range1 xu57) (xu580 : xu581))",fontsize=16,color="black",shape="box"];798 -> 879[label="",style="solid", color="black", weight=3]; 58.54/37.23 799[label="foldr (++) [] (map (range1 xu57) [])",fontsize=16,color="black",shape="box"];799 -> 880[label="",style="solid", color="black", weight=3]; 58.54/37.23 383[label="(++) range00 LT (not (compare LT xu30 == LT)) foldr (++) [] (map (range0 LT xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];383 -> 446[label="",style="solid", color="black", weight=3]; 58.54/37.23 384[label="(++) range00 LT (not False && LT >= xu30) foldr (++) [] (map (range0 EQ xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];384 -> 447[label="",style="solid", color="black", weight=3]; 58.54/37.23 385[label="(++) range00 LT (not False && LT >= xu30) foldr (++) [] (map (range0 GT xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];385 -> 448[label="",style="solid", color="black", weight=3]; 58.54/37.23 386[label="(++) range60 False (not (compare False xu30 == LT)) foldr (++) [] (map (range6 False xu30) (True : []))",fontsize=16,color="black",shape="box"];386 -> 449[label="",style="solid", color="black", weight=3]; 58.54/37.23 387[label="(++) range60 False (not False && False >= xu30) foldr (++) [] (map (range6 True xu30) (True : []))",fontsize=16,color="black",shape="box"];387 -> 450[label="",style="solid", color="black", weight=3]; 58.54/37.23 2465[label="xu31000",fontsize=16,color="green",shape="box"];2466[label="xu31000",fontsize=16,color="green",shape="box"];2467[label="xu30000",fontsize=16,color="green",shape="box"];2468[label="xu30000",fontsize=16,color="green",shape="box"];2464[label="takeWhile1 (flip (<=) (Integer (Pos (Succ xu201)))) (Integer (Pos (Succ xu202))) (numericEnumFrom $! Integer (Pos (Succ xu202)) + fromInt (Pos (Succ Zero))) (not (primCmpNat xu203 xu204 == GT))",fontsize=16,color="burlywood",shape="triangle"];3136[label="xu203/Succ xu2030",fontsize=10,color="white",style="solid",shape="box"];2464 -> 3136[label="",style="solid", color="burlywood", weight=9]; 58.54/37.23 3136 -> 2510[label="",style="solid", color="burlywood", weight=3]; 58.54/37.23 3137[label="xu203/Zero",fontsize=10,color="white",style="solid",shape="box"];2464 -> 3137[label="",style="solid", color="burlywood", weight=9]; 58.54/37.23 3137 -> 2511[label="",style="solid", color="burlywood", weight=3]; 58.54/37.23 390[label="takeWhile1 (flip (<=) (Integer (Pos Zero))) (Integer (Pos (Succ xu30000))) (numericEnumFrom $! Integer (Pos (Succ xu30000)) + fromInt (Pos (Succ Zero))) (not True)",fontsize=16,color="black",shape="box"];390 -> 455[label="",style="solid", color="black", weight=3]; 58.54/37.23 391[label="takeWhile0 (flip (<=) (Integer (Neg xu3100))) (Integer (Pos (Succ xu30000))) (numericEnumFrom $! Integer (Pos (Succ xu30000)) + fromInt (Pos (Succ Zero))) otherwise",fontsize=16,color="black",shape="box"];391 -> 456[label="",style="solid", color="black", weight=3]; 58.54/37.23 392[label="takeWhile1 (flip (<=) (Integer (Pos (Succ xu31000)))) (Integer (Pos Zero)) (numericEnumFrom $! Integer (Pos Zero) + fromInt (Pos (Succ Zero))) (not False)",fontsize=16,color="black",shape="box"];392 -> 457[label="",style="solid", color="black", weight=3]; 58.54/37.23 393[label="takeWhile1 (flip (<=) (Integer (Pos Zero))) (Integer (Pos Zero)) (numericEnumFrom $! Integer (Pos Zero) + fromInt (Pos (Succ Zero))) True",fontsize=16,color="black",shape="box"];393 -> 458[label="",style="solid", color="black", weight=3]; 58.54/37.23 394[label="takeWhile1 (flip (<=) (Integer (Neg (Succ xu31000)))) (Integer (Pos Zero)) (numericEnumFrom $! Integer (Pos Zero) + fromInt (Pos (Succ Zero))) False",fontsize=16,color="black",shape="box"];394 -> 459[label="",style="solid", color="black", weight=3]; 58.54/37.23 395[label="takeWhile1 (flip (<=) (Integer (Neg Zero))) (Integer (Pos Zero)) (numericEnumFrom $! Integer (Pos Zero) + fromInt (Pos (Succ Zero))) True",fontsize=16,color="black",shape="box"];395 -> 460[label="",style="solid", color="black", weight=3]; 58.54/37.23 396[label="Integer (Neg (Succ xu30000)) : takeWhile (flip (<=) (Integer (Pos xu3100))) (numericEnumFrom $! Integer (Neg (Succ xu30000)) + fromInt (Pos (Succ Zero)))",fontsize=16,color="green",shape="box"];396 -> 461[label="",style="dashed", color="green", weight=3]; 58.54/37.23 2514[label="xu31000",fontsize=16,color="green",shape="box"];2515[label="xu31000",fontsize=16,color="green",shape="box"];2516[label="xu30000",fontsize=16,color="green",shape="box"];2517[label="xu30000",fontsize=16,color="green",shape="box"];2513[label="takeWhile1 (flip (<=) (Integer (Neg (Succ xu206)))) (Integer (Neg (Succ xu207))) (numericEnumFrom $! Integer (Neg (Succ xu207)) + fromInt (Pos (Succ Zero))) (not (primCmpNat xu208 xu209 == GT))",fontsize=16,color="burlywood",shape="triangle"];3138[label="xu208/Succ xu2080",fontsize=10,color="white",style="solid",shape="box"];2513 -> 3138[label="",style="solid", color="burlywood", weight=9]; 58.54/37.23 3138 -> 2554[label="",style="solid", color="burlywood", weight=3]; 58.54/37.23 3139[label="xu208/Zero",fontsize=10,color="white",style="solid",shape="box"];2513 -> 3139[label="",style="solid", color="burlywood", weight=9]; 58.54/37.23 3139 -> 2555[label="",style="solid", color="burlywood", weight=3]; 58.54/37.23 399[label="takeWhile1 (flip (<=) (Integer (Neg Zero))) (Integer (Neg (Succ xu30000))) (numericEnumFrom $! Integer (Neg (Succ xu30000)) + fromInt (Pos (Succ Zero))) (not False)",fontsize=16,color="black",shape="box"];399 -> 466[label="",style="solid", color="black", weight=3]; 58.54/37.23 400[label="takeWhile1 (flip (<=) (Integer (Pos (Succ xu31000)))) (Integer (Neg Zero)) (numericEnumFrom $! Integer (Neg Zero) + fromInt (Pos (Succ Zero))) True",fontsize=16,color="black",shape="box"];400 -> 467[label="",style="solid", color="black", weight=3]; 58.54/37.23 401[label="takeWhile1 (flip (<=) (Integer (Pos Zero))) (Integer (Neg Zero)) (numericEnumFrom $! Integer (Neg Zero) + fromInt (Pos (Succ Zero))) True",fontsize=16,color="black",shape="box"];401 -> 468[label="",style="solid", color="black", weight=3]; 58.54/37.23 402[label="takeWhile1 (flip (<=) (Integer (Neg (Succ xu31000)))) (Integer (Neg Zero)) (numericEnumFrom $! Integer (Neg Zero) + fromInt (Pos (Succ Zero))) (not True)",fontsize=16,color="black",shape="box"];402 -> 469[label="",style="solid", color="black", weight=3]; 58.54/37.23 403[label="takeWhile1 (flip (<=) (Integer (Neg Zero))) (Integer (Neg Zero)) (numericEnumFrom $! Integer (Neg Zero) + fromInt (Pos (Succ Zero))) True",fontsize=16,color="black",shape="box"];403 -> 470[label="",style="solid", color="black", weight=3]; 58.54/37.23 859[label="(xu13,xu14)",fontsize=16,color="green",shape="box"];860[label="(xu13,xu14)",fontsize=16,color="green",shape="box"];861[label="(xu13,xu14)",fontsize=16,color="green",shape="box"];862[label="(xu13,xu14)",fontsize=16,color="green",shape="box"];863[label="(xu13,xu14)",fontsize=16,color="green",shape="box"];864[label="range ((xu130,xu131,xu132),xu14)",fontsize=16,color="burlywood",shape="box"];3140[label="xu14/(xu140,xu141,xu142)",fontsize=10,color="white",style="solid",shape="box"];864 -> 3140[label="",style="solid", color="burlywood", weight=9]; 58.54/37.23 3140 -> 954[label="",style="solid", color="burlywood", weight=3]; 58.54/37.23 865[label="(xu13,xu14)",fontsize=16,color="green",shape="box"];866[label="range ((xu130,xu131),xu14)",fontsize=16,color="burlywood",shape="box"];3141[label="xu14/(xu140,xu141)",fontsize=10,color="white",style="solid",shape="box"];866 -> 3141[label="",style="solid", color="burlywood", weight=9]; 58.54/37.23 3141 -> 955[label="",style="solid", color="burlywood", weight=3]; 58.54/37.23 867[label="foldr (++) [] (range4 xu50 xu51 xu52 xu530 : map (range4 xu50 xu51 xu52) xu531)",fontsize=16,color="black",shape="box"];867 -> 956[label="",style="solid", color="black", weight=3]; 58.54/37.23 868 -> 132[label="",style="dashed", color="red", weight=0]; 58.54/37.23 868[label="foldr (++) [] []",fontsize=16,color="magenta"];2323[label="takeWhile1 (flip (<=) (Pos (Succ xu167))) (Pos (Succ xu168)) (numericEnumFrom $! Pos (Succ xu168) + fromInt (Pos (Succ Zero))) (not (primCmpNat (Succ xu1690) (Succ xu1700) == GT))",fontsize=16,color="black",shape="box"];2323 -> 2330[label="",style="solid", color="black", weight=3]; 58.54/37.23 2324[label="takeWhile1 (flip (<=) (Pos (Succ xu167))) (Pos (Succ xu168)) (numericEnumFrom $! Pos (Succ xu168) + fromInt (Pos (Succ Zero))) (not (primCmpNat (Succ xu1690) Zero == GT))",fontsize=16,color="black",shape="box"];2324 -> 2331[label="",style="solid", color="black", weight=3]; 58.54/37.23 2325[label="takeWhile1 (flip (<=) (Pos (Succ xu167))) (Pos (Succ xu168)) (numericEnumFrom $! Pos (Succ xu168) + fromInt (Pos (Succ Zero))) (not (primCmpNat Zero (Succ xu1700) == GT))",fontsize=16,color="black",shape="box"];2325 -> 2332[label="",style="solid", color="black", weight=3]; 58.54/37.23 2326[label="takeWhile1 (flip (<=) (Pos (Succ xu167))) (Pos (Succ xu168)) (numericEnumFrom $! Pos (Succ xu168) + fromInt (Pos (Succ Zero))) (not (primCmpNat Zero Zero == GT))",fontsize=16,color="black",shape="box"];2326 -> 2333[label="",style="solid", color="black", weight=3]; 58.54/37.23 418[label="takeWhile0 (flip (<=) (Pos Zero)) (Pos (Succ xu3000)) (numericEnumFrom $! Pos (Succ xu3000) + fromInt (Pos (Succ Zero))) otherwise",fontsize=16,color="black",shape="box"];418 -> 502[label="",style="solid", color="black", weight=3]; 58.54/37.23 419[label="[]",fontsize=16,color="green",shape="box"];420[label="Pos Zero : takeWhile (flip (<=) (Pos (Succ xu3100))) (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero)))",fontsize=16,color="green",shape="box"];420 -> 503[label="",style="dashed", color="green", weight=3]; 58.54/37.23 421[label="takeWhile (flip (<=) (Pos Zero)) (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero)))",fontsize=16,color="black",shape="box"];421 -> 504[label="",style="solid", color="black", weight=3]; 58.54/37.23 422[label="takeWhile0 (flip (<=) (Neg (Succ xu3100))) (Pos Zero) (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))) True",fontsize=16,color="black",shape="box"];422 -> 505[label="",style="solid", color="black", weight=3]; 58.54/37.23 423[label="takeWhile (flip (<=) (Neg Zero)) (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero)))",fontsize=16,color="black",shape="box"];423 -> 506[label="",style="solid", color="black", weight=3]; 58.54/37.23 424[label="takeWhile (flip (<=) (Pos xu310)) (Neg (Succ xu3000) + fromInt (Pos (Succ Zero)) `seq` numericEnumFrom (Neg (Succ xu3000) + fromInt (Pos (Succ Zero))))",fontsize=16,color="black",shape="box"];424 -> 507[label="",style="solid", color="black", weight=3]; 58.54/37.23 2505 -> 985[label="",style="dashed", color="red", weight=0]; 58.54/37.23 2505[label="primPlusInt (Neg (Succ xu3000)) (Pos (Succ Zero))",fontsize=16,color="magenta"];2505 -> 2556[label="",style="dashed", color="magenta", weight=3]; 58.54/37.23 2506[label="takeWhile1 (flip (<=) (Neg (Succ xu195))) (Neg (Succ xu196)) (numericEnumFrom $! xu197) (not (primCmpNat (Succ xu1980) (Succ xu1990) == GT))",fontsize=16,color="black",shape="box"];2506 -> 2557[label="",style="solid", color="black", weight=3]; 58.54/37.23 2507[label="takeWhile1 (flip (<=) (Neg (Succ xu195))) (Neg (Succ xu196)) (numericEnumFrom $! xu197) (not (primCmpNat (Succ xu1980) Zero == GT))",fontsize=16,color="black",shape="box"];2507 -> 2558[label="",style="solid", color="black", weight=3]; 58.54/37.23 2508[label="takeWhile1 (flip (<=) (Neg (Succ xu195))) (Neg (Succ xu196)) (numericEnumFrom $! xu197) (not (primCmpNat Zero (Succ xu1990) == GT))",fontsize=16,color="black",shape="box"];2508 -> 2559[label="",style="solid", color="black", weight=3]; 58.54/37.23 2509[label="takeWhile1 (flip (<=) (Neg (Succ xu195))) (Neg (Succ xu196)) (numericEnumFrom $! xu197) (not (primCmpNat Zero Zero == GT))",fontsize=16,color="black",shape="box"];2509 -> 2560[label="",style="solid", color="black", weight=3]; 58.54/37.23 429[label="Neg (Succ xu3000) : takeWhile (flip (<=) (Neg Zero)) (numericEnumFrom $! Neg (Succ xu3000) + fromInt (Pos (Succ Zero)))",fontsize=16,color="green",shape="box"];429 -> 513[label="",style="dashed", color="green", weight=3]; 58.54/37.23 430[label="takeWhile (flip (<=) (Pos (Succ xu3100))) (numericEnumFrom $! Neg Zero + fromInt (Pos (Succ Zero)))",fontsize=16,color="black",shape="box"];430 -> 514[label="",style="solid", color="black", weight=3]; 58.54/37.23 431[label="takeWhile (flip (<=) (Pos Zero)) (numericEnumFrom $! Neg Zero + fromInt (Pos (Succ Zero)))",fontsize=16,color="black",shape="box"];431 -> 515[label="",style="solid", color="black", weight=3]; 58.54/37.23 432[label="takeWhile0 (flip (<=) (Neg (Succ xu3100))) (Neg Zero) (numericEnumFrom $! Neg Zero + fromInt (Pos (Succ Zero))) otherwise",fontsize=16,color="black",shape="box"];432 -> 516[label="",style="solid", color="black", weight=3]; 58.54/37.23 433[label="takeWhile (flip (<=) (Neg Zero)) (numericEnumFrom $! Neg Zero + fromInt (Pos (Succ Zero)))",fontsize=16,color="black",shape="box"];433 -> 517[label="",style="solid", color="black", weight=3]; 58.54/37.23 869[label="(xu20,xu21)",fontsize=16,color="green",shape="box"];870[label="(xu20,xu21)",fontsize=16,color="green",shape="box"];871[label="(xu20,xu21)",fontsize=16,color="green",shape="box"];872[label="(xu20,xu21)",fontsize=16,color="green",shape="box"];873[label="(xu20,xu21)",fontsize=16,color="green",shape="box"];874[label="xu20",fontsize=16,color="green",shape="box"];875[label="xu21",fontsize=16,color="green",shape="box"];876[label="(xu20,xu21)",fontsize=16,color="green",shape="box"];877[label="xu20",fontsize=16,color="green",shape="box"];878[label="xu21",fontsize=16,color="green",shape="box"];879[label="foldr (++) [] (range1 xu57 xu580 : map (range1 xu57) xu581)",fontsize=16,color="black",shape="box"];879 -> 957[label="",style="solid", color="black", weight=3]; 58.54/37.23 880 -> 143[label="",style="dashed", color="red", weight=0]; 58.54/37.23 880[label="foldr (++) [] []",fontsize=16,color="magenta"];446[label="(++) range00 LT (not (compare3 LT xu30 == LT)) foldr (++) [] (map (range0 LT xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];446 -> 545[label="",style="solid", color="black", weight=3]; 58.54/37.23 447[label="(++) range00 LT (True && LT >= xu30) foldr (++) [] (map (range0 EQ xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];447 -> 546[label="",style="solid", color="black", weight=3]; 58.54/37.23 448[label="(++) range00 LT (True && LT >= xu30) foldr (++) [] (map (range0 GT xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];448 -> 547[label="",style="solid", color="black", weight=3]; 58.54/37.23 449[label="(++) range60 False (not (compare3 False xu30 == LT)) foldr (++) [] (map (range6 False xu30) (True : []))",fontsize=16,color="black",shape="box"];449 -> 548[label="",style="solid", color="black", weight=3]; 58.54/37.23 450[label="(++) range60 False (True && False >= xu30) foldr (++) [] (map (range6 True xu30) (True : []))",fontsize=16,color="black",shape="box"];450 -> 549[label="",style="solid", color="black", weight=3]; 58.54/37.23 2510[label="takeWhile1 (flip (<=) (Integer (Pos (Succ xu201)))) (Integer (Pos (Succ xu202))) (numericEnumFrom $! Integer (Pos (Succ xu202)) + fromInt (Pos (Succ Zero))) (not (primCmpNat (Succ xu2030) xu204 == GT))",fontsize=16,color="burlywood",shape="box"];3142[label="xu204/Succ xu2040",fontsize=10,color="white",style="solid",shape="box"];2510 -> 3142[label="",style="solid", color="burlywood", weight=9]; 58.54/37.23 3142 -> 2561[label="",style="solid", color="burlywood", weight=3]; 58.54/37.23 3143[label="xu204/Zero",fontsize=10,color="white",style="solid",shape="box"];2510 -> 3143[label="",style="solid", color="burlywood", weight=9]; 58.54/37.23 3143 -> 2562[label="",style="solid", color="burlywood", weight=3]; 58.54/37.23 2511[label="takeWhile1 (flip (<=) (Integer (Pos (Succ xu201)))) (Integer (Pos (Succ xu202))) (numericEnumFrom $! Integer (Pos (Succ xu202)) + fromInt (Pos (Succ Zero))) (not (primCmpNat Zero xu204 == GT))",fontsize=16,color="burlywood",shape="box"];3144[label="xu204/Succ xu2040",fontsize=10,color="white",style="solid",shape="box"];2511 -> 3144[label="",style="solid", color="burlywood", weight=9]; 58.54/37.23 3144 -> 2563[label="",style="solid", color="burlywood", weight=3]; 58.54/37.23 3145[label="xu204/Zero",fontsize=10,color="white",style="solid",shape="box"];2511 -> 3145[label="",style="solid", color="burlywood", weight=9]; 58.54/37.23 3145 -> 2564[label="",style="solid", color="burlywood", weight=3]; 58.54/37.23 455[label="takeWhile1 (flip (<=) (Integer (Pos Zero))) (Integer (Pos (Succ xu30000))) (numericEnumFrom $! Integer (Pos (Succ xu30000)) + fromInt (Pos (Succ Zero))) False",fontsize=16,color="black",shape="box"];455 -> 554[label="",style="solid", color="black", weight=3]; 58.54/37.23 456[label="takeWhile0 (flip (<=) (Integer (Neg xu3100))) (Integer (Pos (Succ xu30000))) (numericEnumFrom $! Integer (Pos (Succ xu30000)) + fromInt (Pos (Succ Zero))) True",fontsize=16,color="black",shape="box"];456 -> 555[label="",style="solid", color="black", weight=3]; 58.54/37.23 457[label="takeWhile1 (flip (<=) (Integer (Pos (Succ xu31000)))) (Integer (Pos Zero)) (numericEnumFrom $! Integer (Pos Zero) + fromInt (Pos (Succ Zero))) True",fontsize=16,color="black",shape="box"];457 -> 556[label="",style="solid", color="black", weight=3]; 58.54/37.23 458[label="Integer (Pos Zero) : takeWhile (flip (<=) (Integer (Pos Zero))) (numericEnumFrom $! Integer (Pos Zero) + fromInt (Pos (Succ Zero)))",fontsize=16,color="green",shape="box"];458 -> 557[label="",style="dashed", color="green", weight=3]; 58.54/37.23 459[label="takeWhile0 (flip (<=) (Integer (Neg (Succ xu31000)))) (Integer (Pos Zero)) (numericEnumFrom $! Integer (Pos Zero) + fromInt (Pos (Succ Zero))) otherwise",fontsize=16,color="black",shape="box"];459 -> 558[label="",style="solid", color="black", weight=3]; 58.54/37.23 460[label="Integer (Pos Zero) : takeWhile (flip (<=) (Integer (Neg Zero))) (numericEnumFrom $! Integer (Pos Zero) + fromInt (Pos (Succ Zero)))",fontsize=16,color="green",shape="box"];460 -> 559[label="",style="dashed", color="green", weight=3]; 58.54/37.23 461[label="takeWhile (flip (<=) (Integer (Pos xu3100))) (numericEnumFrom $! Integer (Neg (Succ xu30000)) + fromInt (Pos (Succ Zero)))",fontsize=16,color="black",shape="box"];461 -> 560[label="",style="solid", color="black", weight=3]; 58.54/37.23 2554[label="takeWhile1 (flip (<=) (Integer (Neg (Succ xu206)))) (Integer (Neg (Succ xu207))) (numericEnumFrom $! Integer (Neg (Succ xu207)) + fromInt (Pos (Succ Zero))) (not (primCmpNat (Succ xu2080) xu209 == GT))",fontsize=16,color="burlywood",shape="box"];3146[label="xu209/Succ xu2090",fontsize=10,color="white",style="solid",shape="box"];2554 -> 3146[label="",style="solid", color="burlywood", weight=9]; 58.54/37.23 3146 -> 2579[label="",style="solid", color="burlywood", weight=3]; 58.54/37.23 3147[label="xu209/Zero",fontsize=10,color="white",style="solid",shape="box"];2554 -> 3147[label="",style="solid", color="burlywood", weight=9]; 58.54/37.23 3147 -> 2580[label="",style="solid", color="burlywood", weight=3]; 58.54/37.23 2555[label="takeWhile1 (flip (<=) (Integer (Neg (Succ xu206)))) (Integer (Neg (Succ xu207))) (numericEnumFrom $! Integer (Neg (Succ xu207)) + fromInt (Pos (Succ Zero))) (not (primCmpNat Zero xu209 == GT))",fontsize=16,color="burlywood",shape="box"];3148[label="xu209/Succ xu2090",fontsize=10,color="white",style="solid",shape="box"];2555 -> 3148[label="",style="solid", color="burlywood", weight=9]; 58.54/37.23 3148 -> 2581[label="",style="solid", color="burlywood", weight=3]; 58.54/37.23 3149[label="xu209/Zero",fontsize=10,color="white",style="solid",shape="box"];2555 -> 3149[label="",style="solid", color="burlywood", weight=9]; 58.54/37.23 3149 -> 2582[label="",style="solid", color="burlywood", weight=3]; 58.54/37.23 466[label="takeWhile1 (flip (<=) (Integer (Neg Zero))) (Integer (Neg (Succ xu30000))) (numericEnumFrom $! Integer (Neg (Succ xu30000)) + fromInt (Pos (Succ Zero))) True",fontsize=16,color="black",shape="box"];466 -> 565[label="",style="solid", color="black", weight=3]; 58.54/37.23 467[label="Integer (Neg Zero) : takeWhile (flip (<=) (Integer (Pos (Succ xu31000)))) (numericEnumFrom $! Integer (Neg Zero) + fromInt (Pos (Succ Zero)))",fontsize=16,color="green",shape="box"];467 -> 566[label="",style="dashed", color="green", weight=3]; 58.54/37.23 468[label="Integer (Neg Zero) : takeWhile (flip (<=) (Integer (Pos Zero))) (numericEnumFrom $! Integer (Neg Zero) + fromInt (Pos (Succ Zero)))",fontsize=16,color="green",shape="box"];468 -> 567[label="",style="dashed", color="green", weight=3]; 58.54/37.23 469[label="takeWhile1 (flip (<=) (Integer (Neg (Succ xu31000)))) (Integer (Neg Zero)) (numericEnumFrom $! Integer (Neg Zero) + fromInt (Pos (Succ Zero))) False",fontsize=16,color="black",shape="box"];469 -> 568[label="",style="solid", color="black", weight=3]; 58.54/37.23 470[label="Integer (Neg Zero) : takeWhile (flip (<=) (Integer (Neg Zero))) (numericEnumFrom $! Integer (Neg Zero) + fromInt (Pos (Succ Zero)))",fontsize=16,color="green",shape="box"];470 -> 569[label="",style="dashed", color="green", weight=3]; 58.54/37.23 954[label="range ((xu130,xu131,xu132),(xu140,xu141,xu142))",fontsize=16,color="black",shape="box"];954 -> 1040[label="",style="solid", color="black", weight=3]; 58.54/37.23 955[label="range ((xu130,xu131),(xu140,xu141))",fontsize=16,color="black",shape="box"];955 -> 1041[label="",style="solid", color="black", weight=3]; 58.54/37.23 956 -> 474[label="",style="dashed", color="red", weight=0]; 58.54/37.23 956[label="(++) range4 xu50 xu51 xu52 xu530 foldr (++) [] (map (range4 xu50 xu51 xu52) xu531)",fontsize=16,color="magenta"];956 -> 1042[label="",style="dashed", color="magenta", weight=3]; 58.54/37.23 956 -> 1043[label="",style="dashed", color="magenta", weight=3]; 58.54/37.23 2330 -> 2275[label="",style="dashed", color="red", weight=0]; 58.54/37.23 2330[label="takeWhile1 (flip (<=) (Pos (Succ xu167))) (Pos (Succ xu168)) (numericEnumFrom $! Pos (Succ xu168) + fromInt (Pos (Succ Zero))) (not (primCmpNat xu1690 xu1700 == GT))",fontsize=16,color="magenta"];2330 -> 2337[label="",style="dashed", color="magenta", weight=3]; 58.54/37.23 2330 -> 2338[label="",style="dashed", color="magenta", weight=3]; 58.54/37.23 2331[label="takeWhile1 (flip (<=) (Pos (Succ xu167))) (Pos (Succ xu168)) (numericEnumFrom $! Pos (Succ xu168) + fromInt (Pos (Succ Zero))) (not (GT == GT))",fontsize=16,color="black",shape="box"];2331 -> 2339[label="",style="solid", color="black", weight=3]; 58.54/37.23 2332[label="takeWhile1 (flip (<=) (Pos (Succ xu167))) (Pos (Succ xu168)) (numericEnumFrom $! Pos (Succ xu168) + fromInt (Pos (Succ Zero))) (not (LT == GT))",fontsize=16,color="black",shape="box"];2332 -> 2340[label="",style="solid", color="black", weight=3]; 58.54/37.23 2333[label="takeWhile1 (flip (<=) (Pos (Succ xu167))) (Pos (Succ xu168)) (numericEnumFrom $! Pos (Succ xu168) + fromInt (Pos (Succ Zero))) (not (EQ == GT))",fontsize=16,color="black",shape="box"];2333 -> 2341[label="",style="solid", color="black", weight=3]; 58.54/37.23 502[label="takeWhile0 (flip (<=) (Pos Zero)) (Pos (Succ xu3000)) (numericEnumFrom $! Pos (Succ xu3000) + fromInt (Pos (Succ Zero))) True",fontsize=16,color="black",shape="box"];502 -> 577[label="",style="solid", color="black", weight=3]; 58.54/37.23 503[label="takeWhile (flip (<=) (Pos (Succ xu3100))) (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero)))",fontsize=16,color="black",shape="box"];503 -> 578[label="",style="solid", color="black", weight=3]; 58.54/37.23 504[label="takeWhile (flip (<=) (Pos Zero)) (Pos Zero + fromInt (Pos (Succ Zero)) `seq` numericEnumFrom (Pos Zero + fromInt (Pos (Succ Zero))))",fontsize=16,color="black",shape="box"];504 -> 579[label="",style="solid", color="black", weight=3]; 58.54/37.23 505[label="[]",fontsize=16,color="green",shape="box"];506[label="takeWhile (flip (<=) (Neg Zero)) (Pos Zero + fromInt (Pos (Succ Zero)) `seq` numericEnumFrom (Pos Zero + fromInt (Pos (Succ Zero))))",fontsize=16,color="black",shape="box"];506 -> 580[label="",style="solid", color="black", weight=3]; 58.54/37.23 507[label="takeWhile (flip (<=) (Pos xu310)) (enforceWHNF (WHNF (Neg (Succ xu3000) + fromInt (Pos (Succ Zero)))) (numericEnumFrom (Neg (Succ xu3000) + fromInt (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];507 -> 581[label="",style="solid", color="black", weight=3]; 58.54/37.23 2556[label="xu3000",fontsize=16,color="green",shape="box"];985[label="primPlusInt (Neg (Succ xu30000)) (Pos (Succ Zero))",fontsize=16,color="black",shape="triangle"];985 -> 1073[label="",style="solid", color="black", weight=3]; 58.54/37.23 2557 -> 2391[label="",style="dashed", color="red", weight=0]; 58.54/37.23 2557[label="takeWhile1 (flip (<=) (Neg (Succ xu195))) (Neg (Succ xu196)) (numericEnumFrom $! xu197) (not (primCmpNat xu1980 xu1990 == GT))",fontsize=16,color="magenta"];2557 -> 2583[label="",style="dashed", color="magenta", weight=3]; 58.54/37.23 2557 -> 2584[label="",style="dashed", color="magenta", weight=3]; 58.54/37.23 2558[label="takeWhile1 (flip (<=) (Neg (Succ xu195))) (Neg (Succ xu196)) (numericEnumFrom $! xu197) (not (GT == GT))",fontsize=16,color="black",shape="box"];2558 -> 2585[label="",style="solid", color="black", weight=3]; 58.54/37.23 2559[label="takeWhile1 (flip (<=) (Neg (Succ xu195))) (Neg (Succ xu196)) (numericEnumFrom $! xu197) (not (LT == GT))",fontsize=16,color="black",shape="box"];2559 -> 2586[label="",style="solid", color="black", weight=3]; 58.54/37.23 2560[label="takeWhile1 (flip (<=) (Neg (Succ xu195))) (Neg (Succ xu196)) (numericEnumFrom $! xu197) (not (EQ == GT))",fontsize=16,color="black",shape="box"];2560 -> 2587[label="",style="solid", color="black", weight=3]; 58.54/37.23 513[label="takeWhile (flip (<=) (Neg Zero)) (numericEnumFrom $! Neg (Succ xu3000) + fromInt (Pos (Succ Zero)))",fontsize=16,color="black",shape="box"];513 -> 589[label="",style="solid", color="black", weight=3]; 58.54/37.23 514[label="takeWhile (flip (<=) (Pos (Succ xu3100))) (Neg Zero + fromInt (Pos (Succ Zero)) `seq` numericEnumFrom (Neg Zero + fromInt (Pos (Succ Zero))))",fontsize=16,color="black",shape="box"];514 -> 590[label="",style="solid", color="black", weight=3]; 58.54/37.23 515[label="takeWhile (flip (<=) (Pos Zero)) (Neg Zero + fromInt (Pos (Succ Zero)) `seq` numericEnumFrom (Neg Zero + fromInt (Pos (Succ Zero))))",fontsize=16,color="black",shape="box"];515 -> 591[label="",style="solid", color="black", weight=3]; 58.54/37.23 516[label="takeWhile0 (flip (<=) (Neg (Succ xu3100))) (Neg Zero) (numericEnumFrom $! Neg Zero + fromInt (Pos (Succ Zero))) True",fontsize=16,color="black",shape="box"];516 -> 592[label="",style="solid", color="black", weight=3]; 58.54/37.23 517[label="takeWhile (flip (<=) (Neg Zero)) (Neg Zero + fromInt (Pos (Succ Zero)) `seq` numericEnumFrom (Neg Zero + fromInt (Pos (Succ Zero))))",fontsize=16,color="black",shape="box"];517 -> 593[label="",style="solid", color="black", weight=3]; 58.54/37.23 957 -> 519[label="",style="dashed", color="red", weight=0]; 58.54/37.23 957[label="(++) range1 xu57 xu580 foldr (++) [] (map (range1 xu57) xu581)",fontsize=16,color="magenta"];957 -> 1044[label="",style="dashed", color="magenta", weight=3]; 58.54/37.23 957 -> 1045[label="",style="dashed", color="magenta", weight=3]; 58.54/37.23 545[label="(++) range00 LT (not (compare2 LT xu30 (LT == xu30) == LT)) foldr (++) [] (map (range0 LT xu30) (EQ : GT : []))",fontsize=16,color="burlywood",shape="box"];3150[label="xu30/LT",fontsize=10,color="white",style="solid",shape="box"];545 -> 3150[label="",style="solid", color="burlywood", weight=9]; 58.54/37.23 3150 -> 599[label="",style="solid", color="burlywood", weight=3]; 58.54/37.23 3151[label="xu30/EQ",fontsize=10,color="white",style="solid",shape="box"];545 -> 3151[label="",style="solid", color="burlywood", weight=9]; 58.54/37.23 3151 -> 600[label="",style="solid", color="burlywood", weight=3]; 58.54/37.23 3152[label="xu30/GT",fontsize=10,color="white",style="solid",shape="box"];545 -> 3152[label="",style="solid", color="burlywood", weight=9]; 58.54/37.23 3152 -> 601[label="",style="solid", color="burlywood", weight=3]; 58.54/37.23 546[label="(++) range00 LT (LT >= xu30) foldr (++) [] (map (range0 EQ xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];546 -> 602[label="",style="solid", color="black", weight=3]; 58.54/37.23 547[label="(++) range00 LT (LT >= xu30) foldr (++) [] (map (range0 GT xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];547 -> 603[label="",style="solid", color="black", weight=3]; 58.54/37.23 548[label="(++) range60 False (not (compare2 False xu30 (False == xu30) == LT)) foldr (++) [] (map (range6 False xu30) (True : []))",fontsize=16,color="burlywood",shape="box"];3153[label="xu30/False",fontsize=10,color="white",style="solid",shape="box"];548 -> 3153[label="",style="solid", color="burlywood", weight=9]; 58.54/37.23 3153 -> 604[label="",style="solid", color="burlywood", weight=3]; 58.54/37.23 3154[label="xu30/True",fontsize=10,color="white",style="solid",shape="box"];548 -> 3154[label="",style="solid", color="burlywood", weight=9]; 58.54/37.23 3154 -> 605[label="",style="solid", color="burlywood", weight=3]; 58.54/37.23 549[label="(++) range60 False (False >= xu30) foldr (++) [] (map (range6 True xu30) (True : []))",fontsize=16,color="black",shape="box"];549 -> 606[label="",style="solid", color="black", weight=3]; 58.54/37.23 2561[label="takeWhile1 (flip (<=) (Integer (Pos (Succ xu201)))) (Integer (Pos (Succ xu202))) (numericEnumFrom $! Integer (Pos (Succ xu202)) + fromInt (Pos (Succ Zero))) (not (primCmpNat (Succ xu2030) (Succ xu2040) == GT))",fontsize=16,color="black",shape="box"];2561 -> 2588[label="",style="solid", color="black", weight=3]; 58.54/37.23 2562[label="takeWhile1 (flip (<=) (Integer (Pos (Succ xu201)))) (Integer (Pos (Succ xu202))) (numericEnumFrom $! Integer (Pos (Succ xu202)) + fromInt (Pos (Succ Zero))) (not (primCmpNat (Succ xu2030) Zero == GT))",fontsize=16,color="black",shape="box"];2562 -> 2589[label="",style="solid", color="black", weight=3]; 58.54/37.23 2563[label="takeWhile1 (flip (<=) (Integer (Pos (Succ xu201)))) (Integer (Pos (Succ xu202))) (numericEnumFrom $! Integer (Pos (Succ xu202)) + fromInt (Pos (Succ Zero))) (not (primCmpNat Zero (Succ xu2040) == GT))",fontsize=16,color="black",shape="box"];2563 -> 2590[label="",style="solid", color="black", weight=3]; 58.54/37.23 2564[label="takeWhile1 (flip (<=) (Integer (Pos (Succ xu201)))) (Integer (Pos (Succ xu202))) (numericEnumFrom $! Integer (Pos (Succ xu202)) + fromInt (Pos (Succ Zero))) (not (primCmpNat Zero Zero == GT))",fontsize=16,color="black",shape="box"];2564 -> 2591[label="",style="solid", color="black", weight=3]; 58.54/37.23 554[label="takeWhile0 (flip (<=) (Integer (Pos Zero))) (Integer (Pos (Succ xu30000))) (numericEnumFrom $! Integer (Pos (Succ xu30000)) + fromInt (Pos (Succ Zero))) otherwise",fontsize=16,color="black",shape="box"];554 -> 612[label="",style="solid", color="black", weight=3]; 58.54/37.23 555[label="[]",fontsize=16,color="green",shape="box"];556[label="Integer (Pos Zero) : takeWhile (flip (<=) (Integer (Pos (Succ xu31000)))) (numericEnumFrom $! Integer (Pos Zero) + fromInt (Pos (Succ Zero)))",fontsize=16,color="green",shape="box"];556 -> 613[label="",style="dashed", color="green", weight=3]; 58.54/37.23 557[label="takeWhile (flip (<=) (Integer (Pos Zero))) (numericEnumFrom $! Integer (Pos Zero) + fromInt (Pos (Succ Zero)))",fontsize=16,color="black",shape="box"];557 -> 614[label="",style="solid", color="black", weight=3]; 58.54/37.23 558[label="takeWhile0 (flip (<=) (Integer (Neg (Succ xu31000)))) (Integer (Pos Zero)) (numericEnumFrom $! Integer (Pos Zero) + fromInt (Pos (Succ Zero))) True",fontsize=16,color="black",shape="box"];558 -> 615[label="",style="solid", color="black", weight=3]; 58.54/37.23 559[label="takeWhile (flip (<=) (Integer (Neg Zero))) (numericEnumFrom $! Integer (Pos Zero) + fromInt (Pos (Succ Zero)))",fontsize=16,color="black",shape="box"];559 -> 616[label="",style="solid", color="black", weight=3]; 58.54/37.23 560[label="takeWhile (flip (<=) (Integer (Pos xu3100))) (Integer (Neg (Succ xu30000)) + fromInt (Pos (Succ Zero)) `seq` numericEnumFrom (Integer (Neg (Succ xu30000)) + fromInt (Pos (Succ Zero))))",fontsize=16,color="black",shape="box"];560 -> 617[label="",style="solid", color="black", weight=3]; 58.54/37.23 2579[label="takeWhile1 (flip (<=) (Integer (Neg (Succ xu206)))) (Integer (Neg (Succ xu207))) (numericEnumFrom $! Integer (Neg (Succ xu207)) + fromInt (Pos (Succ Zero))) (not (primCmpNat (Succ xu2080) (Succ xu2090) == GT))",fontsize=16,color="black",shape="box"];2579 -> 2606[label="",style="solid", color="black", weight=3]; 58.54/37.23 2580[label="takeWhile1 (flip (<=) (Integer (Neg (Succ xu206)))) (Integer (Neg (Succ xu207))) (numericEnumFrom $! Integer (Neg (Succ xu207)) + fromInt (Pos (Succ Zero))) (not (primCmpNat (Succ xu2080) Zero == GT))",fontsize=16,color="black",shape="box"];2580 -> 2607[label="",style="solid", color="black", weight=3]; 58.54/37.23 2581[label="takeWhile1 (flip (<=) (Integer (Neg (Succ xu206)))) (Integer (Neg (Succ xu207))) (numericEnumFrom $! Integer (Neg (Succ xu207)) + fromInt (Pos (Succ Zero))) (not (primCmpNat Zero (Succ xu2090) == GT))",fontsize=16,color="black",shape="box"];2581 -> 2608[label="",style="solid", color="black", weight=3]; 58.54/37.23 2582[label="takeWhile1 (flip (<=) (Integer (Neg (Succ xu206)))) (Integer (Neg (Succ xu207))) (numericEnumFrom $! Integer (Neg (Succ xu207)) + fromInt (Pos (Succ Zero))) (not (primCmpNat Zero Zero == GT))",fontsize=16,color="black",shape="box"];2582 -> 2609[label="",style="solid", color="black", weight=3]; 58.54/37.23 565[label="Integer (Neg (Succ xu30000)) : takeWhile (flip (<=) (Integer (Neg Zero))) (numericEnumFrom $! Integer (Neg (Succ xu30000)) + fromInt (Pos (Succ Zero)))",fontsize=16,color="green",shape="box"];565 -> 623[label="",style="dashed", color="green", weight=3]; 58.54/37.23 566[label="takeWhile (flip (<=) (Integer (Pos (Succ xu31000)))) (numericEnumFrom $! Integer (Neg Zero) + fromInt (Pos (Succ Zero)))",fontsize=16,color="black",shape="box"];566 -> 624[label="",style="solid", color="black", weight=3]; 58.54/37.23 567[label="takeWhile (flip (<=) (Integer (Pos Zero))) (numericEnumFrom $! Integer (Neg Zero) + fromInt (Pos (Succ Zero)))",fontsize=16,color="black",shape="box"];567 -> 625[label="",style="solid", color="black", weight=3]; 58.54/37.23 568[label="takeWhile0 (flip (<=) (Integer (Neg (Succ xu31000)))) (Integer (Neg Zero)) (numericEnumFrom $! Integer (Neg Zero) + fromInt (Pos (Succ Zero))) otherwise",fontsize=16,color="black",shape="box"];568 -> 626[label="",style="solid", color="black", weight=3]; 58.54/37.23 569[label="takeWhile (flip (<=) (Integer (Neg Zero))) (numericEnumFrom $! Integer (Neg Zero) + fromInt (Pos (Succ Zero)))",fontsize=16,color="black",shape="box"];569 -> 627[label="",style="solid", color="black", weight=3]; 58.54/37.23 1040[label="concatMap (range5 xu132 xu142 xu131 xu141) (range (xu130,xu140))",fontsize=16,color="black",shape="box"];1040 -> 1128[label="",style="solid", color="black", weight=3]; 58.54/37.23 1041[label="concatMap (range2 xu131 xu141) (range (xu130,xu140))",fontsize=16,color="black",shape="box"];1041 -> 1129[label="",style="solid", color="black", weight=3]; 58.54/37.23 1042[label="range4 xu50 xu51 xu52 xu530",fontsize=16,color="black",shape="box"];1042 -> 1130[label="",style="solid", color="black", weight=3]; 58.54/37.23 1043 -> 772[label="",style="dashed", color="red", weight=0]; 58.54/37.23 1043[label="foldr (++) [] (map (range4 xu50 xu51 xu52) xu531)",fontsize=16,color="magenta"];1043 -> 1131[label="",style="dashed", color="magenta", weight=3]; 58.54/37.23 2337[label="xu1690",fontsize=16,color="green",shape="box"];2338[label="xu1700",fontsize=16,color="green",shape="box"];2339[label="takeWhile1 (flip (<=) (Pos (Succ xu167))) (Pos (Succ xu168)) (numericEnumFrom $! Pos (Succ xu168) + fromInt (Pos (Succ Zero))) (not True)",fontsize=16,color="black",shape="box"];2339 -> 2365[label="",style="solid", color="black", weight=3]; 58.54/37.23 2340[label="takeWhile1 (flip (<=) (Pos (Succ xu167))) (Pos (Succ xu168)) (numericEnumFrom $! Pos (Succ xu168) + fromInt (Pos (Succ Zero))) (not False)",fontsize=16,color="black",shape="triangle"];2340 -> 2366[label="",style="solid", color="black", weight=3]; 58.54/37.23 2341 -> 2340[label="",style="dashed", color="red", weight=0]; 58.54/37.23 2341[label="takeWhile1 (flip (<=) (Pos (Succ xu167))) (Pos (Succ xu168)) (numericEnumFrom $! Pos (Succ xu168) + fromInt (Pos (Succ Zero))) (not False)",fontsize=16,color="magenta"];577[label="[]",fontsize=16,color="green",shape="box"];578[label="takeWhile (flip (<=) (Pos (Succ xu3100))) (Pos Zero + fromInt (Pos (Succ Zero)) `seq` numericEnumFrom (Pos Zero + fromInt (Pos (Succ Zero))))",fontsize=16,color="black",shape="box"];578 -> 635[label="",style="solid", color="black", weight=3]; 58.54/37.23 579[label="takeWhile (flip (<=) (Pos Zero)) (enforceWHNF (WHNF (Pos Zero + fromInt (Pos (Succ Zero)))) (numericEnumFrom (Pos Zero + fromInt (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];579 -> 636[label="",style="solid", color="black", weight=3]; 58.54/37.23 580[label="takeWhile (flip (<=) (Neg Zero)) (enforceWHNF (WHNF (Pos Zero + fromInt (Pos (Succ Zero)))) (numericEnumFrom (Pos Zero + fromInt (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];580 -> 637[label="",style="solid", color="black", weight=3]; 58.54/37.23 581[label="takeWhile (flip (<=) (Pos xu310)) (enforceWHNF (WHNF (primPlusInt (Neg (Succ xu3000)) (fromInt (Pos (Succ Zero))))) (numericEnumFrom (primPlusInt (Neg (Succ xu3000)) (fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];581 -> 638[label="",style="solid", color="black", weight=3]; 58.54/37.23 1073[label="primMinusNat (Succ Zero) (Succ xu30000)",fontsize=16,color="black",shape="box"];1073 -> 1166[label="",style="solid", color="black", weight=3]; 58.54/37.23 2583[label="xu1980",fontsize=16,color="green",shape="box"];2584[label="xu1990",fontsize=16,color="green",shape="box"];2585[label="takeWhile1 (flip (<=) (Neg (Succ xu195))) (Neg (Succ xu196)) (numericEnumFrom $! xu197) (not True)",fontsize=16,color="black",shape="box"];2585 -> 2610[label="",style="solid", color="black", weight=3]; 58.54/37.23 2586[label="takeWhile1 (flip (<=) (Neg (Succ xu195))) (Neg (Succ xu196)) (numericEnumFrom $! xu197) (not False)",fontsize=16,color="black",shape="triangle"];2586 -> 2611[label="",style="solid", color="black", weight=3]; 58.54/37.23 2587 -> 2586[label="",style="dashed", color="red", weight=0]; 58.54/37.23 2587[label="takeWhile1 (flip (<=) (Neg (Succ xu195))) (Neg (Succ xu196)) (numericEnumFrom $! xu197) (not False)",fontsize=16,color="magenta"];589[label="takeWhile (flip (<=) (Neg Zero)) (Neg (Succ xu3000) + fromInt (Pos (Succ Zero)) `seq` numericEnumFrom (Neg (Succ xu3000) + fromInt (Pos (Succ Zero))))",fontsize=16,color="black",shape="box"];589 -> 646[label="",style="solid", color="black", weight=3]; 58.54/37.23 590[label="takeWhile (flip (<=) (Pos (Succ xu3100))) (enforceWHNF (WHNF (Neg Zero + fromInt (Pos (Succ Zero)))) (numericEnumFrom (Neg Zero + fromInt (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];590 -> 647[label="",style="solid", color="black", weight=3]; 58.54/37.23 591[label="takeWhile (flip (<=) (Pos Zero)) (enforceWHNF (WHNF (Neg Zero + fromInt (Pos (Succ Zero)))) (numericEnumFrom (Neg Zero + fromInt (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];591 -> 648[label="",style="solid", color="black", weight=3]; 58.54/37.23 592[label="[]",fontsize=16,color="green",shape="box"];593[label="takeWhile (flip (<=) (Neg Zero)) (enforceWHNF (WHNF (Neg Zero + fromInt (Pos (Succ Zero)))) (numericEnumFrom (Neg Zero + fromInt (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];593 -> 649[label="",style="solid", color="black", weight=3]; 58.54/37.23 1044[label="range1 xu57 xu580",fontsize=16,color="black",shape="box"];1044 -> 1132[label="",style="solid", color="black", weight=3]; 58.54/37.23 1045 -> 777[label="",style="dashed", color="red", weight=0]; 58.54/37.23 1045[label="foldr (++) [] (map (range1 xu57) xu581)",fontsize=16,color="magenta"];1045 -> 1133[label="",style="dashed", color="magenta", weight=3]; 58.54/37.23 599[label="(++) range00 LT (not (compare2 LT LT (LT == LT) == LT)) foldr (++) [] (map (range0 LT LT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];599 -> 654[label="",style="solid", color="black", weight=3]; 58.54/37.23 600[label="(++) range00 LT (not (compare2 LT EQ (LT == EQ) == LT)) foldr (++) [] (map (range0 LT EQ) (EQ : GT : []))",fontsize=16,color="black",shape="box"];600 -> 655[label="",style="solid", color="black", weight=3]; 58.54/37.23 601[label="(++) range00 LT (not (compare2 LT GT (LT == GT) == LT)) foldr (++) [] (map (range0 LT GT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];601 -> 656[label="",style="solid", color="black", weight=3]; 58.54/37.23 602[label="(++) range00 LT (compare LT xu30 /= LT) foldr (++) [] (map (range0 EQ xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];602 -> 657[label="",style="solid", color="black", weight=3]; 58.54/37.23 603[label="(++) range00 LT (compare LT xu30 /= LT) foldr (++) [] (map (range0 GT xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];603 -> 658[label="",style="solid", color="black", weight=3]; 58.54/37.23 604[label="(++) range60 False (not (compare2 False False (False == False) == LT)) foldr (++) [] (map (range6 False False) (True : []))",fontsize=16,color="black",shape="box"];604 -> 659[label="",style="solid", color="black", weight=3]; 58.54/37.23 605[label="(++) range60 False (not (compare2 False True (False == True) == LT)) foldr (++) [] (map (range6 False True) (True : []))",fontsize=16,color="black",shape="box"];605 -> 660[label="",style="solid", color="black", weight=3]; 58.54/37.23 606[label="(++) range60 False (compare False xu30 /= LT) foldr (++) [] (map (range6 True xu30) (True : []))",fontsize=16,color="black",shape="box"];606 -> 661[label="",style="solid", color="black", weight=3]; 58.54/37.23 2588 -> 2464[label="",style="dashed", color="red", weight=0]; 58.54/37.23 2588[label="takeWhile1 (flip (<=) (Integer (Pos (Succ xu201)))) (Integer (Pos (Succ xu202))) (numericEnumFrom $! Integer (Pos (Succ xu202)) + fromInt (Pos (Succ Zero))) (not (primCmpNat xu2030 xu2040 == GT))",fontsize=16,color="magenta"];2588 -> 2612[label="",style="dashed", color="magenta", weight=3]; 58.54/37.23 2588 -> 2613[label="",style="dashed", color="magenta", weight=3]; 58.54/37.23 2589[label="takeWhile1 (flip (<=) (Integer (Pos (Succ xu201)))) (Integer (Pos (Succ xu202))) (numericEnumFrom $! Integer (Pos (Succ xu202)) + fromInt (Pos (Succ Zero))) (not (GT == GT))",fontsize=16,color="black",shape="box"];2589 -> 2614[label="",style="solid", color="black", weight=3]; 58.54/37.23 2590[label="takeWhile1 (flip (<=) (Integer (Pos (Succ xu201)))) (Integer (Pos (Succ xu202))) (numericEnumFrom $! Integer (Pos (Succ xu202)) + fromInt (Pos (Succ Zero))) (not (LT == GT))",fontsize=16,color="black",shape="box"];2590 -> 2615[label="",style="solid", color="black", weight=3]; 58.54/37.23 2591[label="takeWhile1 (flip (<=) (Integer (Pos (Succ xu201)))) (Integer (Pos (Succ xu202))) (numericEnumFrom $! Integer (Pos (Succ xu202)) + fromInt (Pos (Succ Zero))) (not (EQ == GT))",fontsize=16,color="black",shape="box"];2591 -> 2616[label="",style="solid", color="black", weight=3]; 58.54/37.23 612[label="takeWhile0 (flip (<=) (Integer (Pos Zero))) (Integer (Pos (Succ xu30000))) (numericEnumFrom $! Integer (Pos (Succ xu30000)) + fromInt (Pos (Succ Zero))) True",fontsize=16,color="black",shape="box"];612 -> 669[label="",style="solid", color="black", weight=3]; 58.54/37.23 613[label="takeWhile (flip (<=) (Integer (Pos (Succ xu31000)))) (numericEnumFrom $! Integer (Pos Zero) + fromInt (Pos (Succ Zero)))",fontsize=16,color="black",shape="box"];613 -> 670[label="",style="solid", color="black", weight=3]; 58.54/37.23 614[label="takeWhile (flip (<=) (Integer (Pos Zero))) (Integer (Pos Zero) + fromInt (Pos (Succ Zero)) `seq` numericEnumFrom (Integer (Pos Zero) + fromInt (Pos (Succ Zero))))",fontsize=16,color="black",shape="box"];614 -> 671[label="",style="solid", color="black", weight=3]; 58.54/37.23 615[label="[]",fontsize=16,color="green",shape="box"];616[label="takeWhile (flip (<=) (Integer (Neg Zero))) (Integer (Pos Zero) + fromInt (Pos (Succ Zero)) `seq` numericEnumFrom (Integer (Pos Zero) + fromInt (Pos (Succ Zero))))",fontsize=16,color="black",shape="box"];616 -> 672[label="",style="solid", color="black", weight=3]; 58.54/37.23 617[label="takeWhile (flip (<=) (Integer (Pos xu3100))) (enforceWHNF (WHNF (Integer (Neg (Succ xu30000)) + fromInt (Pos (Succ Zero)))) (numericEnumFrom (Integer (Neg (Succ xu30000)) + fromInt (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];617 -> 673[label="",style="solid", color="black", weight=3]; 58.54/37.23 2606 -> 2513[label="",style="dashed", color="red", weight=0]; 58.54/37.23 2606[label="takeWhile1 (flip (<=) (Integer (Neg (Succ xu206)))) (Integer (Neg (Succ xu207))) (numericEnumFrom $! Integer (Neg (Succ xu207)) + fromInt (Pos (Succ Zero))) (not (primCmpNat xu2080 xu2090 == GT))",fontsize=16,color="magenta"];2606 -> 2631[label="",style="dashed", color="magenta", weight=3]; 58.54/37.23 2606 -> 2632[label="",style="dashed", color="magenta", weight=3]; 58.54/37.23 2607[label="takeWhile1 (flip (<=) (Integer (Neg (Succ xu206)))) (Integer (Neg (Succ xu207))) (numericEnumFrom $! Integer (Neg (Succ xu207)) + fromInt (Pos (Succ Zero))) (not (GT == GT))",fontsize=16,color="black",shape="box"];2607 -> 2633[label="",style="solid", color="black", weight=3]; 58.54/37.23 2608[label="takeWhile1 (flip (<=) (Integer (Neg (Succ xu206)))) (Integer (Neg (Succ xu207))) (numericEnumFrom $! Integer (Neg (Succ xu207)) + fromInt (Pos (Succ Zero))) (not (LT == GT))",fontsize=16,color="black",shape="box"];2608 -> 2634[label="",style="solid", color="black", weight=3]; 58.54/37.23 2609[label="takeWhile1 (flip (<=) (Integer (Neg (Succ xu206)))) (Integer (Neg (Succ xu207))) (numericEnumFrom $! Integer (Neg (Succ xu207)) + fromInt (Pos (Succ Zero))) (not (EQ == GT))",fontsize=16,color="black",shape="box"];2609 -> 2635[label="",style="solid", color="black", weight=3]; 58.54/37.23 623[label="takeWhile (flip (<=) (Integer (Neg Zero))) (numericEnumFrom $! Integer (Neg (Succ xu30000)) + fromInt (Pos (Succ Zero)))",fontsize=16,color="black",shape="box"];623 -> 681[label="",style="solid", color="black", weight=3]; 58.54/37.23 624[label="takeWhile (flip (<=) (Integer (Pos (Succ xu31000)))) (Integer (Neg Zero) + fromInt (Pos (Succ Zero)) `seq` numericEnumFrom (Integer (Neg Zero) + fromInt (Pos (Succ Zero))))",fontsize=16,color="black",shape="box"];624 -> 682[label="",style="solid", color="black", weight=3]; 58.54/37.23 625[label="takeWhile (flip (<=) (Integer (Pos Zero))) (Integer (Neg Zero) + fromInt (Pos (Succ Zero)) `seq` numericEnumFrom (Integer (Neg Zero) + fromInt (Pos (Succ Zero))))",fontsize=16,color="black",shape="box"];625 -> 683[label="",style="solid", color="black", weight=3]; 58.54/37.23 626[label="takeWhile0 (flip (<=) (Integer (Neg (Succ xu31000)))) (Integer (Neg Zero)) (numericEnumFrom $! Integer (Neg Zero) + fromInt (Pos (Succ Zero))) True",fontsize=16,color="black",shape="box"];626 -> 684[label="",style="solid", color="black", weight=3]; 58.54/37.23 627[label="takeWhile (flip (<=) (Integer (Neg Zero))) (Integer (Neg Zero) + fromInt (Pos (Succ Zero)) `seq` numericEnumFrom (Integer (Neg Zero) + fromInt (Pos (Succ Zero))))",fontsize=16,color="black",shape="box"];627 -> 685[label="",style="solid", color="black", weight=3]; 58.54/37.23 1128[label="concat . map (range5 xu132 xu142 xu131 xu141)",fontsize=16,color="black",shape="box"];1128 -> 1195[label="",style="solid", color="black", weight=3]; 58.54/37.23 1129[label="concat . map (range2 xu131 xu141)",fontsize=16,color="black",shape="box"];1129 -> 1196[label="",style="solid", color="black", weight=3]; 58.54/37.23 1130[label="range40 xu50 xu51 xu52 xu530",fontsize=16,color="black",shape="box"];1130 -> 1197[label="",style="solid", color="black", weight=3]; 58.54/37.23 1131[label="xu531",fontsize=16,color="green",shape="box"];2365[label="takeWhile1 (flip (<=) (Pos (Succ xu167))) (Pos (Succ xu168)) (numericEnumFrom $! Pos (Succ xu168) + fromInt (Pos (Succ Zero))) False",fontsize=16,color="black",shape="box"];2365 -> 2377[label="",style="solid", color="black", weight=3]; 58.54/37.23 2366[label="takeWhile1 (flip (<=) (Pos (Succ xu167))) (Pos (Succ xu168)) (numericEnumFrom $! Pos (Succ xu168) + fromInt (Pos (Succ Zero))) True",fontsize=16,color="black",shape="box"];2366 -> 2378[label="",style="solid", color="black", weight=3]; 58.54/37.23 635[label="takeWhile (flip (<=) (Pos (Succ xu3100))) (enforceWHNF (WHNF (Pos Zero + fromInt (Pos (Succ Zero)))) (numericEnumFrom (Pos Zero + fromInt (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];635 -> 694[label="",style="solid", color="black", weight=3]; 58.54/37.23 636[label="takeWhile (flip (<=) (Pos Zero)) (enforceWHNF (WHNF (primPlusInt (Pos Zero) (fromInt (Pos (Succ Zero))))) (numericEnumFrom (primPlusInt (Pos Zero) (fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];636 -> 695[label="",style="solid", color="black", weight=3]; 58.54/37.23 637[label="takeWhile (flip (<=) (Neg Zero)) (enforceWHNF (WHNF (primPlusInt (Pos Zero) (fromInt (Pos (Succ Zero))))) (numericEnumFrom (primPlusInt (Pos Zero) (fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];637 -> 696[label="",style="solid", color="black", weight=3]; 58.54/37.23 638[label="takeWhile (flip (<=) (Pos xu310)) (enforceWHNF (WHNF (primPlusInt (Neg (Succ xu3000)) (Pos (Succ Zero)))) (numericEnumFrom (primPlusInt (Neg (Succ xu3000)) (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];638 -> 697[label="",style="solid", color="black", weight=3]; 58.54/37.23 1166[label="primMinusNat Zero xu30000",fontsize=16,color="burlywood",shape="box"];3155[label="xu30000/Succ xu300000",fontsize=10,color="white",style="solid",shape="box"];1166 -> 3155[label="",style="solid", color="burlywood", weight=9]; 58.54/37.23 3155 -> 1322[label="",style="solid", color="burlywood", weight=3]; 58.54/37.23 3156[label="xu30000/Zero",fontsize=10,color="white",style="solid",shape="box"];1166 -> 3156[label="",style="solid", color="burlywood", weight=9]; 58.54/37.23 3156 -> 1323[label="",style="solid", color="burlywood", weight=3]; 58.54/37.23 2610[label="takeWhile1 (flip (<=) (Neg (Succ xu195))) (Neg (Succ xu196)) (numericEnumFrom $! xu197) False",fontsize=16,color="black",shape="box"];2610 -> 2636[label="",style="solid", color="black", weight=3]; 58.54/37.23 2611[label="takeWhile1 (flip (<=) (Neg (Succ xu195))) (Neg (Succ xu196)) (numericEnumFrom $! xu197) True",fontsize=16,color="black",shape="box"];2611 -> 2637[label="",style="solid", color="black", weight=3]; 58.54/37.23 646[label="takeWhile (flip (<=) (Neg Zero)) (enforceWHNF (WHNF (Neg (Succ xu3000) + fromInt (Pos (Succ Zero)))) (numericEnumFrom (Neg (Succ xu3000) + fromInt (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];646 -> 706[label="",style="solid", color="black", weight=3]; 58.54/37.23 647[label="takeWhile (flip (<=) (Pos (Succ xu3100))) (enforceWHNF (WHNF (primPlusInt (Neg Zero) (fromInt (Pos (Succ Zero))))) (numericEnumFrom (primPlusInt (Neg Zero) (fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];647 -> 707[label="",style="solid", color="black", weight=3]; 58.54/37.23 648[label="takeWhile (flip (<=) (Pos Zero)) (enforceWHNF (WHNF (primPlusInt (Neg Zero) (fromInt (Pos (Succ Zero))))) (numericEnumFrom (primPlusInt (Neg Zero) (fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];648 -> 708[label="",style="solid", color="black", weight=3]; 58.54/37.23 649[label="takeWhile (flip (<=) (Neg Zero)) (enforceWHNF (WHNF (primPlusInt (Neg Zero) (fromInt (Pos (Succ Zero))))) (numericEnumFrom (primPlusInt (Neg Zero) (fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];649 -> 709[label="",style="solid", color="black", weight=3]; 58.54/37.23 1132[label="range10 xu57 xu580",fontsize=16,color="black",shape="box"];1132 -> 1198[label="",style="solid", color="black", weight=3]; 58.54/37.23 1133[label="xu581",fontsize=16,color="green",shape="box"];654[label="(++) range00 LT (not (compare2 LT LT True == LT)) foldr (++) [] (map (range0 LT LT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];654 -> 713[label="",style="solid", color="black", weight=3]; 58.54/37.23 655[label="(++) range00 LT (not (compare2 LT EQ False == LT)) foldr (++) [] (map (range0 LT EQ) (EQ : GT : []))",fontsize=16,color="black",shape="box"];655 -> 714[label="",style="solid", color="black", weight=3]; 58.54/37.23 656[label="(++) range00 LT (not (compare2 LT GT False == LT)) foldr (++) [] (map (range0 LT GT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];656 -> 715[label="",style="solid", color="black", weight=3]; 58.54/37.23 657[label="(++) range00 LT (not (compare LT xu30 == LT)) foldr (++) [] (map (range0 EQ xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];657 -> 716[label="",style="solid", color="black", weight=3]; 58.54/37.23 658[label="(++) range00 LT (not (compare LT xu30 == LT)) foldr (++) [] (map (range0 GT xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];658 -> 717[label="",style="solid", color="black", weight=3]; 58.54/37.23 659[label="(++) range60 False (not (compare2 False False True == LT)) foldr (++) [] (map (range6 False False) (True : []))",fontsize=16,color="black",shape="box"];659 -> 718[label="",style="solid", color="black", weight=3]; 58.54/37.23 660[label="(++) range60 False (not (compare2 False True False == LT)) foldr (++) [] (map (range6 False True) (True : []))",fontsize=16,color="black",shape="box"];660 -> 719[label="",style="solid", color="black", weight=3]; 58.54/37.23 661[label="(++) range60 False (not (compare False xu30 == LT)) foldr (++) [] (map (range6 True xu30) (True : []))",fontsize=16,color="black",shape="box"];661 -> 720[label="",style="solid", color="black", weight=3]; 58.54/37.23 2612[label="xu2040",fontsize=16,color="green",shape="box"];2613[label="xu2030",fontsize=16,color="green",shape="box"];2614[label="takeWhile1 (flip (<=) (Integer (Pos (Succ xu201)))) (Integer (Pos (Succ xu202))) (numericEnumFrom $! Integer (Pos (Succ xu202)) + fromInt (Pos (Succ Zero))) (not True)",fontsize=16,color="black",shape="box"];2614 -> 2638[label="",style="solid", color="black", weight=3]; 58.54/37.23 2615[label="takeWhile1 (flip (<=) (Integer (Pos (Succ xu201)))) (Integer (Pos (Succ xu202))) (numericEnumFrom $! Integer (Pos (Succ xu202)) + fromInt (Pos (Succ Zero))) (not False)",fontsize=16,color="black",shape="triangle"];2615 -> 2639[label="",style="solid", color="black", weight=3]; 58.54/37.23 2616 -> 2615[label="",style="dashed", color="red", weight=0]; 58.54/37.23 2616[label="takeWhile1 (flip (<=) (Integer (Pos (Succ xu201)))) (Integer (Pos (Succ xu202))) (numericEnumFrom $! Integer (Pos (Succ xu202)) + fromInt (Pos (Succ Zero))) (not False)",fontsize=16,color="magenta"];669[label="[]",fontsize=16,color="green",shape="box"];670[label="takeWhile (flip (<=) (Integer (Pos (Succ xu31000)))) (Integer (Pos Zero) + fromInt (Pos (Succ Zero)) `seq` numericEnumFrom (Integer (Pos Zero) + fromInt (Pos (Succ Zero))))",fontsize=16,color="black",shape="box"];670 -> 728[label="",style="solid", color="black", weight=3]; 58.54/37.23 671[label="takeWhile (flip (<=) (Integer (Pos Zero))) (enforceWHNF (WHNF (Integer (Pos Zero) + fromInt (Pos (Succ Zero)))) (numericEnumFrom (Integer (Pos Zero) + fromInt (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];671 -> 729[label="",style="solid", color="black", weight=3]; 58.54/37.23 672[label="takeWhile (flip (<=) (Integer (Neg Zero))) (enforceWHNF (WHNF (Integer (Pos Zero) + fromInt (Pos (Succ Zero)))) (numericEnumFrom (Integer (Pos Zero) + fromInt (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];672 -> 730[label="",style="solid", color="black", weight=3]; 58.54/37.23 673[label="takeWhile (flip (<=) (Integer (Pos xu3100))) (enforceWHNF (WHNF (Integer (Neg (Succ xu30000)) + Integer (Pos (Succ Zero)))) (numericEnumFrom (Integer (Neg (Succ xu30000)) + Integer (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];673 -> 731[label="",style="solid", color="black", weight=3]; 58.54/37.23 2631[label="xu2080",fontsize=16,color="green",shape="box"];2632[label="xu2090",fontsize=16,color="green",shape="box"];2633[label="takeWhile1 (flip (<=) (Integer (Neg (Succ xu206)))) (Integer (Neg (Succ xu207))) (numericEnumFrom $! Integer (Neg (Succ xu207)) + fromInt (Pos (Succ Zero))) (not True)",fontsize=16,color="black",shape="box"];2633 -> 2654[label="",style="solid", color="black", weight=3]; 58.54/37.23 2634[label="takeWhile1 (flip (<=) (Integer (Neg (Succ xu206)))) (Integer (Neg (Succ xu207))) (numericEnumFrom $! Integer (Neg (Succ xu207)) + fromInt (Pos (Succ Zero))) (not False)",fontsize=16,color="black",shape="triangle"];2634 -> 2655[label="",style="solid", color="black", weight=3]; 58.54/37.23 2635 -> 2634[label="",style="dashed", color="red", weight=0]; 58.54/37.23 2635[label="takeWhile1 (flip (<=) (Integer (Neg (Succ xu206)))) (Integer (Neg (Succ xu207))) (numericEnumFrom $! Integer (Neg (Succ xu207)) + fromInt (Pos (Succ Zero))) (not False)",fontsize=16,color="magenta"];681[label="takeWhile (flip (<=) (Integer (Neg Zero))) (Integer (Neg (Succ xu30000)) + fromInt (Pos (Succ Zero)) `seq` numericEnumFrom (Integer (Neg (Succ xu30000)) + fromInt (Pos (Succ Zero))))",fontsize=16,color="black",shape="box"];681 -> 739[label="",style="solid", color="black", weight=3]; 58.54/37.23 682[label="takeWhile (flip (<=) (Integer (Pos (Succ xu31000)))) (enforceWHNF (WHNF (Integer (Neg Zero) + fromInt (Pos (Succ Zero)))) (numericEnumFrom (Integer (Neg Zero) + fromInt (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];682 -> 740[label="",style="solid", color="black", weight=3]; 58.54/37.23 683[label="takeWhile (flip (<=) (Integer (Pos Zero))) (enforceWHNF (WHNF (Integer (Neg Zero) + fromInt (Pos (Succ Zero)))) (numericEnumFrom (Integer (Neg Zero) + fromInt (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];683 -> 741[label="",style="solid", color="black", weight=3]; 58.54/37.23 684[label="[]",fontsize=16,color="green",shape="box"];685[label="takeWhile (flip (<=) (Integer (Neg Zero))) (enforceWHNF (WHNF (Integer (Neg Zero) + fromInt (Pos (Succ Zero)))) (numericEnumFrom (Integer (Neg Zero) + fromInt (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];685 -> 742[label="",style="solid", color="black", weight=3]; 58.54/37.23 1195[label="concat (map (range5 xu132 xu142 xu131 xu141) (range (xu130,xu140)))",fontsize=16,color="black",shape="box"];1195 -> 1205[label="",style="solid", color="black", weight=3]; 58.54/37.23 1196[label="concat (map (range2 xu131 xu141) (range (xu130,xu140)))",fontsize=16,color="black",shape="box"];1196 -> 1206[label="",style="solid", color="black", weight=3]; 58.54/37.23 1197[label="concatMap (range3 xu50 xu530) (range (xu51,xu52))",fontsize=16,color="black",shape="box"];1197 -> 1207[label="",style="solid", color="black", weight=3]; 58.54/37.23 2377[label="takeWhile0 (flip (<=) (Pos (Succ xu167))) (Pos (Succ xu168)) (numericEnumFrom $! Pos (Succ xu168) + fromInt (Pos (Succ Zero))) otherwise",fontsize=16,color="black",shape="box"];2377 -> 2381[label="",style="solid", color="black", weight=3]; 58.54/37.23 2378[label="Pos (Succ xu168) : takeWhile (flip (<=) (Pos (Succ xu167))) (numericEnumFrom $! Pos (Succ xu168) + fromInt (Pos (Succ Zero)))",fontsize=16,color="green",shape="box"];2378 -> 2382[label="",style="dashed", color="green", weight=3]; 58.54/37.23 694[label="takeWhile (flip (<=) (Pos (Succ xu3100))) (enforceWHNF (WHNF (primPlusInt (Pos Zero) (fromInt (Pos (Succ Zero))))) (numericEnumFrom (primPlusInt (Pos Zero) (fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];694 -> 753[label="",style="solid", color="black", weight=3]; 58.54/37.23 695[label="takeWhile (flip (<=) (Pos Zero)) (enforceWHNF (WHNF (primPlusInt (Pos Zero) (Pos (Succ Zero)))) (numericEnumFrom (primPlusInt (Pos Zero) (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];695 -> 754[label="",style="solid", color="black", weight=3]; 58.54/37.23 696[label="takeWhile (flip (<=) (Neg Zero)) (enforceWHNF (WHNF (primPlusInt (Pos Zero) (Pos (Succ Zero)))) (numericEnumFrom (primPlusInt (Pos Zero) (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];696 -> 755[label="",style="solid", color="black", weight=3]; 58.54/37.23 697[label="takeWhile (flip (<=) (Pos xu310)) (enforceWHNF (WHNF (primMinusNat (Succ Zero) (Succ xu3000))) (numericEnumFrom (primMinusNat (Succ Zero) (Succ xu3000))))",fontsize=16,color="black",shape="box"];697 -> 756[label="",style="solid", color="black", weight=3]; 58.54/37.23 1322[label="primMinusNat Zero (Succ xu300000)",fontsize=16,color="black",shape="box"];1322 -> 1406[label="",style="solid", color="black", weight=3]; 58.54/37.23 1323[label="primMinusNat Zero Zero",fontsize=16,color="black",shape="box"];1323 -> 1407[label="",style="solid", color="black", weight=3]; 58.54/37.23 2636[label="takeWhile0 (flip (<=) (Neg (Succ xu195))) (Neg (Succ xu196)) (numericEnumFrom $! xu197) otherwise",fontsize=16,color="black",shape="box"];2636 -> 2656[label="",style="solid", color="black", weight=3]; 58.54/37.23 2637[label="Neg (Succ xu196) : takeWhile (flip (<=) (Neg (Succ xu195))) (numericEnumFrom $! xu197)",fontsize=16,color="green",shape="box"];2637 -> 2657[label="",style="dashed", color="green", weight=3]; 58.54/37.23 706[label="takeWhile (flip (<=) (Neg Zero)) (enforceWHNF (WHNF (primPlusInt (Neg (Succ xu3000)) (fromInt (Pos (Succ Zero))))) (numericEnumFrom (primPlusInt (Neg (Succ xu3000)) (fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];706 -> 767[label="",style="solid", color="black", weight=3]; 58.54/37.23 707[label="takeWhile (flip (<=) (Pos (Succ xu3100))) (enforceWHNF (WHNF (primPlusInt (Neg Zero) (Pos (Succ Zero)))) (numericEnumFrom (primPlusInt (Neg Zero) (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];707 -> 768[label="",style="solid", color="black", weight=3]; 58.54/37.23 708[label="takeWhile (flip (<=) (Pos Zero)) (enforceWHNF (WHNF (primPlusInt (Neg Zero) (Pos (Succ Zero)))) (numericEnumFrom (primPlusInt (Neg Zero) (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];708 -> 769[label="",style="solid", color="black", weight=3]; 58.54/37.23 709[label="takeWhile (flip (<=) (Neg Zero)) (enforceWHNF (WHNF (primPlusInt (Neg Zero) (Pos (Succ Zero)))) (numericEnumFrom (primPlusInt (Neg Zero) (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];709 -> 770[label="",style="solid", color="black", weight=3]; 58.54/37.23 1198[label="(xu57,xu580) : []",fontsize=16,color="green",shape="box"];713[label="(++) range00 LT (not (EQ == LT)) foldr (++) [] (map (range0 LT LT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];713 -> 800[label="",style="solid", color="black", weight=3]; 58.54/37.23 714[label="(++) range00 LT (not (compare1 LT EQ (LT <= EQ) == LT)) foldr (++) [] (map (range0 LT EQ) (EQ : GT : []))",fontsize=16,color="black",shape="box"];714 -> 801[label="",style="solid", color="black", weight=3]; 58.54/37.23 715[label="(++) range00 LT (not (compare1 LT GT (LT <= GT) == LT)) foldr (++) [] (map (range0 LT GT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];715 -> 802[label="",style="solid", color="black", weight=3]; 58.54/37.23 716[label="(++) range00 LT (not (compare3 LT xu30 == LT)) foldr (++) [] (map (range0 EQ xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];716 -> 803[label="",style="solid", color="black", weight=3]; 58.54/37.23 717[label="(++) range00 LT (not (compare3 LT xu30 == LT)) foldr (++) [] (map (range0 GT xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];717 -> 804[label="",style="solid", color="black", weight=3]; 58.54/37.23 718[label="(++) range60 False (not (EQ == LT)) foldr (++) [] (map (range6 False False) (True : []))",fontsize=16,color="black",shape="box"];718 -> 805[label="",style="solid", color="black", weight=3]; 58.54/37.23 719[label="(++) range60 False (not (compare1 False True (False <= True) == LT)) foldr (++) [] (map (range6 False True) (True : []))",fontsize=16,color="black",shape="box"];719 -> 806[label="",style="solid", color="black", weight=3]; 58.54/37.23 720[label="(++) range60 False (not (compare3 False xu30 == LT)) foldr (++) [] (map (range6 True xu30) (True : []))",fontsize=16,color="black",shape="box"];720 -> 807[label="",style="solid", color="black", weight=3]; 58.54/37.23 2638[label="takeWhile1 (flip (<=) (Integer (Pos (Succ xu201)))) (Integer (Pos (Succ xu202))) (numericEnumFrom $! Integer (Pos (Succ xu202)) + fromInt (Pos (Succ Zero))) False",fontsize=16,color="black",shape="box"];2638 -> 2658[label="",style="solid", color="black", weight=3]; 58.54/37.23 2639[label="takeWhile1 (flip (<=) (Integer (Pos (Succ xu201)))) (Integer (Pos (Succ xu202))) (numericEnumFrom $! Integer (Pos (Succ xu202)) + fromInt (Pos (Succ Zero))) True",fontsize=16,color="black",shape="box"];2639 -> 2659[label="",style="solid", color="black", weight=3]; 58.54/37.23 728[label="takeWhile (flip (<=) (Integer (Pos (Succ xu31000)))) (enforceWHNF (WHNF (Integer (Pos Zero) + fromInt (Pos (Succ Zero)))) (numericEnumFrom (Integer (Pos Zero) + fromInt (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];728 -> 816[label="",style="solid", color="black", weight=3]; 58.54/37.23 729[label="takeWhile (flip (<=) (Integer (Pos Zero))) (enforceWHNF (WHNF (Integer (Pos Zero) + Integer (Pos (Succ Zero)))) (numericEnumFrom (Integer (Pos Zero) + Integer (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];729 -> 817[label="",style="solid", color="black", weight=3]; 58.54/37.23 730[label="takeWhile (flip (<=) (Integer (Neg Zero))) (enforceWHNF (WHNF (Integer (Pos Zero) + Integer (Pos (Succ Zero)))) (numericEnumFrom (Integer (Pos Zero) + Integer (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];730 -> 818[label="",style="solid", color="black", weight=3]; 58.54/37.23 731[label="takeWhile (flip (<=) (Integer (Pos xu3100))) (enforceWHNF (WHNF (Integer (primPlusInt (Neg (Succ xu30000)) (Pos (Succ Zero))))) (numericEnumFrom (Integer (primPlusInt (Neg (Succ xu30000)) (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];731 -> 819[label="",style="solid", color="black", weight=3]; 58.54/37.23 2654[label="takeWhile1 (flip (<=) (Integer (Neg (Succ xu206)))) (Integer (Neg (Succ xu207))) (numericEnumFrom $! Integer (Neg (Succ xu207)) + fromInt (Pos (Succ Zero))) False",fontsize=16,color="black",shape="box"];2654 -> 2672[label="",style="solid", color="black", weight=3]; 58.54/37.23 2655[label="takeWhile1 (flip (<=) (Integer (Neg (Succ xu206)))) (Integer (Neg (Succ xu207))) (numericEnumFrom $! Integer (Neg (Succ xu207)) + fromInt (Pos (Succ Zero))) True",fontsize=16,color="black",shape="box"];2655 -> 2673[label="",style="solid", color="black", weight=3]; 58.54/37.23 739[label="takeWhile (flip (<=) (Integer (Neg Zero))) (enforceWHNF (WHNF (Integer (Neg (Succ xu30000)) + fromInt (Pos (Succ Zero)))) (numericEnumFrom (Integer (Neg (Succ xu30000)) + fromInt (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];739 -> 828[label="",style="solid", color="black", weight=3]; 58.54/37.23 740[label="takeWhile (flip (<=) (Integer (Pos (Succ xu31000)))) (enforceWHNF (WHNF (Integer (Neg Zero) + Integer (Pos (Succ Zero)))) (numericEnumFrom (Integer (Neg Zero) + Integer (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];740 -> 829[label="",style="solid", color="black", weight=3]; 58.54/37.23 741[label="takeWhile (flip (<=) (Integer (Pos Zero))) (enforceWHNF (WHNF (Integer (Neg Zero) + Integer (Pos (Succ Zero)))) (numericEnumFrom (Integer (Neg Zero) + Integer (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];741 -> 830[label="",style="solid", color="black", weight=3]; 58.54/37.23 742[label="takeWhile (flip (<=) (Integer (Neg Zero))) (enforceWHNF (WHNF (Integer (Neg Zero) + Integer (Pos (Succ Zero)))) (numericEnumFrom (Integer (Neg Zero) + Integer (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];742 -> 831[label="",style="solid", color="black", weight=3]; 58.54/37.23 1205 -> 80[label="",style="dashed", color="red", weight=0]; 58.54/37.23 1205[label="foldr (++) [] (map (range5 xu132 xu142 xu131 xu141) (range (xu130,xu140)))",fontsize=16,color="magenta"];1205 -> 1210[label="",style="dashed", color="magenta", weight=3]; 58.54/37.23 1205 -> 1211[label="",style="dashed", color="magenta", weight=3]; 58.54/37.23 1205 -> 1212[label="",style="dashed", color="magenta", weight=3]; 58.54/37.23 1205 -> 1213[label="",style="dashed", color="magenta", weight=3]; 58.54/37.23 1205 -> 1214[label="",style="dashed", color="magenta", weight=3]; 58.54/37.23 1206 -> 87[label="",style="dashed", color="red", weight=0]; 58.54/37.23 1206[label="foldr (++) [] (map (range2 xu131 xu141) (range (xu130,xu140)))",fontsize=16,color="magenta"];1206 -> 1215[label="",style="dashed", color="magenta", weight=3]; 58.54/37.23 1206 -> 1216[label="",style="dashed", color="magenta", weight=3]; 58.54/37.23 1206 -> 1217[label="",style="dashed", color="magenta", weight=3]; 58.54/37.23 1207[label="concat . map (range3 xu50 xu530)",fontsize=16,color="black",shape="box"];1207 -> 1218[label="",style="solid", color="black", weight=3]; 58.54/37.23 2381[label="takeWhile0 (flip (<=) (Pos (Succ xu167))) (Pos (Succ xu168)) (numericEnumFrom $! Pos (Succ xu168) + fromInt (Pos (Succ Zero))) True",fontsize=16,color="black",shape="box"];2381 -> 2385[label="",style="solid", color="black", weight=3]; 58.54/37.23 2382[label="takeWhile (flip (<=) (Pos (Succ xu167))) (numericEnumFrom $! Pos (Succ xu168) + fromInt (Pos (Succ Zero)))",fontsize=16,color="black",shape="box"];2382 -> 2386[label="",style="solid", color="black", weight=3]; 58.54/37.23 753[label="takeWhile (flip (<=) (Pos (Succ xu3100))) (enforceWHNF (WHNF (primPlusInt (Pos Zero) (Pos (Succ Zero)))) (numericEnumFrom (primPlusInt (Pos Zero) (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];753 -> 841[label="",style="solid", color="black", weight=3]; 58.54/37.23 754[label="takeWhile (flip (<=) (Pos Zero)) (enforceWHNF (WHNF (Pos (primPlusNat Zero (Succ Zero)))) (numericEnumFrom (Pos (primPlusNat Zero (Succ Zero)))))",fontsize=16,color="black",shape="box"];754 -> 842[label="",style="solid", color="black", weight=3]; 58.54/37.23 755[label="takeWhile (flip (<=) (Neg Zero)) (enforceWHNF (WHNF (Pos (primPlusNat Zero (Succ Zero)))) (numericEnumFrom (Pos (primPlusNat Zero (Succ Zero)))))",fontsize=16,color="black",shape="box"];755 -> 843[label="",style="solid", color="black", weight=3]; 58.54/37.23 756[label="takeWhile (flip (<=) (Pos xu310)) (enforceWHNF (WHNF (primMinusNat Zero xu3000)) (numericEnumFrom (primMinusNat Zero xu3000)))",fontsize=16,color="burlywood",shape="box"];3157[label="xu3000/Succ xu30000",fontsize=10,color="white",style="solid",shape="box"];756 -> 3157[label="",style="solid", color="burlywood", weight=9]; 58.54/37.23 3157 -> 844[label="",style="solid", color="burlywood", weight=3]; 58.54/37.23 3158[label="xu3000/Zero",fontsize=10,color="white",style="solid",shape="box"];756 -> 3158[label="",style="solid", color="burlywood", weight=9]; 58.54/37.23 3158 -> 845[label="",style="solid", color="burlywood", weight=3]; 58.54/37.23 1406[label="Neg (Succ xu300000)",fontsize=16,color="green",shape="box"];1407[label="Pos Zero",fontsize=16,color="green",shape="box"];2656[label="takeWhile0 (flip (<=) (Neg (Succ xu195))) (Neg (Succ xu196)) (numericEnumFrom $! xu197) True",fontsize=16,color="black",shape="box"];2656 -> 2674[label="",style="solid", color="black", weight=3]; 58.54/37.23 2657[label="takeWhile (flip (<=) (Neg (Succ xu195))) (numericEnumFrom $! xu197)",fontsize=16,color="black",shape="box"];2657 -> 2675[label="",style="solid", color="black", weight=3]; 58.54/37.23 767[label="takeWhile (flip (<=) (Neg Zero)) (enforceWHNF (WHNF (primPlusInt (Neg (Succ xu3000)) (Pos (Succ Zero)))) (numericEnumFrom (primPlusInt (Neg (Succ xu3000)) (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];767 -> 855[label="",style="solid", color="black", weight=3]; 58.54/37.23 768[label="takeWhile (flip (<=) (Pos (Succ xu3100))) (enforceWHNF (WHNF (primMinusNat (Succ Zero) Zero)) (numericEnumFrom (primMinusNat (Succ Zero) Zero)))",fontsize=16,color="black",shape="box"];768 -> 856[label="",style="solid", color="black", weight=3]; 58.54/37.23 769[label="takeWhile (flip (<=) (Pos Zero)) (enforceWHNF (WHNF (primMinusNat (Succ Zero) Zero)) (numericEnumFrom (primMinusNat (Succ Zero) Zero)))",fontsize=16,color="black",shape="box"];769 -> 857[label="",style="solid", color="black", weight=3]; 58.54/37.23 770[label="takeWhile (flip (<=) (Neg Zero)) (enforceWHNF (WHNF (primMinusNat (Succ Zero) Zero)) (numericEnumFrom (primMinusNat (Succ Zero) Zero)))",fontsize=16,color="black",shape="box"];770 -> 858[label="",style="solid", color="black", weight=3]; 58.54/37.23 800[label="(++) range00 LT (not False) foldr (++) [] (map (range0 LT LT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];800 -> 881[label="",style="solid", color="black", weight=3]; 58.54/37.23 801[label="(++) range00 LT (not (compare1 LT EQ True == LT)) foldr (++) [] (map (range0 LT EQ) (EQ : GT : []))",fontsize=16,color="black",shape="box"];801 -> 882[label="",style="solid", color="black", weight=3]; 58.54/37.23 802[label="(++) range00 LT (not (compare1 LT GT True == LT)) foldr (++) [] (map (range0 LT GT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];802 -> 883[label="",style="solid", color="black", weight=3]; 58.54/37.23 803[label="(++) range00 LT (not (compare2 LT xu30 (LT == xu30) == LT)) foldr (++) [] (map (range0 EQ xu30) (EQ : GT : []))",fontsize=16,color="burlywood",shape="box"];3159[label="xu30/LT",fontsize=10,color="white",style="solid",shape="box"];803 -> 3159[label="",style="solid", color="burlywood", weight=9]; 58.54/37.23 3159 -> 884[label="",style="solid", color="burlywood", weight=3]; 58.54/37.23 3160[label="xu30/EQ",fontsize=10,color="white",style="solid",shape="box"];803 -> 3160[label="",style="solid", color="burlywood", weight=9]; 58.54/37.23 3160 -> 885[label="",style="solid", color="burlywood", weight=3]; 58.54/37.23 3161[label="xu30/GT",fontsize=10,color="white",style="solid",shape="box"];803 -> 3161[label="",style="solid", color="burlywood", weight=9]; 58.54/37.23 3161 -> 886[label="",style="solid", color="burlywood", weight=3]; 58.54/37.23 804[label="(++) range00 LT (not (compare2 LT xu30 (LT == xu30) == LT)) foldr (++) [] (map (range0 GT xu30) (EQ : GT : []))",fontsize=16,color="burlywood",shape="box"];3162[label="xu30/LT",fontsize=10,color="white",style="solid",shape="box"];804 -> 3162[label="",style="solid", color="burlywood", weight=9]; 58.54/37.23 3162 -> 887[label="",style="solid", color="burlywood", weight=3]; 58.54/37.23 3163[label="xu30/EQ",fontsize=10,color="white",style="solid",shape="box"];804 -> 3163[label="",style="solid", color="burlywood", weight=9]; 58.54/37.23 3163 -> 888[label="",style="solid", color="burlywood", weight=3]; 58.54/37.23 3164[label="xu30/GT",fontsize=10,color="white",style="solid",shape="box"];804 -> 3164[label="",style="solid", color="burlywood", weight=9]; 58.54/37.23 3164 -> 889[label="",style="solid", color="burlywood", weight=3]; 58.54/37.23 805[label="(++) range60 False (not False) foldr (++) [] (map (range6 False False) (True : []))",fontsize=16,color="black",shape="box"];805 -> 890[label="",style="solid", color="black", weight=3]; 58.54/37.23 806[label="(++) range60 False (not (compare1 False True True == LT)) foldr (++) [] (map (range6 False True) (True : []))",fontsize=16,color="black",shape="box"];806 -> 891[label="",style="solid", color="black", weight=3]; 58.54/37.23 807[label="(++) range60 False (not (compare2 False xu30 (False == xu30) == LT)) foldr (++) [] (map (range6 True xu30) (True : []))",fontsize=16,color="burlywood",shape="box"];3165[label="xu30/False",fontsize=10,color="white",style="solid",shape="box"];807 -> 3165[label="",style="solid", color="burlywood", weight=9]; 58.54/37.23 3165 -> 892[label="",style="solid", color="burlywood", weight=3]; 58.54/37.23 3166[label="xu30/True",fontsize=10,color="white",style="solid",shape="box"];807 -> 3166[label="",style="solid", color="burlywood", weight=9]; 58.54/37.23 3166 -> 893[label="",style="solid", color="burlywood", weight=3]; 58.54/37.23 2658[label="takeWhile0 (flip (<=) (Integer (Pos (Succ xu201)))) (Integer (Pos (Succ xu202))) (numericEnumFrom $! Integer (Pos (Succ xu202)) + fromInt (Pos (Succ Zero))) otherwise",fontsize=16,color="black",shape="box"];2658 -> 2676[label="",style="solid", color="black", weight=3]; 58.54/37.23 2659[label="Integer (Pos (Succ xu202)) : takeWhile (flip (<=) (Integer (Pos (Succ xu201)))) (numericEnumFrom $! Integer (Pos (Succ xu202)) + fromInt (Pos (Succ Zero)))",fontsize=16,color="green",shape="box"];2659 -> 2677[label="",style="dashed", color="green", weight=3]; 58.54/37.23 816[label="takeWhile (flip (<=) (Integer (Pos (Succ xu31000)))) (enforceWHNF (WHNF (Integer (Pos Zero) + Integer (Pos (Succ Zero)))) (numericEnumFrom (Integer (Pos Zero) + Integer (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];816 -> 904[label="",style="solid", color="black", weight=3]; 58.54/37.23 817[label="takeWhile (flip (<=) (Integer (Pos Zero))) (enforceWHNF (WHNF (Integer (primPlusInt (Pos Zero) (Pos (Succ Zero))))) (numericEnumFrom (Integer (primPlusInt (Pos Zero) (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];817 -> 905[label="",style="solid", color="black", weight=3]; 58.54/37.23 818[label="takeWhile (flip (<=) (Integer (Neg Zero))) (enforceWHNF (WHNF (Integer (primPlusInt (Pos Zero) (Pos (Succ Zero))))) (numericEnumFrom (Integer (primPlusInt (Pos Zero) (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];818 -> 906[label="",style="solid", color="black", weight=3]; 58.54/37.23 819 -> 41[label="",style="dashed", color="red", weight=0]; 58.54/37.23 819[label="takeWhile (flip (<=) (Integer (Pos xu3100))) (numericEnumFrom (Integer (primPlusInt (Neg (Succ xu30000)) (Pos (Succ Zero)))))",fontsize=16,color="magenta"];819 -> 907[label="",style="dashed", color="magenta", weight=3]; 58.54/37.23 819 -> 908[label="",style="dashed", color="magenta", weight=3]; 58.54/37.24 2672[label="takeWhile0 (flip (<=) (Integer (Neg (Succ xu206)))) (Integer (Neg (Succ xu207))) (numericEnumFrom $! Integer (Neg (Succ xu207)) + fromInt (Pos (Succ Zero))) otherwise",fontsize=16,color="black",shape="box"];2672 -> 2690[label="",style="solid", color="black", weight=3]; 58.54/37.24 2673[label="Integer (Neg (Succ xu207)) : takeWhile (flip (<=) (Integer (Neg (Succ xu206)))) (numericEnumFrom $! Integer (Neg (Succ xu207)) + fromInt (Pos (Succ Zero)))",fontsize=16,color="green",shape="box"];2673 -> 2691[label="",style="dashed", color="green", weight=3]; 58.54/37.24 828[label="takeWhile (flip (<=) (Integer (Neg Zero))) (enforceWHNF (WHNF (Integer (Neg (Succ xu30000)) + Integer (Pos (Succ Zero)))) (numericEnumFrom (Integer (Neg (Succ xu30000)) + Integer (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];828 -> 919[label="",style="solid", color="black", weight=3]; 58.54/37.24 829[label="takeWhile (flip (<=) (Integer (Pos (Succ xu31000)))) (enforceWHNF (WHNF (Integer (primPlusInt (Neg Zero) (Pos (Succ Zero))))) (numericEnumFrom (Integer (primPlusInt (Neg Zero) (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];829 -> 920[label="",style="solid", color="black", weight=3]; 58.54/37.24 830[label="takeWhile (flip (<=) (Integer (Pos Zero))) (enforceWHNF (WHNF (Integer (primPlusInt (Neg Zero) (Pos (Succ Zero))))) (numericEnumFrom (Integer (primPlusInt (Neg Zero) (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];830 -> 921[label="",style="solid", color="black", weight=3]; 58.54/37.24 831[label="takeWhile (flip (<=) (Integer (Neg Zero))) (enforceWHNF (WHNF (Integer (primPlusInt (Neg Zero) (Pos (Succ Zero))))) (numericEnumFrom (Integer (primPlusInt (Neg Zero) (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];831 -> 922[label="",style="solid", color="black", weight=3]; 58.54/37.24 1210[label="xu131",fontsize=16,color="green",shape="box"];1211[label="xu141",fontsize=16,color="green",shape="box"];1212[label="range (xu130,xu140)",fontsize=16,color="blue",shape="box"];3167[label="range :: ((@2) () ()) -> [] ()",fontsize=10,color="white",style="solid",shape="box"];1212 -> 3167[label="",style="solid", color="blue", weight=9]; 58.54/37.24 3167 -> 1221[label="",style="solid", color="blue", weight=3]; 58.54/37.24 3168[label="range :: ((@2) Ordering Ordering) -> [] Ordering",fontsize=10,color="white",style="solid",shape="box"];1212 -> 3168[label="",style="solid", color="blue", weight=9]; 58.54/37.24 3168 -> 1222[label="",style="solid", color="blue", weight=3]; 58.54/37.24 3169[label="range :: ((@2) Char Char) -> [] Char",fontsize=10,color="white",style="solid",shape="box"];1212 -> 3169[label="",style="solid", color="blue", weight=9]; 58.54/37.24 3169 -> 1223[label="",style="solid", color="blue", weight=3]; 58.54/37.24 3170[label="range :: ((@2) Bool Bool) -> [] Bool",fontsize=10,color="white",style="solid",shape="box"];1212 -> 3170[label="",style="solid", color="blue", weight=9]; 58.54/37.24 3170 -> 1224[label="",style="solid", color="blue", weight=3]; 58.54/37.24 3171[label="range :: ((@2) Integer Integer) -> [] Integer",fontsize=10,color="white",style="solid",shape="box"];1212 -> 3171[label="",style="solid", color="blue", weight=9]; 58.54/37.24 3171 -> 1225[label="",style="solid", color="blue", weight=3]; 58.54/37.24 3172[label="range :: ((@2) ((@3) a b c) ((@3) a b c)) -> [] ((@3) a b c)",fontsize=10,color="white",style="solid",shape="box"];1212 -> 3172[label="",style="solid", color="blue", weight=9]; 58.54/37.24 3172 -> 1226[label="",style="solid", color="blue", weight=3]; 58.54/37.24 3173[label="range :: ((@2) Int Int) -> [] Int",fontsize=10,color="white",style="solid",shape="box"];1212 -> 3173[label="",style="solid", color="blue", weight=9]; 58.54/37.24 3173 -> 1227[label="",style="solid", color="blue", weight=3]; 58.54/37.24 3174[label="range :: ((@2) ((@2) a b) ((@2) a b)) -> [] ((@2) a b)",fontsize=10,color="white",style="solid",shape="box"];1212 -> 3174[label="",style="solid", color="blue", weight=9]; 58.54/37.24 3174 -> 1228[label="",style="solid", color="blue", weight=3]; 58.54/37.24 1213[label="xu132",fontsize=16,color="green",shape="box"];1214[label="xu142",fontsize=16,color="green",shape="box"];1215[label="range (xu130,xu140)",fontsize=16,color="blue",shape="box"];3175[label="range :: ((@2) () ()) -> [] ()",fontsize=10,color="white",style="solid",shape="box"];1215 -> 3175[label="",style="solid", color="blue", weight=9]; 58.54/37.24 3175 -> 1229[label="",style="solid", color="blue", weight=3]; 58.54/37.24 3176[label="range :: ((@2) Ordering Ordering) -> [] Ordering",fontsize=10,color="white",style="solid",shape="box"];1215 -> 3176[label="",style="solid", color="blue", weight=9]; 58.54/37.24 3176 -> 1230[label="",style="solid", color="blue", weight=3]; 58.54/37.24 3177[label="range :: ((@2) Char Char) -> [] Char",fontsize=10,color="white",style="solid",shape="box"];1215 -> 3177[label="",style="solid", color="blue", weight=9]; 58.54/37.24 3177 -> 1231[label="",style="solid", color="blue", weight=3]; 58.54/37.24 3178[label="range :: ((@2) Bool Bool) -> [] Bool",fontsize=10,color="white",style="solid",shape="box"];1215 -> 3178[label="",style="solid", color="blue", weight=9]; 58.54/37.24 3178 -> 1232[label="",style="solid", color="blue", weight=3]; 58.54/37.24 3179[label="range :: ((@2) Integer Integer) -> [] Integer",fontsize=10,color="white",style="solid",shape="box"];1215 -> 3179[label="",style="solid", color="blue", weight=9]; 58.54/37.24 3179 -> 1233[label="",style="solid", color="blue", weight=3]; 58.54/37.24 3180[label="range :: ((@2) ((@3) a b c) ((@3) a b c)) -> [] ((@3) a b c)",fontsize=10,color="white",style="solid",shape="box"];1215 -> 3180[label="",style="solid", color="blue", weight=9]; 58.54/37.24 3180 -> 1234[label="",style="solid", color="blue", weight=3]; 58.54/37.24 3181[label="range :: ((@2) Int Int) -> [] Int",fontsize=10,color="white",style="solid",shape="box"];1215 -> 3181[label="",style="solid", color="blue", weight=9]; 58.54/37.24 3181 -> 1235[label="",style="solid", color="blue", weight=3]; 58.54/37.24 3182[label="range :: ((@2) ((@2) a b) ((@2) a b)) -> [] ((@2) a b)",fontsize=10,color="white",style="solid",shape="box"];1215 -> 3182[label="",style="solid", color="blue", weight=9]; 58.54/37.24 3182 -> 1236[label="",style="solid", color="blue", weight=3]; 58.54/37.24 1216[label="xu131",fontsize=16,color="green",shape="box"];1217[label="xu141",fontsize=16,color="green",shape="box"];1218[label="concat (map (range3 xu50 xu530) (range (xu51,xu52)))",fontsize=16,color="black",shape="box"];1218 -> 1237[label="",style="solid", color="black", weight=3]; 58.54/37.24 2385[label="[]",fontsize=16,color="green",shape="box"];2386[label="takeWhile (flip (<=) (Pos (Succ xu167))) (Pos (Succ xu168) + fromInt (Pos (Succ Zero)) `seq` numericEnumFrom (Pos (Succ xu168) + fromInt (Pos (Succ Zero))))",fontsize=16,color="black",shape="box"];2386 -> 2450[label="",style="solid", color="black", weight=3]; 58.54/37.24 841[label="takeWhile (flip (<=) (Pos (Succ xu3100))) (enforceWHNF (WHNF (Pos (primPlusNat Zero (Succ Zero)))) (numericEnumFrom (Pos (primPlusNat Zero (Succ Zero)))))",fontsize=16,color="black",shape="box"];841 -> 933[label="",style="solid", color="black", weight=3]; 58.54/37.24 842 -> 43[label="",style="dashed", color="red", weight=0]; 58.54/37.24 842[label="takeWhile (flip (<=) (Pos Zero)) (numericEnumFrom (Pos (primPlusNat Zero (Succ Zero))))",fontsize=16,color="magenta"];842 -> 934[label="",style="dashed", color="magenta", weight=3]; 58.54/37.24 842 -> 935[label="",style="dashed", color="magenta", weight=3]; 58.54/37.24 843 -> 43[label="",style="dashed", color="red", weight=0]; 58.54/37.24 843[label="takeWhile (flip (<=) (Neg Zero)) (numericEnumFrom (Pos (primPlusNat Zero (Succ Zero))))",fontsize=16,color="magenta"];843 -> 936[label="",style="dashed", color="magenta", weight=3]; 58.54/37.24 843 -> 937[label="",style="dashed", color="magenta", weight=3]; 58.54/37.24 844[label="takeWhile (flip (<=) (Pos xu310)) (enforceWHNF (WHNF (primMinusNat Zero (Succ xu30000))) (numericEnumFrom (primMinusNat Zero (Succ xu30000))))",fontsize=16,color="black",shape="box"];844 -> 938[label="",style="solid", color="black", weight=3]; 58.54/37.24 845[label="takeWhile (flip (<=) (Pos xu310)) (enforceWHNF (WHNF (primMinusNat Zero Zero)) (numericEnumFrom (primMinusNat Zero Zero)))",fontsize=16,color="black",shape="box"];845 -> 939[label="",style="solid", color="black", weight=3]; 58.54/37.24 2674[label="[]",fontsize=16,color="green",shape="box"];2675[label="takeWhile (flip (<=) (Neg (Succ xu195))) (xu197 `seq` numericEnumFrom xu197)",fontsize=16,color="black",shape="box"];2675 -> 2692[label="",style="solid", color="black", weight=3]; 58.54/37.24 855[label="takeWhile (flip (<=) (Neg Zero)) (enforceWHNF (WHNF (primMinusNat (Succ Zero) (Succ xu3000))) (numericEnumFrom (primMinusNat (Succ Zero) (Succ xu3000))))",fontsize=16,color="black",shape="box"];855 -> 950[label="",style="solid", color="black", weight=3]; 58.54/37.24 856[label="takeWhile (flip (<=) (Pos (Succ xu3100))) (enforceWHNF (WHNF (Pos (Succ Zero))) (numericEnumFrom (Pos (Succ Zero))))",fontsize=16,color="black",shape="box"];856 -> 951[label="",style="solid", color="black", weight=3]; 58.54/37.24 857[label="takeWhile (flip (<=) (Pos Zero)) (enforceWHNF (WHNF (Pos (Succ Zero))) (numericEnumFrom (Pos (Succ Zero))))",fontsize=16,color="black",shape="box"];857 -> 952[label="",style="solid", color="black", weight=3]; 58.54/37.24 858[label="takeWhile (flip (<=) (Neg Zero)) (enforceWHNF (WHNF (Pos (Succ Zero))) (numericEnumFrom (Pos (Succ Zero))))",fontsize=16,color="black",shape="box"];858 -> 953[label="",style="solid", color="black", weight=3]; 58.54/37.24 881[label="(++) range00 LT True foldr (++) [] (map (range0 LT LT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];881 -> 958[label="",style="solid", color="black", weight=3]; 58.54/37.24 882[label="(++) range00 LT (not (LT == LT)) foldr (++) [] (map (range0 LT EQ) (EQ : GT : []))",fontsize=16,color="black",shape="box"];882 -> 959[label="",style="solid", color="black", weight=3]; 58.54/37.24 883[label="(++) range00 LT (not (LT == LT)) foldr (++) [] (map (range0 LT GT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];883 -> 960[label="",style="solid", color="black", weight=3]; 58.54/37.24 884[label="(++) range00 LT (not (compare2 LT LT (LT == LT) == LT)) foldr (++) [] (map (range0 EQ LT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];884 -> 961[label="",style="solid", color="black", weight=3]; 58.54/37.24 885[label="(++) range00 LT (not (compare2 LT EQ (LT == EQ) == LT)) foldr (++) [] (map (range0 EQ EQ) (EQ : GT : []))",fontsize=16,color="black",shape="box"];885 -> 962[label="",style="solid", color="black", weight=3]; 58.54/37.24 886[label="(++) range00 LT (not (compare2 LT GT (LT == GT) == LT)) foldr (++) [] (map (range0 EQ GT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];886 -> 963[label="",style="solid", color="black", weight=3]; 58.54/37.24 887[label="(++) range00 LT (not (compare2 LT LT (LT == LT) == LT)) foldr (++) [] (map (range0 GT LT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];887 -> 964[label="",style="solid", color="black", weight=3]; 58.54/37.24 888[label="(++) range00 LT (not (compare2 LT EQ (LT == EQ) == LT)) foldr (++) [] (map (range0 GT EQ) (EQ : GT : []))",fontsize=16,color="black",shape="box"];888 -> 965[label="",style="solid", color="black", weight=3]; 58.54/37.24 889[label="(++) range00 LT (not (compare2 LT GT (LT == GT) == LT)) foldr (++) [] (map (range0 GT GT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];889 -> 966[label="",style="solid", color="black", weight=3]; 58.54/37.24 890[label="(++) range60 False True foldr (++) [] (map (range6 False False) (True : []))",fontsize=16,color="black",shape="box"];890 -> 967[label="",style="solid", color="black", weight=3]; 58.54/37.24 891[label="(++) range60 False (not (LT == LT)) foldr (++) [] (map (range6 False True) (True : []))",fontsize=16,color="black",shape="box"];891 -> 968[label="",style="solid", color="black", weight=3]; 58.54/37.24 892[label="(++) range60 False (not (compare2 False False (False == False) == LT)) foldr (++) [] (map (range6 True False) (True : []))",fontsize=16,color="black",shape="box"];892 -> 969[label="",style="solid", color="black", weight=3]; 58.54/37.24 893[label="(++) range60 False (not (compare2 False True (False == True) == LT)) foldr (++) [] (map (range6 True True) (True : []))",fontsize=16,color="black",shape="box"];893 -> 970[label="",style="solid", color="black", weight=3]; 58.54/37.24 2676[label="takeWhile0 (flip (<=) (Integer (Pos (Succ xu201)))) (Integer (Pos (Succ xu202))) (numericEnumFrom $! Integer (Pos (Succ xu202)) + fromInt (Pos (Succ Zero))) True",fontsize=16,color="black",shape="box"];2676 -> 2693[label="",style="solid", color="black", weight=3]; 58.54/37.24 2677[label="takeWhile (flip (<=) (Integer (Pos (Succ xu201)))) (numericEnumFrom $! Integer (Pos (Succ xu202)) + fromInt (Pos (Succ Zero)))",fontsize=16,color="black",shape="box"];2677 -> 2694[label="",style="solid", color="black", weight=3]; 58.54/37.24 904[label="takeWhile (flip (<=) (Integer (Pos (Succ xu31000)))) (enforceWHNF (WHNF (Integer (primPlusInt (Pos Zero) (Pos (Succ Zero))))) (numericEnumFrom (Integer (primPlusInt (Pos Zero) (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];904 -> 980[label="",style="solid", color="black", weight=3]; 58.54/37.24 905 -> 41[label="",style="dashed", color="red", weight=0]; 58.54/37.24 905[label="takeWhile (flip (<=) (Integer (Pos Zero))) (numericEnumFrom (Integer (primPlusInt (Pos Zero) (Pos (Succ Zero)))))",fontsize=16,color="magenta"];905 -> 981[label="",style="dashed", color="magenta", weight=3]; 58.54/37.24 905 -> 982[label="",style="dashed", color="magenta", weight=3]; 58.54/37.24 906 -> 41[label="",style="dashed", color="red", weight=0]; 58.54/37.24 906[label="takeWhile (flip (<=) (Integer (Neg Zero))) (numericEnumFrom (Integer (primPlusInt (Pos Zero) (Pos (Succ Zero)))))",fontsize=16,color="magenta"];906 -> 983[label="",style="dashed", color="magenta", weight=3]; 58.54/37.24 906 -> 984[label="",style="dashed", color="magenta", weight=3]; 58.54/37.24 907[label="Integer (primPlusInt (Neg (Succ xu30000)) (Pos (Succ Zero)))",fontsize=16,color="green",shape="box"];907 -> 985[label="",style="dashed", color="green", weight=3]; 58.54/37.24 908[label="Integer (Pos xu3100)",fontsize=16,color="green",shape="box"];2690[label="takeWhile0 (flip (<=) (Integer (Neg (Succ xu206)))) (Integer (Neg (Succ xu207))) (numericEnumFrom $! Integer (Neg (Succ xu207)) + fromInt (Pos (Succ Zero))) True",fontsize=16,color="black",shape="box"];2690 -> 2707[label="",style="solid", color="black", weight=3]; 58.54/37.24 2691[label="takeWhile (flip (<=) (Integer (Neg (Succ xu206)))) (numericEnumFrom $! Integer (Neg (Succ xu207)) + fromInt (Pos (Succ Zero)))",fontsize=16,color="black",shape="box"];2691 -> 2708[label="",style="solid", color="black", weight=3]; 58.54/37.24 919[label="takeWhile (flip (<=) (Integer (Neg Zero))) (enforceWHNF (WHNF (Integer (primPlusInt (Neg (Succ xu30000)) (Pos (Succ Zero))))) (numericEnumFrom (Integer (primPlusInt (Neg (Succ xu30000)) (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];919 -> 995[label="",style="solid", color="black", weight=3]; 58.54/37.24 920 -> 41[label="",style="dashed", color="red", weight=0]; 58.54/37.24 920[label="takeWhile (flip (<=) (Integer (Pos (Succ xu31000)))) (numericEnumFrom (Integer (primPlusInt (Neg Zero) (Pos (Succ Zero)))))",fontsize=16,color="magenta"];920 -> 996[label="",style="dashed", color="magenta", weight=3]; 58.54/37.24 920 -> 997[label="",style="dashed", color="magenta", weight=3]; 58.54/37.24 921 -> 41[label="",style="dashed", color="red", weight=0]; 58.54/37.24 921[label="takeWhile (flip (<=) (Integer (Pos Zero))) (numericEnumFrom (Integer (primPlusInt (Neg Zero) (Pos (Succ Zero)))))",fontsize=16,color="magenta"];921 -> 998[label="",style="dashed", color="magenta", weight=3]; 58.54/37.24 921 -> 999[label="",style="dashed", color="magenta", weight=3]; 58.54/37.24 922 -> 41[label="",style="dashed", color="red", weight=0]; 58.54/37.24 922[label="takeWhile (flip (<=) (Integer (Neg Zero))) (numericEnumFrom (Integer (primPlusInt (Neg Zero) (Pos (Succ Zero)))))",fontsize=16,color="magenta"];922 -> 1000[label="",style="dashed", color="magenta", weight=3]; 58.54/37.24 922 -> 1001[label="",style="dashed", color="magenta", weight=3]; 58.54/37.24 1221 -> 4[label="",style="dashed", color="red", weight=0]; 58.54/37.24 1221[label="range (xu130,xu140)",fontsize=16,color="magenta"];1221 -> 1240[label="",style="dashed", color="magenta", weight=3]; 58.54/37.24 1222 -> 5[label="",style="dashed", color="red", weight=0]; 58.54/37.24 1222[label="range (xu130,xu140)",fontsize=16,color="magenta"];1222 -> 1241[label="",style="dashed", color="magenta", weight=3]; 58.54/37.24 1223 -> 6[label="",style="dashed", color="red", weight=0]; 58.54/37.24 1223[label="range (xu130,xu140)",fontsize=16,color="magenta"];1223 -> 1242[label="",style="dashed", color="magenta", weight=3]; 58.54/37.24 1224 -> 7[label="",style="dashed", color="red", weight=0]; 58.54/37.24 1224[label="range (xu130,xu140)",fontsize=16,color="magenta"];1224 -> 1243[label="",style="dashed", color="magenta", weight=3]; 58.54/37.24 1225 -> 8[label="",style="dashed", color="red", weight=0]; 58.54/37.24 1225[label="range (xu130,xu140)",fontsize=16,color="magenta"];1225 -> 1244[label="",style="dashed", color="magenta", weight=3]; 58.54/37.24 1226 -> 785[label="",style="dashed", color="red", weight=0]; 58.54/37.24 1226[label="range (xu130,xu140)",fontsize=16,color="magenta"];1226 -> 1245[label="",style="dashed", color="magenta", weight=3]; 58.54/37.24 1226 -> 1246[label="",style="dashed", color="magenta", weight=3]; 58.54/37.24 1227 -> 10[label="",style="dashed", color="red", weight=0]; 58.54/37.24 1227[label="range (xu130,xu140)",fontsize=16,color="magenta"];1227 -> 1247[label="",style="dashed", color="magenta", weight=3]; 58.54/37.24 1228 -> 787[label="",style="dashed", color="red", weight=0]; 58.54/37.24 1228[label="range (xu130,xu140)",fontsize=16,color="magenta"];1228 -> 1248[label="",style="dashed", color="magenta", weight=3]; 58.54/37.24 1228 -> 1249[label="",style="dashed", color="magenta", weight=3]; 58.54/37.24 1229 -> 4[label="",style="dashed", color="red", weight=0]; 58.54/37.24 1229[label="range (xu130,xu140)",fontsize=16,color="magenta"];1229 -> 1250[label="",style="dashed", color="magenta", weight=3]; 58.54/37.24 1230 -> 5[label="",style="dashed", color="red", weight=0]; 58.54/37.24 1230[label="range (xu130,xu140)",fontsize=16,color="magenta"];1230 -> 1251[label="",style="dashed", color="magenta", weight=3]; 58.54/37.24 1231 -> 6[label="",style="dashed", color="red", weight=0]; 58.54/37.24 1231[label="range (xu130,xu140)",fontsize=16,color="magenta"];1231 -> 1252[label="",style="dashed", color="magenta", weight=3]; 58.54/37.24 1232 -> 7[label="",style="dashed", color="red", weight=0]; 58.54/37.24 1232[label="range (xu130,xu140)",fontsize=16,color="magenta"];1232 -> 1253[label="",style="dashed", color="magenta", weight=3]; 58.54/37.24 1233 -> 8[label="",style="dashed", color="red", weight=0]; 58.54/37.24 1233[label="range (xu130,xu140)",fontsize=16,color="magenta"];1233 -> 1254[label="",style="dashed", color="magenta", weight=3]; 58.54/37.24 1234 -> 785[label="",style="dashed", color="red", weight=0]; 58.54/37.24 1234[label="range (xu130,xu140)",fontsize=16,color="magenta"];1234 -> 1255[label="",style="dashed", color="magenta", weight=3]; 58.54/37.24 1234 -> 1256[label="",style="dashed", color="magenta", weight=3]; 58.54/37.24 1235 -> 10[label="",style="dashed", color="red", weight=0]; 58.54/37.24 1235[label="range (xu130,xu140)",fontsize=16,color="magenta"];1235 -> 1257[label="",style="dashed", color="magenta", weight=3]; 58.54/37.24 1236 -> 787[label="",style="dashed", color="red", weight=0]; 58.54/37.24 1236[label="range (xu130,xu140)",fontsize=16,color="magenta"];1236 -> 1258[label="",style="dashed", color="magenta", weight=3]; 58.54/37.24 1236 -> 1259[label="",style="dashed", color="magenta", weight=3]; 58.54/37.24 1237 -> 1260[label="",style="dashed", color="red", weight=0]; 58.54/37.24 1237[label="foldr (++) [] (map (range3 xu50 xu530) (range (xu51,xu52)))",fontsize=16,color="magenta"];1237 -> 1261[label="",style="dashed", color="magenta", weight=3]; 58.54/37.24 1237 -> 1262[label="",style="dashed", color="magenta", weight=3]; 58.54/37.24 1237 -> 1263[label="",style="dashed", color="magenta", weight=3]; 58.54/37.24 2450[label="takeWhile (flip (<=) (Pos (Succ xu167))) (enforceWHNF (WHNF (Pos (Succ xu168) + fromInt (Pos (Succ Zero)))) (numericEnumFrom (Pos (Succ xu168) + fromInt (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];2450 -> 2512[label="",style="solid", color="black", weight=3]; 58.54/37.24 933 -> 43[label="",style="dashed", color="red", weight=0]; 58.54/37.24 933[label="takeWhile (flip (<=) (Pos (Succ xu3100))) (numericEnumFrom (Pos (primPlusNat Zero (Succ Zero))))",fontsize=16,color="magenta"];933 -> 1014[label="",style="dashed", color="magenta", weight=3]; 58.54/37.24 933 -> 1015[label="",style="dashed", color="magenta", weight=3]; 58.54/37.24 934[label="Pos Zero",fontsize=16,color="green",shape="box"];935[label="Pos (primPlusNat Zero (Succ Zero))",fontsize=16,color="green",shape="box"];935 -> 1016[label="",style="dashed", color="green", weight=3]; 58.54/37.24 936[label="Neg Zero",fontsize=16,color="green",shape="box"];937[label="Pos (primPlusNat Zero (Succ Zero))",fontsize=16,color="green",shape="box"];937 -> 1017[label="",style="dashed", color="green", weight=3]; 58.54/37.24 938[label="takeWhile (flip (<=) (Pos xu310)) (enforceWHNF (WHNF (Neg (Succ xu30000))) (numericEnumFrom (Neg (Succ xu30000))))",fontsize=16,color="black",shape="box"];938 -> 1018[label="",style="solid", color="black", weight=3]; 58.54/37.24 939[label="takeWhile (flip (<=) (Pos xu310)) (enforceWHNF (WHNF (Pos Zero)) (numericEnumFrom (Pos Zero)))",fontsize=16,color="black",shape="box"];939 -> 1019[label="",style="solid", color="black", weight=3]; 58.54/37.24 2692[label="takeWhile (flip (<=) (Neg (Succ xu195))) (enforceWHNF (WHNF xu197) (numericEnumFrom xu197))",fontsize=16,color="black",shape="box"];2692 -> 2709[label="",style="solid", color="black", weight=3]; 58.54/37.24 950[label="takeWhile (flip (<=) (Neg Zero)) (enforceWHNF (WHNF (primMinusNat Zero xu3000)) (numericEnumFrom (primMinusNat Zero xu3000)))",fontsize=16,color="burlywood",shape="box"];3183[label="xu3000/Succ xu30000",fontsize=10,color="white",style="solid",shape="box"];950 -> 3183[label="",style="solid", color="burlywood", weight=9]; 58.54/37.24 3183 -> 1032[label="",style="solid", color="burlywood", weight=3]; 58.54/37.24 3184[label="xu3000/Zero",fontsize=10,color="white",style="solid",shape="box"];950 -> 3184[label="",style="solid", color="burlywood", weight=9]; 58.54/37.24 3184 -> 1033[label="",style="solid", color="burlywood", weight=3]; 58.54/37.24 951 -> 43[label="",style="dashed", color="red", weight=0]; 58.54/37.24 951[label="takeWhile (flip (<=) (Pos (Succ xu3100))) (numericEnumFrom (Pos (Succ Zero)))",fontsize=16,color="magenta"];951 -> 1034[label="",style="dashed", color="magenta", weight=3]; 58.54/37.24 951 -> 1035[label="",style="dashed", color="magenta", weight=3]; 58.54/37.24 952 -> 43[label="",style="dashed", color="red", weight=0]; 58.54/37.24 952[label="takeWhile (flip (<=) (Pos Zero)) (numericEnumFrom (Pos (Succ Zero)))",fontsize=16,color="magenta"];952 -> 1036[label="",style="dashed", color="magenta", weight=3]; 58.54/37.24 952 -> 1037[label="",style="dashed", color="magenta", weight=3]; 58.54/37.24 953 -> 43[label="",style="dashed", color="red", weight=0]; 58.54/37.24 953[label="takeWhile (flip (<=) (Neg Zero)) (numericEnumFrom (Pos (Succ Zero)))",fontsize=16,color="magenta"];953 -> 1038[label="",style="dashed", color="magenta", weight=3]; 58.54/37.24 953 -> 1039[label="",style="dashed", color="magenta", weight=3]; 58.54/37.24 958[label="(++) (LT : []) foldr (++) [] (map (range0 LT LT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];958 -> 1046[label="",style="solid", color="black", weight=3]; 58.54/37.24 959[label="(++) range00 LT (not True) foldr (++) [] (map (range0 LT EQ) (EQ : GT : []))",fontsize=16,color="black",shape="box"];959 -> 1047[label="",style="solid", color="black", weight=3]; 58.54/37.24 960[label="(++) range00 LT (not True) foldr (++) [] (map (range0 LT GT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];960 -> 1048[label="",style="solid", color="black", weight=3]; 58.54/37.24 961[label="(++) range00 LT (not (compare2 LT LT True == LT)) foldr (++) [] (map (range0 EQ LT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];961 -> 1049[label="",style="solid", color="black", weight=3]; 58.54/37.24 962[label="(++) range00 LT (not (compare2 LT EQ False == LT)) foldr (++) [] (map (range0 EQ EQ) (EQ : GT : []))",fontsize=16,color="black",shape="box"];962 -> 1050[label="",style="solid", color="black", weight=3]; 58.54/37.24 963[label="(++) range00 LT (not (compare2 LT GT False == LT)) foldr (++) [] (map (range0 EQ GT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];963 -> 1051[label="",style="solid", color="black", weight=3]; 58.54/37.24 964[label="(++) range00 LT (not (compare2 LT LT True == LT)) foldr (++) [] (map (range0 GT LT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];964 -> 1052[label="",style="solid", color="black", weight=3]; 58.54/37.24 965[label="(++) range00 LT (not (compare2 LT EQ False == LT)) foldr (++) [] (map (range0 GT EQ) (EQ : GT : []))",fontsize=16,color="black",shape="box"];965 -> 1053[label="",style="solid", color="black", weight=3]; 58.54/37.24 966[label="(++) range00 LT (not (compare2 LT GT False == LT)) foldr (++) [] (map (range0 GT GT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];966 -> 1054[label="",style="solid", color="black", weight=3]; 58.54/37.24 967[label="(++) (False : []) foldr (++) [] (map (range6 False False) (True : []))",fontsize=16,color="black",shape="box"];967 -> 1055[label="",style="solid", color="black", weight=3]; 58.54/37.24 968[label="(++) range60 False (not True) foldr (++) [] (map (range6 False True) (True : []))",fontsize=16,color="black",shape="box"];968 -> 1056[label="",style="solid", color="black", weight=3]; 58.54/37.24 969[label="(++) range60 False (not (compare2 False False True == LT)) foldr (++) [] (map (range6 True False) (True : []))",fontsize=16,color="black",shape="box"];969 -> 1057[label="",style="solid", color="black", weight=3]; 58.54/37.24 970[label="(++) range60 False (not (compare2 False True False == LT)) foldr (++) [] (map (range6 True True) (True : []))",fontsize=16,color="black",shape="box"];970 -> 1058[label="",style="solid", color="black", weight=3]; 58.54/37.24 2693[label="[]",fontsize=16,color="green",shape="box"];2694[label="takeWhile (flip (<=) (Integer (Pos (Succ xu201)))) (Integer (Pos (Succ xu202)) + fromInt (Pos (Succ Zero)) `seq` numericEnumFrom (Integer (Pos (Succ xu202)) + fromInt (Pos (Succ Zero))))",fontsize=16,color="black",shape="box"];2694 -> 2710[label="",style="solid", color="black", weight=3]; 58.54/37.24 980 -> 41[label="",style="dashed", color="red", weight=0]; 58.54/37.24 980[label="takeWhile (flip (<=) (Integer (Pos (Succ xu31000)))) (numericEnumFrom (Integer (primPlusInt (Pos Zero) (Pos (Succ Zero)))))",fontsize=16,color="magenta"];980 -> 1069[label="",style="dashed", color="magenta", weight=3]; 58.54/37.24 980 -> 1070[label="",style="dashed", color="magenta", weight=3]; 58.54/37.24 981[label="Integer (primPlusInt (Pos Zero) (Pos (Succ Zero)))",fontsize=16,color="green",shape="box"];981 -> 1071[label="",style="dashed", color="green", weight=3]; 58.54/37.24 982[label="Integer (Pos Zero)",fontsize=16,color="green",shape="box"];983[label="Integer (primPlusInt (Pos Zero) (Pos (Succ Zero)))",fontsize=16,color="green",shape="box"];983 -> 1072[label="",style="dashed", color="green", weight=3]; 58.54/37.24 984[label="Integer (Neg Zero)",fontsize=16,color="green",shape="box"];2707[label="[]",fontsize=16,color="green",shape="box"];2708[label="takeWhile (flip (<=) (Integer (Neg (Succ xu206)))) (Integer (Neg (Succ xu207)) + fromInt (Pos (Succ Zero)) `seq` numericEnumFrom (Integer (Neg (Succ xu207)) + fromInt (Pos (Succ Zero))))",fontsize=16,color="black",shape="box"];2708 -> 2724[label="",style="solid", color="black", weight=3]; 58.54/37.24 995 -> 41[label="",style="dashed", color="red", weight=0]; 58.54/37.24 995[label="takeWhile (flip (<=) (Integer (Neg Zero))) (numericEnumFrom (Integer (primPlusInt (Neg (Succ xu30000)) (Pos (Succ Zero)))))",fontsize=16,color="magenta"];995 -> 1084[label="",style="dashed", color="magenta", weight=3]; 58.54/37.24 995 -> 1085[label="",style="dashed", color="magenta", weight=3]; 58.54/37.24 996[label="Integer (primPlusInt (Neg Zero) (Pos (Succ Zero)))",fontsize=16,color="green",shape="box"];996 -> 1086[label="",style="dashed", color="green", weight=3]; 58.54/37.24 997[label="Integer (Pos (Succ xu31000))",fontsize=16,color="green",shape="box"];998[label="Integer (primPlusInt (Neg Zero) (Pos (Succ Zero)))",fontsize=16,color="green",shape="box"];998 -> 1087[label="",style="dashed", color="green", weight=3]; 58.54/37.24 999[label="Integer (Pos Zero)",fontsize=16,color="green",shape="box"];1000[label="Integer (primPlusInt (Neg Zero) (Pos (Succ Zero)))",fontsize=16,color="green",shape="box"];1000 -> 1088[label="",style="dashed", color="green", weight=3]; 58.54/37.24 1001[label="Integer (Neg Zero)",fontsize=16,color="green",shape="box"];1240[label="(xu130,xu140)",fontsize=16,color="green",shape="box"];1241[label="(xu130,xu140)",fontsize=16,color="green",shape="box"];1242[label="(xu130,xu140)",fontsize=16,color="green",shape="box"];1243[label="(xu130,xu140)",fontsize=16,color="green",shape="box"];1244[label="(xu130,xu140)",fontsize=16,color="green",shape="box"];1245[label="xu130",fontsize=16,color="green",shape="box"];1246[label="xu140",fontsize=16,color="green",shape="box"];1247[label="(xu130,xu140)",fontsize=16,color="green",shape="box"];1248[label="xu130",fontsize=16,color="green",shape="box"];1249[label="xu140",fontsize=16,color="green",shape="box"];1250[label="(xu130,xu140)",fontsize=16,color="green",shape="box"];1251[label="(xu130,xu140)",fontsize=16,color="green",shape="box"];1252[label="(xu130,xu140)",fontsize=16,color="green",shape="box"];1253[label="(xu130,xu140)",fontsize=16,color="green",shape="box"];1254[label="(xu130,xu140)",fontsize=16,color="green",shape="box"];1255[label="xu130",fontsize=16,color="green",shape="box"];1256[label="xu140",fontsize=16,color="green",shape="box"];1257[label="(xu130,xu140)",fontsize=16,color="green",shape="box"];1258[label="xu130",fontsize=16,color="green",shape="box"];1259[label="xu140",fontsize=16,color="green",shape="box"];1261[label="xu530",fontsize=16,color="green",shape="box"];1262[label="range (xu51,xu52)",fontsize=16,color="blue",shape="box"];3185[label="range :: ((@2) () ()) -> [] ()",fontsize=10,color="white",style="solid",shape="box"];1262 -> 3185[label="",style="solid", color="blue", weight=9]; 58.54/37.24 3185 -> 1264[label="",style="solid", color="blue", weight=3]; 58.54/37.24 3186[label="range :: ((@2) Ordering Ordering) -> [] Ordering",fontsize=10,color="white",style="solid",shape="box"];1262 -> 3186[label="",style="solid", color="blue", weight=9]; 58.54/37.24 3186 -> 1265[label="",style="solid", color="blue", weight=3]; 58.54/37.24 3187[label="range :: ((@2) Char Char) -> [] Char",fontsize=10,color="white",style="solid",shape="box"];1262 -> 3187[label="",style="solid", color="blue", weight=9]; 58.54/37.24 3187 -> 1266[label="",style="solid", color="blue", weight=3]; 58.54/37.24 3188[label="range :: ((@2) Bool Bool) -> [] Bool",fontsize=10,color="white",style="solid",shape="box"];1262 -> 3188[label="",style="solid", color="blue", weight=9]; 58.54/37.24 3188 -> 1267[label="",style="solid", color="blue", weight=3]; 58.54/37.24 3189[label="range :: ((@2) Integer Integer) -> [] Integer",fontsize=10,color="white",style="solid",shape="box"];1262 -> 3189[label="",style="solid", color="blue", weight=9]; 58.54/37.24 3189 -> 1268[label="",style="solid", color="blue", weight=3]; 58.54/37.24 3190[label="range :: ((@2) ((@3) a b c) ((@3) a b c)) -> [] ((@3) a b c)",fontsize=10,color="white",style="solid",shape="box"];1262 -> 3190[label="",style="solid", color="blue", weight=9]; 58.54/37.24 3190 -> 1269[label="",style="solid", color="blue", weight=3]; 58.54/37.24 3191[label="range :: ((@2) Int Int) -> [] Int",fontsize=10,color="white",style="solid",shape="box"];1262 -> 3191[label="",style="solid", color="blue", weight=9]; 58.54/37.24 3191 -> 1270[label="",style="solid", color="blue", weight=3]; 58.54/37.24 3192[label="range :: ((@2) ((@2) a b) ((@2) a b)) -> [] ((@2) a b)",fontsize=10,color="white",style="solid",shape="box"];1262 -> 3192[label="",style="solid", color="blue", weight=9]; 58.54/37.24 3192 -> 1271[label="",style="solid", color="blue", weight=3]; 58.54/37.24 1263[label="xu50",fontsize=16,color="green",shape="box"];1260[label="foldr (++) [] (map (range3 xu70 xu71) xu72)",fontsize=16,color="burlywood",shape="triangle"];3193[label="xu72/xu720 : xu721",fontsize=10,color="white",style="solid",shape="box"];1260 -> 3193[label="",style="solid", color="burlywood", weight=9]; 58.54/37.24 3193 -> 1272[label="",style="solid", color="burlywood", weight=3]; 58.54/37.24 3194[label="xu72/[]",fontsize=10,color="white",style="solid",shape="box"];1260 -> 3194[label="",style="solid", color="burlywood", weight=9]; 58.54/37.24 3194 -> 1273[label="",style="solid", color="burlywood", weight=3]; 58.54/37.24 2512[label="takeWhile (flip (<=) (Pos (Succ xu167))) (enforceWHNF (WHNF (primPlusInt (Pos (Succ xu168)) (fromInt (Pos (Succ Zero))))) (numericEnumFrom (primPlusInt (Pos (Succ xu168)) (fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];2512 -> 2565[label="",style="solid", color="black", weight=3]; 58.54/37.24 1014[label="Pos (Succ xu3100)",fontsize=16,color="green",shape="box"];1015[label="Pos (primPlusNat Zero (Succ Zero))",fontsize=16,color="green",shape="box"];1015 -> 1100[label="",style="dashed", color="green", weight=3]; 58.54/37.24 1016[label="primPlusNat Zero (Succ Zero)",fontsize=16,color="black",shape="triangle"];1016 -> 1101[label="",style="solid", color="black", weight=3]; 58.54/37.24 1017 -> 1016[label="",style="dashed", color="red", weight=0]; 58.54/37.24 1017[label="primPlusNat Zero (Succ Zero)",fontsize=16,color="magenta"];1018 -> 43[label="",style="dashed", color="red", weight=0]; 58.54/37.24 1018[label="takeWhile (flip (<=) (Pos xu310)) (numericEnumFrom (Neg (Succ xu30000)))",fontsize=16,color="magenta"];1018 -> 1102[label="",style="dashed", color="magenta", weight=3]; 58.54/37.24 1018 -> 1103[label="",style="dashed", color="magenta", weight=3]; 58.54/37.24 1019 -> 43[label="",style="dashed", color="red", weight=0]; 58.54/37.24 1019[label="takeWhile (flip (<=) (Pos xu310)) (numericEnumFrom (Pos Zero))",fontsize=16,color="magenta"];1019 -> 1104[label="",style="dashed", color="magenta", weight=3]; 58.54/37.24 1019 -> 1105[label="",style="dashed", color="magenta", weight=3]; 58.54/37.24 2709 -> 43[label="",style="dashed", color="red", weight=0]; 58.54/37.24 2709[label="takeWhile (flip (<=) (Neg (Succ xu195))) (numericEnumFrom xu197)",fontsize=16,color="magenta"];2709 -> 2725[label="",style="dashed", color="magenta", weight=3]; 58.54/37.24 2709 -> 2726[label="",style="dashed", color="magenta", weight=3]; 58.54/37.24 1032[label="takeWhile (flip (<=) (Neg Zero)) (enforceWHNF (WHNF (primMinusNat Zero (Succ xu30000))) (numericEnumFrom (primMinusNat Zero (Succ xu30000))))",fontsize=16,color="black",shape="box"];1032 -> 1137[label="",style="solid", color="black", weight=3]; 58.54/37.24 1033[label="takeWhile (flip (<=) (Neg Zero)) (enforceWHNF (WHNF (primMinusNat Zero Zero)) (numericEnumFrom (primMinusNat Zero Zero)))",fontsize=16,color="black",shape="box"];1033 -> 1138[label="",style="solid", color="black", weight=3]; 58.54/37.24 1034[label="Pos (Succ xu3100)",fontsize=16,color="green",shape="box"];1035[label="Pos (Succ Zero)",fontsize=16,color="green",shape="box"];1036[label="Pos Zero",fontsize=16,color="green",shape="box"];1037[label="Pos (Succ Zero)",fontsize=16,color="green",shape="box"];1038[label="Neg Zero",fontsize=16,color="green",shape="box"];1039[label="Pos (Succ Zero)",fontsize=16,color="green",shape="box"];1046[label="LT : [] ++ foldr (++) [] (map (range0 LT LT) (EQ : GT : []))",fontsize=16,color="green",shape="box"];1046 -> 1139[label="",style="dashed", color="green", weight=3]; 58.54/37.24 1047[label="(++) range00 LT False foldr (++) [] (map (range0 LT EQ) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1047 -> 1140[label="",style="solid", color="black", weight=3]; 58.54/37.24 1048[label="(++) range00 LT False foldr (++) [] (map (range0 LT GT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1048 -> 1141[label="",style="solid", color="black", weight=3]; 58.54/37.24 1049[label="(++) range00 LT (not (EQ == LT)) foldr (++) [] (map (range0 EQ LT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1049 -> 1142[label="",style="solid", color="black", weight=3]; 58.54/37.24 1050[label="(++) range00 LT (not (compare1 LT EQ (LT <= EQ) == LT)) foldr (++) [] (map (range0 EQ EQ) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1050 -> 1143[label="",style="solid", color="black", weight=3]; 58.54/37.24 1051[label="(++) range00 LT (not (compare1 LT GT (LT <= GT) == LT)) foldr (++) [] (map (range0 EQ GT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1051 -> 1144[label="",style="solid", color="black", weight=3]; 58.54/37.24 1052[label="(++) range00 LT (not (EQ == LT)) foldr (++) [] (map (range0 GT LT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1052 -> 1145[label="",style="solid", color="black", weight=3]; 58.54/37.24 1053[label="(++) range00 LT (not (compare1 LT EQ (LT <= EQ) == LT)) foldr (++) [] (map (range0 GT EQ) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1053 -> 1146[label="",style="solid", color="black", weight=3]; 58.54/37.24 1054[label="(++) range00 LT (not (compare1 LT GT (LT <= GT) == LT)) foldr (++) [] (map (range0 GT GT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1054 -> 1147[label="",style="solid", color="black", weight=3]; 58.54/37.24 1055[label="False : [] ++ foldr (++) [] (map (range6 False False) (True : []))",fontsize=16,color="green",shape="box"];1055 -> 1148[label="",style="dashed", color="green", weight=3]; 58.54/37.24 1056[label="(++) range60 False False foldr (++) [] (map (range6 False True) (True : []))",fontsize=16,color="black",shape="box"];1056 -> 1149[label="",style="solid", color="black", weight=3]; 58.54/37.24 1057[label="(++) range60 False (not (EQ == LT)) foldr (++) [] (map (range6 True False) (True : []))",fontsize=16,color="black",shape="box"];1057 -> 1150[label="",style="solid", color="black", weight=3]; 58.54/37.24 1058[label="(++) range60 False (not (compare1 False True (False <= True) == LT)) foldr (++) [] (map (range6 True True) (True : []))",fontsize=16,color="black",shape="box"];1058 -> 1151[label="",style="solid", color="black", weight=3]; 58.54/37.24 2710[label="takeWhile (flip (<=) (Integer (Pos (Succ xu201)))) (enforceWHNF (WHNF (Integer (Pos (Succ xu202)) + fromInt (Pos (Succ Zero)))) (numericEnumFrom (Integer (Pos (Succ xu202)) + fromInt (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];2710 -> 2727[label="",style="solid", color="black", weight=3]; 58.54/37.24 1069[label="Integer (primPlusInt (Pos Zero) (Pos (Succ Zero)))",fontsize=16,color="green",shape="box"];1069 -> 1164[label="",style="dashed", color="green", weight=3]; 58.54/37.24 1070[label="Integer (Pos (Succ xu31000))",fontsize=16,color="green",shape="box"];1071[label="primPlusInt (Pos Zero) (Pos (Succ Zero))",fontsize=16,color="black",shape="triangle"];1071 -> 1165[label="",style="solid", color="black", weight=3]; 58.54/37.24 1072 -> 1071[label="",style="dashed", color="red", weight=0]; 58.54/37.24 1072[label="primPlusInt (Pos Zero) (Pos (Succ Zero))",fontsize=16,color="magenta"];2724[label="takeWhile (flip (<=) (Integer (Neg (Succ xu206)))) (enforceWHNF (WHNF (Integer (Neg (Succ xu207)) + fromInt (Pos (Succ Zero)))) (numericEnumFrom (Integer (Neg (Succ xu207)) + fromInt (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];2724 -> 2741[label="",style="solid", color="black", weight=3]; 58.54/37.24 1084[label="Integer (primPlusInt (Neg (Succ xu30000)) (Pos (Succ Zero)))",fontsize=16,color="green",shape="box"];1084 -> 1179[label="",style="dashed", color="green", weight=3]; 58.54/37.24 1085[label="Integer (Neg Zero)",fontsize=16,color="green",shape="box"];1086[label="primPlusInt (Neg Zero) (Pos (Succ Zero))",fontsize=16,color="black",shape="triangle"];1086 -> 1180[label="",style="solid", color="black", weight=3]; 58.54/37.24 1087 -> 1086[label="",style="dashed", color="red", weight=0]; 58.54/37.24 1087[label="primPlusInt (Neg Zero) (Pos (Succ Zero))",fontsize=16,color="magenta"];1088 -> 1086[label="",style="dashed", color="red", weight=0]; 58.54/37.24 1088[label="primPlusInt (Neg Zero) (Pos (Succ Zero))",fontsize=16,color="magenta"];1264 -> 4[label="",style="dashed", color="red", weight=0]; 58.54/37.24 1264[label="range (xu51,xu52)",fontsize=16,color="magenta"];1264 -> 1281[label="",style="dashed", color="magenta", weight=3]; 58.54/37.24 1265 -> 5[label="",style="dashed", color="red", weight=0]; 58.54/37.24 1265[label="range (xu51,xu52)",fontsize=16,color="magenta"];1265 -> 1282[label="",style="dashed", color="magenta", weight=3]; 58.54/37.24 1266 -> 6[label="",style="dashed", color="red", weight=0]; 58.54/37.24 1266[label="range (xu51,xu52)",fontsize=16,color="magenta"];1266 -> 1283[label="",style="dashed", color="magenta", weight=3]; 58.54/37.24 1267 -> 7[label="",style="dashed", color="red", weight=0]; 58.54/37.24 1267[label="range (xu51,xu52)",fontsize=16,color="magenta"];1267 -> 1284[label="",style="dashed", color="magenta", weight=3]; 58.54/37.24 1268 -> 8[label="",style="dashed", color="red", weight=0]; 58.54/37.24 1268[label="range (xu51,xu52)",fontsize=16,color="magenta"];1268 -> 1285[label="",style="dashed", color="magenta", weight=3]; 58.54/37.24 1269 -> 785[label="",style="dashed", color="red", weight=0]; 58.54/37.24 1269[label="range (xu51,xu52)",fontsize=16,color="magenta"];1269 -> 1286[label="",style="dashed", color="magenta", weight=3]; 58.54/37.24 1269 -> 1287[label="",style="dashed", color="magenta", weight=3]; 58.54/37.24 1270 -> 10[label="",style="dashed", color="red", weight=0]; 58.54/37.24 1270[label="range (xu51,xu52)",fontsize=16,color="magenta"];1270 -> 1288[label="",style="dashed", color="magenta", weight=3]; 58.54/37.24 1271 -> 787[label="",style="dashed", color="red", weight=0]; 58.54/37.24 1271[label="range (xu51,xu52)",fontsize=16,color="magenta"];1271 -> 1289[label="",style="dashed", color="magenta", weight=3]; 58.54/37.24 1271 -> 1290[label="",style="dashed", color="magenta", weight=3]; 58.54/37.24 1272[label="foldr (++) [] (map (range3 xu70 xu71) (xu720 : xu721))",fontsize=16,color="black",shape="box"];1272 -> 1291[label="",style="solid", color="black", weight=3]; 58.54/37.24 1273[label="foldr (++) [] (map (range3 xu70 xu71) [])",fontsize=16,color="black",shape="box"];1273 -> 1292[label="",style="solid", color="black", weight=3]; 58.54/37.24 2565[label="takeWhile (flip (<=) (Pos (Succ xu167))) (enforceWHNF (WHNF (primPlusInt (Pos (Succ xu168)) (Pos (Succ Zero)))) (numericEnumFrom (primPlusInt (Pos (Succ xu168)) (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];2565 -> 2592[label="",style="solid", color="black", weight=3]; 58.54/37.24 1100 -> 1016[label="",style="dashed", color="red", weight=0]; 58.54/37.24 1100[label="primPlusNat Zero (Succ Zero)",fontsize=16,color="magenta"];1101[label="Succ Zero",fontsize=16,color="green",shape="box"];1102[label="Pos xu310",fontsize=16,color="green",shape="box"];1103[label="Neg (Succ xu30000)",fontsize=16,color="green",shape="box"];1104[label="Pos xu310",fontsize=16,color="green",shape="box"];1105[label="Pos Zero",fontsize=16,color="green",shape="box"];2725[label="Neg (Succ xu195)",fontsize=16,color="green",shape="box"];2726[label="xu197",fontsize=16,color="green",shape="box"];1137[label="takeWhile (flip (<=) (Neg Zero)) (enforceWHNF (WHNF (Neg (Succ xu30000))) (numericEnumFrom (Neg (Succ xu30000))))",fontsize=16,color="black",shape="box"];1137 -> 1295[label="",style="solid", color="black", weight=3]; 58.54/37.24 1138[label="takeWhile (flip (<=) (Neg Zero)) (enforceWHNF (WHNF (Pos Zero)) (numericEnumFrom (Pos Zero)))",fontsize=16,color="black",shape="box"];1138 -> 1296[label="",style="solid", color="black", weight=3]; 58.54/37.24 1139[label="[] ++ foldr (++) [] (map (range0 LT LT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1139 -> 1297[label="",style="solid", color="black", weight=3]; 58.54/37.24 1140[label="(++) [] foldr (++) [] (map (range0 LT EQ) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1140 -> 1298[label="",style="solid", color="black", weight=3]; 58.54/37.24 1141[label="(++) [] foldr (++) [] (map (range0 LT GT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1141 -> 1299[label="",style="solid", color="black", weight=3]; 58.54/37.24 1142[label="(++) range00 LT (not False) foldr (++) [] (map (range0 EQ LT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1142 -> 1300[label="",style="solid", color="black", weight=3]; 58.54/37.24 1143[label="(++) range00 LT (not (compare1 LT EQ True == LT)) foldr (++) [] (map (range0 EQ EQ) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1143 -> 1301[label="",style="solid", color="black", weight=3]; 58.54/37.24 1144[label="(++) range00 LT (not (compare1 LT GT True == LT)) foldr (++) [] (map (range0 EQ GT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1144 -> 1302[label="",style="solid", color="black", weight=3]; 58.54/37.24 1145[label="(++) range00 LT (not False) foldr (++) [] (map (range0 GT LT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1145 -> 1303[label="",style="solid", color="black", weight=3]; 58.54/37.24 1146[label="(++) range00 LT (not (compare1 LT EQ True == LT)) foldr (++) [] (map (range0 GT EQ) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1146 -> 1304[label="",style="solid", color="black", weight=3]; 58.54/37.24 1147[label="(++) range00 LT (not (compare1 LT GT True == LT)) foldr (++) [] (map (range0 GT GT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1147 -> 1305[label="",style="solid", color="black", weight=3]; 58.54/37.24 1148[label="[] ++ foldr (++) [] (map (range6 False False) (True : []))",fontsize=16,color="black",shape="box"];1148 -> 1306[label="",style="solid", color="black", weight=3]; 58.54/37.24 1149[label="(++) [] foldr (++) [] (map (range6 False True) (True : []))",fontsize=16,color="black",shape="box"];1149 -> 1307[label="",style="solid", color="black", weight=3]; 58.54/37.24 1150[label="(++) range60 False (not False) foldr (++) [] (map (range6 True False) (True : []))",fontsize=16,color="black",shape="box"];1150 -> 1308[label="",style="solid", color="black", weight=3]; 58.54/37.24 1151[label="(++) range60 False (not (compare1 False True True == LT)) foldr (++) [] (map (range6 True True) (True : []))",fontsize=16,color="black",shape="box"];1151 -> 1309[label="",style="solid", color="black", weight=3]; 58.54/37.24 2727[label="takeWhile (flip (<=) (Integer (Pos (Succ xu201)))) (enforceWHNF (WHNF (Integer (Pos (Succ xu202)) + Integer (Pos (Succ Zero)))) (numericEnumFrom (Integer (Pos (Succ xu202)) + Integer (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];2727 -> 2742[label="",style="solid", color="black", weight=3]; 58.54/37.24 1164 -> 1071[label="",style="dashed", color="red", weight=0]; 58.54/37.24 1164[label="primPlusInt (Pos Zero) (Pos (Succ Zero))",fontsize=16,color="magenta"];1165[label="Pos (primPlusNat Zero (Succ Zero))",fontsize=16,color="green",shape="box"];1165 -> 1321[label="",style="dashed", color="green", weight=3]; 58.54/37.24 2741[label="takeWhile (flip (<=) (Integer (Neg (Succ xu206)))) (enforceWHNF (WHNF (Integer (Neg (Succ xu207)) + Integer (Pos (Succ Zero)))) (numericEnumFrom (Integer (Neg (Succ xu207)) + Integer (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];2741 -> 2754[label="",style="solid", color="black", weight=3]; 58.54/37.24 1179 -> 985[label="",style="dashed", color="red", weight=0]; 58.54/37.24 1179[label="primPlusInt (Neg (Succ xu30000)) (Pos (Succ Zero))",fontsize=16,color="magenta"];1180[label="primMinusNat (Succ Zero) Zero",fontsize=16,color="black",shape="box"];1180 -> 1338[label="",style="solid", color="black", weight=3]; 58.54/37.24 1281[label="(xu51,xu52)",fontsize=16,color="green",shape="box"];1282[label="(xu51,xu52)",fontsize=16,color="green",shape="box"];1283[label="(xu51,xu52)",fontsize=16,color="green",shape="box"];1284[label="(xu51,xu52)",fontsize=16,color="green",shape="box"];1285[label="(xu51,xu52)",fontsize=16,color="green",shape="box"];1286[label="xu51",fontsize=16,color="green",shape="box"];1287[label="xu52",fontsize=16,color="green",shape="box"];1288[label="(xu51,xu52)",fontsize=16,color="green",shape="box"];1289[label="xu51",fontsize=16,color="green",shape="box"];1290[label="xu52",fontsize=16,color="green",shape="box"];1291[label="foldr (++) [] (range3 xu70 xu71 xu720 : map (range3 xu70 xu71) xu721)",fontsize=16,color="black",shape="box"];1291 -> 1339[label="",style="solid", color="black", weight=3]; 58.54/37.24 1292 -> 132[label="",style="dashed", color="red", weight=0]; 58.54/37.24 1292[label="foldr (++) [] []",fontsize=16,color="magenta"];2592[label="takeWhile (flip (<=) (Pos (Succ xu167))) (enforceWHNF (WHNF (Pos (primPlusNat (Succ xu168) (Succ Zero)))) (numericEnumFrom (Pos (primPlusNat (Succ xu168) (Succ Zero)))))",fontsize=16,color="black",shape="box"];2592 -> 2617[label="",style="solid", color="black", weight=3]; 58.54/37.24 1295 -> 43[label="",style="dashed", color="red", weight=0]; 58.54/37.24 1295[label="takeWhile (flip (<=) (Neg Zero)) (numericEnumFrom (Neg (Succ xu30000)))",fontsize=16,color="magenta"];1295 -> 1375[label="",style="dashed", color="magenta", weight=3]; 58.54/37.24 1295 -> 1376[label="",style="dashed", color="magenta", weight=3]; 58.54/37.24 1296 -> 43[label="",style="dashed", color="red", weight=0]; 58.54/37.24 1296[label="takeWhile (flip (<=) (Neg Zero)) (numericEnumFrom (Pos Zero))",fontsize=16,color="magenta"];1296 -> 1377[label="",style="dashed", color="magenta", weight=3]; 58.54/37.24 1296 -> 1378[label="",style="dashed", color="magenta", weight=3]; 58.54/37.24 1297[label="foldr (++) [] (map (range0 LT LT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1297 -> 1379[label="",style="solid", color="black", weight=3]; 58.54/37.24 1298[label="foldr (++) [] (map (range0 LT EQ) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1298 -> 1380[label="",style="solid", color="black", weight=3]; 58.54/37.24 1299[label="foldr (++) [] (map (range0 LT GT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1299 -> 1381[label="",style="solid", color="black", weight=3]; 58.54/37.24 1300[label="(++) range00 LT True foldr (++) [] (map (range0 EQ LT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1300 -> 1382[label="",style="solid", color="black", weight=3]; 58.54/37.24 1301[label="(++) range00 LT (not (LT == LT)) foldr (++) [] (map (range0 EQ EQ) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1301 -> 1383[label="",style="solid", color="black", weight=3]; 58.54/37.24 1302[label="(++) range00 LT (not (LT == LT)) foldr (++) [] (map (range0 EQ GT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1302 -> 1384[label="",style="solid", color="black", weight=3]; 58.54/37.24 1303[label="(++) range00 LT True foldr (++) [] (map (range0 GT LT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1303 -> 1385[label="",style="solid", color="black", weight=3]; 58.54/37.24 1304[label="(++) range00 LT (not (LT == LT)) foldr (++) [] (map (range0 GT EQ) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1304 -> 1386[label="",style="solid", color="black", weight=3]; 58.54/37.24 1305[label="(++) range00 LT (not (LT == LT)) foldr (++) [] (map (range0 GT GT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1305 -> 1387[label="",style="solid", color="black", weight=3]; 58.54/37.24 1306[label="foldr (++) [] (map (range6 False False) (True : []))",fontsize=16,color="black",shape="box"];1306 -> 1388[label="",style="solid", color="black", weight=3]; 58.54/37.24 1307[label="foldr (++) [] (map (range6 False True) (True : []))",fontsize=16,color="black",shape="box"];1307 -> 1389[label="",style="solid", color="black", weight=3]; 58.54/37.24 1308[label="(++) range60 False True foldr (++) [] (map (range6 True False) (True : []))",fontsize=16,color="black",shape="box"];1308 -> 1390[label="",style="solid", color="black", weight=3]; 58.54/37.24 1309[label="(++) range60 False (not (LT == LT)) foldr (++) [] (map (range6 True True) (True : []))",fontsize=16,color="black",shape="box"];1309 -> 1391[label="",style="solid", color="black", weight=3]; 58.54/37.24 2742[label="takeWhile (flip (<=) (Integer (Pos (Succ xu201)))) (enforceWHNF (WHNF (Integer (primPlusInt (Pos (Succ xu202)) (Pos (Succ Zero))))) (numericEnumFrom (Integer (primPlusInt (Pos (Succ xu202)) (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];2742 -> 2755[label="",style="solid", color="black", weight=3]; 58.54/37.24 1321 -> 1016[label="",style="dashed", color="red", weight=0]; 58.54/37.24 1321[label="primPlusNat Zero (Succ Zero)",fontsize=16,color="magenta"];2754 -> 2767[label="",style="dashed", color="red", weight=0]; 58.54/37.24 2754[label="takeWhile (flip (<=) (Integer (Neg (Succ xu206)))) (enforceWHNF (WHNF (Integer (primPlusInt (Neg (Succ xu207)) (Pos (Succ Zero))))) (numericEnumFrom (Integer (primPlusInt (Neg (Succ xu207)) (Pos (Succ Zero))))))",fontsize=16,color="magenta"];2754 -> 2768[label="",style="dashed", color="magenta", weight=3]; 58.54/37.24 2754 -> 2769[label="",style="dashed", color="magenta", weight=3]; 58.54/37.24 1338[label="Pos (Succ Zero)",fontsize=16,color="green",shape="box"];1339 -> 474[label="",style="dashed", color="red", weight=0]; 58.54/37.24 1339[label="(++) range3 xu70 xu71 xu720 foldr (++) [] (map (range3 xu70 xu71) xu721)",fontsize=16,color="magenta"];1339 -> 1423[label="",style="dashed", color="magenta", weight=3]; 58.54/37.24 1339 -> 1424[label="",style="dashed", color="magenta", weight=3]; 58.54/37.24 2617 -> 43[label="",style="dashed", color="red", weight=0]; 58.54/37.24 2617[label="takeWhile (flip (<=) (Pos (Succ xu167))) (numericEnumFrom (Pos (primPlusNat (Succ xu168) (Succ Zero))))",fontsize=16,color="magenta"];2617 -> 2640[label="",style="dashed", color="magenta", weight=3]; 58.54/37.24 2617 -> 2641[label="",style="dashed", color="magenta", weight=3]; 58.54/37.24 1375[label="Neg Zero",fontsize=16,color="green",shape="box"];1376[label="Neg (Succ xu30000)",fontsize=16,color="green",shape="box"];1377[label="Neg Zero",fontsize=16,color="green",shape="box"];1378[label="Pos Zero",fontsize=16,color="green",shape="box"];1379[label="foldr (++) [] (range0 LT LT EQ : map (range0 LT LT) (GT : []))",fontsize=16,color="black",shape="box"];1379 -> 1451[label="",style="solid", color="black", weight=3]; 58.54/37.24 1380[label="foldr (++) [] (range0 LT EQ EQ : map (range0 LT EQ) (GT : []))",fontsize=16,color="black",shape="box"];1380 -> 1452[label="",style="solid", color="black", weight=3]; 58.54/37.24 1381[label="foldr (++) [] (range0 LT GT EQ : map (range0 LT GT) (GT : []))",fontsize=16,color="black",shape="box"];1381 -> 1453[label="",style="solid", color="black", weight=3]; 58.54/37.24 1382[label="(++) (LT : []) foldr (++) [] (map (range0 EQ LT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1382 -> 1454[label="",style="solid", color="black", weight=3]; 58.54/37.24 1383[label="(++) range00 LT (not True) foldr (++) [] (map (range0 EQ EQ) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1383 -> 1455[label="",style="solid", color="black", weight=3]; 58.54/37.24 1384[label="(++) range00 LT (not True) foldr (++) [] (map (range0 EQ GT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1384 -> 1456[label="",style="solid", color="black", weight=3]; 58.54/37.24 1385[label="(++) (LT : []) foldr (++) [] (map (range0 GT LT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1385 -> 1457[label="",style="solid", color="black", weight=3]; 58.54/37.24 1386[label="(++) range00 LT (not True) foldr (++) [] (map (range0 GT EQ) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1386 -> 1458[label="",style="solid", color="black", weight=3]; 58.54/37.24 1387[label="(++) range00 LT (not True) foldr (++) [] (map (range0 GT GT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1387 -> 1459[label="",style="solid", color="black", weight=3]; 58.54/37.24 1388[label="foldr (++) [] (range6 False False True : map (range6 False False) [])",fontsize=16,color="black",shape="box"];1388 -> 1460[label="",style="solid", color="black", weight=3]; 58.54/37.24 1389[label="foldr (++) [] (range6 False True True : map (range6 False True) [])",fontsize=16,color="black",shape="box"];1389 -> 1461[label="",style="solid", color="black", weight=3]; 58.54/37.24 1390[label="(++) (False : []) foldr (++) [] (map (range6 True False) (True : []))",fontsize=16,color="black",shape="box"];1390 -> 1462[label="",style="solid", color="black", weight=3]; 58.54/37.24 1391[label="(++) range60 False (not True) foldr (++) [] (map (range6 True True) (True : []))",fontsize=16,color="black",shape="box"];1391 -> 1463[label="",style="solid", color="black", weight=3]; 58.54/37.24 2755 -> 41[label="",style="dashed", color="red", weight=0]; 58.54/37.24 2755[label="takeWhile (flip (<=) (Integer (Pos (Succ xu201)))) (numericEnumFrom (Integer (primPlusInt (Pos (Succ xu202)) (Pos (Succ Zero)))))",fontsize=16,color="magenta"];2755 -> 2770[label="",style="dashed", color="magenta", weight=3]; 58.54/37.24 2755 -> 2771[label="",style="dashed", color="magenta", weight=3]; 58.54/37.24 2768 -> 985[label="",style="dashed", color="red", weight=0]; 58.54/37.24 2768[label="primPlusInt (Neg (Succ xu207)) (Pos (Succ Zero))",fontsize=16,color="magenta"];2768 -> 2772[label="",style="dashed", color="magenta", weight=3]; 58.54/37.24 2769 -> 985[label="",style="dashed", color="red", weight=0]; 58.54/37.24 2769[label="primPlusInt (Neg (Succ xu207)) (Pos (Succ Zero))",fontsize=16,color="magenta"];2769 -> 2773[label="",style="dashed", color="magenta", weight=3]; 58.54/37.24 2767[label="takeWhile (flip (<=) (Integer (Neg (Succ xu206)))) (enforceWHNF (WHNF (Integer xu211)) (numericEnumFrom (Integer xu210)))",fontsize=16,color="black",shape="triangle"];2767 -> 2774[label="",style="solid", color="black", weight=3]; 58.54/37.24 1423[label="range3 xu70 xu71 xu720",fontsize=16,color="black",shape="box"];1423 -> 1492[label="",style="solid", color="black", weight=3]; 58.54/37.24 1424 -> 1260[label="",style="dashed", color="red", weight=0]; 58.54/37.24 1424[label="foldr (++) [] (map (range3 xu70 xu71) xu721)",fontsize=16,color="magenta"];1424 -> 1493[label="",style="dashed", color="magenta", weight=3]; 58.54/37.24 2640[label="Pos (Succ xu167)",fontsize=16,color="green",shape="box"];2641[label="Pos (primPlusNat (Succ xu168) (Succ Zero))",fontsize=16,color="green",shape="box"];2641 -> 2660[label="",style="dashed", color="green", weight=3]; 58.54/37.24 1451[label="(++) range0 LT LT EQ foldr (++) [] (map (range0 LT LT) (GT : []))",fontsize=16,color="black",shape="box"];1451 -> 1519[label="",style="solid", color="black", weight=3]; 58.54/37.24 1452[label="(++) range0 LT EQ EQ foldr (++) [] (map (range0 LT EQ) (GT : []))",fontsize=16,color="black",shape="box"];1452 -> 1520[label="",style="solid", color="black", weight=3]; 58.54/37.24 1453[label="(++) range0 LT GT EQ foldr (++) [] (map (range0 LT GT) (GT : []))",fontsize=16,color="black",shape="box"];1453 -> 1521[label="",style="solid", color="black", weight=3]; 58.54/37.24 1454[label="LT : [] ++ foldr (++) [] (map (range0 EQ LT) (EQ : GT : []))",fontsize=16,color="green",shape="box"];1454 -> 1522[label="",style="dashed", color="green", weight=3]; 58.54/37.24 1455[label="(++) range00 LT False foldr (++) [] (map (range0 EQ EQ) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1455 -> 1523[label="",style="solid", color="black", weight=3]; 58.54/37.24 1456[label="(++) range00 LT False foldr (++) [] (map (range0 EQ GT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1456 -> 1524[label="",style="solid", color="black", weight=3]; 58.54/37.24 1457[label="LT : [] ++ foldr (++) [] (map (range0 GT LT) (EQ : GT : []))",fontsize=16,color="green",shape="box"];1457 -> 1525[label="",style="dashed", color="green", weight=3]; 58.54/37.24 1458[label="(++) range00 LT False foldr (++) [] (map (range0 GT EQ) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1458 -> 1526[label="",style="solid", color="black", weight=3]; 58.54/37.24 1459[label="(++) range00 LT False foldr (++) [] (map (range0 GT GT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1459 -> 1527[label="",style="solid", color="black", weight=3]; 58.54/37.24 1460[label="(++) range6 False False True foldr (++) [] (map (range6 False False) [])",fontsize=16,color="black",shape="box"];1460 -> 1528[label="",style="solid", color="black", weight=3]; 58.54/37.24 1461[label="(++) range6 False True True foldr (++) [] (map (range6 False True) [])",fontsize=16,color="black",shape="box"];1461 -> 1529[label="",style="solid", color="black", weight=3]; 58.54/37.24 1462[label="False : [] ++ foldr (++) [] (map (range6 True False) (True : []))",fontsize=16,color="green",shape="box"];1462 -> 1530[label="",style="dashed", color="green", weight=3]; 58.54/37.24 1463[label="(++) range60 False False foldr (++) [] (map (range6 True True) (True : []))",fontsize=16,color="black",shape="box"];1463 -> 1531[label="",style="solid", color="black", weight=3]; 58.54/37.24 2770[label="Integer (primPlusInt (Pos (Succ xu202)) (Pos (Succ Zero)))",fontsize=16,color="green",shape="box"];2770 -> 2786[label="",style="dashed", color="green", weight=3]; 58.54/37.24 2771[label="Integer (Pos (Succ xu201))",fontsize=16,color="green",shape="box"];2772[label="xu207",fontsize=16,color="green",shape="box"];2773[label="xu207",fontsize=16,color="green",shape="box"];2774 -> 41[label="",style="dashed", color="red", weight=0]; 58.54/37.24 2774[label="takeWhile (flip (<=) (Integer (Neg (Succ xu206)))) (numericEnumFrom (Integer xu210))",fontsize=16,color="magenta"];2774 -> 2787[label="",style="dashed", color="magenta", weight=3]; 58.54/37.24 2774 -> 2788[label="",style="dashed", color="magenta", weight=3]; 58.54/37.24 1492[label="range30 xu70 xu71 xu720",fontsize=16,color="black",shape="box"];1492 -> 1558[label="",style="solid", color="black", weight=3]; 58.54/37.24 1493[label="xu721",fontsize=16,color="green",shape="box"];2660[label="primPlusNat (Succ xu168) (Succ Zero)",fontsize=16,color="black",shape="triangle"];2660 -> 2678[label="",style="solid", color="black", weight=3]; 58.54/37.24 1519[label="(++) range00 EQ (LT >= EQ && EQ >= LT) foldr (++) [] (map (range0 LT LT) (GT : []))",fontsize=16,color="black",shape="box"];1519 -> 1597[label="",style="solid", color="black", weight=3]; 58.54/37.24 1520[label="(++) range00 EQ (LT >= EQ && EQ >= EQ) foldr (++) [] (map (range0 LT EQ) (GT : []))",fontsize=16,color="black",shape="box"];1520 -> 1598[label="",style="solid", color="black", weight=3]; 58.54/37.24 1521[label="(++) range00 EQ (LT >= EQ && EQ >= GT) foldr (++) [] (map (range0 LT GT) (GT : []))",fontsize=16,color="black",shape="box"];1521 -> 1599[label="",style="solid", color="black", weight=3]; 58.54/37.24 1522[label="[] ++ foldr (++) [] (map (range0 EQ LT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1522 -> 1600[label="",style="solid", color="black", weight=3]; 58.54/37.24 1523[label="(++) [] foldr (++) [] (map (range0 EQ EQ) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1523 -> 1601[label="",style="solid", color="black", weight=3]; 58.54/37.24 1524[label="(++) [] foldr (++) [] (map (range0 EQ GT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1524 -> 1602[label="",style="solid", color="black", weight=3]; 58.54/37.24 1525[label="[] ++ foldr (++) [] (map (range0 GT LT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1525 -> 1603[label="",style="solid", color="black", weight=3]; 58.54/37.24 1526[label="(++) [] foldr (++) [] (map (range0 GT EQ) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1526 -> 1604[label="",style="solid", color="black", weight=3]; 58.54/37.24 1527[label="(++) [] foldr (++) [] (map (range0 GT GT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1527 -> 1605[label="",style="solid", color="black", weight=3]; 58.54/37.24 1528[label="(++) range60 True (False >= True && True >= False) foldr (++) [] (map (range6 False False) [])",fontsize=16,color="black",shape="box"];1528 -> 1606[label="",style="solid", color="black", weight=3]; 58.54/37.24 1529[label="(++) range60 True (False >= True && True >= True) foldr (++) [] (map (range6 False True) [])",fontsize=16,color="black",shape="box"];1529 -> 1607[label="",style="solid", color="black", weight=3]; 58.54/37.24 1530[label="[] ++ foldr (++) [] (map (range6 True False) (True : []))",fontsize=16,color="black",shape="box"];1530 -> 1608[label="",style="solid", color="black", weight=3]; 58.54/37.24 1531[label="(++) [] foldr (++) [] (map (range6 True True) (True : []))",fontsize=16,color="black",shape="box"];1531 -> 1609[label="",style="solid", color="black", weight=3]; 58.54/37.24 2786[label="primPlusInt (Pos (Succ xu202)) (Pos (Succ Zero))",fontsize=16,color="black",shape="box"];2786 -> 2800[label="",style="solid", color="black", weight=3]; 58.54/37.24 2787[label="Integer xu210",fontsize=16,color="green",shape="box"];2788[label="Integer (Neg (Succ xu206))",fontsize=16,color="green",shape="box"];1558[label="(xu70,xu71,xu720) : []",fontsize=16,color="green",shape="box"];2678[label="Succ (Succ (primPlusNat xu168 Zero))",fontsize=16,color="green",shape="box"];2678 -> 2695[label="",style="dashed", color="green", weight=3]; 58.54/37.24 1597[label="(++) range00 EQ (compare LT EQ /= LT && EQ >= LT) foldr (++) [] (map (range0 LT LT) (GT : []))",fontsize=16,color="black",shape="box"];1597 -> 1676[label="",style="solid", color="black", weight=3]; 58.54/37.24 1598[label="(++) range00 EQ (compare LT EQ /= LT && EQ >= EQ) foldr (++) [] (map (range0 LT EQ) (GT : []))",fontsize=16,color="black",shape="box"];1598 -> 1677[label="",style="solid", color="black", weight=3]; 58.54/37.24 1599[label="(++) range00 EQ (compare LT EQ /= LT && EQ >= GT) foldr (++) [] (map (range0 LT GT) (GT : []))",fontsize=16,color="black",shape="box"];1599 -> 1678[label="",style="solid", color="black", weight=3]; 58.54/37.24 1600[label="foldr (++) [] (map (range0 EQ LT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1600 -> 1679[label="",style="solid", color="black", weight=3]; 58.54/37.24 1601[label="foldr (++) [] (map (range0 EQ EQ) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1601 -> 1680[label="",style="solid", color="black", weight=3]; 58.54/37.24 1602[label="foldr (++) [] (map (range0 EQ GT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1602 -> 1681[label="",style="solid", color="black", weight=3]; 58.54/37.24 1603[label="foldr (++) [] (map (range0 GT LT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1603 -> 1682[label="",style="solid", color="black", weight=3]; 58.54/37.24 1604[label="foldr (++) [] (map (range0 GT EQ) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1604 -> 1683[label="",style="solid", color="black", weight=3]; 58.54/37.24 1605[label="foldr (++) [] (map (range0 GT GT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1605 -> 1684[label="",style="solid", color="black", weight=3]; 58.54/37.24 1606[label="(++) range60 True (compare False True /= LT && True >= False) foldr (++) [] (map (range6 False False) [])",fontsize=16,color="black",shape="box"];1606 -> 1685[label="",style="solid", color="black", weight=3]; 58.54/37.24 1607[label="(++) range60 True (compare False True /= LT && True >= True) foldr (++) [] (map (range6 False True) [])",fontsize=16,color="black",shape="box"];1607 -> 1686[label="",style="solid", color="black", weight=3]; 58.54/37.24 1608[label="foldr (++) [] (map (range6 True False) (True : []))",fontsize=16,color="black",shape="box"];1608 -> 1687[label="",style="solid", color="black", weight=3]; 58.54/37.24 1609[label="foldr (++) [] (map (range6 True True) (True : []))",fontsize=16,color="black",shape="box"];1609 -> 1688[label="",style="solid", color="black", weight=3]; 58.54/37.24 2800[label="Pos (primPlusNat (Succ xu202) (Succ Zero))",fontsize=16,color="green",shape="box"];2800 -> 2812[label="",style="dashed", color="green", weight=3]; 58.54/37.24 2695[label="primPlusNat xu168 Zero",fontsize=16,color="burlywood",shape="box"];3195[label="xu168/Succ xu1680",fontsize=10,color="white",style="solid",shape="box"];2695 -> 3195[label="",style="solid", color="burlywood", weight=9]; 58.54/37.24 3195 -> 2711[label="",style="solid", color="burlywood", weight=3]; 58.54/37.24 3196[label="xu168/Zero",fontsize=10,color="white",style="solid",shape="box"];2695 -> 3196[label="",style="solid", color="burlywood", weight=9]; 58.54/37.24 3196 -> 2712[label="",style="solid", color="burlywood", weight=3]; 58.54/37.24 1676[label="(++) range00 EQ (not (compare LT EQ == LT) && EQ >= LT) foldr (++) [] (map (range0 LT LT) (GT : []))",fontsize=16,color="black",shape="box"];1676 -> 1744[label="",style="solid", color="black", weight=3]; 58.54/37.24 1677[label="(++) range00 EQ (not (compare LT EQ == LT) && EQ >= EQ) foldr (++) [] (map (range0 LT EQ) (GT : []))",fontsize=16,color="black",shape="box"];1677 -> 1745[label="",style="solid", color="black", weight=3]; 58.54/37.24 1678[label="(++) range00 EQ (not (compare LT EQ == LT) && EQ >= GT) foldr (++) [] (map (range0 LT GT) (GT : []))",fontsize=16,color="black",shape="box"];1678 -> 1746[label="",style="solid", color="black", weight=3]; 58.54/37.24 1679[label="foldr (++) [] (range0 EQ LT EQ : map (range0 EQ LT) (GT : []))",fontsize=16,color="black",shape="box"];1679 -> 1747[label="",style="solid", color="black", weight=3]; 58.54/37.24 1680[label="foldr (++) [] (range0 EQ EQ EQ : map (range0 EQ EQ) (GT : []))",fontsize=16,color="black",shape="box"];1680 -> 1748[label="",style="solid", color="black", weight=3]; 58.54/37.24 1681[label="foldr (++) [] (range0 EQ GT EQ : map (range0 EQ GT) (GT : []))",fontsize=16,color="black",shape="box"];1681 -> 1749[label="",style="solid", color="black", weight=3]; 58.54/37.24 1682[label="foldr (++) [] (range0 GT LT EQ : map (range0 GT LT) (GT : []))",fontsize=16,color="black",shape="box"];1682 -> 1750[label="",style="solid", color="black", weight=3]; 58.54/37.24 1683[label="foldr (++) [] (range0 GT EQ EQ : map (range0 GT EQ) (GT : []))",fontsize=16,color="black",shape="box"];1683 -> 1751[label="",style="solid", color="black", weight=3]; 58.54/37.24 1684[label="foldr (++) [] (range0 GT GT EQ : map (range0 GT GT) (GT : []))",fontsize=16,color="black",shape="box"];1684 -> 1752[label="",style="solid", color="black", weight=3]; 58.54/37.24 1685[label="(++) range60 True (not (compare False True == LT) && True >= False) foldr (++) [] (map (range6 False False) [])",fontsize=16,color="black",shape="box"];1685 -> 1753[label="",style="solid", color="black", weight=3]; 58.54/37.24 1686[label="(++) range60 True (not (compare False True == LT) && True >= True) foldr (++) [] (map (range6 False True) [])",fontsize=16,color="black",shape="box"];1686 -> 1754[label="",style="solid", color="black", weight=3]; 58.54/37.24 1687[label="foldr (++) [] (range6 True False True : map (range6 True False) [])",fontsize=16,color="black",shape="box"];1687 -> 1755[label="",style="solid", color="black", weight=3]; 58.54/37.24 1688[label="foldr (++) [] (range6 True True True : map (range6 True True) [])",fontsize=16,color="black",shape="box"];1688 -> 1756[label="",style="solid", color="black", weight=3]; 58.54/37.24 2812 -> 2660[label="",style="dashed", color="red", weight=0]; 58.54/37.24 2812[label="primPlusNat (Succ xu202) (Succ Zero)",fontsize=16,color="magenta"];2812 -> 2824[label="",style="dashed", color="magenta", weight=3]; 58.54/37.24 2711[label="primPlusNat (Succ xu1680) Zero",fontsize=16,color="black",shape="box"];2711 -> 2728[label="",style="solid", color="black", weight=3]; 58.54/37.24 2712[label="primPlusNat Zero Zero",fontsize=16,color="black",shape="box"];2712 -> 2729[label="",style="solid", color="black", weight=3]; 58.54/37.24 1744[label="(++) range00 EQ (not (compare3 LT EQ == LT) && EQ >= LT) foldr (++) [] (map (range0 LT LT) (GT : []))",fontsize=16,color="black",shape="box"];1744 -> 1858[label="",style="solid", color="black", weight=3]; 58.54/37.24 1745[label="(++) range00 EQ (not (compare3 LT EQ == LT) && EQ >= EQ) foldr (++) [] (map (range0 LT EQ) (GT : []))",fontsize=16,color="black",shape="box"];1745 -> 1859[label="",style="solid", color="black", weight=3]; 58.54/37.24 1746[label="(++) range00 EQ (not (compare3 LT EQ == LT) && EQ >= GT) foldr (++) [] (map (range0 LT GT) (GT : []))",fontsize=16,color="black",shape="box"];1746 -> 1860[label="",style="solid", color="black", weight=3]; 58.54/37.24 1747[label="(++) range0 EQ LT EQ foldr (++) [] (map (range0 EQ LT) (GT : []))",fontsize=16,color="black",shape="box"];1747 -> 1861[label="",style="solid", color="black", weight=3]; 58.54/37.24 1748[label="(++) range0 EQ EQ EQ foldr (++) [] (map (range0 EQ EQ) (GT : []))",fontsize=16,color="black",shape="box"];1748 -> 1862[label="",style="solid", color="black", weight=3]; 58.54/37.24 1749[label="(++) range0 EQ GT EQ foldr (++) [] (map (range0 EQ GT) (GT : []))",fontsize=16,color="black",shape="box"];1749 -> 1863[label="",style="solid", color="black", weight=3]; 58.54/37.24 1750[label="(++) range0 GT LT EQ foldr (++) [] (map (range0 GT LT) (GT : []))",fontsize=16,color="black",shape="box"];1750 -> 1864[label="",style="solid", color="black", weight=3]; 58.54/37.24 1751[label="(++) range0 GT EQ EQ foldr (++) [] (map (range0 GT EQ) (GT : []))",fontsize=16,color="black",shape="box"];1751 -> 1865[label="",style="solid", color="black", weight=3]; 58.54/37.24 1752[label="(++) range0 GT GT EQ foldr (++) [] (map (range0 GT GT) (GT : []))",fontsize=16,color="black",shape="box"];1752 -> 1866[label="",style="solid", color="black", weight=3]; 58.54/37.24 1753[label="(++) range60 True (not (compare3 False True == LT) && True >= False) foldr (++) [] (map (range6 False False) [])",fontsize=16,color="black",shape="box"];1753 -> 1867[label="",style="solid", color="black", weight=3]; 58.54/37.24 1754[label="(++) range60 True (not (compare3 False True == LT) && True >= True) foldr (++) [] (map (range6 False True) [])",fontsize=16,color="black",shape="box"];1754 -> 1868[label="",style="solid", color="black", weight=3]; 58.54/37.24 1755[label="(++) range6 True False True foldr (++) [] (map (range6 True False) [])",fontsize=16,color="black",shape="box"];1755 -> 1869[label="",style="solid", color="black", weight=3]; 58.54/37.24 1756[label="(++) range6 True True True foldr (++) [] (map (range6 True True) [])",fontsize=16,color="black",shape="box"];1756 -> 1870[label="",style="solid", color="black", weight=3]; 58.54/37.24 2824[label="xu202",fontsize=16,color="green",shape="box"];2728[label="Succ xu1680",fontsize=16,color="green",shape="box"];2729[label="Zero",fontsize=16,color="green",shape="box"];1858[label="(++) range00 EQ (not (compare2 LT EQ (LT == EQ) == LT) && EQ >= LT) foldr (++) [] (map (range0 LT LT) (GT : []))",fontsize=16,color="black",shape="box"];1858 -> 1985[label="",style="solid", color="black", weight=3]; 58.54/37.24 1859[label="(++) range00 EQ (not (compare2 LT EQ (LT == EQ) == LT) && EQ >= EQ) foldr (++) [] (map (range0 LT EQ) (GT : []))",fontsize=16,color="black",shape="box"];1859 -> 1986[label="",style="solid", color="black", weight=3]; 58.54/37.24 1860[label="(++) range00 EQ (not (compare2 LT EQ (LT == EQ) == LT) && EQ >= GT) foldr (++) [] (map (range0 LT GT) (GT : []))",fontsize=16,color="black",shape="box"];1860 -> 1987[label="",style="solid", color="black", weight=3]; 58.54/37.24 1861[label="(++) range00 EQ (EQ >= EQ && EQ >= LT) foldr (++) [] (map (range0 EQ LT) (GT : []))",fontsize=16,color="black",shape="box"];1861 -> 1988[label="",style="solid", color="black", weight=3]; 58.54/37.24 1862[label="(++) range00 EQ (EQ >= EQ && EQ >= EQ) foldr (++) [] (map (range0 EQ EQ) (GT : []))",fontsize=16,color="black",shape="box"];1862 -> 1989[label="",style="solid", color="black", weight=3]; 58.54/37.24 1863[label="(++) range00 EQ (EQ >= EQ && EQ >= GT) foldr (++) [] (map (range0 EQ GT) (GT : []))",fontsize=16,color="black",shape="box"];1863 -> 1990[label="",style="solid", color="black", weight=3]; 58.54/37.24 1864[label="(++) range00 EQ (GT >= EQ && EQ >= LT) foldr (++) [] (map (range0 GT LT) (GT : []))",fontsize=16,color="black",shape="box"];1864 -> 1991[label="",style="solid", color="black", weight=3]; 58.54/37.24 1865[label="(++) range00 EQ (GT >= EQ && EQ >= EQ) foldr (++) [] (map (range0 GT EQ) (GT : []))",fontsize=16,color="black",shape="box"];1865 -> 1992[label="",style="solid", color="black", weight=3]; 58.54/37.24 1866[label="(++) range00 EQ (GT >= EQ && EQ >= GT) foldr (++) [] (map (range0 GT GT) (GT : []))",fontsize=16,color="black",shape="box"];1866 -> 1993[label="",style="solid", color="black", weight=3]; 58.54/37.24 1867[label="(++) range60 True (not (compare2 False True (False == True) == LT) && True >= False) foldr (++) [] (map (range6 False False) [])",fontsize=16,color="black",shape="box"];1867 -> 1994[label="",style="solid", color="black", weight=3]; 58.54/37.24 1868[label="(++) range60 True (not (compare2 False True (False == True) == LT) && True >= True) foldr (++) [] (map (range6 False True) [])",fontsize=16,color="black",shape="box"];1868 -> 1995[label="",style="solid", color="black", weight=3]; 58.54/37.24 1869[label="(++) range60 True (True >= True && True >= False) foldr (++) [] (map (range6 True False) [])",fontsize=16,color="black",shape="box"];1869 -> 1996[label="",style="solid", color="black", weight=3]; 58.54/37.24 1870[label="(++) range60 True (True >= True && True >= True) foldr (++) [] (map (range6 True True) [])",fontsize=16,color="black",shape="box"];1870 -> 1997[label="",style="solid", color="black", weight=3]; 58.54/37.24 1985[label="(++) range00 EQ (not (compare2 LT EQ False == LT) && EQ >= LT) foldr (++) [] (map (range0 LT LT) (GT : []))",fontsize=16,color="black",shape="box"];1985 -> 2046[label="",style="solid", color="black", weight=3]; 58.54/37.24 1986[label="(++) range00 EQ (not (compare2 LT EQ False == LT) && EQ >= EQ) foldr (++) [] (map (range0 LT EQ) (GT : []))",fontsize=16,color="black",shape="box"];1986 -> 2047[label="",style="solid", color="black", weight=3]; 58.54/37.24 1987[label="(++) range00 EQ (not (compare2 LT EQ False == LT) && EQ >= GT) foldr (++) [] (map (range0 LT GT) (GT : []))",fontsize=16,color="black",shape="box"];1987 -> 2048[label="",style="solid", color="black", weight=3]; 58.54/37.24 1988[label="(++) range00 EQ (compare EQ EQ /= LT && EQ >= LT) foldr (++) [] (map (range0 EQ LT) (GT : []))",fontsize=16,color="black",shape="box"];1988 -> 2049[label="",style="solid", color="black", weight=3]; 58.54/37.24 1989[label="(++) range00 EQ (compare EQ EQ /= LT && EQ >= EQ) foldr (++) [] (map (range0 EQ EQ) (GT : []))",fontsize=16,color="black",shape="box"];1989 -> 2050[label="",style="solid", color="black", weight=3]; 58.54/37.24 1990[label="(++) range00 EQ (compare EQ EQ /= LT && EQ >= GT) foldr (++) [] (map (range0 EQ GT) (GT : []))",fontsize=16,color="black",shape="box"];1990 -> 2051[label="",style="solid", color="black", weight=3]; 58.54/37.24 1991[label="(++) range00 EQ (compare GT EQ /= LT && EQ >= LT) foldr (++) [] (map (range0 GT LT) (GT : []))",fontsize=16,color="black",shape="box"];1991 -> 2052[label="",style="solid", color="black", weight=3]; 58.54/37.24 1992[label="(++) range00 EQ (compare GT EQ /= LT && EQ >= EQ) foldr (++) [] (map (range0 GT EQ) (GT : []))",fontsize=16,color="black",shape="box"];1992 -> 2053[label="",style="solid", color="black", weight=3]; 58.54/37.24 1993[label="(++) range00 EQ (compare GT EQ /= LT && EQ >= GT) foldr (++) [] (map (range0 GT GT) (GT : []))",fontsize=16,color="black",shape="box"];1993 -> 2054[label="",style="solid", color="black", weight=3]; 58.54/37.24 1994[label="(++) range60 True (not (compare2 False True False == LT) && True >= False) foldr (++) [] (map (range6 False False) [])",fontsize=16,color="black",shape="box"];1994 -> 2055[label="",style="solid", color="black", weight=3]; 58.54/37.24 1995[label="(++) range60 True (not (compare2 False True False == LT) && True >= True) foldr (++) [] (map (range6 False True) [])",fontsize=16,color="black",shape="box"];1995 -> 2056[label="",style="solid", color="black", weight=3]; 58.54/37.24 1996[label="(++) range60 True (compare True True /= LT && True >= False) foldr (++) [] (map (range6 True False) [])",fontsize=16,color="black",shape="box"];1996 -> 2057[label="",style="solid", color="black", weight=3]; 58.54/37.24 1997[label="(++) range60 True (compare True True /= LT && True >= True) foldr (++) [] (map (range6 True True) [])",fontsize=16,color="black",shape="box"];1997 -> 2058[label="",style="solid", color="black", weight=3]; 58.54/37.24 2046[label="(++) range00 EQ (not (compare1 LT EQ (LT <= EQ) == LT) && EQ >= LT) foldr (++) [] (map (range0 LT LT) (GT : []))",fontsize=16,color="black",shape="box"];2046 -> 2124[label="",style="solid", color="black", weight=3]; 58.54/37.24 2047[label="(++) range00 EQ (not (compare1 LT EQ (LT <= EQ) == LT) && EQ >= EQ) foldr (++) [] (map (range0 LT EQ) (GT : []))",fontsize=16,color="black",shape="box"];2047 -> 2125[label="",style="solid", color="black", weight=3]; 58.54/37.24 2048[label="(++) range00 EQ (not (compare1 LT EQ (LT <= EQ) == LT) && EQ >= GT) foldr (++) [] (map (range0 LT GT) (GT : []))",fontsize=16,color="black",shape="box"];2048 -> 2126[label="",style="solid", color="black", weight=3]; 58.54/37.24 2049[label="(++) range00 EQ (not (compare EQ EQ == LT) && EQ >= LT) foldr (++) [] (map (range0 EQ LT) (GT : []))",fontsize=16,color="black",shape="box"];2049 -> 2127[label="",style="solid", color="black", weight=3]; 58.54/37.24 2050[label="(++) range00 EQ (not (compare EQ EQ == LT) && EQ >= EQ) foldr (++) [] (map (range0 EQ EQ) (GT : []))",fontsize=16,color="black",shape="box"];2050 -> 2128[label="",style="solid", color="black", weight=3]; 58.54/37.24 2051[label="(++) range00 EQ (not (compare EQ EQ == LT) && EQ >= GT) foldr (++) [] (map (range0 EQ GT) (GT : []))",fontsize=16,color="black",shape="box"];2051 -> 2129[label="",style="solid", color="black", weight=3]; 58.54/37.24 2052[label="(++) range00 EQ (not (compare GT EQ == LT) && EQ >= LT) foldr (++) [] (map (range0 GT LT) (GT : []))",fontsize=16,color="black",shape="box"];2052 -> 2130[label="",style="solid", color="black", weight=3]; 58.54/37.24 2053[label="(++) range00 EQ (not (compare GT EQ == LT) && EQ >= EQ) foldr (++) [] (map (range0 GT EQ) (GT : []))",fontsize=16,color="black",shape="box"];2053 -> 2131[label="",style="solid", color="black", weight=3]; 58.54/37.24 2054[label="(++) range00 EQ (not (compare GT EQ == LT) && EQ >= GT) foldr (++) [] (map (range0 GT GT) (GT : []))",fontsize=16,color="black",shape="box"];2054 -> 2132[label="",style="solid", color="black", weight=3]; 58.54/37.24 2055[label="(++) range60 True (not (compare1 False True (False <= True) == LT) && True >= False) foldr (++) [] (map (range6 False False) [])",fontsize=16,color="black",shape="box"];2055 -> 2133[label="",style="solid", color="black", weight=3]; 58.54/37.24 2056[label="(++) range60 True (not (compare1 False True (False <= True) == LT) && True >= True) foldr (++) [] (map (range6 False True) [])",fontsize=16,color="black",shape="box"];2056 -> 2134[label="",style="solid", color="black", weight=3]; 58.54/37.24 2057[label="(++) range60 True (not (compare True True == LT) && True >= False) foldr (++) [] (map (range6 True False) [])",fontsize=16,color="black",shape="box"];2057 -> 2135[label="",style="solid", color="black", weight=3]; 58.54/37.24 2058[label="(++) range60 True (not (compare True True == LT) && True >= True) foldr (++) [] (map (range6 True True) [])",fontsize=16,color="black",shape="box"];2058 -> 2136[label="",style="solid", color="black", weight=3]; 58.54/37.24 2124[label="(++) range00 EQ (not (compare1 LT EQ True == LT) && EQ >= LT) foldr (++) [] (map (range0 LT LT) (GT : []))",fontsize=16,color="black",shape="box"];2124 -> 2176[label="",style="solid", color="black", weight=3]; 58.54/37.24 2125[label="(++) range00 EQ (not (compare1 LT EQ True == LT) && EQ >= EQ) foldr (++) [] (map (range0 LT EQ) (GT : []))",fontsize=16,color="black",shape="box"];2125 -> 2177[label="",style="solid", color="black", weight=3]; 58.54/37.24 2126[label="(++) range00 EQ (not (compare1 LT EQ True == LT) && EQ >= GT) foldr (++) [] (map (range0 LT GT) (GT : []))",fontsize=16,color="black",shape="box"];2126 -> 2178[label="",style="solid", color="black", weight=3]; 58.54/37.24 2127[label="(++) range00 EQ (not (compare3 EQ EQ == LT) && EQ >= LT) foldr (++) [] (map (range0 EQ LT) (GT : []))",fontsize=16,color="black",shape="box"];2127 -> 2179[label="",style="solid", color="black", weight=3]; 58.54/37.24 2128[label="(++) range00 EQ (not (compare3 EQ EQ == LT) && EQ >= EQ) foldr (++) [] (map (range0 EQ EQ) (GT : []))",fontsize=16,color="black",shape="box"];2128 -> 2180[label="",style="solid", color="black", weight=3]; 58.54/37.24 2129[label="(++) range00 EQ (not (compare3 EQ EQ == LT) && EQ >= GT) foldr (++) [] (map (range0 EQ GT) (GT : []))",fontsize=16,color="black",shape="box"];2129 -> 2181[label="",style="solid", color="black", weight=3]; 58.54/37.24 2130[label="(++) range00 EQ (not (compare3 GT EQ == LT) && EQ >= LT) foldr (++) [] (map (range0 GT LT) (GT : []))",fontsize=16,color="black",shape="box"];2130 -> 2182[label="",style="solid", color="black", weight=3]; 58.54/37.24 2131[label="(++) range00 EQ (not (compare3 GT EQ == LT) && EQ >= EQ) foldr (++) [] (map (range0 GT EQ) (GT : []))",fontsize=16,color="black",shape="box"];2131 -> 2183[label="",style="solid", color="black", weight=3]; 58.54/37.24 2132[label="(++) range00 EQ (not (compare3 GT EQ == LT) && EQ >= GT) foldr (++) [] (map (range0 GT GT) (GT : []))",fontsize=16,color="black",shape="box"];2132 -> 2184[label="",style="solid", color="black", weight=3]; 58.54/37.24 2133[label="(++) range60 True (not (compare1 False True True == LT) && True >= False) foldr (++) [] (map (range6 False False) [])",fontsize=16,color="black",shape="box"];2133 -> 2185[label="",style="solid", color="black", weight=3]; 58.54/37.24 2134[label="(++) range60 True (not (compare1 False True True == LT) && True >= True) foldr (++) [] (map (range6 False True) [])",fontsize=16,color="black",shape="box"];2134 -> 2186[label="",style="solid", color="black", weight=3]; 58.54/37.24 2135[label="(++) range60 True (not (compare3 True True == LT) && True >= False) foldr (++) [] (map (range6 True False) [])",fontsize=16,color="black",shape="box"];2135 -> 2187[label="",style="solid", color="black", weight=3]; 58.54/37.24 2136[label="(++) range60 True (not (compare3 True True == LT) && True >= True) foldr (++) [] (map (range6 True True) [])",fontsize=16,color="black",shape="box"];2136 -> 2188[label="",style="solid", color="black", weight=3]; 58.54/37.24 2176[label="(++) range00 EQ (not (LT == LT) && EQ >= LT) foldr (++) [] (map (range0 LT LT) (GT : []))",fontsize=16,color="black",shape="box"];2176 -> 2249[label="",style="solid", color="black", weight=3]; 58.54/37.24 2177[label="(++) range00 EQ (not (LT == LT) && EQ >= EQ) foldr (++) [] (map (range0 LT EQ) (GT : []))",fontsize=16,color="black",shape="box"];2177 -> 2250[label="",style="solid", color="black", weight=3]; 58.54/37.24 2178[label="(++) range00 EQ (not (LT == LT) && EQ >= GT) foldr (++) [] (map (range0 LT GT) (GT : []))",fontsize=16,color="black",shape="box"];2178 -> 2251[label="",style="solid", color="black", weight=3]; 58.54/37.24 2179[label="(++) range00 EQ (not (compare2 EQ EQ (EQ == EQ) == LT) && EQ >= LT) foldr (++) [] (map (range0 EQ LT) (GT : []))",fontsize=16,color="black",shape="box"];2179 -> 2252[label="",style="solid", color="black", weight=3]; 58.54/37.24 2180[label="(++) range00 EQ (not (compare2 EQ EQ (EQ == EQ) == LT) && EQ >= EQ) foldr (++) [] (map (range0 EQ EQ) (GT : []))",fontsize=16,color="black",shape="box"];2180 -> 2253[label="",style="solid", color="black", weight=3]; 58.54/37.24 2181[label="(++) range00 EQ (not (compare2 EQ EQ (EQ == EQ) == LT) && EQ >= GT) foldr (++) [] (map (range0 EQ GT) (GT : []))",fontsize=16,color="black",shape="box"];2181 -> 2254[label="",style="solid", color="black", weight=3]; 58.54/37.24 2182[label="(++) range00 EQ (not (compare2 GT EQ (GT == EQ) == LT) && EQ >= LT) foldr (++) [] (map (range0 GT LT) (GT : []))",fontsize=16,color="black",shape="box"];2182 -> 2255[label="",style="solid", color="black", weight=3]; 58.54/37.24 2183[label="(++) range00 EQ (not (compare2 GT EQ (GT == EQ) == LT) && EQ >= EQ) foldr (++) [] (map (range0 GT EQ) (GT : []))",fontsize=16,color="black",shape="box"];2183 -> 2256[label="",style="solid", color="black", weight=3]; 58.54/37.24 2184[label="(++) range00 EQ (not (compare2 GT EQ (GT == EQ) == LT) && EQ >= GT) foldr (++) [] (map (range0 GT GT) (GT : []))",fontsize=16,color="black",shape="box"];2184 -> 2257[label="",style="solid", color="black", weight=3]; 58.54/37.24 2185[label="(++) range60 True (not (LT == LT) && True >= False) foldr (++) [] (map (range6 False False) [])",fontsize=16,color="black",shape="box"];2185 -> 2258[label="",style="solid", color="black", weight=3]; 58.54/37.24 2186[label="(++) range60 True (not (LT == LT) && True >= True) foldr (++) [] (map (range6 False True) [])",fontsize=16,color="black",shape="box"];2186 -> 2259[label="",style="solid", color="black", weight=3]; 58.54/37.24 2187[label="(++) range60 True (not (compare2 True True (True == True) == LT) && True >= False) foldr (++) [] (map (range6 True False) [])",fontsize=16,color="black",shape="box"];2187 -> 2260[label="",style="solid", color="black", weight=3]; 58.54/37.24 2188[label="(++) range60 True (not (compare2 True True (True == True) == LT) && True >= True) foldr (++) [] (map (range6 True True) [])",fontsize=16,color="black",shape="box"];2188 -> 2261[label="",style="solid", color="black", weight=3]; 58.54/37.24 2249[label="(++) range00 EQ (not True && EQ >= LT) foldr (++) [] (map (range0 LT LT) (GT : []))",fontsize=16,color="black",shape="box"];2249 -> 2348[label="",style="solid", color="black", weight=3]; 58.54/37.24 2250[label="(++) range00 EQ (not True && EQ >= EQ) foldr (++) [] (map (range0 LT EQ) (GT : []))",fontsize=16,color="black",shape="box"];2250 -> 2349[label="",style="solid", color="black", weight=3]; 58.54/37.24 2251[label="(++) range00 EQ (not True && EQ >= GT) foldr (++) [] (map (range0 LT GT) (GT : []))",fontsize=16,color="black",shape="box"];2251 -> 2350[label="",style="solid", color="black", weight=3]; 58.54/37.24 2252[label="(++) range00 EQ (not (compare2 EQ EQ True == LT) && EQ >= LT) foldr (++) [] (map (range0 EQ LT) (GT : []))",fontsize=16,color="black",shape="box"];2252 -> 2351[label="",style="solid", color="black", weight=3]; 58.54/37.24 2253[label="(++) range00 EQ (not (compare2 EQ EQ True == LT) && EQ >= EQ) foldr (++) [] (map (range0 EQ EQ) (GT : []))",fontsize=16,color="black",shape="box"];2253 -> 2352[label="",style="solid", color="black", weight=3]; 58.54/37.24 2254[label="(++) range00 EQ (not (compare2 EQ EQ True == LT) && EQ >= GT) foldr (++) [] (map (range0 EQ GT) (GT : []))",fontsize=16,color="black",shape="box"];2254 -> 2353[label="",style="solid", color="black", weight=3]; 58.54/37.24 2255[label="(++) range00 EQ (not (compare2 GT EQ False == LT) && EQ >= LT) foldr (++) [] (map (range0 GT LT) (GT : []))",fontsize=16,color="black",shape="box"];2255 -> 2354[label="",style="solid", color="black", weight=3]; 58.54/37.24 2256[label="(++) range00 EQ (not (compare2 GT EQ False == LT) && EQ >= EQ) foldr (++) [] (map (range0 GT EQ) (GT : []))",fontsize=16,color="black",shape="box"];2256 -> 2355[label="",style="solid", color="black", weight=3]; 58.54/37.24 2257[label="(++) range00 EQ (not (compare2 GT EQ False == LT) && EQ >= GT) foldr (++) [] (map (range0 GT GT) (GT : []))",fontsize=16,color="black",shape="box"];2257 -> 2356[label="",style="solid", color="black", weight=3]; 58.54/37.24 2258[label="(++) range60 True (not True && True >= False) foldr (++) [] (map (range6 False False) [])",fontsize=16,color="black",shape="box"];2258 -> 2357[label="",style="solid", color="black", weight=3]; 58.54/37.24 2259[label="(++) range60 True (not True && True >= True) foldr (++) [] (map (range6 False True) [])",fontsize=16,color="black",shape="box"];2259 -> 2358[label="",style="solid", color="black", weight=3]; 58.54/37.24 2260[label="(++) range60 True (not (compare2 True True True == LT) && True >= False) foldr (++) [] (map (range6 True False) [])",fontsize=16,color="black",shape="box"];2260 -> 2359[label="",style="solid", color="black", weight=3]; 58.54/37.24 2261[label="(++) range60 True (not (compare2 True True True == LT) && True >= True) foldr (++) [] (map (range6 True True) [])",fontsize=16,color="black",shape="box"];2261 -> 2360[label="",style="solid", color="black", weight=3]; 58.54/37.24 2348[label="(++) range00 EQ (False && EQ >= LT) foldr (++) [] (map (range0 LT LT) (GT : []))",fontsize=16,color="black",shape="box"];2348 -> 2451[label="",style="solid", color="black", weight=3]; 58.54/37.24 2349[label="(++) range00 EQ (False && EQ >= EQ) foldr (++) [] (map (range0 LT EQ) (GT : []))",fontsize=16,color="black",shape="box"];2349 -> 2452[label="",style="solid", color="black", weight=3]; 58.54/37.24 2350[label="(++) range00 EQ (False && EQ >= GT) foldr (++) [] (map (range0 LT GT) (GT : []))",fontsize=16,color="black",shape="box"];2350 -> 2453[label="",style="solid", color="black", weight=3]; 58.54/37.24 2351[label="(++) range00 EQ (not (EQ == LT) && EQ >= LT) foldr (++) [] (map (range0 EQ LT) (GT : []))",fontsize=16,color="black",shape="box"];2351 -> 2454[label="",style="solid", color="black", weight=3]; 58.54/37.24 2352[label="(++) range00 EQ (not (EQ == LT) && EQ >= EQ) foldr (++) [] (map (range0 EQ EQ) (GT : []))",fontsize=16,color="black",shape="box"];2352 -> 2455[label="",style="solid", color="black", weight=3]; 58.54/37.24 2353[label="(++) range00 EQ (not (EQ == LT) && EQ >= GT) foldr (++) [] (map (range0 EQ GT) (GT : []))",fontsize=16,color="black",shape="box"];2353 -> 2456[label="",style="solid", color="black", weight=3]; 58.54/37.24 2354[label="(++) range00 EQ (not (compare1 GT EQ (GT <= EQ) == LT) && EQ >= LT) foldr (++) [] (map (range0 GT LT) (GT : []))",fontsize=16,color="black",shape="box"];2354 -> 2457[label="",style="solid", color="black", weight=3]; 58.54/37.24 2355[label="(++) range00 EQ (not (compare1 GT EQ (GT <= EQ) == LT) && EQ >= EQ) foldr (++) [] (map (range0 GT EQ) (GT : []))",fontsize=16,color="black",shape="box"];2355 -> 2458[label="",style="solid", color="black", weight=3]; 58.54/37.24 2356[label="(++) range00 EQ (not (compare1 GT EQ (GT <= EQ) == LT) && EQ >= GT) foldr (++) [] (map (range0 GT GT) (GT : []))",fontsize=16,color="black",shape="box"];2356 -> 2459[label="",style="solid", color="black", weight=3]; 58.54/37.24 2357[label="(++) range60 True (False && True >= False) foldr (++) [] (map (range6 False False) [])",fontsize=16,color="black",shape="box"];2357 -> 2460[label="",style="solid", color="black", weight=3]; 58.54/37.24 2358[label="(++) range60 True (False && True >= True) foldr (++) [] (map (range6 False True) [])",fontsize=16,color="black",shape="box"];2358 -> 2461[label="",style="solid", color="black", weight=3]; 58.54/37.24 2359[label="(++) range60 True (not (EQ == LT) && True >= False) foldr (++) [] (map (range6 True False) [])",fontsize=16,color="black",shape="box"];2359 -> 2462[label="",style="solid", color="black", weight=3]; 58.54/37.24 2360[label="(++) range60 True (not (EQ == LT) && True >= True) foldr (++) [] (map (range6 True True) [])",fontsize=16,color="black",shape="box"];2360 -> 2463[label="",style="solid", color="black", weight=3]; 58.54/37.24 2451[label="(++) range00 EQ False foldr (++) [] (map (range0 LT LT) (GT : []))",fontsize=16,color="black",shape="box"];2451 -> 2566[label="",style="solid", color="black", weight=3]; 58.54/37.24 2452[label="(++) range00 EQ False foldr (++) [] (map (range0 LT EQ) (GT : []))",fontsize=16,color="black",shape="box"];2452 -> 2567[label="",style="solid", color="black", weight=3]; 58.54/37.24 2453[label="(++) range00 EQ False foldr (++) [] (map (range0 LT GT) (GT : []))",fontsize=16,color="black",shape="box"];2453 -> 2568[label="",style="solid", color="black", weight=3]; 58.54/37.24 2454[label="(++) range00 EQ (not False && EQ >= LT) foldr (++) [] (map (range0 EQ LT) (GT : []))",fontsize=16,color="black",shape="box"];2454 -> 2569[label="",style="solid", color="black", weight=3]; 58.54/37.24 2455[label="(++) range00 EQ (not False && EQ >= EQ) foldr (++) [] (map (range0 EQ EQ) (GT : []))",fontsize=16,color="black",shape="box"];2455 -> 2570[label="",style="solid", color="black", weight=3]; 58.54/37.24 2456[label="(++) range00 EQ (not False && EQ >= GT) foldr (++) [] (map (range0 EQ GT) (GT : []))",fontsize=16,color="black",shape="box"];2456 -> 2571[label="",style="solid", color="black", weight=3]; 58.54/37.24 2457[label="(++) range00 EQ (not (compare1 GT EQ False == LT) && EQ >= LT) foldr (++) [] (map (range0 GT LT) (GT : []))",fontsize=16,color="black",shape="box"];2457 -> 2572[label="",style="solid", color="black", weight=3]; 58.54/37.24 2458[label="(++) range00 EQ (not (compare1 GT EQ False == LT) && EQ >= EQ) foldr (++) [] (map (range0 GT EQ) (GT : []))",fontsize=16,color="black",shape="box"];2458 -> 2573[label="",style="solid", color="black", weight=3]; 58.54/37.24 2459[label="(++) range00 EQ (not (compare1 GT EQ False == LT) && EQ >= GT) foldr (++) [] (map (range0 GT GT) (GT : []))",fontsize=16,color="black",shape="box"];2459 -> 2574[label="",style="solid", color="black", weight=3]; 58.54/37.24 2460[label="(++) range60 True False foldr (++) [] (map (range6 False False) [])",fontsize=16,color="black",shape="box"];2460 -> 2575[label="",style="solid", color="black", weight=3]; 58.54/37.24 2461[label="(++) range60 True False foldr (++) [] (map (range6 False True) [])",fontsize=16,color="black",shape="box"];2461 -> 2576[label="",style="solid", color="black", weight=3]; 58.54/37.24 2462[label="(++) range60 True (not False && True >= False) foldr (++) [] (map (range6 True False) [])",fontsize=16,color="black",shape="box"];2462 -> 2577[label="",style="solid", color="black", weight=3]; 58.54/37.24 2463[label="(++) range60 True (not False && True >= True) foldr (++) [] (map (range6 True True) [])",fontsize=16,color="black",shape="box"];2463 -> 2578[label="",style="solid", color="black", weight=3]; 58.54/37.24 2566[label="(++) [] foldr (++) [] (map (range0 LT LT) (GT : []))",fontsize=16,color="black",shape="box"];2566 -> 2593[label="",style="solid", color="black", weight=3]; 58.54/37.24 2567[label="(++) [] foldr (++) [] (map (range0 LT EQ) (GT : []))",fontsize=16,color="black",shape="box"];2567 -> 2594[label="",style="solid", color="black", weight=3]; 58.54/37.24 2568[label="(++) [] foldr (++) [] (map (range0 LT GT) (GT : []))",fontsize=16,color="black",shape="box"];2568 -> 2595[label="",style="solid", color="black", weight=3]; 58.54/37.24 2569[label="(++) range00 EQ (True && EQ >= LT) foldr (++) [] (map (range0 EQ LT) (GT : []))",fontsize=16,color="black",shape="box"];2569 -> 2596[label="",style="solid", color="black", weight=3]; 58.54/37.24 2570[label="(++) range00 EQ (True && EQ >= EQ) foldr (++) [] (map (range0 EQ EQ) (GT : []))",fontsize=16,color="black",shape="box"];2570 -> 2597[label="",style="solid", color="black", weight=3]; 58.54/37.24 2571[label="(++) range00 EQ (True && EQ >= GT) foldr (++) [] (map (range0 EQ GT) (GT : []))",fontsize=16,color="black",shape="box"];2571 -> 2598[label="",style="solid", color="black", weight=3]; 58.54/37.24 2572[label="(++) range00 EQ (not (compare0 GT EQ otherwise == LT) && EQ >= LT) foldr (++) [] (map (range0 GT LT) (GT : []))",fontsize=16,color="black",shape="box"];2572 -> 2599[label="",style="solid", color="black", weight=3]; 58.54/37.24 2573[label="(++) range00 EQ (not (compare0 GT EQ otherwise == LT) && EQ >= EQ) foldr (++) [] (map (range0 GT EQ) (GT : []))",fontsize=16,color="black",shape="box"];2573 -> 2600[label="",style="solid", color="black", weight=3]; 58.54/37.24 2574[label="(++) range00 EQ (not (compare0 GT EQ otherwise == LT) && EQ >= GT) foldr (++) [] (map (range0 GT GT) (GT : []))",fontsize=16,color="black",shape="box"];2574 -> 2601[label="",style="solid", color="black", weight=3]; 58.54/37.24 2575[label="(++) [] foldr (++) [] (map (range6 False False) [])",fontsize=16,color="black",shape="box"];2575 -> 2602[label="",style="solid", color="black", weight=3]; 58.54/37.24 2576[label="(++) [] foldr (++) [] (map (range6 False True) [])",fontsize=16,color="black",shape="box"];2576 -> 2603[label="",style="solid", color="black", weight=3]; 58.54/37.24 2577[label="(++) range60 True (True && True >= False) foldr (++) [] (map (range6 True False) [])",fontsize=16,color="black",shape="box"];2577 -> 2604[label="",style="solid", color="black", weight=3]; 58.54/37.24 2578[label="(++) range60 True (True && True >= True) foldr (++) [] (map (range6 True True) [])",fontsize=16,color="black",shape="box"];2578 -> 2605[label="",style="solid", color="black", weight=3]; 58.54/37.24 2593[label="foldr (++) [] (map (range0 LT LT) (GT : []))",fontsize=16,color="black",shape="box"];2593 -> 2618[label="",style="solid", color="black", weight=3]; 58.54/37.24 2594[label="foldr (++) [] (map (range0 LT EQ) (GT : []))",fontsize=16,color="black",shape="box"];2594 -> 2619[label="",style="solid", color="black", weight=3]; 58.54/37.24 2595[label="foldr (++) [] (map (range0 LT GT) (GT : []))",fontsize=16,color="black",shape="box"];2595 -> 2620[label="",style="solid", color="black", weight=3]; 58.54/37.24 2596[label="(++) range00 EQ (EQ >= LT) foldr (++) [] (map (range0 EQ LT) (GT : []))",fontsize=16,color="black",shape="box"];2596 -> 2621[label="",style="solid", color="black", weight=3]; 58.54/37.24 2597[label="(++) range00 EQ (EQ >= EQ) foldr (++) [] (map (range0 EQ EQ) (GT : []))",fontsize=16,color="black",shape="box"];2597 -> 2622[label="",style="solid", color="black", weight=3]; 58.54/37.24 2598[label="(++) range00 EQ (EQ >= GT) foldr (++) [] (map (range0 EQ GT) (GT : []))",fontsize=16,color="black",shape="box"];2598 -> 2623[label="",style="solid", color="black", weight=3]; 58.54/37.24 2599[label="(++) range00 EQ (not (compare0 GT EQ True == LT) && EQ >= LT) foldr (++) [] (map (range0 GT LT) (GT : []))",fontsize=16,color="black",shape="box"];2599 -> 2624[label="",style="solid", color="black", weight=3]; 58.54/37.24 2600[label="(++) range00 EQ (not (compare0 GT EQ True == LT) && EQ >= EQ) foldr (++) [] (map (range0 GT EQ) (GT : []))",fontsize=16,color="black",shape="box"];2600 -> 2625[label="",style="solid", color="black", weight=3]; 58.54/37.24 2601[label="(++) range00 EQ (not (compare0 GT EQ True == LT) && EQ >= GT) foldr (++) [] (map (range0 GT GT) (GT : []))",fontsize=16,color="black",shape="box"];2601 -> 2626[label="",style="solid", color="black", weight=3]; 58.54/37.24 2602[label="foldr (++) [] (map (range6 False False) [])",fontsize=16,color="black",shape="box"];2602 -> 2627[label="",style="solid", color="black", weight=3]; 58.54/37.24 2603[label="foldr (++) [] (map (range6 False True) [])",fontsize=16,color="black",shape="box"];2603 -> 2628[label="",style="solid", color="black", weight=3]; 58.54/37.24 2604[label="(++) range60 True (True >= False) foldr (++) [] (map (range6 True False) [])",fontsize=16,color="black",shape="box"];2604 -> 2629[label="",style="solid", color="black", weight=3]; 58.54/37.24 2605[label="(++) range60 True (True >= True) foldr (++) [] (map (range6 True True) [])",fontsize=16,color="black",shape="box"];2605 -> 2630[label="",style="solid", color="black", weight=3]; 58.54/37.24 2618[label="foldr (++) [] (range0 LT LT GT : map (range0 LT LT) [])",fontsize=16,color="black",shape="box"];2618 -> 2642[label="",style="solid", color="black", weight=3]; 58.54/37.24 2619[label="foldr (++) [] (range0 LT EQ GT : map (range0 LT EQ) [])",fontsize=16,color="black",shape="box"];2619 -> 2643[label="",style="solid", color="black", weight=3]; 58.54/37.24 2620[label="foldr (++) [] (range0 LT GT GT : map (range0 LT GT) [])",fontsize=16,color="black",shape="box"];2620 -> 2644[label="",style="solid", color="black", weight=3]; 58.54/37.24 2621[label="(++) range00 EQ (compare EQ LT /= LT) foldr (++) [] (map (range0 EQ LT) (GT : []))",fontsize=16,color="black",shape="box"];2621 -> 2645[label="",style="solid", color="black", weight=3]; 58.54/37.24 2622[label="(++) range00 EQ (compare EQ EQ /= LT) foldr (++) [] (map (range0 EQ EQ) (GT : []))",fontsize=16,color="black",shape="box"];2622 -> 2646[label="",style="solid", color="black", weight=3]; 58.54/37.24 2623[label="(++) range00 EQ (compare EQ GT /= LT) foldr (++) [] (map (range0 EQ GT) (GT : []))",fontsize=16,color="black",shape="box"];2623 -> 2647[label="",style="solid", color="black", weight=3]; 58.54/37.24 2624[label="(++) range00 EQ (not (GT == LT) && EQ >= LT) foldr (++) [] (map (range0 GT LT) (GT : []))",fontsize=16,color="black",shape="box"];2624 -> 2648[label="",style="solid", color="black", weight=3]; 58.54/37.24 2625[label="(++) range00 EQ (not (GT == LT) && EQ >= EQ) foldr (++) [] (map (range0 GT EQ) (GT : []))",fontsize=16,color="black",shape="box"];2625 -> 2649[label="",style="solid", color="black", weight=3]; 58.54/37.24 2626[label="(++) range00 EQ (not (GT == LT) && EQ >= GT) foldr (++) [] (map (range0 GT GT) (GT : []))",fontsize=16,color="black",shape="box"];2626 -> 2650[label="",style="solid", color="black", weight=3]; 58.54/37.24 2627[label="foldr (++) [] []",fontsize=16,color="black",shape="triangle"];2627 -> 2651[label="",style="solid", color="black", weight=3]; 58.54/37.24 2628 -> 2627[label="",style="dashed", color="red", weight=0]; 58.54/37.24 2628[label="foldr (++) [] []",fontsize=16,color="magenta"];2629[label="(++) range60 True (compare True False /= LT) foldr (++) [] (map (range6 True False) [])",fontsize=16,color="black",shape="box"];2629 -> 2652[label="",style="solid", color="black", weight=3]; 58.54/37.24 2630[label="(++) range60 True (compare True True /= LT) foldr (++) [] (map (range6 True True) [])",fontsize=16,color="black",shape="box"];2630 -> 2653[label="",style="solid", color="black", weight=3]; 58.54/37.24 2642[label="(++) range0 LT LT GT foldr (++) [] (map (range0 LT LT) [])",fontsize=16,color="black",shape="box"];2642 -> 2661[label="",style="solid", color="black", weight=3]; 58.54/37.24 2643[label="(++) range0 LT EQ GT foldr (++) [] (map (range0 LT EQ) [])",fontsize=16,color="black",shape="box"];2643 -> 2662[label="",style="solid", color="black", weight=3]; 58.54/37.24 2644[label="(++) range0 LT GT GT foldr (++) [] (map (range0 LT GT) [])",fontsize=16,color="black",shape="box"];2644 -> 2663[label="",style="solid", color="black", weight=3]; 58.54/37.24 2645[label="(++) range00 EQ (not (compare EQ LT == LT)) foldr (++) [] (map (range0 EQ LT) (GT : []))",fontsize=16,color="black",shape="box"];2645 -> 2664[label="",style="solid", color="black", weight=3]; 58.54/37.24 2646[label="(++) range00 EQ (not (compare EQ EQ == LT)) foldr (++) [] (map (range0 EQ EQ) (GT : []))",fontsize=16,color="black",shape="box"];2646 -> 2665[label="",style="solid", color="black", weight=3]; 58.54/37.24 2647[label="(++) range00 EQ (not (compare EQ GT == LT)) foldr (++) [] (map (range0 EQ GT) (GT : []))",fontsize=16,color="black",shape="box"];2647 -> 2666[label="",style="solid", color="black", weight=3]; 58.54/37.24 2648[label="(++) range00 EQ (not False && EQ >= LT) foldr (++) [] (map (range0 GT LT) (GT : []))",fontsize=16,color="black",shape="box"];2648 -> 2667[label="",style="solid", color="black", weight=3]; 58.54/37.24 2649[label="(++) range00 EQ (not False && EQ >= EQ) foldr (++) [] (map (range0 GT EQ) (GT : []))",fontsize=16,color="black",shape="box"];2649 -> 2668[label="",style="solid", color="black", weight=3]; 58.54/37.24 2650[label="(++) range00 EQ (not False && EQ >= GT) foldr (++) [] (map (range0 GT GT) (GT : []))",fontsize=16,color="black",shape="box"];2650 -> 2669[label="",style="solid", color="black", weight=3]; 58.54/37.24 2651[label="[]",fontsize=16,color="green",shape="box"];2652[label="(++) range60 True (not (compare True False == LT)) foldr (++) [] (map (range6 True False) [])",fontsize=16,color="black",shape="box"];2652 -> 2670[label="",style="solid", color="black", weight=3]; 58.54/37.24 2653[label="(++) range60 True (not (compare True True == LT)) foldr (++) [] (map (range6 True True) [])",fontsize=16,color="black",shape="box"];2653 -> 2671[label="",style="solid", color="black", weight=3]; 58.54/37.24 2661[label="(++) range00 GT (LT >= GT && GT >= LT) foldr (++) [] (map (range0 LT LT) [])",fontsize=16,color="black",shape="box"];2661 -> 2679[label="",style="solid", color="black", weight=3]; 58.54/37.24 2662[label="(++) range00 GT (LT >= GT && GT >= EQ) foldr (++) [] (map (range0 LT EQ) [])",fontsize=16,color="black",shape="box"];2662 -> 2680[label="",style="solid", color="black", weight=3]; 58.54/37.24 2663[label="(++) range00 GT (LT >= GT && GT >= GT) foldr (++) [] (map (range0 LT GT) [])",fontsize=16,color="black",shape="box"];2663 -> 2681[label="",style="solid", color="black", weight=3]; 58.54/37.24 2664[label="(++) range00 EQ (not (compare3 EQ LT == LT)) foldr (++) [] (map (range0 EQ LT) (GT : []))",fontsize=16,color="black",shape="box"];2664 -> 2682[label="",style="solid", color="black", weight=3]; 58.54/37.24 2665[label="(++) range00 EQ (not (compare3 EQ EQ == LT)) foldr (++) [] (map (range0 EQ EQ) (GT : []))",fontsize=16,color="black",shape="box"];2665 -> 2683[label="",style="solid", color="black", weight=3]; 58.54/37.24 2666[label="(++) range00 EQ (not (compare3 EQ GT == LT)) foldr (++) [] (map (range0 EQ GT) (GT : []))",fontsize=16,color="black",shape="box"];2666 -> 2684[label="",style="solid", color="black", weight=3]; 58.54/37.24 2667[label="(++) range00 EQ (True && EQ >= LT) foldr (++) [] (map (range0 GT LT) (GT : []))",fontsize=16,color="black",shape="box"];2667 -> 2685[label="",style="solid", color="black", weight=3]; 58.54/37.24 2668[label="(++) range00 EQ (True && EQ >= EQ) foldr (++) [] (map (range0 GT EQ) (GT : []))",fontsize=16,color="black",shape="box"];2668 -> 2686[label="",style="solid", color="black", weight=3]; 58.54/37.24 2669[label="(++) range00 EQ (True && EQ >= GT) foldr (++) [] (map (range0 GT GT) (GT : []))",fontsize=16,color="black",shape="box"];2669 -> 2687[label="",style="solid", color="black", weight=3]; 58.54/37.24 2670[label="(++) range60 True (not (compare3 True False == LT)) foldr (++) [] (map (range6 True False) [])",fontsize=16,color="black",shape="box"];2670 -> 2688[label="",style="solid", color="black", weight=3]; 58.54/37.24 2671[label="(++) range60 True (not (compare3 True True == LT)) foldr (++) [] (map (range6 True True) [])",fontsize=16,color="black",shape="box"];2671 -> 2689[label="",style="solid", color="black", weight=3]; 58.54/37.24 2679[label="(++) range00 GT (compare LT GT /= LT && GT >= LT) foldr (++) [] (map (range0 LT LT) [])",fontsize=16,color="black",shape="box"];2679 -> 2696[label="",style="solid", color="black", weight=3]; 58.54/37.24 2680[label="(++) range00 GT (compare LT GT /= LT && GT >= EQ) foldr (++) [] (map (range0 LT EQ) [])",fontsize=16,color="black",shape="box"];2680 -> 2697[label="",style="solid", color="black", weight=3]; 58.54/37.24 2681[label="(++) range00 GT (compare LT GT /= LT && GT >= GT) foldr (++) [] (map (range0 LT GT) [])",fontsize=16,color="black",shape="box"];2681 -> 2698[label="",style="solid", color="black", weight=3]; 58.54/37.24 2682[label="(++) range00 EQ (not (compare2 EQ LT (EQ == LT) == LT)) foldr (++) [] (map (range0 EQ LT) (GT : []))",fontsize=16,color="black",shape="box"];2682 -> 2699[label="",style="solid", color="black", weight=3]; 58.54/37.24 2683[label="(++) range00 EQ (not (compare2 EQ EQ (EQ == EQ) == LT)) foldr (++) [] (map (range0 EQ EQ) (GT : []))",fontsize=16,color="black",shape="box"];2683 -> 2700[label="",style="solid", color="black", weight=3]; 58.54/37.24 2684[label="(++) range00 EQ (not (compare2 EQ GT (EQ == GT) == LT)) foldr (++) [] (map (range0 EQ GT) (GT : []))",fontsize=16,color="black",shape="box"];2684 -> 2701[label="",style="solid", color="black", weight=3]; 58.54/37.24 2685[label="(++) range00 EQ (EQ >= LT) foldr (++) [] (map (range0 GT LT) (GT : []))",fontsize=16,color="black",shape="box"];2685 -> 2702[label="",style="solid", color="black", weight=3]; 58.54/37.24 2686[label="(++) range00 EQ (EQ >= EQ) foldr (++) [] (map (range0 GT EQ) (GT : []))",fontsize=16,color="black",shape="box"];2686 -> 2703[label="",style="solid", color="black", weight=3]; 58.54/37.24 2687[label="(++) range00 EQ (EQ >= GT) foldr (++) [] (map (range0 GT GT) (GT : []))",fontsize=16,color="black",shape="box"];2687 -> 2704[label="",style="solid", color="black", weight=3]; 58.54/37.24 2688[label="(++) range60 True (not (compare2 True False (True == False) == LT)) foldr (++) [] (map (range6 True False) [])",fontsize=16,color="black",shape="box"];2688 -> 2705[label="",style="solid", color="black", weight=3]; 58.54/37.24 2689[label="(++) range60 True (not (compare2 True True (True == True) == LT)) foldr (++) [] (map (range6 True True) [])",fontsize=16,color="black",shape="box"];2689 -> 2706[label="",style="solid", color="black", weight=3]; 58.54/37.24 2696[label="(++) range00 GT (not (compare LT GT == LT) && GT >= LT) foldr (++) [] (map (range0 LT LT) [])",fontsize=16,color="black",shape="box"];2696 -> 2713[label="",style="solid", color="black", weight=3]; 58.54/37.24 2697[label="(++) range00 GT (not (compare LT GT == LT) && GT >= EQ) foldr (++) [] (map (range0 LT EQ) [])",fontsize=16,color="black",shape="box"];2697 -> 2714[label="",style="solid", color="black", weight=3]; 58.54/37.24 2698[label="(++) range00 GT (not (compare LT GT == LT) && GT >= GT) foldr (++) [] (map (range0 LT GT) [])",fontsize=16,color="black",shape="box"];2698 -> 2715[label="",style="solid", color="black", weight=3]; 58.54/37.24 2699[label="(++) range00 EQ (not (compare2 EQ LT False == LT)) foldr (++) [] (map (range0 EQ LT) (GT : []))",fontsize=16,color="black",shape="box"];2699 -> 2716[label="",style="solid", color="black", weight=3]; 58.54/37.24 2700[label="(++) range00 EQ (not (compare2 EQ EQ True == LT)) foldr (++) [] (map (range0 EQ EQ) (GT : []))",fontsize=16,color="black",shape="box"];2700 -> 2717[label="",style="solid", color="black", weight=3]; 58.54/37.24 2701[label="(++) range00 EQ (not (compare2 EQ GT False == LT)) foldr (++) [] (map (range0 EQ GT) (GT : []))",fontsize=16,color="black",shape="box"];2701 -> 2718[label="",style="solid", color="black", weight=3]; 58.54/37.24 2702[label="(++) range00 EQ (compare EQ LT /= LT) foldr (++) [] (map (range0 GT LT) (GT : []))",fontsize=16,color="black",shape="box"];2702 -> 2719[label="",style="solid", color="black", weight=3]; 58.54/37.24 2703[label="(++) range00 EQ (compare EQ EQ /= LT) foldr (++) [] (map (range0 GT EQ) (GT : []))",fontsize=16,color="black",shape="box"];2703 -> 2720[label="",style="solid", color="black", weight=3]; 58.54/37.24 2704[label="(++) range00 EQ (compare EQ GT /= LT) foldr (++) [] (map (range0 GT GT) (GT : []))",fontsize=16,color="black",shape="box"];2704 -> 2721[label="",style="solid", color="black", weight=3]; 58.54/37.24 2705[label="(++) range60 True (not (compare2 True False False == LT)) foldr (++) [] (map (range6 True False) [])",fontsize=16,color="black",shape="box"];2705 -> 2722[label="",style="solid", color="black", weight=3]; 58.54/37.24 2706[label="(++) range60 True (not (compare2 True True True == LT)) foldr (++) [] (map (range6 True True) [])",fontsize=16,color="black",shape="box"];2706 -> 2723[label="",style="solid", color="black", weight=3]; 58.54/37.24 2713[label="(++) range00 GT (not (compare3 LT GT == LT) && GT >= LT) foldr (++) [] (map (range0 LT LT) [])",fontsize=16,color="black",shape="box"];2713 -> 2730[label="",style="solid", color="black", weight=3]; 58.54/37.24 2714[label="(++) range00 GT (not (compare3 LT GT == LT) && GT >= EQ) foldr (++) [] (map (range0 LT EQ) [])",fontsize=16,color="black",shape="box"];2714 -> 2731[label="",style="solid", color="black", weight=3]; 58.54/37.24 2715[label="(++) range00 GT (not (compare3 LT GT == LT) && GT >= GT) foldr (++) [] (map (range0 LT GT) [])",fontsize=16,color="black",shape="box"];2715 -> 2732[label="",style="solid", color="black", weight=3]; 58.54/37.24 2716[label="(++) range00 EQ (not (compare1 EQ LT (EQ <= LT) == LT)) foldr (++) [] (map (range0 EQ LT) (GT : []))",fontsize=16,color="black",shape="box"];2716 -> 2733[label="",style="solid", color="black", weight=3]; 58.54/37.24 2717[label="(++) range00 EQ (not (EQ == LT)) foldr (++) [] (map (range0 EQ EQ) (GT : []))",fontsize=16,color="black",shape="box"];2717 -> 2734[label="",style="solid", color="black", weight=3]; 58.54/37.24 2718[label="(++) range00 EQ (not (compare1 EQ GT (EQ <= GT) == LT)) foldr (++) [] (map (range0 EQ GT) (GT : []))",fontsize=16,color="black",shape="box"];2718 -> 2735[label="",style="solid", color="black", weight=3]; 58.54/37.24 2719[label="(++) range00 EQ (not (compare EQ LT == LT)) foldr (++) [] (map (range0 GT LT) (GT : []))",fontsize=16,color="black",shape="box"];2719 -> 2736[label="",style="solid", color="black", weight=3]; 58.54/37.24 2720[label="(++) range00 EQ (not (compare EQ EQ == LT)) foldr (++) [] (map (range0 GT EQ) (GT : []))",fontsize=16,color="black",shape="box"];2720 -> 2737[label="",style="solid", color="black", weight=3]; 58.54/37.24 2721[label="(++) range00 EQ (not (compare EQ GT == LT)) foldr (++) [] (map (range0 GT GT) (GT : []))",fontsize=16,color="black",shape="box"];2721 -> 2738[label="",style="solid", color="black", weight=3]; 58.54/37.24 2722[label="(++) range60 True (not (compare1 True False (True <= False) == LT)) foldr (++) [] (map (range6 True False) [])",fontsize=16,color="black",shape="box"];2722 -> 2739[label="",style="solid", color="black", weight=3]; 58.54/37.24 2723[label="(++) range60 True (not (EQ == LT)) foldr (++) [] (map (range6 True True) [])",fontsize=16,color="black",shape="box"];2723 -> 2740[label="",style="solid", color="black", weight=3]; 58.54/37.24 2730[label="(++) range00 GT (not (compare2 LT GT (LT == GT) == LT) && GT >= LT) foldr (++) [] (map (range0 LT LT) [])",fontsize=16,color="black",shape="box"];2730 -> 2743[label="",style="solid", color="black", weight=3]; 58.54/37.24 2731[label="(++) range00 GT (not (compare2 LT GT (LT == GT) == LT) && GT >= EQ) foldr (++) [] (map (range0 LT EQ) [])",fontsize=16,color="black",shape="box"];2731 -> 2744[label="",style="solid", color="black", weight=3]; 58.54/37.24 2732[label="(++) range00 GT (not (compare2 LT GT (LT == GT) == LT) && GT >= GT) foldr (++) [] (map (range0 LT GT) [])",fontsize=16,color="black",shape="box"];2732 -> 2745[label="",style="solid", color="black", weight=3]; 58.54/37.24 2733[label="(++) range00 EQ (not (compare1 EQ LT False == LT)) foldr (++) [] (map (range0 EQ LT) (GT : []))",fontsize=16,color="black",shape="box"];2733 -> 2746[label="",style="solid", color="black", weight=3]; 58.54/37.24 2734[label="(++) range00 EQ (not False) foldr (++) [] (map (range0 EQ EQ) (GT : []))",fontsize=16,color="black",shape="box"];2734 -> 2747[label="",style="solid", color="black", weight=3]; 58.54/37.24 2735[label="(++) range00 EQ (not (compare1 EQ GT True == LT)) foldr (++) [] (map (range0 EQ GT) (GT : []))",fontsize=16,color="black",shape="box"];2735 -> 2748[label="",style="solid", color="black", weight=3]; 58.54/37.24 2736[label="(++) range00 EQ (not (compare3 EQ LT == LT)) foldr (++) [] (map (range0 GT LT) (GT : []))",fontsize=16,color="black",shape="box"];2736 -> 2749[label="",style="solid", color="black", weight=3]; 58.54/37.24 2737[label="(++) range00 EQ (not (compare3 EQ EQ == LT)) foldr (++) [] (map (range0 GT EQ) (GT : []))",fontsize=16,color="black",shape="box"];2737 -> 2750[label="",style="solid", color="black", weight=3]; 58.54/37.24 2738[label="(++) range00 EQ (not (compare3 EQ GT == LT)) foldr (++) [] (map (range0 GT GT) (GT : []))",fontsize=16,color="black",shape="box"];2738 -> 2751[label="",style="solid", color="black", weight=3]; 58.54/37.24 2739[label="(++) range60 True (not (compare1 True False False == LT)) foldr (++) [] (map (range6 True False) [])",fontsize=16,color="black",shape="box"];2739 -> 2752[label="",style="solid", color="black", weight=3]; 58.54/37.24 2740[label="(++) range60 True (not False) foldr (++) [] (map (range6 True True) [])",fontsize=16,color="black",shape="box"];2740 -> 2753[label="",style="solid", color="black", weight=3]; 58.54/37.24 2743[label="(++) range00 GT (not (compare2 LT GT False == LT) && GT >= LT) foldr (++) [] (map (range0 LT LT) [])",fontsize=16,color="black",shape="box"];2743 -> 2756[label="",style="solid", color="black", weight=3]; 58.54/37.24 2744[label="(++) range00 GT (not (compare2 LT GT False == LT) && GT >= EQ) foldr (++) [] (map (range0 LT EQ) [])",fontsize=16,color="black",shape="box"];2744 -> 2757[label="",style="solid", color="black", weight=3]; 58.54/37.24 2745[label="(++) range00 GT (not (compare2 LT GT False == LT) && GT >= GT) foldr (++) [] (map (range0 LT GT) [])",fontsize=16,color="black",shape="box"];2745 -> 2758[label="",style="solid", color="black", weight=3]; 58.54/37.24 2746[label="(++) range00 EQ (not (compare0 EQ LT otherwise == LT)) foldr (++) [] (map (range0 EQ LT) (GT : []))",fontsize=16,color="black",shape="box"];2746 -> 2759[label="",style="solid", color="black", weight=3]; 58.54/37.24 2747[label="(++) range00 EQ True foldr (++) [] (map (range0 EQ EQ) (GT : []))",fontsize=16,color="black",shape="box"];2747 -> 2760[label="",style="solid", color="black", weight=3]; 58.54/37.24 2748[label="(++) range00 EQ (not (LT == LT)) foldr (++) [] (map (range0 EQ GT) (GT : []))",fontsize=16,color="black",shape="box"];2748 -> 2761[label="",style="solid", color="black", weight=3]; 58.54/37.24 2749[label="(++) range00 EQ (not (compare2 EQ LT (EQ == LT) == LT)) foldr (++) [] (map (range0 GT LT) (GT : []))",fontsize=16,color="black",shape="box"];2749 -> 2762[label="",style="solid", color="black", weight=3]; 58.54/37.24 2750[label="(++) range00 EQ (not (compare2 EQ EQ (EQ == EQ) == LT)) foldr (++) [] (map (range0 GT EQ) (GT : []))",fontsize=16,color="black",shape="box"];2750 -> 2763[label="",style="solid", color="black", weight=3]; 58.54/37.24 2751[label="(++) range00 EQ (not (compare2 EQ GT (EQ == GT) == LT)) foldr (++) [] (map (range0 GT GT) (GT : []))",fontsize=16,color="black",shape="box"];2751 -> 2764[label="",style="solid", color="black", weight=3]; 58.54/37.24 2752[label="(++) range60 True (not (compare0 True False otherwise == LT)) foldr (++) [] (map (range6 True False) [])",fontsize=16,color="black",shape="box"];2752 -> 2765[label="",style="solid", color="black", weight=3]; 58.54/37.24 2753[label="(++) range60 True True foldr (++) [] (map (range6 True True) [])",fontsize=16,color="black",shape="box"];2753 -> 2766[label="",style="solid", color="black", weight=3]; 58.54/37.24 2756[label="(++) range00 GT (not (compare1 LT GT (LT <= GT) == LT) && GT >= LT) foldr (++) [] (map (range0 LT LT) [])",fontsize=16,color="black",shape="box"];2756 -> 2775[label="",style="solid", color="black", weight=3]; 58.54/37.24 2757[label="(++) range00 GT (not (compare1 LT GT (LT <= GT) == LT) && GT >= EQ) foldr (++) [] (map (range0 LT EQ) [])",fontsize=16,color="black",shape="box"];2757 -> 2776[label="",style="solid", color="black", weight=3]; 58.54/37.24 2758[label="(++) range00 GT (not (compare1 LT GT (LT <= GT) == LT) && GT >= GT) foldr (++) [] (map (range0 LT GT) [])",fontsize=16,color="black",shape="box"];2758 -> 2777[label="",style="solid", color="black", weight=3]; 58.54/37.24 2759[label="(++) range00 EQ (not (compare0 EQ LT True == LT)) foldr (++) [] (map (range0 EQ LT) (GT : []))",fontsize=16,color="black",shape="box"];2759 -> 2778[label="",style="solid", color="black", weight=3]; 58.54/37.24 2760[label="(++) (EQ : []) foldr (++) [] (map (range0 EQ EQ) (GT : []))",fontsize=16,color="black",shape="box"];2760 -> 2779[label="",style="solid", color="black", weight=3]; 58.54/37.24 2761[label="(++) range00 EQ (not True) foldr (++) [] (map (range0 EQ GT) (GT : []))",fontsize=16,color="black",shape="box"];2761 -> 2780[label="",style="solid", color="black", weight=3]; 58.54/37.24 2762[label="(++) range00 EQ (not (compare2 EQ LT False == LT)) foldr (++) [] (map (range0 GT LT) (GT : []))",fontsize=16,color="black",shape="box"];2762 -> 2781[label="",style="solid", color="black", weight=3]; 58.54/37.24 2763[label="(++) range00 EQ (not (compare2 EQ EQ True == LT)) foldr (++) [] (map (range0 GT EQ) (GT : []))",fontsize=16,color="black",shape="box"];2763 -> 2782[label="",style="solid", color="black", weight=3]; 58.54/37.24 2764[label="(++) range00 EQ (not (compare2 EQ GT False == LT)) foldr (++) [] (map (range0 GT GT) (GT : []))",fontsize=16,color="black",shape="box"];2764 -> 2783[label="",style="solid", color="black", weight=3]; 58.54/37.24 2765[label="(++) range60 True (not (compare0 True False True == LT)) foldr (++) [] (map (range6 True False) [])",fontsize=16,color="black",shape="box"];2765 -> 2784[label="",style="solid", color="black", weight=3]; 58.54/37.24 2766[label="(++) (True : []) foldr (++) [] (map (range6 True True) [])",fontsize=16,color="black",shape="box"];2766 -> 2785[label="",style="solid", color="black", weight=3]; 58.54/37.24 2775[label="(++) range00 GT (not (compare1 LT GT True == LT) && GT >= LT) foldr (++) [] (map (range0 LT LT) [])",fontsize=16,color="black",shape="box"];2775 -> 2789[label="",style="solid", color="black", weight=3]; 58.54/37.24 2776[label="(++) range00 GT (not (compare1 LT GT True == LT) && GT >= EQ) foldr (++) [] (map (range0 LT EQ) [])",fontsize=16,color="black",shape="box"];2776 -> 2790[label="",style="solid", color="black", weight=3]; 58.54/37.24 2777[label="(++) range00 GT (not (compare1 LT GT True == LT) && GT >= GT) foldr (++) [] (map (range0 LT GT) [])",fontsize=16,color="black",shape="box"];2777 -> 2791[label="",style="solid", color="black", weight=3]; 58.54/37.24 2778[label="(++) range00 EQ (not (GT == LT)) foldr (++) [] (map (range0 EQ LT) (GT : []))",fontsize=16,color="black",shape="box"];2778 -> 2792[label="",style="solid", color="black", weight=3]; 58.54/37.24 2779[label="EQ : [] ++ foldr (++) [] (map (range0 EQ EQ) (GT : []))",fontsize=16,color="green",shape="box"];2779 -> 2793[label="",style="dashed", color="green", weight=3]; 58.54/37.24 2780[label="(++) range00 EQ False foldr (++) [] (map (range0 EQ GT) (GT : []))",fontsize=16,color="black",shape="box"];2780 -> 2794[label="",style="solid", color="black", weight=3]; 58.54/37.24 2781[label="(++) range00 EQ (not (compare1 EQ LT (EQ <= LT) == LT)) foldr (++) [] (map (range0 GT LT) (GT : []))",fontsize=16,color="black",shape="box"];2781 -> 2795[label="",style="solid", color="black", weight=3]; 58.54/37.24 2782[label="(++) range00 EQ (not (EQ == LT)) foldr (++) [] (map (range0 GT EQ) (GT : []))",fontsize=16,color="black",shape="box"];2782 -> 2796[label="",style="solid", color="black", weight=3]; 58.54/37.24 2783[label="(++) range00 EQ (not (compare1 EQ GT (EQ <= GT) == LT)) foldr (++) [] (map (range0 GT GT) (GT : []))",fontsize=16,color="black",shape="box"];2783 -> 2797[label="",style="solid", color="black", weight=3]; 58.54/37.24 2784[label="(++) range60 True (not (GT == LT)) foldr (++) [] (map (range6 True False) [])",fontsize=16,color="black",shape="box"];2784 -> 2798[label="",style="solid", color="black", weight=3]; 58.54/37.24 2785[label="True : [] ++ foldr (++) [] (map (range6 True True) [])",fontsize=16,color="green",shape="box"];2785 -> 2799[label="",style="dashed", color="green", weight=3]; 58.54/37.24 2789[label="(++) range00 GT (not (LT == LT) && GT >= LT) foldr (++) [] (map (range0 LT LT) [])",fontsize=16,color="black",shape="box"];2789 -> 2801[label="",style="solid", color="black", weight=3]; 58.54/37.24 2790[label="(++) range00 GT (not (LT == LT) && GT >= EQ) foldr (++) [] (map (range0 LT EQ) [])",fontsize=16,color="black",shape="box"];2790 -> 2802[label="",style="solid", color="black", weight=3]; 58.54/37.24 2791[label="(++) range00 GT (not (LT == LT) && GT >= GT) foldr (++) [] (map (range0 LT GT) [])",fontsize=16,color="black",shape="box"];2791 -> 2803[label="",style="solid", color="black", weight=3]; 58.54/37.24 2792[label="(++) range00 EQ (not False) foldr (++) [] (map (range0 EQ LT) (GT : []))",fontsize=16,color="black",shape="box"];2792 -> 2804[label="",style="solid", color="black", weight=3]; 58.54/37.24 2793[label="[] ++ foldr (++) [] (map (range0 EQ EQ) (GT : []))",fontsize=16,color="black",shape="box"];2793 -> 2805[label="",style="solid", color="black", weight=3]; 58.54/37.24 2794[label="(++) [] foldr (++) [] (map (range0 EQ GT) (GT : []))",fontsize=16,color="black",shape="box"];2794 -> 2806[label="",style="solid", color="black", weight=3]; 58.54/37.24 2795[label="(++) range00 EQ (not (compare1 EQ LT False == LT)) foldr (++) [] (map (range0 GT LT) (GT : []))",fontsize=16,color="black",shape="box"];2795 -> 2807[label="",style="solid", color="black", weight=3]; 58.54/37.24 2796[label="(++) range00 EQ (not False) foldr (++) [] (map (range0 GT EQ) (GT : []))",fontsize=16,color="black",shape="box"];2796 -> 2808[label="",style="solid", color="black", weight=3]; 58.54/37.24 2797[label="(++) range00 EQ (not (compare1 EQ GT True == LT)) foldr (++) [] (map (range0 GT GT) (GT : []))",fontsize=16,color="black",shape="box"];2797 -> 2809[label="",style="solid", color="black", weight=3]; 58.54/37.24 2798[label="(++) range60 True (not False) foldr (++) [] (map (range6 True False) [])",fontsize=16,color="black",shape="box"];2798 -> 2810[label="",style="solid", color="black", weight=3]; 58.54/37.24 2799[label="[] ++ foldr (++) [] (map (range6 True True) [])",fontsize=16,color="black",shape="box"];2799 -> 2811[label="",style="solid", color="black", weight=3]; 58.54/37.24 2801[label="(++) range00 GT (not True && GT >= LT) foldr (++) [] (map (range0 LT LT) [])",fontsize=16,color="black",shape="box"];2801 -> 2813[label="",style="solid", color="black", weight=3]; 58.54/37.24 2802[label="(++) range00 GT (not True && GT >= EQ) foldr (++) [] (map (range0 LT EQ) [])",fontsize=16,color="black",shape="box"];2802 -> 2814[label="",style="solid", color="black", weight=3]; 58.54/37.24 2803[label="(++) range00 GT (not True && GT >= GT) foldr (++) [] (map (range0 LT GT) [])",fontsize=16,color="black",shape="box"];2803 -> 2815[label="",style="solid", color="black", weight=3]; 58.54/37.24 2804[label="(++) range00 EQ True foldr (++) [] (map (range0 EQ LT) (GT : []))",fontsize=16,color="black",shape="box"];2804 -> 2816[label="",style="solid", color="black", weight=3]; 58.54/37.24 2805[label="foldr (++) [] (map (range0 EQ EQ) (GT : []))",fontsize=16,color="black",shape="box"];2805 -> 2817[label="",style="solid", color="black", weight=3]; 58.54/37.24 2806[label="foldr (++) [] (map (range0 EQ GT) (GT : []))",fontsize=16,color="black",shape="box"];2806 -> 2818[label="",style="solid", color="black", weight=3]; 58.54/37.24 2807[label="(++) range00 EQ (not (compare0 EQ LT otherwise == LT)) foldr (++) [] (map (range0 GT LT) (GT : []))",fontsize=16,color="black",shape="box"];2807 -> 2819[label="",style="solid", color="black", weight=3]; 58.54/37.24 2808[label="(++) range00 EQ True foldr (++) [] (map (range0 GT EQ) (GT : []))",fontsize=16,color="black",shape="box"];2808 -> 2820[label="",style="solid", color="black", weight=3]; 58.54/37.24 2809[label="(++) range00 EQ (not (LT == LT)) foldr (++) [] (map (range0 GT GT) (GT : []))",fontsize=16,color="black",shape="box"];2809 -> 2821[label="",style="solid", color="black", weight=3]; 58.54/37.24 2810[label="(++) range60 True True foldr (++) [] (map (range6 True False) [])",fontsize=16,color="black",shape="box"];2810 -> 2822[label="",style="solid", color="black", weight=3]; 58.54/37.24 2811[label="foldr (++) [] (map (range6 True True) [])",fontsize=16,color="black",shape="box"];2811 -> 2823[label="",style="solid", color="black", weight=3]; 58.54/37.24 2813[label="(++) range00 GT (False && GT >= LT) foldr (++) [] (map (range0 LT LT) [])",fontsize=16,color="black",shape="box"];2813 -> 2825[label="",style="solid", color="black", weight=3]; 58.54/37.24 2814[label="(++) range00 GT (False && GT >= EQ) foldr (++) [] (map (range0 LT EQ) [])",fontsize=16,color="black",shape="box"];2814 -> 2826[label="",style="solid", color="black", weight=3]; 58.54/37.24 2815[label="(++) range00 GT (False && GT >= GT) foldr (++) [] (map (range0 LT GT) [])",fontsize=16,color="black",shape="box"];2815 -> 2827[label="",style="solid", color="black", weight=3]; 58.54/37.24 2816[label="(++) (EQ : []) foldr (++) [] (map (range0 EQ LT) (GT : []))",fontsize=16,color="black",shape="box"];2816 -> 2828[label="",style="solid", color="black", weight=3]; 58.54/37.24 2817[label="foldr (++) [] (range0 EQ EQ GT : map (range0 EQ EQ) [])",fontsize=16,color="black",shape="box"];2817 -> 2829[label="",style="solid", color="black", weight=3]; 58.54/37.24 2818[label="foldr (++) [] (range0 EQ GT GT : map (range0 EQ GT) [])",fontsize=16,color="black",shape="box"];2818 -> 2830[label="",style="solid", color="black", weight=3]; 58.54/37.24 2819[label="(++) range00 EQ (not (compare0 EQ LT True == LT)) foldr (++) [] (map (range0 GT LT) (GT : []))",fontsize=16,color="black",shape="box"];2819 -> 2831[label="",style="solid", color="black", weight=3]; 58.54/37.24 2820[label="(++) (EQ : []) foldr (++) [] (map (range0 GT EQ) (GT : []))",fontsize=16,color="black",shape="box"];2820 -> 2832[label="",style="solid", color="black", weight=3]; 58.54/37.24 2821[label="(++) range00 EQ (not True) foldr (++) [] (map (range0 GT GT) (GT : []))",fontsize=16,color="black",shape="box"];2821 -> 2833[label="",style="solid", color="black", weight=3]; 58.54/37.24 2822[label="(++) (True : []) foldr (++) [] (map (range6 True False) [])",fontsize=16,color="black",shape="box"];2822 -> 2834[label="",style="solid", color="black", weight=3]; 58.54/37.24 2823 -> 2627[label="",style="dashed", color="red", weight=0]; 58.54/37.24 2823[label="foldr (++) [] []",fontsize=16,color="magenta"];2825[label="(++) range00 GT False foldr (++) [] (map (range0 LT LT) [])",fontsize=16,color="black",shape="box"];2825 -> 2835[label="",style="solid", color="black", weight=3]; 58.54/37.24 2826[label="(++) range00 GT False foldr (++) [] (map (range0 LT EQ) [])",fontsize=16,color="black",shape="box"];2826 -> 2836[label="",style="solid", color="black", weight=3]; 58.54/37.24 2827[label="(++) range00 GT False foldr (++) [] (map (range0 LT GT) [])",fontsize=16,color="black",shape="box"];2827 -> 2837[label="",style="solid", color="black", weight=3]; 58.54/37.24 2828[label="EQ : [] ++ foldr (++) [] (map (range0 EQ LT) (GT : []))",fontsize=16,color="green",shape="box"];2828 -> 2838[label="",style="dashed", color="green", weight=3]; 58.54/37.24 2829[label="(++) range0 EQ EQ GT foldr (++) [] (map (range0 EQ EQ) [])",fontsize=16,color="black",shape="box"];2829 -> 2839[label="",style="solid", color="black", weight=3]; 58.54/37.24 2830[label="(++) range0 EQ GT GT foldr (++) [] (map (range0 EQ GT) [])",fontsize=16,color="black",shape="box"];2830 -> 2840[label="",style="solid", color="black", weight=3]; 58.54/37.24 2831[label="(++) range00 EQ (not (GT == LT)) foldr (++) [] (map (range0 GT LT) (GT : []))",fontsize=16,color="black",shape="box"];2831 -> 2841[label="",style="solid", color="black", weight=3]; 58.54/37.24 2832[label="EQ : [] ++ foldr (++) [] (map (range0 GT EQ) (GT : []))",fontsize=16,color="green",shape="box"];2832 -> 2842[label="",style="dashed", color="green", weight=3]; 58.54/37.24 2833[label="(++) range00 EQ False foldr (++) [] (map (range0 GT GT) (GT : []))",fontsize=16,color="black",shape="box"];2833 -> 2843[label="",style="solid", color="black", weight=3]; 58.54/37.24 2834[label="True : [] ++ foldr (++) [] (map (range6 True False) [])",fontsize=16,color="green",shape="box"];2834 -> 2844[label="",style="dashed", color="green", weight=3]; 58.54/37.24 2835[label="(++) [] foldr (++) [] (map (range0 LT LT) [])",fontsize=16,color="black",shape="box"];2835 -> 2845[label="",style="solid", color="black", weight=3]; 58.54/37.24 2836[label="(++) [] foldr (++) [] (map (range0 LT EQ) [])",fontsize=16,color="black",shape="box"];2836 -> 2846[label="",style="solid", color="black", weight=3]; 58.54/37.24 2837[label="(++) [] foldr (++) [] (map (range0 LT GT) [])",fontsize=16,color="black",shape="box"];2837 -> 2847[label="",style="solid", color="black", weight=3]; 58.54/37.24 2838[label="[] ++ foldr (++) [] (map (range0 EQ LT) (GT : []))",fontsize=16,color="black",shape="box"];2838 -> 2848[label="",style="solid", color="black", weight=3]; 58.54/37.24 2839[label="(++) range00 GT (EQ >= GT && GT >= EQ) foldr (++) [] (map (range0 EQ EQ) [])",fontsize=16,color="black",shape="box"];2839 -> 2849[label="",style="solid", color="black", weight=3]; 58.54/37.24 2840[label="(++) range00 GT (EQ >= GT && GT >= GT) foldr (++) [] (map (range0 EQ GT) [])",fontsize=16,color="black",shape="box"];2840 -> 2850[label="",style="solid", color="black", weight=3]; 58.54/37.24 2841[label="(++) range00 EQ (not False) foldr (++) [] (map (range0 GT LT) (GT : []))",fontsize=16,color="black",shape="box"];2841 -> 2851[label="",style="solid", color="black", weight=3]; 58.54/37.24 2842[label="[] ++ foldr (++) [] (map (range0 GT EQ) (GT : []))",fontsize=16,color="black",shape="box"];2842 -> 2852[label="",style="solid", color="black", weight=3]; 58.54/37.24 2843[label="(++) [] foldr (++) [] (map (range0 GT GT) (GT : []))",fontsize=16,color="black",shape="box"];2843 -> 2853[label="",style="solid", color="black", weight=3]; 58.54/37.24 2844[label="[] ++ foldr (++) [] (map (range6 True False) [])",fontsize=16,color="black",shape="box"];2844 -> 2854[label="",style="solid", color="black", weight=3]; 58.54/37.24 2845[label="foldr (++) [] (map (range0 LT LT) [])",fontsize=16,color="black",shape="box"];2845 -> 2855[label="",style="solid", color="black", weight=3]; 58.54/37.24 2846[label="foldr (++) [] (map (range0 LT EQ) [])",fontsize=16,color="black",shape="box"];2846 -> 2856[label="",style="solid", color="black", weight=3]; 58.54/37.24 2847[label="foldr (++) [] (map (range0 LT GT) [])",fontsize=16,color="black",shape="box"];2847 -> 2857[label="",style="solid", color="black", weight=3]; 58.54/37.24 2848[label="foldr (++) [] (map (range0 EQ LT) (GT : []))",fontsize=16,color="black",shape="box"];2848 -> 2858[label="",style="solid", color="black", weight=3]; 58.54/37.24 2849[label="(++) range00 GT (compare EQ GT /= LT && GT >= EQ) foldr (++) [] (map (range0 EQ EQ) [])",fontsize=16,color="black",shape="box"];2849 -> 2859[label="",style="solid", color="black", weight=3]; 58.54/37.24 2850[label="(++) range00 GT (compare EQ GT /= LT && GT >= GT) foldr (++) [] (map (range0 EQ GT) [])",fontsize=16,color="black",shape="box"];2850 -> 2860[label="",style="solid", color="black", weight=3]; 58.54/37.24 2851[label="(++) range00 EQ True foldr (++) [] (map (range0 GT LT) (GT : []))",fontsize=16,color="black",shape="box"];2851 -> 2861[label="",style="solid", color="black", weight=3]; 58.54/37.24 2852[label="foldr (++) [] (map (range0 GT EQ) (GT : []))",fontsize=16,color="black",shape="box"];2852 -> 2862[label="",style="solid", color="black", weight=3]; 58.54/37.24 2853[label="foldr (++) [] (map (range0 GT GT) (GT : []))",fontsize=16,color="black",shape="box"];2853 -> 2863[label="",style="solid", color="black", weight=3]; 58.54/37.24 2854[label="foldr (++) [] (map (range6 True False) [])",fontsize=16,color="black",shape="box"];2854 -> 2864[label="",style="solid", color="black", weight=3]; 58.54/37.24 2855[label="foldr (++) [] []",fontsize=16,color="black",shape="triangle"];2855 -> 2865[label="",style="solid", color="black", weight=3]; 58.54/37.24 2856 -> 2855[label="",style="dashed", color="red", weight=0]; 58.54/37.24 2856[label="foldr (++) [] []",fontsize=16,color="magenta"];2857 -> 2855[label="",style="dashed", color="red", weight=0]; 58.54/37.24 2857[label="foldr (++) [] []",fontsize=16,color="magenta"];2858[label="foldr (++) [] (range0 EQ LT GT : map (range0 EQ LT) [])",fontsize=16,color="black",shape="box"];2858 -> 2866[label="",style="solid", color="black", weight=3]; 58.54/37.24 2859[label="(++) range00 GT (not (compare EQ GT == LT) && GT >= EQ) foldr (++) [] (map (range0 EQ EQ) [])",fontsize=16,color="black",shape="box"];2859 -> 2867[label="",style="solid", color="black", weight=3]; 58.54/37.24 2860[label="(++) range00 GT (not (compare EQ GT == LT) && GT >= GT) foldr (++) [] (map (range0 EQ GT) [])",fontsize=16,color="black",shape="box"];2860 -> 2868[label="",style="solid", color="black", weight=3]; 58.54/37.24 2861[label="(++) (EQ : []) foldr (++) [] (map (range0 GT LT) (GT : []))",fontsize=16,color="black",shape="box"];2861 -> 2869[label="",style="solid", color="black", weight=3]; 58.54/37.24 2862[label="foldr (++) [] (range0 GT EQ GT : map (range0 GT EQ) [])",fontsize=16,color="black",shape="box"];2862 -> 2870[label="",style="solid", color="black", weight=3]; 58.54/37.24 2863[label="foldr (++) [] (range0 GT GT GT : map (range0 GT GT) [])",fontsize=16,color="black",shape="box"];2863 -> 2871[label="",style="solid", color="black", weight=3]; 58.54/37.24 2864 -> 2627[label="",style="dashed", color="red", weight=0]; 58.54/37.24 2864[label="foldr (++) [] []",fontsize=16,color="magenta"];2865[label="[]",fontsize=16,color="green",shape="box"];2866[label="(++) range0 EQ LT GT foldr (++) [] (map (range0 EQ LT) [])",fontsize=16,color="black",shape="box"];2866 -> 2872[label="",style="solid", color="black", weight=3]; 58.54/37.24 2867[label="(++) range00 GT (not (compare3 EQ GT == LT) && GT >= EQ) foldr (++) [] (map (range0 EQ EQ) [])",fontsize=16,color="black",shape="box"];2867 -> 2873[label="",style="solid", color="black", weight=3]; 58.54/37.24 2868[label="(++) range00 GT (not (compare3 EQ GT == LT) && GT >= GT) foldr (++) [] (map (range0 EQ GT) [])",fontsize=16,color="black",shape="box"];2868 -> 2874[label="",style="solid", color="black", weight=3]; 58.54/37.24 2869[label="EQ : [] ++ foldr (++) [] (map (range0 GT LT) (GT : []))",fontsize=16,color="green",shape="box"];2869 -> 2875[label="",style="dashed", color="green", weight=3]; 58.54/37.24 2870[label="(++) range0 GT EQ GT foldr (++) [] (map (range0 GT EQ) [])",fontsize=16,color="black",shape="box"];2870 -> 2876[label="",style="solid", color="black", weight=3]; 58.54/37.24 2871[label="(++) range0 GT GT GT foldr (++) [] (map (range0 GT GT) [])",fontsize=16,color="black",shape="box"];2871 -> 2877[label="",style="solid", color="black", weight=3]; 58.54/37.24 2872[label="(++) range00 GT (EQ >= GT && GT >= LT) foldr (++) [] (map (range0 EQ LT) [])",fontsize=16,color="black",shape="box"];2872 -> 2878[label="",style="solid", color="black", weight=3]; 58.54/37.24 2873[label="(++) range00 GT (not (compare2 EQ GT (EQ == GT) == LT) && GT >= EQ) foldr (++) [] (map (range0 EQ EQ) [])",fontsize=16,color="black",shape="box"];2873 -> 2879[label="",style="solid", color="black", weight=3]; 58.54/37.24 2874[label="(++) range00 GT (not (compare2 EQ GT (EQ == GT) == LT) && GT >= GT) foldr (++) [] (map (range0 EQ GT) [])",fontsize=16,color="black",shape="box"];2874 -> 2880[label="",style="solid", color="black", weight=3]; 58.54/37.24 2875[label="[] ++ foldr (++) [] (map (range0 GT LT) (GT : []))",fontsize=16,color="black",shape="box"];2875 -> 2881[label="",style="solid", color="black", weight=3]; 58.54/37.24 2876[label="(++) range00 GT (GT >= GT && GT >= EQ) foldr (++) [] (map (range0 GT EQ) [])",fontsize=16,color="black",shape="box"];2876 -> 2882[label="",style="solid", color="black", weight=3]; 58.54/37.24 2877[label="(++) range00 GT (GT >= GT && GT >= GT) foldr (++) [] (map (range0 GT GT) [])",fontsize=16,color="black",shape="box"];2877 -> 2883[label="",style="solid", color="black", weight=3]; 58.54/37.24 2878[label="(++) range00 GT (compare EQ GT /= LT && GT >= LT) foldr (++) [] (map (range0 EQ LT) [])",fontsize=16,color="black",shape="box"];2878 -> 2884[label="",style="solid", color="black", weight=3]; 58.54/37.24 2879[label="(++) range00 GT (not (compare2 EQ GT False == LT) && GT >= EQ) foldr (++) [] (map (range0 EQ EQ) [])",fontsize=16,color="black",shape="box"];2879 -> 2885[label="",style="solid", color="black", weight=3]; 58.54/37.24 2880[label="(++) range00 GT (not (compare2 EQ GT False == LT) && GT >= GT) foldr (++) [] (map (range0 EQ GT) [])",fontsize=16,color="black",shape="box"];2880 -> 2886[label="",style="solid", color="black", weight=3]; 58.54/37.24 2881[label="foldr (++) [] (map (range0 GT LT) (GT : []))",fontsize=16,color="black",shape="box"];2881 -> 2887[label="",style="solid", color="black", weight=3]; 58.54/37.24 2882[label="(++) range00 GT (compare GT GT /= LT && GT >= EQ) foldr (++) [] (map (range0 GT EQ) [])",fontsize=16,color="black",shape="box"];2882 -> 2888[label="",style="solid", color="black", weight=3]; 58.54/37.24 2883[label="(++) range00 GT (compare GT GT /= LT && GT >= GT) foldr (++) [] (map (range0 GT GT) [])",fontsize=16,color="black",shape="box"];2883 -> 2889[label="",style="solid", color="black", weight=3]; 58.54/37.24 2884[label="(++) range00 GT (not (compare EQ GT == LT) && GT >= LT) foldr (++) [] (map (range0 EQ LT) [])",fontsize=16,color="black",shape="box"];2884 -> 2890[label="",style="solid", color="black", weight=3]; 58.54/37.24 2885[label="(++) range00 GT (not (compare1 EQ GT (EQ <= GT) == LT) && GT >= EQ) foldr (++) [] (map (range0 EQ EQ) [])",fontsize=16,color="black",shape="box"];2885 -> 2891[label="",style="solid", color="black", weight=3]; 58.54/37.24 2886[label="(++) range00 GT (not (compare1 EQ GT (EQ <= GT) == LT) && GT >= GT) foldr (++) [] (map (range0 EQ GT) [])",fontsize=16,color="black",shape="box"];2886 -> 2892[label="",style="solid", color="black", weight=3]; 58.54/37.24 2887[label="foldr (++) [] (range0 GT LT GT : map (range0 GT LT) [])",fontsize=16,color="black",shape="box"];2887 -> 2893[label="",style="solid", color="black", weight=3]; 58.54/37.24 2888[label="(++) range00 GT (not (compare GT GT == LT) && GT >= EQ) foldr (++) [] (map (range0 GT EQ) [])",fontsize=16,color="black",shape="box"];2888 -> 2894[label="",style="solid", color="black", weight=3]; 58.54/37.24 2889[label="(++) range00 GT (not (compare GT GT == LT) && GT >= GT) foldr (++) [] (map (range0 GT GT) [])",fontsize=16,color="black",shape="box"];2889 -> 2895[label="",style="solid", color="black", weight=3]; 58.54/37.24 2890[label="(++) range00 GT (not (compare3 EQ GT == LT) && GT >= LT) foldr (++) [] (map (range0 EQ LT) [])",fontsize=16,color="black",shape="box"];2890 -> 2896[label="",style="solid", color="black", weight=3]; 58.54/37.24 2891[label="(++) range00 GT (not (compare1 EQ GT True == LT) && GT >= EQ) foldr (++) [] (map (range0 EQ EQ) [])",fontsize=16,color="black",shape="box"];2891 -> 2897[label="",style="solid", color="black", weight=3]; 58.54/37.24 2892[label="(++) range00 GT (not (compare1 EQ GT True == LT) && GT >= GT) foldr (++) [] (map (range0 EQ GT) [])",fontsize=16,color="black",shape="box"];2892 -> 2898[label="",style="solid", color="black", weight=3]; 58.54/37.24 2893[label="(++) range0 GT LT GT foldr (++) [] (map (range0 GT LT) [])",fontsize=16,color="black",shape="box"];2893 -> 2899[label="",style="solid", color="black", weight=3]; 58.54/37.24 2894[label="(++) range00 GT (not (compare3 GT GT == LT) && GT >= EQ) foldr (++) [] (map (range0 GT EQ) [])",fontsize=16,color="black",shape="box"];2894 -> 2900[label="",style="solid", color="black", weight=3]; 58.54/37.24 2895[label="(++) range00 GT (not (compare3 GT GT == LT) && GT >= GT) foldr (++) [] (map (range0 GT GT) [])",fontsize=16,color="black",shape="box"];2895 -> 2901[label="",style="solid", color="black", weight=3]; 58.54/37.24 2896[label="(++) range00 GT (not (compare2 EQ GT (EQ == GT) == LT) && GT >= LT) foldr (++) [] (map (range0 EQ LT) [])",fontsize=16,color="black",shape="box"];2896 -> 2902[label="",style="solid", color="black", weight=3]; 58.54/37.24 2897[label="(++) range00 GT (not (LT == LT) && GT >= EQ) foldr (++) [] (map (range0 EQ EQ) [])",fontsize=16,color="black",shape="box"];2897 -> 2903[label="",style="solid", color="black", weight=3]; 58.54/37.24 2898[label="(++) range00 GT (not (LT == LT) && GT >= GT) foldr (++) [] (map (range0 EQ GT) [])",fontsize=16,color="black",shape="box"];2898 -> 2904[label="",style="solid", color="black", weight=3]; 58.54/37.24 2899[label="(++) range00 GT (GT >= GT && GT >= LT) foldr (++) [] (map (range0 GT LT) [])",fontsize=16,color="black",shape="box"];2899 -> 2905[label="",style="solid", color="black", weight=3]; 58.54/37.24 2900[label="(++) range00 GT (not (compare2 GT GT (GT == GT) == LT) && GT >= EQ) foldr (++) [] (map (range0 GT EQ) [])",fontsize=16,color="black",shape="box"];2900 -> 2906[label="",style="solid", color="black", weight=3]; 58.54/37.24 2901[label="(++) range00 GT (not (compare2 GT GT (GT == GT) == LT) && GT >= GT) foldr (++) [] (map (range0 GT GT) [])",fontsize=16,color="black",shape="box"];2901 -> 2907[label="",style="solid", color="black", weight=3]; 58.54/37.24 2902[label="(++) range00 GT (not (compare2 EQ GT False == LT) && GT >= LT) foldr (++) [] (map (range0 EQ LT) [])",fontsize=16,color="black",shape="box"];2902 -> 2908[label="",style="solid", color="black", weight=3]; 58.54/37.24 2903[label="(++) range00 GT (not True && GT >= EQ) foldr (++) [] (map (range0 EQ EQ) [])",fontsize=16,color="black",shape="box"];2903 -> 2909[label="",style="solid", color="black", weight=3]; 58.54/37.24 2904[label="(++) range00 GT (not True && GT >= GT) foldr (++) [] (map (range0 EQ GT) [])",fontsize=16,color="black",shape="box"];2904 -> 2910[label="",style="solid", color="black", weight=3]; 58.54/37.24 2905[label="(++) range00 GT (compare GT GT /= LT && GT >= LT) foldr (++) [] (map (range0 GT LT) [])",fontsize=16,color="black",shape="box"];2905 -> 2911[label="",style="solid", color="black", weight=3]; 58.54/37.24 2906[label="(++) range00 GT (not (compare2 GT GT True == LT) && GT >= EQ) foldr (++) [] (map (range0 GT EQ) [])",fontsize=16,color="black",shape="box"];2906 -> 2912[label="",style="solid", color="black", weight=3]; 58.54/37.24 2907[label="(++) range00 GT (not (compare2 GT GT True == LT) && GT >= GT) foldr (++) [] (map (range0 GT GT) [])",fontsize=16,color="black",shape="box"];2907 -> 2913[label="",style="solid", color="black", weight=3]; 58.54/37.24 2908[label="(++) range00 GT (not (compare1 EQ GT (EQ <= GT) == LT) && GT >= LT) foldr (++) [] (map (range0 EQ LT) [])",fontsize=16,color="black",shape="box"];2908 -> 2914[label="",style="solid", color="black", weight=3]; 58.54/37.24 2909[label="(++) range00 GT (False && GT >= EQ) foldr (++) [] (map (range0 EQ EQ) [])",fontsize=16,color="black",shape="box"];2909 -> 2915[label="",style="solid", color="black", weight=3]; 58.54/37.24 2910[label="(++) range00 GT (False && GT >= GT) foldr (++) [] (map (range0 EQ GT) [])",fontsize=16,color="black",shape="box"];2910 -> 2916[label="",style="solid", color="black", weight=3]; 58.54/37.24 2911[label="(++) range00 GT (not (compare GT GT == LT) && GT >= LT) foldr (++) [] (map (range0 GT LT) [])",fontsize=16,color="black",shape="box"];2911 -> 2917[label="",style="solid", color="black", weight=3]; 58.54/37.24 2912[label="(++) range00 GT (not (EQ == LT) && GT >= EQ) foldr (++) [] (map (range0 GT EQ) [])",fontsize=16,color="black",shape="box"];2912 -> 2918[label="",style="solid", color="black", weight=3]; 58.54/37.24 2913[label="(++) range00 GT (not (EQ == LT) && GT >= GT) foldr (++) [] (map (range0 GT GT) [])",fontsize=16,color="black",shape="box"];2913 -> 2919[label="",style="solid", color="black", weight=3]; 58.54/37.24 2914[label="(++) range00 GT (not (compare1 EQ GT True == LT) && GT >= LT) foldr (++) [] (map (range0 EQ LT) [])",fontsize=16,color="black",shape="box"];2914 -> 2920[label="",style="solid", color="black", weight=3]; 58.54/37.24 2915[label="(++) range00 GT False foldr (++) [] (map (range0 EQ EQ) [])",fontsize=16,color="black",shape="box"];2915 -> 2921[label="",style="solid", color="black", weight=3]; 58.54/37.24 2916[label="(++) range00 GT False foldr (++) [] (map (range0 EQ GT) [])",fontsize=16,color="black",shape="box"];2916 -> 2922[label="",style="solid", color="black", weight=3]; 58.54/37.24 2917[label="(++) range00 GT (not (compare3 GT GT == LT) && GT >= LT) foldr (++) [] (map (range0 GT LT) [])",fontsize=16,color="black",shape="box"];2917 -> 2923[label="",style="solid", color="black", weight=3]; 58.54/37.24 2918[label="(++) range00 GT (not False && GT >= EQ) foldr (++) [] (map (range0 GT EQ) [])",fontsize=16,color="black",shape="box"];2918 -> 2924[label="",style="solid", color="black", weight=3]; 58.54/37.24 2919[label="(++) range00 GT (not False && GT >= GT) foldr (++) [] (map (range0 GT GT) [])",fontsize=16,color="black",shape="box"];2919 -> 2925[label="",style="solid", color="black", weight=3]; 58.54/37.24 2920[label="(++) range00 GT (not (LT == LT) && GT >= LT) foldr (++) [] (map (range0 EQ LT) [])",fontsize=16,color="black",shape="box"];2920 -> 2926[label="",style="solid", color="black", weight=3]; 58.54/37.24 2921[label="(++) [] foldr (++) [] (map (range0 EQ EQ) [])",fontsize=16,color="black",shape="box"];2921 -> 2927[label="",style="solid", color="black", weight=3]; 58.54/37.24 2922[label="(++) [] foldr (++) [] (map (range0 EQ GT) [])",fontsize=16,color="black",shape="box"];2922 -> 2928[label="",style="solid", color="black", weight=3]; 58.54/37.24 2923[label="(++) range00 GT (not (compare2 GT GT (GT == GT) == LT) && GT >= LT) foldr (++) [] (map (range0 GT LT) [])",fontsize=16,color="black",shape="box"];2923 -> 2929[label="",style="solid", color="black", weight=3]; 58.54/37.24 2924[label="(++) range00 GT (True && GT >= EQ) foldr (++) [] (map (range0 GT EQ) [])",fontsize=16,color="black",shape="box"];2924 -> 2930[label="",style="solid", color="black", weight=3]; 58.54/37.24 2925[label="(++) range00 GT (True && GT >= GT) foldr (++) [] (map (range0 GT GT) [])",fontsize=16,color="black",shape="box"];2925 -> 2931[label="",style="solid", color="black", weight=3]; 58.54/37.24 2926[label="(++) range00 GT (not True && GT >= LT) foldr (++) [] (map (range0 EQ LT) [])",fontsize=16,color="black",shape="box"];2926 -> 2932[label="",style="solid", color="black", weight=3]; 58.54/37.24 2927[label="foldr (++) [] (map (range0 EQ EQ) [])",fontsize=16,color="black",shape="box"];2927 -> 2933[label="",style="solid", color="black", weight=3]; 58.54/37.24 2928[label="foldr (++) [] (map (range0 EQ GT) [])",fontsize=16,color="black",shape="box"];2928 -> 2934[label="",style="solid", color="black", weight=3]; 58.54/37.24 2929[label="(++) range00 GT (not (compare2 GT GT True == LT) && GT >= LT) foldr (++) [] (map (range0 GT LT) [])",fontsize=16,color="black",shape="box"];2929 -> 2935[label="",style="solid", color="black", weight=3]; 58.54/37.24 2930[label="(++) range00 GT (GT >= EQ) foldr (++) [] (map (range0 GT EQ) [])",fontsize=16,color="black",shape="box"];2930 -> 2936[label="",style="solid", color="black", weight=3]; 58.54/37.24 2931[label="(++) range00 GT (GT >= GT) foldr (++) [] (map (range0 GT GT) [])",fontsize=16,color="black",shape="box"];2931 -> 2937[label="",style="solid", color="black", weight=3]; 58.54/37.24 2932[label="(++) range00 GT (False && GT >= LT) foldr (++) [] (map (range0 EQ LT) [])",fontsize=16,color="black",shape="box"];2932 -> 2938[label="",style="solid", color="black", weight=3]; 58.54/37.24 2933 -> 2855[label="",style="dashed", color="red", weight=0]; 58.54/37.24 2933[label="foldr (++) [] []",fontsize=16,color="magenta"];2934 -> 2855[label="",style="dashed", color="red", weight=0]; 58.54/37.24 2934[label="foldr (++) [] []",fontsize=16,color="magenta"];2935[label="(++) range00 GT (not (EQ == LT) && GT >= LT) foldr (++) [] (map (range0 GT LT) [])",fontsize=16,color="black",shape="box"];2935 -> 2939[label="",style="solid", color="black", weight=3]; 58.54/37.24 2936[label="(++) range00 GT (compare GT EQ /= LT) foldr (++) [] (map (range0 GT EQ) [])",fontsize=16,color="black",shape="box"];2936 -> 2940[label="",style="solid", color="black", weight=3]; 58.54/37.24 2937[label="(++) range00 GT (compare GT GT /= LT) foldr (++) [] (map (range0 GT GT) [])",fontsize=16,color="black",shape="box"];2937 -> 2941[label="",style="solid", color="black", weight=3]; 58.54/37.24 2938[label="(++) range00 GT False foldr (++) [] (map (range0 EQ LT) [])",fontsize=16,color="black",shape="box"];2938 -> 2942[label="",style="solid", color="black", weight=3]; 58.54/37.24 2939[label="(++) range00 GT (not False && GT >= LT) foldr (++) [] (map (range0 GT LT) [])",fontsize=16,color="black",shape="box"];2939 -> 2943[label="",style="solid", color="black", weight=3]; 58.54/37.24 2940[label="(++) range00 GT (not (compare GT EQ == LT)) foldr (++) [] (map (range0 GT EQ) [])",fontsize=16,color="black",shape="box"];2940 -> 2944[label="",style="solid", color="black", weight=3]; 58.54/37.24 2941[label="(++) range00 GT (not (compare GT GT == LT)) foldr (++) [] (map (range0 GT GT) [])",fontsize=16,color="black",shape="box"];2941 -> 2945[label="",style="solid", color="black", weight=3]; 58.54/37.24 2942[label="(++) [] foldr (++) [] (map (range0 EQ LT) [])",fontsize=16,color="black",shape="box"];2942 -> 2946[label="",style="solid", color="black", weight=3]; 58.54/37.24 2943[label="(++) range00 GT (True && GT >= LT) foldr (++) [] (map (range0 GT LT) [])",fontsize=16,color="black",shape="box"];2943 -> 2947[label="",style="solid", color="black", weight=3]; 58.54/37.24 2944[label="(++) range00 GT (not (compare3 GT EQ == LT)) foldr (++) [] (map (range0 GT EQ) [])",fontsize=16,color="black",shape="box"];2944 -> 2948[label="",style="solid", color="black", weight=3]; 58.54/37.24 2945[label="(++) range00 GT (not (compare3 GT GT == LT)) foldr (++) [] (map (range0 GT GT) [])",fontsize=16,color="black",shape="box"];2945 -> 2949[label="",style="solid", color="black", weight=3]; 58.54/37.24 2946[label="foldr (++) [] (map (range0 EQ LT) [])",fontsize=16,color="black",shape="box"];2946 -> 2950[label="",style="solid", color="black", weight=3]; 58.54/37.24 2947[label="(++) range00 GT (GT >= LT) foldr (++) [] (map (range0 GT LT) [])",fontsize=16,color="black",shape="box"];2947 -> 2951[label="",style="solid", color="black", weight=3]; 58.54/37.24 2948[label="(++) range00 GT (not (compare2 GT EQ (GT == EQ) == LT)) foldr (++) [] (map (range0 GT EQ) [])",fontsize=16,color="black",shape="box"];2948 -> 2952[label="",style="solid", color="black", weight=3]; 58.54/37.24 2949[label="(++) range00 GT (not (compare2 GT GT (GT == GT) == LT)) foldr (++) [] (map (range0 GT GT) [])",fontsize=16,color="black",shape="box"];2949 -> 2953[label="",style="solid", color="black", weight=3]; 58.54/37.24 2950 -> 2855[label="",style="dashed", color="red", weight=0]; 58.54/37.24 2950[label="foldr (++) [] []",fontsize=16,color="magenta"];2951[label="(++) range00 GT (compare GT LT /= LT) foldr (++) [] (map (range0 GT LT) [])",fontsize=16,color="black",shape="box"];2951 -> 2954[label="",style="solid", color="black", weight=3]; 58.54/37.24 2952[label="(++) range00 GT (not (compare2 GT EQ False == LT)) foldr (++) [] (map (range0 GT EQ) [])",fontsize=16,color="black",shape="box"];2952 -> 2955[label="",style="solid", color="black", weight=3]; 58.54/37.24 2953[label="(++) range00 GT (not (compare2 GT GT True == LT)) foldr (++) [] (map (range0 GT GT) [])",fontsize=16,color="black",shape="box"];2953 -> 2956[label="",style="solid", color="black", weight=3]; 58.54/37.24 2954[label="(++) range00 GT (not (compare GT LT == LT)) foldr (++) [] (map (range0 GT LT) [])",fontsize=16,color="black",shape="box"];2954 -> 2957[label="",style="solid", color="black", weight=3]; 58.54/37.24 2955[label="(++) range00 GT (not (compare1 GT EQ (GT <= EQ) == LT)) foldr (++) [] (map (range0 GT EQ) [])",fontsize=16,color="black",shape="box"];2955 -> 2958[label="",style="solid", color="black", weight=3]; 58.54/37.24 2956[label="(++) range00 GT (not (EQ == LT)) foldr (++) [] (map (range0 GT GT) [])",fontsize=16,color="black",shape="box"];2956 -> 2959[label="",style="solid", color="black", weight=3]; 58.54/37.24 2957[label="(++) range00 GT (not (compare3 GT LT == LT)) foldr (++) [] (map (range0 GT LT) [])",fontsize=16,color="black",shape="box"];2957 -> 2960[label="",style="solid", color="black", weight=3]; 58.54/37.24 2958[label="(++) range00 GT (not (compare1 GT EQ False == LT)) foldr (++) [] (map (range0 GT EQ) [])",fontsize=16,color="black",shape="box"];2958 -> 2961[label="",style="solid", color="black", weight=3]; 58.54/37.24 2959[label="(++) range00 GT (not False) foldr (++) [] (map (range0 GT GT) [])",fontsize=16,color="black",shape="box"];2959 -> 2962[label="",style="solid", color="black", weight=3]; 58.54/37.24 2960[label="(++) range00 GT (not (compare2 GT LT (GT == LT) == LT)) foldr (++) [] (map (range0 GT LT) [])",fontsize=16,color="black",shape="box"];2960 -> 2963[label="",style="solid", color="black", weight=3]; 58.54/37.24 2961[label="(++) range00 GT (not (compare0 GT EQ otherwise == LT)) foldr (++) [] (map (range0 GT EQ) [])",fontsize=16,color="black",shape="box"];2961 -> 2964[label="",style="solid", color="black", weight=3]; 58.54/37.24 2962[label="(++) range00 GT True foldr (++) [] (map (range0 GT GT) [])",fontsize=16,color="black",shape="box"];2962 -> 2965[label="",style="solid", color="black", weight=3]; 58.54/37.24 2963[label="(++) range00 GT (not (compare2 GT LT False == LT)) foldr (++) [] (map (range0 GT LT) [])",fontsize=16,color="black",shape="box"];2963 -> 2966[label="",style="solid", color="black", weight=3]; 58.54/37.24 2964[label="(++) range00 GT (not (compare0 GT EQ True == LT)) foldr (++) [] (map (range0 GT EQ) [])",fontsize=16,color="black",shape="box"];2964 -> 2967[label="",style="solid", color="black", weight=3]; 58.54/37.24 2965[label="(++) (GT : []) foldr (++) [] (map (range0 GT GT) [])",fontsize=16,color="black",shape="box"];2965 -> 2968[label="",style="solid", color="black", weight=3]; 58.54/37.24 2966[label="(++) range00 GT (not (compare1 GT LT (GT <= LT) == LT)) foldr (++) [] (map (range0 GT LT) [])",fontsize=16,color="black",shape="box"];2966 -> 2969[label="",style="solid", color="black", weight=3]; 58.54/37.24 2967[label="(++) range00 GT (not (GT == LT)) foldr (++) [] (map (range0 GT EQ) [])",fontsize=16,color="black",shape="box"];2967 -> 2970[label="",style="solid", color="black", weight=3]; 58.54/37.24 2968[label="GT : [] ++ foldr (++) [] (map (range0 GT GT) [])",fontsize=16,color="green",shape="box"];2968 -> 2971[label="",style="dashed", color="green", weight=3]; 58.54/37.24 2969[label="(++) range00 GT (not (compare1 GT LT False == LT)) foldr (++) [] (map (range0 GT LT) [])",fontsize=16,color="black",shape="box"];2969 -> 2972[label="",style="solid", color="black", weight=3]; 58.54/37.24 2970[label="(++) range00 GT (not False) foldr (++) [] (map (range0 GT EQ) [])",fontsize=16,color="black",shape="box"];2970 -> 2973[label="",style="solid", color="black", weight=3]; 58.54/37.24 2971[label="[] ++ foldr (++) [] (map (range0 GT GT) [])",fontsize=16,color="black",shape="box"];2971 -> 2974[label="",style="solid", color="black", weight=3]; 58.54/37.24 2972[label="(++) range00 GT (not (compare0 GT LT otherwise == LT)) foldr (++) [] (map (range0 GT LT) [])",fontsize=16,color="black",shape="box"];2972 -> 2975[label="",style="solid", color="black", weight=3]; 58.54/37.24 2973[label="(++) range00 GT True foldr (++) [] (map (range0 GT EQ) [])",fontsize=16,color="black",shape="box"];2973 -> 2976[label="",style="solid", color="black", weight=3]; 58.54/37.24 2974[label="foldr (++) [] (map (range0 GT GT) [])",fontsize=16,color="black",shape="box"];2974 -> 2977[label="",style="solid", color="black", weight=3]; 58.54/37.24 2975[label="(++) range00 GT (not (compare0 GT LT True == LT)) foldr (++) [] (map (range0 GT LT) [])",fontsize=16,color="black",shape="box"];2975 -> 2978[label="",style="solid", color="black", weight=3]; 58.54/37.24 2976[label="(++) (GT : []) foldr (++) [] (map (range0 GT EQ) [])",fontsize=16,color="black",shape="box"];2976 -> 2979[label="",style="solid", color="black", weight=3]; 58.54/37.24 2977 -> 2855[label="",style="dashed", color="red", weight=0]; 58.54/37.24 2977[label="foldr (++) [] []",fontsize=16,color="magenta"];2978[label="(++) range00 GT (not (GT == LT)) foldr (++) [] (map (range0 GT LT) [])",fontsize=16,color="black",shape="box"];2978 -> 2980[label="",style="solid", color="black", weight=3]; 58.54/37.24 2979[label="GT : [] ++ foldr (++) [] (map (range0 GT EQ) [])",fontsize=16,color="green",shape="box"];2979 -> 2981[label="",style="dashed", color="green", weight=3]; 58.54/37.24 2980[label="(++) range00 GT (not False) foldr (++) [] (map (range0 GT LT) [])",fontsize=16,color="black",shape="box"];2980 -> 2982[label="",style="solid", color="black", weight=3]; 58.54/37.24 2981[label="[] ++ foldr (++) [] (map (range0 GT EQ) [])",fontsize=16,color="black",shape="box"];2981 -> 2983[label="",style="solid", color="black", weight=3]; 58.54/37.24 2982[label="(++) range00 GT True foldr (++) [] (map (range0 GT LT) [])",fontsize=16,color="black",shape="box"];2982 -> 2984[label="",style="solid", color="black", weight=3]; 58.54/37.24 2983[label="foldr (++) [] (map (range0 GT EQ) [])",fontsize=16,color="black",shape="box"];2983 -> 2985[label="",style="solid", color="black", weight=3]; 58.54/37.24 2984[label="(++) (GT : []) foldr (++) [] (map (range0 GT LT) [])",fontsize=16,color="black",shape="box"];2984 -> 2986[label="",style="solid", color="black", weight=3]; 58.54/37.24 2985 -> 2855[label="",style="dashed", color="red", weight=0]; 58.54/37.24 2985[label="foldr (++) [] []",fontsize=16,color="magenta"];2986[label="GT : [] ++ foldr (++) [] (map (range0 GT LT) [])",fontsize=16,color="green",shape="box"];2986 -> 2987[label="",style="dashed", color="green", weight=3]; 58.54/37.24 2987[label="[] ++ foldr (++) [] (map (range0 GT LT) [])",fontsize=16,color="black",shape="box"];2987 -> 2988[label="",style="solid", color="black", weight=3]; 58.54/37.24 2988[label="foldr (++) [] (map (range0 GT LT) [])",fontsize=16,color="black",shape="box"];2988 -> 2989[label="",style="solid", color="black", weight=3]; 58.54/37.24 2989 -> 2855[label="",style="dashed", color="red", weight=0]; 58.54/37.24 2989[label="foldr (++) [] []",fontsize=16,color="magenta"];} 58.54/37.24 58.54/37.24 ---------------------------------------- 58.54/37.24 58.54/37.24 (95) 58.54/37.24 Complex Obligation (AND) 58.54/37.24 58.54/37.24 ---------------------------------------- 58.54/37.24 58.54/37.24 (96) 58.54/37.24 Obligation: 58.54/37.24 Q DP problem: 58.54/37.24 The TRS P consists of the following rules: 58.54/37.24 58.54/37.24 new_takeWhile13(xu167, xu168, Succ(xu1690), Succ(xu1700), []) -> new_takeWhile13(xu167, xu168, xu1690, xu1700, []) 58.54/37.24 new_takeWhile2(Pos(xu310), Neg(Succ(Zero)), []) -> new_takeWhile2(Pos(xu310), Pos(Zero), []) 58.54/37.24 new_takeWhile13(xu167, xu168, Zero, Succ(xu1700), []) -> new_takeWhile2(Pos(Succ(xu167)), Pos(new_primPlusNat(xu168, [])), []) 58.54/37.24 new_takeWhile2(Pos(Succ(xu3100)), Neg(Zero), []) -> new_takeWhile2(Pos(Succ(xu3100)), Pos(Succ(Zero)), []) 58.66/37.24 new_takeWhile2(Pos(Zero), Pos(Zero), []) -> new_takeWhile2(Pos(Zero), Pos(new_primPlusNat0([])), []) 58.66/37.24 new_takeWhile2(Pos(Succ(xu3100)), Pos(Succ(xu3000)), []) -> new_takeWhile13(xu3100, xu3000, xu3000, xu3100, []) 58.66/37.24 new_takeWhile15(xu195, xu196, xu197, Zero, Zero, []) -> new_takeWhile16(xu195, xu196, xu197, []) 58.66/37.24 new_takeWhile2(Neg(Zero), Neg(Succ(Succ(xu30000))), []) -> new_takeWhile2(Neg(Zero), Neg(Succ(xu30000)), []) 58.66/37.24 new_takeWhile2(Neg(Zero), Neg(Zero), []) -> new_takeWhile2(Neg(Zero), Pos(Succ(Zero)), []) 58.66/37.24 new_takeWhile16(xu195, xu196, xu197, []) -> new_takeWhile2(Neg(Succ(xu195)), xu197, []) 58.66/37.24 new_takeWhile2(Neg(Zero), Neg(Succ(Zero)), []) -> new_takeWhile2(Neg(Zero), Pos(Zero), []) 58.66/37.24 new_takeWhile2(Pos(xu310), Neg(Succ(Succ(xu30000))), []) -> new_takeWhile2(Pos(xu310), Neg(Succ(xu30000)), []) 58.66/37.24 new_takeWhile2(Pos(Zero), Neg(Zero), []) -> new_takeWhile2(Pos(Zero), Pos(Succ(Zero)), []) 58.66/37.24 new_takeWhile15(xu195, xu196, xu197, Zero, Succ(xu1990), []) -> new_takeWhile2(Neg(Succ(xu195)), xu197, []) 58.66/37.24 new_takeWhile13(xu167, xu168, Zero, Zero, []) -> new_takeWhile14(xu167, xu168, []) 58.66/37.24 new_takeWhile14(xu167, xu168, []) -> new_takeWhile2(Pos(Succ(xu167)), Pos(new_primPlusNat(xu168, [])), []) 58.66/37.24 new_takeWhile2(Pos(Succ(xu3100)), Pos(Zero), []) -> new_takeWhile2(Pos(Succ(xu3100)), Pos(new_primPlusNat0([])), []) 58.66/37.24 new_takeWhile15(xu195, xu196, xu197, Succ(xu1980), Succ(xu1990), []) -> new_takeWhile15(xu195, xu196, xu197, xu1980, xu1990, []) 58.66/37.24 new_takeWhile2(Neg(Zero), Pos(Zero), []) -> new_takeWhile2(Neg(Zero), Pos(new_primPlusNat0([])), []) 58.66/37.24 new_takeWhile2(Neg(Succ(xu3100)), Neg(Succ(xu3000)), []) -> new_takeWhile15(xu3100, xu3000, new_primPlusInt0(xu3000, []), xu3100, xu3000, []) 58.66/37.24 58.66/37.24 The TRS R consists of the following rules: 58.66/37.24 58.66/37.24 new_primPlusNat(xu168, []) -> Succ(Succ(new_primPlusNat1(xu168, []))) 58.66/37.24 new_primPlusNat1(Succ(xu1680), []) -> Succ(xu1680) 58.66/37.24 new_primPlusInt0(Zero, []) -> Pos(Zero) 58.66/37.24 new_primPlusNat1(Zero, []) -> Zero 58.66/37.24 new_primPlusNat0([]) -> Succ(Zero) 58.66/37.24 new_primPlusInt0(Succ(xu300000), []) -> Neg(Succ(xu300000)) 58.66/37.24 58.66/37.24 Q is empty. 58.66/37.24 We have to consider all (P,Q,R)-chains. 58.66/37.24 ---------------------------------------- 58.66/37.24 58.66/37.24 (97) DependencyGraphProof (EQUIVALENT) 58.66/37.24 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 6 SCCs with 5 less nodes. 58.66/37.24 ---------------------------------------- 58.66/37.24 58.66/37.24 (98) 58.66/37.24 Complex Obligation (AND) 58.66/37.24 58.66/37.24 ---------------------------------------- 58.66/37.24 58.66/37.24 (99) 58.66/37.24 Obligation: 58.66/37.24 Q DP problem: 58.66/37.24 The TRS P consists of the following rules: 58.66/37.24 58.66/37.24 new_takeWhile2(Neg(Zero), Pos(Zero), []) -> new_takeWhile2(Neg(Zero), Pos(new_primPlusNat0([])), []) 58.66/37.24 58.66/37.24 The TRS R consists of the following rules: 58.66/37.24 58.66/37.24 new_primPlusNat(xu168, []) -> Succ(Succ(new_primPlusNat1(xu168, []))) 58.66/37.24 new_primPlusNat1(Succ(xu1680), []) -> Succ(xu1680) 58.66/37.24 new_primPlusInt0(Zero, []) -> Pos(Zero) 58.66/37.24 new_primPlusNat1(Zero, []) -> Zero 58.66/37.24 new_primPlusNat0([]) -> Succ(Zero) 58.66/37.24 new_primPlusInt0(Succ(xu300000), []) -> Neg(Succ(xu300000)) 58.66/37.24 58.66/37.24 Q is empty. 58.66/37.24 We have to consider all (P,Q,R)-chains. 58.66/37.24 ---------------------------------------- 58.66/37.24 58.66/37.24 (100) MRRProof (EQUIVALENT) 58.66/37.24 By using the rule removal processor [LPAR04] with the following ordering, at least one Dependency Pair or term rewrite system rule of this QDP problem can be strictly oriented. 58.66/37.24 58.66/37.24 58.66/37.24 Strictly oriented rules of the TRS R: 58.66/37.24 58.66/37.24 new_primPlusNat1(Succ(xu1680), []) -> Succ(xu1680) 58.66/37.24 new_primPlusInt0(Zero, []) -> Pos(Zero) 58.66/37.24 new_primPlusNat1(Zero, []) -> Zero 58.66/37.24 new_primPlusInt0(Succ(xu300000), []) -> Neg(Succ(xu300000)) 58.66/37.24 58.66/37.24 Used ordering: Polynomial interpretation [POLO]: 58.66/37.24 58.66/37.24 POL(Neg(x_1)) = 1 + x_1 58.66/37.24 POL(Pos(x_1)) = 1 + 2*x_1 58.66/37.24 POL(Succ(x_1)) = x_1 58.66/37.24 POL(Zero) = 2 58.66/37.24 POL([]) = 2 58.66/37.24 POL(new_primPlusInt0(x_1, x_2)) = 2*x_1 + 2*x_2 58.66/37.24 POL(new_primPlusNat(x_1, x_2)) = 2 + x_1 + x_2 58.66/37.24 POL(new_primPlusNat0(x_1)) = x_1 58.66/37.24 POL(new_primPlusNat1(x_1, x_2)) = x_1 + 2*x_2 58.66/37.24 POL(new_takeWhile2(x_1, x_2, x_3)) = x_1 + x_2 + x_3 58.66/37.24 58.66/37.24 58.66/37.24 ---------------------------------------- 58.66/37.24 58.66/37.24 (101) 58.66/37.24 Obligation: 58.66/37.24 Q DP problem: 58.66/37.24 The TRS P consists of the following rules: 58.66/37.24 58.66/37.24 new_takeWhile2(Neg(Zero), Pos(Zero), []) -> new_takeWhile2(Neg(Zero), Pos(new_primPlusNat0([])), []) 58.66/37.24 58.66/37.24 The TRS R consists of the following rules: 58.66/37.24 58.66/37.24 new_primPlusNat(xu168, []) -> Succ(Succ(new_primPlusNat1(xu168, []))) 58.66/37.24 new_primPlusNat0([]) -> Succ(Zero) 58.66/37.24 58.66/37.24 Q is empty. 58.66/37.24 We have to consider all (P,Q,R)-chains. 58.66/37.24 ---------------------------------------- 58.66/37.24 58.66/37.24 (102) DependencyGraphProof (EQUIVALENT) 58.66/37.24 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 1 less node. 58.66/37.24 ---------------------------------------- 58.66/37.24 58.66/37.24 (103) 58.66/37.24 TRUE 58.66/37.24 58.66/37.24 ---------------------------------------- 58.66/37.24 58.66/37.24 (104) 58.66/37.24 Obligation: 58.66/37.24 Q DP problem: 58.66/37.24 The TRS P consists of the following rules: 58.66/37.24 58.66/37.24 new_takeWhile2(Neg(Zero), Neg(Succ(Succ(xu30000))), []) -> new_takeWhile2(Neg(Zero), Neg(Succ(xu30000)), []) 58.66/37.24 58.66/37.24 The TRS R consists of the following rules: 58.66/37.24 58.66/37.24 new_primPlusNat(xu168, []) -> Succ(Succ(new_primPlusNat1(xu168, []))) 58.66/37.24 new_primPlusNat1(Succ(xu1680), []) -> Succ(xu1680) 58.66/37.24 new_primPlusInt0(Zero, []) -> Pos(Zero) 58.66/37.24 new_primPlusNat1(Zero, []) -> Zero 58.66/37.24 new_primPlusNat0([]) -> Succ(Zero) 58.66/37.24 new_primPlusInt0(Succ(xu300000), []) -> Neg(Succ(xu300000)) 58.66/37.24 58.66/37.24 Q is empty. 58.66/37.24 We have to consider all (P,Q,R)-chains. 58.66/37.24 ---------------------------------------- 58.66/37.24 58.66/37.24 (105) MRRProof (EQUIVALENT) 58.66/37.24 By using the rule removal processor [LPAR04] with the following ordering, at least one Dependency Pair or term rewrite system rule of this QDP problem can be strictly oriented. 58.66/37.24 58.66/37.24 Strictly oriented dependency pairs: 58.66/37.24 58.66/37.24 new_takeWhile2(Neg(Zero), Neg(Succ(Succ(xu30000))), []) -> new_takeWhile2(Neg(Zero), Neg(Succ(xu30000)), []) 58.66/37.24 58.66/37.24 Strictly oriented rules of the TRS R: 58.66/37.24 58.66/37.24 new_primPlusNat1(Succ(xu1680), []) -> Succ(xu1680) 58.66/37.24 new_primPlusInt0(Zero, []) -> Pos(Zero) 58.66/37.24 new_primPlusNat1(Zero, []) -> Zero 58.66/37.24 new_primPlusNat0([]) -> Succ(Zero) 58.66/37.24 new_primPlusInt0(Succ(xu300000), []) -> Neg(Succ(xu300000)) 58.66/37.24 58.66/37.24 Used ordering: Polynomial interpretation [POLO]: 58.66/37.24 58.66/37.24 POL(Neg(x_1)) = 1 + x_1 58.66/37.24 POL(Pos(x_1)) = 1 + x_1 58.66/37.24 POL(Succ(x_1)) = 1 + x_1 58.66/37.24 POL(Zero) = 0 58.66/37.24 POL([]) = 1 58.66/37.24 POL(new_primPlusInt0(x_1, x_2)) = 1 + 2*x_1 + x_2 58.66/37.24 POL(new_primPlusNat(x_1, x_2)) = 2 + 2*x_1 + 2*x_2 58.66/37.24 POL(new_primPlusNat0(x_1)) = 1 + x_1 58.66/37.24 POL(new_primPlusNat1(x_1, x_2)) = 1 + 2*x_1 + x_2 58.66/37.24 POL(new_takeWhile2(x_1, x_2, x_3)) = x_1 + 2*x_2 + x_3 58.66/37.24 58.66/37.24 58.66/37.24 ---------------------------------------- 58.66/37.24 58.66/37.24 (106) 58.66/37.24 Obligation: 58.66/37.24 Q DP problem: 58.66/37.24 P is empty. 58.66/37.24 The TRS R consists of the following rules: 58.66/37.24 58.66/37.24 new_primPlusNat(xu168, []) -> Succ(Succ(new_primPlusNat1(xu168, []))) 58.66/37.24 58.66/37.24 Q is empty. 58.66/37.24 We have to consider all (P,Q,R)-chains. 58.66/37.24 ---------------------------------------- 58.66/37.24 58.66/37.24 (107) PisEmptyProof (EQUIVALENT) 58.66/37.24 The TRS P is empty. Hence, there is no (P,Q,R) chain. 58.66/37.24 ---------------------------------------- 58.66/37.24 58.66/37.24 (108) 58.66/37.24 YES 58.66/37.24 58.66/37.24 ---------------------------------------- 58.66/37.24 58.66/37.24 (109) 58.66/37.24 Obligation: 58.66/37.24 Q DP problem: 58.66/37.24 The TRS P consists of the following rules: 58.66/37.24 58.66/37.24 new_takeWhile16(xu195, xu196, xu197, []) -> new_takeWhile2(Neg(Succ(xu195)), xu197, []) 58.66/37.24 new_takeWhile2(Neg(Succ(xu3100)), Neg(Succ(xu3000)), []) -> new_takeWhile15(xu3100, xu3000, new_primPlusInt0(xu3000, []), xu3100, xu3000, []) 58.66/37.24 new_takeWhile15(xu195, xu196, xu197, Zero, Zero, []) -> new_takeWhile16(xu195, xu196, xu197, []) 58.66/37.24 new_takeWhile15(xu195, xu196, xu197, Zero, Succ(xu1990), []) -> new_takeWhile2(Neg(Succ(xu195)), xu197, []) 58.66/37.24 new_takeWhile15(xu195, xu196, xu197, Succ(xu1980), Succ(xu1990), []) -> new_takeWhile15(xu195, xu196, xu197, xu1980, xu1990, []) 58.66/37.24 58.66/37.24 The TRS R consists of the following rules: 58.66/37.24 58.66/37.24 new_primPlusNat(xu168, []) -> Succ(Succ(new_primPlusNat1(xu168, []))) 58.66/37.24 new_primPlusNat1(Succ(xu1680), []) -> Succ(xu1680) 58.66/37.24 new_primPlusInt0(Zero, []) -> Pos(Zero) 58.66/37.24 new_primPlusNat1(Zero, []) -> Zero 58.66/37.24 new_primPlusNat0([]) -> Succ(Zero) 58.66/37.24 new_primPlusInt0(Succ(xu300000), []) -> Neg(Succ(xu300000)) 58.66/37.24 58.66/37.24 Q is empty. 58.66/37.24 We have to consider all (P,Q,R)-chains. 58.66/37.24 ---------------------------------------- 58.66/37.24 58.66/37.24 (110) QDPOrderProof (EQUIVALENT) 58.66/37.24 We use the reduction pair processor [LPAR04,JAR06]. 58.66/37.24 58.66/37.24 58.66/37.24 The following pairs can be oriented strictly and are deleted. 58.66/37.24 58.66/37.24 new_takeWhile2(Neg(Succ(xu3100)), Neg(Succ(xu3000)), []) -> new_takeWhile15(xu3100, xu3000, new_primPlusInt0(xu3000, []), xu3100, xu3000, []) 58.66/37.24 The remaining pairs can at least be oriented weakly. 58.66/37.24 Used ordering: Polynomial interpretation [POLO]: 58.66/37.24 58.66/37.24 POL(Neg(x_1)) = x_1 58.66/37.24 POL(Pos(x_1)) = 0 58.66/37.24 POL(Succ(x_1)) = 1 + x_1 58.66/37.24 POL(Zero) = 1 58.66/37.24 POL([]) = 1 58.66/37.24 POL(new_primPlusInt0(x_1, x_2)) = x_1 58.66/37.24 POL(new_primPlusNat(x_1, x_2)) = 1 + x_1 + x_2 58.66/37.24 POL(new_primPlusNat0(x_1)) = 1 + x_1 58.66/37.24 POL(new_primPlusNat1(x_1, x_2)) = x_1 58.66/37.24 POL(new_takeWhile15(x_1, x_2, x_3, x_4, x_5, x_6)) = x_3 58.66/37.24 POL(new_takeWhile16(x_1, x_2, x_3, x_4)) = x_3 58.66/37.24 POL(new_takeWhile2(x_1, x_2, x_3)) = x_2 58.66/37.24 58.66/37.24 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 58.66/37.24 58.66/37.24 new_primPlusNat(xu168, []) -> Succ(Succ(new_primPlusNat1(xu168, []))) 58.66/37.24 new_primPlusNat1(Succ(xu1680), []) -> Succ(xu1680) 58.66/37.24 new_primPlusInt0(Zero, []) -> Pos(Zero) 58.66/37.24 new_primPlusNat1(Zero, []) -> Zero 58.66/37.24 new_primPlusNat0([]) -> Succ(Zero) 58.66/37.24 new_primPlusInt0(Succ(xu300000), []) -> Neg(Succ(xu300000)) 58.66/37.24 58.66/37.24 58.66/37.24 ---------------------------------------- 58.66/37.24 58.66/37.24 (111) 58.66/37.24 Obligation: 58.66/37.24 Q DP problem: 58.66/37.24 The TRS P consists of the following rules: 58.66/37.24 58.66/37.24 new_takeWhile16(xu195, xu196, xu197, []) -> new_takeWhile2(Neg(Succ(xu195)), xu197, []) 58.66/37.24 new_takeWhile15(xu195, xu196, xu197, Zero, Zero, []) -> new_takeWhile16(xu195, xu196, xu197, []) 58.66/37.24 new_takeWhile15(xu195, xu196, xu197, Zero, Succ(xu1990), []) -> new_takeWhile2(Neg(Succ(xu195)), xu197, []) 58.66/37.24 new_takeWhile15(xu195, xu196, xu197, Succ(xu1980), Succ(xu1990), []) -> new_takeWhile15(xu195, xu196, xu197, xu1980, xu1990, []) 58.66/37.24 58.66/37.24 The TRS R consists of the following rules: 58.66/37.24 58.66/37.24 new_primPlusNat(xu168, []) -> Succ(Succ(new_primPlusNat1(xu168, []))) 58.66/37.24 new_primPlusNat1(Succ(xu1680), []) -> Succ(xu1680) 58.66/37.24 new_primPlusInt0(Zero, []) -> Pos(Zero) 58.66/37.24 new_primPlusNat1(Zero, []) -> Zero 58.66/37.24 new_primPlusNat0([]) -> Succ(Zero) 58.66/37.24 new_primPlusInt0(Succ(xu300000), []) -> Neg(Succ(xu300000)) 58.66/37.24 58.66/37.24 Q is empty. 58.66/37.24 We have to consider all (P,Q,R)-chains. 58.66/37.24 ---------------------------------------- 58.66/37.24 58.66/37.24 (112) DependencyGraphProof (EQUIVALENT) 58.66/37.24 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 3 less nodes. 58.66/37.24 ---------------------------------------- 58.66/37.24 58.66/37.24 (113) 58.66/37.24 Obligation: 58.66/37.24 Q DP problem: 58.66/37.24 The TRS P consists of the following rules: 58.66/37.24 58.66/37.24 new_takeWhile15(xu195, xu196, xu197, Succ(xu1980), Succ(xu1990), []) -> new_takeWhile15(xu195, xu196, xu197, xu1980, xu1990, []) 58.66/37.24 58.66/37.24 The TRS R consists of the following rules: 58.66/37.24 58.66/37.24 new_primPlusNat(xu168, []) -> Succ(Succ(new_primPlusNat1(xu168, []))) 58.66/37.24 new_primPlusNat1(Succ(xu1680), []) -> Succ(xu1680) 58.66/37.24 new_primPlusInt0(Zero, []) -> Pos(Zero) 58.66/37.24 new_primPlusNat1(Zero, []) -> Zero 58.66/37.24 new_primPlusNat0([]) -> Succ(Zero) 58.66/37.24 new_primPlusInt0(Succ(xu300000), []) -> Neg(Succ(xu300000)) 58.66/37.24 58.66/37.24 Q is empty. 58.66/37.24 We have to consider all (P,Q,R)-chains. 58.66/37.24 ---------------------------------------- 58.66/37.24 58.66/37.24 (114) MRRProof (EQUIVALENT) 58.66/37.24 By using the rule removal processor [LPAR04] with the following ordering, at least one Dependency Pair or term rewrite system rule of this QDP problem can be strictly oriented. 58.66/37.24 58.66/37.24 58.66/37.24 Strictly oriented rules of the TRS R: 58.66/37.24 58.66/37.24 new_primPlusNat(xu168, []) -> Succ(Succ(new_primPlusNat1(xu168, []))) 58.66/37.24 new_primPlusNat1(Succ(xu1680), []) -> Succ(xu1680) 58.66/37.24 new_primPlusInt0(Zero, []) -> Pos(Zero) 58.66/37.24 new_primPlusNat1(Zero, []) -> Zero 58.66/37.24 new_primPlusNat0([]) -> Succ(Zero) 58.66/37.24 new_primPlusInt0(Succ(xu300000), []) -> Neg(Succ(xu300000)) 58.66/37.24 58.66/37.24 Used ordering: Polynomial interpretation [POLO]: 58.66/37.24 58.66/37.24 POL(Neg(x_1)) = x_1 58.66/37.24 POL(Pos(x_1)) = 2*x_1 58.66/37.24 POL(Succ(x_1)) = x_1 58.66/37.24 POL(Zero) = 1 58.66/37.24 POL([]) = 1 58.66/37.24 POL(new_primPlusInt0(x_1, x_2)) = 2 + 2*x_1 + x_2 58.66/37.24 POL(new_primPlusNat(x_1, x_2)) = 2 + x_1 + 2*x_2 58.66/37.24 POL(new_primPlusNat0(x_1)) = 2 + 2*x_1 58.66/37.24 POL(new_primPlusNat1(x_1, x_2)) = 1 + x_1 + x_2 58.66/37.24 POL(new_takeWhile15(x_1, x_2, x_3, x_4, x_5, x_6)) = x_1 + x_2 + x_3 + x_4 + 2*x_5 + x_6 58.66/37.24 58.66/37.24 58.66/37.24 ---------------------------------------- 58.66/37.24 58.66/37.24 (115) 58.66/37.24 Obligation: 58.66/37.24 Q DP problem: 58.66/37.24 The TRS P consists of the following rules: 58.66/37.24 58.66/37.24 new_takeWhile15(xu195, xu196, xu197, Succ(xu1980), Succ(xu1990), []) -> new_takeWhile15(xu195, xu196, xu197, xu1980, xu1990, []) 58.66/37.24 58.66/37.24 R is empty. 58.66/37.24 Q is empty. 58.66/37.24 We have to consider all (P,Q,R)-chains. 58.66/37.24 ---------------------------------------- 58.66/37.24 58.66/37.24 (116) QDPSizeChangeProof (EQUIVALENT) 58.66/37.24 We used the following order and afs together with the size-change analysis [AAECC05] to show that there are no infinite chains for this DP problem. 58.66/37.24 58.66/37.24 Order:EMB rules! 58.66/37.24 58.66/37.24 AFS: 58.66/37.24 [] = [] 58.66/37.24 58.66/37.24 Succ(x1) = Succ(x1) 58.66/37.24 58.66/37.24 58.66/37.24 58.66/37.24 58.66/37.24 58.66/37.24 From the DPs we obtained the following set of size-change graphs: 58.66/37.24 *new_takeWhile15(xu195, xu196, xu197, Succ(xu1980), Succ(xu1990), []) -> new_takeWhile15(xu195, xu196, xu197, xu1980, xu1990, []) (allowed arguments on rhs = {1, 2, 3, 4, 5, 6}) 58.66/37.24 The graph contains the following edges 1 >= 1, 2 >= 2, 3 >= 3, 4 > 4, 5 > 5, 6 >= 6 58.66/37.24 58.66/37.24 58.66/37.24 58.66/37.24 We oriented the following set of usable rules [AAECC05,FROCOS05]. 58.66/37.24 none 58.66/37.24 58.66/37.24 ---------------------------------------- 58.66/37.24 58.66/37.24 (117) 58.66/37.24 YES 58.66/37.24 58.66/37.24 ---------------------------------------- 58.66/37.24 58.66/37.24 (118) 58.66/37.24 Obligation: 58.66/37.24 Q DP problem: 58.66/37.24 The TRS P consists of the following rules: 58.66/37.24 58.66/37.24 new_takeWhile2(Pos(Zero), Pos(Zero), []) -> new_takeWhile2(Pos(Zero), Pos(new_primPlusNat0([])), []) 58.66/37.24 58.66/37.24 The TRS R consists of the following rules: 58.66/37.24 58.66/37.24 new_primPlusNat(xu168, []) -> Succ(Succ(new_primPlusNat1(xu168, []))) 58.66/37.24 new_primPlusNat1(Succ(xu1680), []) -> Succ(xu1680) 58.66/37.24 new_primPlusInt0(Zero, []) -> Pos(Zero) 58.66/37.24 new_primPlusNat1(Zero, []) -> Zero 58.66/37.24 new_primPlusNat0([]) -> Succ(Zero) 58.66/37.24 new_primPlusInt0(Succ(xu300000), []) -> Neg(Succ(xu300000)) 58.66/37.24 58.66/37.24 Q is empty. 58.66/37.24 We have to consider all (P,Q,R)-chains. 58.66/37.24 ---------------------------------------- 58.66/37.24 58.66/37.24 (119) MRRProof (EQUIVALENT) 58.66/37.24 By using the rule removal processor [LPAR04] with the following ordering, at least one Dependency Pair or term rewrite system rule of this QDP problem can be strictly oriented. 58.66/37.24 58.66/37.24 58.66/37.24 Strictly oriented rules of the TRS R: 58.66/37.24 58.66/37.24 new_primPlusNat1(Succ(xu1680), []) -> Succ(xu1680) 58.66/37.24 new_primPlusInt0(Zero, []) -> Pos(Zero) 58.66/37.24 new_primPlusNat1(Zero, []) -> Zero 58.66/37.24 new_primPlusInt0(Succ(xu300000), []) -> Neg(Succ(xu300000)) 58.66/37.24 58.66/37.24 Used ordering: Polynomial interpretation [POLO]: 58.66/37.24 58.66/37.24 POL(Neg(x_1)) = 1 + x_1 58.66/37.24 POL(Pos(x_1)) = 1 + 2*x_1 58.66/37.24 POL(Succ(x_1)) = x_1 58.66/37.24 POL(Zero) = 2 58.66/37.24 POL([]) = 2 58.66/37.24 POL(new_primPlusInt0(x_1, x_2)) = 2*x_1 + 2*x_2 58.66/37.24 POL(new_primPlusNat(x_1, x_2)) = 2 + x_1 + x_2 58.66/37.24 POL(new_primPlusNat0(x_1)) = x_1 58.66/37.24 POL(new_primPlusNat1(x_1, x_2)) = x_1 + 2*x_2 58.66/37.24 POL(new_takeWhile2(x_1, x_2, x_3)) = x_1 + x_2 + x_3 58.66/37.24 58.66/37.24 58.66/37.24 ---------------------------------------- 58.66/37.24 58.66/37.24 (120) 58.66/37.24 Obligation: 58.66/37.24 Q DP problem: 58.66/37.24 The TRS P consists of the following rules: 58.66/37.24 58.66/37.24 new_takeWhile2(Pos(Zero), Pos(Zero), []) -> new_takeWhile2(Pos(Zero), Pos(new_primPlusNat0([])), []) 58.66/37.24 58.66/37.24 The TRS R consists of the following rules: 58.66/37.24 58.66/37.24 new_primPlusNat(xu168, []) -> Succ(Succ(new_primPlusNat1(xu168, []))) 58.66/37.24 new_primPlusNat0([]) -> Succ(Zero) 58.66/37.24 58.66/37.24 Q is empty. 58.66/37.24 We have to consider all (P,Q,R)-chains. 58.66/37.24 ---------------------------------------- 58.66/37.24 58.66/37.24 (121) DependencyGraphProof (EQUIVALENT) 58.66/37.24 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 1 less node. 58.66/37.24 ---------------------------------------- 58.66/37.24 58.66/37.24 (122) 58.66/37.24 TRUE 58.66/37.24 58.66/37.24 ---------------------------------------- 58.66/37.24 58.66/37.24 (123) 58.66/37.24 Obligation: 58.66/37.24 Q DP problem: 58.66/37.24 The TRS P consists of the following rules: 58.66/37.24 58.66/37.24 new_takeWhile13(xu167, xu168, Zero, Succ(xu1700), []) -> new_takeWhile2(Pos(Succ(xu167)), Pos(new_primPlusNat(xu168, [])), []) 58.66/37.24 new_takeWhile2(Pos(Succ(xu3100)), Pos(Succ(xu3000)), []) -> new_takeWhile13(xu3100, xu3000, xu3000, xu3100, []) 58.66/37.24 new_takeWhile13(xu167, xu168, Succ(xu1690), Succ(xu1700), []) -> new_takeWhile13(xu167, xu168, xu1690, xu1700, []) 58.66/37.24 new_takeWhile13(xu167, xu168, Zero, Zero, []) -> new_takeWhile14(xu167, xu168, []) 58.66/37.24 new_takeWhile14(xu167, xu168, []) -> new_takeWhile2(Pos(Succ(xu167)), Pos(new_primPlusNat(xu168, [])), []) 58.66/37.24 new_takeWhile2(Pos(Succ(xu3100)), Pos(Zero), []) -> new_takeWhile2(Pos(Succ(xu3100)), Pos(new_primPlusNat0([])), []) 58.66/37.24 58.66/37.24 The TRS R consists of the following rules: 58.66/37.24 58.66/37.24 new_primPlusNat(xu168, []) -> Succ(Succ(new_primPlusNat1(xu168, []))) 58.66/37.24 new_primPlusNat1(Succ(xu1680), []) -> Succ(xu1680) 58.66/37.24 new_primPlusInt0(Zero, []) -> Pos(Zero) 58.66/37.24 new_primPlusNat1(Zero, []) -> Zero 58.66/37.24 new_primPlusNat0([]) -> Succ(Zero) 58.66/37.24 new_primPlusInt0(Succ(xu300000), []) -> Neg(Succ(xu300000)) 58.66/37.24 58.66/37.24 Q is empty. 58.66/37.24 We have to consider all (P,Q,R)-chains. 58.66/37.24 ---------------------------------------- 58.66/37.24 58.66/37.24 (124) QDPOrderProof (EQUIVALENT) 58.66/37.24 We use the reduction pair processor [LPAR04,JAR06]. 58.66/37.24 58.66/37.24 58.66/37.24 The following pairs can be oriented strictly and are deleted. 58.66/37.24 58.66/37.24 new_takeWhile2(Pos(Succ(xu3100)), Pos(Zero), []) -> new_takeWhile2(Pos(Succ(xu3100)), Pos(new_primPlusNat0([])), []) 58.66/37.24 The remaining pairs can at least be oriented weakly. 58.66/37.24 Used ordering: Polynomial interpretation [POLO]: 58.66/37.24 58.66/37.24 POL(Neg(x_1)) = x_1 58.66/37.24 POL(Pos(x_1)) = x_1 58.66/37.24 POL(Succ(x_1)) = 0 58.66/37.24 POL(Zero) = 1 58.66/37.24 POL([]) = 0 58.66/37.24 POL(new_primPlusInt0(x_1, x_2)) = 1 + x_1 + x_2 58.66/37.24 POL(new_primPlusNat(x_1, x_2)) = x_2 58.66/37.24 POL(new_primPlusNat0(x_1)) = x_1 58.66/37.24 POL(new_primPlusNat1(x_1, x_2)) = 1 + x_1 + x_2 58.66/37.24 POL(new_takeWhile13(x_1, x_2, x_3, x_4, x_5)) = x_5 58.66/37.24 POL(new_takeWhile14(x_1, x_2, x_3)) = 0 58.66/37.24 POL(new_takeWhile2(x_1, x_2, x_3)) = x_2 + x_3 58.66/37.24 58.66/37.24 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 58.66/37.24 58.66/37.24 new_primPlusNat(xu168, []) -> Succ(Succ(new_primPlusNat1(xu168, []))) 58.66/37.24 new_primPlusNat1(Succ(xu1680), []) -> Succ(xu1680) 58.66/37.24 new_primPlusInt0(Zero, []) -> Pos(Zero) 58.66/37.24 new_primPlusNat1(Zero, []) -> Zero 58.66/37.24 new_primPlusNat0([]) -> Succ(Zero) 58.66/37.24 new_primPlusInt0(Succ(xu300000), []) -> Neg(Succ(xu300000)) 58.66/37.24 58.66/37.24 58.66/37.24 ---------------------------------------- 58.66/37.24 58.66/37.24 (125) 58.66/37.24 Obligation: 58.66/37.24 Q DP problem: 58.66/37.24 The TRS P consists of the following rules: 58.66/37.24 58.66/37.24 new_takeWhile13(xu167, xu168, Zero, Succ(xu1700), []) -> new_takeWhile2(Pos(Succ(xu167)), Pos(new_primPlusNat(xu168, [])), []) 58.66/37.24 new_takeWhile2(Pos(Succ(xu3100)), Pos(Succ(xu3000)), []) -> new_takeWhile13(xu3100, xu3000, xu3000, xu3100, []) 58.66/37.24 new_takeWhile13(xu167, xu168, Succ(xu1690), Succ(xu1700), []) -> new_takeWhile13(xu167, xu168, xu1690, xu1700, []) 58.66/37.24 new_takeWhile13(xu167, xu168, Zero, Zero, []) -> new_takeWhile14(xu167, xu168, []) 58.66/37.24 new_takeWhile14(xu167, xu168, []) -> new_takeWhile2(Pos(Succ(xu167)), Pos(new_primPlusNat(xu168, [])), []) 58.66/37.24 58.66/37.24 The TRS R consists of the following rules: 58.66/37.24 58.66/37.24 new_primPlusNat(xu168, []) -> Succ(Succ(new_primPlusNat1(xu168, []))) 58.66/37.24 new_primPlusNat1(Succ(xu1680), []) -> Succ(xu1680) 58.66/37.24 new_primPlusInt0(Zero, []) -> Pos(Zero) 58.66/37.24 new_primPlusNat1(Zero, []) -> Zero 58.66/37.24 new_primPlusNat0([]) -> Succ(Zero) 58.66/37.24 new_primPlusInt0(Succ(xu300000), []) -> Neg(Succ(xu300000)) 58.66/37.24 58.66/37.24 Q is empty. 58.66/37.24 We have to consider all (P,Q,R)-chains. 58.66/37.24 ---------------------------------------- 58.66/37.24 58.66/37.24 (126) 58.66/37.24 Obligation: 58.66/37.24 Q DP problem: 58.66/37.24 The TRS P consists of the following rules: 58.66/37.24 58.66/37.24 new_takeWhile2(Pos(xu310), Neg(Succ(Succ(xu30000))), []) -> new_takeWhile2(Pos(xu310), Neg(Succ(xu30000)), []) 58.66/37.24 58.66/37.24 The TRS R consists of the following rules: 58.66/37.24 58.66/37.24 new_primPlusNat(xu168, []) -> Succ(Succ(new_primPlusNat1(xu168, []))) 58.66/37.24 new_primPlusNat1(Succ(xu1680), []) -> Succ(xu1680) 58.66/37.24 new_primPlusInt0(Zero, []) -> Pos(Zero) 58.66/37.24 new_primPlusNat1(Zero, []) -> Zero 58.66/37.24 new_primPlusNat0([]) -> Succ(Zero) 58.66/37.24 new_primPlusInt0(Succ(xu300000), []) -> Neg(Succ(xu300000)) 58.66/37.24 58.66/37.24 Q is empty. 58.66/37.24 We have to consider all (P,Q,R)-chains. 58.66/37.24 ---------------------------------------- 58.66/37.24 58.66/37.24 (127) MRRProof (EQUIVALENT) 58.66/37.24 By using the rule removal processor [LPAR04] with the following ordering, at least one Dependency Pair or term rewrite system rule of this QDP problem can be strictly oriented. 58.66/37.24 58.66/37.24 Strictly oriented dependency pairs: 58.66/37.24 58.66/37.24 new_takeWhile2(Pos(xu310), Neg(Succ(Succ(xu30000))), []) -> new_takeWhile2(Pos(xu310), Neg(Succ(xu30000)), []) 58.66/37.24 58.66/37.24 Strictly oriented rules of the TRS R: 58.66/37.24 58.66/37.24 new_primPlusNat1(Succ(xu1680), []) -> Succ(xu1680) 58.66/37.24 new_primPlusInt0(Zero, []) -> Pos(Zero) 58.66/37.24 new_primPlusNat1(Zero, []) -> Zero 58.66/37.24 new_primPlusNat0([]) -> Succ(Zero) 58.66/37.24 new_primPlusInt0(Succ(xu300000), []) -> Neg(Succ(xu300000)) 58.66/37.24 58.66/37.24 Used ordering: Polynomial interpretation [POLO]: 58.66/37.24 58.66/37.24 POL(Neg(x_1)) = 1 + x_1 58.66/37.24 POL(Pos(x_1)) = 1 + x_1 58.66/37.24 POL(Succ(x_1)) = 1 + x_1 58.66/37.24 POL(Zero) = 0 58.66/37.24 POL([]) = 1 58.66/37.24 POL(new_primPlusInt0(x_1, x_2)) = 1 + 2*x_1 + x_2 58.66/37.24 POL(new_primPlusNat(x_1, x_2)) = 2 + 2*x_1 + 2*x_2 58.66/37.24 POL(new_primPlusNat0(x_1)) = 1 + x_1 58.66/37.24 POL(new_primPlusNat1(x_1, x_2)) = 1 + 2*x_1 + x_2 58.66/37.24 POL(new_takeWhile2(x_1, x_2, x_3)) = x_1 + 2*x_2 + x_3 58.66/37.24 58.66/37.24 58.66/37.24 ---------------------------------------- 58.66/37.24 58.66/37.24 (128) 58.66/37.24 Obligation: 58.66/37.24 Q DP problem: 58.66/37.24 P is empty. 58.66/37.24 The TRS R consists of the following rules: 58.66/37.24 58.66/37.24 new_primPlusNat(xu168, []) -> Succ(Succ(new_primPlusNat1(xu168, []))) 58.66/37.24 58.66/37.24 Q is empty. 58.66/37.24 We have to consider all (P,Q,R)-chains. 58.66/37.24 ---------------------------------------- 58.66/37.24 58.66/37.24 (129) PisEmptyProof (EQUIVALENT) 58.66/37.24 The TRS P is empty. Hence, there is no (P,Q,R) chain. 58.66/37.24 ---------------------------------------- 58.66/37.24 58.66/37.24 (130) 58.66/37.24 YES 58.66/37.24 58.66/37.24 ---------------------------------------- 58.66/37.24 58.66/37.24 (131) 58.66/37.24 Obligation: 58.66/37.24 Q DP problem: 58.66/37.24 The TRS P consists of the following rules: 58.66/37.24 58.66/37.24 new_takeWhile(Integer(Neg(Zero)), Integer(Neg(Succ(xu30000))), []) -> new_takeWhile(Integer(Neg(Zero)), Integer(new_primPlusInt0(xu30000, [])), []) 58.66/37.24 new_takeWhile12(xu206, xu207, []) -> new_takeWhile0(xu206, new_primPlusInt0(xu207, []), new_primPlusInt0(xu207, []), []) 58.66/37.24 new_takeWhile11(xu201, xu202, []) -> new_takeWhile(Integer(Pos(Succ(xu201))), Integer(Pos(new_primPlusNat(xu202, []))), []) 58.66/37.24 new_takeWhile10(xu206, xu207, Zero, Succ(xu2090), []) -> new_takeWhile0(xu206, new_primPlusInt0(xu207, []), new_primPlusInt0(xu207, []), []) 58.66/37.24 new_takeWhile(Integer(Pos(Zero)), Integer(Pos(Zero)), []) -> new_takeWhile(Integer(Pos(Zero)), Integer(new_primPlusInt([])), []) 58.66/37.24 new_takeWhile(Integer(Pos(Succ(xu31000))), Integer(Pos(Succ(xu30000))), []) -> new_takeWhile1(xu31000, xu30000, xu30000, xu31000, []) 58.66/37.24 new_takeWhile1(xu201, xu202, Zero, Succ(xu2040), []) -> new_takeWhile(Integer(Pos(Succ(xu201))), Integer(Pos(new_primPlusNat(xu202, []))), []) 58.66/37.24 new_takeWhile(Integer(Pos(Zero)), Integer(Neg(Zero)), []) -> new_takeWhile(Integer(Pos(Zero)), Integer(new_primPlusInt1([])), []) 58.66/37.24 new_takeWhile(Integer(Pos(Succ(xu31000))), Integer(Pos(Zero)), []) -> new_takeWhile(Integer(Pos(Succ(xu31000))), Integer(new_primPlusInt([])), []) 58.66/37.24 new_takeWhile(Integer(Neg(Succ(xu31000))), Integer(Neg(Succ(xu30000))), []) -> new_takeWhile10(xu31000, xu30000, xu31000, xu30000, []) 58.66/37.24 new_takeWhile(Integer(Pos(Succ(xu31000))), Integer(Neg(Zero)), []) -> new_takeWhile(Integer(Pos(Succ(xu31000))), Integer(new_primPlusInt1([])), []) 58.66/37.24 new_takeWhile(Integer(Pos(xu3100)), Integer(Neg(Succ(xu30000))), []) -> new_takeWhile(Integer(Pos(xu3100)), Integer(new_primPlusInt0(xu30000, [])), []) 58.66/37.24 new_takeWhile0(xu206, xu211, xu210, []) -> new_takeWhile(Integer(Neg(Succ(xu206))), Integer(xu210), []) 58.66/37.24 new_takeWhile1(xu201, xu202, Succ(xu2030), Succ(xu2040), []) -> new_takeWhile1(xu201, xu202, xu2030, xu2040, []) 58.66/37.24 new_takeWhile(Integer(Neg(Zero)), Integer(Neg(Zero)), []) -> new_takeWhile(Integer(Neg(Zero)), Integer(new_primPlusInt1([])), []) 58.66/37.24 new_takeWhile1(xu201, xu202, Zero, Zero, []) -> new_takeWhile11(xu201, xu202, []) 58.66/37.24 new_takeWhile10(xu206, xu207, Zero, Zero, []) -> new_takeWhile12(xu206, xu207, []) 58.66/37.24 new_takeWhile(Integer(Neg(Zero)), Integer(Pos(Zero)), []) -> new_takeWhile(Integer(Neg(Zero)), Integer(new_primPlusInt([])), []) 58.66/37.24 new_takeWhile10(xu206, xu207, Succ(xu2080), Succ(xu2090), []) -> new_takeWhile10(xu206, xu207, xu2080, xu2090, []) 58.66/37.24 58.66/37.24 The TRS R consists of the following rules: 58.66/37.24 58.66/37.24 new_primPlusNat(xu168, []) -> Succ(Succ(new_primPlusNat1(xu168, []))) 58.66/37.24 new_primPlusInt([]) -> Pos(new_primPlusNat0([])) 58.66/37.24 new_primPlusNat1(Succ(xu1680), []) -> Succ(xu1680) 58.66/37.24 new_primPlusInt0(Zero, []) -> Pos(Zero) 58.66/37.24 new_primPlusNat1(Zero, []) -> Zero 58.66/37.24 new_primPlusNat0([]) -> Succ(Zero) 58.66/37.24 new_primPlusInt0(Succ(xu300000), []) -> Neg(Succ(xu300000)) 58.66/37.24 new_primPlusInt1([]) -> Pos(Succ(Zero)) 58.66/37.24 58.66/37.24 Q is empty. 58.66/37.24 We have to consider all (P,Q,R)-chains. 58.66/37.24 ---------------------------------------- 58.66/37.24 58.66/37.24 (132) DependencyGraphProof (EQUIVALENT) 58.66/37.24 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 3 SCCs. 58.66/37.24 ---------------------------------------- 58.66/37.24 58.66/37.24 (133) 58.66/37.24 Complex Obligation (AND) 58.66/37.24 58.66/37.24 ---------------------------------------- 58.66/37.24 58.66/37.24 (134) 58.66/37.24 Obligation: 58.66/37.24 Q DP problem: 58.66/37.24 The TRS P consists of the following rules: 58.66/37.24 58.66/37.24 new_takeWhile(Integer(Pos(Succ(xu31000))), Integer(Pos(Succ(xu30000))), []) -> new_takeWhile1(xu31000, xu30000, xu30000, xu31000, []) 58.66/37.24 new_takeWhile1(xu201, xu202, Zero, Succ(xu2040), []) -> new_takeWhile(Integer(Pos(Succ(xu201))), Integer(Pos(new_primPlusNat(xu202, []))), []) 58.66/37.24 new_takeWhile(Integer(Pos(Succ(xu31000))), Integer(Pos(Zero)), []) -> new_takeWhile(Integer(Pos(Succ(xu31000))), Integer(new_primPlusInt([])), []) 58.66/37.24 new_takeWhile(Integer(Pos(Succ(xu31000))), Integer(Neg(Zero)), []) -> new_takeWhile(Integer(Pos(Succ(xu31000))), Integer(new_primPlusInt1([])), []) 58.66/37.24 new_takeWhile(Integer(Pos(xu3100)), Integer(Neg(Succ(xu30000))), []) -> new_takeWhile(Integer(Pos(xu3100)), Integer(new_primPlusInt0(xu30000, [])), []) 58.66/37.24 new_takeWhile(Integer(Pos(Zero)), Integer(Pos(Zero)), []) -> new_takeWhile(Integer(Pos(Zero)), Integer(new_primPlusInt([])), []) 58.66/37.24 new_takeWhile(Integer(Pos(Zero)), Integer(Neg(Zero)), []) -> new_takeWhile(Integer(Pos(Zero)), Integer(new_primPlusInt1([])), []) 58.66/37.24 new_takeWhile1(xu201, xu202, Succ(xu2030), Succ(xu2040), []) -> new_takeWhile1(xu201, xu202, xu2030, xu2040, []) 58.66/37.24 new_takeWhile1(xu201, xu202, Zero, Zero, []) -> new_takeWhile11(xu201, xu202, []) 58.66/37.24 new_takeWhile11(xu201, xu202, []) -> new_takeWhile(Integer(Pos(Succ(xu201))), Integer(Pos(new_primPlusNat(xu202, []))), []) 58.66/37.24 58.66/37.24 The TRS R consists of the following rules: 58.66/37.24 58.66/37.24 new_primPlusNat(xu168, []) -> Succ(Succ(new_primPlusNat1(xu168, []))) 58.66/37.24 new_primPlusInt([]) -> Pos(new_primPlusNat0([])) 58.66/37.24 new_primPlusNat1(Succ(xu1680), []) -> Succ(xu1680) 58.66/37.24 new_primPlusInt0(Zero, []) -> Pos(Zero) 58.66/37.24 new_primPlusNat1(Zero, []) -> Zero 58.66/37.24 new_primPlusNat0([]) -> Succ(Zero) 58.66/37.24 new_primPlusInt0(Succ(xu300000), []) -> Neg(Succ(xu300000)) 58.66/37.24 new_primPlusInt1([]) -> Pos(Succ(Zero)) 58.66/37.24 58.66/37.24 Q is empty. 58.66/37.24 We have to consider all (P,Q,R)-chains. 58.66/37.24 ---------------------------------------- 58.66/37.24 58.66/37.24 (135) QDPOrderProof (EQUIVALENT) 58.66/37.24 We use the reduction pair processor [LPAR04,JAR06]. 58.66/37.24 58.66/37.24 58.66/37.24 The following pairs can be oriented strictly and are deleted. 58.66/37.24 58.66/37.24 new_takeWhile(Integer(Pos(Succ(xu31000))), Integer(Neg(Zero)), []) -> new_takeWhile(Integer(Pos(Succ(xu31000))), Integer(new_primPlusInt1([])), []) 58.66/37.24 new_takeWhile(Integer(Pos(Zero)), Integer(Neg(Zero)), []) -> new_takeWhile(Integer(Pos(Zero)), Integer(new_primPlusInt1([])), []) 58.66/37.24 The remaining pairs can at least be oriented weakly. 58.66/37.24 Used ordering: Polynomial interpretation [POLO]: 58.66/37.24 58.66/37.24 POL(Integer(x_1)) = x_1 58.66/37.24 POL(Neg(x_1)) = 1 + x_1 58.66/37.24 POL(Pos(x_1)) = 0 58.66/37.24 POL(Succ(x_1)) = 0 58.66/37.24 POL(Zero) = 1 58.66/37.24 POL([]) = 0 58.66/37.24 POL(new_primPlusInt(x_1)) = 0 58.66/37.24 POL(new_primPlusInt0(x_1, x_2)) = 1 58.66/37.24 POL(new_primPlusInt1(x_1)) = 1 + x_1 58.66/37.24 POL(new_primPlusNat(x_1, x_2)) = x_1 58.66/37.24 POL(new_primPlusNat0(x_1)) = x_1 58.66/37.24 POL(new_primPlusNat1(x_1, x_2)) = 1 + x_1 + x_2 58.66/37.24 POL(new_takeWhile(x_1, x_2, x_3)) = x_2 + x_3 58.66/37.24 POL(new_takeWhile1(x_1, x_2, x_3, x_4, x_5)) = x_5 58.66/37.24 POL(new_takeWhile11(x_1, x_2, x_3)) = 0 58.66/37.24 58.66/37.24 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 58.66/37.24 58.66/37.24 new_primPlusNat(xu168, []) -> Succ(Succ(new_primPlusNat1(xu168, []))) 58.66/37.24 new_primPlusInt([]) -> Pos(new_primPlusNat0([])) 58.66/37.24 new_primPlusNat1(Succ(xu1680), []) -> Succ(xu1680) 58.66/37.24 new_primPlusInt0(Zero, []) -> Pos(Zero) 58.66/37.24 new_primPlusNat1(Zero, []) -> Zero 58.66/37.24 new_primPlusNat0([]) -> Succ(Zero) 58.66/37.24 new_primPlusInt0(Succ(xu300000), []) -> Neg(Succ(xu300000)) 58.66/37.24 new_primPlusInt1([]) -> Pos(Succ(Zero)) 58.66/37.24 58.66/37.24 58.66/37.24 ---------------------------------------- 58.66/37.24 58.66/37.24 (136) 58.66/37.24 Obligation: 58.66/37.24 Q DP problem: 58.66/37.24 The TRS P consists of the following rules: 58.66/37.24 58.66/37.24 new_takeWhile(Integer(Pos(Succ(xu31000))), Integer(Pos(Succ(xu30000))), []) -> new_takeWhile1(xu31000, xu30000, xu30000, xu31000, []) 58.66/37.24 new_takeWhile1(xu201, xu202, Zero, Succ(xu2040), []) -> new_takeWhile(Integer(Pos(Succ(xu201))), Integer(Pos(new_primPlusNat(xu202, []))), []) 58.66/37.24 new_takeWhile(Integer(Pos(Succ(xu31000))), Integer(Pos(Zero)), []) -> new_takeWhile(Integer(Pos(Succ(xu31000))), Integer(new_primPlusInt([])), []) 58.66/37.24 new_takeWhile(Integer(Pos(xu3100)), Integer(Neg(Succ(xu30000))), []) -> new_takeWhile(Integer(Pos(xu3100)), Integer(new_primPlusInt0(xu30000, [])), []) 58.66/37.24 new_takeWhile(Integer(Pos(Zero)), Integer(Pos(Zero)), []) -> new_takeWhile(Integer(Pos(Zero)), Integer(new_primPlusInt([])), []) 58.66/37.24 new_takeWhile1(xu201, xu202, Succ(xu2030), Succ(xu2040), []) -> new_takeWhile1(xu201, xu202, xu2030, xu2040, []) 58.66/37.24 new_takeWhile1(xu201, xu202, Zero, Zero, []) -> new_takeWhile11(xu201, xu202, []) 58.66/37.24 new_takeWhile11(xu201, xu202, []) -> new_takeWhile(Integer(Pos(Succ(xu201))), Integer(Pos(new_primPlusNat(xu202, []))), []) 58.66/37.24 58.66/37.24 The TRS R consists of the following rules: 58.66/37.24 58.66/37.24 new_primPlusNat(xu168, []) -> Succ(Succ(new_primPlusNat1(xu168, []))) 58.66/37.24 new_primPlusInt([]) -> Pos(new_primPlusNat0([])) 58.66/37.24 new_primPlusNat1(Succ(xu1680), []) -> Succ(xu1680) 58.66/37.24 new_primPlusInt0(Zero, []) -> Pos(Zero) 58.66/37.24 new_primPlusNat1(Zero, []) -> Zero 58.66/37.24 new_primPlusNat0([]) -> Succ(Zero) 58.66/37.24 new_primPlusInt0(Succ(xu300000), []) -> Neg(Succ(xu300000)) 58.66/37.24 new_primPlusInt1([]) -> Pos(Succ(Zero)) 58.66/37.24 58.66/37.24 Q is empty. 58.66/37.24 We have to consider all (P,Q,R)-chains. 58.66/37.24 ---------------------------------------- 58.66/37.24 58.66/37.24 (137) QDPOrderProof (EQUIVALENT) 58.66/37.24 We use the reduction pair processor [LPAR04,JAR06]. 58.66/37.24 58.66/37.24 58.66/37.24 The following pairs can be oriented strictly and are deleted. 58.66/37.24 58.66/37.24 new_takeWhile(Integer(Pos(Succ(xu31000))), Integer(Pos(Zero)), []) -> new_takeWhile(Integer(Pos(Succ(xu31000))), Integer(new_primPlusInt([])), []) 58.66/37.24 new_takeWhile(Integer(Pos(Zero)), Integer(Pos(Zero)), []) -> new_takeWhile(Integer(Pos(Zero)), Integer(new_primPlusInt([])), []) 58.66/37.24 The remaining pairs can at least be oriented weakly. 58.66/37.24 Used ordering: Polynomial interpretation [POLO]: 58.66/37.24 58.66/37.24 POL(Integer(x_1)) = x_1 58.66/37.24 POL(Neg(x_1)) = 1 58.66/37.24 POL(Pos(x_1)) = x_1 58.66/37.24 POL(Succ(x_1)) = 0 58.66/37.24 POL(Zero) = 1 58.66/37.24 POL([]) = 0 58.66/37.24 POL(new_primPlusInt(x_1)) = 0 58.66/37.24 POL(new_primPlusInt0(x_1, x_2)) = 1 58.66/37.24 POL(new_primPlusInt1(x_1)) = 1 + x_1 58.66/37.24 POL(new_primPlusNat(x_1, x_2)) = 0 58.66/37.24 POL(new_primPlusNat0(x_1)) = x_1 58.66/37.24 POL(new_primPlusNat1(x_1, x_2)) = 1 + x_1 + x_2 58.66/37.24 POL(new_takeWhile(x_1, x_2, x_3)) = x_2 + x_3 58.66/37.24 POL(new_takeWhile1(x_1, x_2, x_3, x_4, x_5)) = x_5 58.66/37.24 POL(new_takeWhile11(x_1, x_2, x_3)) = 0 58.66/37.24 58.66/37.24 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 58.66/37.24 58.66/37.24 new_primPlusNat(xu168, []) -> Succ(Succ(new_primPlusNat1(xu168, []))) 58.66/37.24 new_primPlusInt([]) -> Pos(new_primPlusNat0([])) 58.66/37.24 new_primPlusNat1(Succ(xu1680), []) -> Succ(xu1680) 58.66/37.24 new_primPlusInt0(Zero, []) -> Pos(Zero) 58.66/37.24 new_primPlusNat1(Zero, []) -> Zero 58.66/37.24 new_primPlusNat0([]) -> Succ(Zero) 58.66/37.24 new_primPlusInt0(Succ(xu300000), []) -> Neg(Succ(xu300000)) 58.66/37.24 new_primPlusInt1([]) -> Pos(Succ(Zero)) 58.66/37.24 58.66/37.24 58.66/37.24 ---------------------------------------- 58.66/37.24 58.66/37.24 (138) 58.66/37.24 Obligation: 58.66/37.24 Q DP problem: 58.66/37.24 The TRS P consists of the following rules: 58.66/37.24 58.66/37.24 new_takeWhile(Integer(Pos(Succ(xu31000))), Integer(Pos(Succ(xu30000))), []) -> new_takeWhile1(xu31000, xu30000, xu30000, xu31000, []) 58.66/37.24 new_takeWhile1(xu201, xu202, Zero, Succ(xu2040), []) -> new_takeWhile(Integer(Pos(Succ(xu201))), Integer(Pos(new_primPlusNat(xu202, []))), []) 58.66/37.24 new_takeWhile(Integer(Pos(xu3100)), Integer(Neg(Succ(xu30000))), []) -> new_takeWhile(Integer(Pos(xu3100)), Integer(new_primPlusInt0(xu30000, [])), []) 58.66/37.24 new_takeWhile1(xu201, xu202, Succ(xu2030), Succ(xu2040), []) -> new_takeWhile1(xu201, xu202, xu2030, xu2040, []) 58.66/37.24 new_takeWhile1(xu201, xu202, Zero, Zero, []) -> new_takeWhile11(xu201, xu202, []) 58.66/37.24 new_takeWhile11(xu201, xu202, []) -> new_takeWhile(Integer(Pos(Succ(xu201))), Integer(Pos(new_primPlusNat(xu202, []))), []) 58.66/37.24 58.66/37.24 The TRS R consists of the following rules: 58.66/37.24 58.66/37.24 new_primPlusNat(xu168, []) -> Succ(Succ(new_primPlusNat1(xu168, []))) 58.66/37.24 new_primPlusInt([]) -> Pos(new_primPlusNat0([])) 58.66/37.24 new_primPlusNat1(Succ(xu1680), []) -> Succ(xu1680) 58.66/37.24 new_primPlusInt0(Zero, []) -> Pos(Zero) 58.66/37.24 new_primPlusNat1(Zero, []) -> Zero 58.66/37.24 new_primPlusNat0([]) -> Succ(Zero) 58.66/37.24 new_primPlusInt0(Succ(xu300000), []) -> Neg(Succ(xu300000)) 58.66/37.24 new_primPlusInt1([]) -> Pos(Succ(Zero)) 58.66/37.24 58.66/37.24 Q is empty. 58.66/37.24 We have to consider all (P,Q,R)-chains. 58.66/37.24 ---------------------------------------- 58.66/37.24 58.66/37.24 (139) DependencyGraphProof (EQUIVALENT) 58.66/37.24 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs. 58.66/37.24 ---------------------------------------- 58.66/37.24 58.66/37.24 (140) 58.66/37.24 Complex Obligation (AND) 58.66/37.24 58.66/37.24 ---------------------------------------- 58.66/37.24 58.66/37.24 (141) 58.66/37.24 Obligation: 58.66/37.24 Q DP problem: 58.66/37.24 The TRS P consists of the following rules: 58.66/37.24 58.66/37.24 new_takeWhile1(xu201, xu202, Zero, Succ(xu2040), []) -> new_takeWhile(Integer(Pos(Succ(xu201))), Integer(Pos(new_primPlusNat(xu202, []))), []) 58.66/37.24 new_takeWhile(Integer(Pos(Succ(xu31000))), Integer(Pos(Succ(xu30000))), []) -> new_takeWhile1(xu31000, xu30000, xu30000, xu31000, []) 58.66/37.24 new_takeWhile1(xu201, xu202, Succ(xu2030), Succ(xu2040), []) -> new_takeWhile1(xu201, xu202, xu2030, xu2040, []) 58.66/37.24 new_takeWhile1(xu201, xu202, Zero, Zero, []) -> new_takeWhile11(xu201, xu202, []) 58.66/37.24 new_takeWhile11(xu201, xu202, []) -> new_takeWhile(Integer(Pos(Succ(xu201))), Integer(Pos(new_primPlusNat(xu202, []))), []) 58.66/37.24 58.66/37.24 The TRS R consists of the following rules: 58.66/37.24 58.66/37.24 new_primPlusNat(xu168, []) -> Succ(Succ(new_primPlusNat1(xu168, []))) 58.66/37.24 new_primPlusInt([]) -> Pos(new_primPlusNat0([])) 58.66/37.24 new_primPlusNat1(Succ(xu1680), []) -> Succ(xu1680) 58.66/37.24 new_primPlusInt0(Zero, []) -> Pos(Zero) 58.66/37.24 new_primPlusNat1(Zero, []) -> Zero 58.66/37.24 new_primPlusNat0([]) -> Succ(Zero) 58.66/37.24 new_primPlusInt0(Succ(xu300000), []) -> Neg(Succ(xu300000)) 58.66/37.24 new_primPlusInt1([]) -> Pos(Succ(Zero)) 58.66/37.24 58.66/37.24 Q is empty. 58.66/37.24 We have to consider all (P,Q,R)-chains. 58.66/37.24 ---------------------------------------- 58.66/37.24 58.66/37.24 (142) 58.66/37.24 Obligation: 58.66/37.24 Q DP problem: 58.66/37.24 The TRS P consists of the following rules: 58.66/37.24 58.66/37.24 new_takeWhile(Integer(Pos(xu3100)), Integer(Neg(Succ(xu30000))), []) -> new_takeWhile(Integer(Pos(xu3100)), Integer(new_primPlusInt0(xu30000, [])), []) 58.66/37.24 58.66/37.24 The TRS R consists of the following rules: 58.66/37.24 58.66/37.24 new_primPlusNat(xu168, []) -> Succ(Succ(new_primPlusNat1(xu168, []))) 58.66/37.24 new_primPlusInt([]) -> Pos(new_primPlusNat0([])) 58.66/37.24 new_primPlusNat1(Succ(xu1680), []) -> Succ(xu1680) 58.66/37.24 new_primPlusInt0(Zero, []) -> Pos(Zero) 58.66/37.24 new_primPlusNat1(Zero, []) -> Zero 58.66/37.24 new_primPlusNat0([]) -> Succ(Zero) 58.66/37.24 new_primPlusInt0(Succ(xu300000), []) -> Neg(Succ(xu300000)) 58.66/37.24 new_primPlusInt1([]) -> Pos(Succ(Zero)) 58.66/37.24 58.66/37.24 Q is empty. 58.66/37.24 We have to consider all (P,Q,R)-chains. 58.66/37.24 ---------------------------------------- 58.66/37.24 58.66/37.24 (143) MRRProof (EQUIVALENT) 58.66/37.24 By using the rule removal processor [LPAR04] with the following ordering, at least one Dependency Pair or term rewrite system rule of this QDP problem can be strictly oriented. 58.66/37.24 58.66/37.24 Strictly oriented dependency pairs: 58.66/37.24 58.66/37.24 new_takeWhile(Integer(Pos(xu3100)), Integer(Neg(Succ(xu30000))), []) -> new_takeWhile(Integer(Pos(xu3100)), Integer(new_primPlusInt0(xu30000, [])), []) 58.66/37.24 58.66/37.24 Strictly oriented rules of the TRS R: 58.66/37.24 58.66/37.24 new_primPlusInt([]) -> Pos(new_primPlusNat0([])) 58.66/37.24 58.66/37.24 Used ordering: Polynomial interpretation [POLO]: 58.66/37.24 58.66/37.24 POL(Integer(x_1)) = x_1 58.66/37.24 POL(Neg(x_1)) = x_1 58.66/37.24 POL(Pos(x_1)) = x_1 58.66/37.24 POL(Succ(x_1)) = 1 + x_1 58.66/37.24 POL(Zero) = 0 58.66/37.24 POL([]) = 0 58.66/37.24 POL(new_primPlusInt(x_1)) = 2 + 2*x_1 58.66/37.24 POL(new_primPlusInt0(x_1, x_2)) = x_1 + x_2 58.66/37.24 POL(new_primPlusInt1(x_1)) = 1 + 2*x_1 58.66/37.24 POL(new_primPlusNat(x_1, x_2)) = 2 + 2*x_1 + x_2 58.66/37.24 POL(new_primPlusNat0(x_1)) = 1 + x_1 58.66/37.24 POL(new_primPlusNat1(x_1, x_2)) = x_1 + 2*x_2 58.66/37.24 POL(new_takeWhile(x_1, x_2, x_3)) = x_1 + x_2 + x_3 58.66/37.24 58.66/37.24 58.66/37.24 ---------------------------------------- 58.66/37.24 58.66/37.24 (144) 58.66/37.24 Obligation: 58.66/37.24 Q DP problem: 58.66/37.24 P is empty. 58.66/37.24 The TRS R consists of the following rules: 58.66/37.24 58.66/37.24 new_primPlusNat(xu168, []) -> Succ(Succ(new_primPlusNat1(xu168, []))) 58.66/37.24 new_primPlusNat1(Succ(xu1680), []) -> Succ(xu1680) 58.66/37.24 new_primPlusInt0(Zero, []) -> Pos(Zero) 58.66/37.24 new_primPlusNat1(Zero, []) -> Zero 58.66/37.24 new_primPlusNat0([]) -> Succ(Zero) 58.66/37.24 new_primPlusInt0(Succ(xu300000), []) -> Neg(Succ(xu300000)) 58.66/37.24 new_primPlusInt1([]) -> Pos(Succ(Zero)) 58.66/37.24 58.66/37.24 Q is empty. 58.66/37.24 We have to consider all (P,Q,R)-chains. 58.66/37.24 ---------------------------------------- 58.66/37.24 58.66/37.24 (145) PisEmptyProof (EQUIVALENT) 58.66/37.24 The TRS P is empty. Hence, there is no (P,Q,R) chain. 58.66/37.24 ---------------------------------------- 58.66/37.24 58.66/37.24 (146) 58.66/37.24 YES 58.66/37.24 58.66/37.24 ---------------------------------------- 58.66/37.24 58.66/37.24 (147) 58.66/37.24 Obligation: 58.66/37.24 Q DP problem: 58.66/37.24 The TRS P consists of the following rules: 58.66/37.24 58.66/37.24 new_takeWhile0(xu206, xu211, xu210, []) -> new_takeWhile(Integer(Neg(Succ(xu206))), Integer(xu210), []) 58.66/37.24 new_takeWhile(Integer(Neg(Succ(xu31000))), Integer(Neg(Succ(xu30000))), []) -> new_takeWhile10(xu31000, xu30000, xu31000, xu30000, []) 58.66/37.25 new_takeWhile10(xu206, xu207, Zero, Succ(xu2090), []) -> new_takeWhile0(xu206, new_primPlusInt0(xu207, []), new_primPlusInt0(xu207, []), []) 58.66/37.25 new_takeWhile10(xu206, xu207, Zero, Zero, []) -> new_takeWhile12(xu206, xu207, []) 58.66/37.25 new_takeWhile12(xu206, xu207, []) -> new_takeWhile0(xu206, new_primPlusInt0(xu207, []), new_primPlusInt0(xu207, []), []) 58.66/37.25 new_takeWhile10(xu206, xu207, Succ(xu2080), Succ(xu2090), []) -> new_takeWhile10(xu206, xu207, xu2080, xu2090, []) 58.66/37.25 58.66/37.25 The TRS R consists of the following rules: 58.66/37.25 58.66/37.25 new_primPlusNat(xu168, []) -> Succ(Succ(new_primPlusNat1(xu168, []))) 58.66/37.25 new_primPlusInt([]) -> Pos(new_primPlusNat0([])) 58.66/37.25 new_primPlusNat1(Succ(xu1680), []) -> Succ(xu1680) 58.66/37.25 new_primPlusInt0(Zero, []) -> Pos(Zero) 58.66/37.25 new_primPlusNat1(Zero, []) -> Zero 58.66/37.25 new_primPlusNat0([]) -> Succ(Zero) 58.66/37.25 new_primPlusInt0(Succ(xu300000), []) -> Neg(Succ(xu300000)) 58.66/37.25 new_primPlusInt1([]) -> Pos(Succ(Zero)) 58.66/37.25 58.66/37.25 Q is empty. 58.66/37.25 We have to consider all (P,Q,R)-chains. 58.66/37.25 ---------------------------------------- 58.66/37.25 58.66/37.25 (148) QDPOrderProof (EQUIVALENT) 58.66/37.25 We use the reduction pair processor [LPAR04,JAR06]. 58.66/37.25 58.66/37.25 58.66/37.25 The following pairs can be oriented strictly and are deleted. 58.66/37.25 58.66/37.25 new_takeWhile(Integer(Neg(Succ(xu31000))), Integer(Neg(Succ(xu30000))), []) -> new_takeWhile10(xu31000, xu30000, xu31000, xu30000, []) 58.66/37.25 The remaining pairs can at least be oriented weakly. 58.66/37.25 Used ordering: Polynomial interpretation [POLO]: 58.66/37.25 58.66/37.25 POL(Integer(x_1)) = x_1 58.66/37.25 POL(Neg(x_1)) = x_1 58.66/37.25 POL(Pos(x_1)) = 0 58.66/37.25 POL(Succ(x_1)) = 1 + x_1 58.66/37.25 POL(Zero) = 0 58.66/37.25 POL([]) = 1 58.66/37.25 POL(new_primPlusInt(x_1)) = 1 + x_1 58.66/37.25 POL(new_primPlusInt0(x_1, x_2)) = x_1 58.66/37.25 POL(new_primPlusInt1(x_1)) = 1 + x_1 58.66/37.25 POL(new_primPlusNat(x_1, x_2)) = 1 + x_1 + x_2 58.66/37.25 POL(new_primPlusNat0(x_1)) = 1 58.66/37.25 POL(new_primPlusNat1(x_1, x_2)) = x_1 58.66/37.25 POL(new_takeWhile(x_1, x_2, x_3)) = x_2 58.66/37.25 POL(new_takeWhile0(x_1, x_2, x_3, x_4)) = x_3 58.66/37.25 POL(new_takeWhile10(x_1, x_2, x_3, x_4, x_5)) = x_2 58.66/37.25 POL(new_takeWhile12(x_1, x_2, x_3)) = x_2 58.66/37.25 58.66/37.25 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 58.66/37.25 58.66/37.25 new_primPlusNat(xu168, []) -> Succ(Succ(new_primPlusNat1(xu168, []))) 58.66/37.25 new_primPlusInt([]) -> Pos(new_primPlusNat0([])) 58.66/37.25 new_primPlusNat1(Succ(xu1680), []) -> Succ(xu1680) 58.66/37.25 new_primPlusInt0(Zero, []) -> Pos(Zero) 58.66/37.25 new_primPlusNat1(Zero, []) -> Zero 58.66/37.25 new_primPlusNat0([]) -> Succ(Zero) 58.66/37.25 new_primPlusInt0(Succ(xu300000), []) -> Neg(Succ(xu300000)) 58.66/37.25 new_primPlusInt1([]) -> Pos(Succ(Zero)) 58.66/37.25 58.66/37.25 58.66/37.25 ---------------------------------------- 58.66/37.25 58.66/37.25 (149) 58.66/37.25 Obligation: 58.66/37.25 Q DP problem: 58.66/37.25 The TRS P consists of the following rules: 58.66/37.25 58.66/37.25 new_takeWhile0(xu206, xu211, xu210, []) -> new_takeWhile(Integer(Neg(Succ(xu206))), Integer(xu210), []) 58.66/37.25 new_takeWhile10(xu206, xu207, Zero, Succ(xu2090), []) -> new_takeWhile0(xu206, new_primPlusInt0(xu207, []), new_primPlusInt0(xu207, []), []) 58.66/37.25 new_takeWhile10(xu206, xu207, Zero, Zero, []) -> new_takeWhile12(xu206, xu207, []) 58.66/37.25 new_takeWhile12(xu206, xu207, []) -> new_takeWhile0(xu206, new_primPlusInt0(xu207, []), new_primPlusInt0(xu207, []), []) 58.66/37.25 new_takeWhile10(xu206, xu207, Succ(xu2080), Succ(xu2090), []) -> new_takeWhile10(xu206, xu207, xu2080, xu2090, []) 58.66/37.25 58.66/37.25 The TRS R consists of the following rules: 58.66/37.25 58.66/37.25 new_primPlusNat(xu168, []) -> Succ(Succ(new_primPlusNat1(xu168, []))) 58.66/37.25 new_primPlusInt([]) -> Pos(new_primPlusNat0([])) 58.66/37.25 new_primPlusNat1(Succ(xu1680), []) -> Succ(xu1680) 58.66/37.25 new_primPlusInt0(Zero, []) -> Pos(Zero) 58.66/37.25 new_primPlusNat1(Zero, []) -> Zero 58.66/37.25 new_primPlusNat0([]) -> Succ(Zero) 58.66/37.25 new_primPlusInt0(Succ(xu300000), []) -> Neg(Succ(xu300000)) 58.66/37.25 new_primPlusInt1([]) -> Pos(Succ(Zero)) 58.66/37.25 58.66/37.25 Q is empty. 58.66/37.25 We have to consider all (P,Q,R)-chains. 58.66/37.25 ---------------------------------------- 58.66/37.25 58.66/37.25 (150) DependencyGraphProof (EQUIVALENT) 58.66/37.25 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 4 less nodes. 58.66/37.25 ---------------------------------------- 58.66/37.25 58.66/37.25 (151) 58.66/37.25 Obligation: 58.66/37.25 Q DP problem: 58.66/37.25 The TRS P consists of the following rules: 58.66/37.25 58.66/37.25 new_takeWhile10(xu206, xu207, Succ(xu2080), Succ(xu2090), []) -> new_takeWhile10(xu206, xu207, xu2080, xu2090, []) 58.66/37.25 58.66/37.25 The TRS R consists of the following rules: 58.66/37.25 58.66/37.25 new_primPlusNat(xu168, []) -> Succ(Succ(new_primPlusNat1(xu168, []))) 58.66/37.25 new_primPlusInt([]) -> Pos(new_primPlusNat0([])) 58.66/37.25 new_primPlusNat1(Succ(xu1680), []) -> Succ(xu1680) 58.66/37.25 new_primPlusInt0(Zero, []) -> Pos(Zero) 58.66/37.25 new_primPlusNat1(Zero, []) -> Zero 58.66/37.25 new_primPlusNat0([]) -> Succ(Zero) 58.66/37.25 new_primPlusInt0(Succ(xu300000), []) -> Neg(Succ(xu300000)) 58.66/37.25 new_primPlusInt1([]) -> Pos(Succ(Zero)) 58.66/37.25 58.66/37.25 Q is empty. 58.66/37.25 We have to consider all (P,Q,R)-chains. 58.66/37.25 ---------------------------------------- 58.66/37.25 58.66/37.25 (152) MRRProof (EQUIVALENT) 58.66/37.25 By using the rule removal processor [LPAR04] with the following ordering, at least one Dependency Pair or term rewrite system rule of this QDP problem can be strictly oriented. 58.66/37.25 58.66/37.25 58.66/37.25 Strictly oriented rules of the TRS R: 58.66/37.25 58.66/37.25 new_primPlusNat1(Succ(xu1680), []) -> Succ(xu1680) 58.66/37.25 new_primPlusInt0(Zero, []) -> Pos(Zero) 58.66/37.25 new_primPlusNat1(Zero, []) -> Zero 58.66/37.25 new_primPlusNat0([]) -> Succ(Zero) 58.66/37.25 new_primPlusInt0(Succ(xu300000), []) -> Neg(Succ(xu300000)) 58.66/37.25 new_primPlusInt1([]) -> Pos(Succ(Zero)) 58.66/37.25 58.66/37.25 Used ordering: Polynomial interpretation [POLO]: 58.66/37.25 58.66/37.25 POL(Neg(x_1)) = 2 + 2*x_1 58.66/37.25 POL(Pos(x_1)) = 2 + x_1 58.66/37.25 POL(Succ(x_1)) = x_1 58.66/37.25 POL(Zero) = 1 58.66/37.25 POL([]) = 2 58.66/37.25 POL(new_primPlusInt(x_1)) = 2 + 2*x_1 58.66/37.25 POL(new_primPlusInt0(x_1, x_2)) = 1 + 2*x_1 + x_2 58.66/37.25 POL(new_primPlusInt1(x_1)) = 2*x_1 58.66/37.25 POL(new_primPlusNat(x_1, x_2)) = 2 + x_1 + x_2 58.66/37.25 POL(new_primPlusNat0(x_1)) = 2 + x_1 58.66/37.25 POL(new_primPlusNat1(x_1, x_2)) = x_1 + 2*x_2 58.66/37.25 POL(new_takeWhile10(x_1, x_2, x_3, x_4, x_5)) = x_1 + x_2 + x_3 + 2*x_4 + x_5 58.66/37.25 58.66/37.25 58.66/37.25 ---------------------------------------- 58.66/37.25 58.66/37.25 (153) 58.66/37.25 Obligation: 58.66/37.25 Q DP problem: 58.66/37.25 The TRS P consists of the following rules: 58.66/37.25 58.66/37.25 new_takeWhile10(xu206, xu207, Succ(xu2080), Succ(xu2090), []) -> new_takeWhile10(xu206, xu207, xu2080, xu2090, []) 58.66/37.25 58.66/37.25 The TRS R consists of the following rules: 58.66/37.25 58.66/37.25 new_primPlusNat(xu168, []) -> Succ(Succ(new_primPlusNat1(xu168, []))) 58.66/37.25 new_primPlusInt([]) -> Pos(new_primPlusNat0([])) 58.66/37.25 58.66/37.25 Q is empty. 58.66/37.25 We have to consider all (P,Q,R)-chains. 58.66/37.25 ---------------------------------------- 58.66/37.25 58.66/37.25 (154) MRRProof (EQUIVALENT) 58.66/37.25 By using the rule removal processor [LPAR04] with the following ordering, at least one Dependency Pair or term rewrite system rule of this QDP problem can be strictly oriented. 58.66/37.25 58.66/37.25 Strictly oriented dependency pairs: 58.66/37.25 58.66/37.25 new_takeWhile10(xu206, xu207, Succ(xu2080), Succ(xu2090), []) -> new_takeWhile10(xu206, xu207, xu2080, xu2090, []) 58.66/37.25 58.66/37.25 58.66/37.25 Used ordering: Polynomial interpretation [POLO]: 58.66/37.25 58.66/37.25 POL(Pos(x_1)) = 2*x_1 58.66/37.25 POL(Succ(x_1)) = 1 + x_1 58.66/37.25 POL([]) = 2 58.66/37.25 POL(new_primPlusInt(x_1)) = 2 + x_1 58.66/37.25 POL(new_primPlusNat(x_1, x_2)) = 2 + x_1 + 2*x_2 58.66/37.25 POL(new_primPlusNat0(x_1)) = x_1 58.66/37.25 POL(new_primPlusNat1(x_1, x_2)) = x_1 + 2*x_2 58.66/37.25 POL(new_takeWhile10(x_1, x_2, x_3, x_4, x_5)) = x_1 + x_2 + 2*x_3 + x_4 + x_5 58.66/37.25 58.66/37.25 58.66/37.25 ---------------------------------------- 58.66/37.25 58.66/37.25 (155) 58.66/37.25 Obligation: 58.66/37.25 Q DP problem: 58.66/37.25 P is empty. 58.66/37.25 The TRS R consists of the following rules: 58.66/37.25 58.66/37.25 new_primPlusNat(xu168, []) -> Succ(Succ(new_primPlusNat1(xu168, []))) 58.66/37.25 new_primPlusInt([]) -> Pos(new_primPlusNat0([])) 58.66/37.25 58.66/37.25 Q is empty. 58.66/37.25 We have to consider all (P,Q,R)-chains. 58.66/37.25 ---------------------------------------- 58.66/37.25 58.66/37.25 (156) PisEmptyProof (EQUIVALENT) 58.66/37.25 The TRS P is empty. Hence, there is no (P,Q,R) chain. 58.66/37.25 ---------------------------------------- 58.66/37.25 58.66/37.25 (157) 58.66/37.25 YES 58.66/37.25 58.66/37.25 ---------------------------------------- 58.66/37.25 58.66/37.25 (158) 58.66/37.25 Obligation: 58.66/37.25 Q DP problem: 58.66/37.25 The TRS P consists of the following rules: 58.66/37.25 58.66/37.25 new_takeWhile(Integer(Neg(Zero)), Integer(Neg(Zero)), []) -> new_takeWhile(Integer(Neg(Zero)), Integer(new_primPlusInt1([])), []) 58.66/37.25 new_takeWhile(Integer(Neg(Zero)), Integer(Neg(Succ(xu30000))), []) -> new_takeWhile(Integer(Neg(Zero)), Integer(new_primPlusInt0(xu30000, [])), []) 58.66/37.25 new_takeWhile(Integer(Neg(Zero)), Integer(Pos(Zero)), []) -> new_takeWhile(Integer(Neg(Zero)), Integer(new_primPlusInt([])), []) 58.66/37.25 58.66/37.25 The TRS R consists of the following rules: 58.66/37.25 58.66/37.25 new_primPlusNat(xu168, []) -> Succ(Succ(new_primPlusNat1(xu168, []))) 58.66/37.25 new_primPlusInt([]) -> Pos(new_primPlusNat0([])) 58.66/37.25 new_primPlusNat1(Succ(xu1680), []) -> Succ(xu1680) 58.66/37.25 new_primPlusInt0(Zero, []) -> Pos(Zero) 58.66/37.25 new_primPlusNat1(Zero, []) -> Zero 58.66/37.25 new_primPlusNat0([]) -> Succ(Zero) 58.66/37.25 new_primPlusInt0(Succ(xu300000), []) -> Neg(Succ(xu300000)) 58.66/37.25 new_primPlusInt1([]) -> Pos(Succ(Zero)) 58.66/37.25 58.66/37.25 Q is empty. 58.66/37.25 We have to consider all (P,Q,R)-chains. 58.66/37.25 ---------------------------------------- 58.66/37.25 58.66/37.25 (159) MRRProof (EQUIVALENT) 58.66/37.25 By using the rule removal processor [LPAR04] with the following ordering, at least one Dependency Pair or term rewrite system rule of this QDP problem can be strictly oriented. 58.66/37.25 58.66/37.25 Strictly oriented dependency pairs: 58.66/37.25 58.66/37.25 new_takeWhile(Integer(Neg(Zero)), Integer(Neg(Zero)), []) -> new_takeWhile(Integer(Neg(Zero)), Integer(new_primPlusInt1([])), []) 58.66/37.25 58.66/37.25 Strictly oriented rules of the TRS R: 58.66/37.25 58.66/37.25 new_primPlusNat(xu168, []) -> Succ(Succ(new_primPlusNat1(xu168, []))) 58.66/37.25 new_primPlusInt0(Zero, []) -> Pos(Zero) 58.66/37.25 58.66/37.25 Used ordering: Polynomial interpretation [POLO]: 58.66/37.25 58.66/37.25 POL(Integer(x_1)) = 2*x_1 58.66/37.25 POL(Neg(x_1)) = 2 + x_1 58.66/37.25 POL(Pos(x_1)) = x_1 58.66/37.25 POL(Succ(x_1)) = x_1 58.66/37.25 POL(Zero) = 2 58.66/37.25 POL([]) = 0 58.66/37.25 POL(new_primPlusInt(x_1)) = 2 + x_1 58.66/37.25 POL(new_primPlusInt0(x_1, x_2)) = 2 + x_1 + 2*x_2 58.66/37.25 POL(new_primPlusInt1(x_1)) = 2 + 2*x_1 58.66/37.25 POL(new_primPlusNat(x_1, x_2)) = 1 + 2*x_1 + 2*x_2 58.66/37.25 POL(new_primPlusNat0(x_1)) = 2 + x_1 58.66/37.25 POL(new_primPlusNat1(x_1, x_2)) = x_1 + 2*x_2 58.66/37.25 POL(new_takeWhile(x_1, x_2, x_3)) = x_1 + 2*x_2 + x_3 58.66/37.25 58.66/37.25 58.66/37.25 ---------------------------------------- 58.66/37.25 58.66/37.25 (160) 58.66/37.25 Obligation: 58.66/37.25 Q DP problem: 58.66/37.25 The TRS P consists of the following rules: 58.66/37.25 58.66/37.25 new_takeWhile(Integer(Neg(Zero)), Integer(Neg(Succ(xu30000))), []) -> new_takeWhile(Integer(Neg(Zero)), Integer(new_primPlusInt0(xu30000, [])), []) 58.66/37.25 new_takeWhile(Integer(Neg(Zero)), Integer(Pos(Zero)), []) -> new_takeWhile(Integer(Neg(Zero)), Integer(new_primPlusInt([])), []) 58.66/37.25 58.66/37.25 The TRS R consists of the following rules: 58.66/37.25 58.66/37.25 new_primPlusInt([]) -> Pos(new_primPlusNat0([])) 58.66/37.25 new_primPlusNat1(Succ(xu1680), []) -> Succ(xu1680) 58.66/37.25 new_primPlusNat1(Zero, []) -> Zero 58.66/37.25 new_primPlusNat0([]) -> Succ(Zero) 58.66/37.25 new_primPlusInt0(Succ(xu300000), []) -> Neg(Succ(xu300000)) 58.66/37.25 new_primPlusInt1([]) -> Pos(Succ(Zero)) 58.66/37.25 58.66/37.25 Q is empty. 58.66/37.25 We have to consider all (P,Q,R)-chains. 58.66/37.25 ---------------------------------------- 58.66/37.25 58.66/37.25 (161) MRRProof (EQUIVALENT) 58.66/37.25 By using the rule removal processor [LPAR04] with the following ordering, at least one Dependency Pair or term rewrite system rule of this QDP problem can be strictly oriented. 58.66/37.25 58.66/37.25 58.66/37.25 Strictly oriented rules of the TRS R: 58.66/37.25 58.66/37.25 new_primPlusNat1(Succ(xu1680), []) -> Succ(xu1680) 58.66/37.25 new_primPlusNat1(Zero, []) -> Zero 58.66/37.25 58.66/37.25 Used ordering: Polynomial interpretation [POLO]: 58.66/37.25 58.66/37.25 POL(Integer(x_1)) = 2*x_1 58.66/37.25 POL(Neg(x_1)) = 1 + x_1 58.66/37.25 POL(Pos(x_1)) = x_1 58.66/37.25 POL(Succ(x_1)) = x_1 58.66/37.25 POL(Zero) = 2 58.66/37.25 POL([]) = 1 58.66/37.25 POL(new_primPlusInt(x_1)) = 1 + x_1 58.66/37.25 POL(new_primPlusInt0(x_1, x_2)) = x_1 + x_2 58.66/37.25 POL(new_primPlusInt1(x_1)) = 2*x_1 58.66/37.25 POL(new_primPlusNat0(x_1)) = 1 + x_1 58.66/37.25 POL(new_primPlusNat1(x_1, x_2)) = 2 + 2*x_1 + 2*x_2 58.66/37.25 POL(new_takeWhile(x_1, x_2, x_3)) = x_1 + x_2 + x_3 58.66/37.25 58.66/37.25 58.66/37.25 ---------------------------------------- 58.66/37.25 58.66/37.25 (162) 58.66/37.25 Obligation: 58.66/37.25 Q DP problem: 58.66/37.25 The TRS P consists of the following rules: 58.66/37.25 58.66/37.25 new_takeWhile(Integer(Neg(Zero)), Integer(Neg(Succ(xu30000))), []) -> new_takeWhile(Integer(Neg(Zero)), Integer(new_primPlusInt0(xu30000, [])), []) 58.66/37.25 new_takeWhile(Integer(Neg(Zero)), Integer(Pos(Zero)), []) -> new_takeWhile(Integer(Neg(Zero)), Integer(new_primPlusInt([])), []) 58.66/37.25 58.66/37.25 The TRS R consists of the following rules: 58.66/37.25 58.66/37.25 new_primPlusInt([]) -> Pos(new_primPlusNat0([])) 58.66/37.25 new_primPlusNat0([]) -> Succ(Zero) 58.66/37.25 new_primPlusInt0(Succ(xu300000), []) -> Neg(Succ(xu300000)) 58.66/37.25 new_primPlusInt1([]) -> Pos(Succ(Zero)) 58.66/37.25 58.66/37.25 Q is empty. 58.66/37.25 We have to consider all (P,Q,R)-chains. 58.66/37.25 ---------------------------------------- 58.66/37.25 58.66/37.25 (163) DependencyGraphProof (EQUIVALENT) 58.66/37.25 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 58.66/37.25 ---------------------------------------- 58.66/37.25 58.66/37.25 (164) 58.66/37.25 Obligation: 58.66/37.25 Q DP problem: 58.66/37.25 The TRS P consists of the following rules: 58.66/37.25 58.66/37.25 new_takeWhile(Integer(Neg(Zero)), Integer(Neg(Succ(xu30000))), []) -> new_takeWhile(Integer(Neg(Zero)), Integer(new_primPlusInt0(xu30000, [])), []) 58.66/37.25 58.66/37.25 The TRS R consists of the following rules: 58.66/37.25 58.66/37.25 new_primPlusInt([]) -> Pos(new_primPlusNat0([])) 58.66/37.25 new_primPlusNat0([]) -> Succ(Zero) 58.66/37.25 new_primPlusInt0(Succ(xu300000), []) -> Neg(Succ(xu300000)) 58.66/37.25 new_primPlusInt1([]) -> Pos(Succ(Zero)) 58.66/37.25 58.66/37.25 Q is empty. 58.66/37.25 We have to consider all (P,Q,R)-chains. 58.66/37.25 ---------------------------------------- 58.66/37.25 58.66/37.25 (165) MRRProof (EQUIVALENT) 58.66/37.25 By using the rule removal processor [LPAR04] with the following ordering, at least one Dependency Pair or term rewrite system rule of this QDP problem can be strictly oriented. 58.66/37.25 58.66/37.25 Strictly oriented dependency pairs: 58.66/37.25 58.66/37.25 new_takeWhile(Integer(Neg(Zero)), Integer(Neg(Succ(xu30000))), []) -> new_takeWhile(Integer(Neg(Zero)), Integer(new_primPlusInt0(xu30000, [])), []) 58.66/37.25 58.66/37.25 Strictly oriented rules of the TRS R: 58.66/37.25 58.66/37.25 new_primPlusNat0([]) -> Succ(Zero) 58.66/37.25 new_primPlusInt0(Succ(xu300000), []) -> Neg(Succ(xu300000)) 58.66/37.25 new_primPlusInt1([]) -> Pos(Succ(Zero)) 58.66/37.25 58.66/37.25 Used ordering: Polynomial interpretation [POLO]: 58.66/37.25 58.66/37.25 POL(Integer(x_1)) = 2*x_1 58.66/37.25 POL(Neg(x_1)) = 2*x_1 58.66/37.25 POL(Pos(x_1)) = x_1 58.66/37.25 POL(Succ(x_1)) = 1 + 2*x_1 58.66/37.25 POL(Zero) = 0 58.66/37.25 POL([]) = 0 58.66/37.25 POL(new_primPlusInt(x_1)) = 2 + 2*x_1 58.66/37.25 POL(new_primPlusInt0(x_1, x_2)) = 1 + 2*x_1 + x_2 58.66/37.25 POL(new_primPlusInt1(x_1)) = 2 + 2*x_1 58.66/37.25 POL(new_primPlusNat0(x_1)) = 2 + x_1 58.66/37.25 POL(new_takeWhile(x_1, x_2, x_3)) = x_1 + x_2 + x_3 58.66/37.25 58.66/37.25 58.66/37.25 ---------------------------------------- 58.66/37.25 58.66/37.25 (166) 58.66/37.25 Obligation: 58.66/37.25 Q DP problem: 58.66/37.25 P is empty. 58.66/37.25 The TRS R consists of the following rules: 58.66/37.25 58.66/37.25 new_primPlusInt([]) -> Pos(new_primPlusNat0([])) 58.66/37.25 58.66/37.25 Q is empty. 58.66/37.25 We have to consider all (P,Q,R)-chains. 58.66/37.25 ---------------------------------------- 58.66/37.25 58.66/37.25 (167) PisEmptyProof (EQUIVALENT) 58.66/37.25 The TRS P is empty. Hence, there is no (P,Q,R) chain. 58.66/37.25 ---------------------------------------- 58.66/37.25 58.66/37.25 (168) 58.66/37.25 YES 58.66/37.28 EOF