Prog "LiftCases" ["FiniteMap","FlatCurry","FlatCurryGoodies","List","Prelude"] [TypeSyn ("LiftCases","FuncList") Private [] (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []]) (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []])),TypeSyn ("LiftCases","Result") Private [] (TCons ("Prelude","(,,)") [FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []]) (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []]),TCons ("Prelude","Int") [],FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []]) (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []])])] [Func ("LiftCases","isCaseAuxFuncName") 1 Public (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (TCons ("Prelude","Bool") [])) (Rule [1] (Comb FuncCall ("Prelude","==") [Comb FuncCall ("Prelude","take") [Lit (Intc 6),Var 1],Comb ConsCall ("Prelude",":") [Lit (Charc '_'),Comb ConsCall ("Prelude",":") [Lit (Charc 'c'),Comb ConsCall ("Prelude",":") [Lit (Charc 'a'),Comb ConsCall ("Prelude",":") [Lit (Charc 's'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc '_'),Comb ConsCall ("Prelude","[]") []]]]]]]])),Func ("LiftCases","isCaseAuxFuncType") 1 Public (FuncType (TCons ("FlatCurry","TypeExpr") []) (TCons ("Prelude","Bool") [])) (Rule [1] (Comb FuncCall ("Prelude","==") [Var 1,Comb ConsCall ("FlatCurry","TVar") [Comb FuncCall ("Prelude","negate") [Lit (Intc 42)]]])),Func ("LiftCases","liftCases") 2 Public (FuncType (TCons ("Prelude","Bool") []) (FuncType (TCons ("FlatCurry","Prog") []) (TCons ("FlatCurry","Prog") []))) (Rule [1,2] (Let [(3,Comb FuncCall ("Prelude","apply") [Comb FuncCall ("FlatCurryGoodies","progFuncs") [],Var 2])] (Let [(4,Comb FuncCall ("Prelude","apply") [Comb FuncCall ("LiftCases","genAuxName") [],Comb FuncCall ("Prelude","map") [Comb FuncCall ("Prelude",".") [Comb (FuncPartCall 1) ("Prelude","snd") [],Comb FuncCall ("FlatCurryGoodies","funcName") []],Var 3]])] (Let [(5,Comb FuncCall ("List","partition") [Comb FuncCall ("FlatCurryGoodies","isExternal") [],Var 3])] (Let [(6,Comb FuncCall ("LiftCases","liftCases._#selFP6#exts") [Var 5])] (Let [(7,Comb FuncCall ("LiftCases","liftCases._#selFP7#ins") [Var 5])] (Let [(8,Comb FuncCall ("Prelude","foldr") [Comb (FuncPartCall 2) ("LiftCases","liftCasesFunc") [Var 1,Comb FuncCall ("Prelude","apply") [Comb FuncCall ("FlatCurryGoodies","progName") [],Var 2],Var 4],Comb ConsCall ("Prelude","(,,)") [Comb (FuncPartCall 1) ("Prelude","id") [],Lit (Intc 0),Comb (FuncPartCall 1) ("Prelude","id") []],Var 7])] (Let [(9,Comb FuncCall ("LiftCases","liftCases._#selFP4#newFsf") [Var 8])] (Let [(10,Comb FuncCall ("LiftCases","liftCases._#selFP5#auxFf") [Var 8])] (Comb FuncCall ("Prelude","apply") [Comb FuncCall ("FlatCurryGoodies","updProgFuncs") [Comb (FuncPartCall 1) ("Prelude","const") [Comb FuncCall ("Prelude","apply") [Var 9,Comb FuncCall ("Prelude","apply") [Var 10,Var 6]]]],Var 2])))))))))),Func ("LiftCases","liftCases._#selFP6#exts") 1 Private (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []],TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []]]) (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,)") [2,3]) (Var 2)])),Func ("LiftCases","liftCases._#selFP7#ins") 1 Private (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []],TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []]]) (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,)") [2,3]) (Var 3)])),Func ("LiftCases","liftCases._#selFP4#newFsf") 1 Private (FuncType (TCons ("Prelude","(,,)") [FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []]) (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []]),TCons ("Prelude","Int") [],FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []]) (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []])]) (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []]) (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []]))) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,,)") [2,3,4]) (Var 2)])),Func ("LiftCases","liftCases._#selFP5#auxFf") 1 Private (FuncType (TCons ("Prelude","(,,)") [FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []]) (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []]),TCons ("Prelude","Int") [],FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []]) (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []])]) (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []]) (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []]))) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,,)") [2,3,4]) (Var 4)])),Func ("LiftCases","liftCasesFunc") 5 Private (FuncType (TCons ("Prelude","Bool") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("FlatCurry","FuncDecl") []) (FuncType (TCons ("Prelude","(,,)") [FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []]) (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []]),TCons ("Prelude","Int") [],FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []]) (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []])]) (TCons ("Prelude","(,,)") [FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []]) (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []]),TCons ("Prelude","Int") [],FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []]) (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []])])))))) (Rule [1,2,3,4,5] (Case Flex (Var 5) [Branch (Pattern ("Prelude","(,,)") [6,7,8]) (Let [(9,Comb FuncCall ("Prelude","apply") [Comb FuncCall ("FlatCurryGoodies","funcBody") [],Var 4])] (Let [(10,Comb (FuncPartCall 1) ("FlatCurryGoodies","trExpr") [Comb (FuncPartCall 2) ("LiftCases","liftCasesFunc.var.18") [],Comb (FuncPartCall 2) ("LiftCases","liftCasesFunc.lit.18") [],Comb (FuncPartCall 4) ("LiftCases","liftCasesFunc.comb.18") [],Comb (FuncPartCall 3) ("LiftCases","liftCasesFunc.leT.18") [],Comb (FuncPartCall 3) ("LiftCases","liftCasesFunc.freE.18") [],Comb (FuncPartCall 3) ("LiftCases","liftCasesFunc.or.18") [],Comb (FuncPartCall 4) ("LiftCases","liftCasesFunc.casE.18") [Var 3,Var 2],Comb (FuncPartCall 3) ("LiftCases","liftCasesFunc.branch.18") []])] (Let [(11,Case Rigid (Var 1) [Branch (Pattern ("Prelude","True") []) (Case Rigid (Var 9) [Branch (Pattern ("FlatCurry","Case") [12,13,14]) (Case Rigid (Var 13) [Branch (Pattern ("FlatCurry","Var") [15]) (Let [(16,Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Var 10,Comb ConsCall ("FlatCurry","Var") [Var 15]],Var 7])] (Let [(17,Comb FuncCall ("LiftCases","liftCasesFunc._#selFP58#e'") [Var 16])] (Let [(18,Comb FuncCall ("LiftCases","liftCasesFunc._#selFP59#i'") [Var 16])] (Let [(19,Comb FuncCall ("LiftCases","liftCasesFunc._#selFP60#ffe") [Var 16])] (Let [(20,Comb FuncCall ("Prelude","apply") [Comb FuncCall ("LiftCases","fold") [Var 18],Comb FuncCall ("Prelude","map") [Comb (FuncPartCall 1) ("LiftCases","liftCasesFunc._#lambda3") [Var 10],Var 14]])] (Let [(21,Comb FuncCall ("LiftCases","liftCasesFunc._#selFP55#bs'") [Var 20])] (Let [(22,Comb FuncCall ("LiftCases","liftCasesFunc._#selFP56#i''") [Var 20])] (Let [(23,Comb FuncCall ("LiftCases","liftCasesFunc._#selFP57#ffbs") [Var 20])] (Comb ConsCall ("Prelude","(,,,)") [Comb ConsCall ("FlatCurry","Case") [Var 12,Var 17,Var 21],Var 22,Comb FuncCall ("Prelude",".") [Var 19,Var 23],Comb ConsCall ("Prelude","[]") []]))))))))),Branch (Pattern ("FlatCurry","Lit") [24]) (Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Var 10,Var 9],Var 7]),Branch (Pattern ("FlatCurry","Comb") [25,26,27]) (Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Var 10,Var 9],Var 7]),Branch (Pattern ("FlatCurry","Let") [28,29]) (Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Var 10,Var 9],Var 7]),Branch (Pattern ("FlatCurry","Free") [30,31]) (Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Var 10,Var 9],Var 7]),Branch (Pattern ("FlatCurry","Or") [32,33]) (Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Var 10,Var 9],Var 7]),Branch (Pattern ("FlatCurry","Case") [34,35,36]) (Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Var 10,Var 9],Var 7])]),Branch (Pattern ("FlatCurry","Var") [37]) (Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Var 10,Var 9],Var 7]),Branch (Pattern ("FlatCurry","Lit") [38]) (Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Var 10,Var 9],Var 7]),Branch (Pattern ("FlatCurry","Comb") [39,40,41]) (Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Var 10,Var 9],Var 7]),Branch (Pattern ("FlatCurry","Let") [42,43]) (Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Var 10,Var 9],Var 7]),Branch (Pattern ("FlatCurry","Free") [44,45]) (Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Var 10,Var 9],Var 7]),Branch (Pattern ("FlatCurry","Or") [46,47]) (Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Var 10,Var 9],Var 7])]),Branch (Pattern ("Prelude","False") []) (Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Var 10,Var 9],Var 7])])] (Let [(48,Comb FuncCall ("LiftCases","liftCasesFunc._#selFP61#exp") [Var 11])] (Let [(49,Comb FuncCall ("LiftCases","liftCasesFunc._#selFP62#iMain") [Var 11])] (Let [(50,Comb FuncCall ("LiftCases","liftCasesFunc._#selFP63#ffeMain") [Var 11])] (Comb ConsCall ("Prelude","(,,)") [Comb FuncCall ("Prelude",".") [Comb (ConsPartCall 1) ("Prelude",":") [Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Comb FuncCall ("FlatCurryGoodies","updFuncBody") [],Comb (FuncPartCall 1) ("Prelude","const") [Var 48]],Var 4]],Var 6],Var 49,Comb FuncCall ("Prelude",".") [Var 8,Var 50]])))))))])),Func ("LiftCases","liftCasesFunc.var.18") 2 Private (FuncType (TCons ("Prelude","Int") []) (FuncType (TVar 0) (TCons ("Prelude","(,,,)") [TCons ("FlatCurry","Expr") [],TVar 0,FuncType (TVar 1) (TVar 1),TCons ("Prelude","[]") [TCons ("Prelude","Int") []]]))) (Rule [1,2] (Comb ConsCall ("Prelude","(,,,)") [Comb ConsCall ("FlatCurry","Var") [Var 1],Var 2,Comb (FuncPartCall 1) ("Prelude","id") [],Comb ConsCall ("Prelude",":") [Var 1,Comb ConsCall ("Prelude","[]") []]])),Func ("LiftCases","liftCasesFunc.lit.18") 2 Private (FuncType (TCons ("FlatCurry","Literal") []) (FuncType (TVar 0) (TCons ("Prelude","(,,,)") [TCons ("FlatCurry","Expr") [],TVar 0,FuncType (TVar 1) (TVar 1),TCons ("Prelude","[]") [TVar 2]]))) (Rule [1,2] (Comb ConsCall ("Prelude","(,,,)") [Comb ConsCall ("FlatCurry","Lit") [Var 1],Var 2,Comb (FuncPartCall 1) ("Prelude","id") [],Comb ConsCall ("Prelude","[]") []])),Func ("LiftCases","liftCasesFunc.comb.18") 4 Private (FuncType (TCons ("FlatCurry","CombType") []) (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("Prelude","[]") [FuncType (TVar 0) (TCons ("Prelude","(,,,)") [TCons ("FlatCurry","Expr") [],TVar 0,FuncType (TVar 1) (TVar 1),TCons ("Prelude","[]") [TVar 2]])]) (FuncType (TVar 0) (TCons ("Prelude","(,,,)") [TCons ("FlatCurry","Expr") [],TVar 0,FuncType (TVar 1) (TVar 1),TCons ("Prelude","[]") [TVar 2]]))))) (Rule [1,2,3,4] (Let [(5,Comb FuncCall ("Prelude","apply") [Comb FuncCall ("LiftCases","fold") [Var 4],Var 3])] (Let [(6,Comb FuncCall ("LiftCases","liftCasesFunc.comb.18._#selFP10#args'") [Var 5])] (Let [(7,Comb FuncCall ("LiftCases","liftCasesFunc.comb.18._#selFP11#i'") [Var 5])] (Let [(8,Comb FuncCall ("LiftCases","liftCasesFunc.comb.18._#selFP12#ff") [Var 5])] (Let [(9,Comb FuncCall ("LiftCases","liftCasesFunc.comb.18._#selFP13#vs") [Var 5])] (Comb ConsCall ("Prelude","(,,,)") [Comb ConsCall ("FlatCurry","Comb") [Var 1,Var 2,Var 6],Var 7,Var 8,Var 9]))))))),Func ("LiftCases","liftCasesFunc.comb.18._#selFP10#args'") 1 Private (FuncType (TCons ("Prelude","(,,,)") [TCons ("Prelude","[]") [TCons ("FlatCurry","Expr") []],TVar 149,FuncType (TVar 156) (TVar 156),TCons ("Prelude","[]") [TVar 157]]) (TCons ("Prelude","[]") [TCons ("FlatCurry","Expr") []])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,,,)") [2,3,4,5]) (Var 2)])),Func ("LiftCases","liftCasesFunc.comb.18._#selFP11#i'") 1 Private (FuncType (TCons ("Prelude","(,,,)") [TCons ("Prelude","[]") [TCons ("FlatCurry","Expr") []],TVar 149,FuncType (TVar 156) (TVar 156),TCons ("Prelude","[]") [TVar 157]]) (TVar 149)) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,,,)") [2,3,4,5]) (Var 3)])),Func ("LiftCases","liftCasesFunc.comb.18._#selFP12#ff") 1 Private (FuncType (TCons ("Prelude","(,,,)") [TCons ("Prelude","[]") [TCons ("FlatCurry","Expr") []],TVar 149,FuncType (TVar 156) (TVar 156),TCons ("Prelude","[]") [TVar 157]]) (FuncType (TVar 156) (TVar 156))) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,,,)") [2,3,4,5]) (Var 4)])),Func ("LiftCases","liftCasesFunc.comb.18._#selFP13#vs") 1 Private (FuncType (TCons ("Prelude","(,,,)") [TCons ("Prelude","[]") [TCons ("FlatCurry","Expr") []],TVar 149,FuncType (TVar 156) (TVar 156),TCons ("Prelude","[]") [TVar 157]]) (TCons ("Prelude","[]") [TVar 157])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,,,)") [2,3,4,5]) (Var 5)])),Func ("LiftCases","liftCasesFunc.leT.18") 3 Private (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","(,)") [TCons ("Prelude","Int") [],FuncType (TVar 0) (TCons ("Prelude","(,,,)") [TCons ("FlatCurry","Expr") [],TVar 0,FuncType (TVar 1) (TVar 1),TCons ("Prelude","[]") [TCons ("Prelude","Int") []]])]]) (FuncType (FuncType (TVar 0) (TCons ("Prelude","(,,,)") [TCons ("FlatCurry","Expr") [],TVar 2,FuncType (TVar 3) (TVar 1),TCons ("Prelude","[]") [TCons ("Prelude","Int") []]])) (FuncType (TVar 0) (TCons ("Prelude","(,,,)") [TCons ("FlatCurry","Expr") [],TVar 2,FuncType (TVar 3) (TVar 1),TCons ("Prelude","[]") [TCons ("Prelude","Int") []]])))) (Rule [1,2,3] (Let [(4,Comb FuncCall ("Prelude","unzip") [Var 1])] (Let [(5,Comb FuncCall ("LiftCases","liftCasesFunc.leT.18._#selFP25#vs") [Var 4])] (Let [(6,Comb FuncCall ("LiftCases","liftCasesFunc.leT.18._#selFP26#es") [Var 4])] (Let [(7,Comb FuncCall ("Prelude","apply") [Comb FuncCall ("LiftCases","fold") [Var 3],Var 6])] (Let [(8,Comb FuncCall ("LiftCases","liftCasesFunc.leT.18._#selFP21#es'") [Var 7])] (Let [(9,Comb FuncCall ("LiftCases","liftCasesFunc.leT.18._#selFP22#i'") [Var 7])] (Let [(10,Comb FuncCall ("LiftCases","liftCasesFunc.leT.18._#selFP23#ffes") [Var 7])] (Let [(11,Comb FuncCall ("LiftCases","liftCasesFunc.leT.18._#selFP24#ves") [Var 7])] (Let [(12,Comb FuncCall ("Prelude","apply") [Var 2,Var 9])] (Let [(13,Comb FuncCall ("LiftCases","liftCasesFunc.leT.18._#selFP17#e'") [Var 12])] (Let [(14,Comb FuncCall ("LiftCases","liftCasesFunc.leT.18._#selFP18#i''") [Var 12])] (Let [(15,Comb FuncCall ("LiftCases","liftCasesFunc.leT.18._#selFP19#ffe") [Var 12])] (Let [(16,Comb FuncCall ("LiftCases","liftCasesFunc.leT.18._#selFP20#ve") [Var 12])] (Comb ConsCall ("Prelude","(,,,)") [Comb ConsCall ("FlatCurry","Let") [Comb FuncCall ("Prelude","zip") [Var 5,Var 8],Var 13],Var 14,Comb FuncCall ("Prelude",".") [Var 10,Var 15],Comb FuncCall ("Prelude","filter") [Comb FuncCall ("Prelude",".") [Comb (FuncPartCall 1) ("Prelude","not") [],Comb FuncCall ("Prelude","apply") [Comb FuncCall ("LiftCases","elemOf") [],Var 5]],Comb FuncCall ("Prelude","++") [Var 11,Var 16]]]))))))))))))))),Func ("LiftCases","liftCasesFunc.leT.18._#selFP25#vs") 1 Private (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Int") []],TCons ("Prelude","[]") [FuncType (TVar 161) (TCons ("Prelude","(,,,)") [TCons ("FlatCurry","Expr") [],TVar 161,FuncType (TVar 172) (TVar 172),TCons ("Prelude","[]") [TCons ("Prelude","Int") []]])]]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,)") [2,3]) (Var 2)])),Func ("LiftCases","liftCasesFunc.leT.18._#selFP26#es") 1 Private (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Int") []],TCons ("Prelude","[]") [FuncType (TVar 161) (TCons ("Prelude","(,,,)") [TCons ("FlatCurry","Expr") [],TVar 161,FuncType (TVar 172) (TVar 172),TCons ("Prelude","[]") [TCons ("Prelude","Int") []]])]]) (TCons ("Prelude","[]") [FuncType (TVar 161) (TCons ("Prelude","(,,,)") [TCons ("FlatCurry","Expr") [],TVar 161,FuncType (TVar 172) (TVar 172),TCons ("Prelude","[]") [TCons ("Prelude","Int") []]])])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,)") [2,3]) (Var 3)])),Func ("LiftCases","liftCasesFunc.leT.18._#selFP21#es'") 1 Private (FuncType (TCons ("Prelude","(,,,)") [TCons ("Prelude","[]") [TCons ("FlatCurry","Expr") []],TVar 161,FuncType (TVar 172) (TVar 172),TCons ("Prelude","[]") [TCons ("Prelude","Int") []]]) (TCons ("Prelude","[]") [TCons ("FlatCurry","Expr") []])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,,,)") [2,3,4,5]) (Var 2)])),Func ("LiftCases","liftCasesFunc.leT.18._#selFP22#i'") 1 Private (FuncType (TCons ("Prelude","(,,,)") [TCons ("Prelude","[]") [TCons ("FlatCurry","Expr") []],TVar 161,FuncType (TVar 172) (TVar 172),TCons ("Prelude","[]") [TCons ("Prelude","Int") []]]) (TVar 161)) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,,,)") [2,3,4,5]) (Var 3)])),Func ("LiftCases","liftCasesFunc.leT.18._#selFP23#ffes") 1 Private (FuncType (TCons ("Prelude","(,,,)") [TCons ("Prelude","[]") [TCons ("FlatCurry","Expr") []],TVar 161,FuncType (TVar 172) (TVar 172),TCons ("Prelude","[]") [TCons ("Prelude","Int") []]]) (FuncType (TVar 172) (TVar 172))) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,,,)") [2,3,4,5]) (Var 4)])),Func ("LiftCases","liftCasesFunc.leT.18._#selFP24#ves") 1 Private (FuncType (TCons ("Prelude","(,,,)") [TCons ("Prelude","[]") [TCons ("FlatCurry","Expr") []],TVar 161,FuncType (TVar 172) (TVar 172),TCons ("Prelude","[]") [TCons ("Prelude","Int") []]]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,,,)") [2,3,4,5]) (Var 5)])),Func ("LiftCases","liftCasesFunc.leT.18._#selFP17#e'") 1 Private (FuncType (TCons ("Prelude","(,,,)") [TCons ("FlatCurry","Expr") [],TVar 175,FuncType (TVar 184) (TVar 172),TCons ("Prelude","[]") [TCons ("Prelude","Int") []]]) (TCons ("FlatCurry","Expr") [])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,,,)") [2,3,4,5]) (Var 2)])),Func ("LiftCases","liftCasesFunc.leT.18._#selFP18#i''") 1 Private (FuncType (TCons ("Prelude","(,,,)") [TCons ("FlatCurry","Expr") [],TVar 175,FuncType (TVar 184) (TVar 172),TCons ("Prelude","[]") [TCons ("Prelude","Int") []]]) (TVar 175)) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,,,)") [2,3,4,5]) (Var 3)])),Func ("LiftCases","liftCasesFunc.leT.18._#selFP19#ffe") 1 Private (FuncType (TCons ("Prelude","(,,,)") [TCons ("FlatCurry","Expr") [],TVar 175,FuncType (TVar 184) (TVar 172),TCons ("Prelude","[]") [TCons ("Prelude","Int") []]]) (FuncType (TVar 184) (TVar 172))) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,,,)") [2,3,4,5]) (Var 4)])),Func ("LiftCases","liftCasesFunc.leT.18._#selFP20#ve") 1 Private (FuncType (TCons ("Prelude","(,,,)") [TCons ("FlatCurry","Expr") [],TVar 175,FuncType (TVar 184) (TVar 172),TCons ("Prelude","[]") [TCons ("Prelude","Int") []]]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,,,)") [2,3,4,5]) (Var 5)])),Func ("LiftCases","liftCasesFunc.freE.18") 3 Private (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (FuncType (FuncType (TVar 0) (TCons ("Prelude","(,,,)") [TCons ("FlatCurry","Expr") [],TVar 1,TVar 2,TCons ("Prelude","[]") [TCons ("Prelude","Int") []]])) (FuncType (TVar 0) (TCons ("Prelude","(,,,)") [TCons ("FlatCurry","Expr") [],TVar 1,TVar 2,TCons ("Prelude","[]") [TCons ("Prelude","Int") []]])))) (Rule [1,2,3] (Let [(4,Comb FuncCall ("Prelude","apply") [Var 2,Var 3])] (Let [(5,Comb FuncCall ("LiftCases","liftCasesFunc.freE.18._#selFP28#e'") [Var 4])] (Let [(6,Comb FuncCall ("LiftCases","liftCasesFunc.freE.18._#selFP29#i'") [Var 4])] (Let [(7,Comb FuncCall ("LiftCases","liftCasesFunc.freE.18._#selFP30#ff") [Var 4])] (Let [(8,Comb FuncCall ("LiftCases","liftCasesFunc.freE.18._#selFP31#ve") [Var 4])] (Comb ConsCall ("Prelude","(,,,)") [Comb ConsCall ("FlatCurry","Free") [Var 1,Var 5],Var 6,Var 7,Comb FuncCall ("Prelude","filter") [Comb FuncCall ("Prelude",".") [Comb (FuncPartCall 1) ("Prelude","not") [],Comb FuncCall ("Prelude","apply") [Comb FuncCall ("LiftCases","elemOf") [],Var 1]],Var 8]]))))))),Func ("LiftCases","liftCasesFunc.freE.18._#selFP28#e'") 1 Private (FuncType (TCons ("Prelude","(,,,)") [TCons ("FlatCurry","Expr") [],TVar 196,TVar 197,TCons ("Prelude","[]") [TCons ("Prelude","Int") []]]) (TCons ("FlatCurry","Expr") [])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,,,)") [2,3,4,5]) (Var 2)])),Func ("LiftCases","liftCasesFunc.freE.18._#selFP29#i'") 1 Private (FuncType (TCons ("Prelude","(,,,)") [TCons ("FlatCurry","Expr") [],TVar 196,TVar 197,TCons ("Prelude","[]") [TCons ("Prelude","Int") []]]) (TVar 196)) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,,,)") [2,3,4,5]) (Var 3)])),Func ("LiftCases","liftCasesFunc.freE.18._#selFP30#ff") 1 Private (FuncType (TCons ("Prelude","(,,,)") [TCons ("FlatCurry","Expr") [],TVar 196,TVar 197,TCons ("Prelude","[]") [TCons ("Prelude","Int") []]]) (TVar 197)) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,,,)") [2,3,4,5]) (Var 4)])),Func ("LiftCases","liftCasesFunc.freE.18._#selFP31#ve") 1 Private (FuncType (TCons ("Prelude","(,,,)") [TCons ("FlatCurry","Expr") [],TVar 196,TVar 197,TCons ("Prelude","[]") [TCons ("Prelude","Int") []]]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,,,)") [2,3,4,5]) (Var 5)])),Func ("LiftCases","liftCasesFunc.or.18") 3 Private (FuncType (FuncType (TVar 0) (TCons ("Prelude","(,,,)") [TCons ("FlatCurry","Expr") [],TVar 0,FuncType (TVar 1) (TVar 1),TCons ("Prelude","[]") [TVar 2]])) (FuncType (FuncType (TVar 0) (TCons ("Prelude","(,,,)") [TCons ("FlatCurry","Expr") [],TVar 0,FuncType (TVar 1) (TVar 1),TCons ("Prelude","[]") [TVar 2]])) (FuncType (TVar 0) (TCons ("Prelude","(,,,)") [TCons ("FlatCurry","Expr") [],TVar 0,FuncType (TVar 1) (TVar 1),TCons ("Prelude","[]") [TVar 2]])))) (Rule [1,2,3] (Let [(4,Comb FuncCall ("Prelude","apply") [Comb FuncCall ("LiftCases","fold") [Var 3],Comb ConsCall ("Prelude",":") [Var 1,Comb ConsCall ("Prelude",":") [Var 2,Comb ConsCall ("Prelude","[]") []]]])] (Let [(5,Comb FuncCall ("LiftCases","liftCasesFunc.or.18._#selFP33#e1'") [Var 4])] (Let [(6,Comb FuncCall ("LiftCases","liftCasesFunc.or.18._#selFP34#e2'") [Var 4])] (Let [(7,Comb FuncCall ("LiftCases","liftCasesFunc.or.18._#selFP35#i'") [Var 4])] (Let [(8,Comb FuncCall ("LiftCases","liftCasesFunc.or.18._#selFP36#ff") [Var 4])] (Let [(9,Comb FuncCall ("LiftCases","liftCasesFunc.or.18._#selFP37#vs") [Var 4])] (Comb ConsCall ("Prelude","(,,,)") [Comb ConsCall ("FlatCurry","Or") [Var 5,Var 6],Var 7,Var 8,Var 9])))))))),Func ("LiftCases","liftCasesFunc.or.18._#selFP33#e1'") 1 Private (FuncType (TCons ("Prelude","(,,,)") [TCons ("Prelude","[]") [TCons ("FlatCurry","Expr") []],TVar 209,FuncType (TVar 218) (TVar 218),TCons ("Prelude","[]") [TVar 219]]) (TCons ("FlatCurry","Expr") [])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,,,)") [2,3,4,5]) (Case Flex (Var 2) [Branch (Pattern ("Prelude",":") [6,7]) (Case Flex (Var 7) [Branch (Pattern ("Prelude",":") [8,9]) (Case Flex (Var 9) [Branch (Pattern ("Prelude","[]") []) (Var 6)])])])])),Func ("LiftCases","liftCasesFunc.or.18._#selFP34#e2'") 1 Private (FuncType (TCons ("Prelude","(,,,)") [TCons ("Prelude","[]") [TCons ("FlatCurry","Expr") []],TVar 209,FuncType (TVar 218) (TVar 218),TCons ("Prelude","[]") [TVar 219]]) (TCons ("FlatCurry","Expr") [])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,,,)") [2,3,4,5]) (Case Flex (Var 2) [Branch (Pattern ("Prelude",":") [6,7]) (Case Flex (Var 7) [Branch (Pattern ("Prelude",":") [8,9]) (Case Flex (Var 9) [Branch (Pattern ("Prelude","[]") []) (Var 8)])])])])),Func ("LiftCases","liftCasesFunc.or.18._#selFP35#i'") 1 Private (FuncType (TCons ("Prelude","(,,,)") [TCons ("Prelude","[]") [TCons ("FlatCurry","Expr") []],TVar 209,FuncType (TVar 218) (TVar 218),TCons ("Prelude","[]") [TVar 219]]) (TVar 209)) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,,,)") [2,3,4,5]) (Case Flex (Var 2) [Branch (Pattern ("Prelude",":") [6,7]) (Case Flex (Var 7) [Branch (Pattern ("Prelude",":") [8,9]) (Case Flex (Var 9) [Branch (Pattern ("Prelude","[]") []) (Var 3)])])])])),Func ("LiftCases","liftCasesFunc.or.18._#selFP36#ff") 1 Private (FuncType (TCons ("Prelude","(,,,)") [TCons ("Prelude","[]") [TCons ("FlatCurry","Expr") []],TVar 209,FuncType (TVar 218) (TVar 218),TCons ("Prelude","[]") [TVar 219]]) (FuncType (TVar 218) (TVar 218))) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,,,)") [2,3,4,5]) (Case Flex (Var 2) [Branch (Pattern ("Prelude",":") [6,7]) (Case Flex (Var 7) [Branch (Pattern ("Prelude",":") [8,9]) (Case Flex (Var 9) [Branch (Pattern ("Prelude","[]") []) (Var 4)])])])])),Func ("LiftCases","liftCasesFunc.or.18._#selFP37#vs") 1 Private (FuncType (TCons ("Prelude","(,,,)") [TCons ("Prelude","[]") [TCons ("FlatCurry","Expr") []],TVar 209,FuncType (TVar 218) (TVar 218),TCons ("Prelude","[]") [TVar 219]]) (TCons ("Prelude","[]") [TVar 219])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,,,)") [2,3,4,5]) (Case Flex (Var 2) [Branch (Pattern ("Prelude",":") [6,7]) (Case Flex (Var 7) [Branch (Pattern ("Prelude",":") [8,9]) (Case Flex (Var 9) [Branch (Pattern ("Prelude","[]") []) (Var 5)])])])])),Func ("LiftCases","liftCasesFunc.casE.18") 6 Private (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("FlatCurry","CaseType") []) (FuncType (FuncType (TVar 0) (TCons ("Prelude","(,,,)") [TCons ("FlatCurry","Expr") [],TCons ("Prelude","Int") [],FuncType (TVar 1) (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []]),TCons ("Prelude","[]") [TCons ("Prelude","Int") []]])) (FuncType (TCons ("Prelude","[]") [FuncType (TCons ("Prelude","Int") []) (TCons ("Prelude","(,,,)") [TCons ("FlatCurry","BranchExpr") [],TCons ("Prelude","Int") [],FuncType (TVar 1) (TVar 1),TCons ("Prelude","[]") [TCons ("Prelude","Int") []]])]) (FuncType (TVar 0) (TCons ("Prelude","(,,,)") [TCons ("FlatCurry","Expr") [],TCons ("Prelude","Int") [],FuncType (TVar 1) (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []]),TCons ("Prelude","[]") [TCons ("Prelude","Int") []]]))))))) (Rule [1,2,3,4,5,6] (Let [(7,Comb FuncCall ("Prelude","apply") [Var 4,Var 6])] (Let [(8,Comb FuncCall ("LiftCases","liftCasesFunc.casE.18._#selFP44#e'") [Var 7])] (Let [(9,Comb FuncCall ("LiftCases","liftCasesFunc.casE.18._#selFP45#i'") [Var 7])] (Let [(10,Comb FuncCall ("LiftCases","liftCasesFunc.casE.18._#selFP46#ffe") [Var 7])] (Let [(11,Comb FuncCall ("LiftCases","liftCasesFunc.casE.18._#selFP47#ve") [Var 7])] (Let [(12,Comb FuncCall ("Prelude","apply") [Comb FuncCall ("LiftCases","fold") [Var 9],Var 5])] (Let [(13,Comb FuncCall ("LiftCases","liftCasesFunc.casE.18._#selFP40#bs'") [Var 12])] (Let [(14,Comb FuncCall ("LiftCases","liftCasesFunc.casE.18._#selFP41#i''") [Var 12])] (Let [(15,Comb FuncCall ("LiftCases","liftCasesFunc.casE.18._#selFP42#ffbs") [Var 12])] (Let [(16,Comb FuncCall ("LiftCases","liftCasesFunc.casE.18._#selFP43#vbs") [Var 12])] (Let [(17,Comb FuncCall ("LiftCases","nub") [Comb FuncCall ("Prelude","++") [Var 11,Var 16]])] (Let [(18,Case Rigid (Var 8) [Branch (Pattern ("FlatCurry","Var") [19]) (Comb FuncCall ("List","delete") [Var 19,Var 17]),Branch (Pattern ("FlatCurry","Lit") [20]) (Var 17),Branch (Pattern ("FlatCurry","Comb") [21,22,23]) (Var 17),Branch (Pattern ("FlatCurry","Let") [24,25]) (Var 17),Branch (Pattern ("FlatCurry","Free") [26,27]) (Var 17),Branch (Pattern ("FlatCurry","Or") [28,29]) (Var 17),Branch (Pattern ("FlatCurry","Case") [30,31,32]) (Var 17)])] (Comb ConsCall ("Prelude","(,,,)") [Comb FuncCall ("LiftCases","genFuncCall") [Var 2,Var 1,Var 14,Var 18,Var 8],Comb FuncCall ("Prelude","+") [Var 14,Lit (Intc 1)],Comb FuncCall ("Prelude",".") [Comb (ConsPartCall 1) ("Prelude",":") [Comb FuncCall ("LiftCases","genFunc") [Var 2,Var 1,Var 14,Var 18,Var 8,Var 3,Var 13]],Comb FuncCall ("Prelude",".") [Var 10,Var 15]],Var 17])))))))))))))),Func ("LiftCases","liftCasesFunc.casE.18._#selFP44#e'") 1 Private (FuncType (TCons ("Prelude","(,,,)") [TCons ("FlatCurry","Expr") [],TCons ("Prelude","Int") [],FuncType (TVar 238) (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []]),TCons ("Prelude","[]") [TCons ("Prelude","Int") []]]) (TCons ("FlatCurry","Expr") [])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,,,)") [2,3,4,5]) (Var 2)])),Func ("LiftCases","liftCasesFunc.casE.18._#selFP45#i'") 1 Private (FuncType (TCons ("Prelude","(,,,)") [TCons ("FlatCurry","Expr") [],TCons ("Prelude","Int") [],FuncType (TVar 238) (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []]),TCons ("Prelude","[]") [TCons ("Prelude","Int") []]]) (TCons ("Prelude","Int") [])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,,,)") [2,3,4,5]) (Var 3)])),Func ("LiftCases","liftCasesFunc.casE.18._#selFP46#ffe") 1 Private (FuncType (TCons ("Prelude","(,,,)") [TCons ("FlatCurry","Expr") [],TCons ("Prelude","Int") [],FuncType (TVar 238) (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []]),TCons ("Prelude","[]") [TCons ("Prelude","Int") []]]) (FuncType (TVar 238) (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []]))) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,,,)") [2,3,4,5]) (Var 4)])),Func ("LiftCases","liftCasesFunc.casE.18._#selFP47#ve") 1 Private (FuncType (TCons ("Prelude","(,,,)") [TCons ("FlatCurry","Expr") [],TCons ("Prelude","Int") [],FuncType (TVar 238) (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []]),TCons ("Prelude","[]") [TCons ("Prelude","Int") []]]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,,,)") [2,3,4,5]) (Var 5)])),Func ("LiftCases","liftCasesFunc.casE.18._#selFP40#bs'") 1 Private (FuncType (TCons ("Prelude","(,,,)") [TCons ("Prelude","[]") [TCons ("FlatCurry","BranchExpr") []],TCons ("Prelude","Int") [],FuncType (TVar 238) (TVar 238),TCons ("Prelude","[]") [TCons ("Prelude","Int") []]]) (TCons ("Prelude","[]") [TCons ("FlatCurry","BranchExpr") []])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,,,)") [2,3,4,5]) (Var 2)])),Func ("LiftCases","liftCasesFunc.casE.18._#selFP41#i''") 1 Private (FuncType (TCons ("Prelude","(,,,)") [TCons ("Prelude","[]") [TCons ("FlatCurry","BranchExpr") []],TCons ("Prelude","Int") [],FuncType (TVar 238) (TVar 238),TCons ("Prelude","[]") [TCons ("Prelude","Int") []]]) (TCons ("Prelude","Int") [])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,,,)") [2,3,4,5]) (Var 3)])),Func ("LiftCases","liftCasesFunc.casE.18._#selFP42#ffbs") 1 Private (FuncType (TCons ("Prelude","(,,,)") [TCons ("Prelude","[]") [TCons ("FlatCurry","BranchExpr") []],TCons ("Prelude","Int") [],FuncType (TVar 238) (TVar 238),TCons ("Prelude","[]") [TCons ("Prelude","Int") []]]) (FuncType (TVar 238) (TVar 238))) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,,,)") [2,3,4,5]) (Var 4)])),Func ("LiftCases","liftCasesFunc.casE.18._#selFP43#vbs") 1 Private (FuncType (TCons ("Prelude","(,,,)") [TCons ("Prelude","[]") [TCons ("FlatCurry","BranchExpr") []],TCons ("Prelude","Int") [],FuncType (TVar 238) (TVar 238),TCons ("Prelude","[]") [TCons ("Prelude","Int") []]]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,,,)") [2,3,4,5]) (Var 5)])),Func ("LiftCases","liftCasesFunc.branch.18") 3 Private (FuncType (TCons ("FlatCurry","Pattern") []) (FuncType (FuncType (TVar 0) (TCons ("Prelude","(,,,)") [TCons ("FlatCurry","Expr") [],TVar 1,TVar 2,TCons ("Prelude","[]") [TCons ("Prelude","Int") []]])) (FuncType (TVar 0) (TCons ("Prelude","(,,,)") [TCons ("FlatCurry","BranchExpr") [],TVar 1,TVar 2,TCons ("Prelude","[]") [TCons ("Prelude","Int") []]])))) (Rule [1,2,3] (Let [(4,Comb FuncCall ("Prelude","apply") [Var 2,Var 3])] (Let [(5,Comb FuncCall ("LiftCases","liftCasesFunc.branch.18._#selFP49#e'") [Var 4])] (Let [(6,Comb FuncCall ("LiftCases","liftCasesFunc.branch.18._#selFP50#i'") [Var 4])] (Let [(7,Comb FuncCall ("LiftCases","liftCasesFunc.branch.18._#selFP51#ff") [Var 4])] (Let [(8,Comb FuncCall ("LiftCases","liftCasesFunc.branch.18._#selFP52#ve") [Var 4])] (Comb ConsCall ("Prelude","(,,,)") [Comb ConsCall ("FlatCurry","Branch") [Var 1,Var 5],Var 6,Var 7,Comb FuncCall ("Prelude","apply") [Comb FuncCall ("LiftCases","removePVars") [Var 8],Var 1]]))))))),Func ("LiftCases","liftCasesFunc.branch.18._#selFP49#e'") 1 Private (FuncType (TCons ("Prelude","(,,,)") [TCons ("FlatCurry","Expr") [],TVar 260,TVar 261,TCons ("Prelude","[]") [TCons ("Prelude","Int") []]]) (TCons ("FlatCurry","Expr") [])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,,,)") [2,3,4,5]) (Var 2)])),Func ("LiftCases","liftCasesFunc.branch.18._#selFP50#i'") 1 Private (FuncType (TCons ("Prelude","(,,,)") [TCons ("FlatCurry","Expr") [],TVar 260,TVar 261,TCons ("Prelude","[]") [TCons ("Prelude","Int") []]]) (TVar 260)) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,,,)") [2,3,4,5]) (Var 3)])),Func ("LiftCases","liftCasesFunc.branch.18._#selFP51#ff") 1 Private (FuncType (TCons ("Prelude","(,,,)") [TCons ("FlatCurry","Expr") [],TVar 260,TVar 261,TCons ("Prelude","[]") [TCons ("Prelude","Int") []]]) (TVar 261)) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,,,)") [2,3,4,5]) (Var 4)])),Func ("LiftCases","liftCasesFunc.branch.18._#selFP52#ve") 1 Private (FuncType (TCons ("Prelude","(,,,)") [TCons ("FlatCurry","Expr") [],TVar 260,TVar 261,TCons ("Prelude","[]") [TCons ("Prelude","Int") []]]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,,,)") [2,3,4,5]) (Var 5)])),Func ("LiftCases","liftCasesFunc._#selFP58#e'") 1 Private (FuncType (TCons ("Prelude","(,,,)") [TCons ("FlatCurry","Expr") [],TCons ("Prelude","Int") [],FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []]) (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []]),TCons ("Prelude","[]") [TCons ("Prelude","Int") []]]) (TCons ("FlatCurry","Expr") [])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,,,)") [2,3,4,5]) (Var 2)])),Func ("LiftCases","liftCasesFunc._#selFP59#i'") 1 Private (FuncType (TCons ("Prelude","(,,,)") [TCons ("FlatCurry","Expr") [],TCons ("Prelude","Int") [],FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []]) (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []]),TCons ("Prelude","[]") [TCons ("Prelude","Int") []]]) (TCons ("Prelude","Int") [])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,,,)") [2,3,4,5]) (Var 3)])),Func ("LiftCases","liftCasesFunc._#selFP60#ffe") 1 Private (FuncType (TCons ("Prelude","(,,,)") [TCons ("FlatCurry","Expr") [],TCons ("Prelude","Int") [],FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []]) (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []]),TCons ("Prelude","[]") [TCons ("Prelude","Int") []]]) (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []]) (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []]))) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,,,)") [2,3,4,5]) (Var 4)])),Func ("LiftCases","liftCasesFunc._#lambda3") 2 Private (FuncType (FuncType (TCons ("FlatCurry","Expr") []) (FuncType (TCons ("Prelude","Int") []) (TCons ("Prelude","(,,,)") [TCons ("FlatCurry","Expr") [],TCons ("Prelude","Int") [],FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []]) (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []]),TCons ("Prelude","[]") [TCons ("Prelude","Int") []]]))) (FuncType (TCons ("FlatCurry","BranchExpr") []) (FuncType (TCons ("Prelude","Int") []) (TCons ("Prelude","(,,,)") [TCons ("FlatCurry","BranchExpr") [],TCons ("Prelude","Int") [],FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []]) (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []]),TCons ("Prelude","[]") [TCons ("Prelude","Int") []]])))) (Rule [1,2] (Case Flex (Var 2) [Branch (Pattern ("FlatCurry","Branch") [3,4]) (Comb (FuncPartCall 1) ("LiftCases","liftCasesFunc.branch.18") [Var 3,Comb FuncCall ("Prelude","apply") [Var 1,Var 4]])])),Func ("LiftCases","liftCasesFunc._#selFP55#bs'") 1 Private (FuncType (TCons ("Prelude","(,,,)") [TCons ("Prelude","[]") [TCons ("FlatCurry","BranchExpr") []],TCons ("Prelude","Int") [],FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []]) (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []]),TCons ("Prelude","[]") [TCons ("Prelude","Int") []]]) (TCons ("Prelude","[]") [TCons ("FlatCurry","BranchExpr") []])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,,,)") [2,3,4,5]) (Var 2)])),Func ("LiftCases","liftCasesFunc._#selFP56#i''") 1 Private (FuncType (TCons ("Prelude","(,,,)") [TCons ("Prelude","[]") [TCons ("FlatCurry","BranchExpr") []],TCons ("Prelude","Int") [],FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []]) (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []]),TCons ("Prelude","[]") [TCons ("Prelude","Int") []]]) (TCons ("Prelude","Int") [])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,,,)") [2,3,4,5]) (Var 3)])),Func ("LiftCases","liftCasesFunc._#selFP57#ffbs") 1 Private (FuncType (TCons ("Prelude","(,,,)") [TCons ("Prelude","[]") [TCons ("FlatCurry","BranchExpr") []],TCons ("Prelude","Int") [],FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []]) (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []]),TCons ("Prelude","[]") [TCons ("Prelude","Int") []]]) (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []]) (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []]))) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,,,)") [2,3,4,5]) (Var 4)])),Func ("LiftCases","liftCasesFunc._#selFP61#exp") 1 Private (FuncType (TCons ("Prelude","(,,,)") [TCons ("FlatCurry","Expr") [],TCons ("Prelude","Int") [],FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []]) (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []]),TCons ("Prelude","[]") [TCons ("Prelude","Int") []]]) (TCons ("FlatCurry","Expr") [])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,,,)") [2,3,4,5]) (Var 2)])),Func ("LiftCases","liftCasesFunc._#selFP62#iMain") 1 Private (FuncType (TCons ("Prelude","(,,,)") [TCons ("FlatCurry","Expr") [],TCons ("Prelude","Int") [],FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []]) (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []]),TCons ("Prelude","[]") [TCons ("Prelude","Int") []]]) (TCons ("Prelude","Int") [])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,,,)") [2,3,4,5]) (Var 3)])),Func ("LiftCases","liftCasesFunc._#selFP63#ffeMain") 1 Private (FuncType (TCons ("Prelude","(,,,)") [TCons ("FlatCurry","Expr") [],TCons ("Prelude","Int") [],FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []]) (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []]),TCons ("Prelude","[]") [TCons ("Prelude","Int") []]]) (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []]) (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []]))) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,,,)") [2,3,4,5]) (Var 4)])),Func ("LiftCases","fold") 1 Private (FuncType (TVar 0) (FuncType (TCons ("Prelude","[]") [FuncType (TVar 0) (TCons ("Prelude","(,,,)") [TVar 1,TVar 0,FuncType (TVar 2) (TVar 2),TCons ("Prelude","[]") [TVar 3]])]) (TCons ("Prelude","(,,,)") [TCons ("Prelude","[]") [TVar 1],TVar 0,FuncType (TVar 2) (TVar 2),TCons ("Prelude","[]") [TVar 3]]))) (Rule [1] (Comb (FuncPartCall 1) ("Prelude","foldr") [Comb (FuncPartCall 2) ("LiftCases","fold.once.74") [],Comb ConsCall ("Prelude","(,,,)") [Comb ConsCall ("Prelude","[]") [],Var 1,Comb (FuncPartCall 1) ("Prelude","id") [],Comb ConsCall ("Prelude","[]") []]])),Func ("LiftCases","fold.once.74") 2 Private (FuncType (FuncType (TVar 0) (TCons ("Prelude","(,,,)") [TVar 1,TVar 2,FuncType (TVar 3) (TVar 4),TCons ("Prelude","[]") [TVar 5]])) (FuncType (TCons ("Prelude","(,,,)") [TCons ("Prelude","[]") [TVar 1],TVar 0,FuncType (TVar 4) (TVar 6),TCons ("Prelude","[]") [TVar 5]]) (TCons ("Prelude","(,,,)") [TCons ("Prelude","[]") [TVar 1],TVar 2,FuncType (TVar 3) (TVar 6),TCons ("Prelude","[]") [TVar 5]]))) (Rule [1,2] (Case Flex (Var 2) [Branch (Pattern ("Prelude","(,,,)") [3,4,5,6]) (Let [(7,Comb FuncCall ("Prelude","apply") [Var 1,Var 4])] (Let [(8,Comb FuncCall ("LiftCases","fold.once.74._#selFP65#e") [Var 7])] (Let [(9,Comb FuncCall ("LiftCases","fold.once.74._#selFP66#k") [Var 7])] (Let [(10,Comb FuncCall ("LiftCases","fold.once.74._#selFP67#ff2") [Var 7])] (Let [(11,Comb FuncCall ("LiftCases","fold.once.74._#selFP68#vs2") [Var 7])] (Comb ConsCall ("Prelude","(,,,)") [Comb ConsCall ("Prelude",":") [Var 8,Var 3],Var 9,Comb FuncCall ("Prelude",".") [Var 5,Var 10],Comb FuncCall ("Prelude","++") [Var 6,Var 11]]))))))])),Func ("LiftCases","fold.once.74._#selFP65#e") 1 Private (FuncType (TCons ("Prelude","(,,,)") [TVar 21,TVar 22,FuncType (TVar 30) (TVar 28),TCons ("Prelude","[]") [TVar 31]]) (TVar 21)) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,,,)") [2,3,4,5]) (Var 2)])),Func ("LiftCases","fold.once.74._#selFP66#k") 1 Private (FuncType (TCons ("Prelude","(,,,)") [TVar 21,TVar 22,FuncType (TVar 30) (TVar 28),TCons ("Prelude","[]") [TVar 31]]) (TVar 22)) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,,,)") [2,3,4,5]) (Var 3)])),Func ("LiftCases","fold.once.74._#selFP67#ff2") 1 Private (FuncType (TCons ("Prelude","(,,,)") [TVar 21,TVar 22,FuncType (TVar 30) (TVar 28),TCons ("Prelude","[]") [TVar 31]]) (FuncType (TVar 30) (TVar 28))) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,,,)") [2,3,4,5]) (Var 4)])),Func ("LiftCases","fold.once.74._#selFP68#vs2") 1 Private (FuncType (TCons ("Prelude","(,,,)") [TVar 21,TVar 22,FuncType (TVar 30) (TVar 28),TCons ("Prelude","[]") [TVar 31]]) (TCons ("Prelude","[]") [TVar 31])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,,,)") [2,3,4,5]) (Var 5)])),Func ("LiftCases","genFuncCall") 5 Private (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (FuncType (TCons ("FlatCurry","Expr") []) (TCons ("FlatCurry","Expr") [])))))) (Rule [1,2,3,4,5] (Comb ConsCall ("FlatCurry","Comb") [Comb ConsCall ("FlatCurry","FuncCall") [],Comb ConsCall ("Prelude","(,)") [Var 1,Comb FuncCall ("Prelude","++") [Var 2,Comb FuncCall ("Prelude","show") [Var 3]]],Comb FuncCall ("Prelude","++") [Comb FuncCall ("Prelude","map") [Comb (ConsPartCall 1) ("FlatCurry","Var") [],Var 4],Comb ConsCall ("Prelude",":") [Var 5,Comb ConsCall ("Prelude","[]") []]]])),Func ("LiftCases","genFunc") 7 Private (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (FuncType (TCons ("FlatCurry","Expr") []) (FuncType (TCons ("FlatCurry","CaseType") []) (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","BranchExpr") []]) (TCons ("FlatCurry","FuncDecl") [])))))))) (Rule [1,2,3,4,5,6,7] (Let [(8,Case Rigid (Var 5) [Branch (Pattern ("FlatCurry","Var") [9]) (Var 9),Branch (Pattern ("FlatCurry","Lit") [10]) (Comb FuncCall ("Prelude","+") [Comb FuncCall ("Prelude","foldr") [Comb (FuncPartCall 2) ("Prelude","max") [],Lit (Intc 0),Comb FuncCall ("Prelude","++") [Var 4,Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","concatMap") [Comb (FuncPartCall 1) ("LiftCases","genFunc.allVarsBranch.82") []],Var 7]]],Lit (Intc 1)]),Branch (Pattern ("FlatCurry","Comb") [11,12,13]) (Comb FuncCall ("Prelude","+") [Comb FuncCall ("Prelude","foldr") [Comb (FuncPartCall 2) ("Prelude","max") [],Lit (Intc 0),Comb FuncCall ("Prelude","++") [Var 4,Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","concatMap") [Comb (FuncPartCall 1) ("LiftCases","genFunc.allVarsBranch.82") []],Var 7]]],Lit (Intc 1)]),Branch (Pattern ("FlatCurry","Let") [14,15]) (Comb FuncCall ("Prelude","+") [Comb FuncCall ("Prelude","foldr") [Comb (FuncPartCall 2) ("Prelude","max") [],Lit (Intc 0),Comb FuncCall ("Prelude","++") [Var 4,Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","concatMap") [Comb (FuncPartCall 1) ("LiftCases","genFunc.allVarsBranch.82") []],Var 7]]],Lit (Intc 1)]),Branch (Pattern ("FlatCurry","Free") [16,17]) (Comb FuncCall ("Prelude","+") [Comb FuncCall ("Prelude","foldr") [Comb (FuncPartCall 2) ("Prelude","max") [],Lit (Intc 0),Comb FuncCall ("Prelude","++") [Var 4,Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","concatMap") [Comb (FuncPartCall 1) ("LiftCases","genFunc.allVarsBranch.82") []],Var 7]]],Lit (Intc 1)]),Branch (Pattern ("FlatCurry","Or") [18,19]) (Comb FuncCall ("Prelude","+") [Comb FuncCall ("Prelude","foldr") [Comb (FuncPartCall 2) ("Prelude","max") [],Lit (Intc 0),Comb FuncCall ("Prelude","++") [Var 4,Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","concatMap") [Comb (FuncPartCall 1) ("LiftCases","genFunc.allVarsBranch.82") []],Var 7]]],Lit (Intc 1)]),Branch (Pattern ("FlatCurry","Case") [20,21,22]) (Comb FuncCall ("Prelude","+") [Comb FuncCall ("Prelude","foldr") [Comb (FuncPartCall 2) ("Prelude","max") [],Lit (Intc 0),Comb FuncCall ("Prelude","++") [Var 4,Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","concatMap") [Comb (FuncPartCall 1) ("LiftCases","genFunc.allVarsBranch.82") []],Var 7]]],Lit (Intc 1)])])] (Comb FuncCall ("Prelude","$") [Comb (ConsPartCall 1) ("FlatCurry","Func") [Comb ConsCall ("Prelude","(,)") [Var 1,Comb FuncCall ("Prelude","++") [Var 2,Comb FuncCall ("Prelude","show") [Var 3]]],Comb FuncCall ("Prelude","+") [Comb FuncCall ("Prelude","length") [Var 4],Lit (Intc 1)],Comb ConsCall ("FlatCurry","Private") [],Comb ConsCall ("FlatCurry","TVar") [Comb FuncCall ("Prelude","negate") [Lit (Intc 42)]]],Comb ConsCall ("FlatCurry","Rule") [Comb FuncCall ("Prelude","++") [Var 4,Comb ConsCall ("Prelude",":") [Var 8,Comb ConsCall ("Prelude","[]") []]],Comb ConsCall ("FlatCurry","Case") [Var 6,Comb ConsCall ("FlatCurry","Var") [Var 8],Var 7]]]))),Func ("LiftCases","genFunc.allVarsBranch.82") 1 Private (FuncType (TCons ("FlatCurry","BranchExpr") []) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("FlatCurry","Branch") [2,3]) (Comb FuncCall ("Prelude","++") [Comb FuncCall ("FlatCurryGoodies","trPattern") [Comb (FuncPartCall 2) ("LiftCases","genFunc.allVarsBranch.82._#lambda6") [],Comb (FuncPartCall 1) ("LiftCases","genFunc.allVarsBranch.82._#lambda7") [],Var 2],Comb FuncCall ("FlatCurryGoodies","allVars") [Var 3]])])),Func ("LiftCases","genFunc.allVarsBranch.82._#lambda6") 2 Private (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]))) (Rule [1,2] (Var 2)),Func ("LiftCases","genFunc.allVarsBranch.82._#lambda7") 1 Private (FuncType (TCons ("FlatCurry","Literal") []) (TCons ("Prelude","[]") [TVar 262])) (Rule [1] (Comb ConsCall ("Prelude","[]") [])),Func ("LiftCases","removePVars") 1 Private (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (FuncType (TCons ("FlatCurry","Pattern") []) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]))) (Rule [1] (Comb (FuncPartCall 1) ("FlatCurryGoodies","trPattern") [Comb (FuncPartCall 2) ("LiftCases","removePVars._#lambda8") [Var 1],Comb (FuncPartCall 1) ("Prelude","const") [Var 1]])),Func ("LiftCases","removePVars._#lambda8") 3 Private (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []])))) (Rule [1,2,3] (Comb FuncCall ("Prelude","filter") [Comb FuncCall ("Prelude",".") [Comb (FuncPartCall 1) ("Prelude","not") [],Comb FuncCall ("Prelude","apply") [Comb FuncCall ("LiftCases","elemOf") [],Var 3]],Var 1])),Func ("LiftCases","genAuxName") 0 Private (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","[]") [TCons ("Prelude","Char") []])) (Rule [] (Comb (FuncPartCall 1) ("Prelude","foldl") [Comb (FuncPartCall 2) ("LiftCases","addUnderscores") [],Comb ConsCall ("Prelude",":") [Lit (Charc '_'),Comb ConsCall ("Prelude",":") [Lit (Charc 'c'),Comb ConsCall ("Prelude",":") [Lit (Charc 'a'),Comb ConsCall ("Prelude",":") [Lit (Charc 's'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc '_'),Comb ConsCall ("Prelude","[]") []]]]]]]])),Func ("LiftCases","addUnderscores") 2 Private (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]))) (Rule [1,2] (Case Rigid (Comb FuncCall ("List","isPrefixOf") [Var 1,Var 2]) [Branch (Pattern ("Prelude","True") []) (Comb FuncCall ("LiftCases","addUnderscores") [Comb FuncCall ("Prelude","++") [Var 1,Comb ConsCall ("Prelude",":") [Lit (Charc '_'),Comb ConsCall ("Prelude","[]") []]],Var 2]),Branch (Pattern ("Prelude","False") []) (Var 1)])),Func ("LiftCases","elemOf") 0 Private (FuncType (TCons ("Prelude","[]") [TVar 0]) (FuncType (TVar 0) (TCons ("Prelude","Bool") []))) (Rule [] (Comb (FuncPartCall 2) ("Prelude","flip") [Comb (FuncPartCall 1) ("Prelude","elem") []])),Func ("LiftCases","nub") 1 Private (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []])) (Rule [1] (Comb FuncCall ("Prelude","$") [Comb (FuncPartCall 1) ("Prelude","map") [Comb (FuncPartCall 1) ("Prelude","fst") []],Comb FuncCall ("Prelude","$") [Comb (FuncPartCall 1) ("FiniteMap","fmToList") [],Comb FuncCall ("Prelude","$") [Comb FuncCall ("FiniteMap","listToFM") [Comb (FuncPartCall 2) ("Prelude","<") []],Comb FuncCall ("Prelude","zip") [Var 1,Comb FuncCall ("Prelude","repeat") [Comb ConsCall ("Prelude","()") []]]]]]))] []