Prog "OracleInteger" ["CEventOracle","Oracle","IOExts","Integer","Prelude","OraclePrelude"] [] [Func ("OracleInteger","pow") 3 Public (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","Int") [])))) (Rule [2,3,1] (Let [(4,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 4,Comb ConsCall ("Prelude","[]") []],Comb FuncCall ("OracleInteger","_case_27") [Var 2,Var 3,Comb FuncCall ("OraclePrelude",">=") [Var 3,Lit (Intc 0),Var 1],Var 4]]))),Func ("OracleInteger","pow.powaux.3") 4 Private (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","Int") []))))) (Rule [2,3,4,1] (Let [(5,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 5,Comb ConsCall ("Prelude","[]") []],Comb FuncCall ("OracleInteger","_case_26") [Var 2,Var 3,Var 4,Comb FuncCall ("OraclePrelude","==") [Var 4,Lit (Intc 0),Var 1],Var 5]]))),Func ("OracleInteger","ilog") 2 Public (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","Int") []))) (Rule [2,1] (Let [(3,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 3,Comb ConsCall ("Prelude","[]") []],Comb FuncCall ("OracleInteger","_case_24") [Var 2,Comb FuncCall ("OraclePrelude",">") [Var 2,Lit (Intc 0),Var 1],Var 3]]))),Func ("OracleInteger","isqrt") 2 Public (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","Int") []))) (Rule [2,1] (Let [(3,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 3,Comb ConsCall ("Prelude","[]") []],Comb FuncCall ("OracleInteger","_case_22") [Var 2,Comb FuncCall ("OraclePrelude",">=") [Var 2,Lit (Intc 0),Var 1],Var 3]]))),Func ("OracleInteger","isqrt.aux.21") 4 Private (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","Int") []))))) (Rule [2,3,4,1] (Let [(5,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(6,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 5,Comb ConsCall ("Prelude",":") [Var 6,Comb ConsCall ("Prelude","[]") []]],Comb FuncCall ("OracleInteger","_case_19") [Var 2,Var 3,Var 4,Comb FuncCall ("OraclePrelude","==") [Var 4,Comb FuncCall ("OraclePrelude","+") [Var 3,Lit (Intc 1),Var 1],Var 5],Var 6]]))),Func ("OracleInteger","factorial") 2 Public (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","Int") []))) (Rule [2,1] (Let [(3,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 3,Comb ConsCall ("Prelude","[]") []],Comb FuncCall ("OracleInteger","_case_17") [Var 2,Comb FuncCall ("OraclePrelude",">=") [Var 2,Lit (Intc 0),Var 1],Var 3]]))),Func ("OracleInteger","binomial") 3 Public (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","Int") [])))) (Rule [2,3,1] (Let [(4,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(5,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(6,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 4,Comb ConsCall ("Prelude",":") [Var 5,Comb ConsCall ("Prelude",":") [Var 6,Comb ConsCall ("Prelude","[]") []]]],Comb FuncCall ("OracleInteger","_case_15") [Var 2,Var 3,Comb FuncCall ("OraclePrelude","&&") [Comb FuncCall ("OraclePrelude",">") [Var 3,Lit (Intc 0),Var 1],Comb FuncCall ("OraclePrelude",">=") [Var 2,Var 3,Var 4],Var 5],Var 6]]))),Func ("OracleInteger","binomial.aux.41") 3 Private (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","Int") [])))) (Rule [2,3,1] (Let [(4,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 4,Comb ConsCall ("Prelude","[]") []],Comb FuncCall ("OracleInteger","_case_14") [Var 2,Var 3,Comb FuncCall ("OraclePrelude","==") [Var 2,Lit (Intc 0),Var 1],Var 4]]))),Func ("OracleInteger","abs") 2 Public (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","Int") []))) (Rule [2,1] (Let [(3,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 3,Comb ConsCall ("Prelude","[]") []],Comb FuncCall ("OracleInteger","_case_13") [Var 2,Comb FuncCall ("OraclePrelude","<") [Var 2,Lit (Intc 0),Var 1],Var 3]]))),Func ("OracleInteger","max") 3 Public (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","Int") [])))) (Rule [2,3,1] (Let [(4,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 4,Comb ConsCall ("Prelude","[]") []],Comb FuncCall ("OracleInteger","_case_12") [Var 2,Var 3,Comb FuncCall ("OraclePrelude","<") [Var 2,Var 3,Var 1],Var 4]]))),Func ("OracleInteger","min") 3 Public (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","Int") [])))) (Rule [2,3,1] (Let [(4,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 4,Comb ConsCall ("Prelude","[]") []],Comb FuncCall ("OracleInteger","_case_11") [Var 2,Var 3,Comb FuncCall ("OraclePrelude","<") [Var 2,Var 3,Var 1],Var 4]]))),Func ("OracleInteger","max3") 4 Public (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","Int") []))))) (Rule [2,3,4,1] (Let [(5,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 5,Comb ConsCall ("Prelude","[]") []],Comb FuncCall ("OracleInteger","max") [Var 2,Comb FuncCall ("OracleInteger","max") [Var 3,Var 4,Var 1],Var 5]]))),Func ("OracleInteger","min3") 4 Public (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","Int") []))))) (Rule [2,3,4,1] (Let [(5,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 5,Comb ConsCall ("Prelude","[]") []],Comb FuncCall ("OracleInteger","min") [Var 2,Comb FuncCall ("OracleInteger","min") [Var 3,Var 4,Var 1],Var 5]]))),Func ("OracleInteger","maxlist") 2 Public (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","Int") []))) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OracleInteger","_case_10") [Var 2,Var 1]])),Func ("OracleInteger","minlist") 2 Public (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","Int") []))) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OracleInteger","_case_8") [Var 2,Var 1]])),Func ("OracleInteger","bitTrunc") 3 Public (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","Int") [])))) (Rule [2,3,1] (Let [(4,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(5,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 4,Comb ConsCall ("Prelude",":") [Var 5,Comb ConsCall ("Prelude","[]") []]],Comb FuncCall ("OracleInteger","bitAnd") [Comb FuncCall ("OraclePrelude","-") [Comb FuncCall ("OracleInteger","pow") [Lit (Intc 2),Var 2,Var 1],Lit (Intc 1),Var 4],Var 3,Var 5]]))),Func ("OracleInteger","bitAnd") 3 Public (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","Int") [])))) (Rule [2,3,1] (Let [(4,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 4,Comb ConsCall ("Prelude","[]") []],Comb FuncCall ("OracleInteger","_case_6") [Var 2,Var 3,Comb FuncCall ("OraclePrelude","==") [Var 3,Lit (Intc 0),Var 1],Var 4]]))),Func ("OracleInteger","bitOr") 3 Public (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","Int") [])))) (Rule [2,3,1] (Let [(4,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 4,Comb ConsCall ("Prelude","[]") []],Comb FuncCall ("OracleInteger","_case_4") [Var 2,Var 3,Comb FuncCall ("OraclePrelude","==") [Var 3,Lit (Intc 0),Var 1],Var 4]]))),Func ("OracleInteger","bitNot") 2 Public (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","Int") []))) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OracleInteger","bitNot.aux.100") [Lit (Intc 32),Var 2,Var 1]])),Func ("OracleInteger","bitNot.aux.100") 3 Private (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","Int") [])))) (Rule [2,3,1] (Let [(4,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 4,Comb ConsCall ("Prelude","[]") []],Comb FuncCall ("OracleInteger","_case_2") [Var 2,Var 3,Comb FuncCall ("OraclePrelude","==") [Var 2,Lit (Intc 0),Var 1],Var 4]]))),Func ("OracleInteger","bitXor") 3 Public (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","Int") [])))) (Rule [2,3,1] (Let [(4,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 4,Comb ConsCall ("Prelude","[]") []],Comb FuncCall ("OracleInteger","_case_1") [Var 2,Var 3,Comb FuncCall ("OraclePrelude","==") [Var 3,Lit (Intc 0),Var 1],Var 4]]))),Func ("OracleInteger","even") 2 Public (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","Bool") []))) (Rule [2,1] (Let [(3,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 3,Comb ConsCall ("Prelude","[]") []],Comb FuncCall ("OraclePrelude","==") [Comb FuncCall ("OraclePrelude","mod") [Var 2,Lit (Intc 2),Var 1],Lit (Intc 0),Var 3]]))),Func ("OracleInteger","odd") 2 Public (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","Bool") []))) (Rule [2,1] (Let [(3,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 3,Comb ConsCall ("Prelude","[]") []],Comb FuncCall ("OraclePrelude","/=") [Comb FuncCall ("OraclePrelude","mod") [Var 2,Lit (Intc 2),Var 1],Lit (Intc 0),Var 3]]))),Func ("OracleInteger","_case_1") 4 Private (TVar (-42)) (Rule [2,3,6,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Case Rigid (Var 6) [Branch (Pattern ("Prelude","True") []) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Var 2]),Branch (Pattern ("Prelude","False") []) (Let [(7,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(8,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(9,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(10,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 7,Comb ConsCall ("Prelude",":") [Var 8,Comb ConsCall ("Prelude",":") [Var 9,Comb ConsCall ("Prelude",":") [Var 10,Comb ConsCall ("Prelude","[]") []]]]],Let [(4,Comb FuncCall ("OraclePrelude","*") [Lit (Intc 2),Comb FuncCall ("OracleInteger","bitXor") [Comb FuncCall ("OraclePrelude","div") [Var 2,Lit (Intc 2),Var 1],Comb FuncCall ("OraclePrelude","div") [Var 3,Lit (Intc 2),Var 7],Var 8],Var 9])] (Let [(11,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(12,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(13,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(14,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 10,Comb ConsCall ("Prelude",":") [Var 11,Comb ConsCall ("Prelude",":") [Var 12,Comb ConsCall ("Prelude",":") [Var 13,Comb ConsCall ("Prelude",":") [Var 14,Comb ConsCall ("Prelude","[]") []]]]],Let [(5,Comb FuncCall ("OracleInteger","_case_0") [Var 2,Var 3,Comb FuncCall ("OraclePrelude","==") [Comb FuncCall ("OraclePrelude","mod") [Var 3,Lit (Intc 2),Var 10],Comb FuncCall ("OraclePrelude","mod") [Var 2,Lit (Intc 2),Var 11],Var 12],Var 13])] (Comb FuncCall ("CEventOracle","replace") [Var 14,Comb FuncCall ("OraclePrelude","+") [Var 4,Var 5,Var 14]])]))]))]])),Func ("OracleInteger","_case_0") 4 Private (TVar (-42)) (Rule [2,3,4,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Case Rigid (Var 4) [Branch (Pattern ("Prelude","True") []) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Lit (Intc 0)]),Branch (Pattern ("Prelude","False") []) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Lit (Intc 1)])]])),Func ("OracleInteger","_case_2") 4 Private (TVar (-42)) (Rule [2,3,6,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Case Rigid (Var 6) [Branch (Pattern ("Prelude","True") []) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Lit (Intc 0)]),Branch (Pattern ("Prelude","False") []) (Let [(7,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(8,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(9,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(10,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 7,Comb ConsCall ("Prelude",":") [Var 8,Comb ConsCall ("Prelude",":") [Var 9,Comb ConsCall ("Prelude",":") [Var 10,Comb ConsCall ("Prelude","[]") []]]]],Let [(4,Comb FuncCall ("OraclePrelude","*") [Lit (Intc 2),Comb FuncCall ("OracleInteger","bitNot.aux.100") [Comb FuncCall ("OraclePrelude","-") [Var 2,Lit (Intc 1),Var 1],Comb FuncCall ("OraclePrelude","div") [Var 3,Lit (Intc 2),Var 7],Var 8],Var 9])] (Let [(11,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(12,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 10,Comb ConsCall ("Prelude",":") [Var 11,Comb ConsCall ("Prelude",":") [Var 12,Comb ConsCall ("Prelude","[]") []]],Let [(5,Comb FuncCall ("OraclePrelude","-") [Lit (Intc 1),Comb FuncCall ("OraclePrelude","mod") [Var 3,Lit (Intc 2),Var 10],Var 11])] (Comb FuncCall ("CEventOracle","replace") [Var 12,Comb FuncCall ("OraclePrelude","+") [Var 4,Var 5,Var 12]])]))]))]])),Func ("OracleInteger","_case_4") 4 Private (TVar (-42)) (Rule [2,3,6,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Case Rigid (Var 6) [Branch (Pattern ("Prelude","True") []) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Var 2]),Branch (Pattern ("Prelude","False") []) (Let [(7,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(8,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(9,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(10,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 7,Comb ConsCall ("Prelude",":") [Var 8,Comb ConsCall ("Prelude",":") [Var 9,Comb ConsCall ("Prelude",":") [Var 10,Comb ConsCall ("Prelude","[]") []]]]],Let [(4,Comb FuncCall ("OraclePrelude","*") [Lit (Intc 2),Comb FuncCall ("OracleInteger","bitOr") [Comb FuncCall ("OraclePrelude","div") [Var 2,Lit (Intc 2),Var 1],Comb FuncCall ("OraclePrelude","div") [Var 3,Lit (Intc 2),Var 7],Var 8],Var 9])] (Let [(11,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(12,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(13,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 10,Comb ConsCall ("Prelude",":") [Var 11,Comb ConsCall ("Prelude",":") [Var 12,Comb ConsCall ("Prelude",":") [Var 13,Comb ConsCall ("Prelude","[]") []]]],Let [(5,Comb FuncCall ("OracleInteger","_case_3") [Var 2,Var 3,Comb FuncCall ("OraclePrelude","==") [Comb FuncCall ("OraclePrelude","mod") [Var 3,Lit (Intc 2),Var 10],Lit (Intc 1),Var 11],Var 12])] (Comb FuncCall ("CEventOracle","replace") [Var 13,Comb FuncCall ("OraclePrelude","+") [Var 4,Var 5,Var 13]])]))]))]])),Func ("OracleInteger","_case_3") 4 Private (TVar (-42)) (Rule [2,3,4,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Case Rigid (Var 4) [Branch (Pattern ("Prelude","True") []) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Lit (Intc 1)]),Branch (Pattern ("Prelude","False") []) (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OraclePrelude","mod") [Var 2,Lit (Intc 2),Var 1]])]])),Func ("OracleInteger","_case_6") 4 Private (TVar (-42)) (Rule [2,3,6,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Case Rigid (Var 6) [Branch (Pattern ("Prelude","True") []) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Lit (Intc 0)]),Branch (Pattern ("Prelude","False") []) (Let [(7,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(8,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(9,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(10,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 7,Comb ConsCall ("Prelude",":") [Var 8,Comb ConsCall ("Prelude",":") [Var 9,Comb ConsCall ("Prelude",":") [Var 10,Comb ConsCall ("Prelude","[]") []]]]],Let [(4,Comb FuncCall ("OraclePrelude","*") [Lit (Intc 2),Comb FuncCall ("OracleInteger","bitAnd") [Comb FuncCall ("OraclePrelude","div") [Var 2,Lit (Intc 2),Var 1],Comb FuncCall ("OraclePrelude","div") [Var 3,Lit (Intc 2),Var 7],Var 8],Var 9])] (Let [(11,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(12,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(13,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 10,Comb ConsCall ("Prelude",":") [Var 11,Comb ConsCall ("Prelude",":") [Var 12,Comb ConsCall ("Prelude",":") [Var 13,Comb ConsCall ("Prelude","[]") []]]],Let [(5,Comb FuncCall ("OracleInteger","_case_5") [Var 2,Var 3,Comb FuncCall ("OraclePrelude","==") [Comb FuncCall ("OraclePrelude","mod") [Var 3,Lit (Intc 2),Var 10],Lit (Intc 0),Var 11],Var 12])] (Comb FuncCall ("CEventOracle","replace") [Var 13,Comb FuncCall ("OraclePrelude","+") [Var 4,Var 5,Var 13]])]))]))]])),Func ("OracleInteger","_case_5") 4 Private (TVar (-42)) (Rule [2,3,4,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Case Rigid (Var 4) [Branch (Pattern ("Prelude","True") []) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Lit (Intc 0)]),Branch (Pattern ("Prelude","False") []) (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OraclePrelude","mod") [Var 2,Lit (Intc 2),Var 1]])]])),Func ("OracleInteger","_case_8") 2 Private (TVar (-42)) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Case Flex (Var 2) [Branch (Pattern ("Prelude",":") [3,4]) (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OracleInteger","_case_7") [Var 3,Var 4,Var 1]])]])),Func ("OracleInteger","_case_7") 3 Private (TVar (-42)) (Rule [3,4,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Case Flex (Var 4) [Branch (Pattern ("Prelude","[]") []) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Var 3]),Branch (Pattern ("Prelude",":") [5,6]) (Let [(7,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 7,Comb ConsCall ("Prelude","[]") []],Comb FuncCall ("OracleInteger","min") [Var 3,Comb FuncCall ("OracleInteger","minlist") [Comb ConsCall ("Prelude",":") [Var 5,Var 6],Var 1],Var 7]]))]])),Func ("OracleInteger","_case_10") 2 Private (TVar (-42)) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Case Flex (Var 2) [Branch (Pattern ("Prelude",":") [3,4]) (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OracleInteger","_case_9") [Var 3,Var 4,Var 1]])]])),Func ("OracleInteger","_case_9") 3 Private (TVar (-42)) (Rule [3,4,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Case Flex (Var 4) [Branch (Pattern ("Prelude","[]") []) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Var 3]),Branch (Pattern ("Prelude",":") [5,6]) (Let [(7,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 7,Comb ConsCall ("Prelude","[]") []],Comb FuncCall ("OracleInteger","max") [Var 3,Comb FuncCall ("OracleInteger","maxlist") [Comb ConsCall ("Prelude",":") [Var 5,Var 6],Var 1],Var 7]]))]])),Func ("OracleInteger","_case_11") 4 Private (TVar (-42)) (Rule [2,3,4,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Case Rigid (Var 4) [Branch (Pattern ("Prelude","True") []) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Var 2]),Branch (Pattern ("Prelude","False") []) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Var 3])]])),Func ("OracleInteger","_case_12") 4 Private (TVar (-42)) (Rule [2,3,4,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Case Rigid (Var 4) [Branch (Pattern ("Prelude","True") []) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Var 3]),Branch (Pattern ("Prelude","False") []) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Var 2])]])),Func ("OracleInteger","_case_13") 3 Private (TVar (-42)) (Rule [2,3,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Case Rigid (Var 3) [Branch (Pattern ("Prelude","True") []) (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OraclePrelude","negate") [Var 2,Var 1]]),Branch (Pattern ("Prelude","False") []) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Var 2])]])),Func ("OracleInteger","_case_14") 4 Private (TVar (-42)) (Rule [2,3,4,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Case Rigid (Var 4) [Branch (Pattern ("Prelude","True") []) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Lit (Intc 1)]),Branch (Pattern ("Prelude","False") []) (Let [(5,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(6,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(7,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 5,Comb ConsCall ("Prelude",":") [Var 6,Comb ConsCall ("Prelude",":") [Var 7,Comb ConsCall ("Prelude","[]") []]]],Comb FuncCall ("OraclePrelude","*") [Var 3,Comb FuncCall ("OracleInteger","binomial.aux.41") [Comb FuncCall ("OraclePrelude","-") [Var 2,Lit (Intc 1),Var 1],Comb FuncCall ("OraclePrelude","-") [Var 3,Lit (Intc 1),Var 5],Var 6],Var 7]]))]])),Func ("OracleInteger","_case_15") 4 Private (TVar (-42)) (Rule [2,3,4,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Case Rigid (Var 4) [Branch (Pattern ("Prelude","True") []) (Let [(5,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(6,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 5,Comb ConsCall ("Prelude",":") [Var 6,Comb ConsCall ("Prelude","[]") []]],Comb FuncCall ("OraclePrelude","div") [Comb FuncCall ("OracleInteger","binomial.aux.41") [Var 3,Var 2,Var 1],Comb FuncCall ("OracleInteger","factorial") [Var 3,Var 5],Var 6]])),Branch (Pattern ("Prelude","False") []) (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OraclePrelude","failed") [Var 1]])]])),Func ("OracleInteger","_case_17") 3 Private (TVar (-42)) (Rule [2,3,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Case Rigid (Var 3) [Branch (Pattern ("Prelude","True") []) (Let [(4,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 4,Comb ConsCall ("Prelude","[]") []],Comb FuncCall ("OracleInteger","_case_16") [Var 2,Comb FuncCall ("OraclePrelude","==") [Var 2,Lit (Intc 0),Var 1],Var 4]])),Branch (Pattern ("Prelude","False") []) (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OraclePrelude","failed") [Var 1]])]])),Func ("OracleInteger","_case_16") 3 Private (TVar (-42)) (Rule [2,3,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Case Rigid (Var 3) [Branch (Pattern ("Prelude","True") []) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Lit (Intc 1)]),Branch (Pattern ("Prelude","False") []) (Let [(4,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(5,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 4,Comb ConsCall ("Prelude",":") [Var 5,Comb ConsCall ("Prelude","[]") []]],Comb FuncCall ("OraclePrelude","*") [Var 2,Comb FuncCall ("OracleInteger","factorial") [Comb FuncCall ("OraclePrelude","-") [Var 2,Lit (Intc 1),Var 1],Var 4],Var 5]]))]])),Func ("OracleInteger","_case_19") 5 Private (TVar (-42)) (Rule [2,3,4,6,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Case Rigid (Var 6) [Branch (Pattern ("Prelude","True") []) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Var 3]),Branch (Pattern ("Prelude","False") []) (Let [(7,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(8,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 7,Comb ConsCall ("Prelude",":") [Var 8,Comb ConsCall ("Prelude","[]") []]],Let [(5,Comb FuncCall ("OraclePrelude","div") [Comb FuncCall ("OraclePrelude","+") [Var 4,Var 3,Var 1],Lit (Intc 2),Var 7])] (Let [(9,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(10,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 8,Comb ConsCall ("Prelude",":") [Var 9,Comb ConsCall ("Prelude",":") [Var 10,Comb ConsCall ("Prelude","[]") []]],Comb FuncCall ("OracleInteger","_case_18") [Var 2,Var 3,Var 4,Var 5,Comb FuncCall ("OraclePrelude",">") [Comb FuncCall ("OraclePrelude","*") [Var 5,Var 5,Var 8],Var 2,Var 9],Var 10]]))]))]])),Func ("OracleInteger","_case_18") 6 Private (TVar (-42)) (Rule [2,3,4,5,6,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Case Rigid (Var 6) [Branch (Pattern ("Prelude","True") []) (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OracleInteger","isqrt.aux.21") [Var 2,Var 3,Var 5,Var 1]]),Branch (Pattern ("Prelude","False") []) (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OracleInteger","isqrt.aux.21") [Var 2,Var 5,Var 4,Var 1]])]])),Func ("OracleInteger","_case_22") 3 Private (TVar (-42)) (Rule [2,3,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Case Rigid (Var 3) [Branch (Pattern ("Prelude","True") []) (Let [(4,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 4,Comb ConsCall ("Prelude","[]") []],Comb FuncCall ("OracleInteger","_case_21") [Var 2,Comb FuncCall ("OraclePrelude","==") [Var 2,Lit (Intc 0),Var 1],Var 4]])),Branch (Pattern ("Prelude","False") []) (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OraclePrelude","failed") [Var 1]])]])),Func ("OracleInteger","_case_21") 3 Private (TVar (-42)) (Rule [2,3,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Case Rigid (Var 3) [Branch (Pattern ("Prelude","True") []) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Lit (Intc 0)]),Branch (Pattern ("Prelude","False") []) (Let [(4,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 4,Comb ConsCall ("Prelude","[]") []],Comb FuncCall ("OracleInteger","_case_20") [Var 2,Comb FuncCall ("OraclePrelude","<") [Var 2,Lit (Intc 4),Var 1],Var 4]]))]])),Func ("OracleInteger","_case_20") 3 Private (TVar (-42)) (Rule [2,3,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Case Rigid (Var 3) [Branch (Pattern ("Prelude","True") []) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Lit (Intc 1)]),Branch (Pattern ("Prelude","False") []) (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OracleInteger","isqrt.aux.21") [Var 2,Lit (Intc 2),Var 2,Var 1]])]])),Func ("OracleInteger","_case_24") 3 Private (TVar (-42)) (Rule [2,3,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Case Rigid (Var 3) [Branch (Pattern ("Prelude","True") []) (Let [(4,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 4,Comb ConsCall ("Prelude","[]") []],Comb FuncCall ("OracleInteger","_case_23") [Var 2,Comb FuncCall ("OraclePrelude","<") [Var 2,Lit (Intc 10),Var 1],Var 4]])),Branch (Pattern ("Prelude","False") []) (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OraclePrelude","failed") [Var 1]])]])),Func ("OracleInteger","_case_23") 3 Private (TVar (-42)) (Rule [2,3,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Case Rigid (Var 3) [Branch (Pattern ("Prelude","True") []) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Lit (Intc 0)]),Branch (Pattern ("Prelude","False") []) (Let [(4,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(5,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 4,Comb ConsCall ("Prelude",":") [Var 5,Comb ConsCall ("Prelude","[]") []]],Comb FuncCall ("OraclePrelude","+") [Lit (Intc 1),Comb FuncCall ("OracleInteger","ilog") [Comb FuncCall ("OraclePrelude","div") [Var 2,Lit (Intc 10),Var 1],Var 4],Var 5]]))]])),Func ("OracleInteger","_case_26") 5 Private (TVar (-42)) (Rule [2,3,4,5,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Case Rigid (Var 5) [Branch (Pattern ("Prelude","True") []) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Var 2]),Branch (Pattern ("Prelude","False") []) (Let [(6,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(7,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(8,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(9,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(10,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(11,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 6,Comb ConsCall ("Prelude",":") [Var 7,Comb ConsCall ("Prelude",":") [Var 8,Comb ConsCall ("Prelude",":") [Var 9,Comb ConsCall ("Prelude",":") [Var 10,Comb ConsCall ("Prelude",":") [Var 11,Comb ConsCall ("Prelude","[]") []]]]]]],Comb FuncCall ("OracleInteger","pow.powaux.3") [Comb FuncCall ("OraclePrelude","*") [Var 2,Comb FuncCall ("OracleInteger","_case_25") [Var 3,Var 4,Comb FuncCall ("OraclePrelude","==") [Comb FuncCall ("OraclePrelude","mod") [Var 4,Lit (Intc 2),Var 1],Lit (Intc 1),Var 6],Var 7],Var 8],Comb FuncCall ("OraclePrelude","*") [Var 3,Var 3,Var 9],Comb FuncCall ("OraclePrelude","div") [Var 4,Lit (Intc 2),Var 10],Var 11]]))]])),Func ("OracleInteger","_case_25") 4 Private (TVar (-42)) (Rule [3,4,5,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Case Rigid (Var 5) [Branch (Pattern ("Prelude","True") []) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Var 3]),Branch (Pattern ("Prelude","False") []) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Lit (Intc 1)])]])),Func ("OracleInteger","_case_27") 4 Private (TVar (-42)) (Rule [2,3,4,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Case Rigid (Var 4) [Branch (Pattern ("Prelude","True") []) (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OracleInteger","pow.powaux.3") [Lit (Intc 1),Var 2,Var 3,Var 1]]),Branch (Pattern ("Prelude","False") []) (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OraclePrelude","failed") [Var 1]])]]))] []